We are no longer offering accounts on this server. Consider https://gitlab.freedesktop.org/ as a place to host projects.

Commit 2d0c7c2c authored by mattl's avatar mattl

ensureWebfinger was never complete in StatusNet. Worked a bit on it.

parent bb1ac66d
......@@ -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) {
......
......@@ -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));
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment