]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/OpenID/openid.php
array need to contain key/value pairs
[quix0rs-gnu-social.git] / plugins / OpenID / openid.php
index d13db28a47f449c793dc1c60dbe35550bccc49e1..ee854e8140e274433b6decd6e08be0f15e576277 100644 (file)
@@ -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,15 @@ function oid_check_immediate($openid_url, $backto=null)
 
 function oid_authenticate($openid_url, $returnto, $immediate=false)
 {
+    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 +150,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 +201,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.
@@ -319,7 +320,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);
         }
     }
 
@@ -373,7 +374,7 @@ class AutosubmitAction extends Action
     function showContent()
     {
         $this->raw('<p style="margin: 20px 80px">');
-        // @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 <img>s as block display?!
                                     'style' => 'display: inline'));