]> git.mxchange.org Git - mailer.git/blobdiff - inc/libs/user_functions.php
Fix... :-(
[mailer.git] / inc / libs / user_functions.php
index d400066002e7eeefab64a2855968a7e8c3621a5f..b4fefbb35d5de0499468da2f06fac8c2b8f7652f 100644 (file)
@@ -49,7 +49,7 @@ function alpha ($sortby, $colspan, $return=false) {
        if (isGetRequestParameterSet('mode')) $add .= '&mode='.getRequestParameter('mode');
 
        /* Creates the list of letters and makes them a link. */
-       $alphabet = explode(',', '{--_ALL2--}' . ',A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,' . '{--_OTHERS--}');
+       $alphabet = explode(',', 'A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,');
        $num = count($alphabet) - 1;
        $OUT = '';
        while (list($counter, $ltr) = each($alphabet)) {
@@ -101,7 +101,7 @@ function addSortLinks ($letter, $sortby, $colspan, $return=false) {
        elseif (isGetRequestParameterSet('mode')) $add .= '&mode=' . getRequestParameter('mode');
 
        // Makes order by links..
-       if ($letter == 'front') $letter = '{--_ALL2--}';
+       if ($letter == 'front') $letter = '';
 
        // Prepare array with all possible sorters
        $list = array(
@@ -159,7 +159,7 @@ function addPageNavigation ($numPages, $offset, $showForm, $colspan, $return=fal
                if (($page == getRequestParameter('page')) || ((!isGetRequestParameterSet('page')) && ($page == 1))) {
                        $OUT .= '<strong>-';
                } else {
-                       if (!isGetRequestParameterSet('letter')) setGetRequestParameter('letter', '{--_ALL2--}');
+                       if (!isGetRequestParameterSet('letter')) setGetRequestParameter('letter', '');
                        if (!isGetRequestParameterSet('sortby')) setGetRequestParameter('sortby', 'userid');
 
                        // Base link
@@ -276,6 +276,7 @@ function doUserLogin ($userid, $passwd, $successUrl = '', $errorUrl = 'modules.p
        $add = '';
        $errorCode = '0';
        $ext = '';
+       $isFound = false;
 
        // Init array
        $content = array(
@@ -296,11 +297,11 @@ function doUserLogin ($userid, $passwd, $successUrl = '', $errorUrl = 'modules.p
                $ext = 'nickname';
        } else {
                // Direct userid entered
-               fetchUserData($userid);
+               $isFound = fetchUserData($userid);
        }
 
        // No error found?
-       if ($errorCode == '0') {
+       if (($errorCode == '0') && ($isFound === true)) {
                // Get user data array and set userid (e.g. important if we login with nickname)
                $content = getUserDataArray();
                if (!empty($content['userid'])) $userid = bigintval($content['userid']);
@@ -385,7 +386,7 @@ function doUserLogin ($userid, $passwd, $successUrl = '', $errorUrl = 'modules.p
                        // Wrong password!
                        $errorCode = getCode('WRONG_PASS');
                }
-       } elseif (getUserData('status') != 'CONFIRMED') {
+       } elseif ((isUserDataValid()) && (getUserData('status') != 'CONFIRMED')) {
                // Create an error code from given status
                $errorCode = generateErrorCodeFromUserStatus(getUserData('status'));
 
@@ -428,7 +429,7 @@ function doNewUserPassword ($email, $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",
                        array($userid, $userid, $email), __FUNCTION__, __LINE__);
-       } elseif (($userid > 0) && (empty($email))) {
+       } elseif ((isValidUserId($userid)) && (empty($email))) {
                // Direct userid entered
                $result = SQL_QUERY_ESC("SELECT `userid`, `status` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `userid`=%s LIMIT 1",
                        array(bigintval($userid)), __FUNCTION__, __LINE__);
@@ -530,12 +531,52 @@ function insertUserStatsRecord ($userid, $statsType, $statsData) {
        if ((!getTimestampFromUserStats($statsType, $statsData, $userid)) && (!is_array($statsData))) {
                // Then insert it!
                SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_stats_data` (`userid`,`stats_type`,`stats_data`) VALUES (%s,'%s','%s')",
-                       array(bigintval($userid), $statsType, $statsData), __FUNCTION__, __LINE__);
+                       array(
+                               bigintval($userid),
+                               $statsType,
+                               $statsData
+                       ), __FUNCTION__, __LINE__);
        } elseif (is_array($statsData)) {
                // Invalid data!
-               logDebugMessage(__FUNCTION__, __LINE__, "userid={$userid},type={$statsType},data={".gettype($statsData).": Invalid statistics data type!");
+               logDebugMessage(__FUNCTION__, __LINE__, 'userid=' . $userid . ',type=' . $statsType . ',data=' . gettype($statsData) . ': Invalid statistics data type!');
        }
 }
 
+// Expression call-back function for fetching user data
+function doExpressionUser ($data) {
+       // Use current userid by default
+       $functionName = 'getMemberId()';
+
+       // User-related data, so is there a userid?
+       if (!empty($data['matches'][4][$data['key']])) {
+               // Do we have a userid or $userid?
+               if ($data['matches'][4][$data['key']] == '$userid') {
+                       // Use dynamic call
+                       $functionName = "getFetchedUserData('userid', \$userid, '" . $data['callback'] . "')";
+               } elseif (!empty($data['matches'][4][$data['key']])) {
+                       // User data found
+                       $functionName = "getFetchedUserData('userid', " . $data['matches'][4][$data['key']] . ", '" . $data['callback'] . "')";
+               }
+       } elseif ((!empty($data['callback'])) && (isUserDataValid())) {
+               // "Call-back" alias column for current logged in user's data
+               $functionName = "getUserData('" . $data['callback'] . "')";
+       }
+
+       // Do we have another function to run (e.g. translations)
+       if (!empty($data['extra_func'])) {
+               // Surround the original function call with it
+               $functionName = $data['extra_func'] . '(' . $functionName . ')';
+       } // END - if
+
+       // Generate replacer
+       $replacer = '{DQUOTE} . ' . $functionName . ' . {DQUOTE}';
+
+       // Now replace the code
+       $code = replaceExpressionCode($data, $replacer);
+
+       // Return replaced code
+       return $code;
+}
+
 // [EOF]
 ?>