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]
?>