X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=classes%2FReply.php;h=371c16cf48388ff5d1cace8e2fb28e5e5914318c;hb=39f8d2c72830d7bc3c08f60d1df38d19c846a74b;hp=4439053b444934f05fb69fa9b4d5b396700f532e;hpb=0bbf56f6dc1acb448594f21334f610229c4c76bd;p=quix0rs-gnu-social.git diff --git a/classes/Reply.php b/classes/Reply.php index 4439053b44..371c16cf48 100644 --- a/classes/Reply.php +++ b/classes/Reply.php @@ -22,33 +22,38 @@ class Reply extends Memcached_DataObject /* the code above is auto generated do not remove the tag below */ ###END_AUTOCODE - function stream($user_id, $offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null) + /** + * Wrapper for record insertion to update related caches + */ + function insert() + { + $result = parent::insert(); + + if ($result) { + self::blow('reply:stream:%d', $this->profile_id); + } + + return $result; + } + + function stream($user_id, $offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $max_id=0) { $ids = Notice::stream(array('Reply', '_streamDirect'), array($user_id), 'reply:stream:' . $user_id, - $offset, $limit, $since_id, $before_id, $since); + $offset, $limit, $since_id, $max_id); return $ids; } - function _streamDirect($user_id, $offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null) + function _streamDirect($user_id, $offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $max_id=0) { $reply = new Reply(); $reply->profile_id = $user_id; - if ($since_id != 0) { - $reply->whereAdd('notice_id > ' . $since_id); - } - - if ($before_id != 0) { - $reply->whereAdd('notice_id < ' . $before_id); - } - - if (!is_null($since)) { - $reply->whereAdd('modified > \'' . date('Y-m-d H:i:s', $since) . '\''); - } + Notice::addWhereSinceId($reply, $since_id, 'notice_id', 'modified'); + Notice::addWhereMaxId($reply, $max_id, 'notice_id', 'modified'); - $reply->orderBy('notice_id DESC'); + $reply->orderBy('modified DESC, notice_id DESC'); if (!is_null($offset)) { $reply->limit($offset, $limit);