summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2009-03-11 16:22:32 +0300
committerAndrew Dolgov <[email protected]>2009-03-11 16:22:32 +0300
commitf6fed1b26bf60bf508aa186503566df0b64aac92 (patch)
tree0b09b4d10bfe7a3834f2aba2ecd093e7547c129e
parentdee887d10226535827bd0d5a395cbdaf44cc29af (diff)
ccache: remove obsolete data on feed/category removal
-rw-r--r--functions.php13
-rw-r--r--modules/pref-feeds.php7
2 files changed, 20 insertions, 0 deletions
diff --git a/functions.php b/functions.php
index ee1e8fbe8..4c867f26c 100644
--- a/functions.php
+++ b/functions.php
@@ -5754,6 +5754,19 @@
value = 0 WHERE owner_uid = '$owner_uid'");
}
+ function ccache_remove($link, $feed_id, $owner_uid, $is_cat = false) {
+
+ if (!$is_cat) {
+ $table = "ttrss_counters_cache";
+ } else {
+ $table = "ttrss_cat_counters_cache";
+ }
+
+ db_query($link, "DELETE FROM $table WHERE
+ feed_id = '$feed_id' AND owner_uid = '$owner_uid'");
+
+ }
+
function ccache_update_all($link, $owner_uid) {
if (get_pref($link, 'ENABLE_FEED_CATS', $owner_uid)) {
diff --git a/modules/pref-feeds.php b/modules/pref-feeds.php
index e92ad6ebd..36a0e4d32 100644
--- a/modules/pref-feeds.php
+++ b/modules/pref-feeds.php
@@ -702,8 +702,12 @@
if (file_exists($icons_dir . "/$id.ico")) {
unlink($icons_dir . "/$id.ico");
}
+
+ ccache_remove($link, $id, $_SESSION["uid"]);
+
} else {
label_remove($link, -11-$id, $_SESSION["uid"]);
+ ccache_remove($link, -11-$id, $_SESSION["uid"]);
}
}
}
@@ -992,6 +996,9 @@
if ($num_feeds == 0) {
db_query($link, "DELETE FROM ttrss_feed_categories
WHERE id = '$id' AND owner_uid = " . $_SESSION["uid"]);
+
+ ccache_remove($link, $id, $_SESSION["uid"], true);
+
} else {
print format_warning(__("Unable to delete non empty feed categories."));