Completed
Pull Request — release-2.1 (#4574)
by Matthew
07:51
created
other/install.php 2 patches
Spacing   +2 added lines, -3 removed lines patch added patch discarded remove patch
@@ -1697,8 +1697,7 @@  discard block
 block discarded – undo
1697 1697
 	updateStats('topic');
1698 1698
 
1699 1699
 	// This function is needed to do the updateStats('subject') call.
1700
-	$smcFunc['strtolower'] = $db_character_set != 'utf8' && $txt['lang_character_set'] != 'UTF-8' ? 'strtolower' :
1701
-		function($string){
1700
+	$smcFunc['strtolower'] = $db_character_set != 'utf8' && $txt['lang_character_set'] != 'UTF-8' ? 'strtolower' : function($string) {
1702 1701
 			global $sourcedir;
1703 1702
 			if (function_exists('mb_strtolower'))
1704 1703
 				return mb_strtolower($string, 'UTF-8');
@@ -1767,7 +1766,7 @@  discard block
 block discarded – undo
1767 1766
 		if (trim($settingsArray[$i]) == 'if (file_exists(dirname(__FILE__) . \'/install.php\'))' && trim($settingsArray[$i + 1]) == '{' && trim($settingsArray[$i + 9]) == '}')
1768 1767
 		{
1769 1768
 			// Set the ten lines to nothing.
1770
-			for ($j=0; $j < 10; $j++)
1769
+			for ($j = 0; $j < 10; $j++)
1771 1770
 				$settingsArray[$i++] = '';
1772 1771
 
1773 1772
 			continue;
Please login to merge, or discard this patch.
Braces   +470 added lines, -350 removed lines patch added patch discarded remove patch
@@ -20,8 +20,9 @@  discard block
 block discarded – undo
20 20
 // ><html dir="ltr"><head><title>Error!</title></head><body>Sorry, this installer requires PHP!<div style="display: none;">
21 21
 
22 22
 // Let's pull in useful classes
23
-if (!defined('SMF'))
23
+if (!defined('SMF')) {
24 24
 	define('SMF', 1);
25
+}
25 26
 
26 27
 require_once('Sources/Class-Package.php');
27 28
 
@@ -63,10 +64,11 @@  discard block
 block discarded – undo
63 64
 
64 65
 			list ($charcode) = pg_fetch_row($request);
65 66
 
66
-			if ($charcode == 'UTF8')
67
-				return true;
68
-			else
69
-				return false;
67
+			if ($charcode == 'UTF8') {
68
+							return true;
69
+			} else {
70
+							return false;
71
+			}
70 72
 		},
71 73
 		'utf8_version' => '8.0',
72 74
 		'utf8_version_check' => '$request = pg_query(\'SELECT version()\'); list ($version) = pg_fetch_row($request); list($pgl, $version) = explode(" ", $version); return $version;',
@@ -76,12 +78,14 @@  discard block
 block discarded – undo
76 78
 			$value = preg_replace('~[^A-Za-z0-9_\$]~', '', $value);
77 79
 
78 80
 			// Is it reserved?
79
-			if ($value == 'pg_')
80
-				return $txt['error_db_prefix_reserved'];
81
+			if ($value == 'pg_') {
82
+							return $txt['error_db_prefix_reserved'];
83
+			}
81 84
 
82 85
 			// Is the prefix numeric?
83
-			if (preg_match('~^\d~', $value))
84
-				return $txt['error_db_prefix_numeric'];
86
+			if (preg_match('~^\d~', $value)) {
87
+							return $txt['error_db_prefix_numeric'];
88
+			}
85 89
 
86 90
 			return true;
87 91
 		},
@@ -128,10 +132,11 @@  discard block
 block discarded – undo
128 132
 		$incontext['skip'] = false;
129 133
 
130 134
 		// Call the step and if it returns false that means pause!
131
-		if (function_exists($step[2]) && $step[2]() === false)
132
-			break;
133
-		elseif (function_exists($step[2]))
134
-			$incontext['current_step']++;
135
+		if (function_exists($step[2]) && $step[2]() === false) {
136
+					break;
137
+		} elseif (function_exists($step[2])) {
138
+					$incontext['current_step']++;
139
+		}
135 140
 
136 141
 		// No warnings pass on.
137 142
 		$incontext['warning'] = '';
@@ -147,8 +152,9 @@  discard block
 block discarded – undo
147 152
 	global $databases;
148 153
 
149 154
 	// Just so people using older versions of PHP aren't left in the cold.
150
-	if (!isset($_SERVER['PHP_SELF']))
151
-		$_SERVER['PHP_SELF'] = isset($GLOBALS['HTTP_SERVER_VARS']['PHP_SELF']) ? $GLOBALS['HTTP_SERVER_VARS']['PHP_SELF'] : 'install.php';
155
+	if (!isset($_SERVER['PHP_SELF'])) {
156
+			$_SERVER['PHP_SELF'] = isset($GLOBALS['HTTP_SERVER_VARS']['PHP_SELF']) ? $GLOBALS['HTTP_SERVER_VARS']['PHP_SELF'] : 'install.php';
157
+	}
152 158
 
153 159
 	// Enable error reporting for fatal errors.
154 160
 	error_reporting(E_ERROR | E_PARSE);
@@ -164,21 +170,23 @@  discard block
 block discarded – undo
164 170
 	{
165 171
 		ob_start();
166 172
 
167
-		if (ini_get('session.save_handler') == 'user')
168
-			@ini_set('session.save_handler', 'files');
169
-		if (function_exists('session_start'))
170
-			@session_start();
171
-	}
172
-	else
173
+		if (ini_get('session.save_handler') == 'user') {
174
+					@ini_set('session.save_handler', 'files');
175
+		}
176
+		if (function_exists('session_start')) {
177
+					@session_start();
178
+		}
179
+	} else
173 180
 	{
174 181
 		ob_start('ob_gzhandler');
175 182
 
176
-		if (ini_get('session.save_handler') == 'user')
177
-			@ini_set('session.save_handler', 'files');
183
+		if (ini_get('session.save_handler') == 'user') {
184
+					@ini_set('session.save_handler', 'files');
185
+		}
178 186
 		session_start();
179 187
 
180
-		if (!headers_sent())
181
-			echo '<!DOCTYPE html>
188
+		if (!headers_sent()) {
189
+					echo '<!DOCTYPE html>
182 190
 <html>
183 191
 	<head>
184 192
 		<title>', htmlspecialchars($_GET['pass_string']), '</title>
@@ -187,14 +195,16 @@  discard block
 block discarded – undo
187 195
 		<strong>', htmlspecialchars($_GET['pass_string']), '</strong>
188 196
 	</body>
189 197
 </html>';
198
+		}
190 199
 		exit;
191 200
 	}
192 201
 
193 202
 	// Add slashes, as long as they aren't already being added.
194
-	if (!function_exists('get_magic_quotes_gpc') || @get_magic_quotes_gpc() == 0)
195
-		foreach ($_POST as $k => $v)
203
+	if (!function_exists('get_magic_quotes_gpc') || @get_magic_quotes_gpc() == 0) {
204
+			foreach ($_POST as $k => $v)
196 205
 			if (strpos($k, 'password') === false && strpos($k, 'db_passwd') === false)
197 206
 				$_POST[$k] = addslashes($v);
207
+	}
198 208
 
199 209
 	// This is really quite simple; if ?delete is on the URL, delete the installer...
200 210
 	if (isset($_GET['delete']))
@@ -215,8 +225,7 @@  discard block
 block discarded – undo
215 225
 			$ftp->close();
216 226
 
217 227
 			unset($_SESSION['installer_temp_ftp']);
218
-		}
219
-		else
228
+		} else
220 229
 		{
221 230
 			@unlink(__FILE__);
222 231
 
@@ -230,10 +239,11 @@  discard block
 block discarded – undo
230 239
 		// Now just redirect to a blank.png...
231 240
 		$secure = false;
232 241
 
233
-		if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on')
234
-			$secure = true;
235
-		elseif (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' || !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on')
236
-			$secure = true;
242
+		if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {
243
+					$secure = true;
244
+		} elseif (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' || !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on') {
245
+					$secure = true;
246
+		}
237 247
 
238 248
 		header('location: http' . ($secure ? 's' : '') . '://' . (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT']) . dirname($_SERVER['PHP_SELF']) . '/Themes/default/images/blank.png');
239 249
 		exit;
@@ -244,10 +254,11 @@  discard block
 block discarded – undo
244 254
 	{
245 255
 		// Get PHP's default timezone, if set
246 256
 		$ini_tz = ini_get('date.timezone');
247
-		if (!empty($ini_tz))
248
-			$timezone_id = $ini_tz;
249
-		else
250
-			$timezone_id = '';
257
+		if (!empty($ini_tz)) {
258
+					$timezone_id = $ini_tz;
259
+		} else {
260
+					$timezone_id = '';
261
+		}
251 262
 
252 263
 		// If date.timezone is unset, invalid, or just plain weird, make a best guess
253 264
 		if (!in_array($timezone_id, timezone_identifiers_list()))
@@ -277,8 +288,9 @@  discard block
 block discarded – undo
277 288
 		$dir = dir(dirname(__FILE__) . '/Themes/default/languages');
278 289
 		while ($entry = $dir->read())
279 290
 		{
280
-			if (substr($entry, 0, 8) == 'Install.' && substr($entry, -4) == '.php')
281
-				$incontext['detected_languages'][$entry] = ucfirst(substr($entry, 8, strlen($entry) - 12));
291
+			if (substr($entry, 0, 8) == 'Install.' && substr($entry, -4) == '.php') {
292
+							$incontext['detected_languages'][$entry] = ucfirst(substr($entry, 8, strlen($entry) - 12));
293
+			}
282 294
 		}
283 295
 		$dir->close();
284 296
 	}
@@ -313,10 +325,11 @@  discard block
 block discarded – undo
313 325
 	}
314 326
 
315 327
 	// Override the language file?
316
-	if (isset($_GET['lang_file']))
317
-		$_SESSION['installer_temp_lang'] = $_GET['lang_file'];
318
-	elseif (isset($GLOBALS['HTTP_GET_VARS']['lang_file']))
319
-		$_SESSION['installer_temp_lang'] = $GLOBALS['HTTP_GET_VARS']['lang_file'];
328
+	if (isset($_GET['lang_file'])) {
329
+			$_SESSION['installer_temp_lang'] = $_GET['lang_file'];
330
+	} elseif (isset($GLOBALS['HTTP_GET_VARS']['lang_file'])) {
331
+			$_SESSION['installer_temp_lang'] = $GLOBALS['HTTP_GET_VARS']['lang_file'];
332
+	}
320 333
 
321 334
 	// Make sure it exists, if it doesn't reset it.
322 335
 	if (!isset($_SESSION['installer_temp_lang']) || preg_match('~[^\\w_\\-.]~', $_SESSION['installer_temp_lang']) === 1 || !file_exists(dirname(__FILE__) . '/Themes/default/languages/' . $_SESSION['installer_temp_lang']))
@@ -325,8 +338,9 @@  discard block
 block discarded – undo
325 338
 		list ($_SESSION['installer_temp_lang']) = array_keys($incontext['detected_languages']);
326 339
 
327 340
 		// If we have english and some other language, use the other language.  We Americans hate english :P.
328
-		if ($_SESSION['installer_temp_lang'] == 'Install.english.php' && count($incontext['detected_languages']) > 1)
329
-			list (, $_SESSION['installer_temp_lang']) = array_keys($incontext['detected_languages']);
341
+		if ($_SESSION['installer_temp_lang'] == 'Install.english.php' && count($incontext['detected_languages']) > 1) {
342
+					list (, $_SESSION['installer_temp_lang']) = array_keys($incontext['detected_languages']);
343
+		}
330 344
 	}
331 345
 
332 346
 	// And now include the actual language file itself.
@@ -343,15 +357,18 @@  discard block
 block discarded – undo
343 357
 	global $db_prefix, $db_connection, $sourcedir, $smcFunc, $modSettings;
344 358
 	global $db_server, $db_passwd, $db_type, $db_name, $db_user, $db_persist;
345 359
 
346
-	if (empty($sourcedir))
347
-		$sourcedir = dirname(__FILE__) . '/Sources';
360
+	if (empty($sourcedir)) {
361
+			$sourcedir = dirname(__FILE__) . '/Sources';
362
+	}
348 363
 
349 364
 	// Need this to check whether we need the database password.
350 365
 	require(dirname(__FILE__) . '/Settings.php');
351
-	if (!defined('SMF'))
352
-		define('SMF', 1);
353
-	if (empty($smcFunc))
354
-		$smcFunc = array();
366
+	if (!defined('SMF')) {
367
+			define('SMF', 1);
368
+	}
369
+	if (empty($smcFunc)) {
370
+			$smcFunc = array();
371
+	}
355 372
 
356 373
 	$modSettings['disableQueryCheck'] = true;
357 374
 
@@ -359,8 +376,9 @@  discard block
 block discarded – undo
359 376
 	if (!$db_connection)
360 377
 	{
361 378
 		require_once($sourcedir . '/Subs-Db-' . $db_type . '.php');
362
-		if (version_compare(PHP_VERSION, '5', '<'))
363
-			require_once($sourcedir . '/Subs-Compat.php');
379
+		if (version_compare(PHP_VERSION, '5', '<')) {
380
+					require_once($sourcedir . '/Subs-Compat.php');
381
+		}
364 382
 
365 383
 		$db_options = array('persist' => $db_persist);
366 384
 		$port = '';
@@ -371,19 +389,20 @@  discard block
 block discarded – undo
371 389
 			if ($db_type == 'mysql')
372 390
 			{
373 391
 				$port = ((int) $_POST['db_port'] == ini_get($db_type . 'default_port')) ? '' : (int) $_POST['db_port'];
374
-			}
375
-			elseif ($db_type == 'postgresql')
392
+			} elseif ($db_type == 'postgresql')
376 393
 			{
377 394
 				// PostgreSQL doesn't have a default port setting in php.ini, so just check against the default
378 395
 				$port = ((int) $_POST['db_port'] == 5432) ? '' : (int) $_POST['db_port'];
379 396
 			}
380 397
 		}
381 398
 
382
-		if (!empty($port))
383
-			$db_options['port'] = $port;
399
+		if (!empty($port)) {
400
+					$db_options['port'] = $port;
401
+		}
384 402
 
385
-		if (!$db_connection)
386
-			$db_connection = smf_db_initiate($db_server, $db_name, $db_user, $db_passwd, $db_prefix, $db_options);
403
+		if (!$db_connection) {
404
+					$db_connection = smf_db_initiate($db_server, $db_name, $db_user, $db_passwd, $db_prefix, $db_options);
405
+		}
387 406
 	}
388 407
 }
389 408
 
@@ -411,8 +430,9 @@  discard block
 block discarded – undo
411 430
 		// @todo REMOVE THIS!!
412 431
 		else
413 432
 		{
414
-			if (function_exists('doStep' . $_GET['step']))
415
-				call_user_func('doStep' . $_GET['step']);
433
+			if (function_exists('doStep' . $_GET['step'])) {
434
+							call_user_func('doStep' . $_GET['step']);
435
+			}
416 436
 		}
417 437
 		// Show the footer.
418 438
 		template_install_below();
@@ -430,8 +450,9 @@  discard block
 block discarded – undo
430 450
 	$incontext['sub_template'] = 'welcome_message';
431 451
 
432 452
 	// Done the submission?
433
-	if (isset($_POST['contbutt']))
434
-		return true;
453
+	if (isset($_POST['contbutt'])) {
454
+			return true;
455
+	}
435 456
 
436 457
 	// See if we think they have already installed it?
437 458
 	if (is_readable(dirname(__FILE__) . '/Settings.php'))
@@ -439,14 +460,17 @@  discard block
 block discarded – undo
439 460
 		$probably_installed = 0;
440 461
 		foreach (file(dirname(__FILE__) . '/Settings.php') as $line)
441 462
 		{
442
-			if (preg_match('~^\$db_passwd\s=\s\'([^\']+)\';$~', $line))
443
-				$probably_installed++;
444
-			if (preg_match('~^\$boardurl\s=\s\'([^\']+)\';~', $line) && !preg_match('~^\$boardurl\s=\s\'http://127\.0\.0\.1/smf\';~', $line))
445
-				$probably_installed++;
463
+			if (preg_match('~^\$db_passwd\s=\s\'([^\']+)\';$~', $line)) {
464
+							$probably_installed++;
465
+			}
466
+			if (preg_match('~^\$boardurl\s=\s\'([^\']+)\';~', $line) && !preg_match('~^\$boardurl\s=\s\'http://127\.0\.0\.1/smf\';~', $line)) {
467
+							$probably_installed++;
468
+			}
446 469
 		}
447 470
 
448
-		if ($probably_installed == 2)
449
-			$incontext['warning'] = $txt['error_already_installed'];
471
+		if ($probably_installed == 2) {
472
+					$incontext['warning'] = $txt['error_already_installed'];
473
+		}
450 474
 	}
451 475
 
452 476
 	// Is some database support even compiled in?
@@ -461,45 +485,54 @@  discard block
 block discarded – undo
461 485
 				$databases[$key]['supported'] = false;
462 486
 				$notFoundSQLFile = true;
463 487
 				$txt['error_db_script_missing'] = sprintf($txt['error_db_script_missing'], 'install_' . $GLOBALS['db_script_version'] . '_' . $type . '.sql');
488
+			} else {
489
+							$incontext['supported_databases'][] = $db;
464 490
 			}
465
-			else
466
-				$incontext['supported_databases'][] = $db;
467 491
 		}
468 492
 	}
469 493
 
470 494
 	// Check the PHP version.
471
-	if ((!function_exists('version_compare') || version_compare($GLOBALS['required_php_version'], PHP_VERSION, '>=')))
472
-		$error = 'error_php_too_low';
495
+	if ((!function_exists('version_compare') || version_compare($GLOBALS['required_php_version'], PHP_VERSION, '>='))) {
496
+			$error = 'error_php_too_low';
497
+	}
473 498
 	// Make sure we have a supported database
474
-	elseif (empty($incontext['supported_databases']))
475
-		$error = empty($notFoundSQLFile) ? 'error_db_missing' : 'error_db_script_missing';
499
+	elseif (empty($incontext['supported_databases'])) {
500
+			$error = empty($notFoundSQLFile) ? 'error_db_missing' : 'error_db_script_missing';
501
+	}
476 502
 	// How about session support?  Some crazy sysadmin remove it?
477
-	elseif (!function_exists('session_start'))
478
-		$error = 'error_session_missing';
503
+	elseif (!function_exists('session_start')) {
504
+			$error = 'error_session_missing';
505
+	}
479 506
 	// Make sure they uploaded all the files.
480
-	elseif (!file_exists(dirname(__FILE__) . '/index.php'))
481
-		$error = 'error_missing_files';
507
+	elseif (!file_exists(dirname(__FILE__) . '/index.php')) {
508
+			$error = 'error_missing_files';
509
+	}
482 510
 	// Very simple check on the session.save_path for Windows.
483 511
 	// @todo Move this down later if they don't use database-driven sessions?
484
-	elseif (@ini_get('session.save_path') == '/tmp' && substr(__FILE__, 1, 2) == ':\\')
485
-		$error = 'error_session_save_path';
512
+	elseif (@ini_get('session.save_path') == '/tmp' && substr(__FILE__, 1, 2) == ':\\') {
513
+			$error = 'error_session_save_path';
514
+	}
486 515
 
487 516
 	// Since each of the three messages would look the same, anyway...
488
-	if (isset($error))
489
-		$incontext['error'] = $txt[$error];
517
+	if (isset($error)) {
518
+			$incontext['error'] = $txt[$error];
519
+	}
490 520
 
491 521
 	// Mod_security blocks everything that smells funny. Let SMF handle security.
492
-	if (!fixModSecurity() && !isset($_GET['overmodsecurity']))
493
-		$incontext['error'] = $txt['error_mod_security'] . '<br><br><a href="' . $installurl . '?overmodsecurity=true">' . $txt['error_message_click'] . '</a> ' . $txt['error_message_bad_try_again'];
522
+	if (!fixModSecurity() && !isset($_GET['overmodsecurity'])) {
523
+			$incontext['error'] = $txt['error_mod_security'] . '<br><br><a href="' . $installurl . '?overmodsecurity=true">' . $txt['error_message_click'] . '</a> ' . $txt['error_message_bad_try_again'];
524
+	}
494 525
 
495 526
 	// Confirm mbstring is loaded...
496
-	if (!extension_loaded('mbstring'))
497
-		$incontext['error'] = $txt['install_no_mbstring'];
527
+	if (!extension_loaded('mbstring')) {
528
+			$incontext['error'] = $txt['install_no_mbstring'];
529
+	}
498 530
 
499 531
 	// Check for https stream support.
500 532
 	$supported_streams = stream_get_wrappers();
501
-	if (!in_array('https', $supported_streams))
502
-		$incontext['warning'] = $txt['install_no_https'];
533
+	if (!in_array('https', $supported_streams)) {
534
+			$incontext['warning'] = $txt['install_no_https'];
535
+	}
503 536
 
504 537
 	return false;
505 538
 }
@@ -524,12 +557,14 @@  discard block
 block discarded – undo
524 557
 		'Settings_bak.php',
525 558
 	);
526 559
 
527
-	foreach ($incontext['detected_languages'] as $lang => $temp)
528
-		$extra_files[] = 'Themes/default/languages/' . $lang;
560
+	foreach ($incontext['detected_languages'] as $lang => $temp) {
561
+			$extra_files[] = 'Themes/default/languages/' . $lang;
562
+	}
529 563
 
530 564
 	// With mod_security installed, we could attempt to fix it with .htaccess.
531
-	if (function_exists('apache_get_modules') && in_array('mod_security', apache_get_modules()))
532
-		$writable_files[] = file_exists(dirname(__FILE__) . '/.htaccess') ? '.htaccess' : '.';
565
+	if (function_exists('apache_get_modules') && in_array('mod_security', apache_get_modules())) {
566
+			$writable_files[] = file_exists(dirname(__FILE__) . '/.htaccess') ? '.htaccess' : '.';
567
+	}
533 568
 
534 569
 	$failed_files = array();
535 570
 
@@ -541,20 +576,23 @@  discard block
 block discarded – undo
541 576
 		foreach ($writable_files as $file)
542 577
 		{
543 578
 			// Some files won't exist, try to address up front
544
-			if (!file_exists(dirname(__FILE__) . '/' . $file))
545
-				@touch(dirname(__FILE__) . '/' . $file);
579
+			if (!file_exists(dirname(__FILE__) . '/' . $file)) {
580
+							@touch(dirname(__FILE__) . '/' . $file);
581
+			}
546 582
 			// NOW do the writable check...
547 583
 			if (!is_writable(dirname(__FILE__) . '/' . $file))
548 584
 			{
549 585
 				@chmod(dirname(__FILE__) . '/' . $file, 0755);
550 586
 
551 587
 				// Well, 755 hopefully worked... if not, try 777.
552
-				if (!is_writable(dirname(__FILE__) . '/' . $file) && !@chmod(dirname(__FILE__) . '/' . $file, 0777))
553
-					$failed_files[] = $file;
588
+				if (!is_writable(dirname(__FILE__) . '/' . $file) && !@chmod(dirname(__FILE__) . '/' . $file, 0777)) {
589
+									$failed_files[] = $file;
590
+				}
554 591
 			}
555 592
 		}
556
-		foreach ($extra_files as $file)
557
-			@chmod(dirname(__FILE__) . (empty($file) ? '' : '/' . $file), 0777);
593
+		foreach ($extra_files as $file) {
594
+					@chmod(dirname(__FILE__) . (empty($file) ? '' : '/' . $file), 0777);
595
+		}
558 596
 	}
559 597
 	// Windows is trickier.  Let's try opening for r+...
560 598
 	else
@@ -564,30 +602,35 @@  discard block
 block discarded – undo
564 602
 		foreach ($writable_files as $file)
565 603
 		{
566 604
 			// Folders can't be opened for write... but the index.php in them can ;)
567
-			if (is_dir(dirname(__FILE__) . '/' . $file))
568
-				$file .= '/index.php';
605
+			if (is_dir(dirname(__FILE__) . '/' . $file)) {
606
+							$file .= '/index.php';
607
+			}
569 608
 
570 609
 			// Funny enough, chmod actually does do something on windows - it removes the read only attribute.
571 610
 			@chmod(dirname(__FILE__) . '/' . $file, 0777);
572 611
 			$fp = @fopen(dirname(__FILE__) . '/' . $file, 'r+');
573 612
 
574 613
 			// Hmm, okay, try just for write in that case...
575
-			if (!is_resource($fp))
576
-				$fp = @fopen(dirname(__FILE__) . '/' . $file, 'w');
614
+			if (!is_resource($fp)) {
615
+							$fp = @fopen(dirname(__FILE__) . '/' . $file, 'w');
616
+			}
577 617
 
578
-			if (!is_resource($fp))
579
-				$failed_files[] = $file;
618
+			if (!is_resource($fp)) {
619
+							$failed_files[] = $file;
620
+			}
580 621
 
581 622
 			@fclose($fp);
582 623
 		}
583
-		foreach ($extra_files as $file)
584
-			@chmod(dirname(__FILE__) . (empty($file) ? '' : '/' . $file), 0777);
624
+		foreach ($extra_files as $file) {
625
+					@chmod(dirname(__FILE__) . (empty($file) ? '' : '/' . $file), 0777);
626
+		}
585 627
 	}
586 628
 
587 629
 	$failure = count($failed_files) >= 1;
588 630
 
589
-	if (!isset($_SERVER))
590
-		return !$failure;
631
+	if (!isset($_SERVER)) {
632
+			return !$failure;
633
+	}
591 634
 
592 635
 	// Put the list into context.
593 636
 	$incontext['failed_files'] = $failed_files;
@@ -635,19 +678,23 @@  discard block
 block discarded – undo
635 678
 
636 679
 		if (!isset($ftp) || $ftp->error !== false)
637 680
 		{
638
-			if (!isset($ftp))
639
-				$ftp = new ftp_connection(null);
681
+			if (!isset($ftp)) {
682
+							$ftp = new ftp_connection(null);
683
+			}
640 684
 			// Save the error so we can mess with listing...
641
-			elseif ($ftp->error !== false && empty($incontext['ftp_errors']) && !empty($ftp->last_message))
642
-				$incontext['ftp_errors'][] = $ftp->last_message;
685
+			elseif ($ftp->error !== false && empty($incontext['ftp_errors']) && !empty($ftp->last_message)) {
686
+							$incontext['ftp_errors'][] = $ftp->last_message;
687
+			}
643 688
 
644 689
 			list ($username, $detect_path, $found_path) = $ftp->detect_path(dirname(__FILE__));
645 690
 
646
-			if (empty($_POST['ftp_path']) && $found_path)
647
-				$_POST['ftp_path'] = $detect_path;
691
+			if (empty($_POST['ftp_path']) && $found_path) {
692
+							$_POST['ftp_path'] = $detect_path;
693
+			}
648 694
 
649
-			if (!isset($_POST['ftp_username']))
650
-				$_POST['ftp_username'] = $username;
695
+			if (!isset($_POST['ftp_username'])) {
696
+							$_POST['ftp_username'] = $username;
697
+			}
651 698
 
652 699
 			// Set the username etc, into context.
653 700
 			$incontext['ftp'] = array(
@@ -659,8 +706,7 @@  discard block
 block discarded – undo
659 706
 			);
660 707
 
661 708
 			return false;
662
-		}
663
-		else
709
+		} else
664 710
 		{
665 711
 			$_SESSION['installer_temp_ftp'] = array(
666 712
 				'server' => $_POST['ftp_server'],
@@ -674,10 +720,12 @@  discard block
 block discarded – undo
674 720
 
675 721
 			foreach ($failed_files as $file)
676 722
 			{
677
-				if (!is_writable(dirname(__FILE__) . '/' . $file))
678
-					$ftp->chmod($file, 0755);
679
-				if (!is_writable(dirname(__FILE__) . '/' . $file))
680
-					$ftp->chmod($file, 0777);
723
+				if (!is_writable(dirname(__FILE__) . '/' . $file)) {
724
+									$ftp->chmod($file, 0755);
725
+				}
726
+				if (!is_writable(dirname(__FILE__) . '/' . $file)) {
727
+									$ftp->chmod($file, 0777);
728
+				}
681 729
 				if (!is_writable(dirname(__FILE__) . '/' . $file))
682 730
 				{
683 731
 					$failed_files_updated[] = $file;
@@ -733,15 +781,17 @@  discard block
 block discarded – undo
733 781
 
734 782
 			if (!$foundOne)
735 783
 			{
736
-				if (isset($db['default_host']))
737
-					$incontext['db']['server'] = ini_get($db['default_host']) or $incontext['db']['server'] = 'localhost';
784
+				if (isset($db['default_host'])) {
785
+									$incontext['db']['server'] = ini_get($db['default_host']) or $incontext['db']['server'] = 'localhost';
786
+				}
738 787
 				if (isset($db['default_user']))
739 788
 				{
740 789
 					$incontext['db']['user'] = ini_get($db['default_user']);
741 790
 					$incontext['db']['name'] = ini_get($db['default_user']);
742 791
 				}
743
-				if (isset($db['default_password']))
744
-					$incontext['db']['pass'] = ini_get($db['default_password']);
792
+				if (isset($db['default_password'])) {
793
+									$incontext['db']['pass'] = ini_get($db['default_password']);
794
+				}
745 795
 
746 796
 				// For simplicity and less confusion, leave the port blank by default
747 797
 				$incontext['db']['port'] = '';
@@ -760,10 +810,10 @@  discard block
 block discarded – undo
760 810
 		$incontext['db']['server'] = $_POST['db_server'];
761 811
 		$incontext['db']['prefix'] = $_POST['db_prefix'];
762 812
 
763
-		if (!empty($_POST['db_port']))
764
-			$incontext['db']['port'] = $_POST['db_port'];
765
-	}
766
-	else
813
+		if (!empty($_POST['db_port'])) {
814
+					$incontext['db']['port'] = $_POST['db_port'];
815
+		}
816
+	} else
767 817
 	{
768 818
 		$incontext['db']['prefix'] = 'smf_';
769 819
 	}
@@ -799,10 +849,11 @@  discard block
 block discarded – undo
799 849
 		if (!empty($_POST['db_port']))
800 850
 		{
801 851
 			// For MySQL, we can get the "default port" from PHP. PostgreSQL has no such option though.
802
-			if (($db_type == 'mysql' || $db_type == 'mysqli') && $_POST['db_port'] != ini_get($db_type . '.default_port'))
803
-				$vars['db_port'] = (int) $_POST['db_port'];
804
-			elseif ($db_type == 'postgresql' && $_POST['db_port'] != 5432)
805
-				$vars['db_port'] = (int) $_POST['db_port'];
852
+			if (($db_type == 'mysql' || $db_type == 'mysqli') && $_POST['db_port'] != ini_get($db_type . '.default_port')) {
853
+							$vars['db_port'] = (int) $_POST['db_port'];
854
+			} elseif ($db_type == 'postgresql' && $_POST['db_port'] != 5432) {
855
+							$vars['db_port'] = (int) $_POST['db_port'];
856
+			}
806 857
 		}
807 858
 
808 859
 		// God I hope it saved!
@@ -815,8 +866,9 @@  discard block
 block discarded – undo
815 866
 		// Make sure it works.
816 867
 		require(dirname(__FILE__) . '/Settings.php');
817 868
 
818
-		if (empty($sourcedir))
819
-			$sourcedir = dirname(__FILE__) . '/Sources';
869
+		if (empty($sourcedir)) {
870
+					$sourcedir = dirname(__FILE__) . '/Sources';
871
+		}
820 872
 
821 873
 		// Better find the database file!
822 874
 		if (!file_exists($sourcedir . '/Subs-Db-' . $db_type . '.php'))
@@ -826,18 +878,21 @@  discard block
 block discarded – undo
826 878
 		}
827 879
 
828 880
 		// Now include it for database functions!
829
-		if (!defined('SMF'))
830
-			define('SMF', 1);
881
+		if (!defined('SMF')) {
882
+					define('SMF', 1);
883
+		}
831 884
 
832 885
 		$modSettings['disableQueryCheck'] = true;
833
-		if (empty($smcFunc))
834
-			$smcFunc = array();
886
+		if (empty($smcFunc)) {
887
+					$smcFunc = array();
888
+		}
835 889
 
836 890
 			require_once($sourcedir . '/Subs-Db-' . $db_type . '.php');
837 891
 
838 892
 		// What - running PHP4? The shame!
839
-		if (version_compare(PHP_VERSION, '5', '<'))
840
-			require_once($sourcedir . '/Subs-Compat.php');
893
+		if (version_compare(PHP_VERSION, '5', '<')) {
894
+					require_once($sourcedir . '/Subs-Compat.php');
895
+		}
841 896
 
842 897
 		// Attempt a connection.
843 898
 		$needsDB = !empty($databases[$db_type]['always_has_db']);
@@ -925,12 +980,14 @@  discard block
 block discarded – undo
925 980
 	$incontext['page_title'] = $txt['install_settings'];
926 981
 
927 982
 	// Let's see if we got the database type correct.
928
-	if (isset($_POST['db_type'], $databases[$_POST['db_type']]))
929
-		$db_type = $_POST['db_type'];
983
+	if (isset($_POST['db_type'], $databases[$_POST['db_type']])) {
984
+			$db_type = $_POST['db_type'];
985
+	}
930 986
 
931 987
 	// Else we'd better be able to get the connection.
932
-	else
933
-		load_database();
988
+	else {
989
+			load_database();
990
+	}
934 991
 
935 992
 	$db_type = isset($_POST['db_type']) ? $_POST['db_type'] : $db_type;
936 993
 
@@ -939,10 +996,11 @@  discard block
 block discarded – undo
939 996
 
940 997
 		$secure = false;
941 998
 
942
-		if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on')
943
-			$secure = true;
944
-		elseif (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' || !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on')
945
-			$secure = true;
999
+		if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {
1000
+					$secure = true;
1001
+		} elseif (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' || !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on') {
1002
+					$secure = true;
1003
+		}
946 1004
 
947 1005
 	// Now, to put what we've learned together... and add a path.
948 1006
 	$incontext['detected_url'] = 'http' . ($secure ? 's' : '') . '://' . $host . substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'));
@@ -974,18 +1032,21 @@  discard block
 block discarded – undo
974 1032
 	// Submitting?
975 1033
 	if (isset($_POST['boardurl']))
976 1034
 	{
977
-		if (substr($_POST['boardurl'], -10) == '/index.php')
978
-			$_POST['boardurl'] = substr($_POST['boardurl'], 0, -10);
979
-		elseif (substr($_POST['boardurl'], -1) == '/')
980
-			$_POST['boardurl'] = substr($_POST['boardurl'], 0, -1);
981
-		if (substr($_POST['boardurl'], 0, 7) != 'http://' && substr($_POST['boardurl'], 0, 7) != 'file://' && substr($_POST['boardurl'], 0, 8) != 'https://')
982
-			$_POST['boardurl'] = 'http://' . $_POST['boardurl'];
1035
+		if (substr($_POST['boardurl'], -10) == '/index.php') {
1036
+					$_POST['boardurl'] = substr($_POST['boardurl'], 0, -10);
1037
+		} elseif (substr($_POST['boardurl'], -1) == '/') {
1038
+					$_POST['boardurl'] = substr($_POST['boardurl'], 0, -1);
1039
+		}
1040
+		if (substr($_POST['boardurl'], 0, 7) != 'http://' && substr($_POST['boardurl'], 0, 7) != 'file://' && substr($_POST['boardurl'], 0, 8) != 'https://') {
1041
+					$_POST['boardurl'] = 'http://' . $_POST['boardurl'];
1042
+		}
983 1043
 
984 1044
 		//Make sure boardurl is aligned with ssl setting
985
-		if (empty($_POST['force_ssl']))
986
-			$_POST['boardurl'] = strtr($_POST['boardurl'], array('https://' => 'http://'));
987
-		else
988
-			$_POST['boardurl'] = strtr($_POST['boardurl'], array('http://' => 'https://'));
1045
+		if (empty($_POST['force_ssl'])) {
1046
+					$_POST['boardurl'] = strtr($_POST['boardurl'], array('https://' => 'http://'));
1047
+		} else {
1048
+					$_POST['boardurl'] = strtr($_POST['boardurl'], array('http://' => 'https://'));
1049
+		}
989 1050
 
990 1051
 		// Save these variables.
991 1052
 		$vars = array(
@@ -1024,10 +1085,10 @@  discard block
 block discarded – undo
1024 1085
 			{
1025 1086
 				$incontext['error'] = sprintf($txt['error_utf8_version'], $databases[$db_type]['utf8_version']);
1026 1087
 				return false;
1027
-			}
1028
-			else
1029
-				// Set the character set here.
1088
+			} else {
1089
+							// Set the character set here.
1030 1090
 				updateSettingsFile(array('db_character_set' => 'utf8'));
1091
+			}
1031 1092
 		}
1032 1093
 
1033 1094
 		// Good, skip on.
@@ -1047,8 +1108,9 @@  discard block
 block discarded – undo
1047 1108
 	$incontext['continue'] = 1;
1048 1109
 
1049 1110
 	// Already done?
1050
-	if (isset($_POST['pop_done']))
1051
-		return true;
1111
+	if (isset($_POST['pop_done'])) {
1112
+			return true;
1113
+	}
1052 1114
 
1053 1115
 	// Reload settings.
1054 1116
 	require(dirname(__FILE__) . '/Settings.php');
@@ -1066,8 +1128,9 @@  discard block
 block discarded – undo
1066 1128
 	$modSettings = array();
1067 1129
 	if ($result !== false)
1068 1130
 	{
1069
-		while ($row = $smcFunc['db_fetch_assoc']($result))
1070
-			$modSettings[$row['variable']] = $row['value'];
1131
+		while ($row = $smcFunc['db_fetch_assoc']($result)) {
1132
+					$modSettings[$row['variable']] = $row['value'];
1133
+		}
1071 1134
 		$smcFunc['db_free_result']($result);
1072 1135
 
1073 1136
 		// Do they match?  If so, this is just a refresh so charge on!
@@ -1080,20 +1143,22 @@  discard block
 block discarded – undo
1080 1143
 	$modSettings['disableQueryCheck'] = true;
1081 1144
 
1082 1145
 	// If doing UTF8, select it. PostgreSQL requires passing it as a string...
1083
-	if (!empty($db_character_set) && $db_character_set == 'utf8' && !empty($databases[$db_type]['utf8_support']))
1084
-		$smcFunc['db_query']('', '
1146
+	if (!empty($db_character_set) && $db_character_set == 'utf8' && !empty($databases[$db_type]['utf8_support'])) {
1147
+			$smcFunc['db_query']('', '
1085 1148
 			SET NAMES {string:utf8}',
1086 1149
 			array(
1087 1150
 				'db_error_skip' => true,
1088 1151
 				'utf8' => 'utf8',
1089 1152
 			)
1090 1153
 		);
1154
+	}
1091 1155
 
1092 1156
 	// Windows likes to leave the trailing slash, which yields to C:\path\to\SMF\/attachments...
1093
-	if (substr(__DIR__, -1) == '\\')
1094
-		$attachdir = __DIR__ . 'attachments';
1095
-	else
1096
-		$attachdir = __DIR__ . '/attachments';
1157
+	if (substr(__DIR__, -1) == '\\') {
1158
+			$attachdir = __DIR__ . 'attachments';
1159
+	} else {
1160
+			$attachdir = __DIR__ . '/attachments';
1161
+	}
1097 1162
 
1098 1163
 	$replaces = array(
1099 1164
 		'{$db_prefix}' => $db_prefix,
@@ -1110,8 +1175,9 @@  discard block
 block discarded – undo
1110 1175
 
1111 1176
 	foreach ($txt as $key => $value)
1112 1177
 	{
1113
-		if (substr($key, 0, 8) == 'default_')
1114
-			$replaces['{$' . $key . '}'] = $smcFunc['db_escape_string']($value);
1178
+		if (substr($key, 0, 8) == 'default_') {
1179
+					$replaces['{$' . $key . '}'] = $smcFunc['db_escape_string']($value);
1180
+		}
1115 1181
 	}
1116 1182
 	$replaces['{$default_reserved_names}'] = strtr($replaces['{$default_reserved_names}'], array('\\\\n' => '\\n'));
1117 1183
 
@@ -1126,8 +1192,9 @@  discard block
 block discarded – undo
1126 1192
 
1127 1193
 		while ($row = $smcFunc['db_fetch_assoc']($get_engines))
1128 1194
 		{
1129
-			if ($row['Support'] == 'YES' || $row['Support'] == 'DEFAULT')
1130
-				$engines[] = $row['Engine'];
1195
+			if ($row['Support'] == 'YES' || $row['Support'] == 'DEFAULT') {
1196
+							$engines[] = $row['Engine'];
1197
+			}
1131 1198
 		}
1132 1199
 
1133 1200
 		// Done with this now
@@ -1151,8 +1218,7 @@  discard block
 block discarded – undo
1151 1218
 			$replaces['START TRANSACTION;'] = '';
1152 1219
 			$replaces['COMMIT;'] = '';
1153 1220
 		}
1154
-	}
1155
-	else
1221
+	} else
1156 1222
 	{
1157 1223
 		$has_innodb = false;
1158 1224
 	}
@@ -1174,21 +1240,24 @@  discard block
 block discarded – undo
1174 1240
 	foreach ($sql_lines as $count => $line)
1175 1241
 	{
1176 1242
 		// No comments allowed!
1177
-		if (substr(trim($line), 0, 1) != '#')
1178
-			$current_statement .= "\n" . rtrim($line);
1243
+		if (substr(trim($line), 0, 1) != '#') {
1244
+					$current_statement .= "\n" . rtrim($line);
1245
+		}
1179 1246
 
1180 1247
 		// Is this the end of the query string?
1181
-		if (empty($current_statement) || (preg_match('~;[\s]*$~s', $line) == 0 && $count != count($sql_lines)))
1182
-			continue;
1248
+		if (empty($current_statement) || (preg_match('~;[\s]*$~s', $line) == 0 && $count != count($sql_lines))) {
1249
+					continue;
1250
+		}
1183 1251
 
1184 1252
 		// Does this table already exist?  If so, don't insert more data into it!
1185 1253
 		if (preg_match('~^\s*INSERT INTO ([^\s\n\r]+?)~', $current_statement, $match) != 0 && in_array($match[1], $exists))
1186 1254
 		{
1187 1255
 			preg_match_all('~\)[,;]~', $current_statement, $matches);
1188
-			if (!empty($matches[0]))
1189
-				$incontext['sql_results']['insert_dups'] += count($matches[0]);
1190
-			else
1191
-				$incontext['sql_results']['insert_dups']++;
1256
+			if (!empty($matches[0])) {
1257
+							$incontext['sql_results']['insert_dups'] += count($matches[0]);
1258
+			} else {
1259
+							$incontext['sql_results']['insert_dups']++;
1260
+			}
1192 1261
 
1193 1262
 			$current_statement = '';
1194 1263
 			continue;
@@ -1197,8 +1266,9 @@  discard block
 block discarded – undo
1197 1266
 		if ($smcFunc['db_query']('', $current_statement, array('security_override' => true, 'db_error_skip' => true), $db_connection) === false)
1198 1267
 		{
1199 1268
 			// Use the appropriate function based on the DB type
1200
-			if ($db_type == 'mysql' || $db_type == 'mysqli')
1201
-				$db_errorno = $db_type . '_errno';
1269
+			if ($db_type == 'mysql' || $db_type == 'mysqli') {
1270
+							$db_errorno = $db_type . '_errno';
1271
+			}
1202 1272
 
1203 1273
 			// Error 1050: Table already exists!
1204 1274
 			// @todo Needs to be made better!
@@ -1213,18 +1283,18 @@  discard block
 block discarded – undo
1213 1283
 				// MySQLi requires a connection object. It's optional with MySQL and Postgres
1214 1284
 				$incontext['failures'][$count] = $smcFunc['db_error']($db_connection);
1215 1285
 			}
1216
-		}
1217
-		else
1286
+		} else
1218 1287
 		{
1219
-			if (preg_match('~^\s*CREATE TABLE ([^\s\n\r]+?)~', $current_statement, $match) == 1)
1220
-				$incontext['sql_results']['tables']++;
1221
-			elseif (preg_match('~^\s*INSERT INTO ([^\s\n\r]+?)~', $current_statement, $match) == 1)
1288
+			if (preg_match('~^\s*CREATE TABLE ([^\s\n\r]+?)~', $current_statement, $match) == 1) {
1289
+							$incontext['sql_results']['tables']++;
1290
+			} elseif (preg_match('~^\s*INSERT INTO ([^\s\n\r]+?)~', $current_statement, $match) == 1)
1222 1291
 			{
1223 1292
 				preg_match_all('~\)[,;]~', $current_statement, $matches);
1224
-				if (!empty($matches[0]))
1225
-					$incontext['sql_results']['inserts'] += count($matches[0]);
1226
-				else
1227
-					$incontext['sql_results']['inserts']++;
1293
+				if (!empty($matches[0])) {
1294
+									$incontext['sql_results']['inserts'] += count($matches[0]);
1295
+				} else {
1296
+									$incontext['sql_results']['inserts']++;
1297
+				}
1228 1298
 			}
1229 1299
 		}
1230 1300
 
@@ -1237,15 +1307,17 @@  discard block
 block discarded – undo
1237 1307
 	// Sort out the context for the SQL.
1238 1308
 	foreach ($incontext['sql_results'] as $key => $number)
1239 1309
 	{
1240
-		if ($number == 0)
1241
-			unset($incontext['sql_results'][$key]);
1242
-		else
1243
-			$incontext['sql_results'][$key] = sprintf($txt['db_populate_' . $key], $number);
1310
+		if ($number == 0) {
1311
+					unset($incontext['sql_results'][$key]);
1312
+		} else {
1313
+					$incontext['sql_results'][$key] = sprintf($txt['db_populate_' . $key], $number);
1314
+		}
1244 1315
 	}
1245 1316
 
1246 1317
 	// Make sure UTF will be used globally.
1247
-	if ((!empty($databases[$db_type]['utf8_support']) && !empty($databases[$db_type]['utf8_required'])) || (empty($databases[$db_type]['utf8_required']) && !empty($databases[$db_type]['utf8_support']) && isset($_POST['utf8'])))
1248
-		$newSettings[] = array('global_character_set', 'UTF-8');
1318
+	if ((!empty($databases[$db_type]['utf8_support']) && !empty($databases[$db_type]['utf8_required'])) || (empty($databases[$db_type]['utf8_required']) && !empty($databases[$db_type]['utf8_support']) && isset($_POST['utf8']))) {
1319
+			$newSettings[] = array('global_character_set', 'UTF-8');
1320
+	}
1249 1321
 
1250 1322
 	// Auto-detect local & global cookie settings
1251 1323
 	$url_parts = parse_url($boardurl);
@@ -1274,15 +1346,19 @@  discard block
 block discarded – undo
1274 1346
 
1275 1347
 		// Look for subfolder, if found, set localCookie
1276 1348
 		// Checking for len > 1 ensures you don't have just a slash...
1277
-		if (!empty($url_parts['path']) && strlen($url_parts['path']) > 1)
1278
-			$localCookies = '1';
1349
+		if (!empty($url_parts['path']) && strlen($url_parts['path']) > 1) {
1350
+					$localCookies = '1';
1351
+		}
1279 1352
 
1280
-		if (isset($globalCookies))
1281
-			$newSettings[] = array('globalCookies', $globalCookies);
1282
-		if (isset($globalCookiesDomain))
1283
-			$newSettings[] = array('globalCookiesDomain', $globalCookiesDomain);
1284
-		if (isset($localCookies))
1285
-			$newSettings[] = array('localCookies', $localCookies);
1353
+		if (isset($globalCookies)) {
1354
+					$newSettings[] = array('globalCookies', $globalCookies);
1355
+		}
1356
+		if (isset($globalCookiesDomain)) {
1357
+					$newSettings[] = array('globalCookiesDomain', $globalCookiesDomain);
1358
+		}
1359
+		if (isset($localCookies)) {
1360
+					$newSettings[] = array('localCookies', $localCookies);
1361
+		}
1286 1362
 	}
1287 1363
 
1288 1364
 	// Are we allowing stat collection?
@@ -1300,16 +1376,17 @@  discard block
 block discarded – undo
1300 1376
 			fwrite($fp, $out);
1301 1377
 
1302 1378
 			$return_data = '';
1303
-			while (!feof($fp))
1304
-				$return_data .= fgets($fp, 128);
1379
+			while (!feof($fp)) {
1380
+							$return_data .= fgets($fp, 128);
1381
+			}
1305 1382
 
1306 1383
 			fclose($fp);
1307 1384
 
1308 1385
 			// Get the unique site ID.
1309 1386
 			preg_match('~SITE-ID:\s(\w{10})~', $return_data, $ID);
1310 1387
 
1311
-			if (!empty($ID[1]))
1312
-				$smcFunc['db_insert']('replace',
1388
+			if (!empty($ID[1])) {
1389
+							$smcFunc['db_insert']('replace',
1313 1390
 					$db_prefix . 'settings',
1314 1391
 					array('variable' => 'string', 'value' => 'string'),
1315 1392
 					array(
@@ -1318,11 +1395,12 @@  discard block
 block discarded – undo
1318 1395
 					),
1319 1396
 					array('variable')
1320 1397
 				);
1398
+			}
1321 1399
 		}
1322 1400
 	}
1323 1401
 	// Don't remove stat collection unless we unchecked the box for real, not from the loop.
1324
-	elseif (empty($_POST['stats']) && empty($upcontext['allow_sm_stats']))
1325
-		$smcFunc['db_query']('', '
1402
+	elseif (empty($_POST['stats']) && empty($upcontext['allow_sm_stats'])) {
1403
+			$smcFunc['db_query']('', '
1326 1404
 			DELETE FROM {db_prefix}settings
1327 1405
 			WHERE variable = {string:enable_sm_stats}',
1328 1406
 			array(
@@ -1330,20 +1408,23 @@  discard block
 block discarded – undo
1330 1408
 				'db_error_skip' => true,
1331 1409
 			)
1332 1410
 		);
1411
+	}
1333 1412
 
1334 1413
 	// Are we enabling SSL?
1335
-	if (!empty($_POST['force_ssl']))
1336
-		$newSettings[] = array('force_ssl', 1);
1414
+	if (!empty($_POST['force_ssl'])) {
1415
+			$newSettings[] = array('force_ssl', 1);
1416
+	}
1337 1417
 
1338 1418
 	// Setting a timezone is required.
1339 1419
 	if (!isset($modSettings['default_timezone']) && function_exists('date_default_timezone_set'))
1340 1420
 	{
1341 1421
 		// Get PHP's default timezone, if set
1342 1422
 		$ini_tz = ini_get('date.timezone');
1343
-		if (!empty($ini_tz))
1344
-			$timezone_id = $ini_tz;
1345
-		else
1346
-			$timezone_id = '';
1423
+		if (!empty($ini_tz)) {
1424
+					$timezone_id = $ini_tz;
1425
+		} else {
1426
+					$timezone_id = '';
1427
+		}
1347 1428
 
1348 1429
 		// If date.timezone is unset, invalid, or just plain weird, make a best guess
1349 1430
 		if (!in_array($timezone_id, timezone_identifiers_list()))
@@ -1352,8 +1433,9 @@  discard block
 block discarded – undo
1352 1433
 			$timezone_id = timezone_name_from_abbr('', $server_offset, 0);
1353 1434
 		}
1354 1435
 
1355
-		if (date_default_timezone_set($timezone_id))
1356
-			$newSettings[] = array('default_timezone', $timezone_id);
1436
+		if (date_default_timezone_set($timezone_id)) {
1437
+					$newSettings[] = array('default_timezone', $timezone_id);
1438
+		}
1357 1439
 	}
1358 1440
 
1359 1441
 	if (!empty($newSettings))
@@ -1384,16 +1466,18 @@  discard block
 block discarded – undo
1384 1466
 	}
1385 1467
 
1386 1468
 	// MySQL specific stuff
1387
-	if (substr($db_type, 0, 5) != 'mysql')
1388
-		return false;
1469
+	if (substr($db_type, 0, 5) != 'mysql') {
1470
+			return false;
1471
+	}
1389 1472
 
1390 1473
 	// Find database user privileges.
1391 1474
 	$privs = array();
1392 1475
 	$get_privs = $smcFunc['db_query']('', 'SHOW PRIVILEGES', array());
1393 1476
 	while ($row = $smcFunc['db_fetch_assoc']($get_privs))
1394 1477
 	{
1395
-		if ($row['Privilege'] == 'Alter')
1396
-			$privs[] = $row['Privilege'];
1478
+		if ($row['Privilege'] == 'Alter') {
1479
+					$privs[] = $row['Privilege'];
1480
+		}
1397 1481
 	}
1398 1482
 	$smcFunc['db_free_result']($get_privs);
1399 1483
 
@@ -1423,8 +1507,9 @@  discard block
 block discarded – undo
1423 1507
 	$incontext['continue'] = 1;
1424 1508
 
1425 1509
 	// Skipping?
1426
-	if (!empty($_POST['skip']))
1427
-		return true;
1510
+	if (!empty($_POST['skip'])) {
1511
+			return true;
1512
+	}
1428 1513
 
1429 1514
 	// Need this to check whether we need the database password.
1430 1515
 	require(dirname(__FILE__) . '/Settings.php');
@@ -1441,18 +1526,22 @@  discard block
 block discarded – undo
1441 1526
 	// We need this to properly hash the password for Admin
1442 1527
 	$smcFunc['strtolower'] = $db_character_set != 'utf8' && $txt['lang_character_set'] != 'UTF-8' ? 'strtolower' : function($string) {
1443 1528
 			global $sourcedir;
1444
-			if (function_exists('mb_strtolower'))
1445
-				return mb_strtolower($string, 'UTF-8');
1529
+			if (function_exists('mb_strtolower')) {
1530
+							return mb_strtolower($string, 'UTF-8');
1531
+			}
1446 1532
 			require_once($sourcedir . '/Subs-Charset.php');
1447 1533
 			return utf8_strtolower($string);
1448 1534
 		};
1449 1535
 
1450
-	if (!isset($_POST['username']))
1451
-		$_POST['username'] = '';
1452
-	if (!isset($_POST['email']))
1453
-		$_POST['email'] = '';
1454
-	if (!isset($_POST['server_email']))
1455
-		$_POST['server_email'] = '';
1536
+	if (!isset($_POST['username'])) {
1537
+			$_POST['username'] = '';
1538
+	}
1539
+	if (!isset($_POST['email'])) {
1540
+			$_POST['email'] = '';
1541
+	}
1542
+	if (!isset($_POST['server_email'])) {
1543
+			$_POST['server_email'] = '';
1544
+	}
1456 1545
 
1457 1546
 	$incontext['username'] = htmlspecialchars(stripslashes($_POST['username']));
1458 1547
 	$incontext['email'] = htmlspecialchars(stripslashes($_POST['email']));
@@ -1471,8 +1560,9 @@  discard block
 block discarded – undo
1471 1560
 			'admin_group' => 1,
1472 1561
 		)
1473 1562
 	);
1474
-	if ($smcFunc['db_num_rows']($request) != 0)
1475
-		$incontext['skip'] = 1;
1563
+	if ($smcFunc['db_num_rows']($request) != 0) {
1564
+			$incontext['skip'] = 1;
1565
+	}
1476 1566
 	$smcFunc['db_free_result']($request);
1477 1567
 
1478 1568
 	// Trying to create an account?
@@ -1503,8 +1593,9 @@  discard block
 block discarded – undo
1503 1593
 		}
1504 1594
 
1505 1595
 		// Update the webmaster's email?
1506
-		if (!empty($_POST['server_email']) && (empty($webmaster_email) || $webmaster_email == '[email protected]'))
1507
-			updateSettingsFile(array('webmaster_email' => $_POST['server_email']));
1596
+		if (!empty($_POST['server_email']) && (empty($webmaster_email) || $webmaster_email == '[email protected]')) {
1597
+					updateSettingsFile(array('webmaster_email' => $_POST['server_email']));
1598
+		}
1508 1599
 
1509 1600
 		// Work out whether we're going to have dodgy characters and remove them.
1510 1601
 		$invalid_characters = preg_match('~[<>&"\'=\\\]~', $_POST['username']) != 0;
@@ -1527,32 +1618,27 @@  discard block
 block discarded – undo
1527 1618
 			$smcFunc['db_free_result']($result);
1528 1619
 
1529 1620
 			$incontext['account_existed'] = $txt['error_user_settings_taken'];
1530
-		}
1531
-		elseif ($_POST['username'] == '' || strlen($_POST['username']) > 25)
1621
+		} elseif ($_POST['username'] == '' || strlen($_POST['username']) > 25)
1532 1622
 		{
1533 1623
 			// Try the previous step again.
1534 1624
 			$incontext['error'] = $_POST['username'] == '' ? $txt['error_username_left_empty'] : $txt['error_username_too_long'];
1535 1625
 			return false;
1536
-		}
1537
-		elseif ($invalid_characters || $_POST['username'] == '_' || $_POST['username'] == '|' || strpos($_POST['username'], '[code') !== false || strpos($_POST['username'], '[/code') !== false)
1626
+		} elseif ($invalid_characters || $_POST['username'] == '_' || $_POST['username'] == '|' || strpos($_POST['username'], '[code') !== false || strpos($_POST['username'], '[/code') !== false)
1538 1627
 		{
1539 1628
 			// Try the previous step again.
1540 1629
 			$incontext['error'] = $txt['error_invalid_characters_username'];
1541 1630
 			return false;
1542
-		}
1543
-		elseif (empty($_POST['email']) || !filter_var(stripslashes($_POST['email']), FILTER_VALIDATE_EMAIL) || strlen(stripslashes($_POST['email'])) > 255)
1631
+		} elseif (empty($_POST['email']) || !filter_var(stripslashes($_POST['email']), FILTER_VALIDATE_EMAIL) || strlen(stripslashes($_POST['email'])) > 255)
1544 1632
 		{
1545 1633
 			// One step back, this time fill out a proper admin email address.
1546 1634
 			$incontext['error'] = sprintf($txt['error_valid_admin_email_needed'], $_POST['username']);
1547 1635
 			return false;
1548
-		}
1549
-		elseif (empty($_POST['server_email']) || !filter_var(stripslashes($_POST['server_email']), FILTER_VALIDATE_EMAIL) || strlen(stripslashes($_POST['server_email'])) > 255)
1636
+		} elseif (empty($_POST['server_email']) || !filter_var(stripslashes($_POST['server_email']), FILTER_VALIDATE_EMAIL) || strlen(stripslashes($_POST['server_email'])) > 255)
1550 1637
 		{
1551 1638
 			// One step back, this time fill out a proper admin email address.
1552 1639
 			$incontext['error'] = $txt['error_valid_server_email_needed'];
1553 1640
 			return false;
1554
-		}
1555
-		elseif ($_POST['username'] != '')
1641
+		} elseif ($_POST['username'] != '')
1556 1642
 		{
1557 1643
 			$incontext['member_salt'] = substr(md5(mt_rand()), 0, 4);
1558 1644
 
@@ -1620,17 +1706,19 @@  discard block
 block discarded – undo
1620 1706
 	reloadSettings();
1621 1707
 
1622 1708
 	// Bring a warning over.
1623
-	if (!empty($incontext['account_existed']))
1624
-		$incontext['warning'] = $incontext['account_existed'];
1709
+	if (!empty($incontext['account_existed'])) {
1710
+			$incontext['warning'] = $incontext['account_existed'];
1711
+	}
1625 1712
 
1626
-	if (!empty($db_character_set) && !empty($databases[$db_type]['utf8_support']))
1627
-		$smcFunc['db_query']('', '
1713
+	if (!empty($db_character_set) && !empty($databases[$db_type]['utf8_support'])) {
1714
+			$smcFunc['db_query']('', '
1628 1715
 			SET NAMES {string:db_character_set}',
1629 1716
 			array(
1630 1717
 				'db_character_set' => $db_character_set,
1631 1718
 				'db_error_skip' => true,
1632 1719
 			)
1633 1720
 		);
1721
+	}
1634 1722
 
1635 1723
 	// As track stats is by default enabled let's add some activity.
1636 1724
 	$smcFunc['db_insert']('ignore',
@@ -1651,14 +1739,16 @@  discard block
 block discarded – undo
1651 1739
 	// Only proceed if we can load the data.
1652 1740
 	if ($request)
1653 1741
 	{
1654
-		while ($row = $smcFunc['db_fetch_row']($request))
1655
-			$modSettings[$row[0]] = $row[1];
1742
+		while ($row = $smcFunc['db_fetch_row']($request)) {
1743
+					$modSettings[$row[0]] = $row[1];
1744
+		}
1656 1745
 		$smcFunc['db_free_result']($request);
1657 1746
 	}
1658 1747
 
1659 1748
 	// Automatically log them in ;)
1660
-	if (isset($incontext['member_id']) && isset($incontext['member_salt']))
1661
-		setLoginCookie(3153600 * 60, $incontext['member_id'], hash_salt($_POST['password1'], $incontext['member_salt']));
1749
+	if (isset($incontext['member_id']) && isset($incontext['member_salt'])) {
1750
+			setLoginCookie(3153600 * 60, $incontext['member_id'], hash_salt($_POST['password1'], $incontext['member_salt']));
1751
+	}
1662 1752
 
1663 1753
 	$result = $smcFunc['db_query']('', '
1664 1754
 		SELECT value
@@ -1669,13 +1759,14 @@  discard block
 block discarded – undo
1669 1759
 			'db_error_skip' => true,
1670 1760
 		)
1671 1761
 	);
1672
-	if ($smcFunc['db_num_rows']($result) != 0)
1673
-		list ($db_sessions) = $smcFunc['db_fetch_row']($result);
1762
+	if ($smcFunc['db_num_rows']($result) != 0) {
1763
+			list ($db_sessions) = $smcFunc['db_fetch_row']($result);
1764
+	}
1674 1765
 	$smcFunc['db_free_result']($result);
1675 1766
 
1676
-	if (empty($db_sessions))
1677
-		$_SESSION['admin_time'] = time();
1678
-	else
1767
+	if (empty($db_sessions)) {
1768
+			$_SESSION['admin_time'] = time();
1769
+	} else
1679 1770
 	{
1680 1771
 		$_SERVER['HTTP_USER_AGENT'] = substr($_SERVER['HTTP_USER_AGENT'], 0, 211);
1681 1772
 
@@ -1699,8 +1790,9 @@  discard block
 block discarded – undo
1699 1790
 	$smcFunc['strtolower'] = $db_character_set != 'utf8' && $txt['lang_character_set'] != 'UTF-8' ? 'strtolower' :
1700 1791
 		function($string){
1701 1792
 			global $sourcedir;
1702
-			if (function_exists('mb_strtolower'))
1703
-				return mb_strtolower($string, 'UTF-8');
1793
+			if (function_exists('mb_strtolower')) {
1794
+							return mb_strtolower($string, 'UTF-8');
1795
+			}
1704 1796
 			require_once($sourcedir . '/Subs-Charset.php');
1705 1797
 			return utf8_strtolower($string);
1706 1798
 		};
@@ -1716,8 +1808,9 @@  discard block
 block discarded – undo
1716 1808
 		)
1717 1809
 	);
1718 1810
 	$context['utf8'] = $db_character_set === 'utf8' || $txt['lang_character_set'] === 'UTF-8';
1719
-	if ($smcFunc['db_num_rows']($request) > 0)
1720
-		updateStats('subject', 1, htmlspecialchars($txt['default_topic_subject']));
1811
+	if ($smcFunc['db_num_rows']($request) > 0) {
1812
+			updateStats('subject', 1, htmlspecialchars($txt['default_topic_subject']));
1813
+	}
1721 1814
 	$smcFunc['db_free_result']($request);
1722 1815
 
1723 1816
 	// Now is the perfect time to fetch the SM files.
@@ -1736,8 +1829,9 @@  discard block
 block discarded – undo
1736 1829
 
1737 1830
 	// Check if we need some stupid MySQL fix.
1738 1831
 	$server_version = $smcFunc['db_server_info']();
1739
-	if (($db_type == 'mysql' || $db_type == 'mysqli') && in_array(substr($server_version, 0, 6), array('5.0.50', '5.0.51')))
1740
-		updateSettings(array('db_mysql_group_by_fix' => '1'));
1832
+	if (($db_type == 'mysql' || $db_type == 'mysqli') && in_array(substr($server_version, 0, 6), array('5.0.50', '5.0.51'))) {
1833
+			updateSettings(array('db_mysql_group_by_fix' => '1'));
1834
+	}
1741 1835
 
1742 1836
 	// Some final context for the template.
1743 1837
 	$incontext['dir_still_writable'] = is_writable(dirname(__FILE__)) && substr(__FILE__, 1, 2) != ':\\';
@@ -1757,8 +1851,9 @@  discard block
 block discarded – undo
1757 1851
 	$settingsArray = file(dirname(__FILE__) . '/Settings.php');
1758 1852
 
1759 1853
 	// @todo Do we just want to read the file in clean, and split it this way always?
1760
-	if (count($settingsArray) == 1)
1761
-		$settingsArray = preg_split('~[\r\n]~', $settingsArray[0]);
1854
+	if (count($settingsArray) == 1) {
1855
+			$settingsArray = preg_split('~[\r\n]~', $settingsArray[0]);
1856
+	}
1762 1857
 
1763 1858
 	for ($i = 0, $n = count($settingsArray); $i < $n; $i++)
1764 1859
 	{
@@ -1766,25 +1861,29 @@  discard block
 block discarded – undo
1766 1861
 		if (trim($settingsArray[$i]) == 'if (file_exists(dirname(__FILE__) . \'/install.php\'))' && trim($settingsArray[$i + 1]) == '{' && trim($settingsArray[$i + 9]) == '}')
1767 1862
 		{
1768 1863
 			// Set the ten lines to nothing.
1769
-			for ($j=0; $j < 10; $j++)
1770
-				$settingsArray[$i++] = '';
1864
+			for ($j=0; $j < 10; $j++) {
1865
+							$settingsArray[$i++] = '';
1866
+			}
1771 1867
 
1772 1868
 			continue;
1773 1869
 		}
1774 1870
 
1775
-		if (trim($settingsArray[$i]) == '?' . '>')
1776
-			$settingsArray[$i] = '';
1871
+		if (trim($settingsArray[$i]) == '?' . '>') {
1872
+					$settingsArray[$i] = '';
1873
+		}
1777 1874
 
1778 1875
 		// Don't trim or bother with it if it's not a variable.
1779
-		if (substr($settingsArray[$i], 0, 1) != '$')
1780
-			continue;
1876
+		if (substr($settingsArray[$i], 0, 1) != '$') {
1877
+					continue;
1878
+		}
1781 1879
 
1782 1880
 		$settingsArray[$i] = rtrim($settingsArray[$i]) . "\n";
1783 1881
 
1784
-		foreach ($vars as $var => $val)
1785
-			if (strncasecmp($settingsArray[$i], '$' . $var, 1 + strlen($var)) == 0)
1882
+		foreach ($vars as $var => $val) {
1883
+					if (strncasecmp($settingsArray[$i], '$' . $var, 1 + strlen($var)) == 0)
1786 1884
 			{
1787 1885
 				$comment = strstr($settingsArray[$i], '#');
1886
+		}
1788 1887
 				$settingsArray[$i] = '$' . $var . ' = \'' . $val . '\';' . ($comment != '' ? "\t\t" . $comment : "\n");
1789 1888
 				unset($vars[$var]);
1790 1889
 			}
@@ -1794,36 +1893,41 @@  discard block
 block discarded – undo
1794 1893
 	if (!empty($vars))
1795 1894
 	{
1796 1895
 		$settingsArray[$i++] = '';
1797
-		foreach ($vars as $var => $val)
1798
-			$settingsArray[$i++] = '$' . $var . ' = \'' . $val . '\';' . "\n";
1896
+		foreach ($vars as $var => $val) {
1897
+					$settingsArray[$i++] = '$' . $var . ' = \'' . $val . '\';' . "\n";
1898
+		}
1799 1899
 	}
1800 1900
 
1801 1901
 	// Blank out the file - done to fix a oddity with some servers.
1802 1902
 	$fp = @fopen(dirname(__FILE__) . '/Settings.php', 'w');
1803
-	if (!$fp)
1804
-		return false;
1903
+	if (!$fp) {
1904
+			return false;
1905
+	}
1805 1906
 	fclose($fp);
1806 1907
 
1807 1908
 	$fp = fopen(dirname(__FILE__) . '/Settings.php', 'r+');
1808 1909
 
1809 1910
 	// Gotta have one of these ;)
1810
-	if (trim($settingsArray[0]) != '<?php')
1811
-		fwrite($fp, "<?php\n");
1911
+	if (trim($settingsArray[0]) != '<?php') {
1912
+			fwrite($fp, "<?php\n");
1913
+	}
1812 1914
 
1813 1915
 	$lines = count($settingsArray);
1814 1916
 	for ($i = 0; $i < $lines - 1; $i++)
1815 1917
 	{
1816 1918
 		// Don't just write a bunch of blank lines.
1817
-		if ($settingsArray[$i] != '' || @$settingsArray[$i - 1] != '')
1818
-			fwrite($fp, strtr($settingsArray[$i], "\r", ''));
1919
+		if ($settingsArray[$i] != '' || @$settingsArray[$i - 1] != '') {
1920
+					fwrite($fp, strtr($settingsArray[$i], "\r", ''));
1921
+		}
1819 1922
 	}
1820 1923
 	fwrite($fp, $settingsArray[$i] . '?' . '>');
1821 1924
 	fclose($fp);
1822 1925
 
1823 1926
 	// Even though on normal installations the filemtime should prevent this being used by the installer incorrectly
1824 1927
 	// it seems that there are times it might not. So let's MAKE it dump the cache.
1825
-	if (function_exists('opcache_invalidate'))
1826
-		opcache_invalidate(dirname(__FILE__) . '/Settings.php', true);
1928
+	if (function_exists('opcache_invalidate')) {
1929
+			opcache_invalidate(dirname(__FILE__) . '/Settings.php', true);
1930
+	}
1827 1931
 
1828 1932
 	return true;
1829 1933
 }
@@ -1833,10 +1937,11 @@  discard block
 block discarded – undo
1833 1937
 	global $cachedir;
1834 1938
 
1835 1939
 	// Write out the db_last_error file with the error timestamp
1836
-	if (!empty($cachedir) && is_writable($cachedir))
1837
-		file_put_contents($cachedir . '/db_last_error.php', '<' . '?' . "php\n" . '$db_last_error = 0;' . "\n" . '?' . '>');
1838
-	else
1839
-		file_put_contents(dirname(__FILE__) . '/cache/db_last_error.php', '<' . '?' . "php\n" . '$db_last_error = 0;' . "\n" . '?' . '>');
1940
+	if (!empty($cachedir) && is_writable($cachedir)) {
1941
+			file_put_contents($cachedir . '/db_last_error.php', '<' . '?' . "php\n" . '$db_last_error = 0;' . "\n" . '?' . '>');
1942
+	} else {
1943
+			file_put_contents(dirname(__FILE__) . '/cache/db_last_error.php', '<' . '?' . "php\n" . '$db_last_error = 0;' . "\n" . '?' . '>');
1944
+	}
1840 1945
 
1841 1946
 	return true;
1842 1947
 }
@@ -1853,9 +1958,9 @@  discard block
 block discarded – undo
1853 1958
 	SecFilterScanPOST Off
1854 1959
 </IfModule>';
1855 1960
 
1856
-	if (!function_exists('apache_get_modules') || !in_array('mod_security', apache_get_modules()))
1857
-		return true;
1858
-	elseif (file_exists(dirname(__FILE__) . '/.htaccess') && is_writable(dirname(__FILE__) . '/.htaccess'))
1961
+	if (!function_exists('apache_get_modules') || !in_array('mod_security', apache_get_modules())) {
1962
+			return true;
1963
+	} elseif (file_exists(dirname(__FILE__) . '/.htaccess') && is_writable(dirname(__FILE__) . '/.htaccess'))
1859 1964
 	{
1860 1965
 		$current_htaccess = implode('', file(dirname(__FILE__) . '/.htaccess'));
1861 1966
 
@@ -1867,29 +1972,28 @@  discard block
 block discarded – undo
1867 1972
 				fwrite($ht_handle, $htaccess_addition);
1868 1973
 				fclose($ht_handle);
1869 1974
 				return true;
1975
+			} else {
1976
+							return false;
1870 1977
 			}
1871
-			else
1872
-				return false;
1978
+		} else {
1979
+					return true;
1873 1980
 		}
1874
-		else
1875
-			return true;
1876
-	}
1877
-	elseif (file_exists(dirname(__FILE__) . '/.htaccess'))
1878
-		return strpos(implode('', file(dirname(__FILE__) . '/.htaccess')), '<IfModule mod_security.c>') !== false;
1879
-	elseif (is_writable(dirname(__FILE__)))
1981
+	} elseif (file_exists(dirname(__FILE__) . '/.htaccess')) {
1982
+			return strpos(implode('', file(dirname(__FILE__) . '/.htaccess')), '<IfModule mod_security.c>') !== false;
1983
+	} elseif (is_writable(dirname(__FILE__)))
1880 1984
 	{
1881 1985
 		if ($ht_handle = fopen(dirname(__FILE__) . '/.htaccess', 'w'))
1882 1986
 		{
1883 1987
 			fwrite($ht_handle, $htaccess_addition);
1884 1988
 			fclose($ht_handle);
1885 1989
 			return true;
1990
+		} else {
1991
+					return false;
1886 1992
 		}
1887
-		else
1993
+	} else {
1888 1994
 			return false;
1889 1995
 	}
1890
-	else
1891
-		return false;
1892
-}
1996
+	}
1893 1997
 
1894 1998
 function template_install_above()
1895 1999
 {
@@ -1927,9 +2031,10 @@  discard block
 block discarded – undo
1927 2031
 								<label for="installer_language">', $txt['installer_language'], ':</label>
1928 2032
 								<select id="installer_language" name="lang_file" onchange="location.href = \'', $installurl, '?lang_file=\' + this.options[this.selectedIndex].value;">';
1929 2033
 
1930
-		foreach ($incontext['detected_languages'] as $lang => $name)
1931
-			echo '
2034
+		foreach ($incontext['detected_languages'] as $lang => $name) {
2035
+					echo '
1932 2036
 									<option', isset($_SESSION['installer_temp_lang']) && $_SESSION['installer_temp_lang'] == $lang ? ' selected' : '', ' value="', $lang, '">', $name, '</option>';
2037
+		}
1933 2038
 
1934 2039
 		echo '
1935 2040
 								</select>
@@ -1949,9 +2054,10 @@  discard block
 block discarded – undo
1949 2054
 						<h2>', $txt['upgrade_progress'], '</h2>
1950 2055
 						<ul>';
1951 2056
 
1952
-	foreach ($incontext['steps'] as $num => $step)
1953
-		echo '
2057
+	foreach ($incontext['steps'] as $num => $step) {
2058
+			echo '
1954 2059
 							<li class="', $num < $incontext['current_step'] ? 'stepdone' : ($num == $incontext['current_step'] ? 'stepcurrent' : 'stepwaiting'), '">', $txt['upgrade_step'], ' ', $step[0], ': ', $step[1], '</li>';
2060
+	}
1955 2061
 
1956 2062
 	echo '
1957 2063
 						</ul>
@@ -1976,20 +2082,23 @@  discard block
 block discarded – undo
1976 2082
 		echo '
1977 2083
 								<div class="floatright">';
1978 2084
 
1979
-		if (!empty($incontext['continue']))
1980
-			echo '
2085
+		if (!empty($incontext['continue'])) {
2086
+					echo '
1981 2087
 									<input type="submit" id="contbutt" name="contbutt" value="', $txt['upgrade_continue'], '" onclick="return submitThisOnce(this);" class="button" />';
1982
-		if (!empty($incontext['skip']))
1983
-			echo '
2088
+		}
2089
+		if (!empty($incontext['skip'])) {
2090
+					echo '
1984 2091
 									<input type="submit" id="skip" name="skip" value="', $txt['upgrade_skip'], '" onclick="return submitThisOnce(this);" class="button" />';
2092
+		}
1985 2093
 		echo '
1986 2094
 								</div>';
1987 2095
 	}
1988 2096
 
1989 2097
 	// Show the closing form tag and other data only if not in the last step
1990
-	if (count($incontext['steps']) - 1 !== (int) $incontext['current_step'])
1991
-		echo '
2098
+	if (count($incontext['steps']) - 1 !== (int) $incontext['current_step']) {
2099
+			echo '
1992 2100
 							</form>';
2101
+	}
1993 2102
 
1994 2103
 	echo '
1995 2104
 						</div>
@@ -2024,13 +2133,15 @@  discard block
 block discarded – undo
2024 2133
 		</div>';
2025 2134
 
2026 2135
 	// Show the warnings, or not.
2027
-	if (template_warning_divs())
2028
-		echo '
2136
+	if (template_warning_divs()) {
2137
+			echo '
2029 2138
 		<h3>', $txt['install_all_lovely'], '</h3>';
2139
+	}
2030 2140
 
2031 2141
 	// Say we want the continue button!
2032
-	if (empty($incontext['error']))
2033
-		$incontext['continue'] = 1;
2142
+	if (empty($incontext['error'])) {
2143
+			$incontext['continue'] = 1;
2144
+	}
2034 2145
 
2035 2146
 	// For the latest version stuff.
2036 2147
 	echo '
@@ -2064,8 +2175,8 @@  discard block
 block discarded – undo
2064 2175
 	global $txt, $incontext;
2065 2176
 
2066 2177
 	// Errors are very serious..
2067
-	if (!empty($incontext['error']))
2068
-		echo '
2178
+	if (!empty($incontext['error'])) {
2179
+			echo '
2069 2180
 		<div style="margin: 2ex; padding: 2ex; border: 2px dashed #cc3344; color: black; background-color: #ffe4e9;">
2070 2181
 			<div style="float: left; width: 2ex; font-size: 2em; color: red;">!!</div>
2071 2182
 			<strong style="text-decoration: underline;">', $txt['upgrade_critical_error'], '</strong><br>
@@ -2073,9 +2184,10 @@  discard block
 block discarded – undo
2073 2184
 				', $incontext['error'], '
2074 2185
 			</div>
2075 2186
 		</div>';
2187
+	}
2076 2188
 	// A warning message?
2077
-	elseif (!empty($incontext['warning']))
2078
-		echo '
2189
+	elseif (!empty($incontext['warning'])) {
2190
+			echo '
2079 2191
 		<div style="margin: 2ex; padding: 2ex; border: 2px dashed #cc3344; color: black; background-color: #ffe4e9;">
2080 2192
 			<div style="float: left; width: 2ex; font-size: 2em; color: red;">!!</div>
2081 2193
 			<strong style="text-decoration: underline;">', $txt['upgrade_warning'], '</strong><br>
@@ -2083,6 +2195,7 @@  discard block
 block discarded – undo
2083 2195
 				', $incontext['warning'], '
2084 2196
 			</div>
2085 2197
 		</div>';
2198
+	}
2086 2199
 
2087 2200
 	return empty($incontext['error']) && empty($incontext['warning']);
2088 2201
 }
@@ -2098,27 +2211,30 @@  discard block
 block discarded – undo
2098 2211
 			<li>', $incontext['failed_files']), '</li>
2099 2212
 		</ul>';
2100 2213
 
2101
-	if (isset($incontext['systemos'], $incontext['detected_path']) && $incontext['systemos'] == 'linux')
2102
-		echo '
2214
+	if (isset($incontext['systemos'], $incontext['detected_path']) && $incontext['systemos'] == 'linux') {
2215
+			echo '
2103 2216
 		<hr>
2104 2217
 		<p>', $txt['chmod_linux_info'], '</p>
2105 2218
 		<tt># chmod a+w ', implode(' ' . $incontext['detected_path'] . '/', $incontext['failed_files']), '</tt>';
2219
+	}
2106 2220
 
2107 2221
 	// This is serious!
2108
-	if (!template_warning_divs())
2109
-		return;
2222
+	if (!template_warning_divs()) {
2223
+			return;
2224
+	}
2110 2225
 
2111 2226
 	echo '
2112 2227
 		<hr>
2113 2228
 		<p>', $txt['ftp_setup_info'], '</p>';
2114 2229
 
2115
-	if (!empty($incontext['ftp_errors']))
2116
-		echo '
2230
+	if (!empty($incontext['ftp_errors'])) {
2231
+			echo '
2117 2232
 		<div class="error_message">
2118 2233
 			', $txt['error_ftp_no_connect'], '<br><br>
2119 2234
 			<code>', implode('<br>', $incontext['ftp_errors']), '</code>
2120 2235
 		</div>
2121 2236
 		<br>';
2237
+	}
2122 2238
 
2123 2239
 	echo '
2124 2240
 		<form action="', $incontext['form_url'], '" method="post">
@@ -2178,17 +2294,17 @@  discard block
 block discarded – undo
2178 2294
 				<td>
2179 2295
 					<select name="db_type" id="db_type_input" onchange="toggleDBInput();">';
2180 2296
 
2181
-	foreach ($incontext['supported_databases'] as $key => $db)
2182
-			echo '
2297
+	foreach ($incontext['supported_databases'] as $key => $db) {
2298
+				echo '
2183 2299
 						<option value="', $key, '"', isset($_POST['db_type']) && $_POST['db_type'] == $key ? ' selected' : '', '>', $db['name'], '</option>';
2300
+	}
2184 2301
 
2185 2302
 	echo '
2186 2303
 					</select>
2187 2304
 					<div class="smalltext block">', $txt['db_settings_type_info'], '</div>
2188 2305
 				</td>
2189 2306
 			</tr>';
2190
-	}
2191
-	else
2307
+	} else
2192 2308
 	{
2193 2309
 		echo '
2194 2310
 			<tr style="display: none;">
@@ -2381,9 +2497,10 @@  discard block
 block discarded – undo
2381 2497
 				<div style="color: red;">', $txt['error_db_queries'], '</div>
2382 2498
 				<ul>';
2383 2499
 
2384
-		foreach ($incontext['failures'] as $line => $fail)
2385
-			echo '
2500
+		foreach ($incontext['failures'] as $line => $fail) {
2501
+					echo '
2386 2502
 						<li><strong>', $txt['error_db_queries_line'], $line + 1, ':</strong> ', nl2br(htmlspecialchars($fail)), '</li>';
2503
+		}
2387 2504
 
2388 2505
 		echo '
2389 2506
 				</ul>';
@@ -2444,15 +2561,16 @@  discard block
 block discarded – undo
2444 2561
 			</tr>
2445 2562
 		</table>';
2446 2563
 
2447
-	if ($incontext['require_db_confirm'])
2448
-		echo '
2564
+	if ($incontext['require_db_confirm']) {
2565
+			echo '
2449 2566
 		<h2>', $txt['user_settings_database'], '</h2>
2450 2567
 		<p>', $txt['user_settings_database_info'], '</p>
2451 2568
 
2452 2569
 		<div style="margin-bottom: 2ex; padding-', $txt['lang_rtl'] == false ? 'left' : 'right', ': 50px;">
2453 2570
 			<input type="password" name="password3" size="30" />
2454 2571
 		</div>';
2455
-}
2572
+	}
2573
+	}
2456 2574
 
2457 2575
 // Tell them it's done, and to delete.
2458 2576
 function template_delete_install()
@@ -2465,14 +2583,15 @@  discard block
 block discarded – undo
2465 2583
 	template_warning_divs();
2466 2584
 
2467 2585
 	// Install directory still writable?
2468
-	if ($incontext['dir_still_writable'])
2469
-		echo '
2586
+	if ($incontext['dir_still_writable']) {
2587
+			echo '
2470 2588
 		<em>', $txt['still_writable'], '</em><br>
2471 2589
 		<br>';
2590
+	}
2472 2591
 
2473 2592
 	// Don't show the box if it's like 99% sure it won't work :P.
2474
-	if ($incontext['probably_delete_install'])
2475
-		echo '
2593
+	if ($incontext['probably_delete_install']) {
2594
+			echo '
2476 2595
 		<div style="margin: 1ex; font-weight: bold;">
2477 2596
 			<label for="delete_self"><input type="checkbox" id="delete_self" onclick="doTheDelete();" /> ', $txt['delete_installer'], !isset($_SESSION['installer_temp_ftp']) ? ' ' . $txt['delete_installer_maybe'] : '', '</label>
2478 2597
 		</div>
@@ -2488,6 +2607,7 @@  discard block
 block discarded – undo
2488 2607
 			}
2489 2608
 		</script>
2490 2609
 		<br>';
2610
+	}
2491 2611
 
2492 2612
 	echo '
2493 2613
 		', sprintf($txt['go_to_your_forum'], $boardurl . '/index.php'), '<br>
Please login to merge, or discard this patch.
Sources/Subs-Db-mysql.php 2 patches
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -255,8 +255,8 @@  discard block
 block discarded – undo
255 255
 
256 256
 		case 'datetime':
257 257
 			if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d) ([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $datetime_matches) === 1)
258
-				return 'str_to_date('.
259
-					sprintf('\'%04d-%02d-%02d %02d:%02d:%02d\'', $datetime_matches[1], $datetime_matches[2], $datetime_matches[3], $datetime_matches[4], $datetime_matches[5] ,$datetime_matches[6]).
258
+				return 'str_to_date(' .
259
+					sprintf('\'%04d-%02d-%02d %02d:%02d:%02d\'', $datetime_matches[1], $datetime_matches[2], $datetime_matches[3], $datetime_matches[4], $datetime_matches[5], $datetime_matches[6]) .
260 260
 					',\'%Y-%m-%d %h:%i:%s\')';
261 261
 			else
262 262
 				smf_db_error_backtrace('Wrong value type sent to the database. Datetime expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
@@ -460,7 +460,7 @@  discard block
 block discarded – undo
460 460
 		$old_pos = 0;
461 461
 		$pos = -1;
462 462
 		// Remove the string escape for better runtime
463
-		$db_string_1 = str_replace('\\\'','',$db_string);
463
+		$db_string_1 = str_replace('\\\'', '', $db_string);
464 464
 		while (true)
465 465
 		{
466 466
 			$pos = strpos($db_string_1, '\'', $pos + 1);
@@ -842,7 +842,7 @@  discard block
 block discarded – undo
842 842
 	{
843 843
 		$count = count($insertRows);
844 844
 		$ai = 0;
845
-		for($i = 0; $i < $count; $i++)
845
+		for ($i = 0; $i < $count; $i++)
846 846
 		{
847 847
 			$old_id = $smcFunc['db_insert_id']();
848 848
 
@@ -868,13 +868,13 @@  discard block
 block discarded – undo
868 868
 				$count2 = count($indexed_columns);
869 869
 				for ($x = 0; $x < $count2; $x++)
870 870
 				{
871
-					$where_string += key($indexed_columns[$x]) . ' = '. $insertRows[$i][$x];
871
+					$where_string += key($indexed_columns[$x]) . ' = ' . $insertRows[$i][$x];
872 872
 					if (($x + 1) < $count2)
873 873
 						$where_string += ' AND ';
874 874
 				}
875 875
 
876
-				$request = $smcFunc['db_query']('','
877
-					SELECT `'. $keys[0] . '` FROM ' . $table .'
876
+				$request = $smcFunc['db_query']('', '
877
+					SELECT `'. $keys[0] . '` FROM ' . $table . '
878 878
 					WHERE ' . $where_string . ' LIMIT 1',
879 879
 					array()
880 880
 				);
@@ -903,7 +903,7 @@  discard block
 block discarded – undo
903 903
 			$return_var = array();
904 904
 			$count = count($insertRows);
905 905
 			$start = smf_db_insert_id($table, $keys[0]);
906
-			for ($i = 0; $i < $count; $i++ )
906
+			for ($i = 0; $i < $count; $i++)
907 907
 				$return_var[] = $start + $i;
908 908
 		}
909 909
 		return $return_var;
@@ -1036,7 +1036,7 @@  discard block
 block discarded – undo
1036 1036
 	mysqli_stmt_bind_param($mysql_error_data_prep, 'iissssssi',
1037 1037
 		$error_array[0], $error_array[1], $error_array[2], $error_array[3], $error_array[4], $error_array[5], $error_array[6],
1038 1038
 		$error_array[7], $error_array[8]);
1039
-	mysqli_stmt_execute ($mysql_error_data_prep);
1039
+	mysqli_stmt_execute($mysql_error_data_prep);
1040 1040
 }
1041 1041
 
1042 1042
 /**
@@ -1050,7 +1050,7 @@  discard block
 block discarded – undo
1050 1050
  */
1051 1051
 function smf_db_custom_order($field, $array_values, $desc = false)
1052 1052
 {
1053
-	$return = 'CASE '. $field . ' ';
1053
+	$return = 'CASE ' . $field . ' ';
1054 1054
 	$count = count($array_values);
1055 1055
 	$then = ($desc ? ' THEN -' : ' THEN ');
1056 1056
 
Please login to merge, or discard this patch.
Braces   +254 added lines, -187 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
  *  Maps the implementations in this file (smf_db_function_name)
@@ -33,8 +34,8 @@  discard block
 block discarded – undo
33 34
 	global $smcFunc;
34 35
 
35 36
 	// Map some database specific functions, only do this once.
36
-	if (!isset($smcFunc['db_fetch_assoc']))
37
-		$smcFunc += array(
37
+	if (!isset($smcFunc['db_fetch_assoc'])) {
38
+			$smcFunc += array(
38 39
 			'db_query'                  => 'smf_db_query',
39 40
 			'db_quote'                  => 'smf_db_quote',
40 41
 			'db_fetch_assoc'            => 'mysqli_fetch_assoc',
@@ -63,9 +64,11 @@  discard block
 block discarded – undo
63 64
 			'db_error_insert'			=> 'smf_db_error_insert',
64 65
 			'db_custom_order'			=> 'smf_db_custom_order',
65 66
 		);
67
+	}
66 68
 
67
-	if (!empty($db_options['persist']))
68
-		$db_server = 'p:' . $db_server;
69
+	if (!empty($db_options['persist'])) {
70
+			$db_server = 'p:' . $db_server;
71
+	}
69 72
 
70 73
 	$connection = mysqli_init();
71 74
 
@@ -74,24 +77,27 @@  discard block
 block discarded – undo
74 77
 	$success = false;
75 78
 
76 79
 	if ($connection) {
77
-		if (!empty($db_options['port']))
78
-			$success = mysqli_real_connect($connection, $db_server, $db_user, $db_passwd, null, $db_options['port'], null, $flags);
79
-		else
80
-			$success = mysqli_real_connect($connection, $db_server, $db_user, $db_passwd, null, 0, null, $flags);
80
+		if (!empty($db_options['port'])) {
81
+					$success = mysqli_real_connect($connection, $db_server, $db_user, $db_passwd, null, $db_options['port'], null, $flags);
82
+		} else {
83
+					$success = mysqli_real_connect($connection, $db_server, $db_user, $db_passwd, null, 0, null, $flags);
84
+		}
81 85
 	}
82 86
 
83 87
 	// Something's wrong, show an error if its fatal (which we assume it is)
84 88
 	if ($success === false)
85 89
 	{
86
-		if (!empty($db_options['non_fatal']))
87
-			return null;
88
-		else
89
-			display_db_error();
90
+		if (!empty($db_options['non_fatal'])) {
91
+					return null;
92
+		} else {
93
+					display_db_error();
94
+		}
90 95
 	}
91 96
 
92 97
 	// Select the database, unless told not to
93
-	if (empty($db_options['dont_select_db']) && !@mysqli_select_db($connection, $db_name) && empty($db_options['non_fatal']))
94
-		display_db_error();
98
+	if (empty($db_options['dont_select_db']) && !@mysqli_select_db($connection, $db_name) && empty($db_options['non_fatal'])) {
99
+			display_db_error();
100
+	}
95 101
 
96 102
 	mysqli_query($connection, 'SET SESSION sql_mode = \'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\'');
97 103
 
@@ -164,34 +170,42 @@  discard block
 block discarded – undo
164 170
 	global $db_callback, $user_info, $db_prefix, $smcFunc;
165 171
 
166 172
 	list ($values, $connection) = $db_callback;
167
-	if (!is_object($connection))
168
-		display_db_error();
173
+	if (!is_object($connection)) {
174
+			display_db_error();
175
+	}
169 176
 
170
-	if ($matches[1] === 'db_prefix')
171
-		return $db_prefix;
177
+	if ($matches[1] === 'db_prefix') {
178
+			return $db_prefix;
179
+	}
172 180
 
173
-	if (isset($user_info[$matches[1]]) && strpos($matches[1], 'query_') !== false)
174
-		return $user_info[$matches[1]];
181
+	if (isset($user_info[$matches[1]]) && strpos($matches[1], 'query_') !== false) {
182
+			return $user_info[$matches[1]];
183
+	}
175 184
 
176
-	if ($matches[1] === 'empty')
177
-		return '\'\'';
185
+	if ($matches[1] === 'empty') {
186
+			return '\'\'';
187
+	}
178 188
 
179
-	if (!isset($matches[2]))
180
-		smf_db_error_backtrace('Invalid value inserted or no type specified.', '', E_USER_ERROR, __FILE__, __LINE__);
189
+	if (!isset($matches[2])) {
190
+			smf_db_error_backtrace('Invalid value inserted or no type specified.', '', E_USER_ERROR, __FILE__, __LINE__);
191
+	}
181 192
 
182
-	if ($matches[1] === 'literal')
183
-		return '\'' . mysqli_real_escape_string($connection, $matches[2]) . '\'';
193
+	if ($matches[1] === 'literal') {
194
+			return '\'' . mysqli_real_escape_string($connection, $matches[2]) . '\'';
195
+	}
184 196
 
185
-	if (!isset($values[$matches[2]]))
186
-		smf_db_error_backtrace('The database value you\'re trying to insert does not exist: ' . (isset($smcFunc['htmlspecialchars']) ? $smcFunc['htmlspecialchars']($matches[2]) : htmlspecialchars($matches[2])), '', E_USER_ERROR, __FILE__, __LINE__);
197
+	if (!isset($values[$matches[2]])) {
198
+			smf_db_error_backtrace('The database value you\'re trying to insert does not exist: ' . (isset($smcFunc['htmlspecialchars']) ? $smcFunc['htmlspecialchars']($matches[2]) : htmlspecialchars($matches[2])), '', E_USER_ERROR, __FILE__, __LINE__);
199
+	}
187 200
 
188 201
 	$replacement = $values[$matches[2]];
189 202
 
190 203
 	switch ($matches[1])
191 204
 	{
192 205
 		case 'int':
193
-			if (!is_numeric($replacement) || (string) $replacement !== (string) (int) $replacement)
194
-				smf_db_error_backtrace('Wrong value type sent to the database. Integer expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
206
+			if (!is_numeric($replacement) || (string) $replacement !== (string) (int) $replacement) {
207
+							smf_db_error_backtrace('Wrong value type sent to the database. Integer expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
208
+			}
195 209
 			return (string) (int) $replacement;
196 210
 		break;
197 211
 
@@ -203,65 +217,73 @@  discard block
 block discarded – undo
203 217
 		case 'array_int':
204 218
 			if (is_array($replacement))
205 219
 			{
206
-				if (empty($replacement))
207
-					smf_db_error_backtrace('Database error, given array of integer values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
220
+				if (empty($replacement)) {
221
+									smf_db_error_backtrace('Database error, given array of integer values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
222
+				}
208 223
 
209 224
 				foreach ($replacement as $key => $value)
210 225
 				{
211
-					if (!is_numeric($value) || (string) $value !== (string) (int) $value)
212
-						smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
226
+					if (!is_numeric($value) || (string) $value !== (string) (int) $value) {
227
+											smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
228
+					}
213 229
 
214 230
 					$replacement[$key] = (string) (int) $value;
215 231
 				}
216 232
 
217 233
 				return implode(', ', $replacement);
234
+			} else {
235
+							smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
218 236
 			}
219
-			else
220
-				smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
221 237
 
222 238
 		break;
223 239
 
224 240
 		case 'array_string':
225 241
 			if (is_array($replacement))
226 242
 			{
227
-				if (empty($replacement))
228
-					smf_db_error_backtrace('Database error, given array of string values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
243
+				if (empty($replacement)) {
244
+									smf_db_error_backtrace('Database error, given array of string values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
245
+				}
229 246
 
230
-				foreach ($replacement as $key => $value)
231
-					$replacement[$key] = sprintf('\'%1$s\'', mysqli_real_escape_string($connection, $value));
247
+				foreach ($replacement as $key => $value) {
248
+									$replacement[$key] = sprintf('\'%1$s\'', mysqli_real_escape_string($connection, $value));
249
+				}
232 250
 
233 251
 				return implode(', ', $replacement);
252
+			} else {
253
+							smf_db_error_backtrace('Wrong value type sent to the database. Array of strings expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
234 254
 			}
235
-			else
236
-				smf_db_error_backtrace('Wrong value type sent to the database. Array of strings expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
237 255
 		break;
238 256
 
239 257
 		case 'date':
240
-			if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d)$~', $replacement, $date_matches) === 1)
241
-				return sprintf('\'%04d-%02d-%02d\'', $date_matches[1], $date_matches[2], $date_matches[3]);
242
-			else
243
-				smf_db_error_backtrace('Wrong value type sent to the database. Date expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
258
+			if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d)$~', $replacement, $date_matches) === 1) {
259
+							return sprintf('\'%04d-%02d-%02d\'', $date_matches[1], $date_matches[2], $date_matches[3]);
260
+			} else {
261
+							smf_db_error_backtrace('Wrong value type sent to the database. Date expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
262
+			}
244 263
 		break;
245 264
 
246 265
 		case 'time':
247
-			if (preg_match('~^([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $time_matches) === 1)
248
-				return sprintf('\'%02d:%02d:%02d\'', $time_matches[1], $time_matches[2], $time_matches[3]);
249
-			else
250
-				smf_db_error_backtrace('Wrong value type sent to the database. Time expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
266
+			if (preg_match('~^([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $time_matches) === 1) {
267
+							return sprintf('\'%02d:%02d:%02d\'', $time_matches[1], $time_matches[2], $time_matches[3]);
268
+			} else {
269
+							smf_db_error_backtrace('Wrong value type sent to the database. Time expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
270
+			}
251 271
 		break;
252 272
 
253 273
 		case 'datetime':
254
-			if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d) ([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $datetime_matches) === 1)
255
-				return 'str_to_date('.
274
+			if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d) ([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $datetime_matches) === 1) {
275
+							return 'str_to_date('.
256 276
 					sprintf('\'%04d-%02d-%02d %02d:%02d:%02d\'', $datetime_matches[1], $datetime_matches[2], $datetime_matches[3], $datetime_matches[4], $datetime_matches[5] ,$datetime_matches[6]).
257 277
 					',\'%Y-%m-%d %h:%i:%s\')';
258
-			else
259
-				smf_db_error_backtrace('Wrong value type sent to the database. Datetime expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
278
+			} else {
279
+							smf_db_error_backtrace('Wrong value type sent to the database. Datetime expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
280
+			}
260 281
 		break;
261 282
 
262 283
 		case 'float':
263
-			if (!is_numeric($replacement))
264
-				smf_db_error_backtrace('Wrong value type sent to the database. Floating point number expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
284
+			if (!is_numeric($replacement)) {
285
+							smf_db_error_backtrace('Wrong value type sent to the database. Floating point number expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
286
+			}
265 287
 			return (string) (float) $replacement;
266 288
 		break;
267 289
 
@@ -275,32 +297,37 @@  discard block
 block discarded – undo
275 297
 		break;
276 298
 
277 299
 		case 'inet':
278
-			if ($replacement == 'null' || $replacement == '')
279
-				return 'null';
280
-			if (!isValidIP($replacement))
281
-				smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
300
+			if ($replacement == 'null' || $replacement == '') {
301
+							return 'null';
302
+			}
303
+			if (!isValidIP($replacement)) {
304
+							smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
305
+			}
282 306
 			//we don't use the native support of mysql > 5.6.2
283 307
 			return sprintf('unhex(\'%1$s\')', bin2hex(inet_pton($replacement)));
284 308
 
285 309
 		case 'array_inet':
286 310
 			if (is_array($replacement))
287 311
 			{
288
-				if (empty($replacement))
289
-					smf_db_error_backtrace('Database error, given array of IPv4 or IPv6 values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
312
+				if (empty($replacement)) {
313
+									smf_db_error_backtrace('Database error, given array of IPv4 or IPv6 values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
314
+				}
290 315
 
291 316
 				foreach ($replacement as $key => $value)
292 317
 				{
293
-					if ($replacement == 'null' || $replacement == '')
294
-						$replacement[$key] = 'null';
295
-					if (!isValidIP($value))
296
-						smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
318
+					if ($replacement == 'null' || $replacement == '') {
319
+											$replacement[$key] = 'null';
320
+					}
321
+					if (!isValidIP($value)) {
322
+											smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
323
+					}
297 324
 					$replacement[$key] = sprintf('unhex(\'%1$s\')', bin2hex(inet_pton($value)));
298 325
 				}
299 326
 
300 327
 				return implode(', ', $replacement);
328
+			} else {
329
+							smf_db_error_backtrace('Wrong value type sent to the database. Array of IPv4 or IPv6 expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
301 330
 			}
302
-			else
303
-				smf_db_error_backtrace('Wrong value type sent to the database. Array of IPv4 or IPv6 expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
304 331
 		break;
305 332
 
306 333
 		default:
@@ -371,18 +398,20 @@  discard block
 block discarded – undo
371 398
 	// One more query....
372 399
 	$db_count = !isset($db_count) ? 1 : $db_count + 1;
373 400
 
374
-	if (empty($modSettings['disableQueryCheck']) && strpos($db_string, '\'') !== false && empty($db_values['security_override']))
375
-		smf_db_error_backtrace('Hacking attempt...', 'Illegal character (\') used in query...', true, __FILE__, __LINE__);
401
+	if (empty($modSettings['disableQueryCheck']) && strpos($db_string, '\'') !== false && empty($db_values['security_override'])) {
402
+			smf_db_error_backtrace('Hacking attempt...', 'Illegal character (\') used in query...', true, __FILE__, __LINE__);
403
+	}
376 404
 
377 405
 	// Use "ORDER BY null" to prevent Mysql doing filesorts for Group By clauses without an Order By
378 406
 	if (strpos($db_string, 'GROUP BY') !== false && strpos($db_string, 'ORDER BY') === false && preg_match('~^\s+SELECT~i', $db_string))
379 407
 	{
380 408
 		// Add before LIMIT
381
-		if ($pos = strpos($db_string, 'LIMIT '))
382
-			$db_string = substr($db_string, 0, $pos) . "\t\t\tORDER BY null\n" . substr($db_string, $pos, strlen($db_string));
383
-		else
384
-			// Append it.
409
+		if ($pos = strpos($db_string, 'LIMIT ')) {
410
+					$db_string = substr($db_string, 0, $pos) . "\t\t\tORDER BY null\n" . substr($db_string, $pos, strlen($db_string));
411
+		} else {
412
+					// Append it.
385 413
 			$db_string .= "\n\t\t\tORDER BY null";
414
+		}
386 415
 	}
387 416
 
388 417
 	if (empty($db_values['security_override']) && (!empty($db_values) || strpos($db_string, '{db_prefix}') !== false))
@@ -408,17 +437,18 @@  discard block
 block discarded – undo
408 437
 		while (true)
409 438
 		{
410 439
 			$pos = strpos($db_string_1, '\'', $pos + 1);
411
-			if ($pos === false)
412
-				break;
440
+			if ($pos === false) {
441
+							break;
442
+			}
413 443
 			$clean .= substr($db_string_1, $old_pos, $pos - $old_pos);
414 444
 
415 445
 			while (true)
416 446
 			{
417 447
 				$pos1 = strpos($db_string_1, '\'', $pos + 1);
418 448
 				$pos2 = strpos($db_string_1, '\\', $pos + 1);
419
-				if ($pos1 === false)
420
-					break;
421
-				elseif ($pos2 === false || $pos2 > $pos1)
449
+				if ($pos1 === false) {
450
+									break;
451
+				} elseif ($pos2 === false || $pos2 > $pos1)
422 452
 				{
423 453
 					$pos = $pos1;
424 454
 					break;
@@ -434,16 +464,19 @@  discard block
 block discarded – undo
434 464
 		$clean = trim(strtolower(preg_replace($allowed_comments_from, $allowed_comments_to, $clean)));
435 465
 
436 466
 		// Comments?  We don't use comments in our queries, we leave 'em outside!
437
-		if (strpos($clean, '/*') > 2 || strpos($clean, '--') !== false || strpos($clean, ';') !== false)
438
-			$fail = true;
467
+		if (strpos($clean, '/*') > 2 || strpos($clean, '--') !== false || strpos($clean, ';') !== false) {
468
+					$fail = true;
469
+		}
439 470
 		// Trying to change passwords, slow us down, or something?
440
-		elseif (strpos($clean, 'sleep') !== false && preg_match('~(^|[^a-z])sleep($|[^[_a-z])~s', $clean) != 0)
441
-			$fail = true;
442
-		elseif (strpos($clean, 'benchmark') !== false && preg_match('~(^|[^a-z])benchmark($|[^[a-z])~s', $clean) != 0)
443
-			$fail = true;
471
+		elseif (strpos($clean, 'sleep') !== false && preg_match('~(^|[^a-z])sleep($|[^[_a-z])~s', $clean) != 0) {
472
+					$fail = true;
473
+		} elseif (strpos($clean, 'benchmark') !== false && preg_match('~(^|[^a-z])benchmark($|[^[a-z])~s', $clean) != 0) {
474
+					$fail = true;
475
+		}
444 476
 
445
-		if (!empty($fail) && function_exists('log_error'))
446
-			smf_db_error_backtrace('Hacking attempt...', 'Hacking attempt...' . "\n" . $db_string, E_USER_ERROR, __FILE__, __LINE__);
477
+		if (!empty($fail) && function_exists('log_error')) {
478
+					smf_db_error_backtrace('Hacking attempt...', 'Hacking attempt...' . "\n" . $db_string, E_USER_ERROR, __FILE__, __LINE__);
479
+		}
447 480
 	}
448 481
 
449 482
 	// Debugging.
@@ -453,8 +486,9 @@  discard block
 block discarded – undo
453 486
 		list ($file, $line) = smf_db_error_backtrace('', '', 'return', __FILE__, __LINE__);
454 487
 
455 488
 		// Initialize $db_cache if not already initialized.
456
-		if (!isset($db_cache))
457
-			$db_cache = array();
489
+		if (!isset($db_cache)) {
490
+					$db_cache = array();
491
+		}
458 492
 
459 493
 		if (!empty($_SESSION['debug_redirect']))
460 494
 		{
@@ -470,17 +504,20 @@  discard block
 block discarded – undo
470 504
 		$db_cache[$db_count]['s'] = ($st = microtime(true)) - $time_start;
471 505
 	}
472 506
 
473
-	if (empty($db_unbuffered))
474
-		$ret = @mysqli_query($connection, $db_string);
475
-	else
476
-		$ret = @mysqli_query($connection, $db_string, MYSQLI_USE_RESULT);
507
+	if (empty($db_unbuffered)) {
508
+			$ret = @mysqli_query($connection, $db_string);
509
+	} else {
510
+			$ret = @mysqli_query($connection, $db_string, MYSQLI_USE_RESULT);
511
+	}
477 512
 
478
-	if ($ret === false && empty($db_values['db_error_skip']))
479
-		$ret = smf_db_error($db_string, $connection);
513
+	if ($ret === false && empty($db_values['db_error_skip'])) {
514
+			$ret = smf_db_error($db_string, $connection);
515
+	}
480 516
 
481 517
 	// Debugging.
482
-	if (isset($db_show_debug) && $db_show_debug === true)
483
-		$db_cache[$db_count]['t'] = array_sum(explode(' ', microtime())) - array_sum(explode(' ', $st));
518
+	if (isset($db_show_debug) && $db_show_debug === true) {
519
+			$db_cache[$db_count]['t'] = array_sum(explode(' ', microtime())) - array_sum(explode(' ', $st));
520
+	}
484 521
 
485 522
 	return $ret;
486 523
 }
@@ -527,12 +564,13 @@  discard block
 block discarded – undo
527 564
 	// Decide which connection to use
528 565
 	$connection = $connection === null ? $db_connection : $connection;
529 566
 
530
-	if ($type == 'begin')
531
-		return @mysqli_query($connection, 'BEGIN');
532
-	elseif ($type == 'rollback')
533
-		return @mysqli_query($connection, 'ROLLBACK');
534
-	elseif ($type == 'commit')
535
-		return @mysqli_query($connection, 'COMMIT');
567
+	if ($type == 'begin') {
568
+			return @mysqli_query($connection, 'BEGIN');
569
+	} elseif ($type == 'rollback') {
570
+			return @mysqli_query($connection, 'ROLLBACK');
571
+	} elseif ($type == 'commit') {
572
+			return @mysqli_query($connection, 'COMMIT');
573
+	}
536 574
 
537 575
 	return false;
538 576
 }
@@ -570,8 +608,9 @@  discard block
 block discarded – undo
570 608
 	//    1213: Deadlock found.
571 609
 
572 610
 	// Log the error.
573
-	if ($query_errno != 1213 && $query_errno != 1205 && function_exists('log_error'))
574
-		log_error($txt['database_error'] . ': ' . $query_error . (!empty($modSettings['enableErrorQueryLogging']) ? "\n\n$db_string" : ''), 'database', $file, $line);
611
+	if ($query_errno != 1213 && $query_errno != 1205 && function_exists('log_error')) {
612
+			log_error($txt['database_error'] . ': ' . $query_error . (!empty($modSettings['enableErrorQueryLogging']) ? "\n\n$db_string" : ''), 'database', $file, $line);
613
+	}
575 614
 
576 615
 	// Database error auto fixing ;).
577 616
 	if (function_exists('cache_get_data') && (!isset($modSettings['autoFixDatabase']) || $modSettings['autoFixDatabase'] == '1'))
@@ -580,8 +619,9 @@  discard block
 block discarded – undo
580 619
 		$old_cache = @$modSettings['cache_enable'];
581 620
 		$modSettings['cache_enable'] = '1';
582 621
 
583
-		if (($temp = cache_get_data('db_last_error', 600)) !== null)
584
-			$db_last_error = max(@$db_last_error, $temp);
622
+		if (($temp = cache_get_data('db_last_error', 600)) !== null) {
623
+					$db_last_error = max(@$db_last_error, $temp);
624
+		}
585 625
 
586 626
 		if (@$db_last_error < time() - 3600 * 24 * 3)
587 627
 		{
@@ -597,8 +637,9 @@  discard block
 block discarded – undo
597 637
 					foreach ($tables as $table)
598 638
 					{
599 639
 						// Now, it's still theoretically possible this could be an injection.  So backtick it!
600
-						if (trim($table) != '')
601
-							$fix_tables[] = '`' . strtr(trim($table), array('`' => '')) . '`';
640
+						if (trim($table) != '') {
641
+													$fix_tables[] = '`' . strtr(trim($table), array('`' => '')) . '`';
642
+						}
602 643
 					}
603 644
 				}
604 645
 
@@ -607,8 +648,9 @@  discard block
 block discarded – undo
607 648
 			// Table crashed.  Let's try to fix it.
608 649
 			elseif ($query_errno == 1016)
609 650
 			{
610
-				if (preg_match('~\'([^\.\']+)~', $query_error, $match) != 0)
611
-					$fix_tables = array('`' . $match[1] . '`');
651
+				if (preg_match('~\'([^\.\']+)~', $query_error, $match) != 0) {
652
+									$fix_tables = array('`' . $match[1] . '`');
653
+				}
612 654
 			}
613 655
 			// Indexes crashed.  Should be easy to fix!
614 656
 			elseif ($query_errno == 1034 || $query_errno == 1035)
@@ -627,13 +669,15 @@  discard block
 block discarded – undo
627 669
 
628 670
 			// Make a note of the REPAIR...
629 671
 			cache_put_data('db_last_error', time(), 600);
630
-			if (($temp = cache_get_data('db_last_error', 600)) === null)
631
-				updateSettingsFile(array('db_last_error' => time()));
672
+			if (($temp = cache_get_data('db_last_error', 600)) === null) {
673
+							updateSettingsFile(array('db_last_error' => time()));
674
+			}
632 675
 
633 676
 			// Attempt to find and repair the broken table.
634
-			foreach ($fix_tables as $table)
635
-				$smcFunc['db_query']('', "
677
+			foreach ($fix_tables as $table) {
678
+							$smcFunc['db_query']('', "
636 679
 					REPAIR TABLE $table", false, false);
680
+			}
637 681
 
638 682
 			// And send off an email!
639 683
 			sendmail($webmaster_email, $txt['database_error'], $txt['tried_to_repair'], null, 'dberror');
@@ -642,11 +686,12 @@  discard block
 block discarded – undo
642 686
 
643 687
 			// Try the query again...?
644 688
 			$ret = $smcFunc['db_query']('', $db_string, false, false);
645
-			if ($ret !== false)
646
-				return $ret;
689
+			if ($ret !== false) {
690
+							return $ret;
691
+			}
692
+		} else {
693
+					$modSettings['cache_enable'] = $old_cache;
647 694
 		}
648
-		else
649
-			$modSettings['cache_enable'] = $old_cache;
650 695
 
651 696
 		// Check for the "lost connection" or "deadlock found" errors - and try it just one more time.
652 697
 		if (in_array($query_errno, array(1205, 1213)))
@@ -659,24 +704,27 @@  discard block
 block discarded – undo
659 704
 					$ret = $smcFunc['db_query']('', $db_string, false, false);
660 705
 
661 706
 					$new_errno = mysqli_errno($db_connection);
662
-					if ($ret !== false || in_array($new_errno, array(1205, 1213)))
663
-						break;
707
+					if ($ret !== false || in_array($new_errno, array(1205, 1213))) {
708
+											break;
709
+					}
664 710
 				}
665 711
 
666 712
 				// If it failed again, shucks to be you... we're not trying it over and over.
667
-				if ($ret !== false)
668
-					return $ret;
713
+				if ($ret !== false) {
714
+									return $ret;
715
+				}
669 716
 			}
670 717
 		}
671 718
 		// Are they out of space, perhaps?
672 719
 		elseif ($query_errno == 1030 && (strpos($query_error, ' -1 ') !== false || strpos($query_error, ' 28 ') !== false || strpos($query_error, ' 12 ') !== false))
673 720
 		{
674
-			if (!isset($txt))
675
-				$query_error .= ' - check database storage space.';
676
-			else
721
+			if (!isset($txt)) {
722
+							$query_error .= ' - check database storage space.';
723
+			} else
677 724
 			{
678
-				if (!isset($txt['mysql_error_space']))
679
-					loadLanguage('Errors');
725
+				if (!isset($txt['mysql_error_space'])) {
726
+									loadLanguage('Errors');
727
+				}
680 728
 
681 729
 				$query_error .= !isset($txt['mysql_error_space']) ? ' - check database storage space.' : $txt['mysql_error_space'];
682 730
 			}
@@ -684,15 +732,17 @@  discard block
 block discarded – undo
684 732
 	}
685 733
 
686 734
 	// Nothing's defined yet... just die with it.
687
-	if (empty($context) || empty($txt))
688
-		die($query_error);
735
+	if (empty($context) || empty($txt)) {
736
+			die($query_error);
737
+	}
689 738
 
690 739
 	// Show an error message, if possible.
691 740
 	$context['error_title'] = $txt['database_error'];
692
-	if (allowedTo('admin_forum'))
693
-		$context['error_message'] = nl2br($query_error) . '<br>' . $txt['file'] . ': ' . $file . '<br>' . $txt['line'] . ': ' . $line;
694
-	else
695
-		$context['error_message'] = $txt['try_again'];
741
+	if (allowedTo('admin_forum')) {
742
+			$context['error_message'] = nl2br($query_error) . '<br>' . $txt['file'] . ': ' . $file . '<br>' . $txt['line'] . ': ' . $line;
743
+	} else {
744
+			$context['error_message'] = $txt['try_again'];
745
+	}
696 746
 
697 747
 	if (allowedTo('admin_forum') && isset($db_show_debug) && $db_show_debug === true)
698 748
 	{
@@ -724,8 +774,9 @@  discard block
 block discarded – undo
724 774
 	$return_var = null;
725 775
 
726 776
 	// With nothing to insert, simply return.
727
-	if (empty($data))
728
-		return;
777
+	if (empty($data)) {
778
+			return;
779
+	}
729 780
 
730 781
 	// Replace the prefix holder with the actual prefix.
731 782
 	$table = str_replace('{db_prefix}', $db_prefix, $table);
@@ -735,23 +786,26 @@  discard block
 block discarded – undo
735 786
 	if (!empty($keys) && (count($keys) > 0) && $returnmode > 0)
736 787
 	{
737 788
 		$with_returning = true;
738
-		if ($returnmode == 2)
739
-			$return_var = array();
789
+		if ($returnmode == 2) {
790
+					$return_var = array();
791
+		}
740 792
 	}
741 793
 
742 794
 	// Inserting data as a single row can be done as a single array.
743
-	if (!is_array($data[array_rand($data)]))
744
-		$data = array($data);
795
+	if (!is_array($data[array_rand($data)])) {
796
+			$data = array($data);
797
+	}
745 798
 
746 799
 	// Create the mold for a single row insert.
747 800
 	$insertData = '(';
748 801
 	foreach ($columns as $columnName => $type)
749 802
 	{
750 803
 		// Are we restricting the length?
751
-		if (strpos($type, 'string-') !== false)
752
-			$insertData .= sprintf('SUBSTRING({string:%1$s}, 1, ' . substr($type, 7) . '), ', $columnName);
753
-		else
754
-			$insertData .= sprintf('{%1$s:%2$s}, ', $type, $columnName);
804
+		if (strpos($type, 'string-') !== false) {
805
+					$insertData .= sprintf('SUBSTRING({string:%1$s}, 1, ' . substr($type, 7) . '), ', $columnName);
806
+		} else {
807
+					$insertData .= sprintf('{%1$s:%2$s}, ', $type, $columnName);
808
+		}
755 809
 	}
756 810
 	$insertData = substr($insertData, 0, -2) . ')';
757 811
 
@@ -760,8 +814,9 @@  discard block
 block discarded – undo
760 814
 
761 815
 	// Here's where the variables are injected to the query.
762 816
 	$insertRows = array();
763
-	foreach ($data as $dataRow)
764
-		$insertRows[] = smf_db_quote($insertData, array_combine($indexed_columns, $dataRow), $connection);
817
+	foreach ($data as $dataRow) {
818
+			$insertRows[] = smf_db_quote($insertData, array_combine($indexed_columns, $dataRow), $connection);
819
+	}
765 820
 
766 821
 	// Determine the method of insertion.
767 822
 	$queryTitle = $method == 'replace' ? 'REPLACE' : ($method == 'ignore' ? 'INSERT IGNORE' : 'INSERT');
@@ -780,8 +835,7 @@  discard block
 block discarded – undo
780 835
 			),
781 836
 			$connection
782 837
 		);
783
-	}
784
-	else //special way for ignore method with returning
838
+	} else //special way for ignore method with returning
785 839
 	{
786 840
 		$count = count($insertRows);
787 841
 		$ai = 0;
@@ -801,19 +855,21 @@  discard block
 block discarded – undo
801 855
 			);
802 856
 			$new_id = $smcFunc['db_insert_id']();
803 857
 
804
-			if ($last_id != $new_id) //the inserted value was new
858
+			if ($last_id != $new_id) {
859
+				//the inserted value was new
805 860
 			{
806 861
 				$ai = $new_id;
807 862
 			}
808
-			else	// the inserted value already exists we need to find the pk
863
+			} else	// the inserted value already exists we need to find the pk
809 864
 			{
810 865
 				$where_string = '';
811 866
 				$count2 = count($indexed_columns);
812 867
 				for ($x = 0; $x < $count2; $x++)
813 868
 				{
814 869
 					$where_string += key($indexed_columns[$x]) . ' = '. $insertRows[$i][$x];
815
-					if (($x + 1) < $count2)
816
-						$where_string += ' AND ';
870
+					if (($x + 1) < $count2) {
871
+											$where_string += ' AND ';
872
+					}
817 873
 				}
818 874
 
819 875
 				$request = $smcFunc['db_query']('','
@@ -829,25 +885,27 @@  discard block
 block discarded – undo
829 885
 				}
830 886
 			}
831 887
 
832
-			if ($returnmode == 1)
833
-				$return_var = $ai;
834
-			else if ($returnmode == 2)
835
-				$return_var[] = $ai;
888
+			if ($returnmode == 1) {
889
+							$return_var = $ai;
890
+			} else if ($returnmode == 2) {
891
+							$return_var[] = $ai;
892
+			}
836 893
 		}
837 894
 	}
838 895
 
839 896
 
840 897
 	if ($with_returning)
841 898
 	{
842
-		if ($returnmode == 1 && empty($return_var))
843
-			$return_var = smf_db_insert_id($table, $keys[0]) + count($insertRows) - 1;
844
-		else if ($returnmode == 2 && empty($return_var))
899
+		if ($returnmode == 1 && empty($return_var)) {
900
+					$return_var = smf_db_insert_id($table, $keys[0]) + count($insertRows) - 1;
901
+		} else if ($returnmode == 2 && empty($return_var))
845 902
 		{
846 903
 			$return_var = array();
847 904
 			$count = count($insertRows);
848 905
 			$start = smf_db_insert_id($table, $keys[0]);
849
-			for ($i = 0; $i < $count; $i++ )
850
-				$return_var[] = $start + $i;
906
+			for ($i = 0; $i < $count; $i++ ) {
907
+							$return_var[] = $start + $i;
908
+			}
851 909
 		}
852 910
 		return $return_var;
853 911
 	}
@@ -865,8 +923,9 @@  discard block
 block discarded – undo
865 923
  */
866 924
 function smf_db_error_backtrace($error_message, $log_message = '', $error_type = false, $file = null, $line = null)
867 925
 {
868
-	if (empty($log_message))
869
-		$log_message = $error_message;
926
+	if (empty($log_message)) {
927
+			$log_message = $error_message;
928
+	}
870 929
 
871 930
 	foreach (debug_backtrace() as $step)
872 931
 	{
@@ -885,12 +944,14 @@  discard block
 block discarded – undo
885 944
 	}
886 945
 
887 946
 	// A special case - we want the file and line numbers for debugging.
888
-	if ($error_type == 'return')
889
-		return array($file, $line);
947
+	if ($error_type == 'return') {
948
+			return array($file, $line);
949
+	}
890 950
 
891 951
 	// Is always a critical error.
892
-	if (function_exists('log_error'))
893
-		log_error($log_message, 'critical', $file, $line);
952
+	if (function_exists('log_error')) {
953
+			log_error($log_message, 'critical', $file, $line);
954
+	}
894 955
 
895 956
 	if (function_exists('fatal_error'))
896 957
 	{
@@ -898,12 +959,12 @@  discard block
 block discarded – undo
898 959
 
899 960
 		// Cannot continue...
900 961
 		exit;
962
+	} elseif ($error_type) {
963
+			trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : ''), $error_type);
964
+	} else {
965
+			trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : ''));
966
+	}
901 967
 	}
902
-	elseif ($error_type)
903
-		trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : ''), $error_type);
904
-	else
905
-		trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : ''));
906
-}
907 968
 
908 969
 /**
909 970
  * Escape the LIKE wildcards so that they match the character and not the wildcard.
@@ -920,10 +981,11 @@  discard block
 block discarded – undo
920 981
 		'\\' => '\\\\',
921 982
 	);
922 983
 
923
-	if ($translate_human_wildcards)
924
-		$replacements += array(
984
+	if ($translate_human_wildcards) {
985
+			$replacements += array(
925 986
 			'*' => '%',
926 987
 		);
988
+	}
927 989
 
928 990
 	return strtr($string, $replacements);
929 991
 }
@@ -937,8 +999,9 @@  discard block
 block discarded – undo
937 999
  */
938 1000
 function smf_is_resource($result)
939 1001
 {
940
-	if ($result instanceof mysqli_result)
941
-		return true;
1002
+	if ($result instanceof mysqli_result) {
1003
+			return true;
1004
+	}
942 1005
 
943 1006
 	return false;
944 1007
 }
@@ -967,19 +1030,22 @@  discard block
 block discarded – undo
967 1030
 	static $mysql_error_data_prep;
968 1031
 
969 1032
 	// without database we can't do anything
970
-	if (empty($db_connection))
971
-		return;
1033
+	if (empty($db_connection)) {
1034
+			return;
1035
+	}
972 1036
 
973
-	if (empty($mysql_error_data_prep))
974
-			$mysql_error_data_prep = mysqli_prepare($db_connection,
1037
+	if (empty($mysql_error_data_prep)) {
1038
+				$mysql_error_data_prep = mysqli_prepare($db_connection,
975 1039
 				'INSERT INTO ' . $db_prefix . 'log_errors(id_member, log_time, ip, url, message, session, error_type, file, line)
976 1040
 													VALUES(		?,		?,		unhex(?), ?, 		?,		?,			?,		?,	?)'
977 1041
 			);
1042
+	}
978 1043
 
979
-	if (filter_var($error_array[2], FILTER_VALIDATE_IP) !== false)
980
-		$error_array[2] = bin2hex(inet_pton($error_array[2]));
981
-	else
982
-		$error_array[2] = null;
1044
+	if (filter_var($error_array[2], FILTER_VALIDATE_IP) !== false) {
1045
+			$error_array[2] = bin2hex(inet_pton($error_array[2]));
1046
+	} else {
1047
+			$error_array[2] = null;
1048
+	}
983 1049
 	mysqli_stmt_bind_param($mysql_error_data_prep, 'iissssssi',
984 1050
 		$error_array[0], $error_array[1], $error_array[2], $error_array[3], $error_array[4], $error_array[5], $error_array[6],
985 1051
 		$error_array[7], $error_array[8]);
@@ -1001,8 +1067,9 @@  discard block
 block discarded – undo
1001 1067
 	$count = count($array_values);
1002 1068
 	$then = ($desc ? ' THEN -' : ' THEN ');
1003 1069
 
1004
-	for ($i = 0; $i < $count; $i++)
1005
-		$return .= 'WHEN ' . (int) $array_values[$i] . $then . $i . ' ';
1070
+	for ($i = 0; $i < $count; $i++) {
1071
+			$return .= 'WHEN ' . (int) $array_values[$i] . $then . $i . ' ';
1072
+	}
1006 1073
 
1007 1074
 	$return .= 'END';
1008 1075
 	return $return;
Please login to merge, or discard this patch.
Themes/default/Login.template.php 1 patch
Braces   +35 added lines, -24 removed lines patch added patch discarded remove patch
@@ -28,15 +28,17 @@  discard block
 block discarded – undo
28 28
 				<form class="login" action="', $context['login_url'], '" name="frmLogin" id="frmLogin" method="post" accept-charset="', $context['character_set'], '">';
29 29
 
30 30
 	// Did they make a mistake last time?
31
-	if (!empty($context['login_errors']))
32
-		echo '
31
+	if (!empty($context['login_errors'])) {
32
+			echo '
33 33
 					<div class="errorbox">', implode('<br>', $context['login_errors']), '</div>
34 34
 					<br>';
35
+	}
35 36
 
36 37
 	// Or perhaps there's some special description for this time?
37
-	if (isset($context['description']))
38
-		echo '
38
+	if (isset($context['description'])) {
39
+			echo '
39 40
 					<div class="information">', $context['description'], '</div>';
41
+	}
40 42
 
41 43
 	// Now just get the basic information - username, password, etc.
42 44
 	echo '
@@ -61,10 +63,11 @@  discard block
 block discarded – undo
61 63
 						</dd>';
62 64
 
63 65
 	// If they have deleted their account, give them a chance to change their mind.
64
-	if (isset($context['login_show_undelete']))
65
-		echo '
66
+	if (isset($context['login_show_undelete'])) {
67
+			echo '
66 68
 						<dt class="alert">', $txt['undelete_account'], ':</dt>
67 69
 						<dd><input type="checkbox" name="undelete"></dd>';
70
+	}
68 71
 
69 72
 	echo '
70 73
 					</dl>
@@ -82,8 +85,8 @@  discard block
 block discarded – undo
82 85
 							document.getElementById("', !empty($context['from_ajax']) ? 'ajax_' : '', isset($context['default_username']) && $context['default_username'] != '' ? 'loginpass' : 'loginuser', '").focus();
83 86
 						}, 150);';
84 87
 
85
-	if (!empty($context['from_ajax']))
86
-		echo '
88
+	if (!empty($context['from_ajax'])) {
89
+			echo '
87 90
 						form = $("#frmLogin");
88 91
 						form.submit(function(e) {
89 92
 							e.preventDefault();
@@ -116,16 +119,18 @@  discard block
 block discarded – undo
116 119
 
117 120
 							return false;
118 121
 						});';
122
+	}
119 123
 
120 124
 	echo '
121 125
 					</script>
122 126
 				</form>';
123 127
 
124 128
 	// It is a long story as to why we have this when we're clearly not going to use it.
125
-	if (!empty($context['from_ajax']))
126
-		echo '
129
+	if (!empty($context['from_ajax'])) {
130
+			echo '
127 131
 				<br>
128 132
 				<a href="javascript:self.close();"></a>';
133
+	}
129 134
 
130 135
 	echo '
131 136
 			</div><!-- .roundframe -->
@@ -148,11 +153,12 @@  discard block
 block discarded – undo
148 153
 			</div>
149 154
 			<div class="roundframe noup">';
150 155
 
151
-	if (!empty($context['tfa_error']) || !empty($context['tfa_backup_error']))
152
-		echo '
156
+	if (!empty($context['tfa_error']) || !empty($context['tfa_backup_error'])) {
157
+			echo '
153 158
 				<div class="error">
154 159
 					', $txt['tfa_' . (!empty($context['tfa_error']) ? 'code_' : 'backup_') . 'invalid'], '
155 160
 				</div>';
161
+	}
156 162
 
157 163
 	echo '
158 164
 				<form action="', $context['tfa_url'], '" method="post" id="frmTfa">
@@ -181,8 +187,8 @@  discard block
 block discarded – undo
181 187
 				<script>
182 188
 					form = $("#frmTfa");';
183 189
 
184
-	if (!empty($context['from_ajax']))
185
-		echo '
190
+	if (!empty($context['from_ajax'])) {
191
+			echo '
186 192
 					form.submit(function(e) {
187 193
 						// If we are submitting backup code, let normal workflow follow since it redirects a couple times into a different page
188 194
 						if (form.find("input[name=tfa_backup]:first").val().length > 0)
@@ -201,6 +207,7 @@  discard block
 block discarded – undo
201 207
 
202 208
 						return false;
203 209
 					});';
210
+	}
204 211
 
205 212
 	echo '
206 213
 					form.find("input[name=backup]").click(function(e) {
@@ -232,10 +239,11 @@  discard block
 block discarded – undo
232 239
 			<p class="information centertext">
233 240
 				', empty($context['kick_message']) ? $txt['only_members_can_access'] : $context['kick_message'], '<br>';
234 241
 
235
-	if ($context['can_register'])
236
-		echo sprintf($txt['login_below_or_register'], $scripturl . '?action=signup', $context['forum_name_html_safe']);
237
-	else
238
-		echo $txt['login_below'];
242
+	if ($context['can_register']) {
243
+			echo sprintf($txt['login_below_or_register'], $scripturl . '?action=signup', $context['forum_name_html_safe']);
244
+	} else {
245
+			echo $txt['login_below'];
246
+	}
239 247
 
240 248
 	// And now the login information.
241 249
 	echo '
@@ -335,9 +343,10 @@  discard block
 block discarded – undo
335 343
 			</div>
336 344
 			<div class="roundframe centertext noup">';
337 345
 
338
-	if (!empty($context['incorrect_password']))
339
-		echo '
346
+	if (!empty($context['incorrect_password'])) {
347
+			echo '
340 348
 				<div class="error">', $txt['admin_incorrect_password'], '</div>';
349
+	}
341 350
 
342 351
 	echo '
343 352
 				<strong>', $txt['password'], ':</strong>
@@ -378,10 +387,11 @@  discard block
 block discarded – undo
378 387
 				<dl>';
379 388
 
380 389
 	// You didn't even have an ID?
381
-	if (empty($context['member_id']))
382
-		echo '
390
+	if (empty($context['member_id'])) {
391
+			echo '
383 392
 					<dt>', $txt['invalid_activation_username'], ':</dt>
384 393
 					<dd><input type="text" name="user" size="30"></dd>';
394
+	}
385 395
 
386 396
 	echo '
387 397
 					<dt>', $txt['invalid_activation_retry'], ':</dt>
@@ -418,13 +428,14 @@  discard block
 block discarded – undo
418 428
 					<dd><input type="password" name="passwd" size="30"></dd>
419 429
 				</dl>';
420 430
 
421
-	if ($context['can_activate'])
422
-		echo '
431
+	if ($context['can_activate']) {
432
+			echo '
423 433
 				<p>', $txt['invalid_activation_known'], '</p>
424 434
 				<dl>
425 435
 					<dt>', $txt['invalid_activation_retry'], ':</dt>
426 436
 					<dd><input type="text" name="code" size="30"></dd>
427 437
 				</dl>';
438
+	}
428 439
 
429 440
 	echo '
430 441
 				<p><input type="submit" value="', $txt['invalid_activation_resend'], '" class="button"></p>
Please login to merge, or discard this patch.
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.
Sources/Subs-Auth.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -430,8 +430,8 @@
 block discarded – undo
430 430
 	$real_name = $smcFunc['db_case_sensitive'] ? 'LOWER(real_name)' : 'real_name';
431 431
 
432 432
 	// Searches.
433
-	$member_name_search = $member_name . ' ' . $comparison . ' ' . implode( ' OR ' . $member_name . ' ' . $comparison . ' ', $names_list);
434
-	$real_name_search = $real_name . ' ' . $comparison . ' ' . implode( ' OR ' . $real_name . ' ' . $comparison . ' ', $names_list);
433
+	$member_name_search = $member_name . ' ' . $comparison . ' ' . implode(' OR ' . $member_name . ' ' . $comparison . ' ', $names_list);
434
+	$real_name_search = $real_name . ' ' . $comparison . ' ' . implode(' OR ' . $real_name . ' ' . $comparison . ' ', $names_list);
435 435
 
436 436
 	// Search by username, display name, and email address.
437 437
 	$request = $smcFunc['db_query']('', '
Please login to merge, or discard this patch.
Braces   +165 added lines, -119 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
  * Sets the SMF-style login cookie and session based on the id_member and password passed.
@@ -47,8 +48,9 @@  discard block
 block discarded – undo
47 48
 	if (isset($_COOKIE[$cookiename]))
48 49
 	{
49 50
 		// First check for 2.1 json-format cookie
50
-		if (preg_match('~^{"0":\d+,"1":"[0-9a-f]*","2":\d+,"3":"[^"]+","4":"[^"]+"~', $_COOKIE[$cookiename]) === 1)
51
-			list(,,, $old_domain, $old_path) = $smcFunc['json_decode']($_COOKIE[$cookiename], true);
51
+		if (preg_match('~^{"0":\d+,"1":"[0-9a-f]*","2":\d+,"3":"[^"]+","4":"[^"]+"~', $_COOKIE[$cookiename]) === 1) {
52
+					list(,,, $old_domain, $old_path) = $smcFunc['json_decode']($_COOKIE[$cookiename], true);
53
+		}
52 54
 
53 55
 		// Legacy format (for recent 2.0 --> 2.1 upgrades)
54 56
 		elseif (preg_match('~^a:[34]:\{i:0;i:\d+;i:1;s:(0|128):"([a-fA-F0-9]{128})?";i:2;[id]:\d+;(i:3;i:\d;)?~', $_COOKIE[$cookiename]) === 1)
@@ -58,15 +60,17 @@  discard block
 block discarded – undo
58 60
 			$cookie_state = (empty($modSettings['localCookies']) ? 0 : 1) | (empty($modSettings['globalCookies']) ? 0 : 2);
59 61
 
60 62
 			// Maybe we need to temporarily pretend to be using local cookies
61
-			if ($cookie_state == 0 && $old_state == 1)
62
-				list($old_domain, $old_path) = url_parts(true, false);
63
-			else
64
-				list($old_domain, $old_path) = url_parts($old_state & 1 > 0, $old_state & 2 > 0);
63
+			if ($cookie_state == 0 && $old_state == 1) {
64
+							list($old_domain, $old_path) = url_parts(true, false);
65
+			} else {
66
+							list($old_domain, $old_path) = url_parts($old_state & 1 > 0, $old_state & 2 > 0);
67
+			}
65 68
 		}
66 69
 
67 70
 		// Out with the old, in with the new!
68
-		if (isset($old_domain) && $old_domain != $cookie_url[0] || isset($old_path) && $old_path != $cookie_url[1])
69
-			smf_setcookie($cookiename, $smcFunc['json_encode'](array(0, '', 0, $old_domain, $old_path), JSON_FORCE_OBJECT), 1, $old_path, $old_domain);
71
+		if (isset($old_domain) && $old_domain != $cookie_url[0] || isset($old_path) && $old_path != $cookie_url[1]) {
72
+					smf_setcookie($cookiename, $smcFunc['json_encode'](array(0, '', 0, $old_domain, $old_path), JSON_FORCE_OBJECT), 1, $old_path, $old_domain);
73
+		}
70 74
 	}
71 75
 
72 76
 	// Get the data and path to set it on.
@@ -82,8 +86,9 @@  discard block
 block discarded – undo
82 86
 	smf_setcookie($cookiename, $data, $expiry_time, $cookie_url[1], $cookie_url[0]);
83 87
 
84 88
 	// If subdomain-independent cookies are on, unset the subdomain-dependent cookie too.
85
-	if (empty($id) && !empty($modSettings['globalCookies']))
86
-		smf_setcookie($cookiename, $data, $expiry_time, $cookie_url[1], '');
89
+	if (empty($id) && !empty($modSettings['globalCookies'])) {
90
+			smf_setcookie($cookiename, $data, $expiry_time, $cookie_url[1], '');
91
+	}
87 92
 
88 93
 	// Any alias URLs?  This is mainly for use with frames, etc.
89 94
 	if (!empty($modSettings['forum_alias_urls']))
@@ -99,8 +104,9 @@  discard block
 block discarded – undo
99 104
 
100 105
 			$cookie_url = url_parts(!empty($modSettings['localCookies']), !empty($modSettings['globalCookies']));
101 106
 
102
-			if ($cookie_url[0] == '')
103
-				$cookie_url[0] = strtok($alias, '/');
107
+			if ($cookie_url[0] == '') {
108
+							$cookie_url[0] = strtok($alias, '/');
109
+			}
104 110
 
105 111
 			$alias_data = $smcFunc['json_decode']($data, true);
106 112
 			$alias_data[3] = $cookie_url[0];
@@ -159,8 +165,9 @@  discard block
 block discarded – undo
159 165
 	smf_setcookie($identifier, $data, $expiry_time, $cookie_url[1], $cookie_url[0]);
160 166
 
161 167
 	// If subdomain-independent cookies are on, unset the subdomain-dependent cookie too.
162
-	if (empty($id) && !empty($modSettings['globalCookies']))
163
-		smf_setcookie($identifier, $data, $expiry_time, $cookie_url[1], '');
168
+	if (empty($id) && !empty($modSettings['globalCookies'])) {
169
+			smf_setcookie($identifier, $data, $expiry_time, $cookie_url[1], '');
170
+	}
164 171
 
165 172
 	$_COOKIE[$identifier] = $data;
166 173
 }
@@ -182,23 +189,28 @@  discard block
 block discarded – undo
182 189
 	$parsed_url = parse_url($boardurl);
183 190
 
184 191
 	// Is local cookies off?
185
-	if (empty($parsed_url['path']) || !$local)
186
-		$parsed_url['path'] = '';
192
+	if (empty($parsed_url['path']) || !$local) {
193
+			$parsed_url['path'] = '';
194
+	}
187 195
 
188
-	if (!empty($modSettings['globalCookiesDomain']) && strpos($boardurl, $modSettings['globalCookiesDomain']) !== false)
189
-		$parsed_url['host'] = $modSettings['globalCookiesDomain'];
196
+	if (!empty($modSettings['globalCookiesDomain']) && strpos($boardurl, $modSettings['globalCookiesDomain']) !== false) {
197
+			$parsed_url['host'] = $modSettings['globalCookiesDomain'];
198
+	}
190 199
 
191 200
 	// Globalize cookies across domains (filter out IP-addresses)?
192
-	elseif ($global && preg_match('~^\d{1,3}(\.\d{1,3}){3}$~', $parsed_url['host']) == 0 && preg_match('~(?:[^\.]+\.)?([^\.]{2,}\..+)\z~i', $parsed_url['host'], $parts) == 1)
193
-		$parsed_url['host'] = '.' . $parts[1];
201
+	elseif ($global && preg_match('~^\d{1,3}(\.\d{1,3}){3}$~', $parsed_url['host']) == 0 && preg_match('~(?:[^\.]+\.)?([^\.]{2,}\..+)\z~i', $parsed_url['host'], $parts) == 1) {
202
+			$parsed_url['host'] = '.' . $parts[1];
203
+	}
194 204
 
195 205
 	// We shouldn't use a host at all if both options are off.
196
-	elseif (!$local && !$global)
197
-		$parsed_url['host'] = '';
206
+	elseif (!$local && !$global) {
207
+			$parsed_url['host'] = '';
208
+	}
198 209
 
199 210
 	// The host also shouldn't be set if there aren't any dots in it.
200
-	elseif (!isset($parsed_url['host']) || strpos($parsed_url['host'], '.') === false)
201
-		$parsed_url['host'] = '';
211
+	elseif (!isset($parsed_url['host']) || strpos($parsed_url['host'], '.') === false) {
212
+			$parsed_url['host'] = '';
213
+	}
202 214
 
203 215
 	return array($parsed_url['host'], $parsed_url['path'] . '/');
204 216
 }
@@ -217,8 +229,9 @@  discard block
 block discarded – undo
217 229
 	createToken('login');
218 230
 
219 231
 	// Never redirect to an attachment
220
-	if (strpos($_SERVER['REQUEST_URL'], 'dlattach') === false)
221
-		$_SESSION['login_url'] = $_SERVER['REQUEST_URL'];
232
+	if (strpos($_SERVER['REQUEST_URL'], 'dlattach') === false) {
233
+			$_SESSION['login_url'] = $_SERVER['REQUEST_URL'];
234
+	}
222 235
 
223 236
 	$context['sub_template'] = 'kick_guest';
224 237
 	$context['page_title'] = $txt['login'];
@@ -273,10 +286,12 @@  discard block
 block discarded – undo
273 286
 		$txt['security_wrong'] = sprintf($txt['security_wrong'], isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : $txt['unknown'], $_SERVER['HTTP_USER_AGENT'], $user_info['ip']);
274 287
 		log_error($txt['security_wrong'], 'critical');
275 288
 
276
-		if (isset($_POST[$type . '_hash_pass']))
277
-			unset($_POST[$type . '_hash_pass']);
278
-		if (isset($_POST[$type . '_pass']))
279
-			unset($_POST[$type . '_pass']);
289
+		if (isset($_POST[$type . '_hash_pass'])) {
290
+					unset($_POST[$type . '_hash_pass']);
291
+		}
292
+		if (isset($_POST[$type . '_pass'])) {
293
+					unset($_POST[$type . '_pass']);
294
+		}
280 295
 
281 296
 		$context['incorrect_password'] = true;
282 297
 	}
@@ -289,15 +304,17 @@  discard block
 block discarded – undo
289 304
 
290 305
 	// Now go through $_POST.  Make sure the session hash is sent.
291 306
 	$_POST[$context['session_var']] = $context['session_id'];
292
-	foreach ($_POST as $k => $v)
293
-		$context['post_data'] .= adminLogin_outputPostVars($k, $v);
307
+	foreach ($_POST as $k => $v) {
308
+			$context['post_data'] .= adminLogin_outputPostVars($k, $v);
309
+	}
294 310
 
295 311
 	// Now we'll use the admin_login sub template of the Login template.
296 312
 	$context['sub_template'] = 'admin_login';
297 313
 
298 314
 	// And title the page something like "Login".
299
-	if (!isset($context['page_title']))
300
-		$context['page_title'] = $txt['login'];
315
+	if (!isset($context['page_title'])) {
316
+			$context['page_title'] = $txt['login'];
317
+	}
301 318
 
302 319
 	// The type of action.
303 320
 	$context['sessionCheckType'] = $type;
@@ -320,14 +337,15 @@  discard block
 block discarded – undo
320 337
 {
321 338
 	global $smcFunc;
322 339
 
323
-	if (!is_array($v))
324
-		return '
340
+	if (!is_array($v)) {
341
+			return '
325 342
 <input type="hidden" name="' . $smcFunc['htmlspecialchars']($k) . '" value="' . strtr($v, array('"' => '&quot;', '<' => '&lt;', '>' => '&gt;')) . '">';
326
-	else
343
+	} else
327 344
 	{
328 345
 		$ret = '';
329
-		foreach ($v as $k2 => $v2)
330
-			$ret .= adminLogin_outputPostVars($k . '[' . $k2 . ']', $v2);
346
+		foreach ($v as $k2 => $v2) {
347
+					$ret .= adminLogin_outputPostVars($k . '[' . $k2 . ']', $v2);
348
+		}
331 349
 
332 350
 		return $ret;
333 351
 	}
@@ -354,18 +372,20 @@  discard block
 block discarded – undo
354 372
 		foreach ($get as $k => $v)
355 373
 		{
356 374
 			// Only if it's not already in the $scripturl!
357
-			if (!isset($temp[$k]))
358
-				$query_string .= urlencode($k) . '=' . urlencode($v) . ';';
375
+			if (!isset($temp[$k])) {
376
+							$query_string .= urlencode($k) . '=' . urlencode($v) . ';';
377
+			}
359 378
 			// If it changed, put it out there, but with an ampersand.
360
-			elseif ($temp[$k] != $get[$k])
361
-				$query_string .= urlencode($k) . '=' . urlencode($v) . '&amp;';
379
+			elseif ($temp[$k] != $get[$k]) {
380
+							$query_string .= urlencode($k) . '=' . urlencode($v) . '&amp;';
381
+			}
362 382
 		}
363
-	}
364
-	else
383
+	} else
365 384
 	{
366 385
 		// Add up all the data from $_GET into get_data.
367
-		foreach ($get as $k => $v)
368
-			$query_string .= urlencode($k) . '=' . urlencode($v) . ';';
386
+		foreach ($get as $k => $v) {
387
+					$query_string .= urlencode($k) . '=' . urlencode($v) . ';';
388
+		}
369 389
 	}
370 390
 
371 391
 	$query_string = substr($query_string, 0, -1);
@@ -388,8 +408,9 @@  discard block
 block discarded – undo
388 408
 	global $scripturl, $user_info, $smcFunc;
389 409
 
390 410
 	// If it's not already an array, make it one.
391
-	if (!is_array($names))
392
-		$names = explode(',', $names);
411
+	if (!is_array($names)) {
412
+			$names = explode(',', $names);
413
+	}
393 414
 
394 415
 	$maybe_email = false;
395 416
 	$names_list = array();
@@ -401,10 +422,11 @@  discard block
 block discarded – undo
401 422
 		$maybe_email |= strpos($name, '@') !== false;
402 423
 
403 424
 		// Make it so standard wildcards will work. (* and ?)
404
-		if ($use_wildcards)
405
-			$names[$i] = strtr($names[$i], array('%' => '\%', '_' => '\_', '*' => '%', '?' => '_', '\'' => '&#039;'));
406
-		else
407
-			$names[$i] = strtr($names[$i], array('\'' => '&#039;'));
425
+		if ($use_wildcards) {
426
+					$names[$i] = strtr($names[$i], array('%' => '\%', '_' => '\_', '*' => '%', '?' => '_', '\'' => '&#039;'));
427
+		} else {
428
+					$names[$i] = strtr($names[$i], array('\'' => '&#039;'));
429
+		}
408 430
 
409 431
 		$names_list[] = '{string:lookup_name_' . $i . '}';
410 432
 		$where_params['lookup_name_' . $i] = $names[$i];
@@ -417,11 +439,12 @@  discard block
 block discarded – undo
417 439
 	$results = array();
418 440
 
419 441
 	// This ensures you can't search someones email address if you can't see it.
420
-	if (($use_wildcards || $maybe_email) && allowedTo('moderate_forum'))
421
-		$email_condition = '
442
+	if (($use_wildcards || $maybe_email) && allowedTo('moderate_forum')) {
443
+			$email_condition = '
422 444
 			OR (email_address ' . $comparison . ' \'' . implode('\') OR (email_address ' . $comparison . ' \'', $names) . '\')';
423
-	else
424
-		$email_condition = '';
445
+	} else {
446
+			$email_condition = '';
447
+	}
425 448
 
426 449
 	// Get the case of the columns right - but only if we need to as things like MySQL will go slow needlessly otherwise.
427 450
 	$member_name = $smcFunc['db_case_sensitive'] ? 'LOWER(member_name)' : 'member_name';
@@ -480,10 +503,11 @@  discard block
 block discarded – undo
480 503
 	$context['template_layers'] = array();
481 504
 	$context['sub_template'] = 'find_members';
482 505
 
483
-	if (isset($_REQUEST['search']))
484
-		$context['last_search'] = $smcFunc['htmlspecialchars']($_REQUEST['search'], ENT_QUOTES);
485
-	else
486
-		$_REQUEST['start'] = 0;
506
+	if (isset($_REQUEST['search'])) {
507
+			$context['last_search'] = $smcFunc['htmlspecialchars']($_REQUEST['search'], ENT_QUOTES);
508
+	} else {
509
+			$_REQUEST['start'] = 0;
510
+	}
487 511
 
488 512
 	// Allow the user to pass the input to be added to to the box.
489 513
 	$context['input_box_name'] = isset($_REQUEST['input']) && preg_match('~^[\w-]+$~', $_REQUEST['input']) === 1 ? $_REQUEST['input'] : 'to';
@@ -524,10 +548,10 @@  discard block
 block discarded – undo
524 548
 		);
525 549
 
526 550
 		$context['results'] = array_slice($context['results'], $_REQUEST['start'], 7);
551
+	} else {
552
+			$context['links']['up'] = $scripturl . '?action=pm;sa=send' . (empty($_REQUEST['u']) ? '' : ';u=' . $_REQUEST['u']);
553
+	}
527 554
 	}
528
-	else
529
-		$context['links']['up'] = $scripturl . '?action=pm;sa=send' . (empty($_REQUEST['u']) ? '' : ';u=' . $_REQUEST['u']);
530
-}
531 555
 
532 556
 /**
533 557
  * Outputs each member name on its own line.
@@ -543,8 +567,9 @@  discard block
 block discarded – undo
543 567
 	$_REQUEST['search'] = trim($smcFunc['strtolower']($_REQUEST['search']));
544 568
 	$_REQUEST['search'] = strtr($_REQUEST['search'], array('%' => '\%', '_' => '\_', '*' => '%', '?' => '_', '&#038;' => '&amp;'));
545 569
 
546
-	if (function_exists('iconv'))
547
-		header('content-type: text/plain; charset=UTF-8');
570
+	if (function_exists('iconv')) {
571
+			header('content-type: text/plain; charset=UTF-8');
572
+	}
548 573
 
549 574
 	$request = $smcFunc['db_query']('', '
550 575
 		SELECT real_name
@@ -564,14 +589,16 @@  discard block
 block discarded – undo
564 589
 		if (function_exists('iconv'))
565 590
 		{
566 591
 			$utf8 = iconv($txt['lang_character_set'], 'UTF-8', $row['real_name']);
567
-			if ($utf8)
568
-				$row['real_name'] = $utf8;
592
+			if ($utf8) {
593
+							$row['real_name'] = $utf8;
594
+			}
569 595
 		}
570 596
 
571 597
 		$row['real_name'] = strtr($row['real_name'], array('&amp;' => '&#038;', '&lt;' => '&#060;', '&gt;' => '&#062;', '&quot;' => '&#034;'));
572 598
 
573
-		if (preg_match('~&#\d+;~', $row['real_name']) != 0)
574
-			$row['real_name'] = preg_replace_callback('~&#(\d+);~', 'fixchar__callback', $row['real_name']);
599
+		if (preg_match('~&#\d+;~', $row['real_name']) != 0) {
600
+					$row['real_name'] = preg_replace_callback('~&#(\d+);~', 'fixchar__callback', $row['real_name']);
601
+		}
575 602
 
576 603
 		echo $row['real_name'], "\n";
577 604
 	}
@@ -628,9 +655,9 @@  discard block
 block discarded – undo
628 655
 
629 656
 		// Update the database...
630 657
 		updateMemberData($memID, array('member_name' => $user, 'passwd' => $newPassword_sha1));
658
+	} else {
659
+			updateMemberData($memID, array('passwd' => $newPassword_sha1));
631 660
 	}
632
-	else
633
-		updateMemberData($memID, array('passwd' => $newPassword_sha1));
634 661
 
635 662
 	call_integration_hook('integrate_reset_pass', array($old_user, $user, $newPassword));
636 663
 
@@ -661,31 +688,37 @@  discard block
 block discarded – undo
661 688
 	$errors = array();
662 689
 
663 690
 	// Don't use too long a name.
664
-	if ($smcFunc['strlen']($username) > 25)
665
-		$errors[] = array('lang', 'error_long_name');
691
+	if ($smcFunc['strlen']($username) > 25) {
692
+			$errors[] = array('lang', 'error_long_name');
693
+	}
666 694
 
667 695
 	// No name?!  How can you register with no name?
668
-	if ($username == '')
669
-		$errors[] = array('lang', 'need_username');
696
+	if ($username == '') {
697
+			$errors[] = array('lang', 'need_username');
698
+	}
670 699
 
671 700
 	// Only these characters are permitted.
672
-	if (in_array($username, array('_', '|')) || preg_match('~[<>&"\'=\\\\]~', preg_replace('~&#(?:\\d{1,7}|x[0-9a-fA-F]{1,6});~', '', $username)) != 0 || strpos($username, '[code') !== false || strpos($username, '[/code') !== false)
673
-		$errors[] = array('lang', 'error_invalid_characters_username');
701
+	if (in_array($username, array('_', '|')) || preg_match('~[<>&"\'=\\\\]~', preg_replace('~&#(?:\\d{1,7}|x[0-9a-fA-F]{1,6});~', '', $username)) != 0 || strpos($username, '[code') !== false || strpos($username, '[/code') !== false) {
702
+			$errors[] = array('lang', 'error_invalid_characters_username');
703
+	}
674 704
 
675
-	if (stristr($username, $txt['guest_title']) !== false)
676
-		$errors[] = array('lang', 'username_reserved', 'general', array($txt['guest_title']));
705
+	if (stristr($username, $txt['guest_title']) !== false) {
706
+			$errors[] = array('lang', 'username_reserved', 'general', array($txt['guest_title']));
707
+	}
677 708
 
678 709
 	if ($check_reserved_name)
679 710
 	{
680 711
 		require_once($sourcedir . '/Subs-Members.php');
681
-		if (isReservedName($username, $memID, false))
682
-			$errors[] = array('done', '(' . $smcFunc['htmlspecialchars']($username) . ') ' . $txt['name_in_use']);
712
+		if (isReservedName($username, $memID, false)) {
713
+					$errors[] = array('done', '(' . $smcFunc['htmlspecialchars']($username) . ') ' . $txt['name_in_use']);
714
+		}
683 715
 	}
684 716
 
685
-	if ($return_error)
686
-		return $errors;
687
-	elseif (empty($errors))
688
-		return null;
717
+	if ($return_error) {
718
+			return $errors;
719
+	} elseif (empty($errors)) {
720
+			return null;
721
+	}
689 722
 
690 723
 	loadLanguage('Errors');
691 724
 	$error = $errors[0];
@@ -711,22 +744,26 @@  discard block
 block discarded – undo
711 744
 	global $modSettings, $smcFunc;
712 745
 
713 746
 	// Perform basic requirements first.
714
-	if ($smcFunc['strlen']($password) < (empty($modSettings['password_strength']) ? 4 : 8))
715
-		return 'short';
747
+	if ($smcFunc['strlen']($password) < (empty($modSettings['password_strength']) ? 4 : 8)) {
748
+			return 'short';
749
+	}
716 750
 
717 751
 	// Is this enough?
718
-	if (empty($modSettings['password_strength']))
719
-		return null;
752
+	if (empty($modSettings['password_strength'])) {
753
+			return null;
754
+	}
720 755
 
721 756
 	// Otherwise, perform the medium strength test - checking if password appears in the restricted string.
722
-	if (preg_match('~\b' . preg_quote($password, '~') . '\b~', implode(' ', $restrict_in)) != 0)
723
-		return 'restricted_words';
724
-	elseif ($smcFunc['strpos']($password, $username) !== false)
725
-		return 'restricted_words';
757
+	if (preg_match('~\b' . preg_quote($password, '~') . '\b~', implode(' ', $restrict_in)) != 0) {
758
+			return 'restricted_words';
759
+	} elseif ($smcFunc['strpos']($password, $username) !== false) {
760
+			return 'restricted_words';
761
+	}
726 762
 
727 763
 	// If just medium, we're done.
728
-	if ($modSettings['password_strength'] == 1)
729
-		return null;
764
+	if ($modSettings['password_strength'] == 1) {
765
+			return null;
766
+	}
730 767
 
731 768
 	// Otherwise, hard test next, check for numbers and letters, uppercase too.
732 769
 	$good = preg_match('~(\D\d|\d\D)~', $password) != 0;
@@ -758,14 +795,16 @@  discard block
 block discarded – undo
758 795
 			)
759 796
 		);
760 797
 		$groups = array();
761
-		while ($row = $smcFunc['db_fetch_assoc']($request))
762
-			$groups[] = $row['id_group'];
798
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
799
+					$groups[] = $row['id_group'];
800
+		}
763 801
 		$smcFunc['db_free_result']($request);
764 802
 
765
-		if (empty($groups))
766
-			$group_query = '0=1';
767
-		else
768
-			$group_query = 'id_group IN (' . implode(',', $groups) . ')';
803
+		if (empty($groups)) {
804
+					$group_query = '0=1';
805
+		} else {
806
+					$group_query = 'id_group IN (' . implode(',', $groups) . ')';
807
+		}
769 808
 	}
770 809
 
771 810
 	// Then, same again, just the boards this time!
@@ -775,10 +814,11 @@  discard block
 block discarded – undo
775 814
 	{
776 815
 		$boards = boardsAllowedTo('moderate_board', true);
777 816
 
778
-		if (empty($boards))
779
-			$board_query = '0=1';
780
-		else
781
-			$board_query = 'id_board IN (' . implode(',', $boards) . ')';
817
+		if (empty($boards)) {
818
+					$board_query = '0=1';
819
+		} else {
820
+					$board_query = 'id_board IN (' . implode(',', $boards) . ')';
821
+		}
782 822
 	}
783 823
 
784 824
 	// What boards are they the moderator of?
@@ -793,8 +833,9 @@  discard block
 block discarded – undo
793 833
 				'current_member' => $user_info['id'],
794 834
 			)
795 835
 		);
796
-		while ($row = $smcFunc['db_fetch_assoc']($request))
797
-			$boards_mod[] = $row['id_board'];
836
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
837
+					$boards_mod[] = $row['id_board'];
838
+		}
798 839
 		$smcFunc['db_free_result']($request);
799 840
 
800 841
 		// Can any of the groups they're in moderate any of the boards?
@@ -806,8 +847,9 @@  discard block
 block discarded – undo
806 847
 				'groups' => $user_info['groups'],
807 848
 			)
808 849
 		);
809
-		while ($row = $smcFunc['db_fetch_assoc']($request))
810
-			$boards_mod[] = $row['id_board'];
850
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
851
+					$boards_mod[] = $row['id_board'];
852
+		}
811 853
 		$smcFunc['db_free_result']($request);
812 854
 
813 855
 		// Just in case we've got duplicates here...
@@ -852,10 +894,12 @@  discard block
 block discarded – undo
852 894
 	global $modSettings;
853 895
 
854 896
 	// In case a customization wants to override the default settings
855
-	if ($httponly === null)
856
-		$httponly = !empty($modSettings['httponlyCookies']);
857
-	if ($secure === null)
858
-		$secure = !empty($modSettings['secureCookies']);
897
+	if ($httponly === null) {
898
+			$httponly = !empty($modSettings['httponlyCookies']);
899
+	}
900
+	if ($secure === null) {
901
+			$secure = !empty($modSettings['secureCookies']);
902
+	}
859 903
 
860 904
 	// Intercept cookie?
861 905
 	call_integration_hook('integrate_cookie', array($name, $value, $expire, $path, $domain, $secure, $httponly));
@@ -875,8 +919,9 @@  discard block
 block discarded – undo
875 919
 function hash_password($username, $password, $cost = null)
876 920
 {
877 921
 	global $sourcedir, $smcFunc, $modSettings;
878
-	if (!function_exists('password_hash'))
879
-		require_once($sourcedir . '/Subs-Password.php');
922
+	if (!function_exists('password_hash')) {
923
+			require_once($sourcedir . '/Subs-Password.php');
924
+	}
880 925
 
881 926
 	$cost = empty($cost) ? (empty($modSettings['bcrypt_hash_cost']) ? 10 : $modSettings['bcrypt_hash_cost']) : $cost;
882 927
 
@@ -908,8 +953,9 @@  discard block
 block discarded – undo
908 953
 function hash_verify_password($username, $password, $hash)
909 954
 {
910 955
 	global $sourcedir, $smcFunc;
911
-	if (!function_exists('password_verify'))
912
-		require_once($sourcedir . '/Subs-Password.php');
956
+	if (!function_exists('password_verify')) {
957
+			require_once($sourcedir . '/Subs-Password.php');
958
+	}
913 959
 
914 960
 	return password_verify($smcFunc['strtolower']($username) . $password, $hash);
915 961
 }
Please login to merge, or discard this patch.
Sources/Display.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -899,13 +899,13 @@
 block discarded – undo
899 899
 		if ($start_char === 'C')
900 900
 			$limit_seek = $limit;
901 901
 		else
902
-			$limit_seek  = $limit + 1;
902
+			$limit_seek = $limit + 1;
903 903
 
904 904
 		$request = $smcFunc['db_query']('', '
905 905
 			SELECT id_msg, id_member, approved
906 906
 			FROM {db_prefix}messages
907 907
 			WHERE id_topic = {int:current_topic}
908
-			AND id_msg '. $page_operator . ' {int:page_id}'. (!$modSettings['postmod_active'] || $approve_posts ? '' : '
908
+			AND id_msg '. $page_operator . ' {int:page_id}' . (!$modSettings['postmod_active'] || $approve_posts ? '' : '
909 909
 			AND (approved = {int:is_approved}' . ($user_info['is_guest'] ? '' : ' OR id_member = {int:current_member}') . ')') . '
910 910
 			ORDER BY id_msg ' . ($ascending_seek ? '' : 'DESC') . ($context['messages_per_page'] == -1 ? '' : '
911 911
 			LIMIT {int:limit}'),
Please login to merge, or discard this patch.
Braces   +292 added lines, -214 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
  * The central part of the board - topic display.
@@ -34,8 +35,9 @@  discard block
 block discarded – undo
34 35
 	global $messages_request, $language, $smcFunc;
35 36
 
36 37
 	// What are you gonna display if these are empty?!
37
-	if (empty($topic))
38
-		fatal_lang_error('no_board', false);
38
+	if (empty($topic)) {
39
+			fatal_lang_error('no_board', false);
40
+	}
39 41
 
40 42
 	// Load the proper template.
41 43
 	loadTemplate('Display');
@@ -52,15 +54,17 @@  discard block
 block discarded – undo
52 54
 	$context['messages_per_page'] = empty($modSettings['disableCustomPerPage']) && !empty($options['messages_per_page']) ? $options['messages_per_page'] : $modSettings['defaultMaxMessages'];
53 55
 
54 56
 	// Let's do some work on what to search index.
55
-	if (count($_GET) > 2)
56
-		foreach ($_GET as $k => $v)
57
+	if (count($_GET) > 2) {
58
+			foreach ($_GET as $k => $v)
57 59
 		{
58 60
 			if (!in_array($k, array('topic', 'board', 'start', session_name())))
59 61
 				$context['robot_no_index'] = true;
62
+	}
60 63
 		}
61 64
 
62
-	if (!empty($_REQUEST['start']) && (!is_numeric($_REQUEST['start']) || $_REQUEST['start'] % $context['messages_per_page'] != 0))
63
-		$context['robot_no_index'] = true;
65
+	if (!empty($_REQUEST['start']) && (!is_numeric($_REQUEST['start']) || $_REQUEST['start'] % $context['messages_per_page'] != 0)) {
66
+			$context['robot_no_index'] = true;
67
+	}
64 68
 
65 69
 	// Find the previous or next topic.  Make a fuss if there are no more.
66 70
 	if (isset($_REQUEST['prev_next']) && ($_REQUEST['prev_next'] == 'prev' || $_REQUEST['prev_next'] == 'next'))
@@ -172,8 +176,9 @@  discard block
 block discarded – undo
172 176
 			$topic_parameters
173 177
 	);
174 178
 
175
-	if ($smcFunc['db_num_rows']($request) == 0)
176
-		fatal_lang_error('not_a_topic', false, 404);
179
+	if ($smcFunc['db_num_rows']($request) == 0) {
180
+			fatal_lang_error('not_a_topic', false, 404);
181
+	}
177 182
 	$context['topicinfo'] = $smcFunc['db_fetch_assoc']($request);
178 183
 	$smcFunc['db_free_result']($request);
179 184
 
@@ -210,8 +215,9 @@  discard block
 block discarded – undo
210 215
 	$context['topic_unwatched'] = isset($context['topicinfo']['unwatched']) ? $context['topicinfo']['unwatched'] : 0;
211 216
 
212 217
 	// Add up unapproved replies to get real number of replies...
213
-	if ($modSettings['postmod_active'] && $approve_posts)
214
-		$context['real_num_replies'] += $context['topicinfo']['unapproved_posts'] - ($context['topicinfo']['approved'] ? 0 : 1);
218
+	if ($modSettings['postmod_active'] && $approve_posts) {
219
+			$context['real_num_replies'] += $context['topicinfo']['unapproved_posts'] - ($context['topicinfo']['approved'] ? 0 : 1);
220
+	}
215 221
 
216 222
 	// If this topic has unapproved posts, we need to work out how many posts the user can see, for page indexing.
217 223
 	if ($modSettings['postmod_active'] && $context['topicinfo']['unapproved_posts'] && !$user_info['is_guest'] && !$approve_posts)
@@ -231,11 +237,11 @@  discard block
 block discarded – undo
231 237
 		$smcFunc['db_free_result']($request);
232 238
 
233 239
 		$context['total_visible_posts'] = $context['num_replies'] + $myUnapprovedPosts + ($context['topicinfo']['approved'] ? 1 : 0);
240
+	} elseif ($user_info['is_guest']) {
241
+			$context['total_visible_posts'] = $context['num_replies'] + ($context['topicinfo']['approved'] ? 1 : 0);
242
+	} else {
243
+			$context['total_visible_posts'] = $context['num_replies'] + $context['topicinfo']['unapproved_posts'] + ($context['topicinfo']['approved'] ? 1 : 0);
234 244
 	}
235
-	elseif ($user_info['is_guest'])
236
-		$context['total_visible_posts'] = $context['num_replies'] + ($context['topicinfo']['approved'] ? 1 : 0);
237
-	else
238
-		$context['total_visible_posts'] = $context['num_replies'] + $context['topicinfo']['unapproved_posts'] + ($context['topicinfo']['approved'] ? 1 : 0);
239 245
 
240 246
 	// The start isn't a number; it's information about what to do, where to go.
241 247
 	if (!is_numeric($_REQUEST['start']))
@@ -248,8 +254,7 @@  discard block
 block discarded – undo
248 254
 			{
249 255
 				$context['start_from'] = $context['total_visible_posts'] - 1;
250 256
 				$_REQUEST['start'] = empty($options['view_newest_first']) ? $context['start_from'] : 0;
251
-			}
252
-			else
257
+			} else
253 258
 			{
254 259
 				// Find the earliest unread message in the topic. (the use of topics here is just for both tables.)
255 260
 				$request = $smcFunc['db_query']('', '
@@ -277,9 +282,9 @@  discard block
 block discarded – undo
277 282
 		if (substr($_REQUEST['start'], 0, 4) == 'from')
278 283
 		{
279 284
 			$timestamp = (int) substr($_REQUEST['start'], 4);
280
-			if ($timestamp === 0)
281
-				$_REQUEST['start'] = 0;
282
-			else
285
+			if ($timestamp === 0) {
286
+							$_REQUEST['start'] = 0;
287
+			} else
283 288
 			{
284 289
 				// Find the number of messages posted before said time...
285 290
 				$request = $smcFunc['db_query']('', '
@@ -307,11 +312,11 @@  discard block
 block discarded – undo
307 312
 		elseif (substr($_REQUEST['start'], 0, 3) == 'msg')
308 313
 		{
309 314
 			$virtual_msg = (int) substr($_REQUEST['start'], 3);
310
-			if (!$context['topicinfo']['unapproved_posts'] && $virtual_msg >= $context['topicinfo']['id_last_msg'])
311
-				$context['start_from'] = $context['total_visible_posts'] - 1;
312
-			elseif (!$context['topicinfo']['unapproved_posts'] && $virtual_msg <= $context['topicinfo']['id_first_msg'])
313
-				$context['start_from'] = 0;
314
-			else
315
+			if (!$context['topicinfo']['unapproved_posts'] && $virtual_msg >= $context['topicinfo']['id_last_msg']) {
316
+							$context['start_from'] = $context['total_visible_posts'] - 1;
317
+			} elseif (!$context['topicinfo']['unapproved_posts'] && $virtual_msg <= $context['topicinfo']['id_first_msg']) {
318
+							$context['start_from'] = 0;
319
+			} else
315 320
 			{
316 321
 				// Find the start value for that message......
317 322
 				$request = $smcFunc['db_query']('', '
@@ -394,21 +399,25 @@  discard block
 block discarded – undo
394 399
 		);
395 400
 		while ($row = $smcFunc['db_fetch_assoc']($request))
396 401
 		{
397
-			if (empty($row['id_member']))
398
-				continue;
402
+			if (empty($row['id_member'])) {
403
+							continue;
404
+			}
399 405
 
400
-			if (!empty($row['online_color']))
401
-				$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '" style="color: ' . $row['online_color'] . ';">' . $row['real_name'] . '</a>';
402
-			else
403
-				$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>';
406
+			if (!empty($row['online_color'])) {
407
+							$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '" style="color: ' . $row['online_color'] . ';">' . $row['real_name'] . '</a>';
408
+			} else {
409
+							$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>';
410
+			}
404 411
 
405 412
 			$is_buddy = in_array($row['id_member'], $user_info['buddies']);
406
-			if ($is_buddy)
407
-				$link = '<strong>' . $link . '</strong>';
413
+			if ($is_buddy) {
414
+							$link = '<strong>' . $link . '</strong>';
415
+			}
408 416
 
409 417
 			// Add them both to the list and to the more detailed list.
410
-			if (!empty($row['show_online']) || allowedTo('moderate_forum'))
411
-				$context['view_members_list'][$row['log_time'] . $row['member_name']] = empty($row['show_online']) ? '<em>' . $link . '</em>' : $link;
418
+			if (!empty($row['show_online']) || allowedTo('moderate_forum')) {
419
+							$context['view_members_list'][$row['log_time'] . $row['member_name']] = empty($row['show_online']) ? '<em>' . $link . '</em>' : $link;
420
+			}
412 421
 			$context['view_members'][$row['log_time'] . $row['member_name']] = array(
413 422
 				'id' => $row['id_member'],
414 423
 				'username' => $row['member_name'],
@@ -420,8 +429,9 @@  discard block
 block discarded – undo
420 429
 				'hidden' => empty($row['show_online']),
421 430
 			);
422 431
 
423
-			if (empty($row['show_online']))
424
-				$context['view_num_hidden']++;
432
+			if (empty($row['show_online'])) {
433
+							$context['view_num_hidden']++;
434
+			}
425 435
 		}
426 436
 
427 437
 		// The number of guests is equal to the rows minus the ones we actually used ;).
@@ -435,11 +445,13 @@  discard block
 block discarded – undo
435 445
 
436 446
 	// If all is set, but not allowed... just unset it.
437 447
 	$can_show_all = !empty($modSettings['enableAllMessages']) && $context['total_visible_posts'] > $context['messages_per_page'] && $context['total_visible_posts'] < $modSettings['enableAllMessages'];
438
-	if (isset($_REQUEST['all']) && !$can_show_all)
439
-		unset($_REQUEST['all']);
448
+	if (isset($_REQUEST['all']) && !$can_show_all) {
449
+			unset($_REQUEST['all']);
450
+	}
440 451
 	// Otherwise, it must be allowed... so pretend start was -1.
441
-	elseif (isset($_REQUEST['all']))
442
-		$_REQUEST['start'] = -1;
452
+	elseif (isset($_REQUEST['all'])) {
453
+			$_REQUEST['start'] = -1;
454
+	}
443 455
 
444 456
 	// Construct the page index, allowing for the .START method...
445 457
 	$context['page_index'] = constructPageIndex($scripturl . '?topic=' . $topic . '.%1$d', $_REQUEST['start'], $context['total_visible_posts'], $context['messages_per_page'], true);
@@ -476,8 +488,9 @@  discard block
 block discarded – undo
476 488
 			$_REQUEST['start'] = 0;
477 489
 		}
478 490
 		// They aren't using it, but the *option* is there, at least.
479
-		else
480
-			$context['page_index'] .= '&nbsp;<a href="' . $scripturl . '?topic=' . $topic . '.0;all">' . $txt['all'] . '</a> ';
491
+		else {
492
+					$context['page_index'] .= '&nbsp;<a href="' . $scripturl . '?topic=' . $topic . '.0;all">' . $txt['all'] . '</a> ';
493
+		}
481 494
 	}
482 495
 
483 496
 	// Build the link tree.
@@ -493,14 +506,16 @@  discard block
 block discarded – undo
493 506
 	if (!empty($board_info['moderators']))
494 507
 	{
495 508
 		// Add a link for each moderator...
496
-		foreach ($board_info['moderators'] as $mod)
497
-			$context['link_moderators'][] = '<a href="' . $scripturl . '?action=profile;u=' . $mod['id'] . '" title="' . $txt['board_moderator'] . '">' . $mod['name'] . '</a>';
509
+		foreach ($board_info['moderators'] as $mod) {
510
+					$context['link_moderators'][] = '<a href="' . $scripturl . '?action=profile;u=' . $mod['id'] . '" title="' . $txt['board_moderator'] . '">' . $mod['name'] . '</a>';
511
+		}
498 512
 	}
499 513
 	if (!empty($board_info['moderator_groups']))
500 514
 	{
501 515
 		// Add a link for each moderator group as well...
502
-		foreach ($board_info['moderator_groups'] as $mod_group)
503
-			$context['link_moderators'][] = '<a href="' . $scripturl . '?action=groups;sa=viewmemberes;group=' . $mod_group['id'] . '" title="' . $txt['board_moderator'] . '">' . $mod_group['name'] . '</a>';
516
+		foreach ($board_info['moderator_groups'] as $mod_group) {
517
+					$context['link_moderators'][] = '<a href="' . $scripturl . '?action=groups;sa=viewmemberes;group=' . $mod_group['id'] . '" title="' . $txt['board_moderator'] . '">' . $mod_group['name'] . '</a>';
518
+		}
504 519
 	}
505 520
 
506 521
 	if (!empty($context['link_moderators']))
@@ -531,9 +546,9 @@  discard block
 block discarded – undo
531 546
 	// For quick reply we need a response prefix in the default forum language.
532 547
 	if (!isset($context['response_prefix']) && !($context['response_prefix'] = cache_get_data('response_prefix', 600)))
533 548
 	{
534
-		if ($language === $user_info['language'])
535
-			$context['response_prefix'] = $txt['response_prefix'];
536
-		else
549
+		if ($language === $user_info['language']) {
550
+					$context['response_prefix'] = $txt['response_prefix'];
551
+		} else
537 552
 		{
538 553
 			loadLanguage('index', $language, false);
539 554
 			$context['response_prefix'] = $txt['response_prefix'];
@@ -565,8 +580,9 @@  discard block
 block discarded – undo
565 580
 			list($start, $end, $allday, $span, $tz, $tz_abbrev) = buildEventDatetimes($row);
566 581
 
567 582
 			// Sanity check
568
-			if (!empty($start['error_count']) || !empty($start['warning_count']) || !empty($end['error_count']) || !empty($end['warning_count']))
569
-				continue;
583
+			if (!empty($start['error_count']) || !empty($start['warning_count']) || !empty($end['error_count']) || !empty($end['warning_count'])) {
584
+							continue;
585
+			}
570 586
 
571 587
 			$linked_calendar_event = array(
572 588
 				'id' => $row['id_event'],
@@ -615,8 +631,9 @@  discard block
 block discarded – undo
615 631
 		}
616 632
 		$smcFunc['db_free_result']($request);
617 633
 
618
-		if (!empty($context['linked_calendar_events']))
619
-			$context['linked_calendar_events'][count($context['linked_calendar_events']) - 1]['is_last'] = true;
634
+		if (!empty($context['linked_calendar_events'])) {
635
+					$context['linked_calendar_events'][count($context['linked_calendar_events']) - 1]['is_last'] = true;
636
+		}
620 637
 	}
621 638
 
622 639
 	// Create the poll info if it exists.
@@ -679,8 +696,9 @@  discard block
 block discarded – undo
679 696
 		$smcFunc['db_free_result']($request);
680 697
 
681 698
 		// Got we multi choice?
682
-		if ($pollinfo['max_votes'] > 1)
683
-			$realtotal = $pollinfo['total'];
699
+		if ($pollinfo['max_votes'] > 1) {
700
+					$realtotal = $pollinfo['total'];
701
+		}
684 702
 
685 703
 		// If this is a guest we need to do our best to work out if they have voted, and what they voted for.
686 704
 		if ($user_info['is_guest'] && $pollinfo['guest_vote'] && allowedTo('poll_vote'))
@@ -693,20 +711,21 @@  discard block
 block discarded – undo
693 711
 				foreach ($guestinfo as $i => $guestvoted)
694 712
 				{
695 713
 					$guestvoted = explode(',', $guestvoted);
696
-					if ($guestvoted[0] == $context['topicinfo']['id_poll'])
697
-						break;
714
+					if ($guestvoted[0] == $context['topicinfo']['id_poll']) {
715
+											break;
716
+					}
698 717
 				}
699 718
 				// Has the poll been reset since guest voted?
700 719
 				if ($pollinfo['reset_poll'] > $guestvoted[1])
701 720
 				{
702 721
 					// Remove the poll info from the cookie to allow guest to vote again
703 722
 					unset($guestinfo[$i]);
704
-					if (!empty($guestinfo))
705
-						$_COOKIE['guest_poll_vote'] = ';' . implode(';', $guestinfo);
706
-					else
707
-						unset($_COOKIE['guest_poll_vote']);
708
-				}
709
-				else
723
+					if (!empty($guestinfo)) {
724
+											$_COOKIE['guest_poll_vote'] = ';' . implode(';', $guestinfo);
725
+					} else {
726
+											unset($_COOKIE['guest_poll_vote']);
727
+					}
728
+				} else
710 729
 				{
711 730
 					// What did they vote for?
712 731
 					unset($guestvoted[0], $guestvoted[1]);
@@ -820,23 +839,29 @@  discard block
 block discarded – undo
820 839
 		// Build the poll moderation button array.
821 840
 		$context['poll_buttons'] = array();
822 841
 
823
-		if ($context['allow_return_vote'])
824
-			$context['poll_buttons']['vote'] = array('text' => 'poll_return_vote', 'image' => 'poll_options.png', 'url' => $scripturl . '?topic=' . $context['current_topic'] . '.' . $context['start']);
842
+		if ($context['allow_return_vote']) {
843
+					$context['poll_buttons']['vote'] = array('text' => 'poll_return_vote', 'image' => 'poll_options.png', 'url' => $scripturl . '?topic=' . $context['current_topic'] . '.' . $context['start']);
844
+		}
825 845
 
826
-		if ($context['show_view_results_button'])
827
-			$context['poll_buttons']['results'] = array('text' => 'poll_results', 'image' => 'poll_results.png', 'url' => $scripturl . '?topic=' . $context['current_topic'] . '.' . $context['start'] . ';viewresults');
846
+		if ($context['show_view_results_button']) {
847
+					$context['poll_buttons']['results'] = array('text' => 'poll_results', 'image' => 'poll_results.png', 'url' => $scripturl . '?topic=' . $context['current_topic'] . '.' . $context['start'] . ';viewresults');
848
+		}
828 849
 
829
-		if ($context['allow_change_vote'])
830
-			$context['poll_buttons']['change_vote'] = array('text' => 'poll_change_vote', 'image' => 'poll_change_vote.png', 'url' => $scripturl . '?action=vote;topic=' . $context['current_topic'] . '.' . $context['start'] . ';poll=' . $context['poll']['id'] . ';' . $context['session_var'] . '=' . $context['session_id']);
850
+		if ($context['allow_change_vote']) {
851
+					$context['poll_buttons']['change_vote'] = array('text' => 'poll_change_vote', 'image' => 'poll_change_vote.png', 'url' => $scripturl . '?action=vote;topic=' . $context['current_topic'] . '.' . $context['start'] . ';poll=' . $context['poll']['id'] . ';' . $context['session_var'] . '=' . $context['session_id']);
852
+		}
831 853
 
832
-		if ($context['allow_lock_poll'])
833
-			$context['poll_buttons']['lock'] = array('text' => (!$context['poll']['is_locked'] ? 'poll_lock' : 'poll_unlock'), 'image' => 'poll_lock.png', 'url' => $scripturl . '?action=lockvoting;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
854
+		if ($context['allow_lock_poll']) {
855
+					$context['poll_buttons']['lock'] = array('text' => (!$context['poll']['is_locked'] ? 'poll_lock' : 'poll_unlock'), 'image' => 'poll_lock.png', 'url' => $scripturl . '?action=lockvoting;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
856
+		}
834 857
 
835
-		if ($context['allow_edit_poll'])
836
-			$context['poll_buttons']['edit'] = array('text' => 'poll_edit', 'image' => 'poll_edit.png', 'url' => $scripturl . '?action=editpoll;topic=' . $context['current_topic'] . '.' . $context['start']);
858
+		if ($context['allow_edit_poll']) {
859
+					$context['poll_buttons']['edit'] = array('text' => 'poll_edit', 'image' => 'poll_edit.png', 'url' => $scripturl . '?action=editpoll;topic=' . $context['current_topic'] . '.' . $context['start']);
860
+		}
837 861
 
838
-		if ($context['can_remove_poll'])
839
-			$context['poll_buttons']['remove_poll'] = array('text' => 'poll_remove', 'image' => 'admin_remove_poll.png', 'custom' => 'data-confirm="' . $txt['poll_remove_warn'] . '"', 'class' => 'you_sure', 'url' => $scripturl . '?action=removepoll;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
862
+		if ($context['can_remove_poll']) {
863
+					$context['poll_buttons']['remove_poll'] = array('text' => 'poll_remove', 'image' => 'admin_remove_poll.png', 'custom' => 'data-confirm="' . $txt['poll_remove_warn'] . '"', 'class' => 'you_sure', 'url' => $scripturl . '?action=removepoll;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
864
+		}
840 865
 
841 866
 		// Allow mods to add additional buttons here
842 867
 		call_integration_hook('integrate_poll_buttons');
@@ -872,9 +897,9 @@  discard block
 block discarded – undo
872 897
 	{
873 898
 		$start_char = 'C';
874 899
 		$page_id = $ascending ? $context['topicinfo']['id_first_msg'] : $context['topicinfo']['id_last_msg'];
900
+	} else {
901
+			$start_char = null;
875 902
 	}
876
-	else
877
-		$start_char = null;
878 903
 
879 904
 	$limit = $context['messages_per_page'];
880 905
 
@@ -889,17 +914,17 @@  discard block
 block discarded – undo
889 914
 		{
890 915
 			$ascending_seek = true;
891 916
 			$page_operator = $ascending ? '>=' : '<=';
892
-		}
893
-		else
917
+		} else
894 918
 		{
895 919
 			$ascending_seek = false;
896 920
 			$page_operator = $ascending ? '<=' : '>=';
897 921
 		}
898 922
 
899
-		if ($start_char === 'C')
900
-			$limit_seek = $limit;
901
-		else
902
-			$limit_seek  = $limit + 1;
923
+		if ($start_char === 'C') {
924
+					$limit_seek = $limit;
925
+		} else {
926
+					$limit_seek  = $limit + 1;
927
+		}
903 928
 
904 929
 		$request = $smcFunc['db_query']('', '
905 930
 			SELECT id_msg, id_member, approved
@@ -922,21 +947,23 @@  discard block
 block discarded – undo
922 947
 		$found_msg = false;
923 948
 
924 949
 		// Fallback
925
-		if ($smcFunc['db_num_rows']($request) < 1)
926
-			unset($start_char);
927
-		else
950
+		if ($smcFunc['db_num_rows']($request) < 1) {
951
+					unset($start_char);
952
+		} else
928 953
 		{
929 954
 			while ($row = $smcFunc['db_fetch_assoc']($request))
930 955
 			{
931 956
 				// Check if the start msg is in our result
932
-				if ($row['id_msg'] == $page_id)
933
-					$found_msg = true;
957
+				if ($row['id_msg'] == $page_id) {
958
+									$found_msg = true;
959
+				}
934 960
 
935 961
 				// Skip the the start msg if we not in mode C
936 962
 				if ($start_char === 'C' || $row['id_msg'] != $page_id)
937 963
 				{
938
-					if (!empty($row['id_member']))
939
-						$all_posters[$row['id_msg']] = $row['id_member'];
964
+					if (!empty($row['id_member'])) {
965
+											$all_posters[$row['id_msg']] = $row['id_member'];
966
+					}
940 967
 
941 968
 					$messages[] = $row['id_msg'];
942 969
 				}
@@ -952,8 +979,9 @@  discard block
 block discarded – undo
952 979
 		}
953 980
 
954 981
 		// Before Page bring in the right order
955
-		if (!empty($start_char) && $start_char === 'L')
956
-			krsort($messages);
982
+		if (!empty($start_char) && $start_char === 'L') {
983
+					krsort($messages);
984
+		}
957 985
 	}
958 986
 
959 987
 	// Jump to page
@@ -989,14 +1017,16 @@  discard block
 block discarded – undo
989 1017
 
990 1018
 		while ($row = $smcFunc['db_fetch_assoc']($request))
991 1019
 		{
992
-			if (!empty($row['id_member']))
993
-				$all_posters[$row['id_msg']] = $row['id_member'];
1020
+			if (!empty($row['id_member'])) {
1021
+							$all_posters[$row['id_msg']] = $row['id_member'];
1022
+			}
994 1023
 			$messages[] = $row['id_msg'];
995 1024
 		}
996 1025
 
997 1026
 		// Sort the messages into the correct display order
998
-		if (!$ascending)
999
-			sort($messages);
1027
+		if (!$ascending) {
1028
+					sort($messages);
1029
+		}
1000 1030
 	}
1001 1031
 
1002 1032
 	// Remember the paging data for next time
@@ -1016,8 +1046,9 @@  discard block
 block discarded – undo
1016 1046
 	if (!$user_info['is_guest'] && !empty($messages))
1017 1047
 	{
1018 1048
 		$mark_at_msg = max($messages);
1019
-		if ($mark_at_msg >= $context['topicinfo']['id_last_msg'])
1020
-			$mark_at_msg = $modSettings['maxMsgID'];
1049
+		if ($mark_at_msg >= $context['topicinfo']['id_last_msg']) {
1050
+					$mark_at_msg = $modSettings['maxMsgID'];
1051
+		}
1021 1052
 		if ($mark_at_msg >= $context['topicinfo']['new_from'])
1022 1053
 		{
1023 1054
 			$smcFunc['db_insert']($context['topicinfo']['new_from'] == 0 ? 'ignore' : 'replace',
@@ -1049,8 +1080,9 @@  discard block
 block discarded – undo
1049 1080
 		while ($row = $smcFunc['db_fetch_assoc']($request))
1050 1081
 		{
1051 1082
 			// Find if this topic is marked for notification...
1052
-			if (!empty($row['id_topic']))
1053
-				$context['is_marked_notify'] = true;
1083
+			if (!empty($row['id_topic'])) {
1084
+							$context['is_marked_notify'] = true;
1085
+			}
1054 1086
 
1055 1087
 			// Only do this once, but mark the notifications as "not sent yet" for next time.
1056 1088
 			if (!empty($row['sent']) && $do_once)
@@ -1072,8 +1104,9 @@  discard block
 block discarded – undo
1072 1104
 		}
1073 1105
 
1074 1106
 		// Have we recently cached the number of new topics in this board, and it's still a lot?
1075
-		if (isset($_REQUEST['topicseen']) && isset($_SESSION['topicseen_cache'][$board]) && $_SESSION['topicseen_cache'][$board] > 5)
1076
-			$_SESSION['topicseen_cache'][$board]--;
1107
+		if (isset($_REQUEST['topicseen']) && isset($_SESSION['topicseen_cache'][$board]) && $_SESSION['topicseen_cache'][$board] > 5) {
1108
+					$_SESSION['topicseen_cache'][$board]--;
1109
+		}
1077 1110
 		// Mark board as seen if this is the only new topic.
1078 1111
 		elseif (isset($_REQUEST['topicseen']))
1079 1112
 		{
@@ -1097,14 +1130,16 @@  discard block
 block discarded – undo
1097 1130
 			$smcFunc['db_free_result']($request);
1098 1131
 
1099 1132
 			// If there're no real new topics in this board, mark the board as seen.
1100
-			if (empty($numNewTopics))
1101
-				$_REQUEST['boardseen'] = true;
1102
-			else
1103
-				$_SESSION['topicseen_cache'][$board] = $numNewTopics;
1133
+			if (empty($numNewTopics)) {
1134
+							$_REQUEST['boardseen'] = true;
1135
+			} else {
1136
+							$_SESSION['topicseen_cache'][$board] = $numNewTopics;
1137
+			}
1104 1138
 		}
1105 1139
 		// Probably one less topic - maybe not, but even if we decrease this too fast it will only make us look more often.
1106
-		elseif (isset($_SESSION['topicseen_cache'][$board]))
1107
-			$_SESSION['topicseen_cache'][$board]--;
1140
+		elseif (isset($_SESSION['topicseen_cache'][$board])) {
1141
+					$_SESSION['topicseen_cache'][$board]--;
1142
+		}
1108 1143
 
1109 1144
 		// Mark board as seen if we came using last post link from BoardIndex. (or other places...)
1110 1145
 		if (isset($_REQUEST['boardseen']))
@@ -1161,23 +1196,26 @@  discard block
 block discarded – undo
1161 1196
 			$temp = array();
1162 1197
 			while ($row = $smcFunc['db_fetch_assoc']($request))
1163 1198
 			{
1164
-				if (!$row['approved'] && $modSettings['postmod_active'] && !allowedTo('approve_posts') && (!isset($all_posters[$row['id_msg']]) || $all_posters[$row['id_msg']] != $user_info['id']))
1165
-					continue;
1199
+				if (!$row['approved'] && $modSettings['postmod_active'] && !allowedTo('approve_posts') && (!isset($all_posters[$row['id_msg']]) || $all_posters[$row['id_msg']] != $user_info['id'])) {
1200
+									continue;
1201
+				}
1166 1202
 
1167 1203
 				$temp[$row['id_attach']] = $row;
1168 1204
 				$temp[$row['id_attach']]['topic'] = $topic;
1169 1205
 				$temp[$row['id_attach']]['board'] = $board;
1170 1206
 
1171
-				if (!isset($context['loaded_attachments'][$row['id_msg']]))
1172
-					$context['loaded_attachments'][$row['id_msg']] = array();
1207
+				if (!isset($context['loaded_attachments'][$row['id_msg']])) {
1208
+									$context['loaded_attachments'][$row['id_msg']] = array();
1209
+				}
1173 1210
 			}
1174 1211
 			$smcFunc['db_free_result']($request);
1175 1212
 
1176 1213
 			// This is better than sorting it with the query...
1177 1214
 			ksort($temp);
1178 1215
 
1179
-			foreach ($temp as $row)
1180
-				$context['loaded_attachments'][$row['id_msg']][] = $row;
1216
+			foreach ($temp as $row) {
1217
+							$context['loaded_attachments'][$row['id_msg']][] = $row;
1218
+			}
1181 1219
 		}
1182 1220
 
1183 1221
 		$msg_parameters = array(
@@ -1204,21 +1242,23 @@  discard block
 block discarded – undo
1204 1242
 		);
1205 1243
 
1206 1244
 		// And the likes
1207
-		if (!empty($modSettings['enable_likes']))
1208
-			$context['my_likes'] = $context['user']['is_guest'] ? array() : prepareLikesContext($topic);
1245
+		if (!empty($modSettings['enable_likes'])) {
1246
+					$context['my_likes'] = $context['user']['is_guest'] ? array() : prepareLikesContext($topic);
1247
+		}
1209 1248
 
1210 1249
 		// Go to the last message if the given time is beyond the time of the last message.
1211
-		if (isset($context['start_from']) && $context['start_from'] >= $context['topicinfo']['num_replies'])
1212
-			$context['start_from'] = $context['topicinfo']['num_replies'];
1250
+		if (isset($context['start_from']) && $context['start_from'] >= $context['topicinfo']['num_replies']) {
1251
+					$context['start_from'] = $context['topicinfo']['num_replies'];
1252
+		}
1213 1253
 
1214 1254
 		// Since the anchor information is needed on the top of the page we load these variables beforehand.
1215 1255
 		$context['first_message'] = isset($messages[$firstIndex]) ? $messages[$firstIndex] : $messages[0];
1216
-		if (empty($options['view_newest_first']))
1217
-			$context['first_new_message'] = isset($context['start_from']) && $_REQUEST['start'] == $context['start_from'];
1218
-		else
1219
-			$context['first_new_message'] = isset($context['start_from']) && $_REQUEST['start'] == $context['topicinfo']['num_replies'] - $context['start_from'];
1220
-	}
1221
-	else
1256
+		if (empty($options['view_newest_first'])) {
1257
+					$context['first_new_message'] = isset($context['start_from']) && $_REQUEST['start'] == $context['start_from'];
1258
+		} else {
1259
+					$context['first_new_message'] = isset($context['start_from']) && $_REQUEST['start'] == $context['topicinfo']['num_replies'] - $context['start_from'];
1260
+		}
1261
+	} else
1222 1262
 	{
1223 1263
 		$messages_request = false;
1224 1264
 		$context['first_message'] = 0;
@@ -1253,8 +1293,9 @@  discard block
 block discarded – undo
1253 1293
 		'can_restore_msg' => 'move_any',
1254 1294
 		'can_like' => 'likes_like',
1255 1295
 	);
1256
-	foreach ($common_permissions as $contextual => $perm)
1257
-		$context[$contextual] = allowedTo($perm);
1296
+	foreach ($common_permissions as $contextual => $perm) {
1297
+			$context[$contextual] = allowedTo($perm);
1298
+	}
1258 1299
 
1259 1300
 	// Permissions with _any/_own versions.  $context[YYY] => ZZZ_any/_own.
1260 1301
 	$anyown_permissions = array(
@@ -1267,8 +1308,9 @@  discard block
 block discarded – undo
1267 1308
 		'can_reply_unapproved' => 'post_unapproved_replies',
1268 1309
 		'can_view_warning' => 'profile_warning',
1269 1310
 	);
1270
-	foreach ($anyown_permissions as $contextual => $perm)
1271
-		$context[$contextual] = allowedTo($perm . '_any') || ($context['user']['started'] && allowedTo($perm . '_own'));
1311
+	foreach ($anyown_permissions as $contextual => $perm) {
1312
+			$context[$contextual] = allowedTo($perm . '_any') || ($context['user']['started'] && allowedTo($perm . '_own'));
1313
+	}
1272 1314
 
1273 1315
 	if (!$user_info['is_admin'] && $context['can_move'] && !$modSettings['topic_move_any'])
1274 1316
 	{
@@ -1314,8 +1356,9 @@  discard block
 block discarded – undo
1314 1356
 	// Check if the draft functions are enabled and that they have permission to use them (for quick reply.)
1315 1357
 	$context['drafts_save'] = !empty($modSettings['drafts_post_enabled']) && allowedTo('post_draft') && $context['can_reply'];
1316 1358
 	$context['drafts_autosave'] = !empty($context['drafts_save']) && !empty($modSettings['drafts_autosave_enabled']);
1317
-	if (!empty($context['drafts_save']))
1318
-		loadLanguage('Drafts');
1359
+	if (!empty($context['drafts_save'])) {
1360
+			loadLanguage('Drafts');
1361
+	}
1319 1362
 
1320 1363
 	// When was the last time this topic was replied to?  Should we warn them about it?
1321 1364
 	if (!empty($modSettings['oldTopicDays']) && ($context['can_reply'] || $context['can_reply_unapproved']) && empty($context['topicinfo']['is_sticky']))
@@ -1376,26 +1419,31 @@  discard block
 block discarded – undo
1376 1419
 	// Message icons - customized icons are off?
1377 1420
 	$context['icons'] = getMessageIcons($board);
1378 1421
 
1379
-	if (!empty($context['icons']))
1380
-		$context['icons'][count($context['icons']) - 1]['is_last'] = true;
1422
+	if (!empty($context['icons'])) {
1423
+			$context['icons'][count($context['icons']) - 1]['is_last'] = true;
1424
+	}
1381 1425
 
1382 1426
 	// Build the normal button array.
1383 1427
 	$context['normal_buttons'] = array();
1384 1428
 
1385
-	if ($context['can_reply'])
1386
-		$context['normal_buttons']['reply'] = array('text' => 'reply', 'image' => 'reply.png', 'url' => $scripturl . '?action=post;topic=' . $context['current_topic'] . '.' . $context['start'] . ';last_msg=' . $context['topic_last_message'], 'active' => true);
1429
+	if ($context['can_reply']) {
1430
+			$context['normal_buttons']['reply'] = array('text' => 'reply', 'image' => 'reply.png', 'url' => $scripturl . '?action=post;topic=' . $context['current_topic'] . '.' . $context['start'] . ';last_msg=' . $context['topic_last_message'], 'active' => true);
1431
+	}
1387 1432
 
1388
-	if ($context['can_add_poll'])
1389
-		$context['normal_buttons']['add_poll'] = array('text' => 'add_poll', 'image' => 'add_poll.png', 'url' => $scripturl . '?action=editpoll;add;topic=' . $context['current_topic'] . '.' . $context['start']);
1433
+	if ($context['can_add_poll']) {
1434
+			$context['normal_buttons']['add_poll'] = array('text' => 'add_poll', 'image' => 'add_poll.png', 'url' => $scripturl . '?action=editpoll;add;topic=' . $context['current_topic'] . '.' . $context['start']);
1435
+	}
1390 1436
 
1391
-	if ($context['can_mark_unread'])
1392
-		$context['normal_buttons']['mark_unread'] = array('text' => 'mark_unread', 'image' => 'markunread.png', 'url' => $scripturl . '?action=markasread;sa=topic;t=' . $context['mark_unread_time'] . ';topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1437
+	if ($context['can_mark_unread']) {
1438
+			$context['normal_buttons']['mark_unread'] = array('text' => 'mark_unread', 'image' => 'markunread.png', 'url' => $scripturl . '?action=markasread;sa=topic;t=' . $context['mark_unread_time'] . ';topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1439
+	}
1393 1440
 
1394
-	if ($context['can_print'])
1395
-		$context['normal_buttons']['print'] = array('text' => 'print', 'image' => 'print.png', 'custom' => 'rel="nofollow"', 'url' => $scripturl . '?action=printpage;topic=' . $context['current_topic'] . '.0');
1441
+	if ($context['can_print']) {
1442
+			$context['normal_buttons']['print'] = array('text' => 'print', 'image' => 'print.png', 'custom' => 'rel="nofollow"', 'url' => $scripturl . '?action=printpage;topic=' . $context['current_topic'] . '.0');
1443
+	}
1396 1444
 
1397
-	if ($context['can_set_notify'])
1398
-		$context['normal_buttons']['notify'] = array(
1445
+	if ($context['can_set_notify']) {
1446
+			$context['normal_buttons']['notify'] = array(
1399 1447
 			'text' => 'notify_topic_' . $context['topic_notification_mode'],
1400 1448
 			'sub_buttons' => array(
1401 1449
 				array(
@@ -1417,38 +1465,47 @@  discard block
 block discarded – undo
1417 1465
 				),
1418 1466
 			),
1419 1467
 		);
1468
+	}
1420 1469
 
1421 1470
 	// Build the mod button array
1422 1471
 	$context['mod_buttons'] = array();
1423 1472
 
1424
-	if ($context['can_move'])
1425
-		$context['mod_buttons']['move'] = array('text' => 'move_topic', 'image' => 'admin_move.png', 'url' => $scripturl . '?action=movetopic;current_board=' . $context['current_board'] . ';topic=' . $context['current_topic'] . '.0');
1473
+	if ($context['can_move']) {
1474
+			$context['mod_buttons']['move'] = array('text' => 'move_topic', 'image' => 'admin_move.png', 'url' => $scripturl . '?action=movetopic;current_board=' . $context['current_board'] . ';topic=' . $context['current_topic'] . '.0');
1475
+	}
1426 1476
 
1427
-	if ($context['can_delete'])
1428
-		$context['mod_buttons']['delete'] = array('text' => 'remove_topic', 'image' => 'admin_rem.png', 'custom' => 'data-confirm="' . $txt['are_sure_remove_topic'] . '"', 'class' => 'you_sure', 'url' => $scripturl . '?action=removetopic2;topic=' . $context['current_topic'] . '.0;' . $context['session_var'] . '=' . $context['session_id']);
1477
+	if ($context['can_delete']) {
1478
+			$context['mod_buttons']['delete'] = array('text' => 'remove_topic', 'image' => 'admin_rem.png', 'custom' => 'data-confirm="' . $txt['are_sure_remove_topic'] . '"', 'class' => 'you_sure', 'url' => $scripturl . '?action=removetopic2;topic=' . $context['current_topic'] . '.0;' . $context['session_var'] . '=' . $context['session_id']);
1479
+	}
1429 1480
 
1430
-	if ($context['can_lock'])
1431
-		$context['mod_buttons']['lock'] = array('text' => empty($context['is_locked']) ? 'set_lock' : 'set_unlock', 'image' => 'admin_lock.png', 'url' => $scripturl . '?action=lock;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1481
+	if ($context['can_lock']) {
1482
+			$context['mod_buttons']['lock'] = array('text' => empty($context['is_locked']) ? 'set_lock' : 'set_unlock', 'image' => 'admin_lock.png', 'url' => $scripturl . '?action=lock;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1483
+	}
1432 1484
 
1433
-	if ($context['can_sticky'])
1434
-		$context['mod_buttons']['sticky'] = array('text' => empty($context['is_sticky']) ? 'set_sticky' : 'set_nonsticky', 'image' => 'admin_sticky.png', 'url' => $scripturl . '?action=sticky;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1485
+	if ($context['can_sticky']) {
1486
+			$context['mod_buttons']['sticky'] = array('text' => empty($context['is_sticky']) ? 'set_sticky' : 'set_nonsticky', 'image' => 'admin_sticky.png', 'url' => $scripturl . '?action=sticky;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1487
+	}
1435 1488
 
1436
-	if ($context['can_merge'])
1437
-		$context['mod_buttons']['merge'] = array('text' => 'merge', 'image' => 'merge.png', 'url' => $scripturl . '?action=mergetopics;board=' . $context['current_board'] . '.0;from=' . $context['current_topic']);
1489
+	if ($context['can_merge']) {
1490
+			$context['mod_buttons']['merge'] = array('text' => 'merge', 'image' => 'merge.png', 'url' => $scripturl . '?action=mergetopics;board=' . $context['current_board'] . '.0;from=' . $context['current_topic']);
1491
+	}
1438 1492
 
1439
-	if ($context['calendar_post'])
1440
-		$context['mod_buttons']['calendar'] = array('text' => 'calendar_link', 'image' => 'linktocal.png', 'url' => $scripturl . '?action=post;calendar;msg=' . $context['topic_first_message'] . ';topic=' . $context['current_topic'] . '.0');
1493
+	if ($context['calendar_post']) {
1494
+			$context['mod_buttons']['calendar'] = array('text' => 'calendar_link', 'image' => 'linktocal.png', 'url' => $scripturl . '?action=post;calendar;msg=' . $context['topic_first_message'] . ';topic=' . $context['current_topic'] . '.0');
1495
+	}
1441 1496
 
1442 1497
 	// Restore topic. eh?  No monkey business.
1443
-	if ($context['can_restore_topic'])
1444
-		$context['mod_buttons']['restore_topic'] = array('text' => 'restore_topic', 'image' => '', 'url' => $scripturl . '?action=restoretopic;topics=' . $context['current_topic'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1498
+	if ($context['can_restore_topic']) {
1499
+			$context['mod_buttons']['restore_topic'] = array('text' => 'restore_topic', 'image' => '', 'url' => $scripturl . '?action=restoretopic;topics=' . $context['current_topic'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1500
+	}
1445 1501
 
1446 1502
 	// Show a message in case a recently posted message became unapproved.
1447 1503
 	$context['becomesUnapproved'] = !empty($_SESSION['becomesUnapproved']) ? true : false;
1448 1504
 
1449 1505
 	// Don't want to show this forever...
1450
-	if ($context['becomesUnapproved'])
1451
-		unset($_SESSION['becomesUnapproved']);
1506
+	if ($context['becomesUnapproved']) {
1507
+			unset($_SESSION['becomesUnapproved']);
1508
+	}
1452 1509
 
1453 1510
 	// Allow adding new mod buttons easily.
1454 1511
 	// Note: $context['normal_buttons'] and $context['mod_buttons'] are added for backward compatibility with 2.0, but are deprecated and should not be used
@@ -1457,12 +1514,14 @@  discard block
 block discarded – undo
1457 1514
 	call_integration_hook('integrate_mod_buttons', array(&$context['mod_buttons']));
1458 1515
 
1459 1516
 	// Load the drafts js file
1460
-	if ($context['drafts_autosave'])
1461
-		loadJavaScriptFile('drafts.js', array('defer' => false), 'smf_drafts');
1517
+	if ($context['drafts_autosave']) {
1518
+			loadJavaScriptFile('drafts.js', array('defer' => false), 'smf_drafts');
1519
+	}
1462 1520
 
1463 1521
 	// Spellcheck
1464
-	if ($context['show_spellchecking'])
1465
-		loadJavaScriptFile('spellcheck.js', array('defer' => false), 'smf_spellcheck');
1522
+	if ($context['show_spellchecking']) {
1523
+			loadJavaScriptFile('spellcheck.js', array('defer' => false), 'smf_spellcheck');
1524
+	}
1466 1525
 
1467 1526
 	// topic.js
1468 1527
 	loadJavaScriptFile('topic.js', array('defer' => false), 'smf_topic');
@@ -1496,16 +1555,19 @@  discard block
 block discarded – undo
1496 1555
 	static $counter = null;
1497 1556
 
1498 1557
 	// If the query returned false, bail.
1499
-	if ($messages_request == false)
1500
-		return false;
1558
+	if ($messages_request == false) {
1559
+			return false;
1560
+	}
1501 1561
 
1502 1562
 	// Remember which message this is.  (ie. reply #83)
1503
-	if ($counter === null || $reset)
1504
-		$counter = empty($options['view_newest_first']) ? $context['start'] : $context['total_visible_posts'] - $context['start'];
1563
+	if ($counter === null || $reset) {
1564
+			$counter = empty($options['view_newest_first']) ? $context['start'] : $context['total_visible_posts'] - $context['start'];
1565
+	}
1505 1566
 
1506 1567
 	// Start from the beginning...
1507
-	if ($reset)
1508
-		return @$smcFunc['db_data_seek']($messages_request, 0);
1568
+	if ($reset) {
1569
+			return @$smcFunc['db_data_seek']($messages_request, 0);
1570
+	}
1509 1571
 
1510 1572
 	// Attempt to get the next message.
1511 1573
 	$message = $smcFunc['db_fetch_assoc']($messages_request);
@@ -1519,19 +1581,21 @@  discard block
 block discarded – undo
1519 1581
 	if (empty($context['icon_sources']))
1520 1582
 	{
1521 1583
 		$context['icon_sources'] = array();
1522
-		foreach ($context['stable_icons'] as $icon)
1523
-			$context['icon_sources'][$icon] = 'images_url';
1584
+		foreach ($context['stable_icons'] as $icon) {
1585
+					$context['icon_sources'][$icon] = 'images_url';
1586
+		}
1524 1587
 	}
1525 1588
 
1526 1589
 	// Message Icon Management... check the images exist.
1527 1590
 	if (empty($modSettings['messageIconChecks_disable']))
1528 1591
 	{
1529 1592
 		// If the current icon isn't known, then we need to do something...
1530
-		if (!isset($context['icon_sources'][$message['icon']]))
1531
-			$context['icon_sources'][$message['icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $message['icon'] . '.png') ? 'images_url' : 'default_images_url';
1593
+		if (!isset($context['icon_sources'][$message['icon']])) {
1594
+					$context['icon_sources'][$message['icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $message['icon'] . '.png') ? 'images_url' : 'default_images_url';
1595
+		}
1596
+	} elseif (!isset($context['icon_sources'][$message['icon']])) {
1597
+			$context['icon_sources'][$message['icon']] = 'images_url';
1532 1598
 	}
1533
-	elseif (!isset($context['icon_sources'][$message['icon']]))
1534
-		$context['icon_sources'][$message['icon']] = 'images_url';
1535 1599
 
1536 1600
 	// If you're a lazy bum, you probably didn't give a subject...
1537 1601
 	$message['subject'] = $message['subject'] != '' ? $message['subject'] : $txt['no_subject'];
@@ -1556,8 +1620,7 @@  discard block
 block discarded – undo
1556 1620
 		$memberContext[$message['id_member']]['email'] = $message['poster_email'];
1557 1621
 		$memberContext[$message['id_member']]['show_email'] = allowedTo('moderate_forum');
1558 1622
 		$memberContext[$message['id_member']]['is_guest'] = true;
1559
-	}
1560
-	else
1623
+	} else
1561 1624
 	{
1562 1625
 		// Define this here to make things a bit more readable
1563 1626
 		$can_view_warning = $context['user']['can_mod'] || allowedTo('view_warning_any') || ($message['id_member'] == $user_info['id'] && allowedTo('view_warning_own'));
@@ -1580,8 +1643,9 @@  discard block
 block discarded – undo
1580 1643
 	$message['body'] = parse_bbc($message['body'], $message['smileys_enabled'], $message['id_msg']);
1581 1644
 
1582 1645
 	// If it's in the recycle bin we need to override whatever icon we did have.
1583
-	if (!empty($board_info['recycle']))
1584
-		$message['icon'] = 'recycled';
1646
+	if (!empty($board_info['recycle'])) {
1647
+			$message['icon'] = 'recycled';
1648
+	}
1585 1649
 
1586 1650
 	require_once($sourcedir . '/Subs-Attachments.php');
1587 1651
 
@@ -1625,32 +1689,36 @@  discard block
 block discarded – undo
1625 1689
 	}
1626 1690
 
1627 1691
 	// Are likes enable?
1628
-	if (!empty($modSettings['enable_likes']))
1629
-		$output['likes'] = array(
1692
+	if (!empty($modSettings['enable_likes'])) {
1693
+			$output['likes'] = array(
1630 1694
 			'count' => $message['likes'],
1631 1695
 			'you' => in_array($message['id_msg'], $context['my_likes']),
1632 1696
 			'can_like' => !$context['user']['is_guest'] && $message['id_member'] != $context['user']['id'] && !empty($context['can_like']),
1633 1697
 		);
1698
+	}
1634 1699
 
1635 1700
 	// Is this user the message author?
1636 1701
 	$output['is_message_author'] = $message['id_member'] == $user_info['id'];
1637
-	if (!empty($output['modified']['name']))
1638
-		$output['modified']['last_edit_text'] = sprintf($txt['last_edit_by'], $output['modified']['time'], $output['modified']['name']);
1702
+	if (!empty($output['modified']['name'])) {
1703
+			$output['modified']['last_edit_text'] = sprintf($txt['last_edit_by'], $output['modified']['time'], $output['modified']['name']);
1704
+	}
1639 1705
 
1640 1706
 	// Did they give a reason for editing?
1641
-	if (!empty($output['modified']['name']) && !empty($output['modified']['reason']))
1642
-		$output['modified']['last_edit_text'] .= '&nbsp;' . sprintf($txt['last_edit_reason'], $output['modified']['reason']);
1707
+	if (!empty($output['modified']['name']) && !empty($output['modified']['reason'])) {
1708
+			$output['modified']['last_edit_text'] .= '&nbsp;' . sprintf($txt['last_edit_reason'], $output['modified']['reason']);
1709
+	}
1643 1710
 
1644 1711
 	// Any custom profile fields?
1645
-	if (!empty($memberContext[$message['id_member']]['custom_fields']))
1646
-		foreach ($memberContext[$message['id_member']]['custom_fields'] as $custom)
1712
+	if (!empty($memberContext[$message['id_member']]['custom_fields'])) {
1713
+			foreach ($memberContext[$message['id_member']]['custom_fields'] as $custom)
1647 1714
 			$output['custom_fields'][$context['cust_profile_fields_placement'][$custom['placement']]][] = $custom;
1715
+	}
1648 1716
 
1649
-	if (empty($options['view_newest_first']))
1650
-		$counter++;
1651
-
1652
-	else
1653
-		$counter--;
1717
+	if (empty($options['view_newest_first'])) {
1718
+			$counter++;
1719
+	} else {
1720
+			$counter--;
1721
+	}
1654 1722
 
1655 1723
 	call_integration_hook('integrate_prepare_display_context', array(&$output, &$message, $counter));
1656 1724
 
@@ -1676,8 +1744,9 @@  discard block
 block discarded – undo
1676 1744
  */
1677 1745
 function approved_attach_sort($a, $b)
1678 1746
 {
1679
-	if ($a['is_approved'] == $b['is_approved'])
1680
-		return 0;
1747
+	if ($a['is_approved'] == $b['is_approved']) {
1748
+			return 0;
1749
+	}
1681 1750
 
1682 1751
 	return $a['is_approved'] > $b['is_approved'] ? -1 : 1;
1683 1752
 }
@@ -1694,16 +1763,19 @@  discard block
 block discarded – undo
1694 1763
 
1695 1764
 	require_once($sourcedir . '/RemoveTopic.php');
1696 1765
 
1697
-	if (empty($_REQUEST['msgs']))
1698
-		redirectexit('topic=' . $topic . '.' . $_REQUEST['start']);
1766
+	if (empty($_REQUEST['msgs'])) {
1767
+			redirectexit('topic=' . $topic . '.' . $_REQUEST['start']);
1768
+	}
1699 1769
 
1700 1770
 	$messages = array();
1701
-	foreach ($_REQUEST['msgs'] as $dummy)
1702
-		$messages[] = (int) $dummy;
1771
+	foreach ($_REQUEST['msgs'] as $dummy) {
1772
+			$messages[] = (int) $dummy;
1773
+	}
1703 1774
 
1704 1775
 	// We are restoring messages. We handle this in another place.
1705
-	if (isset($_REQUEST['restore_selected']))
1706
-		redirectexit('action=restoretopic;msgs=' . implode(',', $messages) . ';' . $context['session_var'] . '=' . $context['session_id']);
1776
+	if (isset($_REQUEST['restore_selected'])) {
1777
+			redirectexit('action=restoretopic;msgs=' . implode(',', $messages) . ';' . $context['session_var'] . '=' . $context['session_id']);
1778
+	}
1707 1779
 	if (isset($_REQUEST['split_selection']))
1708 1780
 	{
1709 1781
 		$request = $smcFunc['db_query']('', '
@@ -1722,8 +1794,9 @@  discard block
 block discarded – undo
1722 1794
 	}
1723 1795
 
1724 1796
 	// Allowed to delete any message?
1725
-	if (allowedTo('delete_any'))
1726
-		$allowed_all = true;
1797
+	if (allowedTo('delete_any')) {
1798
+			$allowed_all = true;
1799
+	}
1727 1800
 	// Allowed to delete replies to their messages?
1728 1801
 	elseif (allowedTo('delete_replies'))
1729 1802
 	{
@@ -1740,13 +1813,14 @@  discard block
 block discarded – undo
1740 1813
 		$smcFunc['db_free_result']($request);
1741 1814
 
1742 1815
 		$allowed_all = $starter == $user_info['id'];
1816
+	} else {
1817
+			$allowed_all = false;
1743 1818
 	}
1744
-	else
1745
-		$allowed_all = false;
1746 1819
 
1747 1820
 	// Make sure they're allowed to delete their own messages, if not any.
1748
-	if (!$allowed_all)
1749
-		isAllowedTo('delete_own');
1821
+	if (!$allowed_all) {
1822
+			isAllowedTo('delete_own');
1823
+	}
1750 1824
 
1751 1825
 	// Allowed to remove which messages?
1752 1826
 	$request = $smcFunc['db_query']('', '
@@ -1766,8 +1840,9 @@  discard block
 block discarded – undo
1766 1840
 	$messages = array();
1767 1841
 	while ($row = $smcFunc['db_fetch_assoc']($request))
1768 1842
 	{
1769
-		if (!$allowed_all && !empty($modSettings['edit_disable_time']) && $row['poster_time'] + $modSettings['edit_disable_time'] * 60 < time())
1770
-			continue;
1843
+		if (!$allowed_all && !empty($modSettings['edit_disable_time']) && $row['poster_time'] + $modSettings['edit_disable_time'] * 60 < time()) {
1844
+					continue;
1845
+		}
1771 1846
 
1772 1847
 		$messages[$row['id_msg']] = array($row['subject'], $row['id_member']);
1773 1848
 	}
@@ -1790,17 +1865,20 @@  discard block
 block discarded – undo
1790 1865
 	foreach ($messages as $message => $info)
1791 1866
 	{
1792 1867
 		// Just skip the first message - if it's not the last.
1793
-		if ($message == $first_message && $message != $last_message)
1794
-			continue;
1868
+		if ($message == $first_message && $message != $last_message) {
1869
+					continue;
1870
+		}
1795 1871
 		// If the first message is going then don't bother going back to the topic as we're effectively deleting it.
1796
-		elseif ($message == $first_message)
1797
-			$topicGone = true;
1872
+		elseif ($message == $first_message) {
1873
+					$topicGone = true;
1874
+		}
1798 1875
 
1799 1876
 		removeMessage($message);
1800 1877
 
1801 1878
 		// Log this moderation action ;).
1802
-		if (allowedTo('delete_any') && (!allowedTo('delete_own') || $info[1] != $user_info['id']))
1803
-			logAction('delete', array('topic' => $topic, 'subject' => $info[0], 'member' => $info[1], 'board' => $board));
1879
+		if (allowedTo('delete_any') && (!allowedTo('delete_own') || $info[1] != $user_info['id'])) {
1880
+					logAction('delete', array('topic' => $topic, 'subject' => $info[0], 'member' => $info[1], 'board' => $board));
1881
+		}
1804 1882
 	}
1805 1883
 
1806 1884
 	redirectexit(!empty($topicGone) ? 'board=' . $board : 'topic=' . $topic . '.' . $_REQUEST['start']);
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.
Themes/default/Errors.template.php 1 patch
Braces   +24 added lines, -17 removed lines patch added patch discarded remove patch
@@ -23,15 +23,15 @@  discard block
 block discarded – undo
23 23
 {
24 24
 	global $context, $txt;
25 25
 
26
-	if (!empty($context['simple_action']))
27
-		echo '
26
+	if (!empty($context['simple_action'])) {
27
+			echo '
28 28
 	<strong>
29 29
 		', $context['error_title'], '
30 30
 	</strong><br>
31 31
 	<div ', $context['error_code'], 'class="padding">
32 32
 		', $context['error_message'], '
33 33
 	</div>';
34
-	else
34
+	} else
35 35
 	{
36 36
 		echo '
37 37
 	<div id="fatal_error">
@@ -85,21 +85,23 @@  discard block
 block discarded – undo
85 85
 
86 86
 	$error_types = array();
87 87
 
88
-	foreach ($context['error_types'] as $type => $details)
89
-		$error_types[] = ($details['is_selected'] ? '<img src="' . $settings['images_url'] . '/selected.png" alt=""> ' : '') . '<a href="' . $details['url'] . '" ' . ($details['is_selected'] ? 'style="font-weight: bold;"' : '') . ' title="' . $details['description'] . '">' . $details['label'] . '</a>';
88
+	foreach ($context['error_types'] as $type => $details) {
89
+			$error_types[] = ($details['is_selected'] ? '<img src="' . $settings['images_url'] . '/selected.png" alt=""> ' : '') . '<a href="' . $details['url'] . '" ' . ($details['is_selected'] ? 'style="font-weight: bold;"' : '') . ' title="' . $details['description'] . '">' . $details['label'] . '</a>';
90
+	}
90 91
 
91 92
 	echo '
92 93
 						', implode(' | ', $error_types), '
93 94
 					</td>
94 95
 				</tr>';
95 96
 
96
-	if ($context['has_filter'])
97
-		echo '
97
+	if ($context['has_filter']) {
98
+			echo '
98 99
 				<tr>
99 100
 					<td colspan="3" class="windowbg">
100 101
 						<strong>', $txt['applying_filter'], ':</strong> ', $context['filter']['entity'], ' ', $context['filter']['value']['html'], ' [<a href="', $scripturl, '?action=admin;area=logs;sa=errorlog', $context['sort_direction'] == 'down' ? ';desc' : '', '">', $txt['clear_filter'], '</a>]
101 102
 					</td>
102 103
 				</tr>';
104
+	}
103 105
 
104 106
 	echo '
105 107
 				<tr>
@@ -110,11 +112,12 @@  discard block
 block discarded – undo
110 112
 				</tr>';
111 113
 
112 114
 	// No errors, then show a message
113
-	if (count($context['errors']) == 0)
114
-		echo '
115
+	if (count($context['errors']) == 0) {
116
+			echo '
115 117
 				<tr class="windowbg">
116 118
 					<td class="centertext" colspan="2">', $txt['errlog_no_entries'], '</td>
117 119
 				</tr>';
120
+	}
118 121
 
119 122
 	// We have some errors, must be some mods installed :P
120 123
 	foreach ($context['errors'] as $error)
@@ -128,16 +131,18 @@  discard block
 block discarded – undo
128 131
 							<a href="', $scripturl, '?action=admin;area=logs;sa=errorlog', $context['sort_direction'] == 'down' ? '' : ';desc', $context['has_filter'] ? $context['filter']['href'] : '', '" title="', $txt['reverse_direction'], '"><span class="generic_icons sort_' . $context['sort_direction'] . '"></span></a>
129 132
 							', $error['time'], '<br>';
130 133
 
131
-		if (!empty($error['member']['ip']))
132
-			echo '
134
+		if (!empty($error['member']['ip'])) {
135
+					echo '
133 136
 							<a href="', $scripturl, '?action=admin;area=logs;sa=errorlog', $context['sort_direction'] == 'down' ? ';desc' : '', ';filter=ip;value=', $error['member']['ip'], '" title="', $txt['apply_filter'], ': ', $txt['filter_only_ip'], '"><span class="generic_icons filter centericon"></span></a>
134 137
 							<strong><a href="', $scripturl, '?action=trackip;searchip=', $error['member']['ip'], '">', $error['member']['ip'], '</a></strong>';
138
+		}
135 139
 		
136
-		if ($error['member']['session'] != '')
137
-			echo '
140
+		if ($error['member']['session'] != '') {
141
+					echo '
138 142
 							<br>
139 143
 							<a href="', $scripturl, '?action=admin;area=logs;sa=errorlog', $context['sort_direction'] == 'down' ? ';desc' : '', ';filter=session;value=', $error['member']['session'], '" title="', $txt['apply_filter'], ': ', $txt['filter_only_session'], '"><span class="generic_icons filter centericon"></span></a>
140 144
 							', $error['member']['session'], '<br>';
145
+		}
141 146
 
142 147
 		echo '
143 148
 						</div>
@@ -152,12 +157,13 @@  discard block
 block discarded – undo
152 157
 							<a href="', $error['url']['html'], '">', $error['url']['html'], '</a>
153 158
 ';
154 159
 
155
-		if (!empty($error['file']))
156
-			echo '
160
+		if (!empty($error['file'])) {
161
+					echo '
157 162
 							<div>
158 163
 								<a href="', $scripturl, '?action=admin;area=logs;sa=errorlog', $context['sort_direction'] == 'down' ? ';desc' : '', ';filter=file;value=', $error['file']['search'], '" title="', $txt['apply_filter'], ': ', $txt['filter_only_file'], '">'
159 164
 				. '					<span class="generic_icons filter"></span></a> ', $error['file']['link'], ' (', $txt['line'], ' ', $error['file']['line'], ')
160 165
 							</div>';
166
+		}
161 167
 
162 168
 		echo '
163 169
 						</div>
@@ -186,9 +192,10 @@  discard block
 block discarded – undo
186 192
 				</div>
187 193
 			</div>';
188 194
 
189
-	if ($context['sort_direction'] == 'down')
190
-		echo '
195
+	if ($context['sort_direction'] == 'down') {
196
+			echo '
191 197
 			<input type="hidden" name="desc" value="1">';
198
+	}
192 199
 
193 200
 	echo '
194 201
 			<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
Please login to merge, or discard this patch.
Sources/Themes.php 1 patch
Braces   +348 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?
@@ -998,8 +1035,9 @@  discard block
 block discarded – undo
998 1035
 		else
999 1036
 		{
1000 1037
 			// The forum's default theme is always 0 and we
1001
-			if (isset($_GET['th']) && $_GET['th'] == 0)
1002
-					$_GET['th'] = $modSettings['theme_guests'];
1038
+			if (isset($_GET['th']) && $_GET['th'] == 0) {
1039
+								$_GET['th'] = $modSettings['theme_guests'];
1040
+			}
1003 1041
 
1004 1042
 			updateMemberData((int) $_REQUEST['u'], array('id_theme' => (int) $_GET['th']));
1005 1043
 
@@ -1013,8 +1051,9 @@  discard block
 block discarded – undo
1013 1051
 				);
1014 1052
 				cache_put_data('theme_settings-' . $_GET['th'] . ':' . (int) $_REQUEST['u'], null, 90);
1015 1053
 
1016
-				if ($user_info['id'] == $_REQUEST['u'])
1017
-					$_SESSION['id_variant'] = 0;
1054
+				if ($user_info['id'] == $_REQUEST['u']) {
1055
+									$_SESSION['id_variant'] = 0;
1056
+				}
1018 1057
 			}
1019 1058
 
1020 1059
 			redirectexit('action=profile;u=' . (int) $_REQUEST['u'] . ';area=theme');
@@ -1083,12 +1122,13 @@  discard block
 block discarded – undo
1083 1122
 		);
1084 1123
 		while ($row = $smcFunc['db_fetch_assoc']($request))
1085 1124
 		{
1086
-			if (!isset($context['available_themes'][$row['id_theme']]))
1087
-				$context['available_themes'][$row['id_theme']] = array(
1125
+			if (!isset($context['available_themes'][$row['id_theme']])) {
1126
+							$context['available_themes'][$row['id_theme']] = array(
1088 1127
 					'id' => $row['id_theme'],
1089 1128
 					'selected' => $context['current_theme'] == $row['id_theme'],
1090 1129
 					'num_users' => 0
1091 1130
 				);
1131
+			}
1092 1132
 			$context['available_themes'][$row['id_theme']][$row['variable']] = $row['value'];
1093 1133
 		}
1094 1134
 		$smcFunc['db_free_result']($request);
@@ -1101,9 +1141,9 @@  discard block
 block discarded – undo
1101 1141
 			'num_users' => 0
1102 1142
 		);
1103 1143
 		$guest_theme = 0;
1144
+	} else {
1145
+			$guest_theme = $modSettings['theme_guests'];
1104 1146
 	}
1105
-	else
1106
-		$guest_theme = $modSettings['theme_guests'];
1107 1147
 
1108 1148
 	$request = $smcFunc['db_query']('', '
1109 1149
 		SELECT id_theme, COUNT(*) AS the_count
@@ -1116,15 +1156,17 @@  discard block
 block discarded – undo
1116 1156
 	while ($row = $smcFunc['db_fetch_assoc']($request))
1117 1157
 	{
1118 1158
 		// Figure out which theme it is they are REALLY using.
1119
-		if (!empty($modSettings['knownThemes']) && !in_array($row['id_theme'], explode(',', $modSettings['knownThemes'])))
1120
-			$row['id_theme'] = $guest_theme;
1121
-		elseif (empty($modSettings['theme_allow']))
1122
-			$row['id_theme'] = $guest_theme;
1159
+		if (!empty($modSettings['knownThemes']) && !in_array($row['id_theme'], explode(',', $modSettings['knownThemes']))) {
1160
+					$row['id_theme'] = $guest_theme;
1161
+		} elseif (empty($modSettings['theme_allow'])) {
1162
+					$row['id_theme'] = $guest_theme;
1163
+		}
1123 1164
 
1124
-		if (isset($context['available_themes'][$row['id_theme']]))
1125
-			$context['available_themes'][$row['id_theme']]['num_users'] += $row['the_count'];
1126
-		else
1127
-			$context['available_themes'][$guest_theme]['num_users'] += $row['the_count'];
1165
+		if (isset($context['available_themes'][$row['id_theme']])) {
1166
+					$context['available_themes'][$row['id_theme']]['num_users'] += $row['the_count'];
1167
+		} else {
1168
+					$context['available_themes'][$guest_theme]['num_users'] += $row['the_count'];
1169
+		}
1128 1170
 	}
1129 1171
 	$smcFunc['db_free_result']($request);
1130 1172
 
@@ -1143,8 +1185,9 @@  discard block
 block discarded – undo
1143 1185
 				'id_member' => isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' ? array(-1, $context['current_member']) : array(-1),
1144 1186
 			)
1145 1187
 		);
1146
-		while ($row = $smcFunc['db_fetch_assoc']($request))
1147
-			$variant_preferences[$row['id_theme']] = $row['value'];
1188
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
1189
+					$variant_preferences[$row['id_theme']] = $row['value'];
1190
+		}
1148 1191
 		$smcFunc['db_free_result']($request);
1149 1192
 	}
1150 1193
 
@@ -1155,17 +1198,18 @@  discard block
 block discarded – undo
1155 1198
 	foreach ($context['available_themes'] as $id_theme => $theme_data)
1156 1199
 	{
1157 1200
 		// Don't try to load the forum or board default theme's data... it doesn't have any!
1158
-		if ($id_theme == 0)
1159
-			continue;
1201
+		if ($id_theme == 0) {
1202
+					continue;
1203
+		}
1160 1204
 
1161 1205
 		// The thumbnail needs the correct path.
1162 1206
 		$settings['images_url'] = &$theme_data['images_url'];
1163 1207
 
1164
-		if (file_exists($theme_data['theme_dir'] . '/languages/Settings.' . $user_info['language'] . '.php'))
1165
-			include($theme_data['theme_dir'] . '/languages/Settings.' . $user_info['language'] . '.php');
1166
-		elseif (file_exists($theme_data['theme_dir'] . '/languages/Settings.' . $language . '.php'))
1167
-			include($theme_data['theme_dir'] . '/languages/Settings.' . $language . '.php');
1168
-		else
1208
+		if (file_exists($theme_data['theme_dir'] . '/languages/Settings.' . $user_info['language'] . '.php')) {
1209
+					include($theme_data['theme_dir'] . '/languages/Settings.' . $user_info['language'] . '.php');
1210
+		} elseif (file_exists($theme_data['theme_dir'] . '/languages/Settings.' . $language . '.php')) {
1211
+					include($theme_data['theme_dir'] . '/languages/Settings.' . $language . '.php');
1212
+		} else
1169 1213
 		{
1170 1214
 			$txt['theme_thumbnail_href'] = $theme_data['images_url'] . '/thumbnail.png';
1171 1215
 			$txt['theme_description'] = '';
@@ -1190,15 +1234,17 @@  discard block
 block discarded – undo
1190 1234
 					loadLanguage('Settings');
1191 1235
 
1192 1236
 					$context['available_themes'][$id_theme]['variants'] = array();
1193
-					foreach ($settings['theme_variants'] as $variant)
1194
-						$context['available_themes'][$id_theme]['variants'][$variant] = array(
1237
+					foreach ($settings['theme_variants'] as $variant) {
1238
+											$context['available_themes'][$id_theme]['variants'][$variant] = array(
1195 1239
 							'label' => isset($txt['variant_' . $variant]) ? $txt['variant_' . $variant] : $variant,
1196 1240
 							'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'),
1197 1241
 						);
1242
+					}
1198 1243
 
1199 1244
 					$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]));
1200
-					if (!isset($context['available_themes'][$id_theme]['variants'][$context['available_themes'][$id_theme]['selected_variant']]['thumbnail']))
1201
-						$context['available_themes'][$id_theme]['selected_variant'] = $settings['theme_variants'][0];
1245
+					if (!isset($context['available_themes'][$id_theme]['variants'][$context['available_themes'][$id_theme]['selected_variant']]['thumbnail'])) {
1246
+											$context['available_themes'][$id_theme]['selected_variant'] = $settings['theme_variants'][0];
1247
+					}
1202 1248
 
1203 1249
 					$context['available_themes'][$id_theme]['thumbnail_href'] = $context['available_themes'][$id_theme]['variants'][$context['available_themes'][$id_theme]['selected_variant']]['thumbnail'];
1204 1250
 					// Allow themes to override the text.
@@ -1214,8 +1260,9 @@  discard block
 block discarded – undo
1214 1260
 	// As long as we're not doing the default theme...
1215 1261
 	if (!isset($_REQUEST['u']) || $_REQUEST['u'] >= 0)
1216 1262
 	{
1217
-		if ($guest_theme != 0)
1218
-			$context['available_themes'][0] = $context['available_themes'][$guest_theme];
1263
+		if ($guest_theme != 0) {
1264
+					$context['available_themes'][0] = $context['available_themes'][$guest_theme];
1265
+		}
1219 1266
 
1220 1267
 		$context['available_themes'][0]['id'] = 0;
1221 1268
 		$context['available_themes'][0]['name'] = $txt['theme_forum_default'];
@@ -1264,14 +1311,16 @@  discard block
 block discarded – undo
1264 1311
 		$action = $smcFunc['htmlspecialchars'](trim($_GET['do']));
1265 1312
 
1266 1313
 		// Got any info from the specific form?
1267
-		if (!isset($_POST['save_' . $action]))
1268
-			fatal_lang_error('theme_install_no_action', false);
1314
+		if (!isset($_POST['save_' . $action])) {
1315
+					fatal_lang_error('theme_install_no_action', false);
1316
+		}
1269 1317
 
1270 1318
 		validateToken('admin-t-' . $action);
1271 1319
 
1272 1320
 		// Hopefully the themes directory is writable, or we might have a problem.
1273
-		if (!is_writable($themedir))
1274
-			fatal_lang_error('theme_install_write_error', 'critical');
1321
+		if (!is_writable($themedir)) {
1322
+					fatal_lang_error('theme_install_write_error', 'critical');
1323
+		}
1275 1324
 
1276 1325
 		// Call the function and handle the result.
1277 1326
 		$result = $subActions[$action]();
@@ -1286,9 +1335,10 @@  discard block
 block discarded – undo
1286 1335
 	}
1287 1336
 
1288 1337
 	// Nope, show a nice error.
1289
-	else
1290
-		fatal_lang_error('theme_install_no_action', false);
1291
-}
1338
+	else {
1339
+			fatal_lang_error('theme_install_no_action', false);
1340
+	}
1341
+	}
1292 1342
 
1293 1343
 /**
1294 1344
  * Installs a theme from a theme package.
@@ -1304,8 +1354,9 @@  discard block
 block discarded – undo
1304 1354
 	$dirtemp = $themedir . '/temp';
1305 1355
 
1306 1356
 	// Make sure the temp dir doesn't already exist
1307
-	if (file_exists($dirtemp))
1308
-		remove_dir($dirtemp);
1357
+	if (file_exists($dirtemp)) {
1358
+			remove_dir($dirtemp);
1359
+	}
1309 1360
 
1310 1361
 	// Create the temp dir.
1311 1362
 	mkdir($dirtemp, 0777);
@@ -1317,17 +1368,20 @@  discard block
 block discarded – undo
1317 1368
 		smf_chmod($dirtemp, '0755');
1318 1369
 
1319 1370
 		// How about now?
1320
-		if (!is_writable($dirtemp))
1321
-			fatal_lang_error('theme_install_write_error', 'critical');
1371
+		if (!is_writable($dirtemp)) {
1372
+					fatal_lang_error('theme_install_write_error', 'critical');
1373
+		}
1322 1374
 	}
1323 1375
 
1324 1376
 	// This happens when the admin session is gone and the user has to login again.
1325
-	if (!isset($_FILES) || !isset($_FILES['theme_gz']) || empty($_FILES['theme_gz']))
1326
-		redirectexit('action=admin;area=theme;sa=admin;' . $context['session_var'] . '=' . $context['session_id']);
1377
+	if (!isset($_FILES) || !isset($_FILES['theme_gz']) || empty($_FILES['theme_gz'])) {
1378
+			redirectexit('action=admin;area=theme;sa=admin;' . $context['session_var'] . '=' . $context['session_id']);
1379
+	}
1327 1380
 
1328 1381
 	// Another error check layer, something went wrong with the upload.
1329
-	if (isset($_FILES['theme_gz']['error']) && $_FILES['theme_gz']['error'] != 0)
1330
-		fatal_lang_error('theme_install_error_file_' . $_FILES['theme_gz']['error'], false);
1382
+	if (isset($_FILES['theme_gz']['error']) && $_FILES['theme_gz']['error'] != 0) {
1383
+			fatal_lang_error('theme_install_error_file_' . $_FILES['theme_gz']['error'], false);
1384
+	}
1331 1385
 
1332 1386
 	// Get the theme's name.
1333 1387
 	$name = pathinfo($_FILES['theme_gz']['name'], PATHINFO_FILENAME);
@@ -1358,11 +1412,10 @@  discard block
 block discarded – undo
1358 1412
 
1359 1413
 		// return all the info.
1360 1414
 		return $context['to_install'];
1415
+	} else {
1416
+			fatal_lang_error('theme_install_error_title', false);
1417
+	}
1361 1418
 	}
1362
-
1363
-	else
1364
-		fatal_lang_error('theme_install_error_title', false);
1365
-}
1366 1419
 
1367 1420
 /**
1368 1421
  * Makes a copy from the default theme, assigns a name for it and installs it.
@@ -1376,15 +1429,17 @@  discard block
 block discarded – undo
1376 1429
 	global $forum_version;
1377 1430
 
1378 1431
 	// There's gotta be something to work with.
1379
-	if (!isset($_REQUEST['copy']) || empty($_REQUEST['copy']))
1380
-		fatal_lang_error('theme_install_error_title', false);
1432
+	if (!isset($_REQUEST['copy']) || empty($_REQUEST['copy'])) {
1433
+			fatal_lang_error('theme_install_error_title', false);
1434
+	}
1381 1435
 
1382 1436
 	// Get a cleaner version.
1383 1437
 	$name = preg_replace('~[^A-Za-z0-9_\- ]~', '', $_REQUEST['copy']);
1384 1438
 
1385 1439
 	// Is there a theme already named like this?
1386
-	if (file_exists($themedir . '/' . $name))
1387
-		fatal_lang_error('theme_install_already_dir', false);
1440
+	if (file_exists($themedir . '/' . $name)) {
1441
+			fatal_lang_error('theme_install_already_dir', false);
1442
+	}
1388 1443
 
1389 1444
 	// This is a brand new theme so set all possible values.
1390 1445
 	$context['to_install'] = array(
@@ -1404,8 +1459,9 @@  discard block
 block discarded – undo
1404 1459
 
1405 1460
 	// Buy some time.
1406 1461
 	@set_time_limit(600);
1407
-	if (function_exists('apache_reset_timeout'))
1408
-		@apache_reset_timeout();
1462
+	if (function_exists('apache_reset_timeout')) {
1463
+			@apache_reset_timeout();
1464
+	}
1409 1465
 
1410 1466
 	// Create subdirectories for css and javascript files.
1411 1467
 	mkdir($context['to_install']['theme_dir'] . '/css', 0777);
@@ -1441,12 +1497,13 @@  discard block
 block discarded – undo
1441 1497
 
1442 1498
 	while ($row = $smcFunc['db_fetch_assoc']($request))
1443 1499
 	{
1444
-		if ($row['variable'] == 'theme_templates')
1445
-			$theme_templates = $row['value'];
1446
-		elseif ($row['variable'] == 'theme_layers')
1447
-			$theme_layers = $row['value'];
1448
-		else
1449
-			continue;
1500
+		if ($row['variable'] == 'theme_templates') {
1501
+					$theme_templates = $row['value'];
1502
+		} elseif ($row['variable'] == 'theme_layers') {
1503
+					$theme_layers = $row['value'];
1504
+		} else {
1505
+					continue;
1506
+		}
1450 1507
 	}
1451 1508
 
1452 1509
 	$smcFunc['db_free_result']($request);
@@ -1505,12 +1562,14 @@  discard block
 block discarded – undo
1505 1562
 	global $themedir, $themeurl, $context;
1506 1563
 
1507 1564
 	// Cannot use the theme dir as a theme dir.
1508
-	if (!isset($_REQUEST['theme_dir']) || empty($_REQUEST['theme_dir']) || rtrim(realpath($_REQUEST['theme_dir']), '/\\') == realpath($themedir))
1509
-		fatal_lang_error('theme_install_invalid_dir', false);
1565
+	if (!isset($_REQUEST['theme_dir']) || empty($_REQUEST['theme_dir']) || rtrim(realpath($_REQUEST['theme_dir']), '/\\') == realpath($themedir)) {
1566
+			fatal_lang_error('theme_install_invalid_dir', false);
1567
+	}
1510 1568
 
1511 1569
 	// Check is there is "something" on the dir.
1512
-	elseif (!is_dir($_REQUEST['theme_dir']) || !file_exists($_REQUEST['theme_dir'] . '/theme_info.xml'))
1513
-		fatal_lang_error('theme_install_error', false);
1570
+	elseif (!is_dir($_REQUEST['theme_dir']) || !file_exists($_REQUEST['theme_dir'] . '/theme_info.xml')) {
1571
+			fatal_lang_error('theme_install_error', false);
1572
+	}
1514 1573
 
1515 1574
 	$name = basename($_REQUEST['theme_dir']);
1516 1575
 	$name = preg_replace(array('/\s/', '/\.[\.]+/', '/[^\w_\.\-]/'), array('_', '.', ''), $name);
@@ -1554,24 +1613,27 @@  discard block
 block discarded – undo
1554 1613
 	}
1555 1614
 
1556 1615
 	// Any special layers?
1557
-	if (isset($settings['catch_action']['layers']))
1558
-		$context['template_layers'] = $settings['catch_action']['layers'];
1616
+	if (isset($settings['catch_action']['layers'])) {
1617
+			$context['template_layers'] = $settings['catch_action']['layers'];
1618
+	}
1559 1619
 
1560 1620
 	// Any function to call?
1561 1621
 	if (isset($settings['catch_action']['function']))
1562 1622
 	{
1563 1623
 		$hook = $settings['catch_action']['function'];
1564 1624
 
1565
-		if (!isset($settings['catch_action']['filename']))
1566
-			$settings['catch_action']['filename'] = '';
1625
+		if (!isset($settings['catch_action']['filename'])) {
1626
+					$settings['catch_action']['filename'] = '';
1627
+		}
1567 1628
 
1568 1629
 		add_integration_function('integrate_wrap_action', $hook, false, $settings['catch_action']['filename'], false);
1569 1630
 		call_integration_hook('integrate_wrap_action');
1570 1631
 	}
1571 1632
 	// And finally, the main sub template ;).
1572
-	if (isset($settings['catch_action']['sub_template']))
1573
-		$context['sub_template'] = $settings['catch_action']['sub_template'];
1574
-}
1633
+	if (isset($settings['catch_action']['sub_template'])) {
1634
+			$context['sub_template'] = $settings['catch_action']['sub_template'];
1635
+	}
1636
+	}
1575 1637
 
1576 1638
 /**
1577 1639
  * Set an option via javascript.
@@ -1590,12 +1652,14 @@  discard block
 block discarded – undo
1590 1652
 	checkSession('get');
1591 1653
 
1592 1654
 	// This good-for-nothing pixel is being used to keep the session alive.
1593
-	if (empty($_GET['var']) || !isset($_GET['val']))
1594
-		redirectexit($settings['images_url'] . '/blank.png');
1655
+	if (empty($_GET['var']) || !isset($_GET['val'])) {
1656
+			redirectexit($settings['images_url'] . '/blank.png');
1657
+	}
1595 1658
 
1596 1659
 	// Sorry, guests can't go any further than this.
1597
-	if ($user_info['is_guest'] || $user_info['id'] == 0)
1598
-		obExit(false);
1660
+	if ($user_info['is_guest'] || $user_info['id'] == 0) {
1661
+			obExit(false);
1662
+	}
1599 1663
 
1600 1664
 	$reservedVars = array(
1601 1665
 		'actual_theme_url',
@@ -1618,8 +1682,9 @@  discard block
 block discarded – undo
1618 1682
 	);
1619 1683
 
1620 1684
 	// Can't change reserved vars.
1621
-	if (in_array(strtolower($_GET['var']), $reservedVars))
1622
-		redirectexit($settings['images_url'] . '/blank.png');
1685
+	if (in_array(strtolower($_GET['var']), $reservedVars)) {
1686
+			redirectexit($settings['images_url'] . '/blank.png');
1687
+	}
1623 1688
 
1624 1689
 	// Use a specific theme?
1625 1690
 	if (isset($_GET['th']) || isset($_GET['id']))
@@ -1635,8 +1700,9 @@  discard block
 block discarded – undo
1635 1700
 	{
1636 1701
 		$options['admin_preferences'] = !empty($options['admin_preferences']) ? $smcFunc['json_decode']($options['admin_preferences'], true) : array();
1637 1702
 		// New thingy...
1638
-		if (isset($_GET['admin_key']) && strlen($_GET['admin_key']) < 5)
1639
-			$options['admin_preferences'][$_GET['admin_key']] = $_GET['val'];
1703
+		if (isset($_GET['admin_key']) && strlen($_GET['admin_key']) < 5) {
1704
+					$options['admin_preferences'][$_GET['admin_key']] = $_GET['val'];
1705
+		}
1640 1706
 
1641 1707
 		// Change the value to be something nice,
1642 1708
 		$_GET['val'] = $smcFunc['json_encode']($options['admin_preferences']);
@@ -1666,8 +1732,9 @@  discard block
 block discarded – undo
1666 1732
 	global $context, $scripturl, $boarddir, $smcFunc, $txt;
1667 1733
 
1668 1734
 	// @todo Should this be removed?
1669
-	if (isset($_REQUEST['preview']))
1670
-		die('die() with fire');
1735
+	if (isset($_REQUEST['preview'])) {
1736
+			die('die() with fire');
1737
+	}
1671 1738
 
1672 1739
 	isAllowedTo('admin_forum');
1673 1740
 	loadTemplate('Themes');
@@ -1681,11 +1748,11 @@  discard block
 block discarded – undo
1681 1748
 		foreach ($context['themes'] as $key => $theme)
1682 1749
 		{
1683 1750
 			// There has to be a Settings template!
1684
-			if (!file_exists($theme['theme_dir'] . '/index.template.php') && !file_exists($theme['theme_dir'] . '/css/index.css'))
1685
-				unset($context['themes'][$key]);
1686
-
1687
-			else
1688
-				$context['themes'][$key]['can_edit_style'] = file_exists($theme['theme_dir'] . '/css/index.css');
1751
+			if (!file_exists($theme['theme_dir'] . '/index.template.php') && !file_exists($theme['theme_dir'] . '/css/index.css')) {
1752
+							unset($context['themes'][$key]);
1753
+			} else {
1754
+							$context['themes'][$key]['can_edit_style'] = file_exists($theme['theme_dir'] . '/css/index.css');
1755
+			}
1689 1756
 		}
1690 1757
 
1691 1758
 		$context['sub_template'] = 'edit_list';
@@ -1700,22 +1767,24 @@  discard block
 block discarded – undo
1700 1767
 	$context['theme_id'] = $currentTheme['id'];
1701 1768
 	$context['browse_title'] = sprintf($txt['themeadmin_browsing_theme'], $currentTheme['name']);
1702 1769
 
1703
-	if (!file_exists($currentTheme['theme_dir'] . '/index.template.php') && !file_exists($currentTheme['theme_dir'] . '/css/index.css'))
1704
-		fatal_lang_error('theme_edit_missing', false);
1770
+	if (!file_exists($currentTheme['theme_dir'] . '/index.template.php') && !file_exists($currentTheme['theme_dir'] . '/css/index.css')) {
1771
+			fatal_lang_error('theme_edit_missing', false);
1772
+	}
1705 1773
 
1706 1774
 	if (!isset($_REQUEST['filename']))
1707 1775
 	{
1708 1776
 		if (isset($_GET['directory']))
1709 1777
 		{
1710
-			if (substr($_GET['directory'], 0, 1) == '.')
1711
-				$_GET['directory'] = '';
1712
-			else
1778
+			if (substr($_GET['directory'], 0, 1) == '.') {
1779
+							$_GET['directory'] = '';
1780
+			} else
1713 1781
 			{
1714 1782
 				$_GET['directory'] = preg_replace(array('~^[\./\\:\0\n\r]+~', '~[\\\\]~', '~/[\./]+~'), array('', '/', '/'), $_GET['directory']);
1715 1783
 
1716 1784
 				$temp = realpath($currentTheme['theme_dir'] . '/' . $_GET['directory']);
1717
-				if (empty($temp) || substr($temp, 0, strlen(realpath($currentTheme['theme_dir']))) != realpath($currentTheme['theme_dir']))
1718
-					$_GET['directory'] = '';
1785
+				if (empty($temp) || substr($temp, 0, strlen(realpath($currentTheme['theme_dir']))) != realpath($currentTheme['theme_dir'])) {
1786
+									$_GET['directory'] = '';
1787
+				}
1719 1788
 			}
1720 1789
 		}
1721 1790
 
@@ -1734,37 +1803,39 @@  discard block
 block discarded – undo
1734 1803
 				'href' => $scripturl . '?action=admin;area=theme;th=' . $_GET['th'] . ';' . $context['session_var'] . '=' . $context['session_id'] . ';sa=edit;directory=' . $temp,
1735 1804
 				'size' => '',
1736 1805
 			));
1806
+		} else {
1807
+					$context['theme_files'] = get_file_listing($currentTheme['theme_dir'], '');
1737 1808
 		}
1738
-		else
1739
-			$context['theme_files'] = get_file_listing($currentTheme['theme_dir'], '');
1740 1809
 
1741 1810
 		$context['sub_template'] = 'edit_browse';
1742 1811
 
1743 1812
 		return;
1744
-	}
1745
-	else
1813
+	} else
1746 1814
 	{
1747
-		if (substr($_REQUEST['filename'], 0, 1) == '.')
1748
-			$_REQUEST['filename'] = '';
1749
-		else
1815
+		if (substr($_REQUEST['filename'], 0, 1) == '.') {
1816
+					$_REQUEST['filename'] = '';
1817
+		} else
1750 1818
 		{
1751 1819
 			$_REQUEST['filename'] = preg_replace(array('~^[\./\\:\0\n\r]+~', '~[\\\\]~', '~/[\./]+~'), array('', '/', '/'), $_REQUEST['filename']);
1752 1820
 
1753 1821
 			$temp = realpath($currentTheme['theme_dir'] . '/' . $_REQUEST['filename']);
1754
-			if (empty($temp) || substr($temp, 0, strlen(realpath($currentTheme['theme_dir']))) != realpath($currentTheme['theme_dir']))
1755
-				$_REQUEST['filename'] = '';
1822
+			if (empty($temp) || substr($temp, 0, strlen(realpath($currentTheme['theme_dir']))) != realpath($currentTheme['theme_dir'])) {
1823
+							$_REQUEST['filename'] = '';
1824
+			}
1756 1825
 		}
1757 1826
 
1758
-		if (empty($_REQUEST['filename']))
1759
-			fatal_lang_error('theme_edit_missing', false);
1827
+		if (empty($_REQUEST['filename'])) {
1828
+					fatal_lang_error('theme_edit_missing', false);
1829
+		}
1760 1830
 	}
1761 1831
 
1762 1832
 	if (isset($_POST['save']))
1763 1833
 	{
1764 1834
 		if (checkSession('post', '', false) == '' && validateToken('admin-te-' . md5($_GET['th'] . '-' . $_REQUEST['filename']), 'post', false) == true)
1765 1835
 		{
1766
-			if (is_array($_POST['entire_file']))
1767
-				$_POST['entire_file'] = implode("\n", $_POST['entire_file']);
1836
+			if (is_array($_POST['entire_file'])) {
1837
+							$_POST['entire_file'] = implode("\n", $_POST['entire_file']);
1838
+			}
1768 1839
 
1769 1840
 			$_POST['entire_file'] = rtrim(strtr($_POST['entire_file'], array("\r" => '', '   ' => "\t")));
1770 1841
 
@@ -1776,10 +1847,11 @@  discard block
 block discarded – undo
1776 1847
 				fclose($fp);
1777 1848
 
1778 1849
 				$error = @file_get_contents($currentTheme['theme_url'] . '/tmp_' . session_id() . '.php');
1779
-				if (preg_match('~ <b>(\d+)</b><br( /)?' . '>$~i', $error) != 0)
1780
-					$error_file = $currentTheme['theme_dir'] . '/tmp_' . session_id() . '.php';
1781
-				else
1782
-					unlink($currentTheme['theme_dir'] . '/tmp_' . session_id() . '.php');
1850
+				if (preg_match('~ <b>(\d+)</b><br( /)?' . '>$~i', $error) != 0) {
1851
+									$error_file = $currentTheme['theme_dir'] . '/tmp_' . session_id() . '.php';
1852
+				} else {
1853
+									unlink($currentTheme['theme_dir'] . '/tmp_' . session_id() . '.php');
1854
+				}
1783 1855
 			}
1784 1856
 
1785 1857
 			if (!isset($error_file))
@@ -1800,10 +1872,11 @@  discard block
 block discarded – undo
1800 1872
 			$context['sub_template'] = 'edit_file';
1801 1873
 
1802 1874
 			// Recycle the submitted data.
1803
-			if (is_array($_POST['entire_file']))
1804
-				$context['entire_file'] = $smcFunc['htmlspecialchars'](implode("\n", $_POST['entire_file']));
1805
-			else
1806
-				$context['entire_file'] = $smcFunc['htmlspecialchars']($_POST['entire_file']);
1875
+			if (is_array($_POST['entire_file'])) {
1876
+							$context['entire_file'] = $smcFunc['htmlspecialchars'](implode("\n", $_POST['entire_file']));
1877
+			} else {
1878
+							$context['entire_file'] = $smcFunc['htmlspecialchars']($_POST['entire_file']);
1879
+			}
1807 1880
 
1808 1881
 			$context['edit_filename'] = $smcFunc['htmlspecialchars']($_POST['filename']);
1809 1882
 
@@ -1826,17 +1899,17 @@  discard block
 block discarded – undo
1826 1899
 		$context['sub_template'] = 'edit_style';
1827 1900
 
1828 1901
 		$context['entire_file'] = $smcFunc['htmlspecialchars'](strtr(file_get_contents($currentTheme['theme_dir'] . '/' . $_REQUEST['filename']), array("\t" => '   ')));
1829
-	}
1830
-	elseif (substr($_REQUEST['filename'], -13) == '.template.php')
1902
+	} elseif (substr($_REQUEST['filename'], -13) == '.template.php')
1831 1903
 	{
1832 1904
 		$context['sub_template'] = 'edit_template';
1833 1905
 
1834
-		if (!isset($error_file))
1835
-			$file_data = file($currentTheme['theme_dir'] . '/' . $_REQUEST['filename']);
1836
-		else
1906
+		if (!isset($error_file)) {
1907
+					$file_data = file($currentTheme['theme_dir'] . '/' . $_REQUEST['filename']);
1908
+		} else
1837 1909
 		{
1838
-			if (preg_match('~(<b>.+?</b>:.+?<b>).+?(</b>.+?<b>\d+</b>)<br( /)?' . '>$~i', $error, $match) != 0)
1839
-				$context['parse_error'] = $match[1] . $_REQUEST['filename'] . $match[2];
1910
+			if (preg_match('~(<b>.+?</b>:.+?<b>).+?(</b>.+?<b>\d+</b>)<br( /)?' . '>$~i', $error, $match) != 0) {
1911
+							$context['parse_error'] = $match[1] . $_REQUEST['filename'] . $match[2];
1912
+			}
1840 1913
 			$file_data = file($error_file);
1841 1914
 			unlink($error_file);
1842 1915
 		}
@@ -1850,8 +1923,9 @@  discard block
 block discarded – undo
1850 1923
 				// Try to format the functions a little nicer...
1851 1924
 				$context['file_parts'][$j]['data'] = trim($context['file_parts'][$j]['data']) . "\n";
1852 1925
 
1853
-				if (empty($context['file_parts'][$j]['lines']))
1854
-					unset($context['file_parts'][$j]);
1926
+				if (empty($context['file_parts'][$j]['lines'])) {
1927
+									unset($context['file_parts'][$j]);
1928
+				}
1855 1929
 				$context['file_parts'][++$j] = array('lines' => 0, 'line' => $i + 1, 'data' => '');
1856 1930
 			}
1857 1931
 
@@ -1860,8 +1934,7 @@  discard block
 block discarded – undo
1860 1934
 		}
1861 1935
 
1862 1936
 		$context['entire_file'] = $smcFunc['htmlspecialchars'](strtr(implode('', $file_data), array("\t" => '   ')));
1863
-	}
1864
-	else
1937
+	} else
1865 1938
 	{
1866 1939
 		$context['sub_template'] = 'edit_file';
1867 1940
 
@@ -1887,8 +1960,9 @@  discard block
 block discarded – undo
1887 1960
 
1888 1961
 	$_GET['th'] = isset($_GET['th']) ? (int) $_GET['th'] : (int) $_GET['id'];
1889 1962
 
1890
-	if (empty($_GET['th']))
1891
-		fatal_lang_error('theme_install_invalid_id');
1963
+	if (empty($_GET['th'])) {
1964
+			fatal_lang_error('theme_install_invalid_id');
1965
+	}
1892 1966
 
1893 1967
 	// Get the theme info.
1894 1968
 	$theme = get_single_theme($_GET['th']);
@@ -1896,25 +1970,24 @@  discard block
 block discarded – undo
1896 1970
 
1897 1971
 	if (isset($_REQUEST['template']) && preg_match('~[\./\\\\:\0]~', $_REQUEST['template']) == 0)
1898 1972
 	{
1899
-		if (file_exists($settings['default_theme_dir'] . '/' . $_REQUEST['template'] . '.template.php'))
1900
-			$filename = $settings['default_theme_dir'] . '/' . $_REQUEST['template'] . '.template.php';
1901
-
1902
-		else
1903
-			fatal_lang_error('no_access', false);
1973
+		if (file_exists($settings['default_theme_dir'] . '/' . $_REQUEST['template'] . '.template.php')) {
1974
+					$filename = $settings['default_theme_dir'] . '/' . $_REQUEST['template'] . '.template.php';
1975
+		} else {
1976
+					fatal_lang_error('no_access', false);
1977
+		}
1904 1978
 
1905 1979
 		$fp = fopen($theme['theme_dir'] . '/' . $_REQUEST['template'] . '.template.php', 'w');
1906 1980
 		fwrite($fp, file_get_contents($filename));
1907 1981
 		fclose($fp);
1908 1982
 
1909 1983
 		redirectexit('action=admin;area=theme;th=' . $context['theme_id'] . ';' . $context['session_var'] . '=' . $context['session_id'] . ';sa=copy');
1910
-	}
1911
-	elseif (isset($_REQUEST['lang_file']) && preg_match('~^[^\./\\\\:\0]\.[^\./\\\\:\0]$~', $_REQUEST['lang_file']) != 0)
1984
+	} elseif (isset($_REQUEST['lang_file']) && preg_match('~^[^\./\\\\:\0]\.[^\./\\\\:\0]$~', $_REQUEST['lang_file']) != 0)
1912 1985
 	{
1913
-		if (file_exists($settings['default_theme_dir'] . '/languages/' . $_REQUEST['template'] . '.php'))
1914
-			$filename = $settings['default_theme_dir'] . '/languages/' . $_REQUEST['template'] . '.php';
1915
-
1916
-		else
1917
-			fatal_lang_error('no_access', false);
1986
+		if (file_exists($settings['default_theme_dir'] . '/languages/' . $_REQUEST['template'] . '.php')) {
1987
+					$filename = $settings['default_theme_dir'] . '/languages/' . $_REQUEST['template'] . '.php';
1988
+		} else {
1989
+					fatal_lang_error('no_access', false);
1990
+		}
1918 1991
 
1919 1992
 		$fp = fopen($theme['theme_dir'] . '/languages/' . $_REQUEST['lang_file'] . '.php', 'w');
1920 1993
 		fwrite($fp, file_get_contents($filename));
@@ -1929,16 +2002,18 @@  discard block
 block discarded – undo
1929 2002
 	$dir = dir($settings['default_theme_dir']);
1930 2003
 	while ($entry = $dir->read())
1931 2004
 	{
1932
-		if (substr($entry, -13) == '.template.php')
1933
-			$templates[] = substr($entry, 0, -13);
2005
+		if (substr($entry, -13) == '.template.php') {
2006
+					$templates[] = substr($entry, 0, -13);
2007
+		}
1934 2008
 	}
1935 2009
 	$dir->close();
1936 2010
 
1937 2011
 	$dir = dir($settings['default_theme_dir'] . '/languages');
1938 2012
 	while ($entry = $dir->read())
1939 2013
 	{
1940
-		if (preg_match('~^([^\.]+\.[^\.]+)\.php$~', $entry, $matches))
1941
-			$lang_files[] = $matches[1];
2014
+		if (preg_match('~^([^\.]+\.[^\.]+)\.php$~', $entry, $matches)) {
2015
+					$lang_files[] = $matches[1];
2016
+		}
1942 2017
 	}
1943 2018
 	$dir->close();
1944 2019
 
@@ -1946,21 +2021,23 @@  discard block
 block discarded – undo
1946 2021
 	natcasesort($lang_files);
1947 2022
 
1948 2023
 	$context['available_templates'] = array();
1949
-	foreach ($templates as $template)
1950
-		$context['available_templates'][$template] = array(
2024
+	foreach ($templates as $template) {
2025
+			$context['available_templates'][$template] = array(
1951 2026
 			'filename' => $template . '.template.php',
1952 2027
 			'value' => $template,
1953 2028
 			'already_exists' => false,
1954 2029
 			'can_copy' => is_writable($theme['theme_dir']),
1955 2030
 		);
2031
+	}
1956 2032
 	$context['available_language_files'] = array();
1957
-	foreach ($lang_files as $file)
1958
-		$context['available_language_files'][$file] = array(
2033
+	foreach ($lang_files as $file) {
2034
+			$context['available_language_files'][$file] = array(
1959 2035
 			'filename' => $file . '.php',
1960 2036
 			'value' => $file,
1961 2037
 			'already_exists' => false,
1962 2038
 			'can_copy' => file_exists($theme['theme_dir'] . '/languages') ? is_writable($theme['theme_dir'] . '/languages') : is_writable($theme['theme_dir']),
1963 2039
 		);
2040
+	}
1964 2041
 
1965 2042
 	$dir = dir($theme['theme_dir']);
1966 2043
 	while ($entry = $dir->read())
Please login to merge, or discard this patch.