Add events for representing objects as activity:object

Add 6 new events to make it easier to override the type of an activity object.
This commit is contained in:
Evan Prodromou 2010-12-18 17:24:41 -05:00
parent fb8312ebf4
commit 25d03c42e6
2 changed files with 97 additions and 64 deletions

View File

@ -999,3 +999,27 @@ StartAdminPanelNav: Before displaying the first item in the list of admin panels
EndAdminPanelNav: After displaying the last item in the list of admin panels
- $nav The AdminPanelNav widget
StartActivityObjectFromNotice: When converting a notice to an activity:object
- $notice: The notice being converted
- &$object: The resulting object. Fill this and return false to override defaults.
EndActivityObjectFromNotice: After converting a notice to an activity:object
- $notice: The notice being converted
- &$object: The resulting object. Can be edited
StartActivityObjectFromProfile: When converting a profile to an activity:object
- $profile: The profile being converted
- &$object: The (empty) object. Fill it up and return false to override defaults.
EndActivityObjectFromProfile: After converting a profile to an activity:object
- $profile: The profile being converted
- &$object: The finished object. Can be tweaked
StartActivityObjectFromGroup: When converting a group to an activity:object
- $group: The group being converted
- &$object: The (empty) object. Fill and return false to override.
EndActivityObjectFromGroup: After converting a group to an activity:object
- $group: The group being converted
- &$object: The finished object. Tweak as needed.

View File

@ -382,6 +382,8 @@ class ActivityObject
{
$object = new ActivityObject();
if (Event::handle('StartActivityObjectFromNotice', array($notice, &$object))) {
$object->type = ActivityObject::NOTE;
$object->id = $notice->uri;
@ -389,6 +391,9 @@ class ActivityObject
$object->content = $notice->rendered;
$object->link = $notice->bestUrl();
Event::handle('EndActivityObjectFromNotice', array($notice, &$object));
}
return $object;
}
@ -396,6 +401,8 @@ class ActivityObject
{
$object = new ActivityObject();
if (Event::handle('StartActivityObjectFromProfile', array($profile, &$object))) {
$object->type = ActivityObject::PERSON;
$object->id = $profile->getUri();
$object->title = $profile->getBestName();
@ -448,6 +455,9 @@ class ActivityObject
$object->poco = PoCo::fromProfile($profile);
Event::handle('EndActivityObjectFromProfile', array($profile, &$object));
}
return $object;
}
@ -455,28 +465,27 @@ class ActivityObject
{
$object = new ActivityObject();
if (Event::handle('StartActivityObjectFromGroup', array($group, &$object))) {
$object->type = ActivityObject::GROUP;
$object->id = $group->getUri();
$object->title = $group->getBestName();
$object->link = $group->getUri();
$object->avatarLinks[] = AvatarLink::fromFilename(
$group->homepage_logo,
AVATAR_PROFILE_SIZE
);
$object->avatarLinks[] = AvatarLink::fromFilename($group->homepage_logo,
AVATAR_PROFILE_SIZE);
$object->avatarLinks[] = AvatarLink::fromFilename(
$group->stream_logo,
AVATAR_STREAM_SIZE
);
$object->avatarLinks[] = AvatarLink::fromFilename($group->stream_logo,
AVATAR_STREAM_SIZE);
$object->avatarLinks[] = AvatarLink::fromFilename(
$group->mini_logo,
AVATAR_MINI_SIZE
);
$object->avatarLinks[] = AvatarLink::fromFilename($group->mini_logo,
AVATAR_MINI_SIZE);
$object->poco = PoCo::fromGroup($group);
Event::handle('EndActivityObjectFromGroup', array($group, &$object));
}
return $object;
}