Completed
Push — release-2.1 ( 12381f...8d796c )
by Michael
07:22
created
Sources/Load.php 2 patches
Doc Comments   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -2259,9 +2259,9 @@  discard block
 block discarded – undo
2259 2259
  *
2260 2260
  * @uses the template_include() function to include the file.
2261 2261
  * @param string $template_name The name of the template to load
2262
- * @param array|string $style_sheets The name of a single stylesheet or an array of names of stylesheets to load
2262
+ * @param string $style_sheets The name of a single stylesheet or an array of names of stylesheets to load
2263 2263
  * @param bool $fatal If true, dies with an error message if the template cannot be found
2264
- * @return boolean Whether or not the template was loaded
2264
+ * @return boolean|null Whether or not the template was loaded
2265 2265
  */
2266 2266
 function loadTemplate($template_name, $style_sheets = array(), $fatal = true)
2267 2267
 {
@@ -2444,7 +2444,7 @@  discard block
 block discarded – undo
2444 2444
  * - all code added with this function is added to the same <style> tag so do make sure your css is valid!
2445 2445
  *
2446 2446
  * @param string $css Some css code
2447
- * @return void|bool Adds the CSS to the $context['css_header'] array or returns if no CSS is specified
2447
+ * @return false|null Adds the CSS to the $context['css_header'] array or returns if no CSS is specified
2448 2448
  */
2449 2449
 function addInlineCss($css)
2450 2450
 {
@@ -2558,7 +2558,7 @@  discard block
 block discarded – undo
2558 2558
  *
2559 2559
  * @param string $javascript Some JS code
2560 2560
  * @param bool $defer Whether the script should load in <head> or before the closing <html> tag
2561
- * @return void|bool Adds the code to one of the $context['javascript_inline'] arrays or returns if no JS was specified
2561
+ * @return false|null Adds the code to one of the $context['javascript_inline'] arrays or returns if no JS was specified
2562 2562
  */
2563 2563
 function addInlineJavaScript($javascript, $defer = false)
2564 2564
 {
@@ -2791,7 +2791,7 @@  discard block
 block discarded – undo
2791 2791
  * It will try to choose only utf8 or non-utf8 languages.
2792 2792
  *
2793 2793
  * @param bool $use_cache Whether or not to use the cache
2794
- * @return array An array of information about available languages
2794
+ * @return string An array of information about available languages
2795 2795
  */
2796 2796
 function getLanguages($use_cache = true)
2797 2797
 {
Please login to merge, or discard this patch.
Braces   +792 added lines, -598 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 4
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	die('No direct access...');
18
+}
18 19
 
19 20
 /**
20 21
  * Load the $modSettings array.
@@ -25,13 +26,14 @@  discard block
 block discarded – undo
25 26
 	global $cache_enable, $sourcedir, $context;
26 27
 
27 28
 	// Most database systems have not set UTF-8 as their default input charset.
28
-	if (!empty($db_character_set))
29
-		$smcFunc['db_query']('', '
29
+	if (!empty($db_character_set)) {
30
+			$smcFunc['db_query']('', '
30 31
 			SET NAMES {string:db_character_set}',
31 32
 			array(
32 33
 				'db_character_set' => $db_character_set,
33 34
 			)
34 35
 		);
36
+	}
35 37
 
36 38
 	// We need some caching support, maybe.
37 39
 	loadCacheAccelerator();
@@ -46,28 +48,36 @@  discard block
 block discarded – undo
46 48
 			)
47 49
 		);
48 50
 		$modSettings = array();
49
-		if (!$request)
50
-			display_db_error();
51
-		while ($row = $smcFunc['db_fetch_row']($request))
52
-			$modSettings[$row[0]] = $row[1];
51
+		if (!$request) {
52
+					display_db_error();
53
+		}
54
+		while ($row = $smcFunc['db_fetch_row']($request)) {
55
+					$modSettings[$row[0]] = $row[1];
56
+		}
53 57
 		$smcFunc['db_free_result']($request);
54 58
 
55 59
 		// Do a few things to protect against missing settings or settings with invalid values...
56
-		if (empty($modSettings['defaultMaxTopics']) || $modSettings['defaultMaxTopics'] <= 0 || $modSettings['defaultMaxTopics'] > 999)
57
-			$modSettings['defaultMaxTopics'] = 20;
58
-		if (empty($modSettings['defaultMaxMessages']) || $modSettings['defaultMaxMessages'] <= 0 || $modSettings['defaultMaxMessages'] > 999)
59
-			$modSettings['defaultMaxMessages'] = 15;
60
-		if (empty($modSettings['defaultMaxMembers']) || $modSettings['defaultMaxMembers'] <= 0 || $modSettings['defaultMaxMembers'] > 999)
61
-			$modSettings['defaultMaxMembers'] = 30;
62
-		if (empty($modSettings['defaultMaxListItems']) || $modSettings['defaultMaxListItems'] <= 0 || $modSettings['defaultMaxListItems'] > 999)
63
-			$modSettings['defaultMaxListItems'] = 15;
60
+		if (empty($modSettings['defaultMaxTopics']) || $modSettings['defaultMaxTopics'] <= 0 || $modSettings['defaultMaxTopics'] > 999) {
61
+					$modSettings['defaultMaxTopics'] = 20;
62
+		}
63
+		if (empty($modSettings['defaultMaxMessages']) || $modSettings['defaultMaxMessages'] <= 0 || $modSettings['defaultMaxMessages'] > 999) {
64
+					$modSettings['defaultMaxMessages'] = 15;
65
+		}
66
+		if (empty($modSettings['defaultMaxMembers']) || $modSettings['defaultMaxMembers'] <= 0 || $modSettings['defaultMaxMembers'] > 999) {
67
+					$modSettings['defaultMaxMembers'] = 30;
68
+		}
69
+		if (empty($modSettings['defaultMaxListItems']) || $modSettings['defaultMaxListItems'] <= 0 || $modSettings['defaultMaxListItems'] > 999) {
70
+					$modSettings['defaultMaxListItems'] = 15;
71
+		}
64 72
 
65 73
 		// We excpiclity do not use $smcFunc['json_decode'] here yet, as $smcFunc is not fully loaded.
66
-		if (!is_array($modSettings['attachmentUploadDir']))
67
-			$modSettings['attachmentUploadDir'] = smf_json_decode($modSettings['attachmentUploadDir'], true);
74
+		if (!is_array($modSettings['attachmentUploadDir'])) {
75
+					$modSettings['attachmentUploadDir'] = smf_json_decode($modSettings['attachmentUploadDir'], true);
76
+		}
68 77
 
69
-		if (!empty($cache_enable))
70
-			cache_put_data('modSettings', $modSettings, 90);
78
+		if (!empty($cache_enable)) {
79
+					cache_put_data('modSettings', $modSettings, 90);
80
+		}
71 81
 	}
72 82
 
73 83
 	$modSettings['cache_enable'] = $cache_enable;
@@ -87,8 +97,9 @@  discard block
 block discarded – undo
87 97
 		};
88 98
 	$fix_utf8mb4 = function($string) use ($utf8, $smcFunc)
89 99
 	{
90
-		if (!$utf8 || $smcFunc['db_mb4'])
91
-			return $string;
100
+		if (!$utf8 || $smcFunc['db_mb4']) {
101
+					return $string;
102
+		}
92 103
 
93 104
 		$i = 0;
94 105
 		$len = strlen($string);
@@ -100,18 +111,15 @@  discard block
 block discarded – undo
100 111
 			{
101 112
 				$new_string .= $string[$i];
102 113
 				$i++;
103
-			}
104
-			elseif ($ord < 224)
114
+			} elseif ($ord < 224)
105 115
 			{
106 116
 				$new_string .= $string[$i] . $string[$i + 1];
107 117
 				$i += 2;
108
-			}
109
-			elseif ($ord < 240)
118
+			} elseif ($ord < 240)
110 119
 			{
111 120
 				$new_string .= $string[$i] . $string[$i + 1] . $string[$i + 2];
112 121
 				$i += 3;
113
-			}
114
-			elseif ($ord < 248)
122
+			} elseif ($ord < 248)
115 123
 			{
116 124
 				// Magic happens.
117 125
 				$val = (ord($string[$i]) & 0x07) << 18;
@@ -155,8 +163,7 @@  discard block
 block discarded – undo
155 163
 			{
156 164
 				$result = array_search($needle, array_slice($haystack_arr, $offset));
157 165
 				return is_int($result) ? $result + $offset : false;
158
-			}
159
-			else
166
+			} else
160 167
 			{
161 168
 				$needle_arr = preg_split('~(&#' . (empty($modSettings['disableEntityCheck']) ? '\d{1,7}' : '021') . ';|&quot;|&amp;|&lt;|&gt;|&nbsp;|.)~' . ($utf8 ? 'u' : '') . '', $ent_check($needle), -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
162 169
 				$needle_size = count($needle_arr);
@@ -165,8 +172,9 @@  discard block
 block discarded – undo
165 172
 				while ((int) $result === $result)
166 173
 				{
167 174
 					$offset += $result;
168
-					if (array_slice($haystack_arr, $offset, $needle_size) === $needle_arr)
169
-						return $offset;
175
+					if (array_slice($haystack_arr, $offset, $needle_size) === $needle_arr) {
176
+											return $offset;
177
+					}
170 178
 					$result = array_search($needle_arr[0], array_slice($haystack_arr, ++$offset));
171 179
 				}
172 180
 				return false;
@@ -204,8 +212,9 @@  discard block
 block discarded – undo
204 212
 			$string = $ent_check($string);
205 213
 			preg_match('~^(' . $ent_list . '|.){' . $smcFunc['strlen'](substr($string, 0, $length)) . '}~' . ($utf8 ? 'u' : ''), $string, $matches);
206 214
 			$string = $matches[0];
207
-			while (strlen($string) > $length)
208
-				$string = preg_replace('~(?:' . $ent_list . '|.)$~' . ($utf8 ? 'u' : ''), '', $string);
215
+			while (strlen($string) > $length) {
216
+							$string = preg_replace('~(?:' . $ent_list . '|.)$~' . ($utf8 ? 'u' : ''), '', $string);
217
+			}
209 218
 			return $string;
210 219
 		},
211 220
 		'ucfirst' => $utf8 ? function($string) use (&$smcFunc)
@@ -215,8 +224,9 @@  discard block
 block discarded – undo
215 224
 		'ucwords' => $utf8 ? function($string) use (&$smcFunc)
216 225
 		{
217 226
 			$words = preg_split('~([\s\r\n\t]+)~', $string, -1, PREG_SPLIT_DELIM_CAPTURE);
218
-			for ($i = 0, $n = count($words); $i < $n; $i += 2)
219
-				$words[$i] = $smcFunc['ucfirst']($words[$i]);
227
+			for ($i = 0, $n = count($words); $i < $n; $i += 2) {
228
+							$words[$i] = $smcFunc['ucfirst']($words[$i]);
229
+			}
220 230
 			return implode('', $words);
221 231
 		} : 'ucwords',
222 232
 		'json_decode' => 'smf_json_decode',
@@ -224,16 +234,17 @@  discard block
 block discarded – undo
224 234
 	);
225 235
 
226 236
 	// Setting the timezone is a requirement for some functions.
227
-	if (isset($modSettings['default_timezone']) && in_array($modSettings['default_timezone'], timezone_identifiers_list()))
228
-		date_default_timezone_set($modSettings['default_timezone']);
229
-	else
237
+	if (isset($modSettings['default_timezone']) && in_array($modSettings['default_timezone'], timezone_identifiers_list())) {
238
+			date_default_timezone_set($modSettings['default_timezone']);
239
+	} else
230 240
 	{
231 241
 		// Get PHP's default timezone, if set
232 242
 		$ini_tz = ini_get('date.timezone');
233
-		if (!empty($ini_tz))
234
-			$modSettings['default_timezone'] = $ini_tz;
235
-		else
236
-			$modSettings['default_timezone'] = '';
243
+		if (!empty($ini_tz)) {
244
+					$modSettings['default_timezone'] = $ini_tz;
245
+		} else {
246
+					$modSettings['default_timezone'] = '';
247
+		}
237 248
 
238 249
 		// If date.timezone is unset, invalid, or just plain weird, make a best guess
239 250
 		if (!in_array($modSettings['default_timezone'], timezone_identifiers_list()))
@@ -251,22 +262,26 @@  discard block
 block discarded – undo
251 262
 		if (($modSettings['load_average'] = cache_get_data('loadavg', 90)) == null)
252 263
 		{
253 264
 			$modSettings['load_average'] = @file_get_contents('/proc/loadavg');
254
-			if (!empty($modSettings['load_average']) && preg_match('~^([^ ]+?) ([^ ]+?) ([^ ]+)~', $modSettings['load_average'], $matches) != 0)
255
-				$modSettings['load_average'] = (float) $matches[1];
256
-			elseif (($modSettings['load_average'] = @`uptime`) != null && preg_match('~load average[s]?: (\d+\.\d+), (\d+\.\d+), (\d+\.\d+)~i', $modSettings['load_average'], $matches) != 0)
257
-				$modSettings['load_average'] = (float) $matches[1];
258
-			else
259
-				unset($modSettings['load_average']);
265
+			if (!empty($modSettings['load_average']) && preg_match('~^([^ ]+?) ([^ ]+?) ([^ ]+)~', $modSettings['load_average'], $matches) != 0) {
266
+							$modSettings['load_average'] = (float) $matches[1];
267
+			} elseif (($modSettings['load_average'] = @`uptime`) != null && preg_match('~load average[s]?: (\d+\.\d+), (\d+\.\d+), (\d+\.\d+)~i', $modSettings['load_average'], $matches) != 0) {
268
+							$modSettings['load_average'] = (float) $matches[1];
269
+			} else {
270
+							unset($modSettings['load_average']);
271
+			}
260 272
 
261
-			if (!empty($modSettings['load_average']) || $modSettings['load_average'] === 0.0)
262
-				cache_put_data('loadavg', $modSettings['load_average'], 90);
273
+			if (!empty($modSettings['load_average']) || $modSettings['load_average'] === 0.0) {
274
+							cache_put_data('loadavg', $modSettings['load_average'], 90);
275
+			}
263 276
 		}
264 277
 
265
-		if (!empty($modSettings['load_average']) || $modSettings['load_average'] === 0.0)
266
-			call_integration_hook('integrate_load_average', array($modSettings['load_average']));
278
+		if (!empty($modSettings['load_average']) || $modSettings['load_average'] === 0.0) {
279
+					call_integration_hook('integrate_load_average', array($modSettings['load_average']));
280
+		}
267 281
 
268
-		if (!empty($modSettings['loadavg_forum']) && !empty($modSettings['load_average']) && $modSettings['load_average'] >= $modSettings['loadavg_forum'])
269
-			display_loadavg_error();
282
+		if (!empty($modSettings['loadavg_forum']) && !empty($modSettings['load_average']) && $modSettings['load_average'] >= $modSettings['loadavg_forum']) {
283
+					display_loadavg_error();
284
+		}
270 285
 	}
271 286
 
272 287
 	// Is post moderation alive and well? Everywhere else assumes this has been defined, so let's make sure it is.
@@ -287,8 +302,9 @@  discard block
 block discarded – undo
287 302
 	if (defined('SMF_INTEGRATION_SETTINGS'))
288 303
 	{
289 304
 		$integration_settings = $smcFunc['json_decode'](SMF_INTEGRATION_SETTINGS, true);
290
-		foreach ($integration_settings as $hook => $function)
291
-			add_integration_function($hook, $function, '', false);
305
+		foreach ($integration_settings as $hook => $function) {
306
+					add_integration_function($hook, $function, '', false);
307
+		}
292 308
 	}
293 309
 
294 310
 	// Any files to pre include?
@@ -298,8 +314,9 @@  discard block
 block discarded – undo
298 314
 		foreach ($pre_includes as $include)
299 315
 		{
300 316
 			$include = strtr(trim($include), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir));
301
-			if (file_exists($include))
302
-				require_once($include);
317
+			if (file_exists($include)) {
318
+							require_once($include);
319
+			}
303 320
 		}
304 321
 	}
305 322
 
@@ -403,27 +420,28 @@  discard block
 block discarded – undo
403 420
 				break;
404 421
 			}
405 422
 		}
423
+	} else {
424
+			$id_member = 0;
406 425
 	}
407
-	else
408
-		$id_member = 0;
409 426
 
410 427
 	if (empty($id_member) && isset($_COOKIE[$cookiename]))
411 428
 	{
412 429
 		$cookie_data = $smcFunc['json_decode']($_COOKIE[$cookiename], true, false);
413 430
 
414
-		if (empty($cookie_data))
415
-			$cookie_data = safe_unserialize($_COOKIE[$cookiename]);
431
+		if (empty($cookie_data)) {
432
+					$cookie_data = safe_unserialize($_COOKIE[$cookiename]);
433
+		}
416 434
 
417 435
 		list ($id_member, $password) = $cookie_data;
418 436
 		$id_member = !empty($id_member) && strlen($password) > 0 ? (int) $id_member : 0;
419
-	}
420
-	elseif (empty($id_member) && isset($_SESSION['login_' . $cookiename]) && ($_SESSION['USER_AGENT'] == $_SERVER['HTTP_USER_AGENT'] || !empty($modSettings['disableCheckUA'])))
437
+	} elseif (empty($id_member) && isset($_SESSION['login_' . $cookiename]) && ($_SESSION['USER_AGENT'] == $_SERVER['HTTP_USER_AGENT'] || !empty($modSettings['disableCheckUA'])))
421 438
 	{
422 439
 		// @todo Perhaps we can do some more checking on this, such as on the first octet of the IP?
423 440
 		$cookie_data = $smcFunc['json_decode']($_SESSION['login_' . $cookiename]);
424 441
 
425
-		if (empty($cookie_data))
426
-			$cookie_data = safe_unserialize($_SESSION['login_' . $cookiename]);
442
+		if (empty($cookie_data)) {
443
+					$cookie_data = safe_unserialize($_SESSION['login_' . $cookiename]);
444
+		}
427 445
 
428 446
 		list ($id_member, $password, $login_span) = $cookie_data;
429 447
 		$id_member = !empty($id_member) && strlen($password) == 128 && $login_span > time() ? (int) $id_member : 0;
@@ -448,30 +466,34 @@  discard block
 block discarded – undo
448 466
 			$user_settings = $smcFunc['db_fetch_assoc']($request);
449 467
 			$smcFunc['db_free_result']($request);
450 468
 
451
-			if (!empty($modSettings['force_ssl']) && $image_proxy_enabled && stripos($user_settings['avatar'], 'http://') !== false)
452
-				$user_settings['avatar'] = strtr($boardurl, array('http://' => 'https://')) . '/proxy.php?request=' . urlencode($user_settings['avatar']) . '&hash=' . md5($user_settings['avatar'] . $image_proxy_secret);
469
+			if (!empty($modSettings['force_ssl']) && $image_proxy_enabled && stripos($user_settings['avatar'], 'http://') !== false) {
470
+							$user_settings['avatar'] = strtr($boardurl, array('http://' => 'https://')) . '/proxy.php?request=' . urlencode($user_settings['avatar']) . '&hash=' . md5($user_settings['avatar'] . $image_proxy_secret);
471
+			}
453 472
 
454
-			if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2)
455
-				cache_put_data('user_settings-' . $id_member, $user_settings, 60);
473
+			if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) {
474
+							cache_put_data('user_settings-' . $id_member, $user_settings, 60);
475
+			}
456 476
 		}
457 477
 
458 478
 		// Did we find 'im?  If not, junk it.
459 479
 		if (!empty($user_settings))
460 480
 		{
461 481
 			// As much as the password should be right, we can assume the integration set things up.
462
-			if (!empty($already_verified) && $already_verified === true)
463
-				$check = true;
482
+			if (!empty($already_verified) && $already_verified === true) {
483
+							$check = true;
484
+			}
464 485
 			// SHA-512 hash should be 128 characters long.
465
-			elseif (strlen($password) == 128)
466
-				$check = hash_salt($user_settings['passwd'], $user_settings['password_salt']) == $password;
467
-			else
468
-				$check = false;
486
+			elseif (strlen($password) == 128) {
487
+							$check = hash_salt($user_settings['passwd'], $user_settings['password_salt']) == $password;
488
+			} else {
489
+							$check = false;
490
+			}
469 491
 
470 492
 			// Wrong password or not activated - either way, you're going nowhere.
471 493
 			$id_member = $check && ($user_settings['is_activated'] == 1 || $user_settings['is_activated'] == 11) ? (int) $user_settings['id_member'] : 0;
494
+		} else {
495
+					$id_member = 0;
472 496
 		}
473
-		else
474
-			$id_member = 0;
475 497
 
476 498
 		// If we no longer have the member maybe they're being all hackey, stop brute force!
477 499
 		if (!$id_member)
@@ -500,8 +522,9 @@  discard block
 block discarded – undo
500 522
 
501 523
 					list ($tfamember, $tfasecret) = $tfa_data;
502 524
 
503
-					if (!isset($tfamember, $tfasecret) || (int) $tfamember != $id_member)
504
-						$tfasecret = null;
525
+					if (!isset($tfamember, $tfasecret) || (int) $tfamember != $id_member) {
526
+											$tfasecret = null;
527
+					}
505 528
 				}
506 529
 
507 530
 				if (empty($tfasecret) || hash_salt($user_settings['tfa_backup'], $user_settings['password_salt']) != $tfasecret)
@@ -521,10 +544,12 @@  discard block
 block discarded – undo
521 544
 		// Are we forcing 2FA? Need to check if the user groups actually require 2FA
522 545
 		elseif (!empty($modSettings['tfa_mode']) && $modSettings['tfa_mode'] >= 2 && $id_member && empty($user_settings['tfa_secret']))
523 546
 		{
524
-			if ($modSettings['tfa_mode'] == 2) //only do this if we are just forcing SOME membergroups
547
+			if ($modSettings['tfa_mode'] == 2) {
548
+				//only do this if we are just forcing SOME membergroups
525 549
 			{
526 550
 				//Build an array of ALL user membergroups.
527 551
 				$full_groups = array($user_settings['id_group']);
552
+			}
528 553
 				if (!empty($user_settings['additional_groups']))
529 554
 				{
530 555
 					$full_groups = array_merge($full_groups, explode(',', $user_settings['additional_groups']));
@@ -544,15 +569,17 @@  discard block
 block discarded – undo
544 569
 				);
545 570
 				$row = $smcFunc['db_fetch_assoc']($request);
546 571
 				$smcFunc['db_free_result']($request);
572
+			} else {
573
+							$row['total'] = 1;
547 574
 			}
548
-			else
549
-				$row['total'] = 1; //simplifies logics in the next "if"
575
+			//simplifies logics in the next "if"
550 576
 
551 577
 			$area = !empty($_REQUEST['area']) ? $_REQUEST['area'] : '';
552 578
 			$action = !empty($_REQUEST['action']) ? $_REQUEST['action'] : '';
553 579
 
554
-			if ($row['total'] > 0 && !in_array($action, array('profile', 'logout')) || ($action == 'profile' && $area != 'tfasetup'))
555
-				redirectexit('action=profile;area=tfasetup;forced');
580
+			if ($row['total'] > 0 && !in_array($action, array('profile', 'logout')) || ($action == 'profile' && $area != 'tfasetup')) {
581
+							redirectexit('action=profile;area=tfasetup;forced');
582
+			}
556 583
 		}
557 584
 	}
558 585
 
@@ -589,33 +616,37 @@  discard block
 block discarded – undo
589 616
 				updateMemberData($id_member, array('id_msg_last_visit' => (int) $modSettings['maxMsgID'], 'last_login' => time(), 'member_ip' => $_SERVER['REMOTE_ADDR'], 'member_ip2' => $_SERVER['BAN_CHECK_IP']));
590 617
 				$user_settings['last_login'] = time();
591 618
 
592
-				if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2)
593
-					cache_put_data('user_settings-' . $id_member, $user_settings, 60);
619
+				if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) {
620
+									cache_put_data('user_settings-' . $id_member, $user_settings, 60);
621
+				}
594 622
 
595
-				if (!empty($modSettings['cache_enable']))
596
-					cache_put_data('user_last_visit-' . $id_member, $_SESSION['id_msg_last_visit'], 5 * 3600);
623
+				if (!empty($modSettings['cache_enable'])) {
624
+									cache_put_data('user_last_visit-' . $id_member, $_SESSION['id_msg_last_visit'], 5 * 3600);
625
+				}
597 626
 			}
627
+		} elseif (empty($_SESSION['id_msg_last_visit'])) {
628
+					$_SESSION['id_msg_last_visit'] = $user_settings['id_msg_last_visit'];
598 629
 		}
599
-		elseif (empty($_SESSION['id_msg_last_visit']))
600
-			$_SESSION['id_msg_last_visit'] = $user_settings['id_msg_last_visit'];
601 630
 
602 631
 		$username = $user_settings['member_name'];
603 632
 
604
-		if (empty($user_settings['additional_groups']))
605
-			$user_info = array(
633
+		if (empty($user_settings['additional_groups'])) {
634
+					$user_info = array(
606 635
 				'groups' => array($user_settings['id_group'], $user_settings['id_post_group'])
607 636
 			);
608
-		else
609
-			$user_info = array(
637
+		} else {
638
+					$user_info = array(
610 639
 				'groups' => array_merge(
611 640
 					array($user_settings['id_group'], $user_settings['id_post_group']),
612 641
 					explode(',', $user_settings['additional_groups'])
613 642
 				)
614 643
 			);
644
+		}
615 645
 
616 646
 		// Because history has proven that it is possible for groups to go bad - clean up in case.
617
-		foreach ($user_info['groups'] as $k => $v)
618
-			$user_info['groups'][$k] = (int) $v;
647
+		foreach ($user_info['groups'] as $k => $v) {
648
+					$user_info['groups'][$k] = (int) $v;
649
+		}
619 650
 
620 651
 		// This is a logged in user, so definitely not a spider.
621 652
 		$user_info['possibly_robot'] = false;
@@ -629,8 +660,7 @@  discard block
 block discarded – undo
629 660
 			$time_system = new DateTime('now', $tz_system);
630 661
 			$time_user = new DateTime('now', $tz_user);
631 662
 			$user_info['time_offset'] = ($tz_user->getOffset($time_user) - $tz_system->getOffset($time_system)) / 3600;
632
-		}
633
-		else
663
+		} else
634 664
 		{
635 665
 			// !!! Compatibility.
636 666
 			$user_info['time_offset'] = empty($user_settings['time_offset']) ? 0 : $user_settings['time_offset'];
@@ -644,8 +674,9 @@  discard block
 block discarded – undo
644 674
 		$user_info = array('groups' => array(-1));
645 675
 		$user_settings = array();
646 676
 
647
-		if (isset($_COOKIE[$cookiename]) && empty($context['tfa_member']))
648
-			$_COOKIE[$cookiename] = '';
677
+		if (isset($_COOKIE[$cookiename]) && empty($context['tfa_member'])) {
678
+					$_COOKIE[$cookiename] = '';
679
+		}
649 680
 
650 681
 		// Expire the 2FA cookie
651 682
 		if (isset($_COOKIE[$cookiename . '_tfa']) && empty($context['tfa_member']))
@@ -662,19 +693,20 @@  discard block
 block discarded – undo
662 693
 		}
663 694
 
664 695
 		// Create a login token if it doesn't exist yet.
665
-		if (!isset($_SESSION['token']['post-login']))
666
-			createToken('login');
667
-		else
668
-			list ($context['login_token_var'],,, $context['login_token']) = $_SESSION['token']['post-login'];
696
+		if (!isset($_SESSION['token']['post-login'])) {
697
+					createToken('login');
698
+		} else {
699
+					list ($context['login_token_var'],,, $context['login_token']) = $_SESSION['token']['post-login'];
700
+		}
669 701
 
670 702
 		// Do we perhaps think this is a search robot? Check every five minutes just in case...
671 703
 		if ((!empty($modSettings['spider_mode']) || !empty($modSettings['spider_group'])) && (!isset($_SESSION['robot_check']) || $_SESSION['robot_check'] < time() - 300))
672 704
 		{
673 705
 			require_once($sourcedir . '/ManageSearchEngines.php');
674 706
 			$user_info['possibly_robot'] = SpiderCheck();
707
+		} elseif (!empty($modSettings['spider_mode'])) {
708
+					$user_info['possibly_robot'] = isset($_SESSION['id_robot']) ? $_SESSION['id_robot'] : 0;
675 709
 		}
676
-		elseif (!empty($modSettings['spider_mode']))
677
-			$user_info['possibly_robot'] = isset($_SESSION['id_robot']) ? $_SESSION['id_robot'] : 0;
678 710
 		// If we haven't turned on proper spider hunts then have a guess!
679 711
 		else
680 712
 		{
@@ -722,8 +754,9 @@  discard block
 block discarded – undo
722 754
 	$user_info['groups'] = array_unique($user_info['groups']);
723 755
 
724 756
 	// Make sure that the last item in the ignore boards array is valid. If the list was too long it could have an ending comma that could cause problems.
725
-	if (!empty($user_info['ignoreboards']) && empty($user_info['ignoreboards'][$tmp = count($user_info['ignoreboards']) - 1]))
726
-		unset($user_info['ignoreboards'][$tmp]);
757
+	if (!empty($user_info['ignoreboards']) && empty($user_info['ignoreboards'][$tmp = count($user_info['ignoreboards']) - 1])) {
758
+			unset($user_info['ignoreboards'][$tmp]);
759
+	}
727 760
 
728 761
 	// Allow the user to change their language.
729 762
 	if (!empty($modSettings['userLanguage']))
@@ -736,31 +769,36 @@  discard block
 block discarded – undo
736 769
 			$user_info['language'] = strtr($_GET['language'], './\\:', '____');
737 770
 
738 771
 			// Make it permanent for members.
739
-			if (!empty($user_info['id']))
740
-				updateMemberData($user_info['id'], array('lngfile' => $user_info['language']));
741
-			else
742
-				$_SESSION['language'] = $user_info['language'];
772
+			if (!empty($user_info['id'])) {
773
+							updateMemberData($user_info['id'], array('lngfile' => $user_info['language']));
774
+			} else {
775
+							$_SESSION['language'] = $user_info['language'];
776
+			}
777
+		} elseif (!empty($_SESSION['language']) && isset($languages[strtr($_SESSION['language'], './\\:', '____')])) {
778
+					$user_info['language'] = strtr($_SESSION['language'], './\\:', '____');
743 779
 		}
744
-		elseif (!empty($_SESSION['language']) && isset($languages[strtr($_SESSION['language'], './\\:', '____')]))
745
-			$user_info['language'] = strtr($_SESSION['language'], './\\:', '____');
746 780
 	}
747 781
 
748 782
 	// Just build this here, it makes it easier to change/use - administrators can see all boards.
749
-	if ($user_info['is_admin'])
750
-		$user_info['query_see_board'] = '1=1';
783
+	if ($user_info['is_admin']) {
784
+			$user_info['query_see_board'] = '1=1';
785
+	}
751 786
 	// Otherwise just the groups in $user_info['groups'].
752
-	else
753
-		$user_info['query_see_board'] = '((FIND_IN_SET(' . implode(', b.member_groups) != 0 OR FIND_IN_SET(', $user_info['groups']) . ', b.member_groups) != 0)' . (!empty($modSettings['deny_boards_access']) ? ' AND (FIND_IN_SET(' . implode(', b.deny_member_groups) = 0 AND FIND_IN_SET(', $user_info['groups']) . ', b.deny_member_groups) = 0)' : '') . (isset($user_info['mod_cache']) ? ' OR ' . $user_info['mod_cache']['mq'] : '') . ')';
787
+	else {
788
+			$user_info['query_see_board'] = '((FIND_IN_SET(' . implode(', b.member_groups) != 0 OR FIND_IN_SET(', $user_info['groups']) . ', b.member_groups) != 0)' . (!empty($modSettings['deny_boards_access']) ? ' AND (FIND_IN_SET(' . implode(', b.deny_member_groups) = 0 AND FIND_IN_SET(', $user_info['groups']) . ', b.deny_member_groups) = 0)' : '') . (isset($user_info['mod_cache']) ? ' OR ' . $user_info['mod_cache']['mq'] : '') . ')';
789
+	}
754 790
 
755 791
 	// Build the list of boards they WANT to see.
756 792
 	// This will take the place of query_see_boards in certain spots, so it better include the boards they can see also
757 793
 
758 794
 	// If they aren't ignoring any boards then they want to see all the boards they can see
759
-	if (empty($user_info['ignoreboards']))
760
-		$user_info['query_wanna_see_board'] = $user_info['query_see_board'];
795
+	if (empty($user_info['ignoreboards'])) {
796
+			$user_info['query_wanna_see_board'] = $user_info['query_see_board'];
797
+	}
761 798
 	// Ok I guess they don't want to see all the boards
762
-	else
763
-		$user_info['query_wanna_see_board'] = '(' . $user_info['query_see_board'] . ' AND b.id_board NOT IN (' . implode(',', $user_info['ignoreboards']) . '))';
799
+	else {
800
+			$user_info['query_wanna_see_board'] = '(' . $user_info['query_see_board'] . ' AND b.id_board NOT IN (' . implode(',', $user_info['ignoreboards']) . '))';
801
+	}
764 802
 
765 803
 	call_integration_hook('integrate_user_info');
766 804
 }
@@ -818,9 +856,9 @@  discard block
 block discarded – undo
818 856
 		}
819 857
 
820 858
 		// Remember redirection is the key to avoiding fallout from your bosses.
821
-		if (!empty($topic))
822
-			redirectexit('topic=' . $topic . '.msg' . $_REQUEST['msg'] . '#msg' . $_REQUEST['msg']);
823
-		else
859
+		if (!empty($topic)) {
860
+					redirectexit('topic=' . $topic . '.msg' . $_REQUEST['msg'] . '#msg' . $_REQUEST['msg']);
861
+		} else
824 862
 		{
825 863
 			loadPermissions();
826 864
 			loadTheme();
@@ -838,10 +876,11 @@  discard block
 block discarded – undo
838 876
 	if (!empty($modSettings['cache_enable']) && (empty($topic) || $modSettings['cache_enable'] >= 3))
839 877
 	{
840 878
 		// @todo SLOW?
841
-		if (!empty($topic))
842
-			$temp = cache_get_data('topic_board-' . $topic, 120);
843
-		else
844
-			$temp = cache_get_data('board-' . $board, 120);
879
+		if (!empty($topic)) {
880
+					$temp = cache_get_data('topic_board-' . $topic, 120);
881
+		} else {
882
+					$temp = cache_get_data('board-' . $board, 120);
883
+		}
845 884
 
846 885
 		if (!empty($temp))
847 886
 		{
@@ -879,8 +918,9 @@  discard block
 block discarded – undo
879 918
 			$row = $smcFunc['db_fetch_assoc']($request);
880 919
 
881 920
 			// Set the current board.
882
-			if (!empty($row['id_board']))
883
-				$board = $row['id_board'];
921
+			if (!empty($row['id_board'])) {
922
+							$board = $row['id_board'];
923
+			}
884 924
 
885 925
 			// Basic operating information. (globals... :/)
886 926
 			$board_info = array(
@@ -916,21 +956,23 @@  discard block
 block discarded – undo
916 956
 
917 957
 			do
918 958
 			{
919
-				if (!empty($row['id_moderator']))
920
-					$board_info['moderators'][$row['id_moderator']] = array(
959
+				if (!empty($row['id_moderator'])) {
960
+									$board_info['moderators'][$row['id_moderator']] = array(
921 961
 						'id' => $row['id_moderator'],
922 962
 						'name' => $row['real_name'],
923 963
 						'href' => $scripturl . '?action=profile;u=' . $row['id_moderator'],
924 964
 						'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row['id_moderator'] . '">' . $row['real_name'] . '</a>'
925 965
 					);
966
+				}
926 967
 
927
-				if (!empty($row['id_moderator_group']))
928
-					$board_info['moderator_groups'][$row['id_moderator_group']] = array(
968
+				if (!empty($row['id_moderator_group'])) {
969
+									$board_info['moderator_groups'][$row['id_moderator_group']] = array(
929 970
 						'id' => $row['id_moderator_group'],
930 971
 						'name' => $row['group_name'],
931 972
 						'href' => $scripturl . '?action=groups;sa=members;group=' . $row['id_moderator_group'],
932 973
 						'link' => '<a href="' . $scripturl . '?action=groups;sa=members;group=' . $row['id_moderator_group'] . '">' . $row['group_name'] . '</a>'
933 974
 					);
975
+				}
934 976
 			}
935 977
 			while ($row = $smcFunc['db_fetch_assoc']($request));
936 978
 
@@ -962,12 +1004,12 @@  discard block
 block discarded – undo
962 1004
 			if (!empty($modSettings['cache_enable']) && (empty($topic) || $modSettings['cache_enable'] >= 3))
963 1005
 			{
964 1006
 				// @todo SLOW?
965
-				if (!empty($topic))
966
-					cache_put_data('topic_board-' . $topic, $board_info, 120);
1007
+				if (!empty($topic)) {
1008
+									cache_put_data('topic_board-' . $topic, $board_info, 120);
1009
+				}
967 1010
 				cache_put_data('board-' . $board, $board_info, 120);
968 1011
 			}
969
-		}
970
-		else
1012
+		} else
971 1013
 		{
972 1014
 			// Otherwise the topic is invalid, there are no moderators, etc.
973 1015
 			$board_info = array(
@@ -981,8 +1023,9 @@  discard block
 block discarded – undo
981 1023
 		$smcFunc['db_free_result']($request);
982 1024
 	}
983 1025
 
984
-	if (!empty($topic))
985
-		$_GET['board'] = (int) $board;
1026
+	if (!empty($topic)) {
1027
+			$_GET['board'] = (int) $board;
1028
+	}
986 1029
 
987 1030
 	if (!empty($board))
988 1031
 	{
@@ -992,10 +1035,12 @@  discard block
 block discarded – undo
992 1035
 		// Now check if the user is a moderator.
993 1036
 		$user_info['is_mod'] = isset($board_info['moderators'][$user_info['id']]) || count(array_intersect($user_info['groups'], $moderator_groups)) != 0;
994 1037
 
995
-		if (count(array_intersect($user_info['groups'], $board_info['groups'])) == 0 && !$user_info['is_admin'])
996
-			$board_info['error'] = 'access';
997
-		if (!empty($modSettings['deny_boards_access']) && count(array_intersect($user_info['groups'], $board_info['deny_groups'])) != 0 && !$user_info['is_admin'])
998
-			$board_info['error'] = 'access';
1038
+		if (count(array_intersect($user_info['groups'], $board_info['groups'])) == 0 && !$user_info['is_admin']) {
1039
+					$board_info['error'] = 'access';
1040
+		}
1041
+		if (!empty($modSettings['deny_boards_access']) && count(array_intersect($user_info['groups'], $board_info['deny_groups'])) != 0 && !$user_info['is_admin']) {
1042
+					$board_info['error'] = 'access';
1043
+		}
999 1044
 
1000 1045
 		// Build up the linktree.
1001 1046
 		$context['linktree'] = array_merge(
@@ -1018,8 +1063,9 @@  discard block
 block discarded – undo
1018 1063
 	$context['current_board'] = $board;
1019 1064
 
1020 1065
 	// No posting in redirection boards!
1021
-	if (!empty($_REQUEST['action']) && $_REQUEST['action'] == 'post' && !empty($board_info['redirect']))
1022
-		$board_info['error'] == 'post_in_redirect';
1066
+	if (!empty($_REQUEST['action']) && $_REQUEST['action'] == 'post' && !empty($board_info['redirect'])) {
1067
+			$board_info['error'] == 'post_in_redirect';
1068
+	}
1023 1069
 
1024 1070
 	// Hacker... you can't see this topic, I'll tell you that. (but moderators can!)
1025 1071
 	if (!empty($board_info['error']) && (!empty($modSettings['deny_boards_access']) || $board_info['error'] != 'access' || !$user_info['is_mod']))
@@ -1045,24 +1091,23 @@  discard block
 block discarded – undo
1045 1091
 			ob_end_clean();
1046 1092
 			header('HTTP/1.1 403 Forbidden');
1047 1093
 			die;
1048
-		}
1049
-		elseif ($board_info['error'] == 'post_in_redirect')
1094
+		} elseif ($board_info['error'] == 'post_in_redirect')
1050 1095
 		{
1051 1096
 			// Slightly different error message here...
1052 1097
 			fatal_lang_error('cannot_post_redirect', false);
1053
-		}
1054
-		elseif ($user_info['is_guest'])
1098
+		} elseif ($user_info['is_guest'])
1055 1099
 		{
1056 1100
 			loadLanguage('Errors');
1057 1101
 			is_not_guest($txt['topic_gone']);
1102
+		} else {
1103
+					fatal_lang_error('topic_gone', false);
1058 1104
 		}
1059
-		else
1060
-			fatal_lang_error('topic_gone', false);
1061 1105
 	}
1062 1106
 
1063
-	if ($user_info['is_mod'])
1064
-		$user_info['groups'][] = 3;
1065
-}
1107
+	if ($user_info['is_mod']) {
1108
+			$user_info['groups'][] = 3;
1109
+	}
1110
+	}
1066 1111
 
1067 1112
 /**
1068 1113
  * Load this user's permissions.
@@ -1083,8 +1128,9 @@  discard block
 block discarded – undo
1083 1128
 		asort($cache_groups);
1084 1129
 		$cache_groups = implode(',', $cache_groups);
1085 1130
 		// If it's a spider then cache it different.
1086
-		if ($user_info['possibly_robot'])
1087
-			$cache_groups .= '-spider';
1131
+		if ($user_info['possibly_robot']) {
1132
+					$cache_groups .= '-spider';
1133
+		}
1088 1134
 
1089 1135
 		if ($modSettings['cache_enable'] >= 2 && !empty($board) && ($temp = cache_get_data('permissions:' . $cache_groups . ':' . $board, 240)) != null && time() - 240 > $modSettings['settings_updated'])
1090 1136
 		{
@@ -1092,9 +1138,9 @@  discard block
 block discarded – undo
1092 1138
 			banPermissions();
1093 1139
 
1094 1140
 			return;
1141
+		} elseif (($temp = cache_get_data('permissions:' . $cache_groups, 240)) != null && time() - 240 > $modSettings['settings_updated']) {
1142
+					list ($user_info['permissions'], $removals) = $temp;
1095 1143
 		}
1096
-		elseif (($temp = cache_get_data('permissions:' . $cache_groups, 240)) != null && time() - 240 > $modSettings['settings_updated'])
1097
-			list ($user_info['permissions'], $removals) = $temp;
1098 1144
 	}
1099 1145
 
1100 1146
 	// If it is detected as a robot, and we are restricting permissions as a special group - then implement this.
@@ -1116,23 +1162,26 @@  discard block
 block discarded – undo
1116 1162
 		$removals = array();
1117 1163
 		while ($row = $smcFunc['db_fetch_assoc']($request))
1118 1164
 		{
1119
-			if (empty($row['add_deny']))
1120
-				$removals[] = $row['permission'];
1121
-			else
1122
-				$user_info['permissions'][] = $row['permission'];
1165
+			if (empty($row['add_deny'])) {
1166
+							$removals[] = $row['permission'];
1167
+			} else {
1168
+							$user_info['permissions'][] = $row['permission'];
1169
+			}
1123 1170
 		}
1124 1171
 		$smcFunc['db_free_result']($request);
1125 1172
 
1126
-		if (isset($cache_groups))
1127
-			cache_put_data('permissions:' . $cache_groups, array($user_info['permissions'], $removals), 240);
1173
+		if (isset($cache_groups)) {
1174
+					cache_put_data('permissions:' . $cache_groups, array($user_info['permissions'], $removals), 240);
1175
+		}
1128 1176
 	}
1129 1177
 
1130 1178
 	// Get the board permissions.
1131 1179
 	if (!empty($board))
1132 1180
 	{
1133 1181
 		// Make sure the board (if any) has been loaded by loadBoard().
1134
-		if (!isset($board_info['profile']))
1135
-			fatal_lang_error('no_board');
1182
+		if (!isset($board_info['profile'])) {
1183
+					fatal_lang_error('no_board');
1184
+		}
1136 1185
 
1137 1186
 		$request = $smcFunc['db_query']('', '
1138 1187
 			SELECT permission, add_deny
@@ -1148,20 +1197,23 @@  discard block
 block discarded – undo
1148 1197
 		);
1149 1198
 		while ($row = $smcFunc['db_fetch_assoc']($request))
1150 1199
 		{
1151
-			if (empty($row['add_deny']))
1152
-				$removals[] = $row['permission'];
1153
-			else
1154
-				$user_info['permissions'][] = $row['permission'];
1200
+			if (empty($row['add_deny'])) {
1201
+							$removals[] = $row['permission'];
1202
+			} else {
1203
+							$user_info['permissions'][] = $row['permission'];
1204
+			}
1155 1205
 		}
1156 1206
 		$smcFunc['db_free_result']($request);
1157 1207
 	}
1158 1208
 
1159 1209
 	// Remove all the permissions they shouldn't have ;).
1160
-	if (!empty($modSettings['permission_enable_deny']))
1161
-		$user_info['permissions'] = array_diff($user_info['permissions'], $removals);
1210
+	if (!empty($modSettings['permission_enable_deny'])) {
1211
+			$user_info['permissions'] = array_diff($user_info['permissions'], $removals);
1212
+	}
1162 1213
 
1163
-	if (isset($cache_groups) && !empty($board) && $modSettings['cache_enable'] >= 2)
1164
-		cache_put_data('permissions:' . $cache_groups . ':' . $board, array($user_info['permissions'], null), 240);
1214
+	if (isset($cache_groups) && !empty($board) && $modSettings['cache_enable'] >= 2) {
1215
+			cache_put_data('permissions:' . $cache_groups . ':' . $board, array($user_info['permissions'], null), 240);
1216
+	}
1165 1217
 
1166 1218
 	// Banned?  Watch, don't touch..
1167 1219
 	banPermissions();
@@ -1173,17 +1225,18 @@  discard block
 block discarded – undo
1173 1225
 		{
1174 1226
 			require_once($sourcedir . '/Subs-Auth.php');
1175 1227
 			rebuildModCache();
1228
+		} else {
1229
+					$user_info['mod_cache'] = $_SESSION['mc'];
1176 1230
 		}
1177
-		else
1178
-			$user_info['mod_cache'] = $_SESSION['mc'];
1179 1231
 
1180 1232
 		// This is a useful phantom permission added to the current user, and only the current user while they are logged in.
1181 1233
 		// For example this drastically simplifies certain changes to the profile area.
1182 1234
 		$user_info['permissions'][] = 'is_not_guest';
1183 1235
 		// And now some backwards compatibility stuff for mods and whatnot that aren't expecting the new permissions.
1184 1236
 		$user_info['permissions'][] = 'profile_view_own';
1185
-		if (in_array('profile_view', $user_info['permissions']))
1186
-			$user_info['permissions'][] = 'profile_view_any';
1237
+		if (in_array('profile_view', $user_info['permissions'])) {
1238
+					$user_info['permissions'][] = 'profile_view_any';
1239
+		}
1187 1240
 	}
1188 1241
 }
1189 1242
 
@@ -1201,8 +1254,9 @@  discard block
 block discarded – undo
1201 1254
 	global $image_proxy_enabled, $image_proxy_secret, $boardurl;
1202 1255
 
1203 1256
 	// Can't just look for no users :P.
1204
-	if (empty($users))
1205
-		return array();
1257
+	if (empty($users)) {
1258
+			return array();
1259
+	}
1206 1260
 
1207 1261
 	// Pass the set value
1208 1262
 	$context['loadMemberContext_set'] = $set;
@@ -1217,8 +1271,9 @@  discard block
 block discarded – undo
1217 1271
 		for ($i = 0, $n = count($users); $i < $n; $i++)
1218 1272
 		{
1219 1273
 			$data = cache_get_data('member_data-' . $set . '-' . $users[$i], 240);
1220
-			if ($data == null)
1221
-				continue;
1274
+			if ($data == null) {
1275
+							continue;
1276
+			}
1222 1277
 
1223 1278
 			$loaded_ids[] = $data['id_member'];
1224 1279
 			$user_profile[$data['id_member']] = $data;
@@ -1285,16 +1340,19 @@  discard block
 block discarded – undo
1285 1340
 			$row['avatar_original'] = !empty($row['avatar']) ? $row['avatar'] : '';
1286 1341
 
1287 1342
 			// Take care of proxying avatar if required, do this here for maximum reach
1288
-			if ($image_proxy_enabled && !empty($row['avatar']) && stripos($row['avatar'], 'http://') !== false)
1289
-				$row['avatar'] = $boardurl . '/proxy.php?request=' . urlencode($row['avatar']) . '&hash=' . md5($row['avatar'] . $image_proxy_secret);
1343
+			if ($image_proxy_enabled && !empty($row['avatar']) && stripos($row['avatar'], 'http://') !== false) {
1344
+							$row['avatar'] = $boardurl . '/proxy.php?request=' . urlencode($row['avatar']) . '&hash=' . md5($row['avatar'] . $image_proxy_secret);
1345
+			}
1290 1346
 
1291 1347
 			// Keep track of the member's normal member group
1292 1348
 			$row['primary_group'] = $row['member_group'];
1293 1349
 
1294
-			if (isset($row['member_ip']))
1295
-				$row['member_ip'] = inet_dtop($row['member_ip']);
1296
-			if (isset($row['member_ip2']))
1297
-				$row['member_ip2'] = inet_dtop($row['member_ip2']);
1350
+			if (isset($row['member_ip'])) {
1351
+							$row['member_ip'] = inet_dtop($row['member_ip']);
1352
+			}
1353
+			if (isset($row['member_ip2'])) {
1354
+							$row['member_ip2'] = inet_dtop($row['member_ip2']);
1355
+			}
1298 1356
 			$new_loaded_ids[] = $row['id_member'];
1299 1357
 			$loaded_ids[] = $row['id_member'];
1300 1358
 			$row['options'] = array();
@@ -1313,8 +1371,9 @@  discard block
 block discarded – undo
1313 1371
 				'loaded_ids' => $new_loaded_ids,
1314 1372
 			)
1315 1373
 		);
1316
-		while ($row = $smcFunc['db_fetch_assoc']($request))
1317
-			$user_profile[$row['id_member']]['options'][$row['variable']] = $row['value'];
1374
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
1375
+					$user_profile[$row['id_member']]['options'][$row['variable']] = $row['value'];
1376
+		}
1318 1377
 		$smcFunc['db_free_result']($request);
1319 1378
 	}
1320 1379
 
@@ -1325,10 +1384,11 @@  discard block
 block discarded – undo
1325 1384
 	{
1326 1385
 		foreach ($loaded_ids as $a_member)
1327 1386
 		{
1328
-			if (!empty($user_profile[$a_member]['additional_groups']))
1329
-				$groups = array_merge(array($user_profile[$a_member]['id_group']), explode(',', $user_profile[$a_member]['additional_groups']));
1330
-			else
1331
-				$groups = array($user_profile[$a_member]['id_group']);
1387
+			if (!empty($user_profile[$a_member]['additional_groups'])) {
1388
+							$groups = array_merge(array($user_profile[$a_member]['id_group']), explode(',', $user_profile[$a_member]['additional_groups']));
1389
+			} else {
1390
+							$groups = array($user_profile[$a_member]['id_group']);
1391
+			}
1332 1392
 
1333 1393
 			$temp = array_intersect($groups, array_keys($board_info['moderator_groups']));
1334 1394
 
@@ -1341,8 +1401,9 @@  discard block
 block discarded – undo
1341 1401
 
1342 1402
 	if (!empty($new_loaded_ids) && !empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 3)
1343 1403
 	{
1344
-		for ($i = 0, $n = count($new_loaded_ids); $i < $n; $i++)
1345
-			cache_put_data('member_data-' . $set . '-' . $new_loaded_ids[$i], $user_profile[$new_loaded_ids[$i]], 240);
1404
+		for ($i = 0, $n = count($new_loaded_ids); $i < $n; $i++) {
1405
+					cache_put_data('member_data-' . $set . '-' . $new_loaded_ids[$i], $user_profile[$new_loaded_ids[$i]], 240);
1406
+		}
1346 1407
 	}
1347 1408
 
1348 1409
 	// Are we loading any moderators?  If so, fix their group data...
@@ -1368,14 +1429,17 @@  discard block
 block discarded – undo
1368 1429
 		foreach ($temp_mods as $id)
1369 1430
 		{
1370 1431
 			// By popular demand, don't show admins or global moderators as moderators.
1371
-			if ($user_profile[$id]['id_group'] != 1 && $user_profile[$id]['id_group'] != 2)
1372
-				$user_profile[$id]['member_group'] = $row['member_group'];
1432
+			if ($user_profile[$id]['id_group'] != 1 && $user_profile[$id]['id_group'] != 2) {
1433
+							$user_profile[$id]['member_group'] = $row['member_group'];
1434
+			}
1373 1435
 
1374 1436
 			// If the Moderator group has no color or icons, but their group does... don't overwrite.
1375
-			if (!empty($row['icons']))
1376
-				$user_profile[$id]['icons'] = $row['icons'];
1377
-			if (!empty($row['member_group_color']))
1378
-				$user_profile[$id]['member_group_color'] = $row['member_group_color'];
1437
+			if (!empty($row['icons'])) {
1438
+							$user_profile[$id]['icons'] = $row['icons'];
1439
+			}
1440
+			if (!empty($row['member_group_color'])) {
1441
+							$user_profile[$id]['member_group_color'] = $row['member_group_color'];
1442
+			}
1379 1443
 		}
1380 1444
 	}
1381 1445
 
@@ -1397,12 +1461,14 @@  discard block
 block discarded – undo
1397 1461
 	static $loadedLanguages = array();
1398 1462
 
1399 1463
 	// If this person's data is already loaded, skip it.
1400
-	if (isset($dataLoaded[$user]))
1401
-		return true;
1464
+	if (isset($dataLoaded[$user])) {
1465
+			return true;
1466
+	}
1402 1467
 
1403 1468
 	// We can't load guests or members not loaded by loadMemberData()!
1404
-	if ($user == 0)
1405
-		return false;
1469
+	if ($user == 0) {
1470
+			return false;
1471
+	}
1406 1472
 	if (!isset($user_profile[$user]))
1407 1473
 	{
1408 1474
 		trigger_error('loadMemberContext(): member id ' . $user . ' not previously loaded by loadMemberData()', E_USER_WARNING);
@@ -1428,12 +1494,16 @@  discard block
 block discarded – undo
1428 1494
 	$buddy_list = !empty($profile['buddy_list']) ? explode(',', $profile['buddy_list']) : array();
1429 1495
 
1430 1496
 	//We need a little fallback for the membergroup icons. If it doesn't exist in the current theme, fallback to default theme
1431
-	if (isset($profile['icons'][1]) && file_exists($settings['actual_theme_dir'] . '/images/membericons/' . $profile['icons'][1])) //icon is set and exists
1497
+	if (isset($profile['icons'][1]) && file_exists($settings['actual_theme_dir'] . '/images/membericons/' . $profile['icons'][1])) {
1498
+		//icon is set and exists
1432 1499
 		$group_icon_url = $settings['images_url'] . '/membericons/' . $profile['icons'][1];
1433
-	elseif (isset($profile['icons'][1])) //icon is set and doesn't exist, fallback to default
1500
+	} elseif (isset($profile['icons'][1])) {
1501
+		//icon is set and doesn't exist, fallback to default
1434 1502
 		$group_icon_url = $settings['default_images_url'] . '/membericons/' . $profile['icons'][1];
1435
-	else //not set, bye bye
1503
+	} else {
1504
+		//not set, bye bye
1436 1505
 		$group_icon_url = '';
1506
+	}
1437 1507
 
1438 1508
 	// These minimal values are always loaded
1439 1509
 	$memberContext[$user] = array(
@@ -1452,8 +1522,9 @@  discard block
 block discarded – undo
1452 1522
 	if ($context['loadMemberContext_set'] != 'minimal')
1453 1523
 	{
1454 1524
 		// Go the extra mile and load the user's native language name.
1455
-		if (empty($loadedLanguages))
1456
-			$loadedLanguages = getLanguages();
1525
+		if (empty($loadedLanguages)) {
1526
+					$loadedLanguages = getLanguages();
1527
+		}
1457 1528
 
1458 1529
 		$memberContext[$user] += array(
1459 1530
 			'username_color' => '<span ' . (!empty($profile['member_group_color']) ? 'style="color:' . $profile['member_group_color'] . ';"' : '') . '>' . $profile['member_name'] . '</span>',
@@ -1508,31 +1579,33 @@  discard block
 block discarded – undo
1508 1579
 	{
1509 1580
 		if (!empty($modSettings['gravatarOverride']) || (!empty($modSettings['gravatarEnabled']) && stristr($profile['avatar'], 'gravatar://')))
1510 1581
 		{
1511
-			if (!empty($modSettings['gravatarAllowExtraEmail']) && stristr($profile['avatar'], 'gravatar://') && strlen($profile['avatar']) > 11)
1512
-				$image = get_gravatar_url($smcFunc['substr']($profile['avatar'], 11));
1513
-			else
1514
-				$image = get_gravatar_url($profile['email_address']);
1515
-		}
1516
-		else
1582
+			if (!empty($modSettings['gravatarAllowExtraEmail']) && stristr($profile['avatar'], 'gravatar://') && strlen($profile['avatar']) > 11) {
1583
+							$image = get_gravatar_url($smcFunc['substr']($profile['avatar'], 11));
1584
+			} else {
1585
+							$image = get_gravatar_url($profile['email_address']);
1586
+			}
1587
+		} else
1517 1588
 		{
1518 1589
 			// So it's stored in the member table?
1519 1590
 			if (!empty($profile['avatar']))
1520 1591
 			{
1521 1592
 				$image = (stristr($profile['avatar'], 'http://') || stristr($profile['avatar'], 'https://')) ? $profile['avatar'] : $modSettings['avatar_url'] . '/' . $profile['avatar'];
1593
+			} elseif (!empty($profile['filename'])) {
1594
+							$image = $modSettings['custom_avatar_url'] . '/' . $profile['filename'];
1522 1595
 			}
1523
-			elseif (!empty($profile['filename']))
1524
-				$image = $modSettings['custom_avatar_url'] . '/' . $profile['filename'];
1525 1596
 			// Right... no avatar...use the default one
1526
-			else
1527
-				$image = $modSettings['avatar_url'] . '/default.png';
1597
+			else {
1598
+							$image = $modSettings['avatar_url'] . '/default.png';
1599
+			}
1528 1600
 		}
1529
-		if (!empty($image))
1530
-			$memberContext[$user]['avatar'] = array(
1601
+		if (!empty($image)) {
1602
+					$memberContext[$user]['avatar'] = array(
1531 1603
 				'name' => $profile['avatar'],
1532 1604
 				'image' => '<img class="avatar" src="' . $image . '" alt="avatar_' . $profile['member_name'] . '">',
1533 1605
 				'href' => $image,
1534 1606
 				'url' => $image,
1535 1607
 			);
1608
+		}
1536 1609
 	}
1537 1610
 
1538 1611
 	// Are we also loading the members custom fields into context?
@@ -1540,35 +1613,41 @@  discard block
 block discarded – undo
1540 1613
 	{
1541 1614
 		$memberContext[$user]['custom_fields'] = array();
1542 1615
 
1543
-		if (!isset($context['display_fields']))
1544
-			$context['display_fields'] = $smcFunc['json_decode']($modSettings['displayFields'], true);
1616
+		if (!isset($context['display_fields'])) {
1617
+					$context['display_fields'] = $smcFunc['json_decode']($modSettings['displayFields'], true);
1618
+		}
1545 1619
 
1546 1620
 		foreach ($context['display_fields'] as $custom)
1547 1621
 		{
1548
-			if (!isset($custom['col_name']) || trim($custom['col_name']) == '' || empty($profile['options'][$custom['col_name']]))
1549
-				continue;
1622
+			if (!isset($custom['col_name']) || trim($custom['col_name']) == '' || empty($profile['options'][$custom['col_name']])) {
1623
+							continue;
1624
+			}
1550 1625
 
1551 1626
 			$value = $profile['options'][$custom['col_name']];
1552 1627
 
1553 1628
 			// Don't show the "disabled" option for the "gender" field.
1554
-			if ($custom['col_name'] == 'cust_gender' && $value == 'Disabled')
1555
-				continue;
1629
+			if ($custom['col_name'] == 'cust_gender' && $value == 'Disabled') {
1630
+							continue;
1631
+			}
1556 1632
 
1557 1633
 			// BBC?
1558
-			if ($custom['bbc'])
1559
-				$value = parse_bbc($value);
1634
+			if ($custom['bbc']) {
1635
+							$value = parse_bbc($value);
1636
+			}
1560 1637
 			// ... or checkbox?
1561
-			elseif (isset($custom['type']) && $custom['type'] == 'check')
1562
-				$value = $value ? $txt['yes'] : $txt['no'];
1638
+			elseif (isset($custom['type']) && $custom['type'] == 'check') {
1639
+							$value = $value ? $txt['yes'] : $txt['no'];
1640
+			}
1563 1641
 
1564 1642
 			// Enclosing the user input within some other text?
1565
-			if (!empty($custom['enclose']))
1566
-				$value = strtr($custom['enclose'], array(
1643
+			if (!empty($custom['enclose'])) {
1644
+							$value = strtr($custom['enclose'], array(
1567 1645
 					'{SCRIPTURL}' => $scripturl,
1568 1646
 					'{IMAGES_URL}' => $settings['images_url'],
1569 1647
 					'{DEFAULT_IMAGES_URL}' => $settings['default_images_url'],
1570 1648
 					'{INPUT}' => $value,
1571 1649
 				));
1650
+			}
1572 1651
 
1573 1652
 			$memberContext[$user]['custom_fields'][] = array(
1574 1653
 				'title' => !empty($custom['title']) ? $custom['title'] : $custom['col_name'],
@@ -1595,8 +1674,9 @@  discard block
 block discarded – undo
1595 1674
 	global $smcFunc, $txt, $scripturl, $settings;
1596 1675
 
1597 1676
 	// Do not waste my time...
1598
-	if (empty($users) || empty($params))
1599
-		return false;
1677
+	if (empty($users) || empty($params)) {
1678
+			return false;
1679
+	}
1600 1680
 
1601 1681
 	// Make sure it's an array.
1602 1682
 	$users = !is_array($users) ? array($users) : array_unique($users);
@@ -1620,31 +1700,36 @@  discard block
 block discarded – undo
1620 1700
 	while ($row = $smcFunc['db_fetch_assoc']($request))
1621 1701
 	{
1622 1702
 		// BBC?
1623
-		if (!empty($row['bbc']))
1624
-			$row['value'] = parse_bbc($row['value']);
1703
+		if (!empty($row['bbc'])) {
1704
+					$row['value'] = parse_bbc($row['value']);
1705
+		}
1625 1706
 
1626 1707
 		// ... or checkbox?
1627
-		elseif (isset($row['type']) && $row['type'] == 'check')
1628
-			$row['value'] = !empty($row['value']) ? $txt['yes'] : $txt['no'];
1708
+		elseif (isset($row['type']) && $row['type'] == 'check') {
1709
+					$row['value'] = !empty($row['value']) ? $txt['yes'] : $txt['no'];
1710
+		}
1629 1711
 
1630 1712
 		// Enclosing the user input within some other text?
1631
-		if (!empty($row['enclose']))
1632
-			$row['value'] = strtr($row['enclose'], array(
1713
+		if (!empty($row['enclose'])) {
1714
+					$row['value'] = strtr($row['enclose'], array(
1633 1715
 				'{SCRIPTURL}' => $scripturl,
1634 1716
 				'{IMAGES_URL}' => $settings['images_url'],
1635 1717
 				'{DEFAULT_IMAGES_URL}' => $settings['default_images_url'],
1636 1718
 				'{INPUT}' => un_htmlspecialchars($row['value']),
1637 1719
 			));
1720
+		}
1638 1721
 
1639 1722
 		// Send a simple array if there is just 1 param
1640
-		if (count($params) == 1)
1641
-			$return[$row['id_member']] = $row;
1723
+		if (count($params) == 1) {
1724
+					$return[$row['id_member']] = $row;
1725
+		}
1642 1726
 
1643 1727
 		// More than 1? knock yourself out...
1644 1728
 		else
1645 1729
 		{
1646
-			if (!isset($return[$row['id_member']]))
1647
-				$return[$row['id_member']] = array();
1730
+			if (!isset($return[$row['id_member']])) {
1731
+							$return[$row['id_member']] = array();
1732
+			}
1648 1733
 
1649 1734
 			$return[$row['id_member']][$row['variable']] = $row;
1650 1735
 		}
@@ -1678,8 +1763,9 @@  discard block
 block discarded – undo
1678 1763
 	global $context;
1679 1764
 
1680 1765
 	// Don't know any browser!
1681
-	if (empty($context['browser']))
1682
-		detectBrowser();
1766
+	if (empty($context['browser'])) {
1767
+			detectBrowser();
1768
+	}
1683 1769
 
1684 1770
 	return !empty($context['browser'][$browser]) || !empty($context['browser']['is_' . $browser]) ? true : false;
1685 1771
 }
@@ -1697,8 +1783,9 @@  discard block
 block discarded – undo
1697 1783
 	global $context, $settings, $options, $sourcedir, $ssi_theme, $smcFunc, $language, $board, $image_proxy_enabled;
1698 1784
 
1699 1785
 	// The theme was specified by parameter.
1700
-	if (!empty($id_theme))
1701
-		$id_theme = (int) $id_theme;
1786
+	if (!empty($id_theme)) {
1787
+			$id_theme = (int) $id_theme;
1788
+	}
1702 1789
 	// The theme was specified by REQUEST.
1703 1790
 	elseif (!empty($_REQUEST['theme']) && (!empty($modSettings['theme_allow']) || allowedTo('admin_forum')))
1704 1791
 	{
@@ -1706,51 +1793,58 @@  discard block
 block discarded – undo
1706 1793
 		$_SESSION['id_theme'] = $id_theme;
1707 1794
 	}
1708 1795
 	// The theme was specified by REQUEST... previously.
1709
-	elseif (!empty($_SESSION['id_theme']) && (!empty($modSettings['theme_allow']) || allowedTo('admin_forum')))
1710
-		$id_theme = (int) $_SESSION['id_theme'];
1796
+	elseif (!empty($_SESSION['id_theme']) && (!empty($modSettings['theme_allow']) || allowedTo('admin_forum'))) {
1797
+			$id_theme = (int) $_SESSION['id_theme'];
1798
+	}
1711 1799
 	// The theme is just the user's choice. (might use ?board=1;theme=0 to force board theme.)
1712
-	elseif (!empty($user_info['theme']) && !isset($_REQUEST['theme']))
1713
-		$id_theme = $user_info['theme'];
1800
+	elseif (!empty($user_info['theme']) && !isset($_REQUEST['theme'])) {
1801
+			$id_theme = $user_info['theme'];
1802
+	}
1714 1803
 	// The theme was specified by the board.
1715
-	elseif (!empty($board_info['theme']))
1716
-		$id_theme = $board_info['theme'];
1804
+	elseif (!empty($board_info['theme'])) {
1805
+			$id_theme = $board_info['theme'];
1806
+	}
1717 1807
 	// The theme is the forum's default.
1718
-	else
1719
-		$id_theme = $modSettings['theme_guests'];
1808
+	else {
1809
+			$id_theme = $modSettings['theme_guests'];
1810
+	}
1720 1811
 
1721 1812
 	// Verify the id_theme... no foul play.
1722 1813
 	// Always allow the board specific theme, if they are overriding.
1723
-	if (!empty($board_info['theme']) && $board_info['override_theme'])
1724
-		$id_theme = $board_info['theme'];
1814
+	if (!empty($board_info['theme']) && $board_info['override_theme']) {
1815
+			$id_theme = $board_info['theme'];
1816
+	}
1725 1817
 	// If they have specified a particular theme to use with SSI allow it to be used.
1726
-	elseif (!empty($ssi_theme) && $id_theme == $ssi_theme)
1727
-		$id_theme = (int) $id_theme;
1728
-	elseif (!empty($modSettings['enableThemes']) && !allowedTo('admin_forum'))
1818
+	elseif (!empty($ssi_theme) && $id_theme == $ssi_theme) {
1819
+			$id_theme = (int) $id_theme;
1820
+	} elseif (!empty($modSettings['enableThemes']) && !allowedTo('admin_forum'))
1729 1821
 	{
1730 1822
 		$themes = explode(',', $modSettings['enableThemes']);
1731
-		if (!in_array($id_theme, $themes))
1732
-			$id_theme = $modSettings['theme_guests'];
1733
-		else
1823
+		if (!in_array($id_theme, $themes)) {
1824
+					$id_theme = $modSettings['theme_guests'];
1825
+		} else {
1826
+					$id_theme = (int) $id_theme;
1827
+		}
1828
+	} else {
1734 1829
 			$id_theme = (int) $id_theme;
1735 1830
 	}
1736
-	else
1737
-		$id_theme = (int) $id_theme;
1738 1831
 
1739 1832
 	$member = empty($user_info['id']) ? -1 : $user_info['id'];
1740 1833
 
1741 1834
 	// Disable image proxy if we don't have SSL enabled
1742
-	if (empty($modSettings['force_ssl']) || $modSettings['force_ssl'] < 2)
1743
-		$image_proxy_enabled = false;
1835
+	if (empty($modSettings['force_ssl']) || $modSettings['force_ssl'] < 2) {
1836
+			$image_proxy_enabled = false;
1837
+	}
1744 1838
 
1745 1839
 	if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2 && ($temp = cache_get_data('theme_settings-' . $id_theme . ':' . $member, 60)) != null && time() - 60 > $modSettings['settings_updated'])
1746 1840
 	{
1747 1841
 		$themeData = $temp;
1748 1842
 		$flag = true;
1843
+	} elseif (($temp = cache_get_data('theme_settings-' . $id_theme, 90)) != null && time() - 60 > $modSettings['settings_updated']) {
1844
+			$themeData = $temp + array($member => array());
1845
+	} else {
1846
+			$themeData = array(-1 => array(), 0 => array(), $member => array());
1749 1847
 	}
1750
-	elseif (($temp = cache_get_data('theme_settings-' . $id_theme, 90)) != null && time() - 60 > $modSettings['settings_updated'])
1751
-		$themeData = $temp + array($member => array());
1752
-	else
1753
-		$themeData = array(-1 => array(), 0 => array(), $member => array());
1754 1848
 
1755 1849
 	if (empty($flag))
1756 1850
 	{
@@ -1769,31 +1863,37 @@  discard block
 block discarded – undo
1769 1863
 		while ($row = $smcFunc['db_fetch_assoc']($result))
1770 1864
 		{
1771 1865
 			// There are just things we shouldn't be able to change as members.
1772
-			if ($row['id_member'] != 0 && in_array($row['variable'], array('actual_theme_url', 'actual_images_url', 'base_theme_dir', 'base_theme_url', 'default_images_url', 'default_theme_dir', 'default_theme_url', 'default_template', 'images_url', 'number_recent_posts', 'smiley_sets_default', 'theme_dir', 'theme_id', 'theme_layers', 'theme_templates', 'theme_url')))
1773
-				continue;
1866
+			if ($row['id_member'] != 0 && in_array($row['variable'], array('actual_theme_url', 'actual_images_url', 'base_theme_dir', 'base_theme_url', 'default_images_url', 'default_theme_dir', 'default_theme_url', 'default_template', 'images_url', 'number_recent_posts', 'smiley_sets_default', 'theme_dir', 'theme_id', 'theme_layers', 'theme_templates', 'theme_url'))) {
1867
+							continue;
1868
+			}
1774 1869
 
1775 1870
 			// If this is the theme_dir of the default theme, store it.
1776
-			if (in_array($row['variable'], array('theme_dir', 'theme_url', 'images_url')) && $row['id_theme'] == '1' && empty($row['id_member']))
1777
-				$themeData[0]['default_' . $row['variable']] = $row['value'];
1871
+			if (in_array($row['variable'], array('theme_dir', 'theme_url', 'images_url')) && $row['id_theme'] == '1' && empty($row['id_member'])) {
1872
+							$themeData[0]['default_' . $row['variable']] = $row['value'];
1873
+			}
1778 1874
 
1779 1875
 			// If this isn't set yet, is a theme option, or is not the default theme..
1780
-			if (!isset($themeData[$row['id_member']][$row['variable']]) || $row['id_theme'] != '1')
1781
-				$themeData[$row['id_member']][$row['variable']] = substr($row['variable'], 0, 5) == 'show_' ? $row['value'] == '1' : $row['value'];
1876
+			if (!isset($themeData[$row['id_member']][$row['variable']]) || $row['id_theme'] != '1') {
1877
+							$themeData[$row['id_member']][$row['variable']] = substr($row['variable'], 0, 5) == 'show_' ? $row['value'] == '1' : $row['value'];
1878
+			}
1782 1879
 		}
1783 1880
 		$smcFunc['db_free_result']($result);
1784 1881
 
1785
-		if (!empty($themeData[-1]))
1786
-			foreach ($themeData[-1] as $k => $v)
1882
+		if (!empty($themeData[-1])) {
1883
+					foreach ($themeData[-1] as $k => $v)
1787 1884
 			{
1788 1885
 				if (!isset($themeData[$member][$k]))
1789 1886
 					$themeData[$member][$k] = $v;
1887
+		}
1790 1888
 			}
1791 1889
 
1792
-		if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2)
1793
-			cache_put_data('theme_settings-' . $id_theme . ':' . $member, $themeData, 60);
1890
+		if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) {
1891
+					cache_put_data('theme_settings-' . $id_theme . ':' . $member, $themeData, 60);
1892
+		}
1794 1893
 		// Only if we didn't already load that part of the cache...
1795
-		elseif (!isset($temp))
1796
-			cache_put_data('theme_settings-' . $id_theme, array(-1 => $themeData[-1], 0 => $themeData[0]), 90);
1894
+		elseif (!isset($temp)) {
1895
+					cache_put_data('theme_settings-' . $id_theme, array(-1 => $themeData[-1], 0 => $themeData[0]), 90);
1896
+		}
1797 1897
 	}
1798 1898
 
1799 1899
 	$settings = $themeData[0];
@@ -1810,20 +1910,24 @@  discard block
 block discarded – undo
1810 1910
 	$settings['template_dirs'][] = $settings['theme_dir'];
1811 1911
 
1812 1912
 	// Based on theme (if there is one).
1813
-	if (!empty($settings['base_theme_dir']))
1814
-		$settings['template_dirs'][] = $settings['base_theme_dir'];
1913
+	if (!empty($settings['base_theme_dir'])) {
1914
+			$settings['template_dirs'][] = $settings['base_theme_dir'];
1915
+	}
1815 1916
 
1816 1917
 	// Lastly the default theme.
1817
-	if ($settings['theme_dir'] != $settings['default_theme_dir'])
1818
-		$settings['template_dirs'][] = $settings['default_theme_dir'];
1918
+	if ($settings['theme_dir'] != $settings['default_theme_dir']) {
1919
+			$settings['template_dirs'][] = $settings['default_theme_dir'];
1920
+	}
1819 1921
 
1820
-	if (!$initialize)
1821
-		return;
1922
+	if (!$initialize) {
1923
+			return;
1924
+	}
1822 1925
 
1823 1926
 	// Check to see if we're forcing SSL
1824 1927
 	if (!empty($modSettings['force_ssl']) && $modSettings['force_ssl'] == 2 && empty($maintenance) &&
1825
-		(!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == 'off') && SMF != 'SSI')
1826
-		redirectexit(strtr($_SERVER['REQUEST_URL'], array('http://' => 'https://')));
1928
+		(!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == 'off') && SMF != 'SSI') {
1929
+			redirectexit(strtr($_SERVER['REQUEST_URL'], array('http://' => 'https://')));
1930
+	}
1827 1931
 
1828 1932
 	// Check to see if they're accessing it from the wrong place.
1829 1933
 	if (isset($_SERVER['HTTP_HOST']) || isset($_SERVER['SERVER_NAME']))
@@ -1831,8 +1935,9 @@  discard block
 block discarded – undo
1831 1935
 		$detected_url = isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on' ? 'https://' : 'http://';
1832 1936
 		$detected_url .= empty($_SERVER['HTTP_HOST']) ? $_SERVER['SERVER_NAME'] . (empty($_SERVER['SERVER_PORT']) || $_SERVER['SERVER_PORT'] == '80' ? '' : ':' . $_SERVER['SERVER_PORT']) : $_SERVER['HTTP_HOST'];
1833 1937
 		$temp = preg_replace('~/' . basename($scripturl) . '(/.+)?$~', '', strtr(dirname($_SERVER['PHP_SELF']), '\\', '/'));
1834
-		if ($temp != '/')
1835
-			$detected_url .= $temp;
1938
+		if ($temp != '/') {
1939
+					$detected_url .= $temp;
1940
+		}
1836 1941
 	}
1837 1942
 	if (isset($detected_url) && $detected_url != $boardurl)
1838 1943
 	{
@@ -1844,8 +1949,9 @@  discard block
 block discarded – undo
1844 1949
 			foreach ($aliases as $alias)
1845 1950
 			{
1846 1951
 				// Rip off all the boring parts, spaces, etc.
1847
-				if ($detected_url == trim($alias) || strtr($detected_url, array('http://' => '', 'https://' => '')) == trim($alias))
1848
-					$do_fix = true;
1952
+				if ($detected_url == trim($alias) || strtr($detected_url, array('http://' => '', 'https://' => '')) == trim($alias)) {
1953
+									$do_fix = true;
1954
+				}
1849 1955
 			}
1850 1956
 		}
1851 1957
 
@@ -1853,20 +1959,22 @@  discard block
 block discarded – undo
1853 1959
 		if (empty($do_fix) && strtr($detected_url, array('://' => '://www.')) == $boardurl && (empty($_GET) || count($_GET) == 1) && SMF != 'SSI')
1854 1960
 		{
1855 1961
 			// Okay, this seems weird, but we don't want an endless loop - this will make $_GET not empty ;).
1856
-			if (empty($_GET))
1857
-				redirectexit('wwwRedirect');
1858
-			else
1962
+			if (empty($_GET)) {
1963
+							redirectexit('wwwRedirect');
1964
+			} else
1859 1965
 			{
1860 1966
 				list ($k, $v) = each($_GET);
1861 1967
 
1862
-				if ($k != 'wwwRedirect')
1863
-					redirectexit('wwwRedirect;' . $k . '=' . $v);
1968
+				if ($k != 'wwwRedirect') {
1969
+									redirectexit('wwwRedirect;' . $k . '=' . $v);
1970
+				}
1864 1971
 			}
1865 1972
 		}
1866 1973
 
1867 1974
 		// #3 is just a check for SSL...
1868
-		if (strtr($detected_url, array('https://' => 'http://')) == $boardurl)
1869
-			$do_fix = true;
1975
+		if (strtr($detected_url, array('https://' => 'http://')) == $boardurl) {
1976
+					$do_fix = true;
1977
+		}
1870 1978
 
1871 1979
 		// Okay, #4 - perhaps it's an IP address?  We're gonna want to use that one, then. (assuming it's the IP or something...)
1872 1980
 		if (!empty($do_fix) || preg_match('~^http[s]?://(?:[\d\.:]+|\[[\d:]+\](?::\d+)?)(?:$|/)~', $detected_url) == 1)
@@ -1900,8 +2008,9 @@  discard block
 block discarded – undo
1900 2008
 					$board_info['moderators'][$k]['link'] = strtr($dummy['link'], array('"' . $oldurl => '"' . $boardurl));
1901 2009
 				}
1902 2010
 			}
1903
-			foreach ($context['linktree'] as $k => $dummy)
1904
-				$context['linktree'][$k]['url'] = strtr($dummy['url'], array($oldurl => $boardurl));
2011
+			foreach ($context['linktree'] as $k => $dummy) {
2012
+							$context['linktree'][$k]['url'] = strtr($dummy['url'], array($oldurl => $boardurl));
2013
+			}
1905 2014
 		}
1906 2015
 	}
1907 2016
 	// Set up the contextual user array.
@@ -1920,16 +2029,16 @@  discard block
 block discarded – undo
1920 2029
 			'email' => $user_info['email'],
1921 2030
 			'ignoreusers' => $user_info['ignoreusers'],
1922 2031
 		);
1923
-		if (!$context['user']['is_guest'])
1924
-			$context['user']['name'] = $user_info['name'];
1925
-		elseif ($context['user']['is_guest'] && !empty($txt['guest_title']))
1926
-			$context['user']['name'] = $txt['guest_title'];
2032
+		if (!$context['user']['is_guest']) {
2033
+					$context['user']['name'] = $user_info['name'];
2034
+		} elseif ($context['user']['is_guest'] && !empty($txt['guest_title'])) {
2035
+					$context['user']['name'] = $txt['guest_title'];
2036
+		}
1927 2037
 
1928 2038
 		// Determine the current smiley set.
1929 2039
 		$user_info['smiley_set'] = (!in_array($user_info['smiley_set'], explode(',', $modSettings['smiley_sets_known'])) && $user_info['smiley_set'] != 'none') || empty($modSettings['smiley_sets_enable']) ? (!empty($settings['smiley_sets_default']) ? $settings['smiley_sets_default'] : $modSettings['smiley_sets_default']) : $user_info['smiley_set'];
1930 2040
 		$context['user']['smiley_set'] = $user_info['smiley_set'];
1931
-	}
1932
-	else
2041
+	} else
1933 2042
 	{
1934 2043
 		$context['user'] = array(
1935 2044
 			'id' => -1,
@@ -1945,18 +2054,24 @@  discard block
 block discarded – undo
1945 2054
 	}
1946 2055
 
1947 2056
 	// Some basic information...
1948
-	if (!isset($context['html_headers']))
1949
-		$context['html_headers'] = '';
1950
-	if (!isset($context['javascript_files']))
1951
-		$context['javascript_files'] = array();
1952
-	if (!isset($context['css_files']))
1953
-		$context['css_files'] = array();
1954
-	if (!isset($context['css_header']))
1955
-		$context['css_header'] = array();
1956
-	if (!isset($context['javascript_inline']))
1957
-		$context['javascript_inline'] = array('standard' => array(), 'defer' => array());
1958
-	if (!isset($context['javascript_vars']))
1959
-		$context['javascript_vars'] = array();
2057
+	if (!isset($context['html_headers'])) {
2058
+			$context['html_headers'] = '';
2059
+	}
2060
+	if (!isset($context['javascript_files'])) {
2061
+			$context['javascript_files'] = array();
2062
+	}
2063
+	if (!isset($context['css_files'])) {
2064
+			$context['css_files'] = array();
2065
+	}
2066
+	if (!isset($context['css_header'])) {
2067
+			$context['css_header'] = array();
2068
+	}
2069
+	if (!isset($context['javascript_inline'])) {
2070
+			$context['javascript_inline'] = array('standard' => array(), 'defer' => array());
2071
+	}
2072
+	if (!isset($context['javascript_vars'])) {
2073
+			$context['javascript_vars'] = array();
2074
+	}
1960 2075
 
1961 2076
 	$context['login_url'] = (!empty($modSettings['force_ssl']) && $modSettings['force_ssl'] < 2 ? strtr($scripturl, array('http://' => 'https://')) : $scripturl) . '?action=login2';
1962 2077
 	$context['menu_separator'] = !empty($settings['use_image_buttons']) ? ' ' : ' | ';
@@ -1968,8 +2083,9 @@  discard block
 block discarded – undo
1968 2083
 	$context['current_action'] = isset($_REQUEST['action']) ? $smcFunc['htmlspecialchars']($_REQUEST['action']) : null;
1969 2084
 	$context['current_subaction'] = isset($_REQUEST['sa']) ? $_REQUEST['sa'] : null;
1970 2085
 	$context['can_register'] = empty($modSettings['registration_method']) || $modSettings['registration_method'] != 3;
1971
-	if (isset($modSettings['load_average']))
1972
-		$context['load_average'] = $modSettings['load_average'];
2086
+	if (isset($modSettings['load_average'])) {
2087
+			$context['load_average'] = $modSettings['load_average'];
2088
+	}
1973 2089
 
1974 2090
 	// Detect the browser. This is separated out because it's also used in attachment downloads
1975 2091
 	detectBrowser();
@@ -1983,8 +2099,9 @@  discard block
 block discarded – undo
1983 2099
 	// This allows sticking some HTML on the page output - useful for controls.
1984 2100
 	$context['insert_after_template'] = '';
1985 2101
 
1986
-	if (!isset($txt))
1987
-		$txt = array();
2102
+	if (!isset($txt)) {
2103
+			$txt = array();
2104
+	}
1988 2105
 
1989 2106
 	$simpleActions = array(
1990 2107
 		'findmember',
@@ -2030,9 +2147,10 @@  discard block
 block discarded – undo
2030 2147
 
2031 2148
 	// See if theres any extra param to check.
2032 2149
 	$requiresXML = false;
2033
-	foreach ($extraParams as $key => $extra)
2034
-		if (isset($_REQUEST[$extra]))
2150
+	foreach ($extraParams as $key => $extra) {
2151
+			if (isset($_REQUEST[$extra]))
2035 2152
 			$requiresXML = true;
2153
+	}
2036 2154
 
2037 2155
 	// Output is fully XML, so no need for the index template.
2038 2156
 	if (isset($_REQUEST['xml']) && (in_array($context['current_action'], $xmlActions) || $requiresXML))
@@ -2047,37 +2165,39 @@  discard block
 block discarded – undo
2047 2165
 	{
2048 2166
 		loadLanguage('index+Modifications');
2049 2167
 		$context['template_layers'] = array();
2050
-	}
2051
-
2052
-	else
2168
+	} else
2053 2169
 	{
2054 2170
 		// Custom templates to load, or just default?
2055
-		if (isset($settings['theme_templates']))
2056
-			$templates = explode(',', $settings['theme_templates']);
2057
-		else
2058
-			$templates = array('index');
2171
+		if (isset($settings['theme_templates'])) {
2172
+					$templates = explode(',', $settings['theme_templates']);
2173
+		} else {
2174
+					$templates = array('index');
2175
+		}
2059 2176
 
2060 2177
 		// Load each template...
2061
-		foreach ($templates as $template)
2062
-			loadTemplate($template);
2178
+		foreach ($templates as $template) {
2179
+					loadTemplate($template);
2180
+		}
2063 2181
 
2064 2182
 		// ...and attempt to load their associated language files.
2065 2183
 		$required_files = implode('+', array_merge($templates, array('Modifications')));
2066 2184
 		loadLanguage($required_files, '', false);
2067 2185
 
2068 2186
 		// Custom template layers?
2069
-		if (isset($settings['theme_layers']))
2070
-			$context['template_layers'] = explode(',', $settings['theme_layers']);
2071
-		else
2072
-			$context['template_layers'] = array('html', 'body');
2187
+		if (isset($settings['theme_layers'])) {
2188
+					$context['template_layers'] = explode(',', $settings['theme_layers']);
2189
+		} else {
2190
+					$context['template_layers'] = array('html', 'body');
2191
+		}
2073 2192
 	}
2074 2193
 
2075 2194
 	// Initialize the theme.
2076 2195
 	loadSubTemplate('init', 'ignore');
2077 2196
 
2078 2197
 	// Allow overriding the board wide time/number formats.
2079
-	if (empty($user_settings['time_format']) && !empty($txt['time_format']))
2080
-		$user_info['time_format'] = $txt['time_format'];
2198
+	if (empty($user_settings['time_format']) && !empty($txt['time_format'])) {
2199
+			$user_info['time_format'] = $txt['time_format'];
2200
+	}
2081 2201
 
2082 2202
 	// Set the character set from the template.
2083 2203
 	$context['character_set'] = empty($modSettings['global_character_set']) ? $txt['lang_character_set'] : $modSettings['global_character_set'];
@@ -2085,12 +2205,14 @@  discard block
 block discarded – undo
2085 2205
 	$context['right_to_left'] = !empty($txt['lang_rtl']);
2086 2206
 
2087 2207
 	// Guests may still need a name.
2088
-	if ($context['user']['is_guest'] && empty($context['user']['name']))
2089
-		$context['user']['name'] = $txt['guest_title'];
2208
+	if ($context['user']['is_guest'] && empty($context['user']['name'])) {
2209
+			$context['user']['name'] = $txt['guest_title'];
2210
+	}
2090 2211
 
2091 2212
 	// Any theme-related strings that need to be loaded?
2092
-	if (!empty($settings['require_theme_strings']))
2093
-		loadLanguage('ThemeStrings', '', false);
2213
+	if (!empty($settings['require_theme_strings'])) {
2214
+			loadLanguage('ThemeStrings', '', false);
2215
+	}
2094 2216
 
2095 2217
 	// Make a special URL for the language.
2096 2218
 	$settings['lang_images_url'] = $settings['images_url'] . '/' . (!empty($txt['image_lang']) ? $txt['image_lang'] : $user_info['language']);
@@ -2101,8 +2223,9 @@  discard block
 block discarded – undo
2101 2223
 	// Here is my luvly Responsive CSS
2102 2224
 	loadCSSFile('responsive.css', array('force_current' => false, 'validate' => true, 'minimize' => true), 'smf_responsive');
2103 2225
 
2104
-	if ($context['right_to_left'])
2105
-		loadCSSFile('rtl.css', array(), 'smf_rtl');
2226
+	if ($context['right_to_left']) {
2227
+			loadCSSFile('rtl.css', array(), 'smf_rtl');
2228
+	}
2106 2229
 
2107 2230
 	// We allow theme variants, because we're cool.
2108 2231
 	$context['theme_variant'] = '';
@@ -2110,14 +2233,17 @@  discard block
 block discarded – undo
2110 2233
 	if (!empty($settings['theme_variants']))
2111 2234
 	{
2112 2235
 		// Overriding - for previews and that ilk.
2113
-		if (!empty($_REQUEST['variant']))
2114
-			$_SESSION['id_variant'] = $_REQUEST['variant'];
2236
+		if (!empty($_REQUEST['variant'])) {
2237
+					$_SESSION['id_variant'] = $_REQUEST['variant'];
2238
+		}
2115 2239
 		// User selection?
2116
-		if (empty($settings['disable_user_variant']) || allowedTo('admin_forum'))
2117
-			$context['theme_variant'] = !empty($_SESSION['id_variant']) ? $_SESSION['id_variant'] : (!empty($options['theme_variant']) ? $options['theme_variant'] : '');
2240
+		if (empty($settings['disable_user_variant']) || allowedTo('admin_forum')) {
2241
+					$context['theme_variant'] = !empty($_SESSION['id_variant']) ? $_SESSION['id_variant'] : (!empty($options['theme_variant']) ? $options['theme_variant'] : '');
2242
+		}
2118 2243
 		// If not a user variant, select the default.
2119
-		if ($context['theme_variant'] == '' || !in_array($context['theme_variant'], $settings['theme_variants']))
2120
-			$context['theme_variant'] = !empty($settings['default_variant']) && in_array($settings['default_variant'], $settings['theme_variants']) ? $settings['default_variant'] : $settings['theme_variants'][0];
2244
+		if ($context['theme_variant'] == '' || !in_array($context['theme_variant'], $settings['theme_variants'])) {
2245
+					$context['theme_variant'] = !empty($settings['default_variant']) && in_array($settings['default_variant'], $settings['theme_variants']) ? $settings['default_variant'] : $settings['theme_variants'][0];
2246
+		}
2121 2247
 
2122 2248
 		// Do this to keep things easier in the templates.
2123 2249
 		$context['theme_variant'] = '_' . $context['theme_variant'];
@@ -2126,20 +2252,23 @@  discard block
 block discarded – undo
2126 2252
 		if (!empty($context['theme_variant']))
2127 2253
 		{
2128 2254
 			loadCSSFile('index' . $context['theme_variant'] . '.css', array(), 'smf_index' . $context['theme_variant']);
2129
-			if ($context['right_to_left'])
2130
-				loadCSSFile('rtl' . $context['theme_variant'] . '.css', array(), 'smf_rtl' . $context['theme_variant']);
2255
+			if ($context['right_to_left']) {
2256
+							loadCSSFile('rtl' . $context['theme_variant'] . '.css', array(), 'smf_rtl' . $context['theme_variant']);
2257
+			}
2131 2258
 		}
2132 2259
 	}
2133 2260
 
2134 2261
 	// Let's be compatible with old themes!
2135
-	if (!function_exists('template_html_above') && in_array('html', $context['template_layers']))
2136
-		$context['template_layers'] = array('main');
2262
+	if (!function_exists('template_html_above') && in_array('html', $context['template_layers'])) {
2263
+			$context['template_layers'] = array('main');
2264
+	}
2137 2265
 
2138 2266
 	$context['tabindex'] = 1;
2139 2267
 
2140 2268
 	// Compatibility.
2141
-	if (!isset($settings['theme_version']))
2142
-		$modSettings['memberCount'] = $modSettings['totalMembers'];
2269
+	if (!isset($settings['theme_version'])) {
2270
+			$modSettings['memberCount'] = $modSettings['totalMembers'];
2271
+	}
2143 2272
 
2144 2273
 	// Default JS variables for use in every theme
2145 2274
 	$context['javascript_vars'] = array(
@@ -2158,18 +2287,18 @@  discard block
 block discarded – undo
2158 2287
 	);
2159 2288
 
2160 2289
 	// Add the JQuery library to the list of files to load.
2161
-	if (isset($modSettings['jquery_source']) && $modSettings['jquery_source'] == 'cdn')
2162
-		loadJavaScriptFile('https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js', array('external' => true), 'smf_jquery');
2163
-
2164
-	elseif (isset($modSettings['jquery_source']) && $modSettings['jquery_source'] == 'local')
2165
-		loadJavaScriptFile('jquery-3.1.1.min.js', array('seed' => false), 'smf_jquery');
2166
-
2167
-	elseif (isset($modSettings['jquery_source'], $modSettings['jquery_custom']) && $modSettings['jquery_source'] == 'custom')
2168
-		loadJavaScriptFile($modSettings['jquery_custom'], array('external' => true), 'smf_jquery');
2290
+	if (isset($modSettings['jquery_source']) && $modSettings['jquery_source'] == 'cdn') {
2291
+			loadJavaScriptFile('https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js', array('external' => true), 'smf_jquery');
2292
+	} elseif (isset($modSettings['jquery_source']) && $modSettings['jquery_source'] == 'local') {
2293
+			loadJavaScriptFile('jquery-3.1.1.min.js', array('seed' => false), 'smf_jquery');
2294
+	} elseif (isset($modSettings['jquery_source'], $modSettings['jquery_custom']) && $modSettings['jquery_source'] == 'custom') {
2295
+			loadJavaScriptFile($modSettings['jquery_custom'], array('external' => true), 'smf_jquery');
2296
+	}
2169 2297
 
2170 2298
 	// Auto loading? template_javascript() will take care of the local half of this.
2171
-	else
2172
-		loadJavaScriptFile('https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js', array('external' => true), 'smf_jquery');
2299
+	else {
2300
+			loadJavaScriptFile('https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js', array('external' => true), 'smf_jquery');
2301
+	}
2173 2302
 
2174 2303
 	// Queue our JQuery plugins!
2175 2304
 	loadJavaScriptFile('smf_jquery_plugins.js', array('minimize' => true), 'smf_jquery_plugins');
@@ -2192,12 +2321,12 @@  discard block
 block discarded – undo
2192 2321
 			require_once($sourcedir . '/ScheduledTasks.php');
2193 2322
 
2194 2323
 			// What to do, what to do?!
2195
-			if (empty($modSettings['next_task_time']) || $modSettings['next_task_time'] < time())
2196
-				AutoTask();
2197
-			else
2198
-				ReduceMailQueue();
2199
-		}
2200
-		else
2324
+			if (empty($modSettings['next_task_time']) || $modSettings['next_task_time'] < time()) {
2325
+							AutoTask();
2326
+			} else {
2327
+							ReduceMailQueue();
2328
+			}
2329
+		} else
2201 2330
 		{
2202 2331
 			$type = empty($modSettings['next_task_time']) || $modSettings['next_task_time'] < time() ? 'task' : 'mailq';
2203 2332
 			$ts = $type == 'mailq' ? $modSettings['mail_next_send'] : $modSettings['next_task_time'];
@@ -2248,8 +2377,9 @@  discard block
 block discarded – undo
2248 2377
 		foreach ($theme_includes as $include)
2249 2378
 		{
2250 2379
 			$include = strtr(trim($include), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir, '$themedir' => $settings['theme_dir']));
2251
-			if (file_exists($include))
2252
-				require_once($include);
2380
+			if (file_exists($include)) {
2381
+							require_once($include);
2382
+			}
2253 2383
 		}
2254 2384
 	}
2255 2385
 
@@ -2279,16 +2409,19 @@  discard block
 block discarded – undo
2279 2409
 	// Do any style sheets first, cause we're easy with those.
2280 2410
 	if (!empty($style_sheets))
2281 2411
 	{
2282
-		if (!is_array($style_sheets))
2283
-			$style_sheets = array($style_sheets);
2412
+		if (!is_array($style_sheets)) {
2413
+					$style_sheets = array($style_sheets);
2414
+		}
2284 2415
 
2285
-		foreach ($style_sheets as $sheet)
2286
-			loadCSSFile($sheet . '.css', array(), $sheet);
2416
+		foreach ($style_sheets as $sheet) {
2417
+					loadCSSFile($sheet . '.css', array(), $sheet);
2418
+		}
2287 2419
 	}
2288 2420
 
2289 2421
 	// No template to load?
2290
-	if ($template_name === false)
2291
-		return true;
2422
+	if ($template_name === false) {
2423
+			return true;
2424
+	}
2292 2425
 
2293 2426
 	$loaded = false;
2294 2427
 	foreach ($settings['template_dirs'] as $template_dir)
@@ -2303,12 +2436,14 @@  discard block
 block discarded – undo
2303 2436
 
2304 2437
 	if ($loaded)
2305 2438
 	{
2306
-		if ($db_show_debug === true)
2307
-			$context['debug']['templates'][] = $template_name . ' (' . basename($template_dir) . ')';
2439
+		if ($db_show_debug === true) {
2440
+					$context['debug']['templates'][] = $template_name . ' (' . basename($template_dir) . ')';
2441
+		}
2308 2442
 
2309 2443
 		// If they have specified an initialization function for this template, go ahead and call it now.
2310
-		if (function_exists('template_' . $template_name . '_init'))
2311
-			call_user_func('template_' . $template_name . '_init');
2444
+		if (function_exists('template_' . $template_name . '_init')) {
2445
+					call_user_func('template_' . $template_name . '_init');
2446
+		}
2312 2447
 	}
2313 2448
 	// Hmmm... doesn't exist?!  I don't suppose the directory is wrong, is it?
2314 2449
 	elseif (!file_exists($settings['default_theme_dir']) && file_exists($boarddir . '/Themes/default'))
@@ -2328,13 +2463,14 @@  discard block
 block discarded – undo
2328 2463
 		loadTemplate($template_name);
2329 2464
 	}
2330 2465
 	// Cause an error otherwise.
2331
-	elseif ($template_name != 'Errors' && $template_name != 'index' && $fatal)
2332
-		fatal_lang_error('theme_template_error', 'template', array((string) $template_name));
2333
-	elseif ($fatal)
2334
-		die(log_error(sprintf(isset($txt['theme_template_error']) ? $txt['theme_template_error'] : 'Unable to load Themes/default/%s.template.php!', (string) $template_name), 'template'));
2335
-	else
2336
-		return false;
2337
-}
2466
+	elseif ($template_name != 'Errors' && $template_name != 'index' && $fatal) {
2467
+			fatal_lang_error('theme_template_error', 'template', array((string) $template_name));
2468
+	} elseif ($fatal) {
2469
+			die(log_error(sprintf(isset($txt['theme_template_error']) ? $txt['theme_template_error'] : 'Unable to load Themes/default/%s.template.php!', (string) $template_name), 'template'));
2470
+	} else {
2471
+			return false;
2472
+	}
2473
+	}
2338 2474
 
2339 2475
 /**
2340 2476
  * Load a sub-template.
@@ -2352,17 +2488,19 @@  discard block
 block discarded – undo
2352 2488
 {
2353 2489
 	global $context, $txt, $db_show_debug;
2354 2490
 
2355
-	if ($db_show_debug === true)
2356
-		$context['debug']['sub_templates'][] = $sub_template_name;
2491
+	if ($db_show_debug === true) {
2492
+			$context['debug']['sub_templates'][] = $sub_template_name;
2493
+	}
2357 2494
 
2358 2495
 	// Figure out what the template function is named.
2359 2496
 	$theme_function = 'template_' . $sub_template_name;
2360
-	if (function_exists($theme_function))
2361
-		$theme_function();
2362
-	elseif ($fatal === false)
2363
-		fatal_lang_error('theme_template_error', 'template', array((string) $sub_template_name));
2364
-	elseif ($fatal !== 'ignore')
2365
-		die(log_error(sprintf(isset($txt['theme_template_error']) ? $txt['theme_template_error'] : 'Unable to load the %s sub template!', (string) $sub_template_name), 'template'));
2497
+	if (function_exists($theme_function)) {
2498
+			$theme_function();
2499
+	} elseif ($fatal === false) {
2500
+			fatal_lang_error('theme_template_error', 'template', array((string) $sub_template_name));
2501
+	} elseif ($fatal !== 'ignore') {
2502
+			die(log_error(sprintf(isset($txt['theme_template_error']) ? $txt['theme_template_error'] : 'Unable to load the %s sub template!', (string) $sub_template_name), 'template'));
2503
+	}
2366 2504
 
2367 2505
 	// Are we showing debugging for templates?  Just make sure not to do it before the doctype...
2368 2506
 	if (allowedTo('admin_forum') && isset($_REQUEST['debug']) && !in_array($sub_template_name, array('init', 'main_below')) && ob_get_length() > 0 && !isset($_REQUEST['xml']))
@@ -2399,8 +2537,9 @@  discard block
 block discarded – undo
2399 2537
 	$params['validate'] = isset($params['validate']) ? $params['validate'] : true;
2400 2538
 
2401 2539
 	// If this is an external file, automatically set this to false.
2402
-	if (!empty($params['external']))
2403
-		$params['minimize'] = false;
2540
+	if (!empty($params['external'])) {
2541
+			$params['minimize'] = false;
2542
+	}
2404 2543
 
2405 2544
 	// Account for shorthand like admin.css?alp21 filenames
2406 2545
 	$has_seed = strpos($fileName, '.css?');
@@ -2417,13 +2556,10 @@  discard block
 block discarded – undo
2417 2556
 			{
2418 2557
 				$fileUrl = $settings['default_theme_url'] . '/css/' . $fileName . ($has_seed ? '' : $params['seed']);
2419 2558
 				$filePath = $settings['default_theme_dir'] . '/css/' . $fileName . ($has_seed ? '' : $params['seed']);
2559
+			} else {
2560
+							$fileUrl = false;
2420 2561
 			}
2421
-
2422
-			else
2423
-				$fileUrl = false;
2424
-		}
2425
-
2426
-		else
2562
+		} else
2427 2563
 		{
2428 2564
 			$fileUrl = $settings[$themeRef . '_url'] . '/css/' . $fileName . ($has_seed ? '' : $params['seed']);
2429 2565
 			$filePath = $settings[$themeRef . '_dir'] . '/css/' . $fileName . ($has_seed ? '' : $params['seed']);
@@ -2438,12 +2574,14 @@  discard block
 block discarded – undo
2438 2574
 	}
2439 2575
 
2440 2576
 	// Add it to the array for use in the template
2441
-	if (!empty($fileName))
2442
-		$context['css_files'][$id] = array('fileUrl' => $fileUrl, 'filePath' => $filePath, 'fileName' => $fileName, 'options' => $params);
2577
+	if (!empty($fileName)) {
2578
+			$context['css_files'][$id] = array('fileUrl' => $fileUrl, 'filePath' => $filePath, 'fileName' => $fileName, 'options' => $params);
2579
+	}
2443 2580
 
2444
-	if (!empty($context['right_to_left']) && !empty($params['rtl']))
2445
-		loadCSSFile($params['rtl'], array_diff_key($params, array('rtl' => 0)));
2446
-}
2581
+	if (!empty($context['right_to_left']) && !empty($params['rtl'])) {
2582
+			loadCSSFile($params['rtl'], array_diff_key($params, array('rtl' => 0)));
2583
+	}
2584
+	}
2447 2585
 
2448 2586
 /**
2449 2587
  * Add a block of inline css code to be executed later
@@ -2460,8 +2598,9 @@  discard block
 block discarded – undo
2460 2598
 	global $context;
2461 2599
 
2462 2600
 	// Gotta add something...
2463
-	if (empty($css))
2464
-		return false;
2601
+	if (empty($css)) {
2602
+			return false;
2603
+	}
2465 2604
 
2466 2605
 	$context['css_header'][] = $css;
2467 2606
 }
@@ -2496,8 +2635,9 @@  discard block
 block discarded – undo
2496 2635
 	$params['validate'] = isset($params['validate']) ? $params['validate'] : true;
2497 2636
 
2498 2637
 	// If this is an external file, automatically set this to false.
2499
-	if (!empty($params['external']))
2500
-		$params['minimize'] = false;
2638
+	if (!empty($params['external'])) {
2639
+			$params['minimize'] = false;
2640
+	}
2501 2641
 
2502 2642
 	// Account for shorthand like admin.js?alp21 filenames
2503 2643
 	$has_seed = strpos($fileName, '.js?');
@@ -2514,16 +2654,12 @@  discard block
 block discarded – undo
2514 2654
 			{
2515 2655
 				$fileUrl = $settings['default_theme_url'] . '/scripts/' . $fileName . ($has_seed ? '' : $params['seed']);
2516 2656
 				$filePath = $settings['default_theme_dir'] . '/scripts/' . $fileName . ($has_seed ? '' : $params['seed']);
2517
-			}
2518
-
2519
-			else
2657
+			} else
2520 2658
 			{
2521 2659
 				$fileUrl = false;
2522 2660
 				$filePath = false;
2523 2661
 			}
2524
-		}
2525
-
2526
-		else
2662
+		} else
2527 2663
 		{
2528 2664
 			$fileUrl = $settings[$themeRef . '_url'] . '/scripts/' . $fileName . ($has_seed ? '' : $params['seed']);
2529 2665
 			$filePath = $settings[$themeRef . '_dir'] . '/scripts/' . $fileName . ($has_seed ? '' : $params['seed']);
@@ -2538,9 +2674,10 @@  discard block
 block discarded – undo
2538 2674
 	}
2539 2675
 
2540 2676
 	// Add it to the array for use in the template
2541
-	if (!empty($fileName))
2542
-		$context['javascript_files'][$id] = array('fileUrl' => $fileUrl, 'filePath' => $filePath, 'fileName' => $fileName, 'options' => $params);
2543
-}
2677
+	if (!empty($fileName)) {
2678
+			$context['javascript_files'][$id] = array('fileUrl' => $fileUrl, 'filePath' => $filePath, 'fileName' => $fileName, 'options' => $params);
2679
+	}
2680
+	}
2544 2681
 
2545 2682
 /**
2546 2683
  * Add a Javascript variable for output later (for feeding text strings and similar to JS)
@@ -2554,9 +2691,10 @@  discard block
 block discarded – undo
2554 2691
 {
2555 2692
 	global $context;
2556 2693
 
2557
-	if (!empty($key) && (!empty($value) || $value === '0'))
2558
-		$context['javascript_vars'][$key] = !empty($escape) ? JavaScriptEscape($value) : $value;
2559
-}
2694
+	if (!empty($key) && (!empty($value) || $value === '0')) {
2695
+			$context['javascript_vars'][$key] = !empty($escape) ? JavaScriptEscape($value) : $value;
2696
+	}
2697
+	}
2560 2698
 
2561 2699
 /**
2562 2700
  * Add a block of inline Javascript code to be executed later
@@ -2573,8 +2711,9 @@  discard block
 block discarded – undo
2573 2711
 {
2574 2712
 	global $context;
2575 2713
 
2576
-	if (empty($javascript))
2577
-		return false;
2714
+	if (empty($javascript)) {
2715
+			return false;
2716
+	}
2578 2717
 
2579 2718
 	$context['javascript_inline'][($defer === true ? 'defer' : 'standard')][] = $javascript;
2580 2719
 }
@@ -2595,15 +2734,18 @@  discard block
 block discarded – undo
2595 2734
 	static $already_loaded = array();
2596 2735
 
2597 2736
 	// Default to the user's language.
2598
-	if ($lang == '')
2599
-		$lang = isset($user_info['language']) ? $user_info['language'] : $language;
2737
+	if ($lang == '') {
2738
+			$lang = isset($user_info['language']) ? $user_info['language'] : $language;
2739
+	}
2600 2740
 
2601 2741
 	// Do we want the English version of language file as fallback?
2602
-	if (empty($modSettings['disable_language_fallback']) && $lang != 'english')
2603
-		loadLanguage($template_name, 'english', false);
2742
+	if (empty($modSettings['disable_language_fallback']) && $lang != 'english') {
2743
+			loadLanguage($template_name, 'english', false);
2744
+	}
2604 2745
 
2605
-	if (!$force_reload && isset($already_loaded[$template_name]) && $already_loaded[$template_name] == $lang)
2606
-		return $lang;
2746
+	if (!$force_reload && isset($already_loaded[$template_name]) && $already_loaded[$template_name] == $lang) {
2747
+			return $lang;
2748
+	}
2607 2749
 
2608 2750
 	// Make sure we have $settings - if not we're in trouble and need to find it!
2609 2751
 	if (empty($settings['default_theme_dir']))
@@ -2614,8 +2756,9 @@  discard block
 block discarded – undo
2614 2756
 
2615 2757
 	// What theme are we in?
2616 2758
 	$theme_name = basename($settings['theme_url']);
2617
-	if (empty($theme_name))
2618
-		$theme_name = 'unknown';
2759
+	if (empty($theme_name)) {
2760
+			$theme_name = 'unknown';
2761
+	}
2619 2762
 
2620 2763
 	// For each file open it up and write it out!
2621 2764
 	foreach (explode('+', $template_name) as $template)
@@ -2657,8 +2800,9 @@  discard block
 block discarded – undo
2657 2800
 				$found = true;
2658 2801
 
2659 2802
 				// setlocale is required for basename() & pathinfo() to work properly on the selected language
2660
-				if (!empty($txt['lang_locale']) && !empty($modSettings['global_character_set']))
2661
-					setlocale(LC_CTYPE, $txt['lang_locale'] . '.' . $modSettings['global_character_set']);
2803
+				if (!empty($txt['lang_locale']) && !empty($modSettings['global_character_set'])) {
2804
+									setlocale(LC_CTYPE, $txt['lang_locale'] . '.' . $modSettings['global_character_set']);
2805
+				}
2662 2806
 
2663 2807
 				break;
2664 2808
 			}
@@ -2698,8 +2842,9 @@  discard block
 block discarded – undo
2698 2842
 	}
2699 2843
 
2700 2844
 	// Keep track of what we're up to soldier.
2701
-	if ($db_show_debug === true)
2702
-		$context['debug']['language_files'][] = $template_name . '.' . $lang . ' (' . $theme_name . ')';
2845
+	if ($db_show_debug === true) {
2846
+			$context['debug']['language_files'][] = $template_name . '.' . $lang . ' (' . $theme_name . ')';
2847
+	}
2703 2848
 
2704 2849
 	// Remember what we have loaded, and in which language.
2705 2850
 	$already_loaded[$template_name] = $lang;
@@ -2745,8 +2890,9 @@  discard block
 block discarded – undo
2745 2890
 				)
2746 2891
 			);
2747 2892
 			// In the EXTREMELY unlikely event this happens, give an error message.
2748
-			if ($smcFunc['db_num_rows']($result) == 0)
2749
-				fatal_lang_error('parent_not_found', 'critical');
2893
+			if ($smcFunc['db_num_rows']($result) == 0) {
2894
+							fatal_lang_error('parent_not_found', 'critical');
2895
+			}
2750 2896
 			while ($row = $smcFunc['db_fetch_assoc']($result))
2751 2897
 			{
2752 2898
 				if (!isset($boards[$row['id_board']]))
@@ -2763,8 +2909,8 @@  discard block
 block discarded – undo
2763 2909
 					);
2764 2910
 				}
2765 2911
 				// If a moderator exists for this board, add that moderator for all children too.
2766
-				if (!empty($row['id_moderator']))
2767
-					foreach ($boards as $id => $dummy)
2912
+				if (!empty($row['id_moderator'])) {
2913
+									foreach ($boards as $id => $dummy)
2768 2914
 					{
2769 2915
 						$boards[$id]['moderators'][$row['id_moderator']] = array(
2770 2916
 							'id' => $row['id_moderator'],
@@ -2772,11 +2918,12 @@  discard block
 block discarded – undo
2772 2918
 							'href' => $scripturl . '?action=profile;u=' . $row['id_moderator'],
2773 2919
 							'link' => '<a href="' . $scripturl . '?action=profile;u=' . $row['id_moderator'] . '">' . $row['real_name'] . '</a>'
2774 2920
 						);
2921
+				}
2775 2922
 					}
2776 2923
 
2777 2924
 				// If a moderator group exists for this board, add that moderator group for all children too
2778
-				if (!empty($row['id_moderator_group']))
2779
-					foreach ($boards as $id => $dummy)
2925
+				if (!empty($row['id_moderator_group'])) {
2926
+									foreach ($boards as $id => $dummy)
2780 2927
 					{
2781 2928
 						$boards[$id]['moderator_groups'][$row['id_moderator_group']] = array(
2782 2929
 							'id' => $row['id_moderator_group'],
@@ -2784,6 +2931,7 @@  discard block
 block discarded – undo
2784 2931
 							'href' => $scripturl . '?action=groups;sa=members;group=' . $row['id_moderator_group'],
2785 2932
 							'link' => '<a href="' . $scripturl . '?action=groups;sa=members;group=' . $row['id_moderator_group'] . '">' . $row['group_name'] . '</a>'
2786 2933
 						);
2934
+				}
2787 2935
 					}
2788 2936
 			}
2789 2937
 			$smcFunc['db_free_result']($result);
@@ -2810,23 +2958,27 @@  discard block
 block discarded – undo
2810 2958
 	if (!$use_cache || ($context['languages'] = cache_get_data('known_languages', !empty($modSettings['cache_enable']) && $modSettings['cache_enable'] < 1 ? 86400 : 3600)) == null)
2811 2959
 	{
2812 2960
 		// If we don't have our ucwords function defined yet, let's load the settings data.
2813
-		if (empty($smcFunc['ucwords']))
2814
-			reloadSettings();
2961
+		if (empty($smcFunc['ucwords'])) {
2962
+					reloadSettings();
2963
+		}
2815 2964
 
2816 2965
 		// If we don't have our theme information yet, let's get it.
2817
-		if (empty($settings['default_theme_dir']))
2818
-			loadTheme(0, false);
2966
+		if (empty($settings['default_theme_dir'])) {
2967
+					loadTheme(0, false);
2968
+		}
2819 2969
 
2820 2970
 		// Default language directories to try.
2821 2971
 		$language_directories = array(
2822 2972
 			$settings['default_theme_dir'] . '/languages',
2823 2973
 		);
2824
-		if (!empty($settings['actual_theme_dir']) && $settings['actual_theme_dir'] != $settings['default_theme_dir'])
2825
-			$language_directories[] = $settings['actual_theme_dir'] . '/languages';
2974
+		if (!empty($settings['actual_theme_dir']) && $settings['actual_theme_dir'] != $settings['default_theme_dir']) {
2975
+					$language_directories[] = $settings['actual_theme_dir'] . '/languages';
2976
+		}
2826 2977
 
2827 2978
 		// We possibly have a base theme directory.
2828
-		if (!empty($settings['base_theme_dir']))
2829
-			$language_directories[] = $settings['base_theme_dir'] . '/languages';
2979
+		if (!empty($settings['base_theme_dir'])) {
2980
+					$language_directories[] = $settings['base_theme_dir'] . '/languages';
2981
+		}
2830 2982
 
2831 2983
 		// Remove any duplicates.
2832 2984
 		$language_directories = array_unique($language_directories);
@@ -2840,20 +2992,21 @@  discard block
 block discarded – undo
2840 2992
 		foreach ($language_directories as $language_dir)
2841 2993
 		{
2842 2994
 			// Can't look in here... doesn't exist!
2843
-			if (!file_exists($language_dir))
2844
-				continue;
2995
+			if (!file_exists($language_dir)) {
2996
+							continue;
2997
+			}
2845 2998
 
2846 2999
 			$dir = dir($language_dir);
2847 3000
 			while ($entry = $dir->read())
2848 3001
 			{
2849 3002
 				// Look for the index language file... For good measure skip any "index.language-utf8.php" files
2850
-				if (!preg_match('~^index\.(.+[^-utf8])\.php$~', $entry, $matches))
2851
-					continue;
2852
-
2853
-				if (!empty($langList) && !empty($langList[$matches[1]]))
2854
-					$langName = $langList[$matches[1]];
3003
+				if (!preg_match('~^index\.(.+[^-utf8])\.php$~', $entry, $matches)) {
3004
+									continue;
3005
+				}
2855 3006
 
2856
-				else
3007
+				if (!empty($langList) && !empty($langList[$matches[1]])) {
3008
+									$langName = $langList[$matches[1]];
3009
+				} else
2857 3010
 				{
2858 3011
 					$langName = $smcFunc['ucwords'](strtr($matches[1], array('_' => ' ')));
2859 3012
 
@@ -2894,12 +3047,14 @@  discard block
 block discarded – undo
2894 3047
 		}
2895 3048
 
2896 3049
 		// Do we need to store the lang list?
2897
-		if (empty($langList))
2898
-			updateSettings(array('langList' => $smcFunc['json_encode']($catchLang)));
3050
+		if (empty($langList)) {
3051
+					updateSettings(array('langList' => $smcFunc['json_encode']($catchLang)));
3052
+		}
2899 3053
 
2900 3054
 		// Let's cash in on this deal.
2901
-		if (!empty($modSettings['cache_enable']))
2902
-			cache_put_data('known_languages', $context['languages'], !empty($modSettings['cache_enable']) && $modSettings['cache_enable'] < 1 ? 86400 : 3600);
3055
+		if (!empty($modSettings['cache_enable'])) {
3056
+					cache_put_data('known_languages', $context['languages'], !empty($modSettings['cache_enable']) && $modSettings['cache_enable'] < 1 ? 86400 : 3600);
3057
+		}
2903 3058
 	}
2904 3059
 
2905 3060
 	return $context['languages'];
@@ -2922,8 +3077,9 @@  discard block
 block discarded – undo
2922 3077
 	global $modSettings, $options, $txt;
2923 3078
 	static $censor_vulgar = null, $censor_proper;
2924 3079
 
2925
-	if ((!empty($options['show_no_censored']) && !empty($modSettings['allow_no_censored']) && !$force) || empty($modSettings['censor_vulgar']) || trim($text) === '')
2926
-		return $text;
3080
+	if ((!empty($options['show_no_censored']) && !empty($modSettings['allow_no_censored']) && !$force) || empty($modSettings['censor_vulgar']) || trim($text) === '') {
3081
+			return $text;
3082
+	}
2927 3083
 
2928 3084
 	// If they haven't yet been loaded, load them.
2929 3085
 	if ($censor_vulgar == null)
@@ -2951,9 +3107,9 @@  discard block
 block discarded – undo
2951 3107
 	{
2952 3108
 		$func = !empty($modSettings['censorIgnoreCase']) ? 'str_ireplace' : 'str_replace';
2953 3109
 		$text = $func($censor_vulgar, $censor_proper, $text);
3110
+	} else {
3111
+			$text = preg_replace($censor_vulgar, $censor_proper, $text);
2954 3112
 	}
2955
-	else
2956
-		$text = preg_replace($censor_vulgar, $censor_proper, $text);
2957 3113
 
2958 3114
 	return $text;
2959 3115
 }
@@ -2979,38 +3135,42 @@  discard block
 block discarded – undo
2979 3135
 	@ini_set('track_errors', '1');
2980 3136
 
2981 3137
 	// Don't include the file more than once, if $once is true.
2982
-	if ($once && in_array($filename, $templates))
2983
-		return;
3138
+	if ($once && in_array($filename, $templates)) {
3139
+			return;
3140
+	}
2984 3141
 	// Add this file to the include list, whether $once is true or not.
2985
-	else
2986
-		$templates[] = $filename;
3142
+	else {
3143
+			$templates[] = $filename;
3144
+	}
2987 3145
 
2988 3146
 	// Are we going to use eval?
2989 3147
 	if (empty($modSettings['disableTemplateEval']))
2990 3148
 	{
2991 3149
 		$file_found = file_exists($filename) && eval('?' . '>' . rtrim(file_get_contents($filename))) !== false;
2992 3150
 		$settings['current_include_filename'] = $filename;
2993
-	}
2994
-	else
3151
+	} else
2995 3152
 	{
2996 3153
 		$file_found = file_exists($filename);
2997 3154
 
2998
-		if ($once && $file_found)
2999
-			require_once($filename);
3000
-		elseif ($file_found)
3001
-			require($filename);
3155
+		if ($once && $file_found) {
3156
+					require_once($filename);
3157
+		} elseif ($file_found) {
3158
+					require($filename);
3159
+		}
3002 3160
 	}
3003 3161
 
3004 3162
 	if ($file_found !== true)
3005 3163
 	{
3006 3164
 		ob_end_clean();
3007
-		if (!empty($modSettings['enableCompressedOutput']))
3008
-			@ob_start('ob_gzhandler');
3009
-		else
3010
-			ob_start();
3165
+		if (!empty($modSettings['enableCompressedOutput'])) {
3166
+					@ob_start('ob_gzhandler');
3167
+		} else {
3168
+					ob_start();
3169
+		}
3011 3170
 
3012
-		if (isset($_GET['debug']))
3013
-			header('Content-Type: application/xhtml+xml; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
3171
+		if (isset($_GET['debug'])) {
3172
+					header('Content-Type: application/xhtml+xml; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
3173
+		}
3014 3174
 
3015 3175
 		// Don't cache error pages!!
3016 3176
 		header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
@@ -3029,12 +3189,13 @@  discard block
 block discarded – undo
3029 3189
 		echo '<!DOCTYPE html>
3030 3190
 <html', !empty($context['right_to_left']) ? ' dir="rtl"' : '', '>
3031 3191
 	<head>';
3032
-		if (isset($context['character_set']))
3033
-			echo '
3192
+		if (isset($context['character_set'])) {
3193
+					echo '
3034 3194
 		<meta charset="', $context['character_set'], '">';
3195
+		}
3035 3196
 
3036
-		if (!empty($maintenance) && !allowedTo('admin_forum'))
3037
-			echo '
3197
+		if (!empty($maintenance) && !allowedTo('admin_forum')) {
3198
+					echo '
3038 3199
 		<title>', $mtitle, '</title>
3039 3200
 	</head>
3040 3201
 	<body>
@@ -3042,8 +3203,8 @@  discard block
 block discarded – undo
3042 3203
 		', $mmessage, '
3043 3204
 	</body>
3044 3205
 </html>';
3045
-		elseif (!allowedTo('admin_forum'))
3046
-			echo '
3206
+		} elseif (!allowedTo('admin_forum')) {
3207
+					echo '
3047 3208
 		<title>', $txt['template_parse_error'], '</title>
3048 3209
 	</head>
3049 3210
 	<body>
@@ -3051,16 +3212,18 @@  discard block
 block discarded – undo
3051 3212
 		', $txt['template_parse_error_message'], '
3052 3213
 	</body>
3053 3214
 </html>';
3054
-		else
3215
+		} else
3055 3216
 		{
3056 3217
 			require_once($sourcedir . '/Subs-Package.php');
3057 3218
 
3058 3219
 			$error = fetch_web_data($boardurl . strtr($filename, array($boarddir => '', strtr($boarddir, '\\', '/') => '')));
3059 3220
 			$error_array = error_get_last();
3060
-			if (empty($error) && ini_get('track_errors') && !empty($error_array))
3061
-				$error = $error_array['message'];
3062
-			if (empty($error))
3063
-				$error = $txt['template_parse_errmsg'];
3221
+			if (empty($error) && ini_get('track_errors') && !empty($error_array)) {
3222
+							$error = $error_array['message'];
3223
+			}
3224
+			if (empty($error)) {
3225
+							$error = $txt['template_parse_errmsg'];
3226
+			}
3064 3227
 
3065 3228
 			$error = strtr($error, array('<b>' => '<strong>', '</b>' => '</strong>'));
3066 3229
 
@@ -3071,11 +3234,12 @@  discard block
 block discarded – undo
3071 3234
 		<h3>', $txt['template_parse_error'], '</h3>
3072 3235
 		', sprintf($txt['template_parse_error_details'], strtr($filename, array($boarddir => '', strtr($boarddir, '\\', '/') => '')));
3073 3236
 
3074
-			if (!empty($error))
3075
-				echo '
3237
+			if (!empty($error)) {
3238
+							echo '
3076 3239
 		<hr>
3077 3240
 
3078 3241
 		<div style="margin: 0 20px;"><pre>', strtr(strtr($error, array('<strong>' . $boarddir => '<strong>...', '<strong>' . strtr($boarddir, '\\', '/') => '<strong>...')), '\\', '/'), '</pre></div>';
3242
+			}
3079 3243
 
3080 3244
 			// I know, I know... this is VERY COMPLICATED.  Still, it's good.
3081 3245
 			if (preg_match('~ <strong>(\d+)</strong><br( /)?' . '>$~i', $error, $match) != 0)
@@ -3085,10 +3249,11 @@  discard block
 block discarded – undo
3085 3249
 				$data2 = preg_split('~\<br( /)?\>~', $data2);
3086 3250
 
3087 3251
 				// Fix the PHP code stuff...
3088
-				if (!isBrowser('gecko'))
3089
-					$data2 = str_replace("\t", '<span style="white-space: pre;">' . "\t" . '</span>', $data2);
3090
-				else
3091
-					$data2 = str_replace('<pre style="display: inline;">' . "\t" . '</pre>', "\t", $data2);
3252
+				if (!isBrowser('gecko')) {
3253
+									$data2 = str_replace("\t", '<span style="white-space: pre;">' . "\t" . '</span>', $data2);
3254
+				} else {
3255
+									$data2 = str_replace('<pre style="display: inline;">' . "\t" . '</pre>', "\t", $data2);
3256
+				}
3092 3257
 
3093 3258
 				// Now we get to work around a bug in PHP where it doesn't escape <br>s!
3094 3259
 				$j = -1;
@@ -3096,8 +3261,9 @@  discard block
 block discarded – undo
3096 3261
 				{
3097 3262
 					$j++;
3098 3263
 
3099
-					if (substr_count($line, '<br>') == 0)
3100
-						continue;
3264
+					if (substr_count($line, '<br>') == 0) {
3265
+											continue;
3266
+					}
3101 3267
 
3102 3268
 					$n = substr_count($line, '<br>');
3103 3269
 					for ($i = 0; $i < $n; $i++)
@@ -3116,38 +3282,42 @@  discard block
 block discarded – undo
3116 3282
 				// Figure out what the color coding was before...
3117 3283
 				$line = max($match[1] - 9, 1);
3118 3284
 				$last_line = '';
3119
-				for ($line2 = $line - 1; $line2 > 1; $line2--)
3120
-					if (strpos($data2[$line2], '<') !== false)
3285
+				for ($line2 = $line - 1; $line2 > 1; $line2--) {
3286
+									if (strpos($data2[$line2], '<') !== false)
3121 3287
 					{
3122 3288
 						if (preg_match('~(<[^/>]+>)[^<]*$~', $data2[$line2], $color_match) != 0)
3123 3289
 							$last_line = $color_match[1];
3290
+				}
3124 3291
 						break;
3125 3292
 					}
3126 3293
 
3127 3294
 				// Show the relevant lines...
3128 3295
 				for ($n = min($match[1] + 4, count($data2) + 1); $line <= $n; $line++)
3129 3296
 				{
3130
-					if ($line == $match[1])
3131
-						echo '</pre><div style="background-color: #ffb0b5;"><pre style="margin: 0;">';
3297
+					if ($line == $match[1]) {
3298
+											echo '</pre><div style="background-color: #ffb0b5;"><pre style="margin: 0;">';
3299
+					}
3132 3300
 
3133 3301
 					echo '<span style="color: black;">', sprintf('%' . strlen($n) . 's', $line), ':</span> ';
3134
-					if (isset($data2[$line]) && $data2[$line] != '')
3135
-						echo substr($data2[$line], 0, 2) == '</' ? preg_replace('~^</[^>]+>~', '', $data2[$line]) : $last_line . $data2[$line];
3302
+					if (isset($data2[$line]) && $data2[$line] != '') {
3303
+											echo substr($data2[$line], 0, 2) == '</' ? preg_replace('~^</[^>]+>~', '', $data2[$line]) : $last_line . $data2[$line];
3304
+					}
3136 3305
 
3137 3306
 					if (isset($data2[$line]) && preg_match('~(<[^/>]+>)[^<]*$~', $data2[$line], $color_match) != 0)
3138 3307
 					{
3139 3308
 						$last_line = $color_match[1];
3140 3309
 						echo '</', substr($last_line, 1, 4), '>';
3310
+					} elseif ($last_line != '' && strpos($data2[$line], '<') !== false) {
3311
+											$last_line = '';
3312
+					} elseif ($last_line != '' && $data2[$line] != '') {
3313
+											echo '</', substr($last_line, 1, 4), '>';
3141 3314
 					}
3142
-					elseif ($last_line != '' && strpos($data2[$line], '<') !== false)
3143
-						$last_line = '';
3144
-					elseif ($last_line != '' && $data2[$line] != '')
3145
-						echo '</', substr($last_line, 1, 4), '>';
3146 3315
 
3147
-					if ($line == $match[1])
3148
-						echo '</pre></div><pre style="margin: 0;">';
3149
-					else
3150
-						echo "\n";
3316
+					if ($line == $match[1]) {
3317
+											echo '</pre></div><pre style="margin: 0;">';
3318
+					} else {
3319
+											echo "\n";
3320
+					}
3151 3321
 				}
3152 3322
 
3153 3323
 				echo '</pre></div>';
@@ -3171,8 +3341,9 @@  discard block
 block discarded – undo
3171 3341
 	global $db_type, $db_name, $ssi_db_user, $ssi_db_passwd, $sourcedir, $db_prefix, $db_port;
3172 3342
 
3173 3343
 	// Figure out what type of database we are using.
3174
-	if (empty($db_type) || !file_exists($sourcedir . '/Subs-Db-' . $db_type . '.php'))
3175
-		$db_type = 'mysql';
3344
+	if (empty($db_type) || !file_exists($sourcedir . '/Subs-Db-' . $db_type . '.php')) {
3345
+			$db_type = 'mysql';
3346
+	}
3176 3347
 
3177 3348
 	// Load the file for the database.
3178 3349
 	require_once($sourcedir . '/Subs-Db-' . $db_type . '.php');
@@ -3180,8 +3351,9 @@  discard block
 block discarded – undo
3180 3351
 	$db_options = array();
3181 3352
 
3182 3353
 	// Add in the port if needed
3183
-	if (!empty($db_port))
3184
-		$db_options['port'] = $db_port;
3354
+	if (!empty($db_port)) {
3355
+			$db_options['port'] = $db_port;
3356
+	}
3185 3357
 
3186 3358
 	// If we are in SSI try them first, but don't worry if it doesn't work, we have the normal username and password we can use.
3187 3359
 	if (SMF == 'SSI' && !empty($ssi_db_user) && !empty($ssi_db_passwd))
@@ -3200,13 +3372,15 @@  discard block
 block discarded – undo
3200 3372
 	}
3201 3373
 
3202 3374
 	// Safe guard here, if there isn't a valid connection lets put a stop to it.
3203
-	if (!$db_connection)
3204
-		display_db_error();
3375
+	if (!$db_connection) {
3376
+			display_db_error();
3377
+	}
3205 3378
 
3206 3379
 	// If in SSI mode fix up the prefix.
3207
-	if (SMF == 'SSI')
3208
-		db_fix_prefix($db_prefix, $db_name);
3209
-}
3380
+	if (SMF == 'SSI') {
3381
+			db_fix_prefix($db_prefix, $db_name);
3382
+	}
3383
+	}
3210 3384
 
3211 3385
 /**
3212 3386
  * Try to load up a supported caching method. This is saved in $cacheAPI if we are not overriding it.
@@ -3220,10 +3394,11 @@  discard block
 block discarded – undo
3220 3394
 	global $sourcedir, $cacheAPI, $cache_accelerator;
3221 3395
 
3222 3396
 	// Not overriding this and we have a cacheAPI, send it back.
3223
-	if (empty($overrideCache) && is_object($cacheAPI))
3224
-		return $cacheAPI;
3225
-	elseif (is_null($cacheAPI))
3226
-		$cacheAPI = false;
3397
+	if (empty($overrideCache) && is_object($cacheAPI)) {
3398
+			return $cacheAPI;
3399
+	} elseif (is_null($cacheAPI)) {
3400
+			$cacheAPI = false;
3401
+	}
3227 3402
 
3228 3403
 	// Make sure our class is in session.
3229 3404
 	require_once($sourcedir . '/Class-CacheAPI.php');
@@ -3244,8 +3419,9 @@  discard block
 block discarded – undo
3244 3419
 		if (!$testAPI->isSupported())
3245 3420
 		{
3246 3421
 			// Can we save ourselves?
3247
-			if (!empty($fallbackSMF) && is_null($overrideCache) && $tryAccelerator != 'smf')
3248
-				return loadCacheAccelerator(null, false);
3422
+			if (!empty($fallbackSMF) && is_null($overrideCache) && $tryAccelerator != 'smf') {
3423
+							return loadCacheAccelerator(null, false);
3424
+			}
3249 3425
 			return false;
3250 3426
 		}
3251 3427
 
@@ -3257,9 +3433,9 @@  discard block
 block discarded – undo
3257 3433
 		{
3258 3434
 			$cacheAPI = $testAPI;
3259 3435
 			return $cacheAPI;
3436
+		} else {
3437
+					return $testAPI;
3260 3438
 		}
3261
-		else
3262
-			return $testAPI;
3263 3439
 	}
3264 3440
 }
3265 3441
 
@@ -3279,8 +3455,9 @@  discard block
 block discarded – undo
3279 3455
 
3280 3456
 	// @todo Why are we doing this if caching is disabled?
3281 3457
 
3282
-	if (function_exists('call_integration_hook'))
3283
-		call_integration_hook('pre_cache_quick_get', array(&$key, &$file, &$function, &$params, &$level));
3458
+	if (function_exists('call_integration_hook')) {
3459
+			call_integration_hook('pre_cache_quick_get', array(&$key, &$file, &$function, &$params, &$level));
3460
+	}
3284 3461
 
3285 3462
 	/* Refresh the cache if either:
3286 3463
 		1. Caching is disabled.
@@ -3294,16 +3471,19 @@  discard block
 block discarded – undo
3294 3471
 		require_once($sourcedir . '/' . $file);
3295 3472
 		$cache_block = call_user_func_array($function, $params);
3296 3473
 
3297
-		if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= $level)
3298
-			cache_put_data($key, $cache_block, $cache_block['expires'] - time());
3474
+		if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= $level) {
3475
+					cache_put_data($key, $cache_block, $cache_block['expires'] - time());
3476
+		}
3299 3477
 	}
3300 3478
 
3301 3479
 	// Some cached data may need a freshening up after retrieval.
3302
-	if (!empty($cache_block['post_retri_eval']))
3303
-		eval($cache_block['post_retri_eval']);
3480
+	if (!empty($cache_block['post_retri_eval'])) {
3481
+			eval($cache_block['post_retri_eval']);
3482
+	}
3304 3483
 
3305
-	if (function_exists('call_integration_hook'))
3306
-		call_integration_hook('post_cache_quick_get', array(&$cache_block));
3484
+	if (function_exists('call_integration_hook')) {
3485
+			call_integration_hook('post_cache_quick_get', array(&$cache_block));
3486
+	}
3307 3487
 
3308 3488
 	return $cache_block['data'];
3309 3489
 }
@@ -3330,8 +3510,9 @@  discard block
 block discarded – undo
3330 3510
 	global $smcFunc, $cache_enable, $cacheAPI;
3331 3511
 	global $cache_hits, $cache_count, $db_show_debug;
3332 3512
 
3333
-	if (empty($cache_enable) || empty($cacheAPI))
3334
-		return;
3513
+	if (empty($cache_enable) || empty($cacheAPI)) {
3514
+			return;
3515
+	}
3335 3516
 
3336 3517
 	$cache_count = isset($cache_count) ? $cache_count + 1 : 1;
3337 3518
 	if (isset($db_show_debug) && $db_show_debug === true)
@@ -3344,12 +3525,14 @@  discard block
 block discarded – undo
3344 3525
 	$value = $value === null ? null : (isset($smcFunc['json_encode']) ? $smcFunc['json_encode']($value) : json_encode($value));
3345 3526
 	$cacheAPI->putData($key, $value, $ttl);
3346 3527
 
3347
-	if (function_exists('call_integration_hook'))
3348
-		call_integration_hook('cache_put_data', array(&$key, &$value, &$ttl));
3528
+	if (function_exists('call_integration_hook')) {
3529
+			call_integration_hook('cache_put_data', array(&$key, &$value, &$ttl));
3530
+	}
3349 3531
 
3350
-	if (isset($db_show_debug) && $db_show_debug === true)
3351
-		$cache_hits[$cache_count]['t'] = array_sum(explode(' ', microtime())) - array_sum(explode(' ', $st));
3352
-}
3532
+	if (isset($db_show_debug) && $db_show_debug === true) {
3533
+			$cache_hits[$cache_count]['t'] = array_sum(explode(' ', microtime())) - array_sum(explode(' ', $st));
3534
+	}
3535
+	}
3353 3536
 
3354 3537
 /**
3355 3538
  * Gets the value from the cache specified by key, so long as it is not older than ttl seconds.
@@ -3365,8 +3548,9 @@  discard block
 block discarded – undo
3365 3548
 	global $smcFunc, $cache_enable, $cacheAPI;
3366 3549
 	global $cache_hits, $cache_count, $cache_misses, $cache_count_misses, $db_show_debug;
3367 3550
 
3368
-	if (empty($cache_enable) || empty($cacheAPI))
3369
-		return;
3551
+	if (empty($cache_enable) || empty($cacheAPI)) {
3552
+			return;
3553
+	}
3370 3554
 
3371 3555
 	$cache_count = isset($cache_count) ? $cache_count + 1 : 1;
3372 3556
 	if (isset($db_show_debug) && $db_show_debug === true)
@@ -3386,16 +3570,18 @@  discard block
 block discarded – undo
3386 3570
 
3387 3571
 		if (empty($value))
3388 3572
 		{
3389
-			if (!is_array($cache_misses))
3390
-				$cache_misses = array();
3573
+			if (!is_array($cache_misses)) {
3574
+							$cache_misses = array();
3575
+			}
3391 3576
 
3392 3577
 			$cache_count_misses = isset($cache_count_misses) ? $cache_count_misses + 1 : 1;
3393 3578
 			$cache_misses[$cache_count_misses] = array('k' => $original_key, 'd' => 'get');
3394 3579
 		}
3395 3580
 	}
3396 3581
 
3397
-	if (function_exists('call_integration_hook') && isset($value))
3398
-		call_integration_hook('cache_get_data', array(&$key, &$ttl, &$value));
3582
+	if (function_exists('call_integration_hook') && isset($value)) {
3583
+			call_integration_hook('cache_get_data', array(&$key, &$ttl, &$value));
3584
+	}
3399 3585
 
3400 3586
 	return empty($value) ? null : (isset($smcFunc['json_encode']) ? $smcFunc['json_decode']($value, true) : smf_json_decode($value, true));
3401 3587
 }
@@ -3417,8 +3603,9 @@  discard block
 block discarded – undo
3417 3603
 	global $cacheAPI;
3418 3604
 
3419 3605
 	// If we can't get to the API, can't do this.
3420
-	if (empty($cacheAPI))
3421
-		return;
3606
+	if (empty($cacheAPI)) {
3607
+			return;
3608
+	}
3422 3609
 
3423 3610
 	// Ask the API to do the heavy lifting. cleanCache also calls invalidateCache to be sure.
3424 3611
 	$cacheAPI->cleanCache($type);
@@ -3443,8 +3630,9 @@  discard block
 block discarded – undo
3443 3630
 	global $modSettings, $boardurl, $smcFunc, $image_proxy_enabled, $image_proxy_secret;
3444 3631
 
3445 3632
 	// Come on!
3446
-	if (empty($data))
3447
-		return array();
3633
+	if (empty($data)) {
3634
+			return array();
3635
+	}
3448 3636
 
3449 3637
 	// Set a nice default var.
3450 3638
 	$image = '';
@@ -3452,11 +3640,11 @@  discard block
 block discarded – undo
3452 3640
 	// Gravatar has been set as mandatory!
3453 3641
 	if (!empty($modSettings['gravatarOverride']))
3454 3642
 	{
3455
-		if (!empty($modSettings['gravatarAllowExtraEmail']) && !empty($data['avatar']) && stristr($data['avatar'], 'gravatar://'))
3456
-			$image = get_gravatar_url($smcFunc['substr']($data['avatar'], 11));
3457
-
3458
-		else if (!empty($data['email']))
3459
-			$image = get_gravatar_url($data['email']);
3643
+		if (!empty($modSettings['gravatarAllowExtraEmail']) && !empty($data['avatar']) && stristr($data['avatar'], 'gravatar://')) {
3644
+					$image = get_gravatar_url($smcFunc['substr']($data['avatar'], 11));
3645
+		} else if (!empty($data['email'])) {
3646
+					$image = get_gravatar_url($data['email']);
3647
+		}
3460 3648
 	}
3461 3649
 
3462 3650
 	// Look if the user has a gravatar field or has set an external url as avatar.
@@ -3468,54 +3656,60 @@  discard block
 block discarded – undo
3468 3656
 			// Gravatar.
3469 3657
 			if (stristr($data['avatar'], 'gravatar://'))
3470 3658
 			{
3471
-				if ($data['avatar'] == 'gravatar://')
3472
-					$image = get_gravatar_url($data['email']);
3473
-
3474
-				elseif (!empty($modSettings['gravatarAllowExtraEmail']))
3475
-					$image = get_gravatar_url($smcFunc['substr']($data['avatar'], 11));
3659
+				if ($data['avatar'] == 'gravatar://') {
3660
+									$image = get_gravatar_url($data['email']);
3661
+				} elseif (!empty($modSettings['gravatarAllowExtraEmail'])) {
3662
+									$image = get_gravatar_url($smcFunc['substr']($data['avatar'], 11));
3663
+				}
3476 3664
 			}
3477 3665
 
3478 3666
 			// External url.
3479 3667
 			else
3480 3668
 			{
3481 3669
 				// Using ssl?
3482
-				if (!empty($modSettings['force_ssl']) && $image_proxy_enabled && stripos($data['avatar'], 'http://') !== false)
3483
-					$image = strtr($boardurl, array('http://' => 'https://')) . '/proxy.php?request=' . urlencode($data['avatar']) . '&hash=' . md5($data['avatar'] . $image_proxy_secret);
3670
+				if (!empty($modSettings['force_ssl']) && $image_proxy_enabled && stripos($data['avatar'], 'http://') !== false) {
3671
+									$image = strtr($boardurl, array('http://' => 'https://')) . '/proxy.php?request=' . urlencode($data['avatar']) . '&hash=' . md5($data['avatar'] . $image_proxy_secret);
3672
+				}
3484 3673
 
3485 3674
 				// Just a plain external url.
3486
-				else
3487
-					$image = (stristr($data['avatar'], 'http://') || stristr($data['avatar'], 'https://')) ? $data['avatar'] : $modSettings['avatar_url'] . '/' . $data['avatar'];
3675
+				else {
3676
+									$image = (stristr($data['avatar'], 'http://') || stristr($data['avatar'], 'https://')) ? $data['avatar'] : $modSettings['avatar_url'] . '/' . $data['avatar'];
3677
+				}
3488 3678
 			}
3489 3679
 		}
3490 3680
 
3491 3681
 		// Perhaps this user has an attachment as avatar...
3492
-		else if (!empty($data['filename']))
3493
-			$image = $modSettings['custom_avatar_url'] . '/' . $data['filename'];
3682
+		else if (!empty($data['filename'])) {
3683
+					$image = $modSettings['custom_avatar_url'] . '/' . $data['filename'];
3684
+		}
3494 3685
 
3495 3686
 		// Right... no avatar... use our default image.
3496
-		else
3497
-			$image = $modSettings['avatar_url'] . '/default.png';
3687
+		else {
3688
+					$image = $modSettings['avatar_url'] . '/default.png';
3689
+		}
3498 3690
 	}
3499 3691
 
3500 3692
 	call_integration_hook('integrate_set_avatar_data', array(&$image, &$data));
3501 3693
 
3502 3694
 	// At this point in time $image has to be filled unless you chose to force gravatar and the user doesn't have the needed data to retrieve it... thus a check for !empty() is still needed.
3503
-	if (!empty($image))
3504
-		return array(
3695
+	if (!empty($image)) {
3696
+			return array(
3505 3697
 			'name' => !empty($data['avatar']) ? $data['avatar'] : '',
3506 3698
 			'image' => '<img class="avatar" src="' . $image . '" />',
3507 3699
 			'href' => $image,
3508 3700
 			'url' => $image,
3509 3701
 		);
3702
+	}
3510 3703
 
3511 3704
 	// Fallback to make life easier for everyone...
3512
-	else
3513
-		return array(
3705
+	else {
3706
+			return array(
3514 3707
 			'name' => '',
3515 3708
 			'image' => '',
3516 3709
 			'href' => '',
3517 3710
 			'url' => '',
3518 3711
 		);
3519
-}
3712
+	}
3713
+	}
3520 3714
 
3521 3715
 ?>
3522 3716
\ No newline at end of file
Please login to merge, or discard this patch.
Sources/ManageSettings.php 2 patches
Spacing   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -1334,7 +1334,7 @@  discard block
 block discarded – undo
1334 1334
 					'class' => 'centercol',
1335 1335
 				),
1336 1336
 				'data' => array(
1337
-					'function' => function ($rowData)
1337
+					'function' => function($rowData)
1338 1338
 					{
1339 1339
 						$isChecked = $rowData['disabled'] ? '' : ' checked';
1340 1340
 						$onClickHandler = $rowData['can_show_register'] ? sprintf(' onclick="document.getElementById(\'reg_%1$s\').disabled = !this.checked;"', $rowData['id']) : '';
@@ -1350,7 +1350,7 @@  discard block
 block discarded – undo
1350 1350
 					'class' => 'centercol',
1351 1351
 				),
1352 1352
 				'data' => array(
1353
-					'function' => function ($rowData)
1353
+					'function' => function($rowData)
1354 1354
 					{
1355 1355
 						$isChecked = $rowData['on_register'] && !$rowData['disabled'] ? ' checked' : '';
1356 1356
 						$isDisabled = $rowData['can_show_register'] ? '' : ' disabled';
@@ -1397,15 +1397,15 @@  discard block
 block discarded – undo
1397 1397
 					'value' => $txt['custom_profile_fieldorder'],
1398 1398
 				),
1399 1399
 				'data' => array(
1400
-					'function' => function ($rowData) use ($context, $txt, $scripturl)
1400
+					'function' => function($rowData) use ($context, $txt, $scripturl)
1401 1401
 					{
1402
-						$return = '<p class="centertext bold_text">'. $rowData['field_order'] .'<br>';
1402
+						$return = '<p class="centertext bold_text">' . $rowData['field_order'] . '<br>';
1403 1403
 
1404 1404
 						if ($rowData['field_order'] > 1)
1405
-							$return .= '<a href="' . $scripturl . '?action=admin;area=featuresettings;sa=profileedit;fid=' . $rowData['id_field'] . ';move=up"><span class="toggle_up" title="'. $txt['custom_edit_order_move'] .' '. $txt['custom_edit_order_up'] .'"></span></a>';
1405
+							$return .= '<a href="' . $scripturl . '?action=admin;area=featuresettings;sa=profileedit;fid=' . $rowData['id_field'] . ';move=up"><span class="toggle_up" title="' . $txt['custom_edit_order_move'] . ' ' . $txt['custom_edit_order_up'] . '"></span></a>';
1406 1406
 
1407 1407
 						if ($rowData['field_order'] < $context['custFieldsMaxOrder'])
1408
-							$return .= '<a href="' . $scripturl . '?action=admin;area=featuresettings;sa=profileedit;fid=' . $rowData['id_field'] . ';move=down"><span class="toggle_down" title="'. $txt['custom_edit_order_move'] .' '. $txt['custom_edit_order_down'] .'"></span></a>';
1408
+							$return .= '<a href="' . $scripturl . '?action=admin;area=featuresettings;sa=profileedit;fid=' . $rowData['id_field'] . ';move=down"><span class="toggle_down" title="' . $txt['custom_edit_order_move'] . ' ' . $txt['custom_edit_order_down'] . '"></span></a>';
1409 1409
 
1410 1410
 						$return .= '</p>';
1411 1411
 
@@ -1423,7 +1423,7 @@  discard block
 block discarded – undo
1423 1423
 					'value' => $txt['custom_profile_fieldname'],
1424 1424
 				),
1425 1425
 				'data' => array(
1426
-					'function' => function ($rowData) use ($scripturl)
1426
+					'function' => function($rowData) use ($scripturl)
1427 1427
 					{
1428 1428
 						return sprintf('<a href="%1$s?action=admin;area=featuresettings;sa=profileedit;fid=%2$d">%3$s</a><div class="smalltext">%4$s</div>', $scripturl, $rowData['id_field'], $rowData['field_name'], $rowData['field_desc']);
1429 1429
 					},
@@ -1439,7 +1439,7 @@  discard block
 block discarded – undo
1439 1439
 					'value' => $txt['custom_profile_fieldtype'],
1440 1440
 				),
1441 1441
 				'data' => array(
1442
-					'function' => function ($rowData) use ($txt)
1442
+					'function' => function($rowData) use ($txt)
1443 1443
 					{
1444 1444
 						$textKey = sprintf('custom_profile_type_%1$s', $rowData['field_type']);
1445 1445
 						return isset($txt[$textKey]) ? $txt[$textKey] : $textKey;
@@ -1457,7 +1457,7 @@  discard block
 block discarded – undo
1457 1457
 					'value' => $txt['custom_profile_active'],
1458 1458
 				),
1459 1459
 				'data' => array(
1460
-					'function' => function ($rowData) use ($txt)
1460
+					'function' => function($rowData) use ($txt)
1461 1461
 					{
1462 1462
 						return $rowData['active'] ? $txt['yes'] : $txt['no'];
1463 1463
 					},
@@ -1474,7 +1474,7 @@  discard block
 block discarded – undo
1474 1474
 					'value' => $txt['custom_profile_placement'],
1475 1475
 				),
1476 1476
 				'data' => array(
1477
-					'function' => function ($rowData)
1477
+					'function' => function($rowData)
1478 1478
 					{
1479 1479
 						global $txt, $context;
1480 1480
 
@@ -1709,7 +1709,7 @@  discard block
 block discarded – undo
1709 1709
 			redirectexit('action=admin;area=featuresettings;sa=profile'); // @todo implement an error handler
1710 1710
 
1711 1711
 		// All good, proceed.
1712
-		$smcFunc['db_query']('','
1712
+		$smcFunc['db_query']('', '
1713 1713
 			UPDATE {db_prefix}custom_fields
1714 1714
 			SET field_order = {int:old_order}
1715 1715
 			WHERE field_order = {int:new_order}',
@@ -1718,7 +1718,7 @@  discard block
 block discarded – undo
1718 1718
 				'old_order' => $context['field']['order'],
1719 1719
 			)
1720 1720
 		);
1721
-		$smcFunc['db_query']('','
1721
+		$smcFunc['db_query']('', '
1722 1722
 			UPDATE {db_prefix}custom_fields
1723 1723
 			SET field_order = {int:new_order}
1724 1724
 			WHERE id_field = {int:id_field}',
@@ -1820,7 +1820,7 @@  discard block
 block discarded – undo
1820 1820
 			$smcFunc['db_free_result']($request);
1821 1821
 
1822 1822
 			$unique = false;
1823
-			for ($i = 0; !$unique && $i < 9; $i ++)
1823
+			for ($i = 0; !$unique && $i < 9; $i++)
1824 1824
 			{
1825 1825
 				if (!in_array($col_name, $current_fields))
1826 1826
 					$unique = true;
@@ -1993,7 +1993,7 @@  discard block
 block discarded – undo
1993 1993
 		);
1994 1994
 
1995 1995
 		// Re-arrange the order.
1996
-		$smcFunc['db_query']('','
1996
+		$smcFunc['db_query']('', '
1997 1997
 			UPDATE {db_prefix}custom_fields
1998 1998
 			SET field_order = field_order - 1
1999 1999
 			WHERE field_order > {int:current_order}',
@@ -2257,7 +2257,7 @@  discard block
 block discarded – undo
2257 2257
 	$context['token_check'] = 'noti-admin';
2258 2258
 
2259 2259
 	// Specify our action since we'll want to post back here instead of the profile
2260
-	$context['action'] = 'action=admin;area=featuresettings;sa=alerts;'. $context['session_var'] .'='. $context['session_id'];
2260
+	$context['action'] = 'action=admin;area=featuresettings;sa=alerts;' . $context['session_var'] . '=' . $context['session_id'];
2261 2261
 
2262 2262
 	loadTemplate('Profile');
2263 2263
 	loadLanguage('Profile');
Please login to merge, or discard this patch.
Braces   +273 added lines, -199 removed lines patch added patch discarded remove patch
@@ -14,8 +14,9 @@  discard block
 block discarded – undo
14 14
  * @version 2.1 Beta 4
15 15
  */
16 16
 
17
-if (!defined('SMF'))
17
+if (!defined('SMF')) {
18 18
 	die('No direct access...');
19
+}
19 20
 
20 21
 /**
21 22
  * This function makes sure the requested subaction does exists, if it doesn't, it sets a default action or.
@@ -206,16 +207,18 @@  discard block
 block discarded – undo
206 207
 	{
207 208
 		$all_zones = timezone_identifiers_list();
208 209
 		// Make sure we set the value to the same as the printed value.
209
-		foreach ($all_zones as $zone)
210
-			$config_vars['default_timezone'][2][$zone] = $zone;
210
+		foreach ($all_zones as $zone) {
211
+					$config_vars['default_timezone'][2][$zone] = $zone;
212
+		}
213
+	} else {
214
+			unset($config_vars['default_timezone']);
211 215
 	}
212
-	else
213
-		unset($config_vars['default_timezone']);
214 216
 
215 217
 	call_integration_hook('integrate_modify_basic_settings', array(&$config_vars));
216 218
 
217
-	if ($return_config)
218
-		return $config_vars;
219
+	if ($return_config) {
220
+			return $config_vars;
221
+	}
219 222
 
220 223
 	// Saving?
221 224
 	if (isset($_GET['save']))
@@ -223,8 +226,9 @@  discard block
 block discarded – undo
223 226
 		checkSession();
224 227
 
225 228
 		// Prevent absurd boundaries here - make it a day tops.
226
-		if (isset($_POST['lastActive']))
227
-			$_POST['lastActive'] = min((int) $_POST['lastActive'], 1440);
229
+		if (isset($_POST['lastActive'])) {
230
+					$_POST['lastActive'] = min((int) $_POST['lastActive'], 1440);
231
+		}
228 232
 
229 233
 		call_integration_hook('integrate_save_basic_settings');
230 234
 
@@ -269,8 +273,9 @@  discard block
 block discarded – undo
269 273
 
270 274
 	call_integration_hook('integrate_modify_bbc_settings', array(&$config_vars));
271 275
 
272
-	if ($return_config)
273
-		return $config_vars;
276
+	if ($return_config) {
277
+			return $config_vars;
278
+	}
274 279
 
275 280
 	// Setup the template.
276 281
 	require_once($sourcedir . '/ManageServer.php');
@@ -287,13 +292,15 @@  discard block
 block discarded – undo
287 292
 
288 293
 		// Clean up the tags.
289 294
 		$bbcTags = array();
290
-		foreach (parse_bbc(false) as $tag)
291
-			$bbcTags[] = $tag['tag'];
295
+		foreach (parse_bbc(false) as $tag) {
296
+					$bbcTags[] = $tag['tag'];
297
+		}
292 298
 
293
-		if (!isset($_POST['disabledBBC_enabledTags']))
294
-			$_POST['disabledBBC_enabledTags'] = array();
295
-		elseif (!is_array($_POST['disabledBBC_enabledTags']))
296
-			$_POST['disabledBBC_enabledTags'] = array($_POST['disabledBBC_enabledTags']);
299
+		if (!isset($_POST['disabledBBC_enabledTags'])) {
300
+					$_POST['disabledBBC_enabledTags'] = array();
301
+		} elseif (!is_array($_POST['disabledBBC_enabledTags'])) {
302
+					$_POST['disabledBBC_enabledTags'] = array($_POST['disabledBBC_enabledTags']);
303
+		}
297 304
 		// Work out what is actually disabled!
298 305
 		$_POST['disabledBBC'] = implode(',', array_diff($bbcTags, $_POST['disabledBBC_enabledTags']));
299 306
 
@@ -337,8 +344,9 @@  discard block
 block discarded – undo
337 344
 
338 345
 	call_integration_hook('integrate_layout_settings', array(&$config_vars));
339 346
 
340
-	if ($return_config)
341
-		return $config_vars;
347
+	if ($return_config) {
348
+			return $config_vars;
349
+	}
342 350
 
343 351
 	// Saving?
344 352
 	if (isset($_GET['save']))
@@ -379,8 +387,9 @@  discard block
 block discarded – undo
379 387
 
380 388
 	call_integration_hook('integrate_likes_settings', array(&$config_vars));
381 389
 
382
-	if ($return_config)
383
-		return $config_vars;
390
+	if ($return_config) {
391
+			return $config_vars;
392
+	}
384 393
 
385 394
 	// Saving?
386 395
 	if (isset($_GET['save']))
@@ -418,8 +427,9 @@  discard block
 block discarded – undo
418 427
 
419 428
 	call_integration_hook('integrate_mentions_settings', array(&$config_vars));
420 429
 
421
-	if ($return_config)
422
-		return $config_vars;
430
+	if ($return_config) {
431
+			return $config_vars;
432
+	}
423 433
 
424 434
 	// Saving?
425 435
 	if (isset($_GET['save']))
@@ -463,8 +473,8 @@  discard block
 block discarded – undo
463 473
 			'enable' => array('check', 'warning_enable'),
464 474
 	);
465 475
 
466
-	if (!empty($modSettings['warning_settings']) && $currently_enabled)
467
-		$config_vars += array(
476
+	if (!empty($modSettings['warning_settings']) && $currently_enabled) {
477
+			$config_vars += array(
468 478
 			'',
469 479
 				array('int', 'warning_watch', 'subtext' => $txt['setting_warning_watch_note'] . ' ' . $txt['zero_to_disable']),
470 480
 				'moderate' => array('int', 'warning_moderate', 'subtext' => $txt['setting_warning_moderate_note'] . ' ' . $txt['zero_to_disable']),
@@ -473,15 +483,18 @@  discard block
 block discarded – undo
473 483
 				'rem2' => array('int', 'warning_decrement', 'subtext' => $txt['setting_warning_decrement_note'] . ' ' . $txt['zero_to_disable']),
474 484
 				array('permissions', 'view_warning'),
475 485
 		);
486
+	}
476 487
 
477 488
 	call_integration_hook('integrate_warning_settings', array(&$config_vars));
478 489
 
479
-	if ($return_config)
480
-		return $config_vars;
490
+	if ($return_config) {
491
+			return $config_vars;
492
+	}
481 493
 
482 494
 	// Cannot use moderation if post moderation is not enabled.
483
-	if (!$modSettings['postmod_active'])
484
-		unset($config_vars['moderate']);
495
+	if (!$modSettings['postmod_active']) {
496
+			unset($config_vars['moderate']);
497
+	}
485 498
 
486 499
 	// Will need the utility functions from here.
487 500
 	require_once($sourcedir . '/ManageServer.php');
@@ -506,16 +519,16 @@  discard block
 block discarded – undo
506 519
 				'warning_watch' => 10,
507 520
 				'warning_mute' => 60,
508 521
 			);
509
-			if ($modSettings['postmod_active'])
510
-				$vars['warning_moderate'] = 35;
522
+			if ($modSettings['postmod_active']) {
523
+							$vars['warning_moderate'] = 35;
524
+			}
511 525
 
512 526
 			foreach ($vars as $var => $value)
513 527
 			{
514 528
 				$config_vars[] = array('int', $var);
515 529
 				$_POST[$var] = $value;
516 530
 			}
517
-		}
518
-		else
531
+		} else
519 532
 		{
520 533
 			$_POST['warning_watch'] = min($_POST['warning_watch'], 100);
521 534
 			$_POST['warning_moderate'] = $modSettings['postmod_active'] ? min($_POST['warning_moderate'], 100) : 0;
@@ -603,8 +616,9 @@  discard block
 block discarded – undo
603 616
 
604 617
 	call_integration_hook('integrate_spam_settings', array(&$config_vars));
605 618
 
606
-	if ($return_config)
607
-		return $config_vars;
619
+	if ($return_config) {
620
+			return $config_vars;
621
+	}
608 622
 
609 623
 	// You need to be an admin to edit settings!
610 624
 	isAllowedTo('admin_forum');
@@ -638,8 +652,9 @@  discard block
 block discarded – undo
638 652
 
639 653
 	if (empty($context['qa_by_lang'][strtr($language, array('-utf8' => ''))]) && !empty($context['question_answers']))
640 654
 	{
641
-		if (empty($context['settings_insert_above']))
642
-			$context['settings_insert_above'] = '';
655
+		if (empty($context['settings_insert_above'])) {
656
+					$context['settings_insert_above'] = '';
657
+		}
643 658
 
644 659
 		$context['settings_insert_above'] .= '<div class="noticebox">' . sprintf($txt['question_not_defined'], $context['languages'][$language]['name']) . '</div>';
645 660
 	}
@@ -682,8 +697,9 @@  discard block
 block discarded – undo
682 697
 		$_POST['pm_spam_settings'] = (int) $_POST['max_pm_recipients'] . ',' . (int) $_POST['pm_posts_verification'] . ',' . (int) $_POST['pm_posts_per_hour'];
683 698
 
684 699
 		// Hack in guest requiring verification!
685
-		if (empty($_POST['posts_require_captcha']) && !empty($_POST['guests_require_captcha']))
686
-			$_POST['posts_require_captcha'] = -1;
700
+		if (empty($_POST['posts_require_captcha']) && !empty($_POST['guests_require_captcha'])) {
701
+					$_POST['posts_require_captcha'] = -1;
702
+		}
687 703
 
688 704
 		$save_vars = $config_vars;
689 705
 		unset($save_vars['pm1'], $save_vars['pm2'], $save_vars['pm3'], $save_vars['guest_verify']);
@@ -700,14 +716,16 @@  discard block
 block discarded – undo
700 716
 		foreach ($context['qa_languages'] as $lang_id => $dummy)
701 717
 		{
702 718
 			// If we had some questions for this language before, but don't now, delete everything from that language.
703
-			if ((!isset($_POST['question'][$lang_id]) || !is_array($_POST['question'][$lang_id])) && !empty($context['qa_by_lang'][$lang_id]))
704
-				$changes['delete'] = array_merge($questions['delete'], $context['qa_by_lang'][$lang_id]);
719
+			if ((!isset($_POST['question'][$lang_id]) || !is_array($_POST['question'][$lang_id])) && !empty($context['qa_by_lang'][$lang_id])) {
720
+							$changes['delete'] = array_merge($questions['delete'], $context['qa_by_lang'][$lang_id]);
721
+			}
705 722
 
706 723
 			// Now step through and see if any existing questions no longer exist.
707
-			if (!empty($context['qa_by_lang'][$lang_id]))
708
-				foreach ($context['qa_by_lang'][$lang_id] as $q_id)
724
+			if (!empty($context['qa_by_lang'][$lang_id])) {
725
+							foreach ($context['qa_by_lang'][$lang_id] as $q_id)
709 726
 					if (empty($_POST['question'][$lang_id][$q_id]))
710 727
 						$changes['delete'][] = $q_id;
728
+			}
711 729
 
712 730
 			// Now let's see if there are new questions or ones that need updating.
713 731
 			if (isset($_POST['question'][$lang_id]))
@@ -716,14 +734,16 @@  discard block
 block discarded – undo
716 734
 				{
717 735
 					// Ignore junky ids.
718 736
 					$q_id = (int) $q_id;
719
-					if ($q_id <= 0)
720
-						continue;
737
+					if ($q_id <= 0) {
738
+											continue;
739
+					}
721 740
 
722 741
 					// Check the question isn't empty (because they want to delete it?)
723 742
 					if (empty($question) || trim($question) == '')
724 743
 					{
725
-						if (isset($context['question_answers'][$q_id]))
726
-							$changes['delete'][] = $q_id;
744
+						if (isset($context['question_answers'][$q_id])) {
745
+													$changes['delete'][] = $q_id;
746
+						}
727 747
 						continue;
728 748
 					}
729 749
 					$question = $smcFunc['htmlspecialchars'](trim($question));
@@ -731,19 +751,22 @@  discard block
 block discarded – undo
731 751
 					// Get the answers. Firstly check there actually might be some.
732 752
 					if (!isset($_POST['answer'][$lang_id][$q_id]) || !is_array($_POST['answer'][$lang_id][$q_id]))
733 753
 					{
734
-						if (isset($context['question_answers'][$q_id]))
735
-							$changes['delete'][] = $q_id;
754
+						if (isset($context['question_answers'][$q_id])) {
755
+													$changes['delete'][] = $q_id;
756
+						}
736 757
 						continue;
737 758
 					}
738 759
 					// Now get them and check that they might be viable.
739 760
 					$answers = array();
740
-					foreach ($_POST['answer'][$lang_id][$q_id] as $answer)
741
-						if (!empty($answer) && trim($answer) !== '')
761
+					foreach ($_POST['answer'][$lang_id][$q_id] as $answer) {
762
+											if (!empty($answer) && trim($answer) !== '')
742 763
 							$answers[] = $smcFunc['htmlspecialchars'](trim($answer));
764
+					}
743 765
 					if (empty($answers))
744 766
 					{
745
-						if (isset($context['question_answers'][$q_id]))
746
-							$changes['delete'][] = $q_id;
767
+						if (isset($context['question_answers'][$q_id])) {
768
+													$changes['delete'][] = $q_id;
769
+						}
747 770
 						continue;
748 771
 					}
749 772
 					$answers = $smcFunc['json_encode']($answers);
@@ -753,16 +776,17 @@  discard block
 block discarded – undo
753 776
 					{
754 777
 						// New question. Now, we don't want to randomly consume ids, so we'll set those, rather than trusting the browser's supplied ids.
755 778
 						$changes['insert'][] = array($lang_id, $question, $answers);
756
-					}
757
-					else
779
+					} else
758 780
 					{
759 781
 						// It's an existing question. Let's see what's changed, if anything.
760
-						if ($lang_id != $context['question_answers'][$q_id]['lngfile'] || $question != $context['question_answers'][$q_id]['question'] || $answers != $context['question_answers'][$q_id]['answers'])
761
-							$changes['replace'][$q_id] = array('lngfile' => $lang_id, 'question' => $question, 'answers' => $answers);
782
+						if ($lang_id != $context['question_answers'][$q_id]['lngfile'] || $question != $context['question_answers'][$q_id]['question'] || $answers != $context['question_answers'][$q_id]['answers']) {
783
+													$changes['replace'][$q_id] = array('lngfile' => $lang_id, 'question' => $question, 'answers' => $answers);
784
+						}
762 785
 					}
763 786
 
764
-					if (!isset($qs_per_lang[$lang_id]))
765
-						$qs_per_lang[$lang_id] = 0;
787
+					if (!isset($qs_per_lang[$lang_id])) {
788
+											$qs_per_lang[$lang_id] = 0;
789
+					}
766 790
 					$qs_per_lang[$lang_id]++;
767 791
 				}
768 792
 			}
@@ -812,8 +836,9 @@  discard block
 block discarded – undo
812 836
 
813 837
 		// Lastly, the count of messages needs to be no more than the lowest number of questions for any one language.
814 838
 		$count_questions = empty($qs_per_lang) ? 0 : min($qs_per_lang);
815
-		if (empty($count_questions) || $_POST['qa_verification_number'] > $count_questions)
816
-			$_POST['qa_verification_number'] = $count_questions;
839
+		if (empty($count_questions) || $_POST['qa_verification_number'] > $count_questions) {
840
+					$_POST['qa_verification_number'] = $count_questions;
841
+		}
817 842
 
818 843
 		call_integration_hook('integrate_save_spam_settings', array(&$save_vars));
819 844
 
@@ -828,24 +853,27 @@  discard block
 block discarded – undo
828 853
 
829 854
 	$character_range = array_merge(range('A', 'H'), array('K', 'M', 'N', 'P', 'R'), range('T', 'Y'));
830 855
 	$_SESSION['visual_verification_code'] = '';
831
-	for ($i = 0; $i < 6; $i++)
832
-		$_SESSION['visual_verification_code'] .= $character_range[array_rand($character_range)];
856
+	for ($i = 0; $i < 6; $i++) {
857
+			$_SESSION['visual_verification_code'] .= $character_range[array_rand($character_range)];
858
+	}
833 859
 
834 860
 	// Some javascript for CAPTCHA.
835 861
 	$context['settings_post_javascript'] = '';
836
-	if ($context['use_graphic_library'])
837
-		$context['settings_post_javascript'] .= '
862
+	if ($context['use_graphic_library']) {
863
+			$context['settings_post_javascript'] .= '
838 864
 		function refreshImages()
839 865
 		{
840 866
 			var imageType = document.getElementById(\'visual_verification_type\').value;
841 867
 			document.getElementById(\'verification_image\').src = \'' . $context['verification_image_href'] . ';type=\' + imageType;
842 868
 		}';
869
+	}
843 870
 
844 871
 	// Show the image itself, or text saying we can't.
845
-	if ($context['use_graphic_library'])
846
-		$config_vars['vv']['postinput'] = '<br><img src="' . $context['verification_image_href'] . ';type=' . (empty($modSettings['visual_verification_type']) ? 0 : $modSettings['visual_verification_type']) . '" alt="' . $txt['setting_image_verification_sample'] . '" id="verification_image"><br>';
847
-	else
848
-		$config_vars['vv']['postinput'] = '<br><span class="smalltext">' . $txt['setting_image_verification_nogd'] . '</span>';
872
+	if ($context['use_graphic_library']) {
873
+			$config_vars['vv']['postinput'] = '<br><img src="' . $context['verification_image_href'] . ';type=' . (empty($modSettings['visual_verification_type']) ? 0 : $modSettings['visual_verification_type']) . '" alt="' . $txt['setting_image_verification_sample'] . '" id="verification_image"><br>';
874
+	} else {
875
+			$config_vars['vv']['postinput'] = '<br><span class="smalltext">' . $txt['setting_image_verification_nogd'] . '</span>';
876
+	}
849 877
 
850 878
 	// Hack for PM spam settings.
851 879
 	list ($modSettings['max_pm_recipients'], $modSettings['pm_posts_verification'], $modSettings['pm_posts_per_hour']) = explode(',', $modSettings['pm_spam_settings']);
@@ -855,9 +883,10 @@  discard block
 block discarded – undo
855 883
 	$modSettings['posts_require_captcha'] = !isset($modSettings['posts_require_captcha']) || $modSettings['posts_require_captcha'] == -1 ? 0 : $modSettings['posts_require_captcha'];
856 884
 
857 885
 	// Some minor javascript for the guest post setting.
858
-	if ($modSettings['posts_require_captcha'])
859
-		$context['settings_post_javascript'] .= '
886
+	if ($modSettings['posts_require_captcha']) {
887
+			$context['settings_post_javascript'] .= '
860 888
 		document.getElementById(\'guests_require_captcha\').disabled = true;';
889
+	}
861 890
 
862 891
 	// And everything else.
863 892
 	$context['post_url'] = $scripturl . '?action=admin;area=antispam;save';
@@ -904,8 +933,9 @@  discard block
 block discarded – undo
904 933
 
905 934
 	call_integration_hook('integrate_signature_settings', array(&$config_vars));
906 935
 
907
-	if ($return_config)
908
-		return $config_vars;
936
+	if ($return_config) {
937
+			return $config_vars;
938
+	}
909 939
 
910 940
 	// Setup the template.
911 941
 	$context['page_title'] = $txt['signature_settings'];
@@ -960,8 +990,9 @@  discard block
 block discarded – undo
960 990
 				$sig = strtr($row['signature'], array('<br>' => "\n"));
961 991
 
962 992
 				// Max characters...
963
-				if (!empty($sig_limits[1]))
964
-					$sig = $smcFunc['substr']($sig, 0, $sig_limits[1]);
993
+				if (!empty($sig_limits[1])) {
994
+									$sig = $smcFunc['substr']($sig, 0, $sig_limits[1]);
995
+				}
965 996
 				// Max lines...
966 997
 				if (!empty($sig_limits[2]))
967 998
 				{
@@ -971,8 +1002,9 @@  discard block
 block discarded – undo
971 1002
 						if ($sig[$i] == "\n")
972 1003
 						{
973 1004
 							$count++;
974
-							if ($count >= $sig_limits[2])
975
-								$sig = substr($sig, 0, $i) . strtr(substr($sig, $i), array("\n" => ' '));
1005
+							if ($count >= $sig_limits[2]) {
1006
+															$sig = substr($sig, 0, $i) . strtr(substr($sig, $i), array("\n" => ' '));
1007
+							}
976 1008
 						}
977 1009
 					}
978 1010
 				}
@@ -983,17 +1015,19 @@  discard block
 block discarded – undo
983 1015
 					{
984 1016
 						$limit_broke = 0;
985 1017
 						// Attempt to allow all sizes of abuse, so to speak.
986
-						if ($matches[2][$ind] == 'px' && $size > $sig_limits[7])
987
-							$limit_broke = $sig_limits[7] . 'px';
988
-						elseif ($matches[2][$ind] == 'pt' && $size > ($sig_limits[7] * 0.75))
989
-							$limit_broke = ((int) $sig_limits[7] * 0.75) . 'pt';
990
-						elseif ($matches[2][$ind] == 'em' && $size > ((float) $sig_limits[7] / 16))
991
-							$limit_broke = ((float) $sig_limits[7] / 16) . 'em';
992
-						elseif ($matches[2][$ind] != 'px' && $matches[2][$ind] != 'pt' && $matches[2][$ind] != 'em' && $sig_limits[7] < 18)
993
-							$limit_broke = 'large';
994
-
995
-						if ($limit_broke)
996
-							$sig = str_replace($matches[0][$ind], '[size=' . $sig_limits[7] . 'px', $sig);
1018
+						if ($matches[2][$ind] == 'px' && $size > $sig_limits[7]) {
1019
+													$limit_broke = $sig_limits[7] . 'px';
1020
+						} elseif ($matches[2][$ind] == 'pt' && $size > ($sig_limits[7] * 0.75)) {
1021
+													$limit_broke = ((int) $sig_limits[7] * 0.75) . 'pt';
1022
+						} elseif ($matches[2][$ind] == 'em' && $size > ((float) $sig_limits[7] / 16)) {
1023
+													$limit_broke = ((float) $sig_limits[7] / 16) . 'em';
1024
+						} elseif ($matches[2][$ind] != 'px' && $matches[2][$ind] != 'pt' && $matches[2][$ind] != 'em' && $sig_limits[7] < 18) {
1025
+													$limit_broke = 'large';
1026
+						}
1027
+
1028
+						if ($limit_broke) {
1029
+													$sig = str_replace($matches[0][$ind], '[size=' . $sig_limits[7] . 'px', $sig);
1030
+						}
997 1031
 					}
998 1032
 				}
999 1033
 
@@ -1049,32 +1083,34 @@  discard block
 block discarded – undo
1049 1083
 											$img_offset = false;
1050 1084
 										}
1051 1085
 									}
1086
+								} else {
1087
+																	$replaces[$image] = '';
1052 1088
 								}
1053
-								else
1054
-									$replaces[$image] = '';
1055 1089
 
1056 1090
 								continue;
1057 1091
 							}
1058 1092
 
1059 1093
 							// Does it have predefined restraints? Width first.
1060
-							if ($matches[6][$key])
1061
-								$matches[2][$key] = $matches[6][$key];
1094
+							if ($matches[6][$key]) {
1095
+															$matches[2][$key] = $matches[6][$key];
1096
+							}
1062 1097
 							if ($matches[2][$key] && $sig_limits[5] && $matches[2][$key] > $sig_limits[5])
1063 1098
 							{
1064 1099
 								$width = $sig_limits[5];
1065 1100
 								$matches[4][$key] = $matches[4][$key] * ($width / $matches[2][$key]);
1101
+							} elseif ($matches[2][$key]) {
1102
+															$width = $matches[2][$key];
1066 1103
 							}
1067
-							elseif ($matches[2][$key])
1068
-								$width = $matches[2][$key];
1069 1104
 							// ... and height.
1070 1105
 							if ($matches[4][$key] && $sig_limits[6] && $matches[4][$key] > $sig_limits[6])
1071 1106
 							{
1072 1107
 								$height = $sig_limits[6];
1073
-								if ($width != -1)
1074
-									$width = $width * ($height / $matches[4][$key]);
1108
+								if ($width != -1) {
1109
+																	$width = $width * ($height / $matches[4][$key]);
1110
+								}
1111
+							} elseif ($matches[4][$key]) {
1112
+															$height = $matches[4][$key];
1075 1113
 							}
1076
-							elseif ($matches[4][$key])
1077
-								$height = $matches[4][$key];
1078 1114
 
1079 1115
 							// If the dimensions are still not fixed - we need to check the actual image.
1080 1116
 							if (($width == -1 && $sig_limits[5]) || ($height == -1 && $sig_limits[6]))
@@ -1092,12 +1128,13 @@  discard block
 block discarded – undo
1092 1128
 									if ($sizes[1] > $sig_limits[6] && $sig_limits[6])
1093 1129
 									{
1094 1130
 										$height = $sig_limits[6];
1095
-										if ($width == -1)
1096
-											$width = $sizes[0];
1131
+										if ($width == -1) {
1132
+																					$width = $sizes[0];
1133
+										}
1097 1134
 										$width = $width * ($height / $sizes[1]);
1135
+									} elseif ($width != -1) {
1136
+																			$height = $sizes[1];
1098 1137
 									}
1099
-									elseif ($width != -1)
1100
-										$height = $sizes[1];
1101 1138
 								}
1102 1139
 							}
1103 1140
 
@@ -1110,8 +1147,9 @@  discard block
 block discarded – undo
1110 1147
 							// Record that we got one.
1111 1148
 							$image_count_holder[$image] = isset($image_count_holder[$image]) ? $image_count_holder[$image] + 1 : 1;
1112 1149
 						}
1113
-						if (!empty($replaces))
1114
-							$sig = str_replace(array_keys($replaces), array_values($replaces), $sig);
1150
+						if (!empty($replaces)) {
1151
+													$sig = str_replace(array_keys($replaces), array_values($replaces), $sig);
1152
+						}
1115 1153
 					}
1116 1154
 				}
1117 1155
 				// Try to fix disabled tags.
@@ -1123,18 +1161,20 @@  discard block
 block discarded – undo
1123 1161
 
1124 1162
 				$sig = strtr($sig, array("\n" => '<br>'));
1125 1163
 				call_integration_hook('integrate_apply_signature_settings', array(&$sig, $sig_limits, $disabledTags));
1126
-				if ($sig != $row['signature'])
1127
-					$changes[$row['id_member']] = $sig;
1164
+				if ($sig != $row['signature']) {
1165
+									$changes[$row['id_member']] = $sig;
1166
+				}
1167
+			}
1168
+			if ($smcFunc['db_num_rows']($request) == 0) {
1169
+							$done = true;
1128 1170
 			}
1129
-			if ($smcFunc['db_num_rows']($request) == 0)
1130
-				$done = true;
1131 1171
 			$smcFunc['db_free_result']($request);
1132 1172
 
1133 1173
 			// Do we need to delete what we have?
1134 1174
 			if (!empty($changes))
1135 1175
 			{
1136
-				foreach ($changes as $id => $sig)
1137
-					$smcFunc['db_query']('', '
1176
+				foreach ($changes as $id => $sig) {
1177
+									$smcFunc['db_query']('', '
1138 1178
 						UPDATE {db_prefix}members
1139 1179
 						SET signature = {string:signature}
1140 1180
 						WHERE id_member = {int:id_member}',
@@ -1143,11 +1183,13 @@  discard block
 block discarded – undo
1143 1183
 							'signature' => $sig,
1144 1184
 						)
1145 1185
 					);
1186
+				}
1146 1187
 			}
1147 1188
 
1148 1189
 			$_GET['step'] += 50;
1149
-			if (!$done)
1150
-				pauseSignatureApplySettings();
1190
+			if (!$done) {
1191
+							pauseSignatureApplySettings();
1192
+			}
1151 1193
 		}
1152 1194
 		$settings_applied = true;
1153 1195
 	}
@@ -1165,8 +1207,9 @@  discard block
 block discarded – undo
1165 1207
 	);
1166 1208
 
1167 1209
 	// Temporarily make each setting a modSetting!
1168
-	foreach ($context['signature_settings'] as $key => $value)
1169
-		$modSettings['signature_' . $key] = $value;
1210
+	foreach ($context['signature_settings'] as $key => $value) {
1211
+			$modSettings['signature_' . $key] = $value;
1212
+	}
1170 1213
 
1171 1214
 	// Make sure we check the right tags!
1172 1215
 	$modSettings['bbc_disabled_signature_bbc'] = $disabledTags;
@@ -1178,23 +1221,26 @@  discard block
 block discarded – undo
1178 1221
 
1179 1222
 		// Clean up the tag stuff!
1180 1223
 		$bbcTags = array();
1181
-		foreach (parse_bbc(false) as $tag)
1182
-			$bbcTags[] = $tag['tag'];
1224
+		foreach (parse_bbc(false) as $tag) {
1225
+					$bbcTags[] = $tag['tag'];
1226
+		}
1183 1227
 
1184
-		if (!isset($_POST['signature_bbc_enabledTags']))
1185
-			$_POST['signature_bbc_enabledTags'] = array();
1186
-		elseif (!is_array($_POST['signature_bbc_enabledTags']))
1187
-			$_POST['signature_bbc_enabledTags'] = array($_POST['signature_bbc_enabledTags']);
1228
+		if (!isset($_POST['signature_bbc_enabledTags'])) {
1229
+					$_POST['signature_bbc_enabledTags'] = array();
1230
+		} elseif (!is_array($_POST['signature_bbc_enabledTags'])) {
1231
+					$_POST['signature_bbc_enabledTags'] = array($_POST['signature_bbc_enabledTags']);
1232
+		}
1188 1233
 
1189 1234
 		$sig_limits = array();
1190 1235
 		foreach ($context['signature_settings'] as $key => $value)
1191 1236
 		{
1192
-			if ($key == 'allow_smileys')
1193
-				continue;
1194
-			elseif ($key == 'max_smileys' && empty($_POST['signature_allow_smileys']))
1195
-				$sig_limits[] = -1;
1196
-			else
1197
-				$sig_limits[] = !empty($_POST['signature_' . $key]) ? max(1, (int) $_POST['signature_' . $key]) : 0;
1237
+			if ($key == 'allow_smileys') {
1238
+							continue;
1239
+			} elseif ($key == 'max_smileys' && empty($_POST['signature_allow_smileys'])) {
1240
+							$sig_limits[] = -1;
1241
+			} else {
1242
+							$sig_limits[] = !empty($_POST['signature_' . $key]) ? max(1, (int) $_POST['signature_' . $key]) : 0;
1243
+			}
1198 1244
 		}
1199 1245
 
1200 1246
 		call_integration_hook('integrate_save_signature_settings', array(&$sig_limits, &$bbcTags));
@@ -1227,12 +1273,14 @@  discard block
 block discarded – undo
1227 1273
 
1228 1274
 	// Try get more time...
1229 1275
 	@set_time_limit(600);
1230
-	if (function_exists('apache_reset_timeout'))
1231
-		@apache_reset_timeout();
1276
+	if (function_exists('apache_reset_timeout')) {
1277
+			@apache_reset_timeout();
1278
+	}
1232 1279
 
1233 1280
 	// Have we exhausted all the time we allowed?
1234
-	if (time() - array_sum(explode(' ', $sig_start)) < 3)
1235
-		return;
1281
+	if (time() - array_sum(explode(' ', $sig_start)) < 3) {
1282
+			return;
1283
+	}
1236 1284
 
1237 1285
 	$context['continue_get_data'] = '?action=admin;area=featuresettings;sa=sig;apply;step=' . $_GET['step'] . ';' . $context['session_var'] . '=' . $context['session_id'];
1238 1286
 	$context['page_title'] = $txt['not_done_title'];
@@ -1278,9 +1326,10 @@  discard block
 block discarded – undo
1278 1326
 		$disable_fields = array_flip($standard_fields);
1279 1327
 		if (!empty($_POST['active']))
1280 1328
 		{
1281
-			foreach ($_POST['active'] as $value)
1282
-				if (isset($disable_fields[$value]))
1329
+			foreach ($_POST['active'] as $value) {
1330
+							if (isset($disable_fields[$value]))
1283 1331
 					unset($disable_fields[$value]);
1332
+			}
1284 1333
 		}
1285 1334
 		// What we have left!
1286 1335
 		$changes['disabled_profile_fields'] = empty($disable_fields) ? '' : implode(',', array_keys($disable_fields));
@@ -1289,16 +1338,18 @@  discard block
 block discarded – undo
1289 1338
 		$reg_fields = array();
1290 1339
 		if (!empty($_POST['reg']))
1291 1340
 		{
1292
-			foreach ($_POST['reg'] as $value)
1293
-				if (in_array($value, $standard_fields) && !isset($disable_fields[$value]))
1341
+			foreach ($_POST['reg'] as $value) {
1342
+							if (in_array($value, $standard_fields) && !isset($disable_fields[$value]))
1294 1343
 					$reg_fields[] = $value;
1344
+			}
1295 1345
 		}
1296 1346
 		// What we have left!
1297 1347
 		$changes['registration_fields'] = empty($reg_fields) ? '' : implode(',', $reg_fields);
1298 1348
 
1299 1349
 		$_SESSION['adm-save'] = true;
1300
-		if (!empty($changes))
1301
-			updateSettings($changes);
1350
+		if (!empty($changes)) {
1351
+					updateSettings($changes);
1352
+		}
1302 1353
 	}
1303 1354
 
1304 1355
 	createToken('admin-scp');
@@ -1401,11 +1452,13 @@  discard block
 block discarded – undo
1401 1452
 					{
1402 1453
 						$return = '<p class="centertext bold_text">'. $rowData['field_order'] .'<br>';
1403 1454
 
1404
-						if ($rowData['field_order'] > 1)
1405
-							$return .= '<a href="' . $scripturl . '?action=admin;area=featuresettings;sa=profileedit;fid=' . $rowData['id_field'] . ';move=up"><span class="toggle_up" title="'. $txt['custom_edit_order_move'] .' '. $txt['custom_edit_order_up'] .'"></span></a>';
1455
+						if ($rowData['field_order'] > 1) {
1456
+													$return .= '<a href="' . $scripturl . '?action=admin;area=featuresettings;sa=profileedit;fid=' . $rowData['id_field'] . ';move=up"><span class="toggle_up" title="'. $txt['custom_edit_order_move'] .' '. $txt['custom_edit_order_up'] .'"></span></a>';
1457
+						}
1406 1458
 
1407
-						if ($rowData['field_order'] < $context['custFieldsMaxOrder'])
1408
-							$return .= '<a href="' . $scripturl . '?action=admin;area=featuresettings;sa=profileedit;fid=' . $rowData['id_field'] . ';move=down"><span class="toggle_down" title="'. $txt['custom_edit_order_move'] .' '. $txt['custom_edit_order_down'] .'"></span></a>';
1459
+						if ($rowData['field_order'] < $context['custFieldsMaxOrder']) {
1460
+													$return .= '<a href="' . $scripturl . '?action=admin;area=featuresettings;sa=profileedit;fid=' . $rowData['id_field'] . ';move=down"><span class="toggle_down" title="'. $txt['custom_edit_order_move'] .' '. $txt['custom_edit_order_down'] .'"></span></a>';
1461
+						}
1409 1462
 
1410 1463
 						$return .= '</p>';
1411 1464
 
@@ -1543,16 +1596,16 @@  discard block
 block discarded – undo
1543 1596
 		$disabled_fields = isset($modSettings['disabled_profile_fields']) ? explode(',', $modSettings['disabled_profile_fields']) : array();
1544 1597
 		$registration_fields = isset($modSettings['registration_fields']) ? explode(',', $modSettings['registration_fields']) : array();
1545 1598
 
1546
-		foreach ($standard_fields as $field)
1547
-			$list[] = array(
1599
+		foreach ($standard_fields as $field) {
1600
+					$list[] = array(
1548 1601
 				'id' => $field,
1549 1602
 				'label' => isset($txt['standard_profile_field_' . $field]) ? $txt['standard_profile_field_' . $field] : (isset($txt[$field]) ? $txt[$field] : $field),
1550 1603
 				'disabled' => in_array($field, $disabled_fields),
1551 1604
 				'on_register' => in_array($field, $registration_fields) && !in_array($field, $fields_no_registration),
1552 1605
 				'can_show_register' => !in_array($field, $fields_no_registration),
1553 1606
 			);
1554
-	}
1555
-	else
1607
+		}
1608
+	} else
1556 1609
 	{
1557 1610
 		// Load all the fields.
1558 1611
 		$request = $smcFunc['db_query']('', '
@@ -1566,8 +1619,9 @@  discard block
 block discarded – undo
1566 1619
 				'items_per_page' => $items_per_page,
1567 1620
 			)
1568 1621
 		);
1569
-		while ($row = $smcFunc['db_fetch_assoc']($request))
1570
-			$list[] = $row;
1622
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
1623
+					$list[] = $row;
1624
+		}
1571 1625
 		$smcFunc['db_free_result']($request);
1572 1626
 	}
1573 1627
 
@@ -1633,9 +1687,9 @@  discard block
 block discarded – undo
1633 1687
 		$context['field'] = array();
1634 1688
 		while ($row = $smcFunc['db_fetch_assoc']($request))
1635 1689
 		{
1636
-			if ($row['field_type'] == 'textarea')
1637
-				@list ($rows, $cols) = @explode(',', $row['default_value']);
1638
-			else
1690
+			if ($row['field_type'] == 'textarea') {
1691
+							@list ($rows, $cols) = @explode(',', $row['default_value']);
1692
+			} else
1639 1693
 			{
1640 1694
 				$rows = 3;
1641 1695
 				$cols = 30;
@@ -1671,8 +1725,8 @@  discard block
 block discarded – undo
1671 1725
 	}
1672 1726
 
1673 1727
 	// Setup the default values as needed.
1674
-	if (empty($context['field']))
1675
-		$context['field'] = array(
1728
+	if (empty($context['field'])) {
1729
+			$context['field'] = array(
1676 1730
 			'name' => '',
1677 1731
 			'col_name' => '???',
1678 1732
 			'desc' => '',
@@ -1697,6 +1751,7 @@  discard block
 block discarded – undo
1697 1751
 			'enclose' => '',
1698 1752
 			'placement' => 0,
1699 1753
 		);
1754
+	}
1700 1755
 
1701 1756
 	// Are we moving it?
1702 1757
 	if (isset($_GET['move']) && in_array($smcFunc['htmlspecialchars']($_GET['move']), $move_to))
@@ -1705,8 +1760,10 @@  discard block
 block discarded – undo
1705 1760
 		$new_order = ($_GET['move'] == 'up' ? ($context['field']['order'] - 1) : ($context['field']['order'] + 1));
1706 1761
 
1707 1762
 		// Is this a valid position?
1708
-		if ($new_order <= 0 || $new_order > $order_count)
1709
-			redirectexit('action=admin;area=featuresettings;sa=profile'); // @todo implement an error handler
1763
+		if ($new_order <= 0 || $new_order > $order_count) {
1764
+					redirectexit('action=admin;area=featuresettings;sa=profile');
1765
+		}
1766
+		// @todo implement an error handler
1710 1767
 
1711 1768
 		// All good, proceed.
1712 1769
 		$smcFunc['db_query']('','
@@ -1737,12 +1794,14 @@  discard block
 block discarded – undo
1737 1794
 		validateToken('admin-ecp');
1738 1795
 
1739 1796
 		// Everyone needs a name - even the (bracket) unknown...
1740
-		if (trim($_POST['field_name']) == '')
1741
-			redirectexit($scripturl . '?action=admin;area=featuresettings;sa=profileedit;fid=' . $_GET['fid'] . ';msg=need_name');
1797
+		if (trim($_POST['field_name']) == '') {
1798
+					redirectexit($scripturl . '?action=admin;area=featuresettings;sa=profileedit;fid=' . $_GET['fid'] . ';msg=need_name');
1799
+		}
1742 1800
 
1743 1801
 		// Regex you say?  Do a very basic test to see if the pattern is valid
1744
-		if (!empty($_POST['regex']) && @preg_match($_POST['regex'], 'dummy') === false)
1745
-			redirectexit($scripturl . '?action=admin;area=featuresettings;sa=profileedit;fid=' . $_GET['fid'] . ';msg=regex_error');
1802
+		if (!empty($_POST['regex']) && @preg_match($_POST['regex'], 'dummy') === false) {
1803
+					redirectexit($scripturl . '?action=admin;area=featuresettings;sa=profileedit;fid=' . $_GET['fid'] . ';msg=regex_error');
1804
+		}
1746 1805
 
1747 1806
 		$_POST['field_name'] = $smcFunc['htmlspecialchars']($_POST['field_name']);
1748 1807
 		$_POST['field_desc'] = $smcFunc['htmlspecialchars']($_POST['field_desc']);
@@ -1759,8 +1818,9 @@  discard block
 block discarded – undo
1759 1818
 
1760 1819
 		// Some masking stuff...
1761 1820
 		$mask = isset($_POST['mask']) ? $_POST['mask'] : '';
1762
-		if ($mask == 'regex' && isset($_POST['regex']))
1763
-			$mask .= $_POST['regex'];
1821
+		if ($mask == 'regex' && isset($_POST['regex'])) {
1822
+					$mask .= $_POST['regex'];
1823
+		}
1764 1824
 
1765 1825
 		$field_length = isset($_POST['max_length']) ? (int) $_POST['max_length'] : 255;
1766 1826
 		$enclose = isset($_POST['enclose']) ? $_POST['enclose'] : '';
@@ -1779,8 +1839,9 @@  discard block
 block discarded – undo
1779 1839
 				$v = strtr($v, array(',' => ''));
1780 1840
 
1781 1841
 				// Nada, zip, etc...
1782
-				if (trim($v) == '')
1783
-					continue;
1842
+				if (trim($v) == '') {
1843
+									continue;
1844
+				}
1784 1845
 
1785 1846
 				// Otherwise, save it boy.
1786 1847
 				$field_options .= $v . ',';
@@ -1788,15 +1849,17 @@  discard block
 block discarded – undo
1788 1849
 				$newOptions[$k] = $v;
1789 1850
 
1790 1851
 				// Is it default?
1791
-				if (isset($_POST['default_select']) && $_POST['default_select'] == $k)
1792
-					$default = $v;
1852
+				if (isset($_POST['default_select']) && $_POST['default_select'] == $k) {
1853
+									$default = $v;
1854
+				}
1793 1855
 			}
1794 1856
 			$field_options = substr($field_options, 0, -1);
1795 1857
 		}
1796 1858
 
1797 1859
 		// Text area has default has dimensions
1798
-		if ($_POST['field_type'] == 'textarea')
1799
-			$default = (int) $_POST['rows'] . ',' . (int) $_POST['cols'];
1860
+		if ($_POST['field_type'] == 'textarea') {
1861
+					$default = (int) $_POST['rows'] . ',' . (int) $_POST['cols'];
1862
+		}
1800 1863
 
1801 1864
 		// Come up with the unique name?
1802 1865
 		if (empty($context['fid']))
@@ -1805,32 +1868,36 @@  discard block
 block discarded – undo
1805 1868
 			preg_match('~([\w\d_-]+)~', $col_name, $matches);
1806 1869
 
1807 1870
 			// If there is nothing to the name, then let's start out own - for foreign languages etc.
1808
-			if (isset($matches[1]))
1809
-				$col_name = $initial_col_name = 'cust_' . strtolower($matches[1]);
1810
-			else
1811
-				$col_name = $initial_col_name = 'cust_' . mt_rand(1, 9999);
1871
+			if (isset($matches[1])) {
1872
+							$col_name = $initial_col_name = 'cust_' . strtolower($matches[1]);
1873
+			} else {
1874
+							$col_name = $initial_col_name = 'cust_' . mt_rand(1, 9999);
1875
+			}
1812 1876
 
1813 1877
 			// Make sure this is unique.
1814 1878
 			$current_fields = array();
1815 1879
 			$request = $smcFunc['db_query']('', '
1816 1880
 				SELECT id_field, col_name
1817 1881
 				FROM {db_prefix}custom_fields');
1818
-			while ($row = $smcFunc['db_fetch_assoc']($request))
1819
-				$current_fields[$row['id_field']] = $row['col_name'];
1882
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
1883
+							$current_fields[$row['id_field']] = $row['col_name'];
1884
+			}
1820 1885
 			$smcFunc['db_free_result']($request);
1821 1886
 
1822 1887
 			$unique = false;
1823 1888
 			for ($i = 0; !$unique && $i < 9; $i ++)
1824 1889
 			{
1825
-				if (!in_array($col_name, $current_fields))
1826
-					$unique = true;
1827
-				else
1828
-					$col_name = $initial_col_name . $i;
1890
+				if (!in_array($col_name, $current_fields)) {
1891
+									$unique = true;
1892
+				} else {
1893
+									$col_name = $initial_col_name . $i;
1894
+				}
1829 1895
 			}
1830 1896
 
1831 1897
 			// Still not a unique column name? Leave it up to the user, then.
1832
-			if (!$unique)
1833
-				fatal_lang_error('custom_option_not_unique');
1898
+			if (!$unique) {
1899
+							fatal_lang_error('custom_option_not_unique');
1900
+			}
1834 1901
 		}
1835 1902
 		// Work out what to do with the user data otherwise...
1836 1903
 		else
@@ -1858,8 +1925,9 @@  discard block
 block discarded – undo
1858 1925
 				// Work out what's changed!
1859 1926
 				foreach ($context['field']['options'] as $k => $option)
1860 1927
 				{
1861
-					if (trim($option) == '')
1862
-						continue;
1928
+					if (trim($option) == '') {
1929
+											continue;
1930
+					}
1863 1931
 
1864 1932
 					// Still exists?
1865 1933
 					if (in_array($option, $newOptions))
@@ -1873,8 +1941,8 @@  discard block
 block discarded – undo
1873 1941
 				foreach ($optionChanges as $k => $option)
1874 1942
 				{
1875 1943
 					// Just been renamed?
1876
-					if (!in_array($k, $takenKeys) && !empty($newOptions[$k]))
1877
-						$smcFunc['db_query']('', '
1944
+					if (!in_array($k, $takenKeys) && !empty($newOptions[$k])) {
1945
+											$smcFunc['db_query']('', '
1878 1946
 							UPDATE {db_prefix}themes
1879 1947
 							SET value = {string:new_value}
1880 1948
 							WHERE variable = {string:current_column}
@@ -1887,6 +1955,7 @@  discard block
 block discarded – undo
1887 1955
 								'old_value' => $option,
1888 1956
 							)
1889 1957
 						);
1958
+					}
1890 1959
 				}
1891 1960
 			}
1892 1961
 			// @todo Maybe we should adjust based on new text length limits?
@@ -1929,8 +1998,8 @@  discard block
 block discarded – undo
1929 1998
 			);
1930 1999
 
1931 2000
 			// Just clean up any old selects - these are a pain!
1932
-			if (($_POST['field_type'] == 'select' || $_POST['field_type'] == 'radio') && !empty($newOptions))
1933
-				$smcFunc['db_query']('', '
2001
+			if (($_POST['field_type'] == 'select' || $_POST['field_type'] == 'radio') && !empty($newOptions)) {
2002
+							$smcFunc['db_query']('', '
1934 2003
 					DELETE FROM {db_prefix}themes
1935 2004
 					WHERE variable = {string:current_column}
1936 2005
 						AND value NOT IN ({array_string:new_option_values})
@@ -1941,8 +2010,8 @@  discard block
 block discarded – undo
1941 2010
 						'current_column' => $context['field']['col_name'],
1942 2011
 					)
1943 2012
 				);
1944
-		}
1945
-		else
2013
+			}
2014
+		} else
1946 2015
 		{
1947 2016
 			// Gotta figure it out the order.
1948 2017
 			$new_order = $order_count > 1 ? ($order_count + 1) : 1;
@@ -2116,11 +2185,13 @@  discard block
 block discarded – undo
2116 2185
 	call_integration_hook('integrate_prune_settings', array(&$config_vars, &$prune_toggle, false));
2117 2186
 
2118 2187
 	$prune_toggle_dt = array();
2119
-	foreach ($prune_toggle as $item)
2120
-		$prune_toggle_dt[] = 'setting_' . $item;
2188
+	foreach ($prune_toggle as $item) {
2189
+			$prune_toggle_dt[] = 'setting_' . $item;
2190
+	}
2121 2191
 
2122
-	if ($return_config)
2123
-		return $config_vars;
2192
+	if ($return_config) {
2193
+			return $config_vars;
2194
+	}
2124 2195
 
2125 2196
 	addInlineJavaScript('
2126 2197
 	function togglePruned()
@@ -2158,15 +2229,16 @@  discard block
 block discarded – undo
2158 2229
 			$vals = array();
2159 2230
 			foreach ($config_vars as $index => $dummy)
2160 2231
 			{
2161
-				if (!is_array($dummy) || $index == 'pruningOptions' || !in_array($dummy[1], $prune_toggle))
2162
-					continue;
2232
+				if (!is_array($dummy) || $index == 'pruningOptions' || !in_array($dummy[1], $prune_toggle)) {
2233
+									continue;
2234
+				}
2163 2235
 
2164 2236
 				$vals[] = empty($_POST[$dummy[1]]) || $_POST[$dummy[1]] < 0 ? 0 : (int) $_POST[$dummy[1]];
2165 2237
 			}
2166 2238
 			$_POST['pruningOptions'] = implode(',', $vals);
2239
+		} else {
2240
+					$_POST['pruningOptions'] = '';
2167 2241
 		}
2168
-		else
2169
-			$_POST['pruningOptions'] = '';
2170 2242
 
2171 2243
 		saveDBSettings($savevar);
2172 2244
 		$_SESSION['adm-save'] = true;
@@ -2178,10 +2250,11 @@  discard block
 block discarded – undo
2178 2250
 	$context['sub_template'] = 'show_settings';
2179 2251
 
2180 2252
 	// Get the actual values
2181
-	if (!empty($modSettings['pruningOptions']))
2182
-		@list ($modSettings['pruneErrorLog'], $modSettings['pruneModLog'], $modSettings['pruneBanLog'], $modSettings['pruneReportLog'], $modSettings['pruneScheduledTaskLog'], $modSettings['pruneSpiderHitLog']) = explode(',', $modSettings['pruningOptions']);
2183
-	else
2184
-		$modSettings['pruneErrorLog'] = $modSettings['pruneModLog'] = $modSettings['pruneBanLog'] = $modSettings['pruneReportLog'] = $modSettings['pruneScheduledTaskLog'] = $modSettings['pruneSpiderHitLog'] = 0;
2253
+	if (!empty($modSettings['pruningOptions'])) {
2254
+			@list ($modSettings['pruneErrorLog'], $modSettings['pruneModLog'], $modSettings['pruneBanLog'], $modSettings['pruneReportLog'], $modSettings['pruneScheduledTaskLog'], $modSettings['pruneSpiderHitLog']) = explode(',', $modSettings['pruningOptions']);
2255
+	} else {
2256
+			$modSettings['pruneErrorLog'] = $modSettings['pruneModLog'] = $modSettings['pruneBanLog'] = $modSettings['pruneReportLog'] = $modSettings['pruneScheduledTaskLog'] = $modSettings['pruneSpiderHitLog'] = 0;
2257
+	}
2185 2258
 
2186 2259
 	prepareDBSettingContext($config_vars);
2187 2260
 }
@@ -2203,8 +2276,9 @@  discard block
 block discarded – undo
2203 2276
 	// Make it even easier to add new settings.
2204 2277
 	call_integration_hook('integrate_general_mod_settings', array(&$config_vars));
2205 2278
 
2206
-	if ($return_config)
2207
-		return $config_vars;
2279
+	if ($return_config) {
2280
+			return $config_vars;
2281
+	}
2208 2282
 
2209 2283
 	$context['post_url'] = $scripturl . '?action=admin;area=modsettings;save;sa=general';
2210 2284
 	$context['settings_title'] = $txt['mods_cat_modifications_misc'];
Please login to merge, or discard this patch.
Sources/Display.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -891,13 +891,13 @@
 block discarded – undo
891 891
 		if ($start_char === 'C')
892 892
 			$limit_seek = $limit;
893 893
 		else
894
-			$limit_seek  = $limit + 1;
894
+			$limit_seek = $limit + 1;
895 895
 
896 896
 		$request = $smcFunc['db_query']('', '
897 897
 			SELECT id_msg, id_member, approved
898 898
 			FROM {db_prefix}messages
899 899
 			WHERE id_topic = {int:current_topic} 
900
-			AND id_msg '. $page_operator . ' {int:page_id}'. (!$modSettings['postmod_active'] || $approve_posts ? '' : '
900
+			AND id_msg '. $page_operator . ' {int:page_id}' . (!$modSettings['postmod_active'] || $approve_posts ? '' : '
901 901
 			AND (approved = {int:is_approved}' . ($user_info['is_guest'] ? '' : ' OR id_member = {int:current_member}') . ')') . '
902 902
 			ORDER BY id_msg ' . ($ascending ? '' : 'DESC') . ($context['messages_per_page'] == -1 ? '' : '
903 903
 			LIMIT {int:limit}'),
Please login to merge, or discard this patch.
Braces   +359 added lines, -270 removed lines patch added patch discarded remove patch
@@ -14,8 +14,9 @@  discard block
 block discarded – undo
14 14
  * @version 2.1 Beta 4
15 15
  */
16 16
 
17
-if (!defined('SMF'))
17
+if (!defined('SMF')) {
18 18
 	die('No direct access...');
19
+}
19 20
 
20 21
 /**
21 22
  * The central part of the board - topic display.
@@ -34,8 +35,9 @@  discard block
 block discarded – undo
34 35
 	global $messages_request, $language, $smcFunc;
35 36
 
36 37
 	// What are you gonna display if these are empty?!
37
-	if (empty($topic))
38
-		fatal_lang_error('no_board', false);
38
+	if (empty($topic)) {
39
+			fatal_lang_error('no_board', false);
40
+	}
39 41
 
40 42
 	// Load the proper template.
41 43
 	loadTemplate('Display');
@@ -52,15 +54,17 @@  discard block
 block discarded – undo
52 54
 	$context['messages_per_page'] = empty($modSettings['disableCustomPerPage']) && !empty($options['messages_per_page']) ? $options['messages_per_page'] : $modSettings['defaultMaxMessages'];
53 55
 
54 56
 	// Let's do some work on what to search index.
55
-	if (count($_GET) > 2)
56
-		foreach ($_GET as $k => $v)
57
+	if (count($_GET) > 2) {
58
+			foreach ($_GET as $k => $v)
57 59
 		{
58 60
 			if (!in_array($k, array('topic', 'board', 'start', session_name())))
59 61
 				$context['robot_no_index'] = true;
62
+	}
60 63
 		}
61 64
 
62
-	if (!empty($_REQUEST['start']) && (!is_numeric($_REQUEST['start']) || $_REQUEST['start'] % $context['messages_per_page'] != 0))
63
-		$context['robot_no_index'] = true;
65
+	if (!empty($_REQUEST['start']) && (!is_numeric($_REQUEST['start']) || $_REQUEST['start'] % $context['messages_per_page'] != 0)) {
66
+			$context['robot_no_index'] = true;
67
+	}
64 68
 
65 69
 	// Find the previous or next topic.  Make a fuss if there are no more.
66 70
 	if (isset($_REQUEST['prev_next']) && ($_REQUEST['prev_next'] == 'prev' || $_REQUEST['prev_next'] == 'next'))
@@ -172,8 +176,9 @@  discard block
 block discarded – undo
172 176
 			$topic_parameters
173 177
 	);
174 178
 
175
-	if ($smcFunc['db_num_rows']($request) == 0)
176
-		fatal_lang_error('not_a_topic', false, 404);
179
+	if ($smcFunc['db_num_rows']($request) == 0) {
180
+			fatal_lang_error('not_a_topic', false, 404);
181
+	}
177 182
 	$context['topicinfo'] = $smcFunc['db_fetch_assoc']($request);
178 183
 	$smcFunc['db_free_result']($request);
179 184
 
@@ -210,8 +215,9 @@  discard block
 block discarded – undo
210 215
 	$context['topic_unwatched'] = isset($context['topicinfo']['unwatched']) ? $context['topicinfo']['unwatched'] : 0;
211 216
 
212 217
 	// Add up unapproved replies to get real number of replies...
213
-	if ($modSettings['postmod_active'] && $approve_posts)
214
-		$context['real_num_replies'] += $context['topicinfo']['unapproved_posts'] - ($context['topicinfo']['approved'] ? 0 : 1);
218
+	if ($modSettings['postmod_active'] && $approve_posts) {
219
+			$context['real_num_replies'] += $context['topicinfo']['unapproved_posts'] - ($context['topicinfo']['approved'] ? 0 : 1);
220
+	}
215 221
 
216 222
 	// If this topic has unapproved posts, we need to work out how many posts the user can see, for page indexing.
217 223
 	if ($modSettings['postmod_active'] && $context['topicinfo']['unapproved_posts'] && !$user_info['is_guest'] && !$approve_posts)
@@ -231,11 +237,11 @@  discard block
 block discarded – undo
231 237
 		$smcFunc['db_free_result']($request);
232 238
 
233 239
 		$context['total_visible_posts'] = $context['num_replies'] + $myUnapprovedPosts + ($context['topicinfo']['approved'] ? 1 : 0);
240
+	} elseif ($user_info['is_guest']) {
241
+			$context['total_visible_posts'] = $context['num_replies'] + ($context['topicinfo']['approved'] ? 1 : 0);
242
+	} else {
243
+			$context['total_visible_posts'] = $context['num_replies'] + $context['topicinfo']['unapproved_posts'] + ($context['topicinfo']['approved'] ? 1 : 0);
234 244
 	}
235
-	elseif ($user_info['is_guest'])
236
-		$context['total_visible_posts'] = $context['num_replies'] + ($context['topicinfo']['approved'] ? 1 : 0);
237
-	else
238
-		$context['total_visible_posts'] = $context['num_replies'] + $context['topicinfo']['unapproved_posts'] + ($context['topicinfo']['approved'] ? 1 : 0);
239 245
 
240 246
 	// The start isn't a number; it's information about what to do, where to go.
241 247
 	if (!is_numeric($_REQUEST['start']))
@@ -248,8 +254,7 @@  discard block
 block discarded – undo
248 254
 			{
249 255
 				$context['start_from'] = $context['total_visible_posts'] - 1;
250 256
 				$_REQUEST['start'] = empty($options['view_newest_first']) ? $context['start_from'] : 0;
251
-			}
252
-			else
257
+			} else
253 258
 			{
254 259
 				// Find the earliest unread message in the topic. (the use of topics here is just for both tables.)
255 260
 				$request = $smcFunc['db_query']('', '
@@ -277,9 +282,9 @@  discard block
 block discarded – undo
277 282
 		if (substr($_REQUEST['start'], 0, 4) == 'from')
278 283
 		{
279 284
 			$timestamp = (int) substr($_REQUEST['start'], 4);
280
-			if ($timestamp === 0)
281
-				$_REQUEST['start'] = 0;
282
-			else
285
+			if ($timestamp === 0) {
286
+							$_REQUEST['start'] = 0;
287
+			} else
283 288
 			{
284 289
 				// Find the number of messages posted before said time...
285 290
 				$request = $smcFunc['db_query']('', '
@@ -307,11 +312,11 @@  discard block
 block discarded – undo
307 312
 		elseif (substr($_REQUEST['start'], 0, 3) == 'msg')
308 313
 		{
309 314
 			$virtual_msg = (int) substr($_REQUEST['start'], 3);
310
-			if (!$context['topicinfo']['unapproved_posts'] && $virtual_msg >= $context['topicinfo']['id_last_msg'])
311
-				$context['start_from'] = $context['total_visible_posts'] - 1;
312
-			elseif (!$context['topicinfo']['unapproved_posts'] && $virtual_msg <= $context['topicinfo']['id_first_msg'])
313
-				$context['start_from'] = 0;
314
-			else
315
+			if (!$context['topicinfo']['unapproved_posts'] && $virtual_msg >= $context['topicinfo']['id_last_msg']) {
316
+							$context['start_from'] = $context['total_visible_posts'] - 1;
317
+			} elseif (!$context['topicinfo']['unapproved_posts'] && $virtual_msg <= $context['topicinfo']['id_first_msg']) {
318
+							$context['start_from'] = 0;
319
+			} else
315 320
 			{
316 321
 				// Find the start value for that message......
317 322
 				$request = $smcFunc['db_query']('', '
@@ -394,21 +399,25 @@  discard block
 block discarded – undo
394 399
 		);
395 400
 		while ($row = $smcFunc['db_fetch_assoc']($request))
396 401
 		{
397
-			if (empty($row['id_member']))
398
-				continue;
402
+			if (empty($row['id_member'])) {
403
+							continue;
404
+			}
399 405
 
400
-			if (!empty($row['online_color']))
401
-				$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '" style="color: ' . $row['online_color'] . ';">' . $row['real_name'] . '</a>';
402
-			else
403
-				$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>';
406
+			if (!empty($row['online_color'])) {
407
+							$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '" style="color: ' . $row['online_color'] . ';">' . $row['real_name'] . '</a>';
408
+			} else {
409
+							$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>';
410
+			}
404 411
 
405 412
 			$is_buddy = in_array($row['id_member'], $user_info['buddies']);
406
-			if ($is_buddy)
407
-				$link = '<strong>' . $link . '</strong>';
413
+			if ($is_buddy) {
414
+							$link = '<strong>' . $link . '</strong>';
415
+			}
408 416
 
409 417
 			// Add them both to the list and to the more detailed list.
410
-			if (!empty($row['show_online']) || allowedTo('moderate_forum'))
411
-				$context['view_members_list'][$row['log_time'] . $row['member_name']] = empty($row['show_online']) ? '<em>' . $link . '</em>' : $link;
418
+			if (!empty($row['show_online']) || allowedTo('moderate_forum')) {
419
+							$context['view_members_list'][$row['log_time'] . $row['member_name']] = empty($row['show_online']) ? '<em>' . $link . '</em>' : $link;
420
+			}
412 421
 			$context['view_members'][$row['log_time'] . $row['member_name']] = array(
413 422
 				'id' => $row['id_member'],
414 423
 				'username' => $row['member_name'],
@@ -420,8 +429,9 @@  discard block
 block discarded – undo
420 429
 				'hidden' => empty($row['show_online']),
421 430
 			);
422 431
 
423
-			if (empty($row['show_online']))
424
-				$context['view_num_hidden']++;
432
+			if (empty($row['show_online'])) {
433
+							$context['view_num_hidden']++;
434
+			}
425 435
 		}
426 436
 
427 437
 		// The number of guests is equal to the rows minus the ones we actually used ;).
@@ -435,11 +445,13 @@  discard block
 block discarded – undo
435 445
 
436 446
 	// If all is set, but not allowed... just unset it.
437 447
 	$can_show_all = !empty($modSettings['enableAllMessages']) && $context['total_visible_posts'] > $context['messages_per_page'] && $context['total_visible_posts'] < $modSettings['enableAllMessages'];
438
-	if (isset($_REQUEST['all']) && !$can_show_all)
439
-		unset($_REQUEST['all']);
448
+	if (isset($_REQUEST['all']) && !$can_show_all) {
449
+			unset($_REQUEST['all']);
450
+	}
440 451
 	// Otherwise, it must be allowed... so pretend start was -1.
441
-	elseif (isset($_REQUEST['all']))
442
-		$_REQUEST['start'] = -1;
452
+	elseif (isset($_REQUEST['all'])) {
453
+			$_REQUEST['start'] = -1;
454
+	}
443 455
 
444 456
 	// Construct the page index, allowing for the .START method...
445 457
 	$context['page_index'] = constructPageIndex($scripturl . '?topic=' . $topic . '.%1$d', $_REQUEST['start'], $context['total_visible_posts'], $context['messages_per_page'], true);
@@ -476,8 +488,9 @@  discard block
 block discarded – undo
476 488
 			$_REQUEST['start'] = 0;
477 489
 		}
478 490
 		// They aren't using it, but the *option* is there, at least.
479
-		else
480
-			$context['page_index'] .= '&nbsp;<a href="' . $scripturl . '?topic=' . $topic . '.0;all">' . $txt['all'] . '</a> ';
491
+		else {
492
+					$context['page_index'] .= '&nbsp;<a href="' . $scripturl . '?topic=' . $topic . '.0;all">' . $txt['all'] . '</a> ';
493
+		}
481 494
 	}
482 495
 
483 496
 	// Build the link tree.
@@ -493,14 +506,16 @@  discard block
 block discarded – undo
493 506
 	if (!empty($board_info['moderators']))
494 507
 	{
495 508
 		// Add a link for each moderator...
496
-		foreach ($board_info['moderators'] as $mod)
497
-			$context['link_moderators'][] = '<a href="' . $scripturl . '?action=profile;u=' . $mod['id'] . '" title="' . $txt['board_moderator'] . '">' . $mod['name'] . '</a>';
509
+		foreach ($board_info['moderators'] as $mod) {
510
+					$context['link_moderators'][] = '<a href="' . $scripturl . '?action=profile;u=' . $mod['id'] . '" title="' . $txt['board_moderator'] . '">' . $mod['name'] . '</a>';
511
+		}
498 512
 	}
499 513
 	if (!empty($board_info['moderator_groups']))
500 514
 	{
501 515
 		// Add a link for each moderator group as well...
502
-		foreach ($board_info['moderator_groups'] as $mod_group)
503
-			$context['link_moderators'][] = '<a href="' . $scripturl . '?action=groups;sa=viewmemberes;group=' . $mod_group['id'] . '" title="' . $txt['board_moderator'] . '">' . $mod_group['name'] . '</a>';
516
+		foreach ($board_info['moderator_groups'] as $mod_group) {
517
+					$context['link_moderators'][] = '<a href="' . $scripturl . '?action=groups;sa=viewmemberes;group=' . $mod_group['id'] . '" title="' . $txt['board_moderator'] . '">' . $mod_group['name'] . '</a>';
518
+		}
504 519
 	}
505 520
 
506 521
 	if (!empty($context['link_moderators']))
@@ -531,9 +546,9 @@  discard block
 block discarded – undo
531 546
 	// For quick reply we need a response prefix in the default forum language.
532 547
 	if (!isset($context['response_prefix']) && !($context['response_prefix'] = cache_get_data('response_prefix', 600)))
533 548
 	{
534
-		if ($language === $user_info['language'])
535
-			$context['response_prefix'] = $txt['response_prefix'];
536
-		else
549
+		if ($language === $user_info['language']) {
550
+					$context['response_prefix'] = $txt['response_prefix'];
551
+		} else
537 552
 		{
538 553
 			loadLanguage('index', $language, false);
539 554
 			$context['response_prefix'] = $txt['response_prefix'];
@@ -565,8 +580,9 @@  discard block
 block discarded – undo
565 580
 			list($start, $end, $allday, $span, $tz, $tz_abbrev) = buildEventDatetimes($row);
566 581
 
567 582
 			// Sanity check
568
-			if (!empty($start['error_count']) || !empty($start['warning_count']) || !empty($end['error_count']) || !empty($end['warning_count']))
569
-				continue;
583
+			if (!empty($start['error_count']) || !empty($start['warning_count']) || !empty($end['error_count']) || !empty($end['warning_count'])) {
584
+							continue;
585
+			}
570 586
 
571 587
 			$linked_calendar_event = array(
572 588
 				'id' => $row['id_event'],
@@ -615,8 +631,9 @@  discard block
 block discarded – undo
615 631
 		}
616 632
 		$smcFunc['db_free_result']($request);
617 633
 
618
-		if (!empty($context['linked_calendar_events']))
619
-			$context['linked_calendar_events'][count($context['linked_calendar_events']) - 1]['is_last'] = true;
634
+		if (!empty($context['linked_calendar_events'])) {
635
+					$context['linked_calendar_events'][count($context['linked_calendar_events']) - 1]['is_last'] = true;
636
+		}
620 637
 	}
621 638
 
622 639
 	// Create the poll info if it exists.
@@ -679,8 +696,9 @@  discard block
 block discarded – undo
679 696
 		$smcFunc['db_free_result']($request);
680 697
 		
681 698
 		// Got we multi choice?
682
-		if ($pollinfo['max_votes'] > 1)
683
-			$realtotal = $pollinfo['total'];
699
+		if ($pollinfo['max_votes'] > 1) {
700
+					$realtotal = $pollinfo['total'];
701
+		}
684 702
 
685 703
 		// If this is a guest we need to do our best to work out if they have voted, and what they voted for.
686 704
 		if ($user_info['is_guest'] && $pollinfo['guest_vote'] && allowedTo('poll_vote'))
@@ -693,20 +711,21 @@  discard block
 block discarded – undo
693 711
 				foreach ($guestinfo as $i => $guestvoted)
694 712
 				{
695 713
 					$guestvoted = explode(',', $guestvoted);
696
-					if ($guestvoted[0] == $context['topicinfo']['id_poll'])
697
-						break;
714
+					if ($guestvoted[0] == $context['topicinfo']['id_poll']) {
715
+											break;
716
+					}
698 717
 				}
699 718
 				// Has the poll been reset since guest voted?
700 719
 				if ($pollinfo['reset_poll'] > $guestvoted[1])
701 720
 				{
702 721
 					// Remove the poll info from the cookie to allow guest to vote again
703 722
 					unset($guestinfo[$i]);
704
-					if (!empty($guestinfo))
705
-						$_COOKIE['guest_poll_vote'] = ';' . implode(';', $guestinfo);
706
-					else
707
-						unset($_COOKIE['guest_poll_vote']);
708
-				}
709
-				else
723
+					if (!empty($guestinfo)) {
724
+											$_COOKIE['guest_poll_vote'] = ';' . implode(';', $guestinfo);
725
+					} else {
726
+											unset($_COOKIE['guest_poll_vote']);
727
+					}
728
+				} else
710 729
 				{
711 730
 					// What did they vote for?
712 731
 					unset($guestvoted[0], $guestvoted[1]);
@@ -820,23 +839,29 @@  discard block
 block discarded – undo
820 839
 		// Build the poll moderation button array.
821 840
 		$context['poll_buttons'] = array();
822 841
 
823
-		if ($context['allow_return_vote'])
824
-			$context['poll_buttons']['vote'] = array('text' => 'poll_return_vote', 'image' => 'poll_options.png', 'url' => $scripturl . '?topic=' . $context['current_topic'] . '.' . $context['start']);
842
+		if ($context['allow_return_vote']) {
843
+					$context['poll_buttons']['vote'] = array('text' => 'poll_return_vote', 'image' => 'poll_options.png', 'url' => $scripturl . '?topic=' . $context['current_topic'] . '.' . $context['start']);
844
+		}
825 845
 
826
-		if ($context['show_view_results_button'])
827
-			$context['poll_buttons']['results'] = array('text' => 'poll_results', 'image' => 'poll_results.png', 'url' => $scripturl . '?topic=' . $context['current_topic'] . '.' . $context['start'] . ';viewresults');
846
+		if ($context['show_view_results_button']) {
847
+					$context['poll_buttons']['results'] = array('text' => 'poll_results', 'image' => 'poll_results.png', 'url' => $scripturl . '?topic=' . $context['current_topic'] . '.' . $context['start'] . ';viewresults');
848
+		}
828 849
 
829
-		if ($context['allow_change_vote'])
830
-			$context['poll_buttons']['change_vote'] = array('text' => 'poll_change_vote', 'image' => 'poll_change_vote.png', 'url' => $scripturl . '?action=vote;topic=' . $context['current_topic'] . '.' . $context['start'] . ';poll=' . $context['poll']['id'] . ';' . $context['session_var'] . '=' . $context['session_id']);
850
+		if ($context['allow_change_vote']) {
851
+					$context['poll_buttons']['change_vote'] = array('text' => 'poll_change_vote', 'image' => 'poll_change_vote.png', 'url' => $scripturl . '?action=vote;topic=' . $context['current_topic'] . '.' . $context['start'] . ';poll=' . $context['poll']['id'] . ';' . $context['session_var'] . '=' . $context['session_id']);
852
+		}
831 853
 
832
-		if ($context['allow_lock_poll'])
833
-			$context['poll_buttons']['lock'] = array('text' => (!$context['poll']['is_locked'] ? 'poll_lock' : 'poll_unlock'), 'image' => 'poll_lock.png', 'url' => $scripturl . '?action=lockvoting;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
854
+		if ($context['allow_lock_poll']) {
855
+					$context['poll_buttons']['lock'] = array('text' => (!$context['poll']['is_locked'] ? 'poll_lock' : 'poll_unlock'), 'image' => 'poll_lock.png', 'url' => $scripturl . '?action=lockvoting;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
856
+		}
834 857
 
835
-		if ($context['allow_edit_poll'])
836
-			$context['poll_buttons']['edit'] = array('text' => 'poll_edit', 'image' => 'poll_edit.png', 'url' => $scripturl . '?action=editpoll;topic=' . $context['current_topic'] . '.' . $context['start']);
858
+		if ($context['allow_edit_poll']) {
859
+					$context['poll_buttons']['edit'] = array('text' => 'poll_edit', 'image' => 'poll_edit.png', 'url' => $scripturl . '?action=editpoll;topic=' . $context['current_topic'] . '.' . $context['start']);
860
+		}
837 861
 
838
-		if ($context['can_remove_poll'])
839
-			$context['poll_buttons']['remove_poll'] = array('text' => 'poll_remove', 'image' => 'admin_remove_poll.png', 'custom' => 'data-confirm="' . $txt['poll_remove_warn'] . '"', 'class' => 'you_sure', 'url' => $scripturl . '?action=removepoll;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
862
+		if ($context['can_remove_poll']) {
863
+					$context['poll_buttons']['remove_poll'] = array('text' => 'poll_remove', 'image' => 'admin_remove_poll.png', 'custom' => 'data-confirm="' . $txt['poll_remove_warn'] . '"', 'class' => 'you_sure', 'url' => $scripturl . '?action=removepoll;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
864
+		}
840 865
 
841 866
 		// Allow mods to add additional buttons here
842 867
 		call_integration_hook('integrate_poll_buttons');
@@ -871,9 +896,9 @@  discard block
 block discarded – undo
871 896
 	{
872 897
 		$start_char = 'C';
873 898
 		$page_id = $context['topicinfo']['id_first_msg'];
899
+	} else {
900
+			$start_char = null;
874 901
 	}
875
-	else
876
-		$start_char = null;
877 902
 
878 903
 	$limit = $context['messages_per_page'];
879 904
 
@@ -888,17 +913,17 @@  discard block
 block discarded – undo
888 913
 		{
889 914
 			$ascending = true;
890 915
 			$page_operator = '>=';
891
-		}
892
-		else
916
+		} else
893 917
 		{
894 918
 			$ascending = false;
895 919
 			$page_operator = '<=';
896 920
 		}
897 921
 
898
-		if ($start_char === 'C')
899
-			$limit_seek = $limit;
900
-		else
901
-			$limit_seek  = $limit + 1;
922
+		if ($start_char === 'C') {
923
+					$limit_seek = $limit;
924
+		} else {
925
+					$limit_seek  = $limit + 1;
926
+		}
902 927
 
903 928
 		$request = $smcFunc['db_query']('', '
904 929
 			SELECT id_msg, id_member, approved
@@ -921,21 +946,23 @@  discard block
 block discarded – undo
921 946
 		$found_msg = false;
922 947
 
923 948
 		// Fallback
924
-		if ($smcFunc['db_num_rows']($request) < 1)
925
-			unset($start_char);
926
-		else
949
+		if ($smcFunc['db_num_rows']($request) < 1) {
950
+					unset($start_char);
951
+		} else
927 952
 		{
928 953
 			while ($row = $smcFunc['db_fetch_assoc']($request))
929 954
 			{
930 955
 				// Check if the start msg is in our result
931
-				if ($row['id_msg'] == $page_id)
932
-					$found_msg = true;
956
+				if ($row['id_msg'] == $page_id) {
957
+									$found_msg = true;
958
+				}
933 959
 
934 960
 				// Skip the the start msg if we not in mode C
935 961
 				if ($start_char === 'C' || $row['id_msg'] != $page_id)
936 962
 				{
937
-					if (!empty($row['id_member']))
938
-						$all_posters[$row['id_msg']] = $row['id_member'];
963
+					if (!empty($row['id_member'])) {
964
+											$all_posters[$row['id_msg']] = $row['id_member'];
965
+					}
939 966
 
940 967
 					$messages[] = $row['id_msg'];
941 968
 				}
@@ -951,8 +978,9 @@  discard block
 block discarded – undo
951 978
 		}
952 979
 
953 980
 		// Before Page bring in the right order
954
-		if (!empty($start_char) && $start_char === 'L')
955
-			krsort($messages);
981
+		if (!empty($start_char) && $start_char === 'L') {
982
+					krsort($messages);
983
+		}
956 984
 	}
957 985
 
958 986
 	// Jump to page
@@ -989,14 +1017,16 @@  discard block
 block discarded – undo
989 1017
 
990 1018
 		while ($row = $smcFunc['db_fetch_assoc']($request))
991 1019
 		{
992
-			if (!empty($row['id_member']))
993
-				$all_posters[$row['id_msg']] = $row['id_member'];
1020
+			if (!empty($row['id_member'])) {
1021
+							$all_posters[$row['id_msg']] = $row['id_member'];
1022
+			}
994 1023
 			$messages[] = $row['id_msg'];
995 1024
 		}
996 1025
 
997 1026
 		// Sort the messages into the correct display order
998
-		if (!$ascending)
999
-			sort($messages);
1027
+		if (!$ascending) {
1028
+					sort($messages);
1029
+		}
1000 1030
 	}
1001 1031
 
1002 1032
 	// Remember the paging data for next time
@@ -1016,8 +1046,9 @@  discard block
 block discarded – undo
1016 1046
 	if (!$user_info['is_guest'] && !empty($messages))
1017 1047
 	{
1018 1048
 		$mark_at_msg = max($messages);
1019
-		if ($mark_at_msg >= $context['topicinfo']['id_last_msg'])
1020
-			$mark_at_msg = $modSettings['maxMsgID'];
1049
+		if ($mark_at_msg >= $context['topicinfo']['id_last_msg']) {
1050
+					$mark_at_msg = $modSettings['maxMsgID'];
1051
+		}
1021 1052
 		if ($mark_at_msg >= $context['topicinfo']['new_from'])
1022 1053
 		{
1023 1054
 			$smcFunc['db_insert']($context['topicinfo']['new_from'] == 0 ? 'ignore' : 'replace',
@@ -1049,8 +1080,9 @@  discard block
 block discarded – undo
1049 1080
 		while ($row = $smcFunc['db_fetch_assoc']($request))
1050 1081
 		{
1051 1082
 			// Find if this topic is marked for notification...
1052
-			if (!empty($row['id_topic']))
1053
-				$context['is_marked_notify'] = true;
1083
+			if (!empty($row['id_topic'])) {
1084
+							$context['is_marked_notify'] = true;
1085
+			}
1054 1086
 
1055 1087
 			// Only do this once, but mark the notifications as "not sent yet" for next time.
1056 1088
 			if (!empty($row['sent']) && $do_once)
@@ -1072,8 +1104,9 @@  discard block
 block discarded – undo
1072 1104
 		}
1073 1105
 
1074 1106
 		// Have we recently cached the number of new topics in this board, and it's still a lot?
1075
-		if (isset($_REQUEST['topicseen']) && isset($_SESSION['topicseen_cache'][$board]) && $_SESSION['topicseen_cache'][$board] > 5)
1076
-			$_SESSION['topicseen_cache'][$board]--;
1107
+		if (isset($_REQUEST['topicseen']) && isset($_SESSION['topicseen_cache'][$board]) && $_SESSION['topicseen_cache'][$board] > 5) {
1108
+					$_SESSION['topicseen_cache'][$board]--;
1109
+		}
1077 1110
 		// Mark board as seen if this is the only new topic.
1078 1111
 		elseif (isset($_REQUEST['topicseen']))
1079 1112
 		{
@@ -1097,14 +1130,16 @@  discard block
 block discarded – undo
1097 1130
 			$smcFunc['db_free_result']($request);
1098 1131
 
1099 1132
 			// If there're no real new topics in this board, mark the board as seen.
1100
-			if (empty($numNewTopics))
1101
-				$_REQUEST['boardseen'] = true;
1102
-			else
1103
-				$_SESSION['topicseen_cache'][$board] = $numNewTopics;
1133
+			if (empty($numNewTopics)) {
1134
+							$_REQUEST['boardseen'] = true;
1135
+			} else {
1136
+							$_SESSION['topicseen_cache'][$board] = $numNewTopics;
1137
+			}
1104 1138
 		}
1105 1139
 		// Probably one less topic - maybe not, but even if we decrease this too fast it will only make us look more often.
1106
-		elseif (isset($_SESSION['topicseen_cache'][$board]))
1107
-			$_SESSION['topicseen_cache'][$board]--;
1140
+		elseif (isset($_SESSION['topicseen_cache'][$board])) {
1141
+					$_SESSION['topicseen_cache'][$board]--;
1142
+		}
1108 1143
 
1109 1144
 		// Mark board as seen if we came using last post link from BoardIndex. (or other places...)
1110 1145
 		if (isset($_REQUEST['boardseen']))
@@ -1161,23 +1196,26 @@  discard block
 block discarded – undo
1161 1196
 			$temp = array();
1162 1197
 			while ($row = $smcFunc['db_fetch_assoc']($request))
1163 1198
 			{
1164
-				if (!$row['approved'] && $modSettings['postmod_active'] && !allowedTo('approve_posts') && (!isset($all_posters[$row['id_msg']]) || $all_posters[$row['id_msg']] != $user_info['id']))
1165
-					continue;
1199
+				if (!$row['approved'] && $modSettings['postmod_active'] && !allowedTo('approve_posts') && (!isset($all_posters[$row['id_msg']]) || $all_posters[$row['id_msg']] != $user_info['id'])) {
1200
+									continue;
1201
+				}
1166 1202
 
1167 1203
 				$temp[$row['id_attach']] = $row;
1168 1204
 				$temp[$row['id_attach']]['topic'] = $topic;
1169 1205
 				$temp[$row['id_attach']]['board'] = $board;
1170 1206
 
1171
-				if (!isset($context['loaded_attachments'][$row['id_msg']]))
1172
-					$context['loaded_attachments'][$row['id_msg']] = array();
1207
+				if (!isset($context['loaded_attachments'][$row['id_msg']])) {
1208
+									$context['loaded_attachments'][$row['id_msg']] = array();
1209
+				}
1173 1210
 			}
1174 1211
 			$smcFunc['db_free_result']($request);
1175 1212
 
1176 1213
 			// This is better than sorting it with the query...
1177 1214
 			ksort($temp);
1178 1215
 
1179
-			foreach ($temp as $row)
1180
-				$context['loaded_attachments'][$row['id_msg']][] = $row;
1216
+			foreach ($temp as $row) {
1217
+							$context['loaded_attachments'][$row['id_msg']][] = $row;
1218
+			}
1181 1219
 		}
1182 1220
 
1183 1221
 		$msg_parameters = array(
@@ -1204,21 +1242,23 @@  discard block
 block discarded – undo
1204 1242
 		);
1205 1243
 
1206 1244
 		// And the likes
1207
-		if (!empty($modSettings['enable_likes']))
1208
-			$context['my_likes'] = $context['user']['is_guest'] ? array() : prepareLikesContext($topic);
1245
+		if (!empty($modSettings['enable_likes'])) {
1246
+					$context['my_likes'] = $context['user']['is_guest'] ? array() : prepareLikesContext($topic);
1247
+		}
1209 1248
 
1210 1249
 		// Go to the last message if the given time is beyond the time of the last message.
1211
-		if (isset($context['start_from']) && $context['start_from'] >= $context['topicinfo']['num_replies'])
1212
-			$context['start_from'] = $context['topicinfo']['num_replies'];
1250
+		if (isset($context['start_from']) && $context['start_from'] >= $context['topicinfo']['num_replies']) {
1251
+					$context['start_from'] = $context['topicinfo']['num_replies'];
1252
+		}
1213 1253
 
1214 1254
 		// Since the anchor information is needed on the top of the page we load these variables beforehand.
1215 1255
 		$context['first_message'] = isset($messages[$firstIndex]) ? $messages[$firstIndex] : $messages[0];
1216
-		if (empty($options['view_newest_first']))
1217
-			$context['first_new_message'] = isset($context['start_from']) && $_REQUEST['start'] == $context['start_from'];
1218
-		else
1219
-			$context['first_new_message'] = isset($context['start_from']) && $_REQUEST['start'] == $context['topicinfo']['num_replies'] - $context['start_from'];
1220
-	}
1221
-	else
1256
+		if (empty($options['view_newest_first'])) {
1257
+					$context['first_new_message'] = isset($context['start_from']) && $_REQUEST['start'] == $context['start_from'];
1258
+		} else {
1259
+					$context['first_new_message'] = isset($context['start_from']) && $_REQUEST['start'] == $context['topicinfo']['num_replies'] - $context['start_from'];
1260
+		}
1261
+	} else
1222 1262
 	{
1223 1263
 		$messages_request = false;
1224 1264
 		$context['first_message'] = 0;
@@ -1253,8 +1293,9 @@  discard block
 block discarded – undo
1253 1293
 		'can_restore_msg' => 'move_any',
1254 1294
 		'can_like' => 'likes_like',
1255 1295
 	);
1256
-	foreach ($common_permissions as $contextual => $perm)
1257
-		$context[$contextual] = allowedTo($perm);
1296
+	foreach ($common_permissions as $contextual => $perm) {
1297
+			$context[$contextual] = allowedTo($perm);
1298
+	}
1258 1299
 
1259 1300
 	// Permissions with _any/_own versions.  $context[YYY] => ZZZ_any/_own.
1260 1301
 	$anyown_permissions = array(
@@ -1267,8 +1308,9 @@  discard block
 block discarded – undo
1267 1308
 		'can_reply_unapproved' => 'post_unapproved_replies',
1268 1309
 		'can_view_warning' => 'profile_warning',
1269 1310
 	);
1270
-	foreach ($anyown_permissions as $contextual => $perm)
1271
-		$context[$contextual] = allowedTo($perm . '_any') || ($context['user']['started'] && allowedTo($perm . '_own'));
1311
+	foreach ($anyown_permissions as $contextual => $perm) {
1312
+			$context[$contextual] = allowedTo($perm . '_any') || ($context['user']['started'] && allowedTo($perm . '_own'));
1313
+	}
1272 1314
 
1273 1315
 	if (!$user_info['is_admin'] && !$modSettings['topic_move_any'])
1274 1316
 	{
@@ -1314,8 +1356,9 @@  discard block
 block discarded – undo
1314 1356
 	// Check if the draft functions are enabled and that they have permission to use them (for quick reply.)
1315 1357
 	$context['drafts_save'] = !empty($modSettings['drafts_post_enabled']) && allowedTo('post_draft') && $context['can_reply'];
1316 1358
 	$context['drafts_autosave'] = !empty($context['drafts_save']) && !empty($modSettings['drafts_autosave_enabled']);
1317
-	if (!empty($context['drafts_save']))
1318
-		loadLanguage('Drafts');
1359
+	if (!empty($context['drafts_save'])) {
1360
+			loadLanguage('Drafts');
1361
+	}
1319 1362
 
1320 1363
 	// When was the last time this topic was replied to?  Should we warn them about it?
1321 1364
 	if (!empty($modSettings['oldTopicDays']) && ($context['can_reply'] || $context['can_reply_unapproved']) && empty($context['topicinfo']['is_sticky']))
@@ -1376,26 +1419,31 @@  discard block
 block discarded – undo
1376 1419
 	// Message icons - customized icons are off?
1377 1420
 	$context['icons'] = getMessageIcons($board);
1378 1421
 
1379
-	if (!empty($context['icons']))
1380
-		$context['icons'][count($context['icons']) - 1]['is_last'] = true;
1422
+	if (!empty($context['icons'])) {
1423
+			$context['icons'][count($context['icons']) - 1]['is_last'] = true;
1424
+	}
1381 1425
 
1382 1426
 	// Build the normal button array.
1383 1427
 	$context['normal_buttons'] = array();
1384 1428
 
1385
-	if ($context['can_reply'])
1386
-		$context['normal_buttons']['reply'] = array('text' => 'reply', 'image' => 'reply.png', 'url' => $scripturl . '?action=post;topic=' . $context['current_topic'] . '.' . $context['start'] . ';last_msg=' . $context['topic_last_message'], 'active' => true);
1429
+	if ($context['can_reply']) {
1430
+			$context['normal_buttons']['reply'] = array('text' => 'reply', 'image' => 'reply.png', 'url' => $scripturl . '?action=post;topic=' . $context['current_topic'] . '.' . $context['start'] . ';last_msg=' . $context['topic_last_message'], 'active' => true);
1431
+	}
1387 1432
 
1388
-	if ($context['can_add_poll'])
1389
-		$context['normal_buttons']['add_poll'] = array('text' => 'add_poll', 'image' => 'add_poll.png', 'url' => $scripturl . '?action=editpoll;add;topic=' . $context['current_topic'] . '.' . $context['start']);
1433
+	if ($context['can_add_poll']) {
1434
+			$context['normal_buttons']['add_poll'] = array('text' => 'add_poll', 'image' => 'add_poll.png', 'url' => $scripturl . '?action=editpoll;add;topic=' . $context['current_topic'] . '.' . $context['start']);
1435
+	}
1390 1436
 
1391
-	if ($context['can_mark_unread'])
1392
-		$context['normal_buttons']['mark_unread'] = array('text' => 'mark_unread', 'image' => 'markunread.png', 'url' => $scripturl . '?action=markasread;sa=topic;t=' . $context['mark_unread_time'] . ';topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1437
+	if ($context['can_mark_unread']) {
1438
+			$context['normal_buttons']['mark_unread'] = array('text' => 'mark_unread', 'image' => 'markunread.png', 'url' => $scripturl . '?action=markasread;sa=topic;t=' . $context['mark_unread_time'] . ';topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1439
+	}
1393 1440
 
1394
-	if ($context['can_print'])
1395
-		$context['normal_buttons']['print'] = array('text' => 'print', 'image' => 'print.png', 'custom' => 'rel="nofollow"', 'url' => $scripturl . '?action=printpage;topic=' . $context['current_topic'] . '.0');
1441
+	if ($context['can_print']) {
1442
+			$context['normal_buttons']['print'] = array('text' => 'print', 'image' => 'print.png', 'custom' => 'rel="nofollow"', 'url' => $scripturl . '?action=printpage;topic=' . $context['current_topic'] . '.0');
1443
+	}
1396 1444
 
1397
-	if ($context['can_set_notify'])
1398
-		$context['normal_buttons']['notify'] = array(
1445
+	if ($context['can_set_notify']) {
1446
+			$context['normal_buttons']['notify'] = array(
1399 1447
 			'text' => 'notify_topic_' . $context['topic_notification_mode'],
1400 1448
 			'sub_buttons' => array(
1401 1449
 				array(
@@ -1417,38 +1465,47 @@  discard block
 block discarded – undo
1417 1465
 				),
1418 1466
 			),
1419 1467
 		);
1468
+	}
1420 1469
 
1421 1470
 	// Build the mod button array
1422 1471
 	$context['mod_buttons'] = array();
1423 1472
 
1424
-	if ($context['can_move'])
1425
-		$context['mod_buttons']['move'] = array('text' => 'move_topic', 'image' => 'admin_move.png', 'url' => $scripturl . '?action=movetopic;current_board=' . $context['current_board'] . ';topic=' . $context['current_topic'] . '.0');
1473
+	if ($context['can_move']) {
1474
+			$context['mod_buttons']['move'] = array('text' => 'move_topic', 'image' => 'admin_move.png', 'url' => $scripturl . '?action=movetopic;current_board=' . $context['current_board'] . ';topic=' . $context['current_topic'] . '.0');
1475
+	}
1426 1476
 
1427
-	if ($context['can_delete'])
1428
-		$context['mod_buttons']['delete'] = array('text' => 'remove_topic', 'image' => 'admin_rem.png', 'custom' => 'data-confirm="' . $txt['are_sure_remove_topic'] . '"', 'class' => 'you_sure', 'url' => $scripturl . '?action=removetopic2;topic=' . $context['current_topic'] . '.0;' . $context['session_var'] . '=' . $context['session_id']);
1477
+	if ($context['can_delete']) {
1478
+			$context['mod_buttons']['delete'] = array('text' => 'remove_topic', 'image' => 'admin_rem.png', 'custom' => 'data-confirm="' . $txt['are_sure_remove_topic'] . '"', 'class' => 'you_sure', 'url' => $scripturl . '?action=removetopic2;topic=' . $context['current_topic'] . '.0;' . $context['session_var'] . '=' . $context['session_id']);
1479
+	}
1429 1480
 
1430
-	if ($context['can_lock'])
1431
-		$context['mod_buttons']['lock'] = array('text' => empty($context['is_locked']) ? 'set_lock' : 'set_unlock', 'image' => 'admin_lock.png', 'url' => $scripturl . '?action=lock;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1481
+	if ($context['can_lock']) {
1482
+			$context['mod_buttons']['lock'] = array('text' => empty($context['is_locked']) ? 'set_lock' : 'set_unlock', 'image' => 'admin_lock.png', 'url' => $scripturl . '?action=lock;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1483
+	}
1432 1484
 
1433
-	if ($context['can_sticky'])
1434
-		$context['mod_buttons']['sticky'] = array('text' => empty($context['is_sticky']) ? 'set_sticky' : 'set_nonsticky', 'image' => 'admin_sticky.png', 'url' => $scripturl . '?action=sticky;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1485
+	if ($context['can_sticky']) {
1486
+			$context['mod_buttons']['sticky'] = array('text' => empty($context['is_sticky']) ? 'set_sticky' : 'set_nonsticky', 'image' => 'admin_sticky.png', 'url' => $scripturl . '?action=sticky;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1487
+	}
1435 1488
 
1436
-	if ($context['can_merge'])
1437
-		$context['mod_buttons']['merge'] = array('text' => 'merge', 'image' => 'merge.png', 'url' => $scripturl . '?action=mergetopics;board=' . $context['current_board'] . '.0;from=' . $context['current_topic']);
1489
+	if ($context['can_merge']) {
1490
+			$context['mod_buttons']['merge'] = array('text' => 'merge', 'image' => 'merge.png', 'url' => $scripturl . '?action=mergetopics;board=' . $context['current_board'] . '.0;from=' . $context['current_topic']);
1491
+	}
1438 1492
 
1439
-	if ($context['calendar_post'])
1440
-		$context['mod_buttons']['calendar'] = array('text' => 'calendar_link', 'image' => 'linktocal.png', 'url' => $scripturl . '?action=post;calendar;msg=' . $context['topic_first_message'] . ';topic=' . $context['current_topic'] . '.0');
1493
+	if ($context['calendar_post']) {
1494
+			$context['mod_buttons']['calendar'] = array('text' => 'calendar_link', 'image' => 'linktocal.png', 'url' => $scripturl . '?action=post;calendar;msg=' . $context['topic_first_message'] . ';topic=' . $context['current_topic'] . '.0');
1495
+	}
1441 1496
 
1442 1497
 	// Restore topic. eh?  No monkey business.
1443
-	if ($context['can_restore_topic'])
1444
-		$context['mod_buttons']['restore_topic'] = array('text' => 'restore_topic', 'image' => '', 'url' => $scripturl . '?action=restoretopic;topics=' . $context['current_topic'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1498
+	if ($context['can_restore_topic']) {
1499
+			$context['mod_buttons']['restore_topic'] = array('text' => 'restore_topic', 'image' => '', 'url' => $scripturl . '?action=restoretopic;topics=' . $context['current_topic'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1500
+	}
1445 1501
 
1446 1502
 	// Show a message in case a recently posted message became unapproved.
1447 1503
 	$context['becomesUnapproved'] = !empty($_SESSION['becomesUnapproved']) ? true : false;
1448 1504
 
1449 1505
 	// Don't want to show this forever...
1450
-	if ($context['becomesUnapproved'])
1451
-		unset($_SESSION['becomesUnapproved']);
1506
+	if ($context['becomesUnapproved']) {
1507
+			unset($_SESSION['becomesUnapproved']);
1508
+	}
1452 1509
 
1453 1510
 	// Allow adding new mod buttons easily.
1454 1511
 	// Note: $context['normal_buttons'] and $context['mod_buttons'] are added for backward compatibility with 2.0, but are deprecated and should not be used
@@ -1457,12 +1514,14 @@  discard block
 block discarded – undo
1457 1514
 	call_integration_hook('integrate_mod_buttons', array(&$context['mod_buttons']));
1458 1515
 
1459 1516
 	// Load the drafts js file
1460
-	if ($context['drafts_autosave'])
1461
-		loadJavaScriptFile('drafts.js', array('defer' => false), 'smf_drafts');
1517
+	if ($context['drafts_autosave']) {
1518
+			loadJavaScriptFile('drafts.js', array('defer' => false), 'smf_drafts');
1519
+	}
1462 1520
 
1463 1521
 	// Spellcheck
1464
-	if ($context['show_spellchecking'])
1465
-		loadJavaScriptFile('spellcheck.js', array('defer' => false), 'smf_spellcheck');
1522
+	if ($context['show_spellchecking']) {
1523
+			loadJavaScriptFile('spellcheck.js', array('defer' => false), 'smf_spellcheck');
1524
+	}
1466 1525
 
1467 1526
 	// topic.js
1468 1527
 	loadJavaScriptFile('topic.js', array('defer' => false), 'smf_topic');
@@ -1496,16 +1555,19 @@  discard block
 block discarded – undo
1496 1555
 	static $counter = null;
1497 1556
 
1498 1557
 	// If the query returned false, bail.
1499
-	if ($messages_request == false)
1500
-		return false;
1558
+	if ($messages_request == false) {
1559
+			return false;
1560
+	}
1501 1561
 
1502 1562
 	// Remember which message this is.  (ie. reply #83)
1503
-	if ($counter === null || $reset)
1504
-		$counter = empty($options['view_newest_first']) ? $context['start'] : $context['total_visible_posts'] - $context['start'];
1563
+	if ($counter === null || $reset) {
1564
+			$counter = empty($options['view_newest_first']) ? $context['start'] : $context['total_visible_posts'] - $context['start'];
1565
+	}
1505 1566
 
1506 1567
 	// Start from the beginning...
1507
-	if ($reset)
1508
-		return @$smcFunc['db_data_seek']($messages_request, 0);
1568
+	if ($reset) {
1569
+			return @$smcFunc['db_data_seek']($messages_request, 0);
1570
+	}
1509 1571
 
1510 1572
 	// Attempt to get the next message.
1511 1573
 	$message = $smcFunc['db_fetch_assoc']($messages_request);
@@ -1519,19 +1581,21 @@  discard block
 block discarded – undo
1519 1581
 	if (empty($context['icon_sources']))
1520 1582
 	{
1521 1583
 		$context['icon_sources'] = array();
1522
-		foreach ($context['stable_icons'] as $icon)
1523
-			$context['icon_sources'][$icon] = 'images_url';
1584
+		foreach ($context['stable_icons'] as $icon) {
1585
+					$context['icon_sources'][$icon] = 'images_url';
1586
+		}
1524 1587
 	}
1525 1588
 
1526 1589
 	// Message Icon Management... check the images exist.
1527 1590
 	if (empty($modSettings['messageIconChecks_disable']))
1528 1591
 	{
1529 1592
 		// If the current icon isn't known, then we need to do something...
1530
-		if (!isset($context['icon_sources'][$message['icon']]))
1531
-			$context['icon_sources'][$message['icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $message['icon'] . '.png') ? 'images_url' : 'default_images_url';
1593
+		if (!isset($context['icon_sources'][$message['icon']])) {
1594
+					$context['icon_sources'][$message['icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $message['icon'] . '.png') ? 'images_url' : 'default_images_url';
1595
+		}
1596
+	} elseif (!isset($context['icon_sources'][$message['icon']])) {
1597
+			$context['icon_sources'][$message['icon']] = 'images_url';
1532 1598
 	}
1533
-	elseif (!isset($context['icon_sources'][$message['icon']]))
1534
-		$context['icon_sources'][$message['icon']] = 'images_url';
1535 1599
 
1536 1600
 	// If you're a lazy bum, you probably didn't give a subject...
1537 1601
 	$message['subject'] = $message['subject'] != '' ? $message['subject'] : $txt['no_subject'];
@@ -1556,8 +1620,7 @@  discard block
 block discarded – undo
1556 1620
 		$memberContext[$message['id_member']]['email'] = $message['poster_email'];
1557 1621
 		$memberContext[$message['id_member']]['show_email'] = allowedTo('moderate_forum');
1558 1622
 		$memberContext[$message['id_member']]['is_guest'] = true;
1559
-	}
1560
-	else
1623
+	} else
1561 1624
 	{
1562 1625
 		// Define this here to make things a bit more readable
1563 1626
 		$can_view_warning = $context['user']['can_mod'] || allowedTo('view_warning_any') || ($message['id_member'] == $user_info['id'] && allowedTo('view_warning_own'));
@@ -1580,8 +1643,9 @@  discard block
 block discarded – undo
1580 1643
 	$message['body'] = parse_bbc($message['body'], $message['smileys_enabled'], $message['id_msg']);
1581 1644
 
1582 1645
 	// If it's in the recycle bin we need to override whatever icon we did have.
1583
-	if (!empty($board_info['recycle']))
1584
-		$message['icon'] = 'recycled';
1646
+	if (!empty($board_info['recycle'])) {
1647
+			$message['icon'] = 'recycled';
1648
+	}
1585 1649
 
1586 1650
 	require_once($sourcedir . '/Subs-Attachments.php');
1587 1651
 
@@ -1625,32 +1689,36 @@  discard block
 block discarded – undo
1625 1689
 	}
1626 1690
 
1627 1691
 	// Are likes enable?
1628
-	if (!empty($modSettings['enable_likes']))
1629
-		$output['likes'] = array(
1692
+	if (!empty($modSettings['enable_likes'])) {
1693
+			$output['likes'] = array(
1630 1694
 			'count' => $message['likes'],
1631 1695
 			'you' => in_array($message['id_msg'], $context['my_likes']),
1632 1696
 			'can_like' => !$context['user']['is_guest'] && $message['id_member'] != $context['user']['id'] && !empty($context['can_like']),
1633 1697
 		);
1698
+	}
1634 1699
 
1635 1700
 	// Is this user the message author?
1636 1701
 	$output['is_message_author'] = $message['id_member'] == $user_info['id'];
1637
-	if (!empty($output['modified']['name']))
1638
-		$output['modified']['last_edit_text'] = sprintf($txt['last_edit_by'], $output['modified']['time'], $output['modified']['name']);
1702
+	if (!empty($output['modified']['name'])) {
1703
+			$output['modified']['last_edit_text'] = sprintf($txt['last_edit_by'], $output['modified']['time'], $output['modified']['name']);
1704
+	}
1639 1705
 
1640 1706
 	// Did they give a reason for editing?
1641
-	if (!empty($output['modified']['name']) && !empty($output['modified']['reason']))
1642
-		$output['modified']['last_edit_text'] .= '&nbsp;' . sprintf($txt['last_edit_reason'], $output['modified']['reason']);
1707
+	if (!empty($output['modified']['name']) && !empty($output['modified']['reason'])) {
1708
+			$output['modified']['last_edit_text'] .= '&nbsp;' . sprintf($txt['last_edit_reason'], $output['modified']['reason']);
1709
+	}
1643 1710
 
1644 1711
 	// Any custom profile fields?
1645
-	if (!empty($memberContext[$message['id_member']]['custom_fields']))
1646
-		foreach ($memberContext[$message['id_member']]['custom_fields'] as $custom)
1712
+	if (!empty($memberContext[$message['id_member']]['custom_fields'])) {
1713
+			foreach ($memberContext[$message['id_member']]['custom_fields'] as $custom)
1647 1714
 			$output['custom_fields'][$context['cust_profile_fields_placement'][$custom['placement']]][] = $custom;
1715
+	}
1648 1716
 
1649
-	if (empty($options['view_newest_first']))
1650
-		$counter++;
1651
-
1652
-	else
1653
-		$counter--;
1717
+	if (empty($options['view_newest_first'])) {
1718
+			$counter++;
1719
+	} else {
1720
+			$counter--;
1721
+	}
1654 1722
 
1655 1723
 	call_integration_hook('integrate_prepare_display_context', array(&$output, &$message, $counter));
1656 1724
 
@@ -1676,21 +1744,23 @@  discard block
 block discarded – undo
1676 1744
 	$context['no_last_modified'] = true;
1677 1745
 
1678 1746
 	// Prevent a preview image from being displayed twice.
1679
-	if (isset($_GET['action']) && $_GET['action'] == 'dlattach' && isset($_GET['type']) && ($_GET['type'] == 'avatar' || $_GET['type'] == 'preview'))
1680
-		return;
1747
+	if (isset($_GET['action']) && $_GET['action'] == 'dlattach' && isset($_GET['type']) && ($_GET['type'] == 'avatar' || $_GET['type'] == 'preview')) {
1748
+			return;
1749
+	}
1681 1750
 
1682 1751
 	// Make sure some attachment was requested!
1683
-	if (!isset($_REQUEST['attach']) && !isset($_REQUEST['id']))
1684
-		fatal_lang_error('no_access', false);
1752
+	if (!isset($_REQUEST['attach']) && !isset($_REQUEST['id'])) {
1753
+			fatal_lang_error('no_access', false);
1754
+	}
1685 1755
 
1686 1756
 	$_REQUEST['attach'] = isset($_REQUEST['attach']) ? (int) $_REQUEST['attach'] : (int) $_REQUEST['id'];
1687 1757
 
1688 1758
 	// Do we have a hook wanting to use our attachment system? We use $attachRequest to prevent accidental usage of $request.
1689 1759
 	$attachRequest = null;
1690 1760
 	call_integration_hook('integrate_download_request', array(&$attachRequest));
1691
-	if (!is_null($attachRequest) && $smcFunc['db_is_resource']($attachRequest))
1692
-		$request = $attachRequest;
1693
-	else
1761
+	if (!is_null($attachRequest) && $smcFunc['db_is_resource']($attachRequest)) {
1762
+			$request = $attachRequest;
1763
+	} else
1694 1764
 	{
1695 1765
 		// This checks only the current board for $board/$topic's permissions.
1696 1766
 		isAllowedTo('view_attachments');
@@ -1711,19 +1781,21 @@  discard block
 block discarded – undo
1711 1781
 		);
1712 1782
 	}
1713 1783
 
1714
-	if ($smcFunc['db_num_rows']($request) == 0)
1715
-		fatal_lang_error('no_access', false);
1784
+	if ($smcFunc['db_num_rows']($request) == 0) {
1785
+			fatal_lang_error('no_access', false);
1786
+	}
1716 1787
 
1717 1788
 	list ($id_folder, $real_filename, $file_hash, $file_ext, $id_attach, $attachment_type, $mime_type, $is_approved, $id_member) = $smcFunc['db_fetch_row']($request);
1718 1789
 	$smcFunc['db_free_result']($request);
1719 1790
 
1720 1791
 	// If it isn't yet approved, do they have permission to view it?
1721
-	if (!$is_approved && ($id_member == 0 || $user_info['id'] != $id_member) && ($attachment_type == 0 || $attachment_type == 3))
1722
-		isAllowedTo('approve_posts');
1792
+	if (!$is_approved && ($id_member == 0 || $user_info['id'] != $id_member) && ($attachment_type == 0 || $attachment_type == 3)) {
1793
+			isAllowedTo('approve_posts');
1794
+	}
1723 1795
 
1724 1796
 	// Update the download counter (unless it's a thumbnail).
1725
-	if ($attachment_type != 3)
1726
-		$smcFunc['db_query']('attach_download_increase', '
1797
+	if ($attachment_type != 3) {
1798
+			$smcFunc['db_query']('attach_download_increase', '
1727 1799
 			UPDATE LOW_PRIORITY {db_prefix}attachments
1728 1800
 			SET downloads = downloads + 1
1729 1801
 			WHERE id_attach = {int:id_attach}',
@@ -1731,15 +1803,15 @@  discard block
 block discarded – undo
1731 1803
 				'id_attach' => $id_attach,
1732 1804
 			)
1733 1805
 		);
1806
+	}
1734 1807
 
1735 1808
 	$filename = getAttachmentFilename($real_filename, $_REQUEST['attach'], $id_folder, false, $file_hash);
1736 1809
 
1737 1810
 	// This is done to clear any output that was made before now.
1738 1811
 	ob_end_clean();
1739
-	if (!empty($modSettings['enableCompressedOutput']) && @filesize($filename) <= 4194304 && in_array($file_ext, array('txt', 'html', 'htm', 'js', 'doc', 'docx', 'rtf', 'css', 'php', 'log', 'xml', 'sql', 'c', 'java')))
1740
-		@ob_start('ob_gzhandler');
1741
-
1742
-	else
1812
+	if (!empty($modSettings['enableCompressedOutput']) && @filesize($filename) <= 4194304 && in_array($file_ext, array('txt', 'html', 'htm', 'js', 'doc', 'docx', 'rtf', 'css', 'php', 'log', 'xml', 'sql', 'c', 'java'))) {
1813
+			@ob_start('ob_gzhandler');
1814
+	} else
1743 1815
 	{
1744 1816
 		ob_start();
1745 1817
 		header('Content-Encoding: none');
@@ -1782,8 +1854,9 @@  discard block
 block discarded – undo
1782 1854
 	// Send the attachment headers.
1783 1855
 	header('Pragma: ');
1784 1856
 
1785
-	if (!isBrowser('gecko'))
1786
-		header('Content-Transfer-Encoding: binary');
1857
+	if (!isBrowser('gecko')) {
1858
+			header('Content-Transfer-Encoding: binary');
1859
+	}
1787 1860
 
1788 1861
 	header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 525600 * 60) . ' GMT');
1789 1862
 	header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($filename)) . ' GMT');
@@ -1792,18 +1865,19 @@  discard block
 block discarded – undo
1792 1865
 	header('ETag: ' . $eTag);
1793 1866
 
1794 1867
 	// Make sure the mime type warrants an inline display.
1795
-	if (isset($_REQUEST['image']) && !empty($mime_type) && strpos($mime_type, 'image/') !== 0)
1796
-		unset($_REQUEST['image']);
1868
+	if (isset($_REQUEST['image']) && !empty($mime_type) && strpos($mime_type, 'image/') !== 0) {
1869
+			unset($_REQUEST['image']);
1870
+	}
1797 1871
 
1798 1872
 	// Does this have a mime type?
1799
-	elseif (!empty($mime_type) && (isset($_REQUEST['image']) || !in_array($file_ext, array('jpg', 'gif', 'jpeg', 'x-ms-bmp', 'png', 'psd', 'tiff', 'iff'))))
1800
-		header('Content-Type: ' . strtr($mime_type, array('image/bmp' => 'image/x-ms-bmp')));
1801
-
1802
-	else
1873
+	elseif (!empty($mime_type) && (isset($_REQUEST['image']) || !in_array($file_ext, array('jpg', 'gif', 'jpeg', 'x-ms-bmp', 'png', 'psd', 'tiff', 'iff')))) {
1874
+			header('Content-Type: ' . strtr($mime_type, array('image/bmp' => 'image/x-ms-bmp')));
1875
+	} else
1803 1876
 	{
1804 1877
 		header('Content-Type: ' . (isBrowser('ie') || isBrowser('opera') ? 'application/octetstream' : 'application/octet-stream'));
1805
-		if (isset($_REQUEST['image']))
1806
-			unset($_REQUEST['image']);
1878
+		if (isset($_REQUEST['image'])) {
1879
+					unset($_REQUEST['image']);
1880
+		}
1807 1881
 	}
1808 1882
 
1809 1883
 	// Convert the file to UTF-8, cuz most browsers dig that.
@@ -1811,23 +1885,22 @@  discard block
 block discarded – undo
1811 1885
 	$disposition = !isset($_REQUEST['image']) ? 'attachment' : 'inline';
1812 1886
 
1813 1887
 	// Different browsers like different standards...
1814
-	if (isBrowser('firefox'))
1815
-		header('Content-Disposition: ' . $disposition . '; filename*=UTF-8\'\'' . rawurlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)));
1816
-
1817
-	elseif (isBrowser('opera'))
1818
-		header('Content-Disposition: ' . $disposition . '; filename="' . preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name) . '"');
1819
-
1820
-	elseif (isBrowser('ie'))
1821
-		header('Content-Disposition: ' . $disposition . '; filename="' . urlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)) . '"');
1822
-
1823
-	else
1824
-		header('Content-Disposition: ' . $disposition . '; filename="' . $utf8name . '"');
1888
+	if (isBrowser('firefox')) {
1889
+			header('Content-Disposition: ' . $disposition . '; filename*=UTF-8\'\'' . rawurlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)));
1890
+	} elseif (isBrowser('opera')) {
1891
+			header('Content-Disposition: ' . $disposition . '; filename="' . preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name) . '"');
1892
+	} elseif (isBrowser('ie')) {
1893
+			header('Content-Disposition: ' . $disposition . '; filename="' . urlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)) . '"');
1894
+	} else {
1895
+			header('Content-Disposition: ' . $disposition . '; filename="' . $utf8name . '"');
1896
+	}
1825 1897
 
1826 1898
 	// If this has an "image extension" - but isn't actually an image - then ensure it isn't cached cause of silly IE.
1827
-	if (!isset($_REQUEST['image']) && in_array($file_ext, array('gif', 'jpg', 'bmp', 'png', 'jpeg', 'tiff')))
1828
-		header('Cache-Control: no-cache');
1829
-	else
1830
-		header('Cache-Control: max-age=' . (525600 * 60) . ', private');
1899
+	if (!isset($_REQUEST['image']) && in_array($file_ext, array('gif', 'jpg', 'bmp', 'png', 'jpeg', 'tiff'))) {
1900
+			header('Cache-Control: no-cache');
1901
+	} else {
1902
+			header('Cache-Control: max-age=' . (525600 * 60) . ', private');
1903
+	}
1831 1904
 
1832 1905
 	header('Content-Length: ' . filesize($filename));
1833 1906
 
@@ -1837,20 +1910,23 @@  discard block
 block discarded – undo
1837 1910
 	// Recode line endings for text files, if enabled.
1838 1911
 	if (!empty($modSettings['attachmentRecodeLineEndings']) && !isset($_REQUEST['image']) && in_array($file_ext, array('txt', 'css', 'htm', 'html', 'php', 'xml')))
1839 1912
 	{
1840
-		if (strpos($_SERVER['HTTP_USER_AGENT'], 'Windows') !== false)
1841
-			$callback = function($buffer)
1913
+		if (strpos($_SERVER['HTTP_USER_AGENT'], 'Windows') !== false) {
1914
+					$callback = function($buffer)
1842 1915
 			{
1843 1916
 				return preg_replace('~[\r]?\n~', "\r\n", $buffer);
1917
+		}
1844 1918
 			};
1845
-		elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Mac') !== false)
1846
-			$callback = function($buffer)
1919
+		elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Mac') !== false) {
1920
+					$callback = function($buffer)
1847 1921
 			{
1848 1922
 				return preg_replace('~[\r]?\n~', "\r", $buffer);
1923
+		}
1849 1924
 			};
1850
-		else
1851
-			$callback = function($buffer)
1925
+		else {
1926
+					$callback = function($buffer)
1852 1927
 			{
1853 1928
 				return preg_replace('~[\r]?\n~', "\n", $buffer);
1929
+		}
1854 1930
 			};
1855 1931
 	}
1856 1932
 
@@ -1858,23 +1934,26 @@  discard block
 block discarded – undo
1858 1934
 	if (filesize($filename) > 4194304)
1859 1935
 	{
1860 1936
 		// Forcibly end any output buffering going on.
1861
-		while (@ob_get_level() > 0)
1862
-			@ob_end_clean();
1937
+		while (@ob_get_level() > 0) {
1938
+					@ob_end_clean();
1939
+		}
1863 1940
 
1864 1941
 		$fp = fopen($filename, 'rb');
1865 1942
 		while (!feof($fp))
1866 1943
 		{
1867
-			if (isset($callback))
1868
-				echo $callback(fread($fp, 8192));
1869
-			else
1870
-				echo fread($fp, 8192);
1944
+			if (isset($callback)) {
1945
+							echo $callback(fread($fp, 8192));
1946
+			} else {
1947
+							echo fread($fp, 8192);
1948
+			}
1871 1949
 			flush();
1872 1950
 		}
1873 1951
 		fclose($fp);
1874 1952
 	}
1875 1953
 	// On some of the less-bright hosts, readfile() is disabled.  It's just a faster, more byte safe, version of what's in the if.
1876
-	elseif (isset($callback) || @readfile($filename) === null)
1877
-		echo isset($callback) ? $callback(file_get_contents($filename)) : file_get_contents($filename);
1954
+	elseif (isset($callback) || @readfile($filename) === null) {
1955
+			echo isset($callback) ? $callback(file_get_contents($filename)) : file_get_contents($filename);
1956
+	}
1878 1957
 
1879 1958
 	obExit(false);
1880 1959
 }
@@ -1887,8 +1966,9 @@  discard block
 block discarded – undo
1887 1966
  */
1888 1967
 function approved_attach_sort($a, $b)
1889 1968
 {
1890
-	if ($a['is_approved'] == $b['is_approved'])
1891
-		return 0;
1969
+	if ($a['is_approved'] == $b['is_approved']) {
1970
+			return 0;
1971
+	}
1892 1972
 
1893 1973
 	return $a['is_approved'] > $b['is_approved'] ? -1 : 1;
1894 1974
 }
@@ -1905,16 +1985,19 @@  discard block
 block discarded – undo
1905 1985
 
1906 1986
 	require_once($sourcedir . '/RemoveTopic.php');
1907 1987
 
1908
-	if (empty($_REQUEST['msgs']))
1909
-		redirectexit('topic=' . $topic . '.' . $_REQUEST['start']);
1988
+	if (empty($_REQUEST['msgs'])) {
1989
+			redirectexit('topic=' . $topic . '.' . $_REQUEST['start']);
1990
+	}
1910 1991
 
1911 1992
 	$messages = array();
1912
-	foreach ($_REQUEST['msgs'] as $dummy)
1913
-		$messages[] = (int) $dummy;
1993
+	foreach ($_REQUEST['msgs'] as $dummy) {
1994
+			$messages[] = (int) $dummy;
1995
+	}
1914 1996
 
1915 1997
 	// We are restoring messages. We handle this in another place.
1916
-	if (isset($_REQUEST['restore_selected']))
1917
-		redirectexit('action=restoretopic;msgs=' . implode(',', $messages) . ';' . $context['session_var'] . '=' . $context['session_id']);
1998
+	if (isset($_REQUEST['restore_selected'])) {
1999
+			redirectexit('action=restoretopic;msgs=' . implode(',', $messages) . ';' . $context['session_var'] . '=' . $context['session_id']);
2000
+	}
1918 2001
 	if (isset($_REQUEST['split_selection']))
1919 2002
 	{
1920 2003
 		$request = $smcFunc['db_query']('', '
@@ -1933,8 +2016,9 @@  discard block
 block discarded – undo
1933 2016
 	}
1934 2017
 
1935 2018
 	// Allowed to delete any message?
1936
-	if (allowedTo('delete_any'))
1937
-		$allowed_all = true;
2019
+	if (allowedTo('delete_any')) {
2020
+			$allowed_all = true;
2021
+	}
1938 2022
 	// Allowed to delete replies to their messages?
1939 2023
 	elseif (allowedTo('delete_replies'))
1940 2024
 	{
@@ -1951,13 +2035,14 @@  discard block
 block discarded – undo
1951 2035
 		$smcFunc['db_free_result']($request);
1952 2036
 
1953 2037
 		$allowed_all = $starter == $user_info['id'];
2038
+	} else {
2039
+			$allowed_all = false;
1954 2040
 	}
1955
-	else
1956
-		$allowed_all = false;
1957 2041
 
1958 2042
 	// Make sure they're allowed to delete their own messages, if not any.
1959
-	if (!$allowed_all)
1960
-		isAllowedTo('delete_own');
2043
+	if (!$allowed_all) {
2044
+			isAllowedTo('delete_own');
2045
+	}
1961 2046
 
1962 2047
 	// Allowed to remove which messages?
1963 2048
 	$request = $smcFunc['db_query']('', '
@@ -1977,8 +2062,9 @@  discard block
 block discarded – undo
1977 2062
 	$messages = array();
1978 2063
 	while ($row = $smcFunc['db_fetch_assoc']($request))
1979 2064
 	{
1980
-		if (!$allowed_all && !empty($modSettings['edit_disable_time']) && $row['poster_time'] + $modSettings['edit_disable_time'] * 60 < time())
1981
-			continue;
2065
+		if (!$allowed_all && !empty($modSettings['edit_disable_time']) && $row['poster_time'] + $modSettings['edit_disable_time'] * 60 < time()) {
2066
+					continue;
2067
+		}
1982 2068
 
1983 2069
 		$messages[$row['id_msg']] = array($row['subject'], $row['id_member']);
1984 2070
 	}
@@ -2001,17 +2087,20 @@  discard block
 block discarded – undo
2001 2087
 	foreach ($messages as $message => $info)
2002 2088
 	{
2003 2089
 		// Just skip the first message - if it's not the last.
2004
-		if ($message == $first_message && $message != $last_message)
2005
-			continue;
2090
+		if ($message == $first_message && $message != $last_message) {
2091
+					continue;
2092
+		}
2006 2093
 		// If the first message is going then don't bother going back to the topic as we're effectively deleting it.
2007
-		elseif ($message == $first_message)
2008
-			$topicGone = true;
2094
+		elseif ($message == $first_message) {
2095
+					$topicGone = true;
2096
+		}
2009 2097
 
2010 2098
 		removeMessage($message);
2011 2099
 
2012 2100
 		// Log this moderation action ;).
2013
-		if (allowedTo('delete_any') && (!allowedTo('delete_own') || $info[1] != $user_info['id']))
2014
-			logAction('delete', array('topic' => $topic, 'subject' => $info[0], 'member' => $info[1], 'board' => $board));
2101
+		if (allowedTo('delete_any') && (!allowedTo('delete_own') || $info[1] != $user_info['id'])) {
2102
+					logAction('delete', array('topic' => $topic, 'subject' => $info[0], 'member' => $info[1], 'board' => $board));
2103
+		}
2015 2104
 	}
2016 2105
 
2017 2106
 	redirectexit(!empty($topicGone) ? 'board=' . $board : 'topic=' . $topic . '.' . $_REQUEST['start']);
Please login to merge, or discard this patch.
Sources/SearchAPI-Fulltext.php 2 patches
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -166,7 +166,7 @@  discard block
 block discarded – undo
166 166
 		$query_where = array();
167 167
 		$query_params = $search_data['params'];
168 168
 
169
-		if( $smcFunc['db_title'] == "PostgreSQL")
169
+		if ($smcFunc['db_title'] == "PostgreSQL")
170 170
 			$modSettings['search_simple_fulltext'] = true;
171 171
 
172 172
 		if ($query_params['id_search'])
@@ -209,7 +209,7 @@  discard block
 block discarded – undo
209 209
 
210 210
 		if (!empty($modSettings['search_simple_fulltext']))
211 211
 		{
212
-			if($smcFunc['db_title'] == "PostgreSQL")
212
+			if ($smcFunc['db_title'] == "PostgreSQL")
213 213
 			{
214 214
 				$language_ftx = $smcFunc['db_search_language']();
215 215
 
@@ -227,7 +227,7 @@  discard block
 block discarded – undo
227 227
 			// remove any indexed words that are used in the complex body search terms
228 228
 			$words['indexed_words'] = array_diff($words['indexed_words'], $words['complex_words']);
229 229
 
230
-			if($smcFunc['db_title'] == "PostgreSQL"){
230
+			if ($smcFunc['db_title'] == "PostgreSQL") {
231 231
 				$row = 0;
232 232
 				foreach ($words['indexed_words'] as $fulltextWord) {
233 233
 					$query_params['boolean_match'] .= ($row <> 0 ? '&' : '');
@@ -243,7 +243,7 @@  discard block
 block discarded – undo
243 243
 
244 244
 			// if we have bool terms to search, add them in
245 245
 			if ($query_params['boolean_match']) {
246
-				if($smcFunc['db_title'] == "PostgreSQL")
246
+				if ($smcFunc['db_title'] == "PostgreSQL")
247 247
 				{
248 248
 					$language_ftx = $smcFunc['db_search_language']();
249 249
 
@@ -256,7 +256,7 @@  discard block
 block discarded – undo
256 256
 
257 257
 		}
258 258
 
259
-		$ignoreRequest = $smcFunc['db_search_query']('insert_into_log_messages_fulltext', ($smcFunc['db_support_ignore'] ? ( '
259
+		$ignoreRequest = $smcFunc['db_search_query']('insert_into_log_messages_fulltext', ($smcFunc['db_support_ignore'] ? ('
260 260
 			INSERT IGNORE INTO {db_prefix}' . $search_data['insert_into'] . '
261 261
 				(' . implode(', ', array_keys($query_select)) . ')') : '') . '
262 262
 			SELECT ' . implode(', ', $query_select) . '
Please login to merge, or discard this patch.
Braces   +47 added lines, -36 removed lines patch added patch discarded remove patch
@@ -11,8 +11,9 @@  discard block
 block discarded – undo
11 11
  * @version 2.1 Beta 4
12 12
  */
13 13
 
14
-if (!defined('SMF'))
14
+if (!defined('SMF')) {
15 15
 	die('No direct access...');
16
+}
16 17
 
17 18
 /**
18 19
  * Class fulltext_search
@@ -98,8 +99,9 @@  discard block
 block discarded – undo
98 99
 			$smcFunc['db_free_result']($request);
99 100
 		}
100 101
 		// 4 is the MySQL default...
101
-		else
102
-			$min_word_length = 4;
102
+		else {
103
+					$min_word_length = 4;
104
+		}
103 105
 
104 106
 		return $min_word_length;
105 107
 	}
@@ -138,8 +140,7 @@  discard block
 block discarded – undo
138 140
 					$wordsSearch['words'][] = trim($word, "/*- ");
139 141
 					$wordsSearch['complex_words'][] = count($subwords) === 1 ? $word : '"' . $word . '"';
140 142
 				}
141
-			}
142
-			elseif ($smcFunc['strlen'](trim($word, "/*- ")) < $this->min_word_length)
143
+			} elseif ($smcFunc['strlen'](trim($word, "/*- ")) < $this->min_word_length)
143 144
 			{
144 145
 				// short words have feelings too
145 146
 				$wordsSearch['words'][] = trim($word, "/*- ");
@@ -149,8 +150,9 @@  discard block
 block discarded – undo
149 150
 
150 151
 		$fulltextWord = count($subwords) === 1 ? $word : '"' . $word . '"';
151 152
 		$wordsSearch['indexed_words'][] = $fulltextWord;
152
-		if ($isExcluded)
153
-			$wordsExclude[] = $fulltextWord;
153
+		if ($isExcluded) {
154
+					$wordsExclude[] = $fulltextWord;
155
+		}
154 156
 	}
155 157
 
156 158
 	/**
@@ -166,44 +168,54 @@  discard block
 block discarded – undo
166 168
 		$query_where = array();
167 169
 		$query_params = $search_data['params'];
168 170
 
169
-		if( $smcFunc['db_title'] == "PostgreSQL")
170
-			$modSettings['search_simple_fulltext'] = true;
171
+		if( $smcFunc['db_title'] == "PostgreSQL") {
172
+					$modSettings['search_simple_fulltext'] = true;
173
+		}
171 174
 
172
-		if ($query_params['id_search'])
173
-			$query_select['id_search'] = '{int:id_search}';
175
+		if ($query_params['id_search']) {
176
+					$query_select['id_search'] = '{int:id_search}';
177
+		}
174 178
 
175 179
 		$count = 0;
176
-		if (empty($modSettings['search_simple_fulltext']))
177
-			foreach ($words['words'] as $regularWord)
180
+		if (empty($modSettings['search_simple_fulltext'])) {
181
+					foreach ($words['words'] as $regularWord)
178 182
 			{
179 183
 				$query_where[] = 'm.body' . (in_array($regularWord, $query_params['excluded_words']) ? ' NOT' : '') . (empty($modSettings['search_match_words']) || $search_data['no_regexp'] ? ' LIKE ' : 'RLIKE') . '{string:complex_body_' . $count . '}';
184
+		}
180 185
 				$query_params['complex_body_' . $count++] = empty($modSettings['search_match_words']) || $search_data['no_regexp'] ? '%' . strtr($regularWord, array('_' => '\\_', '%' => '\\%')) . '%' : '[[:<:]]' . addcslashes(preg_replace(array('/([\[\]$.+*?|{}()])/'), array('[$1]'), $regularWord), '\\\'') . '[[:>:]]';
181 186
 			}
182 187
 
183
-		if ($query_params['user_query'])
184
-			$query_where[] = '{raw:user_query}';
185
-		if ($query_params['board_query'])
186
-			$query_where[] = 'm.id_board {raw:board_query}';
188
+		if ($query_params['user_query']) {
189
+					$query_where[] = '{raw:user_query}';
190
+		}
191
+		if ($query_params['board_query']) {
192
+					$query_where[] = 'm.id_board {raw:board_query}';
193
+		}
187 194
 
188
-		if ($query_params['topic'])
189
-			$query_where[] = 'm.id_topic = {int:topic}';
190
-		if ($query_params['min_msg_id'])
191
-			$query_where[] = 'm.id_msg >= {int:min_msg_id}';
192
-		if ($query_params['max_msg_id'])
193
-			$query_where[] = 'm.id_msg <= {int:max_msg_id}';
195
+		if ($query_params['topic']) {
196
+					$query_where[] = 'm.id_topic = {int:topic}';
197
+		}
198
+		if ($query_params['min_msg_id']) {
199
+					$query_where[] = 'm.id_msg >= {int:min_msg_id}';
200
+		}
201
+		if ($query_params['max_msg_id']) {
202
+					$query_where[] = 'm.id_msg <= {int:max_msg_id}';
203
+		}
194 204
 
195 205
 		$count = 0;
196
-		if (!empty($query_params['excluded_phrases']) && empty($modSettings['search_force_index']))
197
-			foreach ($query_params['excluded_phrases'] as $phrase)
206
+		if (!empty($query_params['excluded_phrases']) && empty($modSettings['search_force_index'])) {
207
+					foreach ($query_params['excluded_phrases'] as $phrase)
198 208
 			{
199 209
 				$query_where[] = 'subject NOT ' . (empty($modSettings['search_match_words']) || $search_data['no_regexp'] ? ' LIKE ' : 'RLIKE') . '{string:exclude_subject_phrase_' . $count . '}';
210
+		}
200 211
 				$query_params['exclude_subject_phrase_' . $count++] = empty($modSettings['search_match_words']) || $search_data['no_regexp'] ? '%' . strtr($phrase, array('_' => '\\_', '%' => '\\%')) . '%' : '[[:<:]]' . addcslashes(preg_replace(array('/([\[\]$.+*?|{}()])/'), array('[$1]'), $phrase), '\\\'') . '[[:>:]]';
201 212
 			}
202 213
 		$count = 0;
203
-		if (!empty($query_params['excluded_subject_words']) && empty($modSettings['search_force_index']))
204
-			foreach ($query_params['excluded_subject_words'] as $excludedWord)
214
+		if (!empty($query_params['excluded_subject_words']) && empty($modSettings['search_force_index'])) {
215
+					foreach ($query_params['excluded_subject_words'] as $excludedWord)
205 216
 			{
206 217
 				$query_where[] = 'subject NOT ' . (empty($modSettings['search_match_words']) || $search_data['no_regexp'] ? ' LIKE ' : 'RLIKE') . '{string:exclude_subject_words_' . $count . '}';
218
+		}
207 219
 				$query_params['exclude_subject_words_' . $count++] = empty($modSettings['search_match_words']) || $search_data['no_regexp'] ? '%' . strtr($excludedWord, array('_' => '\\_', '%' => '\\%')) . '%' : '[[:<:]]' . addcslashes(preg_replace(array('/([\[\]$.+*?|{}()])/'), array('[$1]'), $excludedWord), '\\\'') . '[[:>:]]';
208 220
 			}
209 221
 
@@ -215,12 +227,11 @@  discard block
 block discarded – undo
215 227
 
216 228
 				$query_where[] = 'to_tsvector({string:language_ftx},body) @@ to_tsquery({string:language_ftx},{string:body_match})';
217 229
 				$query_params['language_ftx'] = $language_ftx;
230
+			} else {
231
+							$query_where[] = 'MATCH (body) AGAINST ({string:body_match})';
218 232
 			}
219
-			else
220
-				$query_where[] = 'MATCH (body) AGAINST ({string:body_match})';
221 233
 			$query_params['body_match'] = implode(' ', array_diff($words['indexed_words'], $query_params['excluded_index_words']));
222
-		}
223
-		else
234
+		} else
224 235
 		{
225 236
 			$query_params['boolean_match'] = '';
226 237
 
@@ -234,10 +245,10 @@  discard block
 block discarded – undo
234 245
 					$query_params['boolean_match'] .= (in_array($fulltextWord, $query_params['excluded_index_words']) ? '!' : '') . $fulltextWord . ' ';
235 246
 					$row++;
236 247
 				}
237
-			}
238
-			else
239
-				foreach ($words['indexed_words'] as $fulltextWord)
248
+			} else {
249
+							foreach ($words['indexed_words'] as $fulltextWord)
240 250
 					$query_params['boolean_match'] .= (in_array($fulltextWord, $query_params['excluded_index_words']) ? '-' : '+') . $fulltextWord . ' ';
251
+			}
241 252
 
242 253
 			$query_params['boolean_match'] = substr($query_params['boolean_match'], 0, -1);
243 254
 
@@ -249,9 +260,9 @@  discard block
 block discarded – undo
249 260
 
250 261
 					$query_where[] = 'to_tsvector({string:language_ftx},body) @@ to_tsquery({string:language_ftx},{string:boolean_match})';
251 262
 					$query_params['language_ftx'] = $language_ftx;
263
+				} else {
264
+									$query_where[] = 'MATCH (body) AGAINST ({string:boolean_match} IN BOOLEAN MODE)';
252 265
 				}
253
-				else
254
-					$query_where[] = 'MATCH (body) AGAINST ({string:boolean_match} IN BOOLEAN MODE)';
255 266
 			}
256 267
 
257 268
 		}
Please login to merge, or discard this patch.
Themes/default/ManageAttachments.template.php 1 patch
Braces   +20 added lines, -14 removed lines patch added patch discarded remove patch
@@ -116,9 +116,10 @@  discard block
 block discarded – undo
116 116
 				<h3 class="catbg">', $txt['attachment_transfer'], '</h3>
117 117
 			</div>';
118 118
 
119
-	if (!empty($context['results']))
120
-		echo '
119
+	if (!empty($context['results'])) {
120
+			echo '
121 121
 			<div class="noticebox">', $context['results'], '</div>';
122
+	}
122 123
 
123 124
 	echo '
124 125
 			<div class="windowbg2 noup">
@@ -129,9 +130,10 @@  discard block
 block discarded – undo
129 130
 						<dd><select name="from">
130 131
 							<option value="0">', $txt['attachment_transfer_select'], '</option>';
131 132
 
132
-	foreach ($context['attach_dirs'] as $id => $dir)
133
-		echo '
133
+	foreach ($context['attach_dirs'] as $id => $dir) {
134
+			echo '
134 135
 							<option value="', $id, '">', $dir, '</option>';
136
+	}
135 137
 	echo '
136 138
 						</select></dd>
137 139
 						<dt>', $txt['attachment_transfer_auto'], '</dt>
@@ -139,13 +141,14 @@  discard block
 block discarded – undo
139 141
 							<option value="0">', $txt['attachment_transfer_auto_select'], '</option>
140 142
 							<option value="-1">', $txt['attachment_transfer_forum_root'], '</option>';
141 143
 
142
-	if (!empty($context['base_dirs']))
143
-		foreach ($context['base_dirs'] as $id => $dir)
144
+	if (!empty($context['base_dirs'])) {
145
+			foreach ($context['base_dirs'] as $id => $dir)
144 146
 			echo '
145 147
 							<option value="', $id, '">', $dir, '</option>';
146
-	else
147
-			echo '
148
+	} else {
149
+				echo '
148 150
 							<option value="0" disabled>', $txt['attachment_transfer_no_base'], '</option>';
151
+	}
149 152
 
150 153
 	echo '
151 154
 						</select></dd>
@@ -153,16 +156,18 @@  discard block
 block discarded – undo
153 156
 						<dd><select name="to">
154 157
 							<option value="0">', $txt['attachment_transfer_select'], '</option>';
155 158
 
156
-	foreach ($context['attach_dirs'] as $id => $dir)
157
-		echo '
159
+	foreach ($context['attach_dirs'] as $id => $dir) {
160
+			echo '
158 161
 							<option value="', $id, '">', $dir, '</option>';
162
+	}
159 163
 	echo '
160 164
 						</select></dd>';
161 165
 
162
-	if (!empty($modSettings['attachmentDirFileLimit']))
163
-		echo '
166
+	if (!empty($modSettings['attachmentDirFileLimit'])) {
167
+			echo '
164 168
 						<dt>', $txt['attachment_transfer_empty'], '</dt>
165 169
 						<dd><input type="checkbox" name="empty_it"', $context['checked'] ? ' checked' : '', '></dd>';
170
+	}
166 171
 	echo '
167 172
 					</dl>
168 173
 					<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -238,10 +243,11 @@  discard block
 block discarded – undo
238 243
 		// Loop through each error reporting the status
239 244
 		foreach ($context['repair_errors'] as $error => $number)
240 245
 		{
241
-			if (!empty($number))
242
-			echo '
246
+			if (!empty($number)) {
247
+						echo '
243 248
 				<input type="checkbox" name="to_fix[]" id="', $error, '" value="', $error, '">
244 249
 				<label for="', $error, '">', sprintf($txt['attach_repair_' . $error], $number), '</label><br>';
250
+			}
245 251
 		}
246 252
 
247 253
 		echo '		<br>
Please login to merge, or discard this patch.
Themes/default/ManageMaintenance.template.php 1 patch
Braces   +36 added lines, -25 removed lines patch added patch discarded remove patch
@@ -18,11 +18,12 @@  discard block
 block discarded – undo
18 18
 	global $context, $txt, $scripturl, $modSettings;
19 19
 
20 20
 	// If maintenance has finished tell the user.
21
-	if (!empty($context['maintenance_finished']))
22
-		echo '
21
+	if (!empty($context['maintenance_finished'])) {
22
+			echo '
23 23
 			<div class="infobox">
24 24
 				', sprintf($txt['maintain_done'], $context['maintenance_finished']), '
25 25
 			</div>';
26
+	}
26 27
 
27 28
 	echo '
28 29
 	<div id="manage_maintenance">
@@ -107,11 +108,12 @@  discard block
 block discarded – undo
107 108
 	<div id="manage_maintenance">';
108 109
 
109 110
 	// If maintenance has finished tell the user.
110
-	if (!empty($context['maintenance_finished']))
111
-		echo '
111
+	if (!empty($context['maintenance_finished'])) {
112
+			echo '
112 113
 			<div class="infobox">
113 114
 				', sprintf($txt['maintain_done'], $context['maintenance_finished']), '
114 115
 			</div>';
116
+	}
115 117
 
116 118
 	echo '
117 119
 		<div class="cat_bar">
@@ -238,11 +240,12 @@  discard block
 block discarded – undo
238 240
 	<div id="manage_maintenance">';
239 241
 
240 242
 	// If maintenance has finished tell the user.
241
-	if (!empty($context['maintenance_finished']))
242
-	echo '
243
+	if (!empty($context['maintenance_finished'])) {
244
+		echo '
243 245
 		<div class="infobox">
244 246
 			', sprintf($txt['maintain_done'], $context['maintenance_finished']), '
245 247
 		</div>';
248
+	}
246 249
 
247 250
 	echo '
248 251
 		<div class="cat_bar">
@@ -300,9 +303,10 @@  discard block
 block discarded – undo
300 303
 				<p><a href="#membersLink" onclick="swapMembers();"><img src="', $settings['images_url'], '/selected.png" alt="+" id="membersIcon"></a> <a href="#membersLink" onclick="swapMembers();" id="membersText" style="font-weight: bold;">', $txt['maintain_members_all'], '</a></p>
301 304
 				<div style="display: none; padding: 3px" id="membersPanel">';
302 305
 
303
-	foreach ($context['membergroups'] as $group)
304
-		echo '
306
+	foreach ($context['membergroups'] as $group) {
307
+			echo '
305 308
 					<label for="groups', $group['id'], '"><input type="checkbox" name="groups[', $group['id'], ']" id="groups', $group['id'], '" checked> ', $group['name'], '</label><br>';
309
+	}
306 310
 
307 311
 	echo '
308 312
 				</div>
@@ -346,11 +350,12 @@  discard block
 block discarded – undo
346 350
 	global $scripturl, $txt, $context, $settings, $modSettings;
347 351
 
348 352
 	// If maintenance has finished tell the user.
349
-	if (!empty($context['maintenance_finished']))
350
-		echo '
353
+	if (!empty($context['maintenance_finished'])) {
354
+			echo '
351 355
 			<div class="infobox">
352 356
 				', sprintf($txt['maintain_done'], $context['maintenance_finished']), '
353 357
 			</div>';
358
+	}
354 359
 
355 360
 	// Bit of javascript for showing which boards to prune in an otherwise hidden list.
356 361
 	echo '
@@ -418,19 +423,21 @@  discard block
 block discarded – undo
418 423
 								<ul>';
419 424
 
420 425
 		// Display a checkbox with every board.
421
-		foreach ($category['boards'] as $board)
422
-			echo '
426
+		foreach ($category['boards'] as $board) {
427
+					echo '
423 428
 									<li style="margin-', $context['right_to_left'] ? 'right' : 'left', ': ', $board['child_level'] * 1.5, 'em;"><label for="boards_', $board['id'], '"><input type="checkbox" name="boards[', $board['id'], ']" id="boards_', $board['id'], '" checked>', $board['name'], '</label></li>';
429
+		}
424 430
 
425 431
 		echo '
426 432
 								</ul>
427 433
 							</fieldset>';
428 434
 
429 435
 		// Increase $i, and check if we're at the middle yet.
430
-		if (++$i == $middle)
431
-			echo '
436
+		if (++$i == $middle) {
437
+					echo '
432 438
 						</div>
433 439
 						<div class="floatright" style="width: 49%;">';
440
+		}
434 441
 	}
435 442
 
436 443
 	echo '
@@ -469,9 +476,10 @@  discard block
 block discarded – undo
469 476
 		echo '
470 477
 					<optgroup label="', $category['name'], '">';
471 478
 
472
-		foreach ($category['boards'] as $board)
473
-			echo '
479
+		foreach ($category['boards'] as $board) {
480
+					echo '
474 481
 						<option value="', $board['id'], '"> ', str_repeat('==', $board['child_level']), '=&gt;&nbsp;', $board['name'], '</option>';
482
+		}
475 483
 
476 484
 		echo '
477 485
 					</optgroup>';
@@ -489,9 +497,10 @@  discard block
 block discarded – undo
489 497
 		echo '
490 498
 					<optgroup label="', $category['name'], '">';
491 499
 
492
-		foreach ($category['boards'] as $board)
493
-			echo '
500
+		foreach ($category['boards'] as $board) {
501
+					echo '
494 502
 						<option value="', $board['id'], '"> ', str_repeat('==', $board['child_level']), '=&gt;&nbsp;', $board['name'], '</option>';
503
+		}
495 504
 
496 505
 		echo '
497 506
 					</optgroup>';
@@ -531,9 +540,10 @@  discard block
 block discarded – undo
531 540
 				', $txt['database_optimize_attempt'], '<br>';
532 541
 
533 542
 	// List each table being optimized...
534
-	foreach ($context['optimized_tables'] as $table)
535
-		echo '
543
+	foreach ($context['optimized_tables'] as $table) {
544
+			echo '
536 545
 				', sprintf($txt['database_optimizing'], $table['name'], $table['data_freed']), '<br>';
546
+	}
537 547
 
538 548
 	// How did we go?
539 549
 	echo '
@@ -590,13 +600,14 @@  discard block
 block discarded – undo
590 600
 				', implode('</li><li>', $context['exceeding_messages']), '
591 601
 				</li>
592 602
 			</ul>';
593
-		if (!empty($context['exceeding_messages_morethan']))
594
-			echo '
603
+		if (!empty($context['exceeding_messages_morethan'])) {
604
+					echo '
595 605
 			<p>', $context['exceeding_messages_morethan'], '</p>';
596
-	}
597
-	else
598
-		echo '
606
+		}
607
+	} else {
608
+			echo '
599 609
 			<p class="infobox">', $txt['convert_to_text'], '</p>';
610
+	}
600 611
 
601 612
 	echo '
602 613
 			<form action="', $scripturl, '?action=admin;area=maintain;sa=database;activity=convertmsgbody" method="post" accept-charset="', $context['character_set'], '">
Please login to merge, or discard this patch.
Themes/default/Reports.template.php 1 patch
Braces   +32 added lines, -24 removed lines patch added patch discarded remove patch
@@ -29,9 +29,10 @@  discard block
 block discarded – undo
29 29
 	// Go through each type of report they can run.
30 30
 	foreach ($context['report_types'] as $type)
31 31
 	{
32
-		if (isset($type['description']))
33
-			echo '
32
+		if (isset($type['description'])) {
33
+					echo '
34 34
 					<dt>', $type['description'], '</dt>';
35
+		}
35 36
 		echo '
36 37
 					<dd>
37 38
 						<input type="radio" id="rt_', $type['id'], '" name="rt" value="', $type['id'], '"', $type['is_first'] ? ' checked' : '', '>
@@ -61,8 +62,9 @@  discard block
 block discarded – undo
61 62
 		</div>
62 63
 		<div id="report_buttons">';
63 64
 
64
-	if (!empty($context['report_buttons']))
65
-		template_button_strip($context['report_buttons'], 'right');
65
+	if (!empty($context['report_buttons'])) {
66
+			template_button_strip($context['report_buttons'], 'right');
67
+	}
66 68
 
67 69
 	echo '
68 70
 		</div>';
@@ -73,25 +75,27 @@  discard block
 block discarded – undo
73 75
 		echo '
74 76
 		<table class="table_grid report_results">';
75 77
 
76
-		if (!empty($table['title']))
77
-			echo '
78
+		if (!empty($table['title'])) {
79
+					echo '
78 80
 			<thead>
79 81
 				<tr class="title_bar">
80 82
 					<th scope="col" colspan="', $table['column_count'], '">', $table['title'], '</th>
81 83
 				</tr>
82 84
 			</thead>
83 85
 			<tbody>';
86
+		}
84 87
 
85 88
 		// Now do each row!
86 89
 		$row_number = 0;
87 90
 		foreach ($table['data'] as $row)
88 91
 		{
89
-			if ($row_number == 0 && !empty($table['shading']['top']))
90
-				echo '
92
+			if ($row_number == 0 && !empty($table['shading']['top'])) {
93
+							echo '
91 94
 				<tr class="windowbg table_caption">';
92
-			else
93
-				echo '
95
+			} else {
96
+							echo '
94 97
 				<tr class="', !empty($row[0]['separator']) ? 'title_bar' : 'windowbg', '">';
98
+			}
95 99
 
96 100
 			// Now do each column.
97 101
 			$column_number = 0;
@@ -109,16 +113,17 @@  discard block
 block discarded – undo
109 113
 				}
110 114
 
111 115
 				// Shaded?
112
-				if ($column_number == 0 && !empty($table['shading']['left']))
113
-					echo '
116
+				if ($column_number == 0 && !empty($table['shading']['left'])) {
117
+									echo '
114 118
 					<td class="table_caption ', $table['align']['shaded'], 'text"', $table['width']['shaded'] != 'auto' ? ' width="' . $table['width']['shaded'] . '"' : '', '>
115 119
 						', $data['v'] == $table['default_value'] ? '' : ($data['v'] . (empty($data['v']) ? '' : ':')), '
116 120
 					</td>';
117
-				else
118
-					echo '
121
+				} else {
122
+									echo '
119 123
 					<td class="smalltext centertext" ', $table['width']['normal'] != 'auto' ? ' width="' . $table['width']['normal'] . '"' : '', !empty($data['style']) ? ' style="' . $data['style'] . '"' : '', '>
120 124
 						', $data['v'], '
121 125
 					</td>';
126
+				}
122 127
 
123 128
 				$column_number++;
124 129
 			}
@@ -167,24 +172,26 @@  discard block
 block discarded – undo
167 172
 		<div style="overflow: visible;', $table['max_width'] != 'auto' ? ' width: ' . $table['max_width'] . 'px;' : '', '">
168 173
 			<table class="bordercolor">';
169 174
 
170
-		if (!empty($table['title']))
171
-			echo '
175
+		if (!empty($table['title'])) {
176
+					echo '
172 177
 				<tr class="title_bar">
173 178
 					<td colspan="', $table['column_count'], '">
174 179
 						', $table['title'], '
175 180
 					</td>
176 181
 				</tr>';
182
+		}
177 183
 
178 184
 		// Now do each row!
179 185
 		$row_number = 0;
180 186
 		foreach ($table['data'] as $row)
181 187
 		{
182
-			if ($row_number == 0 && !empty($table['shading']['top']))
183
-				echo '
188
+			if ($row_number == 0 && !empty($table['shading']['top'])) {
189
+							echo '
184 190
 				<tr class="titlebg">';
185
-			else
186
-				echo '
191
+			} else {
192
+							echo '
187 193
 				<tr class="windowbg">';
194
+			}
188 195
 
189 196
 			// Now do each column!!
190 197
 			$column_number = 0;
@@ -201,16 +208,17 @@  discard block
 block discarded – undo
201 208
 				}
202 209
 
203 210
 				// Shaded?
204
-				if ($column_number == 0 && !empty($table['shading']['left']))
205
-					echo '
211
+				if ($column_number == 0 && !empty($table['shading']['left'])) {
212
+									echo '
206 213
 					<td class="titlebg ', $table['align']['shaded'], 'text"', $table['width']['shaded'] != 'auto' ? ' width="' . $table['width']['shaded'] . '"' : '', '>
207 214
 						', $data['v'] == $table['default_value'] ? '' : ($data['v'] . (empty($data['v']) ? '' : ':')), '
208 215
 					</td>';
209
-				else
210
-					echo '
216
+				} else {
217
+									echo '
211 218
 					<td class="centertext" ', $table['width']['normal'] != 'auto' ? ' width="' . $table['width']['normal'] . '"' : '', !empty($data['style']) ? ' style="' . $data['style'] . '"' : '', '>
212 219
 						', $data['v'], '
213 220
 					</td>';
221
+				}
214 222
 
215 223
 				$column_number++;
216 224
 			}
Please login to merge, or discard this patch.
Themes/default/ManageBans.template.php 1 patch
Braces   +24 added lines, -16 removed lines patch added patch discarded remove patch
@@ -26,9 +26,10 @@  discard block
 block discarded – undo
26 26
 				</h3>
27 27
 			</div>';
28 28
 
29
-	if ($context['ban']['is_new'])
30
-		echo '
29
+	if ($context['ban']['is_new']) {
30
+			echo '
31 31
 			<div class="information noup">', $txt['ban_add_notes'], '</div>';
32
+	}
32 33
 
33 34
 	// If there were errors creating the ban, show them.
34 35
 	if (!empty($context['error_messages']))
@@ -38,9 +39,10 @@  discard block
 block discarded – undo
38 39
 				<strong>', $txt['ban_errors_detected'], '</strong>
39 40
 				<ul>';
40 41
 
41
-		foreach ($context['error_messages'] as $error)
42
-			echo '
42
+		foreach ($context['error_messages'] as $error) {
43
+					echo '
43 44
 					<li class="error">', $error, '</li>';
45
+		}
44 46
 
45 47
 		echo '
46 48
 				</ul>
@@ -57,8 +59,8 @@  discard block
 block discarded – undo
57 59
 					<input type="text" id="ban_name" name="ban_name" value="', $context['ban']['name'], '" size="45" maxlength="60">
58 60
 				</dd>';
59 61
 
60
-	if (isset($context['ban']['reason']))
61
-		echo '
62
+	if (isset($context['ban']['reason'])) {
63
+			echo '
62 64
 				<dt>
63 65
 					<strong><label for="reason">', $txt['ban_reason'], ':</label></strong><br>
64 66
 					<span class="smalltext">', $txt['ban_reason_desc'], '</span>
@@ -66,9 +68,10 @@  discard block
 block discarded – undo
66 68
 				<dd>
67 69
 					<textarea name="reason" id="reason" cols="40" rows="3" style="min-height: 64px; max-height: 64px; min-width: 50%; max-width: 99%;">', $context['ban']['reason'], '</textarea>
68 70
 				</dd>';
71
+	}
69 72
 
70
-	if (isset($context['ban']['notes']))
71
-		echo '
73
+	if (isset($context['ban']['notes'])) {
74
+			echo '
72 75
 				<dt>
73 76
 					<strong><label for="ban_notes">', $txt['ban_notes'], ':</label></strong><br>
74 77
 					<span class="smalltext">', $txt['ban_notes_desc'], '</span>
@@ -76,6 +79,7 @@  discard block
 block discarded – undo
76 79
 				<dd>
77 80
 					<textarea name="notes" id="ban_notes" cols="40" rows="3" style="min-height: 64px; max-height: 64px; min-width: 50%; max-width: 99%;">', $context['ban']['notes'], '</textarea>
78 81
 				</dd>';
82
+	}
79 83
 
80 84
 	echo '
81 85
 				</dl>
@@ -115,8 +119,8 @@  discard block
 block discarded – undo
115 119
 							<input type="text" name="main_ip" value="', $context['ban_suggestions']['main_ip'], '" size="44" onfocus="document.getElementById(\'main_ip_check\').checked = true;">
116 120
 						</dd>';
117 121
 
118
-		if (empty($modSettings['disableHostnameLookup']))
119
-			echo '
122
+		if (empty($modSettings['disableHostnameLookup'])) {
123
+					echo '
120 124
 						<dt>
121 125
 							<input type="checkbox" name="ban_suggestions[]" id="hostname_check" value="hostname"', !empty($context['ban_suggestions']['hostname']) ? ' checked' : '', '>
122 126
 							<label for="hostname_check">', $txt['ban_on_hostname'], '</label>
@@ -124,6 +128,7 @@  discard block
 block discarded – undo
124 128
 						<dd>
125 129
 							<input type="text" name="hostname" value="', $context['ban_suggestions']['hostname'], '" size="44" onfocus="document.getElementById(\'hostname_check\').checked = true;">
126 130
 						</dd>';
131
+		}
127 132
 
128 133
 		echo '
129 134
 						<dt>
@@ -153,14 +158,15 @@  discard block
 block discarded – undo
153 158
 					<dl class="settings">';
154 159
 
155 160
 					$count = 0;
156
-					foreach ($ban_ips as $ip)
157
-						echo '
161
+					foreach ($ban_ips as $ip) {
162
+											echo '
158 163
 						<dt>
159 164
 							<input type="checkbox" id="suggestions_', $key, '_', $count, '" name="ban_suggestions[', $key, '][]"', !empty($context['ban_suggestions']['saved_triggers'][$key]) && in_array($ip, $context['ban_suggestions']['saved_triggers'][$key]) ? ' checked' : '', ' value="', $ip, '">
160 165
 						</dt>
161 166
 						<dd>
162 167
 							<label for="suggestions_', $key, '_', $count++, '">', $ip, '</label>
163 168
 						</dd>';
169
+					}
164 170
 
165 171
 					echo '
166 172
 					</dl>';
@@ -202,8 +208,8 @@  discard block
 block discarded – undo
202 208
 		addLoadEvent(fUpdateStatus);';
203 209
 
204 210
 	// Auto suggest only needed for adding new bans, not editing
205
-	if ($context['ban']['is_new'] && empty($_REQUEST['u']))
206
-		echo '
211
+	if ($context['ban']['is_new'] && empty($_REQUEST['u'])) {
212
+			echo '
207 213
 			var oAddMemberSuggest = new smc_AutoSuggest({
208 214
 			sSelf: \'oAddMemberSuggest\',
209 215
 			sSessionId: smf_session_id,
@@ -221,6 +227,7 @@  discard block
 block discarded – undo
221 227
 			return true;
222 228
 		}
223 229
 		oAddMemberSuggest.registerCallback(\'onBeforeUpdate\', \'onUpdateName\');';
230
+	}
224 231
 
225 232
 	echo '
226 233
 		function confirmBan(aForm)
@@ -268,8 +275,8 @@  discard block
 block discarded – undo
268 275
 							<input type="text" name="main_ip" value="', $context['ban_trigger']['ip']['value'], '" size="44" onfocus="document.getElementById(\'main_ip_check\').checked = true;">
269 276
 						</dd>';
270 277
 
271
-				if (empty($modSettings['disableHostnameLookup']))
272
-					echo '
278
+				if (empty($modSettings['disableHostnameLookup'])) {
279
+									echo '
273 280
 							<dt>
274 281
 								<input type="checkbox" name="ban_suggestions[]" id="hostname_check" value="hostname"', $context['ban_trigger']['hostname']['selected'] ? ' checked' : '', '>
275 282
 								<label for="hostname_check">', $txt['ban_on_hostname'], '</label>
@@ -277,6 +284,7 @@  discard block
 block discarded – undo
277 284
 							<dd>
278 285
 								<input type="text" name="hostname" value="', $context['ban_trigger']['hostname']['value'], '" size="44" onfocus="document.getElementById(\'hostname_check\').checked = true;">
279 286
 							</dd>';
287
+				}
280 288
 
281 289
 				echo '
282 290
 						<dt>
Please login to merge, or discard this patch.
Themes/default/ManageNews.template.php 1 patch
Braces   +21 added lines, -14 removed lines patch added patch discarded remove patch
@@ -18,9 +18,10 @@  discard block
 block discarded – undo
18 18
 	global $context, $txt, $scripturl;
19 19
 
20 20
 	// Are we done sending the newsletter?
21
-	if (!empty($context['newsletter_sent']))
22
-		echo '
21
+	if (!empty($context['newsletter_sent'])) {
22
+			echo '
23 23
 	<div class="infobox">', $txt['admin_news_newsletter_' . $context['newsletter_sent']], '</div>';
24
+	}
24 25
 
25 26
 	echo '
26 27
 	<div id="admincenter">
@@ -39,9 +40,10 @@  discard block
 block discarded – undo
39 40
 					</dt>
40 41
 					<dd>';
41 42
 
42
-	foreach ($context['groups'] as $group)
43
-				echo '
43
+	foreach ($context['groups'] as $group) {
44
+					echo '
44 45
 						<label for="groups_', $group['id'], '"><input type="checkbox" name="groups[', $group['id'], ']" id="groups_', $group['id'], '" value="', $group['id'], '" checked> ', $group['name'], '</label> <em>(', $group['member_count'], ')</em><br>';
46
+	}
45 47
 
46 48
 	echo '
47 49
 						<br>
@@ -82,9 +84,10 @@  discard block
 block discarded – undo
82 84
 						</dt>
83 85
 						<dd>';
84 86
 
85
-	foreach ($context['groups'] as $group)
86
-				echo '
87
+	foreach ($context['groups'] as $group) {
88
+					echo '
87 89
 							<label for="exclude_groups_', $group['id'], '"><input type="checkbox" name="exclude_groups[', $group['id'], ']" id="exclude_groups_', $group['id'], '" value="', $group['id'], '"> ', $group['name'], '</label> <em>(', $group['member_count'], ')</em><br>';
90
+	}
88 91
 
89 92
 	echo '
90 93
 							<br>
@@ -228,9 +231,10 @@  discard block
 block discarded – undo
228 231
 				<div id="bbcBox_message"></div>';
229 232
 
230 233
 	// What about smileys?
231
-	if (!empty($context['smileys']['postform']) || !empty($context['smileys']['popup']))
232
-		echo '
234
+	if (!empty($context['smileys']['postform']) || !empty($context['smileys']['popup'])) {
235
+			echo '
233 236
 				<div id="smileyBox_message"></div>';
237
+	}
234 238
 
235 239
 	// Show BBC buttons, smileys and textbox.
236 240
 	echo '
@@ -251,9 +255,10 @@  discard block
 block discarded – undo
251 255
 			<input type="hidden" name="email_force" value="', $context['email_force'], '">
252 256
 			<input type="hidden" name="total_emails" value="', $context['total_emails'], '">';
253 257
 
254
-	foreach ($context['recipients'] as $key => $values)
255
-		echo '
258
+	foreach ($context['recipients'] as $key => $values) {
259
+			echo '
256 260
 			<input type="hidden" name="', $key, '" value="', implode(($key == 'emails' ? ';' : ','), $values), '">';
261
+	}
257 262
 
258 263
 	echo '
259 264
 		<script>';
@@ -408,9 +413,10 @@  discard block
 block discarded – undo
408 413
 				<input type="hidden" name="parse_html" value="', $context['parse_html'], '">';
409 414
 
410 415
 	// All the things we must remember!
411
-	foreach ($context['recipients'] as $key => $values)
412
-		echo '
416
+	foreach ($context['recipients'] as $key => $values) {
417
+			echo '
413 418
 				<input type="hidden" name="', $key, '" value="', implode(($key == 'emails' ? ';' : ','), $values), '">';
419
+	}
414 420
 
415 421
 	echo '
416 422
 			</div>
@@ -443,9 +449,10 @@  discard block
 block discarded – undo
443 449
 {
444 450
 	global $context, $txt;
445 451
 
446
-	if (!empty($context['saved_successful']))
447
-		echo '
452
+	if (!empty($context['saved_successful'])) {
453
+			echo '
448 454
 					<div class="infobox">', $txt['settings_saved'], '</div>';
455
+	}
449 456
 
450 457
 	template_show_list('news_lists');
451 458
 }
Please login to merge, or discard this patch.