function showContent() { $notice = $this->nli->notice; $out = $this->nli->out; $mem = Group_member::getKV('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(); } }
public function onEndNoticeAsActivity(Notice $stored, Activity $act, Profile $scoped = null) { switch ($stored->verb) { case ActivityVerb::UNFAVORITE: // FIXME: do something here break; case ActivityVerb::JOIN: $mem = Group_member::getKV('uri', $stored->getUri()); if ($mem instanceof Group_member) { $group = $mem->getGroup(); $act->title = $stored->getTitle(); $act->objects = array(ActivityObject::fromGroup($group)); } break; case ActivityVerb::LEAVE: // FIXME: ???? break; case ActivityVerb::FOLLOW: $sub = Subscription::getKV('uri', $stored->uri); if ($sub instanceof Subscription) { $profile = Profile::getKV('id', $sub->subscribed); if ($profile instanceof Profile) { $act->title = $stored->getTitle(); $act->objects = array($profile->asActivityObject()); } } break; case ActivityVerb::UNFOLLOW: // FIXME: ???? break; } return true; }