X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fuseractivitystream.php;h=1760ca2333a187e19bed95d4be7f22fcf49e75ec;hb=0e2470998936872dca00f7819408933a1e72b4b7;hp=ce3e373724e96451743682377a08f713854f73b3;hpb=5fd6053220d9ff2c28735fcf5b8c99b83b09ecc0;p=quix0rs-gnu-social.git diff --git a/lib/useractivitystream.php b/lib/useractivitystream.php index ce3e373724..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 { @@ -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);