X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fuseractivitystream.php;h=1760ca2333a187e19bed95d4be7f22fcf49e75ec;hb=1ae5ea8f4cf40113a14a183b754101177f99ba32;hp=246bdb5d90e97341be23607f79e27cb98d07144d;hpb=220b51d8be61e9bd316567f3ad03fffdbc4b7526;p=quix0rs-gnu-social.git diff --git a/lib/useractivitystream.php b/lib/useractivitystream.php index 246bdb5d90..1760ca2333 100644 --- a/lib/useractivitystream.php +++ b/lib/useractivitystream.php @@ -20,7 +20,7 @@ /** * Class for activity streams * - * Includes faves, notices, and subscriptions. + * Includes objects like notices, subscriptions and from plugins. * * We extend atomusernoticefeed since it does some nice setup for us. * @@ -28,6 +28,7 @@ class UserActivityStream extends AtomUserNoticeFeed { public $activities = array(); + public $after = null; const OUTPUT_STRING = 1; const OUTPUT_RAW = 2; @@ -74,21 +75,18 @@ class UserActivityStream extends AtomUserNoticeFeed $subscriptions = $this->getSubscriptions(); $subscribers = $this->getSubscribers(); $groups = $this->getGroups(); - $faves = $this->getFaves(); - $messagesFrom = $this->getMessagesFrom(); - $messagesTo = $this->getMessagesTo(); - $objs = array_merge($subscriptions, $subscribers, $groups, $faves, $notices, $messagesFrom, $messagesTo); + $objs = array_merge($subscriptions, $subscribers, $groups, $notices); + + Event::handle('AppendUserActivityStreamObjects', array($this, &$objs)); $subscriptions = null; $subscribers = null; $groups = null; - $faves = null; unset($subscriptions); unset($subscribers); unset($groups); - unset($faves); // Sort by create date @@ -101,7 +99,7 @@ class UserActivityStream extends AtomUserNoticeFeed } /** - * Interleave the pre-sorted subs/groups/faves with the user's + * Interleave the pre-sorted objects with the user's * notices, all in reverse chron order. */ function renderEntries($format=Feed::ATOM, $handle=null) @@ -126,7 +124,7 @@ class UserActivityStream extends AtomUserNoticeFeed $notices = $this->getNoticesBetween($start, $end); foreach ($notices as $noticeAct) { try { - $nact = $noticeAct->asActivity($this->user); + $nact = $noticeAct->asActivity($this->user->getProfile()); if ($format == Feed::ATOM) { $nact->outputTo($this, false, false); } else { @@ -154,7 +152,7 @@ class UserActivityStream extends AtomUserNoticeFeed try { if ($format == Feed::ATOM) { // Only show the author sub-element if it's different from default user - $act->outputTo($this, false, ($act->actor->id != $this->user->uri)); + $act->outputTo($this, false, ($act->actor->id != $this->user->getUri())); } else { if ($haveOne) { fwrite($handle, ","); @@ -182,7 +180,7 @@ class UserActivityStream extends AtomUserNoticeFeed } foreach ($notices as $noticeAct) { try { - $nact = $noticeAct->asActivity($this->user); + $nact = $noticeAct->asActivity($this->user->getProfile()); if ($format == Feed::ATOM) { $nact->outputTo($this, false, false); } else { @@ -278,27 +276,6 @@ class UserActivityStream extends AtomUserNoticeFeed return $subs; } - function getFaves() - { - $faves = array(); - - $fave = new Fave(); - - $fave->user_id = $this->user->id; - - if (!empty($this->after)) { - $fave->whereAdd("modified > '" . common_sql_date($this->after) . "'"); - } - - if ($fave->find()) { - while ($fave->fetch()) { - $faves[] = clone($fave); - } - } - - return $faves; - } - /** * * @param int $start unix timestamp for earliest @@ -374,32 +351,6 @@ class UserActivityStream extends AtomUserNoticeFeed return $groups; } - function getMessagesTo() - { - $msgMap = Message::listGet('to_profile', array($this->user->id)); - - $messages = $msgMap[$this->user->id]; - - if (!empty($this->after)) { - $messages = array_filter($messages, array($this, 'createdAfter')); - } - - return $messages; - } - - function getMessagesFrom() - { - $msgMap = Message::listGet('from_profile', array($this->user->id)); - - $messages = $msgMap[$this->user->id]; - - if (!empty($this->after)) { - $messages = array_filter($messages, array($this, 'createdAfter')); - } - - return $messages; - } - function createdAfter($item) { $created = strtotime((empty($item->created)) ? $item->modified : $item->created); return ($created >= $this->after);