From: Roland Häder <roland@mxchange.org>
Date: Wed, 29 Jul 2009 16:40:38 +0000 (+0000)
Subject: Fixes for chk_login when no ext-theme is installed
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=885637e9f61f315ba051500061ec193ebc937f7b;p=mailer.git

Fixes for chk_login when no ext-theme is installed
---

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 = "<strong>{--VALIDATING_LOGIN--}</strong>";
 
 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 .= "<div class=\"tiny\">
   ".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) {
   <td class=\"switch_sw".$SW." bottom2\" align=\"center\">v".$THEMES['theme_ver'][$key]."</td>
 </tr>\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'))."
   </td>
 </tr>\n";
-}
+} // END - if
 define('__THEME_LIST', $OUT);
 
 // Load template