X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fnoticestream.php;h=3b597fa08cf03899ca42406084fad93dc5c99d8b;hb=refs%2Fheads%2Fupstream-changes%2Fgoogle-analytics-removal;hp=025138be4ded80db592be3f9e46ed0138b92d9a8;hpb=7a56637baa463ca738afcbb9395c333a30574eb2;p=quix0rs-gnu-social.git diff --git a/lib/noticestream.php b/lib/noticestream.php index 025138be4d..3b597fa08c 100644 --- a/lib/noticestream.php +++ b/lib/noticestream.php @@ -46,9 +46,18 @@ if (!defined('STATUSNET')) { */ abstract class NoticeStream { + protected $selectVerbs = array(); + protected $unselectVerbs = array(); + + public function __construct() + { + $this->selectVerbs = array(ActivityVerb::POST, ActivityUtils::resolveUri(ActivityVerb::POST, true)); + $this->unselectVerbs = array(ActivityVerb::DELETE); + } + abstract function getNoticeIds($offset, $limit, $since_id, $max_id); - function getNotices($offset, $limit, $sinceId, $maxId) + function getNotices($offset, $limit, $sinceId = null, $maxId = null) { $ids = $this->getNoticeIds($offset, $limit, $sinceId, $maxId); @@ -59,42 +68,6 @@ abstract class NoticeStream static function getStreamByIds($ids) { - $cache = Cache::instance(); - - if (!empty($cache)) { - $notices = array(); - foreach ($ids as $id) { - $n = Notice::staticGet('id', $id); - if (!empty($n)) { - $notices[] = $n; - } - } - return new ArrayWrapper($notices); - } else { - $notice = new Notice(); - if (empty($ids)) { - //if no IDs requested, just return the notice object - return $notice; - } - $notice->whereAdd('id in (' . implode(', ', $ids) . ')'); - - $notice->find(); - - $temp = array(); - - while ($notice->fetch()) { - $temp[$notice->id] = clone($notice); - } - - $wrapped = array(); - - foreach ($ids as $id) { - if (array_key_exists($id, $temp)) { - $wrapped[] = $temp[$id]; - } - } - - return new ArrayWrapper($wrapped); - } + return Notice::multiGet('id', $ids); } }