Completed
Push — release-2.1 ( 61d523...503c62 )
by Colin
17:13 queued 08:20
created
Sources/LogInOut.php 1 patch
Braces   +154 added lines, -121 removed lines patch added patch discarded remove patch
@@ -14,8 +14,9 @@  discard block
 block discarded – undo
14 14
  * @version 2.1 Beta 4
15 15
  */
16 16
 
17
-if (!defined('SMF'))
17
+if (!defined('SMF')) {
18 18
 	die('No direct access...');
19
+}
19 20
 
20 21
 /**
21 22
  * Ask them for their login information. (shows a page for the user to type
@@ -29,8 +30,9 @@  discard block
 block discarded – undo
29 30
 	global $txt, $context, $scripturl, $user_info;
30 31
 
31 32
 	// You are already logged in, go take a tour of the boards
32
-	if (!empty($user_info['id']))
33
-		redirectexit();
33
+	if (!empty($user_info['id'])) {
34
+			redirectexit();
35
+	}
34 36
 
35 37
 	// We need to load the Login template/language file.
36 38
 	loadLanguage('Login');
@@ -57,10 +59,11 @@  discard block
 block discarded – undo
57 59
 	);
58 60
 
59 61
 	// Set the login URL - will be used when the login process is done (but careful not to send us to an attachment).
60
-	if (isset($_SESSION['old_url']) && strpos($_SESSION['old_url'], 'dlattach') === false && preg_match('~(board|topic)[=,]~', $_SESSION['old_url']) != 0)
61
-		$_SESSION['login_url'] = $_SESSION['old_url'];
62
-	elseif (isset($_SESSION['login_url']) && strpos($_SESSION['login_url'], 'dlattach') !== false)
63
-		unset($_SESSION['login_url']);
62
+	if (isset($_SESSION['old_url']) && strpos($_SESSION['old_url'], 'dlattach') === false && preg_match('~(board|topic)[=,]~', $_SESSION['old_url']) != 0) {
63
+			$_SESSION['login_url'] = $_SESSION['old_url'];
64
+	} elseif (isset($_SESSION['login_url']) && strpos($_SESSION['login_url'], 'dlattach') !== false) {
65
+			unset($_SESSION['login_url']);
66
+	}
64 67
 
65 68
 	// Create a one time token.
66 69
 	createToken('login');
@@ -83,8 +86,9 @@  discard block
 block discarded – undo
83 86
 	global $cookiename, $modSettings, $context, $sourcedir, $maintenance;
84 87
 
85 88
 	// Check to ensure we're forcing SSL for authentication
86
-	if (!empty($modSettings['force_ssl']) && empty($maintenance) && !httpsOn())
87
-		fatal_lang_error('login_ssl_required');
89
+	if (!empty($modSettings['force_ssl']) && empty($maintenance) && !httpsOn()) {
90
+			fatal_lang_error('login_ssl_required');
91
+	}
88 92
 
89 93
 	// Load cookie authentication stuff.
90 94
 	require_once($sourcedir . '/Subs-Auth.php');
@@ -98,23 +102,26 @@  discard block
 block discarded – undo
98 102
 	if (isset($_GET['sa']) && $_GET['sa'] == 'salt' && !$user_info['is_guest'])
99 103
 	{
100 104
 		// First check for 2.1 json-format cookie in $_COOKIE
101
-		if (isset($_COOKIE[$cookiename]) && preg_match('~^{"0":\d+,"1":"[0-9a-f]*","2":\d+~', $_COOKIE[$cookiename]) === 1)
102
-			list (,, $timeout) = $smcFunc['json_decode']($_COOKIE[$cookiename], true);
105
+		if (isset($_COOKIE[$cookiename]) && preg_match('~^{"0":\d+,"1":"[0-9a-f]*","2":\d+~', $_COOKIE[$cookiename]) === 1) {
106
+					list (,, $timeout) = $smcFunc['json_decode']($_COOKIE[$cookiename], true);
107
+		}
103 108
 
104 109
 		// Try checking for 2.1 json-format cookie in $_SESSION
105
-		elseif (isset($_SESSION['login_' . $cookiename]) && preg_match('~^{"0":\d+,"1":"[0-9a-f]*","2":\d+~', $_SESSION['login_' . $cookiename]) === 1)
106
-			list (,, $timeout) = $smcFunc['json_decode']($_SESSION['login_' . $cookiename]);
110
+		elseif (isset($_SESSION['login_' . $cookiename]) && preg_match('~^{"0":\d+,"1":"[0-9a-f]*","2":\d+~', $_SESSION['login_' . $cookiename]) === 1) {
111
+					list (,, $timeout) = $smcFunc['json_decode']($_SESSION['login_' . $cookiename]);
112
+		}
107 113
 
108 114
 		// Next, try checking for 2.0 serialized string cookie in $_COOKIE
109
-		elseif (isset($_COOKIE[$cookiename]) && preg_match('~^a:[34]:\{i:0;i:\d+;i:1;s:(0|128):"([a-fA-F0-9]{128})?";i:2;[id]:\d+;~', $_COOKIE[$cookiename]) === 1)
110
-			list (,, $timeout) = safe_unserialize($_COOKIE[$cookiename]);
115
+		elseif (isset($_COOKIE[$cookiename]) && preg_match('~^a:[34]:\{i:0;i:\d+;i:1;s:(0|128):"([a-fA-F0-9]{128})?";i:2;[id]:\d+;~', $_COOKIE[$cookiename]) === 1) {
116
+					list (,, $timeout) = safe_unserialize($_COOKIE[$cookiename]);
117
+		}
111 118
 
112 119
 		// Last, see if you need to fall back on checking for 2.0 serialized string cookie in $_SESSION
113
-		elseif (isset($_SESSION['login_' . $cookiename]) && preg_match('~^a:[34]:\{i:0;i:\d+;i:1;s:(0|128):"([a-fA-F0-9]{128})?";i:2;[id]:\d+;~', $_SESSION['login_' . $cookiename]) === 1)
114
-			list (,, $timeout) = safe_unserialize($_SESSION['login_' . $cookiename]);
115
-
116
-		else
117
-			trigger_error('Login2(): Cannot be logged in without a session or cookie', E_USER_ERROR);
120
+		elseif (isset($_SESSION['login_' . $cookiename]) && preg_match('~^a:[34]:\{i:0;i:\d+;i:1;s:(0|128):"([a-fA-F0-9]{128})?";i:2;[id]:\d+;~', $_SESSION['login_' . $cookiename]) === 1) {
121
+					list (,, $timeout) = safe_unserialize($_SESSION['login_' . $cookiename]);
122
+		} else {
123
+					trigger_error('Login2(): Cannot be logged in without a session or cookie', E_USER_ERROR);
124
+		}
118 125
 
119 126
 		$user_settings['password_salt'] = substr(md5(mt_rand()), 0, 4);
120 127
 		updateMemberData($user_info['id'], array('password_salt' => $user_settings['password_salt']));
@@ -134,24 +141,23 @@  discard block
 block discarded – undo
134 141
 	elseif (isset($_GET['sa']) && $_GET['sa'] == 'check')
135 142
 	{
136 143
 		// Strike!  You're outta there!
137
-		if ($_GET['member'] != $user_info['id'])
138
-			fatal_lang_error('login_cookie_error', false);
144
+		if ($_GET['member'] != $user_info['id']) {
145
+					fatal_lang_error('login_cookie_error', false);
146
+		}
139 147
 
140 148
 		$user_info['can_mod'] = allowedTo('access_mod_center') || (!$user_info['is_guest'] && ($user_info['mod_cache']['gq'] != '0=1' || $user_info['mod_cache']['bq'] != '0=1' || ($modSettings['postmod_active'] && !empty($user_info['mod_cache']['ap']))));
141 149
 
142 150
 		// Some whitelisting for login_url...
143
-		if (empty($_SESSION['login_url']))
144
-			redirectexit(empty($user_settings['tfa_secret']) ? '' : 'action=logintfa');
145
-		elseif (!empty($_SESSION['login_url']) && (strpos($_SESSION['login_url'], 'http://') === false && strpos($_SESSION['login_url'], 'https://') === false))
151
+		if (empty($_SESSION['login_url'])) {
152
+					redirectexit(empty($user_settings['tfa_secret']) ? '' : 'action=logintfa');
153
+		} elseif (!empty($_SESSION['login_url']) && (strpos($_SESSION['login_url'], 'http://') === false && strpos($_SESSION['login_url'], 'https://') === false))
146 154
 		{
147 155
 			unset ($_SESSION['login_url']);
148 156
 			redirectexit(empty($user_settings['tfa_secret']) ? '' : 'action=logintfa');
149
-		}
150
-		elseif (!empty($user_settings['tfa_secret']))
157
+		} elseif (!empty($user_settings['tfa_secret']))
151 158
 		{
152 159
 			redirectexit('action=logintfa');
153
-		}
154
-		else
160
+		} else
155 161
 		{
156 162
 			// Best not to clutter the session data too much...
157 163
 			$temp = $_SESSION['login_url'];
@@ -162,8 +168,9 @@  discard block
 block discarded – undo
162 168
 	}
163 169
 
164 170
 	// Beyond this point you are assumed to be a guest trying to login.
165
-	if (!$user_info['is_guest'])
166
-		redirectexit();
171
+	if (!$user_info['is_guest']) {
172
+			redirectexit();
173
+	}
167 174
 
168 175
 	// Are you guessing with a script?
169 176
 	checkSession();
@@ -171,18 +178,21 @@  discard block
 block discarded – undo
171 178
 	spamProtection('login');
172 179
 
173 180
 	// Set the login_url if it's not already set (but careful not to send us to an attachment).
174
-	if ((empty($_SESSION['login_url']) && isset($_SESSION['old_url']) && strpos($_SESSION['old_url'], 'dlattach') === false && preg_match('~(board|topic)[=,]~', $_SESSION['old_url']) != 0) || (isset($_GET['quicklogin']) && isset($_SESSION['old_url']) && strpos($_SESSION['old_url'], 'login') === false))
175
-		$_SESSION['login_url'] = $_SESSION['old_url'];
181
+	if ((empty($_SESSION['login_url']) && isset($_SESSION['old_url']) && strpos($_SESSION['old_url'], 'dlattach') === false && preg_match('~(board|topic)[=,]~', $_SESSION['old_url']) != 0) || (isset($_GET['quicklogin']) && isset($_SESSION['old_url']) && strpos($_SESSION['old_url'], 'login') === false)) {
182
+			$_SESSION['login_url'] = $_SESSION['old_url'];
183
+	}
176 184
 
177 185
 	// Been guessing a lot, haven't we?
178
-	if (isset($_SESSION['failed_login']) && $_SESSION['failed_login'] >= $modSettings['failed_login_threshold'] * 3)
179
-		fatal_lang_error('login_threshold_fail', 'login');
186
+	if (isset($_SESSION['failed_login']) && $_SESSION['failed_login'] >= $modSettings['failed_login_threshold'] * 3) {
187
+			fatal_lang_error('login_threshold_fail', 'login');
188
+	}
180 189
 
181 190
 	// Set up the cookie length.  (if it's invalid, just fall through and use the default.)
182
-	if (isset($_POST['cookieneverexp']) || (!empty($_POST['cookielength']) && $_POST['cookielength'] == -1))
183
-		$modSettings['cookieTime'] = 3153600;
184
-	elseif (!empty($_POST['cookielength']) && ($_POST['cookielength'] >= 1 && $_POST['cookielength'] <= 525600))
185
-		$modSettings['cookieTime'] = (int) $_POST['cookielength'];
191
+	if (isset($_POST['cookieneverexp']) || (!empty($_POST['cookielength']) && $_POST['cookielength'] == -1)) {
192
+			$modSettings['cookieTime'] = 3153600;
193
+	} elseif (!empty($_POST['cookielength']) && ($_POST['cookielength'] >= 1 && $_POST['cookielength'] <= 525600)) {
194
+			$modSettings['cookieTime'] = (int) $_POST['cookielength'];
195
+	}
186 196
 
187 197
 	loadLanguage('Login');
188 198
 	// Load the template stuff.
@@ -302,8 +312,9 @@  discard block
 block discarded – undo
302 312
 			$other_passwords[] = crypt(md5($_POST['passwrd']), md5($_POST['passwrd']));
303 313
 
304 314
 			// Snitz style - SHA-256.  Technically, this is a downgrade, but most PHP configurations don't support sha256 anyway.
305
-			if (strlen($user_settings['passwd']) == 64 && function_exists('mhash') && defined('MHASH_SHA256'))
306
-				$other_passwords[] = bin2hex(mhash(MHASH_SHA256, $_POST['passwrd']));
315
+			if (strlen($user_settings['passwd']) == 64 && function_exists('mhash') && defined('MHASH_SHA256')) {
316
+							$other_passwords[] = bin2hex(mhash(MHASH_SHA256, $_POST['passwrd']));
317
+			}
307 318
 
308 319
 			// phpBB3 users new hashing.  We now support it as well ;).
309 320
 			$other_passwords[] = phpBB3_password_check($_POST['passwrd'], $user_settings['passwd']);
@@ -323,27 +334,29 @@  discard block
 block discarded – undo
323 334
 			// Some common md5 ones.
324 335
 			$other_passwords[] = md5($user_settings['password_salt'] . $_POST['passwrd']);
325 336
 			$other_passwords[] = md5($_POST['passwrd'] . $user_settings['password_salt']);
326
-		}
327
-		elseif (strlen($user_settings['passwd']) == 40)
337
+		} elseif (strlen($user_settings['passwd']) == 40)
328 338
 		{
329 339
 			// Maybe they are using a hash from before the password fix.
330 340
 			// This is also valid for SMF 1.1 to 2.0 style of hashing, changed to bcrypt in SMF 2.1
331 341
 			$other_passwords[] = sha1(strtolower($user_settings['member_name']) . un_htmlspecialchars($_POST['passwrd']));
332 342
 
333 343
 			// BurningBoard3 style of hashing.
334
-			if (!empty($modSettings['enable_password_conversion']))
335
-				$other_passwords[] = sha1($user_settings['password_salt'] . sha1($user_settings['password_salt'] . sha1($_POST['passwrd'])));
344
+			if (!empty($modSettings['enable_password_conversion'])) {
345
+							$other_passwords[] = sha1($user_settings['password_salt'] . sha1($user_settings['password_salt'] . sha1($_POST['passwrd'])));
346
+			}
336 347
 
337 348
 			// Perhaps we converted to UTF-8 and have a valid password being hashed differently.
338 349
 			if ($context['character_set'] == 'UTF-8' && !empty($modSettings['previousCharacterSet']) && $modSettings['previousCharacterSet'] != 'utf8')
339 350
 			{
340 351
 				// Try iconv first, for no particular reason.
341
-				if (function_exists('iconv'))
342
-					$other_passwords['iconv'] = sha1(strtolower(iconv('UTF-8', $modSettings['previousCharacterSet'], $user_settings['member_name'])) . un_htmlspecialchars(iconv('UTF-8', $modSettings['previousCharacterSet'], $_POST['passwrd'])));
352
+				if (function_exists('iconv')) {
353
+									$other_passwords['iconv'] = sha1(strtolower(iconv('UTF-8', $modSettings['previousCharacterSet'], $user_settings['member_name'])) . un_htmlspecialchars(iconv('UTF-8', $modSettings['previousCharacterSet'], $_POST['passwrd'])));
354
+				}
343 355
 
344 356
 				// Say it aint so, iconv failed!
345
-				if (empty($other_passwords['iconv']) && function_exists('mb_convert_encoding'))
346
-					$other_passwords[] = sha1(strtolower(mb_convert_encoding($user_settings['member_name'], 'UTF-8', $modSettings['previousCharacterSet'])) . un_htmlspecialchars(mb_convert_encoding($_POST['passwrd'], 'UTF-8', $modSettings['previousCharacterSet'])));
357
+				if (empty($other_passwords['iconv']) && function_exists('mb_convert_encoding')) {
358
+									$other_passwords[] = sha1(strtolower(mb_convert_encoding($user_settings['member_name'], 'UTF-8', $modSettings['previousCharacterSet'])) . un_htmlspecialchars(mb_convert_encoding($_POST['passwrd'], 'UTF-8', $modSettings['previousCharacterSet'])));
359
+				}
347 360
 			}
348 361
 		}
349 362
 
@@ -373,8 +386,9 @@  discard block
 block discarded – undo
373 386
 			$_SESSION['failed_login'] = isset($_SESSION['failed_login']) ? ($_SESSION['failed_login'] + 1) : 1;
374 387
 
375 388
 			// Hmm... don't remember it, do you?  Here, try the password reminder ;).
376
-			if ($_SESSION['failed_login'] >= $modSettings['failed_login_threshold'])
377
-				redirectexit('action=reminder');
389
+			if ($_SESSION['failed_login'] >= $modSettings['failed_login_threshold']) {
390
+							redirectexit('action=reminder');
391
+			}
378 392
 			// We'll give you another chance...
379 393
 			else
380 394
 			{
@@ -385,8 +399,7 @@  discard block
 block discarded – undo
385 399
 				return;
386 400
 			}
387 401
 		}
388
-	}
389
-	elseif (!empty($user_settings['passwd_flood']))
402
+	} elseif (!empty($user_settings['passwd_flood']))
390 403
 	{
391 404
 		// Let's be sure they weren't a little hacker.
392 405
 		validatePasswordFlood($user_settings['id_member'], $user_settings['member_name'], $user_settings['passwd_flood'], true);
@@ -403,8 +416,9 @@  discard block
 block discarded – undo
403 416
 	}
404 417
 
405 418
 	// Check their activation status.
406
-	if (!checkActivation())
407
-		return;
419
+	if (!checkActivation()) {
420
+			return;
421
+	}
408 422
 
409 423
 	DoLogin();
410 424
 }
@@ -416,8 +430,9 @@  discard block
 block discarded – undo
416 430
 {
417 431
 	global $sourcedir, $txt, $context, $user_info, $modSettings, $scripturl;
418 432
 
419
-	if (!$user_info['is_guest'] || empty($context['tfa_member']) || empty($modSettings['tfa_mode']))
420
-		fatal_lang_error('no_access', false);
433
+	if (!$user_info['is_guest'] || empty($context['tfa_member']) || empty($modSettings['tfa_mode'])) {
434
+			fatal_lang_error('no_access', false);
435
+	}
421 436
 
422 437
 	loadLanguage('Profile');
423 438
 	require_once($sourcedir . '/Class-TOTP.php');
@@ -425,8 +440,9 @@  discard block
 block discarded – undo
425 440
 	$member = $context['tfa_member'];
426 441
 
427 442
 	// Prevent replay attacks by limiting at least 2 minutes before they can log in again via 2FA
428
-	if (time() - $member['last_login'] < 120)
429
-		fatal_lang_error('tfa_wait', false);
443
+	if (time() - $member['last_login'] < 120) {
444
+			fatal_lang_error('tfa_wait', false);
445
+	}
430 446
 
431 447
 	$totp = new \TOTP\Auth($member['tfa_secret']);
432 448
 	$totp->setRange(1);
@@ -440,8 +456,9 @@  discard block
 block discarded – undo
440 456
 	if (!empty($_POST['tfa_code']) && empty($_POST['tfa_backup']))
441 457
 	{
442 458
 		// Check to ensure we're forcing SSL for authentication
443
-		if (!empty($modSettings['force_ssl']) && empty($maintenance) && !httpsOn())
444
-			fatal_lang_error('login_ssl_required');
459
+		if (!empty($modSettings['force_ssl']) && empty($maintenance) && !httpsOn()) {
460
+					fatal_lang_error('login_ssl_required');
461
+		}
445 462
 
446 463
 		$code = $_POST['tfa_code'];
447 464
 
@@ -451,20 +468,19 @@  discard block
 block discarded – undo
451 468
 
452 469
 			setTFACookie(3153600, $member['id_member'], hash_salt($member['tfa_backup'], $member['password_salt']));
453 470
 			redirectexit();
454
-		}
455
-		else
471
+		} else
456 472
 		{
457 473
 			validatePasswordFlood($member['id_member'], $member['member_name'], $member['passwd_flood'], false, true);
458 474
 
459 475
 			$context['tfa_error'] = true;
460 476
 			$context['tfa_value'] = $_POST['tfa_code'];
461 477
 		}
462
-	}
463
-	elseif (!empty($_POST['tfa_backup']))
478
+	} elseif (!empty($_POST['tfa_backup']))
464 479
 	{
465 480
 		// Check to ensure we're forcing SSL for authentication
466
-		if (!empty($modSettings['force_ssl']) && empty($maintenance) && !httpsOn())
467
-			fatal_lang_error('login_ssl_required');
481
+		if (!empty($modSettings['force_ssl']) && empty($maintenance) && !httpsOn()) {
482
+					fatal_lang_error('login_ssl_required');
483
+		}
468 484
 
469 485
 		$backup = $_POST['tfa_backup'];
470 486
 
@@ -478,8 +494,7 @@  discard block
 block discarded – undo
478 494
 			));
479 495
 			setTFACookie(3153600, $member['id_member'], hash_salt($member['tfa_backup'], $member['password_salt']));
480 496
 			redirectexit('action=profile;area=tfasetup;backup');
481
-		}
482
-		else
497
+		} else
483 498
 		{
484 499
 			validatePasswordFlood($member['id_member'], $member['member_name'], $member['passwd_flood'], false, true);
485 500
 
@@ -502,8 +517,9 @@  discard block
 block discarded – undo
502 517
 {
503 518
 	global $context, $txt, $scripturl, $user_settings, $modSettings;
504 519
 
505
-	if (!isset($context['login_errors']))
506
-		$context['login_errors'] = array();
520
+	if (!isset($context['login_errors'])) {
521
+			$context['login_errors'] = array();
522
+	}
507 523
 
508 524
 	// What is the true activation status of this account?
509 525
 	$activation_status = $user_settings['is_activated'] > 10 ? $user_settings['is_activated'] - 10 : $user_settings['is_activated'];
@@ -515,8 +531,9 @@  discard block
 block discarded – undo
515 531
 		return false;
516 532
 	}
517 533
 	// Awaiting approval still?
518
-	elseif ($activation_status == 3)
519
-		fatal_lang_error('still_awaiting_approval', 'user');
534
+	elseif ($activation_status == 3) {
535
+			fatal_lang_error('still_awaiting_approval', 'user');
536
+	}
520 537
 	// Awaiting deletion, changed their mind?
521 538
 	elseif ($activation_status == 4)
522 539
 	{
@@ -524,8 +541,7 @@  discard block
 block discarded – undo
524 541
 		{
525 542
 			updateMemberData($user_settings['id_member'], array('is_activated' => 1));
526 543
 			updateSettings(array('unapprovedMembers' => ($modSettings['unapprovedMembers'] > 0 ? $modSettings['unapprovedMembers'] - 1 : 0)));
527
-		}
528
-		else
544
+		} else
529 545
 		{
530 546
 			$context['disable_login_hashing'] = true;
531 547
 			$context['login_errors'][] = $txt['awaiting_delete_account'];
@@ -565,8 +581,9 @@  discard block
 block discarded – undo
565 581
 	setLoginCookie(60 * $modSettings['cookieTime'], $user_settings['id_member'], hash_salt($user_settings['passwd'], $user_settings['password_salt']));
566 582
 
567 583
 	// Reset the login threshold.
568
-	if (isset($_SESSION['failed_login']))
569
-		unset($_SESSION['failed_login']);
584
+	if (isset($_SESSION['failed_login'])) {
585
+			unset($_SESSION['failed_login']);
586
+	}
570 587
 
571 588
 	$user_info['is_guest'] = false;
572 589
 	$user_settings['additional_groups'] = explode(',', $user_settings['additional_groups']);
@@ -588,16 +605,18 @@  discard block
 block discarded – undo
588 605
 			'id_member' => $user_info['id'],
589 606
 		)
590 607
 	);
591
-	if ($smcFunc['db_num_rows']($request) == 1)
592
-		$_SESSION['first_login'] = true;
593
-	else
594
-		unset($_SESSION['first_login']);
608
+	if ($smcFunc['db_num_rows']($request) == 1) {
609
+			$_SESSION['first_login'] = true;
610
+	} else {
611
+			unset($_SESSION['first_login']);
612
+	}
595 613
 	$smcFunc['db_free_result']($request);
596 614
 
597 615
 	// You've logged in, haven't you?
598 616
 	$update = array('member_ip' => $user_info['ip'], 'member_ip2' => $_SERVER['BAN_CHECK_IP']);
599
-	if (empty($user_settings['tfa_secret']))
600
-		$update['last_login'] = time();
617
+	if (empty($user_settings['tfa_secret'])) {
618
+			$update['last_login'] = time();
619
+	}
601 620
 	updateMemberData($user_info['id'], $update);
602 621
 
603 622
 	// Get rid of the online entry for that old guest....
@@ -611,8 +630,8 @@  discard block
 block discarded – undo
611 630
 	$_SESSION['log_time'] = 0;
612 631
 
613 632
 	// Log this entry, only if we have it enabled.
614
-	if (!empty($modSettings['loginHistoryDays']))
615
-		$smcFunc['db_insert']('insert',
633
+	if (!empty($modSettings['loginHistoryDays'])) {
634
+			$smcFunc['db_insert']('insert',
616 635
 			'{db_prefix}member_logins',
617 636
 			array(
618 637
 				'id_member' => 'int', 'time' => 'int', 'ip' => 'inet', 'ip2' => 'inet',
@@ -624,13 +643,15 @@  discard block
 block discarded – undo
624 643
 				'id_member', 'time'
625 644
 			)
626 645
 		);
646
+	}
627 647
 
628 648
 	// Just log you back out if it's in maintenance mode and you AREN'T an admin.
629
-	if (empty($maintenance) || allowedTo('admin_forum'))
630
-		redirectexit('action=login2;sa=check;member=' . $user_info['id'], $context['server']['needs_login_fix']);
631
-	else
632
-		redirectexit('action=logout;' . $context['session_var'] . '=' . $context['session_id'], $context['server']['needs_login_fix']);
633
-}
649
+	if (empty($maintenance) || allowedTo('admin_forum')) {
650
+			redirectexit('action=login2;sa=check;member=' . $user_info['id'], $context['server']['needs_login_fix']);
651
+	} else {
652
+			redirectexit('action=logout;' . $context['session_var'] . '=' . $context['session_id'], $context['server']['needs_login_fix']);
653
+	}
654
+	}
634 655
 
635 656
 /**
636 657
  * Logs the current user out of their account.
@@ -646,13 +667,15 @@  discard block
 block discarded – undo
646 667
 	global $sourcedir, $user_info, $user_settings, $context, $smcFunc, $cookiename, $modSettings;
647 668
 
648 669
 	// Make sure they aren't being auto-logged out.
649
-	if (!$internal)
650
-		checkSession('get');
670
+	if (!$internal) {
671
+			checkSession('get');
672
+	}
651 673
 
652 674
 	require_once($sourcedir . '/Subs-Auth.php');
653 675
 
654
-	if (isset($_SESSION['pack_ftp']))
655
-		$_SESSION['pack_ftp'] = null;
676
+	if (isset($_SESSION['pack_ftp'])) {
677
+			$_SESSION['pack_ftp'] = null;
678
+	}
656 679
 
657 680
 	// It won't be first login anymore.
658 681
 	unset($_SESSION['first_login']);
@@ -680,8 +703,9 @@  discard block
 block discarded – undo
680 703
 
681 704
 	// And some other housekeeping while we're at it.
682 705
 	$salt = substr(md5(mt_rand()), 0, 4);
683
-	if (!empty($user_info['id']))
684
-		updateMemberData($user_info['id'], array('password_salt' => $salt));
706
+	if (!empty($user_info['id'])) {
707
+			updateMemberData($user_info['id'], array('password_salt' => $salt));
708
+	}
685 709
 
686 710
 	if (!empty($modSettings['tfa_mode']) && !empty($user_info['id']) && !empty($_COOKIE[$cookiename . '_tfa']))
687 711
 	{
@@ -694,14 +718,13 @@  discard block
 block discarded – undo
694 718
 	// Off to the merry board index we go!
695 719
 	if ($redirect)
696 720
 	{
697
-		if (empty($_SESSION['logout_url']))
698
-			redirectexit('', $context['server']['needs_login_fix']);
699
-		elseif (!empty($_SESSION['logout_url']) && (strpos($_SESSION['logout_url'], 'http://') === false && strpos($_SESSION['logout_url'], 'https://') === false))
721
+		if (empty($_SESSION['logout_url'])) {
722
+					redirectexit('', $context['server']['needs_login_fix']);
723
+		} elseif (!empty($_SESSION['logout_url']) && (strpos($_SESSION['logout_url'], 'http://') === false && strpos($_SESSION['logout_url'], 'https://') === false))
700 724
 		{
701 725
 			unset ($_SESSION['logout_url']);
702 726
 			redirectexit();
703
-		}
704
-		else
727
+		} else
705 728
 		{
706 729
 			$temp = $_SESSION['logout_url'];
707 730
 			unset($_SESSION['logout_url']);
@@ -734,8 +757,9 @@  discard block
 block discarded – undo
734 757
 function phpBB3_password_check($passwd, $passwd_hash)
735 758
 {
736 759
 	// Too long or too short?
737
-	if (strlen($passwd_hash) != 34)
738
-		return;
760
+	if (strlen($passwd_hash) != 34) {
761
+			return;
762
+	}
739 763
 
740 764
 	// Range of characters allowed.
741 765
 	$range = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
@@ -746,8 +770,9 @@  discard block
 block discarded – undo
746 770
 	$salt = substr($passwd_hash, 4, 8);
747 771
 
748 772
 	$hash = md5($salt . $passwd, true);
749
-	for (; $count != 0; --$count)
750
-		$hash = md5($hash . $passwd, true);
773
+	for (; $count != 0; --$count) {
774
+			$hash = md5($hash . $passwd, true);
775
+	}
751 776
 
752 777
 	$output = substr($passwd_hash, 0, 12);
753 778
 	$i = 0;
@@ -756,21 +781,25 @@  discard block
 block discarded – undo
756 781
 		$value = ord($hash[$i++]);
757 782
 		$output .= $range[$value & 0x3f];
758 783
 
759
-		if ($i < 16)
760
-			$value |= ord($hash[$i]) << 8;
784
+		if ($i < 16) {
785
+					$value |= ord($hash[$i]) << 8;
786
+		}
761 787
 
762 788
 		$output .= $range[($value >> 6) & 0x3f];
763 789
 
764
-		if ($i++ >= 16)
765
-			break;
790
+		if ($i++ >= 16) {
791
+					break;
792
+		}
766 793
 
767
-		if ($i < 16)
768
-			$value |= ord($hash[$i]) << 16;
794
+		if ($i < 16) {
795
+					$value |= ord($hash[$i]) << 16;
796
+		}
769 797
 
770 798
 		$output .= $range[($value >> 12) & 0x3f];
771 799
 
772
-		if ($i++ >= 16)
773
-			break;
800
+		if ($i++ >= 16) {
801
+					break;
802
+		}
774 803
 
775 804
 		$output .= $range[($value >> 18) & 0x3f];
776 805
 	}
@@ -802,8 +831,9 @@  discard block
 block discarded – undo
802 831
 		require_once($sourcedir . '/Subs-Auth.php');
803 832
 		setLoginCookie(-3600, 0);
804 833
 
805
-		if (isset($_SESSION['login_' . $cookiename]))
806
-			unset($_SESSION['login_' . $cookiename]);
834
+		if (isset($_SESSION['login_' . $cookiename])) {
835
+					unset($_SESSION['login_' . $cookiename]);
836
+		}
807 837
 	}
808 838
 
809 839
 	// We need a member!
@@ -817,8 +847,9 @@  discard block
 block discarded – undo
817 847
 	}
818 848
 
819 849
 	// Right, have we got a flood value?
820
-	if ($password_flood_value !== false)
821
-		@list ($time_stamp, $number_tries) = explode('|', $password_flood_value);
850
+	if ($password_flood_value !== false) {
851
+			@list ($time_stamp, $number_tries) = explode('|', $password_flood_value);
852
+	}
822 853
 
823 854
 	// Timestamp or number of tries invalid?
824 855
 	if (empty($number_tries) || empty($time_stamp))
@@ -834,15 +865,17 @@  discard block
 block discarded – undo
834 865
 		$number_tries = $time_stamp < time() - 20 ? 2 : $number_tries;
835 866
 
836 867
 		// They are trying too fast, make them wait longer
837
-		if ($time_stamp < time() - 10)
838
-			$time_stamp = time();
868
+		if ($time_stamp < time() - 10) {
869
+					$time_stamp = time();
870
+		}
839 871
 	}
840 872
 
841 873
 	$number_tries++;
842 874
 
843 875
 	// Broken the law?
844
-	if ($number_tries > 5)
845
-		fatal_lang_error('login_threshold_brute_fail', 'login', [$member_name]);
876
+	if ($number_tries > 5) {
877
+			fatal_lang_error('login_threshold_brute_fail', 'login', [$member_name]);
878
+	}
846 879
 
847 880
 	// Otherwise set the members data. If they correct on their first attempt then we actually clear it, otherwise we set it!
848 881
 	updateMemberData($id_member, array('passwd_flood' => $was_correct && $number_tries == 1 ? '' : $time_stamp . '|' . $number_tries));
Please login to merge, or discard this patch.
Smileys/alienine/index.php 1 patch
Braces   +3 added lines, -2 removed lines patch added patch discarded remove patch
@@ -1,9 +1,10 @@
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 // Try to handle it with the upper level index.php. (it should know what to do.)
4
-if (file_exists(dirname(dirname(__FILE__)) . '/index.php'))
4
+if (file_exists(dirname(dirname(__FILE__)) . '/index.php')) {
5 5
 	include (dirname(dirname(__FILE__)) . '/index.php');
6
-else
6
+} else {
7 7
 	exit;
8
+}
8 9
 
9 10
 ?>
10 11
\ No newline at end of file
Please login to merge, or discard this patch.
Sources/Themes.php 1 patch
Braces   +346 added lines, -271 removed lines patch added patch discarded remove patch
@@ -30,8 +30,9 @@  discard block
 block discarded – undo
30 30
  * @version 2.1 Beta 4
31 31
  */
32 32
 
33
-if (!defined('SMF'))
33
+if (!defined('SMF')) {
34 34
 	die('No direct access...');
35
+}
35 36
 
36 37
 /**
37 38
  * Subaction handler - manages the action and delegates control to the proper
@@ -103,12 +104,12 @@  discard block
 block discarded – undo
103 104
 	cache_put_data('minimized_css', null);
104 105
 
105 106
 	// Follow the sa or just go to administration.
106
-	if (isset($_GET['sa']) && !empty($subActions[$_GET['sa']]))
107
-		call_helper($subActions[$_GET['sa']]);
108
-
109
-	else
110
-		call_helper($subActions['admin']);
111
-}
107
+	if (isset($_GET['sa']) && !empty($subActions[$_GET['sa']])) {
108
+			call_helper($subActions[$_GET['sa']]);
109
+	} else {
110
+			call_helper($subActions['admin']);
111
+	}
112
+	}
112 113
 
113 114
 /**
114 115
  * This function allows administration of themes and their settings,
@@ -130,15 +131,16 @@  discard block
 block discarded – undo
130 131
 		checkSession();
131 132
 		validateToken('admin-tm');
132 133
 
133
-		if (isset($_POST['options']['known_themes']))
134
-			foreach ($_POST['options']['known_themes'] as $key => $id)
134
+		if (isset($_POST['options']['known_themes'])) {
135
+					foreach ($_POST['options']['known_themes'] as $key => $id)
135 136
 				$_POST['options']['known_themes'][$key] = (int) $id;
137
+		} else {
138
+					fatal_lang_error('themes_none_selectable', false);
139
+		}
136 140
 
137
-		else
138
-			fatal_lang_error('themes_none_selectable', false);
139
-
140
-		if (!in_array($_POST['options']['theme_guests'], $_POST['options']['known_themes']))
141
-			fatal_lang_error('themes_default_selectable', false);
141
+		if (!in_array($_POST['options']['theme_guests'], $_POST['options']['known_themes'])) {
142
+					fatal_lang_error('themes_default_selectable', false);
143
+		}
142 144
 
143 145
 		// Commit the new settings.
144 146
 		updateSettings(array(
@@ -146,8 +148,9 @@  discard block
 block discarded – undo
146 148
 			'theme_guests' => $_POST['options']['theme_guests'],
147 149
 			'knownThemes' => implode(',', $_POST['options']['known_themes']),
148 150
 		));
149
-		if ((int) $_POST['theme_reset'] == 0 || in_array($_POST['theme_reset'], $_POST['options']['known_themes']))
150
-			updateMemberData(null, array('id_theme' => (int) $_POST['theme_reset']));
151
+		if ((int) $_POST['theme_reset'] == 0 || in_array($_POST['theme_reset'], $_POST['options']['known_themes'])) {
152
+					updateMemberData(null, array('id_theme' => (int) $_POST['theme_reset']));
153
+		}
151 154
 
152 155
 		redirectexit('action=admin;area=theme;' . $context['session_var'] . '=' . $context['session_id'] . ';sa=admin');
153 156
 	}
@@ -166,8 +169,9 @@  discard block
 block discarded – undo
166 169
 	// Look for a non existent theme directory. (ie theme87.)
167 170
 	$theme_dir = $boarddir . '/Themes/theme';
168 171
 	$i = 1;
169
-	while (file_exists($theme_dir . $i))
170
-		$i++;
172
+	while (file_exists($theme_dir . $i)) {
173
+			$i++;
174
+	}
171 175
 
172 176
 	$context['new_theme_name'] = 'theme' . $i;
173 177
 
@@ -189,8 +193,9 @@  discard block
 block discarded – undo
189 193
 	loadLanguage('Admin');
190 194
 	isAllowedTo('admin_forum');
191 195
 
192
-	if (isset($_REQUEST['th']))
193
-		return SetThemeSettings();
196
+	if (isset($_REQUEST['th'])) {
197
+			return SetThemeSettings();
198
+	}
194 199
 
195 200
 	if (isset($_POST['save']))
196 201
 	{
@@ -274,12 +279,13 @@  discard block
 block discarded – undo
274 279
 		$context['themes'] = array();
275 280
 		while ($row = $smcFunc['db_fetch_assoc']($request))
276 281
 		{
277
-			if (!isset($context['themes'][$row['id_theme']]))
278
-				$context['themes'][$row['id_theme']] = array(
282
+			if (!isset($context['themes'][$row['id_theme']])) {
283
+							$context['themes'][$row['id_theme']] = array(
279 284
 					'id' => $row['id_theme'],
280 285
 					'num_default_options' => 0,
281 286
 					'num_members' => 0,
282 287
 				);
288
+			}
283 289
 			$context['themes'][$row['id_theme']][$row['variable']] = $row['value'];
284 290
 		}
285 291
 		$smcFunc['db_free_result']($request);
@@ -293,8 +299,9 @@  discard block
 block discarded – undo
293 299
 				'guest_member' => -1,
294 300
 			)
295 301
 		);
296
-		while ($row = $smcFunc['db_fetch_assoc']($request))
297
-			$context['themes'][$row['id_theme']]['num_default_options'] = $row['value'];
302
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
303
+					$context['themes'][$row['id_theme']]['num_default_options'] = $row['value'];
304
+		}
298 305
 		$smcFunc['db_free_result']($request);
299 306
 
300 307
 		// Need to make sure we don't do custom fields.
@@ -305,8 +312,9 @@  discard block
 block discarded – undo
305 312
 			)
306 313
 		);
307 314
 		$customFields = array();
308
-		while ($row = $smcFunc['db_fetch_assoc']($request))
309
-			$customFields[] = $row['col_name'];
315
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
316
+					$customFields[] = $row['col_name'];
317
+		}
310 318
 		$smcFunc['db_free_result']($request);
311 319
 		$customFieldsQuery = empty($customFields) ? '' : ('AND variable NOT IN ({array_string:custom_fields})');
312 320
 
@@ -321,14 +329,16 @@  discard block
 block discarded – undo
321 329
 				'custom_fields' => empty($customFields) ? array() : $customFields,
322 330
 			)
323 331
 		);
324
-		while ($row = $smcFunc['db_fetch_assoc']($request))
325
-			$context['themes'][$row['id_theme']]['num_members'] = $row['value'];
332
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
333
+					$context['themes'][$row['id_theme']]['num_members'] = $row['value'];
334
+		}
326 335
 		$smcFunc['db_free_result']($request);
327 336
 
328 337
 		// There has to be a Settings template!
329
-		foreach ($context['themes'] as $k => $v)
330
-			if (empty($v['theme_dir']) || (!file_exists($v['theme_dir'] . '/Settings.template.php') && empty($v['num_members'])))
338
+		foreach ($context['themes'] as $k => $v) {
339
+					if (empty($v['theme_dir']) || (!file_exists($v['theme_dir'] . '/Settings.template.php') && empty($v['num_members'])))
331 340
 				unset($context['themes'][$k]);
341
+		}
332 342
 
333 343
 		loadTemplate('Themes');
334 344
 		$context['sub_template'] = 'reset_list';
@@ -343,16 +353,19 @@  discard block
 block discarded – undo
343 353
 		checkSession();
344 354
 		validateToken('admin-sto');
345 355
 
346
-		if (empty($_POST['options']))
347
-			$_POST['options'] = array();
348
-		if (empty($_POST['default_options']))
349
-			$_POST['default_options'] = array();
356
+		if (empty($_POST['options'])) {
357
+					$_POST['options'] = array();
358
+		}
359
+		if (empty($_POST['default_options'])) {
360
+					$_POST['default_options'] = array();
361
+		}
350 362
 
351 363
 		// Set up the sql query.
352 364
 		$setValues = array();
353 365
 
354
-		foreach ($_POST['options'] as $opt => $val)
355
-			$setValues[] = array(-1, $_GET['th'], $opt, is_array($val) ? implode(',', $val) : $val);
366
+		foreach ($_POST['options'] as $opt => $val) {
367
+					$setValues[] = array(-1, $_GET['th'], $opt, is_array($val) ? implode(',', $val) : $val);
368
+		}
356 369
 
357 370
 		$old_settings = array();
358 371
 		foreach ($_POST['default_options'] as $opt => $val)
@@ -366,8 +379,8 @@  discard block
 block discarded – undo
366 379
 		if (!empty($setValues))
367 380
 		{
368 381
 			// Are there options in non-default themes set that should be cleared?
369
-			if (!empty($old_settings))
370
-				$smcFunc['db_query']('', '
382
+			if (!empty($old_settings)) {
383
+							$smcFunc['db_query']('', '
371 384
 					DELETE FROM {db_prefix}themes
372 385
 					WHERE id_theme != {int:default_theme}
373 386
 						AND id_member = {int:guest_member}
@@ -378,6 +391,7 @@  discard block
 block discarded – undo
378 391
 						'old_settings' => $old_settings,
379 392
 					)
380 393
 				);
394
+			}
381 395
 
382 396
 			$smcFunc['db_insert']('replace',
383 397
 				'{db_prefix}themes',
@@ -391,8 +405,7 @@  discard block
 block discarded – undo
391 405
 		cache_put_data('theme_settings-1', null, 90);
392 406
 
393 407
 		redirectexit('action=admin;area=theme;' . $context['session_var'] . '=' . $context['session_id'] . ';sa=reset');
394
-	}
395
-	elseif (isset($_POST['submit']) && $_POST['who'] == 1)
408
+	} elseif (isset($_POST['submit']) && $_POST['who'] == 1)
396 409
 	{
397 410
 		checkSession();
398 411
 		validateToken('admin-sto');
@@ -405,9 +418,9 @@  discard block
 block discarded – undo
405 418
 		$old_settings = array();
406 419
 		foreach ($_POST['default_options'] as $opt => $val)
407 420
 		{
408
-			if ($_POST['default_options_master'][$opt] == 0)
409
-				continue;
410
-			elseif ($_POST['default_options_master'][$opt] == 1)
421
+			if ($_POST['default_options_master'][$opt] == 0) {
422
+							continue;
423
+			} elseif ($_POST['default_options_master'][$opt] == 1)
411 424
 			{
412 425
 				// Delete then insert for ease of database compatibility!
413 426
 				$smcFunc['db_query']('substring', '
@@ -433,8 +446,7 @@  discard block
 block discarded – undo
433 446
 				);
434 447
 
435 448
 				$old_settings[] = $opt;
436
-			}
437
-			elseif ($_POST['default_options_master'][$opt] == 2)
449
+			} elseif ($_POST['default_options_master'][$opt] == 2)
438 450
 			{
439 451
 				$smcFunc['db_query']('', '
440 452
 					DELETE FROM {db_prefix}themes
@@ -449,8 +461,8 @@  discard block
 block discarded – undo
449 461
 		}
450 462
 
451 463
 		// Delete options from other themes.
452
-		if (!empty($old_settings))
453
-			$smcFunc['db_query']('', '
464
+		if (!empty($old_settings)) {
465
+					$smcFunc['db_query']('', '
454 466
 				DELETE FROM {db_prefix}themes
455 467
 				WHERE id_theme != {int:default_theme}
456 468
 					AND id_member > {int:no_member}
@@ -461,12 +473,13 @@  discard block
 block discarded – undo
461 473
 					'old_settings' => $old_settings,
462 474
 				)
463 475
 			);
476
+		}
464 477
 
465 478
 		foreach ($_POST['options'] as $opt => $val)
466 479
 		{
467
-			if ($_POST['options_master'][$opt] == 0)
468
-				continue;
469
-			elseif ($_POST['options_master'][$opt] == 1)
480
+			if ($_POST['options_master'][$opt] == 0) {
481
+							continue;
482
+			} elseif ($_POST['options_master'][$opt] == 1)
470 483
 			{
471 484
 				// Delete then insert for ease of database compatibility - again!
472 485
 				$smcFunc['db_query']('substring', '
@@ -491,8 +504,7 @@  discard block
 block discarded – undo
491 504
 						'value' => (is_array($val) ? implode(',', $val) : $val),
492 505
 					)
493 506
 				);
494
-			}
495
-			elseif ($_POST['options_master'][$opt] == 2)
507
+			} elseif ($_POST['options_master'][$opt] == 2)
496 508
 			{
497 509
 				$smcFunc['db_query']('', '
498 510
 					DELETE FROM {db_prefix}themes
@@ -509,8 +521,7 @@  discard block
 block discarded – undo
509 521
 		}
510 522
 
511 523
 		redirectexit('action=admin;area=theme;' . $context['session_var'] . '=' . $context['session_id'] . ';sa=reset');
512
-	}
513
-	elseif (!empty($_GET['who']) && $_GET['who'] == 2)
524
+	} elseif (!empty($_GET['who']) && $_GET['who'] == 2)
514 525
 	{
515 526
 		checkSession('get');
516 527
 		validateToken('admin-stor', 'request');
@@ -525,8 +536,9 @@  discard block
 block discarded – undo
525 536
 				)
526 537
 			);
527 538
 			$customFields = array();
528
-			while ($row = $smcFunc['db_fetch_assoc']($request))
529
-				$customFields[] = $row['col_name'];
539
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
540
+							$customFields[] = $row['col_name'];
541
+			}
530 542
 			$smcFunc['db_free_result']($request);
531 543
 		}
532 544
 		$customFieldsQuery = empty($customFields) ? '' : ('AND variable NOT IN ({array_string:custom_fields})');
@@ -581,13 +593,13 @@  discard block
 block discarded – undo
581 593
 			)
582 594
 		);
583 595
 		$context['theme_options'] = array();
584
-		while ($row = $smcFunc['db_fetch_assoc']($request))
585
-			$context['theme_options'][$row['variable']] = $row['value'];
596
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
597
+					$context['theme_options'][$row['variable']] = $row['value'];
598
+		}
586 599
 		$smcFunc['db_free_result']($request);
587 600
 
588 601
 		$context['theme_options_reset'] = false;
589
-	}
590
-	else
602
+	} else
591 603
 	{
592 604
 		$context['theme_options'] = array();
593 605
 		$context['theme_options_reset'] = true;
@@ -596,30 +608,32 @@  discard block
 block discarded – undo
596 608
 	foreach ($context['options'] as $i => $setting)
597 609
 	{
598 610
 		// Just skip separators
599
-		if (!is_array($setting))
600
-			continue;
611
+		if (!is_array($setting)) {
612
+					continue;
613
+		}
601 614
 
602 615
 		// Is this disabled?
603 616
 		if ($setting['id'] == 'calendar_start_day' && empty($modSettings['cal_enabled']))
604 617
 		{
605 618
 			unset($context['options'][$i]);
606 619
 			continue;
607
-		}
608
-		elseif (($setting['id'] == 'topics_per_page' || $setting['id'] == 'messages_per_page') && !empty($modSettings['disableCustomPerPage']))
620
+		} elseif (($setting['id'] == 'topics_per_page' || $setting['id'] == 'messages_per_page') && !empty($modSettings['disableCustomPerPage']))
609 621
 		{
610 622
 			unset($context['options'][$i]);
611 623
 			continue;
612 624
 		}
613 625
 
614
-		if (!isset($setting['type']) || $setting['type'] == 'bool')
615
-			$context['options'][$i]['type'] = 'checkbox';
616
-		elseif ($setting['type'] == 'int' || $setting['type'] == 'integer')
617
-			$context['options'][$i]['type'] = 'number';
618
-		elseif ($setting['type'] == 'string')
619
-			$context['options'][$i]['type'] = 'text';
626
+		if (!isset($setting['type']) || $setting['type'] == 'bool') {
627
+					$context['options'][$i]['type'] = 'checkbox';
628
+		} elseif ($setting['type'] == 'int' || $setting['type'] == 'integer') {
629
+					$context['options'][$i]['type'] = 'number';
630
+		} elseif ($setting['type'] == 'string') {
631
+					$context['options'][$i]['type'] = 'text';
632
+		}
620 633
 
621
-		if (isset($setting['options']))
622
-			$context['options'][$i]['type'] = 'list';
634
+		if (isset($setting['options'])) {
635
+					$context['options'][$i]['type'] = 'list';
636
+		}
623 637
 
624 638
 		$context['options'][$i]['value'] = !isset($context['theme_options'][$setting['id']]) ? '' : $context['theme_options'][$setting['id']];
625 639
 	}
@@ -644,8 +658,9 @@  discard block
 block discarded – undo
644 658
 {
645 659
 	global $txt, $context, $settings, $modSettings, $smcFunc;
646 660
 
647
-	if (empty($_GET['th']) && empty($_GET['id']))
648
-		return ThemeAdmin();
661
+	if (empty($_GET['th']) && empty($_GET['id'])) {
662
+			return ThemeAdmin();
663
+	}
649 664
 
650 665
 	$_GET['th'] = isset($_GET['th']) ? (int) $_GET['th'] : (int) $_GET['id'];
651 666
 
@@ -656,8 +671,9 @@  discard block
 block discarded – undo
656 671
 	isAllowedTo('admin_forum');
657 672
 
658 673
 	// Validate inputs/user.
659
-	if (empty($_GET['th']))
660
-		fatal_lang_error('no_theme', false);
674
+	if (empty($_GET['th'])) {
675
+			fatal_lang_error('no_theme', false);
676
+	}
661 677
 
662 678
 	// Fetch the smiley sets...
663 679
 	$sets = explode(',', 'none,' . $modSettings['smiley_sets_known']);
@@ -665,8 +681,9 @@  discard block
 block discarded – undo
665 681
 	$context['smiley_sets'] = array(
666 682
 		'' => $txt['smileys_no_default']
667 683
 	);
668
-	foreach ($sets as $i => $set)
669
-		$context['smiley_sets'][$set] = $smcFunc['htmlspecialchars']($set_names[$i]);
684
+	foreach ($sets as $i => $set) {
685
+			$context['smiley_sets'][$set] = $smcFunc['htmlspecialchars']($set_names[$i]);
686
+	}
670 687
 
671 688
 	$old_id = $settings['theme_id'];
672 689
 	$old_settings = $settings;
@@ -691,8 +708,9 @@  discard block
 block discarded – undo
691 708
 	if (file_exists($settings['theme_dir'] . '/index.template.php'))
692 709
 	{
693 710
 		$file_contents = implode('', file($settings['theme_dir'] . '/index.template.php'));
694
-		if (preg_match('~\$settings\[\'theme_variants\'\]\s*=(.+?);~', $file_contents, $matches))
695
-				eval('global $settings;' . $matches[0]);
711
+		if (preg_match('~\$settings\[\'theme_variants\'\]\s*=(.+?);~', $file_contents, $matches)) {
712
+						eval('global $settings;' . $matches[0]);
713
+		}
696 714
 	}
697 715
 
698 716
 	// Let mods hook into the theme settings.
@@ -704,37 +722,45 @@  discard block
 block discarded – undo
704 722
 		checkSession();
705 723
 		validateToken('admin-sts');
706 724
 
707
-		if (empty($_POST['options']))
708
-			$_POST['options'] = array();
709
-		if (empty($_POST['default_options']))
710
-			$_POST['default_options'] = array();
725
+		if (empty($_POST['options'])) {
726
+					$_POST['options'] = array();
727
+		}
728
+		if (empty($_POST['default_options'])) {
729
+					$_POST['default_options'] = array();
730
+		}
711 731
 
712 732
 		// Make sure items are cast correctly.
713 733
 		foreach ($context['theme_settings'] as $item)
714 734
 		{
715 735
 			// Disregard this item if this is just a separator.
716
-			if (!is_array($item))
717
-				continue;
736
+			if (!is_array($item)) {
737
+							continue;
738
+			}
718 739
 
719 740
 			foreach (array('options', 'default_options') as $option)
720 741
 			{
721
-				if (!isset($_POST[$option][$item['id']]))
722
-					continue;
742
+				if (!isset($_POST[$option][$item['id']])) {
743
+									continue;
744
+				}
723 745
 				// Checkbox.
724
-				elseif (empty($item['type']))
725
-					$_POST[$option][$item['id']] = $_POST[$option][$item['id']] ? 1 : 0;
746
+				elseif (empty($item['type'])) {
747
+									$_POST[$option][$item['id']] = $_POST[$option][$item['id']] ? 1 : 0;
748
+				}
726 749
 				// Number
727
-				elseif ($item['type'] == 'number')
728
-					$_POST[$option][$item['id']] = (int) $_POST[$option][$item['id']];
750
+				elseif ($item['type'] == 'number') {
751
+									$_POST[$option][$item['id']] = (int) $_POST[$option][$item['id']];
752
+				}
729 753
 			}
730 754
 		}
731 755
 
732 756
 		// Set up the sql query.
733 757
 		$inserts = array();
734
-		foreach ($_POST['options'] as $opt => $val)
735
-			$inserts[] = array(0, $_GET['th'], $opt, is_array($val) ? implode(',', $val) : $val);
736
-		foreach ($_POST['default_options'] as $opt => $val)
737
-			$inserts[] = array(0, 1, $opt, is_array($val) ? implode(',', $val) : $val);
758
+		foreach ($_POST['options'] as $opt => $val) {
759
+					$inserts[] = array(0, $_GET['th'], $opt, is_array($val) ? implode(',', $val) : $val);
760
+		}
761
+		foreach ($_POST['default_options'] as $opt => $val) {
762
+					$inserts[] = array(0, 1, $opt, is_array($val) ? implode(',', $val) : $val);
763
+		}
738 764
 		// If we're actually inserting something..
739 765
 		if (!empty($inserts))
740 766
 		{
@@ -760,8 +786,9 @@  discard block
 block discarded – undo
760 786
 
761 787
 	foreach ($settings as $setting => $dummy)
762 788
 	{
763
-		if (!in_array($setting, array('theme_url', 'theme_dir', 'images_url', 'template_dirs')))
764
-			$settings[$setting] = htmlspecialchars__recursive($settings[$setting]);
789
+		if (!in_array($setting, array('theme_url', 'theme_dir', 'images_url', 'template_dirs'))) {
790
+					$settings[$setting] = htmlspecialchars__recursive($settings[$setting]);
791
+		}
765 792
 	}
766 793
 
767 794
 	$context['settings'] = $context['theme_settings'];
@@ -770,18 +797,21 @@  discard block
 block discarded – undo
770 797
 	foreach ($context['settings'] as $i => $setting)
771 798
 	{
772 799
 		// Separators are dummies, so leave them alone.
773
-		if (!is_array($setting))
774
-			continue;
800
+		if (!is_array($setting)) {
801
+					continue;
802
+		}
775 803
 
776
-		if (!isset($setting['type']) || $setting['type'] == 'bool')
777
-			$context['settings'][$i]['type'] = 'checkbox';
778
-		elseif ($setting['type'] == 'int' || $setting['type'] == 'integer')
779
-			$context['settings'][$i]['type'] = 'number';
780
-		elseif ($setting['type'] == 'string')
781
-			$context['settings'][$i]['type'] = 'text';
804
+		if (!isset($setting['type']) || $setting['type'] == 'bool') {
805
+					$context['settings'][$i]['type'] = 'checkbox';
806
+		} elseif ($setting['type'] == 'int' || $setting['type'] == 'integer') {
807
+					$context['settings'][$i]['type'] = 'number';
808
+		} elseif ($setting['type'] == 'string') {
809
+					$context['settings'][$i]['type'] = 'text';
810
+		}
782 811
 
783
-		if (isset($setting['options']))
784
-			$context['settings'][$i]['type'] = 'list';
812
+		if (isset($setting['options'])) {
813
+					$context['settings'][$i]['type'] = 'list';
814
+		}
785 815
 
786 816
 		$context['settings'][$i]['value'] = !isset($settings[$setting['id']]) ? '' : $settings[$setting['id']];
787 817
 	}
@@ -834,8 +864,9 @@  discard block
 block discarded – undo
834 864
 	$themeID = isset($_GET['th']) ? (int) $_GET['th'] : (int) $_GET['id'];
835 865
 
836 866
 	// You can't delete the default theme!
837
-	if ($themeID == 1)
838
-		fatal_lang_error('no_access', false);
867
+	if ($themeID == 1) {
868
+			fatal_lang_error('no_access', false);
869
+	}
839 870
 
840 871
 	$theme_info = get_single_theme($themeID);
841 872
 
@@ -843,8 +874,9 @@  discard block
 block discarded – undo
843 874
 	remove_theme($themeID);
844 875
 
845 876
 	// And remove all its files and folders too.
846
-	if (!empty($theme_info) && !empty($theme_info['theme_dir']))
847
-		remove_dir($theme_info['theme_dir']);
877
+	if (!empty($theme_info) && !empty($theme_info['theme_dir'])) {
878
+			remove_dir($theme_info['theme_dir']);
879
+	}
848 880
 
849 881
 	// Go back to the list page.
850 882
 	redirectexit('action=admin;area=theme;sa=list;' . $context['session_var'] . '=' . $context['session_id'] . ';done=removing');
@@ -869,12 +901,14 @@  discard block
 block discarded – undo
869 901
 	$enableThemes = explode(',', $modSettings['enableThemes']);
870 902
 
871 903
 	// Are we disabling it?
872
-	if (isset($_GET['disabled']))
873
-		$enableThemes = array_diff($enableThemes, array($themeID));
904
+	if (isset($_GET['disabled'])) {
905
+			$enableThemes = array_diff($enableThemes, array($themeID));
906
+	}
874 907
 
875 908
 	// Nope? then enable it!
876
-	else
877
-		$enableThemes[] = (string) $themeID;
909
+	else {
910
+			$enableThemes[] = (string) $themeID;
911
+	}
878 912
 
879 913
 	// Update the setting.
880 914
 	$enableThemes = strtr(implode(',', $enableThemes), array(',,' => ','));
@@ -909,18 +943,21 @@  discard block
 block discarded – undo
909 943
 
910 944
 	$_SESSION['id_theme'] = 0;
911 945
 
912
-	if (isset($_GET['id']))
913
-		$_GET['th'] = $_GET['id'];
946
+	if (isset($_GET['id'])) {
947
+			$_GET['th'] = $_GET['id'];
948
+	}
914 949
 
915 950
 	// Saving a variant cause JS doesn't work - pretend it did ;)
916 951
 	if (isset($_POST['save']))
917 952
 	{
918 953
 		// Which theme?
919
-		foreach ($_POST['save'] as $k => $v)
920
-			$_GET['th'] = (int) $k;
954
+		foreach ($_POST['save'] as $k => $v) {
955
+					$_GET['th'] = (int) $k;
956
+		}
921 957
 
922
-		if (isset($_POST['vrt'][$k]))
923
-			$_GET['vrt'] = $_POST['vrt'][$k];
958
+		if (isset($_POST['vrt'][$k])) {
959
+					$_GET['vrt'] = $_POST['vrt'][$k];
960
+		}
924 961
 	}
925 962
 
926 963
 	// Have we made a decision, or are we just browsing?
@@ -1009,10 +1046,10 @@  discard block
 block discarded – undo
1009 1046
 				);
1010 1047
 				cache_put_data('theme_settings-' . $_GET['th'] . ':' . (int) $_REQUEST['u'], null, 90);
1011 1048
 
1012
-				if ($user_info['id'] == $_REQUEST['u'])
1013
-					$_SESSION['id_variant'] = 0;
1014
-			}
1015
-			elseif ($_GET['th'] == 0)
1049
+				if ($user_info['id'] == $_REQUEST['u']) {
1050
+									$_SESSION['id_variant'] = 0;
1051
+				}
1052
+			} elseif ($_GET['th'] == 0)
1016 1053
 			{
1017 1054
 				// Remove any custom variants.
1018 1055
 				$smcFunc['db_query']('', '
@@ -1093,12 +1130,13 @@  discard block
 block discarded – undo
1093 1130
 		);
1094 1131
 		while ($row = $smcFunc['db_fetch_assoc']($request))
1095 1132
 		{
1096
-			if (!isset($context['available_themes'][$row['id_theme']]))
1097
-				$context['available_themes'][$row['id_theme']] = array(
1133
+			if (!isset($context['available_themes'][$row['id_theme']])) {
1134
+							$context['available_themes'][$row['id_theme']] = array(
1098 1135
 					'id' => $row['id_theme'],
1099 1136
 					'selected' => $context['current_theme'] == $row['id_theme'],
1100 1137
 					'num_users' => 0
1101 1138
 				);
1139
+			}
1102 1140
 			$context['available_themes'][$row['id_theme']][$row['variable']] = $row['value'];
1103 1141
 		}
1104 1142
 		$smcFunc['db_free_result']($request);
@@ -1111,9 +1149,9 @@  discard block
 block discarded – undo
1111 1149
 			'num_users' => 0
1112 1150
 		);
1113 1151
 		$guest_theme = 0;
1152
+	} else {
1153
+			$guest_theme = $modSettings['theme_guests'];
1114 1154
 	}
1115
-	else
1116
-		$guest_theme = $modSettings['theme_guests'];
1117 1155
 
1118 1156
 	$request = $smcFunc['db_query']('', '
1119 1157
 		SELECT id_theme, COUNT(*) AS the_count
@@ -1126,15 +1164,17 @@  discard block
 block discarded – undo
1126 1164
 	while ($row = $smcFunc['db_fetch_assoc']($request))
1127 1165
 	{
1128 1166
 		// Figure out which theme it is they are REALLY using.
1129
-		if (!empty($modSettings['knownThemes']) && !in_array($row['id_theme'], explode(',', $modSettings['knownThemes'])))
1130
-			$row['id_theme'] = $guest_theme;
1131
-		elseif (empty($modSettings['theme_allow']))
1132
-			$row['id_theme'] = $guest_theme;
1167
+		if (!empty($modSettings['knownThemes']) && !in_array($row['id_theme'], explode(',', $modSettings['knownThemes']))) {
1168
+					$row['id_theme'] = $guest_theme;
1169
+		} elseif (empty($modSettings['theme_allow'])) {
1170
+					$row['id_theme'] = $guest_theme;
1171
+		}
1133 1172
 
1134
-		if (isset($context['available_themes'][$row['id_theme']]))
1135
-			$context['available_themes'][$row['id_theme']]['num_users'] += $row['the_count'];
1136
-		else
1137
-			$context['available_themes'][$guest_theme]['num_users'] += $row['the_count'];
1173
+		if (isset($context['available_themes'][$row['id_theme']])) {
1174
+					$context['available_themes'][$row['id_theme']]['num_users'] += $row['the_count'];
1175
+		} else {
1176
+					$context['available_themes'][$guest_theme]['num_users'] += $row['the_count'];
1177
+		}
1138 1178
 	}
1139 1179
 	$smcFunc['db_free_result']($request);
1140 1180
 
@@ -1153,8 +1193,9 @@  discard block
 block discarded – undo
1153 1193
 				'id_member' => isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' ? array(-1, $context['current_member']) : array(-1),
1154 1194
 			)
1155 1195
 		);
1156
-		while ($row = $smcFunc['db_fetch_assoc']($request))
1157
-			$variant_preferences[$row['id_theme']] = $row['value'];
1196
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
1197
+					$variant_preferences[$row['id_theme']] = $row['value'];
1198
+		}
1158 1199
 		$smcFunc['db_free_result']($request);
1159 1200
 	}
1160 1201
 
@@ -1165,17 +1206,18 @@  discard block
 block discarded – undo
1165 1206
 	foreach ($context['available_themes'] as $id_theme => $theme_data)
1166 1207
 	{
1167 1208
 		// Don't try to load the forum or board default theme's data... it doesn't have any!
1168
-		if ($id_theme == 0)
1169
-			continue;
1209
+		if ($id_theme == 0) {
1210
+					continue;
1211
+		}
1170 1212
 
1171 1213
 		// The thumbnail needs the correct path.
1172 1214
 		$settings['images_url'] = &$theme_data['images_url'];
1173 1215
 
1174
-		if (file_exists($theme_data['theme_dir'] . '/languages/Settings.' . $user_info['language'] . '.php'))
1175
-			include($theme_data['theme_dir'] . '/languages/Settings.' . $user_info['language'] . '.php');
1176
-		elseif (file_exists($theme_data['theme_dir'] . '/languages/Settings.' . $language . '.php'))
1177
-			include($theme_data['theme_dir'] . '/languages/Settings.' . $language . '.php');
1178
-		else
1216
+		if (file_exists($theme_data['theme_dir'] . '/languages/Settings.' . $user_info['language'] . '.php')) {
1217
+					include($theme_data['theme_dir'] . '/languages/Settings.' . $user_info['language'] . '.php');
1218
+		} elseif (file_exists($theme_data['theme_dir'] . '/languages/Settings.' . $language . '.php')) {
1219
+					include($theme_data['theme_dir'] . '/languages/Settings.' . $language . '.php');
1220
+		} else
1179 1221
 		{
1180 1222
 			$txt['theme_thumbnail_href'] = $theme_data['images_url'] . '/thumbnail.png';
1181 1223
 			$txt['theme_description'] = '';
@@ -1200,15 +1242,17 @@  discard block
 block discarded – undo
1200 1242
 					loadLanguage('Settings');
1201 1243
 
1202 1244
 					$context['available_themes'][$id_theme]['variants'] = array();
1203
-					foreach ($settings['theme_variants'] as $variant)
1204
-						$context['available_themes'][$id_theme]['variants'][$variant] = array(
1245
+					foreach ($settings['theme_variants'] as $variant) {
1246
+											$context['available_themes'][$id_theme]['variants'][$variant] = array(
1205 1247
 							'label' => isset($txt['variant_' . $variant]) ? $txt['variant_' . $variant] : $variant,
1206 1248
 							'thumbnail' => !file_exists($theme_data['theme_dir'] . '/images/thumbnail.png') || file_exists($theme_data['theme_dir'] . '/images/thumbnail_' . $variant . '.png') ? $theme_data['images_url'] . '/thumbnail_' . $variant . '.png' : ($theme_data['images_url'] . '/thumbnail.png'),
1207 1249
 						);
1250
+					}
1208 1251
 
1209 1252
 					$context['available_themes'][$id_theme]['selected_variant'] = isset($_GET['vrt']) ? $_GET['vrt'] : (!empty($variant_preferences[$id_theme]) ? $variant_preferences[$id_theme] : (!empty($settings['default_variant']) ? $settings['default_variant'] : $settings['theme_variants'][0]));
1210
-					if (!isset($context['available_themes'][$id_theme]['variants'][$context['available_themes'][$id_theme]['selected_variant']]['thumbnail']))
1211
-						$context['available_themes'][$id_theme]['selected_variant'] = $settings['theme_variants'][0];
1253
+					if (!isset($context['available_themes'][$id_theme]['variants'][$context['available_themes'][$id_theme]['selected_variant']]['thumbnail'])) {
1254
+											$context['available_themes'][$id_theme]['selected_variant'] = $settings['theme_variants'][0];
1255
+					}
1212 1256
 
1213 1257
 					$context['available_themes'][$id_theme]['thumbnail_href'] = $context['available_themes'][$id_theme]['variants'][$context['available_themes'][$id_theme]['selected_variant']]['thumbnail'];
1214 1258
 					// Allow themes to override the text.
@@ -1224,8 +1268,9 @@  discard block
 block discarded – undo
1224 1268
 	// As long as we're not doing the default theme...
1225 1269
 	if (!isset($_REQUEST['u']) || $_REQUEST['u'] >= 0)
1226 1270
 	{
1227
-		if ($guest_theme != 0)
1228
-			$context['available_themes'][0] = $context['available_themes'][$guest_theme];
1271
+		if ($guest_theme != 0) {
1272
+					$context['available_themes'][0] = $context['available_themes'][$guest_theme];
1273
+		}
1229 1274
 
1230 1275
 		$context['available_themes'][0]['id'] = 0;
1231 1276
 		$context['available_themes'][0]['name'] = $txt['theme_forum_default'];
@@ -1274,14 +1319,16 @@  discard block
 block discarded – undo
1274 1319
 		$action = $smcFunc['htmlspecialchars'](trim($_GET['do']));
1275 1320
 
1276 1321
 		// Got any info from the specific form?
1277
-		if (!isset($_POST['save_' . $action]))
1278
-			fatal_lang_error('theme_install_no_action', false);
1322
+		if (!isset($_POST['save_' . $action])) {
1323
+					fatal_lang_error('theme_install_no_action', false);
1324
+		}
1279 1325
 
1280 1326
 		validateToken('admin-t-' . $action);
1281 1327
 
1282 1328
 		// Hopefully the themes directory is writable, or we might have a problem.
1283
-		if (!is_writable($themedir))
1284
-			fatal_lang_error('theme_install_write_error', 'critical');
1329
+		if (!is_writable($themedir)) {
1330
+					fatal_lang_error('theme_install_write_error', 'critical');
1331
+		}
1285 1332
 
1286 1333
 		// Call the function and handle the result.
1287 1334
 		$result = $subActions[$action]();
@@ -1296,9 +1343,10 @@  discard block
 block discarded – undo
1296 1343
 	}
1297 1344
 
1298 1345
 	// Nope, show a nice error.
1299
-	else
1300
-		fatal_lang_error('theme_install_no_action', false);
1301
-}
1346
+	else {
1347
+			fatal_lang_error('theme_install_no_action', false);
1348
+	}
1349
+	}
1302 1350
 
1303 1351
 /**
1304 1352
  * Installs a theme from a theme package.
@@ -1314,8 +1362,9 @@  discard block
 block discarded – undo
1314 1362
 	$dirtemp = $themedir . '/temp';
1315 1363
 
1316 1364
 	// Make sure the temp dir doesn't already exist
1317
-	if (file_exists($dirtemp))
1318
-		remove_dir($dirtemp);
1365
+	if (file_exists($dirtemp)) {
1366
+			remove_dir($dirtemp);
1367
+	}
1319 1368
 
1320 1369
 	// Create the temp dir.
1321 1370
 	mkdir($dirtemp, 0777);
@@ -1327,17 +1376,20 @@  discard block
 block discarded – undo
1327 1376
 		smf_chmod($dirtemp, '0755');
1328 1377
 
1329 1378
 		// How about now?
1330
-		if (!is_writable($dirtemp))
1331
-			fatal_lang_error('theme_install_write_error', 'critical');
1379
+		if (!is_writable($dirtemp)) {
1380
+					fatal_lang_error('theme_install_write_error', 'critical');
1381
+		}
1332 1382
 	}
1333 1383
 
1334 1384
 	// This happens when the admin session is gone and the user has to login again.
1335
-	if (!isset($_FILES) || !isset($_FILES['theme_gz']) || empty($_FILES['theme_gz']))
1336
-		redirectexit('action=admin;area=theme;sa=admin;' . $context['session_var'] . '=' . $context['session_id']);
1385
+	if (!isset($_FILES) || !isset($_FILES['theme_gz']) || empty($_FILES['theme_gz'])) {
1386
+			redirectexit('action=admin;area=theme;sa=admin;' . $context['session_var'] . '=' . $context['session_id']);
1387
+	}
1337 1388
 
1338 1389
 	// Another error check layer, something went wrong with the upload.
1339
-	if (isset($_FILES['theme_gz']['error']) && $_FILES['theme_gz']['error'] != 0)
1340
-		fatal_lang_error('theme_install_error_file_' . $_FILES['theme_gz']['error'], false);
1390
+	if (isset($_FILES['theme_gz']['error']) && $_FILES['theme_gz']['error'] != 0) {
1391
+			fatal_lang_error('theme_install_error_file_' . $_FILES['theme_gz']['error'], false);
1392
+	}
1341 1393
 
1342 1394
 	// Get the theme's name.
1343 1395
 	$name = pathinfo($_FILES['theme_gz']['name'], PATHINFO_FILENAME);
@@ -1368,11 +1420,10 @@  discard block
 block discarded – undo
1368 1420
 
1369 1421
 		// return all the info.
1370 1422
 		return $context['to_install'];
1423
+	} else {
1424
+			fatal_lang_error('theme_install_error_title', false);
1425
+	}
1371 1426
 	}
1372
-
1373
-	else
1374
-		fatal_lang_error('theme_install_error_title', false);
1375
-}
1376 1427
 
1377 1428
 /**
1378 1429
  * Makes a copy from the default theme, assigns a name for it and installs it.
@@ -1386,15 +1437,17 @@  discard block
 block discarded – undo
1386 1437
 	global $forum_version;
1387 1438
 
1388 1439
 	// There's gotta be something to work with.
1389
-	if (!isset($_REQUEST['copy']) || empty($_REQUEST['copy']))
1390
-		fatal_lang_error('theme_install_error_title', false);
1440
+	if (!isset($_REQUEST['copy']) || empty($_REQUEST['copy'])) {
1441
+			fatal_lang_error('theme_install_error_title', false);
1442
+	}
1391 1443
 
1392 1444
 	// Get a cleaner version.
1393 1445
 	$name = preg_replace('~[^A-Za-z0-9_\- ]~', '', $_REQUEST['copy']);
1394 1446
 
1395 1447
 	// Is there a theme already named like this?
1396
-	if (file_exists($themedir . '/' . $name))
1397
-		fatal_lang_error('theme_install_already_dir', false);
1448
+	if (file_exists($themedir . '/' . $name)) {
1449
+			fatal_lang_error('theme_install_already_dir', false);
1450
+	}
1398 1451
 
1399 1452
 	// This is a brand new theme so set all possible values.
1400 1453
 	$context['to_install'] = array(
@@ -1414,8 +1467,9 @@  discard block
 block discarded – undo
1414 1467
 
1415 1468
 	// Buy some time.
1416 1469
 	@set_time_limit(600);
1417
-	if (function_exists('apache_reset_timeout'))
1418
-		@apache_reset_timeout();
1470
+	if (function_exists('apache_reset_timeout')) {
1471
+			@apache_reset_timeout();
1472
+	}
1419 1473
 
1420 1474
 	// Create subdirectories for css and javascript files.
1421 1475
 	mkdir($context['to_install']['theme_dir'] . '/css', 0777);
@@ -1451,12 +1505,13 @@  discard block
 block discarded – undo
1451 1505
 
1452 1506
 	while ($row = $smcFunc['db_fetch_assoc']($request))
1453 1507
 	{
1454
-		if ($row['variable'] == 'theme_templates')
1455
-			$theme_templates = $row['value'];
1456
-		elseif ($row['variable'] == 'theme_layers')
1457
-			$theme_layers = $row['value'];
1458
-		else
1459
-			continue;
1508
+		if ($row['variable'] == 'theme_templates') {
1509
+					$theme_templates = $row['value'];
1510
+		} elseif ($row['variable'] == 'theme_layers') {
1511
+					$theme_layers = $row['value'];
1512
+		} else {
1513
+					continue;
1514
+		}
1460 1515
 	}
1461 1516
 
1462 1517
 	$smcFunc['db_free_result']($request);
@@ -1515,12 +1570,14 @@  discard block
 block discarded – undo
1515 1570
 	global $themedir, $themeurl, $context;
1516 1571
 
1517 1572
 	// Cannot use the theme dir as a theme dir.
1518
-	if (!isset($_REQUEST['theme_dir']) || empty($_REQUEST['theme_dir']) || rtrim(realpath($_REQUEST['theme_dir']), '/\\') == realpath($themedir))
1519
-		fatal_lang_error('theme_install_invalid_dir', false);
1573
+	if (!isset($_REQUEST['theme_dir']) || empty($_REQUEST['theme_dir']) || rtrim(realpath($_REQUEST['theme_dir']), '/\\') == realpath($themedir)) {
1574
+			fatal_lang_error('theme_install_invalid_dir', false);
1575
+	}
1520 1576
 
1521 1577
 	// Check is there is "something" on the dir.
1522
-	elseif (!is_dir($_REQUEST['theme_dir']) || !file_exists($_REQUEST['theme_dir'] . '/theme_info.xml'))
1523
-		fatal_lang_error('theme_install_error', false);
1578
+	elseif (!is_dir($_REQUEST['theme_dir']) || !file_exists($_REQUEST['theme_dir'] . '/theme_info.xml')) {
1579
+			fatal_lang_error('theme_install_error', false);
1580
+	}
1524 1581
 
1525 1582
 	$name = basename($_REQUEST['theme_dir']);
1526 1583
 	$name = preg_replace(array('/\s/', '/\.[\.]+/', '/[^\w_\.\-]/'), array('_', '.', ''), $name);
@@ -1564,24 +1621,27 @@  discard block
 block discarded – undo
1564 1621
 	}
1565 1622
 
1566 1623
 	// Any special layers?
1567
-	if (isset($settings['catch_action']['layers']))
1568
-		$context['template_layers'] = $settings['catch_action']['layers'];
1624
+	if (isset($settings['catch_action']['layers'])) {
1625
+			$context['template_layers'] = $settings['catch_action']['layers'];
1626
+	}
1569 1627
 
1570 1628
 	// Any function to call?
1571 1629
 	if (isset($settings['catch_action']['function']))
1572 1630
 	{
1573 1631
 		$hook = $settings['catch_action']['function'];
1574 1632
 
1575
-		if (!isset($settings['catch_action']['filename']))
1576
-			$settings['catch_action']['filename'] = '';
1633
+		if (!isset($settings['catch_action']['filename'])) {
1634
+					$settings['catch_action']['filename'] = '';
1635
+		}
1577 1636
 
1578 1637
 		add_integration_function('integrate_wrap_action', $hook, false, $settings['catch_action']['filename'], false);
1579 1638
 		call_integration_hook('integrate_wrap_action');
1580 1639
 	}
1581 1640
 	// And finally, the main sub template ;).
1582
-	if (isset($settings['catch_action']['sub_template']))
1583
-		$context['sub_template'] = $settings['catch_action']['sub_template'];
1584
-}
1641
+	if (isset($settings['catch_action']['sub_template'])) {
1642
+			$context['sub_template'] = $settings['catch_action']['sub_template'];
1643
+	}
1644
+	}
1585 1645
 
1586 1646
 /**
1587 1647
  * Set an option via javascript.
@@ -1600,12 +1660,14 @@  discard block
 block discarded – undo
1600 1660
 	checkSession('get');
1601 1661
 
1602 1662
 	// This good-for-nothing pixel is being used to keep the session alive.
1603
-	if (empty($_GET['var']) || !isset($_GET['val']))
1604
-		redirectexit($settings['images_url'] . '/blank.png');
1663
+	if (empty($_GET['var']) || !isset($_GET['val'])) {
1664
+			redirectexit($settings['images_url'] . '/blank.png');
1665
+	}
1605 1666
 
1606 1667
 	// Sorry, guests can't go any further than this.
1607
-	if ($user_info['is_guest'] || $user_info['id'] == 0)
1608
-		obExit(false);
1668
+	if ($user_info['is_guest'] || $user_info['id'] == 0) {
1669
+			obExit(false);
1670
+	}
1609 1671
 
1610 1672
 	$reservedVars = array(
1611 1673
 		'actual_theme_url',
@@ -1628,8 +1690,9 @@  discard block
 block discarded – undo
1628 1690
 	);
1629 1691
 
1630 1692
 	// Can't change reserved vars.
1631
-	if (in_array(strtolower($_GET['var']), $reservedVars))
1632
-		redirectexit($settings['images_url'] . '/blank.png');
1693
+	if (in_array(strtolower($_GET['var']), $reservedVars)) {
1694
+			redirectexit($settings['images_url'] . '/blank.png');
1695
+	}
1633 1696
 
1634 1697
 	// Use a specific theme?
1635 1698
 	if (isset($_GET['th']) || isset($_GET['id']))
@@ -1645,8 +1708,9 @@  discard block
 block discarded – undo
1645 1708
 	{
1646 1709
 		$options['admin_preferences'] = !empty($options['admin_preferences']) ? $smcFunc['json_decode']($options['admin_preferences'], true) : array();
1647 1710
 		// New thingy...
1648
-		if (isset($_GET['admin_key']) && strlen($_GET['admin_key']) < 5)
1649
-			$options['admin_preferences'][$_GET['admin_key']] = $_GET['val'];
1711
+		if (isset($_GET['admin_key']) && strlen($_GET['admin_key']) < 5) {
1712
+					$options['admin_preferences'][$_GET['admin_key']] = $_GET['val'];
1713
+		}
1650 1714
 
1651 1715
 		// Change the value to be something nice,
1652 1716
 		$_GET['val'] = $smcFunc['json_encode']($options['admin_preferences']);
@@ -1676,8 +1740,9 @@  discard block
 block discarded – undo
1676 1740
 	global $context, $scripturl, $boarddir, $smcFunc, $txt;
1677 1741
 
1678 1742
 	// @todo Should this be removed?
1679
-	if (isset($_REQUEST['preview']))
1680
-		die('die() with fire');
1743
+	if (isset($_REQUEST['preview'])) {
1744
+			die('die() with fire');
1745
+	}
1681 1746
 
1682 1747
 	isAllowedTo('admin_forum');
1683 1748
 	loadTemplate('Themes');
@@ -1691,11 +1756,11 @@  discard block
 block discarded – undo
1691 1756
 		foreach ($context['themes'] as $key => $theme)
1692 1757
 		{
1693 1758
 			// There has to be a Settings template!
1694
-			if (!file_exists($theme['theme_dir'] . '/index.template.php') && !file_exists($theme['theme_dir'] . '/css/index.css'))
1695
-				unset($context['themes'][$key]);
1696
-
1697
-			else
1698
-				$context['themes'][$key]['can_edit_style'] = file_exists($theme['theme_dir'] . '/css/index.css');
1759
+			if (!file_exists($theme['theme_dir'] . '/index.template.php') && !file_exists($theme['theme_dir'] . '/css/index.css')) {
1760
+							unset($context['themes'][$key]);
1761
+			} else {
1762
+							$context['themes'][$key]['can_edit_style'] = file_exists($theme['theme_dir'] . '/css/index.css');
1763
+			}
1699 1764
 		}
1700 1765
 
1701 1766
 		$context['sub_template'] = 'edit_list';
@@ -1710,22 +1775,24 @@  discard block
 block discarded – undo
1710 1775
 	$context['theme_id'] = $currentTheme['id'];
1711 1776
 	$context['browse_title'] = sprintf($txt['themeadmin_browsing_theme'], $currentTheme['name']);
1712 1777
 
1713
-	if (!file_exists($currentTheme['theme_dir'] . '/index.template.php') && !file_exists($currentTheme['theme_dir'] . '/css/index.css'))
1714
-		fatal_lang_error('theme_edit_missing', false);
1778
+	if (!file_exists($currentTheme['theme_dir'] . '/index.template.php') && !file_exists($currentTheme['theme_dir'] . '/css/index.css')) {
1779
+			fatal_lang_error('theme_edit_missing', false);
1780
+	}
1715 1781
 
1716 1782
 	if (!isset($_REQUEST['filename']))
1717 1783
 	{
1718 1784
 		if (isset($_GET['directory']))
1719 1785
 		{
1720
-			if (substr($_GET['directory'], 0, 1) == '.')
1721
-				$_GET['directory'] = '';
1722
-			else
1786
+			if (substr($_GET['directory'], 0, 1) == '.') {
1787
+							$_GET['directory'] = '';
1788
+			} else
1723 1789
 			{
1724 1790
 				$_GET['directory'] = preg_replace(array('~^[\./\\:\0\n\r]+~', '~[\\\\]~', '~/[\./]+~'), array('', '/', '/'), $_GET['directory']);
1725 1791
 
1726 1792
 				$temp = realpath($currentTheme['theme_dir'] . '/' . $_GET['directory']);
1727
-				if (empty($temp) || substr($temp, 0, strlen(realpath($currentTheme['theme_dir']))) != realpath($currentTheme['theme_dir']))
1728
-					$_GET['directory'] = '';
1793
+				if (empty($temp) || substr($temp, 0, strlen(realpath($currentTheme['theme_dir']))) != realpath($currentTheme['theme_dir'])) {
1794
+									$_GET['directory'] = '';
1795
+				}
1729 1796
 			}
1730 1797
 		}
1731 1798
 
@@ -1744,37 +1811,39 @@  discard block
 block discarded – undo
1744 1811
 				'href' => $scripturl . '?action=admin;area=theme;th=' . $_GET['th'] . ';' . $context['session_var'] . '=' . $context['session_id'] . ';sa=edit;directory=' . $temp,
1745 1812
 				'size' => '',
1746 1813
 			));
1814
+		} else {
1815
+					$context['theme_files'] = get_file_listing($currentTheme['theme_dir'], '');
1747 1816
 		}
1748
-		else
1749
-			$context['theme_files'] = get_file_listing($currentTheme['theme_dir'], '');
1750 1817
 
1751 1818
 		$context['sub_template'] = 'edit_browse';
1752 1819
 
1753 1820
 		return;
1754
-	}
1755
-	else
1821
+	} else
1756 1822
 	{
1757
-		if (substr($_REQUEST['filename'], 0, 1) == '.')
1758
-			$_REQUEST['filename'] = '';
1759
-		else
1823
+		if (substr($_REQUEST['filename'], 0, 1) == '.') {
1824
+					$_REQUEST['filename'] = '';
1825
+		} else
1760 1826
 		{
1761 1827
 			$_REQUEST['filename'] = preg_replace(array('~^[\./\\:\0\n\r]+~', '~[\\\\]~', '~/[\./]+~'), array('', '/', '/'), $_REQUEST['filename']);
1762 1828
 
1763 1829
 			$temp = realpath($currentTheme['theme_dir'] . '/' . $_REQUEST['filename']);
1764
-			if (empty($temp) || substr($temp, 0, strlen(realpath($currentTheme['theme_dir']))) != realpath($currentTheme['theme_dir']))
1765
-				$_REQUEST['filename'] = '';
1830
+			if (empty($temp) || substr($temp, 0, strlen(realpath($currentTheme['theme_dir']))) != realpath($currentTheme['theme_dir'])) {
1831
+							$_REQUEST['filename'] = '';
1832
+			}
1766 1833
 		}
1767 1834
 
1768
-		if (empty($_REQUEST['filename']))
1769
-			fatal_lang_error('theme_edit_missing', false);
1835
+		if (empty($_REQUEST['filename'])) {
1836
+					fatal_lang_error('theme_edit_missing', false);
1837
+		}
1770 1838
 	}
1771 1839
 
1772 1840
 	if (isset($_POST['save']))
1773 1841
 	{
1774 1842
 		if (checkSession('post', '', false) == '' && validateToken('admin-te-' . md5($_GET['th'] . '-' . $_REQUEST['filename']), 'post', false) == true)
1775 1843
 		{
1776
-			if (is_array($_POST['entire_file']))
1777
-				$_POST['entire_file'] = implode("\n", $_POST['entire_file']);
1844
+			if (is_array($_POST['entire_file'])) {
1845
+							$_POST['entire_file'] = implode("\n", $_POST['entire_file']);
1846
+			}
1778 1847
 
1779 1848
 			$_POST['entire_file'] = rtrim(strtr($_POST['entire_file'], array("\r" => '', '   ' => "\t")));
1780 1849
 
@@ -1786,10 +1855,11 @@  discard block
 block discarded – undo
1786 1855
 				fclose($fp);
1787 1856
 
1788 1857
 				$error = @file_get_contents($currentTheme['theme_url'] . '/tmp_' . session_id() . '.php');
1789
-				if (preg_match('~ <b>(\d+)</b><br( /)?' . '>$~i', $error) != 0)
1790
-					$error_file = $currentTheme['theme_dir'] . '/tmp_' . session_id() . '.php';
1791
-				else
1792
-					unlink($currentTheme['theme_dir'] . '/tmp_' . session_id() . '.php');
1858
+				if (preg_match('~ <b>(\d+)</b><br( /)?' . '>$~i', $error) != 0) {
1859
+									$error_file = $currentTheme['theme_dir'] . '/tmp_' . session_id() . '.php';
1860
+				} else {
1861
+									unlink($currentTheme['theme_dir'] . '/tmp_' . session_id() . '.php');
1862
+				}
1793 1863
 			}
1794 1864
 
1795 1865
 			if (!isset($error_file))
@@ -1810,10 +1880,11 @@  discard block
 block discarded – undo
1810 1880
 			$context['sub_template'] = 'edit_file';
1811 1881
 
1812 1882
 			// Recycle the submitted data.
1813
-			if (is_array($_POST['entire_file']))
1814
-				$context['entire_file'] = $smcFunc['htmlspecialchars'](implode("\n", $_POST['entire_file']));
1815
-			else
1816
-				$context['entire_file'] = $smcFunc['htmlspecialchars']($_POST['entire_file']);
1883
+			if (is_array($_POST['entire_file'])) {
1884
+							$context['entire_file'] = $smcFunc['htmlspecialchars'](implode("\n", $_POST['entire_file']));
1885
+			} else {
1886
+							$context['entire_file'] = $smcFunc['htmlspecialchars']($_POST['entire_file']);
1887
+			}
1817 1888
 
1818 1889
 			$context['edit_filename'] = $smcFunc['htmlspecialchars']($_POST['filename']);
1819 1890
 
@@ -1836,17 +1907,17 @@  discard block
 block discarded – undo
1836 1907
 		$context['sub_template'] = 'edit_style';
1837 1908
 
1838 1909
 		$context['entire_file'] = $smcFunc['htmlspecialchars'](strtr(file_get_contents($currentTheme['theme_dir'] . '/' . $_REQUEST['filename']), array("\t" => '   ')));
1839
-	}
1840
-	elseif (substr($_REQUEST['filename'], -13) == '.template.php')
1910
+	} elseif (substr($_REQUEST['filename'], -13) == '.template.php')
1841 1911
 	{
1842 1912
 		$context['sub_template'] = 'edit_template';
1843 1913
 
1844
-		if (!isset($error_file))
1845
-			$file_data = file($currentTheme['theme_dir'] . '/' . $_REQUEST['filename']);
1846
-		else
1914
+		if (!isset($error_file)) {
1915
+					$file_data = file($currentTheme['theme_dir'] . '/' . $_REQUEST['filename']);
1916
+		} else
1847 1917
 		{
1848
-			if (preg_match('~(<b>.+?</b>:.+?<b>).+?(</b>.+?<b>\d+</b>)<br( /)?' . '>$~i', $error, $match) != 0)
1849
-				$context['parse_error'] = $match[1] . $_REQUEST['filename'] . $match[2];
1918
+			if (preg_match('~(<b>.+?</b>:.+?<b>).+?(</b>.+?<b>\d+</b>)<br( /)?' . '>$~i', $error, $match) != 0) {
1919
+							$context['parse_error'] = $match[1] . $_REQUEST['filename'] . $match[2];
1920
+			}
1850 1921
 			$file_data = file($error_file);
1851 1922
 			unlink($error_file);
1852 1923
 		}
@@ -1860,8 +1931,9 @@  discard block
 block discarded – undo
1860 1931
 				// Try to format the functions a little nicer...
1861 1932
 				$context['file_parts'][$j]['data'] = trim($context['file_parts'][$j]['data']) . "\n";
1862 1933
 
1863
-				if (empty($context['file_parts'][$j]['lines']))
1864
-					unset($context['file_parts'][$j]);
1934
+				if (empty($context['file_parts'][$j]['lines'])) {
1935
+									unset($context['file_parts'][$j]);
1936
+				}
1865 1937
 				$context['file_parts'][++$j] = array('lines' => 0, 'line' => $i + 1, 'data' => '');
1866 1938
 			}
1867 1939
 
@@ -1870,8 +1942,7 @@  discard block
 block discarded – undo
1870 1942
 		}
1871 1943
 
1872 1944
 		$context['entire_file'] = $smcFunc['htmlspecialchars'](strtr(implode('', $file_data), array("\t" => '   ')));
1873
-	}
1874
-	else
1945
+	} else
1875 1946
 	{
1876 1947
 		$context['sub_template'] = 'edit_file';
1877 1948
 
@@ -1897,8 +1968,9 @@  discard block
 block discarded – undo
1897 1968
 
1898 1969
 	$_GET['th'] = isset($_GET['th']) ? (int) $_GET['th'] : (int) $_GET['id'];
1899 1970
 
1900
-	if (empty($_GET['th']))
1901
-		fatal_lang_error('theme_install_invalid_id');
1971
+	if (empty($_GET['th'])) {
1972
+			fatal_lang_error('theme_install_invalid_id');
1973
+	}
1902 1974
 
1903 1975
 	// Get the theme info.
1904 1976
 	$theme = get_single_theme($_GET['th']);
@@ -1906,25 +1978,24 @@  discard block
 block discarded – undo
1906 1978
 
1907 1979
 	if (isset($_REQUEST['template']) && preg_match('~[\./\\\\:\0]~', $_REQUEST['template']) == 0)
1908 1980
 	{
1909
-		if (file_exists($settings['default_theme_dir'] . '/' . $_REQUEST['template'] . '.template.php'))
1910
-			$filename = $settings['default_theme_dir'] . '/' . $_REQUEST['template'] . '.template.php';
1911
-
1912
-		else
1913
-			fatal_lang_error('no_access', false);
1981
+		if (file_exists($settings['default_theme_dir'] . '/' . $_REQUEST['template'] . '.template.php')) {
1982
+					$filename = $settings['default_theme_dir'] . '/' . $_REQUEST['template'] . '.template.php';
1983
+		} else {
1984
+					fatal_lang_error('no_access', false);
1985
+		}
1914 1986
 
1915 1987
 		$fp = fopen($theme['theme_dir'] . '/' . $_REQUEST['template'] . '.template.php', 'w');
1916 1988
 		fwrite($fp, file_get_contents($filename));
1917 1989
 		fclose($fp);
1918 1990
 
1919 1991
 		redirectexit('action=admin;area=theme;th=' . $context['theme_id'] . ';' . $context['session_var'] . '=' . $context['session_id'] . ';sa=copy');
1920
-	}
1921
-	elseif (isset($_REQUEST['lang_file']) && preg_match('~^[^\./\\\\:\0]\.[^\./\\\\:\0]$~', $_REQUEST['lang_file']) != 0)
1992
+	} elseif (isset($_REQUEST['lang_file']) && preg_match('~^[^\./\\\\:\0]\.[^\./\\\\:\0]$~', $_REQUEST['lang_file']) != 0)
1922 1993
 	{
1923
-		if (file_exists($settings['default_theme_dir'] . '/languages/' . $_REQUEST['template'] . '.php'))
1924
-			$filename = $settings['default_theme_dir'] . '/languages/' . $_REQUEST['template'] . '.php';
1925
-
1926
-		else
1927
-			fatal_lang_error('no_access', false);
1994
+		if (file_exists($settings['default_theme_dir'] . '/languages/' . $_REQUEST['template'] . '.php')) {
1995
+					$filename = $settings['default_theme_dir'] . '/languages/' . $_REQUEST['template'] . '.php';
1996
+		} else {
1997
+					fatal_lang_error('no_access', false);
1998
+		}
1928 1999
 
1929 2000
 		$fp = fopen($theme['theme_dir'] . '/languages/' . $_REQUEST['lang_file'] . '.php', 'w');
1930 2001
 		fwrite($fp, file_get_contents($filename));
@@ -1939,16 +2010,18 @@  discard block
 block discarded – undo
1939 2010
 	$dir = dir($settings['default_theme_dir']);
1940 2011
 	while ($entry = $dir->read())
1941 2012
 	{
1942
-		if (substr($entry, -13) == '.template.php')
1943
-			$templates[] = substr($entry, 0, -13);
2013
+		if (substr($entry, -13) == '.template.php') {
2014
+					$templates[] = substr($entry, 0, -13);
2015
+		}
1944 2016
 	}
1945 2017
 	$dir->close();
1946 2018
 
1947 2019
 	$dir = dir($settings['default_theme_dir'] . '/languages');
1948 2020
 	while ($entry = $dir->read())
1949 2021
 	{
1950
-		if (preg_match('~^([^\.]+\.[^\.]+)\.php$~', $entry, $matches))
1951
-			$lang_files[] = $matches[1];
2022
+		if (preg_match('~^([^\.]+\.[^\.]+)\.php$~', $entry, $matches)) {
2023
+					$lang_files[] = $matches[1];
2024
+		}
1952 2025
 	}
1953 2026
 	$dir->close();
1954 2027
 
@@ -1956,21 +2029,23 @@  discard block
 block discarded – undo
1956 2029
 	natcasesort($lang_files);
1957 2030
 
1958 2031
 	$context['available_templates'] = array();
1959
-	foreach ($templates as $template)
1960
-		$context['available_templates'][$template] = array(
2032
+	foreach ($templates as $template) {
2033
+			$context['available_templates'][$template] = array(
1961 2034
 			'filename' => $template . '.template.php',
1962 2035
 			'value' => $template,
1963 2036
 			'already_exists' => false,
1964 2037
 			'can_copy' => is_writable($theme['theme_dir']),
1965 2038
 		);
2039
+	}
1966 2040
 	$context['available_language_files'] = array();
1967
-	foreach ($lang_files as $file)
1968
-		$context['available_language_files'][$file] = array(
2041
+	foreach ($lang_files as $file) {
2042
+			$context['available_language_files'][$file] = array(
1969 2043
 			'filename' => $file . '.php',
1970 2044
 			'value' => $file,
1971 2045
 			'already_exists' => false,
1972 2046
 			'can_copy' => file_exists($theme['theme_dir'] . '/languages') ? is_writable($theme['theme_dir'] . '/languages') : is_writable($theme['theme_dir']),
1973 2047
 		);
2048
+	}
1974 2049
 
1975 2050
 	$dir = dir($theme['theme_dir']);
1976 2051
 	while ($entry = $dir->read())
Please login to merge, or discard this patch.
Sources/ManageMembers.php 1 patch
Braces   +163 added lines, -122 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 4
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	die('No direct access...');
18
+}
18 19
 
19 20
 /**
20 21
  * The main entrance point for the Manage Members screen.
@@ -62,16 +63,18 @@  discard block
 block discarded – undo
62 63
 	$context['activation_numbers'] = array();
63 64
 	$context['awaiting_activation'] = 0;
64 65
 	$context['awaiting_approval'] = 0;
65
-	while ($row = $smcFunc['db_fetch_assoc']($request))
66
-		$context['activation_numbers'][$row['is_activated']] = $row['total_members'];
66
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
67
+			$context['activation_numbers'][$row['is_activated']] = $row['total_members'];
68
+	}
67 69
 	$smcFunc['db_free_result']($request);
68 70
 
69 71
 	foreach ($context['activation_numbers'] as $activation_type => $total_members)
70 72
 	{
71
-		if (in_array($activation_type, array(0, 2)))
72
-			$context['awaiting_activation'] += $total_members;
73
-		elseif (in_array($activation_type, array(3, 4, 5)))
74
-			$context['awaiting_approval'] += $total_members;
73
+		if (in_array($activation_type, array(0, 2))) {
74
+					$context['awaiting_activation'] += $total_members;
75
+		} elseif (in_array($activation_type, array(3, 4, 5))) {
76
+					$context['awaiting_approval'] += $total_members;
77
+		}
75 78
 	}
76 79
 
77 80
 	// For the page header... do we show activation?
@@ -124,8 +127,9 @@  discard block
 block discarded – undo
124 127
 	}
125 128
 	if (!$context['show_approve'] && ($_REQUEST['sa'] != 'browse' || $_REQUEST['type'] != 'approve'))
126 129
 	{
127
-		if (!$context['show_activate'] && ($_REQUEST['sa'] != 'browse' || $_REQUEST['type'] != 'activate'))
128
-			$context['tabs']['search']['is_last'] = true;
130
+		if (!$context['show_activate'] && ($_REQUEST['sa'] != 'browse' || $_REQUEST['type'] != 'activate')) {
131
+					$context['tabs']['search']['is_last'] = true;
132
+		}
129 133
 		unset($context['tabs']['approve']);
130 134
 	}
131 135
 
@@ -157,8 +161,9 @@  discard block
 block discarded – undo
157 161
 		foreach ($_POST['delete'] as $key => $value)
158 162
 		{
159 163
 			// Don't delete yourself, idiot.
160
-			if ($value != $user_info['id'])
161
-				$delete[$key] = (int) $value;
164
+			if ($value != $user_info['id']) {
165
+							$delete[$key] = (int) $value;
166
+			}
162 167
 		}
163 168
 
164 169
 		if (!empty($delete))
@@ -194,17 +199,18 @@  discard block
 block discarded – undo
194 199
 		);
195 200
 		while ($row = $smcFunc['db_fetch_assoc']($request))
196 201
 		{
197
-			if ($row['min_posts'] == -1)
198
-				$context['membergroups'][] = array(
202
+			if ($row['min_posts'] == -1) {
203
+							$context['membergroups'][] = array(
199 204
 					'id' => $row['id_group'],
200 205
 					'name' => $row['group_name'],
201 206
 					'can_be_additional' => true
202 207
 				);
203
-			else
204
-				$context['postgroups'][] = array(
208
+			} else {
209
+							$context['postgroups'][] = array(
205 210
 					'id' => $row['id_group'],
206 211
 					'name' => $row['group_name']
207 212
 				);
213
+			}
208 214
 		}
209 215
 		$smcFunc['db_free_result']($request);
210 216
 
@@ -276,14 +282,15 @@  discard block
 block discarded – undo
276 282
 		call_integration_hook('integrate_view_members_params', array(&$params));
277 283
 
278 284
 		$search_params = array();
279
-		if ($context['sub_action'] == 'query' && !empty($_REQUEST['params']) && empty($_POST['types']))
280
-			$search_params = $smcFunc['json_decode'](base64_decode($_REQUEST['params']), true);
281
-		elseif (!empty($_POST))
285
+		if ($context['sub_action'] == 'query' && !empty($_REQUEST['params']) && empty($_POST['types'])) {
286
+					$search_params = $smcFunc['json_decode'](base64_decode($_REQUEST['params']), true);
287
+		} elseif (!empty($_POST))
282 288
 		{
283 289
 			$search_params['types'] = $_POST['types'];
284
-			foreach ($params as $param_name => $param_info)
285
-				if (isset($_POST[$param_name]))
290
+			foreach ($params as $param_name => $param_info) {
291
+							if (isset($_POST[$param_name]))
286 292
 					$search_params[$param_name] = $_POST[$param_name];
293
+			}
287 294
 		}
288 295
 
289 296
 		$search_url_params = isset($search_params) ? base64_encode($smcFunc['json_encode']($search_params)) : null;
@@ -296,34 +303,38 @@  discard block
 block discarded – undo
296 303
 		foreach ($params as $param_name => $param_info)
297 304
 		{
298 305
 			// Not filled in?
299
-			if (!isset($search_params[$param_name]) || $search_params[$param_name] === '')
300
-				continue;
306
+			if (!isset($search_params[$param_name]) || $search_params[$param_name] === '') {
307
+							continue;
308
+			}
301 309
 
302 310
 			// Make sure numeric values are really numeric.
303
-			if (in_array($param_info['type'], array('int', 'age')))
304
-				$search_params[$param_name] = (int) $search_params[$param_name];
311
+			if (in_array($param_info['type'], array('int', 'age'))) {
312
+							$search_params[$param_name] = (int) $search_params[$param_name];
313
+			}
305 314
 			// Date values have to match the specified format.
306 315
 			elseif ($param_info['type'] == 'date')
307 316
 			{
308 317
 				// Check if this date format is valid.
309
-				if (preg_match('/^\d{4}-\d{1,2}-\d{1,2}$/', $search_params[$param_name]) == 0)
310
-					continue;
318
+				if (preg_match('/^\d{4}-\d{1,2}-\d{1,2}$/', $search_params[$param_name]) == 0) {
319
+									continue;
320
+				}
311 321
 
312 322
 				$search_params[$param_name] = strtotime($search_params[$param_name]);
313
-			}
314
-			elseif ($param_info['type'] == 'inet')
323
+			} elseif ($param_info['type'] == 'inet')
315 324
 			{
316 325
 				$search_params[$param_name] = ip2range($search_params[$param_name]);
317
-				if (empty($search_params[$param_name]))
318
-					continue;
326
+				if (empty($search_params[$param_name])) {
327
+									continue;
328
+				}
319 329
 			}
320 330
 
321 331
 			// Those values that are in some kind of range (<, <=, =, >=, >).
322 332
 			if (!empty($param_info['range']))
323 333
 			{
324 334
 				// Default to '=', just in case...
325
-				if (empty($range_trans[$search_params['types'][$param_name]]))
326
-					$search_params['types'][$param_name] = '=';
335
+				if (empty($range_trans[$search_params['types'][$param_name]])) {
336
+									$search_params['types'][$param_name] = '=';
337
+				}
327 338
 
328 339
 				// Handle special case 'age'.
329 340
 				if ($param_info['type'] == 'age')
@@ -351,16 +362,17 @@  discard block
 block discarded – undo
351 362
 				elseif ($param_info['type'] == 'date' && $search_params['types'][$param_name] == '=')
352 363
 				{
353 364
 					$query_parts[] = $param_info['db_fields'][0] . ' > ' . $search_params[$param_name] . ' AND ' . $param_info['db_fields'][0] . ' < ' . ($search_params[$param_name] + 86400);
365
+				} else {
366
+									$query_parts[] = $param_info['db_fields'][0] . ' ' . $range_trans[$search_params['types'][$param_name]] . ' ' . $search_params[$param_name];
354 367
 				}
355
-				else
356
-					$query_parts[] = $param_info['db_fields'][0] . ' ' . $range_trans[$search_params['types'][$param_name]] . ' ' . $search_params[$param_name];
357 368
 			}
358 369
 			// Checkboxes.
359 370
 			elseif ($param_info['type'] == 'checkbox')
360 371
 			{
361 372
 				// Each checkbox or no checkbox at all is checked -> ignore.
362
-				if (!is_array($search_params[$param_name]) || count($search_params[$param_name]) == 0 || count($search_params[$param_name]) == count($param_info['values']))
363
-					continue;
373
+				if (!is_array($search_params[$param_name]) || count($search_params[$param_name]) == 0 || count($search_params[$param_name]) == count($param_info['values'])) {
374
+									continue;
375
+				}
364 376
 
365 377
 				$query_parts[] = ($param_info['db_fields'][0]) . ' IN ({array_string:' . $param_name . '_check})';
366 378
 				$where_params[$param_name . '_check'] = $search_params[$param_name];
@@ -372,24 +384,23 @@  discard block
 block discarded – undo
372 384
 				{
373 385
 					$query_parts[] = '(' . $param_info['db_fields'][0] . ' = {inet:' . $param_name . '})';
374 386
 					$where_params[$param_name] = $search_params[$param_name][0];
375
-				}
376
-				elseif (count($search_params[$param_name]) === 2)
387
+				} elseif (count($search_params[$param_name]) === 2)
377 388
 				{
378 389
 					$query_parts[] = '(' . $param_info['db_fields'][0] . ' <= {inet:' . $param_name . '_high} and ' . $param_info['db_fields'][0] . ' >= {inet:' . $param_name . '_low})';
379 390
 					$where_params[$param_name.'_low'] = $search_params[$param_name]['low'];
380 391
 					$where_params[$param_name.'_high'] = $search_params[$param_name]['high'];
381 392
 				}
382 393
 				
383
-			}
384
-			elseif ($param_info['type'] != 'groups')
394
+			} elseif ($param_info['type'] != 'groups')
385 395
 			{
386 396
 				// Replace the wildcard characters ('*' and '?') into MySQL ones.
387 397
 				$parameter = strtolower(strtr($smcFunc['htmlspecialchars']($search_params[$param_name], ENT_QUOTES), array('%' => '\%', '_' => '\_', '*' => '%', '?' => '_')));
388 398
 
389
-				if ($smcFunc['db_case_sensitive'])
390
-					$query_parts[] = '(LOWER(' . implode(') LIKE {string:' . $param_name . '_normal} OR LOWER(', $param_info['db_fields']) . ') LIKE {string:' . $param_name . '_normal})';
391
-				else
392
-					$query_parts[] = '(' . implode(' LIKE {string:' . $param_name . '_normal} OR ', $param_info['db_fields']) . ' LIKE {string:' . $param_name . '_normal})';
399
+				if ($smcFunc['db_case_sensitive']) {
400
+									$query_parts[] = '(LOWER(' . implode(') LIKE {string:' . $param_name . '_normal} OR LOWER(', $param_info['db_fields']) . ') LIKE {string:' . $param_name . '_normal})';
401
+				} else {
402
+									$query_parts[] = '(' . implode(' LIKE {string:' . $param_name . '_normal} OR ', $param_info['db_fields']) . ' LIKE {string:' . $param_name . '_normal})';
403
+				}
393 404
 				$where_params[$param_name . '_normal'] = '%' . $parameter . '%';
394 405
 			}
395 406
 		}
@@ -405,16 +416,18 @@  discard block
 block discarded – undo
405 416
 		}
406 417
 
407 418
 		// Additional membergroups (these are only relevant if not all primary groups where selected!).
408
-		if (!empty($search_params['membergroups'][2]) && (empty($search_params['membergroups'][1]) || count($context['membergroups']) != count($search_params['membergroups'][1])))
409
-			foreach ($search_params['membergroups'][2] as $mg)
419
+		if (!empty($search_params['membergroups'][2]) && (empty($search_params['membergroups'][1]) || count($context['membergroups']) != count($search_params['membergroups'][1]))) {
420
+					foreach ($search_params['membergroups'][2] as $mg)
410 421
 			{
411 422
 				$mg_query_parts[] = 'FIND_IN_SET({int:add_group_' . $mg . '}, mem.additional_groups) != 0';
423
+		}
412 424
 				$where_params['add_group_' . $mg] = $mg;
413 425
 			}
414 426
 
415 427
 		// Combine the one or two membergroup parts into one query part linked with an OR.
416
-		if (!empty($mg_query_parts))
417
-			$query_parts[] = '(' . implode(' OR ', $mg_query_parts) . ')';
428
+		if (!empty($mg_query_parts)) {
429
+					$query_parts[] = '(' . implode(' OR ', $mg_query_parts) . ')';
430
+		}
418 431
 
419 432
 		// Get all selected post count related membergroups.
420 433
 		if (!empty($search_params['postgroups']) && count($search_params['postgroups']) != count($context['postgroups']))
@@ -426,9 +439,9 @@  discard block
 block discarded – undo
426 439
 		// Construct the where part of the query.
427 440
 		$where = empty($query_parts) ? '1=1' : implode('
428 441
 			AND ', $query_parts);
442
+	} else {
443
+			$search_url_params = null;
429 444
 	}
430
-	else
431
-		$search_url_params = null;
432 445
 
433 446
 	// Construct the additional URL part with the query info in it.
434 447
 	$context['params_url'] = $context['sub_action'] == 'query' ? ';sa=query;params=' . $search_url_params : '';
@@ -551,28 +564,32 @@  discard block
 block discarded – undo
551 564
 					'function' => function($rowData) use ($txt)
552 565
 					{
553 566
 						// Calculate number of days since last online.
554
-						if (empty($rowData['last_login']))
555
-							$difference = $txt['never'];
556
-						else
567
+						if (empty($rowData['last_login'])) {
568
+													$difference = $txt['never'];
569
+						} else
557 570
 						{
558 571
 							$num_days_difference = jeffsdatediff($rowData['last_login']);
559 572
 
560 573
 							// Today.
561
-							if (empty($num_days_difference))
562
-								$difference = $txt['viewmembers_today'];
574
+							if (empty($num_days_difference)) {
575
+															$difference = $txt['viewmembers_today'];
576
+							}
563 577
 
564 578
 							// Yesterday.
565
-							elseif ($num_days_difference == 1)
566
-								$difference = sprintf('1 %1$s', $txt['viewmembers_day_ago']);
579
+							elseif ($num_days_difference == 1) {
580
+															$difference = sprintf('1 %1$s', $txt['viewmembers_day_ago']);
581
+							}
567 582
 
568 583
 							// X days ago.
569
-							else
570
-								$difference = sprintf('%1$d %2$s', $num_days_difference, $txt['viewmembers_days_ago']);
584
+							else {
585
+															$difference = sprintf('%1$d %2$s', $num_days_difference, $txt['viewmembers_days_ago']);
586
+							}
571 587
 						}
572 588
 
573 589
 						// Show it in italics if they're not activated...
574
-						if ($rowData['is_activated'] % 10 != 1)
575
-							$difference = sprintf('<em title="%1$s">%2$s</em>', $txt['not_activated'], $difference);
590
+						if ($rowData['is_activated'] % 10 != 1) {
591
+													$difference = sprintf('<em title="%1$s">%2$s</em>', $txt['not_activated'], $difference);
592
+						}
576 593
 
577 594
 						return $difference;
578 595
 					},
@@ -624,8 +641,9 @@  discard block
 block discarded – undo
624 641
 	);
625 642
 
626 643
 	// Without enough permissions, don't show 'delete members' checkboxes.
627
-	if (!allowedTo('profile_remove_any'))
628
-		unset($listOptions['cols']['check'], $listOptions['form'], $listOptions['additional_rows']);
644
+	if (!allowedTo('profile_remove_any')) {
645
+			unset($listOptions['cols']['check'], $listOptions['form'], $listOptions['additional_rows']);
646
+	}
629 647
 
630 648
 	require_once($sourcedir . '/Subs-List.php');
631 649
 	createList($listOptions);
@@ -668,17 +686,18 @@  discard block
 block discarded – undo
668 686
 	);
669 687
 	while ($row = $smcFunc['db_fetch_assoc']($request))
670 688
 	{
671
-		if ($row['min_posts'] == -1)
672
-			$context['membergroups'][] = array(
689
+		if ($row['min_posts'] == -1) {
690
+					$context['membergroups'][] = array(
673 691
 				'id' => $row['id_group'],
674 692
 				'name' => $row['group_name'],
675 693
 				'can_be_additional' => true
676 694
 			);
677
-		else
678
-			$context['postgroups'][] = array(
695
+		} else {
696
+					$context['postgroups'][] = array(
679 697
 				'id' => $row['id_group'],
680 698
 				'name' => $row['group_name']
681 699
 			);
700
+		}
682 701
 	}
683 702
 	$smcFunc['db_free_result']($request);
684 703
 
@@ -705,8 +724,9 @@  discard block
 block discarded – undo
705 724
 	$context['page_title'] = $txt['admin_members'];
706 725
 	$context['sub_template'] = 'admin_browse';
707 726
 	$context['browse_type'] = isset($_REQUEST['type']) ? $_REQUEST['type'] : (!empty($modSettings['registration_method']) && $modSettings['registration_method'] == 1 ? 'activate' : 'approve');
708
-	if (isset($context['tabs'][$context['browse_type']]))
709
-		$context['tabs'][$context['browse_type']]['is_selected'] = true;
727
+	if (isset($context['tabs'][$context['browse_type']])) {
728
+			$context['tabs'][$context['browse_type']]['is_selected'] = true;
729
+	}
710 730
 
711 731
 	// Allowed filters are those we can have, in theory.
712 732
 	$context['allowed_filters'] = $context['browse_type'] == 'approve' ? array(3, 4, 5) : array(0, 2);
@@ -717,18 +737,20 @@  discard block
 block discarded – undo
717 737
 	foreach ($context['activation_numbers'] as $type => $amount)
718 738
 	{
719 739
 		// We have some of these...
720
-		if (in_array($type, $context['allowed_filters']) && $amount > 0)
721
-			$context['available_filters'][] = array(
740
+		if (in_array($type, $context['allowed_filters']) && $amount > 0) {
741
+					$context['available_filters'][] = array(
722 742
 				'type' => $type,
723 743
 				'amount' => $amount,
724 744
 				'desc' => isset($txt['admin_browse_filter_type_' . $type]) ? $txt['admin_browse_filter_type_' . $type] : '?',
725 745
 				'selected' => $type == $context['current_filter']
726 746
 			);
747
+		}
727 748
 	}
728 749
 
729 750
 	// If the filter was not sent, set it to whatever has people in it!
730
-	if ($context['current_filter'] == -1 && !empty($context['available_filters'][0]['amount']))
731
-		$context['current_filter'] = $context['available_filters'][0]['type'];
751
+	if ($context['current_filter'] == -1 && !empty($context['available_filters'][0]['amount'])) {
752
+			$context['current_filter'] = $context['available_filters'][0]['type'];
753
+	}
732 754
 
733 755
 	// This little variable is used to determine if we should flag where we are looking.
734 756
 	$context['show_filter'] = ($context['current_filter'] != 0 && $context['current_filter'] != 3) || count($context['available_filters']) > 1;
@@ -743,44 +765,47 @@  discard block
 block discarded – undo
743 765
 	);
744 766
 
745 767
 	// Are we showing duplicate information?
746
-	if (isset($_GET['showdupes']))
747
-		$_SESSION['showdupes'] = (int) $_GET['showdupes'];
768
+	if (isset($_GET['showdupes'])) {
769
+			$_SESSION['showdupes'] = (int) $_GET['showdupes'];
770
+	}
748 771
 	$context['show_duplicates'] = !empty($_SESSION['showdupes']);
749 772
 
750 773
 	// Determine which actions we should allow on this page.
751 774
 	if ($context['browse_type'] == 'approve')
752 775
 	{
753 776
 		// If we are approving deleted accounts we have a slightly different list... actually a mirror ;)
754
-		if ($context['current_filter'] == 4)
755
-			$context['allowed_actions'] = array(
777
+		if ($context['current_filter'] == 4) {
778
+					$context['allowed_actions'] = array(
756 779
 				'reject' => $txt['admin_browse_w_approve_deletion'],
757 780
 				'ok' => $txt['admin_browse_w_reject'],
758 781
 			);
759
-		else
760
-			$context['allowed_actions'] = array(
782
+		} else {
783
+					$context['allowed_actions'] = array(
761 784
 				'ok' => $txt['admin_browse_w_approve'],
762 785
 				'okemail' => $txt['admin_browse_w_approve'] . ' ' . $txt['admin_browse_w_email'],
763 786
 				'require_activation' => $txt['admin_browse_w_approve_require_activate'],
764 787
 				'reject' => $txt['admin_browse_w_reject'],
765 788
 				'rejectemail' => $txt['admin_browse_w_reject'] . ' ' . $txt['admin_browse_w_email'],
766 789
 			);
767
-	}
768
-	elseif ($context['browse_type'] == 'activate')
769
-		$context['allowed_actions'] = array(
790
+		}
791
+	} elseif ($context['browse_type'] == 'activate') {
792
+			$context['allowed_actions'] = array(
770 793
 			'ok' => $txt['admin_browse_w_activate'],
771 794
 			'okemail' => $txt['admin_browse_w_activate'] . ' ' . $txt['admin_browse_w_email'],
772 795
 			'delete' => $txt['admin_browse_w_delete'],
773 796
 			'deleteemail' => $txt['admin_browse_w_delete'] . ' ' . $txt['admin_browse_w_email'],
774 797
 			'remind' => $txt['admin_browse_w_remind'] . ' ' . $txt['admin_browse_w_email'],
775 798
 		);
799
+	}
776 800
 
777 801
 	// Create an option list for actions allowed to be done with selected members.
778 802
 	$allowed_actions = '
779 803
 			<option selected value="">' . $txt['admin_browse_with_selected'] . ':</option>
780 804
 			<option value="" disabled>-----------------------------</option>';
781
-	foreach ($context['allowed_actions'] as $key => $desc)
782
-		$allowed_actions .= '
805
+	foreach ($context['allowed_actions'] as $key => $desc) {
806
+			$allowed_actions .= '
783 807
 			<option value="' . $key . '">' . $desc . '</option>';
808
+	}
784 809
 
785 810
 	// Setup the Javascript function for selecting an action for the list.
786 811
 	$javascript = '
@@ -792,15 +817,16 @@  discard block
 block discarded – undo
792 817
 			var message = "";';
793 818
 
794 819
 	// We have special messages for approving deletion of accounts - it's surprisingly logical - honest.
795
-	if ($context['current_filter'] == 4)
796
-		$javascript .= '
820
+	if ($context['current_filter'] == 4) {
821
+			$javascript .= '
797 822
 			if (document.forms.postForm.todo.value.indexOf("reject") != -1)
798 823
 				message = "' . $txt['admin_browse_w_delete'] . '";
799 824
 			else
800 825
 				message = "' . $txt['admin_browse_w_reject'] . '";';
826
+	}
801 827
 	// Otherwise a nice standard message.
802
-	else
803
-		$javascript .= '
828
+	else {
829
+			$javascript .= '
804 830
 			if (document.forms.postForm.todo.value.indexOf("delete") != -1)
805 831
 				message = "' . $txt['admin_browse_w_delete'] . '";
806 832
 			else if (document.forms.postForm.todo.value.indexOf("reject") != -1)
@@ -809,6 +835,7 @@  discard block
 block discarded – undo
809 835
 				message = "' . $txt['admin_browse_w_remind'] . '";
810 836
 			else
811 837
 				message = "' . ($context['browse_type'] == 'approve' ? $txt['admin_browse_w_approve'] : $txt['admin_browse_w_activate']) . '";';
838
+	}
812 839
 	$javascript .= '
813 840
 			if (confirm(message + " ' . $txt['admin_browse_warn'] . '"))
814 841
 				document.forms.postForm.submit();
@@ -941,10 +968,11 @@  discard block
 block discarded – undo
941 968
 						$member_links = array();
942 969
 						foreach ($rowData['duplicate_members'] as $member)
943 970
 						{
944
-							if ($member['id'])
945
-								$member_links[] = '<a href="' . $scripturl . '?action=profile;u=' . $member['id'] . '" ' . (!empty($member['is_banned']) ? 'class="red"' : '') . '>' . $member['name'] . '</a>';
946
-							else
947
-								$member_links[] = $member['name'] . ' (' . $txt['guest'] . ')';
971
+							if ($member['id']) {
972
+															$member_links[] = '<a href="' . $scripturl . '?action=profile;u=' . $member['id'] . '" ' . (!empty($member['is_banned']) ? 'class="red"' : '') . '>' . $member['name'] . '</a>';
973
+							} else {
974
+															$member_links[] = $member['name'] . ' (' . $txt['guest'] . ')';
975
+							}
948 976
 						}
949 977
 						return implode(', ', $member_links);
950 978
 					},
@@ -993,14 +1021,16 @@  discard block
 block discarded – undo
993 1021
 	);
994 1022
 
995 1023
 	// Pick what column to actually include if we're showing duplicates.
996
-	if ($context['show_duplicates'])
997
-		unset($listOptions['columns']['email']);
998
-	else
999
-		unset($listOptions['columns']['duplicates']);
1024
+	if ($context['show_duplicates']) {
1025
+			unset($listOptions['columns']['email']);
1026
+	} else {
1027
+			unset($listOptions['columns']['duplicates']);
1028
+	}
1000 1029
 
1001 1030
 	// Only show hostname on duplicates as it takes a lot of time.
1002
-	if (!$context['show_duplicates'] || !empty($modSettings['disableHostnameLookup']))
1003
-		unset($listOptions['columns']['hostname']);
1031
+	if (!$context['show_duplicates'] || !empty($modSettings['disableHostnameLookup'])) {
1032
+			unset($listOptions['columns']['hostname']);
1033
+	}
1004 1034
 
1005 1035
 	// Is there any need to show filters?
1006 1036
 	if (isset($context['available_filters']) && count($context['available_filters']) > 1)
@@ -1008,9 +1038,10 @@  discard block
 block discarded – undo
1008 1038
 		$filterOptions = '
1009 1039
 			<strong>' . $txt['admin_browse_filter_by'] . ':</strong>
1010 1040
 			<select name="filter" onchange="this.form.submit();">';
1011
-		foreach ($context['available_filters'] as $filter)
1012
-			$filterOptions .= '
1041
+		foreach ($context['available_filters'] as $filter) {
1042
+					$filterOptions .= '
1013 1043
 				<option value="' . $filter['type'] . '"' . ($filter['selected'] ? ' selected' : '') . '>' . $filter['desc'] . ' - ' . $filter['amount'] . ' ' . ($filter['amount'] == 1 ? $txt['user'] : $txt['users']) . '</option>';
1044
+		}
1014 1045
 		$filterOptions .= '
1015 1046
 			</select>
1016 1047
 			<noscript><input type="submit" value="' . $txt['go'] . '" name="filter" class="button"></noscript>';
@@ -1022,12 +1053,13 @@  discard block
 block discarded – undo
1022 1053
 	}
1023 1054
 
1024 1055
 	// What about if we only have one filter, but it's not the "standard" filter - show them what they are looking at.
1025
-	if (!empty($context['show_filter']) && !empty($context['available_filters']))
1026
-		$listOptions['additional_rows'][] = array(
1056
+	if (!empty($context['show_filter']) && !empty($context['available_filters'])) {
1057
+			$listOptions['additional_rows'][] = array(
1027 1058
 			'position' => 'above_column_headers',
1028 1059
 			'value' => '<strong>' . $txt['admin_browse_filter_show'] . ':</strong> ' . $context['available_filters'][0]['desc'],
1029 1060
 			'class' => 'smalltext floatright',
1030 1061
 		);
1062
+	}
1031 1063
 
1032 1064
 	// Now that we have all the options, create the list.
1033 1065
 	require_once($sourcedir . '/Subs-List.php');
@@ -1057,12 +1089,14 @@  discard block
 block discarded – undo
1057 1089
 	$current_filter = (int) $_REQUEST['orig_filter'];
1058 1090
 
1059 1091
 	// If we are applying a filter do just that - then redirect.
1060
-	if (isset($_REQUEST['filter']) && $_REQUEST['filter'] != $_REQUEST['orig_filter'])
1061
-		redirectexit('action=admin;area=viewmembers;sa=browse;type=' . $_REQUEST['type'] . ';sort=' . $_REQUEST['sort'] . ';filter=' . $_REQUEST['filter'] . ';start=' . $_REQUEST['start']);
1092
+	if (isset($_REQUEST['filter']) && $_REQUEST['filter'] != $_REQUEST['orig_filter']) {
1093
+			redirectexit('action=admin;area=viewmembers;sa=browse;type=' . $_REQUEST['type'] . ';sort=' . $_REQUEST['sort'] . ';filter=' . $_REQUEST['filter'] . ';start=' . $_REQUEST['start']);
1094
+	}
1062 1095
 
1063 1096
 	// Nothing to do?
1064
-	if (!isset($_POST['todoAction']) && !isset($_POST['time_passed']))
1065
-		redirectexit('action=admin;area=viewmembers;sa=browse;type=' . $_REQUEST['type'] . ';sort=' . $_REQUEST['sort'] . ';filter=' . $current_filter . ';start=' . $_REQUEST['start']);
1097
+	if (!isset($_POST['todoAction']) && !isset($_POST['time_passed'])) {
1098
+			redirectexit('action=admin;area=viewmembers;sa=browse;type=' . $_REQUEST['type'] . ';sort=' . $_REQUEST['sort'] . ';filter=' . $current_filter . ';start=' . $_REQUEST['start']);
1099
+	}
1066 1100
 
1067 1101
 	// Are we dealing with members who have been waiting for > set amount of time?
1068 1102
 	if (isset($_POST['time_passed']))
@@ -1075,8 +1109,9 @@  discard block
 block discarded – undo
1075 1109
 	else
1076 1110
 	{
1077 1111
 		$members = array();
1078
-		foreach ($_POST['todoAction'] as $id)
1079
-			$members[] = (int) $id;
1112
+		foreach ($_POST['todoAction'] as $id) {
1113
+					$members[] = (int) $id;
1114
+		}
1080 1115
 		$condition = '
1081 1116
 			AND id_member IN ({array_int:members})';
1082 1117
 	}
@@ -1097,8 +1132,9 @@  discard block
 block discarded – undo
1097 1132
 	$member_count = $smcFunc['db_num_rows']($request);
1098 1133
 
1099 1134
 	// If no results then just return!
1100
-	if ($member_count == 0)
1101
-		redirectexit('action=admin;area=viewmembers;sa=browse;type=' . $_REQUEST['type'] . ';sort=' . $_REQUEST['sort'] . ';filter=' . $current_filter . ';start=' . $_REQUEST['start']);
1135
+	if ($member_count == 0) {
1136
+			redirectexit('action=admin;area=viewmembers;sa=browse;type=' . $_REQUEST['type'] . ';sort=' . $_REQUEST['sort'] . ';filter=' . $current_filter . ';start=' . $_REQUEST['start']);
1137
+	}
1102 1138
 
1103 1139
 	$member_info = array();
1104 1140
 	$members = array();
@@ -1137,8 +1173,9 @@  discard block
 block discarded – undo
1137 1173
 		// Do we have to let the integration code know about the activations?
1138 1174
 		if (!empty($modSettings['integrate_activate']))
1139 1175
 		{
1140
-			foreach ($member_info as $member)
1141
-				call_integration_hook('integrate_activate', array($member['username']));
1176
+			foreach ($member_info as $member) {
1177
+							call_integration_hook('integrate_activate', array($member['username']));
1178
+			}
1142 1179
 		}
1143 1180
 
1144 1181
 		// Check for email.
@@ -1268,20 +1305,23 @@  discard block
 block discarded – undo
1268 1305
 		$log_action = $_POST['todo'] == 'remind' ? 'remind_member' : 'approve_member';
1269 1306
 
1270 1307
 		require_once($sourcedir . '/Logging.php');
1271
-		foreach ($member_info as $member)
1272
-			logAction($log_action, array('member' => $member['id']), 'admin');
1308
+		foreach ($member_info as $member) {
1309
+					logAction($log_action, array('member' => $member['id']), 'admin');
1310
+		}
1273 1311
 	}
1274 1312
 
1275 1313
 	// Although updateStats *may* catch this, best to do it manually just in case (Doesn't always sort out unapprovedMembers).
1276
-	if (in_array($current_filter, array(3, 4, 5)))
1277
-		updateSettings(array('unapprovedMembers' => ($modSettings['unapprovedMembers'] > $member_count ? $modSettings['unapprovedMembers'] - $member_count : 0)));
1314
+	if (in_array($current_filter, array(3, 4, 5))) {
1315
+			updateSettings(array('unapprovedMembers' => ($modSettings['unapprovedMembers'] > $member_count ? $modSettings['unapprovedMembers'] - $member_count : 0)));
1316
+	}
1278 1317
 
1279 1318
 	// Update the member's stats. (but, we know the member didn't change their name.)
1280 1319
 	updateStats('member', false);
1281 1320
 
1282 1321
 	// If they haven't been deleted, update the post group statistics on them...
1283
-	if (!in_array($_POST['todo'], array('delete', 'deleteemail', 'reject', 'rejectemail', 'remind')))
1284
-		updateStats('postgroups', $members);
1322
+	if (!in_array($_POST['todo'], array('delete', 'deleteemail', 'reject', 'rejectemail', 'remind'))) {
1323
+			updateStats('postgroups', $members);
1324
+	}
1285 1325
 
1286 1326
 	redirectexit('action=admin;area=viewmembers;sa=browse;type=' . $_REQUEST['type'] . ';sort=' . $_REQUEST['sort'] . ';filter=' . $current_filter . ';start=' . $_REQUEST['start']);
1287 1327
 }
@@ -1306,10 +1346,11 @@  discard block
 block discarded – undo
1306 1346
 	$dis = time() - $old;
1307 1347
 
1308 1348
 	// Before midnight?
1309
-	if ($dis < $sinceMidnight)
1310
-		return 0;
1311
-	else
1312
-		$dis -= $sinceMidnight;
1349
+	if ($dis < $sinceMidnight) {
1350
+			return 0;
1351
+	} else {
1352
+			$dis -= $sinceMidnight;
1353
+	}
1313 1354
 
1314 1355
 	// Divide out the seconds in a day to get the number of days.
1315 1356
 	return ceil($dis / (24 * 60 * 60));
Please login to merge, or discard this patch.
Packages/index.php 1 patch
Braces   +2 added lines, -1 removed lines patch added patch discarded remove patch
@@ -12,7 +12,8 @@
 block discarded – undo
12 12
 	header('location: ' . $boardurl);
13 13
 }
14 14
 // Can't find it... just forget it.
15
-else
15
+else {
16 16
 	exit;
17
+}
17 18
 
18 19
 ?>
19 20
\ No newline at end of file
Please login to merge, or discard this patch.
cron.php 1 patch
Braces   +36 added lines, -28 removed lines patch added patch discarded remove patch
@@ -41,37 +41,43 @@  discard block
 block discarded – undo
41 41
 define('TIME_START', microtime(true));
42 42
 
43 43
 // Just being safe...
44
-foreach (array('db_character_set', 'cachedir') as $variable)
44
+foreach (array('db_character_set', 'cachedir') as $variable) {
45 45
 	if (isset($GLOBALS[$variable]))
46 46
 		unset($GLOBALS[$variable]);
47
+}
47 48
 
48 49
 // Get the forum's settings for database and file paths.
49 50
 require_once(dirname(__FILE__) . '/Settings.php');
50 51
 
51 52
 // Make absolutely sure the cache directory is defined.
52
-if ((empty($cachedir) || !file_exists($cachedir)) && file_exists($boarddir . '/cache'))
53
+if ((empty($cachedir) || !file_exists($cachedir)) && file_exists($boarddir . '/cache')) {
53 54
 	$cachedir = $boarddir . '/cache';
55
+}
54 56
 
55 57
 // Don't do john didley if the forum's been shut down competely.
56
-if ($maintenance == 2)
58
+if ($maintenance == 2) {
57 59
 	die($mmessage);
60
+}
58 61
 
59 62
 // Fix for using the current directory as a path.
60
-if (substr($sourcedir, 0, 1) == '.' && substr($sourcedir, 1, 1) != '.')
63
+if (substr($sourcedir, 0, 1) == '.' && substr($sourcedir, 1, 1) != '.') {
61 64
 	$sourcedir = dirname(__FILE__) . substr($sourcedir, 1);
65
+}
62 66
 
63 67
 // Have we already turned this off? If so, exist gracefully.
64
-if (file_exists($cachedir . '/cron.lock'))
68
+if (file_exists($cachedir . '/cron.lock')) {
65 69
 	obExit_cron();
70
+}
66 71
 
67 72
 // Before we go any further, if this is not a CLI request, we need to do some checking.
68 73
 if (!FROM_CLI)
69 74
 {
70 75
 	// We will clean up $_GET shortly. But we want to this ASAP.
71 76
 	$ts = isset($_GET['ts']) ? (int) $_GET['ts'] : 0;
72
-	if ($ts <= 0 || $ts % 15 != 0 || time() - $ts < 0 || time() - $ts > 20)
73
-		obExit_cron();
74
-}
77
+	if ($ts <= 0 || $ts % 15 != 0 || time() - $ts < 0 || time() - $ts > 20) {
78
+			obExit_cron();
79
+	}
80
+	}
75 81
 
76 82
 // Load the most important includes. In general, a background should be loading its own dependencies.
77 83
 require_once($sourcedir . '/Errors.php');
@@ -123,8 +129,9 @@  discard block
 block discarded – undo
123 129
 	global $smcFunc;
124 130
 
125 131
 	// Check we haven't run over our time limit.
126
-	if (microtime(true) - TIME_START > MAX_CRON_TIME)
127
-		return false;
132
+	if (microtime(true) - TIME_START > MAX_CRON_TIME) {
133
+			return false;
134
+	}
128 135
 
129 136
 	// Try to find a task. Specifically, try to find one that hasn't been claimed previously, or failing that,
130 137
 	// a task that was claimed but failed for whatever reason and failed long enough ago. We should not care
@@ -159,14 +166,12 @@  discard block
 block discarded – undo
159 166
 			// Update the time and go back.
160 167
 			$row['claimed_time'] = time();
161 168
 			return $row;
162
-		}
163
-		else
169
+		} else
164 170
 		{
165 171
 			// Uh oh, we just missed it. Try to claim another one, and let it fall through if there aren't any.
166 172
 			return fetch_task();
167 173
 		}
168
-	}
169
-	else
174
+	} else
170 175
 	{
171 176
 		// No dice. Clean up and go home.
172 177
 		$smcFunc['db_free_result']($request);
@@ -187,8 +192,9 @@  discard block
 block discarded – undo
187 192
 	if (!empty($task_details['task_file']))
188 193
 	{
189 194
 		$include = strtr(trim($task_details['task_file']), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir));
190
-		if (file_exists($include))
191
-			require_once($include);
195
+		if (file_exists($include)) {
196
+					require_once($include);
197
+		}
192 198
 	}
193 199
 
194 200
 	if (empty($task_details['task_class']))
@@ -204,8 +210,7 @@  discard block
 block discarded – undo
204 210
 		$details = empty($task_details['task_data']) ? array() : $smcFunc['json_decode']($task_details['task_data'], true);
205 211
 		$bgtask = new $task_details['task_class']($details);
206 212
 		return $bgtask->execute();
207
-	}
208
-	else
213
+	} else
209 214
 	{
210 215
 		log_error('Invalid background task specified: (class: ' . $task_details['task_class'] . ', ' . (empty($task_details['task_file']) ? ' no file' : ' to load ' . $task_details['task_file']) . ')');
211 216
 		return true; // So we clear it from the queue.
@@ -224,8 +229,9 @@  discard block
 block discarded – undo
224 229
 	$scripturl = $boardurl . '/index.php';
225 230
 
226 231
 	// These keys shouldn't be set...ever.
227
-	if (isset($_REQUEST['GLOBALS']) || isset($_COOKIE['GLOBALS']))
228
-		die('Invalid request variable.');
232
+	if (isset($_REQUEST['GLOBALS']) || isset($_COOKIE['GLOBALS'])) {
233
+			die('Invalid request variable.');
234
+	}
229 235
 
230 236
 	// Save some memory.. (since we don't use these anyway.)
231 237
 	unset($GLOBALS['HTTP_POST_VARS'], $GLOBALS['HTTP_POST_VARS']);
@@ -246,26 +252,28 @@  discard block
 block discarded – undo
246 252
 	global $modSettings;
247 253
 
248 254
 	// Ignore errors if we're ignoring them or they are strict notices from PHP 5
249
-	if (error_reporting() == 0)
250
-		return;
255
+	if (error_reporting() == 0) {
256
+			return;
257
+	}
251 258
 
252 259
 	$error_type = 'cron';
253 260
 
254 261
 	log_error($error_level . ': ' . $error_string, $error_type, $file, $line);
255 262
 
256 263
 	// If this is an E_ERROR or E_USER_ERROR.... die.  Violently so.
257
-	if ($error_level % 255 == E_ERROR)
258
-		die('No direct access...');
259
-}
264
+	if ($error_level % 255 == E_ERROR) {
265
+			die('No direct access...');
266
+	}
267
+	}
260 268
 
261 269
 /**
262 270
  * The exit function
263 271
  */
264 272
 function obExit_cron()
265 273
 {
266
-	if (FROM_CLI)
267
-		die(0);
268
-	else
274
+	if (FROM_CLI) {
275
+			die(0);
276
+	} else
269 277
 	{
270 278
 		header('content-type: image/gif');
271 279
 		die("\x47\x49\x46\x38\x39\x61\x01\x00\x01\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x21\xF9\x04\x01\x00\x00\x00\x00\x2C\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02\x44\x01\x00\x3B");
Please login to merge, or discard this patch.
Sources/ShowAttachments.php 1 patch
Braces   +59 added lines, -52 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 4
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	die('No direct access...');
18
+}
18 19
 
19 20
 /**
20 21
  * Downloads an avatar or attachment based on $_GET['attach'], and increments the download count.
@@ -40,11 +41,11 @@  discard block
 block discarded – undo
40 41
 
41 42
 	if (!empty($modSettings['enableCompressedOutput']) && !headers_sent() && ob_get_length() == 0)
42 43
 	{
43
-		if (@ini_get('zlib.output_compression') == '1' || @ini_get('output_handler') == 'ob_gzhandler')
44
-			$modSettings['enableCompressedOutput'] = 0;
45
-
46
-		else
47
-			ob_start('ob_gzhandler');
44
+		if (@ini_get('zlib.output_compression') == '1' || @ini_get('output_handler') == 'ob_gzhandler') {
45
+					$modSettings['enableCompressedOutput'] = 0;
46
+		} else {
47
+					ob_start('ob_gzhandler');
48
+		}
48 49
 	}
49 50
 
50 51
 	if (empty($modSettings['enableCompressedOutput']))
@@ -76,8 +77,9 @@  discard block
 block discarded – undo
76 77
 	}
77 78
 
78 79
 	// Use cache when possible.
79
-	if (($cache = cache_get_data('attachment_lookup_id-' . $attachId)) != null)
80
-		list($file, $thumbFile) = $cache;
80
+	if (($cache = cache_get_data('attachment_lookup_id-' . $attachId)) != null) {
81
+			list($file, $thumbFile) = $cache;
82
+	}
81 83
 
82 84
 	// Get the info from the DB.
83 85
 	if (empty($file) || empty($thumbFile) && !empty($file['id_thumb']))
@@ -85,10 +87,9 @@  discard block
 block discarded – undo
85 87
 		// Do we have a hook wanting to use our attachment system? We use $attachRequest to prevent accidental usage of $request.
86 88
 		$attachRequest = null;
87 89
 		call_integration_hook('integrate_download_request', array(&$attachRequest));
88
-		if (!is_null($attachRequest) && $smcFunc['db_is_resource']($attachRequest))
89
-			$request = $attachRequest;
90
-
91
-		else
90
+		if (!is_null($attachRequest) && $smcFunc['db_is_resource']($attachRequest)) {
91
+					$request = $attachRequest;
92
+		} else
92 93
 		{
93 94
 			// Make sure this attachment is on this board and load its info while we are at it.
94 95
 			$request = $smcFunc['db_query']('', '
@@ -181,13 +182,15 @@  discard block
 block discarded – undo
181 182
 		}
182 183
 
183 184
 		// Cache it.
184
-		if (!empty($file) || !empty($thumbFile))
185
-			cache_put_data('attachment_lookup_id-' . $file['id_attach'], array($file, $thumbFile), mt_rand(850, 900));
185
+		if (!empty($file) || !empty($thumbFile)) {
186
+					cache_put_data('attachment_lookup_id-' . $file['id_attach'], array($file, $thumbFile), mt_rand(850, 900));
187
+		}
186 188
 	}
187 189
 
188 190
 	// Replace the normal file with its thumbnail if it has one!
189
-	if (!empty($showThumb) && !empty($thumbFile))
190
-		$file = $thumbFile;
191
+	if (!empty($showThumb) && !empty($thumbFile)) {
192
+			$file = $thumbFile;
193
+	}
191 194
 
192 195
 	// No point in a nicer message, because this is supposed to be an attachment anyway...
193 196
 	if (!file_exists($file['filePath']))
@@ -237,8 +240,8 @@  discard block
 block discarded – undo
237 240
 	}
238 241
 
239 242
 	// Update the download counter (unless it's a thumbnail or resuming an incomplete download).
240
-	if ($file['attachment_type'] != 3 && empty($showThumb) && $range === 0)
241
-		$smcFunc['db_query']('', '
243
+	if ($file['attachment_type'] != 3 && empty($showThumb) && $range === 0) {
244
+			$smcFunc['db_query']('', '
242 245
 			UPDATE {db_prefix}attachments
243 246
 			SET downloads = downloads + 1
244 247
 			WHERE id_attach = {int:id_attach}',
@@ -246,12 +249,14 @@  discard block
 block discarded – undo
246 249
 				'id_attach' => $attachId,
247 250
 			)
248 251
 		);
252
+	}
249 253
 
250 254
 	// Send the attachment headers.
251 255
 	header('pragma: ');
252 256
 
253
-	if (!isBrowser('gecko'))
254
-		header('content-transfer-encoding: binary');
257
+	if (!isBrowser('gecko')) {
258
+			header('content-transfer-encoding: binary');
259
+	}
255 260
 
256 261
 	header('expires: ' . gmdate('D, d M Y H:i:s', time() + 525600 * 60) . ' GMT');
257 262
 	header('last-modified: ' . gmdate('D, d M Y H:i:s', filemtime($file['filePath'])) . ' GMT');
@@ -260,18 +265,19 @@  discard block
 block discarded – undo
260 265
 	header('etag: ' . $eTag);
261 266
 
262 267
 	// Make sure the mime type warrants an inline display.
263
-	if (isset($_REQUEST['image']) && !empty($file['mime_type']) && strpos($file['mime_type'], 'image/') !== 0)
264
-		unset($_REQUEST['image']);
268
+	if (isset($_REQUEST['image']) && !empty($file['mime_type']) && strpos($file['mime_type'], 'image/') !== 0) {
269
+			unset($_REQUEST['image']);
270
+	}
265 271
 
266 272
 	// Does this have a mime type?
267
-	elseif (!empty($file['mime_type']) && (isset($_REQUEST['image']) || !in_array($file['fileext'], array('jpg', 'gif', 'jpeg', 'x-ms-bmp', 'png', 'psd', 'tiff', 'iff'))))
268
-		header('content-type: ' . strtr($file['mime_type'], array('image/bmp' => 'image/x-ms-bmp')));
269
-
270
-	else
273
+	elseif (!empty($file['mime_type']) && (isset($_REQUEST['image']) || !in_array($file['fileext'], array('jpg', 'gif', 'jpeg', 'x-ms-bmp', 'png', 'psd', 'tiff', 'iff')))) {
274
+			header('content-type: ' . strtr($file['mime_type'], array('image/bmp' => 'image/x-ms-bmp')));
275
+	} else
271 276
 	{
272 277
 		header('content-type: ' . (isBrowser('ie') || isBrowser('opera') ? 'application/octetstream' : 'application/octet-stream'));
273
-		if (isset($_REQUEST['image']))
274
-			unset($_REQUEST['image']);
278
+		if (isset($_REQUEST['image'])) {
279
+					unset($_REQUEST['image']);
280
+		}
275 281
 	}
276 282
 
277 283
 	// Convert the file to UTF-8, cuz most browsers dig that.
@@ -279,24 +285,22 @@  discard block
 block discarded – undo
279 285
 	$disposition = !isset($_REQUEST['image']) ? 'attachment' : 'inline';
280 286
 
281 287
 	// Different browsers like different standards...
282
-	if (isBrowser('firefox'))
283
-		header('content-disposition: ' . $disposition . '; filename*=UTF-8\'\'' . rawurlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)));
284
-
285
-	elseif (isBrowser('opera'))
286
-		header('content-disposition: ' . $disposition . '; filename="' . preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name) . '"');
287
-
288
-	elseif (isBrowser('ie'))
289
-		header('content-disposition: ' . $disposition . '; filename="' . urlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)) . '"');
290
-
291
-	else
292
-		header('content-disposition: ' . $disposition . '; filename="' . $utf8name . '"');
288
+	if (isBrowser('firefox')) {
289
+			header('content-disposition: ' . $disposition . '; filename*=UTF-8\'\'' . rawurlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)));
290
+	} elseif (isBrowser('opera')) {
291
+			header('content-disposition: ' . $disposition . '; filename="' . preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name) . '"');
292
+	} elseif (isBrowser('ie')) {
293
+			header('content-disposition: ' . $disposition . '; filename="' . urlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)) . '"');
294
+	} else {
295
+			header('content-disposition: ' . $disposition . '; filename="' . $utf8name . '"');
296
+	}
293 297
 
294 298
 	// If this has an "image extension" - but isn't actually an image - then ensure it isn't cached cause of silly IE.
295
-	if (!isset($_REQUEST['image']) && in_array($file['fileext'], array('gif', 'jpg', 'bmp', 'png', 'jpeg', 'tiff')))
296
-		header('cache-control: no-cache');
297
-
298
-	else
299
-		header('cache-control: max-age=' . (525600 * 60) . ', private');
299
+	if (!isset($_REQUEST['image']) && in_array($file['fileext'], array('gif', 'jpg', 'bmp', 'png', 'jpeg', 'tiff'))) {
300
+			header('cache-control: no-cache');
301
+	} else {
302
+			header('cache-control: max-age=' . (525600 * 60) . ', private');
303
+	}
300 304
 
301 305
 	// Multipart and resuming support
302 306
 	if (isset($_SERVER['HTTP_RANGE']))
@@ -304,9 +308,9 @@  discard block
 block discarded – undo
304 308
 		header("HTTP/1.1 206 Partial Content");
305 309
 		header("content-length: $new_length");
306 310
 		header("content-range: bytes $range-$range_end/$size");
311
+	} else {
312
+			header("content-length: " . $size);
307 313
 	}
308
-	else
309
-		header("content-length: " . $size);
310 314
 
311 315
 
312 316
 	// Try to buy some time...
@@ -315,8 +319,9 @@  discard block
 block discarded – undo
315 319
 	// For multipart/resumable downloads, send the requested chunk(s) of the file
316 320
 	if (isset($_SERVER['HTTP_RANGE']))
317 321
 	{
318
-		while (@ob_get_level() > 0)
319
-			@ob_end_clean();
322
+		while (@ob_get_level() > 0) {
323
+					@ob_end_clean();
324
+		}
320 325
 
321 326
 		// 40 kilobytes is a good-ish amount
322 327
 		$chunksize = 40 * 1024;
@@ -340,8 +345,9 @@  discard block
 block discarded – undo
340 345
 	elseif ($size > 4194304)
341 346
 	{
342 347
 		// Forcibly end any output buffering going on.
343
-		while (@ob_get_level() > 0)
344
-			@ob_end_clean();
348
+		while (@ob_get_level() > 0) {
349
+					@ob_end_clean();
350
+		}
345 351
 
346 352
 		$fp = fopen($file['filePath'], 'rb');
347 353
 		while (!feof($fp))
@@ -353,8 +359,9 @@  discard block
 block discarded – undo
353 359
 	}
354 360
 
355 361
 	// On some of the less-bright hosts, readfile() is disabled.  It's just a faster, more byte safe, version of what's in the if.
356
-	elseif (@readfile($file['filePath']) === null)
357
-		echo file_get_contents($file['filePath']);
362
+	elseif (@readfile($file['filePath']) === null) {
363
+			echo file_get_contents($file['filePath']);
364
+	}
358 365
 
359 366
 	die();
360 367
 }
Please login to merge, or discard this patch.
Sources/Subscriptions-PayPal.php 1 patch
Braces   +83 added lines, -61 removed lines patch added patch discarded remove patch
@@ -14,8 +14,9 @@  discard block
 block discarded – undo
14 14
 // This won't be dedicated without this - this must exist in each gateway!
15 15
 // SMF Payment Gateway: paypal
16 16
 
17
-if (!defined('SMF'))
17
+if (!defined('SMF')) {
18 18
 	die('No direct access...');
19
+}
19 20
 
20 21
 /**
21 22
  * Class for returning available form data for this gateway
@@ -118,8 +119,7 @@  discard block
 block discarded – undo
118 119
 		{
119 120
 			$return_data['hidden']['p3'] = 1;
120 121
 			$return_data['hidden']['t3'] = strtoupper(substr($period, 0, 1));
121
-		}
122
-		else
122
+		} else
123 123
 		{
124 124
 			preg_match('~(\d*)(\w)~', $sub_data['real_length'], $match);
125 125
 			$unit = $match[1];
@@ -130,14 +130,15 @@  discard block
 block discarded – undo
130 130
 		}
131 131
 
132 132
 		// If it's repeatable do some javascript to respect this idea.
133
-		if (!empty($sub_data['repeatable']))
134
-			$return_data['javascript'] = '
133
+		if (!empty($sub_data['repeatable'])) {
134
+					$return_data['javascript'] = '
135 135
 				document.write(\'<label for="do_paypal_recur"><input type="checkbox" name="do_paypal_recur" id="do_paypal_recur" checked onclick="switchPaypalRecur();">' . $txt['paid_make_recurring'] . '</label><br>\');
136 136
 
137 137
 				function switchPaypalRecur()
138 138
 				{
139 139
 					document.getElementById("paypal_cmd").value = document.getElementById("do_paypal_recur").checked ? "_xclick-subscriptions" : "_xclick";
140 140
 				}';
141
+		}
141 142
 
142 143
 		return $return_data;
143 144
 	}
@@ -160,20 +161,24 @@  discard block
 block discarded – undo
160 161
 		global $modSettings;
161 162
 
162 163
 		// Has the user set up an email address?
163
-		if ((empty($modSettings['paidsubs_test']) && empty($modSettings['paypal_email'])) || (!empty($modSettings['paidsubs_test']) && empty($modSettings['paypal_sandbox_email'])))
164
-			return false;
164
+		if ((empty($modSettings['paidsubs_test']) && empty($modSettings['paypal_email'])) || (!empty($modSettings['paidsubs_test']) && empty($modSettings['paypal_sandbox_email']))) {
165
+					return false;
166
+		}
165 167
 		// Check the correct transaction types are even here.
166
-		if ((!isset($_POST['txn_type']) && !isset($_POST['payment_status'])) || (!isset($_POST['business']) && !isset($_POST['receiver_email'])))
167
-			return false;
168
+		if ((!isset($_POST['txn_type']) && !isset($_POST['payment_status'])) || (!isset($_POST['business']) && !isset($_POST['receiver_email']))) {
169
+					return false;
170
+		}
168 171
 		// Correct email address?
169
-		if (!isset($_POST['business']))
170
-			$_POST['business'] = $_POST['receiver_email'];
172
+		if (!isset($_POST['business'])) {
173
+					$_POST['business'] = $_POST['receiver_email'];
174
+		}
171 175
 
172 176
 		// Are we testing?
173
-		if (empty($modSettings['paidsubs_test']) && strtolower($modSettings['paypal_sandbox_email']) != strtolower($_POST['business']) && (empty($modSettings['paypal_additional_emails']) || !in_array(strtolower($_POST['business']), explode(',', strtolower($modSettings['paypal_additional_emails'])))))
174
-			return false;
175
-		elseif (strtolower($modSettings['paypal_email']) != strtolower($_POST['business']) && (empty($modSettings['paypal_additional_emails']) || !in_array(strtolower($_POST['business']), explode(',', $modSettings['paypal_additional_emails']))))
176
-			return false;
177
+		if (empty($modSettings['paidsubs_test']) && strtolower($modSettings['paypal_sandbox_email']) != strtolower($_POST['business']) && (empty($modSettings['paypal_additional_emails']) || !in_array(strtolower($_POST['business']), explode(',', strtolower($modSettings['paypal_additional_emails']))))) {
178
+					return false;
179
+		} elseif (strtolower($modSettings['paypal_email']) != strtolower($_POST['business']) && (empty($modSettings['paypal_additional_emails']) || !in_array(strtolower($_POST['business']), explode(',', $modSettings['paypal_additional_emails'])))) {
180
+					return false;
181
+		}
177 182
 		return true;
178 183
 	}
179 184
 
@@ -192,15 +197,17 @@  discard block
 block discarded – undo
192 197
 		global $modSettings, $txt;
193 198
 
194 199
 		// Put this to some default value.
195
-		if (!isset($_POST['txn_type']))
196
-			$_POST['txn_type'] = '';
200
+		if (!isset($_POST['txn_type'])) {
201
+					$_POST['txn_type'] = '';
202
+		}
197 203
 
198 204
 		// Build the request string - starting with the minimum requirement.
199 205
 		$requestString = 'cmd=_notify-validate';
200 206
 
201 207
 		// Now my dear, add all the posted bits in the order we got them
202
-		foreach ($_POST as $k => $v)
203
-			$requestString .= '&' . $k . '=' . urlencode($v);
208
+		foreach ($_POST as $k => $v) {
209
+					$requestString .= '&' . $k . '=' . urlencode($v);
210
+		}
204 211
 
205 212
 		// Can we use curl?
206 213
 		if (function_exists('curl_init') && $curl = curl_init((!empty($modSettings['paidsubs_test']) ? 'https://www.sandbox.' : 'https://www.') . 'paypal.com/cgi-bin/webscr'))
@@ -240,14 +247,16 @@  discard block
 block discarded – undo
240 247
 			$header .= 'connection: close' . "\r\n\r\n";
241 248
 
242 249
 			// Open the connection.
243
-			if (!empty($modSettings['paidsubs_test']))
244
-				$fp = fsockopen('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
245
-			else
246
-				$fp = fsockopen('www.paypal.com', 80, $errno, $errstr, 30);
250
+			if (!empty($modSettings['paidsubs_test'])) {
251
+							$fp = fsockopen('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
252
+			} else {
253
+							$fp = fsockopen('www.paypal.com', 80, $errno, $errstr, 30);
254
+			}
247 255
 
248 256
 			// Did it work?
249
-			if (!$fp)
250
-				generateSubscriptionError($txt['paypal_could_not_connect']);
257
+			if (!$fp) {
258
+							generateSubscriptionError($txt['paypal_could_not_connect']);
259
+			}
251 260
 
252 261
 			// Put the data to the port.
253 262
 			fputs($fp, $header . $requestString);
@@ -256,8 +265,9 @@  discard block
 block discarded – undo
256 265
 			while (!feof($fp))
257 266
 			{
258 267
 				$this->return_data = fgets($fp, 1024);
259
-				if (strcmp(trim($this->return_data), 'VERIFIED') === 0)
260
-					break;
268
+				if (strcmp(trim($this->return_data), 'VERIFIED') === 0) {
269
+									break;
270
+				}
261 271
 			}
262 272
 
263 273
 			// Clean up.
@@ -265,28 +275,34 @@  discard block
 block discarded – undo
265 275
 		}
266 276
 
267 277
 		// If this isn't verified then give up...
268
-		if (strcmp(trim($this->return_data), 'VERIFIED') !== 0)
269
-			exit;
278
+		if (strcmp(trim($this->return_data), 'VERIFIED') !== 0) {
279
+					exit;
280
+		}
270 281
 
271 282
 		// Check that this is intended for us.
272
-		if (strtolower($modSettings['paypal_email']) != strtolower($_POST['business']) && (empty($modSettings['paypal_additional_emails']) || !in_array(strtolower($_POST['business']), explode(',', strtolower($modSettings['paypal_additional_emails'])))))
273
-			exit;
283
+		if (strtolower($modSettings['paypal_email']) != strtolower($_POST['business']) && (empty($modSettings['paypal_additional_emails']) || !in_array(strtolower($_POST['business']), explode(',', strtolower($modSettings['paypal_additional_emails']))))) {
284
+					exit;
285
+		}
274 286
 
275 287
 		// Is this a subscription - and if so is it a secondary payment that we need to process?
276 288
 		// If so, make sure we get it in the expected format. Seems PayPal sometimes sends it without urlencoding.
277
-		if (!empty($_POST['item_number']) && strpos($_POST['item_number'], ' ') !== false)
278
-			$_POST['item_number'] = str_replace(' ', '+', $_POST['item_number']);
279
-		if ($this->isSubscription() && (empty($_POST['item_number']) || strpos($_POST['item_number'], '+') === false))
280
-			// Calculate the subscription it relates to!
289
+		if (!empty($_POST['item_number']) && strpos($_POST['item_number'], ' ') !== false) {
290
+					$_POST['item_number'] = str_replace(' ', '+', $_POST['item_number']);
291
+		}
292
+		if ($this->isSubscription() && (empty($_POST['item_number']) || strpos($_POST['item_number'], '+') === false)) {
293
+					// Calculate the subscription it relates to!
281 294
 			$this->_findSubscription();
295
+		}
282 296
 
283 297
 		// Verify the currency!
284
-		if (strtolower($_POST['mc_currency']) !== strtolower($modSettings['paid_currency_code']))
285
-			exit;
298
+		if (strtolower($_POST['mc_currency']) !== strtolower($modSettings['paid_currency_code'])) {
299
+					exit;
300
+		}
286 301
 
287 302
 		// Can't exist if it doesn't contain anything.
288
-		if (empty($_POST['item_number']))
289
-			exit;
303
+		if (empty($_POST['item_number'])) {
304
+					exit;
305
+		}
290 306
 
291 307
 		// Return the id_sub and id_member
292 308
 		return explode('+', $_POST['item_number']);
@@ -299,10 +315,11 @@  discard block
 block discarded – undo
299 315
 	 */
300 316
 	public function isRefund()
301 317
 	{
302
-		if ($_POST['payment_status'] === 'Refunded' || $_POST['payment_status'] === 'Reversed' || $_POST['txn_type'] === 'Refunded' || ($_POST['txn_type'] === 'reversal' && $_POST['payment_status'] === 'Completed'))
303
-			return true;
304
-		else
305
-			return false;
318
+		if ($_POST['payment_status'] === 'Refunded' || $_POST['payment_status'] === 'Reversed' || $_POST['txn_type'] === 'Refunded' || ($_POST['txn_type'] === 'reversal' && $_POST['payment_status'] === 'Completed')) {
319
+					return true;
320
+		} else {
321
+					return false;
322
+		}
306 323
 	}
307 324
 
308 325
 	/**
@@ -312,10 +329,11 @@  discard block
 block discarded – undo
312 329
 	 */
313 330
 	public function isSubscription()
314 331
 	{
315
-		if (substr($_POST['txn_type'], 0, 14) === 'subscr_payment' && $_POST['payment_status'] === 'Completed')
316
-			return true;
317
-		else
318
-			return false;
332
+		if (substr($_POST['txn_type'], 0, 14) === 'subscr_payment' && $_POST['payment_status'] === 'Completed') {
333
+					return true;
334
+		} else {
335
+					return false;
336
+		}
319 337
 	}
320 338
 
321 339
 	/**
@@ -325,10 +343,11 @@  discard block
 block discarded – undo
325 343
 	 */
326 344
 	public function isPayment()
327 345
 	{
328
-		if ($_POST['payment_status'] === 'Completed' && $_POST['txn_type'] === 'web_accept')
329
-			return true;
330
-		else
331
-			return false;
346
+		if ($_POST['payment_status'] === 'Completed' && $_POST['txn_type'] === 'web_accept') {
347
+					return true;
348
+		} else {
349
+					return false;
350
+		}
332 351
 	}
333 352
 
334 353
 	/**
@@ -341,10 +360,11 @@  discard block
 block discarded – undo
341 360
 		// subscr_cancel is sent when the user cancels, subscr_eot is sent when the subscription reaches final payment
342 361
 		// Neither require us to *do* anything as per performCancel().
343 362
 		// subscr_eot, if sent, indicates an end of payments term.
344
-		if (substr($_POST['txn_type'], 0, 13) === 'subscr_cancel' || substr($_POST['txn_type'], 0, 10) === 'subscr_eot')
345
-			return true;
346
-		else
347
-			return false;
363
+		if (substr($_POST['txn_type'], 0, 13) === 'subscr_cancel' || substr($_POST['txn_type'], 0, 10) === 'subscr_eot') {
364
+					return true;
365
+		} else {
366
+					return false;
367
+		}
348 368
 	}
349 369
 
350 370
 	/**
@@ -408,8 +428,9 @@  discard block
 block discarded – undo
408 428
 		global $smcFunc;
409 429
 
410 430
 		// Assume we have this?
411
-		if (empty($_POST['subscr_id']))
412
-			return false;
431
+		if (empty($_POST['subscr_id'])) {
432
+					return false;
433
+		}
413 434
 
414 435
 		// Do we have this in the database?
415 436
 		$request = $smcFunc['db_query']('', '
@@ -438,11 +459,12 @@  discard block
 block discarded – undo
438 459
 						'payer_email' => $_POST['payer_email'],
439 460
 					)
440 461
 				);
441
-				if ($smcFunc['db_num_rows']($request) === 0)
442
-					return false;
462
+				if ($smcFunc['db_num_rows']($request) === 0) {
463
+									return false;
464
+				}
465
+			} else {
466
+							return false;
443 467
 			}
444
-			else
445
-				return false;
446 468
 		}
447 469
 		list ($member_id, $subscription_id) = $smcFunc['db_fetch_row']($request);
448 470
 		$_POST['item_number'] = $member_id . '+' . $subscription_id;
Please login to merge, or discard this patch.
Sources/News.php 1 patch
Braces   +226 added lines, -185 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 4
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	die('No direct access...');
18
+}
18 19
 
19 20
 /**
20 21
  * Outputs xml data representing recent information or a profile.
@@ -37,8 +38,9 @@  discard block
 block discarded – undo
37 38
 	global $query_this_board, $smcFunc, $forum_version, $settings;
38 39
 
39 40
 	// If it's not enabled, die.
40
-	if (empty($modSettings['xmlnews_enable']))
41
-		obExit(false);
41
+	if (empty($modSettings['xmlnews_enable'])) {
42
+			obExit(false);
43
+	}
42 44
 
43 45
 	loadLanguage('Stats');
44 46
 
@@ -64,8 +66,9 @@  discard block
 block discarded – undo
64 66
 	if (!empty($_REQUEST['c']) && empty($board))
65 67
 	{
66 68
 		$_REQUEST['c'] = explode(',', $_REQUEST['c']);
67
-		foreach ($_REQUEST['c'] as $i => $c)
68
-			$_REQUEST['c'][$i] = (int) $c;
69
+		foreach ($_REQUEST['c'] as $i => $c) {
70
+					$_REQUEST['c'][$i] = (int) $c;
71
+		}
69 72
 
70 73
 		if (count($_REQUEST['c']) == 1)
71 74
 		{
@@ -101,18 +104,20 @@  discard block
 block discarded – undo
101 104
 		}
102 105
 		$smcFunc['db_free_result']($request);
103 106
 
104
-		if (!empty($boards))
105
-			$query_this_board = 'b.id_board IN (' . implode(', ', $boards) . ')';
107
+		if (!empty($boards)) {
108
+					$query_this_board = 'b.id_board IN (' . implode(', ', $boards) . ')';
109
+		}
106 110
 
107 111
 		// Try to limit the number of messages we look through.
108
-		if ($total_cat_posts > 100 && $total_cat_posts > $modSettings['totalMessages'] / 15)
109
-			$context['optimize_msg']['lowest'] = 'm.id_msg >= ' . max(0, $modSettings['maxMsgID'] - 400 - $_GET['limit'] * 5);
110
-	}
111
-	elseif (!empty($_REQUEST['boards']))
112
+		if ($total_cat_posts > 100 && $total_cat_posts > $modSettings['totalMessages'] / 15) {
113
+					$context['optimize_msg']['lowest'] = 'm.id_msg >= ' . max(0, $modSettings['maxMsgID'] - 400 - $_GET['limit'] * 5);
114
+		}
115
+	} elseif (!empty($_REQUEST['boards']))
112 116
 	{
113 117
 		$_REQUEST['boards'] = explode(',', $_REQUEST['boards']);
114
-		foreach ($_REQUEST['boards'] as $i => $b)
115
-			$_REQUEST['boards'][$i] = (int) $b;
118
+		foreach ($_REQUEST['boards'] as $i => $b) {
119
+					$_REQUEST['boards'][$i] = (int) $b;
120
+		}
116 121
 
117 122
 		$request = $smcFunc['db_query']('', '
118 123
 			SELECT b.id_board, b.num_posts, b.name
@@ -128,29 +133,32 @@  discard block
 block discarded – undo
128 133
 
129 134
 		// Either the board specified doesn't exist or you have no access.
130 135
 		$num_boards = $smcFunc['db_num_rows']($request);
131
-		if ($num_boards == 0)
132
-			fatal_lang_error('no_board');
136
+		if ($num_boards == 0) {
137
+					fatal_lang_error('no_board');
138
+		}
133 139
 
134 140
 		$total_posts = 0;
135 141
 		$boards = array();
136 142
 		while ($row = $smcFunc['db_fetch_assoc']($request))
137 143
 		{
138
-			if ($num_boards == 1)
139
-				$feed_meta['title'] = ' - ' . strip_tags($row['name']);
144
+			if ($num_boards == 1) {
145
+							$feed_meta['title'] = ' - ' . strip_tags($row['name']);
146
+			}
140 147
 
141 148
 			$boards[] = $row['id_board'];
142 149
 			$total_posts += $row['num_posts'];
143 150
 		}
144 151
 		$smcFunc['db_free_result']($request);
145 152
 
146
-		if (!empty($boards))
147
-			$query_this_board = 'b.id_board IN (' . implode(', ', $boards) . ')';
153
+		if (!empty($boards)) {
154
+					$query_this_board = 'b.id_board IN (' . implode(', ', $boards) . ')';
155
+		}
148 156
 
149 157
 		// The more boards, the more we're going to look through...
150
-		if ($total_posts > 100 && $total_posts > $modSettings['totalMessages'] / 12)
151
-			$context['optimize_msg']['lowest'] = 'm.id_msg >= ' . max(0, $modSettings['maxMsgID'] - 500 - $_GET['limit'] * 5);
152
-	}
153
-	elseif (!empty($board))
158
+		if ($total_posts > 100 && $total_posts > $modSettings['totalMessages'] / 12) {
159
+					$context['optimize_msg']['lowest'] = 'm.id_msg >= ' . max(0, $modSettings['maxMsgID'] - 500 - $_GET['limit'] * 5);
160
+		}
161
+	} elseif (!empty($board))
154 162
 	{
155 163
 		$request = $smcFunc['db_query']('', '
156 164
 			SELECT num_posts
@@ -170,10 +178,10 @@  discard block
 block discarded – undo
170 178
 		$query_this_board = 'b.id_board = ' . $board;
171 179
 
172 180
 		// Try to look through just a few messages, if at all possible.
173
-		if ($total_posts > 80 && $total_posts > $modSettings['totalMessages'] / 10)
174
-			$context['optimize_msg']['lowest'] = 'm.id_msg >= ' . max(0, $modSettings['maxMsgID'] - 600 - $_GET['limit'] * 5);
175
-	}
176
-	else
181
+		if ($total_posts > 80 && $total_posts > $modSettings['totalMessages'] / 10) {
182
+					$context['optimize_msg']['lowest'] = 'm.id_msg >= ' . max(0, $modSettings['maxMsgID'] - 600 - $_GET['limit'] * 5);
183
+		}
184
+	} else
177 185
 	{
178 186
 		$query_this_board = '{query_see_board}' . (!empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0 ? '
179 187
 			AND b.id_board != ' . $modSettings['recycle_board'] : '');
@@ -196,30 +204,35 @@  discard block
 block discarded – undo
196 204
 	// Easy adding of sub actions
197 205
  	call_integration_hook('integrate_xmlfeeds', array(&$subActions));
198 206
 
199
-	if (empty($_GET['sa']) || !isset($subActions[$_GET['sa']]))
200
-		$_GET['sa'] = 'recent';
207
+	if (empty($_GET['sa']) || !isset($subActions[$_GET['sa']])) {
208
+			$_GET['sa'] = 'recent';
209
+	}
201 210
 
202 211
 	// We only want some information, not all of it.
203 212
 	$cachekey = array($xml_format, $_GET['action'], $_GET['limit'], $_GET['sa']);
204
-	foreach (array('board', 'boards', 'c') as $var)
205
-		if (isset($_REQUEST[$var]))
213
+	foreach (array('board', 'boards', 'c') as $var) {
214
+			if (isset($_REQUEST[$var]))
206 215
 			$cachekey[] = $_REQUEST[$var];
216
+	}
207 217
 	$cachekey = md5($smcFunc['json_encode']($cachekey) . (!empty($query_this_board) ? $query_this_board : ''));
208 218
 	$cache_t = microtime();
209 219
 
210 220
 	// Get the associative array representing the xml.
211
-	if (!empty($modSettings['cache_enable']) && (!$user_info['is_guest'] || $modSettings['cache_enable'] >= 3))
212
-		$xml_data = cache_get_data('xmlfeed-' . $xml_format . ':' . ($user_info['is_guest'] ? '' : $user_info['id'] . '-') . $cachekey, 240);
221
+	if (!empty($modSettings['cache_enable']) && (!$user_info['is_guest'] || $modSettings['cache_enable'] >= 3)) {
222
+			$xml_data = cache_get_data('xmlfeed-' . $xml_format . ':' . ($user_info['is_guest'] ? '' : $user_info['id'] . '-') . $cachekey, 240);
223
+	}
213 224
 	if (empty($xml_data))
214 225
 	{
215 226
 		$call = call_helper($subActions[$_GET['sa']][0], true);
216 227
 
217
-		if (!empty($call))
218
-			$xml_data = call_user_func($call, $xml_format);
228
+		if (!empty($call)) {
229
+					$xml_data = call_user_func($call, $xml_format);
230
+		}
219 231
 
220 232
 		if (!empty($modSettings['cache_enable']) && (($user_info['is_guest'] && $modSettings['cache_enable'] >= 3)
221
-		|| (!$user_info['is_guest'] && (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $cache_t)) > 0.2))))
222
-			cache_put_data('xmlfeed-' . $xml_format . ':' . ($user_info['is_guest'] ? '' : $user_info['id'] . '-') . $cachekey, $xml_data, 240);
233
+		|| (!$user_info['is_guest'] && (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $cache_t)) > 0.2)))) {
234
+					cache_put_data('xmlfeed-' . $xml_format . ':' . ($user_info['is_guest'] ? '' : $user_info['id'] . '-') . $cachekey, $xml_data, 240);
235
+		}
223 236
 	}
224 237
 
225 238
 	$feed_meta['title'] = $smcFunc['htmlspecialchars'](strip_tags($context['forum_name'])) . (isset($feed_meta['title']) ? $feed_meta['title'] : '');
@@ -259,43 +272,49 @@  discard block
 block discarded – undo
259 272
 	call_integration_hook('integrate_xml_data', array(&$xml_data, &$feed_meta, &$namespaces, &$extraFeedTags, &$forceCdataKeys, &$nsKeys, $xml_format, $_GET['sa']));
260 273
 
261 274
 	// These can't be empty
262
-	foreach (array('title', 'desc', 'source') as $mkey)
263
-		$feed_meta[$mkey] = !empty($feed_meta[$mkey]) ? $feed_meta[$mkey] : $orig_feed_meta[$mkey];
275
+	foreach (array('title', 'desc', 'source') as $mkey) {
276
+			$feed_meta[$mkey] = !empty($feed_meta[$mkey]) ? $feed_meta[$mkey] : $orig_feed_meta[$mkey];
277
+	}
264 278
 
265 279
 	// Sanitize basic feed metadata values
266
-	foreach ($feed_meta as $mkey => $mvalue)
267
-		$feed_meta[$mkey] = cdata_parse(strip_tags(fix_possible_url($feed_meta[$mkey])));
280
+	foreach ($feed_meta as $mkey => $mvalue) {
281
+			$feed_meta[$mkey] = cdata_parse(strip_tags(fix_possible_url($feed_meta[$mkey])));
282
+	}
268 283
 
269 284
 	$ns_string = '';
270 285
 	if (!empty($namespaces[$xml_format]))
271 286
 	{
272
-		foreach ($namespaces[$xml_format] as $nsprefix => $nsurl)
273
-			$ns_string .= ' xmlns' . ($nsprefix !== '' ? ':' : '') . $nsprefix . '="' . $nsurl . '"';
287
+		foreach ($namespaces[$xml_format] as $nsprefix => $nsurl) {
288
+					$ns_string .= ' xmlns' . ($nsprefix !== '' ? ':' : '') . $nsprefix . '="' . $nsurl . '"';
289
+		}
274 290
 	}
275 291
 
276 292
 	$extraFeedTags_string = '';
277 293
 	if (!empty($extraFeedTags[$xml_format]))
278 294
 	{
279 295
 		$indent = "\t" . ($xml_format !== 'atom' ? "\t" : '');
280
-		foreach ($extraFeedTags[$xml_format] as $extraTag)
281
-			$extraFeedTags_string .= "\n" . $indent . $extraTag;
296
+		foreach ($extraFeedTags[$xml_format] as $extraTag) {
297
+					$extraFeedTags_string .= "\n" . $indent . $extraTag;
298
+		}
282 299
 	}
283 300
 
284 301
 	// This is an xml file....
285 302
 	ob_end_clean();
286
-	if (!empty($modSettings['enableCompressedOutput']))
287
-		@ob_start('ob_gzhandler');
288
-	else
289
-		ob_start();
303
+	if (!empty($modSettings['enableCompressedOutput'])) {
304
+			@ob_start('ob_gzhandler');
305
+	} else {
306
+			ob_start();
307
+	}
290 308
 
291
-	if ($xml_format == 'smf' || isset($_REQUEST['debug']))
292
-		header('content-type: text/xml; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
293
-	elseif ($xml_format == 'rss' || $xml_format == 'rss2')
294
-		header('content-type: application/rss+xml; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
295
-	elseif ($xml_format == 'atom')
296
-		header('content-type: application/atom+xml; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
297
-	elseif ($xml_format == 'rdf')
298
-		header('content-type: ' . (isBrowser('ie') ? 'text/xml' : 'application/rdf+xml') . '; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
309
+	if ($xml_format == 'smf' || isset($_REQUEST['debug'])) {
310
+			header('content-type: text/xml; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
311
+	} elseif ($xml_format == 'rss' || $xml_format == 'rss2') {
312
+			header('content-type: application/rss+xml; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
313
+	} elseif ($xml_format == 'atom') {
314
+			header('content-type: application/atom+xml; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
315
+	} elseif ($xml_format == 'rdf') {
316
+			header('content-type: ' . (isBrowser('ie') ? 'text/xml' : 'application/rdf+xml') . '; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
317
+	}
299 318
 
300 319
 	// First, output the xml header.
301 320
 	echo '<?xml version="1.0" encoding="', $context['character_set'], '"?' . '>';
@@ -303,10 +322,11 @@  discard block
 block discarded – undo
303 322
 	// Are we outputting an rss feed or one with more information?
304 323
 	if ($xml_format == 'rss' || $xml_format == 'rss2')
305 324
 	{
306
-		if ($xml_format == 'rss2')
307
-			foreach ($_REQUEST as $var => $val)
325
+		if ($xml_format == 'rss2') {
326
+					foreach ($_REQUEST as $var => $val)
308 327
 				if (in_array($var, array('action', 'sa', 'type', 'board', 'boards', 'c', 'u', 'limit')))
309 328
 					$url_parts[] = $var . '=' . (is_array($val) ? implode(',', $val) : $val);
329
+		}
310 330
 
311 331
 		// Start with an RSS 2.0 header.
312 332
 		echo '
@@ -327,9 +347,10 @@  discard block
 block discarded – undo
327 347
 		<language>' . $feed_meta['language'] . '</language>' : '';
328 348
 
329 349
 		// RSS2 calls for this.
330
-		if ($xml_format == 'rss2')
331
-			echo '
350
+		if ($xml_format == 'rss2') {
351
+					echo '
332 352
 		<atom:link rel="self" type="application/rss+xml" href="', $scripturl, !empty($url_parts) ? '?' . implode(';', $url_parts) : '', '" />';
353
+		}
333 354
 
334 355
 		echo $extraFeedTags_string;
335 356
 
@@ -340,12 +361,12 @@  discard block
 block discarded – undo
340 361
 		echo '
341 362
 	</channel>
342 363
 </rss>';
343
-	}
344
-	elseif ($xml_format == 'atom')
364
+	} elseif ($xml_format == 'atom')
345 365
 	{
346
-		foreach ($_REQUEST as $var => $val)
347
-			if (in_array($var, array('action', 'sa', 'type', 'board', 'boards', 'c', 'u', 'limit')))
366
+		foreach ($_REQUEST as $var => $val) {
367
+					if (in_array($var, array('action', 'sa', 'type', 'board', 'boards', 'c', 'u', 'limit')))
348 368
 				$url_parts[] = $var . '=' . (is_array($val) ? implode(',', $val) : $val);
369
+		}
349 370
 
350 371
 		echo '
351 372
 <feed', $ns_string, !empty($feed_meta['language']) ? ' xml:lang="' . $feed_meta['language'] . '"' : '', '>
@@ -371,8 +392,7 @@  discard block
 block discarded – undo
371 392
 
372 393
 		echo '
373 394
 </feed>';
374
-	}
375
-	elseif ($xml_format == 'rdf')
395
+	} elseif ($xml_format == 'rdf')
376 396
 	{
377 397
 		echo '
378 398
 <rdf:RDF', $ns_string, '>
@@ -437,13 +457,15 @@  discard block
 block discarded – undo
437 457
 {
438 458
 	global $modSettings, $context, $scripturl;
439 459
 
440
-	if (substr($val, 0, strlen($scripturl)) != $scripturl)
441
-		return $val;
460
+	if (substr($val, 0, strlen($scripturl)) != $scripturl) {
461
+			return $val;
462
+	}
442 463
 
443 464
 	call_integration_hook('integrate_fix_url', array(&$val));
444 465
 
445
-	if (empty($modSettings['queryless_urls']) || ($context['server']['is_cgi'] && ini_get('cgi.fix_pathinfo') == 0 && @get_cfg_var('cgi.fix_pathinfo') == 0) || (!$context['server']['is_apache'] && !$context['server']['is_lighttpd']))
446
-		return $val;
466
+	if (empty($modSettings['queryless_urls']) || ($context['server']['is_cgi'] && ini_get('cgi.fix_pathinfo') == 0 && @get_cfg_var('cgi.fix_pathinfo') == 0) || (!$context['server']['is_apache'] && !$context['server']['is_lighttpd'])) {
467
+			return $val;
468
+	}
447 469
 
448 470
 	$val = preg_replace_callback('~\b' . preg_quote($scripturl, '~') . '\?((?:board|topic)=[^#"]+)(#[^"]*)?$~', function($m) use ($scripturl)
449 471
 		{
@@ -466,8 +488,9 @@  discard block
 block discarded – undo
466 488
 	global $smcFunc;
467 489
 
468 490
 	// Do we even need to do this?
469
-	if (strpbrk($data, '<>&') == false && $force !== true)
470
-		return $data;
491
+	if (strpbrk($data, '<>&') == false && $force !== true) {
492
+			return $data;
493
+	}
471 494
 
472 495
 	$cdata = '<![CDATA[';
473 496
 
@@ -477,49 +500,55 @@  discard block
 block discarded – undo
477 500
 			$smcFunc['strpos']($data, '&', $pos),
478 501
 			$smcFunc['strpos']($data, ']', $pos),
479 502
 		);
480
-		if ($ns != '')
481
-			$positions[] = $smcFunc['strpos']($data, '<', $pos);
503
+		if ($ns != '') {
504
+					$positions[] = $smcFunc['strpos']($data, '<', $pos);
505
+		}
482 506
 		foreach ($positions as $k => $dummy)
483 507
 		{
484
-			if ($dummy === false)
485
-				unset($positions[$k]);
508
+			if ($dummy === false) {
509
+							unset($positions[$k]);
510
+			}
486 511
 		}
487 512
 
488 513
 		$old = $pos;
489 514
 		$pos = empty($positions) ? $n : min($positions);
490 515
 
491
-		if ($pos - $old > 0)
492
-			$cdata .= $smcFunc['substr']($data, $old, $pos - $old);
493
-		if ($pos >= $n)
494
-			break;
516
+		if ($pos - $old > 0) {
517
+					$cdata .= $smcFunc['substr']($data, $old, $pos - $old);
518
+		}
519
+		if ($pos >= $n) {
520
+					break;
521
+		}
495 522
 
496 523
 		if ($smcFunc['substr']($data, $pos, 1) == '<')
497 524
 		{
498 525
 			$pos2 = $smcFunc['strpos']($data, '>', $pos);
499
-			if ($pos2 === false)
500
-				$pos2 = $n;
501
-			if ($smcFunc['substr']($data, $pos + 1, 1) == '/')
502
-				$cdata .= ']]></' . $ns . ':' . $smcFunc['substr']($data, $pos + 2, $pos2 - $pos - 1) . '<![CDATA[';
503
-			else
504
-				$cdata .= ']]><' . $ns . ':' . $smcFunc['substr']($data, $pos + 1, $pos2 - $pos) . '<![CDATA[';
526
+			if ($pos2 === false) {
527
+							$pos2 = $n;
528
+			}
529
+			if ($smcFunc['substr']($data, $pos + 1, 1) == '/') {
530
+							$cdata .= ']]></' . $ns . ':' . $smcFunc['substr']($data, $pos + 2, $pos2 - $pos - 1) . '<![CDATA[';
531
+			} else {
532
+							$cdata .= ']]><' . $ns . ':' . $smcFunc['substr']($data, $pos + 1, $pos2 - $pos) . '<![CDATA[';
533
+			}
505 534
 			$pos = $pos2 + 1;
506
-		}
507
-		elseif ($smcFunc['substr']($data, $pos, 1) == ']')
535
+		} elseif ($smcFunc['substr']($data, $pos, 1) == ']')
508 536
 		{
509 537
 			$cdata .= ']]>&#093;<![CDATA[';
510 538
 			$pos++;
511
-		}
512
-		elseif ($smcFunc['substr']($data, $pos, 1) == '&')
539
+		} elseif ($smcFunc['substr']($data, $pos, 1) == '&')
513 540
 		{
514 541
 			$pos2 = $smcFunc['strpos']($data, ';', $pos);
515
-			if ($pos2 === false)
516
-				$pos2 = $n;
542
+			if ($pos2 === false) {
543
+							$pos2 = $n;
544
+			}
517 545
 			$ent = $smcFunc['substr']($data, $pos + 1, $pos2 - $pos - 1);
518 546
 
519
-			if ($smcFunc['substr']($data, $pos + 1, 1) == '#')
520
-				$cdata .= ']]>' . $smcFunc['substr']($data, $pos, $pos2 - $pos + 1) . '<![CDATA[';
521
-			elseif (in_array($ent, array('amp', 'lt', 'gt', 'quot')))
522
-				$cdata .= ']]>' . $smcFunc['substr']($data, $pos, $pos2 - $pos + 1) . '<![CDATA[';
547
+			if ($smcFunc['substr']($data, $pos + 1, 1) == '#') {
548
+							$cdata .= ']]>' . $smcFunc['substr']($data, $pos, $pos2 - $pos + 1) . '<![CDATA[';
549
+			} elseif (in_array($ent, array('amp', 'lt', 'gt', 'quot'))) {
550
+							$cdata .= ']]>' . $smcFunc['substr']($data, $pos, $pos2 - $pos + 1) . '<![CDATA[';
551
+			}
523 552
 
524 553
 			$pos = $pos2 + 1;
525 554
 		}
@@ -559,8 +588,9 @@  discard block
 block discarded – undo
559 588
 		'gender',
560 589
 		'blurb',
561 590
 	);
562
-	if ($xml_format != 'atom')
563
-		$keysToCdata[] = 'category';
591
+	if ($xml_format != 'atom') {
592
+			$keysToCdata[] = 'category';
593
+	}
564 594
 
565 595
 	if (!empty($forceCdataKeys))
566 596
 	{
@@ -577,8 +607,9 @@  discard block
 block discarded – undo
577 607
 		$attrs = isset($element['attributes']) ? $element['attributes'] : null;
578 608
 
579 609
 		// Skip it, it's been set to null.
580
-		if ($key === null || ($val === null && $attrs === null))
581
-			continue;
610
+		if ($key === null || ($val === null && $attrs === null)) {
611
+					continue;
612
+		}
582 613
 
583 614
 		$forceCdata = in_array($key, $forceCdataKeys);
584 615
 		$ns = !empty($nsKeys[$key]) ? $nsKeys[$key] : '';
@@ -591,16 +622,16 @@  discard block
 block discarded – undo
591 622
 
592 623
 		if (!empty($attrs))
593 624
 		{
594
-			foreach ($attrs as $attr_key => $attr_value)
595
-				echo ' ', $attr_key, '="', fix_possible_url($attr_value), '"';
625
+			foreach ($attrs as $attr_key => $attr_value) {
626
+							echo ' ', $attr_key, '="', fix_possible_url($attr_value), '"';
627
+			}
596 628
 		}
597 629
 
598 630
 		// If it's empty, simply output an empty element.
599 631
 		if (empty($val))
600 632
 		{
601 633
 			echo ' />';
602
-		}
603
-		else
634
+		} else
604 635
 		{
605 636
 			echo '>';
606 637
 
@@ -612,11 +643,13 @@  discard block
 block discarded – undo
612 643
 				echo "\n", str_repeat("\t", $i);
613 644
 			}
614 645
 			// A string with returns in it.... show this as a multiline element.
615
-			elseif (strpos($val, "\n") !== false)
616
-				echo "\n", in_array($key, $keysToCdata) ? cdata_parse(fix_possible_url($val), $ns, $forceCdata) : fix_possible_url($val), "\n", str_repeat("\t", $i);
646
+			elseif (strpos($val, "\n") !== false) {
647
+							echo "\n", in_array($key, $keysToCdata) ? cdata_parse(fix_possible_url($val), $ns, $forceCdata) : fix_possible_url($val), "\n", str_repeat("\t", $i);
648
+			}
617 649
 			// A simple string.
618
-			else
619
-				echo in_array($key, $keysToCdata) ? cdata_parse(fix_possible_url($val), $ns, $forceCdata) : fix_possible_url($val);
650
+			else {
651
+							echo in_array($key, $keysToCdata) ? cdata_parse(fix_possible_url($val), $ns, $forceCdata) : fix_possible_url($val);
652
+			}
620 653
 
621 654
 			// Ending tag.
622 655
 			echo '</', $key, '>';
@@ -636,8 +669,9 @@  discard block
 block discarded – undo
636 669
 {
637 670
 	global $scripturl, $smcFunc;
638 671
 
639
-	if (!allowedTo('view_mlist'))
640
-		return array();
672
+	if (!allowedTo('view_mlist')) {
673
+			return array();
674
+	}
641 675
 
642 676
 	// Find the most recent members.
643 677
 	$request = $smcFunc['db_query']('', '
@@ -656,8 +690,8 @@  discard block
 block discarded – undo
656 690
 		$guid = 'tag:' . parse_url($scripturl, PHP_URL_HOST) . ',' . gmdate('Y-m-d', $row['date_registered']) . ':member=' . $row['id_member'];
657 691
 
658 692
 		// Make the data look rss-ish.
659
-		if ($xml_format == 'rss' || $xml_format == 'rss2')
660
-			$data[] = array(
693
+		if ($xml_format == 'rss' || $xml_format == 'rss2') {
694
+					$data[] = array(
661 695
 				'tag' => 'item',
662 696
 				'content' => array(
663 697
 					array(
@@ -685,8 +719,8 @@  discard block
 block discarded – undo
685 719
 					),
686 720
 				),
687 721
 			);
688
-		elseif ($xml_format == 'rdf')
689
-			$data[] = array(
722
+		} elseif ($xml_format == 'rdf') {
723
+					$data[] = array(
690 724
 				'tag' => 'item',
691 725
 				'attributes' => array('rdf:about' => $scripturl . '?action=profile;u=' . $row['id_member']),
692 726
 				'content' => array(
@@ -704,8 +738,8 @@  discard block
 block discarded – undo
704 738
 					),
705 739
 				),
706 740
 			);
707
-		elseif ($xml_format == 'atom')
708
-			$data[] = array(
741
+		} elseif ($xml_format == 'atom') {
742
+					$data[] = array(
709 743
 				'tag' => 'entry',
710 744
 				'content' => array(
711 745
 					array(
@@ -734,9 +768,10 @@  discard block
 block discarded – undo
734 768
 					),
735 769
 				),
736 770
 			);
771
+		}
737 772
 		// More logical format for the data, but harder to apply.
738
-		else
739
-			$data[] = array(
773
+		else {
774
+					$data[] = array(
740 775
 				'tag' => 'member',
741 776
 				'content' => array(
742 777
 					array(
@@ -757,6 +792,7 @@  discard block
 block discarded – undo
757 792
 					),
758 793
 				),
759 794
 			);
795
+		}
760 796
 	}
761 797
 	$smcFunc['db_free_result']($request);
762 798
 
@@ -817,22 +853,24 @@  discard block
 block discarded – undo
817 853
 		if ($loops < 2 && $smcFunc['db_num_rows']($request) < $_GET['limit'])
818 854
 		{
819 855
 			$smcFunc['db_free_result']($request);
820
-			if (empty($_REQUEST['boards']) && empty($board))
821
-				unset($context['optimize_msg']['lowest']);
822
-			else
823
-				$context['optimize_msg']['lowest'] = 'm.id_msg >= t.id_first_msg';
856
+			if (empty($_REQUEST['boards']) && empty($board)) {
857
+							unset($context['optimize_msg']['lowest']);
858
+			} else {
859
+							$context['optimize_msg']['lowest'] = 'm.id_msg >= t.id_first_msg';
860
+			}
824 861
 			$context['optimize_msg']['highest'] = 'm.id_msg <= t.id_last_msg';
825 862
 			$loops++;
863
+		} else {
864
+					$done = true;
826 865
 		}
827
-		else
828
-			$done = true;
829 866
 	}
830 867
 	$data = array();
831 868
 	while ($row = $smcFunc['db_fetch_assoc']($request))
832 869
 	{
833 870
 		// Limit the length of the message, if the option is set.
834
-		if (!empty($modSettings['xmlnews_maxlen']) && $smcFunc['strlen'](str_replace('<br>', "\n", $row['body'])) > $modSettings['xmlnews_maxlen'])
835
-			$row['body'] = strtr($smcFunc['substr'](str_replace('<br>', "\n", $row['body']), 0, $modSettings['xmlnews_maxlen'] - 3), array("\n" => '<br>')) . '...';
871
+		if (!empty($modSettings['xmlnews_maxlen']) && $smcFunc['strlen'](str_replace('<br>', "\n", $row['body'])) > $modSettings['xmlnews_maxlen']) {
872
+					$row['body'] = strtr($smcFunc['substr'](str_replace('<br>', "\n", $row['body']), 0, $modSettings['xmlnews_maxlen'] - 3), array("\n" => '<br>')) . '...';
873
+		}
836 874
 
837 875
 		$row['body'] = parse_bbc($row['body'], $row['smileys_enabled'], $row['id_msg']);
838 876
 
@@ -859,8 +897,9 @@  discard block
 block discarded – undo
859 897
 			while ($attach = $smcFunc['db_fetch_assoc']($attach_request))
860 898
 			{
861 899
 				// Include approved attachments only
862
-				if ($attach['approved'])
863
-					$loaded_attachments['attachment_' . $attach['id_attach']] = $attach;
900
+				if ($attach['approved']) {
901
+									$loaded_attachments['attachment_' . $attach['id_attach']] = $attach;
902
+				}
864 903
 			}
865 904
 			$smcFunc['db_free_result']($attach_request);
866 905
 
@@ -868,16 +907,17 @@  discard block
 block discarded – undo
868 907
 			if (!empty($loaded_attachments))
869 908
 			{
870 909
 				uasort($loaded_attachments, function($a, $b) {
871
-					if ($a['filesize'] == $b['filesize'])
872
-					        return 0;
910
+					if ($a['filesize'] == $b['filesize']) {
911
+										        return 0;
912
+					}
873 913
 					return ($a['filesize'] < $b['filesize']) ? -1 : 1;
874 914
 				});
915
+			} else {
916
+							$loaded_attachments = null;
875 917
 			}
876
-			else
877
-				$loaded_attachments = null;
918
+		} else {
919
+					$loaded_attachments = null;
878 920
 		}
879
-		else
880
-			$loaded_attachments = null;
881 921
 
882 922
 		// Create a GUID for this topic using the tag URI scheme
883 923
 		$guid = 'tag:' . parse_url($scripturl, PHP_URL_HOST) . ',' . gmdate('Y-m-d', $row['poster_time']) . ':topic=' . $row['id_topic'];
@@ -894,9 +934,9 @@  discard block
 block discarded – undo
894 934
 					'length' => $attachment['filesize'],
895 935
 					'type' => $attachment['mime_type'],
896 936
 				);
937
+			} else {
938
+							$enclosure = null;
897 939
 			}
898
-			else
899
-				$enclosure = null;
900 940
 
901 941
 			$data[] = array(
902 942
 				'tag' => 'item',
@@ -942,8 +982,7 @@  discard block
 block discarded – undo
942 982
 					),
943 983
 				),
944 984
 			);
945
-		}
946
-		elseif ($xml_format == 'rdf')
985
+		} elseif ($xml_format == 'rdf')
947 986
 		{
948 987
 			$data[] = array(
949 988
 				'tag' => 'item',
@@ -967,8 +1006,7 @@  discard block
 block discarded – undo
967 1006
 					),
968 1007
 				),
969 1008
 			);
970
-		}
971
-		elseif ($xml_format == 'atom')
1009
+		} elseif ($xml_format == 'atom')
972 1010
 		{
973 1011
 			// Only one attachment allowed
974 1012
 			if (!empty($loaded_attachments))
@@ -980,9 +1018,9 @@  discard block
 block discarded – undo
980 1018
 					'length' => $attachment['filesize'],
981 1019
 					'type' => $attachment['mime_type'],
982 1020
 				);
1021
+			} else {
1022
+							$enclosure = null;
983 1023
 			}
984
-			else
985
-				$enclosure = null;
986 1024
 
987 1025
 			$data[] = array(
988 1026
 				'tag' => 'entry',
@@ -1082,9 +1120,9 @@  discard block
 block discarded – undo
1082 1120
 						)
1083 1121
 					);
1084 1122
 				}
1123
+			} else {
1124
+							$attachments = null;
1085 1125
 			}
1086
-			else
1087
-				$attachments = null;
1088 1126
 
1089 1127
 			$data[] = array(
1090 1128
 				'tag' => 'article',
@@ -1202,22 +1240,25 @@  discard block
 block discarded – undo
1202 1240
 		if ($loops < 2 && $smcFunc['db_num_rows']($request) < $_GET['limit'])
1203 1241
 		{
1204 1242
 			$smcFunc['db_free_result']($request);
1205
-			if (empty($_REQUEST['boards']) && empty($board))
1206
-				unset($context['optimize_msg']['lowest']);
1207
-			else
1208
-				$context['optimize_msg']['lowest'] = $loops ? 'm.id_msg >= t.id_first_msg' : 'm.id_msg >= (t.id_last_msg - t.id_first_msg) / 2';
1243
+			if (empty($_REQUEST['boards']) && empty($board)) {
1244
+							unset($context['optimize_msg']['lowest']);
1245
+			} else {
1246
+							$context['optimize_msg']['lowest'] = $loops ? 'm.id_msg >= t.id_first_msg' : 'm.id_msg >= (t.id_last_msg - t.id_first_msg) / 2';
1247
+			}
1209 1248
 			$loops++;
1249
+		} else {
1250
+					$done = true;
1210 1251
 		}
1211
-		else
1212
-			$done = true;
1213 1252
 	}
1214 1253
 	$messages = array();
1215
-	while ($row = $smcFunc['db_fetch_assoc']($request))
1216
-		$messages[] = $row['id_msg'];
1254
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1255
+			$messages[] = $row['id_msg'];
1256
+	}
1217 1257
 	$smcFunc['db_free_result']($request);
1218 1258
 
1219
-	if (empty($messages))
1220
-		return array();
1259
+	if (empty($messages)) {
1260
+			return array();
1261
+	}
1221 1262
 
1222 1263
 	// Find the most recent posts this user can see.
1223 1264
 	$request = $smcFunc['db_query']('', '
@@ -1247,8 +1288,9 @@  discard block
 block discarded – undo
1247 1288
 	while ($row = $smcFunc['db_fetch_assoc']($request))
1248 1289
 	{
1249 1290
 		// Limit the length of the message, if the option is set.
1250
-		if (!empty($modSettings['xmlnews_maxlen']) && $smcFunc['strlen'](str_replace('<br>', "\n", $row['body'])) > $modSettings['xmlnews_maxlen'])
1251
-			$row['body'] = strtr($smcFunc['substr'](str_replace('<br>', "\n", $row['body']), 0, $modSettings['xmlnews_maxlen'] - 3), array("\n" => '<br>')) . '...';
1291
+		if (!empty($modSettings['xmlnews_maxlen']) && $smcFunc['strlen'](str_replace('<br>', "\n", $row['body'])) > $modSettings['xmlnews_maxlen']) {
1292
+					$row['body'] = strtr($smcFunc['substr'](str_replace('<br>', "\n", $row['body']), 0, $modSettings['xmlnews_maxlen'] - 3), array("\n" => '<br>')) . '...';
1293
+		}
1252 1294
 
1253 1295
 		$row['body'] = parse_bbc($row['body'], $row['smileys_enabled'], $row['id_msg']);
1254 1296
 
@@ -1275,8 +1317,9 @@  discard block
 block discarded – undo
1275 1317
 			while ($attach = $smcFunc['db_fetch_assoc']($attach_request))
1276 1318
 			{
1277 1319
 				// Include approved attachments only
1278
-				if ($attach['approved'])
1279
-					$loaded_attachments['attachment_' . $attach['id_attach']] = $attach;
1320
+				if ($attach['approved']) {
1321
+									$loaded_attachments['attachment_' . $attach['id_attach']] = $attach;
1322
+				}
1280 1323
 			}
1281 1324
 			$smcFunc['db_free_result']($attach_request);
1282 1325
 
@@ -1284,16 +1327,17 @@  discard block
 block discarded – undo
1284 1327
 			if (!empty($loaded_attachments))
1285 1328
 			{
1286 1329
 				uasort($loaded_attachments, function($a, $b) {
1287
-					if ($a['filesize'] == $b['filesize'])
1288
-					        return 0;
1330
+					if ($a['filesize'] == $b['filesize']) {
1331
+										        return 0;
1332
+					}
1289 1333
 					return ($a['filesize'] < $b['filesize']) ? -1 : 1;
1290 1334
 				});
1335
+			} else {
1336
+							$loaded_attachments = null;
1291 1337
 			}
1292
-			else
1293
-				$loaded_attachments = null;
1338
+		} else {
1339
+					$loaded_attachments = null;
1294 1340
 		}
1295
-		else
1296
-			$loaded_attachments = null;
1297 1341
 
1298 1342
 		// Create a GUID for this post using the tag URI scheme
1299 1343
 		$guid = 'tag:' . parse_url($scripturl, PHP_URL_HOST) . ',' . gmdate('Y-m-d', $row['poster_time']) . ':msg=' . $row['id_msg'];
@@ -1310,9 +1354,9 @@  discard block
 block discarded – undo
1310 1354
 					'length' => $attachment['filesize'],
1311 1355
 					'type' => $attachment['mime_type'],
1312 1356
 				);
1357
+			} else {
1358
+							$enclosure = null;
1313 1359
 			}
1314
-			else
1315
-				$enclosure = null;
1316 1360
 
1317 1361
 			$data[] = array(
1318 1362
 				'tag' => 'item',
@@ -1358,8 +1402,7 @@  discard block
 block discarded – undo
1358 1402
 					),
1359 1403
 				),
1360 1404
 			);
1361
-		}
1362
-		elseif ($xml_format == 'rdf')
1405
+		} elseif ($xml_format == 'rdf')
1363 1406
 		{
1364 1407
 			$data[] = array(
1365 1408
 				'tag' => 'item',
@@ -1383,8 +1426,7 @@  discard block
 block discarded – undo
1383 1426
 					),
1384 1427
 				),
1385 1428
 			);
1386
-		}
1387
-		elseif ($xml_format == 'atom')
1429
+		} elseif ($xml_format == 'atom')
1388 1430
 		{
1389 1431
 			// Only one attachment allowed
1390 1432
 			if (!empty($loaded_attachments))
@@ -1396,9 +1438,9 @@  discard block
 block discarded – undo
1396 1438
 					'length' => $attachment['filesize'],
1397 1439
 					'type' => $attachment['mime_type'],
1398 1440
 				);
1441
+			} else {
1442
+							$enclosure = null;
1399 1443
 			}
1400
-			else
1401
-				$enclosure = null;
1402 1444
 
1403 1445
 			$data[] = array(
1404 1446
 				'tag' => 'entry',
@@ -1498,9 +1540,9 @@  discard block
 block discarded – undo
1498 1540
 						)
1499 1541
 					);
1500 1542
 				}
1543
+			} else {
1544
+							$attachments = null;
1501 1545
 			}
1502
-			else
1503
-				$attachments = null;
1504 1546
 
1505 1547
 			$data[] = array(
1506 1548
 				'tag' => 'recent-post',
@@ -1619,14 +1661,16 @@  discard block
 block discarded – undo
1619 1661
 	global $scripturl, $memberContext, $user_profile, $user_info;
1620 1662
 
1621 1663
 	// You must input a valid user....
1622
-	if (empty($_GET['u']) || !loadMemberData((int) $_GET['u']))
1623
-		return array();
1664
+	if (empty($_GET['u']) || !loadMemberData((int) $_GET['u'])) {
1665
+			return array();
1666
+	}
1624 1667
 
1625 1668
 	// Make sure the id is a number and not "I like trying to hack the database".
1626 1669
 	$_GET['u'] = (int) $_GET['u'];
1627 1670
 	// Load the member's contextual information!
1628
-	if (!loadMemberContext($_GET['u']) || !allowedTo('profile_view'))
1629
-		return array();
1671
+	if (!loadMemberContext($_GET['u']) || !allowedTo('profile_view')) {
1672
+			return array();
1673
+	}
1630 1674
 
1631 1675
 	// Okay, I admit it, I'm lazy.  Stupid $_GET['u'] is long and hard to type.
1632 1676
 	$profile = &$memberContext[$_GET['u']];
@@ -1668,8 +1712,7 @@  discard block
 block discarded – undo
1668 1712
 				),
1669 1713
 			)
1670 1714
 		);
1671
-	}
1672
-	elseif ($xml_format == 'rdf')
1715
+	} elseif ($xml_format == 'rdf')
1673 1716
 	{
1674 1717
 		$data[] = array(
1675 1718
 			'tag' => 'item',
@@ -1693,8 +1736,7 @@  discard block
 block discarded – undo
1693 1736
 				),
1694 1737
 			)
1695 1738
 		);
1696
-	}
1697
-	elseif ($xml_format == 'atom')
1739
+	} elseif ($xml_format == 'atom')
1698 1740
 	{
1699 1741
 		$data[] = array(
1700 1742
 			'tag' => 'entry',
@@ -1747,8 +1789,7 @@  discard block
 block discarded – undo
1747 1789
 				),
1748 1790
 			)
1749 1791
 		);
1750
-	}
1751
-	else
1792
+	} else
1752 1793
 	{
1753 1794
 		$data = array(
1754 1795
 			array(
Please login to merge, or discard this patch.