X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Faccountmover.php;h=83314b49978d53ace8a732179db05a33b5f4242f;hb=b53e1439969bfa2c0b551d8cc2fc8fe15652c62a;hp=85c95c11324e6ebdbc6e0d365ee687a013a8d8b0;hpb=6fa0bea76db45454071a08b12664d9f25fea5ca5;p=quix0rs-gnu-social.git diff --git a/lib/accountmover.php b/lib/accountmover.php index 85c95c1132..83314b4997 100644 --- a/lib/accountmover.php +++ b/lib/accountmover.php @@ -4,7 +4,7 @@ * Copyright (C) 2010, StatusNet, Inc. * * A class for moving an account to a new server - * + * * PHP version 5 * * This program is free software: you can redistribute it and/or modify @@ -44,7 +44,6 @@ if (!defined('STATUSNET')) { * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 * @link http://status.net/ */ - class AccountMover extends QueueHandler { function transport() @@ -61,14 +60,16 @@ class AccountMover extends QueueHandler $oprofile = Ostatus_profile::ensureProfileURI($remote); if (empty($oprofile)) { - throw new Exception("Can't locate account {$remote}"); + // TRANS: Exception thrown when an account could not be located when it should be moved. + // TRANS: %s is the remote site. + throw new Exception(sprintf(_("Cannot locate account %s."),$remote)); } list($svcDocUrl, $username) = self::getServiceDocument($remote); $sink = new ActivitySink($svcDocUrl, $username, $password); - $this->log(LOG_INFO, + $this->log(LOG_INFO, "Moving user {$user->nickname} ". "to {$remote}."); @@ -85,7 +86,7 @@ class AccountMover extends QueueHandler $qm = QueueManager::get(); foreach ($acts as $act) { - $qm->enqueue(array($act, $sink, $user->uri, $remote), 'actmove'); + $qm->enqueue(array($act, $sink, $user->getUri(), $remote), 'actmove'); } $this->log(LOG_INFO, @@ -100,30 +101,27 @@ class AccountMover extends QueueHandler $xrd = $discovery->lookup($remote); if (empty($xrd)) { - throw new Exception("Can't find XRD for $remote"); - } + // TRANS: Exception thrown when a service document could not be located account move. + // TRANS: %s is the remote site. + throw new Exception(sprintf(_("Cannot find XRD for %s."),$remote)); + } $svcDocUrl = null; $username = null; - foreach ($xrd->links as $link) { - if ($link['rel'] == 'http://apinamespace.org/atom' && - $link['type'] == 'application/atomsvc+xml') { - $svcDocUrl = $link['href']; - if (!empty($link['property'])) { - foreach ($link['property'] as $property) { - if ($property['type'] == 'http://apinamespace.org/atom/username') { - $username = $property['value']; - break; - } - } - } + $link = $xrd->links->get('http://apinamespace.org/atom', 'application/atomsvc+xml'); + if (!is_null($link)) { + $svcDocUrl = $link->href; + if (isset($link['http://apinamespace.org/atom/username'])) { + $username = $link['http://apinamespace.org/atom/username']; break; } } if (empty($svcDocUrl)) { - throw new Exception("No AtomPub API service for $remote."); + // TRANS: Exception thrown when an account could not be located when it should be moved. + // TRANS: %s is the remote site. + throw new Exception(sprintf(_("No AtomPub API service for %s."),$remote)); } return array($svcDocUrl, $username); @@ -131,7 +129,7 @@ class AccountMover extends QueueHandler /** * Log some data - * + * * Add a header for our class so we know who did it. * * @param int $level Log level, like LOG_ERR or LOG_INFO @@ -139,7 +137,6 @@ class AccountMover extends QueueHandler * * @return void */ - protected function log($level, $message) { common_log($level, "AccountMover: " . $message);