OStatusPlugin does discovery in Profile::fromURI()

This commit is contained in:
Evan Prodromou 2011-01-17 15:45:03 -05:00
parent dce2824747
commit a2aa87fbff

View File

@ -992,17 +992,29 @@ class OStatusPlugin extends Plugin
return false;
}
function onStartGetProfileFromURI($uri, &$profile) {
function onStartGetProfileFromURI($uri, &$profile)
{
// Don't want to do Web-based discovery on our own server,
// so we check locally first.
// XXX: do discovery here instead (OStatus_profile::ensureProfileURI($uri))
$user = User::staticGet('uri', $uri);
if (!empty($user)) {
$profile = $user->getProfile();
return false;
}
$oprofile = Ostatus_profile::staticGet('uri', $uri);
// Now, check remotely
if (!empty($oprofile) && !$oprofile->isGroup()) {
$oprofile = Ostatus_profile::ensureProfileURI($uri);
if (!empty($oprofile)) {
$profile = $oprofile->localProfile();
return false;
}
// Still not a hit, so give up.
return true;
}