summaryrefslogtreecommitdiff
path: root/functions.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2007-11-15 06:41:53 +0100
committerAndrew Dolgov <[email protected]>2007-11-15 06:41:53 +0100
commit07d0efe959e6ee03a7a4d2dca11a69e35a265461 (patch)
tree5a65e065d0e19eb0dce7f61ae5d7894078dd665b /functions.php
parentdda1396f92f4a6cae8adc1b2d154c631a0aeffeb (diff)
new preference: PURGE_UNREAD_ARTICLES (closes #161), fix bug in user purge
Diffstat (limited to 'functions.php')
-rw-r--r--functions.php40
1 files changed, 40 insertions, 0 deletions
diff --git a/functions.php b/functions.php
index 744a728ec..4a6613a60 100644
--- a/functions.php
+++ b/functions.php
@@ -81,8 +81,26 @@
function purge_feed($link, $feed_id, $purge_interval, $debug = false) {
+ if (!$purge_interval) $purge_interval = feed_purge_interval($link, $feed_id);
+
$rows = -1;
+ $result = db_query($link,
+ "SELECT owner_uid FROM ttrss_feeds WHERE id = '$feed_id'");
+
+ $owner_uid = false;
+
+ if (db_num_rows($result) == 1) {
+ $owner_uid = db_fetch_result($result, 0, "owner_uid");
+ }
+
+ if (!$owner_uid) return;
+
+ $purge_unread = get_pref($link, "PURGE_UNREAD_ARTICLES",
+ $owner_uid, false);
+
+ if (!$purge_unread) $query_limit = " unread = false AND ";
+
if (DB_TYPE == "pgsql") {
/* $result = db_query($link, "DELETE FROM ttrss_user_entries WHERE
marked = false AND feed_id = '$feed_id' AND
@@ -97,6 +115,7 @@
ttrss_entries.id = ref_id AND
marked = false AND
feed_id = '$feed_id' AND
+ $query_limit
ttrss_entries.date_entered < NOW() - INTERVAL '$purge_interval days'");
} else {
@@ -106,6 +125,7 @@
WHERE ttrss_entries.id = ref_id AND
marked = false AND
feed_id = '$feed_id' AND
+ $query_limit
ttrss_entries.date_entered < NOW() - INTERVAL '$purge_interval days'");
}
@@ -123,6 +143,7 @@
WHERE ttrss_entries.id = ref_id AND
marked = false AND
feed_id = '$feed_id' AND
+ $query_limit
ttrss_entries.date_entered < DATE_SUB(NOW(), INTERVAL $purge_interval DAY)");
$rows = mysql_affected_rows($link);
@@ -185,6 +206,25 @@
}
+ function feed_purge_interval($link, $feed_id) {
+
+ $result = db_query($link, "SELECT purge_interval, owner_uid FROM ttrss_feeds
+ WHERE id = '$feed_id'");
+
+ if (db_num_rows($result) == 1) {
+ $purge_interval = db_fetch_result($result, 0, "purge_interval");
+ $owner_uid = db_fetch_result($result, 0, "owner_uid");
+
+ if ($purge_interval == 0) $purge_interval = get_pref($link,
+ 'PURGE_OLD_DAYS', $user_id);
+
+ return $purge_interval;
+
+ } else {
+ return -1;
+ }
+ }
+
function purge_old_posts($link) {
$user_id = $_SESSION["uid"];