]> git.mxchange.org Git - mailer.git/blobdiff - inc/libs/user_functions.php
Mailer used in many places, we still need a good 'selling' title
[mailer.git] / inc / libs / user_functions.php
index d343e5269a145606db2412e6c81d9ef3701bc2ac..3fd3570e6c1ba9207889046c1d18ef453fe388cf 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                               *
@@ -223,7 +223,7 @@ LIMIT 1",
 // Selects a random user id as the new referal id if they have at least X confirmed mails in this run
 function determineRandomReferalId () {
        // Default is zero refid
-       $refid = 0;
+       $refid = '0';
 
        // Is the extension version fine?
        if (getExtensionVersion('user') >= '0.3.4') {
@@ -261,8 +261,9 @@ function determineRandomReferalId () {
 // Do the user login
 function doUserLogin ($userid, $passwd, $successUrl = '', $errorUrl = 'modules.php?module=index&amp;what=login&amp;login=') {
        // Init variables
-       $dmy = ''; $add = '';
-       $errorCode = 0;
+       $dmy = '';
+       $add = '';
+       $errorCode = '0';
 
        // Add last_login if available
        $lastOnline = '';
@@ -282,23 +283,18 @@ function doUserLogin ($userid, $passwd, $successUrl = '', $errorUrl = 'modules.p
        // Check login data
        if ((isExtensionActive('nickname')) && (isNicknameOrUserid($userid))) {
                // Nickname entered
-               $result = SQL_QUERY_ESC("SELECT `userid`, `password`, `last_online`" . $lastOnline . " FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `nickname`='%s' AND `status`='CONFIRMED' LIMIT 1",
-                       array($userid), __FUNCTION__, __LINE__);
+               fetchUserData($userid, 'nickname');
        } else {
                // Direct userid entered
-               $result = SQL_QUERY_ESC("SELECT `userid`, `password`, `last_online`" . $lastOnline . " FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `userid`=%s AND `status`='CONFIRMED' LIMIT 1",
-                       array($userid, $content['hash']), __FUNCTION__, __LINE__);
+               fetchUserData($userid);
        }
 
        // Load entry
-       $content = SQL_FETCHARRAY($result);
+       $content = getUserDataArray();
        if (!empty($content['userid'])) $userid = bigintval($content['userid']);
 
        // Is there an entry?
-       if ((SQL_NUMROWS($result) == 1) && ((isNicknameUsed($content['userid'] === true) && (!empty($content['userid']))) || ($content['userid'] == $userid))) {
-               // Free result
-               SQL_FREERESULT($result);
-
+       if ((isUserDataValid()) && (getUserData('status') == 'CONFIRMED') && ((isNicknameUsed($content['userid'] === true) && (!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... :)
@@ -326,9 +322,7 @@ function doUserLogin ($userid, $passwd, $successUrl = '', $errorUrl = 'modules.p
                        if (!empty($content['last_login'])) $probe = time() - $content['last_login'];
                        if ((getExtensionVersion('bonus') >= '0.2.2') && ($probe >= getConfig('login_timeout'))) {
                                // Add login bonus to user's account
-                               $add = sprintf(", `login_bonus`=`login_bonus`+%s",
-                                       (float)getConfig('login_bonus')
-                               );
+                               $add = ', `login_bonus`=`login_bonus`+{?login_bonus?}';
                                $GLOBALS['bonus_payed'] = true;
 
                                // Subtract login bonus from userid's account or jackpot
@@ -340,7 +334,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']))) {
@@ -380,23 +374,15 @@ function doUserLogin ($userid, $passwd, $successUrl = '', $errorUrl = 'modules.p
                }
        } elseif (((isNicknameUsed($content['userid'])) && (!empty($content['userid']))) || ($content['userid'] == $userid)) {
                // Other account status?
-               // @TODO Can this query be merged with above query?
-               $result = SQL_QUERY_ESC("SELECT `status` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `userid`=%s LIMIT 1",
-                       array($userid), __FUNCTION__, __LINE__);
-
-               // Entry found?
-               if (SQL_NUMROWS($result) == 1) {
-                       // Load status
-                       list($status) = SQL_FETCHROW($result);
-
+               if (fetchUserData($userid)) {
                        // Create an error code from given status
-                       $errorCode = generateErrorCodeFromUserStatus($status);
+                       $errorCode = generateErrorCodeFromUserStatus(getUserData('status'));
                } else {
-                       // ID not found!
+                       // id not found!
                        $errorCode = getCode('WRONG_ID');
                }
        } else {
-               // ID not found!
+               // id not found!
                $errorCode = getCode('WRONG_ID');
        }
 
@@ -420,6 +406,7 @@ function doNewUserPassword ($email, $userid) {
        $result = false;
 
        // Probe userid/nickname
+       // @TODO We should try to rewrite this to fetchUserData() somehow
        if ((isExtensionActive('nickname')) && (isNicknameOrUserid($userid))) {
                // Nickname entered
                $result = SQL_QUERY_ESC("SELECT `userid`, `status` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `nickname`='%s' OR `userid`='%s' OR `email`='%s' LIMIT 1",
@@ -450,7 +437,7 @@ function doNewUserPassword ($email, $userid) {
                                array(generateHash($NEW_PASS), $userid), __FUNCTION__, __LINE__);
 
                        // Prepare data and message for email
-                       $message = loadEmailTemplate('new-pass', array('new_pass' => $NEW_PASS), $userid);
+                       $message = loadEmailTemplate('new-pass', array('new_pass' => $NEW_PASS, 'nickname' => $userid), $userid);
 
                        // ... and send it away
                        sendEmail($userid, getMessage('GUEST_NEW_PASSWORD'), $message);
@@ -465,7 +452,7 @@ function doNewUserPassword ($email, $userid) {
                        redirectToUrl('modules.php?module=index&amp;what=login&amp;login='.$errorCode);
                }
        } else {
-               // ID or email is wrong
+               // id or email is wrong
                loadTemplate('admin_settings_saved', false, '<span class="guest_failed">{--GUEST_WRONG_ID_EMAIL--}</span>');
        }