diff options
author | Andrew Dolgov <[email protected]> | 2009-03-11 16:22:32 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2009-03-11 16:22:32 +0300 |
commit | f6fed1b26bf60bf508aa186503566df0b64aac92 (patch) | |
tree | 0b09b4d10bfe7a3834f2aba2ecd093e7547c129e | |
parent | dee887d10226535827bd0d5a395cbdaf44cc29af (diff) |
ccache: remove obsolete data on feed/category removal
-rw-r--r-- | functions.php | 13 | ||||
-rw-r--r-- | modules/pref-feeds.php | 7 |
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.")); |