]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/EmailAuthentication/EmailAuthenticationPlugin.php
Merge branch 'fixes/private_scope_on_tags' into social-master
[quix0rs-gnu-social.git] / plugins / EmailAuthentication / EmailAuthenticationPlugin.php
index 689d6231d1e2a0ed3763d7bb53607fe179f530d0..524f1a6411f5732be01086d58fee466c2a93ca50 100644 (file)
  * @link      http://status.net/
  */
 
-if (!defined('STATUSNET') && !defined('LACONICA')) {
-    exit(1);
-}
+if (!defined('GNUSOCIAL')) { exit(1); }
 
 class EmailAuthenticationPlugin extends Plugin
 {
-    //---interface implementation---//
+    // $nickname for this plugin is the user's email address
     function onStartCheckPassword($nickname, $password, &$authenticatedUser)
     {
-        if(strpos($nickname, '@'))
-        {
-            $user = User::staticGet('email',$nickname);
-            if($user && isset($user->email))
-            {
-                if(common_check_user($user->nickname,$password))
-                {
-                    $authenticatedUser = $user;
-                    return false;
-                }
+        if (!strpos($nickname, '@')) {
+            return true;
+        }
+
+        $user = User::getKV('email', $nickname);
+        if ($user instanceof User && $user->email === $nickname) {
+            if (common_check_user($user->nickname, $password)) {
+                $authenticatedUser = $user;
+                return false;
             }
         }
+
+        return true;
     }
 
-    function onPluginVersion(&$versions)
+    function onPluginVersion(array &$versions)
     {
         $versions[] = array('name' => 'Email Authentication',
-                            'version' => STATUSNET_VERSION,
+                            'version' => GNUSOCIAL_VERSION,
                             'author' => 'Craig Andrews',
                             'homepage' => 'http://status.net/wiki/Plugin:EmailAuthentication',
                             'rawdescription' =>
+                            // TRANS: Plugin description.
                             _m('The Email Authentication plugin allows users to login using their email address.'));
         return true;
     }