From 885637e9f61f315ba051500061ec193ebc937f7b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Wed, 29 Jul 2009 16:40:38 +0000 Subject: [PATCH] Fixes for chk_login when no ext-theme is installed --- inc/modules/chk_login.php | 67 ++++++++++++++++-------------- inc/modules/member/what-themes.php | 9 ++-- 2 files changed, 41 insertions(+), 35 deletions(-) diff --git a/inc/modules/chk_login.php b/inc/modules/chk_login.php index bba4b8c3e4..a2330df0c2 100644 --- a/inc/modules/chk_login.php +++ b/inc/modules/chk_login.php @@ -40,45 +40,48 @@ if (!defined('__SECURITY')) { $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), '/inc') + 4) . '/security.php'; require($INC); -} +} // END - if // Initial message part $message = "{--VALIDATING_LOGIN--}"; if (isUserIdSet() && (isSessionVariableSet('u_hash'))) { - // Login failures are supported since 0.4.7 - // Do we have 0.4.7 of sql_patches or later? - $add = ''; - if (GET_EXT_VERSION('sql_patches') >= '0.6.1') { - // Load them here - $add = ", login_failures, UNIX_TIMESTAMP(last_failure) AS last_failure"; - } // END - if + // Is 'theme' installed and activated? + if (EXT_IS_ACTIVE('theme')) { + // Login failures are supported since 0.4.7 + // Do we have 0.4.7 of sql_patches or later? + $add = ''; + if (GET_EXT_VERSION('sql_patches') >= '0.6.1') { + // Load them here + $add = ", `login_failures`, UNIX_TIMESTAMP(`last_failure`) AS last_failure"; + } // END - if - // Get theme from profile - $result = SQL_QUERY_ESC("SELECT curr_theme".$add." FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1", - array(getUserId()), __FILE__, __LINE__); + // Get theme from profile + $result = SQL_QUERY_ESC("SELECT `curr_theme`".$add." FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1", + array(getUserId()), __FILE__, __LINE__); - // Load data - $data = SQL_FETCHARRAY($result); + // Load data + $data = SQL_FETCHARRAY($result); - // Free result - SQL_FREERESULT($result); + // Free result + SQL_FREERESULT($result); - // Change to new theme - setSession('mxchange_theme', $data['curr_theme']); + // Change to new theme + setSession('mxchange_theme', $data['curr_theme']); - // Remmeber login failures if available - if (GET_EXT_VERSION('sql_patches') >= '0.6.1') { - // Reset login failures - SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` -SET login_failures=0, last_failure='0000-00-00 00:00:00' -WHERE userid=%s + // Remmeber login failures if available + if (GET_EXT_VERSION('sql_patches') >= '0.6.1') { + // Reset login failures + SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` +SET `login_failures`=0, `last_failure`='0000-00-00 00:00:00' +WHERE `userid`=%s LIMIT 1", - array(getUserId()), __FILE__, __LINE__); + array(getUserId()), __FILE__, __LINE__); - // Store it in session - setSession('mxchange_member_failures', $data['login_failures']); - setSession('mxchange_member_last_fail', $data['last_failure']); + // Store it in session + setSession('mxchange_member_failures', $data['login_failures']); + setSession('mxchange_member_last_fail', $data['last_failure']); + } // END - if } // END - if // Bonus is not given by default ;-) @@ -86,18 +89,18 @@ LIMIT 1", if ((GET_EXT_VERSION('sql_patches') >= '0.2.8') && (GET_EXT_VERSION('bonus') >= '0.2.1') && (getConfig('bonus_login_yn') == 'Y')) { // Update last login if far enougth away SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` -SET last_login=UNIX_TIMESTAMP() -WHERE userid=%s AND last_login < (UNIX_TIMESTAMP() - %s) +SET `last_login`=UNIX_TIMESTAMP() +WHERE `userid`=%s AND `last_login` < (UNIX_TIMESTAMP() - %s) LIMIT 1", array( - getUserId(), - getConfig('login_timeout') + getUserId(), + getConfig('login_timeout') ), __FILE__, __LINE__ ); if (SQL_AFFECTEDROWS() == 1) $bonus = true; } // END - if - if (($bonus) && (REQUEST_GET('mode') == 'bonus') && (EXT_IS_ACTIVE('bonus'))) { + if (($bonus === true) && (REQUEST_GET('mode') == 'bonus') && (EXT_IS_ACTIVE('bonus'))) { // Output message with added points $message .= "
".sprintf(getMessage('BONUS_LOGIN_BONUS_ADDED'), translateComma(getConfig('login_bonus')))." diff --git a/inc/modules/member/what-themes.php b/inc/modules/member/what-themes.php index 51ffcb580b..45194c5b2f 100644 --- a/inc/modules/member/what-themes.php +++ b/inc/modules/member/what-themes.php @@ -53,7 +53,7 @@ ADD_DESCR('member', __FILE__); if (REQUEST_ISSET_POST(('member_theme'))) { // Save theme to member's profile SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET curr_theme='%s' WHERE userid=%s LIMIT 1", - array(REQUEST_POST('member_theme'), getUserId()), __FILE__, __LINE__); + array(REQUEST_POST('member_theme'), getUserId()), __FILE__, __LINE__); // Set new theme for guests $newTheme = SQL_ESCAPE(REQUEST_POST('member_theme')); @@ -95,6 +95,9 @@ while ($entry = readdir($handle)) { } // END - if } // END - while +// Remove last theme data +unset($GLOBALS['theme_data']); + // Close directory closedir($handle); @@ -122,7 +125,7 @@ foreach ($THEMES['theme_unix'] as $key => $unix) { v".$THEMES['theme_ver'][$key]." \n"; $SW = 3 - $SW; -} +} // END - foreach if (empty($OUT)) { // No themes found??? @@ -131,7 +134,7 @@ if (empty($OUT)) { ".LOAD_TEMPLATE('admin_settings_saved', true, getMessage('MEMBER_NO_THEMES_FOUND'))." \n"; -} +} // END - if define('__THEME_LIST', $OUT); // Load template -- 2.30.2