Yet another 'empty version' fixed
[mailer.git] / inc / libs / user_functions.php
index 8e5383e71254c045d7b35c9404992f47e1d02c51..18fd084d45f53da630e732fa215638e04f581c8f 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /************************************************************************
- * MXChange v0.2.1                                    Start: 07/16/2004 *
- * ===============                              Last change: 10/27/2004 *
+ * Mailer v0.2.1-FINAL                                Start: 07/16/2004 *
+ * ===================                          Last change: 10/27/2004 *
  *                                                                      *
  * -------------------------------------------------------------------- *
  * File              : user_functions.php                               *
@@ -264,6 +264,7 @@ function doUserLogin ($userid, $passwd, $successUrl = '', $errorUrl = 'modules.p
        $dmy = '';
        $add = '';
        $errorCode = '0';
+       $ext = '';
 
        // Add last_login if available
        $lastOnline = '';
@@ -281,9 +282,13 @@ function doUserLogin ($userid, $passwd, $successUrl = '', $errorUrl = 'modules.p
        );
 
        // Check login data
-       if ((isExtensionActive('nickname')) && (isNicknameOrUserid($userid))) {
+       if ((isExtensionActive('nickname')) && (isNicknameUsed($userid))) {
                // Nickname entered
                fetchUserData($userid, 'nickname');
+       } elseif (isNicknameUsed($userid)) {
+               // No nickname installed
+               $errorCode = getCode('EXTENSION_PROBLEM');
+               $ext = 'nickname';
        } else {
                // Direct userid entered
                fetchUserData($userid);
@@ -294,7 +299,7 @@ function doUserLogin ($userid, $passwd, $successUrl = '', $errorUrl = 'modules.p
        if (!empty($content['userid'])) $userid = bigintval($content['userid']);
 
        // Is there an entry?
-       if ((isUserDataValid()) && (getUserData('status') == 'CONFIRMED') && ((isNicknameUsed($content['userid'] === true) && (!empty($content['userid']))) || ($content['userid'] == $userid))) {
+       if (((isUserDataValid()) && (getUserData('status') == 'CONFIRMED') && (!empty($content['userid']))) || ($content['userid'] == $userid)) {
                // Check for old MD5 passwords
                if ((strlen($content['password']) == 32) && (md5($passwd) == $content['password'])) {
                        // Just set the hash to the password from DB... :)
@@ -320,7 +325,7 @@ function doUserLogin ($userid, $passwd, $successUrl = '', $errorUrl = 'modules.p
                        // Probe for last online timemark
                        $probe = time() -  $content['last_online'];
                        if (!empty($content['last_login'])) $probe = time() - $content['last_login'];
-                       if ((getExtensionVersion('bonus') >= '0.2.2') && ($probe >= getConfig('login_timeout'))) {
+                       if ((isExtensionInstalledAndNewer('bonus', '0.2.2')) && ($probe >= getConfig('login_timeout'))) {
                                // Add login bonus to user's account
                                $add = ', `login_bonus`=`login_bonus`+{?login_bonus?}';
                                $GLOBALS['bonus_payed'] = true;
@@ -372,7 +377,7 @@ function doUserLogin ($userid, $passwd, $successUrl = '', $errorUrl = 'modules.p
                        // Wrong password!
                        $errorCode = getCode('WRONG_PASS');
                }
-       } elseif (((isNicknameUsed($content['userid'])) && (!empty($content['userid']))) || ($content['userid'] == $userid)) {
+       } elseif (((isExtensionActive('nickname')) && (isNicknameUsed($content['userid'])) && (!empty($content['userid']))) || ($content['userid'] == $userid)) {
                // Other account status?
                if (fetchUserData($userid)) {
                        // Create an error code from given status
@@ -381,7 +386,7 @@ function doUserLogin ($userid, $passwd, $successUrl = '', $errorUrl = 'modules.p
                        // id not found!
                        $errorCode = getCode('WRONG_ID');
                }
-       } else {
+       } elseif ($errorCode == '0') {
                // id not found!
                $errorCode = getCode('WRONG_ID');
        }
@@ -390,6 +395,9 @@ function doUserLogin ($userid, $passwd, $successUrl = '', $errorUrl = 'modules.p
        if ($errorCode > 0) {
                // Then reconstruct the URL
                $URL = $errorUrl . $errorCode;
+
+               // Extension set? Then add it as well.
+               if (!empty($ext)) $URL .= '&amp;ext=' . $ext;
        } // END - if
 
        // Return URL