From 2d0c7c2c99b7299a0da2514d74a7b9903c746d42 Mon Sep 17 00:00:00 2001 From: Mikael Nordfeldth Date: Sun, 27 Jul 2014 23:06:08 +0200 Subject: [PATCH] ensureWebfinger was never complete in StatusNet. Worked a bit on it. --- plugins/OStatus/OStatusPlugin.php | 4 ++-- plugins/OStatus/classes/Ostatus_profile.php | 11 ++++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/plugins/OStatus/OStatusPlugin.php b/plugins/OStatus/OStatusPlugin.php index 31ea94bef1..f78c156a7c 100644 --- a/plugins/OStatus/OStatusPlugin.php +++ b/plugins/OStatus/OStatusPlugin.php @@ -326,7 +326,7 @@ class OStatusPlugin extends Plugin 'type' => 'mention', 'text' => $target, 'position' => $pos, - 'url' => $profile->profileurl); + 'url' => $profile->getUrl()); } } catch (Exception $e) { $this->log(LOG_ERR, "Webfinger check failed: " . $e->getMessage()); @@ -353,7 +353,7 @@ class OStatusPlugin extends Plugin 'type' => 'mention', 'text' => $target, 'position' => $pos, - 'url' => $profile->profileurl); + 'url' => $profile->getUrl()); break; } } catch (Exception $e) { diff --git a/plugins/OStatus/classes/Ostatus_profile.php b/plugins/OStatus/classes/Ostatus_profile.php index 72a0c34b92..adc3326336 100644 --- a/plugins/OStatus/classes/Ostatus_profile.php +++ b/plugins/OStatus/classes/Ostatus_profile.php @@ -1959,7 +1959,9 @@ class Ostatus_profile extends Managed_DataObject } // If we got a feed URL, try that + $feedUrl = null; if (array_key_exists('feedurl', $hints)) { + $feedUrl = $hints['feedurl']; try { common_log(LOG_INFO, "Discovery on acct:$addr with feed URL " . $hints['feedurl']); $oprofile = self::ensureFeedURL($hints['feedurl'], $hints); @@ -1972,7 +1974,9 @@ class Ostatus_profile extends Managed_DataObject } // If we got a profile page, try that! + $profileUrl = null; if (array_key_exists('profileurl', $hints)) { + $profileUrl = $hints['profileurl']; try { common_log(LOG_INFO, "Discovery on acct:$addr with profile URL $profileUrl"); $oprofile = self::ensureProfileURL($hints['profileurl'], $hints); @@ -2009,7 +2013,7 @@ class Ostatus_profile extends Managed_DataObject $profile->nickname = self::nicknameFromUri($uri); $profile->created = common_sql_now(); - if (isset($profileUrl)) { + if (!is_null($profileUrl)) { $profile->profileurl = $profileUrl; } @@ -2028,13 +2032,14 @@ class Ostatus_profile extends Managed_DataObject $oprofile->profile_id = $profile_id; $oprofile->created = common_sql_now(); - if (isset($feedUrl)) { - $profile->feeduri = $feedUrl; + if (!is_null($feedUrl)) { + $oprofile->feeduri = $feedUrl; } $result = $oprofile->insert(); if ($result === false) { + $profile->delete(); common_log_db_error($oprofile, 'INSERT', __FILE__); // TRANS: Exception. %s is a webfinger address. throw new Exception(sprintf(_m('Could not save OStatus profile for "%s".'),$addr));