aboutsummaryrefslogtreecommitdiff
path: root/app/Models/Feed.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Models/Feed.php')
-rw-r--r--app/Models/Feed.php26
1 files changed, 24 insertions, 2 deletions
diff --git a/app/Models/Feed.php b/app/Models/Feed.php
index 1fc2eebf4..6f6b83af0 100644
--- a/app/Models/Feed.php
+++ b/app/Models/Feed.php
@@ -649,15 +649,37 @@ class FreshRSS_Feed extends Minz_Model {
$this->nbPendingNotRead += $n;
}
+ /**
+ * Remember to call updateCachedValue($id_feed) or updateCachedValues() just after.
+ * @return int|false the number of lines affected, or false if not applicable
+ */
public function keepMaxUnread() {
$keepMaxUnread = $this->attributes('keep_max_n_unread');
- if ($keepMaxUnread == false) {
+ if ($keepMaxUnread === null) {
$keepMaxUnread = FreshRSS_Context::$user_conf->mark_when['max_n_unread'];
}
if ($keepMaxUnread > 0 && $this->nbNotRead(false) + $this->nbPendingNotRead > $keepMaxUnread) {
$feedDAO = FreshRSS_Factory::createFeedDao();
- $feedDAO->keepMaxUnread($this->id(), max(0, $keepMaxUnread - $this->nbPendingNotRead));
+ return $feedDAO->keepMaxUnread($this->id(), max(0, $keepMaxUnread - $this->nbPendingNotRead));
}
+ return false;
+ }
+
+ /**
+ * Applies the *mark as read upon gone* policy, if enabled.
+ * Remember to call updateCachedValue($id_feed) or updateCachedValues() just after.
+ * @return int|false the number of lines affected, or false if not applicable
+ */
+ public function markAsReadUponGone() {
+ $readUponGone = $this->attributes('read_upon_gone');
+ if ($readUponGone === null) {
+ $readUponGone = FreshRSS_Context::$user_conf->mark_when['gone'];
+ }
+ if ($readUponGone) {
+ $feedDAO = FreshRSS_Factory::createFeedDao();
+ return $feedDAO->markAsReadUponGone($this->id());
+ }
+ return false;
}
/**