forked from GNUsocial/gnu-social
make replies use new query format
This commit is contained in:
parent
1e8ea1eb46
commit
aee641ee1e
@ -380,9 +380,9 @@ class Notice extends Memcached_DataObject
|
|||||||
$reply->notice_id = $this->id;
|
$reply->notice_id = $this->id;
|
||||||
if ($reply->find()) {
|
if ($reply->find()) {
|
||||||
while ($reply->fetch()) {
|
while ($reply->fetch()) {
|
||||||
$cache->delete(common_cache_key('user:replies:'.$reply->profile_id));
|
$cache->delete(common_cache_key('reply:stream:'.$reply->profile_id));
|
||||||
if ($blowLast) {
|
if ($blowLast) {
|
||||||
$cache->delete(common_cache_key('user:replies:'.$reply->profile_id.';last'));
|
$cache->delete(common_cache_key('reply:stream:'.$reply->profile_id.';last'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,4 +21,47 @@ class Reply extends Memcached_DataObject
|
|||||||
|
|
||||||
/* the code above is auto generated do not remove the tag below */
|
/* the code above is auto generated do not remove the tag below */
|
||||||
###END_AUTOCODE
|
###END_AUTOCODE
|
||||||
|
|
||||||
|
function stream($user_id, $offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null)
|
||||||
|
{
|
||||||
|
$ids = Notice::stream(array('Reply', '_streamDirect'),
|
||||||
|
array($user_id),
|
||||||
|
'reply:stream:' . $user_id,
|
||||||
|
$offset, $limit, $since_id, $before_id, $since);
|
||||||
|
return $ids;
|
||||||
|
}
|
||||||
|
|
||||||
|
function _streamDirect($user_id, $offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null)
|
||||||
|
{
|
||||||
|
$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) . '\'');
|
||||||
|
}
|
||||||
|
|
||||||
|
$reply->orderBy('notice_id DESC');
|
||||||
|
|
||||||
|
if (!is_null($offset)) {
|
||||||
|
$reply->limit($offset, $limit);
|
||||||
|
}
|
||||||
|
|
||||||
|
$ids = array();
|
||||||
|
|
||||||
|
if ($reply->find()) {
|
||||||
|
while ($reply->fetch()) {
|
||||||
|
$ids[] = $reply->notice_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $ids;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -401,13 +401,9 @@ class User extends Memcached_DataObject
|
|||||||
|
|
||||||
function getReplies($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null)
|
function getReplies($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null)
|
||||||
{
|
{
|
||||||
$qry =
|
$ids = Reply::stream($this->id, $offset, $limit, $since_id, $before_id, $since);
|
||||||
'SELECT notice.* ' .
|
common_debug("Ids = " . implode(',', $ids));
|
||||||
'FROM notice JOIN reply ON notice.id = reply.notice_id ' .
|
return Notice::getStreamByIds($ids);
|
||||||
'WHERE reply.profile_id = %d ';
|
|
||||||
return Notice::getStream(sprintf($qry, $this->id),
|
|
||||||
'user:replies:'.$this->id,
|
|
||||||
$offset, $limit, $since_id, $before_id, null, $since);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getNotices($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null)
|
function getNotices($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user