X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmysql-manager.php;h=17b3ae9f72937c50751ce00c2007a095e56001f0;hb=3c23bfaee208fa12adf5cdd9d8e9882612199d03;hp=343477e89101ab298cd11456a0754c92bd1132ec;hpb=7c15ca79161bf475e958810a5b585bce869a2af9;p=mailer.git diff --git a/inc/mysql-manager.php b/inc/mysql-manager.php index 343477e891..17b3ae9f72 100644 --- a/inc/mysql-manager.php +++ b/inc/mysql-manager.php @@ -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__."!!!
"); - destroyUserSession(); + destroyMemberSession(); } } else { // Cookie data is invalid! //* DEBUG: */ print(__LINE__."***
"); - destroyUserSession(); + destroyMemberSession(); } } else { // Cookie data is invalid! //* DEBUG: */ print(__LINE__."///
"); - 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] ?>