X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Ffinishremotesubscribe.php;h=59725af27f6c5b0f8cab234a1d4570f91e153a5e;hb=4afa3caae35cbd26f8cdead2ccb7b2181f30adfa;hp=b1cec66f48af55ac41de11b0fab041433cf3b093;hpb=b4b992bca77d34b8643910e8d590b5be7fede94b;p=quix0rs-gnu-social.git diff --git a/actions/finishremotesubscribe.php b/actions/finishremotesubscribe.php index b1cec66f48..59725af27f 100644 --- a/actions/finishremotesubscribe.php +++ b/actions/finishremotesubscribe.php @@ -37,7 +37,7 @@ require_once INSTALLDIR.'/lib/omb.php'; * Handler for remote subscription finish callback * * When a remote user subscribes a local user, a redirect to this action is - * issued after the remote user authorized his service to subscribe. + * issued after the remote user authorized their service to subscribe. * * @category Action * @package Laconica @@ -48,7 +48,6 @@ require_once INSTALLDIR.'/lib/omb.php'; */ class FinishremotesubscribeAction extends Action { - /** * Class handler. * @@ -56,7 +55,7 @@ class FinishremotesubscribeAction extends Action * * @return nothing * - **/ + */ function handle($args) { parent::handle($args); @@ -66,6 +65,7 @@ class FinishremotesubscribeAction extends Action $service = unserialize($_SESSION['oauth_authorization_request']); if (!$service) { + // TRANS: Client error displayed when subscribing to a remote profile and an unexpected response is received. $this->clientError(_('Not expecting this response!')); return; } @@ -77,6 +77,7 @@ class FinishremotesubscribeAction extends Action $user = User::staticGet('uri', $service->getListeneeURI()); if (!$user) { + // TRANS: Client error displayed when subscribing to a remote profile that does not exist. $this->clientError(_('User being listened to does not exist.')); return; } @@ -84,17 +85,23 @@ class FinishremotesubscribeAction extends Action $other = User::staticGet('uri', $service->getListenerURI()); if ($other) { + // TRANS: Client error displayed when subscribing to a remote profile that is a local profile. $this->clientError(_('You can use the local subscription!')); return; } $remote = Remote_profile::staticGet('uri', $service->getListenerURI()); + if ($remote) { + // Note remote profile may not have been saved yet. + // @fixme not convinced this is correct at all! - $profile = Profile::staticGet($remote->id); + $profile = Profile::staticGet($remote->id); - if ($user->hasBlocked($profile)) { - $this->clientError(_('That user has blocked you from subscribing.')); - return; + if ($user->hasBlocked($profile)) { + // TRANS: Client error displayed when subscribing to a remote profile that is blocked form subscribing to. + $this->clientError(_('That user has blocked you from subscribing.')); + return; + } } /* Perform the handling itself via libomb. */ @@ -103,14 +110,17 @@ class FinishremotesubscribeAction extends Action } catch (OAuthException $e) { if ($e->getMessage() == 'The authorized token does not equal the ' . 'submitted token.') { + // TRANS: Client error displayed when subscribing to a remote profile without providing an authorised token. $this->clientError(_('You are not authorized.')); return; } else { + // TRANS: Client error displayed when subscribing to a remote profile and conversion of the request token to access token fails. $this->clientError(_('Could not convert request token to ' . 'access token.')); return; } } catch (OMB_RemoteServiceException $e) { + // TRANS: Client error displayed when subscribing to a remote profile fails because of an unsupported version of the OMB protocol. $this->clientError(_('Remote service uses unknown version of ' . 'OMB protocol.')); return; @@ -122,6 +132,7 @@ class FinishremotesubscribeAction extends Action /* The service URLs are not accessible from datastore, so setting them after insertion of the profile. */ + $remote = Remote_profile::staticGet('uri', $service->getListenerURI()); $orig_remote = clone($remote); $remote->postnoticeurl = @@ -130,7 +141,8 @@ class FinishremotesubscribeAction extends Action $service->getServiceURI(OMB_ENDPOINT_UPDATEPROFILE); if (!$remote->update($orig_remote)) { - $this->serverError(_('Error updating remote profile')); + // TRANS: Server error displayed when subscribing to a remote profile fails because the remote profile could not be updated. + $this->serverError(_('Error updating remote profile.')); return; }