From: Evan Prodromou Date: Mon, 17 Jan 2011 20:45:03 +0000 (-0500) Subject: OStatusPlugin does discovery in Profile::fromURI() X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=a2aa87fbffe8b73d32463d1763e024da7ccdcd0b;p=quix0rs-gnu-social.git OStatusPlugin does discovery in Profile::fromURI() --- diff --git a/plugins/OStatus/OStatusPlugin.php b/plugins/OStatus/OStatusPlugin.php index 86bd15e0b7..59c18746f0 100644 --- a/plugins/OStatus/OStatusPlugin.php +++ b/plugins/OStatus/OStatusPlugin.php @@ -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; }