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