X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Flibs%2Fuser_functions.php;h=6fc8006e05938e2d0e3498c5d5aefdfccf38a9b5;hp=1fdb5105002af5de754c12ea0b394be5a8f137d3;hb=63b07092bbb543f9367800a84328b0cd6a9b251c;hpb=9f6c30cc0e06098171d773d671292081ecee3d29 diff --git a/inc/libs/user_functions.php b/inc/libs/user_functions.php index 1fdb510500..6fc8006e05 100644 --- a/inc/libs/user_functions.php +++ b/inc/libs/user_functions.php @@ -1,7 +1,7 @@ = '0.3.4') { @@ -263,7 +263,8 @@ function doUserLogin ($userid, $passwd, $successUrl = '', $errorUrl = 'modules.p // Init variables $dmy = ''; $add = ''; - $errorCode = 0; + $errorCode = '0'; + $ext = ''; // Add last_login if available $lastOnline = ''; @@ -281,20 +282,24 @@ 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); } - // Load entry - $content = getUserDataArray(); - 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)) { + // Load entry + $content = getUserDataArray(); + if (!empty($content['userid'])) $userid = bigintval($content['userid']); + // Check for old MD5 passwords if ((strlen($content['password']) == 32) && (md5($passwd) == $content['password'])) { // Just set the hash to the password from DB... :) @@ -334,7 +339,7 @@ function doUserLogin ($userid, $passwd, $successUrl = '', $errorUrl = 'modules.p // Update global array // @TODO Make this filter working: $URL = runFilterChain('do_login', array('content' => $content, 'addon' => $ADDON)); - setUserId($userid); + setMemberId($userid); // Try to set session data (which shall normally always work!) if ((setSession('userid', $userid )) && (setSession('u_hash', $content['hash']))) { @@ -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 .= '&ext=' . $ext; } // END - if // Return URL