]> 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 406c000731d5e28d15b06bd3f7405cb88d9480fe..524f1a6411f5732be01086d58fee466c2a93ca50 100644 (file)
  * @category  Plugin
  * @package   StatusNet
  * @author    Craig Andrews <candrews@integralblue.com>
- * @copyright 2009 Craig Andrews http://candrews.integralblue.com
+ * @copyright 2009 Free Software Foundation, Inc http://www.fsf.org
  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
  * @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;
     }
 }
-