From 87d7e8507a4a41c4e0d7a4f2d54fe48f3a6f72cb Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 22 Jan 2013 22:32:17 +0400 Subject: split some more functions from functions.php --- classes/pref/feeds.php | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'classes/pref/feeds.php') diff --git a/classes/pref/feeds.php b/classes/pref/feeds.php index f11c746bf..e9b09829d 100644 --- a/classes/pref/feeds.php +++ b/classes/pref/feeds.php @@ -1070,7 +1070,7 @@ class Pref_Feeds extends Handler_Protected { function clear() { $id = db_escape_string($_REQUEST["id"]); - clear_feed_articles($this->link, $id); + $this->clear_feed_articles($this->link, $id); } function rescore() { @@ -1677,5 +1677,29 @@ class Pref_Feeds extends Handler_Protected { print ""; } + /** + * Purge a feed contents, marked articles excepted. + * + * @param mixed $link The database connection. + * @param integer $id The id of the feed to purge. + * @return void + */ + private function clear_feed_articles($link, $id) { + + if ($id != 0) { + $result = db_query($link, "DELETE FROM ttrss_user_entries + WHERE feed_id = '$id' AND marked = false AND owner_uid = " . $_SESSION["uid"]); + } else { + $result = db_query($link, "DELETE FROM ttrss_user_entries + WHERE feed_id IS NULL AND marked = false AND owner_uid = " . $_SESSION["uid"]); + } + + $result = db_query($link, "DELETE FROM ttrss_entries WHERE + (SELECT COUNT(int_id) FROM ttrss_user_entries WHERE ref_id = id) = 0"); + + ccache_update($link, $id, $_SESSION['uid']); + } // function clear_feed_articles + + } ?> -- cgit v1.2.3