*
* @return ActivityObject
*/
- function onEndNoticeAsActivity(Notice $stored, Activity $act, Profile $scoped=null) {
+ protected function extendActivity(Notice $stored, Activity $act, Profile $scoped=null) {
switch ($stored->object_type) {
case RSVP::POSITIVE:
case RSVP::NEGATIVE:
return $object;
}
+ // FIXME: Put this in lib/activityhandlerplugin.php when we're ready
+ // with the other microapps/activityhandlers as well.
+ // Also it should be StartNoticeAsActivity (with a prepped Activity, including ->context etc.)
+ public function onEndNoticeAsActivity(Notice $stored, Activity $act, Profile $scoped=null)
+ {
+ if (!$this->isMyNotice($stored)) {
+ return true;
+ }
+
+ common_debug('Extending activity '.$stored->id.' with '.get_called_class());
+ $this->extendActivity($stored, $act, $scoped);
+ return false;
+ }
+
+ public function extendActivity(Notice $stored, Activity $act, Profile $scoped=null)
+ {
+ Fave::extendActivity($stored, $act, $scoped);
+ }
public function activityObjectFromNotice(Notice $notice)
{
return $object;
}
+ /**
+ * Retrieves the _targeted_ notice of a verb (such as the notice that was
+ * _favorited_, but not the favorite activity itself).
+ *
+ * @param Notice $stored The activity notice.
+ *
+ * @throws NoResultException when it can't find what it's looking for.
+ */
+ static public function getTargetFromStored(Notice $stored)
+ {
+ return self::fromStored($stored)->getTarget();
+ }
+
static public function getObjectType()
{
return 'activity';
return $object;
}
+ static public function extendActivity(Notice $stored, Activity $act, Profile $scoped=null)
+ {
+ $target = self::getTargetFromStored($stored);
+
+ $act->target = $target->asActivityObject();
+ $act->objects = array(clone($act->target));
+ $act->context->replyToID = $target->getUri();
+ $act->context->replyToUrl = $target->getUrl();
+ $act->title = ActivityUtils::verbToTitle($act->verb);
+ }
+
static function saveActivityObject(ActivityObject $actobj, Notice $stored)
{
$object = self::parseActivityObject($actobj, $stored);