]> git.mxchange.org Git - friendica.git/blobdiff - mod/openid.php
Cleanup for #3010 - added spaces, thanks to @annando .
[friendica.git] / mod / openid.php
index e2cea7d851041211610748b3483a1fcd29193ba9..60a9c1381b083e5322be743bf4241ac0169887d2 100644 (file)
@@ -18,20 +18,27 @@ function openid_content(&$a) {
 
                if($openid->validate()) {
 
-                       $authid = normalise_openid($_REQUEST['openid_identity']);
+                       $authid = $_REQUEST['openid_identity'];
 
                        if(! strlen($authid)) {
                                logger( t('OpenID protocol error. No ID returned.') . EOL);
                                goaway(z_root());
                        }
 
-                       $r = q("SELECT `user`.*, `user`.`pubkey` as `upubkey`, `user`.`prvkey` as `uprvkey` 
-                               FROM `user` WHERE `openid` = '%s' AND `blocked` = 0 
-                               AND `account_expired` = 0 AND `verified` = 1 LIMIT 1",
-                               dbesc($authid)
+                       // NOTE: we search both for normalised and non-normalised form of $authid
+                       //       because the normalization step was removed from setting
+                       //       mod/settings.php in 8367cad so it might have left mixed
+                       //       records in the user table
+                       //
+                       $r = q("SELECT * FROM `user`
+                               WHERE ( `openid` = '%s' OR `openid` = '%s' )
+                               AND `blocked` = 0 AND `account_expired` = 0
+                               AND `account_removed` = 0 AND `verified` = 1
+                               LIMIT 1",
+                               dbesc($authid), dbesc(normalise_openid($authid))
                        );
 
-                       if($r && count($r)) {
+                       if (dbm::is_result($r)) {
 
                                // successful OpenID login