summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
065e23b)
meaning we'd return for example a Notice with empty id (translated into 0)
and thus Faves coming in from remote instances where the fave'd notice was
not found would result in faving the first Notice in a table-wide search,
i.e. often the first post on the instance.
Whoopie!
}
static function findLocalObject(array $uris, $type=ActivityObject::NOTE) {
}
static function findLocalObject(array $uris, $type=ActivityObject::NOTE) {
- $object = null;
- // TODO: Extend this in plugins etc.
- if (Event::handle('StartFindLocalActivityObject', array($uris, $type, &$object))) {
+ $obj_class = null;
+ // TODO: Extend this in plugins etc. and describe in EVENTS.txt
+ if (Event::handle('StartFindLocalActivityObject', array($uris, $type, &$obj_class))) {
switch (self::resolveUri($type)) {
case ActivityObject::PERSON:
// GROUP will also be here in due time...
switch (self::resolveUri($type)) {
case ActivityObject::PERSON:
// GROUP will also be here in due time...
- $object = new Profile();
+ $obj_class = 'Profile';
- $object = new Notice();
$uris = array_unique($uris);
foreach ($uris as $uri) {
try {
// the exception thrown will cancel before reaching $object
$uris = array_unique($uris);
foreach ($uris as $uri) {
try {
// the exception thrown will cancel before reaching $object
- $object = call_user_func(array($object, 'fromUri'), $uri);
+ $object = call_user_func("{$obj_class}::fromUri", $uri);
break;
} catch (UnknownUriException $e) {
common_debug('Could not find local activity object from uri: '.$e->object_uri);
break;
} catch (UnknownUriException $e) {
common_debug('Could not find local activity object from uri: '.$e->object_uri);