From f6fed1b26bf60bf508aa186503566df0b64aac92 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 11 Mar 2009 16:22:32 +0300 Subject: [PATCH] ccache: remove obsolete data on feed/category removal --- functions.php | 13 +++++++++++++ modules/pref-feeds.php | 7 +++++++ 2 files changed, 20 insertions(+) diff --git a/functions.php b/functions.php index ee1e8fbe..4c867f26 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 e92ad6eb..36a0e4d3 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.")); -- 2.39.5