X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fmysql-manager.php;h=cfd3e318cd896fcbf174e2eaf150380de76538d5;hb=eabcb2e3f319c840d3908b5a21b32f40fce40d2b;hp=d97d33d37fd9899ef59c376b858fcc3c557cdc8c;hpb=2c7bf1655cf2cb6ae7cf26f9d3ee1d56622e225f;p=mailer.git
diff --git a/inc/mysql-manager.php b/inc/mysql-manager.php
index d97d33d37f..cfd3e318cd 100644
--- a/inc/mysql-manager.php
+++ b/inc/mysql-manager.php
@@ -423,7 +423,7 @@ function isMember () {
// Init user data array
initUserData();
- // Fix "deleted" cookies first
+ // Fix "deleted" cookies
fixDeletedCookies(array('userid', 'u_hash'));
// Are cookies set and can the member data be loaded?
@@ -476,12 +476,18 @@ function fetchUserData ($value, $column = 'userid') {
if (!isValidUserId($value)) {
// Invalid, so abort here
reportBug(__FUNCTION__, __LINE__, 'User id ' . $value . ' is invalid.');
+ } // END - if
+
+ // Unset cached values if found and different
+ if ((isCurrentUserIdSet()) && (getCurrentUserId() != $value)) {
+ // Unset it
+ unsetCurrentUserId();
} elseif (isUserDataValid()) {
// Use cache, so it is fine
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'value=' . $value . ' is valid, using cache #1');
return true;
- }
- } elseif (isUserDataValid()) {
+ } // END - if
+ } elseif (isUserDataValid()) {
// Using cache is fine
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'value=' . $value . ' is valid, using cache #2');
return true;
@@ -1312,18 +1318,18 @@ function getAdminMenuMode ($adminId) {
}
// Generates an option list from various parameters
-function generateOptions ($table, $id, $name, $default = '', $special = '', $whereStatement = '', $disabled = array(), $callback = '') {
+function generateOptions ($table, $key, $value, $default = '', $extra = '', $whereStatement = '', $disabled = array(), $callback = '') {
$ret = '';
if ($table == '/ARRAY/') {
// Selection from array
- if ((is_array($id)) && (is_array($name)) && ((count($id)) == (count($name)) || (!empty($callback)))) {
+ if ((is_array($key)) && (is_array($value)) && ((count($key)) == (count($value)) || (!empty($callback)))) {
// Both are arrays
- foreach ($id as $idx => $value) {
- $ret .= '';
} // END - foreach
} else {
// Problem in request
- reportBug(__FUNCTION__, __LINE__, 'Not all are arrays: id[' . count($id) . ']=' . gettype($id) . ',name[' . count($name) . ']=' . gettype($name) . ',callback=' . $callback);
+ reportBug(__FUNCTION__, __LINE__, 'Not all are arrays: key[' . count($key) . ']=' . gettype($key) . ',value[' . count($value) . ']=' . gettype($value) . ',callback=' . $callback);
}
} else {
- // Data from database
- $SPEC = ',`' . $id . '`';
- if (!empty($special)) {
- $SPEC = ',`' . $special . '` AS `special`';
+ ///////////////////////
+ // Data from database /
+ ///////////////////////
+
+ // Init extra column (if requested)
+ $extraColumn = '';
+ if (!empty($extra)) {
+ $extraColumn = ',`' . $extra . '` AS `extra`';
} // END - if
- // Query the database
- $result = SQL_QUERY_ESC("SELECT `%s` AS `id`,`%s` AS `name`".$SPEC." FROM `{?_MYSQL_PREFIX?}_%s` ".$whereStatement." ORDER BY `%s` ASC",
+ // Run SQL query
+ $result = SQL_QUERY_ESC("SELECT `%s` AS `key`,`%s` AS `value`" . $extraColumn . " FROM `{?_MYSQL_PREFIX?}_%s` " . $whereStatement . " ORDER BY `%s` ASC",
array(
- $id,
- $name,
+ $key,
+ $value,
$table,
- $name
+ $value
), __FUNCTION__, __LINE__);
// Do we have rows?
if (!SQL_HASZERONUMS($result)) {
// Found data so add them as OPTION lines
while ($content = SQL_FETCHARRAY($result)) {
- // Is special set?
- if (!isset($content['special'])) {
+ // Is extra set?
+ if (!isset($content['extra'])) {
// Set it to empty
- $content['special'] = '';
+ $content['extra'] = '';
} // END - if
- $ret .= '';
} // END - while
} else {
// No data found