fooRequestElementBar() functions renamed, adding of request parameters added:
[mailer.git] / inc / libs / user_functions.php
index 75d9fe3de1494f7841a8413198543cb2e722032c..0ef2a4c9034ee1fd22815d5168325582ba3e7cf1 100644 (file)
@@ -43,23 +43,23 @@ if (!defined('__SECURITY')) {
 
 // Add links for selecting some users
 function alpha ($sortby, $colspan, $return=false) {
-       if (!isGetRequestElementSet('offset')) setRequestGetElement('offset', 0);
-       $add = '&page='.getRequestElement('page').'&offset='.getRequestElement('offset');
-       if (isGetRequestElementSet('mode')) $add .= '&mode='.getRequestElement('mode');
+       if (!isGetRequestParameterSet('offset')) setGetRequestParameter('offset', 0);
+       $add = '&page='.getRequestParameter('page').'&offset='.getRequestParameter('offset');
+       if (isGetRequestParameterSet('mode')) $add .= '&mode='.getRequestParameter('mode');
 
        /* Creates the list of letters and makes them a link. */
        $alphabet = explode(',', getMessage('_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,' . getMessage('_OTHERS'));
        $num = count($alphabet) - 1;
        $OUT = '';
        while (list($counter, $ltr) = each($alphabet)) {
-               if (getRequestElement('letter') == $ltr) {
+               if (getRequestParameter('letter') == $ltr) {
                        // Current letter is letter from URL
                        $OUT .= '<strong>' . $ltr . '</strong>';
                } else {
                        // Output link to letter
-                       $OUT .= '<a href="{?URL?}/modules.php?module=admin&amp;what=' . getWhat();
-                       if (isGetRequestElementSet('mode')) $OUT .= '&amp;mode=' . getRequestElement('mode');
-                       $OUT .= '&amp;letter=' . $ltr . '&amp;sortby=' . $sortby . $add . '">' . $ltr . '</a>';
+                       $OUT .= '<a href="{%url=modules.php?module=admin&amp;what=' . getWhat();
+                       if (isGetRequestParameterSet('mode')) $OUT .= '&amp;mode=' . getRequestParameter('mode');
+                       $OUT .= '&amp;letter=' . $ltr . '&amp;sortby=' . $sortby . $add . '%}">' . $ltr . '</a>';
                }
 
                if ((($counter / getConfig('user_alpha')) == round($counter / getConfig('user_alpha'))) && ($counter > 0)) {
@@ -83,15 +83,15 @@ function alpha ($sortby, $colspan, $return=false) {
 // Add links for sorting
 function addSortLinks ($letter, $sortby, $colspan, $return=false) {
        $OUT = '';
-       if (!isGetRequestElementSet('offset')) setRequestGetElement('offset', 0);
-       if (!isGetRequestElementSet('page'))   setRequestGetElement('page'  , 0);
+       if (!isGetRequestParameterSet('offset')) setGetRequestParameter('offset', 0);
+       if (!isGetRequestParameterSet('page'))   setGetRequestParameter('page'  , 0);
 
        // Add page and offset
-       $add = '&amp;page=' . getRequestElement('page') . '&amp;offset=' . getRequestElement('offset');
+       $add = '&amp;page=' . getRequestParameter('page') . '&amp;offset=' . getRequestParameter('offset');
 
        // Add status or mode
-       if (isGetRequestElementSet('status'))   $add .= '&amp;mode=' . getRequestElement('status');
-       elseif (isGetRequestElementSet('mode')) $add .= '&amp;mode=' . getRequestElement('mode');
+       if (isGetRequestParameterSet('status'))   $add .= '&amp;mode=' . getRequestParameter('status');
+       elseif (isGetRequestParameterSet('mode')) $add .= '&amp;mode=' . getRequestParameter('mode');
 
        // Makes order by links..
        if ($letter == 'front') $letter = getMessage('_ALL2');
@@ -99,8 +99,8 @@ function addSortLinks ($letter, $sortby, $colspan, $return=false) {
        // Prepare array with all possible sorters
        $list = array(
                'userid'      => getMessage('_UID'),
-               'family'      => getMessage('FAMILY_NAME'),
-               'email'       => getMessage('EMAIL_ADDRESS'),
+               'family'      => getMessage('FAMILY'),
+               'email'       => getMessage('EMAIL'),
                'REMOTE_ADDR' => getMessage('REMOTE_IP')
        );
 
@@ -113,7 +113,7 @@ function addSortLinks ($letter, $sortby, $colspan, $return=false) {
                if ($sortby == $sort) {
                        $OUT .= '<strong>' . $title . '</strong>&nbsp;|&nbsp;';
                } else {
-                       $OUT .= '<a href="{?URL?}/modules.php?module=admin&amp;what=list_user&amp;letter=' . $letter . '&amp;sortby=' . $sort.$add . '">' . $title . '</a>&nbsp;|&nbsp;';
+                       $OUT .= '<a href="{%url=modules.php?module=admin&amp;what=list_user&amp;letter=' . $letter . '&amp;sortby=' . $sort.$add . '%}">' . $title . '</a>&nbsp;|&nbsp;';
                }
        } // END - foreach
 
@@ -147,26 +147,26 @@ function addPageNavigation ($PAGES, $offset, $show_form, $colspan,$return=false)
 
        $OUT = '';
        for ($page = 1; $page <= $PAGES; $page++) {
-               if (($page == getRequestElement('page')) || ((!isGetRequestElementSet('page')) && ($page == 1))) {
+               if (($page == getRequestParameter('page')) || ((!isGetRequestParameterSet('page')) && ($page == 1))) {
                        $OUT .= '<strong>-';
                } else {
-                       if (!isGetRequestElementSet('letter')) setRequestGetElement('letter', getMessage('_ALL2'));
-                       if (!isGetRequestElementSet('sortby')) setRequestGetElement('sortby', 'userid');
+                       if (!isGetRequestParameterSet('letter')) setGetRequestParameter('letter', getMessage('_ALL2'));
+                       if (!isGetRequestParameterSet('sortby')) setGetRequestParameter('sortby', 'userid');
 
                        // Base link
-                       $OUT .= '<a href="{?URL?}/modules.php?module=admin&amp;what=' . getWhat();
+                       $OUT .= '<a href="{%url=modules.php?module=admin&amp;what=' . getWhat();
 
                        // Add status or mode
-                       if (isGetRequestElementSet('status'))    $OUT .= '&amp;mode=' . getRequestElement('status');
-                        elseif (isGetRequestElementSet('mode')) $OUT .= '&amp;mode=' . getRequestElement('mode');
+                       if (isGetRequestParameterSet('status'))    $OUT .= '&amp;mode=' . getRequestParameter('status');
+                        elseif (isGetRequestParameterSet('mode')) $OUT .= '&amp;mode=' . getRequestParameter('mode');
 
                        // Letter and so on
-                       $OUT .= '&amp;letter=' . getRequestElement('letter') . '&amp;sortby=' . getRequestElement('sortby') . '&amp;page=' . $page . '&amp;offset=' . $offset . '">';
+                       $OUT .= '&amp;letter=' . getRequestParameter('letter') . '&amp;sortby=' . getRequestParameter('sortby') . '&amp;page=' . $page . '&amp;offset=' . $offset . '%}">';
                }
 
                $OUT .= $page;
 
-               if (($page == getRequestElement('page')) || ((!isGetRequestElementSet('page')) && ($page == 1))) {
+               if (($page == getRequestParameter('page')) || ((!isGetRequestParameterSet('page')) && ($page == 1))) {
                        $OUT .= '-</strong>';
                } else  {
                        $OUT .= '</a>';
@@ -210,7 +210,7 @@ LIMIT 1",
                list($userid) = SQL_FETCHROW($result);
 
                // Rewrite email address to contact link
-               $email = '{?URL?}/modules.php?module=' . $mod . '&amp;what=user_contct&amp;userid=' . bigintval($userid);
+               $email = '{%url=modules.php?module=' . $mod . '&amp;what=user_contct&amp;userid=' . bigintval($userid) . '%}';
        } // END - if
 
        // Free memory
@@ -221,6 +221,7 @@ LIMIT 1",
 }
 
 // Selects a random user id as the new referal id if they have at least X confirmed mails in this run
+// @TODO Double-check configuration entry here
 function determineRandomReferalId () {
        // Default is zero refid
        $refid = '0';
@@ -299,18 +300,18 @@ 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') && (!empty($content['userid']))) || ($content['userid'] == $userid)) {
+       if ((isUserDataValid()) && (getUserData('status') == 'CONFIRMED') && (!empty($content['userid']))) {
                // Check for old MD5 passwords
-               if ((strlen($content['password']) == 32) && (md5($passwd) == $content['password'])) {
+               if ((strlen(getUserData('password')) == 32) && (md5($passwd) == getUserData('password'))) {
                        // Just set the hash to the password from DB... :)
-                       $content['hash'] = $content['password'];
+                       $content['hash'] = getUserData('password');
                } else {
                        // Hash password with improved way for comparsion
-                       $content['hash'] = generateHash($passwd, substr($content['password'], 0, -40));
+                       $content['hash'] = generateHash($passwd, substr(getUserData('password'), 0, -40));
                }
 
                // Does the password match the hash?
-               if ($content['hash'] == $content['password']) {
+               if ($content['hash'] == getUserData('password')) {
                        // New hashed password found so let's generate a new one
                        $content['hash'] = generateHash($passwd);
 
@@ -323,8 +324,9 @@ function doUserLogin ($userid, $passwd, $successUrl = '', $errorUrl = 'modules.p
                        $GLOBALS['bonus_payed'] = false;
 
                        // Probe for last online timemark
-                       $probe = time() -  $content['last_online'];
-                       if (!empty($content['last_login'])) $probe = time() - $content['last_login'];
+                       $probe = time() -  getUserData('last_online');
+                       if (getUserData('last_login') > 0) $probe = time() - getUserData('last_login');
+
                        if ((isExtensionInstalledAndNewer('bonus', '0.2.2')) && ($probe >= getConfig('login_timeout'))) {
                                // Add login bonus to user's account
                                $add = ', `login_bonus`=`login_bonus`+{?login_bonus?}';
@@ -367,7 +369,7 @@ function doUserLogin ($userid, $passwd, $successUrl = '', $errorUrl = 'modules.p
                                }
                        } else {
                                // Cookies not setable!
-                               $errorCode = getCode('NO_COOKIES');
+                               $errorCode = getCode('COOKIES_DISABLED');
                        }
                } elseif (getExtensionVersion('sql_patches') >= '0.6.1') {
                        // Update failture counter
@@ -377,18 +379,18 @@ function doUserLogin ($userid, $passwd, $successUrl = '', $errorUrl = 'modules.p
                        // Wrong password!
                        $errorCode = getCode('WRONG_PASS');
                }
-       } 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
-                       $errorCode = generateErrorCodeFromUserStatus(getUserData('status'));
-               } else {
-                       // id not found!
-                       $errorCode = getCode('WRONG_ID');
-               }
-       } elseif ($errorCode == '0') {
-               // id not found!
+       } elseif (getUserData('status') != 'CONFIRMED') {
+               // Create an error code from given status
+               $errorCode = generateErrorCodeFromUserStatus(getUserData('status'));
+
+               // Set userid in session
+               setSession('current_userid', getUserData('userid'));
+       } elseif (!isUserDataValid()) {
+               // User id not found!
                $errorCode = getCode('WRONG_ID');
+       } else {
+               // Unknown error
+               $errorCode = getCode('UNKNOWN_ERROR');
        }
 
        // Error code provided?