From 01576e6317a9125133d7352f95bd9011083e0c2d Mon Sep 17 00:00:00 2001 From: Julien-Pierre Avérous Date: Sat, 18 Jan 2020 11:58:46 +0100 Subject: [API, extension] Use 'dateAdded()' to forge 'crawlTimeMsec' & 'timestampUsec' field in greader API. (#2773) - Add the ability to customize 'dateAdded()', so an extension can change it if needed. --- app/Models/Entry.php | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'app/Models/Entry.php') diff --git a/app/Models/Entry.php b/app/Models/Entry.php index 2aa99baa9..b8422832b 100644 --- a/app/Models/Entry.php +++ b/app/Models/Entry.php @@ -14,6 +14,7 @@ class FreshRSS_Entry extends Minz_Model { private $content; private $link; private $date; + private $date_added = 0; //In microseconds private $hash = null; private $is_read; //Nullable boolean private $is_favorite; @@ -68,11 +69,15 @@ class FreshRSS_Entry extends Minz_Model { return timestamptodate($this->date); } } - public function dateAdded($raw = false) { - $date = intval(substr($this->id, 0, -6)); + public function dateAdded($raw = false, $microsecond = false) { if ($raw) { - return $date; + if ($microsecond) { + return $this->date_added; + } else { + return intval(substr($this->id, 0, -6)); + } } else { + $date = intval(substr($this->id, 0, -6)); return timestamptodate($date); } } @@ -119,6 +124,9 @@ class FreshRSS_Entry extends Minz_Model { public function _id($value) { $this->id = $value; + if ($this->date_added == 0) { + $this->date_added = $value; + } } public function _guid($value) { if ($value == '') { @@ -161,6 +169,13 @@ class FreshRSS_Entry extends Minz_Model { $value = intval($value); $this->date = $value > 1 ? $value : time(); } + public function _dateAdded($value, $microsecond = false) { + if ($microsecond) { + $this->date_added = $value; + } else { + $this->date_added = $value * 1000000; + } + } public function _isRead($value) { $this->is_read = $value === null ? null : (bool)$value; } -- cgit v1.2.3