]> git.mxchange.org Git - mailer.git/blobdiff - inc/mysql-manager.php
Rewrite for fetchUserData()
[mailer.git] / inc / mysql-manager.php
index 343477e89101ab298cd11456a0754c92bd1132ec..17b3ae9f72937c50751ce00c2007a095e56001f0 100644 (file)
@@ -580,9 +580,12 @@ function isMember () {
        if (isset($GLOBALS['is_member'])) {
                // Then return it
                return $GLOBALS['is_member'];
-       } elseif (getUserId() == 0) {
+       } elseif (getMemberId() == 0) {
                // No member
                return false;
+       } else {
+               // Transfer userid=>current
+               setCurrentUserid(getMemberId());
        }
 
        // Init global user data array
@@ -592,9 +595,9 @@ function isMember () {
        fixDeletedCookies(array('userid', 'u_hash'));
 
        // Are cookies set?
-       if ((isUserIdSet()) && (isSessionVariableSet('u_hash'))) {
+       if ((isMemberIdSet()) && (isSessionVariableSet('u_hash'))) {
                // Cookies are set with values, but are they valid?
-               if (fetchUserData(getUserId()) === true) {
+               if (fetchUserData(getMemberId()) === true) {
                        // Validate password by created the difference of it and the secret key
                        $valPass = generatePassString(getUserData('password'));
 
@@ -609,17 +612,17 @@ function isMember () {
                        } else {
                                // Maybe got locked etc.
                                //* DEBUG: */ print(__LINE__."!!!<br />");
-                               destroyUserSession();
+                               destroyMemberSession();
                        }
                } else {
                        // Cookie data is invalid!
                        //* DEBUG: */ print(__LINE__."***<br />");
-                       destroyUserSession();
+                       destroyMemberSession();
                }
        } else {
                // Cookie data is invalid!
                //* DEBUG: */ print(__LINE__."///<br />");
-               destroyUserSession();
+               destroyMemberSession();
        }
 
        // Cache status
@@ -631,24 +634,31 @@ function isMember () {
 
 // Fetch user data for given user id
 function fetchUserData ($userid, $column='userid') {
-       // Don't look for invalid userids...
-       if ($userid < 1) {
-               // Invalid, so abort here
-               debug_report_bug('User id ' . $userid . ' is invalid.');
-       } elseif (isset($GLOBALS['user_data'][$userid])) {
+       // If we should look for userid secure&set it here
+       if (substr($column, -2, 2) == 'id') {
+               // Secure userid
+               $userid = bigintval($userid);
+
+               // Set it here
+               setCurrentUserId($userid);
+
+               // Don't look for invalid userids...
+               if ($userid < 1) {
+                       // Invalid, so abort here
+                       debug_report_bug('User id ' . $userid . ' is invalid.');
+               } elseif (isUserDataValid()) {
+                       // Use cache, so it is fine
+                       return true;
+               }
+       } elseif (isUserDataValid()) {
                // Use cache, so it is fine
                return true;
        }
 
+
        // By default none was found
        $found = false;
 
-       // Do we have userid/refid?
-       if (($column == 'userid') || ($column == 'refid')) {
-               // Then secure the id
-               $userid = bigintval($userid);
-       } // END - if
-
        // Query for the user
        $result = SQL_QUERY_ESC("SELECT * FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `%s`='%s' LIMIT 1",
                array($column, $userid), __FUNCTION__, __LINE__);
@@ -671,7 +681,7 @@ function fetchUserData ($userid, $column='userid') {
                        // Is it not zero?
                        if ($GLOBALS['user_data'][getCurrentUserId()]['last_failure_raw'] != '0000-00-00 00:00:00') {
                                // Seperate data/time
-                               $array = explode(' ', $GLOBALS['user_data'][getCurrentUserId()]['last_failure']);
+                               $array = explode(' ', $GLOBALS['user_data'][getCurrentUserId()]['last_failure_raw']);
 
                                // Seperate data and time again
                                $array['date'] = explode('-', $array[0]);
@@ -893,7 +903,7 @@ function isMenuActionValid ($mode, $action, $what, $updateEntry=false) {
 // @TODO Lame description for this function
 function sendModeMails ($mod, $modes) {
        // Load hash
-       if (fetchUserData(getUserId())) {
+       if (fetchUserData(getMemberId())) {
                // Extract salt from cookie
                $salt = substr(getSession('u_hash'), 0, -40);
 
@@ -904,7 +914,7 @@ function sendModeMails ($mod, $modes) {
                if (($hash == getSession('u_hash')) || (postRequestElement('pass1') == postRequestElement('pass2'))) {
                        // Load user's data               0        1        2         3        4      5    6      7
                        $result = SQL_QUERY_ESC("SELECT gender, surname, family, street_nr, country, zip, city, email FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `userid`=%s AND password='%s' LIMIT 1",
-                               array(getUserId(), getUserData('password')), __FUNCTION__, __LINE__);
+                               array(getMemberId(), getUserData('password')), __FUNCTION__, __LINE__);
                        if (SQL_NUMROWS($result) == 1) {
                                // Load the data
                                $content = SQL_FETCHARRAY($result, 0, false);
@@ -947,7 +957,7 @@ function sendModeMails ($mod, $modes) {
                                                $content = merge_array($content, postRequestArray());
 
                                                // Load template
-                                               $message = loadEmailTemplate('member_mydata_notify', $content, getUserId());
+                                               $message = loadEmailTemplate('member_mydata_notify', $content, getMemberId());
 
                                                if (getConfig('admin_notify') == 'Y') {
                                                        // The admin needs to be notified about a profile change
@@ -994,7 +1004,7 @@ function sendModeMails ($mod, $modes) {
        if (empty($content)) {
                if ((!empty($sub_adm)) && (!empty($message_admin))) {
                        // Send admin mail
-                       sendAdminNotification($sub_adm, $message_admin, $content, getUserId());
+                       sendAdminNotification($sub_adm, $message_admin, $content, getMemberId());
                } elseif (getConfig('admin_notify') == 'Y') {
                        // Cannot send mails to admin!
                        $content = getMessage('CANNOT_SEND_ADMIN_MAILS');
@@ -2051,8 +2061,8 @@ function getTimestampFromUserStats ($type, $data, $userid = 0) {
        $stamp = 0;
 
        // User id set?
-       if ((isUserIdSet()) && ($userid == 0)) {
-               $userid = getUserId();
+       if ((isMemberIdSet()) && ($userid == 0)) {
+               $userid = getMemberId();
        } // END - if
 
        // Is the extension installed and updated?
@@ -2217,5 +2227,17 @@ function createNewTask ($subject, $notes, $taskType, $userid = 0, $adminId = 0,
                array($adminId, $userid, $taskType, $subject, smartAddSlashes($notes)), __FUNCTION__, __LINE__, true, $strip);
 }
 
+// Updates last module / online time
+// @TODO Fix inconsistency between last_module and getWhat()
+function updateLastActivity($userid) {
+       // Run the update query
+       SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `last_module`='%s', `last_online`=UNIX_TIMESTAMP(), `REMOTE_ADDR`='%s' WHERE `userid`=%s LIMIT 1",
+               array(
+                       getWhat(),
+                       detectRemoteAddr(),
+                       bigintval($userid)
+               ), __FUNCTION__, __LINE__);
+}
+
 // [EOF]
 ?>