X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FOpenID%2Fopenid.php;h=25811d88b20d297c8bbf080962136dba594fe572;hb=250221ff7fae28baad1d0411144c2bfe53c3641e;hp=1b93163e5f5efb307828e5aba64815e79ffa3ff8;hpb=51b272d078e0d6d183a71817ec96edc258fcd7eb;p=quix0rs-gnu-social.git diff --git a/plugins/OpenID/openid.php b/plugins/OpenID/openid.php index 1b93163e5f..25811d88b2 100644 --- a/plugins/OpenID/openid.php +++ b/plugins/OpenID/openid.php @@ -17,9 +17,9 @@ * along with this program. If not, see . */ -if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } - -require_once(INSTALLDIR.'/plugins/OpenID/User_openid.php'); +if (!defined('STATUSNET')) { + exit(1); +} require_once('Auth/OpenID.php'); require_once('Auth/OpenID/Consumer.php'); @@ -27,7 +27,7 @@ require_once('Auth/OpenID/Server.php'); require_once('Auth/OpenID/SReg.php'); require_once('Auth/OpenID/MySQLStore.php'); -# About one year cookie expiry +// About one year cookie expiry define('OPENID_COOKIE_EXPIRY', round(365.25 * 24 * 60 * 60)); define('OPENID_COOKIE_KEY', 'lastusedopenid'); @@ -36,7 +36,7 @@ function oid_store() { static $store = null; if (!$store) { - # Can't be called statically + // Can't be called statically $user = new User(); $conn = $user->getDatabaseConnection(); $store = new Auth_OpenID_MySQLStore($conn); @@ -85,15 +85,16 @@ function oid_get_last() function oid_link_user($id, $canonical, $display) { + global $_PEAR; $oid = new User_openid(); $oid->user_id = $id; $oid->canonical = $canonical; $oid->display = $display; - $oid->created = DB_DataObject_Cast::dateTime(); + $oid->created = common_sql_now(); if (!$oid->insert()) { - $err = PEAR::getStaticProperty('DB_DataObject','lastError'); + $err = &$_PEAR->getStaticProperty('DB_DataObject','lastError'); return false; } @@ -103,9 +104,9 @@ function oid_link_user($id, $canonical, $display) function oid_get_user($openid_url) { $user = null; - $oid = User_openid::staticGet('canonical', $openid_url); + $oid = User_openid::getKV('canonical', $openid_url); if ($oid) { - $user = User::staticGet('id', $oid->user_id); + $user = User::getKV('id', $oid->user_id); } return $user; } @@ -130,13 +131,16 @@ function oid_check_immediate($openid_url, $backto=null) function oid_authenticate($openid_url, $returnto, $immediate=false) { + $openid_url = Auth_OpenID::normalizeUrl($openid_url); + if (!common_valid_http_url($openid_url)) { + throw new ClientException(_m('No valid URL provided for OpenID.')); + } $consumer = oid_consumer(); if (!$consumer) { // TRANS: OpenID plugin server error. - common_server_error(_m('Cannot instantiate OpenID consumer object.')); - return false; + throw new ServerException(_m('Cannot instantiate OpenID consumer object.')); } common_ensure_session(); @@ -147,12 +151,12 @@ function oid_authenticate($openid_url, $returnto, $immediate=false) if (!$auth_request) { common_log(LOG_ERR, __METHOD__ . ": mystery fail contacting $openid_url"); // TRANS: OpenID plugin message. Given when an OpenID is not valid. - return _m('Not a valid OpenID.'); + throw new ServerException(_m('Not a valid OpenID.')); } else if (Auth_OpenID::isFailure($auth_request)) { common_log(LOG_ERR, __METHOD__ . ": OpenID fail to $openid_url: $auth_request->message"); // TRANS: OpenID plugin server error. Given when the OpenID authentication request fails. // TRANS: %s is the failure message. - return sprintf(_m('OpenID failure: %s'), $auth_request->message); + throw new ServerException(sprintf(_m('OpenID failure: %s.'), $auth_request->message)); } $sreg_request = Auth_OpenID_SRegRequest::build(// Required @@ -198,14 +202,12 @@ function oid_authenticate($openid_url, $returnto, $immediate=false) $redirect_url = $auth_request->redirectURL($trust_root, $process_url, $immediate); - if (!$redirect_url) { - } else if (Auth_OpenID::isFailure($redirect_url)) { + if (Auth_OpenID::isFailure($redirect_url)) { // TRANS: OpenID plugin server error. Given when the OpenID authentication request cannot be redirected. // TRANS: %s is the failure message. - return sprintf(_m('Could not redirect to server: %s'), $redirect_url->message); - } else { - common_redirect($redirect_url, 303); + throw new ServerException(sprintf(_m('Could not redirect to server: %s.'), $redirect_url->message)); } + common_redirect($redirect_url, 303); /* } else { // Generate form markup and render it. @@ -213,8 +215,8 @@ function oid_authenticate($openid_url, $returnto, $immediate=false) $form_html = $auth_request->formMarkup($trust_root, $process_url, $immediate, array('id' => $form_id)); - # XXX: This is cheap, but things choke if we don't escape ampersands - # in the HTML attributes + // XXX: This is cheap, but things choke if we don't escape ampersands + // in the HTML attributes $form_html = preg_replace('/&/', '&', $form_html); @@ -235,7 +237,7 @@ function oid_authenticate($openid_url, $returnto, $immediate=false) */ } -# Half-assed attempt at a module-private function +// Half-assed attempt at a module-private function function _oid_print_instructions() { @@ -264,16 +266,16 @@ function oid_update_user($user, $sreg) if (!empty($sreg['country'])) { if ($sreg['postcode']) { - # XXX: use postcode to get city and region - # XXX: also, store postcode somewhere -- it's valuable! + // XXX: use postcode to get city and region + // XXX: also, store postcode somewhere -- it's valuable! $profile->location = $sreg['postcode'] . ', ' . $sreg['country']; } else { $profile->location = $sreg['country']; } } - # XXX save language if it's passed - # XXX save timezone if it's passed + // XXX save language if it's passed + // XXX save timezone if it's passed if (!$profile->update($orig_profile)) { // TRANS: OpenID plugin server error. @@ -319,7 +321,7 @@ function oid_assert_allowed($url) } } // TRANS: OpenID plugin client exception (403). - throw new ClientException(_m("Unauthorized URL used for OpenID login."), 403); + throw new ClientException(_m('Unauthorized URL used for OpenID login.'), 403); } } @@ -358,9 +360,9 @@ class AutosubmitAction extends Action var $form_html = null; var $form_id = null; - function handle($args) + function handle() { - parent::handle($args); + parent::handle(); $this->showPage(); } @@ -373,7 +375,7 @@ class AutosubmitAction extends Action function showContent() { $this->raw('

'); - // @fixme this would be better using standard CSS class, but the present theme's a bit scary. + // @todo FIXME: This would be better using standard CSS class, but the present theme's a bit scary. $this->element('img', array('src' => Theme::path('images/icons/icon_processing.gif', 'base'), // for some reason the base CSS sets s as block display?! 'style' => 'display: inline'));