function showContent() { $notice = $this->nli->notice; $out = $this->nli->out; $mem = Group_member::staticGet('uri', $notice->uri); if (!empty($mem)) { $out->elementStart('div', 'join-activity'); $profile = $mem->getMember(); $group = $mem->getGroup(); // TRANS: Text for "joined list" item in activity plugin. // TRANS: %1$s is a profile URL, %2$s is a profile name, // TRANS: %3$s is a group home URL, %4$s is a group name. $out->raw(sprintf(_m('<a href="%1$s">%2$s</a> joined the group <a href="%3$s">%4$s</a>.'), $profile->profileurl, $profile->getBestName(), $group->homeUrl(), $group->getBestName())); $out->elementEnd('div'); } else { parent::showContent(); } }
function onEndNoticeAsActivity($notice, &$activity) { switch ($notice->verb) { case ActivityVerb::FAVORITE: $fave = Fave::staticGet('uri', $notice->uri); if (!empty($fave)) { $notice = Notice::staticGet('id', $fave->notice_id); if (!empty($notice)) { $cur = common_current_user(); $target = $notice->asActivity($cur); if ($target->verb == ActivityVerb::POST) { // "I like the thing you posted" $activity->objects = $target->objects; } else { // "I like that you did whatever you did" $activity->objects = array($target); } } } break; case ActivityVerb::UNFAVORITE: // FIXME: do something here break; case ActivityVerb::JOIN: $mem = Group_member::staticGet('uri', $notice->uri); if (!empty($mem)) { $group = $mem->getGroup(); $activity->objects = array(ActivityObject::fromGroup($group)); } break; case ActivityVerb::LEAVE: // FIXME: ???? break; case ActivityVerb::FOLLOW: $sub = Subscription::staticGet('uri', $notice->uri); if (!empty($sub)) { $profile = Profile::staticGet('id', $sub->subscribed); if (!empty($profile)) { $activity->objects = array(ActivityObject::fromProfile($profile)); } } break; case ActivityVerb::UNFOLLOW: // FIXME: ???? break; } return true; }