Completed
Push — release-2.1 ( 99ca30...c081b8 )
by Michael
07:09
created
other/install.php 1 patch
Braces   +439 added lines, -326 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
 
@@ -83,12 +84,14 @@  discard block
 block discarded – undo
83 84
 			$value = preg_replace('~[^A-Za-z0-9_\$]~', '', $value);
84 85
 
85 86
 			// Is it reserved?
86
-			if ($value == 'pg_')
87
-				return $txt['error_db_prefix_reserved'];
87
+			if ($value == 'pg_') {
88
+							return $txt['error_db_prefix_reserved'];
89
+			}
88 90
 
89 91
 			// Is the prefix numeric?
90
-			if (preg_match('~^\d~', $value))
91
-				return $txt['error_db_prefix_numeric'];
92
+			if (preg_match('~^\d~', $value)) {
93
+							return $txt['error_db_prefix_numeric'];
94
+			}
92 95
 
93 96
 			return true;
94 97
 		},
@@ -135,10 +138,11 @@  discard block
 block discarded – undo
135 138
 		$incontext['skip'] = false;
136 139
 
137 140
 		// Call the step and if it returns false that means pause!
138
-		if (function_exists($step[2]) && $step[2]() === false)
139
-			break;
140
-		elseif (function_exists($step[2]))
141
-			$incontext['current_step']++;
141
+		if (function_exists($step[2]) && $step[2]() === false) {
142
+					break;
143
+		} elseif (function_exists($step[2])) {
144
+					$incontext['current_step']++;
145
+		}
142 146
 
143 147
 		// No warnings pass on.
144 148
 		$incontext['warning'] = '';
@@ -154,12 +158,14 @@  discard block
 block discarded – undo
154 158
 	global $databases, $incontext;
155 159
 
156 160
 	// Just so people using older versions of PHP aren't left in the cold.
157
-	if (!isset($_SERVER['PHP_SELF']))
158
-		$_SERVER['PHP_SELF'] = isset($GLOBALS['HTTP_SERVER_VARS']['PHP_SELF']) ? $GLOBALS['HTTP_SERVER_VARS']['PHP_SELF'] : 'install.php';
161
+	if (!isset($_SERVER['PHP_SELF'])) {
162
+			$_SERVER['PHP_SELF'] = isset($GLOBALS['HTTP_SERVER_VARS']['PHP_SELF']) ? $GLOBALS['HTTP_SERVER_VARS']['PHP_SELF'] : 'install.php';
163
+	}
159 164
 
160 165
 	// Turn off magic quotes runtime and enable error reporting.
161
-	if (function_exists('set_magic_quotes_runtime'))
162
-		@set_magic_quotes_runtime(0);
166
+	if (function_exists('set_magic_quotes_runtime')) {
167
+			@set_magic_quotes_runtime(0);
168
+	}
163 169
 	error_reporting(E_ALL);
164 170
 
165 171
 	// Fun.  Low PHP version...
@@ -173,21 +179,23 @@  discard block
 block discarded – undo
173 179
 	{
174 180
 		ob_start();
175 181
 
176
-		if (ini_get('session.save_handler') == 'user')
177
-			@ini_set('session.save_handler', 'files');
178
-		if (function_exists('session_start'))
179
-			@session_start();
180
-	}
181
-	else
182
+		if (ini_get('session.save_handler') == 'user') {
183
+					@ini_set('session.save_handler', 'files');
184
+		}
185
+		if (function_exists('session_start')) {
186
+					@session_start();
187
+		}
188
+	} else
182 189
 	{
183 190
 		ob_start('ob_gzhandler');
184 191
 
185
-		if (ini_get('session.save_handler') == 'user')
186
-			@ini_set('session.save_handler', 'files');
192
+		if (ini_get('session.save_handler') == 'user') {
193
+					@ini_set('session.save_handler', 'files');
194
+		}
187 195
 		session_start();
188 196
 
189
-		if (!headers_sent())
190
-			echo '<!DOCTYPE html>
197
+		if (!headers_sent()) {
198
+					echo '<!DOCTYPE html>
191 199
 <html>
192 200
 	<head>
193 201
 		<title>', htmlspecialchars($_GET['pass_string']), '</title>
@@ -196,6 +204,7 @@  discard block
 block discarded – undo
196 204
 		<strong>', htmlspecialchars($_GET['pass_string']), '</strong>
197 205
 	</body>
198 206
 </html>';
207
+		}
199 208
 		exit;
200 209
 	}
201 210
 
@@ -204,16 +213,18 @@  discard block
 block discarded – undo
204 213
 	{
205 214
 		$incontext['remote_files_available'] = false;
206 215
 		$test = @fsockopen('www.simplemachines.org', 80, $errno, $errstr, 1);
207
-		if ($test)
208
-			$incontext['remote_files_available'] = true;
216
+		if ($test) {
217
+					$incontext['remote_files_available'] = true;
218
+		}
209 219
 		@fclose($test);
210 220
 	}
211 221
 
212 222
 	// Add slashes, as long as they aren't already being added.
213
-	if (!function_exists('get_magic_quotes_gpc') || @get_magic_quotes_gpc() == 0)
214
-		foreach ($_POST as $k => $v)
223
+	if (!function_exists('get_magic_quotes_gpc') || @get_magic_quotes_gpc() == 0) {
224
+			foreach ($_POST as $k => $v)
215 225
 			if (strpos($k, 'password') === false && strpos($k, 'db_passwd') === false)
216 226
 				$_POST[$k] = addslashes($v);
227
+	}
217 228
 
218 229
 	// This is really quite simple; if ?delete is on the URL, delete the installer...
219 230
 	if (isset($_GET['delete']))
@@ -234,8 +245,7 @@  discard block
 block discarded – undo
234 245
 			$ftp->close();
235 246
 
236 247
 			unset($_SESSION['installer_temp_ftp']);
237
-		}
238
-		else
248
+		} else
239 249
 		{
240 250
 			@unlink(__FILE__);
241 251
 
@@ -256,10 +266,11 @@  discard block
 block discarded – undo
256 266
 	{
257 267
 		// Get PHP's default timezone, if set
258 268
 		$ini_tz = ini_get('date.timezone');
259
-		if (!empty($ini_tz))
260
-			$timezone_id = $ini_tz;
261
-		else
262
-			$timezone_id = '';
269
+		if (!empty($ini_tz)) {
270
+					$timezone_id = $ini_tz;
271
+		} else {
272
+					$timezone_id = '';
273
+		}
263 274
 
264 275
 		// If date.timezone is unset, invalid, or just plain weird, make a best guess
265 276
 		if (!in_array($timezone_id, timezone_identifiers_list()))
@@ -289,8 +300,9 @@  discard block
 block discarded – undo
289 300
 		$dir = dir(dirname(__FILE__) . '/Themes/default/languages');
290 301
 		while ($entry = $dir->read())
291 302
 		{
292
-			if (substr($entry, 0, 8) == 'Install.' && substr($entry, -4) == '.php')
293
-				$incontext['detected_languages'][$entry] = ucfirst(substr($entry, 8, strlen($entry) - 12));
303
+			if (substr($entry, 0, 8) == 'Install.' && substr($entry, -4) == '.php') {
304
+							$incontext['detected_languages'][$entry] = ucfirst(substr($entry, 8, strlen($entry) - 12));
305
+			}
294 306
 		}
295 307
 		$dir->close();
296 308
 	}
@@ -325,10 +337,11 @@  discard block
 block discarded – undo
325 337
 	}
326 338
 
327 339
 	// Override the language 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'];
340
+	if (isset($_GET['lang_file'])) {
341
+			$_SESSION['installer_temp_lang'] = $_GET['lang_file'];
342
+	} elseif (isset($GLOBALS['HTTP_GET_VARS']['lang_file'])) {
343
+			$_SESSION['installer_temp_lang'] = $GLOBALS['HTTP_GET_VARS']['lang_file'];
344
+	}
332 345
 
333 346
 	// Make sure it exists, if it doesn't reset it.
334 347
 	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']))
@@ -337,8 +350,9 @@  discard block
 block discarded – undo
337 350
 		list ($_SESSION['installer_temp_lang']) = array_keys($incontext['detected_languages']);
338 351
 
339 352
 		// If we have english and some other language, use the other language.  We Americans hate english :P.
340
-		if ($_SESSION['installer_temp_lang'] == 'Install.english.php' && count($incontext['detected_languages']) > 1)
341
-			list (, $_SESSION['installer_temp_lang']) = array_keys($incontext['detected_languages']);
353
+		if ($_SESSION['installer_temp_lang'] == 'Install.english.php' && count($incontext['detected_languages']) > 1) {
354
+					list (, $_SESSION['installer_temp_lang']) = array_keys($incontext['detected_languages']);
355
+		}
342 356
 	}
343 357
 
344 358
 	// And now include the actual language file itself.
@@ -351,15 +365,18 @@  discard block
 block discarded – undo
351 365
 	global $db_prefix, $db_connection, $sourcedir;
352 366
 	global $smcFunc, $modSettings, $db_type, $db_name, $db_user, $db_persist;
353 367
 
354
-	if (empty($sourcedir))
355
-		$sourcedir = dirname(__FILE__) . '/Sources';
368
+	if (empty($sourcedir)) {
369
+			$sourcedir = dirname(__FILE__) . '/Sources';
370
+	}
356 371
 
357 372
 	// Need this to check whether we need the database password.
358 373
 	require(dirname(__FILE__) . '/Settings.php');
359
-	if (!defined('SMF'))
360
-		define('SMF', 1);
361
-	if (empty($smcFunc))
362
-		$smcFunc = array();
374
+	if (!defined('SMF')) {
375
+			define('SMF', 1);
376
+	}
377
+	if (empty($smcFunc)) {
378
+			$smcFunc = array();
379
+	}
363 380
 
364 381
 	$modSettings['disableQueryCheck'] = true;
365 382
 
@@ -367,8 +384,9 @@  discard block
 block discarded – undo
367 384
 	if (!$db_connection)
368 385
 	{
369 386
 		require_once($sourcedir . '/Subs-Db-' . $db_type . '.php');
370
-		if (version_compare(PHP_VERSION, '5', '<'))
371
-			require_once($sourcedir . '/Subs-Compat.php');
387
+		if (version_compare(PHP_VERSION, '5', '<')) {
388
+					require_once($sourcedir . '/Subs-Compat.php');
389
+		}
372 390
 
373 391
 		$db_options = array('persist' => $db_persist);
374 392
 		$port = '';
@@ -379,19 +397,20 @@  discard block
 block discarded – undo
379 397
 			if ($db_type == 'mysql' || $db_type == 'mysqli')
380 398
 			{
381 399
 				$port = ((int) $_POST['db_port'] == ini_get($db_type . 'default_port')) ? '' : (int) $_POST['db_port'];
382
-			}
383
-			elseif ($db_type == 'postgresql')
400
+			} elseif ($db_type == 'postgresql')
384 401
 			{
385 402
 				// PostgreSQL doesn't have a default port setting in php.ini, so just check against the default
386 403
 				$port = ((int) $_POST['db_port'] == 5432) ? '' : (int) $_POST['db_port'];
387 404
 			}
388 405
 		}
389 406
 
390
-		if (!empty($port))
391
-			$db_options['port'] = $port;
407
+		if (!empty($port)) {
408
+					$db_options['port'] = $port;
409
+		}
392 410
 
393
-		if (!$db_connection)
394
-			$db_connection = smf_db_initiate($db_server, $db_name, $db_user, $db_passwd, $db_prefix, $db_options);
411
+		if (!$db_connection) {
412
+					$db_connection = smf_db_initiate($db_server, $db_name, $db_user, $db_passwd, $db_prefix, $db_options);
413
+		}
395 414
 	}
396 415
 }
397 416
 
@@ -419,8 +438,9 @@  discard block
 block discarded – undo
419 438
 		// @todo REMOVE THIS!!
420 439
 		else
421 440
 		{
422
-			if (function_exists('doStep' . $_GET['step']))
423
-				call_user_func('doStep' . $_GET['step']);
441
+			if (function_exists('doStep' . $_GET['step'])) {
442
+							call_user_func('doStep' . $_GET['step']);
443
+			}
424 444
 		}
425 445
 		// Show the footer.
426 446
 		template_install_below();
@@ -438,8 +458,9 @@  discard block
 block discarded – undo
438 458
 	$incontext['sub_template'] = 'welcome_message';
439 459
 
440 460
 	// Done the submission?
441
-	if (isset($_POST['contbutt']))
442
-		return true;
461
+	if (isset($_POST['contbutt'])) {
462
+			return true;
463
+	}
443 464
 
444 465
 	// See if we think they have already installed it?
445 466
 	if (is_readable(dirname(__FILE__) . '/Settings.php'))
@@ -447,14 +468,17 @@  discard block
 block discarded – undo
447 468
 		$probably_installed = 0;
448 469
 		foreach (file(dirname(__FILE__) . '/Settings.php') as $line)
449 470
 		{
450
-			if (preg_match('~^\$db_passwd\s=\s\'([^\']+)\';$~', $line))
451
-				$probably_installed++;
452
-			if (preg_match('~^\$boardurl\s=\s\'([^\']+)\';~', $line) && !preg_match('~^\$boardurl\s=\s\'http://127\.0\.0\.1/smf\';~', $line))
453
-				$probably_installed++;
471
+			if (preg_match('~^\$db_passwd\s=\s\'([^\']+)\';$~', $line)) {
472
+							$probably_installed++;
473
+			}
474
+			if (preg_match('~^\$boardurl\s=\s\'([^\']+)\';~', $line) && !preg_match('~^\$boardurl\s=\s\'http://127\.0\.0\.1/smf\';~', $line)) {
475
+							$probably_installed++;
476
+			}
454 477
 		}
455 478
 
456
-		if ($probably_installed == 2)
457
-			$incontext['warning'] = $txt['error_already_installed'];
479
+		if ($probably_installed == 2) {
480
+					$incontext['warning'] = $txt['error_already_installed'];
481
+		}
458 482
 	}
459 483
 
460 484
 	// Is some database support even compiled in?
@@ -469,36 +493,43 @@  discard block
 block discarded – undo
469 493
 				$databases[$key]['supported'] = false;
470 494
 				$notFoundSQLFile = true;
471 495
 				$txt['error_db_script_missing'] = sprintf($txt['error_db_script_missing'], 'install_' . $GLOBALS['db_script_version'] . '_' . $type . '.sql');
496
+			} else {
497
+							$incontext['supported_databases'][] = $db;
472 498
 			}
473
-			else
474
-				$incontext['supported_databases'][] = $db;
475 499
 		}
476 500
 	}
477 501
 
478 502
 	// Check the PHP version.
479
-	if ((!function_exists('version_compare') || version_compare($GLOBALS['required_php_version'], PHP_VERSION, '>')))
480
-		$error = 'error_php_too_low';
503
+	if ((!function_exists('version_compare') || version_compare($GLOBALS['required_php_version'], PHP_VERSION, '>'))) {
504
+			$error = 'error_php_too_low';
505
+	}
481 506
 	// Make sure we have a supported database
482
-	elseif (empty($incontext['supported_databases']))
483
-		$error = empty($notFoundSQLFile) ? 'error_db_missing' : 'error_db_script_missing';
507
+	elseif (empty($incontext['supported_databases'])) {
508
+			$error = empty($notFoundSQLFile) ? 'error_db_missing' : 'error_db_script_missing';
509
+	}
484 510
 	// How about session support?  Some crazy sysadmin remove it?
485
-	elseif (!function_exists('session_start'))
486
-		$error = 'error_session_missing';
511
+	elseif (!function_exists('session_start')) {
512
+			$error = 'error_session_missing';
513
+	}
487 514
 	// Make sure they uploaded all the files.
488
-	elseif (!file_exists(dirname(__FILE__) . '/index.php'))
489
-		$error = 'error_missing_files';
515
+	elseif (!file_exists(dirname(__FILE__) . '/index.php')) {
516
+			$error = 'error_missing_files';
517
+	}
490 518
 	// Very simple check on the session.save_path for Windows.
491 519
 	// @todo Move this down later if they don't use database-driven sessions?
492
-	elseif (@ini_get('session.save_path') == '/tmp' && substr(__FILE__, 1, 2) == ':\\')
493
-		$error = 'error_session_save_path';
520
+	elseif (@ini_get('session.save_path') == '/tmp' && substr(__FILE__, 1, 2) == ':\\') {
521
+			$error = 'error_session_save_path';
522
+	}
494 523
 
495 524
 	// Since each of the three messages would look the same, anyway...
496
-	if (isset($error))
497
-		$incontext['error'] = $txt[$error];
525
+	if (isset($error)) {
526
+			$incontext['error'] = $txt[$error];
527
+	}
498 528
 
499 529
 	// Mod_security blocks everything that smells funny. Let SMF handle security.
500
-	if (!fixModSecurity() && !isset($_GET['overmodsecurity']))
501
-		$incontext['error'] = $txt['error_mod_security'] . '<br><br><a href="' . $installurl . '?overmodsecurity=true">' . $txt['error_message_click'] . '</a> ' . $txt['error_message_bad_try_again'];
530
+	if (!fixModSecurity() && !isset($_GET['overmodsecurity'])) {
531
+			$incontext['error'] = $txt['error_mod_security'] . '<br><br><a href="' . $installurl . '?overmodsecurity=true">' . $txt['error_message_click'] . '</a> ' . $txt['error_message_bad_try_again'];
532
+	}
502 533
 
503 534
 	return false;
504 535
 }
@@ -521,15 +552,18 @@  discard block
 block discarded – undo
521 552
 		'agreement.txt',
522 553
 		'Settings.php'
523 554
 	);
524
-	if (file_exists(dirname(__FILE__) . '/Settings_bak.php'))
525
-		$writable_files[] = 'Settings_bak.php';
555
+	if (file_exists(dirname(__FILE__) . '/Settings_bak.php')) {
556
+			$writable_files[] = 'Settings_bak.php';
557
+	}
526 558
 
527
-	foreach ($incontext['detected_languages'] as $lang => $temp)
528
-		$extra_files[] = 'Themes/default/languages/' . $lang;
559
+	foreach ($incontext['detected_languages'] as $lang => $temp) {
560
+			$extra_files[] = 'Themes/default/languages/' . $lang;
561
+	}
529 562
 
530 563
 	// 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' : '.';
564
+	if (function_exists('apache_get_modules') && in_array('mod_security', apache_get_modules())) {
565
+			$writable_files[] = file_exists(dirname(__FILE__) . '/.htaccess') ? '.htaccess' : '.';
566
+	}
533 567
 
534 568
 	$failed_files = array();
535 569
 
@@ -545,12 +579,14 @@  discard block
 block discarded – undo
545 579
 				@chmod(dirname(__FILE__) . '/' . $file, 0755);
546 580
 
547 581
 				// Well, 755 hopefully worked... if not, try 777.
548
-				if (!is_writable(dirname(__FILE__) . '/' . $file) && !@chmod(dirname(__FILE__) . '/' . $file, 0777))
549
-					$failed_files[] = $file;
582
+				if (!is_writable(dirname(__FILE__) . '/' . $file) && !@chmod(dirname(__FILE__) . '/' . $file, 0777)) {
583
+									$failed_files[] = $file;
584
+				}
550 585
 			}
551 586
 		}
552
-		foreach ($extra_files as $file)
553
-			@chmod(dirname(__FILE__) . (empty($file) ? '' : '/' . $file), 0777);
587
+		foreach ($extra_files as $file) {
588
+					@chmod(dirname(__FILE__) . (empty($file) ? '' : '/' . $file), 0777);
589
+		}
554 590
 	}
555 591
 	// Windows is trickier.  Let's try opening for r+...
556 592
 	else
@@ -560,30 +596,35 @@  discard block
 block discarded – undo
560 596
 		foreach ($writable_files as $file)
561 597
 		{
562 598
 			// Folders can't be opened for write... but the index.php in them can ;)
563
-			if (is_dir(dirname(__FILE__) . '/' . $file))
564
-				$file .= '/index.php';
599
+			if (is_dir(dirname(__FILE__) . '/' . $file)) {
600
+							$file .= '/index.php';
601
+			}
565 602
 
566 603
 			// Funny enough, chmod actually does do something on windows - it removes the read only attribute.
567 604
 			@chmod(dirname(__FILE__) . '/' . $file, 0777);
568 605
 			$fp = @fopen(dirname(__FILE__) . '/' . $file, 'r+');
569 606
 
570 607
 			// Hmm, okay, try just for write in that case...
571
-			if (!is_resource($fp))
572
-				$fp = @fopen(dirname(__FILE__) . '/' . $file, 'w');
608
+			if (!is_resource($fp)) {
609
+							$fp = @fopen(dirname(__FILE__) . '/' . $file, 'w');
610
+			}
573 611
 
574
-			if (!is_resource($fp))
575
-				$failed_files[] = $file;
612
+			if (!is_resource($fp)) {
613
+							$failed_files[] = $file;
614
+			}
576 615
 
577 616
 			@fclose($fp);
578 617
 		}
579
-		foreach ($extra_files as $file)
580
-			@chmod(dirname(__FILE__) . (empty($file) ? '' : '/' . $file), 0777);
618
+		foreach ($extra_files as $file) {
619
+					@chmod(dirname(__FILE__) . (empty($file) ? '' : '/' . $file), 0777);
620
+		}
581 621
 	}
582 622
 
583 623
 	$failure = count($failed_files) >= 1;
584 624
 
585
-	if (!isset($_SERVER))
586
-		return !$failure;
625
+	if (!isset($_SERVER)) {
626
+			return !$failure;
627
+	}
587 628
 
588 629
 	// Put the list into context.
589 630
 	$incontext['failed_files'] = $failed_files;
@@ -631,19 +672,23 @@  discard block
 block discarded – undo
631 672
 
632 673
 		if (!isset($ftp) || $ftp->error !== false)
633 674
 		{
634
-			if (!isset($ftp))
635
-				$ftp = new ftp_connection(null);
675
+			if (!isset($ftp)) {
676
+							$ftp = new ftp_connection(null);
677
+			}
636 678
 			// Save the error so we can mess with listing...
637
-			elseif ($ftp->error !== false && empty($incontext['ftp_errors']) && !empty($ftp->last_message))
638
-				$incontext['ftp_errors'][] = $ftp->last_message;
679
+			elseif ($ftp->error !== false && empty($incontext['ftp_errors']) && !empty($ftp->last_message)) {
680
+							$incontext['ftp_errors'][] = $ftp->last_message;
681
+			}
639 682
 
640 683
 			list ($username, $detect_path, $found_path) = $ftp->detect_path(dirname(__FILE__));
641 684
 
642
-			if (empty($_POST['ftp_path']) && $found_path)
643
-				$_POST['ftp_path'] = $detect_path;
685
+			if (empty($_POST['ftp_path']) && $found_path) {
686
+							$_POST['ftp_path'] = $detect_path;
687
+			}
644 688
 
645
-			if (!isset($_POST['ftp_username']))
646
-				$_POST['ftp_username'] = $username;
689
+			if (!isset($_POST['ftp_username'])) {
690
+							$_POST['ftp_username'] = $username;
691
+			}
647 692
 
648 693
 			// Set the username etc, into context.
649 694
 			$incontext['ftp'] = array(
@@ -655,8 +700,7 @@  discard block
 block discarded – undo
655 700
 			);
656 701
 
657 702
 			return false;
658
-		}
659
-		else
703
+		} else
660 704
 		{
661 705
 			$_SESSION['installer_temp_ftp'] = array(
662 706
 				'server' => $_POST['ftp_server'],
@@ -670,10 +714,12 @@  discard block
 block discarded – undo
670 714
 
671 715
 			foreach ($failed_files as $file)
672 716
 			{
673
-				if (!is_writable(dirname(__FILE__) . '/' . $file))
674
-					$ftp->chmod($file, 0755);
675
-				if (!is_writable(dirname(__FILE__) . '/' . $file))
676
-					$ftp->chmod($file, 0777);
717
+				if (!is_writable(dirname(__FILE__) . '/' . $file)) {
718
+									$ftp->chmod($file, 0755);
719
+				}
720
+				if (!is_writable(dirname(__FILE__) . '/' . $file)) {
721
+									$ftp->chmod($file, 0777);
722
+				}
677 723
 				if (!is_writable(dirname(__FILE__) . '/' . $file))
678 724
 				{
679 725
 					$failed_files_updated[] = $file;
@@ -728,15 +774,17 @@  discard block
 block discarded – undo
728 774
 
729 775
 			if (!$foundOne)
730 776
 			{
731
-				if (isset($db['default_host']))
732
-					$incontext['db']['server'] = ini_get($db['default_host']) or $incontext['db']['server'] = 'localhost';
777
+				if (isset($db['default_host'])) {
778
+									$incontext['db']['server'] = ini_get($db['default_host']) or $incontext['db']['server'] = 'localhost';
779
+				}
733 780
 				if (isset($db['default_user']))
734 781
 				{
735 782
 					$incontext['db']['user'] = ini_get($db['default_user']);
736 783
 					$incontext['db']['name'] = ini_get($db['default_user']);
737 784
 				}
738
-				if (isset($db['default_password']))
739
-					$incontext['db']['pass'] = ini_get($db['default_password']);
785
+				if (isset($db['default_password'])) {
786
+									$incontext['db']['pass'] = ini_get($db['default_password']);
787
+				}
740 788
 
741 789
 				// For simplicity and less confusion, leave the port blank by default
742 790
 				$incontext['db']['port'] = '';
@@ -755,10 +803,10 @@  discard block
 block discarded – undo
755 803
 		$incontext['db']['server'] = $_POST['db_server'];
756 804
 		$incontext['db']['prefix'] = $_POST['db_prefix'];
757 805
 
758
-		if (!empty($_POST['db_port']))
759
-			$incontext['db']['port'] = $_POST['db_port'];
760
-	}
761
-	else
806
+		if (!empty($_POST['db_port'])) {
807
+					$incontext['db']['port'] = $_POST['db_port'];
808
+		}
809
+	} else
762 810
 	{
763 811
 		$incontext['db']['prefix'] = 'smf_';
764 812
 	}
@@ -794,10 +842,11 @@  discard block
 block discarded – undo
794 842
 		if (!empty($_POST['db_port']))
795 843
 		{
796 844
 			// For MySQL, we can get the "default port" from PHP. PostgreSQL has no such option though.
797
-			if (($db_type == 'mysql' || $db_type == 'mysqli') && $_POST['db_port'] != ini_get($db_type . '.default_port'))
798
-				$vars['db_port'] = (int) $_POST['db_port'];
799
-			elseif ($db_type == 'postgresql' && $_POST['db_port'] != 5432)
800
-				$vars['db_port'] = (int) $_POST['db_port'];
845
+			if (($db_type == 'mysql' || $db_type == 'mysqli') && $_POST['db_port'] != ini_get($db_type . '.default_port')) {
846
+							$vars['db_port'] = (int) $_POST['db_port'];
847
+			} elseif ($db_type == 'postgresql' && $_POST['db_port'] != 5432) {
848
+							$vars['db_port'] = (int) $_POST['db_port'];
849
+			}
801 850
 		}
802 851
 
803 852
 		// God I hope it saved!
@@ -810,8 +859,9 @@  discard block
 block discarded – undo
810 859
 		// Make sure it works.
811 860
 		require(dirname(__FILE__) . '/Settings.php');
812 861
 
813
-		if (empty($sourcedir))
814
-			$sourcedir = dirname(__FILE__) . '/Sources';
862
+		if (empty($sourcedir)) {
863
+					$sourcedir = dirname(__FILE__) . '/Sources';
864
+		}
815 865
 
816 866
 		// Better find the database file!
817 867
 		if (!file_exists($sourcedir . '/Subs-Db-' . $db_type . '.php'))
@@ -821,18 +871,21 @@  discard block
 block discarded – undo
821 871
 		}
822 872
 
823 873
 		// Now include it for database functions!
824
-		if (!defined('SMF'))
825
-			define('SMF', 1);
874
+		if (!defined('SMF')) {
875
+					define('SMF', 1);
876
+		}
826 877
 
827 878
 		$modSettings['disableQueryCheck'] = true;
828
-		if (empty($smcFunc))
829
-			$smcFunc = array();
879
+		if (empty($smcFunc)) {
880
+					$smcFunc = array();
881
+		}
830 882
 
831 883
 			require_once($sourcedir . '/Subs-Db-' . $db_type . '.php');
832 884
 
833 885
 		// What - running PHP4? The shame!
834
-		if (version_compare(PHP_VERSION, '5', '<'))
835
-			require_once($sourcedir . '/Subs-Compat.php');
886
+		if (version_compare(PHP_VERSION, '5', '<')) {
887
+					require_once($sourcedir . '/Subs-Compat.php');
888
+		}
836 889
 
837 890
 		// Attempt a connection.
838 891
 		$needsDB = !empty($databases[$db_type]['always_has_db']);
@@ -920,12 +973,14 @@  discard block
 block discarded – undo
920 973
 	$incontext['page_title'] = $txt['install_settings'];
921 974
 
922 975
 	// Let's see if we got the database type correct.
923
-	if (isset($_POST['db_type'], $databases[$_POST['db_type']]))
924
-		$db_type = $_POST['db_type'];
976
+	if (isset($_POST['db_type'], $databases[$_POST['db_type']])) {
977
+			$db_type = $_POST['db_type'];
978
+	}
925 979
 
926 980
 	// Else we'd better be able to get the connection.
927
-	else
928
-		load_database();
981
+	else {
982
+			load_database();
983
+	}
929 984
 
930 985
 	$db_type = isset($_POST['db_type']) ? $_POST['db_type'] : $db_type;
931 986
 
@@ -945,12 +1000,14 @@  discard block
 block discarded – undo
945 1000
 	// Submitting?
946 1001
 	if (isset($_POST['boardurl']))
947 1002
 	{
948
-		if (substr($_POST['boardurl'], -10) == '/index.php')
949
-			$_POST['boardurl'] = substr($_POST['boardurl'], 0, -10);
950
-		elseif (substr($_POST['boardurl'], -1) == '/')
951
-			$_POST['boardurl'] = substr($_POST['boardurl'], 0, -1);
952
-		if (substr($_POST['boardurl'], 0, 7) != 'http://' && substr($_POST['boardurl'], 0, 7) != 'file://' && substr($_POST['boardurl'], 0, 8) != 'https://')
953
-			$_POST['boardurl'] = 'http://' . $_POST['boardurl'];
1003
+		if (substr($_POST['boardurl'], -10) == '/index.php') {
1004
+					$_POST['boardurl'] = substr($_POST['boardurl'], 0, -10);
1005
+		} elseif (substr($_POST['boardurl'], -1) == '/') {
1006
+					$_POST['boardurl'] = substr($_POST['boardurl'], 0, -1);
1007
+		}
1008
+		if (substr($_POST['boardurl'], 0, 7) != 'http://' && substr($_POST['boardurl'], 0, 7) != 'file://' && substr($_POST['boardurl'], 0, 8) != 'https://') {
1009
+					$_POST['boardurl'] = 'http://' . $_POST['boardurl'];
1010
+		}
954 1011
 
955 1012
 		// Save these variables.
956 1013
 		$vars = array(
@@ -981,10 +1038,10 @@  discard block
 block discarded – undo
981 1038
 			{
982 1039
 				$incontext['error'] = sprintf($txt['error_utf8_version'], $databases[$db_type]['utf8_version']);
983 1040
 				return false;
984
-			}
985
-			else
986
-				// Set the character set here.
1041
+			} else {
1042
+							// Set the character set here.
987 1043
 				updateSettingsFile(array('db_character_set' => 'utf8'));
1044
+			}
988 1045
 		}
989 1046
 
990 1047
 		// Good, skip on.
@@ -1004,8 +1061,9 @@  discard block
 block discarded – undo
1004 1061
 	$incontext['continue'] = 1;
1005 1062
 
1006 1063
 	// Already done?
1007
-	if (isset($_POST['pop_done']))
1008
-		return true;
1064
+	if (isset($_POST['pop_done'])) {
1065
+			return true;
1066
+	}
1009 1067
 
1010 1068
 	// Reload settings.
1011 1069
 	require(dirname(__FILE__) . '/Settings.php');
@@ -1023,8 +1081,9 @@  discard block
 block discarded – undo
1023 1081
 	$modSettings = array();
1024 1082
 	if ($result !== false)
1025 1083
 	{
1026
-		while ($row = $smcFunc['db_fetch_assoc']($result))
1027
-			$modSettings[$row['variable']] = $row['value'];
1084
+		while ($row = $smcFunc['db_fetch_assoc']($result)) {
1085
+					$modSettings[$row['variable']] = $row['value'];
1086
+		}
1028 1087
 		$smcFunc['db_free_result']($result);
1029 1088
 
1030 1089
 		// Do they match?  If so, this is just a refresh so charge on!
@@ -1037,20 +1096,22 @@  discard block
 block discarded – undo
1037 1096
 	$modSettings['disableQueryCheck'] = true;
1038 1097
 
1039 1098
 	// If doing UTF8, select it. PostgreSQL requires passing it as a string...
1040
-	if (!empty($db_character_set) && $db_character_set == 'utf8' && !empty($databases[$db_type]['utf8_support']))
1041
-		$smcFunc['db_query']('', '
1099
+	if (!empty($db_character_set) && $db_character_set == 'utf8' && !empty($databases[$db_type]['utf8_support'])) {
1100
+			$smcFunc['db_query']('', '
1042 1101
 			SET NAMES {string:utf8}',
1043 1102
 			array(
1044 1103
 				'db_error_skip' => true,
1045 1104
 				'utf8' => 'utf8',
1046 1105
 			)
1047 1106
 		);
1107
+	}
1048 1108
 
1049 1109
 	// Windows likes to leave the trailing slash, which yields to C:\path\to\SMF\/attachments...
1050
-	if (substr(__DIR__, -1) == '\\')
1051
-		$attachdir = __DIR__ . 'attachments';
1052
-	else
1053
-		$attachdir = __DIR__ . '/attachments';
1110
+	if (substr(__DIR__, -1) == '\\') {
1111
+			$attachdir = __DIR__ . 'attachments';
1112
+	} else {
1113
+			$attachdir = __DIR__ . '/attachments';
1114
+	}
1054 1115
 
1055 1116
 	$replaces = array(
1056 1117
 		'{$db_prefix}' => $db_prefix,
@@ -1067,8 +1128,9 @@  discard block
 block discarded – undo
1067 1128
 
1068 1129
 	foreach ($txt as $key => $value)
1069 1130
 	{
1070
-		if (substr($key, 0, 8) == 'default_')
1071
-			$replaces['{$' . $key . '}'] = $smcFunc['db_escape_string']($value);
1131
+		if (substr($key, 0, 8) == 'default_') {
1132
+					$replaces['{$' . $key . '}'] = $smcFunc['db_escape_string']($value);
1133
+		}
1072 1134
 	}
1073 1135
 	$replaces['{$default_reserved_names}'] = strtr($replaces['{$default_reserved_names}'], array('\\\\n' => '\\n'));
1074 1136
 
@@ -1083,8 +1145,9 @@  discard block
 block discarded – undo
1083 1145
 
1084 1146
 		while ($row = $smcFunc['db_fetch_assoc']($get_engines))
1085 1147
 		{
1086
-			if ($row['Support'] == 'YES' || $row['Support'] == 'DEFAULT')
1087
-				$engines[] = $row['Engine'];
1148
+			if ($row['Support'] == 'YES' || $row['Support'] == 'DEFAULT') {
1149
+							$engines[] = $row['Engine'];
1150
+			}
1088 1151
 		}
1089 1152
 
1090 1153
 		// Done with this now
@@ -1108,8 +1171,7 @@  discard block
 block discarded – undo
1108 1171
 			$replaces['START TRANSACTION;'] = '';
1109 1172
 			$replaces['COMMIT;'] = '';
1110 1173
 		}
1111
-	}
1112
-	else
1174
+	} else
1113 1175
 	{
1114 1176
 		$has_innodb = false;
1115 1177
 	}
@@ -1131,21 +1193,24 @@  discard block
 block discarded – undo
1131 1193
 	foreach ($sql_lines as $count => $line)
1132 1194
 	{
1133 1195
 		// No comments allowed!
1134
-		if (substr(trim($line), 0, 1) != '#')
1135
-			$current_statement .= "\n" . rtrim($line);
1196
+		if (substr(trim($line), 0, 1) != '#') {
1197
+					$current_statement .= "\n" . rtrim($line);
1198
+		}
1136 1199
 
1137 1200
 		// Is this the end of the query string?
1138
-		if (empty($current_statement) || (preg_match('~;[\s]*$~s', $line) == 0 && $count != count($sql_lines)))
1139
-			continue;
1201
+		if (empty($current_statement) || (preg_match('~;[\s]*$~s', $line) == 0 && $count != count($sql_lines))) {
1202
+					continue;
1203
+		}
1140 1204
 
1141 1205
 		// Does this table already exist?  If so, don't insert more data into it!
1142 1206
 		if (preg_match('~^\s*INSERT INTO ([^\s\n\r]+?)~', $current_statement, $match) != 0 && in_array($match[1], $exists))
1143 1207
 		{
1144 1208
 			preg_match_all('~\)[,;]~', $current_statement, $matches);
1145
-			if (!empty($matches[0]))
1146
-				$incontext['sql_results']['insert_dups'] += count($matches[0]);
1147
-			else
1148
-				$incontext['sql_results']['insert_dups']++;
1209
+			if (!empty($matches[0])) {
1210
+							$incontext['sql_results']['insert_dups'] += count($matches[0]);
1211
+			} else {
1212
+							$incontext['sql_results']['insert_dups']++;
1213
+			}
1149 1214
 
1150 1215
 			$current_statement = '';
1151 1216
 			continue;
@@ -1154,8 +1219,9 @@  discard block
 block discarded – undo
1154 1219
 		if ($smcFunc['db_query']('', $current_statement, array('security_override' => true, 'db_error_skip' => true), $db_connection) === false)
1155 1220
 		{
1156 1221
 			// Use the appropriate function based on the DB type
1157
-			if ($db_type == 'mysql' || $db_type == 'mysqli')
1158
-				$db_errorno = $db_type . '_errno';
1222
+			if ($db_type == 'mysql' || $db_type == 'mysqli') {
1223
+							$db_errorno = $db_type . '_errno';
1224
+			}
1159 1225
 
1160 1226
 			// Error 1050: Table already exists!
1161 1227
 			// @todo Needs to be made better!
@@ -1170,18 +1236,18 @@  discard block
 block discarded – undo
1170 1236
 				// MySQLi requires a connection object. It's optional with MySQL and Postgres
1171 1237
 				$incontext['failures'][$count] = $smcFunc['db_error']($db_connection);
1172 1238
 			}
1173
-		}
1174
-		else
1239
+		} else
1175 1240
 		{
1176
-			if (preg_match('~^\s*CREATE TABLE ([^\s\n\r]+?)~', $current_statement, $match) == 1)
1177
-				$incontext['sql_results']['tables']++;
1178
-			elseif (preg_match('~^\s*INSERT INTO ([^\s\n\r]+?)~', $current_statement, $match) == 1)
1241
+			if (preg_match('~^\s*CREATE TABLE ([^\s\n\r]+?)~', $current_statement, $match) == 1) {
1242
+							$incontext['sql_results']['tables']++;
1243
+			} elseif (preg_match('~^\s*INSERT INTO ([^\s\n\r]+?)~', $current_statement, $match) == 1)
1179 1244
 			{
1180 1245
 				preg_match_all('~\)[,;]~', $current_statement, $matches);
1181
-				if (!empty($matches[0]))
1182
-					$incontext['sql_results']['inserts'] += count($matches[0]);
1183
-				else
1184
-					$incontext['sql_results']['inserts']++;
1246
+				if (!empty($matches[0])) {
1247
+									$incontext['sql_results']['inserts'] += count($matches[0]);
1248
+				} else {
1249
+									$incontext['sql_results']['inserts']++;
1250
+				}
1185 1251
 			}
1186 1252
 		}
1187 1253
 
@@ -1194,15 +1260,17 @@  discard block
 block discarded – undo
1194 1260
 	// Sort out the context for the SQL.
1195 1261
 	foreach ($incontext['sql_results'] as $key => $number)
1196 1262
 	{
1197
-		if ($number == 0)
1198
-			unset($incontext['sql_results'][$key]);
1199
-		else
1200
-			$incontext['sql_results'][$key] = sprintf($txt['db_populate_' . $key], $number);
1263
+		if ($number == 0) {
1264
+					unset($incontext['sql_results'][$key]);
1265
+		} else {
1266
+					$incontext['sql_results'][$key] = sprintf($txt['db_populate_' . $key], $number);
1267
+		}
1201 1268
 	}
1202 1269
 
1203 1270
 	// Make sure UTF will be used globally.
1204
-	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'])))
1205
-		$newSettings[] = array('global_character_set', 'UTF-8');
1271
+	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']))) {
1272
+			$newSettings[] = array('global_character_set', 'UTF-8');
1273
+	}
1206 1274
 
1207 1275
 	// Maybe we can auto-detect better cookie settings?
1208 1276
 	preg_match('~^http[s]?://([^\.]+?)([^/]*?)(/.*)?$~', $boardurl, $matches);
@@ -1213,16 +1281,20 @@  discard block
 block discarded – undo
1213 1281
 		$globalCookies = false;
1214 1282
 
1215 1283
 		// Okay... let's see.  Using a subdomain other than www.? (not a perfect check.)
1216
-		if ($matches[2] != '' && (strpos(substr($matches[2], 1), '.') === false || in_array($matches[1], array('forum', 'board', 'community', 'forums', 'support', 'chat', 'help', 'talk', 'boards', 'www'))))
1217
-			$globalCookies = true;
1284
+		if ($matches[2] != '' && (strpos(substr($matches[2], 1), '.') === false || in_array($matches[1], array('forum', 'board', 'community', 'forums', 'support', 'chat', 'help', 'talk', 'boards', 'www')))) {
1285
+					$globalCookies = true;
1286
+		}
1218 1287
 		// If there's a / in the middle of the path, or it starts with ~... we want local.
1219
-		if (isset($matches[3]) && strlen($matches[3]) > 3 && (substr($matches[3], 0, 2) == '/~' || strpos(substr($matches[3], 1), '/') !== false))
1220
-			$localCookies = true;
1288
+		if (isset($matches[3]) && strlen($matches[3]) > 3 && (substr($matches[3], 0, 2) == '/~' || strpos(substr($matches[3], 1), '/') !== false)) {
1289
+					$localCookies = true;
1290
+		}
1221 1291
 
1222
-		if ($globalCookies)
1223
-			$newSettings[] = array('globalCookies', '1');
1224
-		if ($localCookies)
1225
-			$newSettings[] = array('localCookies', '1');
1292
+		if ($globalCookies) {
1293
+					$newSettings[] = array('globalCookies', '1');
1294
+		}
1295
+		if ($localCookies) {
1296
+					$newSettings[] = array('localCookies', '1');
1297
+		}
1226 1298
 	}
1227 1299
 
1228 1300
 	// Are we allowing stat collection?
@@ -1238,32 +1310,36 @@  discard block
 block discarded – undo
1238 1310
 			fwrite($fp, $out);
1239 1311
 
1240 1312
 			$return_data = '';
1241
-			while (!feof($fp))
1242
-				$return_data .= fgets($fp, 128);
1313
+			while (!feof($fp)) {
1314
+							$return_data .= fgets($fp, 128);
1315
+			}
1243 1316
 
1244 1317
 			fclose($fp);
1245 1318
 
1246 1319
 			// Get the unique site ID.
1247 1320
 			preg_match('~SITE-ID:\s(\w{10})~', $return_data, $ID);
1248 1321
 
1249
-			if (!empty($ID[1]))
1250
-				$newSettings[] = array('allow_sm_stats', $ID[1]);
1322
+			if (!empty($ID[1])) {
1323
+							$newSettings[] = array('allow_sm_stats', $ID[1]);
1324
+			}
1251 1325
 		}
1252 1326
 	}
1253 1327
 
1254 1328
 	// Are we enabling SSL?
1255
-	if (!empty($_POST['force_ssl']))
1256
-		$newSettings[] = array('force_ssl', 2);
1329
+	if (!empty($_POST['force_ssl'])) {
1330
+			$newSettings[] = array('force_ssl', 2);
1331
+	}
1257 1332
 
1258 1333
 	// Setting a timezone is required.
1259 1334
 	if (!isset($modSettings['default_timezone']) && function_exists('date_default_timezone_set'))
1260 1335
 	{
1261 1336
 		// Get PHP's default timezone, if set
1262 1337
 		$ini_tz = ini_get('date.timezone');
1263
-		if (!empty($ini_tz))
1264
-			$timezone_id = $ini_tz;
1265
-		else
1266
-			$timezone_id = '';
1338
+		if (!empty($ini_tz)) {
1339
+					$timezone_id = $ini_tz;
1340
+		} else {
1341
+					$timezone_id = '';
1342
+		}
1267 1343
 
1268 1344
 		// If date.timezone is unset, invalid, or just plain weird, make a best guess
1269 1345
 		if (!in_array($timezone_id, timezone_identifiers_list()))
@@ -1272,8 +1348,9 @@  discard block
 block discarded – undo
1272 1348
 			$timezone_id = timezone_name_from_abbr('', $server_offset, 0);
1273 1349
 		}
1274 1350
 
1275
-		if (date_default_timezone_set($timezone_id))
1276
-			$newSettings[] = array('default_timezone', $timezone_id);
1351
+		if (date_default_timezone_set($timezone_id)) {
1352
+					$newSettings[] = array('default_timezone', $timezone_id);
1353
+		}
1277 1354
 	}
1278 1355
 
1279 1356
 	if (!empty($newSettings))
@@ -1304,16 +1381,18 @@  discard block
 block discarded – undo
1304 1381
 	}
1305 1382
 
1306 1383
 	// MySQL specific stuff
1307
-	if (substr($db_type, 0, 5) != 'mysql')
1308
-		return false;
1384
+	if (substr($db_type, 0, 5) != 'mysql') {
1385
+			return false;
1386
+	}
1309 1387
 
1310 1388
 	// Find database user privileges.
1311 1389
 	$privs = array();
1312 1390
 	$get_privs = $smcFunc['db_query']('', 'SHOW PRIVILEGES', array());
1313 1391
 	while ($row = $smcFunc['db_fetch_assoc']($get_privs))
1314 1392
 	{
1315
-		if ($row['Privilege'] == 'Alter')
1316
-			$privs[] = $row['Privilege'];
1393
+		if ($row['Privilege'] == 'Alter') {
1394
+					$privs[] = $row['Privilege'];
1395
+		}
1317 1396
 	}
1318 1397
 	$smcFunc['db_free_result']($get_privs);
1319 1398
 
@@ -1343,8 +1422,9 @@  discard block
 block discarded – undo
1343 1422
 	$incontext['continue'] = 1;
1344 1423
 
1345 1424
 	// Skipping?
1346
-	if (!empty($_POST['skip']))
1347
-		return true;
1425
+	if (!empty($_POST['skip'])) {
1426
+			return true;
1427
+	}
1348 1428
 
1349 1429
 	// Need this to check whether we need the database password.
1350 1430
 	require(dirname(__FILE__) . '/Settings.php');
@@ -1357,18 +1437,22 @@  discard block
 block discarded – undo
1357 1437
 	// We need this to properly hash the password for Admin
1358 1438
 	$smcFunc['strtolower'] = $db_character_set != 'utf8' && $txt['lang_character_set'] != 'UTF-8' ? 'strtolower' : function($string) {
1359 1439
 			global $sourcedir;
1360
-			if (function_exists('mb_strtolower'))
1361
-				return mb_strtolower($string, 'UTF-8');
1440
+			if (function_exists('mb_strtolower')) {
1441
+							return mb_strtolower($string, 'UTF-8');
1442
+			}
1362 1443
 			require_once($sourcedir . '/Subs-Charset.php');
1363 1444
 			return utf8_strtolower($string);
1364 1445
 		};
1365 1446
 
1366
-	if (!isset($_POST['username']))
1367
-		$_POST['username'] = '';
1368
-	if (!isset($_POST['email']))
1369
-		$_POST['email'] = '';
1370
-	if (!isset($_POST['server_email']))
1371
-		$_POST['server_email'] = '';
1447
+	if (!isset($_POST['username'])) {
1448
+			$_POST['username'] = '';
1449
+	}
1450
+	if (!isset($_POST['email'])) {
1451
+			$_POST['email'] = '';
1452
+	}
1453
+	if (!isset($_POST['server_email'])) {
1454
+			$_POST['server_email'] = '';
1455
+	}
1372 1456
 
1373 1457
 	$incontext['username'] = htmlspecialchars(stripslashes($_POST['username']));
1374 1458
 	$incontext['email'] = htmlspecialchars(stripslashes($_POST['email']));
@@ -1387,8 +1471,9 @@  discard block
 block discarded – undo
1387 1471
 			'admin_group' => 1,
1388 1472
 		)
1389 1473
 	);
1390
-	if ($smcFunc['db_num_rows']($request) != 0)
1391
-		$incontext['skip'] = 1;
1474
+	if ($smcFunc['db_num_rows']($request) != 0) {
1475
+			$incontext['skip'] = 1;
1476
+	}
1392 1477
 	$smcFunc['db_free_result']($request);
1393 1478
 
1394 1479
 	// Trying to create an account?
@@ -1419,8 +1504,9 @@  discard block
 block discarded – undo
1419 1504
 		}
1420 1505
 
1421 1506
 		// Update the webmaster's email?
1422
-		if (!empty($_POST['server_email']) && (empty($webmaster_email) || $webmaster_email == '[email protected]'))
1423
-			updateSettingsFile(array('webmaster_email' => $_POST['server_email']));
1507
+		if (!empty($_POST['server_email']) && (empty($webmaster_email) || $webmaster_email == '[email protected]')) {
1508
+					updateSettingsFile(array('webmaster_email' => $_POST['server_email']));
1509
+		}
1424 1510
 
1425 1511
 		// Work out whether we're going to have dodgy characters and remove them.
1426 1512
 		$invalid_characters = preg_match('~[<>&"\'=\\\]~', $_POST['username']) != 0;
@@ -1443,32 +1529,27 @@  discard block
 block discarded – undo
1443 1529
 			$smcFunc['db_free_result']($result);
1444 1530
 
1445 1531
 			$incontext['account_existed'] = $txt['error_user_settings_taken'];
1446
-		}
1447
-		elseif ($_POST['username'] == '' || strlen($_POST['username']) > 25)
1532
+		} elseif ($_POST['username'] == '' || strlen($_POST['username']) > 25)
1448 1533
 		{
1449 1534
 			// Try the previous step again.
1450 1535
 			$incontext['error'] = $_POST['username'] == '' ? $txt['error_username_left_empty'] : $txt['error_username_too_long'];
1451 1536
 			return false;
1452
-		}
1453
-		elseif ($invalid_characters || $_POST['username'] == '_' || $_POST['username'] == '|' || strpos($_POST['username'], '[code') !== false || strpos($_POST['username'], '[/code') !== false)
1537
+		} elseif ($invalid_characters || $_POST['username'] == '_' || $_POST['username'] == '|' || strpos($_POST['username'], '[code') !== false || strpos($_POST['username'], '[/code') !== false)
1454 1538
 		{
1455 1539
 			// Try the previous step again.
1456 1540
 			$incontext['error'] = $txt['error_invalid_characters_username'];
1457 1541
 			return false;
1458
-		}
1459
-		elseif (empty($_POST['email']) || !filter_var(stripslashes($_POST['email']), FILTER_VALIDATE_EMAIL) || strlen(stripslashes($_POST['email'])) > 255)
1542
+		} elseif (empty($_POST['email']) || !filter_var(stripslashes($_POST['email']), FILTER_VALIDATE_EMAIL) || strlen(stripslashes($_POST['email'])) > 255)
1460 1543
 		{
1461 1544
 			// One step back, this time fill out a proper admin email address.
1462 1545
 			$incontext['error'] = sprintf($txt['error_valid_admin_email_needed'], $_POST['username']);
1463 1546
 			return false;
1464
-		}
1465
-		elseif (empty($_POST['server_email']) || !filter_var(stripslashes($_POST['server_email']), FILTER_VALIDATE_EMAIL) || strlen(stripslashes($_POST['server_email'])) > 255)
1547
+		} elseif (empty($_POST['server_email']) || !filter_var(stripslashes($_POST['server_email']), FILTER_VALIDATE_EMAIL) || strlen(stripslashes($_POST['server_email'])) > 255)
1466 1548
 		{
1467 1549
 			// One step back, this time fill out a proper admin email address.
1468 1550
 			$incontext['error'] = $txt['error_valid_server_email_needed'];
1469 1551
 			return false;
1470
-		}
1471
-		elseif ($_POST['username'] != '')
1552
+		} elseif ($_POST['username'] != '')
1472 1553
 		{
1473 1554
 			$incontext['member_salt'] = substr(md5(mt_rand()), 0, 4);
1474 1555
 
@@ -1543,17 +1624,19 @@  discard block
 block discarded – undo
1543 1624
 	require_once($sourcedir . '/Subs-Auth.php');
1544 1625
 
1545 1626
 	// Bring a warning over.
1546
-	if (!empty($incontext['account_existed']))
1547
-		$incontext['warning'] = $incontext['account_existed'];
1627
+	if (!empty($incontext['account_existed'])) {
1628
+			$incontext['warning'] = $incontext['account_existed'];
1629
+	}
1548 1630
 
1549
-	if (!empty($db_character_set) && !empty($databases[$db_type]['utf8_support']))
1550
-		$smcFunc['db_query']('', '
1631
+	if (!empty($db_character_set) && !empty($databases[$db_type]['utf8_support'])) {
1632
+			$smcFunc['db_query']('', '
1551 1633
 			SET NAMES {string:db_character_set}',
1552 1634
 			array(
1553 1635
 				'db_character_set' => $db_character_set,
1554 1636
 				'db_error_skip' => true,
1555 1637
 			)
1556 1638
 		);
1639
+	}
1557 1640
 
1558 1641
 	// As track stats is by default enabled let's add some activity.
1559 1642
 	$smcFunc['db_insert']('ignore',
@@ -1574,14 +1657,16 @@  discard block
 block discarded – undo
1574 1657
 	// Only proceed if we can load the data.
1575 1658
 	if ($request)
1576 1659
 	{
1577
-		while ($row = $smcFunc['db_fetch_row']($request))
1578
-			$modSettings[$row[0]] = $row[1];
1660
+		while ($row = $smcFunc['db_fetch_row']($request)) {
1661
+					$modSettings[$row[0]] = $row[1];
1662
+		}
1579 1663
 		$smcFunc['db_free_result']($request);
1580 1664
 	}
1581 1665
 
1582 1666
 	// Automatically log them in ;)
1583
-	if (isset($incontext['member_id']) && isset($incontext['member_salt']))
1584
-		setLoginCookie(3153600 * 60, $incontext['member_id'], hash_salt($_POST['password1'], $incontext['member_salt']));
1667
+	if (isset($incontext['member_id']) && isset($incontext['member_salt'])) {
1668
+			setLoginCookie(3153600 * 60, $incontext['member_id'], hash_salt($_POST['password1'], $incontext['member_salt']));
1669
+	}
1585 1670
 
1586 1671
 	$result = $smcFunc['db_query']('', '
1587 1672
 		SELECT value
@@ -1592,13 +1677,14 @@  discard block
 block discarded – undo
1592 1677
 			'db_error_skip' => true,
1593 1678
 		)
1594 1679
 	);
1595
-	if ($smcFunc['db_num_rows']($result) != 0)
1596
-		list ($db_sessions) = $smcFunc['db_fetch_row']($result);
1680
+	if ($smcFunc['db_num_rows']($result) != 0) {
1681
+			list ($db_sessions) = $smcFunc['db_fetch_row']($result);
1682
+	}
1597 1683
 	$smcFunc['db_free_result']($result);
1598 1684
 
1599
-	if (empty($db_sessions))
1600
-		$_SESSION['admin_time'] = time();
1601
-	else
1685
+	if (empty($db_sessions)) {
1686
+			$_SESSION['admin_time'] = time();
1687
+	} else
1602 1688
 	{
1603 1689
 		$_SERVER['HTTP_USER_AGENT'] = substr($_SERVER['HTTP_USER_AGENT'], 0, 211);
1604 1690
 
@@ -1622,8 +1708,9 @@  discard block
 block discarded – undo
1622 1708
 	$smcFunc['strtolower'] = $db_character_set != 'utf8' && $txt['lang_character_set'] != 'UTF-8' ? 'strtolower' :
1623 1709
 		function($string){
1624 1710
 			global $sourcedir;
1625
-			if (function_exists('mb_strtolower'))
1626
-				return mb_strtolower($string, 'UTF-8');
1711
+			if (function_exists('mb_strtolower')) {
1712
+							return mb_strtolower($string, 'UTF-8');
1713
+			}
1627 1714
 			require_once($sourcedir . '/Subs-Charset.php');
1628 1715
 			return utf8_strtolower($string);
1629 1716
 		};
@@ -1639,8 +1726,9 @@  discard block
 block discarded – undo
1639 1726
 		)
1640 1727
 	);
1641 1728
 	$context['utf8'] = $db_character_set === 'utf8' || $txt['lang_character_set'] === 'UTF-8';
1642
-	if ($smcFunc['db_num_rows']($request) > 0)
1643
-		updateStats('subject', 1, htmlspecialchars($txt['default_topic_subject']));
1729
+	if ($smcFunc['db_num_rows']($request) > 0) {
1730
+			updateStats('subject', 1, htmlspecialchars($txt['default_topic_subject']));
1731
+	}
1644 1732
 	$smcFunc['db_free_result']($request);
1645 1733
 
1646 1734
 	// Now is the perfect time to fetch the SM files.
@@ -1659,8 +1747,9 @@  discard block
 block discarded – undo
1659 1747
 
1660 1748
 	// Check if we need some stupid MySQL fix.
1661 1749
 	$server_version = $smcFunc['db_server_info']();
1662
-	if (($db_type == 'mysql' || $db_type == 'mysqli') && in_array(substr($server_version, 0, 6), array('5.0.50', '5.0.51')))
1663
-		updateSettings(array('db_mysql_group_by_fix' => '1'));
1750
+	if (($db_type == 'mysql' || $db_type == 'mysqli') && in_array(substr($server_version, 0, 6), array('5.0.50', '5.0.51'))) {
1751
+			updateSettings(array('db_mysql_group_by_fix' => '1'));
1752
+	}
1664 1753
 
1665 1754
 	// Some final context for the template.
1666 1755
 	$incontext['dir_still_writable'] = is_writable(dirname(__FILE__)) && substr(__FILE__, 1, 2) != ':\\';
@@ -1680,8 +1769,9 @@  discard block
 block discarded – undo
1680 1769
 	$settingsArray = file(dirname(__FILE__) . '/Settings.php');
1681 1770
 
1682 1771
 	// @todo Do we just want to read the file in clean, and split it this way always?
1683
-	if (count($settingsArray) == 1)
1684
-		$settingsArray = preg_split('~[\r\n]~', $settingsArray[0]);
1772
+	if (count($settingsArray) == 1) {
1773
+			$settingsArray = preg_split('~[\r\n]~', $settingsArray[0]);
1774
+	}
1685 1775
 
1686 1776
 	for ($i = 0, $n = count($settingsArray); $i < $n; $i++)
1687 1777
 	{
@@ -1696,19 +1786,22 @@  discard block
 block discarded – undo
1696 1786
 			continue;
1697 1787
 		}
1698 1788
 
1699
-		if (trim($settingsArray[$i]) == '?' . '>')
1700
-			$settingsArray[$i] = '';
1789
+		if (trim($settingsArray[$i]) == '?' . '>') {
1790
+					$settingsArray[$i] = '';
1791
+		}
1701 1792
 
1702 1793
 		// Don't trim or bother with it if it's not a variable.
1703
-		if (substr($settingsArray[$i], 0, 1) != '$')
1704
-			continue;
1794
+		if (substr($settingsArray[$i], 0, 1) != '$') {
1795
+					continue;
1796
+		}
1705 1797
 
1706 1798
 		$settingsArray[$i] = rtrim($settingsArray[$i]) . "\n";
1707 1799
 
1708
-		foreach ($vars as $var => $val)
1709
-			if (strncasecmp($settingsArray[$i], '$' . $var, 1 + strlen($var)) == 0)
1800
+		foreach ($vars as $var => $val) {
1801
+					if (strncasecmp($settingsArray[$i], '$' . $var, 1 + strlen($var)) == 0)
1710 1802
 			{
1711 1803
 				$comment = strstr($settingsArray[$i], '#');
1804
+		}
1712 1805
 				$settingsArray[$i] = '$' . $var . ' = \'' . $val . '\';' . ($comment != '' ? "\t\t" . $comment : "\n");
1713 1806
 				unset($vars[$var]);
1714 1807
 			}
@@ -1718,36 +1811,41 @@  discard block
 block discarded – undo
1718 1811
 	if (!empty($vars))
1719 1812
 	{
1720 1813
 		$settingsArray[$i++] = '';
1721
-		foreach ($vars as $var => $val)
1722
-			$settingsArray[$i++] = '$' . $var . ' = \'' . $val . '\';' . "\n";
1814
+		foreach ($vars as $var => $val) {
1815
+					$settingsArray[$i++] = '$' . $var . ' = \'' . $val . '\';' . "\n";
1816
+		}
1723 1817
 	}
1724 1818
 
1725 1819
 	// Blank out the file - done to fix a oddity with some servers.
1726 1820
 	$fp = @fopen(dirname(__FILE__) . '/Settings.php', 'w');
1727
-	if (!$fp)
1728
-		return false;
1821
+	if (!$fp) {
1822
+			return false;
1823
+	}
1729 1824
 	fclose($fp);
1730 1825
 
1731 1826
 	$fp = fopen(dirname(__FILE__) . '/Settings.php', 'r+');
1732 1827
 
1733 1828
 	// Gotta have one of these ;)
1734
-	if (trim($settingsArray[0]) != '<?php')
1735
-		fwrite($fp, "<?php\n");
1829
+	if (trim($settingsArray[0]) != '<?php') {
1830
+			fwrite($fp, "<?php\n");
1831
+	}
1736 1832
 
1737 1833
 	$lines = count($settingsArray);
1738 1834
 	for ($i = 0; $i < $lines - 1; $i++)
1739 1835
 	{
1740 1836
 		// Don't just write a bunch of blank lines.
1741
-		if ($settingsArray[$i] != '' || @$settingsArray[$i - 1] != '')
1742
-			fwrite($fp, strtr($settingsArray[$i], "\r", ''));
1837
+		if ($settingsArray[$i] != '' || @$settingsArray[$i - 1] != '') {
1838
+					fwrite($fp, strtr($settingsArray[$i], "\r", ''));
1839
+		}
1743 1840
 	}
1744 1841
 	fwrite($fp, $settingsArray[$i] . '?' . '>');
1745 1842
 	fclose($fp);
1746 1843
 
1747 1844
 	// Even though on normal installations the filemtime should prevent this being used by the installer incorrectly
1748 1845
 	// it seems that there are times it might not. So let's MAKE it dump the cache.
1749
-	if (function_exists('opcache_invalidate'))
1750
-		opcache_invalidate(dirname(__FILE__) . '/Settings.php', true);
1846
+	if (function_exists('opcache_invalidate')) {
1847
+			opcache_invalidate(dirname(__FILE__) . '/Settings.php', true);
1848
+	}
1751 1849
 
1752 1850
 	return true;
1753 1851
 }
@@ -1772,9 +1870,9 @@  discard block
 block discarded – undo
1772 1870
 	SecFilterScanPOST Off
1773 1871
 </IfModule>';
1774 1872
 
1775
-	if (!function_exists('apache_get_modules') || !in_array('mod_security', apache_get_modules()))
1776
-		return true;
1777
-	elseif (file_exists(dirname(__FILE__) . '/.htaccess') && is_writable(dirname(__FILE__) . '/.htaccess'))
1873
+	if (!function_exists('apache_get_modules') || !in_array('mod_security', apache_get_modules())) {
1874
+			return true;
1875
+	} elseif (file_exists(dirname(__FILE__) . '/.htaccess') && is_writable(dirname(__FILE__) . '/.htaccess'))
1778 1876
 	{
1779 1877
 		$current_htaccess = implode('', file(dirname(__FILE__) . '/.htaccess'));
1780 1878
 
@@ -1786,29 +1884,28 @@  discard block
 block discarded – undo
1786 1884
 				fwrite($ht_handle, $htaccess_addition);
1787 1885
 				fclose($ht_handle);
1788 1886
 				return true;
1887
+			} else {
1888
+							return false;
1789 1889
 			}
1790
-			else
1791
-				return false;
1890
+		} else {
1891
+					return true;
1792 1892
 		}
1793
-		else
1794
-			return true;
1795
-	}
1796
-	elseif (file_exists(dirname(__FILE__) . '/.htaccess'))
1797
-		return strpos(implode('', file(dirname(__FILE__) . '/.htaccess')), '<IfModule mod_security.c>') !== false;
1798
-	elseif (is_writable(dirname(__FILE__)))
1893
+	} elseif (file_exists(dirname(__FILE__) . '/.htaccess')) {
1894
+			return strpos(implode('', file(dirname(__FILE__) . '/.htaccess')), '<IfModule mod_security.c>') !== false;
1895
+	} elseif (is_writable(dirname(__FILE__)))
1799 1896
 	{
1800 1897
 		if ($ht_handle = fopen(dirname(__FILE__) . '/.htaccess', 'w'))
1801 1898
 		{
1802 1899
 			fwrite($ht_handle, $htaccess_addition);
1803 1900
 			fclose($ht_handle);
1804 1901
 			return true;
1902
+		} else {
1903
+					return false;
1805 1904
 		}
1806
-		else
1905
+	} else {
1807 1906
 			return false;
1808 1907
 	}
1809
-	else
1810
-		return false;
1811
-}
1908
+	}
1812 1909
 
1813 1910
 function template_install_above()
1814 1911
 {
@@ -1846,9 +1943,10 @@  discard block
 block discarded – undo
1846 1943
 								<label for="installer_language">', $txt['installer_language'], ':</label>
1847 1944
 								<select id="installer_language" name="lang_file" onchange="location.href = \'', $installurl, '?lang_file=\' + this.options[this.selectedIndex].value;">';
1848 1945
 
1849
-		foreach ($incontext['detected_languages'] as $lang => $name)
1850
-			echo '
1946
+		foreach ($incontext['detected_languages'] as $lang => $name) {
1947
+					echo '
1851 1948
 									<option', isset($_SESSION['installer_temp_lang']) && $_SESSION['installer_temp_lang'] == $lang ? ' selected' : '', ' value="', $lang, '">', $name, '</option>';
1949
+		}
1852 1950
 
1853 1951
 		echo '
1854 1952
 								</select>
@@ -1868,9 +1966,10 @@  discard block
 block discarded – undo
1868 1966
 						<h2>', $txt['upgrade_progress'], '</h2>
1869 1967
 						<ul>';
1870 1968
 
1871
-	foreach ($incontext['steps'] as $num => $step)
1872
-		echo '
1969
+	foreach ($incontext['steps'] as $num => $step) {
1970
+			echo '
1873 1971
 							<li class="', $num < $incontext['current_step'] ? 'stepdone' : ($num == $incontext['current_step'] ? 'stepcurrent' : 'stepwaiting'), '">', $txt['upgrade_step'], ' ', $step[0], ': ', $step[1], '</li>';
1972
+	}
1874 1973
 
1875 1974
 	echo '
1876 1975
 						</ul>
@@ -1895,20 +1994,23 @@  discard block
 block discarded – undo
1895 1994
 		echo '
1896 1995
 								<div>';
1897 1996
 
1898
-		if (!empty($incontext['continue']))
1899
-			echo '
1997
+		if (!empty($incontext['continue'])) {
1998
+					echo '
1900 1999
 									<input type="submit" id="contbutt" name="contbutt" value="', $txt['upgrade_continue'], '" onclick="return submitThisOnce(this);" class="button_submit" />';
1901
-		if (!empty($incontext['skip']))
1902
-			echo '
2000
+		}
2001
+		if (!empty($incontext['skip'])) {
2002
+					echo '
1903 2003
 									<input type="submit" id="skip" name="skip" value="', $txt['upgrade_skip'], '" onclick="return submitThisOnce(this);" class="button_submit" />';
2004
+		}
1904 2005
 		echo '
1905 2006
 								</div>';
1906 2007
 	}
1907 2008
 
1908 2009
 	// Show the closing form tag and other data only if not in the last step
1909
-	if (count($incontext['steps']) - 1 !== (int) $incontext['current_step'])
1910
-		echo '
2010
+	if (count($incontext['steps']) - 1 !== (int) $incontext['current_step']) {
2011
+			echo '
1911 2012
 							</form>';
2013
+	}
1912 2014
 
1913 2015
 	echo '
1914 2016
 						</div>
@@ -1943,13 +2045,15 @@  discard block
 block discarded – undo
1943 2045
 		</div>';
1944 2046
 
1945 2047
 	// Show the warnings, or not.
1946
-	if (template_warning_divs())
1947
-		echo '
2048
+	if (template_warning_divs()) {
2049
+			echo '
1948 2050
 		<h3>', $txt['install_all_lovely'], '</h3>';
2051
+	}
1949 2052
 
1950 2053
 	// Say we want the continue button!
1951
-	if (empty($incontext['error']))
1952
-		$incontext['continue'] = 1;
2054
+	if (empty($incontext['error'])) {
2055
+			$incontext['continue'] = 1;
2056
+	}
1953 2057
 
1954 2058
 	// For the latest version stuff.
1955 2059
 	echo '
@@ -1983,8 +2087,8 @@  discard block
 block discarded – undo
1983 2087
 	global $txt, $incontext;
1984 2088
 
1985 2089
 	// Errors are very serious..
1986
-	if (!empty($incontext['error']))
1987
-		echo '
2090
+	if (!empty($incontext['error'])) {
2091
+			echo '
1988 2092
 		<div style="margin: 2ex; padding: 2ex; border: 2px dashed #cc3344; color: black; background-color: #ffe4e9;">
1989 2093
 			<div style="float: left; width: 2ex; font-size: 2em; color: red;">!!</div>
1990 2094
 			<strong style="text-decoration: underline;">', $txt['upgrade_critical_error'], '</strong><br>
@@ -1992,9 +2096,10 @@  discard block
 block discarded – undo
1992 2096
 				', $incontext['error'], '
1993 2097
 			</div>
1994 2098
 		</div>';
2099
+	}
1995 2100
 	// A warning message?
1996
-	elseif (!empty($incontext['warning']))
1997
-		echo '
2101
+	elseif (!empty($incontext['warning'])) {
2102
+			echo '
1998 2103
 		<div style="margin: 2ex; padding: 2ex; border: 2px dashed #cc3344; color: black; background-color: #ffe4e9;">
1999 2104
 			<div style="float: left; width: 2ex; font-size: 2em; color: red;">!!</div>
2000 2105
 			<strong style="text-decoration: underline;">', $txt['upgrade_warning'], '</strong><br>
@@ -2002,6 +2107,7 @@  discard block
 block discarded – undo
2002 2107
 				', $incontext['warning'], '
2003 2108
 			</div>
2004 2109
 		</div>';
2110
+	}
2005 2111
 
2006 2112
 	return empty($incontext['error']) && empty($incontext['warning']);
2007 2113
 }
@@ -2017,27 +2123,30 @@  discard block
 block discarded – undo
2017 2123
 			<li>', $incontext['failed_files']), '</li>
2018 2124
 		</ul>';
2019 2125
 
2020
-	if (isset($incontext['systemos'], $incontext['detected_path']) && $incontext['systemos'] == 'linux')
2021
-		echo '
2126
+	if (isset($incontext['systemos'], $incontext['detected_path']) && $incontext['systemos'] == 'linux') {
2127
+			echo '
2022 2128
 		<hr>
2023 2129
 		<p>', $txt['chmod_linux_info'], '</p>
2024 2130
 		<tt># chmod a+w ', implode(' ' . $incontext['detected_path'] . '/', $incontext['failed_files']), '</tt>';
2131
+	}
2025 2132
 
2026 2133
 	// This is serious!
2027
-	if (!template_warning_divs())
2028
-		return;
2134
+	if (!template_warning_divs()) {
2135
+			return;
2136
+	}
2029 2137
 
2030 2138
 	echo '
2031 2139
 		<hr>
2032 2140
 		<p>', $txt['ftp_setup_info'], '</p>';
2033 2141
 
2034
-	if (!empty($incontext['ftp_errors']))
2035
-		echo '
2142
+	if (!empty($incontext['ftp_errors'])) {
2143
+			echo '
2036 2144
 		<div class="error_message">
2037 2145
 			', $txt['error_ftp_no_connect'], '<br><br>
2038 2146
 			<code>', implode('<br>', $incontext['ftp_errors']), '</code>
2039 2147
 		</div>
2040 2148
 		<br>';
2149
+	}
2041 2150
 
2042 2151
 	echo '
2043 2152
 		<form action="', $incontext['form_url'], '" method="post">
@@ -2097,17 +2206,17 @@  discard block
 block discarded – undo
2097 2206
 				<td>
2098 2207
 					<select name="db_type" id="db_type_input" onchange="toggleDBInput();">';
2099 2208
 
2100
-	foreach ($incontext['supported_databases'] as $key => $db)
2101
-			echo '
2209
+	foreach ($incontext['supported_databases'] as $key => $db) {
2210
+				echo '
2102 2211
 						<option value="', $key, '"', isset($_POST['db_type']) && $_POST['db_type'] == $key ? ' selected' : '', '>', $db['name'], '</option>';
2212
+	}
2103 2213
 
2104 2214
 	echo '
2105 2215
 					</select>
2106 2216
 					<div class="smalltext block">', $txt['db_settings_type_info'], '</div>
2107 2217
 				</td>
2108 2218
 			</tr>';
2109
-	}
2110
-	else
2219
+	} else
2111 2220
 	{
2112 2221
 		echo '
2113 2222
 			<tr style="display: none;">
@@ -2299,9 +2408,10 @@  discard block
 block discarded – undo
2299 2408
 				<div style="color: red;">', $txt['error_db_queries'], '</div>
2300 2409
 				<ul>';
2301 2410
 
2302
-		foreach ($incontext['failures'] as $line => $fail)
2303
-			echo '
2411
+		foreach ($incontext['failures'] as $line => $fail) {
2412
+					echo '
2304 2413
 						<li><strong>', $txt['error_db_queries_line'], $line + 1, ':</strong> ', nl2br(htmlspecialchars($fail)), '</li>';
2414
+		}
2305 2415
 
2306 2416
 		echo '
2307 2417
 				</ul>';
@@ -2362,15 +2472,16 @@  discard block
 block discarded – undo
2362 2472
 			</tr>
2363 2473
 		</table>';
2364 2474
 
2365
-	if ($incontext['require_db_confirm'])
2366
-		echo '
2475
+	if ($incontext['require_db_confirm']) {
2476
+			echo '
2367 2477
 		<h2>', $txt['user_settings_database'], '</h2>
2368 2478
 		<p>', $txt['user_settings_database_info'], '</p>
2369 2479
 
2370 2480
 		<div style="margin-bottom: 2ex; padding-', $txt['lang_rtl'] == false ? 'left' : 'right', ': 50px;">
2371 2481
 			<input type="password" name="password3" size="30" class="input_password" />
2372 2482
 		</div>';
2373
-}
2483
+	}
2484
+	}
2374 2485
 
2375 2486
 // Tell them it's done, and to delete.
2376 2487
 function template_delete_install()
@@ -2383,14 +2494,15 @@  discard block
 block discarded – undo
2383 2494
 	template_warning_divs();
2384 2495
 
2385 2496
 	// Install directory still writable?
2386
-	if ($incontext['dir_still_writable'])
2387
-		echo '
2497
+	if ($incontext['dir_still_writable']) {
2498
+			echo '
2388 2499
 		<em>', $txt['still_writable'], '</em><br>
2389 2500
 		<br>';
2501
+	}
2390 2502
 
2391 2503
 	// Don't show the box if it's like 99% sure it won't work :P.
2392
-	if ($incontext['probably_delete_install'])
2393
-		echo '
2504
+	if ($incontext['probably_delete_install']) {
2505
+			echo '
2394 2506
 		<div style="margin: 1ex; font-weight: bold;">
2395 2507
 			<label for="delete_self"><input type="checkbox" id="delete_self" onclick="doTheDelete();" class="input_check" /> ', $txt['delete_installer'], !isset($_SESSION['installer_temp_ftp']) ? ' ' . $txt['delete_installer_maybe'] : '', '</label>
2396 2508
 		</div>
@@ -2406,6 +2518,7 @@  discard block
 block discarded – undo
2406 2518
 			}
2407 2519
 		</script>
2408 2520
 		<br>';
2521
+	}
2409 2522
 
2410 2523
 	echo '
2411 2524
 		', sprintf($txt['go_to_your_forum'], $boardurl . '/index.php'), '<br>
Please login to merge, or discard this patch.
Sources/Subs.php 1 patch
Braces   +1279 added lines, -950 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 3
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
  * Update some basic statistics.
@@ -122,10 +123,11 @@  discard block
 block discarded – undo
122 123
 						$smcFunc['db_free_result']($result);
123 124
 
124 125
 						// Add this to the number of unapproved members
125
-						if (!empty($changes['unapprovedMembers']))
126
-							$changes['unapprovedMembers'] += $coppa_approvals;
127
-						else
128
-							$changes['unapprovedMembers'] = $coppa_approvals;
126
+						if (!empty($changes['unapprovedMembers'])) {
127
+													$changes['unapprovedMembers'] += $coppa_approvals;
128
+						} else {
129
+													$changes['unapprovedMembers'] = $coppa_approvals;
130
+						}
129 131
 					}
130 132
 				}
131 133
 			}
@@ -133,9 +135,9 @@  discard block
 block discarded – undo
133 135
 			break;
134 136
 
135 137
 		case 'message':
136
-			if ($parameter1 === true && $parameter2 !== null)
137
-				updateSettings(array('totalMessages' => true, 'maxMsgID' => $parameter2), true);
138
-			else
138
+			if ($parameter1 === true && $parameter2 !== null) {
139
+							updateSettings(array('totalMessages' => true, 'maxMsgID' => $parameter2), true);
140
+			} else
139 141
 			{
140 142
 				// SUM and MAX on a smaller table is better for InnoDB tables.
141 143
 				$result = $smcFunc['db_query']('', '
@@ -175,23 +177,25 @@  discard block
 block discarded – undo
175 177
 				$parameter2 = text2words($parameter2);
176 178
 
177 179
 				$inserts = array();
178
-				foreach ($parameter2 as $word)
179
-					$inserts[] = array($word, $parameter1);
180
+				foreach ($parameter2 as $word) {
181
+									$inserts[] = array($word, $parameter1);
182
+				}
180 183
 
181
-				if (!empty($inserts))
182
-					$smcFunc['db_insert']('ignore',
184
+				if (!empty($inserts)) {
185
+									$smcFunc['db_insert']('ignore',
183 186
 						'{db_prefix}log_search_subjects',
184 187
 						array('word' => 'string', 'id_topic' => 'int'),
185 188
 						$inserts,
186 189
 						array('word', 'id_topic')
187 190
 					);
191
+				}
188 192
 			}
189 193
 			break;
190 194
 
191 195
 		case 'topic':
192
-			if ($parameter1 === true)
193
-				updateSettings(array('totalTopics' => true), true);
194
-			else
196
+			if ($parameter1 === true) {
197
+							updateSettings(array('totalTopics' => true), true);
198
+			} else
195 199
 			{
196 200
 				// Get the number of topics - a SUM is better for InnoDB tables.
197 201
 				// We also ignore the recycle bin here because there will probably be a bunch of one-post topics there.
@@ -212,8 +216,9 @@  discard block
 block discarded – undo
212 216
 
213 217
 		case 'postgroups':
214 218
 			// Parameter two is the updated columns: we should check to see if we base groups off any of these.
215
-			if ($parameter2 !== null && !in_array('posts', $parameter2))
216
-				return;
219
+			if ($parameter2 !== null && !in_array('posts', $parameter2)) {
220
+							return;
221
+			}
217 222
 
218 223
 			$postgroups = cache_get_data('updateStats:postgroups', 360);
219 224
 			if ($postgroups == null || $parameter1 == null)
@@ -228,8 +233,9 @@  discard block
 block discarded – undo
228 233
 					)
229 234
 				);
230 235
 				$postgroups = array();
231
-				while ($row = $smcFunc['db_fetch_assoc']($request))
232
-					$postgroups[$row['id_group']] = $row['min_posts'];
236
+				while ($row = $smcFunc['db_fetch_assoc']($request)) {
237
+									$postgroups[$row['id_group']] = $row['min_posts'];
238
+				}
233 239
 				$smcFunc['db_free_result']($request);
234 240
 
235 241
 				// Sort them this way because if it's done with MySQL it causes a filesort :(.
@@ -239,8 +245,9 @@  discard block
 block discarded – undo
239 245
 			}
240 246
 
241 247
 			// Oh great, they've screwed their post groups.
242
-			if (empty($postgroups))
243
-				return;
248
+			if (empty($postgroups)) {
249
+							return;
250
+			}
244 251
 
245 252
 			// Set all membergroups from most posts to least posts.
246 253
 			$conditions = '';
@@ -298,10 +305,9 @@  discard block
 block discarded – undo
298 305
 	{
299 306
 		$condition = 'id_member IN ({array_int:members})';
300 307
 		$parameters['members'] = $members;
301
-	}
302
-	elseif ($members === null)
303
-		$condition = '1=1';
304
-	else
308
+	} elseif ($members === null) {
309
+			$condition = '1=1';
310
+	} else
305 311
 	{
306 312
 		$condition = 'id_member = {int:member}';
307 313
 		$parameters['member'] = $members;
@@ -341,9 +347,9 @@  discard block
 block discarded – undo
341 347
 		if (count($vars_to_integrate) != 0)
342 348
 		{
343 349
 			// Fetch a list of member_names if necessary
344
-			if ((!is_array($members) && $members === $user_info['id']) || (is_array($members) && count($members) == 1 && in_array($user_info['id'], $members)))
345
-				$member_names = array($user_info['username']);
346
-			else
350
+			if ((!is_array($members) && $members === $user_info['id']) || (is_array($members) && count($members) == 1 && in_array($user_info['id'], $members))) {
351
+							$member_names = array($user_info['username']);
352
+			} else
347 353
 			{
348 354
 				$member_names = array();
349 355
 				$request = $smcFunc['db_query']('', '
@@ -352,14 +358,16 @@  discard block
 block discarded – undo
352 358
 					WHERE ' . $condition,
353 359
 					$parameters
354 360
 				);
355
-				while ($row = $smcFunc['db_fetch_assoc']($request))
356
-					$member_names[] = $row['member_name'];
361
+				while ($row = $smcFunc['db_fetch_assoc']($request)) {
362
+									$member_names[] = $row['member_name'];
363
+				}
357 364
 				$smcFunc['db_free_result']($request);
358 365
 			}
359 366
 
360
-			if (!empty($member_names))
361
-				foreach ($vars_to_integrate as $var)
367
+			if (!empty($member_names)) {
368
+							foreach ($vars_to_integrate as $var)
362 369
 					call_integration_hook('integrate_change_member_data', array($member_names, $var, &$data[$var], &$knownInts, &$knownFloats));
370
+			}
363 371
 		}
364 372
 	}
365 373
 
@@ -367,16 +375,17 @@  discard block
 block discarded – undo
367 375
 	foreach ($data as $var => $val)
368 376
 	{
369 377
 		$type = 'string';
370
-		if (in_array($var, $knownInts))
371
-			$type = 'int';
372
-		elseif (in_array($var, $knownFloats))
373
-			$type = 'float';
374
-		elseif ($var == 'birthdate')
375
-			$type = 'date';
376
-		elseif ($var == 'member_ip')
377
-			$type = 'inet';
378
-		elseif ($var == 'member_ip2')
379
-			$type = 'inet';
378
+		if (in_array($var, $knownInts)) {
379
+					$type = 'int';
380
+		} elseif (in_array($var, $knownFloats)) {
381
+					$type = 'float';
382
+		} elseif ($var == 'birthdate') {
383
+					$type = 'date';
384
+		} elseif ($var == 'member_ip') {
385
+					$type = 'inet';
386
+		} elseif ($var == 'member_ip2') {
387
+					$type = 'inet';
388
+		}
380 389
 
381 390
 		// Doing an increment?
382 391
 		if ($type == 'int' && ($val === '+' || $val === '-'))
@@ -390,8 +399,9 @@  discard block
 block discarded – undo
390 399
 		{
391 400
 			if (preg_match('~^' . $var . ' (\+ |- |\+ -)([\d]+)~', $val, $match))
392 401
 			{
393
-				if ($match[1] != '+ ')
394
-					$val = 'CASE WHEN ' . $var . ' <= ' . abs($match[2]) . ' THEN 0 ELSE ' . $val . ' END';
402
+				if ($match[1] != '+ ') {
403
+									$val = 'CASE WHEN ' . $var . ' <= ' . abs($match[2]) . ' THEN 0 ELSE ' . $val . ' END';
404
+				}
395 405
 				$type = 'raw';
396 406
 			}
397 407
 		}
@@ -412,8 +422,9 @@  discard block
 block discarded – undo
412 422
 	// Clear any caching?
413 423
 	if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2 && !empty($members))
414 424
 	{
415
-		if (!is_array($members))
416
-			$members = array($members);
425
+		if (!is_array($members)) {
426
+					$members = array($members);
427
+		}
417 428
 
418 429
 		foreach ($members as $member)
419 430
 		{
@@ -446,29 +457,32 @@  discard block
 block discarded – undo
446 457
 {
447 458
 	global $modSettings, $smcFunc;
448 459
 
449
-	if (empty($changeArray) || !is_array($changeArray))
450
-		return;
460
+	if (empty($changeArray) || !is_array($changeArray)) {
461
+			return;
462
+	}
451 463
 
452 464
 	$toRemove = array();
453 465
 
454 466
 	// Go check if there is any setting to be removed.
455
-	foreach ($changeArray as $k => $v)
456
-		if ($v === null)
467
+	foreach ($changeArray as $k => $v) {
468
+			if ($v === null)
457 469
 		{
458 470
 			// Found some, remove them from the original array and add them to ours.
459 471
 			unset($changeArray[$k]);
472
+	}
460 473
 			$toRemove[] = $k;
461 474
 		}
462 475
 
463 476
 	// Proceed with the deletion.
464
-	if (!empty($toRemove))
465
-		$smcFunc['db_query']('', '
477
+	if (!empty($toRemove)) {
478
+			$smcFunc['db_query']('', '
466 479
 			DELETE FROM {db_prefix}settings
467 480
 			WHERE variable IN ({array_string:remove})',
468 481
 			array(
469 482
 				'remove' => $toRemove,
470 483
 			)
471 484
 		);
485
+	}
472 486
 
473 487
 	// In some cases, this may be better and faster, but for large sets we don't want so many UPDATEs.
474 488
 	if ($update)
@@ -497,19 +511,22 @@  discard block
 block discarded – undo
497 511
 	foreach ($changeArray as $variable => $value)
498 512
 	{
499 513
 		// Don't bother if it's already like that ;).
500
-		if (isset($modSettings[$variable]) && $modSettings[$variable] == $value)
501
-			continue;
514
+		if (isset($modSettings[$variable]) && $modSettings[$variable] == $value) {
515
+					continue;
516
+		}
502 517
 		// If the variable isn't set, but would only be set to nothing'ness, then don't bother setting it.
503
-		elseif (!isset($modSettings[$variable]) && empty($value))
504
-			continue;
518
+		elseif (!isset($modSettings[$variable]) && empty($value)) {
519
+					continue;
520
+		}
505 521
 
506 522
 		$replaceArray[] = array($variable, $value);
507 523
 
508 524
 		$modSettings[$variable] = $value;
509 525
 	}
510 526
 
511
-	if (empty($replaceArray))
512
-		return;
527
+	if (empty($replaceArray)) {
528
+			return;
529
+	}
513 530
 
514 531
 	$smcFunc['db_insert']('replace',
515 532
 		'{db_prefix}settings',
@@ -555,14 +572,17 @@  discard block
 block discarded – undo
555 572
 	$start_invalid = $start < 0;
556 573
 
557 574
 	// Make sure $start is a proper variable - not less than 0.
558
-	if ($start_invalid)
559
-		$start = 0;
575
+	if ($start_invalid) {
576
+			$start = 0;
577
+	}
560 578
 	// Not greater than the upper bound.
561
-	elseif ($start >= $max_value)
562
-		$start = max(0, (int) $max_value - (((int) $max_value % (int) $num_per_page) == 0 ? $num_per_page : ((int) $max_value % (int) $num_per_page)));
579
+	elseif ($start >= $max_value) {
580
+			$start = max(0, (int) $max_value - (((int) $max_value % (int) $num_per_page) == 0 ? $num_per_page : ((int) $max_value % (int) $num_per_page)));
581
+	}
563 582
 	// And it has to be a multiple of $num_per_page!
564
-	else
565
-		$start = max(0, (int) $start - ((int) $start % (int) $num_per_page));
583
+	else {
584
+			$start = max(0, (int) $start - ((int) $start % (int) $num_per_page));
585
+	}
566 586
 
567 587
 	$context['current_page'] = $start / $num_per_page;
568 588
 
@@ -592,77 +612,87 @@  discard block
 block discarded – undo
592 612
 
593 613
 		// Show all the pages.
594 614
 		$display_page = 1;
595
-		for ($counter = 0; $counter < $max_value; $counter += $num_per_page)
596
-			$pageindex .= $start == $counter && !$start_invalid ? sprintf($settings['page_index']['current_page'], $display_page++) : sprintf($base_link, $counter, $display_page++);
615
+		for ($counter = 0; $counter < $max_value; $counter += $num_per_page) {
616
+					$pageindex .= $start == $counter && !$start_invalid ? sprintf($settings['page_index']['current_page'], $display_page++) : sprintf($base_link, $counter, $display_page++);
617
+		}
597 618
 
598 619
 		// Show the right arrow.
599 620
 		$display_page = ($start + $num_per_page) > $max_value ? $max_value : ($start + $num_per_page);
600
-		if ($start != $counter - $max_value && !$start_invalid)
601
-			$pageindex .= $display_page > $counter - $num_per_page ? ' ' : sprintf($base_link, $display_page, $settings['page_index']['next_page']);
602
-	}
603
-	else
621
+		if ($start != $counter - $max_value && !$start_invalid) {
622
+					$pageindex .= $display_page > $counter - $num_per_page ? ' ' : sprintf($base_link, $display_page, $settings['page_index']['next_page']);
623
+		}
624
+	} else
604 625
 	{
605 626
 		// If they didn't enter an odd value, pretend they did.
606 627
 		$PageContiguous = (int) ($modSettings['compactTopicPagesContiguous'] - ($modSettings['compactTopicPagesContiguous'] % 2)) / 2;
607 628
 
608 629
 		// Show the "prev page" link. (>prev page< 1 ... 6 7 [8] 9 10 ... 15 next page)
609
-		if (!empty($start) && $show_prevnext)
610
-			$pageindex .= sprintf($base_link, $start - $num_per_page, $settings['page_index']['previous_page']);
611
-		else
612
-			$pageindex .= '';
630
+		if (!empty($start) && $show_prevnext) {
631
+					$pageindex .= sprintf($base_link, $start - $num_per_page, $settings['page_index']['previous_page']);
632
+		} else {
633
+					$pageindex .= '';
634
+		}
613 635
 
614 636
 		// Show the first page. (prev page >1< ... 6 7 [8] 9 10 ... 15)
615
-		if ($start > $num_per_page * $PageContiguous)
616
-			$pageindex .= sprintf($base_link, 0, '1');
637
+		if ($start > $num_per_page * $PageContiguous) {
638
+					$pageindex .= sprintf($base_link, 0, '1');
639
+		}
617 640
 
618 641
 		// Show the ... after the first page.  (prev page 1 >...< 6 7 [8] 9 10 ... 15 next page)
619
-		if ($start > $num_per_page * ($PageContiguous + 1))
620
-			$pageindex .= strtr($settings['page_index']['expand_pages'], array(
642
+		if ($start > $num_per_page * ($PageContiguous + 1)) {
643
+					$pageindex .= strtr($settings['page_index']['expand_pages'], array(
621 644
 				'{LINK}' => JavaScriptEscape($smcFunc['htmlspecialchars']($base_link)),
622 645
 				'{FIRST_PAGE}' => $num_per_page,
623 646
 				'{LAST_PAGE}' => $start - $num_per_page * $PageContiguous,
624 647
 				'{PER_PAGE}' => $num_per_page,
625 648
 			));
649
+		}
626 650
 
627 651
 		// Show the pages before the current one. (prev page 1 ... >6 7< [8] 9 10 ... 15 next page)
628
-		for ($nCont = $PageContiguous; $nCont >= 1; $nCont--)
629
-			if ($start >= $num_per_page * $nCont)
652
+		for ($nCont = $PageContiguous; $nCont >= 1; $nCont--) {
653
+					if ($start >= $num_per_page * $nCont)
630 654
 			{
631 655
 				$tmpStart = $start - $num_per_page * $nCont;
656
+		}
632 657
 				$pageindex .= sprintf($base_link, $tmpStart, $tmpStart / $num_per_page + 1);
633 658
 			}
634 659
 
635 660
 		// Show the current page. (prev page 1 ... 6 7 >[8]< 9 10 ... 15 next page)
636
-		if (!$start_invalid)
637
-			$pageindex .= sprintf($settings['page_index']['current_page'], $start / $num_per_page + 1);
638
-		else
639
-			$pageindex .= sprintf($base_link, $start, $start / $num_per_page + 1);
661
+		if (!$start_invalid) {
662
+					$pageindex .= sprintf($settings['page_index']['current_page'], $start / $num_per_page + 1);
663
+		} else {
664
+					$pageindex .= sprintf($base_link, $start, $start / $num_per_page + 1);
665
+		}
640 666
 
641 667
 		// Show the pages after the current one... (prev page 1 ... 6 7 [8] >9 10< ... 15 next page)
642 668
 		$tmpMaxPages = (int) (($max_value - 1) / $num_per_page) * $num_per_page;
643
-		for ($nCont = 1; $nCont <= $PageContiguous; $nCont++)
644
-			if ($start + $num_per_page * $nCont <= $tmpMaxPages)
669
+		for ($nCont = 1; $nCont <= $PageContiguous; $nCont++) {
670
+					if ($start + $num_per_page * $nCont <= $tmpMaxPages)
645 671
 			{
646 672
 				$tmpStart = $start + $num_per_page * $nCont;
673
+		}
647 674
 				$pageindex .= sprintf($base_link, $tmpStart, $tmpStart / $num_per_page + 1);
648 675
 			}
649 676
 
650 677
 		// Show the '...' part near the end. (prev page 1 ... 6 7 [8] 9 10 >...< 15 next page)
651
-		if ($start + $num_per_page * ($PageContiguous + 1) < $tmpMaxPages)
652
-			$pageindex .= strtr($settings['page_index']['expand_pages'], array(
678
+		if ($start + $num_per_page * ($PageContiguous + 1) < $tmpMaxPages) {
679
+					$pageindex .= strtr($settings['page_index']['expand_pages'], array(
653 680
 				'{LINK}' => JavaScriptEscape($smcFunc['htmlspecialchars']($base_link)),
654 681
 				'{FIRST_PAGE}' => $start + $num_per_page * ($PageContiguous + 1),
655 682
 				'{LAST_PAGE}' => $tmpMaxPages,
656 683
 				'{PER_PAGE}' => $num_per_page,
657 684
 			));
685
+		}
658 686
 
659 687
 		// Show the last number in the list. (prev page 1 ... 6 7 [8] 9 10 ... >15<  next page)
660
-		if ($start + $num_per_page * $PageContiguous < $tmpMaxPages)
661
-			$pageindex .= sprintf($base_link, $tmpMaxPages, $tmpMaxPages / $num_per_page + 1);
688
+		if ($start + $num_per_page * $PageContiguous < $tmpMaxPages) {
689
+					$pageindex .= sprintf($base_link, $tmpMaxPages, $tmpMaxPages / $num_per_page + 1);
690
+		}
662 691
 
663 692
 		// Show the "next page" link. (prev page 1 ... 6 7 [8] 9 10 ... 15 >next page<)
664
-		if ($start != $tmpMaxPages && $show_prevnext)
665
-			$pageindex .= sprintf($base_link, $start + $num_per_page, $settings['page_index']['next_page']);
693
+		if ($start != $tmpMaxPages && $show_prevnext) {
694
+					$pageindex .= sprintf($base_link, $start + $num_per_page, $settings['page_index']['next_page']);
695
+		}
666 696
 	}
667 697
 	$pageindex .= $settings['page_index']['extra_after'];
668 698
 
@@ -688,8 +718,9 @@  discard block
 block discarded – undo
688 718
 	if ($decimal_separator === null)
689 719
 	{
690 720
 		// Not set for whatever reason?
691
-		if (empty($txt['number_format']) || preg_match('~^1([^\d]*)?234([^\d]*)(0*?)$~', $txt['number_format'], $matches) != 1)
692
-			return $number;
721
+		if (empty($txt['number_format']) || preg_match('~^1([^\d]*)?234([^\d]*)(0*?)$~', $txt['number_format'], $matches) != 1) {
722
+					return $number;
723
+		}
693 724
 
694 725
 		// Cache these each load...
695 726
 		$thousands_separator = $matches[1];
@@ -721,17 +752,20 @@  discard block
 block discarded – undo
721 752
 	static $non_twelve_hour;
722 753
 
723 754
 	// Offset the time.
724
-	if (!$offset_type)
725
-		$time = $log_time + ($user_info['time_offset'] + $modSettings['time_offset']) * 3600;
755
+	if (!$offset_type) {
756
+			$time = $log_time + ($user_info['time_offset'] + $modSettings['time_offset']) * 3600;
757
+	}
726 758
 	// Just the forum offset?
727
-	elseif ($offset_type == 'forum')
728
-		$time = $log_time + $modSettings['time_offset'] * 3600;
729
-	else
730
-		$time = $log_time;
759
+	elseif ($offset_type == 'forum') {
760
+			$time = $log_time + $modSettings['time_offset'] * 3600;
761
+	} else {
762
+			$time = $log_time;
763
+	}
731 764
 
732 765
 	// We can't have a negative date (on Windows, at least.)
733
-	if ($log_time < 0)
734
-		$log_time = 0;
766
+	if ($log_time < 0) {
767
+			$log_time = 0;
768
+	}
735 769
 
736 770
 	// Today and Yesterday?
737 771
 	if ($modSettings['todayMod'] >= 1 && $show_today === true)
@@ -748,46 +782,53 @@  discard block
 block discarded – undo
748 782
 		{
749 783
 			$h = strpos($user_info['time_format'], '%l') === false ? '%I' : '%l';
750 784
 			$today_fmt = $h . ':%M' . $s . ' %p';
785
+		} else {
786
+					$today_fmt = '%H:%M' . $s;
751 787
 		}
752
-		else
753
-			$today_fmt = '%H:%M' . $s;
754 788
 
755 789
 		// Same day of the year, same year.... Today!
756
-		if ($then['yday'] == $now['yday'] && $then['year'] == $now['year'])
757
-			return $txt['today'] . timeformat($log_time, $today_fmt, $offset_type);
790
+		if ($then['yday'] == $now['yday'] && $then['year'] == $now['year']) {
791
+					return $txt['today'] . timeformat($log_time, $today_fmt, $offset_type);
792
+		}
758 793
 
759 794
 		// Day-of-year is one less and same year, or it's the first of the year and that's the last of the year...
760
-		if ($modSettings['todayMod'] == '2' && (($then['yday'] == $now['yday'] - 1 && $then['year'] == $now['year']) || ($now['yday'] == 0 && $then['year'] == $now['year'] - 1) && $then['mon'] == 12 && $then['mday'] == 31))
761
-			return $txt['yesterday'] . timeformat($log_time, $today_fmt, $offset_type);
795
+		if ($modSettings['todayMod'] == '2' && (($then['yday'] == $now['yday'] - 1 && $then['year'] == $now['year']) || ($now['yday'] == 0 && $then['year'] == $now['year'] - 1) && $then['mon'] == 12 && $then['mday'] == 31)) {
796
+					return $txt['yesterday'] . timeformat($log_time, $today_fmt, $offset_type);
797
+		}
762 798
 	}
763 799
 
764 800
 	$str = !is_bool($show_today) ? $show_today : $user_info['time_format'];
765 801
 
766 802
 	if (setlocale(LC_TIME, $txt['lang_locale']))
767 803
 	{
768
-		if (!isset($non_twelve_hour))
769
-			$non_twelve_hour = trim(strftime('%p')) === '';
770
-		if ($non_twelve_hour && strpos($str, '%p') !== false)
771
-			$str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str);
804
+		if (!isset($non_twelve_hour)) {
805
+					$non_twelve_hour = trim(strftime('%p')) === '';
806
+		}
807
+		if ($non_twelve_hour && strpos($str, '%p') !== false) {
808
+					$str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str);
809
+		}
772 810
 
773
-		foreach (array('%a', '%A', '%b', '%B') as $token)
774
-			if (strpos($str, $token) !== false)
811
+		foreach (array('%a', '%A', '%b', '%B') as $token) {
812
+					if (strpos($str, $token) !== false)
775 813
 				$str = str_replace($token, strftime($token, $time), $str);
776
-	}
777
-	else
814
+		}
815
+	} else
778 816
 	{
779 817
 		// Do-it-yourself time localization.  Fun.
780
-		foreach (array('%a' => 'days_short', '%A' => 'days', '%b' => 'months_short', '%B' => 'months') as $token => $text_label)
781
-			if (strpos($str, $token) !== false)
818
+		foreach (array('%a' => 'days_short', '%A' => 'days', '%b' => 'months_short', '%B' => 'months') as $token => $text_label) {
819
+					if (strpos($str, $token) !== false)
782 820
 				$str = str_replace($token, $txt[$text_label][(int) strftime($token === '%a' || $token === '%A' ? '%w' : '%m', $time)], $str);
821
+		}
783 822
 
784
-		if (strpos($str, '%p') !== false)
785
-			$str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str);
823
+		if (strpos($str, '%p') !== false) {
824
+					$str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str);
825
+		}
786 826
 	}
787 827
 
788 828
 	// Windows doesn't support %e; on some versions, strftime fails altogether if used, so let's prevent that.
789
-	if ($context['server']['is_windows'] && strpos($str, '%e') !== false)
790
-		$str = str_replace('%e', ltrim(strftime('%d', $time), '0'), $str);
829
+	if ($context['server']['is_windows'] && strpos($str, '%e') !== false) {
830
+			$str = str_replace('%e', ltrim(strftime('%d', $time), '0'), $str);
831
+	}
791 832
 
792 833
 	// Format any other characters..
793 834
 	return strftime($str, $time);
@@ -809,16 +850,19 @@  discard block
 block discarded – undo
809 850
 	static $translation = array();
810 851
 
811 852
 	// Determine the character set... Default to UTF-8
812
-	if (empty($context['character_set']))
813
-		$charset = 'UTF-8';
853
+	if (empty($context['character_set'])) {
854
+			$charset = 'UTF-8';
855
+	}
814 856
 	// Use ISO-8859-1 in place of non-supported ISO-8859 charsets...
815
-	elseif (strpos($context['character_set'], 'ISO-8859-') !== false && !in_array($context['character_set'], array('ISO-8859-5', 'ISO-8859-15')))
816
-		$charset = 'ISO-8859-1';
817
-	else
818
-		$charset = $context['character_set'];
857
+	elseif (strpos($context['character_set'], 'ISO-8859-') !== false && !in_array($context['character_set'], array('ISO-8859-5', 'ISO-8859-15'))) {
858
+			$charset = 'ISO-8859-1';
859
+	} else {
860
+			$charset = $context['character_set'];
861
+	}
819 862
 
820
-	if (empty($translation))
821
-		$translation = array_flip(get_html_translation_table(HTML_SPECIALCHARS, ENT_QUOTES, $charset)) + array('&#039;' => '\'', '&#39;' => '\'', '&nbsp;' => ' ');
863
+	if (empty($translation)) {
864
+			$translation = array_flip(get_html_translation_table(HTML_SPECIALCHARS, ENT_QUOTES, $charset)) + array('&#039;' => '\'', '&#39;' => '\'', '&nbsp;' => ' ');
865
+	}
822 866
 
823 867
 	return strtr($string, $translation);
824 868
 }
@@ -840,8 +884,9 @@  discard block
 block discarded – undo
840 884
 	global $smcFunc;
841 885
 
842 886
 	// It was already short enough!
843
-	if ($smcFunc['strlen']($subject) <= $len)
844
-		return $subject;
887
+	if ($smcFunc['strlen']($subject) <= $len) {
888
+			return $subject;
889
+	}
845 890
 
846 891
 	// Shorten it by the length it was too long, and strip off junk from the end.
847 892
 	return $smcFunc['substr']($subject, 0, $len) . '...';
@@ -860,10 +905,11 @@  discard block
 block discarded – undo
860 905
 {
861 906
 	global $user_info, $modSettings;
862 907
 
863
-	if ($timestamp === null)
864
-		$timestamp = time();
865
-	elseif ($timestamp == 0)
866
-		return 0;
908
+	if ($timestamp === null) {
909
+			$timestamp = time();
910
+	} elseif ($timestamp == 0) {
911
+			return 0;
912
+	}
867 913
 
868 914
 	return $timestamp + ($modSettings['time_offset'] + ($use_user_offset ? $user_info['time_offset'] : 0)) * 3600;
869 915
 }
@@ -892,8 +938,9 @@  discard block
 block discarded – undo
892 938
 		$array[$i] = $array[$j];
893 939
 		$array[$j] = $temp;
894 940
 
895
-		for ($i = 1; $p[$i] == 0; $i++)
896
-			$p[$i] = 1;
941
+		for ($i = 1; $p[$i] == 0; $i++) {
942
+					$p[$i] = 1;
943
+		}
897 944
 
898 945
 		$orders[] = $array;
899 946
 	}
@@ -925,12 +972,14 @@  discard block
 block discarded – undo
925 972
 	static $disabled;
926 973
 
927 974
 	// Don't waste cycles
928
-	if ($message === '')
929
-		return '';
975
+	if ($message === '') {
976
+			return '';
977
+	}
930 978
 
931 979
 	// Just in case it wasn't determined yet whether UTF-8 is enabled.
932
-	if (!isset($context['utf8']))
933
-		$context['utf8'] = (empty($modSettings['global_character_set']) ? $txt['lang_character_set'] : $modSettings['global_character_set']) === 'UTF-8';
980
+	if (!isset($context['utf8'])) {
981
+			$context['utf8'] = (empty($modSettings['global_character_set']) ? $txt['lang_character_set'] : $modSettings['global_character_set']) === 'UTF-8';
982
+	}
934 983
 
935 984
 	// Clean up any cut/paste issues we may have
936 985
 	$message = sanitizeMSCutPaste($message);
@@ -942,13 +991,15 @@  discard block
 block discarded – undo
942 991
 		return $message;
943 992
 	}
944 993
 
945
-	if ($smileys !== null && ($smileys == '1' || $smileys == '0'))
946
-		$smileys = (bool) $smileys;
994
+	if ($smileys !== null && ($smileys == '1' || $smileys == '0')) {
995
+			$smileys = (bool) $smileys;
996
+	}
947 997
 
948 998
 	if (empty($modSettings['enableBBC']) && $message !== false)
949 999
 	{
950
-		if ($smileys === true)
951
-			parsesmileys($message);
1000
+		if ($smileys === true) {
1001
+					parsesmileys($message);
1002
+		}
952 1003
 
953 1004
 		return $message;
954 1005
 	}
@@ -961,8 +1012,9 @@  discard block
 block discarded – undo
961 1012
 	}
962 1013
 
963 1014
 	// Ensure $modSettings['tld_regex'] contains a valid regex for the autolinker
964
-	if (!empty($modSettings['autoLinkUrls']))
965
-		set_tld_regex();
1015
+	if (!empty($modSettings['autoLinkUrls'])) {
1016
+			set_tld_regex();
1017
+	}
966 1018
 
967 1019
 	// Allow mods access before entering the main parse_bbc loop
968 1020
 	call_integration_hook('integrate_pre_parsebbc', array(&$message, &$smileys, &$cache_id, &$parse_tags));
@@ -976,12 +1028,14 @@  discard block
 block discarded – undo
976 1028
 
977 1029
 			$temp = explode(',', strtolower($modSettings['disabledBBC']));
978 1030
 
979
-			foreach ($temp as $tag)
980
-				$disabled[trim($tag)] = true;
1031
+			foreach ($temp as $tag) {
1032
+							$disabled[trim($tag)] = true;
1033
+			}
981 1034
 		}
982 1035
 
983
-		if (empty($modSettings['enableEmbeddedFlash']))
984
-			$disabled['flash'] = true;
1036
+		if (empty($modSettings['enableEmbeddedFlash'])) {
1037
+					$disabled['flash'] = true;
1038
+		}
985 1039
 
986 1040
 		/* The following bbc are formatted as an array, with keys as follows:
987 1041
 
@@ -1102,8 +1156,9 @@  discard block
 block discarded – undo
1102 1156
 					$returnContext = '';
1103 1157
 
1104 1158
 					// BBC or the entire attachments feature is disabled
1105
-					if (empty($modSettings['attachmentEnable']) || !empty($disabled['attach']))
1106
-						return $data;
1159
+					if (empty($modSettings['attachmentEnable']) || !empty($disabled['attach'])) {
1160
+											return $data;
1161
+					}
1107 1162
 
1108 1163
 					// Save the attach ID.
1109 1164
 					$attachID = $data;
@@ -1114,8 +1169,9 @@  discard block
 block discarded – undo
1114 1169
 					$currentAttachment = parseAttachBBC($attachID);
1115 1170
 
1116 1171
 					// parseAttachBBC will return a string ($txt key) rather than diying with a fatal_error. Up to you to decide what to do.
1117
-					if (is_string($currentAttachment))
1118
-						return $data = !empty($txt[$currentAttachment]) ? $txt[$currentAttachment] : $currentAttachment;
1172
+					if (is_string($currentAttachment)) {
1173
+											return $data = !empty($txt[$currentAttachment]) ? $txt[$currentAttachment] : $currentAttachment;
1174
+					}
1119 1175
 
1120 1176
 					if (!empty($currentAttachment['is_image']))
1121 1177
 					{
@@ -1131,15 +1187,17 @@  discard block
 block discarded – undo
1131 1187
 							$height = ' height="' . $currentAttachment['height'] . '"';
1132 1188
 						}
1133 1189
 
1134
-						if ($currentAttachment['thumbnail']['has_thumb'] && empty($params['{width}']) && empty($params['{height}']))
1135
-							$returnContext .= '<a href="'. $currentAttachment['href']. ';image" id="link_'. $currentAttachment['id']. '" onclick="'. $currentAttachment['thumbnail']['javascript']. '"><img src="'. $currentAttachment['thumbnail']['href']. '"' . $alt . $title . ' id="thumb_'. $currentAttachment['id']. '"></a>';
1136
-						else
1137
-							$returnContext .= '<img src="' . $currentAttachment['href'] . ';image"' . $alt . $title . $width . $height . '/>';
1190
+						if ($currentAttachment['thumbnail']['has_thumb'] && empty($params['{width}']) && empty($params['{height}'])) {
1191
+													$returnContext .= '<a href="'. $currentAttachment['href']. ';image" id="link_'. $currentAttachment['id']. '" onclick="'. $currentAttachment['thumbnail']['javascript']. '"><img src="'. $currentAttachment['thumbnail']['href']. '"' . $alt . $title . ' id="thumb_'. $currentAttachment['id']. '"></a>';
1192
+						} else {
1193
+													$returnContext .= '<img src="' . $currentAttachment['href'] . ';image"' . $alt . $title . $width . $height . '/>';
1194
+						}
1138 1195
 					}
1139 1196
 
1140 1197
 					// No image. Show a link.
1141
-					else
1142
-						$returnContext .= $currentAttachment['link'];
1198
+					else {
1199
+											$returnContext .= $currentAttachment['link'];
1200
+					}
1143 1201
 
1144 1202
 					// Gotta append what we just did.
1145 1203
 					$data = $returnContext;
@@ -1170,8 +1228,9 @@  discard block
 block discarded – undo
1170 1228
 						for ($php_i = 0, $php_n = count($php_parts); $php_i < $php_n; $php_i++)
1171 1229
 						{
1172 1230
 							// Do PHP code coloring?
1173
-							if ($php_parts[$php_i] != '&lt;?php')
1174
-								continue;
1231
+							if ($php_parts[$php_i] != '&lt;?php') {
1232
+															continue;
1233
+							}
1175 1234
 
1176 1235
 							$php_string = '';
1177 1236
 							while ($php_i + 1 < count($php_parts) && $php_parts[$php_i] != '?&gt;')
@@ -1187,8 +1246,9 @@  discard block
 block discarded – undo
1187 1246
 						$data = str_replace("\t", "<span style=\"white-space: pre;\">\t</span>", $data);
1188 1247
 
1189 1248
 						// Recent Opera bug requiring temporary fix. &nsbp; is needed before </code> to avoid broken selection.
1190
-						if ($context['browser']['is_opera'])
1191
-							$data .= '&nbsp;';
1249
+						if ($context['browser']['is_opera']) {
1250
+													$data .= '&nbsp;';
1251
+						}
1192 1252
 					}
1193 1253
 				},
1194 1254
 				'block_level' => true,
@@ -1207,8 +1267,9 @@  discard block
 block discarded – undo
1207 1267
 						for ($php_i = 0, $php_n = count($php_parts); $php_i < $php_n; $php_i++)
1208 1268
 						{
1209 1269
 							// Do PHP code coloring?
1210
-							if ($php_parts[$php_i] != '&lt;?php')
1211
-								continue;
1270
+							if ($php_parts[$php_i] != '&lt;?php') {
1271
+															continue;
1272
+							}
1212 1273
 
1213 1274
 							$php_string = '';
1214 1275
 							while ($php_i + 1 < count($php_parts) && $php_parts[$php_i] != '?&gt;')
@@ -1224,8 +1285,9 @@  discard block
 block discarded – undo
1224 1285
 						$data[0] = str_replace("\t", "<span style=\"white-space: pre;\">\t</span>", $data[0]);
1225 1286
 
1226 1287
 						// Recent Opera bug requiring temporary fix. &nsbp; is needed before </code> to avoid broken selection.
1227
-						if ($context['browser']['is_opera'])
1228
-							$data[0] .= '&nbsp;';
1288
+						if ($context['browser']['is_opera']) {
1289
+													$data[0] .= '&nbsp;';
1290
+						}
1229 1291
 					}
1230 1292
 				},
1231 1293
 				'block_level' => true,
@@ -1263,11 +1325,13 @@  discard block
 block discarded – undo
1263 1325
 				'content' => '<embed type="application/x-shockwave-flash" src="$1" width="$2" height="$3" play="true" loop="true" quality="high" AllowScriptAccess="never">',
1264 1326
 				'validate' => function (&$tag, &$data, $disabled)
1265 1327
 				{
1266
-					if (isset($disabled['url']))
1267
-						$tag['content'] = '$1';
1328
+					if (isset($disabled['url'])) {
1329
+											$tag['content'] = '$1';
1330
+					}
1268 1331
 					$scheme = parse_url($data[0], PHP_URL_SCHEME);
1269
-					if (empty($scheme))
1270
-						$data[0] = '//' . ltrim($data[0], ':/');
1332
+					if (empty($scheme)) {
1333
+											$data[0] = '//' . ltrim($data[0], ':/');
1334
+					}
1271 1335
 				},
1272 1336
 				'disabled_content' => '<a href="$1" target="_blank" class="new_win">$1</a>',
1273 1337
 			),
@@ -1314,14 +1378,16 @@  discard block
 block discarded – undo
1314 1378
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1315 1379
 					if ($image_proxy_enabled)
1316 1380
 					{
1317
-						if (empty($scheme))
1318
-							$data = 'http://' . ltrim($data, ':/');
1381
+						if (empty($scheme)) {
1382
+													$data = 'http://' . ltrim($data, ':/');
1383
+						}
1319 1384
 
1320
-						if ($scheme != 'https')
1321
-							$data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret);
1385
+						if ($scheme != 'https') {
1386
+													$data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret);
1387
+						}
1388
+					} elseif (empty($scheme)) {
1389
+											$data = '//' . ltrim($data, ':/');
1322 1390
 					}
1323
-					elseif (empty($scheme))
1324
-						$data = '//' . ltrim($data, ':/');
1325 1391
 				},
1326 1392
 				'disabled_content' => '($1)',
1327 1393
 			),
@@ -1337,14 +1403,16 @@  discard block
 block discarded – undo
1337 1403
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1338 1404
 					if ($image_proxy_enabled)
1339 1405
 					{
1340
-						if (empty($scheme))
1341
-							$data = 'http://' . ltrim($data, ':/');
1406
+						if (empty($scheme)) {
1407
+													$data = 'http://' . ltrim($data, ':/');
1408
+						}
1342 1409
 
1343
-						if ($scheme != 'https')
1344
-							$data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret);
1410
+						if ($scheme != 'https') {
1411
+													$data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret);
1412
+						}
1413
+					} elseif (empty($scheme)) {
1414
+											$data = '//' . ltrim($data, ':/');
1345 1415
 					}
1346
-					elseif (empty($scheme))
1347
-						$data = '//' . ltrim($data, ':/');
1348 1416
 				},
1349 1417
 				'disabled_content' => '($1)',
1350 1418
 			),
@@ -1356,8 +1424,9 @@  discard block
 block discarded – undo
1356 1424
 				{
1357 1425
 					$data = strtr($data, array('<br>' => ''));
1358 1426
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1359
-					if (empty($scheme))
1360
-						$data = '//' . ltrim($data, ':/');
1427
+					if (empty($scheme)) {
1428
+											$data = '//' . ltrim($data, ':/');
1429
+					}
1361 1430
 				},
1362 1431
 			),
1363 1432
 			array(
@@ -1368,13 +1437,14 @@  discard block
 block discarded – undo
1368 1437
 				'after' => '</a>',
1369 1438
 				'validate' => function (&$tag, &$data, $disabled)
1370 1439
 				{
1371
-					if (substr($data, 0, 1) == '#')
1372
-						$data = '#post_' . substr($data, 1);
1373
-					else
1440
+					if (substr($data, 0, 1) == '#') {
1441
+											$data = '#post_' . substr($data, 1);
1442
+					} else
1374 1443
 					{
1375 1444
 						$scheme = parse_url($data, PHP_URL_SCHEME);
1376
-						if (empty($scheme))
1377
-							$data = '//' . ltrim($data, ':/');
1445
+						if (empty($scheme)) {
1446
+													$data = '//' . ltrim($data, ':/');
1447
+						}
1378 1448
 					}
1379 1449
 				},
1380 1450
 				'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
@@ -1452,8 +1522,9 @@  discard block
 block discarded – undo
1452 1522
 					{
1453 1523
 						$add_begin = substr(trim($data), 0, 5) != '&lt;?';
1454 1524
 						$data = highlight_php_code($add_begin ? '&lt;?php ' . $data . '?&gt;' : $data);
1455
-						if ($add_begin)
1456
-							$data = preg_replace(array('~^(.+?)&lt;\?.{0,40}?php(?:&nbsp;|\s)~', '~\?&gt;((?:</(font|span)>)*)$~'), '$1', $data, 2);
1525
+						if ($add_begin) {
1526
+													$data = preg_replace(array('~^(.+?)&lt;\?.{0,40}?php(?:&nbsp;|\s)~', '~\?&gt;((?:</(font|span)>)*)$~'), '$1', $data, 2);
1527
+						}
1457 1528
 					}
1458 1529
 				},
1459 1530
 				'block_level' => false,
@@ -1584,10 +1655,11 @@  discard block
 block discarded – undo
1584 1655
 				'content' => '$1',
1585 1656
 				'validate' => function (&$tag, &$data, $disabled)
1586 1657
 				{
1587
-					if (is_numeric($data))
1588
-						$data = timeformat($data);
1589
-					else
1590
-						$tag['content'] = '[time]$1[/time]';
1658
+					if (is_numeric($data)) {
1659
+											$data = timeformat($data);
1660
+					} else {
1661
+											$tag['content'] = '[time]$1[/time]';
1662
+					}
1591 1663
 				},
1592 1664
 			),
1593 1665
 			array(
@@ -1614,8 +1686,9 @@  discard block
 block discarded – undo
1614 1686
 				{
1615 1687
 					$data = strtr($data, array('<br>' => ''));
1616 1688
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1617
-					if (empty($scheme))
1618
-						$data = '//' . ltrim($data, ':/');
1689
+					if (empty($scheme)) {
1690
+											$data = '//' . ltrim($data, ':/');
1691
+					}
1619 1692
 				},
1620 1693
 			),
1621 1694
 			array(
@@ -1627,8 +1700,9 @@  discard block
 block discarded – undo
1627 1700
 				'validate' => function (&$tag, &$data, $disabled)
1628 1701
 				{
1629 1702
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1630
-					if (empty($scheme))
1631
-						$data = '//' . ltrim($data, ':/');
1703
+					if (empty($scheme)) {
1704
+											$data = '//' . ltrim($data, ':/');
1705
+					}
1632 1706
 				},
1633 1707
 				'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
1634 1708
 				'disabled_after' => ' ($1)',
@@ -1648,8 +1722,9 @@  discard block
 block discarded – undo
1648 1722
 		// This is mainly for the bbc manager, so it's easy to add tags above.  Custom BBC should be added above this line.
1649 1723
 		if ($message === false)
1650 1724
 		{
1651
-			if (isset($temp_bbc))
1652
-				$bbc_codes = $temp_bbc;
1725
+			if (isset($temp_bbc)) {
1726
+							$bbc_codes = $temp_bbc;
1727
+			}
1653 1728
 			usort($codes, function ($a, $b) {
1654 1729
 				return strcmp($a['tag'], $b['tag']);
1655 1730
 			});
@@ -1669,8 +1744,9 @@  discard block
 block discarded – undo
1669 1744
 		);
1670 1745
 		if (!isset($disabled['li']) && !isset($disabled['list']))
1671 1746
 		{
1672
-			foreach ($itemcodes as $c => $dummy)
1673
-				$bbc_codes[$c] = array();
1747
+			foreach ($itemcodes as $c => $dummy) {
1748
+							$bbc_codes[$c] = array();
1749
+			}
1674 1750
 		}
1675 1751
 
1676 1752
 		// Shhhh!
@@ -1691,12 +1767,14 @@  discard block
 block discarded – undo
1691 1767
 		foreach ($codes as $code)
1692 1768
 		{
1693 1769
 			// Make it easier to process parameters later
1694
-			if (!empty($code['parameters']))
1695
-				ksort($code['parameters'], SORT_STRING);
1770
+			if (!empty($code['parameters'])) {
1771
+							ksort($code['parameters'], SORT_STRING);
1772
+			}
1696 1773
 
1697 1774
 			// If we are not doing every tag only do ones we are interested in.
1698
-			if (empty($parse_tags) || in_array($code['tag'], $parse_tags))
1699
-				$bbc_codes[substr($code['tag'], 0, 1)][] = $code;
1775
+			if (empty($parse_tags) || in_array($code['tag'], $parse_tags)) {
1776
+							$bbc_codes[substr($code['tag'], 0, 1)][] = $code;
1777
+			}
1700 1778
 		}
1701 1779
 		$codes = null;
1702 1780
 	}
@@ -1707,8 +1785,9 @@  discard block
 block discarded – undo
1707 1785
 		// It's likely this will change if the message is modified.
1708 1786
 		$cache_key = 'parse:' . $cache_id . '-' . md5(md5($message) . '-' . $smileys . (empty($disabled) ? '' : implode(',', array_keys($disabled))) . json_encode($context['browser']) . $txt['lang_locale'] . $user_info['time_offset'] . $user_info['time_format']);
1709 1787
 
1710
-		if (($temp = cache_get_data($cache_key, 240)) != null)
1711
-			return $temp;
1788
+		if (($temp = cache_get_data($cache_key, 240)) != null) {
1789
+					return $temp;
1790
+		}
1712 1791
 
1713 1792
 		$cache_t = microtime();
1714 1793
 	}
@@ -1740,8 +1819,9 @@  discard block
 block discarded – undo
1740 1819
 		$disabled['flash'] = true;
1741 1820
 
1742 1821
 		// @todo Change maybe?
1743
-		if (!isset($_GET['images']))
1744
-			$disabled['img'] = true;
1822
+		if (!isset($_GET['images'])) {
1823
+					$disabled['img'] = true;
1824
+		}
1745 1825
 
1746 1826
 		// @todo Interface/setting to add more?
1747 1827
 	}
@@ -1765,8 +1845,9 @@  discard block
 block discarded – undo
1765 1845
 		$pos = isset($matches[0][1]) ? $matches[0][1] : false;
1766 1846
 
1767 1847
 		// Failsafe.
1768
-		if ($pos === false || $last_pos > $pos)
1769
-			$pos = strlen($message) + 1;
1848
+		if ($pos === false || $last_pos > $pos) {
1849
+					$pos = strlen($message) + 1;
1850
+		}
1770 1851
 
1771 1852
 		// Can't have a one letter smiley, URL, or email! (sorry.)
1772 1853
 		if ($last_pos < $pos - 1)
@@ -1785,8 +1866,9 @@  discard block
 block discarded – undo
1785 1866
 
1786 1867
 				// <br> should be empty.
1787 1868
 				$empty_tags = array('br', 'hr');
1788
-				foreach ($empty_tags as $tag)
1789
-					$data = str_replace(array('&lt;' . $tag . '&gt;', '&lt;' . $tag . '/&gt;', '&lt;' . $tag . ' /&gt;'), '[' . $tag . ' /]', $data);
1869
+				foreach ($empty_tags as $tag) {
1870
+									$data = str_replace(array('&lt;' . $tag . '&gt;', '&lt;' . $tag . '/&gt;', '&lt;' . $tag . ' /&gt;'), '[' . $tag . ' /]', $data);
1871
+				}
1790 1872
 
1791 1873
 				// b, u, i, s, pre... basic tags.
1792 1874
 				$closable_tags = array('b', 'u', 'i', 's', 'em', 'ins', 'del', 'pre', 'blockquote');
@@ -1795,8 +1877,9 @@  discard block
 block discarded – undo
1795 1877
 					$diff = substr_count($data, '&lt;' . $tag . '&gt;') - substr_count($data, '&lt;/' . $tag . '&gt;');
1796 1878
 					$data = strtr($data, array('&lt;' . $tag . '&gt;' => '<' . $tag . '>', '&lt;/' . $tag . '&gt;' => '</' . $tag . '>'));
1797 1879
 
1798
-					if ($diff > 0)
1799
-						$data = substr($data, 0, -1) . str_repeat('</' . $tag . '>', $diff) . substr($data, -1);
1880
+					if ($diff > 0) {
1881
+											$data = substr($data, 0, -1) . str_repeat('</' . $tag . '>', $diff) . substr($data, -1);
1882
+					}
1800 1883
 				}
1801 1884
 
1802 1885
 				// Do <img ...> - with security... action= -> action-.
@@ -1809,8 +1892,9 @@  discard block
 block discarded – undo
1809 1892
 						$alt = empty($matches[3][$match]) ? '' : ' alt=' . preg_replace('~^&quot;|&quot;$~', '', $matches[3][$match]);
1810 1893
 
1811 1894
 						// Remove action= from the URL - no funny business, now.
1812
-						if (preg_match('~action(=|%3d)(?!dlattach)~i', $imgtag) != 0)
1813
-							$imgtag = preg_replace('~action(?:=|%3d)(?!dlattach)~i', 'action-', $imgtag);
1895
+						if (preg_match('~action(=|%3d)(?!dlattach)~i', $imgtag) != 0) {
1896
+													$imgtag = preg_replace('~action(?:=|%3d)(?!dlattach)~i', 'action-', $imgtag);
1897
+						}
1814 1898
 
1815 1899
 						// Check if the image is larger than allowed.
1816 1900
 						if (!empty($modSettings['max_image_width']) && !empty($modSettings['max_image_height']))
@@ -1831,9 +1915,9 @@  discard block
 block discarded – undo
1831 1915
 
1832 1916
 							// Set the new image tag.
1833 1917
 							$replaces[$matches[0][$match]] = '[img width=' . $width . ' height=' . $height . $alt . ']' . $imgtag . '[/img]';
1918
+						} else {
1919
+													$replaces[$matches[0][$match]] = '[img' . $alt . ']' . $imgtag . '[/img]';
1834 1920
 						}
1835
-						else
1836
-							$replaces[$matches[0][$match]] = '[img' . $alt . ']' . $imgtag . '[/img]';
1837 1921
 					}
1838 1922
 
1839 1923
 					$data = strtr($data, $replaces);
@@ -1846,16 +1930,18 @@  discard block
 block discarded – undo
1846 1930
 				$no_autolink_area = false;
1847 1931
 				if (!empty($open_tags))
1848 1932
 				{
1849
-					foreach ($open_tags as $open_tag)
1850
-						if (in_array($open_tag['tag'], $no_autolink_tags))
1933
+					foreach ($open_tags as $open_tag) {
1934
+											if (in_array($open_tag['tag'], $no_autolink_tags))
1851 1935
 							$no_autolink_area = true;
1936
+					}
1852 1937
 				}
1853 1938
 
1854 1939
 				// Don't go backwards.
1855 1940
 				// @todo Don't think is the real solution....
1856 1941
 				$lastAutoPos = isset($lastAutoPos) ? $lastAutoPos : 0;
1857
-				if ($pos < $lastAutoPos)
1858
-					$no_autolink_area = true;
1942
+				if ($pos < $lastAutoPos) {
1943
+									$no_autolink_area = true;
1944
+				}
1859 1945
 				$lastAutoPos = $pos;
1860 1946
 
1861 1947
 				if (!$no_autolink_area)
@@ -1964,17 +2050,19 @@  discard block
 block discarded – undo
1964 2050
 							if ($scheme == 'mailto')
1965 2051
 							{
1966 2052
 								$email_address = str_replace('mailto:', '', $url);
1967
-								if (!isset($disabled['email']) && filter_var($email_address, FILTER_VALIDATE_EMAIL) !== false)
1968
-									return '[email=' . $email_address . ']' . $url . '[/email]';
1969
-								else
1970
-									return $url;
2053
+								if (!isset($disabled['email']) && filter_var($email_address, FILTER_VALIDATE_EMAIL) !== false) {
2054
+																	return '[email=' . $email_address . ']' . $url . '[/email]';
2055
+								} else {
2056
+																	return $url;
2057
+								}
1971 2058
 							}
1972 2059
 
1973 2060
 							// Are we linking a schemeless URL or naked domain name (e.g. "example.com")?
1974
-							if (empty($scheme))
1975
-								$fullUrl = '//' . ltrim($url, ':/');
1976
-							else
1977
-								$fullUrl = $url;
2061
+							if (empty($scheme)) {
2062
+															$fullUrl = '//' . ltrim($url, ':/');
2063
+							} else {
2064
+															$fullUrl = $url;
2065
+							}
1978 2066
 
1979 2067
 							return '[url=&quot;' . str_replace(array('[', ']'), array('&#91;', '&#93;'), $fullUrl) . '&quot;]' . $url . '[/url]';
1980 2068
 						}, $data);
@@ -2023,16 +2111,18 @@  discard block
 block discarded – undo
2023 2111
 		}
2024 2112
 
2025 2113
 		// Are we there yet?  Are we there yet?
2026
-		if ($pos >= strlen($message) - 1)
2027
-			break;
2114
+		if ($pos >= strlen($message) - 1) {
2115
+					break;
2116
+		}
2028 2117
 
2029 2118
 		$tags = strtolower($message[$pos + 1]);
2030 2119
 
2031 2120
 		if ($tags == '/' && !empty($open_tags))
2032 2121
 		{
2033 2122
 			$pos2 = strpos($message, ']', $pos + 1);
2034
-			if ($pos2 == $pos + 2)
2035
-				continue;
2123
+			if ($pos2 == $pos + 2) {
2124
+							continue;
2125
+			}
2036 2126
 
2037 2127
 			$look_for = strtolower(substr($message, $pos + 2, $pos2 - $pos - 2));
2038 2128
 
@@ -2042,8 +2132,9 @@  discard block
 block discarded – undo
2042 2132
 			do
2043 2133
 			{
2044 2134
 				$tag = array_pop($open_tags);
2045
-				if (!$tag)
2046
-					break;
2135
+				if (!$tag) {
2136
+									break;
2137
+				}
2047 2138
 
2048 2139
 				if (!empty($tag['block_level']))
2049 2140
 				{
@@ -2057,10 +2148,11 @@  discard block
 block discarded – undo
2057 2148
 					// The idea is, if we are LOOKING for a block level tag, we can close them on the way.
2058 2149
 					if (strlen($look_for) > 0 && isset($bbc_codes[$look_for[0]]))
2059 2150
 					{
2060
-						foreach ($bbc_codes[$look_for[0]] as $temp)
2061
-							if ($temp['tag'] == $look_for)
2151
+						foreach ($bbc_codes[$look_for[0]] as $temp) {
2152
+													if ($temp['tag'] == $look_for)
2062 2153
 							{
2063 2154
 								$block_level = !empty($temp['block_level']);
2155
+						}
2064 2156
 								break;
2065 2157
 							}
2066 2158
 					}
@@ -2082,15 +2174,15 @@  discard block
 block discarded – undo
2082 2174
 			{
2083 2175
 				$open_tags = $to_close;
2084 2176
 				continue;
2085
-			}
2086
-			elseif (!empty($to_close) && $tag['tag'] != $look_for)
2177
+			} elseif (!empty($to_close) && $tag['tag'] != $look_for)
2087 2178
 			{
2088 2179
 				if ($block_level === null && isset($look_for[0], $bbc_codes[$look_for[0]]))
2089 2180
 				{
2090
-					foreach ($bbc_codes[$look_for[0]] as $temp)
2091
-						if ($temp['tag'] == $look_for)
2181
+					foreach ($bbc_codes[$look_for[0]] as $temp) {
2182
+											if ($temp['tag'] == $look_for)
2092 2183
 						{
2093 2184
 							$block_level = !empty($temp['block_level']);
2185
+					}
2094 2186
 							break;
2095 2187
 						}
2096 2188
 				}
@@ -2098,8 +2190,9 @@  discard block
 block discarded – undo
2098 2190
 				// We're not looking for a block level tag (or maybe even a tag that exists...)
2099 2191
 				if (!$block_level)
2100 2192
 				{
2101
-					foreach ($to_close as $tag)
2102
-						array_push($open_tags, $tag);
2193
+					foreach ($to_close as $tag) {
2194
+											array_push($open_tags, $tag);
2195
+					}
2103 2196
 					continue;
2104 2197
 				}
2105 2198
 			}
@@ -2111,10 +2204,12 @@  discard block
 block discarded – undo
2111 2204
 				$pos2 = $pos - 1;
2112 2205
 
2113 2206
 				// See the comment at the end of the big loop - just eating whitespace ;).
2114
-				if (!empty($tag['block_level']) && substr($message, $pos, 4) == '<br>')
2115
-					$message = substr($message, 0, $pos) . substr($message, $pos + 4);
2116
-				if (!empty($tag['trim']) && $tag['trim'] != 'inside' && preg_match('~(<br>|&nbsp;|\s)*~', substr($message, $pos), $matches) != 0)
2117
-					$message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0]));
2207
+				if (!empty($tag['block_level']) && substr($message, $pos, 4) == '<br>') {
2208
+									$message = substr($message, 0, $pos) . substr($message, $pos + 4);
2209
+				}
2210
+				if (!empty($tag['trim']) && $tag['trim'] != 'inside' && preg_match('~(<br>|&nbsp;|\s)*~', substr($message, $pos), $matches) != 0) {
2211
+									$message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0]));
2212
+				}
2118 2213
 			}
2119 2214
 
2120 2215
 			if (!empty($to_close))
@@ -2127,8 +2222,9 @@  discard block
 block discarded – undo
2127 2222
 		}
2128 2223
 
2129 2224
 		// No tags for this character, so just keep going (fastest possible course.)
2130
-		if (!isset($bbc_codes[$tags]))
2131
-			continue;
2225
+		if (!isset($bbc_codes[$tags])) {
2226
+					continue;
2227
+		}
2132 2228
 
2133 2229
 		$inside = empty($open_tags) ? null : $open_tags[count($open_tags) - 1];
2134 2230
 		$tag = null;
@@ -2137,44 +2233,52 @@  discard block
 block discarded – undo
2137 2233
 			$pt_strlen = strlen($possible['tag']);
2138 2234
 
2139 2235
 			// Not a match?
2140
-			if (strtolower(substr($message, $pos + 1, $pt_strlen)) != $possible['tag'])
2141
-				continue;
2236
+			if (strtolower(substr($message, $pos + 1, $pt_strlen)) != $possible['tag']) {
2237
+							continue;
2238
+			}
2142 2239
 
2143 2240
 			$next_c = $message[$pos + 1 + $pt_strlen];
2144 2241
 
2145 2242
 			// A test validation?
2146
-			if (isset($possible['test']) && preg_match('~^' . $possible['test'] . '~', substr($message, $pos + 1 + $pt_strlen + 1)) === 0)
2147
-				continue;
2243
+			if (isset($possible['test']) && preg_match('~^' . $possible['test'] . '~', substr($message, $pos + 1 + $pt_strlen + 1)) === 0) {
2244
+							continue;
2245
+			}
2148 2246
 			// Do we want parameters?
2149 2247
 			elseif (!empty($possible['parameters']))
2150 2248
 			{
2151
-				if ($next_c != ' ')
2152
-					continue;
2153
-			}
2154
-			elseif (isset($possible['type']))
2249
+				if ($next_c != ' ') {
2250
+									continue;
2251
+				}
2252
+			} elseif (isset($possible['type']))
2155 2253
 			{
2156 2254
 				// Do we need an equal sign?
2157
-				if (in_array($possible['type'], array('unparsed_equals', 'unparsed_commas', 'unparsed_commas_content', 'unparsed_equals_content', 'parsed_equals')) && $next_c != '=')
2158
-					continue;
2255
+				if (in_array($possible['type'], array('unparsed_equals', 'unparsed_commas', 'unparsed_commas_content', 'unparsed_equals_content', 'parsed_equals')) && $next_c != '=') {
2256
+									continue;
2257
+				}
2159 2258
 				// Maybe we just want a /...
2160
-				if ($possible['type'] == 'closed' && $next_c != ']' && substr($message, $pos + 1 + $pt_strlen, 2) != '/]' && substr($message, $pos + 1 + $pt_strlen, 3) != ' /]')
2161
-					continue;
2259
+				if ($possible['type'] == 'closed' && $next_c != ']' && substr($message, $pos + 1 + $pt_strlen, 2) != '/]' && substr($message, $pos + 1 + $pt_strlen, 3) != ' /]') {
2260
+									continue;
2261
+				}
2162 2262
 				// An immediate ]?
2163
-				if ($possible['type'] == 'unparsed_content' && $next_c != ']')
2164
-					continue;
2263
+				if ($possible['type'] == 'unparsed_content' && $next_c != ']') {
2264
+									continue;
2265
+				}
2165 2266
 			}
2166 2267
 			// No type means 'parsed_content', which demands an immediate ] without parameters!
2167
-			elseif ($next_c != ']')
2168
-				continue;
2268
+			elseif ($next_c != ']') {
2269
+							continue;
2270
+			}
2169 2271
 
2170 2272
 			// Check allowed tree?
2171
-			if (isset($possible['require_parents']) && ($inside === null || !in_array($inside['tag'], $possible['require_parents'])))
2172
-				continue;
2173
-			elseif (isset($inside['require_children']) && !in_array($possible['tag'], $inside['require_children']))
2174
-				continue;
2273
+			if (isset($possible['require_parents']) && ($inside === null || !in_array($inside['tag'], $possible['require_parents']))) {
2274
+							continue;
2275
+			} elseif (isset($inside['require_children']) && !in_array($possible['tag'], $inside['require_children'])) {
2276
+							continue;
2277
+			}
2175 2278
 			// If this is in the list of disallowed child tags, don't parse it.
2176
-			elseif (isset($inside['disallow_children']) && in_array($possible['tag'], $inside['disallow_children']))
2177
-				continue;
2279
+			elseif (isset($inside['disallow_children']) && in_array($possible['tag'], $inside['disallow_children'])) {
2280
+							continue;
2281
+			}
2178 2282
 
2179 2283
 			$pos1 = $pos + 1 + $pt_strlen + 1;
2180 2284
 
@@ -2186,8 +2290,9 @@  discard block
 block discarded – undo
2186 2290
 				foreach ($open_tags as $open_quote)
2187 2291
 				{
2188 2292
 					// Every parent quote this quote has flips the styling
2189
-					if ($open_quote['tag'] == 'quote')
2190
-						$quote_alt = !$quote_alt;
2293
+					if ($open_quote['tag'] == 'quote') {
2294
+											$quote_alt = !$quote_alt;
2295
+					}
2191 2296
 				}
2192 2297
 				// Add a class to the quote to style alternating blockquotes
2193 2298
 				$possible['before'] = strtr($possible['before'], array('<blockquote>' => '<blockquote class="bbc_' . ($quote_alt ? 'alternate' : 'standard') . '_quote">'));
@@ -2198,8 +2303,9 @@  discard block
 block discarded – undo
2198 2303
 			{
2199 2304
 				// Build a regular expression for each parameter for the current tag.
2200 2305
 				$preg = array();
2201
-				foreach ($possible['parameters'] as $p => $info)
2202
-					$preg[] = '(\s+' . $p . '=' . (empty($info['quoted']) ? '' : '&quot;') . (isset($info['match']) ? $info['match'] : '(.+?)') . (empty($info['quoted']) ? '' : '&quot;') . '\s*)' . (empty($info['optional']) ? '' : '?');
2306
+				foreach ($possible['parameters'] as $p => $info) {
2307
+									$preg[] = '(\s+' . $p . '=' . (empty($info['quoted']) ? '' : '&quot;') . (isset($info['match']) ? $info['match'] : '(.+?)') . (empty($info['quoted']) ? '' : '&quot;') . '\s*)' . (empty($info['optional']) ? '' : '?');
2308
+				}
2203 2309
 
2204 2310
 				// Extract the string that potentially holds our parameters.
2205 2311
 				$blob = preg_split('~\[/?(?:' . $alltags_regex . ')~i', substr($message, $pos));
@@ -2219,24 +2325,27 @@  discard block
 block discarded – undo
2219 2325
 
2220 2326
 					$match = preg_match('~^' . implode('', $preg) . '$~i', implode(' ', $given_params), $matches) !== 0;
2221 2327
 
2222
-					if ($match)
2223
-						$blob_counter = count($blobs) + 1;
2328
+					if ($match) {
2329
+											$blob_counter = count($blobs) + 1;
2330
+					}
2224 2331
 				}
2225 2332
 
2226 2333
 				// Didn't match our parameter list, try the next possible.
2227
-				if (!$match)
2228
-					continue;
2334
+				if (!$match) {
2335
+									continue;
2336
+				}
2229 2337
 
2230 2338
 				$params = array();
2231 2339
 				for ($i = 1, $n = count($matches); $i < $n; $i += 2)
2232 2340
 				{
2233 2341
 					$key = strtok(ltrim($matches[$i]), '=');
2234
-					if (isset($possible['parameters'][$key]['value']))
2235
-						$params['{' . $key . '}'] = strtr($possible['parameters'][$key]['value'], array('$1' => $matches[$i + 1]));
2236
-					elseif (isset($possible['parameters'][$key]['validate']))
2237
-						$params['{' . $key . '}'] = $possible['parameters'][$key]['validate']($matches[$i + 1]);
2238
-					else
2239
-						$params['{' . $key . '}'] = $matches[$i + 1];
2342
+					if (isset($possible['parameters'][$key]['value'])) {
2343
+											$params['{' . $key . '}'] = strtr($possible['parameters'][$key]['value'], array('$1' => $matches[$i + 1]));
2344
+					} elseif (isset($possible['parameters'][$key]['validate'])) {
2345
+											$params['{' . $key . '}'] = $possible['parameters'][$key]['validate']($matches[$i + 1]);
2346
+					} else {
2347
+											$params['{' . $key . '}'] = $matches[$i + 1];
2348
+					}
2240 2349
 
2241 2350
 					// Just to make sure: replace any $ or { so they can't interpolate wrongly.
2242 2351
 					$params['{' . $key . '}'] = strtr($params['{' . $key . '}'], array('$' => '&#036;', '{' => '&#123;'));
@@ -2244,23 +2353,26 @@  discard block
 block discarded – undo
2244 2353
 
2245 2354
 				foreach ($possible['parameters'] as $p => $info)
2246 2355
 				{
2247
-					if (!isset($params['{' . $p . '}']))
2248
-						$params['{' . $p . '}'] = '';
2356
+					if (!isset($params['{' . $p . '}'])) {
2357
+											$params['{' . $p . '}'] = '';
2358
+					}
2249 2359
 				}
2250 2360
 
2251 2361
 				$tag = $possible;
2252 2362
 
2253 2363
 				// Put the parameters into the string.
2254
-				if (isset($tag['before']))
2255
-					$tag['before'] = strtr($tag['before'], $params);
2256
-				if (isset($tag['after']))
2257
-					$tag['after'] = strtr($tag['after'], $params);
2258
-				if (isset($tag['content']))
2259
-					$tag['content'] = strtr($tag['content'], $params);
2364
+				if (isset($tag['before'])) {
2365
+									$tag['before'] = strtr($tag['before'], $params);
2366
+				}
2367
+				if (isset($tag['after'])) {
2368
+									$tag['after'] = strtr($tag['after'], $params);
2369
+				}
2370
+				if (isset($tag['content'])) {
2371
+									$tag['content'] = strtr($tag['content'], $params);
2372
+				}
2260 2373
 
2261 2374
 				$pos1 += strlen($given_param_string);
2262
-			}
2263
-			else
2375
+			} else
2264 2376
 			{
2265 2377
 				$tag = $possible;
2266 2378
 				$params = array();
@@ -2271,8 +2383,9 @@  discard block
 block discarded – undo
2271 2383
 		// Item codes are complicated buggers... they are implicit [li]s and can make [list]s!
2272 2384
 		if ($smileys !== false && $tag === null && isset($itemcodes[$message[$pos + 1]]) && $message[$pos + 2] == ']' && !isset($disabled['list']) && !isset($disabled['li']))
2273 2385
 		{
2274
-			if ($message[$pos + 1] == '0' && !in_array($message[$pos - 1], array(';', ' ', "\t", "\n", '>')))
2275
-				continue;
2386
+			if ($message[$pos + 1] == '0' && !in_array($message[$pos - 1], array(';', ' ', "\t", "\n", '>'))) {
2387
+							continue;
2388
+			}
2276 2389
 
2277 2390
 			$tag = $itemcodes[$message[$pos + 1]];
2278 2391
 
@@ -2293,9 +2406,9 @@  discard block
 block discarded – undo
2293 2406
 			{
2294 2407
 				array_pop($open_tags);
2295 2408
 				$code = '</li>';
2409
+			} else {
2410
+							$code = '';
2296 2411
 			}
2297
-			else
2298
-				$code = '';
2299 2412
 
2300 2413
 			// Now we open a new tag.
2301 2414
 			$open_tags[] = array(
@@ -2342,12 +2455,14 @@  discard block
 block discarded – undo
2342 2455
 		}
2343 2456
 
2344 2457
 		// No tag?  Keep looking, then.  Silly people using brackets without actual tags.
2345
-		if ($tag === null)
2346
-			continue;
2458
+		if ($tag === null) {
2459
+					continue;
2460
+		}
2347 2461
 
2348 2462
 		// Propagate the list to the child (so wrapping the disallowed tag won't work either.)
2349
-		if (isset($inside['disallow_children']))
2350
-			$tag['disallow_children'] = isset($tag['disallow_children']) ? array_unique(array_merge($tag['disallow_children'], $inside['disallow_children'])) : $inside['disallow_children'];
2463
+		if (isset($inside['disallow_children'])) {
2464
+					$tag['disallow_children'] = isset($tag['disallow_children']) ? array_unique(array_merge($tag['disallow_children'], $inside['disallow_children'])) : $inside['disallow_children'];
2465
+		}
2351 2466
 
2352 2467
 		// Is this tag disabled?
2353 2468
 		if (isset($disabled[$tag['tag']]))
@@ -2357,14 +2472,13 @@  discard block
 block discarded – undo
2357 2472
 				$tag['before'] = !empty($tag['block_level']) ? '<div>' : '';
2358 2473
 				$tag['after'] = !empty($tag['block_level']) ? '</div>' : '';
2359 2474
 				$tag['content'] = isset($tag['type']) && $tag['type'] == 'closed' ? '' : (!empty($tag['block_level']) ? '<div>$1</div>' : '$1');
2360
-			}
2361
-			elseif (isset($tag['disabled_before']) || isset($tag['disabled_after']))
2475
+			} elseif (isset($tag['disabled_before']) || isset($tag['disabled_after']))
2362 2476
 			{
2363 2477
 				$tag['before'] = isset($tag['disabled_before']) ? $tag['disabled_before'] : (!empty($tag['block_level']) ? '<div>' : '');
2364 2478
 				$tag['after'] = isset($tag['disabled_after']) ? $tag['disabled_after'] : (!empty($tag['block_level']) ? '</div>' : '');
2479
+			} else {
2480
+							$tag['content'] = $tag['disabled_content'];
2365 2481
 			}
2366
-			else
2367
-				$tag['content'] = $tag['disabled_content'];
2368 2482
 		}
2369 2483
 
2370 2484
 		// we use this a lot
@@ -2374,8 +2488,9 @@  discard block
 block discarded – undo
2374 2488
 		if (!empty($tag['block_level']) && $tag['tag'] != 'html' && empty($inside['block_level']))
2375 2489
 		{
2376 2490
 			$n = count($open_tags) - 1;
2377
-			while (empty($open_tags[$n]['block_level']) && $n >= 0)
2378
-				$n--;
2491
+			while (empty($open_tags[$n]['block_level']) && $n >= 0) {
2492
+							$n--;
2493
+			}
2379 2494
 
2380 2495
 			// Close all the non block level tags so this tag isn't surrounded by them.
2381 2496
 			for ($i = count($open_tags) - 1; $i > $n; $i--)
@@ -2386,10 +2501,12 @@  discard block
 block discarded – undo
2386 2501
 				$pos1 += $ot_strlen + 2;
2387 2502
 
2388 2503
 				// Trim or eat trailing stuff... see comment at the end of the big loop.
2389
-				if (!empty($open_tags[$i]['block_level']) && substr($message, $pos, 4) == '<br>')
2390
-					$message = substr($message, 0, $pos) . substr($message, $pos + 4);
2391
-				if (!empty($open_tags[$i]['trim']) && $tag['trim'] != 'inside' && preg_match('~(<br>|&nbsp;|\s)*~', substr($message, $pos), $matches) != 0)
2392
-					$message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0]));
2504
+				if (!empty($open_tags[$i]['block_level']) && substr($message, $pos, 4) == '<br>') {
2505
+									$message = substr($message, 0, $pos) . substr($message, $pos + 4);
2506
+				}
2507
+				if (!empty($open_tags[$i]['trim']) && $tag['trim'] != 'inside' && preg_match('~(<br>|&nbsp;|\s)*~', substr($message, $pos), $matches) != 0) {
2508
+									$message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0]));
2509
+				}
2393 2510
 
2394 2511
 				array_pop($open_tags);
2395 2512
 			}
@@ -2407,16 +2524,19 @@  discard block
 block discarded – undo
2407 2524
 		elseif ($tag['type'] == 'unparsed_content')
2408 2525
 		{
2409 2526
 			$pos2 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos1);
2410
-			if ($pos2 === false)
2411
-				continue;
2527
+			if ($pos2 === false) {
2528
+							continue;
2529
+			}
2412 2530
 
2413 2531
 			$data = substr($message, $pos1, $pos2 - $pos1);
2414 2532
 
2415
-			if (!empty($tag['block_level']) && substr($data, 0, 4) == '<br>')
2416
-				$data = substr($data, 4);
2533
+			if (!empty($tag['block_level']) && substr($data, 0, 4) == '<br>') {
2534
+							$data = substr($data, 4);
2535
+			}
2417 2536
 
2418
-			if (isset($tag['validate']))
2419
-				$tag['validate']($tag, $data, $disabled, $params);
2537
+			if (isset($tag['validate'])) {
2538
+							$tag['validate']($tag, $data, $disabled, $params);
2539
+			}
2420 2540
 
2421 2541
 			$code = strtr($tag['content'], array('$1' => $data));
2422 2542
 			$message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos2 + 3 + $tag_strlen);
@@ -2432,34 +2552,40 @@  discard block
 block discarded – undo
2432 2552
 			if (isset($tag['quoted']))
2433 2553
 			{
2434 2554
 				$quoted = substr($message, $pos1, 6) == '&quot;';
2435
-				if ($tag['quoted'] != 'optional' && !$quoted)
2436
-					continue;
2555
+				if ($tag['quoted'] != 'optional' && !$quoted) {
2556
+									continue;
2557
+				}
2437 2558
 
2438
-				if ($quoted)
2439
-					$pos1 += 6;
2559
+				if ($quoted) {
2560
+									$pos1 += 6;
2561
+				}
2562
+			} else {
2563
+							$quoted = false;
2440 2564
 			}
2441
-			else
2442
-				$quoted = false;
2443 2565
 
2444 2566
 			$pos2 = strpos($message, $quoted == false ? ']' : '&quot;]', $pos1);
2445
-			if ($pos2 === false)
2446
-				continue;
2567
+			if ($pos2 === false) {
2568
+							continue;
2569
+			}
2447 2570
 
2448 2571
 			$pos3 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos2);
2449
-			if ($pos3 === false)
2450
-				continue;
2572
+			if ($pos3 === false) {
2573
+							continue;
2574
+			}
2451 2575
 
2452 2576
 			$data = array(
2453 2577
 				substr($message, $pos2 + ($quoted == false ? 1 : 7), $pos3 - ($pos2 + ($quoted == false ? 1 : 7))),
2454 2578
 				substr($message, $pos1, $pos2 - $pos1)
2455 2579
 			);
2456 2580
 
2457
-			if (!empty($tag['block_level']) && substr($data[0], 0, 4) == '<br>')
2458
-				$data[0] = substr($data[0], 4);
2581
+			if (!empty($tag['block_level']) && substr($data[0], 0, 4) == '<br>') {
2582
+							$data[0] = substr($data[0], 4);
2583
+			}
2459 2584
 
2460 2585
 			// Validation for my parking, please!
2461
-			if (isset($tag['validate']))
2462
-				$tag['validate']($tag, $data, $disabled, $params);
2586
+			if (isset($tag['validate'])) {
2587
+							$tag['validate']($tag, $data, $disabled, $params);
2588
+			}
2463 2589
 
2464 2590
 			$code = strtr($tag['content'], array('$1' => $data[0], '$2' => $data[1]));
2465 2591
 			$message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos3 + 3 + $tag_strlen);
@@ -2476,23 +2602,27 @@  discard block
 block discarded – undo
2476 2602
 		elseif ($tag['type'] == 'unparsed_commas_content')
2477 2603
 		{
2478 2604
 			$pos2 = strpos($message, ']', $pos1);
2479
-			if ($pos2 === false)
2480
-				continue;
2605
+			if ($pos2 === false) {
2606
+							continue;
2607
+			}
2481 2608
 
2482 2609
 			$pos3 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos2);
2483
-			if ($pos3 === false)
2484
-				continue;
2610
+			if ($pos3 === false) {
2611
+							continue;
2612
+			}
2485 2613
 
2486 2614
 			// We want $1 to be the content, and the rest to be csv.
2487 2615
 			$data = explode(',', ',' . substr($message, $pos1, $pos2 - $pos1));
2488 2616
 			$data[0] = substr($message, $pos2 + 1, $pos3 - $pos2 - 1);
2489 2617
 
2490
-			if (isset($tag['validate']))
2491
-				$tag['validate']($tag, $data, $disabled, $params);
2618
+			if (isset($tag['validate'])) {
2619
+							$tag['validate']($tag, $data, $disabled, $params);
2620
+			}
2492 2621
 
2493 2622
 			$code = $tag['content'];
2494
-			foreach ($data as $k => $d)
2495
-				$code = strtr($code, array('$' . ($k + 1) => trim($d)));
2623
+			foreach ($data as $k => $d) {
2624
+							$code = strtr($code, array('$' . ($k + 1) => trim($d)));
2625
+			}
2496 2626
 			$message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos3 + 3 + $tag_strlen);
2497 2627
 			$pos += strlen($code) - 1 + 2;
2498 2628
 		}
@@ -2500,24 +2630,28 @@  discard block
 block discarded – undo
2500 2630
 		elseif ($tag['type'] == 'unparsed_commas')
2501 2631
 		{
2502 2632
 			$pos2 = strpos($message, ']', $pos1);
2503
-			if ($pos2 === false)
2504
-				continue;
2633
+			if ($pos2 === false) {
2634
+							continue;
2635
+			}
2505 2636
 
2506 2637
 			$data = explode(',', substr($message, $pos1, $pos2 - $pos1));
2507 2638
 
2508
-			if (isset($tag['validate']))
2509
-				$tag['validate']($tag, $data, $disabled, $params);
2639
+			if (isset($tag['validate'])) {
2640
+							$tag['validate']($tag, $data, $disabled, $params);
2641
+			}
2510 2642
 
2511 2643
 			// Fix after, for disabled code mainly.
2512
-			foreach ($data as $k => $d)
2513
-				$tag['after'] = strtr($tag['after'], array('$' . ($k + 1) => trim($d)));
2644
+			foreach ($data as $k => $d) {
2645
+							$tag['after'] = strtr($tag['after'], array('$' . ($k + 1) => trim($d)));
2646
+			}
2514 2647
 
2515 2648
 			$open_tags[] = $tag;
2516 2649
 
2517 2650
 			// Replace them out, $1, $2, $3, $4, etc.
2518 2651
 			$code = $tag['before'];
2519
-			foreach ($data as $k => $d)
2520
-				$code = strtr($code, array('$' . ($k + 1) => trim($d)));
2652
+			foreach ($data as $k => $d) {
2653
+							$code = strtr($code, array('$' . ($k + 1) => trim($d)));
2654
+			}
2521 2655
 			$message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos2 + 1);
2522 2656
 			$pos += strlen($code) - 1 + 2;
2523 2657
 		}
@@ -2528,28 +2662,33 @@  discard block
 block discarded – undo
2528 2662
 			if (isset($tag['quoted']))
2529 2663
 			{
2530 2664
 				$quoted = substr($message, $pos1, 6) == '&quot;';
2531
-				if ($tag['quoted'] != 'optional' && !$quoted)
2532
-					continue;
2665
+				if ($tag['quoted'] != 'optional' && !$quoted) {
2666
+									continue;
2667
+				}
2533 2668
 
2534
-				if ($quoted)
2535
-					$pos1 += 6;
2669
+				if ($quoted) {
2670
+									$pos1 += 6;
2671
+				}
2672
+			} else {
2673
+							$quoted = false;
2536 2674
 			}
2537
-			else
2538
-				$quoted = false;
2539 2675
 
2540 2676
 			$pos2 = strpos($message, $quoted == false ? ']' : '&quot;]', $pos1);
2541
-			if ($pos2 === false)
2542
-				continue;
2677
+			if ($pos2 === false) {
2678
+							continue;
2679
+			}
2543 2680
 
2544 2681
 			$data = substr($message, $pos1, $pos2 - $pos1);
2545 2682
 
2546 2683
 			// Validation for my parking, please!
2547
-			if (isset($tag['validate']))
2548
-				$tag['validate']($tag, $data, $disabled, $params);
2684
+			if (isset($tag['validate'])) {
2685
+							$tag['validate']($tag, $data, $disabled, $params);
2686
+			}
2549 2687
 
2550 2688
 			// For parsed content, we must recurse to avoid security problems.
2551
-			if ($tag['type'] != 'unparsed_equals')
2552
-				$data = parse_bbc($data, !empty($tag['parsed_tags_allowed']) ? false : true, '', !empty($tag['parsed_tags_allowed']) ? $tag['parsed_tags_allowed'] : array());
2689
+			if ($tag['type'] != 'unparsed_equals') {
2690
+							$data = parse_bbc($data, !empty($tag['parsed_tags_allowed']) ? false : true, '', !empty($tag['parsed_tags_allowed']) ? $tag['parsed_tags_allowed'] : array());
2691
+			}
2553 2692
 
2554 2693
 			$tag['after'] = strtr($tag['after'], array('$1' => $data));
2555 2694
 
@@ -2561,34 +2700,40 @@  discard block
 block discarded – undo
2561 2700
 		}
2562 2701
 
2563 2702
 		// If this is block level, eat any breaks after it.
2564
-		if (!empty($tag['block_level']) && substr($message, $pos + 1, 4) == '<br>')
2565
-			$message = substr($message, 0, $pos + 1) . substr($message, $pos + 5);
2703
+		if (!empty($tag['block_level']) && substr($message, $pos + 1, 4) == '<br>') {
2704
+					$message = substr($message, 0, $pos + 1) . substr($message, $pos + 5);
2705
+		}
2566 2706
 
2567 2707
 		// Are we trimming outside this tag?
2568
-		if (!empty($tag['trim']) && $tag['trim'] != 'outside' && preg_match('~(<br>|&nbsp;|\s)*~', substr($message, $pos + 1), $matches) != 0)
2569
-			$message = substr($message, 0, $pos + 1) . substr($message, $pos + 1 + strlen($matches[0]));
2708
+		if (!empty($tag['trim']) && $tag['trim'] != 'outside' && preg_match('~(<br>|&nbsp;|\s)*~', substr($message, $pos + 1), $matches) != 0) {
2709
+					$message = substr($message, 0, $pos + 1) . substr($message, $pos + 1 + strlen($matches[0]));
2710
+		}
2570 2711
 	}
2571 2712
 
2572 2713
 	// Close any remaining tags.
2573
-	while ($tag = array_pop($open_tags))
2574
-		$message .= "\n" . $tag['after'] . "\n";
2714
+	while ($tag = array_pop($open_tags)) {
2715
+			$message .= "\n" . $tag['after'] . "\n";
2716
+	}
2575 2717
 
2576 2718
 	// Parse the smileys within the parts where it can be done safely.
2577 2719
 	if ($smileys === true)
2578 2720
 	{
2579 2721
 		$message_parts = explode("\n", $message);
2580
-		for ($i = 0, $n = count($message_parts); $i < $n; $i += 2)
2581
-			parsesmileys($message_parts[$i]);
2722
+		for ($i = 0, $n = count($message_parts); $i < $n; $i += 2) {
2723
+					parsesmileys($message_parts[$i]);
2724
+		}
2582 2725
 
2583 2726
 		$message = implode('', $message_parts);
2584 2727
 	}
2585 2728
 
2586 2729
 	// No smileys, just get rid of the markers.
2587
-	else
2588
-		$message = strtr($message, array("\n" => ''));
2730
+	else {
2731
+			$message = strtr($message, array("\n" => ''));
2732
+	}
2589 2733
 
2590
-	if ($message !== '' && $message[0] === ' ')
2591
-		$message = '&nbsp;' . substr($message, 1);
2734
+	if ($message !== '' && $message[0] === ' ') {
2735
+			$message = '&nbsp;' . substr($message, 1);
2736
+	}
2592 2737
 
2593 2738
 	// Cleanup whitespace.
2594 2739
 	$message = strtr($message, array('  ' => ' &nbsp;', "\r" => '', "\n" => '<br>', '<br> ' => '<br>&nbsp;', '&#13;' => "\n"));
@@ -2597,15 +2742,16 @@  discard block
 block discarded – undo
2597 2742
 	call_integration_hook('integrate_post_parsebbc', array(&$message, &$smileys, &$cache_id, &$parse_tags));
2598 2743
 
2599 2744
 	// Cache the output if it took some time...
2600
-	if (isset($cache_key, $cache_t) && array_sum(explode(' ', microtime())) - array_sum(explode(' ', $cache_t)) > 0.05)
2601
-		cache_put_data($cache_key, $message, 240);
2745
+	if (isset($cache_key, $cache_t) && array_sum(explode(' ', microtime())) - array_sum(explode(' ', $cache_t)) > 0.05) {
2746
+			cache_put_data($cache_key, $message, 240);
2747
+	}
2602 2748
 
2603 2749
 	// If this was a force parse revert if needed.
2604 2750
 	if (!empty($parse_tags))
2605 2751
 	{
2606
-		if (empty($temp_bbc))
2607
-			$bbc_codes = array();
2608
-		else
2752
+		if (empty($temp_bbc)) {
2753
+					$bbc_codes = array();
2754
+		} else
2609 2755
 		{
2610 2756
 			$bbc_codes = $temp_bbc;
2611 2757
 			unset($temp_bbc);
@@ -2632,8 +2778,9 @@  discard block
 block discarded – undo
2632 2778
 	static $smileyPregSearch = null, $smileyPregReplacements = array();
2633 2779
 
2634 2780
 	// No smiley set at all?!
2635
-	if ($user_info['smiley_set'] == 'none' || trim($message) == '')
2636
-		return;
2781
+	if ($user_info['smiley_set'] == 'none' || trim($message) == '') {
2782
+			return;
2783
+	}
2637 2784
 
2638 2785
 	// If smileyPregSearch hasn't been set, do it now.
2639 2786
 	if (empty($smileyPregSearch))
@@ -2644,8 +2791,7 @@  discard block
 block discarded – undo
2644 2791
 			$smileysfrom = array('>:D', ':D', '::)', '>:(', ':))', ':)', ';)', ';D', ':(', ':o', '8)', ':P', '???', ':-[', ':-X', ':-*', ':\'(', ':-\\', '^-^', 'O0', 'C:-)', '0:)');
2645 2792
 			$smileysto = array('evil.gif', 'cheesy.gif', 'rolleyes.gif', 'angry.gif', 'laugh.gif', 'smiley.gif', 'wink.gif', 'grin.gif', 'sad.gif', 'shocked.gif', 'cool.gif', 'tongue.gif', 'huh.gif', 'embarrassed.gif', 'lipsrsealed.gif', 'kiss.gif', 'cry.gif', 'undecided.gif', 'azn.gif', 'afro.gif', 'police.gif', 'angel.gif');
2646 2793
 			$smileysdescs = array('', $txt['icon_cheesy'], $txt['icon_rolleyes'], $txt['icon_angry'], '', $txt['icon_smiley'], $txt['icon_wink'], $txt['icon_grin'], $txt['icon_sad'], $txt['icon_shocked'], $txt['icon_cool'], $txt['icon_tongue'], $txt['icon_huh'], $txt['icon_embarrassed'], $txt['icon_lips'], $txt['icon_kiss'], $txt['icon_cry'], $txt['icon_undecided'], '', '', '', '');
2647
-		}
2648
-		else
2794
+		} else
2649 2795
 		{
2650 2796
 			// Load the smileys in reverse order by length so they don't get parsed wrong.
2651 2797
 			if (($temp = cache_get_data('parsing_smileys', 480)) == null)
@@ -2669,9 +2815,9 @@  discard block
 block discarded – undo
2669 2815
 				$smcFunc['db_free_result']($result);
2670 2816
 
2671 2817
 				cache_put_data('parsing_smileys', array($smileysfrom, $smileysto, $smileysdescs), 480);
2818
+			} else {
2819
+							list ($smileysfrom, $smileysto, $smileysdescs) = $temp;
2672 2820
 			}
2673
-			else
2674
-				list ($smileysfrom, $smileysto, $smileysdescs) = $temp;
2675 2821
 		}
2676 2822
 
2677 2823
 		// The non-breaking-space is a complex thing...
@@ -2748,35 +2894,41 @@  discard block
 block discarded – undo
2748 2894
 	global $scripturl, $context, $modSettings, $db_show_debug, $db_cache;
2749 2895
 
2750 2896
 	// In case we have mail to send, better do that - as obExit doesn't always quite make it...
2751
-	if (!empty($context['flush_mail']))
2752
-		// @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\
2897
+	if (!empty($context['flush_mail'])) {
2898
+			// @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\
2753 2899
 		AddMailQueue(true);
2900
+	}
2754 2901
 
2755 2902
 	$add = preg_match('~^(ftp|http)[s]?://~', $setLocation) == 0 && substr($setLocation, 0, 6) != 'about:';
2756 2903
 
2757
-	if ($add)
2758
-		$setLocation = $scripturl . ($setLocation != '' ? '?' . $setLocation : '');
2904
+	if ($add) {
2905
+			$setLocation = $scripturl . ($setLocation != '' ? '?' . $setLocation : '');
2906
+	}
2759 2907
 
2760 2908
 	// Put the session ID in.
2761
-	if (defined('SID') && SID != '')
2762
-		$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '(?!\?' . preg_quote(SID, '/') . ')\\??/', $scripturl . '?' . SID . ';', $setLocation);
2909
+	if (defined('SID') && SID != '') {
2910
+			$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '(?!\?' . preg_quote(SID, '/') . ')\\??/', $scripturl . '?' . SID . ';', $setLocation);
2911
+	}
2763 2912
 	// Keep that debug in their for template debugging!
2764
-	elseif (isset($_GET['debug']))
2765
-		$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '\\??/', $scripturl . '?debug;', $setLocation);
2913
+	elseif (isset($_GET['debug'])) {
2914
+			$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '\\??/', $scripturl . '?debug;', $setLocation);
2915
+	}
2766 2916
 
2767 2917
 	if (!empty($modSettings['queryless_urls']) && (empty($context['server']['is_cgi']) || ini_get('cgi.fix_pathinfo') == 1 || @get_cfg_var('cgi.fix_pathinfo') == 1) && (!empty($context['server']['is_apache']) || !empty($context['server']['is_lighttpd']) || !empty($context['server']['is_litespeed'])))
2768 2918
 	{
2769
-		if (defined('SID') && SID != '')
2770
-			$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?(?:' . SID . '(?:;|&|&amp;))((?:board|topic)=[^#]+?)(#[^"]*?)?$~',
2919
+		if (defined('SID') && SID != '') {
2920
+					$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?(?:' . SID . '(?:;|&|&amp;))((?:board|topic)=[^#]+?)(#[^"]*?)?$~',
2771 2921
 				function ($m) use ($scripturl)
2772 2922
 				{
2773 2923
 					return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html?' . SID. (isset($m[2]) ? "$m[2]" : "");
2924
+		}
2774 2925
 				}, $setLocation);
2775
-		else
2776
-			$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?$~',
2926
+		else {
2927
+					$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?$~',
2777 2928
 				function ($m) use ($scripturl)
2778 2929
 				{
2779 2930
 					return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html' . (isset($m[2]) ? "$m[2]" : "");
2931
+		}
2780 2932
 				}, $setLocation);
2781 2933
 	}
2782 2934
 
@@ -2787,8 +2939,9 @@  discard block
 block discarded – undo
2787 2939
 	header('Location: ' . str_replace(' ', '%20', $setLocation), true, $permanent ? 301 : 302);
2788 2940
 
2789 2941
 	// Debugging.
2790
-	if (isset($db_show_debug) && $db_show_debug === true)
2791
-		$_SESSION['debug_redirect'] = $db_cache;
2942
+	if (isset($db_show_debug) && $db_show_debug === true) {
2943
+			$_SESSION['debug_redirect'] = $db_cache;
2944
+	}
2792 2945
 
2793 2946
 	obExit(false);
2794 2947
 }
@@ -2807,51 +2960,60 @@  discard block
 block discarded – undo
2807 2960
 
2808 2961
 	// Attempt to prevent a recursive loop.
2809 2962
 	++$level;
2810
-	if ($level > 1 && !$from_fatal_error && !$has_fatal_error)
2811
-		exit;
2812
-	if ($from_fatal_error)
2813
-		$has_fatal_error = true;
2963
+	if ($level > 1 && !$from_fatal_error && !$has_fatal_error) {
2964
+			exit;
2965
+	}
2966
+	if ($from_fatal_error) {
2967
+			$has_fatal_error = true;
2968
+	}
2814 2969
 
2815 2970
 	// Clear out the stat cache.
2816 2971
 	trackStats();
2817 2972
 
2818 2973
 	// If we have mail to send, send it.
2819
-	if (!empty($context['flush_mail']))
2820
-		// @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\
2974
+	if (!empty($context['flush_mail'])) {
2975
+			// @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\
2821 2976
 		AddMailQueue(true);
2977
+	}
2822 2978
 
2823 2979
 	$do_header = $header === null ? !$header_done : $header;
2824
-	if ($do_footer === null)
2825
-		$do_footer = $do_header;
2980
+	if ($do_footer === null) {
2981
+			$do_footer = $do_header;
2982
+	}
2826 2983
 
2827 2984
 	// Has the template/header been done yet?
2828 2985
 	if ($do_header)
2829 2986
 	{
2830 2987
 		// Was the page title set last minute? Also update the HTML safe one.
2831
-		if (!empty($context['page_title']) && empty($context['page_title_html_safe']))
2832
-			$context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : '');
2988
+		if (!empty($context['page_title']) && empty($context['page_title_html_safe'])) {
2989
+					$context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : '');
2990
+		}
2833 2991
 
2834 2992
 		// Start up the session URL fixer.
2835 2993
 		ob_start('ob_sessrewrite');
2836 2994
 
2837
-		if (!empty($settings['output_buffers']) && is_string($settings['output_buffers']))
2838
-			$buffers = explode(',', $settings['output_buffers']);
2839
-		elseif (!empty($settings['output_buffers']))
2840
-			$buffers = $settings['output_buffers'];
2841
-		else
2842
-			$buffers = array();
2995
+		if (!empty($settings['output_buffers']) && is_string($settings['output_buffers'])) {
2996
+					$buffers = explode(',', $settings['output_buffers']);
2997
+		} elseif (!empty($settings['output_buffers'])) {
2998
+					$buffers = $settings['output_buffers'];
2999
+		} else {
3000
+					$buffers = array();
3001
+		}
2843 3002
 
2844
-		if (isset($modSettings['integrate_buffer']))
2845
-			$buffers = array_merge(explode(',', $modSettings['integrate_buffer']), $buffers);
3003
+		if (isset($modSettings['integrate_buffer'])) {
3004
+					$buffers = array_merge(explode(',', $modSettings['integrate_buffer']), $buffers);
3005
+		}
2846 3006
 
2847
-		if (!empty($buffers))
2848
-			foreach ($buffers as $function)
3007
+		if (!empty($buffers)) {
3008
+					foreach ($buffers as $function)
2849 3009
 			{
2850 3010
 				$call = call_helper($function, true);
3011
+		}
2851 3012
 
2852 3013
 				// Is it valid?
2853
-				if (!empty($call))
2854
-					ob_start($call);
3014
+				if (!empty($call)) {
3015
+									ob_start($call);
3016
+				}
2855 3017
 			}
2856 3018
 
2857 3019
 		// Display the screen in the logical order.
@@ -2863,8 +3025,9 @@  discard block
 block discarded – undo
2863 3025
 		loadSubTemplate(isset($context['sub_template']) ? $context['sub_template'] : 'main');
2864 3026
 
2865 3027
 		// Anything special to put out?
2866
-		if (!empty($context['insert_after_template']) && !isset($_REQUEST['xml']))
2867
-			echo $context['insert_after_template'];
3028
+		if (!empty($context['insert_after_template']) && !isset($_REQUEST['xml'])) {
3029
+					echo $context['insert_after_template'];
3030
+		}
2868 3031
 
2869 3032
 		// Just so we don't get caught in an endless loop of errors from the footer...
2870 3033
 		if (!$footer_done)
@@ -2873,14 +3036,16 @@  discard block
 block discarded – undo
2873 3036
 			template_footer();
2874 3037
 
2875 3038
 			// (since this is just debugging... it's okay that it's after </html>.)
2876
-			if (!isset($_REQUEST['xml']))
2877
-				displayDebug();
3039
+			if (!isset($_REQUEST['xml'])) {
3040
+							displayDebug();
3041
+			}
2878 3042
 		}
2879 3043
 	}
2880 3044
 
2881 3045
 	// Remember this URL in case someone doesn't like sending HTTP_REFERER.
2882
-	if (strpos($_SERVER['REQUEST_URL'], 'action=dlattach') === false && strpos($_SERVER['REQUEST_URL'], 'action=viewsmfile') === false)
2883
-		$_SESSION['old_url'] = $_SERVER['REQUEST_URL'];
3046
+	if (strpos($_SERVER['REQUEST_URL'], 'action=dlattach') === false && strpos($_SERVER['REQUEST_URL'], 'action=viewsmfile') === false) {
3047
+			$_SESSION['old_url'] = $_SERVER['REQUEST_URL'];
3048
+	}
2884 3049
 
2885 3050
 	// For session check verification.... don't switch browsers...
2886 3051
 	$_SESSION['USER_AGENT'] = empty($_SERVER['HTTP_USER_AGENT']) ? '' : $_SERVER['HTTP_USER_AGENT'];
@@ -2889,9 +3054,10 @@  discard block
 block discarded – undo
2889 3054
 	call_integration_hook('integrate_exit', array($do_footer));
2890 3055
 
2891 3056
 	// Don't exit if we're coming from index.php; that will pass through normally.
2892
-	if (!$from_index)
2893
-		exit;
2894
-}
3057
+	if (!$from_index) {
3058
+			exit;
3059
+	}
3060
+	}
2895 3061
 
2896 3062
 /**
2897 3063
  * Get the size of a specified image with better error handling.
@@ -2910,8 +3076,9 @@  discard block
 block discarded – undo
2910 3076
 	$url = str_replace(' ', '%20', $url);
2911 3077
 
2912 3078
 	// Can we pull this from the cache... please please?
2913
-	if (($temp = cache_get_data('url_image_size-' . md5($url), 240)) !== null)
2914
-		return $temp;
3079
+	if (($temp = cache_get_data('url_image_size-' . md5($url), 240)) !== null) {
3080
+			return $temp;
3081
+	}
2915 3082
 	$t = microtime();
2916 3083
 
2917 3084
 	// Get the host to pester...
@@ -2921,12 +3088,10 @@  discard block
 block discarded – undo
2921 3088
 	if ($url == '' || $url == 'http://' || $url == 'https://')
2922 3089
 	{
2923 3090
 		return false;
2924
-	}
2925
-	elseif (!isset($match[1]))
3091
+	} elseif (!isset($match[1]))
2926 3092
 	{
2927 3093
 		$size = @getimagesize($url);
2928
-	}
2929
-	else
3094
+	} else
2930 3095
 	{
2931 3096
 		// Try to connect to the server... give it half a second.
2932 3097
 		$temp = 0;
@@ -2965,12 +3130,14 @@  discard block
 block discarded – undo
2965 3130
 	}
2966 3131
 
2967 3132
 	// If we didn't get it, we failed.
2968
-	if (!isset($size))
2969
-		$size = false;
3133
+	if (!isset($size)) {
3134
+			$size = false;
3135
+	}
2970 3136
 
2971 3137
 	// If this took a long time, we may never have to do it again, but then again we might...
2972
-	if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.8)
2973
-		cache_put_data('url_image_size-' . md5($url), $size, 240);
3138
+	if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.8) {
3139
+			cache_put_data('url_image_size-' . md5($url), $size, 240);
3140
+	}
2974 3141
 
2975 3142
 	// Didn't work.
2976 3143
 	return $size;
@@ -2988,8 +3155,9 @@  discard block
 block discarded – undo
2988 3155
 
2989 3156
 	// Under SSI this function can be called more then once.  That can cause some problems.
2990 3157
 	//   So only run the function once unless we are forced to run it again.
2991
-	if ($loaded && !$forceload)
2992
-		return;
3158
+	if ($loaded && !$forceload) {
3159
+			return;
3160
+	}
2993 3161
 
2994 3162
 	$loaded = true;
2995 3163
 
@@ -3001,14 +3169,16 @@  discard block
 block discarded – undo
3001 3169
 	$context['news_lines'] = array_filter(explode("\n", str_replace("\r", '', trim(addslashes($modSettings['news'])))));
3002 3170
 	for ($i = 0, $n = count($context['news_lines']); $i < $n; $i++)
3003 3171
 	{
3004
-		if (trim($context['news_lines'][$i]) == '')
3005
-			continue;
3172
+		if (trim($context['news_lines'][$i]) == '') {
3173
+					continue;
3174
+		}
3006 3175
 
3007 3176
 		// Clean it up for presentation ;).
3008 3177
 		$context['news_lines'][$i] = parse_bbc(stripslashes(trim($context['news_lines'][$i])), true, 'news' . $i);
3009 3178
 	}
3010
-	if (!empty($context['news_lines']))
3011
-		$context['random_news_line'] = $context['news_lines'][mt_rand(0, count($context['news_lines']) - 1)];
3179
+	if (!empty($context['news_lines'])) {
3180
+			$context['random_news_line'] = $context['news_lines'][mt_rand(0, count($context['news_lines']) - 1)];
3181
+	}
3012 3182
 
3013 3183
 	if (!$user_info['is_guest'])
3014 3184
 	{
@@ -3017,40 +3187,48 @@  discard block
 block discarded – undo
3017 3187
 		$context['user']['alerts'] = &$user_info['alerts'];
3018 3188
 
3019 3189
 		// Personal message popup...
3020
-		if ($user_info['unread_messages'] > (isset($_SESSION['unread_messages']) ? $_SESSION['unread_messages'] : 0))
3021
-			$context['user']['popup_messages'] = true;
3022
-		else
3023
-			$context['user']['popup_messages'] = false;
3190
+		if ($user_info['unread_messages'] > (isset($_SESSION['unread_messages']) ? $_SESSION['unread_messages'] : 0)) {
3191
+					$context['user']['popup_messages'] = true;
3192
+		} else {
3193
+					$context['user']['popup_messages'] = false;
3194
+		}
3024 3195
 		$_SESSION['unread_messages'] = $user_info['unread_messages'];
3025 3196
 
3026
-		if (allowedTo('moderate_forum'))
3027
-			$context['unapproved_members'] = (!empty($modSettings['registration_method']) && ($modSettings['registration_method'] == 2 || (!empty($modSettings['coppaType']) && $modSettings['coppaType'] == 2))) || !empty($modSettings['approveAccountDeletion']) ? $modSettings['unapprovedMembers'] : 0;
3197
+		if (allowedTo('moderate_forum')) {
3198
+					$context['unapproved_members'] = (!empty($modSettings['registration_method']) && ($modSettings['registration_method'] == 2 || (!empty($modSettings['coppaType']) && $modSettings['coppaType'] == 2))) || !empty($modSettings['approveAccountDeletion']) ? $modSettings['unapprovedMembers'] : 0;
3199
+		}
3028 3200
 
3029 3201
 		$context['user']['avatar'] = array();
3030 3202
 
3031 3203
 		// Check for gravatar first since we might be forcing them...
3032 3204
 		if (($modSettings['gravatarEnabled'] && substr($user_info['avatar']['url'], 0, 11) == 'gravatar://') || !empty($modSettings['gravatarOverride']))
3033 3205
 		{
3034
-			if (!empty($modSettings['gravatarAllowExtraEmail']) && stristr($user_info['avatar']['url'], 'gravatar://') && strlen($user_info['avatar']['url']) > 11)
3035
-				$context['user']['avatar']['href'] = get_gravatar_url($smcFunc['substr']($user_info['avatar']['url'], 11));
3036
-			else
3037
-				$context['user']['avatar']['href'] = get_gravatar_url($user_info['email']);
3206
+			if (!empty($modSettings['gravatarAllowExtraEmail']) && stristr($user_info['avatar']['url'], 'gravatar://') && strlen($user_info['avatar']['url']) > 11) {
3207
+							$context['user']['avatar']['href'] = get_gravatar_url($smcFunc['substr']($user_info['avatar']['url'], 11));
3208
+			} else {
3209
+							$context['user']['avatar']['href'] = get_gravatar_url($user_info['email']);
3210
+			}
3038 3211
 		}
3039 3212
 		// Uploaded?
3040
-		elseif ($user_info['avatar']['url'] == '' && !empty($user_info['avatar']['id_attach']))
3041
-			$context['user']['avatar']['href'] = $user_info['avatar']['custom_dir'] ? $modSettings['custom_avatar_url'] . '/' . $user_info['avatar']['filename'] : $scripturl . '?action=dlattach;attach=' . $user_info['avatar']['id_attach'] . ';type=avatar';
3213
+		elseif ($user_info['avatar']['url'] == '' && !empty($user_info['avatar']['id_attach'])) {
3214
+					$context['user']['avatar']['href'] = $user_info['avatar']['custom_dir'] ? $modSettings['custom_avatar_url'] . '/' . $user_info['avatar']['filename'] : $scripturl . '?action=dlattach;attach=' . $user_info['avatar']['id_attach'] . ';type=avatar';
3215
+		}
3042 3216
 		// Full URL?
3043
-		elseif (strpos($user_info['avatar']['url'], 'http://') === 0 || strpos($user_info['avatar']['url'], 'https://') === 0)
3044
-			$context['user']['avatar']['href'] = $user_info['avatar']['url'];
3217
+		elseif (strpos($user_info['avatar']['url'], 'http://') === 0 || strpos($user_info['avatar']['url'], 'https://') === 0) {
3218
+					$context['user']['avatar']['href'] = $user_info['avatar']['url'];
3219
+		}
3045 3220
 		// Otherwise we assume it's server stored.
3046
-		elseif ($user_info['avatar']['url'] != '')
3047
-			$context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/' . $smcFunc['htmlspecialchars']($user_info['avatar']['url']);
3221
+		elseif ($user_info['avatar']['url'] != '') {
3222
+					$context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/' . $smcFunc['htmlspecialchars']($user_info['avatar']['url']);
3223
+		}
3048 3224
 		// No avatar at all? Fine, we have a big fat default avatar ;)
3049
-		else
3050
-			$context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/default.png';
3225
+		else {
3226
+					$context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/default.png';
3227
+		}
3051 3228
 
3052
-		if (!empty($context['user']['avatar']))
3053
-			$context['user']['avatar']['image'] = '<img src="' . $context['user']['avatar']['href'] . '" alt="" class="avatar">';
3229
+		if (!empty($context['user']['avatar'])) {
3230
+					$context['user']['avatar']['image'] = '<img src="' . $context['user']['avatar']['href'] . '" alt="" class="avatar">';
3231
+		}
3054 3232
 
3055 3233
 		// Figure out how long they've been logged in.
3056 3234
 		$context['user']['total_time_logged_in'] = array(
@@ -3058,8 +3236,7 @@  discard block
 block discarded – undo
3058 3236
 			'hours' => floor(($user_info['total_time_logged_in'] % 86400) / 3600),
3059 3237
 			'minutes' => floor(($user_info['total_time_logged_in'] % 3600) / 60)
3060 3238
 		);
3061
-	}
3062
-	else
3239
+	} else
3063 3240
 	{
3064 3241
 		$context['user']['messages'] = 0;
3065 3242
 		$context['user']['unread_messages'] = 0;
@@ -3067,12 +3244,14 @@  discard block
 block discarded – undo
3067 3244
 		$context['user']['total_time_logged_in'] = array('days' => 0, 'hours' => 0, 'minutes' => 0);
3068 3245
 		$context['user']['popup_messages'] = false;
3069 3246
 
3070
-		if (!empty($modSettings['registration_method']) && $modSettings['registration_method'] == 1)
3071
-			$txt['welcome_guest'] .= $txt['welcome_guest_activate'];
3247
+		if (!empty($modSettings['registration_method']) && $modSettings['registration_method'] == 1) {
3248
+					$txt['welcome_guest'] .= $txt['welcome_guest_activate'];
3249
+		}
3072 3250
 
3073 3251
 		// If we've upgraded recently, go easy on the passwords.
3074
-		if (!empty($modSettings['disableHashTime']) && ($modSettings['disableHashTime'] == 1 || time() < $modSettings['disableHashTime']))
3075
-			$context['disable_login_hashing'] = true;
3252
+		if (!empty($modSettings['disableHashTime']) && ($modSettings['disableHashTime'] == 1 || time() < $modSettings['disableHashTime'])) {
3253
+					$context['disable_login_hashing'] = true;
3254
+		}
3076 3255
 	}
3077 3256
 
3078 3257
 	// Setup the main menu items.
@@ -3085,8 +3264,8 @@  discard block
 block discarded – undo
3085 3264
 	$context['show_pm_popup'] = $context['user']['popup_messages'] && !empty($options['popup_messages']) && (!isset($_REQUEST['action']) || $_REQUEST['action'] != 'pm');
3086 3265
 
3087 3266
 	// 2.1+: Add the PM popup here instead. Theme authors can still override it simply by editing/removing the 'fPmPopup' in the array.
3088
-	if ($context['show_pm_popup'])
3089
-		addInlineJavaScript('
3267
+	if ($context['show_pm_popup']) {
3268
+			addInlineJavaScript('
3090 3269
 		jQuery(document).ready(function($) {
3091 3270
 			new smc_Popup({
3092 3271
 				heading: ' . JavaScriptEscape($txt['show_personal_messages_heading']) . ',
@@ -3094,15 +3273,17 @@  discard block
 block discarded – undo
3094 3273
 				icon_class: \'generic_icons mail_new\'
3095 3274
 			});
3096 3275
 		});');
3276
+	}
3097 3277
 
3098 3278
 	// Add a generic "Are you sure?" confirmation message.
3099 3279
 	addInlineJavaScript('
3100 3280
 	var smf_you_sure =' . JavaScriptEscape($txt['quickmod_confirm']) .';');
3101 3281
 
3102 3282
 	// Now add the capping code for avatars.
3103
-	if (!empty($modSettings['avatar_max_width_external']) && !empty($modSettings['avatar_max_height_external']) && !empty($modSettings['avatar_action_too_large']) && $modSettings['avatar_action_too_large'] == 'option_css_resize')
3104
-		addInlineCss('
3283
+	if (!empty($modSettings['avatar_max_width_external']) && !empty($modSettings['avatar_max_height_external']) && !empty($modSettings['avatar_action_too_large']) && $modSettings['avatar_action_too_large'] == 'option_css_resize') {
3284
+			addInlineCss('
3105 3285
 img.avatar { max-width: ' . $modSettings['avatar_max_width_external'] . 'px; max-height: ' . $modSettings['avatar_max_height_external'] . 'px; }');
3286
+	}
3106 3287
 
3107 3288
 	// This looks weird, but it's because BoardIndex.php references the variable.
3108 3289
 	$context['common_stats']['latest_member'] = array(
@@ -3119,11 +3300,13 @@  discard block
 block discarded – undo
3119 3300
 	);
3120 3301
 	$context['common_stats']['boardindex_total_posts'] = sprintf($txt['boardindex_total_posts'], $context['common_stats']['total_posts'], $context['common_stats']['total_topics'], $context['common_stats']['total_members']);
3121 3302
 
3122
-	if (empty($settings['theme_version']))
3123
-		addJavaScriptVar('smf_scripturl', $scripturl);
3303
+	if (empty($settings['theme_version'])) {
3304
+			addJavaScriptVar('smf_scripturl', $scripturl);
3305
+	}
3124 3306
 
3125
-	if (!isset($context['page_title']))
3126
-		$context['page_title'] = '';
3307
+	if (!isset($context['page_title'])) {
3308
+			$context['page_title'] = '';
3309
+	}
3127 3310
 
3128 3311
 	// Set some specific vars.
3129 3312
 	$context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : '');
@@ -3133,21 +3316,23 @@  discard block
 block discarded – undo
3133 3316
 	$context['meta_tags'][] = array('property' => 'og:site_name', 'content' => $context['forum_name']);
3134 3317
 	$context['meta_tags'][] = array('property' => 'og:title', 'content' => $context['page_title_html_safe']);
3135 3318
 
3136
-	if (!empty($context['meta_keywords']))
3137
-		$context['meta_tags'][] = array('name' => 'keywords', 'content' => $context['meta_keywords']);
3319
+	if (!empty($context['meta_keywords'])) {
3320
+			$context['meta_tags'][] = array('name' => 'keywords', 'content' => $context['meta_keywords']);
3321
+	}
3138 3322
 
3139
-	if (!empty($context['canonical_url']))
3140
-		$context['meta_tags'][] = array('property' => 'og:url', 'content' => $context['canonical_url']);
3323
+	if (!empty($context['canonical_url'])) {
3324
+			$context['meta_tags'][] = array('property' => 'og:url', 'content' => $context['canonical_url']);
3325
+	}
3141 3326
 
3142
-	if (!empty($settings['og_image']))
3143
-		$context['meta_tags'][] = array('property' => 'og:image', 'content' => $settings['og_image']);
3327
+	if (!empty($settings['og_image'])) {
3328
+			$context['meta_tags'][] = array('property' => 'og:image', 'content' => $settings['og_image']);
3329
+	}
3144 3330
 
3145 3331
 	if (!empty($context['meta_description']))
3146 3332
 	{
3147 3333
 		$context['meta_tags'][] = array('property' => 'og:description', 'content' => $context['meta_description']);
3148 3334
 		$context['meta_tags'][] = array('name' => 'description', 'content' => $context['meta_description']);
3149
-	}
3150
-	else
3335
+	} else
3151 3336
 	{
3152 3337
 		$context['meta_tags'][] = array('property' => 'og:description', 'content' => $context['page_title_html_safe']);
3153 3338
 		$context['meta_tags'][] = array('name' => 'description', 'content' => $context['page_title_html_safe']);
@@ -3172,8 +3357,9 @@  discard block
 block discarded – undo
3172 3357
 	$memory_needed = memoryReturnBytes($needed);
3173 3358
 
3174 3359
 	// should we account for how much is currently being used?
3175
-	if ($in_use)
3176
-		$memory_needed += function_exists('memory_get_usage') ? memory_get_usage() : (2 * 1048576);
3360
+	if ($in_use) {
3361
+			$memory_needed += function_exists('memory_get_usage') ? memory_get_usage() : (2 * 1048576);
3362
+	}
3177 3363
 
3178 3364
 	// if more is needed, request it
3179 3365
 	if ($memory_current < $memory_needed)
@@ -3196,8 +3382,9 @@  discard block
 block discarded – undo
3196 3382
  */
3197 3383
 function memoryReturnBytes($val)
3198 3384
 {
3199
-	if (is_integer($val))
3200
-		return $val;
3385
+	if (is_integer($val)) {
3386
+			return $val;
3387
+	}
3201 3388
 
3202 3389
 	// Separate the number from the designator
3203 3390
 	$val = trim($val);
@@ -3233,10 +3420,11 @@  discard block
 block discarded – undo
3233 3420
 		header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
3234 3421
 
3235 3422
 		// Are we debugging the template/html content?
3236
-		if (!isset($_REQUEST['xml']) && isset($_GET['debug']) && !isBrowser('ie'))
3237
-			header('Content-Type: application/xhtml+xml');
3238
-		elseif (!isset($_REQUEST['xml']))
3239
-			header('Content-Type: text/html; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
3423
+		if (!isset($_REQUEST['xml']) && isset($_GET['debug']) && !isBrowser('ie')) {
3424
+					header('Content-Type: application/xhtml+xml');
3425
+		} elseif (!isset($_REQUEST['xml'])) {
3426
+					header('Content-Type: text/html; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
3427
+		}
3240 3428
 	}
3241 3429
 
3242 3430
 	header('Content-Type: text/' . (isset($_REQUEST['xml']) ? 'xml' : 'html') . '; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
@@ -3245,8 +3433,9 @@  discard block
 block discarded – undo
3245 3433
 	if ($context['in_maintenance'] && $context['user']['is_admin'])
3246 3434
 	{
3247 3435
 		$position = array_search('body', $context['template_layers']);
3248
-		if ($position === false)
3249
-			$position = array_search('main', $context['template_layers']);
3436
+		if ($position === false) {
3437
+					$position = array_search('main', $context['template_layers']);
3438
+		}
3250 3439
 
3251 3440
 		if ($position !== false)
3252 3441
 		{
@@ -3274,23 +3463,25 @@  discard block
 block discarded – undo
3274 3463
 
3275 3464
 			foreach ($securityFiles as $i => $securityFile)
3276 3465
 			{
3277
-				if (!file_exists($boarddir . '/' . $securityFile))
3278
-					unset($securityFiles[$i]);
3466
+				if (!file_exists($boarddir . '/' . $securityFile)) {
3467
+									unset($securityFiles[$i]);
3468
+				}
3279 3469
 			}
3280 3470
 
3281 3471
 			// We are already checking so many files...just few more doesn't make any difference! :P
3282
-			if (!empty($modSettings['currentAttachmentUploadDir']))
3283
-				$path = $modSettings['attachmentUploadDir'][$modSettings['currentAttachmentUploadDir']];
3284
-
3285
-			else
3286
-				$path = $modSettings['attachmentUploadDir'];
3472
+			if (!empty($modSettings['currentAttachmentUploadDir'])) {
3473
+							$path = $modSettings['attachmentUploadDir'][$modSettings['currentAttachmentUploadDir']];
3474
+			} else {
3475
+							$path = $modSettings['attachmentUploadDir'];
3476
+			}
3287 3477
 
3288 3478
 			secureDirectory($path, true);
3289 3479
 			secureDirectory($cachedir);
3290 3480
 
3291 3481
 			// If agreement is enabled, at least the english version shall exists
3292
-			if ($modSettings['requireAgreement'])
3293
-				$agreement = !file_exists($boarddir . '/agreement.txt');
3482
+			if ($modSettings['requireAgreement']) {
3483
+							$agreement = !file_exists($boarddir . '/agreement.txt');
3484
+			}
3294 3485
 
3295 3486
 			if (!empty($securityFiles) || (!empty($modSettings['cache_enable']) && !is_writable($cachedir)) || !empty($agreement))
3296 3487
 			{
@@ -3305,18 +3496,21 @@  discard block
 block discarded – undo
3305 3496
 					echo '
3306 3497
 				', $txt['not_removed'], '<strong>', $securityFile, '</strong>!<br>';
3307 3498
 
3308
-					if ($securityFile == 'Settings.php~' || $securityFile == 'Settings_bak.php~')
3309
-						echo '
3499
+					if ($securityFile == 'Settings.php~' || $securityFile == 'Settings_bak.php~') {
3500
+											echo '
3310 3501
 				', sprintf($txt['not_removed_extra'], $securityFile, substr($securityFile, 0, -1)), '<br>';
3502
+					}
3311 3503
 				}
3312 3504
 
3313
-				if (!empty($modSettings['cache_enable']) && !is_writable($cachedir))
3314
-					echo '
3505
+				if (!empty($modSettings['cache_enable']) && !is_writable($cachedir)) {
3506
+									echo '
3315 3507
 				<strong>', $txt['cache_writable'], '</strong><br>';
3508
+				}
3316 3509
 
3317
-				if (!empty($agreement))
3318
-					echo '
3510
+				if (!empty($agreement)) {
3511
+									echo '
3319 3512
 				<strong>', $txt['agreement_missing'], '</strong><br>';
3513
+				}
3320 3514
 
3321 3515
 				echo '
3322 3516
 			</p>
@@ -3331,16 +3525,18 @@  discard block
 block discarded – undo
3331 3525
 				<div class="windowbg alert" style="margin: 2ex; padding: 2ex; border: 2px dashed red;">
3332 3526
 					', sprintf($txt['you_are_post_banned'], $user_info['is_guest'] ? $txt['guest_title'] : $user_info['name']);
3333 3527
 
3334
-			if (!empty($_SESSION['ban']['cannot_post']['reason']))
3335
-				echo '
3528
+			if (!empty($_SESSION['ban']['cannot_post']['reason'])) {
3529
+							echo '
3336 3530
 					<div style="padding-left: 4ex; padding-top: 1ex;">', $_SESSION['ban']['cannot_post']['reason'], '</div>';
3531
+			}
3337 3532
 
3338
-			if (!empty($_SESSION['ban']['expire_time']))
3339
-				echo '
3533
+			if (!empty($_SESSION['ban']['expire_time'])) {
3534
+							echo '
3340 3535
 					<div>', sprintf($txt['your_ban_expires'], timeformat($_SESSION['ban']['expire_time'], false)), '</div>';
3341
-			else
3342
-				echo '
3536
+			} else {
3537
+							echo '
3343 3538
 					<div>', $txt['your_ban_expires_never'], '</div>';
3539
+			}
3344 3540
 
3345 3541
 			echo '
3346 3542
 				</div>';
@@ -3356,8 +3552,9 @@  discard block
 block discarded – undo
3356 3552
 	global $forum_copyright, $software_year, $forum_version;
3357 3553
 
3358 3554
 	// Don't display copyright for things like SSI.
3359
-	if (!isset($forum_version) || !isset($software_year))
3360
-		return;
3555
+	if (!isset($forum_version) || !isset($software_year)) {
3556
+			return;
3557
+	}
3361 3558
 
3362 3559
 	// Put in the version...
3363 3560
 	printf($forum_copyright, $forum_version, $software_year);
@@ -3375,9 +3572,10 @@  discard block
 block discarded – undo
3375 3572
 	$context['load_time'] = comma_format(round(array_sum(explode(' ', microtime())) - array_sum(explode(' ', $time_start)), 3));
3376 3573
 	$context['load_queries'] = $db_count;
3377 3574
 
3378
-	foreach (array_reverse($context['template_layers']) as $layer)
3379
-		loadSubTemplate($layer . '_below', true);
3380
-}
3575
+	foreach (array_reverse($context['template_layers']) as $layer) {
3576
+			loadSubTemplate($layer . '_below', true);
3577
+	}
3578
+	}
3381 3579
 
3382 3580
 /**
3383 3581
  * Output the Javascript files
@@ -3408,8 +3606,7 @@  discard block
 block discarded – undo
3408 3606
 			{
3409 3607
 				echo '
3410 3608
 		var ', $key, ';';
3411
-			}
3412
-			else
3609
+			} else
3413 3610
 			{
3414 3611
 				echo '
3415 3612
 		var ', $key, ' = ', $value, ';';
@@ -3424,26 +3621,27 @@  discard block
 block discarded – undo
3424 3621
 	foreach ($context['javascript_files'] as $id => $js_file)
3425 3622
 	{
3426 3623
 		// Last minute call! allow theme authors to disable single files.
3427
-		if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files']))
3428
-			continue;
3624
+		if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files'])) {
3625
+					continue;
3626
+		}
3429 3627
 
3430 3628
 		// By default all files don't get minimized unless the file explicitly says so!
3431 3629
 		if (!empty($js_file['options']['minimize']) && !empty($modSettings['minimize_files']))
3432 3630
 		{
3433
-			if ($do_deferred && !empty($js_file['options']['defer']))
3434
-				$toMinifyDefer[] = $js_file;
3435
-
3436
-			elseif (!$do_deferred && empty($js_file['options']['defer']))
3437
-				$toMinify[] = $js_file;
3631
+			if ($do_deferred && !empty($js_file['options']['defer'])) {
3632
+							$toMinifyDefer[] = $js_file;
3633
+			} elseif (!$do_deferred && empty($js_file['options']['defer'])) {
3634
+							$toMinify[] = $js_file;
3635
+			}
3438 3636
 
3439 3637
 			// Grab a random seed.
3440
-			if (!isset($minSeed))
3441
-				$minSeed = $js_file['options']['seed'];
3442
-		}
3443
-
3444
-		elseif ((!$do_deferred && empty($js_file['options']['defer'])) || ($do_deferred && !empty($js_file['options']['defer'])))
3445
-			echo '
3638
+			if (!isset($minSeed)) {
3639
+							$minSeed = $js_file['options']['seed'];
3640
+			}
3641
+		} elseif ((!$do_deferred && empty($js_file['options']['defer'])) || ($do_deferred && !empty($js_file['options']['defer']))) {
3642
+					echo '
3446 3643
 	<script src="', $js_file['fileUrl'], '"', !empty($js_file['options']['async']) ? ' async="async"' : '', '></script>';
3644
+		}
3447 3645
 	}
3448 3646
 
3449 3647
 	if ((!$do_deferred && !empty($toMinify)) || ($do_deferred && !empty($toMinifyDefer)))
@@ -3451,14 +3649,14 @@  discard block
 block discarded – undo
3451 3649
 		$result = custMinify(($do_deferred ? $toMinifyDefer : $toMinify), 'js', $do_deferred);
3452 3650
 
3453 3651
 		// Minify process couldn't work, print each individual files.
3454
-		if (!empty($result) && is_array($result))
3455
-			foreach ($result as $minFailedFile)
3652
+		if (!empty($result) && is_array($result)) {
3653
+					foreach ($result as $minFailedFile)
3456 3654
 				echo '
3457 3655
 	<script src="', $minFailedFile['fileUrl'], '"', !empty($minFailedFile['options']['async']) ? ' async="async"' : '', '></script>';
3458
-
3459
-		else
3460
-			echo '
3656
+		} else {
3657
+					echo '
3461 3658
 	<script src="', $settings['theme_url'] ,'/scripts/minified', ($do_deferred ? '_deferred' : '') ,'.js', $minSeed ,'"></script>';
3659
+		}
3462 3660
 	}
3463 3661
 
3464 3662
 	// Inline JavaScript - Actually useful some times!
@@ -3469,8 +3667,9 @@  discard block
 block discarded – undo
3469 3667
 			echo '
3470 3668
 <script>';
3471 3669
 
3472
-			foreach ($context['javascript_inline']['defer'] as $js_code)
3473
-				echo $js_code;
3670
+			foreach ($context['javascript_inline']['defer'] as $js_code) {
3671
+							echo $js_code;
3672
+			}
3474 3673
 
3475 3674
 			echo '
3476 3675
 </script>';
@@ -3481,8 +3680,9 @@  discard block
 block discarded – undo
3481 3680
 			echo '
3482 3681
 	<script>';
3483 3682
 
3484
-			foreach ($context['javascript_inline']['standard'] as $js_code)
3485
-				echo $js_code;
3683
+			foreach ($context['javascript_inline']['standard'] as $js_code) {
3684
+							echo $js_code;
3685
+			}
3486 3686
 
3487 3687
 			echo '
3488 3688
 	</script>';
@@ -3507,8 +3707,9 @@  discard block
 block discarded – undo
3507 3707
 	foreach ($context['css_files'] as $id => $file)
3508 3708
 	{
3509 3709
 		// Last minute call! allow theme authors to disable single files.
3510
-		if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files']))
3511
-			continue;
3710
+		if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files'])) {
3711
+					continue;
3712
+		}
3512 3713
 
3513 3714
 		// By default all files don't get minimized unless the file explicitly says so!
3514 3715
 		if (!empty($file['options']['minimize']) && !empty($modSettings['minimize_files']))
@@ -3516,12 +3717,12 @@  discard block
 block discarded – undo
3516 3717
 			$toMinify[] = $file;
3517 3718
 
3518 3719
 			// Grab a random seed.
3519
-			if (!isset($minSeed))
3520
-				$minSeed = $file['options']['seed'];
3720
+			if (!isset($minSeed)) {
3721
+							$minSeed = $file['options']['seed'];
3722
+			}
3723
+		} else {
3724
+					$normal[] = $file['fileUrl'];
3521 3725
 		}
3522
-
3523
-		else
3524
-			$normal[] = $file['fileUrl'];
3525 3726
 	}
3526 3727
 
3527 3728
 	if (!empty($toMinify))
@@ -3529,28 +3730,30 @@  discard block
 block discarded – undo
3529 3730
 		$result = custMinify($toMinify, 'css');
3530 3731
 
3531 3732
 		// Minify process couldn't work, print each individual files.
3532
-		if (!empty($result) && is_array($result))
3533
-			foreach ($result as $minFailedFile)
3733
+		if (!empty($result) && is_array($result)) {
3734
+					foreach ($result as $minFailedFile)
3534 3735
 				echo '
3535 3736
 	<link rel="stylesheet" href="', $minFailedFile['fileUrl'], '">';
3536
-
3537
-		else
3538
-			echo '
3737
+		} else {
3738
+					echo '
3539 3739
 	<link rel="stylesheet" href="', $settings['theme_url'] ,'/css/minified.css', $minSeed ,'">';
3740
+		}
3540 3741
 	}
3541 3742
 
3542 3743
 	// Print the rest after the minified files.
3543
-	if (!empty($normal))
3544
-		foreach ($normal as $nf)
3744
+	if (!empty($normal)) {
3745
+			foreach ($normal as $nf)
3545 3746
 			echo '
3546 3747
 	<link rel="stylesheet" href="', $nf ,'">';
3748
+	}
3547 3749
 
3548 3750
 	if ($db_show_debug === true)
3549 3751
 	{
3550 3752
 		// Try to keep only what's useful.
3551 3753
 		$repl = array($boardurl . '/Themes/' => '', $boardurl . '/' => '');
3552
-		foreach ($context['css_files'] as $file)
3553
-			$context['debug']['sheets'][] = strtr($file['fileName'], $repl);
3754
+		foreach ($context['css_files'] as $file) {
3755
+					$context['debug']['sheets'][] = strtr($file['fileName'], $repl);
3756
+		}
3554 3757
 	}
3555 3758
 
3556 3759
 	if (!empty($context['css_header']))
@@ -3558,9 +3761,10 @@  discard block
 block discarded – undo
3558 3761
 		echo '
3559 3762
 	<style>';
3560 3763
 
3561
-		foreach ($context['css_header'] as $css)
3562
-			echo $css .'
3764
+		foreach ($context['css_header'] as $css) {
3765
+					echo $css .'
3563 3766
 	';
3767
+		}
3564 3768
 
3565 3769
 		echo'
3566 3770
 	</style>';
@@ -3584,15 +3788,17 @@  discard block
 block discarded – undo
3584 3788
 	$type = !empty($type) && in_array($type, $types) ? $type : false;
3585 3789
 	$data = !empty($data) ? $data : false;
3586 3790
 
3587
-	if (empty($type) || empty($data))
3588
-		return false;
3791
+	if (empty($type) || empty($data)) {
3792
+			return false;
3793
+	}
3589 3794
 
3590 3795
 	// Did we already did this?
3591 3796
 	$toCache = cache_get_data('minimized_'. $settings['theme_id'] .'_'. $type, 86400);
3592 3797
 
3593 3798
 	// Already done?
3594
-	if (!empty($toCache))
3595
-		return true;
3799
+	if (!empty($toCache)) {
3800
+			return true;
3801
+	}
3596 3802
 
3597 3803
 	// Yep, need a bunch of files.
3598 3804
 	require_once($sourcedir . '/minify/src/Minify.php');
@@ -3680,8 +3886,9 @@  discard block
 block discarded – undo
3680 3886
 	global $modSettings, $smcFunc;
3681 3887
 
3682 3888
 	// Just make up a nice hash...
3683
-	if ($new)
3684
-		return sha1(md5($filename . time()) . mt_rand());
3889
+	if ($new) {
3890
+			return sha1(md5($filename . time()) . mt_rand());
3891
+	}
3685 3892
 
3686 3893
 	// Grab the file hash if it wasn't added.
3687 3894
 	// Left this for legacy.
@@ -3695,23 +3902,25 @@  discard block
 block discarded – undo
3695 3902
 				'id_attach' => $attachment_id,
3696 3903
 			));
3697 3904
 
3698
-		if ($smcFunc['db_num_rows']($request) === 0)
3699
-			return false;
3905
+		if ($smcFunc['db_num_rows']($request) === 0) {
3906
+					return false;
3907
+		}
3700 3908
 
3701 3909
 		list ($file_hash) = $smcFunc['db_fetch_row']($request);
3702 3910
 		$smcFunc['db_free_result']($request);
3703 3911
 	}
3704 3912
 
3705 3913
 	// Still no hash? mmm...
3706
-	if (empty($file_hash))
3707
-		$file_hash = sha1(md5($filename . time()) . mt_rand());
3914
+	if (empty($file_hash)) {
3915
+			$file_hash = sha1(md5($filename . time()) . mt_rand());
3916
+	}
3708 3917
 
3709 3918
 	// Are we using multiple directories?
3710
-	if (!empty($modSettings['currentAttachmentUploadDir']))
3711
-		$path = $modSettings['attachmentUploadDir'][$dir];
3712
-
3713
-	else
3714
-		$path = $modSettings['attachmentUploadDir'];
3919
+	if (!empty($modSettings['currentAttachmentUploadDir'])) {
3920
+			$path = $modSettings['attachmentUploadDir'][$dir];
3921
+	} else {
3922
+			$path = $modSettings['attachmentUploadDir'];
3923
+	}
3715 3924
 
3716 3925
 	return $path . '/' . $attachment_id . '_' . $file_hash .'.dat';
3717 3926
 }
@@ -3726,8 +3935,9 @@  discard block
 block discarded – undo
3726 3935
 function ip2range($fullip)
3727 3936
 {
3728 3937
 	// Pretend that 'unknown' is 255.255.255.255. (since that can't be an IP anyway.)
3729
-	if ($fullip == 'unknown')
3730
-		$fullip = '255.255.255.255';
3938
+	if ($fullip == 'unknown') {
3939
+			$fullip = '255.255.255.255';
3940
+	}
3731 3941
 
3732 3942
 	$ip_parts = explode('-', $fullip);
3733 3943
 	$ip_array = array();
@@ -3751,10 +3961,11 @@  discard block
 block discarded – undo
3751 3961
 		$ip_array['low'] = $ip_parts[0];
3752 3962
 		$ip_array['high'] = $ip_parts[1];
3753 3963
 		return $ip_array;
3754
-	}
3755
-	elseif (count($ip_parts) == 2) // if ip 22.22.*-22.22.*
3964
+	} elseif (count($ip_parts) == 2) {
3965
+		// if ip 22.22.*-22.22.*
3756 3966
 	{
3757 3967
 		$valid_low = isValidIP($ip_parts[0]);
3968
+	}
3758 3969
 		$valid_high = isValidIP($ip_parts[1]);
3759 3970
 		$count = 0;
3760 3971
 		$mode = (preg_match('/:/',$ip_parts[0]) > 0 ? ':' : '.');
@@ -3769,7 +3980,9 @@  discard block
 block discarded – undo
3769 3980
 				$ip_parts[0] .= $mode . $min;
3770 3981
 				$valid_low = isValidIP($ip_parts[0]);
3771 3982
 				$count++;
3772
-				if ($count > 9) break;
3983
+				if ($count > 9) {
3984
+					break;
3985
+				}
3773 3986
 			}
3774 3987
 		}
3775 3988
 
@@ -3783,7 +3996,9 @@  discard block
 block discarded – undo
3783 3996
 				$ip_parts[1] .= $mode . $max;
3784 3997
 				$valid_high = isValidIP($ip_parts[1]);
3785 3998
 				$count++;
3786
-				if ($count > 9) break;
3999
+				if ($count > 9) {
4000
+					break;
4001
+				}
3787 4002
 			}
3788 4003
 		}
3789 4004
 
@@ -3808,46 +4023,54 @@  discard block
 block discarded – undo
3808 4023
 {
3809 4024
 	global $modSettings;
3810 4025
 
3811
-	if (($host = cache_get_data('hostlookup-' . $ip, 600)) !== null)
3812
-		return $host;
4026
+	if (($host = cache_get_data('hostlookup-' . $ip, 600)) !== null) {
4027
+			return $host;
4028
+	}
3813 4029
 	$t = microtime();
3814 4030
 
3815 4031
 	// Try the Linux host command, perhaps?
3816 4032
 	if (!isset($host) && (strpos(strtolower(PHP_OS), 'win') === false || strpos(strtolower(PHP_OS), 'darwin') !== false) && mt_rand(0, 1) == 1)
3817 4033
 	{
3818
-		if (!isset($modSettings['host_to_dis']))
3819
-			$test = @shell_exec('host -W 1 ' . @escapeshellarg($ip));
3820
-		else
3821
-			$test = @shell_exec('host ' . @escapeshellarg($ip));
4034
+		if (!isset($modSettings['host_to_dis'])) {
4035
+					$test = @shell_exec('host -W 1 ' . @escapeshellarg($ip));
4036
+		} else {
4037
+					$test = @shell_exec('host ' . @escapeshellarg($ip));
4038
+		}
3822 4039
 
3823 4040
 		// Did host say it didn't find anything?
3824
-		if (strpos($test, 'not found') !== false)
3825
-			$host = '';
4041
+		if (strpos($test, 'not found') !== false) {
4042
+					$host = '';
4043
+		}
3826 4044
 		// Invalid server option?
3827
-		elseif ((strpos($test, 'invalid option') || strpos($test, 'Invalid query name 1')) && !isset($modSettings['host_to_dis']))
3828
-			updateSettings(array('host_to_dis' => 1));
4045
+		elseif ((strpos($test, 'invalid option') || strpos($test, 'Invalid query name 1')) && !isset($modSettings['host_to_dis'])) {
4046
+					updateSettings(array('host_to_dis' => 1));
4047
+		}
3829 4048
 		// Maybe it found something, after all?
3830
-		elseif (preg_match('~\s([^\s]+?)\.\s~', $test, $match) == 1)
3831
-			$host = $match[1];
4049
+		elseif (preg_match('~\s([^\s]+?)\.\s~', $test, $match) == 1) {
4050
+					$host = $match[1];
4051
+		}
3832 4052
 	}
3833 4053
 
3834 4054
 	// This is nslookup; usually only Windows, but possibly some Unix?
3835 4055
 	if (!isset($host) && stripos(PHP_OS, 'win') !== false && strpos(strtolower(PHP_OS), 'darwin') === false && mt_rand(0, 1) == 1)
3836 4056
 	{
3837 4057
 		$test = @shell_exec('nslookup -timeout=1 ' . @escapeshellarg($ip));
3838
-		if (strpos($test, 'Non-existent domain') !== false)
3839
-			$host = '';
3840
-		elseif (preg_match('~Name:\s+([^\s]+)~', $test, $match) == 1)
3841
-			$host = $match[1];
4058
+		if (strpos($test, 'Non-existent domain') !== false) {
4059
+					$host = '';
4060
+		} elseif (preg_match('~Name:\s+([^\s]+)~', $test, $match) == 1) {
4061
+					$host = $match[1];
4062
+		}
3842 4063
 	}
3843 4064
 
3844 4065
 	// This is the last try :/.
3845
-	if (!isset($host) || $host === false)
3846
-		$host = @gethostbyaddr($ip);
4066
+	if (!isset($host) || $host === false) {
4067
+			$host = @gethostbyaddr($ip);
4068
+	}
3847 4069
 
3848 4070
 	// It took a long time, so let's cache it!
3849
-	if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.5)
3850
-		cache_put_data('hostlookup-' . $ip, $host, 600);
4071
+	if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.5) {
4072
+			cache_put_data('hostlookup-' . $ip, $host, 600);
4073
+	}
3851 4074
 
3852 4075
 	return $host;
3853 4076
 }
@@ -3883,20 +4106,21 @@  discard block
 block discarded – undo
3883 4106
 			{
3884 4107
 				$encrypted = substr(crypt($word, 'uk'), 2, $max_chars);
3885 4108
 				$total = 0;
3886
-				for ($i = 0; $i < $max_chars; $i++)
3887
-					$total += $possible_chars[ord($encrypted{$i})] * pow(63, $i);
4109
+				for ($i = 0; $i < $max_chars; $i++) {
4110
+									$total += $possible_chars[ord($encrypted{$i})] * pow(63, $i);
4111
+				}
3888 4112
 				$returned_ints[] = $max_chars == 4 ? min($total, 16777215) : $total;
3889 4113
 			}
3890 4114
 		}
3891 4115
 		return array_unique($returned_ints);
3892
-	}
3893
-	else
4116
+	} else
3894 4117
 	{
3895 4118
 		// Trim characters before and after and add slashes for database insertion.
3896 4119
 		$returned_words = array();
3897
-		foreach ($words as $word)
3898
-			if (($word = trim($word, '-_\'')) !== '')
4120
+		foreach ($words as $word) {
4121
+					if (($word = trim($word, '-_\'')) !== '')
3899 4122
 				$returned_words[] = $max_chars === null ? $word : substr($word, 0, $max_chars);
4123
+		}
3900 4124
 
3901 4125
 		// Filter out all words that occur more than once.
3902 4126
 		return array_unique($returned_words);
@@ -3918,16 +4142,18 @@  discard block
 block discarded – undo
3918 4142
 	global $settings, $txt;
3919 4143
 
3920 4144
 	// Does the current loaded theme have this and we are not forcing the usage of this function?
3921
-	if (function_exists('template_create_button') && !$force_use)
3922
-		return template_create_button($name, $alt, $label = '', $custom = '');
4145
+	if (function_exists('template_create_button') && !$force_use) {
4146
+			return template_create_button($name, $alt, $label = '', $custom = '');
4147
+	}
3923 4148
 
3924
-	if (!$settings['use_image_buttons'])
3925
-		return $txt[$alt];
3926
-	elseif (!empty($settings['use_buttons']))
3927
-		return '<span class="generic_icons ' . $name . '" alt="' . $txt[$alt] . '"></span>' . ($label != '' ? '&nbsp;<strong>' . $txt[$label] . '</strong>' : '');
3928
-	else
3929
-		return '<img src="' . $settings['lang_images_url'] . '/' . $name . '" alt="' . $txt[$alt] . '" ' . $custom . '>';
3930
-}
4149
+	if (!$settings['use_image_buttons']) {
4150
+			return $txt[$alt];
4151
+	} elseif (!empty($settings['use_buttons'])) {
4152
+			return '<span class="generic_icons ' . $name . '" alt="' . $txt[$alt] . '"></span>' . ($label != '' ? '&nbsp;<strong>' . $txt[$label] . '</strong>' : '');
4153
+	} else {
4154
+			return '<img src="' . $settings['lang_images_url'] . '/' . $name . '" alt="' . $txt[$alt] . '" ' . $custom . '>';
4155
+	}
4156
+	}
3931 4157
 
3932 4158
 /**
3933 4159
  * Sets up all of the top menu buttons
@@ -3970,9 +4196,10 @@  discard block
 block discarded – undo
3970 4196
 	var user_menus = new smc_PopupMenu();
3971 4197
 	user_menus.add("profile", "' . $scripturl . '?action=profile;area=popup");
3972 4198
 	user_menus.add("alerts", "' . $scripturl . '?action=profile;area=alerts_popup;u='. $context['user']['id'] .'");', true);
3973
-		if ($context['allow_pm'])
3974
-			addInlineJavaScript('
4199
+		if ($context['allow_pm']) {
4200
+					addInlineJavaScript('
3975 4201
 	user_menus.add("pm", "' . $scripturl . '?action=pm;sa=popup");', true);
4202
+		}
3976 4203
 
3977 4204
 		if (!empty($modSettings['enable_ajax_alerts']))
3978 4205
 		{
@@ -4132,88 +4359,96 @@  discard block
 block discarded – undo
4132 4359
 
4133 4360
 		// Now we put the buttons in the context so the theme can use them.
4134 4361
 		$menu_buttons = array();
4135
-		foreach ($buttons as $act => $button)
4136
-			if (!empty($button['show']))
4362
+		foreach ($buttons as $act => $button) {
4363
+					if (!empty($button['show']))
4137 4364
 			{
4138 4365
 				$button['active_button'] = false;
4366
+		}
4139 4367
 
4140 4368
 				// This button needs some action.
4141
-				if (isset($button['action_hook']))
4142
-					$needs_action_hook = true;
4369
+				if (isset($button['action_hook'])) {
4370
+									$needs_action_hook = true;
4371
+				}
4143 4372
 
4144 4373
 				// Make sure the last button truly is the last button.
4145 4374
 				if (!empty($button['is_last']))
4146 4375
 				{
4147
-					if (isset($last_button))
4148
-						unset($menu_buttons[$last_button]['is_last']);
4376
+					if (isset($last_button)) {
4377
+											unset($menu_buttons[$last_button]['is_last']);
4378
+					}
4149 4379
 					$last_button = $act;
4150 4380
 				}
4151 4381
 
4152 4382
 				// Go through the sub buttons if there are any.
4153
-				if (!empty($button['sub_buttons']))
4154
-					foreach ($button['sub_buttons'] as $key => $subbutton)
4383
+				if (!empty($button['sub_buttons'])) {
4384
+									foreach ($button['sub_buttons'] as $key => $subbutton)
4155 4385
 					{
4156 4386
 						if (empty($subbutton['show']))
4157 4387
 							unset($button['sub_buttons'][$key]);
4388
+				}
4158 4389
 
4159 4390
 						// 2nd level sub buttons next...
4160 4391
 						if (!empty($subbutton['sub_buttons']))
4161 4392
 						{
4162 4393
 							foreach ($subbutton['sub_buttons'] as $key2 => $sub_button2)
4163 4394
 							{
4164
-								if (empty($sub_button2['show']))
4165
-									unset($button['sub_buttons'][$key]['sub_buttons'][$key2]);
4395
+								if (empty($sub_button2['show'])) {
4396
+																	unset($button['sub_buttons'][$key]['sub_buttons'][$key2]);
4397
+								}
4166 4398
 							}
4167 4399
 						}
4168 4400
 					}
4169 4401
 
4170 4402
 				// Does this button have its own icon?
4171
-				if (isset($button['icon']) && file_exists($settings['theme_dir'] . '/images/' . $button['icon']))
4172
-					$button['icon'] = '<img src="' . $settings['images_url'] . '/' . $button['icon'] . '" alt="">';
4173
-				elseif (isset($button['icon']) && file_exists($settings['default_theme_dir'] . '/images/' . $button['icon']))
4174
-					$button['icon'] = '<img src="' . $settings['default_images_url'] . '/' . $button['icon'] . '" alt="">';
4175
-				elseif (isset($button['icon']))
4176
-					$button['icon'] = '<span class="generic_icons ' . $button['icon'] . '"></span>';
4177
-				else
4178
-					$button['icon'] = '<span class="generic_icons ' . $act . '"></span>';
4403
+				if (isset($button['icon']) && file_exists($settings['theme_dir'] . '/images/' . $button['icon'])) {
4404
+									$button['icon'] = '<img src="' . $settings['images_url'] . '/' . $button['icon'] . '" alt="">';
4405
+				} elseif (isset($button['icon']) && file_exists($settings['default_theme_dir'] . '/images/' . $button['icon'])) {
4406
+									$button['icon'] = '<img src="' . $settings['default_images_url'] . '/' . $button['icon'] . '" alt="">';
4407
+				} elseif (isset($button['icon'])) {
4408
+									$button['icon'] = '<span class="generic_icons ' . $button['icon'] . '"></span>';
4409
+				} else {
4410
+									$button['icon'] = '<span class="generic_icons ' . $act . '"></span>';
4411
+				}
4179 4412
 
4180 4413
 				$menu_buttons[$act] = $button;
4181 4414
 			}
4182 4415
 
4183
-		if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2)
4184
-			cache_put_data('menu_buttons-' . implode('_', $user_info['groups']) . '-' . $user_info['language'], $menu_buttons, $cacheTime);
4416
+		if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) {
4417
+					cache_put_data('menu_buttons-' . implode('_', $user_info['groups']) . '-' . $user_info['language'], $menu_buttons, $cacheTime);
4418
+		}
4185 4419
 	}
4186 4420
 
4187 4421
 	$context['menu_buttons'] = $menu_buttons;
4188 4422
 
4189 4423
 	// Logging out requires the session id in the url.
4190
-	if (isset($context['menu_buttons']['logout']))
4191
-		$context['menu_buttons']['logout']['href'] = sprintf($context['menu_buttons']['logout']['href'], $context['session_var'], $context['session_id']);
4424
+	if (isset($context['menu_buttons']['logout'])) {
4425
+			$context['menu_buttons']['logout']['href'] = sprintf($context['menu_buttons']['logout']['href'], $context['session_var'], $context['session_id']);
4426
+	}
4192 4427
 
4193 4428
 	// Figure out which action we are doing so we can set the active tab.
4194 4429
 	// Default to home.
4195 4430
 	$current_action = 'home';
4196 4431
 
4197
-	if (isset($context['menu_buttons'][$context['current_action']]))
4198
-		$current_action = $context['current_action'];
4199
-	elseif ($context['current_action'] == 'search2')
4200
-		$current_action = 'search';
4201
-	elseif ($context['current_action'] == 'theme')
4202
-		$current_action = isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' ? 'profile' : 'admin';
4203
-	elseif ($context['current_action'] == 'register2')
4204
-		$current_action = 'register';
4205
-	elseif ($context['current_action'] == 'login2' || ($user_info['is_guest'] && $context['current_action'] == 'reminder'))
4206
-		$current_action = 'login';
4207
-	elseif ($context['current_action'] == 'groups' && $context['allow_moderation_center'])
4208
-		$current_action = 'moderate';
4432
+	if (isset($context['menu_buttons'][$context['current_action']])) {
4433
+			$current_action = $context['current_action'];
4434
+	} elseif ($context['current_action'] == 'search2') {
4435
+			$current_action = 'search';
4436
+	} elseif ($context['current_action'] == 'theme') {
4437
+			$current_action = isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' ? 'profile' : 'admin';
4438
+	} elseif ($context['current_action'] == 'register2') {
4439
+			$current_action = 'register';
4440
+	} elseif ($context['current_action'] == 'login2' || ($user_info['is_guest'] && $context['current_action'] == 'reminder')) {
4441
+			$current_action = 'login';
4442
+	} elseif ($context['current_action'] == 'groups' && $context['allow_moderation_center']) {
4443
+			$current_action = 'moderate';
4444
+	}
4209 4445
 
4210 4446
 	// There are certain exceptions to the above where we don't want anything on the menu highlighted.
4211 4447
 	if ($context['current_action'] == 'profile' && !empty($context['user']['is_owner']))
4212 4448
 	{
4213 4449
 		$current_action = !empty($_GET['area']) && $_GET['area'] == 'showalerts' ? 'self_alerts' : 'self_profile';
4214 4450
 		$context[$current_action] = true;
4215
-	}
4216
-	elseif ($context['current_action'] == 'pm')
4451
+	} elseif ($context['current_action'] == 'pm')
4217 4452
 	{
4218 4453
 		$current_action = 'self_pm';
4219 4454
 		$context['self_pm'] = true;
@@ -4256,12 +4491,14 @@  discard block
 block discarded – undo
4256 4491
 	}
4257 4492
 
4258 4493
 	// Not all actions are simple.
4259
-	if (!empty($needs_action_hook))
4260
-		call_integration_hook('integrate_current_action', array(&$current_action));
4494
+	if (!empty($needs_action_hook)) {
4495
+			call_integration_hook('integrate_current_action', array(&$current_action));
4496
+	}
4261 4497
 
4262
-	if (isset($context['menu_buttons'][$current_action]))
4263
-		$context['menu_buttons'][$current_action]['active_button'] = true;
4264
-}
4498
+	if (isset($context['menu_buttons'][$current_action])) {
4499
+			$context['menu_buttons'][$current_action]['active_button'] = true;
4500
+	}
4501
+	}
4265 4502
 
4266 4503
 /**
4267 4504
  * Generate a random seed and ensure it's stored in settings.
@@ -4285,16 +4522,19 @@  discard block
 block discarded – undo
4285 4522
 	global $modSettings, $settings, $boarddir, $sourcedir, $db_show_debug;
4286 4523
 	global $context, $txt;
4287 4524
 
4288
-	if ($db_show_debug === true)
4289
-		$context['debug']['hooks'][] = $hook;
4525
+	if ($db_show_debug === true) {
4526
+			$context['debug']['hooks'][] = $hook;
4527
+	}
4290 4528
 
4291 4529
 	// Need to have some control.
4292
-	if (!isset($context['instances']))
4293
-		$context['instances'] = array();
4530
+	if (!isset($context['instances'])) {
4531
+			$context['instances'] = array();
4532
+	}
4294 4533
 
4295 4534
 	$results = array();
4296
-	if (empty($modSettings[$hook]))
4297
-		return $results;
4535
+	if (empty($modSettings[$hook])) {
4536
+			return $results;
4537
+	}
4298 4538
 
4299 4539
 	// Define some needed vars.
4300 4540
 	$function = false;
@@ -4304,14 +4544,16 @@  discard block
 block discarded – undo
4304 4544
 	foreach ($functions as $function)
4305 4545
 	{
4306 4546
 		// Hook has been marked as "disabled". Skip it!
4307
-		if (strpos($function, '!') !== false)
4308
-			continue;
4547
+		if (strpos($function, '!') !== false) {
4548
+					continue;
4549
+		}
4309 4550
 
4310 4551
 		$call = call_helper($function, true);
4311 4552
 
4312 4553
 		// Is it valid?
4313
-		if (!empty($call))
4314
-			$results[$function] = call_user_func_array($call, $parameters);
4554
+		if (!empty($call)) {
4555
+					$results[$function] = call_user_func_array($call, $parameters);
4556
+		}
4315 4557
 
4316 4558
 		// Whatever it was suppose to call, it failed :(
4317 4559
 		elseif (!empty($function))
@@ -4327,8 +4569,9 @@  discard block
 block discarded – undo
4327 4569
 			}
4328 4570
 
4329 4571
 			// "Assume" the file resides on $boarddir somewhere...
4330
-			else
4331
-				log_error(sprintf($txt['hook_fail_call_to'], $function, $boarddir), 'general');
4572
+			else {
4573
+							log_error(sprintf($txt['hook_fail_call_to'], $function, $boarddir), 'general');
4574
+			}
4332 4575
 		}
4333 4576
 	}
4334 4577
 
@@ -4350,12 +4593,14 @@  discard block
 block discarded – undo
4350 4593
 	global $smcFunc, $modSettings;
4351 4594
 
4352 4595
 	// Any objects?
4353
-	if ($object)
4354
-		$function = $function . '#';
4596
+	if ($object) {
4597
+			$function = $function . '#';
4598
+	}
4355 4599
 
4356 4600
 	// Any files  to load?
4357
-	if (!empty($file) && is_string($file))
4358
-		$function = $file . (!empty($function) ? '|' . $function : '');
4601
+	if (!empty($file) && is_string($file)) {
4602
+			$function = $file . (!empty($function) ? '|' . $function : '');
4603
+	}
4359 4604
 
4360 4605
 	// Get the correct string.
4361 4606
 	$integration_call = $function;
@@ -4377,13 +4622,14 @@  discard block
 block discarded – undo
4377 4622
 		if (!empty($current_functions))
4378 4623
 		{
4379 4624
 			$current_functions = explode(',', $current_functions);
4380
-			if (in_array($integration_call, $current_functions))
4381
-				return;
4625
+			if (in_array($integration_call, $current_functions)) {
4626
+							return;
4627
+			}
4382 4628
 
4383 4629
 			$permanent_functions = array_merge($current_functions, array($integration_call));
4630
+		} else {
4631
+					$permanent_functions = array($integration_call);
4384 4632
 		}
4385
-		else
4386
-			$permanent_functions = array($integration_call);
4387 4633
 
4388 4634
 		updateSettings(array($hook => implode(',', $permanent_functions)));
4389 4635
 	}
@@ -4392,8 +4638,9 @@  discard block
 block discarded – undo
4392 4638
 	$functions = empty($modSettings[$hook]) ? array() : explode(',', $modSettings[$hook]);
4393 4639
 
4394 4640
 	// Do nothing, if it's already there.
4395
-	if (in_array($integration_call, $functions))
4396
-		return;
4641
+	if (in_array($integration_call, $functions)) {
4642
+			return;
4643
+	}
4397 4644
 
4398 4645
 	$functions[] = $integration_call;
4399 4646
 	$modSettings[$hook] = implode(',', $functions);
@@ -4416,12 +4663,14 @@  discard block
 block discarded – undo
4416 4663
 	global $smcFunc, $modSettings;
4417 4664
 
4418 4665
 	// Any objects?
4419
-	if ($object)
4420
-		$function = $function . '#';
4666
+	if ($object) {
4667
+			$function = $function . '#';
4668
+	}
4421 4669
 
4422 4670
 	// Any files  to load?
4423
-	if (!empty($file) && is_string($file))
4424
-		$function = $file . '|' . $function;
4671
+	if (!empty($file) && is_string($file)) {
4672
+			$function = $file . '|' . $function;
4673
+	}
4425 4674
 
4426 4675
 	// Get the correct string.
4427 4676
 	$integration_call = $function;
@@ -4442,16 +4691,18 @@  discard block
 block discarded – undo
4442 4691
 	{
4443 4692
 		$current_functions = explode(',', $current_functions);
4444 4693
 
4445
-		if (in_array($integration_call, $current_functions))
4446
-			updateSettings(array($hook => implode(',', array_diff($current_functions, array($integration_call)))));
4694
+		if (in_array($integration_call, $current_functions)) {
4695
+					updateSettings(array($hook => implode(',', array_diff($current_functions, array($integration_call)))));
4696
+		}
4447 4697
 	}
4448 4698
 
4449 4699
 	// Turn the function list into something usable.
4450 4700
 	$functions = empty($modSettings[$hook]) ? array() : explode(',', $modSettings[$hook]);
4451 4701
 
4452 4702
 	// You can only remove it if it's available.
4453
-	if (!in_array($integration_call, $functions))
4454
-		return;
4703
+	if (!in_array($integration_call, $functions)) {
4704
+			return;
4705
+	}
4455 4706
 
4456 4707
 	$functions = array_diff($functions, array($integration_call));
4457 4708
 	$modSettings[$hook] = implode(',', $functions);
@@ -4472,17 +4723,20 @@  discard block
 block discarded – undo
4472 4723
 	global $context, $smcFunc, $txt, $db_show_debug;
4473 4724
 
4474 4725
 	// Really?
4475
-	if (empty($string))
4476
-		return false;
4726
+	if (empty($string)) {
4727
+			return false;
4728
+	}
4477 4729
 
4478 4730
 	// An array? should be a "callable" array IE array(object/class, valid_callable).
4479 4731
 	// A closure? should be a callable one.
4480
-	if (is_array($string) || $string instanceof Closure)
4481
-		return $return ? $string : (is_callable($string) ? call_user_func($string) : false);
4732
+	if (is_array($string) || $string instanceof Closure) {
4733
+			return $return ? $string : (is_callable($string) ? call_user_func($string) : false);
4734
+	}
4482 4735
 
4483 4736
 	// No full objects, sorry! pass a method or a property instead!
4484
-	if (is_object($string))
4485
-		return false;
4737
+	if (is_object($string)) {
4738
+			return false;
4739
+	}
4486 4740
 
4487 4741
 	// Stay vitaminized my friends...
4488 4742
 	$string = $smcFunc['htmlspecialchars']($smcFunc['htmltrim']($string));
@@ -4491,8 +4745,9 @@  discard block
 block discarded – undo
4491 4745
 	$string = load_file($string);
4492 4746
 
4493 4747
 	// Loaded file failed
4494
-	if (empty($string))
4495
-		return false;
4748
+	if (empty($string)) {
4749
+			return false;
4750
+	}
4496 4751
 
4497 4752
 	// Found a method.
4498 4753
 	if (strpos($string, '::') !== false)
@@ -4513,8 +4768,9 @@  discard block
 block discarded – undo
4513 4768
 				// Add another one to the list.
4514 4769
 				if ($db_show_debug === true)
4515 4770
 				{
4516
-					if (!isset($context['debug']['instances']))
4517
-						$context['debug']['instances'] = array();
4771
+					if (!isset($context['debug']['instances'])) {
4772
+											$context['debug']['instances'] = array();
4773
+					}
4518 4774
 
4519 4775
 					$context['debug']['instances'][$class] = $class;
4520 4776
 				}
@@ -4524,13 +4780,15 @@  discard block
 block discarded – undo
4524 4780
 		}
4525 4781
 
4526 4782
 		// Right then. This is a call to a static method.
4527
-		else
4528
-			$func = array($class, $method);
4783
+		else {
4784
+					$func = array($class, $method);
4785
+		}
4529 4786
 	}
4530 4787
 
4531 4788
 	// Nope! just a plain regular function.
4532
-	else
4533
-		$func = $string;
4789
+	else {
4790
+			$func = $string;
4791
+	}
4534 4792
 
4535 4793
 	// Right, we got what we need, time to do some checks.
4536 4794
 	if (!is_callable($func, false, $callable_name))
@@ -4546,17 +4804,18 @@  discard block
 block discarded – undo
4546 4804
 	else
4547 4805
 	{
4548 4806
 		// What are we gonna do about it?
4549
-		if ($return)
4550
-			return $func;
4807
+		if ($return) {
4808
+					return $func;
4809
+		}
4551 4810
 
4552 4811
 		// If this is a plain function, avoid the heat of calling call_user_func().
4553 4812
 		else
4554 4813
 		{
4555
-			if (is_array($func))
4556
-				call_user_func($func);
4557
-
4558
-			else
4559
-				$func();
4814
+			if (is_array($func)) {
4815
+							call_user_func($func);
4816
+			} else {
4817
+							$func();
4818
+			}
4560 4819
 		}
4561 4820
 	}
4562 4821
 }
@@ -4573,31 +4832,34 @@  discard block
 block discarded – undo
4573 4832
 {
4574 4833
 	global $sourcedir, $txt, $boarddir, $settings;
4575 4834
 
4576
-	if (empty($string))
4577
-		return false;
4835
+	if (empty($string)) {
4836
+			return false;
4837
+	}
4578 4838
 
4579 4839
 	if (strpos($string, '|') !== false)
4580 4840
 	{
4581 4841
 		list ($file, $string) = explode('|', $string);
4582 4842
 
4583 4843
 		// Match the wildcards to their regular vars.
4584
-		if (empty($settings['theme_dir']))
4585
-			$absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir));
4586
-
4587
-		else
4588
-			$absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir, '$themedir' => $settings['theme_dir']));
4844
+		if (empty($settings['theme_dir'])) {
4845
+					$absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir));
4846
+		} else {
4847
+					$absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir, '$themedir' => $settings['theme_dir']));
4848
+		}
4589 4849
 
4590 4850
 		// Load the file if it can be loaded.
4591
-		if (file_exists($absPath))
4592
-			require_once($absPath);
4851
+		if (file_exists($absPath)) {
4852
+					require_once($absPath);
4853
+		}
4593 4854
 
4594 4855
 		// No? try a fallback to $sourcedir
4595 4856
 		else
4596 4857
 		{
4597 4858
 			$absPath = $sourcedir .'/'. $file;
4598 4859
 
4599
-			if (file_exists($absPath))
4600
-				require_once($absPath);
4860
+			if (file_exists($absPath)) {
4861
+							require_once($absPath);
4862
+			}
4601 4863
 
4602 4864
 			// Sorry, can't do much for you at this point.
4603 4865
 			else
@@ -4624,8 +4886,9 @@  discard block
 block discarded – undo
4624 4886
 	global $user_info, $smcFunc;
4625 4887
 
4626 4888
 	// Make sure we have something to work with.
4627
-	if (empty($topic))
4628
-		return array();
4889
+	if (empty($topic)) {
4890
+			return array();
4891
+	}
4629 4892
 
4630 4893
 
4631 4894
 	// We already know the number of likes per message, we just want to know whether the current user liked it or not.
@@ -4648,8 +4911,9 @@  discard block
 block discarded – undo
4648 4911
 				'topic' => $topic,
4649 4912
 			)
4650 4913
 		);
4651
-		while ($row = $smcFunc['db_fetch_assoc']($request))
4652
-			$temp[] = (int) $row['content_id'];
4914
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
4915
+					$temp[] = (int) $row['content_id'];
4916
+		}
4653 4917
 
4654 4918
 		cache_put_data($cache_key, $temp, $ttl);
4655 4919
 	}
@@ -4670,8 +4934,9 @@  discard block
 block discarded – undo
4670 4934
 {
4671 4935
 	global $context;
4672 4936
 
4673
-	if (empty($string))
4674
-		return $string;
4937
+	if (empty($string)) {
4938
+			return $string;
4939
+	}
4675 4940
 
4676 4941
 	// UTF-8 occurences of MS special characters
4677 4942
 	$findchars_utf8 = array(
@@ -4712,10 +4977,11 @@  discard block
 block discarded – undo
4712 4977
 		'--',	// &mdash;
4713 4978
 	);
4714 4979
 
4715
-	if ($context['utf8'])
4716
-		$string = str_replace($findchars_utf8, $replacechars, $string);
4717
-	else
4718
-		$string = str_replace($findchars_iso, $replacechars, $string);
4980
+	if ($context['utf8']) {
4981
+			$string = str_replace($findchars_utf8, $replacechars, $string);
4982
+	} else {
4983
+			$string = str_replace($findchars_iso, $replacechars, $string);
4984
+	}
4719 4985
 
4720 4986
 	return $string;
4721 4987
 }
@@ -4734,49 +5000,59 @@  discard block
 block discarded – undo
4734 5000
 {
4735 5001
 	global $context;
4736 5002
 
4737
-	if (!isset($matches[2]))
4738
-		return '';
5003
+	if (!isset($matches[2])) {
5004
+			return '';
5005
+	}
4739 5006
 
4740 5007
 	$num = $matches[2][0] === 'x' ? hexdec(substr($matches[2], 1)) : (int) $matches[2];
4741 5008
 
4742 5009
 	// remove left to right / right to left overrides
4743
-	if ($num === 0x202D || $num === 0x202E)
4744
-		return '';
5010
+	if ($num === 0x202D || $num === 0x202E) {
5011
+			return '';
5012
+	}
4745 5013
 
4746 5014
 	// Quote, Ampersand, Apostrophe, Less/Greater Than get html replaced
4747
-	if (in_array($num, array(0x22, 0x26, 0x27, 0x3C, 0x3E)))
4748
-		return '&#' . $num . ';';
5015
+	if (in_array($num, array(0x22, 0x26, 0x27, 0x3C, 0x3E))) {
5016
+			return '&#' . $num . ';';
5017
+	}
4749 5018
 
4750 5019
 	if (empty($context['utf8']))
4751 5020
 	{
4752 5021
 		// no control characters
4753
-		if ($num < 0x20)
4754
-			return '';
5022
+		if ($num < 0x20) {
5023
+					return '';
5024
+		}
4755 5025
 		// text is text
4756
-		elseif ($num < 0x80)
4757
-			return chr($num);
5026
+		elseif ($num < 0x80) {
5027
+					return chr($num);
5028
+		}
4758 5029
 		// all others get html-ised
4759
-		else
4760
-			return '&#' . $matches[2] . ';';
4761
-	}
4762
-	else
5030
+		else {
5031
+					return '&#' . $matches[2] . ';';
5032
+		}
5033
+	} else
4763 5034
 	{
4764 5035
 		// <0x20 are control characters, 0x20 is a space, > 0x10FFFF is past the end of the utf8 character set
4765 5036
 		// 0xD800 >= $num <= 0xDFFF are surrogate markers (not valid for utf8 text)
4766
-		if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF))
4767
-			return '';
5037
+		if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF)) {
5038
+					return '';
5039
+		}
4768 5040
 		// <0x80 (or less than 128) are standard ascii characters a-z A-Z 0-9 and punctuation
4769
-		elseif ($num < 0x80)
4770
-			return chr($num);
5041
+		elseif ($num < 0x80) {
5042
+					return chr($num);
5043
+		}
4771 5044
 		// <0x800 (2048)
4772
-		elseif ($num < 0x800)
4773
-			return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
5045
+		elseif ($num < 0x800) {
5046
+					return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
5047
+		}
4774 5048
 		// < 0x10000 (65536)
4775
-		elseif ($num < 0x10000)
4776
-			return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5049
+		elseif ($num < 0x10000) {
5050
+					return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5051
+		}
4777 5052
 		// <= 0x10FFFF (1114111)
4778
-		else
4779
-			return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5053
+		else {
5054
+					return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5055
+		}
4780 5056
 	}
4781 5057
 }
4782 5058
 
@@ -4792,28 +5068,34 @@  discard block
 block discarded – undo
4792 5068
  */
4793 5069
 function fixchar__callback($matches)
4794 5070
 {
4795
-	if (!isset($matches[1]))
4796
-		return '';
5071
+	if (!isset($matches[1])) {
5072
+			return '';
5073
+	}
4797 5074
 
4798 5075
 	$num = $matches[1][0] === 'x' ? hexdec(substr($matches[1], 1)) : (int) $matches[1];
4799 5076
 
4800 5077
 	// <0x20 are control characters, > 0x10FFFF is past the end of the utf8 character set
4801 5078
 	// 0xD800 >= $num <= 0xDFFF are surrogate markers (not valid for utf8 text), 0x202D-E are left to right overrides
4802
-	if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num === 0x202D || $num === 0x202E)
4803
-		return '';
5079
+	if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num === 0x202D || $num === 0x202E) {
5080
+			return '';
5081
+	}
4804 5082
 	// <0x80 (or less than 128) are standard ascii characters a-z A-Z 0-9 and punctuation
4805
-	elseif ($num < 0x80)
4806
-		return chr($num);
5083
+	elseif ($num < 0x80) {
5084
+			return chr($num);
5085
+	}
4807 5086
 	// <0x800 (2048)
4808
-	elseif ($num < 0x800)
4809
-		return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
5087
+	elseif ($num < 0x800) {
5088
+			return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
5089
+	}
4810 5090
 	// < 0x10000 (65536)
4811
-	elseif ($num < 0x10000)
4812
-		return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5091
+	elseif ($num < 0x10000) {
5092
+			return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5093
+	}
4813 5094
 	// <= 0x10FFFF (1114111)
4814
-	else
4815
-		return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
4816
-}
5095
+	else {
5096
+			return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5097
+	}
5098
+	}
4817 5099
 
4818 5100
 /**
4819 5101
  * Strips out invalid html entities, replaces others with html style &#123; codes
@@ -4826,17 +5108,19 @@  discard block
 block discarded – undo
4826 5108
  */
4827 5109
 function entity_fix__callback($matches)
4828 5110
 {
4829
-	if (!isset($matches[2]))
4830
-		return '';
5111
+	if (!isset($matches[2])) {
5112
+			return '';
5113
+	}
4831 5114
 
4832 5115
 	$num = $matches[2][0] === 'x' ? hexdec(substr($matches[2], 1)) : (int) $matches[2];
4833 5116
 
4834 5117
 	// we don't allow control characters, characters out of range, byte markers, etc
4835
-	if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num == 0x202D || $num == 0x202E)
4836
-		return '';
4837
-	else
4838
-		return '&#' . $num . ';';
4839
-}
5118
+	if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num == 0x202D || $num == 0x202E) {
5119
+			return '';
5120
+	} else {
5121
+			return '&#' . $num . ';';
5122
+	}
5123
+	}
4840 5124
 
4841 5125
 /**
4842 5126
  * Return a Gravatar URL based on
@@ -4860,18 +5144,23 @@  discard block
 block discarded – undo
4860 5144
 		$ratings = array('G', 'PG', 'R', 'X');
4861 5145
 		$defaults = array('mm', 'identicon', 'monsterid', 'wavatar', 'retro', 'blank');
4862 5146
 		$url_params = array();
4863
-		if (!empty($modSettings['gravatarMaxRating']) && in_array($modSettings['gravatarMaxRating'], $ratings))
4864
-			$url_params[] = 'rating=' . $modSettings['gravatarMaxRating'];
4865
-		if (!empty($modSettings['gravatarDefault']) && in_array($modSettings['gravatarDefault'], $defaults))
4866
-			$url_params[] = 'default=' . $modSettings['gravatarDefault'];
4867
-		if (!empty($modSettings['avatar_max_width_external']))
4868
-			$size_string = (int) $modSettings['avatar_max_width_external'];
4869
-		if (!empty($modSettings['avatar_max_height_external']) && !empty($size_string))
4870
-			if ((int) $modSettings['avatar_max_height_external'] < $size_string)
5147
+		if (!empty($modSettings['gravatarMaxRating']) && in_array($modSettings['gravatarMaxRating'], $ratings)) {
5148
+					$url_params[] = 'rating=' . $modSettings['gravatarMaxRating'];
5149
+		}
5150
+		if (!empty($modSettings['gravatarDefault']) && in_array($modSettings['gravatarDefault'], $defaults)) {
5151
+					$url_params[] = 'default=' . $modSettings['gravatarDefault'];
5152
+		}
5153
+		if (!empty($modSettings['avatar_max_width_external'])) {
5154
+					$size_string = (int) $modSettings['avatar_max_width_external'];
5155
+		}
5156
+		if (!empty($modSettings['avatar_max_height_external']) && !empty($size_string)) {
5157
+					if ((int) $modSettings['avatar_max_height_external'] < $size_string)
4871 5158
 				$size_string = $modSettings['avatar_max_height_external'];
5159
+		}
4872 5160
 
4873
-		if (!empty($size_string))
4874
-			$url_params[] = 's=' . $size_string;
5161
+		if (!empty($size_string)) {
5162
+					$url_params[] = 's=' . $size_string;
5163
+		}
4875 5164
 	}
4876 5165
 	$http_method = !empty($modSettings['force_ssl']) && $modSettings['force_ssl'] == 2 ? 'https://secure' : 'http://www';
4877 5166
 
@@ -4890,22 +5179,26 @@  discard block
 block discarded – undo
4890 5179
 	static $timezones = null, $lastwhen = null;
4891 5180
 
4892 5181
 	// No point doing this over if we already did it once
4893
-	if (!empty($timezones) && $when == $lastwhen)
4894
-		return $timezones;
4895
-	else
4896
-		$lastwhen = $when;
5182
+	if (!empty($timezones) && $when == $lastwhen) {
5183
+			return $timezones;
5184
+	} else {
5185
+			$lastwhen = $when;
5186
+	}
4897 5187
 
4898 5188
 	// Parseable datetime string?
4899
-	if (is_int($timestamp = strtotime($when)))
4900
-		$when = $timestamp;
5189
+	if (is_int($timestamp = strtotime($when))) {
5190
+			$when = $timestamp;
5191
+	}
4901 5192
 
4902 5193
 	// A Unix timestamp?
4903
-	elseif (is_numeric($when))
4904
-		$when = intval($when);
5194
+	elseif (is_numeric($when)) {
5195
+			$when = intval($when);
5196
+	}
4905 5197
 
4906 5198
 	// Invalid value? Just get current Unix timestamp.
4907
-	else
4908
-		$when = time();
5199
+	else {
5200
+			$when = time();
5201
+	}
4909 5202
 
4910 5203
 	// We'll need this too
4911 5204
 	$later = (int) date_format(date_add(date_create('@' . $when), date_interval_create_from_date_string('1 year')), 'U');
@@ -4968,8 +5261,9 @@  discard block
 block discarded – undo
4968 5261
 	foreach ($priority_countries as $country)
4969 5262
 	{
4970 5263
 		$country_tzids = @timezone_identifiers_list(DateTimeZone::PER_COUNTRY, strtoupper(trim($country)));
4971
-		if (!empty($country_tzids))
4972
-			$priority_tzids = array_merge($priority_tzids, $country_tzids);
5264
+		if (!empty($country_tzids)) {
5265
+					$priority_tzids = array_merge($priority_tzids, $country_tzids);
5266
+		}
4973 5267
 	}
4974 5268
 
4975 5269
 	// Process the preferred timezones first, then the rest.
@@ -4979,8 +5273,9 @@  discard block
 block discarded – undo
4979 5273
 	foreach ($tzids as $tzid)
4980 5274
 	{
4981 5275
 		// We don't want UTC right now
4982
-		if ($tzid == 'UTC')
4983
-			continue;
5276
+		if ($tzid == 'UTC') {
5277
+					continue;
5278
+		}
4984 5279
 
4985 5280
 		// First, get the set of transition rules for this tzid
4986 5281
 		$tzinfo = timezone_transitions_get(timezone_open($tzid), $when, $later);
@@ -4991,8 +5286,9 @@  discard block
 block discarded – undo
4991 5286
 			$tz_location = timezone_location_get(timezone_open($tzid));
4992 5287
 
4993 5288
 			// Kazakstan
4994
-			if ($tz_location['country_code'] == 'KZ')
4995
-				$tzinfo[0]['abbr'] = str_replace(array('+05', '+06'), array('AQTT', 'ALMT'), $tzinfo[0]['abbr']);
5289
+			if ($tz_location['country_code'] == 'KZ') {
5290
+							$tzinfo[0]['abbr'] = str_replace(array('+05', '+06'), array('AQTT', 'ALMT'), $tzinfo[0]['abbr']);
5291
+			}
4996 5292
 
4997 5293
 			// Russia likes to experiment with time zones
4998 5294
 			if ($tz_location['country_code'] == 'RU')
@@ -5003,19 +5299,22 @@  discard block
 block discarded – undo
5003 5299
 			}
5004 5300
 
5005 5301
 			// Still no good? We'll just mark it as a UTC offset
5006
-			if (strspn($tzinfo[0]['abbr'], '+-') > 0)
5007
-				$tzinfo[0]['abbr'] = 'UTC' . $tzinfo[0]['abbr'];
5302
+			if (strspn($tzinfo[0]['abbr'], '+-') > 0) {
5303
+							$tzinfo[0]['abbr'] = 'UTC' . $tzinfo[0]['abbr'];
5304
+			}
5008 5305
 		}
5009 5306
 
5010 5307
 		$tzkey = serialize($tzinfo);
5011 5308
 
5012 5309
 		// Don't overwrite our preferred tzids
5013
-		if (empty($zones[$tzkey]['tzid']))
5014
-			$zones[$tzkey]['tzid'] = $tzid;
5310
+		if (empty($zones[$tzkey]['tzid'])) {
5311
+					$zones[$tzkey]['tzid'] = $tzid;
5312
+		}
5015 5313
 
5016 5314
 		// A time zone from a prioritized country?
5017
-		if (in_array($tzid, $priority_tzids))
5018
-			$priority_zones[$tzkey] = true;
5315
+		if (in_array($tzid, $priority_tzids)) {
5316
+					$priority_zones[$tzkey] = true;
5317
+		}
5019 5318
 
5020 5319
 		// Keep track of the location and offset for this tzid
5021 5320
 		$tzid_parts = explode('/', $tzid);
@@ -5033,15 +5332,17 @@  discard block
 block discarded – undo
5033 5332
 	{
5034 5333
 		$tzinfo = unserialize($tzkey);
5035 5334
 
5036
-		if (!empty($timezone_descriptions[$tzvalue['tzid']]))
5037
-			$desc = $timezone_descriptions[$tzvalue['tzid']];
5038
-		else
5039
-			$desc = implode(', ', array_unique($tzvalue['locations']));
5335
+		if (!empty($timezone_descriptions[$tzvalue['tzid']])) {
5336
+					$desc = $timezone_descriptions[$tzvalue['tzid']];
5337
+		} else {
5338
+					$desc = implode(', ', array_unique($tzvalue['locations']));
5339
+		}
5040 5340
 
5041
-		if (isset($priority_zones[$tzkey]))
5042
-			$priority_timezones[$tzvalue['tzid']] = $tzinfo[0]['abbr'] . ' - ' . $desc . ' [UTC' . date_format(date_create($tzvalue['tzid']), 'P') . ']';
5043
-		else
5044
-			$timezones[$tzvalue['tzid']] = $tzinfo[0]['abbr'] . ' - ' . $desc . ' [UTC' . date_format(date_create($tzvalue['tzid']), 'P') . ']';
5341
+		if (isset($priority_zones[$tzkey])) {
5342
+					$priority_timezones[$tzvalue['tzid']] = $tzinfo[0]['abbr'] . ' - ' . $desc . ' [UTC' . date_format(date_create($tzvalue['tzid']), 'P') . ']';
5343
+		} else {
5344
+					$timezones[$tzvalue['tzid']] = $tzinfo[0]['abbr'] . ' - ' . $desc . ' [UTC' . date_format(date_create($tzvalue['tzid']), 'P') . ']';
5345
+		}
5045 5346
 	}
5046 5347
 
5047 5348
 	$timezones = array_merge(
@@ -5059,8 +5360,9 @@  discard block
 block discarded – undo
5059 5360
  */
5060 5361
 function inet_ptod($ip_address)
5061 5362
 {
5062
-	if (!isValidIP($ip_address))
5063
-		return $ip_address;
5363
+	if (!isValidIP($ip_address)) {
5364
+			return $ip_address;
5365
+	}
5064 5366
 
5065 5367
 	$bin = inet_pton($ip_address);
5066 5368
 	return $bin;
@@ -5072,13 +5374,15 @@  discard block
 block discarded – undo
5072 5374
  */
5073 5375
 function inet_dtop($bin)
5074 5376
 {
5075
-	if(empty($bin))
5076
-		return '';
5377
+	if(empty($bin)) {
5378
+			return '';
5379
+	}
5077 5380
 
5078 5381
 	global $db_type;
5079 5382
 
5080
-	if ($db_type == 'postgresql')
5081
-		return $bin;
5383
+	if ($db_type == 'postgresql') {
5384
+			return $bin;
5385
+	}
5082 5386
 
5083 5387
 	$ip_address = inet_ntop($bin);
5084 5388
 
@@ -5103,26 +5407,32 @@  discard block
 block discarded – undo
5103 5407
  */
5104 5408
 function _safe_serialize($value)
5105 5409
 {
5106
-	if(is_null($value))
5107
-		return 'N;';
5410
+	if(is_null($value)) {
5411
+			return 'N;';
5412
+	}
5108 5413
 
5109
-	if(is_bool($value))
5110
-		return 'b:'. (int) $value .';';
5414
+	if(is_bool($value)) {
5415
+			return 'b:'. (int) $value .';';
5416
+	}
5111 5417
 
5112
-	if(is_int($value))
5113
-		return 'i:'. $value .';';
5418
+	if(is_int($value)) {
5419
+			return 'i:'. $value .';';
5420
+	}
5114 5421
 
5115
-	if(is_float($value))
5116
-		return 'd:'. str_replace(',', '.', $value) .';';
5422
+	if(is_float($value)) {
5423
+			return 'd:'. str_replace(',', '.', $value) .';';
5424
+	}
5117 5425
 
5118
-	if(is_string($value))
5119
-		return 's:'. strlen($value) .':"'. $value .'";';
5426
+	if(is_string($value)) {
5427
+			return 's:'. strlen($value) .':"'. $value .'";';
5428
+	}
5120 5429
 
5121 5430
 	if(is_array($value))
5122 5431
 	{
5123 5432
 		$out = '';
5124
-		foreach($value as $k => $v)
5125
-			$out .= _safe_serialize($k) . _safe_serialize($v);
5433
+		foreach($value as $k => $v) {
5434
+					$out .= _safe_serialize($k) . _safe_serialize($v);
5435
+		}
5126 5436
 
5127 5437
 		return 'a:'. count($value) .':{'. $out .'}';
5128 5438
 	}
@@ -5148,8 +5458,9 @@  discard block
 block discarded – undo
5148 5458
 
5149 5459
 	$out = _safe_serialize($value);
5150 5460
 
5151
-	if (isset($mbIntEnc))
5152
-		mb_internal_encoding($mbIntEnc);
5461
+	if (isset($mbIntEnc)) {
5462
+			mb_internal_encoding($mbIntEnc);
5463
+	}
5153 5464
 
5154 5465
 	return $out;
5155 5466
 }
@@ -5166,8 +5477,9 @@  discard block
 block discarded – undo
5166 5477
 function _safe_unserialize($str)
5167 5478
 {
5168 5479
 	// Input  is not a string.
5169
-	if(empty($str) || !is_string($str))
5170
-		return false;
5480
+	if(empty($str) || !is_string($str)) {
5481
+			return false;
5482
+	}
5171 5483
 
5172 5484
 	$stack = array();
5173 5485
 	$expected = array();
@@ -5183,43 +5495,38 @@  discard block
 block discarded – undo
5183 5495
 	while($state != 1)
5184 5496
 	{
5185 5497
 		$type = isset($str[0]) ? $str[0] : '';
5186
-		if($type == '}')
5187
-			$str = substr($str, 1);
5188
-
5189
-		else if($type == 'N' && $str[1] == ';')
5498
+		if($type == '}') {
5499
+					$str = substr($str, 1);
5500
+		} else if($type == 'N' && $str[1] == ';')
5190 5501
 		{
5191 5502
 			$value = null;
5192 5503
 			$str = substr($str, 2);
5193
-		}
5194
-		else if($type == 'b' && preg_match('/^b:([01]);/', $str, $matches))
5504
+		} else if($type == 'b' && preg_match('/^b:([01]);/', $str, $matches))
5195 5505
 		{
5196 5506
 			$value = $matches[1] == '1' ? true : false;
5197 5507
 			$str = substr($str, 4);
5198
-		}
5199
-		else if($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches))
5508
+		} else if($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches))
5200 5509
 		{
5201 5510
 			$value = (int)$matches[1];
5202 5511
 			$str = $matches[2];
5203
-		}
5204
-		else if($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches))
5512
+		} else if($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches))
5205 5513
 		{
5206 5514
 			$value = (float)$matches[1];
5207 5515
 			$str = $matches[3];
5208
-		}
5209
-		else if($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int)$matches[1], 2) == '";')
5516
+		} else if($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int)$matches[1], 2) == '";')
5210 5517
 		{
5211 5518
 			$value = substr($matches[2], 0, (int)$matches[1]);
5212 5519
 			$str = substr($matches[2], (int)$matches[1] + 2);
5213
-		}
5214
-		else if($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches))
5520
+		} else if($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches))
5215 5521
 		{
5216 5522
 			$expectedLength = (int)$matches[1];
5217 5523
 			$str = $matches[2];
5218 5524
 		}
5219 5525
 
5220 5526
 		// Object or unknown/malformed type.
5221
-		else
5222
-			return false;
5527
+		else {
5528
+					return false;
5529
+		}
5223 5530
 
5224 5531
 		switch($state)
5225 5532
 		{
@@ -5247,8 +5554,9 @@  discard block
 block discarded – undo
5247 5554
 				if($type == '}')
5248 5555
 				{
5249 5556
 					// Array size is less than expected.
5250
-					if(count($list) < end($expected))
5251
-						return false;
5557
+					if(count($list) < end($expected)) {
5558
+											return false;
5559
+					}
5252 5560
 
5253 5561
 					unset($list);
5254 5562
 					$list = &$stack[count($stack)-1];
@@ -5257,8 +5565,9 @@  discard block
 block discarded – undo
5257 5565
 					// Go to terminal state if we're at the end of the root array.
5258 5566
 					array_pop($expected);
5259 5567
 
5260
-					if(count($expected) == 0)
5261
-						$state = 1;
5568
+					if(count($expected) == 0) {
5569
+											$state = 1;
5570
+					}
5262 5571
 
5263 5572
 					break;
5264 5573
 				}
@@ -5266,8 +5575,9 @@  discard block
 block discarded – undo
5266 5575
 				if($type == 'i' || $type == 's')
5267 5576
 				{
5268 5577
 					// Array size exceeds expected length.
5269
-					if(count($list) >= end($expected))
5270
-						return false;
5578
+					if(count($list) >= end($expected)) {
5579
+											return false;
5580
+					}
5271 5581
 
5272 5582
 					$key = $value;
5273 5583
 					$state = 3;
@@ -5301,8 +5611,9 @@  discard block
 block discarded – undo
5301 5611
 	}
5302 5612
 
5303 5613
 	// Trailing data in input.
5304
-	if(!empty($str))
5305
-		return false;
5614
+	if(!empty($str)) {
5615
+			return false;
5616
+	}
5306 5617
 
5307 5618
 	return $data;
5308 5619
 }
@@ -5325,8 +5636,9 @@  discard block
 block discarded – undo
5325 5636
 
5326 5637
 	$out = _safe_unserialize($str);
5327 5638
 
5328
-	if (isset($mbIntEnc))
5329
-		mb_internal_encoding($mbIntEnc);
5639
+	if (isset($mbIntEnc)) {
5640
+			mb_internal_encoding($mbIntEnc);
5641
+	}
5330 5642
 
5331 5643
 	return $out;
5332 5644
 }
@@ -5341,12 +5653,14 @@  discard block
 block discarded – undo
5341 5653
 function smf_chmod($file, $value = 0)
5342 5654
 {
5343 5655
 	// No file? no checks!
5344
-	if (empty($file))
5345
-		return false;
5656
+	if (empty($file)) {
5657
+			return false;
5658
+	}
5346 5659
 
5347 5660
 	// Already writable?
5348
-	if (is_writable($file))
5349
-		return true;
5661
+	if (is_writable($file)) {
5662
+			return true;
5663
+	}
5350 5664
 
5351 5665
 	// Do we have a file or a dir?
5352 5666
 	$isDir = is_dir($file);
@@ -5362,10 +5676,9 @@  discard block
 block discarded – undo
5362 5676
 		{
5363 5677
 			$isWritable = true;
5364 5678
 			break;
5679
+		} else {
5680
+					@chmod($file, $val);
5365 5681
 		}
5366
-
5367
-		else
5368
-			@chmod($file, $val);
5369 5682
 	}
5370 5683
 
5371 5684
 	return $isWritable;
@@ -5384,8 +5697,9 @@  discard block
 block discarded – undo
5384 5697
 	global $txt;
5385 5698
 
5386 5699
 	// Come on...
5387
-	if (empty($json) || !is_string($json))
5388
-		return array();
5700
+	if (empty($json) || !is_string($json)) {
5701
+			return array();
5702
+	}
5389 5703
 
5390 5704
 	$returnArray = @json_decode($json, $returnAsArray);
5391 5705
 
@@ -5423,11 +5737,11 @@  discard block
 block discarded – undo
5423 5737
 		$jsonDebug = $jsonDebug[0];
5424 5738
 		loadLanguage('Errors');
5425 5739
 
5426
-		if (!empty($jsonDebug))
5427
-			log_error($txt['json_'. $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']);
5428
-
5429
-		else
5430
-			log_error($txt['json_'. $jsonError], 'critical');
5740
+		if (!empty($jsonDebug)) {
5741
+					log_error($txt['json_'. $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']);
5742
+		} else {
5743
+					log_error($txt['json_'. $jsonError], 'critical');
5744
+		}
5431 5745
 
5432 5746
 		// Everyone expects an array.
5433 5747
 		return array();
@@ -5457,8 +5771,9 @@  discard block
 block discarded – undo
5457 5771
 	global $db_show_debug, $modSettings;
5458 5772
 
5459 5773
 	// Defensive programming anyone?
5460
-	if (empty($data))
5461
-		return false;
5774
+	if (empty($data)) {
5775
+			return false;
5776
+	}
5462 5777
 
5463 5778
 	// Don't need extra stuff...
5464 5779
 	$db_show_debug = false;
@@ -5466,11 +5781,11 @@  discard block
 block discarded – undo
5466 5781
 	// Kill anything else.
5467 5782
 	ob_end_clean();
5468 5783
 
5469
-	if (!empty($modSettings['CompressedOutput']))
5470
-		@ob_start('ob_gzhandler');
5471
-
5472
-	else
5473
-		ob_start();
5784
+	if (!empty($modSettings['CompressedOutput'])) {
5785
+			@ob_start('ob_gzhandler');
5786
+	} else {
5787
+			ob_start();
5788
+	}
5474 5789
 
5475 5790
 	// Set the header.
5476 5791
 	header($type);
@@ -5502,8 +5817,9 @@  discard block
 block discarded – undo
5502 5817
 	static $done = false;
5503 5818
 
5504 5819
 	// If we don't need to do anything, don't
5505
-	if (!$update && $done)
5506
-		return;
5820
+	if (!$update && $done) {
5821
+			return;
5822
+	}
5507 5823
 
5508 5824
 	// Should we get a new copy of the official list of TLDs?
5509 5825
 	if ($update)
@@ -5524,10 +5840,11 @@  discard block
 block discarded – undo
5524 5840
 		// Clean $tlds and convert it to an array
5525 5841
 		$tlds = array_filter(explode("\n", strtolower($tlds)), function($line) {
5526 5842
 			$line = trim($line);
5527
-			if (empty($line) || strpos($line, '#') !== false || strpos($line, ' ') !== false)
5528
-				return false;
5529
-			else
5530
-				return true;
5843
+			if (empty($line) || strpos($line, '#') !== false || strpos($line, ' ') !== false) {
5844
+							return false;
5845
+			} else {
5846
+							return true;
5847
+			}
5531 5848
 		});
5532 5849
 
5533 5850
 		// Convert Punycode to Unicode
@@ -5581,8 +5898,9 @@  discard block
 block discarded – undo
5581 5898
 						$idx += $digit * $w;
5582 5899
 						$t = ($k <= $bias) ? $tmin : (($k >= $bias + $tmax) ? $tmax : ($k - $bias));
5583 5900
 
5584
-						if ($digit < $t)
5585
-							break;
5901
+						if ($digit < $t) {
5902
+													break;
5903
+						}
5586 5904
 
5587 5905
 						$w = (int) ($w * ($base - $t));
5588 5906
 					}
@@ -5591,8 +5909,9 @@  discard block
 block discarded – undo
5591 5909
 					$delta = intval($is_first ? ($delta / $damp) : ($delta / 2));
5592 5910
 					$delta += intval($delta / ($deco_len + 1));
5593 5911
 
5594
-					for ($k = 0; $delta > (($base - $tmin) * $tmax) / 2; $k += $base)
5595
-						$delta = intval($delta / ($base - $tmin));
5912
+					for ($k = 0; $delta > (($base - $tmin) * $tmax) / 2; $k += $base) {
5913
+											$delta = intval($delta / ($base - $tmin));
5914
+					}
5596 5915
 
5597 5916
 					$bias = intval($k + ($base - $tmin + 1) * $delta / ($delta + $skew));
5598 5917
 					$is_first = false;
@@ -5601,8 +5920,9 @@  discard block
 block discarded – undo
5601 5920
 
5602 5921
 					if ($deco_len > 0)
5603 5922
 					{
5604
-						for ($i = $deco_len; $i > $idx; $i--)
5605
-							$decoded[$i] = $decoded[($i - 1)];
5923
+						for ($i = $deco_len; $i > $idx; $i--) {
5924
+													$decoded[$i] = $decoded[($i - 1)];
5925
+						}
5606 5926
 					}
5607 5927
 					$decoded[$idx++] = $char;
5608 5928
 				}
@@ -5610,24 +5930,29 @@  discard block
 block discarded – undo
5610 5930
 				foreach ($decoded as $k => $v)
5611 5931
 				{
5612 5932
 					// 7bit are transferred literally
5613
-					if ($v < 128)
5614
-						$output .= chr($v);
5933
+					if ($v < 128) {
5934
+											$output .= chr($v);
5935
+					}
5615 5936
 
5616 5937
 					// 2 bytes
5617
-					elseif ($v < (1 << 11))
5618
-						$output .= chr(192+($v >> 6)) . chr(128+($v & 63));
5938
+					elseif ($v < (1 << 11)) {
5939
+											$output .= chr(192+($v >> 6)) . chr(128+($v & 63));
5940
+					}
5619 5941
 
5620 5942
 					// 3 bytes
5621
-					elseif ($v < (1 << 16))
5622
-						$output .= chr(224+($v >> 12)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63));
5943
+					elseif ($v < (1 << 16)) {
5944
+											$output .= chr(224+($v >> 12)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63));
5945
+					}
5623 5946
 
5624 5947
 					// 4 bytes
5625
-					elseif ($v < (1 << 21))
5626
-						$output .= chr(240+($v >> 18)) . chr(128+(($v >> 12) & 63)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63));
5948
+					elseif ($v < (1 << 21)) {
5949
+											$output .= chr(240+($v >> 18)) . chr(128+(($v >> 12) & 63)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63));
5950
+					}
5627 5951
 
5628 5952
 					//  'Conversion from UCS-4 to UTF-8 failed: malformed input at byte '.$k
5629
-					else
5630
-						$output .= $safe_char;
5953
+					else {
5954
+											$output .= $safe_char;
5955
+					}
5631 5956
 				}
5632 5957
 
5633 5958
 				$output_parts[] = $output;
@@ -5722,8 +6047,7 @@  discard block
 block discarded – undo
5722 6047
 
5723 6048
 		$strlen = 'mb_strlen';
5724 6049
 		$substr = 'mb_substr';
5725
-	}
5726
-	else
6050
+	} else
5727 6051
 	{
5728 6052
 		$strlen = $smcFunc['strlen'];
5729 6053
 		$substr = $smcFunc['substr'];
@@ -5737,20 +6061,21 @@  discard block
 block discarded – undo
5737 6061
 
5738 6062
 		$first = $substr($string, 0, 1);
5739 6063
 
5740
-		if (empty($index[$first]))
5741
-			$index[$first] = array();
6064
+		if (empty($index[$first])) {
6065
+					$index[$first] = array();
6066
+		}
5742 6067
 
5743 6068
 		if ($strlen($string) > 1)
5744 6069
 		{
5745 6070
 			// Sanity check on recursion
5746
-			if ($depth > 99)
5747
-				$index[$first][$substr($string, 1)] = '';
5748
-
5749
-			else
5750
-				$index[$first] = $add_string_to_index($substr($string, 1), $index[$first]);
6071
+			if ($depth > 99) {
6072
+							$index[$first][$substr($string, 1)] = '';
6073
+			} else {
6074
+							$index[$first] = $add_string_to_index($substr($string, 1), $index[$first]);
6075
+			}
6076
+		} else {
6077
+					$index[$first][''] = '';
5751 6078
 		}
5752
-		else
5753
-			$index[$first][''] = '';
5754 6079
 
5755 6080
 		$depth--;
5756 6081
 		return $index;
@@ -5773,9 +6098,9 @@  discard block
 block discarded – undo
5773 6098
 			$key_regex = preg_quote($key, $delim);
5774 6099
 			$new_key = $key;
5775 6100
 
5776
-			if (empty($value))
5777
-				$sub_regex = '';
5778
-			else
6101
+			if (empty($value)) {
6102
+							$sub_regex = '';
6103
+			} else
5779 6104
 			{
5780 6105
 				$sub_regex = $index_to_regex($value, $delim);
5781 6106
 
@@ -5783,22 +6108,22 @@  discard block
 block discarded – undo
5783 6108
 				{
5784 6109
 					$new_key_array = explode('(?'.'>', $sub_regex);
5785 6110
 					$new_key .= $new_key_array[0];
6111
+				} else {
6112
+									$sub_regex = '(?'.'>' . $sub_regex . ')';
5786 6113
 				}
5787
-				else
5788
-					$sub_regex = '(?'.'>' . $sub_regex . ')';
5789 6114
 			}
5790 6115
 
5791
-			if ($depth > 1)
5792
-				$regex[$new_key] = $key_regex . $sub_regex;
5793
-			else
6116
+			if ($depth > 1) {
6117
+							$regex[$new_key] = $key_regex . $sub_regex;
6118
+			} else
5794 6119
 			{
5795 6120
 				if (($length += strlen($key_regex) + 1) < $max_length || empty($regex))
5796 6121
 				{
5797 6122
 					$regex[$new_key] = $key_regex . $sub_regex;
5798 6123
 					unset($index[$key]);
6124
+				} else {
6125
+									break;
5799 6126
 				}
5800
-				else
5801
-					break;
5802 6127
 			}
5803 6128
 		}
5804 6129
 
@@ -5807,10 +6132,11 @@  discard block
 block discarded – undo
5807 6132
 			$l1 = $strlen($k1);
5808 6133
 			$l2 = $strlen($k2);
5809 6134
 
5810
-			if ($l1 == $l2)
5811
-				return strcmp($k1, $k2) > 0 ? 1 : -1;
5812
-			else
5813
-				return $l1 > $l2 ? -1 : 1;
6135
+			if ($l1 == $l2) {
6136
+							return strcmp($k1, $k2) > 0 ? 1 : -1;
6137
+			} else {
6138
+							return $l1 > $l2 ? -1 : 1;
6139
+			}
5814 6140
 		});
5815 6141
 
5816 6142
 		$depth--;
@@ -5821,15 +6147,18 @@  discard block
 block discarded – undo
5821 6147
 	$index = array();
5822 6148
 	$regexes = array();
5823 6149
 
5824
-	foreach ($strings as $string)
5825
-		$index = $add_string_to_index($string, $index);
6150
+	foreach ($strings as $string) {
6151
+			$index = $add_string_to_index($string, $index);
6152
+	}
5826 6153
 
5827
-	while (!empty($index))
5828
-		$regexes[] = '(?'.'>' . $index_to_regex($index, $delim) . ')';
6154
+	while (!empty($index)) {
6155
+			$regexes[] = '(?'.'>' . $index_to_regex($index, $delim) . ')';
6156
+	}
5829 6157
 
5830 6158
 	// Restore PHP's internal character encoding to whatever it was originally
5831
-	if (!empty($current_encoding))
5832
-		mb_internal_encoding($current_encoding);
6159
+	if (!empty($current_encoding)) {
6160
+			mb_internal_encoding($current_encoding);
6161
+	}
5833 6162
 
5834 6163
 	return $regexes;
5835 6164
 }
Please login to merge, or discard this patch.