X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FOpenID%2Ffinishaddopenid.php;h=5182e50778736d2325f3e6a20de29bfcf8ae07df;hb=f34a196e83257e41c79190b1be6cad264a9b7e3e;hp=77fcc3805d8ca66c6b8aa1fc88c1509d44f39a36;hpb=f514f7b722f71fa8b60d0ee88e54d47d4a05af4a;p=quix0rs-gnu-social.git diff --git a/plugins/OpenID/finishaddopenid.php b/plugins/OpenID/finishaddopenid.php index 77fcc3805d..5182e50778 100644 --- a/plugins/OpenID/finishaddopenid.php +++ b/plugins/OpenID/finishaddopenid.php @@ -27,7 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET') && !defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } @@ -44,7 +44,6 @@ require_once INSTALLDIR.'/plugins/OpenID/openid.php'; * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://status.net/ */ - class FinishaddopenidAction extends Action { var $msg = null; @@ -59,12 +58,11 @@ class FinishaddopenidAction extends Action * * @return void */ - function handle($args) { parent::handle($args); if (!common_logged_in()) { - // TRANS: Client error message + // TRANS: Error message displayed when trying to perform an action that requires a logged in user. $this->clientError(_m('Not logged in.')); } else { $this->tryLogin(); @@ -78,7 +76,6 @@ class FinishaddopenidAction extends Action * * @return void */ - function tryLogin() { $consumer = oid_consumer(); @@ -92,7 +89,7 @@ class FinishaddopenidAction extends Action } else if ($response->status == Auth_OpenID_FAILURE) { // TRANS: OpenID authentication failed; display the error message. // TRANS: %s is the error message. - $this->message(sprintf(_m('OpenID authentication failed: %s'), + $this->message(sprintf(_m('OpenID authentication failed: %s.'), $response->message)); } else if ($response->status == Auth_OpenID_SUCCESS) { @@ -106,16 +103,23 @@ class FinishaddopenidAction extends Action $sreg = $sreg_resp->contents(); } + // Launchpad teams extension + if (!oid_check_teams($response)) { + // TRANS: OpenID authentication error. + $this->message(_m('OpenID authentication aborted: You are not allowed to login to this site.')); + return; + } + $cur = common_current_user(); $other = oid_get_user($canonical); if ($other) { if ($other->id == $cur->id) { - // TRANS: message in case a user tries to add an OpenID that is already connected to them. + // TRANS: Message in case a user tries to add an OpenID that is already connected to them. $this->message(_m('You already have this OpenID!')); } else { - // TRANS: message in case a user tries to add an OpenID that is already used by another user. + // TRANS: Message in case a user tries to add an OpenID that is already used by another user. $this->message(_m('Someone else already has this OpenID.')); } return; @@ -128,17 +132,20 @@ class FinishaddopenidAction extends Action $result = oid_link_user($cur->id, $canonical, $display); if (!$result) { - // TRANS: message in case the OpenID object cannot be connected to the user. + // TRANS: Message in case the OpenID object cannot be connected to the user. $this->message(_m('Error connecting user.')); return; } - if ($sreg) { - if (!oid_update_user($cur, $sreg)) { - // TRANS: message in case the user or the user profile cannot be saved in StatusNet. - $this->message(_m('Error updating profile')); - return; + if (Event::handle('StartOpenIDUpdateUser', array($cur, $canonical, &$sreg))) { + if ($sreg) { + if (!oid_update_user($cur, $sreg)) { + // TRANS: Message in case the user or the user profile cannot be saved in StatusNet. + $this->message(_m('Error updating profile.')); + return; + } } } + Event::handle('EndOpenIDUpdateUser', array($cur, $canonical, $sreg)); // success! @@ -159,7 +166,6 @@ class FinishaddopenidAction extends Action * * @return void */ - function message($msg) { $this->message = $msg; @@ -171,7 +177,6 @@ class FinishaddopenidAction extends Action * * @return string title */ - function title() { // TRANS: Title after getting the status of the OpenID authorisation request. @@ -183,7 +188,6 @@ class FinishaddopenidAction extends Action * * @return void */ - function showPageNotice() { if ($this->message) {