diff options
author | Andrew Dolgov <[email protected]> | 2013-01-22 22:32:17 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2013-01-22 22:32:17 +0400 |
commit | 87d7e8507a4a41c4e0d7a4f2d54fe48f3a6f72cb (patch) | |
tree | 569db7d16c8f1d529d382039b1ead0d6e0c46c68 /classes/pref | |
parent | 04f60eb729e1444bb3363677584c8179050403c4 (diff) |
split some more functions from functions.php
Diffstat (limited to 'classes/pref')
-rw-r--r-- | classes/pref/feeds.php | 26 |
1 files changed, 25 insertions, 1 deletions
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 "</div>"; } + /** + * 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 + + } ?> |