Merge branch 'testing' of gitorious.org:statusnet/mainline into testing

This commit is contained in:
Brion Vibber 2010-02-21 19:55:53 -08:00
commit bd3051b85c
2 changed files with 18 additions and 14 deletions

View File

@ -841,28 +841,22 @@ class Profile extends Memcached_DataObject
{ {
$uri = null; $uri = null;
// check for a local user first // give plugins a chance to set the URI
$user = User::staticGet('id', $this->id); if (Event::handle('StartGetProfileUri', array($this, &$uri))) {
if (!empty($user)) { // check for a local user first
$uri = common_local_url( $user = User::staticGet('id', $this->id);
'userbyid',
array('id' => $user->id)
);
} else {
// give plugins a chance to set the URI
if (Event::handle('StartGetProfileUri', array($this, &$uri))) {
if (!empty($user)) {
$uri = $user->uri;
} else {
// return OMB profile if any // return OMB profile if any
$remote = Remote_profile::staticGet('id', $this->id); $remote = Remote_profile::staticGet('id', $this->id);
if (!empty($remote)) { if (!empty($remote)) {
$uri = $remote->uri; $uri = $remote->uri;
} }
Event::handle('EndGetProfileUri', array($this, &$uri));
} }
Event::handle('EndGetProfileUri', array($this, &$uri));
} }
return $uri; return $uri;

View File

@ -485,4 +485,14 @@ class OStatusPlugin extends Plugin
return true; return true;
} }
function onStartGetProfileUri($profile, &$uri)
{
$oprofile = Ostatus_profile::staticGet('profile_id', $profile->id);
if (!empty($oprofile)) {
$uri = $oprofile->uri;
return false;
}
return true;
}
} }