Completed
Pull Request — release-2.1 (#4834)
by Jeremy
16:45 queued 08:07
created
Sources/Subs.php 2 patches
Spacing   +112 added lines, -112 removed lines patch added patch discarded remove patch
@@ -386,7 +386,7 @@  discard block
 block discarded – undo
386 386
 			{
387 387
 				$val = 'CASE ';
388 388
 				foreach ($members as $k => $v)
389
-					$val .= 'WHEN id_member = ' . $v . ' THEN '. alert_count($v, false) . ' ';
389
+					$val .= 'WHEN id_member = ' . $v . ' THEN ' . alert_count($v, false) . ' ';
390 390
 				$val = $val . ' END';
391 391
 				$type = 'raw';
392 392
 			}
@@ -739,7 +739,7 @@  discard block
 block discarded – undo
739 739
 	static $non_twelve_hour, $locale_cache;
740 740
 	static $unsupportedFormats, $finalizedFormats;
741 741
 
742
-	$unsupportedFormatsWindows = array('z','Z');
742
+	$unsupportedFormatsWindows = array('z', 'Z');
743 743
 
744 744
 	// Ensure required values are set
745 745
 	$user_info['time_offset'] = !empty($user_info['time_offset']) ? $user_info['time_offset'] : 0;
@@ -824,7 +824,7 @@  discard block
 block discarded – undo
824 824
 			$unsupportedFormats = (array) cache_get_data('unsupportedtimeformats', 86400);
825 825
 		if (empty($unsupportedFormats))
826 826
 		{
827
-			foreach($strftimeFormatSubstitutions as $format => $substitution)
827
+			foreach ($strftimeFormatSubstitutions as $format => $substitution)
828 828
 			{
829 829
 				// Avoid a crashing bug with PHP 7 on certain versions of Windows
830 830
 				if ($context['server']['is_windows'] && in_array($format, $unsupportedFormatsWindows))
@@ -1196,7 +1196,7 @@  discard block
 block discarded – undo
1196 1196
 					'height' => array('optional' => true, 'match' => '(\d+)'),
1197 1197
 				),
1198 1198
 				'content' => '$1',
1199
-				'validate' => function (&$tag, &$data, $disabled, $params) use ($modSettings, $context, $sourcedir, $txt)
1199
+				'validate' => function(&$tag, &$data, $disabled, $params) use ($modSettings, $context, $sourcedir, $txt)
1200 1200
 				{
1201 1201
 					$returnContext = '';
1202 1202
 
@@ -1231,7 +1231,7 @@  discard block
 block discarded – undo
1231 1231
 						}
1232 1232
 
1233 1233
 						if ($currentAttachment['thumbnail']['has_thumb'] && empty($params['{width}']) && empty($params['{height}']))
1234
-							$returnContext .= '<a href="'. $currentAttachment['href']. ';image" id="link_'. $currentAttachment['id']. '" onclick="'. $currentAttachment['thumbnail']['javascript']. '"><img src="'. $currentAttachment['thumbnail']['href']. '"' . $alt . $title . ' id="thumb_'. $currentAttachment['id']. '" class="atc_img"></a>';
1234
+							$returnContext .= '<a href="' . $currentAttachment['href'] . ';image" id="link_' . $currentAttachment['id'] . '" onclick="' . $currentAttachment['thumbnail']['javascript'] . '"><img src="' . $currentAttachment['thumbnail']['href'] . '"' . $alt . $title . ' id="thumb_' . $currentAttachment['id'] . '" class="atc_img"></a>';
1235 1235
 						else
1236 1236
 							$returnContext .= '<img src="' . $currentAttachment['href'] . ';image"' . $alt . $title . $width . $height . ' class="bbc_img"/>';
1237 1237
 					}
@@ -1260,7 +1260,7 @@  discard block
 block discarded – undo
1260 1260
 				'type' => 'unparsed_content',
1261 1261
 				'content' => '<div class="codeheader"><span class="code floatleft">' . $txt['code'] . '</span> <a class="codeoperation smf_select_text">' . $txt['code_select'] . '</a></div><code class="bbc_code">$1</code>',
1262 1262
 				// @todo Maybe this can be simplified?
1263
-				'validate' => isset($disabled['code']) ? null : function (&$tag, &$data, $disabled) use ($context)
1263
+				'validate' => isset($disabled['code']) ? null : function(&$tag, &$data, $disabled) use ($context)
1264 1264
 				{
1265 1265
 					if (!isset($disabled['code']))
1266 1266
 					{
@@ -1297,7 +1297,7 @@  discard block
 block discarded – undo
1297 1297
 				'type' => 'unparsed_equals_content',
1298 1298
 				'content' => '<div class="codeheader"><span class="code floatleft">' . $txt['code'] . '</span> ($2) <a class="codeoperation smf_select_text">' . $txt['code_select'] . '</a></div><code class="bbc_code">$1</code>',
1299 1299
 				// @todo Maybe this can be simplified?
1300
-				'validate' => isset($disabled['code']) ? null : function (&$tag, &$data, $disabled) use ($context)
1300
+				'validate' => isset($disabled['code']) ? null : function(&$tag, &$data, $disabled) use ($context)
1301 1301
 				{
1302 1302
 					if (!isset($disabled['code']))
1303 1303
 					{
@@ -1341,7 +1341,7 @@  discard block
 block discarded – undo
1341 1341
 				'type' => 'unparsed_content',
1342 1342
 				'content' => '<a href="mailto:$1" class="bbc_email">$1</a>',
1343 1343
 				// @todo Should this respect guest_hideContacts?
1344
-				'validate' => function (&$tag, &$data, $disabled)
1344
+				'validate' => function(&$tag, &$data, $disabled)
1345 1345
 				{
1346 1346
 					$data = strtr($data, array('<br>' => ''));
1347 1347
 				},
@@ -1360,7 +1360,7 @@  discard block
 block discarded – undo
1360 1360
 				'type' => 'unparsed_commas_content',
1361 1361
 				'test' => '\d+,\d+\]',
1362 1362
 				'content' => '<embed type="application/x-shockwave-flash" src="$1" width="$2" height="$3" play="true" loop="true" quality="high" AllowScriptAccess="never">',
1363
-				'validate' => function (&$tag, &$data, $disabled)
1363
+				'validate' => function(&$tag, &$data, $disabled)
1364 1364
 				{
1365 1365
 					if (isset($disabled['url']))
1366 1366
 						$tag['content'] = '$1';
@@ -1376,7 +1376,7 @@  discard block
 block discarded – undo
1376 1376
 				'test' => '(left|right)(\s+max=\d+(?:%|px|em|rem|ex|pt|pc|ch|vw|vh|vmin|vmax|cm|mm|in)?)?\]',
1377 1377
 				'before' => '<div $1>',
1378 1378
 				'after' => '</div>',
1379
-				'validate' => function (&$tag, &$data, $disabled)
1379
+				'validate' => function(&$tag, &$data, $disabled)
1380 1380
 				{
1381 1381
 					$class = 'class="bbc_float float' . (strpos($data, 'left') === 0 ? 'left' : 'right') . '"';
1382 1382
 
@@ -1425,7 +1425,7 @@  discard block
 block discarded – undo
1425 1425
 					'height' => array('optional' => true, 'value' => ' height="$1"', 'match' => '(\d+)'),
1426 1426
 				),
1427 1427
 				'content' => '<img src="$1" alt="{alt}" title="{title}"{width}{height} class="bbc_img resized">',
1428
-				'validate' => function (&$tag, &$data, $disabled)
1428
+				'validate' => function(&$tag, &$data, $disabled)
1429 1429
 				{
1430 1430
 					global $image_proxy_enabled, $user_info;
1431 1431
 
@@ -1451,7 +1451,7 @@  discard block
 block discarded – undo
1451 1451
 				'tag' => 'img',
1452 1452
 				'type' => 'unparsed_content',
1453 1453
 				'content' => '<img src="$1" alt="" class="bbc_img">',
1454
-				'validate' => function (&$tag, &$data, $disabled)
1454
+				'validate' => function(&$tag, &$data, $disabled)
1455 1455
 				{
1456 1456
 					global $image_proxy_enabled, $user_info;
1457 1457
 
@@ -1477,7 +1477,7 @@  discard block
 block discarded – undo
1477 1477
 				'tag' => 'iurl',
1478 1478
 				'type' => 'unparsed_content',
1479 1479
 				'content' => '<a href="$1" class="bbc_link">$1</a>',
1480
-				'validate' => function (&$tag, &$data, $disabled)
1480
+				'validate' => function(&$tag, &$data, $disabled)
1481 1481
 				{
1482 1482
 					$data = strtr($data, array('<br>' => ''));
1483 1483
 					$scheme = parse_url($data, PHP_URL_SCHEME);
@@ -1491,7 +1491,7 @@  discard block
 block discarded – undo
1491 1491
 				'quoted' => 'optional',
1492 1492
 				'before' => '<a href="$1" class="bbc_link">',
1493 1493
 				'after' => '</a>',
1494
-				'validate' => function (&$tag, &$data, $disabled)
1494
+				'validate' => function(&$tag, &$data, $disabled)
1495 1495
 				{
1496 1496
 					if (substr($data, 0, 1) == '#')
1497 1497
 						$data = '#post_' . substr($data, 1);
@@ -1577,7 +1577,7 @@  discard block
 block discarded – undo
1577 1577
 				'tag' => 'php',
1578 1578
 				'type' => 'unparsed_content',
1579 1579
 				'content' => '<span class="phpcode">$1</span>',
1580
-				'validate' => isset($disabled['php']) ? null : function (&$tag, &$data, $disabled)
1580
+				'validate' => isset($disabled['php']) ? null : function(&$tag, &$data, $disabled)
1581 1581
 				{
1582 1582
 					if (!isset($disabled['php']))
1583 1583
 					{
@@ -1675,7 +1675,7 @@  discard block
 block discarded – undo
1675 1675
 				'test' => '[1-7]\]',
1676 1676
 				'before' => '<span style="font-size: $1;" class="bbc_size">',
1677 1677
 				'after' => '</span>',
1678
-				'validate' => function (&$tag, &$data, $disabled)
1678
+				'validate' => function(&$tag, &$data, $disabled)
1679 1679
 				{
1680 1680
 					$sizes = array(1 => 0.7, 2 => 1.0, 3 => 1.35, 4 => 1.45, 5 => 2.0, 6 => 2.65, 7 => 3.95);
1681 1681
 					$data = $sizes[$data] . 'em';
@@ -1713,7 +1713,7 @@  discard block
 block discarded – undo
1713 1713
 				'tag' => 'time',
1714 1714
 				'type' => 'unparsed_content',
1715 1715
 				'content' => '$1',
1716
-				'validate' => function (&$tag, &$data, $disabled)
1716
+				'validate' => function(&$tag, &$data, $disabled)
1717 1717
 				{
1718 1718
 					if (is_numeric($data))
1719 1719
 						$data = timeformat($data);
@@ -1741,7 +1741,7 @@  discard block
 block discarded – undo
1741 1741
 				'tag' => 'url',
1742 1742
 				'type' => 'unparsed_content',
1743 1743
 				'content' => '<a href="$1" class="bbc_link" target="_blank" rel="noopener">$1</a>',
1744
-				'validate' => function (&$tag, &$data, $disabled)
1744
+				'validate' => function(&$tag, &$data, $disabled)
1745 1745
 				{
1746 1746
 					$data = strtr($data, array('<br>' => ''));
1747 1747
 					$scheme = parse_url($data, PHP_URL_SCHEME);
@@ -1755,7 +1755,7 @@  discard block
 block discarded – undo
1755 1755
 				'quoted' => 'optional',
1756 1756
 				'before' => '<a href="$1" class="bbc_link" target="_blank" rel="noopener">',
1757 1757
 				'after' => '</a>',
1758
-				'validate' => function (&$tag, &$data, $disabled)
1758
+				'validate' => function(&$tag, &$data, $disabled)
1759 1759
 				{
1760 1760
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1761 1761
 					if (empty($scheme))
@@ -1787,7 +1787,7 @@  discard block
 block discarded – undo
1787 1787
 		{
1788 1788
 			if (isset($temp_bbc))
1789 1789
 				$bbc_codes = $temp_bbc;
1790
-			usort($codes, function ($a, $b) {
1790
+			usort($codes, function($a, $b) {
1791 1791
 				return strcmp($a['tag'], $b['tag']);
1792 1792
 			});
1793 1793
 			return $codes;
@@ -2003,7 +2003,7 @@  discard block
 block discarded – undo
2003 2003
 										# a run of Unicode domain name characters and a dot
2004 2004
 										[\p{L}\p{M}\p{N}\-.:@]+\.
2005 2005
 										# and then a TLD valid in the DNS or the reserved "local" TLD
2006
-										(?:'. $modSettings['tld_regex'] .'|local)
2006
+										(?:'. $modSettings['tld_regex'] . '|local)
2007 2007
 									)
2008 2008
 									# followed by a non-domain character or end of line
2009 2009
 									(?=[^\p{L}\p{N}\-.]|$)
@@ -2071,7 +2071,7 @@  discard block
 block discarded – undo
2071 2071
 						)?
2072 2072
 						';
2073 2073
 
2074
-						$data = preg_replace_callback('~' . $url_regex . '~xi' . ($context['utf8'] ? 'u' : ''), function ($matches) {
2074
+						$data = preg_replace_callback('~' . $url_regex . '~xi' . ($context['utf8'] ? 'u' : ''), function($matches) {
2075 2075
 							$url = array_shift($matches);
2076 2076
 
2077 2077
 							// If this isn't a clean URL, bail out
@@ -2096,7 +2096,7 @@  discard block
 block discarded – undo
2096 2096
 								$fullUrl = $url;
2097 2097
 
2098 2098
 							// Make sure that $fullUrl really is valid
2099
-							if (validate_iri((strpos($fullUrl, '//') === 0 ? 'http:' : '' ) . $fullUrl) === false)
2099
+							if (validate_iri((strpos($fullUrl, '//') === 0 ? 'http:' : '') . $fullUrl) === false)
2100 2100
 								return $url;
2101 2101
 
2102 2102
 							return '[url=&quot;' . str_replace(array('[', ']'), array('&#91;', '&#93;'), $fullUrl) . '&quot;]' . $url . '[/url]';
@@ -2160,7 +2160,7 @@  discard block
 block discarded – undo
2160 2160
 			$look_for = strtolower(substr($message, $pos + 2, $pos2 - $pos - 2));
2161 2161
 
2162 2162
 			// A closing tag that doesn't match any open tags? Skip it.
2163
-			if (!in_array($look_for, array_map(function($code){return $code['tag'];}, $open_tags)))
2163
+			if (!in_array($look_for, array_map(function($code) {return $code['tag']; }, $open_tags)))
2164 2164
 				continue;
2165 2165
 
2166 2166
 			$to_close = array();
@@ -2833,7 +2833,7 @@  discard block
 block discarded – undo
2833 2833
 			{
2834 2834
 				$exts = array('svg', 'png', 'gif', 'jpg');
2835 2835
 				$fname = pathinfo($smileysto[$i], PATHINFO_FILENAME);
2836
-				$alt_images = glob($smileys_dir . $fname .  '.{' . (implode(',', $exts)) . '}', GLOB_BRACE);
2836
+				$alt_images = glob($smileys_dir . $fname . '.{' . (implode(',', $exts)) . '}', GLOB_BRACE);
2837 2837
 				if (!empty($alt_images))
2838 2838
 				{
2839 2839
 					foreach ($exts as $ext)
@@ -2849,7 +2849,7 @@  discard block
 block discarded – undo
2849 2849
 			}
2850 2850
 
2851 2851
 			$specialChars = $smcFunc['htmlspecialchars']($smileysfrom[$i], ENT_QUOTES);
2852
-			$smileyCode = '<img src="' . $smileys_path . $smileysto[$i] . '" alt="' . strtr($specialChars, array(':' => '&#58;', '(' => '&#40;', ')' => '&#41;', '$' => '&#36;', '[' => '&#091;')). '" title="' . strtr($smcFunc['htmlspecialchars']($smileysdescs[$i]), array(':' => '&#58;', '(' => '&#40;', ')' => '&#41;', '$' => '&#36;', '[' => '&#091;')) . '" class="smiley">';
2852
+			$smileyCode = '<img src="' . $smileys_path . $smileysto[$i] . '" alt="' . strtr($specialChars, array(':' => '&#58;', '(' => '&#40;', ')' => '&#41;', '$' => '&#36;', '[' => '&#091;')) . '" title="' . strtr($smcFunc['htmlspecialchars']($smileysdescs[$i]), array(':' => '&#58;', '(' => '&#40;', ')' => '&#41;', '$' => '&#36;', '[' => '&#091;')) . '" class="smiley">';
2853 2853
 
2854 2854
 			$smileyPregReplacements[$smileysfrom[$i]] = $smileyCode;
2855 2855
 
@@ -2866,7 +2866,7 @@  discard block
 block discarded – undo
2866 2866
 
2867 2867
 	// Replace away!
2868 2868
 	$message = preg_replace_callback($smileyPregSearch,
2869
-		function ($matches) use ($smileyPregReplacements)
2869
+		function($matches) use ($smileyPregReplacements)
2870 2870
 		{
2871 2871
 			return $smileyPregReplacements[$matches[1]];
2872 2872
 		}, $message);
@@ -2963,13 +2963,13 @@  discard block
 block discarded – undo
2963 2963
 	{
2964 2964
 		if (defined('SID') && SID != '')
2965 2965
 			$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '~') . '\?(?:' . SID . '(?:;|&|&amp;))((?:board|topic)=[^#]+?)(#[^"]*?)?$~',
2966
-				function ($m) use ($scripturl)
2966
+				function($m) use ($scripturl)
2967 2967
 				{
2968
-					return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html?' . SID. (isset($m[2]) ? "$m[2]" : "");
2968
+					return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html?' . SID . (isset($m[2]) ? "$m[2]" : "");
2969 2969
 				}, $setLocation);
2970 2970
 		else
2971 2971
 			$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '~') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?$~',
2972
-				function ($m) use ($scripturl)
2972
+				function($m) use ($scripturl)
2973 2973
 				{
2974 2974
 					return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html' . (isset($m[2]) ? "$m[2]" : "");
2975 2975
 				}, $setLocation);
@@ -3290,7 +3290,7 @@  discard block
 block discarded – undo
3290 3290
 
3291 3291
 	// Add a generic "Are you sure?" confirmation message.
3292 3292
 	addInlineJavaScript('
3293
-	var smf_you_sure =' . JavaScriptEscape($txt['quickmod_confirm']) .';');
3293
+	var smf_you_sure =' . JavaScriptEscape($txt['quickmod_confirm']) . ';');
3294 3294
 
3295 3295
 	// Now add the capping code for avatars.
3296 3296
 	if (!empty($modSettings['avatar_max_width_external']) && !empty($modSettings['avatar_max_height_external']) && !empty($modSettings['avatar_action_too_large']) && $modSettings['avatar_action_too_large'] == 'option_css_resize')
@@ -3756,7 +3756,7 @@  discard block
 block discarded – undo
3756 3756
 	if (!empty($normal))
3757 3757
 		foreach ($normal as $nf)
3758 3758
 			echo '
3759
-	<link rel="stylesheet" href="', $nf ,'">';
3759
+	<link rel="stylesheet" href="', $nf, '">';
3760 3760
 
3761 3761
 	if ($db_show_debug === true)
3762 3762
 	{
@@ -3772,7 +3772,7 @@  discard block
 block discarded – undo
3772 3772
 	<style>';
3773 3773
 
3774 3774
 		foreach ($context['css_header'] as $css)
3775
-			echo $css .'
3775
+			echo $css . '
3776 3776
 	';
3777 3777
 
3778 3778
 		echo'
@@ -3816,7 +3816,7 @@  discard block
 block discarded – undo
3816 3816
 
3817 3817
 
3818 3818
 	// No namespaces, sorry!
3819
-	$classType = 'MatthiasMullie\\Minify\\'. strtoupper($type);
3819
+	$classType = 'MatthiasMullie\\Minify\\' . strtoupper($type);
3820 3820
 
3821 3821
 	// Temp path.
3822 3822
 	$cTempPath = $settings['theme_dir'] . '/' . ($type == 'css' ? 'css' : 'scripts') . '/';
@@ -3996,7 +3996,7 @@  discard block
 block discarded – undo
3996 3996
 	else
3997 3997
 		$path = $modSettings['attachmentUploadDir'];
3998 3998
 
3999
-	return $path . '/' . $attachment_id . '_' . $file_hash .'.dat';
3999
+	return $path . '/' . $attachment_id . '_' . $file_hash . '.dat';
4000 4000
 }
4001 4001
 
4002 4002
 /**
@@ -4040,10 +4040,10 @@  discard block
 block discarded – undo
4040 4040
 		$valid_low = isValidIP($ip_parts[0]);
4041 4041
 		$valid_high = isValidIP($ip_parts[1]);
4042 4042
 		$count = 0;
4043
-		$mode = (preg_match('/:/',$ip_parts[0]) > 0 ? ':' : '.');
4043
+		$mode = (preg_match('/:/', $ip_parts[0]) > 0 ? ':' : '.');
4044 4044
 		$max = ($mode == ':' ? 'ffff' : '255');
4045 4045
 		$min = 0;
4046
-		if(!$valid_low)
4046
+		if (!$valid_low)
4047 4047
 		{
4048 4048
 			$ip_parts[0] = preg_replace('/\*/', '0', $ip_parts[0]);
4049 4049
 			$valid_low = isValidIP($ip_parts[0]);
@@ -4057,7 +4057,7 @@  discard block
 block discarded – undo
4057 4057
 		}
4058 4058
 
4059 4059
 		$count = 0;
4060
-		if(!$valid_high)
4060
+		if (!$valid_high)
4061 4061
 		{
4062 4062
 			$ip_parts[1] = preg_replace('/\*/', $max, $ip_parts[1]);
4063 4063
 			$valid_high = isValidIP($ip_parts[1]);
@@ -4070,7 +4070,7 @@  discard block
 block discarded – undo
4070 4070
 			}
4071 4071
 		}
4072 4072
 
4073
-		if($valid_high && $valid_low)
4073
+		if ($valid_high && $valid_low)
4074 4074
 		{
4075 4075
 			$ip_array['low'] = $ip_parts[0];
4076 4076
 			$ip_array['high'] = $ip_parts[1];
@@ -4251,7 +4251,7 @@  discard block
 block discarded – undo
4251 4251
 		addInlineJavaScript('
4252 4252
 	var user_menus = new smc_PopupMenu();
4253 4253
 	user_menus.add("profile", "' . $scripturl . '?action=profile;area=popup");
4254
-	user_menus.add("alerts", "' . $scripturl . '?action=profile;area=alerts_popup;u='. $context['user']['id'] .'");', true);
4254
+	user_menus.add("alerts", "' . $scripturl . '?action=profile;area=alerts_popup;u=' . $context['user']['id'] . '");', true);
4255 4255
 		if ($context['allow_pm'])
4256 4256
 			addInlineJavaScript('
4257 4257
 	user_menus.add("pm", "' . $scripturl . '?action=pm;sa=popup");', true);
@@ -4887,7 +4887,7 @@  discard block
 block discarded – undo
4887 4887
 		// No? try a fallback to $sourcedir
4888 4888
 		else
4889 4889
 		{
4890
-			$absPath = $sourcedir .'/'. $file;
4890
+			$absPath = $sourcedir . '/' . $file;
4891 4891
 
4892 4892
 			if (file_exists($absPath))
4893 4893
 				require_once($absPath);
@@ -5154,15 +5154,15 @@  discard block
 block discarded – undo
5154 5154
 
5155 5155
 	// UTF-8 occurences of MS special characters
5156 5156
 	$findchars_utf8 = array(
5157
-		"\xe2\x80\x9a",	// single low-9 quotation mark
5158
-		"\xe2\x80\x9e",	// double low-9 quotation mark
5159
-		"\xe2\x80\xa6",	// horizontal ellipsis
5160
-		"\xe2\x80\x98",	// left single curly quote
5161
-		"\xe2\x80\x99",	// right single curly quote
5162
-		"\xe2\x80\x9c",	// left double curly quote
5163
-		"\xe2\x80\x9d",	// right double curly quote
5164
-		"\xe2\x80\x93",	// en dash
5165
-		"\xe2\x80\x94",	// em dash
5157
+		"\xe2\x80\x9a", // single low-9 quotation mark
5158
+		"\xe2\x80\x9e", // double low-9 quotation mark
5159
+		"\xe2\x80\xa6", // horizontal ellipsis
5160
+		"\xe2\x80\x98", // left single curly quote
5161
+		"\xe2\x80\x99", // right single curly quote
5162
+		"\xe2\x80\x9c", // left double curly quote
5163
+		"\xe2\x80\x9d", // right double curly quote
5164
+		"\xe2\x80\x93", // en dash
5165
+		"\xe2\x80\x94", // em dash
5166 5166
 	);
5167 5167
 
5168 5168
 	// windows 1252 / iso equivalents
@@ -5180,15 +5180,15 @@  discard block
 block discarded – undo
5180 5180
 
5181 5181
 	// safe replacements
5182 5182
 	$replacechars = array(
5183
-		',',	// &sbquo;
5184
-		',,',	// &bdquo;
5185
-		'...',	// &hellip;
5186
-		"'",	// &lsquo;
5187
-		"'",	// &rsquo;
5188
-		'"',	// &ldquo;
5189
-		'"',	// &rdquo;
5190
-		'-',	// &ndash;
5191
-		'--',	// &mdash;
5183
+		',', // &sbquo;
5184
+		',,', // &bdquo;
5185
+		'...', // &hellip;
5186
+		"'", // &lsquo;
5187
+		"'", // &rsquo;
5188
+		'"', // &ldquo;
5189
+		'"', // &rdquo;
5190
+		'-', // &ndash;
5191
+		'--', // &mdash;
5192 5192
 	);
5193 5193
 
5194 5194
 	if ($context['utf8'])
@@ -5508,7 +5508,7 @@  discard block
 block discarded – undo
5508 5508
  */
5509 5509
 function inet_dtop($bin)
5510 5510
 {
5511
-	if(empty($bin))
5511
+	if (empty($bin))
5512 5512
 		return '';
5513 5513
 
5514 5514
 	global $db_type;
@@ -5539,28 +5539,28 @@  discard block
 block discarded – undo
5539 5539
  */
5540 5540
 function _safe_serialize($value)
5541 5541
 {
5542
-	if(is_null($value))
5542
+	if (is_null($value))
5543 5543
 		return 'N;';
5544 5544
 
5545
-	if(is_bool($value))
5546
-		return 'b:'. (int) $value .';';
5545
+	if (is_bool($value))
5546
+		return 'b:' . (int) $value . ';';
5547 5547
 
5548
-	if(is_int($value))
5549
-		return 'i:'. $value .';';
5548
+	if (is_int($value))
5549
+		return 'i:' . $value . ';';
5550 5550
 
5551
-	if(is_float($value))
5552
-		return 'd:'. str_replace(',', '.', $value) .';';
5551
+	if (is_float($value))
5552
+		return 'd:' . str_replace(',', '.', $value) . ';';
5553 5553
 
5554
-	if(is_string($value))
5555
-		return 's:'. strlen($value) .':"'. $value .'";';
5554
+	if (is_string($value))
5555
+		return 's:' . strlen($value) . ':"' . $value . '";';
5556 5556
 
5557
-	if(is_array($value))
5557
+	if (is_array($value))
5558 5558
 	{
5559 5559
 		$out = '';
5560
-		foreach($value as $k => $v)
5560
+		foreach ($value as $k => $v)
5561 5561
 			$out .= _safe_serialize($k) . _safe_serialize($v);
5562 5562
 
5563
-		return 'a:'. count($value) .':{'. $out .'}';
5563
+		return 'a:' . count($value) . ':{' . $out . '}';
5564 5564
 	}
5565 5565
 
5566 5566
 	// safe_serialize cannot serialize resources or objects.
@@ -5602,7 +5602,7 @@  discard block
 block discarded – undo
5602 5602
 function _safe_unserialize($str)
5603 5603
 {
5604 5604
 	// Input  is not a string.
5605
-	if(empty($str) || !is_string($str))
5605
+	if (empty($str) || !is_string($str))
5606 5606
 		return false;
5607 5607
 
5608 5608
 	$stack = array();
@@ -5616,40 +5616,40 @@  discard block
 block discarded – undo
5616 5616
 	 *   3 - in array, expecting value or another array
5617 5617
 	 */
5618 5618
 	$state = 0;
5619
-	while($state != 1)
5619
+	while ($state != 1)
5620 5620
 	{
5621 5621
 		$type = isset($str[0]) ? $str[0] : '';
5622
-		if($type == '}')
5622
+		if ($type == '}')
5623 5623
 			$str = substr($str, 1);
5624 5624
 
5625
-		else if($type == 'N' && $str[1] == ';')
5625
+		else if ($type == 'N' && $str[1] == ';')
5626 5626
 		{
5627 5627
 			$value = null;
5628 5628
 			$str = substr($str, 2);
5629 5629
 		}
5630
-		else if($type == 'b' && preg_match('/^b:([01]);/', $str, $matches))
5630
+		else if ($type == 'b' && preg_match('/^b:([01]);/', $str, $matches))
5631 5631
 		{
5632 5632
 			$value = $matches[1] == '1' ? true : false;
5633 5633
 			$str = substr($str, 4);
5634 5634
 		}
5635
-		else if($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches))
5635
+		else if ($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches))
5636 5636
 		{
5637
-			$value = (int)$matches[1];
5637
+			$value = (int) $matches[1];
5638 5638
 			$str = $matches[2];
5639 5639
 		}
5640
-		else if($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches))
5640
+		else if ($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches))
5641 5641
 		{
5642
-			$value = (float)$matches[1];
5642
+			$value = (float) $matches[1];
5643 5643
 			$str = $matches[3];
5644 5644
 		}
5645
-		else if($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int)$matches[1], 2) == '";')
5645
+		else if ($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int) $matches[1], 2) == '";')
5646 5646
 		{
5647
-			$value = substr($matches[2], 0, (int)$matches[1]);
5648
-			$str = substr($matches[2], (int)$matches[1] + 2);
5647
+			$value = substr($matches[2], 0, (int) $matches[1]);
5648
+			$str = substr($matches[2], (int) $matches[1] + 2);
5649 5649
 		}
5650
-		else if($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches))
5650
+		else if ($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches))
5651 5651
 		{
5652
-			$expectedLength = (int)$matches[1];
5652
+			$expectedLength = (int) $matches[1];
5653 5653
 			$str = $matches[2];
5654 5654
 		}
5655 5655
 
@@ -5657,10 +5657,10 @@  discard block
 block discarded – undo
5657 5657
 		else
5658 5658
 			return false;
5659 5659
 
5660
-		switch($state)
5660
+		switch ($state)
5661 5661
 		{
5662 5662
 			case 3: // In array, expecting value or another array.
5663
-				if($type == 'a')
5663
+				if ($type == 'a')
5664 5664
 				{
5665 5665
 					$stack[] = &$list;
5666 5666
 					$list[$key] = array();
@@ -5669,7 +5669,7 @@  discard block
 block discarded – undo
5669 5669
 					$state = 2;
5670 5670
 					break;
5671 5671
 				}
5672
-				if($type != '}')
5672
+				if ($type != '}')
5673 5673
 				{
5674 5674
 					$list[$key] = $value;
5675 5675
 					$state = 2;
@@ -5680,29 +5680,29 @@  discard block
 block discarded – undo
5680 5680
 				return false;
5681 5681
 
5682 5682
 			case 2: // in array, expecting end of array or a key
5683
-				if($type == '}')
5683
+				if ($type == '}')
5684 5684
 				{
5685 5685
 					// Array size is less than expected.
5686
-					if(count($list) < end($expected))
5686
+					if (count($list) < end($expected))
5687 5687
 						return false;
5688 5688
 
5689 5689
 					unset($list);
5690
-					$list = &$stack[count($stack)-1];
5690
+					$list = &$stack[count($stack) - 1];
5691 5691
 					array_pop($stack);
5692 5692
 
5693 5693
 					// Go to terminal state if we're at the end of the root array.
5694 5694
 					array_pop($expected);
5695 5695
 
5696
-					if(count($expected) == 0)
5696
+					if (count($expected) == 0)
5697 5697
 						$state = 1;
5698 5698
 
5699 5699
 					break;
5700 5700
 				}
5701 5701
 
5702
-				if($type == 'i' || $type == 's')
5702
+				if ($type == 'i' || $type == 's')
5703 5703
 				{
5704 5704
 					// Array size exceeds expected length.
5705
-					if(count($list) >= end($expected))
5705
+					if (count($list) >= end($expected))
5706 5706
 						return false;
5707 5707
 
5708 5708
 					$key = $value;
@@ -5715,7 +5715,7 @@  discard block
 block discarded – undo
5715 5715
 
5716 5716
 			// Expecting array or value.
5717 5717
 			case 0:
5718
-				if($type == 'a')
5718
+				if ($type == 'a')
5719 5719
 				{
5720 5720
 					$data = array();
5721 5721
 					$list = &$data;
@@ -5724,7 +5724,7 @@  discard block
 block discarded – undo
5724 5724
 					break;
5725 5725
 				}
5726 5726
 
5727
-				if($type != '}')
5727
+				if ($type != '}')
5728 5728
 				{
5729 5729
 					$data = $value;
5730 5730
 					$state = 1;
@@ -5737,7 +5737,7 @@  discard block
 block discarded – undo
5737 5737
 	}
5738 5738
 
5739 5739
 	// Trailing data in input.
5740
-	if(!empty($str))
5740
+	if (!empty($str))
5741 5741
 		return false;
5742 5742
 
5743 5743
 	return $data;
@@ -5791,7 +5791,7 @@  discard block
 block discarded – undo
5791 5791
 	// Set different modes.
5792 5792
 	$chmodValues = $isDir ? array(0750, 0755, 0775, 0777) : array(0644, 0664, 0666);
5793 5793
 
5794
-	foreach($chmodValues as $val)
5794
+	foreach ($chmodValues as $val)
5795 5795
 	{
5796 5796
 		// If it's writable, break out of the loop.
5797 5797
 		if (is_writable($file))
@@ -5826,13 +5826,13 @@  discard block
 block discarded – undo
5826 5826
 	$returnArray = @json_decode($json, $returnAsArray);
5827 5827
 
5828 5828
 	// PHP 5.3 so no json_last_error_msg()
5829
-	switch(json_last_error())
5829
+	switch (json_last_error())
5830 5830
 	{
5831 5831
 		case JSON_ERROR_NONE:
5832 5832
 			$jsonError = false;
5833 5833
 			break;
5834 5834
 		case JSON_ERROR_DEPTH:
5835
-			$jsonError =  'JSON_ERROR_DEPTH';
5835
+			$jsonError = 'JSON_ERROR_DEPTH';
5836 5836
 			break;
5837 5837
 		case JSON_ERROR_STATE_MISMATCH:
5838 5838
 			$jsonError = 'JSON_ERROR_STATE_MISMATCH';
@@ -5860,10 +5860,10 @@  discard block
 block discarded – undo
5860 5860
 		loadLanguage('Errors');
5861 5861
 
5862 5862
 		if (!empty($jsonDebug))
5863
-			log_error($txt['json_'. $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']);
5863
+			log_error($txt['json_' . $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']);
5864 5864
 
5865 5865
 		else
5866
-			log_error($txt['json_'. $jsonError], 'critical');
5866
+			log_error($txt['json_' . $jsonError], 'critical');
5867 5867
 
5868 5868
 		// Everyone expects an array.
5869 5869
 		return array();
@@ -5980,7 +5980,7 @@  discard block
 block discarded – undo
5980 5980
 		// Convert Punycode to Unicode
5981 5981
 		require_once($sourcedir . '/Class-Punycode.php');
5982 5982
 		$Punycode = new Punycode();
5983
-		$tlds = array_map(function ($input) use ($Punycode) { return $Punycode->decode($input); }, $tlds);
5983
+		$tlds = array_map(function($input) use ($Punycode) { return $Punycode->decode($input); }, $tlds);
5984 5984
 	}
5985 5985
 	// Otherwise, use the 2012 list of gTLDs and ccTLDs for now and schedule a background update
5986 5986
 	else
@@ -6074,7 +6074,7 @@  discard block
 block discarded – undo
6074 6074
 	}
6075 6075
 
6076 6076
 	// This recursive function creates the index array from the strings
6077
-	$add_string_to_index = function ($string, $index) use (&$strlen, &$substr, &$add_string_to_index)
6077
+	$add_string_to_index = function($string, $index) use (&$strlen, &$substr, &$add_string_to_index)
6078 6078
 	{
6079 6079
 		static $depth = 0;
6080 6080
 		$depth++;
@@ -6101,7 +6101,7 @@  discard block
 block discarded – undo
6101 6101
 	};
6102 6102
 
6103 6103
 	// This recursive function turns the index array into a regular expression
6104
-	$index_to_regex = function (&$index, $delim) use (&$strlen, &$index_to_regex)
6104
+	$index_to_regex = function(&$index, $delim) use (&$strlen, &$index_to_regex)
6105 6105
 	{
6106 6106
 		static $depth = 0;
6107 6107
 		$depth++;
@@ -6125,11 +6125,11 @@  discard block
 block discarded – undo
6125 6125
 
6126 6126
 				if (count(array_keys($value)) == 1)
6127 6127
 				{
6128
-					$new_key_array = explode('(?'.'>', $sub_regex);
6128
+					$new_key_array = explode('(?' . '>', $sub_regex);
6129 6129
 					$new_key .= $new_key_array[0];
6130 6130
 				}
6131 6131
 				else
6132
-					$sub_regex = '(?'.'>' . $sub_regex . ')';
6132
+					$sub_regex = '(?' . '>' . $sub_regex . ')';
6133 6133
 			}
6134 6134
 
6135 6135
 			if ($depth > 1)
@@ -6172,10 +6172,10 @@  discard block
 block discarded – undo
6172 6172
 	{
6173 6173
 		$regex = array();
6174 6174
 		while (!empty($index))
6175
-			$regex[] = '(?'.'>' . $index_to_regex($index, $delim) . ')';
6175
+			$regex[] = '(?' . '>' . $index_to_regex($index, $delim) . ')';
6176 6176
 	}
6177 6177
 	else
6178
-		$regex = '(?'.'>' . $index_to_regex($index, $delim) . ')';
6178
+		$regex = '(?' . '>' . $index_to_regex($index, $delim) . ')';
6179 6179
 
6180 6180
 	// Restore PHP's internal character encoding to whatever it was originally
6181 6181
 	if (!empty($current_encoding))
@@ -6400,7 +6400,7 @@  discard block
 block discarded – undo
6400 6400
 function sanitize_iri($iri)
6401 6401
 {
6402 6402
 	// Encode any non-ASCII characters (but not space or control characters of any sort)
6403
-	$iri = preg_replace_callback('~[^\x00-\x7F\pZ\pC]~u', function ($matches) {
6403
+	$iri = preg_replace_callback('~[^\x00-\x7F\pZ\pC]~u', function($matches) {
6404 6404
 		return rawurlencode($matches[0]);
6405 6405
 	}, $iri);
6406 6406
 
@@ -6442,7 +6442,7 @@  discard block
 block discarded – undo
6442 6442
 	$unescaped = array(
6443 6443
 		'%21'=>'!', '%23'=>'#', '%24'=>'$', '%26'=>'&',
6444 6444
 		'%27'=>"'", '%28'=>'(', '%29'=>')', '%2A'=>'*',
6445
-		'%2B'=>'+', '%2C'=>',',	'%2F'=>'/', '%3A'=>':',
6445
+		'%2B'=>'+', '%2C'=>',', '%2F'=>'/', '%3A'=>':',
6446 6446
 		'%3B'=>';', '%3D'=>'=', '%3F'=>'?', '%40'=>'@',
6447 6447
 	);
6448 6448
 	$iri = strtr(rawurlencode($iri), $unescaped);
Please login to merge, or discard this patch.
Braces   +1460 added lines, -1083 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
  * Update some basic statistics.
@@ -122,10 +123,11 @@  discard block
 block discarded – undo
122 123
 						$smcFunc['db_free_result']($result);
123 124
 
124 125
 						// Add this to the number of unapproved members
125
-						if (!empty($changes['unapprovedMembers']))
126
-							$changes['unapprovedMembers'] += $coppa_approvals;
127
-						else
128
-							$changes['unapprovedMembers'] = $coppa_approvals;
126
+						if (!empty($changes['unapprovedMembers'])) {
127
+													$changes['unapprovedMembers'] += $coppa_approvals;
128
+						} else {
129
+													$changes['unapprovedMembers'] = $coppa_approvals;
130
+						}
129 131
 					}
130 132
 				}
131 133
 			}
@@ -133,9 +135,9 @@  discard block
 block discarded – undo
133 135
 			break;
134 136
 
135 137
 		case 'message':
136
-			if ($parameter1 === true && $parameter2 !== null)
137
-				updateSettings(array('totalMessages' => true, 'maxMsgID' => $parameter2), true);
138
-			else
138
+			if ($parameter1 === true && $parameter2 !== null) {
139
+							updateSettings(array('totalMessages' => true, 'maxMsgID' => $parameter2), true);
140
+			} else
139 141
 			{
140 142
 				// SUM and MAX on a smaller table is better for InnoDB tables.
141 143
 				$result = $smcFunc['db_query']('', '
@@ -175,23 +177,25 @@  discard block
 block discarded – undo
175 177
 				$parameter2 = text2words($parameter2);
176 178
 
177 179
 				$inserts = array();
178
-				foreach ($parameter2 as $word)
179
-					$inserts[] = array($word, $parameter1);
180
+				foreach ($parameter2 as $word) {
181
+									$inserts[] = array($word, $parameter1);
182
+				}
180 183
 
181
-				if (!empty($inserts))
182
-					$smcFunc['db_insert']('ignore',
184
+				if (!empty($inserts)) {
185
+									$smcFunc['db_insert']('ignore',
183 186
 						'{db_prefix}log_search_subjects',
184 187
 						array('word' => 'string', 'id_topic' => 'int'),
185 188
 						$inserts,
186 189
 						array('word', 'id_topic')
187 190
 					);
191
+				}
188 192
 			}
189 193
 			break;
190 194
 
191 195
 		case 'topic':
192
-			if ($parameter1 === true)
193
-				updateSettings(array('totalTopics' => true), true);
194
-			else
196
+			if ($parameter1 === true) {
197
+							updateSettings(array('totalTopics' => true), true);
198
+			} else
195 199
 			{
196 200
 				// Get the number of topics - a SUM is better for InnoDB tables.
197 201
 				// We also ignore the recycle bin here because there will probably be a bunch of one-post topics there.
@@ -212,8 +216,9 @@  discard block
 block discarded – undo
212 216
 
213 217
 		case 'postgroups':
214 218
 			// Parameter two is the updated columns: we should check to see if we base groups off any of these.
215
-			if ($parameter2 !== null && !in_array('posts', $parameter2))
216
-				return;
219
+			if ($parameter2 !== null && !in_array('posts', $parameter2)) {
220
+							return;
221
+			}
217 222
 
218 223
 			$postgroups = cache_get_data('updateStats:postgroups', 360);
219 224
 			if ($postgroups == null || $parameter1 == null)
@@ -228,8 +233,9 @@  discard block
 block discarded – undo
228 233
 					)
229 234
 				);
230 235
 				$postgroups = array();
231
-				while ($row = $smcFunc['db_fetch_assoc']($request))
232
-					$postgroups[$row['id_group']] = $row['min_posts'];
236
+				while ($row = $smcFunc['db_fetch_assoc']($request)) {
237
+									$postgroups[$row['id_group']] = $row['min_posts'];
238
+				}
233 239
 				$smcFunc['db_free_result']($request);
234 240
 
235 241
 				// Sort them this way because if it's done with MySQL it causes a filesort :(.
@@ -239,8 +245,9 @@  discard block
 block discarded – undo
239 245
 			}
240 246
 
241 247
 			// Oh great, they've screwed their post groups.
242
-			if (empty($postgroups))
243
-				return;
248
+			if (empty($postgroups)) {
249
+							return;
250
+			}
244 251
 
245 252
 			// Set all membergroups from most posts to least posts.
246 253
 			$conditions = '';
@@ -298,10 +305,9 @@  discard block
 block discarded – undo
298 305
 	{
299 306
 		$condition = 'id_member IN ({array_int:members})';
300 307
 		$parameters['members'] = $members;
301
-	}
302
-	elseif ($members === null)
303
-		$condition = '1=1';
304
-	else
308
+	} elseif ($members === null) {
309
+			$condition = '1=1';
310
+	} else
305 311
 	{
306 312
 		$condition = 'id_member = {int:member}';
307 313
 		$parameters['member'] = $members;
@@ -341,9 +347,9 @@  discard block
 block discarded – undo
341 347
 		if (count($vars_to_integrate) != 0)
342 348
 		{
343 349
 			// Fetch a list of member_names if necessary
344
-			if ((!is_array($members) && $members === $user_info['id']) || (is_array($members) && count($members) == 1 && in_array($user_info['id'], $members)))
345
-				$member_names = array($user_info['username']);
346
-			else
350
+			if ((!is_array($members) && $members === $user_info['id']) || (is_array($members) && count($members) == 1 && in_array($user_info['id'], $members))) {
351
+							$member_names = array($user_info['username']);
352
+			} else
347 353
 			{
348 354
 				$member_names = array();
349 355
 				$request = $smcFunc['db_query']('', '
@@ -352,14 +358,16 @@  discard block
 block discarded – undo
352 358
 					WHERE ' . $condition,
353 359
 					$parameters
354 360
 				);
355
-				while ($row = $smcFunc['db_fetch_assoc']($request))
356
-					$member_names[] = $row['member_name'];
361
+				while ($row = $smcFunc['db_fetch_assoc']($request)) {
362
+									$member_names[] = $row['member_name'];
363
+				}
357 364
 				$smcFunc['db_free_result']($request);
358 365
 			}
359 366
 
360
-			if (!empty($member_names))
361
-				foreach ($vars_to_integrate as $var)
367
+			if (!empty($member_names)) {
368
+							foreach ($vars_to_integrate as $var)
362 369
 					call_integration_hook('integrate_change_member_data', array($member_names, $var, &$data[$var], &$knownInts, &$knownFloats));
370
+			}
363 371
 		}
364 372
 	}
365 373
 
@@ -367,16 +375,17 @@  discard block
 block discarded – undo
367 375
 	foreach ($data as $var => $val)
368 376
 	{
369 377
 		$type = 'string';
370
-		if (in_array($var, $knownInts))
371
-			$type = 'int';
372
-		elseif (in_array($var, $knownFloats))
373
-			$type = 'float';
374
-		elseif ($var == 'birthdate')
375
-			$type = 'date';
376
-		elseif ($var == 'member_ip')
377
-			$type = 'inet';
378
-		elseif ($var == 'member_ip2')
379
-			$type = 'inet';
378
+		if (in_array($var, $knownInts)) {
379
+					$type = 'int';
380
+		} elseif (in_array($var, $knownFloats)) {
381
+					$type = 'float';
382
+		} elseif ($var == 'birthdate') {
383
+					$type = 'date';
384
+		} elseif ($var == 'member_ip') {
385
+					$type = 'inet';
386
+		} elseif ($var == 'member_ip2') {
387
+					$type = 'inet';
388
+		}
380 389
 
381 390
 		// Doing an increment?
382 391
 		if ($var == 'alerts' && ($val === '+' || $val === '-'))
@@ -385,18 +394,17 @@  discard block
 block discarded – undo
385 394
 			if (is_array($members))
386 395
 			{
387 396
 				$val = 'CASE ';
388
-				foreach ($members as $k => $v)
389
-					$val .= 'WHEN id_member = ' . $v . ' THEN '. alert_count($v, false) . ' ';
397
+				foreach ($members as $k => $v) {
398
+									$val .= 'WHEN id_member = ' . $v . ' THEN '. alert_count($v, false) . ' ';
399
+				}
390 400
 				$val = $val . ' END';
391 401
 				$type = 'raw';
392
-			}
393
-			else
402
+			} else
394 403
 			{
395 404
 				$val = alert_count($members, false);
396 405
 				$val = count($blub);
397 406
 			}
398
-		}
399
-		else if ($type == 'int' && ($val === '+' || $val === '-'))
407
+		} else if ($type == 'int' && ($val === '+' || $val === '-'))
400 408
 		{
401 409
 			$val = $var . ' ' . $val . ' 1';
402 410
 			$type = 'raw';
@@ -407,8 +415,9 @@  discard block
 block discarded – undo
407 415
 		{
408 416
 			if (preg_match('~^' . $var . ' (\+ |- |\+ -)([\d]+)~', $val, $match))
409 417
 			{
410
-				if ($match[1] != '+ ')
411
-					$val = 'CASE WHEN ' . $var . ' <= ' . abs($match[2]) . ' THEN 0 ELSE ' . $val . ' END';
418
+				if ($match[1] != '+ ') {
419
+									$val = 'CASE WHEN ' . $var . ' <= ' . abs($match[2]) . ' THEN 0 ELSE ' . $val . ' END';
420
+				}
412 421
 				$type = 'raw';
413 422
 			}
414 423
 		}
@@ -429,8 +438,9 @@  discard block
 block discarded – undo
429 438
 	// Clear any caching?
430 439
 	if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2 && !empty($members))
431 440
 	{
432
-		if (!is_array($members))
433
-			$members = array($members);
441
+		if (!is_array($members)) {
442
+					$members = array($members);
443
+		}
434 444
 
435 445
 		foreach ($members as $member)
436 446
 		{
@@ -463,29 +473,32 @@  discard block
 block discarded – undo
463 473
 {
464 474
 	global $modSettings, $smcFunc;
465 475
 
466
-	if (empty($changeArray) || !is_array($changeArray))
467
-		return;
476
+	if (empty($changeArray) || !is_array($changeArray)) {
477
+			return;
478
+	}
468 479
 
469 480
 	$toRemove = array();
470 481
 
471 482
 	// Go check if there is any setting to be removed.
472
-	foreach ($changeArray as $k => $v)
473
-		if ($v === null)
483
+	foreach ($changeArray as $k => $v) {
484
+			if ($v === null)
474 485
 		{
475 486
 			// Found some, remove them from the original array and add them to ours.
476 487
 			unset($changeArray[$k]);
488
+	}
477 489
 			$toRemove[] = $k;
478 490
 		}
479 491
 
480 492
 	// Proceed with the deletion.
481
-	if (!empty($toRemove))
482
-		$smcFunc['db_query']('', '
493
+	if (!empty($toRemove)) {
494
+			$smcFunc['db_query']('', '
483 495
 			DELETE FROM {db_prefix}settings
484 496
 			WHERE variable IN ({array_string:remove})',
485 497
 			array(
486 498
 				'remove' => $toRemove,
487 499
 			)
488 500
 		);
501
+	}
489 502
 
490 503
 	// In some cases, this may be better and faster, but for large sets we don't want so many UPDATEs.
491 504
 	if ($update)
@@ -514,19 +527,22 @@  discard block
 block discarded – undo
514 527
 	foreach ($changeArray as $variable => $value)
515 528
 	{
516 529
 		// Don't bother if it's already like that ;).
517
-		if (isset($modSettings[$variable]) && $modSettings[$variable] == $value)
518
-			continue;
530
+		if (isset($modSettings[$variable]) && $modSettings[$variable] == $value) {
531
+					continue;
532
+		}
519 533
 		// If the variable isn't set, but would only be set to nothing'ness, then don't bother setting it.
520
-		elseif (!isset($modSettings[$variable]) && empty($value))
521
-			continue;
534
+		elseif (!isset($modSettings[$variable]) && empty($value)) {
535
+					continue;
536
+		}
522 537
 
523 538
 		$replaceArray[] = array($variable, $value);
524 539
 
525 540
 		$modSettings[$variable] = $value;
526 541
 	}
527 542
 
528
-	if (empty($replaceArray))
529
-		return;
543
+	if (empty($replaceArray)) {
544
+			return;
545
+	}
530 546
 
531 547
 	$smcFunc['db_insert']('replace',
532 548
 		'{db_prefix}settings',
@@ -572,14 +588,17 @@  discard block
 block discarded – undo
572 588
 	$start_invalid = $start < 0;
573 589
 
574 590
 	// Make sure $start is a proper variable - not less than 0.
575
-	if ($start_invalid)
576
-		$start = 0;
591
+	if ($start_invalid) {
592
+			$start = 0;
593
+	}
577 594
 	// Not greater than the upper bound.
578
-	elseif ($start >= $max_value)
579
-		$start = max(0, (int) $max_value - (((int) $max_value % (int) $num_per_page) == 0 ? $num_per_page : ((int) $max_value % (int) $num_per_page)));
595
+	elseif ($start >= $max_value) {
596
+			$start = max(0, (int) $max_value - (((int) $max_value % (int) $num_per_page) == 0 ? $num_per_page : ((int) $max_value % (int) $num_per_page)));
597
+	}
580 598
 	// And it has to be a multiple of $num_per_page!
581
-	else
582
-		$start = max(0, (int) $start - ((int) $start % (int) $num_per_page));
599
+	else {
600
+			$start = max(0, (int) $start - ((int) $start % (int) $num_per_page));
601
+	}
583 602
 
584 603
 	$context['current_page'] = $start / $num_per_page;
585 604
 
@@ -609,77 +628,87 @@  discard block
 block discarded – undo
609 628
 
610 629
 		// Show all the pages.
611 630
 		$display_page = 1;
612
-		for ($counter = 0; $counter < $max_value; $counter += $num_per_page)
613
-			$pageindex .= $start == $counter && !$start_invalid ? sprintf($settings['page_index']['current_page'], $display_page++) : sprintf($base_link, $counter, $display_page++);
631
+		for ($counter = 0; $counter < $max_value; $counter += $num_per_page) {
632
+					$pageindex .= $start == $counter && !$start_invalid ? sprintf($settings['page_index']['current_page'], $display_page++) : sprintf($base_link, $counter, $display_page++);
633
+		}
614 634
 
615 635
 		// Show the right arrow.
616 636
 		$display_page = ($start + $num_per_page) > $max_value ? $max_value : ($start + $num_per_page);
617
-		if ($start != $counter - $max_value && !$start_invalid)
618
-			$pageindex .= $display_page > $counter - $num_per_page ? ' ' : sprintf($base_link, $display_page, $settings['page_index']['next_page']);
619
-	}
620
-	else
637
+		if ($start != $counter - $max_value && !$start_invalid) {
638
+					$pageindex .= $display_page > $counter - $num_per_page ? ' ' : sprintf($base_link, $display_page, $settings['page_index']['next_page']);
639
+		}
640
+	} else
621 641
 	{
622 642
 		// If they didn't enter an odd value, pretend they did.
623 643
 		$PageContiguous = (int) ($modSettings['compactTopicPagesContiguous'] - ($modSettings['compactTopicPagesContiguous'] % 2)) / 2;
624 644
 
625 645
 		// Show the "prev page" link. (>prev page< 1 ... 6 7 [8] 9 10 ... 15 next page)
626
-		if (!empty($start) && $show_prevnext)
627
-			$pageindex .= sprintf($base_link, $start - $num_per_page, $settings['page_index']['previous_page']);
628
-		else
629
-			$pageindex .= '';
646
+		if (!empty($start) && $show_prevnext) {
647
+					$pageindex .= sprintf($base_link, $start - $num_per_page, $settings['page_index']['previous_page']);
648
+		} else {
649
+					$pageindex .= '';
650
+		}
630 651
 
631 652
 		// Show the first page. (prev page >1< ... 6 7 [8] 9 10 ... 15)
632
-		if ($start > $num_per_page * $PageContiguous)
633
-			$pageindex .= sprintf($base_link, 0, '1');
653
+		if ($start > $num_per_page * $PageContiguous) {
654
+					$pageindex .= sprintf($base_link, 0, '1');
655
+		}
634 656
 
635 657
 		// Show the ... after the first page.  (prev page 1 >...< 6 7 [8] 9 10 ... 15 next page)
636
-		if ($start > $num_per_page * ($PageContiguous + 1))
637
-			$pageindex .= strtr($settings['page_index']['expand_pages'], array(
658
+		if ($start > $num_per_page * ($PageContiguous + 1)) {
659
+					$pageindex .= strtr($settings['page_index']['expand_pages'], array(
638 660
 				'{LINK}' => JavaScriptEscape($smcFunc['htmlspecialchars']($base_link)),
639 661
 				'{FIRST_PAGE}' => $num_per_page,
640 662
 				'{LAST_PAGE}' => $start - $num_per_page * $PageContiguous,
641 663
 				'{PER_PAGE}' => $num_per_page,
642 664
 			));
665
+		}
643 666
 
644 667
 		// Show the pages before the current one. (prev page 1 ... >6 7< [8] 9 10 ... 15 next page)
645
-		for ($nCont = $PageContiguous; $nCont >= 1; $nCont--)
646
-			if ($start >= $num_per_page * $nCont)
668
+		for ($nCont = $PageContiguous; $nCont >= 1; $nCont--) {
669
+					if ($start >= $num_per_page * $nCont)
647 670
 			{
648 671
 				$tmpStart = $start - $num_per_page * $nCont;
672
+		}
649 673
 				$pageindex .= sprintf($base_link, $tmpStart, $tmpStart / $num_per_page + 1);
650 674
 			}
651 675
 
652 676
 		// Show the current page. (prev page 1 ... 6 7 >[8]< 9 10 ... 15 next page)
653
-		if (!$start_invalid)
654
-			$pageindex .= sprintf($settings['page_index']['current_page'], $start / $num_per_page + 1);
655
-		else
656
-			$pageindex .= sprintf($base_link, $start, $start / $num_per_page + 1);
677
+		if (!$start_invalid) {
678
+					$pageindex .= sprintf($settings['page_index']['current_page'], $start / $num_per_page + 1);
679
+		} else {
680
+					$pageindex .= sprintf($base_link, $start, $start / $num_per_page + 1);
681
+		}
657 682
 
658 683
 		// Show the pages after the current one... (prev page 1 ... 6 7 [8] >9 10< ... 15 next page)
659 684
 		$tmpMaxPages = (int) (($max_value - 1) / $num_per_page) * $num_per_page;
660
-		for ($nCont = 1; $nCont <= $PageContiguous; $nCont++)
661
-			if ($start + $num_per_page * $nCont <= $tmpMaxPages)
685
+		for ($nCont = 1; $nCont <= $PageContiguous; $nCont++) {
686
+					if ($start + $num_per_page * $nCont <= $tmpMaxPages)
662 687
 			{
663 688
 				$tmpStart = $start + $num_per_page * $nCont;
689
+		}
664 690
 				$pageindex .= sprintf($base_link, $tmpStart, $tmpStart / $num_per_page + 1);
665 691
 			}
666 692
 
667 693
 		// Show the '...' part near the end. (prev page 1 ... 6 7 [8] 9 10 >...< 15 next page)
668
-		if ($start + $num_per_page * ($PageContiguous + 1) < $tmpMaxPages)
669
-			$pageindex .= strtr($settings['page_index']['expand_pages'], array(
694
+		if ($start + $num_per_page * ($PageContiguous + 1) < $tmpMaxPages) {
695
+					$pageindex .= strtr($settings['page_index']['expand_pages'], array(
670 696
 				'{LINK}' => JavaScriptEscape($smcFunc['htmlspecialchars']($base_link)),
671 697
 				'{FIRST_PAGE}' => $start + $num_per_page * ($PageContiguous + 1),
672 698
 				'{LAST_PAGE}' => $tmpMaxPages,
673 699
 				'{PER_PAGE}' => $num_per_page,
674 700
 			));
701
+		}
675 702
 
676 703
 		// Show the last number in the list. (prev page 1 ... 6 7 [8] 9 10 ... >15<  next page)
677
-		if ($start + $num_per_page * $PageContiguous < $tmpMaxPages)
678
-			$pageindex .= sprintf($base_link, $tmpMaxPages, $tmpMaxPages / $num_per_page + 1);
704
+		if ($start + $num_per_page * $PageContiguous < $tmpMaxPages) {
705
+					$pageindex .= sprintf($base_link, $tmpMaxPages, $tmpMaxPages / $num_per_page + 1);
706
+		}
679 707
 
680 708
 		// Show the "next page" link. (prev page 1 ... 6 7 [8] 9 10 ... 15 >next page<)
681
-		if ($start != $tmpMaxPages && $show_prevnext)
682
-			$pageindex .= sprintf($base_link, $start + $num_per_page, $settings['page_index']['next_page']);
709
+		if ($start != $tmpMaxPages && $show_prevnext) {
710
+					$pageindex .= sprintf($base_link, $start + $num_per_page, $settings['page_index']['next_page']);
711
+		}
683 712
 	}
684 713
 	$pageindex .= $settings['page_index']['extra_after'];
685 714
 
@@ -705,8 +734,9 @@  discard block
 block discarded – undo
705 734
 	if ($decimal_separator === null)
706 735
 	{
707 736
 		// Not set for whatever reason?
708
-		if (empty($txt['number_format']) || preg_match('~^1([^\d]*)?234([^\d]*)(0*?)$~', $txt['number_format'], $matches) != 1)
709
-			return $number;
737
+		if (empty($txt['number_format']) || preg_match('~^1([^\d]*)?234([^\d]*)(0*?)$~', $txt['number_format'], $matches) != 1) {
738
+					return $number;
739
+		}
710 740
 
711 741
 		// Cache these each load...
712 742
 		$thousands_separator = $matches[1];
@@ -747,17 +777,20 @@  discard block
 block discarded – undo
747 777
 	$user_info['time_format'] = !empty($user_info['time_format']) ? $user_info['time_format'] : (!empty($modSettings['time_format']) ? $modSettings['time_format'] : '%F %H:%M');
748 778
 
749 779
 	// Offset the time.
750
-	if (!$offset_type)
751
-		$time = $log_time + ($user_info['time_offset'] + $modSettings['time_offset']) * 3600;
780
+	if (!$offset_type) {
781
+			$time = $log_time + ($user_info['time_offset'] + $modSettings['time_offset']) * 3600;
782
+	}
752 783
 	// Just the forum offset?
753
-	elseif ($offset_type == 'forum')
754
-		$time = $log_time + $modSettings['time_offset'] * 3600;
755
-	else
756
-		$time = $log_time;
784
+	elseif ($offset_type == 'forum') {
785
+			$time = $log_time + $modSettings['time_offset'] * 3600;
786
+	} else {
787
+			$time = $log_time;
788
+	}
757 789
 
758 790
 	// We can't have a negative date (on Windows, at least.)
759
-	if ($log_time < 0)
760
-		$log_time = 0;
791
+	if ($log_time < 0) {
792
+			$log_time = 0;
793
+	}
761 794
 
762 795
 	// Today and Yesterday?
763 796
 	if ($modSettings['todayMod'] >= 1 && $show_today === true)
@@ -774,24 +807,27 @@  discard block
 block discarded – undo
774 807
 		{
775 808
 			$h = strpos($user_info['time_format'], '%l') === false ? '%I' : '%l';
776 809
 			$today_fmt = $h . ':%M' . $s . ' %p';
810
+		} else {
811
+					$today_fmt = '%H:%M' . $s;
777 812
 		}
778
-		else
779
-			$today_fmt = '%H:%M' . $s;
780 813
 
781 814
 		// Same day of the year, same year.... Today!
782
-		if ($then['yday'] == $now['yday'] && $then['year'] == $now['year'])
783
-			return $txt['today'] . timeformat($log_time, $today_fmt, $offset_type);
815
+		if ($then['yday'] == $now['yday'] && $then['year'] == $now['year']) {
816
+					return $txt['today'] . timeformat($log_time, $today_fmt, $offset_type);
817
+		}
784 818
 
785 819
 		// Day-of-year is one less and same year, or it's the first of the year and that's the last of the year...
786
-		if ($modSettings['todayMod'] == '2' && (($then['yday'] == $now['yday'] - 1 && $then['year'] == $now['year']) || ($now['yday'] == 0 && $then['year'] == $now['year'] - 1) && $then['mon'] == 12 && $then['mday'] == 31))
787
-			return $txt['yesterday'] . timeformat($log_time, $today_fmt, $offset_type);
820
+		if ($modSettings['todayMod'] == '2' && (($then['yday'] == $now['yday'] - 1 && $then['year'] == $now['year']) || ($now['yday'] == 0 && $then['year'] == $now['year'] - 1) && $then['mon'] == 12 && $then['mday'] == 31)) {
821
+					return $txt['yesterday'] . timeformat($log_time, $today_fmt, $offset_type);
822
+		}
788 823
 	}
789 824
 
790 825
 	$str = !is_bool($show_today) ? $show_today : $user_info['time_format'];
791 826
 
792 827
 	// Use the cached formats if available
793
-	if (is_null($finalizedFormats))
794
-		$finalizedFormats = (array) cache_get_data('timeformatstrings', 86400);
828
+	if (is_null($finalizedFormats)) {
829
+			$finalizedFormats = (array) cache_get_data('timeformatstrings', 86400);
830
+	}
795 831
 
796 832
 	// Make a supported version for this format if we don't already have one
797 833
 	if (empty($finalizedFormats[$str]))
@@ -820,8 +856,9 @@  discard block
 block discarded – undo
820 856
 		);
821 857
 
822 858
 		// No need to do this part again if we already did it once
823
-		if (is_null($unsupportedFormats))
824
-			$unsupportedFormats = (array) cache_get_data('unsupportedtimeformats', 86400);
859
+		if (is_null($unsupportedFormats)) {
860
+					$unsupportedFormats = (array) cache_get_data('unsupportedtimeformats', 86400);
861
+		}
825 862
 		if (empty($unsupportedFormats))
826 863
 		{
827 864
 			foreach($strftimeFormatSubstitutions as $format => $substitution)
@@ -837,20 +874,23 @@  discard block
 block discarded – undo
837 874
 
838 875
 				// Windows will return false for unsupported formats
839 876
 				// Other operating systems return the format string as a literal
840
-				if ($value === false || $value === $format)
841
-					$unsupportedFormats[] = $format;
877
+				if ($value === false || $value === $format) {
878
+									$unsupportedFormats[] = $format;
879
+				}
842 880
 			}
843 881
 			cache_put_data('unsupportedtimeformats', $unsupportedFormats, 86400);
844 882
 		}
845 883
 
846 884
 		// Windows needs extra help if $timeformat contains something completely invalid, e.g. '%Q'
847
-		if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN')
848
-			$timeformat = preg_replace('~%(?!' . implode('|', array_keys($strftimeFormatSubstitutions)) . ')~', '&#37;', $timeformat);
885
+		if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
886
+					$timeformat = preg_replace('~%(?!' . implode('|', array_keys($strftimeFormatSubstitutions)) . ')~', '&#37;', $timeformat);
887
+		}
849 888
 
850 889
 		// Substitute unsupported formats with supported ones
851
-		if (!empty($unsupportedFormats))
852
-			while (preg_match('~%(' . implode('|', $unsupportedFormats) . ')~', $timeformat, $matches))
890
+		if (!empty($unsupportedFormats)) {
891
+					while (preg_match('~%(' . implode('|', $unsupportedFormats) . ')~', $timeformat, $matches))
853 892
 				$timeformat = str_replace($matches[0], $strftimeFormatSubstitutions[$matches[1]], $timeformat);
893
+		}
854 894
 
855 895
 		// Remember this so we don't need to do it again
856 896
 		$finalizedFormats[$str] = $timeformat;
@@ -859,33 +899,39 @@  discard block
 block discarded – undo
859 899
 
860 900
 	$str = $finalizedFormats[$str];
861 901
 
862
-	if (!isset($locale_cache))
863
-		$locale_cache = setlocale(LC_TIME, $txt['lang_locale'] . !empty($modSettings['global_character_set']) ? '.' . $modSettings['global_character_set'] : '');
902
+	if (!isset($locale_cache)) {
903
+			$locale_cache = setlocale(LC_TIME, $txt['lang_locale'] . !empty($modSettings['global_character_set']) ? '.' . $modSettings['global_character_set'] : '');
904
+	}
864 905
 
865 906
 	if ($locale_cache !== false)
866 907
 	{
867 908
 		// Check if another process changed the locale
868
-		if ($process_safe === true && setlocale(LC_TIME, '0') != $locale_cache)
869
-			setlocale(LC_TIME, $txt['lang_locale'] . !empty($modSettings['global_character_set']) ? '.' . $modSettings['global_character_set'] : '');
909
+		if ($process_safe === true && setlocale(LC_TIME, '0') != $locale_cache) {
910
+					setlocale(LC_TIME, $txt['lang_locale'] . !empty($modSettings['global_character_set']) ? '.' . $modSettings['global_character_set'] : '');
911
+		}
870 912
 
871
-		if (!isset($non_twelve_hour))
872
-			$non_twelve_hour = trim(strftime('%p')) === '';
873
-		if ($non_twelve_hour && strpos($str, '%p') !== false)
874
-			$str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str);
913
+		if (!isset($non_twelve_hour)) {
914
+					$non_twelve_hour = trim(strftime('%p')) === '';
915
+		}
916
+		if ($non_twelve_hour && strpos($str, '%p') !== false) {
917
+					$str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str);
918
+		}
875 919
 
876
-		foreach (array('%a', '%A', '%b', '%B') as $token)
877
-			if (strpos($str, $token) !== false)
920
+		foreach (array('%a', '%A', '%b', '%B') as $token) {
921
+					if (strpos($str, $token) !== false)
878 922
 				$str = str_replace($token, strftime($token, $time), $str);
879
-	}
880
-	else
923
+		}
924
+	} else
881 925
 	{
882 926
 		// Do-it-yourself time localization.  Fun.
883
-		foreach (array('%a' => 'days_short', '%A' => 'days', '%b' => 'months_short', '%B' => 'months') as $token => $text_label)
884
-			if (strpos($str, $token) !== false)
927
+		foreach (array('%a' => 'days_short', '%A' => 'days', '%b' => 'months_short', '%B' => 'months') as $token => $text_label) {
928
+					if (strpos($str, $token) !== false)
885 929
 				$str = str_replace($token, $txt[$text_label][(int) strftime($token === '%a' || $token === '%A' ? '%w' : '%m', $time)], $str);
930
+		}
886 931
 
887
-		if (strpos($str, '%p') !== false)
888
-			$str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str);
932
+		if (strpos($str, '%p') !== false) {
933
+					$str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str);
934
+		}
889 935
 	}
890 936
 
891 937
 	// Format the time and then restore any literal percent characters
@@ -908,16 +954,19 @@  discard block
 block discarded – undo
908 954
 	static $translation = array();
909 955
 
910 956
 	// Determine the character set... Default to UTF-8
911
-	if (empty($context['character_set']))
912
-		$charset = 'UTF-8';
957
+	if (empty($context['character_set'])) {
958
+			$charset = 'UTF-8';
959
+	}
913 960
 	// Use ISO-8859-1 in place of non-supported ISO-8859 charsets...
914
-	elseif (strpos($context['character_set'], 'ISO-8859-') !== false && !in_array($context['character_set'], array('ISO-8859-5', 'ISO-8859-15')))
915
-		$charset = 'ISO-8859-1';
916
-	else
917
-		$charset = $context['character_set'];
961
+	elseif (strpos($context['character_set'], 'ISO-8859-') !== false && !in_array($context['character_set'], array('ISO-8859-5', 'ISO-8859-15'))) {
962
+			$charset = 'ISO-8859-1';
963
+	} else {
964
+			$charset = $context['character_set'];
965
+	}
918 966
 
919
-	if (empty($translation))
920
-		$translation = array_flip(get_html_translation_table(HTML_SPECIALCHARS, ENT_QUOTES, $charset)) + array('&#039;' => '\'', '&#39;' => '\'', '&nbsp;' => ' ');
967
+	if (empty($translation)) {
968
+			$translation = array_flip(get_html_translation_table(HTML_SPECIALCHARS, ENT_QUOTES, $charset)) + array('&#039;' => '\'', '&#39;' => '\'', '&nbsp;' => ' ');
969
+	}
921 970
 
922 971
 	return strtr($string, $translation);
923 972
 }
@@ -939,8 +988,9 @@  discard block
 block discarded – undo
939 988
 	global $smcFunc;
940 989
 
941 990
 	// It was already short enough!
942
-	if ($smcFunc['strlen']($subject) <= $len)
943
-		return $subject;
991
+	if ($smcFunc['strlen']($subject) <= $len) {
992
+			return $subject;
993
+	}
944 994
 
945 995
 	// Shorten it by the length it was too long, and strip off junk from the end.
946 996
 	return $smcFunc['substr']($subject, 0, $len) . '...';
@@ -959,10 +1009,11 @@  discard block
 block discarded – undo
959 1009
 {
960 1010
 	global $user_info, $modSettings;
961 1011
 
962
-	if ($timestamp === null)
963
-		$timestamp = time();
964
-	elseif ($timestamp == 0)
965
-		return 0;
1012
+	if ($timestamp === null) {
1013
+			$timestamp = time();
1014
+	} elseif ($timestamp == 0) {
1015
+			return 0;
1016
+	}
966 1017
 
967 1018
 	return $timestamp + ($modSettings['time_offset'] + ($use_user_offset ? $user_info['time_offset'] : 0)) * 3600;
968 1019
 }
@@ -991,8 +1042,9 @@  discard block
 block discarded – undo
991 1042
 		$array[$i] = $array[$j];
992 1043
 		$array[$j] = $temp;
993 1044
 
994
-		for ($i = 1; $p[$i] == 0; $i++)
995
-			$p[$i] = 1;
1045
+		for ($i = 1; $p[$i] == 0; $i++) {
1046
+					$p[$i] = 1;
1047
+		}
996 1048
 
997 1049
 		$orders[] = $array;
998 1050
 	}
@@ -1024,12 +1076,14 @@  discard block
 block discarded – undo
1024 1076
 	static $disabled;
1025 1077
 
1026 1078
 	// Don't waste cycles
1027
-	if ($message === '')
1028
-		return '';
1079
+	if ($message === '') {
1080
+			return '';
1081
+	}
1029 1082
 
1030 1083
 	// Just in case it wasn't determined yet whether UTF-8 is enabled.
1031
-	if (!isset($context['utf8']))
1032
-		$context['utf8'] = (empty($modSettings['global_character_set']) ? $txt['lang_character_set'] : $modSettings['global_character_set']) === 'UTF-8';
1084
+	if (!isset($context['utf8'])) {
1085
+			$context['utf8'] = (empty($modSettings['global_character_set']) ? $txt['lang_character_set'] : $modSettings['global_character_set']) === 'UTF-8';
1086
+	}
1033 1087
 
1034 1088
 	// Clean up any cut/paste issues we may have
1035 1089
 	$message = sanitizeMSCutPaste($message);
@@ -1041,13 +1095,15 @@  discard block
 block discarded – undo
1041 1095
 		return $message;
1042 1096
 	}
1043 1097
 
1044
-	if ($smileys !== null && ($smileys == '1' || $smileys == '0'))
1045
-		$smileys = (bool) $smileys;
1098
+	if ($smileys !== null && ($smileys == '1' || $smileys == '0')) {
1099
+			$smileys = (bool) $smileys;
1100
+	}
1046 1101
 
1047 1102
 	if (empty($modSettings['enableBBC']) && $message !== false)
1048 1103
 	{
1049
-		if ($smileys === true)
1050
-			parsesmileys($message);
1104
+		if ($smileys === true) {
1105
+					parsesmileys($message);
1106
+		}
1051 1107
 
1052 1108
 		return $message;
1053 1109
 	}
@@ -1060,8 +1116,9 @@  discard block
 block discarded – undo
1060 1116
 	}
1061 1117
 
1062 1118
 	// Ensure $modSettings['tld_regex'] contains a valid regex for the autolinker
1063
-	if (!empty($modSettings['autoLinkUrls']))
1064
-		set_tld_regex();
1119
+	if (!empty($modSettings['autoLinkUrls'])) {
1120
+			set_tld_regex();
1121
+	}
1065 1122
 
1066 1123
 	// Allow mods access before entering the main parse_bbc loop
1067 1124
 	call_integration_hook('integrate_pre_parsebbc', array(&$message, &$smileys, &$cache_id, &$parse_tags));
@@ -1075,12 +1132,14 @@  discard block
 block discarded – undo
1075 1132
 
1076 1133
 			$temp = explode(',', strtolower($modSettings['disabledBBC']));
1077 1134
 
1078
-			foreach ($temp as $tag)
1079
-				$disabled[trim($tag)] = true;
1135
+			foreach ($temp as $tag) {
1136
+							$disabled[trim($tag)] = true;
1137
+			}
1080 1138
 		}
1081 1139
 
1082
-		if (empty($modSettings['enableEmbeddedFlash']))
1083
-			$disabled['flash'] = true;
1140
+		if (empty($modSettings['enableEmbeddedFlash'])) {
1141
+					$disabled['flash'] = true;
1142
+		}
1084 1143
 
1085 1144
 		/* The following bbc are formatted as an array, with keys as follows:
1086 1145
 
@@ -1201,8 +1260,9 @@  discard block
 block discarded – undo
1201 1260
 					$returnContext = '';
1202 1261
 
1203 1262
 					// BBC or the entire attachments feature is disabled
1204
-					if (empty($modSettings['attachmentEnable']) || !empty($disabled['attach']))
1205
-						return $data;
1263
+					if (empty($modSettings['attachmentEnable']) || !empty($disabled['attach'])) {
1264
+											return $data;
1265
+					}
1206 1266
 
1207 1267
 					// Save the attach ID.
1208 1268
 					$attachID = $data;
@@ -1213,8 +1273,9 @@  discard block
 block discarded – undo
1213 1273
 					$currentAttachment = parseAttachBBC($attachID);
1214 1274
 
1215 1275
 					// parseAttachBBC will return a string ($txt key) rather than diying with a fatal_error. Up to you to decide what to do.
1216
-					if (is_string($currentAttachment))
1217
-						return $data = !empty($txt[$currentAttachment]) ? $txt[$currentAttachment] : $currentAttachment;
1276
+					if (is_string($currentAttachment)) {
1277
+											return $data = !empty($txt[$currentAttachment]) ? $txt[$currentAttachment] : $currentAttachment;
1278
+					}
1218 1279
 
1219 1280
 					if (!empty($currentAttachment['is_image']))
1220 1281
 					{
@@ -1230,15 +1291,17 @@  discard block
 block discarded – undo
1230 1291
 							$height = ' height="' . $currentAttachment['height'] . '"';
1231 1292
 						}
1232 1293
 
1233
-						if ($currentAttachment['thumbnail']['has_thumb'] && empty($params['{width}']) && empty($params['{height}']))
1234
-							$returnContext .= '<a href="'. $currentAttachment['href']. ';image" id="link_'. $currentAttachment['id']. '" onclick="'. $currentAttachment['thumbnail']['javascript']. '"><img src="'. $currentAttachment['thumbnail']['href']. '"' . $alt . $title . ' id="thumb_'. $currentAttachment['id']. '" class="atc_img"></a>';
1235
-						else
1236
-							$returnContext .= '<img src="' . $currentAttachment['href'] . ';image"' . $alt . $title . $width . $height . ' class="bbc_img"/>';
1294
+						if ($currentAttachment['thumbnail']['has_thumb'] && empty($params['{width}']) && empty($params['{height}'])) {
1295
+													$returnContext .= '<a href="'. $currentAttachment['href']. ';image" id="link_'. $currentAttachment['id']. '" onclick="'. $currentAttachment['thumbnail']['javascript']. '"><img src="'. $currentAttachment['thumbnail']['href']. '"' . $alt . $title . ' id="thumb_'. $currentAttachment['id']. '" class="atc_img"></a>';
1296
+						} else {
1297
+													$returnContext .= '<img src="' . $currentAttachment['href'] . ';image"' . $alt . $title . $width . $height . ' class="bbc_img"/>';
1298
+						}
1237 1299
 					}
1238 1300
 
1239 1301
 					// No image. Show a link.
1240
-					else
1241
-						$returnContext .= $currentAttachment['link'];
1302
+					else {
1303
+											$returnContext .= $currentAttachment['link'];
1304
+					}
1242 1305
 
1243 1306
 					// Gotta append what we just did.
1244 1307
 					$data = $returnContext;
@@ -1269,8 +1332,9 @@  discard block
 block discarded – undo
1269 1332
 						for ($php_i = 0, $php_n = count($php_parts); $php_i < $php_n; $php_i++)
1270 1333
 						{
1271 1334
 							// Do PHP code coloring?
1272
-							if ($php_parts[$php_i] != '&lt;?php')
1273
-								continue;
1335
+							if ($php_parts[$php_i] != '&lt;?php') {
1336
+															continue;
1337
+							}
1274 1338
 
1275 1339
 							$php_string = '';
1276 1340
 							while ($php_i + 1 < count($php_parts) && $php_parts[$php_i] != '?&gt;')
@@ -1286,8 +1350,9 @@  discard block
 block discarded – undo
1286 1350
 						$data = str_replace("\t", "<span style=\"white-space: pre;\">\t</span>", $data);
1287 1351
 
1288 1352
 						// Recent Opera bug requiring temporary fix. &nsbp; is needed before </code> to avoid broken selection.
1289
-						if ($context['browser']['is_opera'])
1290
-							$data .= '&nbsp;';
1353
+						if ($context['browser']['is_opera']) {
1354
+													$data .= '&nbsp;';
1355
+						}
1291 1356
 					}
1292 1357
 				},
1293 1358
 				'block_level' => true,
@@ -1306,8 +1371,9 @@  discard block
 block discarded – undo
1306 1371
 						for ($php_i = 0, $php_n = count($php_parts); $php_i < $php_n; $php_i++)
1307 1372
 						{
1308 1373
 							// Do PHP code coloring?
1309
-							if ($php_parts[$php_i] != '&lt;?php')
1310
-								continue;
1374
+							if ($php_parts[$php_i] != '&lt;?php') {
1375
+															continue;
1376
+							}
1311 1377
 
1312 1378
 							$php_string = '';
1313 1379
 							while ($php_i + 1 < count($php_parts) && $php_parts[$php_i] != '?&gt;')
@@ -1323,8 +1389,9 @@  discard block
 block discarded – undo
1323 1389
 						$data[0] = str_replace("\t", "<span style=\"white-space: pre;\">\t</span>", $data[0]);
1324 1390
 
1325 1391
 						// Recent Opera bug requiring temporary fix. &nsbp; is needed before </code> to avoid broken selection.
1326
-						if ($context['browser']['is_opera'])
1327
-							$data[0] .= '&nbsp;';
1392
+						if ($context['browser']['is_opera']) {
1393
+													$data[0] .= '&nbsp;';
1394
+						}
1328 1395
 					}
1329 1396
 				},
1330 1397
 				'block_level' => true,
@@ -1362,11 +1429,13 @@  discard block
 block discarded – undo
1362 1429
 				'content' => '<embed type="application/x-shockwave-flash" src="$1" width="$2" height="$3" play="true" loop="true" quality="high" AllowScriptAccess="never">',
1363 1430
 				'validate' => function (&$tag, &$data, $disabled)
1364 1431
 				{
1365
-					if (isset($disabled['url']))
1366
-						$tag['content'] = '$1';
1432
+					if (isset($disabled['url'])) {
1433
+											$tag['content'] = '$1';
1434
+					}
1367 1435
 					$scheme = parse_url($data[0], PHP_URL_SCHEME);
1368
-					if (empty($scheme))
1369
-						$data[0] = '//' . ltrim($data[0], ':/');
1436
+					if (empty($scheme)) {
1437
+											$data[0] = '//' . ltrim($data[0], ':/');
1438
+					}
1370 1439
 				},
1371 1440
 				'disabled_content' => '<a href="$1" target="_blank" rel="noopener">$1</a>',
1372 1441
 			),
@@ -1380,10 +1449,11 @@  discard block
 block discarded – undo
1380 1449
 				{
1381 1450
 					$class = 'class="bbc_float float' . (strpos($data, 'left') === 0 ? 'left' : 'right') . '"';
1382 1451
 
1383
-					if (preg_match('~\bmax=(\d+(?:%|px|em|rem|ex|pt|pc|ch|vw|vh|vmin|vmax|cm|mm|in)?)~', $data, $matches))
1384
-						$css = ' style="max-width:' . $matches[1] . (is_numeric($matches[1]) ? 'px' : '') . '"';
1385
-					else
1386
-						$css = '';
1452
+					if (preg_match('~\bmax=(\d+(?:%|px|em|rem|ex|pt|pc|ch|vw|vh|vmin|vmax|cm|mm|in)?)~', $data, $matches)) {
1453
+											$css = ' style="max-width:' . $matches[1] . (is_numeric($matches[1]) ? 'px' : '') . '"';
1454
+					} else {
1455
+											$css = '';
1456
+					}
1387 1457
 
1388 1458
 					$data = $class . $css;
1389 1459
 				},
@@ -1433,17 +1503,20 @@  discard block
 block discarded – undo
1433 1503
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1434 1504
 					if ($image_proxy_enabled)
1435 1505
 					{
1436
-						if (!empty($user_info['possibly_robot']))
1437
-							return;
1506
+						if (!empty($user_info['possibly_robot'])) {
1507
+													return;
1508
+						}
1438 1509
 
1439
-						if (empty($scheme))
1440
-							$data = 'http://' . ltrim($data, ':/');
1510
+						if (empty($scheme)) {
1511
+													$data = 'http://' . ltrim($data, ':/');
1512
+						}
1441 1513
 
1442
-						if ($scheme != 'https')
1443
-							$data = get_proxied_url($data);
1514
+						if ($scheme != 'https') {
1515
+													$data = get_proxied_url($data);
1516
+						}
1517
+					} elseif (empty($scheme)) {
1518
+											$data = '//' . ltrim($data, ':/');
1444 1519
 					}
1445
-					elseif (empty($scheme))
1446
-						$data = '//' . ltrim($data, ':/');
1447 1520
 				},
1448 1521
 				'disabled_content' => '($1)',
1449 1522
 			),
@@ -1459,17 +1532,20 @@  discard block
 block discarded – undo
1459 1532
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1460 1533
 					if ($image_proxy_enabled)
1461 1534
 					{
1462
-						if (!empty($user_info['possibly_robot']))
1463
-							return;
1535
+						if (!empty($user_info['possibly_robot'])) {
1536
+													return;
1537
+						}
1464 1538
 
1465
-						if (empty($scheme))
1466
-							$data = 'http://' . ltrim($data, ':/');
1539
+						if (empty($scheme)) {
1540
+													$data = 'http://' . ltrim($data, ':/');
1541
+						}
1467 1542
 
1468
-						if ($scheme != 'https')
1469
-							$data = get_proxied_url($data);
1543
+						if ($scheme != 'https') {
1544
+													$data = get_proxied_url($data);
1545
+						}
1546
+					} elseif (empty($scheme)) {
1547
+											$data = '//' . ltrim($data, ':/');
1470 1548
 					}
1471
-					elseif (empty($scheme))
1472
-						$data = '//' . ltrim($data, ':/');
1473 1549
 				},
1474 1550
 				'disabled_content' => '($1)',
1475 1551
 			),
@@ -1481,8 +1557,9 @@  discard block
 block discarded – undo
1481 1557
 				{
1482 1558
 					$data = strtr($data, array('<br>' => ''));
1483 1559
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1484
-					if (empty($scheme))
1485
-						$data = '//' . ltrim($data, ':/');
1560
+					if (empty($scheme)) {
1561
+											$data = '//' . ltrim($data, ':/');
1562
+					}
1486 1563
 				},
1487 1564
 			),
1488 1565
 			array(
@@ -1493,13 +1570,14 @@  discard block
 block discarded – undo
1493 1570
 				'after' => '</a>',
1494 1571
 				'validate' => function (&$tag, &$data, $disabled)
1495 1572
 				{
1496
-					if (substr($data, 0, 1) == '#')
1497
-						$data = '#post_' . substr($data, 1);
1498
-					else
1573
+					if (substr($data, 0, 1) == '#') {
1574
+											$data = '#post_' . substr($data, 1);
1575
+					} else
1499 1576
 					{
1500 1577
 						$scheme = parse_url($data, PHP_URL_SCHEME);
1501
-						if (empty($scheme))
1502
-							$data = '//' . ltrim($data, ':/');
1578
+						if (empty($scheme)) {
1579
+													$data = '//' . ltrim($data, ':/');
1580
+						}
1503 1581
 					}
1504 1582
 				},
1505 1583
 				'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
@@ -1583,8 +1661,9 @@  discard block
 block discarded – undo
1583 1661
 					{
1584 1662
 						$add_begin = substr(trim($data), 0, 5) != '&lt;?';
1585 1663
 						$data = highlight_php_code($add_begin ? '&lt;?php ' . $data . '?&gt;' : $data);
1586
-						if ($add_begin)
1587
-							$data = preg_replace(array('~^(.+?)&lt;\?.{0,40}?php(?:&nbsp;|\s)~', '~\?&gt;((?:</(font|span)>)*)$~'), '$1', $data, 2);
1664
+						if ($add_begin) {
1665
+													$data = preg_replace(array('~^(.+?)&lt;\?.{0,40}?php(?:&nbsp;|\s)~', '~\?&gt;((?:</(font|span)>)*)$~'), '$1', $data, 2);
1666
+						}
1588 1667
 					}
1589 1668
 				},
1590 1669
 				'block_level' => false,
@@ -1715,10 +1794,11 @@  discard block
 block discarded – undo
1715 1794
 				'content' => '$1',
1716 1795
 				'validate' => function (&$tag, &$data, $disabled)
1717 1796
 				{
1718
-					if (is_numeric($data))
1719
-						$data = timeformat($data);
1720
-					else
1721
-						$tag['content'] = '[time]$1[/time]';
1797
+					if (is_numeric($data)) {
1798
+											$data = timeformat($data);
1799
+					} else {
1800
+											$tag['content'] = '[time]$1[/time]';
1801
+					}
1722 1802
 				},
1723 1803
 			),
1724 1804
 			array(
@@ -1745,8 +1825,9 @@  discard block
 block discarded – undo
1745 1825
 				{
1746 1826
 					$data = strtr($data, array('<br>' => ''));
1747 1827
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1748
-					if (empty($scheme))
1749
-						$data = '//' . ltrim($data, ':/');
1828
+					if (empty($scheme)) {
1829
+											$data = '//' . ltrim($data, ':/');
1830
+					}
1750 1831
 				},
1751 1832
 			),
1752 1833
 			array(
@@ -1758,8 +1839,9 @@  discard block
 block discarded – undo
1758 1839
 				'validate' => function (&$tag, &$data, $disabled)
1759 1840
 				{
1760 1841
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1761
-					if (empty($scheme))
1762
-						$data = '//' . ltrim($data, ':/');
1842
+					if (empty($scheme)) {
1843
+											$data = '//' . ltrim($data, ':/');
1844
+					}
1763 1845
 				},
1764 1846
 				'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
1765 1847
 				'disabled_after' => ' ($1)',
@@ -1785,8 +1867,9 @@  discard block
 block discarded – undo
1785 1867
 		// This is mainly for the bbc manager, so it's easy to add tags above.  Custom BBC should be added above this line.
1786 1868
 		if ($message === false)
1787 1869
 		{
1788
-			if (isset($temp_bbc))
1789
-				$bbc_codes = $temp_bbc;
1870
+			if (isset($temp_bbc)) {
1871
+							$bbc_codes = $temp_bbc;
1872
+			}
1790 1873
 			usort($codes, function ($a, $b) {
1791 1874
 				return strcmp($a['tag'], $b['tag']);
1792 1875
 			});
@@ -1806,8 +1889,9 @@  discard block
 block discarded – undo
1806 1889
 		);
1807 1890
 		if (!isset($disabled['li']) && !isset($disabled['list']))
1808 1891
 		{
1809
-			foreach ($itemcodes as $c => $dummy)
1810
-				$bbc_codes[$c] = array();
1892
+			foreach ($itemcodes as $c => $dummy) {
1893
+							$bbc_codes[$c] = array();
1894
+			}
1811 1895
 		}
1812 1896
 
1813 1897
 		// Shhhh!
@@ -1828,12 +1912,14 @@  discard block
 block discarded – undo
1828 1912
 		foreach ($codes as $code)
1829 1913
 		{
1830 1914
 			// Make it easier to process parameters later
1831
-			if (!empty($code['parameters']))
1832
-				ksort($code['parameters'], SORT_STRING);
1915
+			if (!empty($code['parameters'])) {
1916
+							ksort($code['parameters'], SORT_STRING);
1917
+			}
1833 1918
 
1834 1919
 			// If we are not doing every tag only do ones we are interested in.
1835
-			if (empty($parse_tags) || in_array($code['tag'], $parse_tags))
1836
-				$bbc_codes[substr($code['tag'], 0, 1)][] = $code;
1920
+			if (empty($parse_tags) || in_array($code['tag'], $parse_tags)) {
1921
+							$bbc_codes[substr($code['tag'], 0, 1)][] = $code;
1922
+			}
1837 1923
 		}
1838 1924
 		$codes = null;
1839 1925
 	}
@@ -1844,8 +1930,9 @@  discard block
 block discarded – undo
1844 1930
 		// It's likely this will change if the message is modified.
1845 1931
 		$cache_key = 'parse:' . $cache_id . '-' . md5(md5($message) . '-' . $smileys . (empty($disabled) ? '' : implode(',', array_keys($disabled))) . $smcFunc['json_encode']($context['browser']) . $txt['lang_locale'] . $user_info['time_offset'] . $user_info['time_format']);
1846 1932
 
1847
-		if (($temp = cache_get_data($cache_key, 240)) != null)
1848
-			return $temp;
1933
+		if (($temp = cache_get_data($cache_key, 240)) != null) {
1934
+					return $temp;
1935
+		}
1849 1936
 
1850 1937
 		$cache_t = microtime();
1851 1938
 	}
@@ -1877,8 +1964,9 @@  discard block
 block discarded – undo
1877 1964
 		$disabled['flash'] = true;
1878 1965
 
1879 1966
 		// @todo Change maybe?
1880
-		if (!isset($_GET['images']))
1881
-			$disabled['img'] = true;
1967
+		if (!isset($_GET['images'])) {
1968
+					$disabled['img'] = true;
1969
+		}
1882 1970
 
1883 1971
 		// @todo Interface/setting to add more?
1884 1972
 	}
@@ -1889,8 +1977,9 @@  discard block
 block discarded – undo
1889 1977
 	$alltags = array();
1890 1978
 	foreach ($bbc_codes as $section)
1891 1979
 	{
1892
-		foreach ($section as $code)
1893
-			$alltags[] = $code['tag'];
1980
+		foreach ($section as $code) {
1981
+					$alltags[] = $code['tag'];
1982
+		}
1894 1983
 	}
1895 1984
 	$alltags_regex = '\b' . implode("\b|\b", array_unique($alltags)) . '\b';
1896 1985
 
@@ -1902,8 +1991,9 @@  discard block
 block discarded – undo
1902 1991
 		$pos = isset($matches[0][1]) ? $matches[0][1] : false;
1903 1992
 
1904 1993
 		// Failsafe.
1905
-		if ($pos === false || $last_pos > $pos)
1906
-			$pos = strlen($message) + 1;
1994
+		if ($pos === false || $last_pos > $pos) {
1995
+					$pos = strlen($message) + 1;
1996
+		}
1907 1997
 
1908 1998
 		// Can't have a one letter smiley, URL, or email! (sorry.)
1909 1999
 		if ($last_pos < $pos - 1)
@@ -1921,8 +2011,9 @@  discard block
 block discarded – undo
1921 2011
 
1922 2012
 				// <br> should be empty.
1923 2013
 				$empty_tags = array('br', 'hr');
1924
-				foreach ($empty_tags as $tag)
1925
-					$data = str_replace(array('&lt;' . $tag . '&gt;', '&lt;' . $tag . '/&gt;', '&lt;' . $tag . ' /&gt;'), '<' . $tag . '>', $data);
2014
+				foreach ($empty_tags as $tag) {
2015
+									$data = str_replace(array('&lt;' . $tag . '&gt;', '&lt;' . $tag . '/&gt;', '&lt;' . $tag . ' /&gt;'), '<' . $tag . '>', $data);
2016
+				}
1926 2017
 
1927 2018
 				// b, u, i, s, pre... basic tags.
1928 2019
 				$closable_tags = array('b', 'u', 'i', 's', 'em', 'ins', 'del', 'pre', 'blockquote', 'strong');
@@ -1931,8 +2022,9 @@  discard block
 block discarded – undo
1931 2022
 					$diff = substr_count($data, '&lt;' . $tag . '&gt;') - substr_count($data, '&lt;/' . $tag . '&gt;');
1932 2023
 					$data = strtr($data, array('&lt;' . $tag . '&gt;' => '<' . $tag . '>', '&lt;/' . $tag . '&gt;' => '</' . $tag . '>'));
1933 2024
 
1934
-					if ($diff > 0)
1935
-						$data = substr($data, 0, -1) . str_repeat('</' . $tag . '>', $diff) . substr($data, -1);
2025
+					if ($diff > 0) {
2026
+											$data = substr($data, 0, -1) . str_repeat('</' . $tag . '>', $diff) . substr($data, -1);
2027
+					}
1936 2028
 				}
1937 2029
 
1938 2030
 				// Do <img ...> - with security... action= -> action-.
@@ -1945,8 +2037,9 @@  discard block
 block discarded – undo
1945 2037
 						$alt = empty($matches[3][$match]) ? '' : ' alt=' . preg_replace('~^&quot;|&quot;$~', '', $matches[3][$match]);
1946 2038
 
1947 2039
 						// Remove action= from the URL - no funny business, now.
1948
-						if (preg_match('~action(=|%3d)(?!dlattach)~i', $imgtag) != 0)
1949
-							$imgtag = preg_replace('~action(?:=|%3d)(?!dlattach)~i', 'action-', $imgtag);
2040
+						if (preg_match('~action(=|%3d)(?!dlattach)~i', $imgtag) != 0) {
2041
+													$imgtag = preg_replace('~action(?:=|%3d)(?!dlattach)~i', 'action-', $imgtag);
2042
+						}
1950 2043
 
1951 2044
 						$replaces[$matches[0][$match]] = '[img' . $alt . ']' . $imgtag . '[/img]';
1952 2045
 					}
@@ -1961,16 +2054,18 @@  discard block
 block discarded – undo
1961 2054
 				$no_autolink_area = false;
1962 2055
 				if (!empty($open_tags))
1963 2056
 				{
1964
-					foreach ($open_tags as $open_tag)
1965
-						if (in_array($open_tag['tag'], $no_autolink_tags))
2057
+					foreach ($open_tags as $open_tag) {
2058
+											if (in_array($open_tag['tag'], $no_autolink_tags))
1966 2059
 							$no_autolink_area = true;
2060
+					}
1967 2061
 				}
1968 2062
 
1969 2063
 				// Don't go backwards.
1970 2064
 				// @todo Don't think is the real solution....
1971 2065
 				$lastAutoPos = isset($lastAutoPos) ? $lastAutoPos : 0;
1972
-				if ($pos < $lastAutoPos)
1973
-					$no_autolink_area = true;
2066
+				if ($pos < $lastAutoPos) {
2067
+									$no_autolink_area = true;
2068
+				}
1974 2069
 				$lastAutoPos = $pos;
1975 2070
 
1976 2071
 				if (!$no_autolink_area)
@@ -2075,29 +2170,33 @@  discard block
 block discarded – undo
2075 2170
 							$url = array_shift($matches);
2076 2171
 
2077 2172
 							// If this isn't a clean URL, bail out
2078
-							if ($url != sanitize_iri($url))
2079
-								return $url;
2173
+							if ($url != sanitize_iri($url)) {
2174
+															return $url;
2175
+							}
2080 2176
 
2081 2177
 							$scheme = parse_url($url, PHP_URL_SCHEME);
2082 2178
 
2083 2179
 							if ($scheme == 'mailto')
2084 2180
 							{
2085 2181
 								$email_address = str_replace('mailto:', '', $url);
2086
-								if (!isset($disabled['email']) && filter_var($email_address, FILTER_VALIDATE_EMAIL) !== false)
2087
-									return '[email=' . $email_address . ']' . $url . '[/email]';
2088
-								else
2089
-									return $url;
2182
+								if (!isset($disabled['email']) && filter_var($email_address, FILTER_VALIDATE_EMAIL) !== false) {
2183
+																	return '[email=' . $email_address . ']' . $url . '[/email]';
2184
+								} else {
2185
+																	return $url;
2186
+								}
2090 2187
 							}
2091 2188
 
2092 2189
 							// Are we linking a schemeless URL or naked domain name (e.g. "example.com")?
2093
-							if (empty($scheme))
2094
-								$fullUrl = '//' . ltrim($url, ':/');
2095
-							else
2096
-								$fullUrl = $url;
2190
+							if (empty($scheme)) {
2191
+															$fullUrl = '//' . ltrim($url, ':/');
2192
+							} else {
2193
+															$fullUrl = $url;
2194
+							}
2097 2195
 
2098 2196
 							// Make sure that $fullUrl really is valid
2099
-							if (validate_iri((strpos($fullUrl, '//') === 0 ? 'http:' : '' ) . $fullUrl) === false)
2100
-								return $url;
2197
+							if (validate_iri((strpos($fullUrl, '//') === 0 ? 'http:' : '' ) . $fullUrl) === false) {
2198
+															return $url;
2199
+							}
2101 2200
 
2102 2201
 							return '[url=&quot;' . str_replace(array('[', ']'), array('&#91;', '&#93;'), $fullUrl) . '&quot;]' . $url . '[/url]';
2103 2202
 						}, $data);
@@ -2146,22 +2245,25 @@  discard block
 block discarded – undo
2146 2245
 		}
2147 2246
 
2148 2247
 		// Are we there yet?  Are we there yet?
2149
-		if ($pos >= strlen($message) - 1)
2150
-			break;
2248
+		if ($pos >= strlen($message) - 1) {
2249
+					break;
2250
+		}
2151 2251
 
2152 2252
 		$tags = strtolower($message[$pos + 1]);
2153 2253
 
2154 2254
 		if ($tags == '/' && !empty($open_tags))
2155 2255
 		{
2156 2256
 			$pos2 = strpos($message, ']', $pos + 1);
2157
-			if ($pos2 == $pos + 2)
2158
-				continue;
2257
+			if ($pos2 == $pos + 2) {
2258
+							continue;
2259
+			}
2159 2260
 
2160 2261
 			$look_for = strtolower(substr($message, $pos + 2, $pos2 - $pos - 2));
2161 2262
 
2162 2263
 			// A closing tag that doesn't match any open tags? Skip it.
2163
-			if (!in_array($look_for, array_map(function($code){return $code['tag'];}, $open_tags)))
2164
-				continue;
2264
+			if (!in_array($look_for, array_map(function($code){return $code['tag'];}, $open_tags))) {
2265
+							continue;
2266
+			}
2165 2267
 
2166 2268
 			$to_close = array();
2167 2269
 			$block_level = null;
@@ -2169,8 +2271,9 @@  discard block
 block discarded – undo
2169 2271
 			do
2170 2272
 			{
2171 2273
 				$tag = array_pop($open_tags);
2172
-				if (!$tag)
2173
-					break;
2274
+				if (!$tag) {
2275
+									break;
2276
+				}
2174 2277
 
2175 2278
 				if (!empty($tag['block_level']))
2176 2279
 				{
@@ -2184,10 +2287,11 @@  discard block
 block discarded – undo
2184 2287
 					// The idea is, if we are LOOKING for a block level tag, we can close them on the way.
2185 2288
 					if (strlen($look_for) > 0 && isset($bbc_codes[$look_for[0]]))
2186 2289
 					{
2187
-						foreach ($bbc_codes[$look_for[0]] as $temp)
2188
-							if ($temp['tag'] == $look_for)
2290
+						foreach ($bbc_codes[$look_for[0]] as $temp) {
2291
+													if ($temp['tag'] == $look_for)
2189 2292
 							{
2190 2293
 								$block_level = !empty($temp['block_level']);
2294
+						}
2191 2295
 								break;
2192 2296
 							}
2193 2297
 					}
@@ -2209,15 +2313,15 @@  discard block
 block discarded – undo
2209 2313
 			{
2210 2314
 				$open_tags = $to_close;
2211 2315
 				continue;
2212
-			}
2213
-			elseif (!empty($to_close) && $tag['tag'] != $look_for)
2316
+			} elseif (!empty($to_close) && $tag['tag'] != $look_for)
2214 2317
 			{
2215 2318
 				if ($block_level === null && isset($look_for[0], $bbc_codes[$look_for[0]]))
2216 2319
 				{
2217
-					foreach ($bbc_codes[$look_for[0]] as $temp)
2218
-						if ($temp['tag'] == $look_for)
2320
+					foreach ($bbc_codes[$look_for[0]] as $temp) {
2321
+											if ($temp['tag'] == $look_for)
2219 2322
 						{
2220 2323
 							$block_level = !empty($temp['block_level']);
2324
+					}
2221 2325
 							break;
2222 2326
 						}
2223 2327
 				}
@@ -2225,8 +2329,9 @@  discard block
 block discarded – undo
2225 2329
 				// We're not looking for a block level tag (or maybe even a tag that exists...)
2226 2330
 				if (!$block_level)
2227 2331
 				{
2228
-					foreach ($to_close as $tag)
2229
-						array_push($open_tags, $tag);
2332
+					foreach ($to_close as $tag) {
2333
+											array_push($open_tags, $tag);
2334
+					}
2230 2335
 					continue;
2231 2336
 				}
2232 2337
 			}
@@ -2239,14 +2344,17 @@  discard block
 block discarded – undo
2239 2344
 
2240 2345
 				// See the comment at the end of the big loop - just eating whitespace ;).
2241 2346
 				$whitespace_regex = '';
2242
-				if (!empty($tag['block_level']))
2243
-					$whitespace_regex .= '(&nbsp;|\s)*(<br>)?';
2347
+				if (!empty($tag['block_level'])) {
2348
+									$whitespace_regex .= '(&nbsp;|\s)*(<br>)?';
2349
+				}
2244 2350
 				// Trim one line of whitespace after unnested tags, but all of it after nested ones
2245
-				if (!empty($tag['trim']) && $tag['trim'] != 'inside')
2246
-					$whitespace_regex .= empty($tag['require_parents']) ? '(&nbsp;|\s)*' : '(<br>|&nbsp;|\s)*';
2351
+				if (!empty($tag['trim']) && $tag['trim'] != 'inside') {
2352
+									$whitespace_regex .= empty($tag['require_parents']) ? '(&nbsp;|\s)*' : '(<br>|&nbsp;|\s)*';
2353
+				}
2247 2354
 
2248
-				if (!empty($whitespace_regex) && preg_match('~' . $whitespace_regex . '~', substr($message, $pos), $matches) != 0)
2249
-					$message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0]));
2355
+				if (!empty($whitespace_regex) && preg_match('~' . $whitespace_regex . '~', substr($message, $pos), $matches) != 0) {
2356
+									$message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0]));
2357
+				}
2250 2358
 			}
2251 2359
 
2252 2360
 			if (!empty($to_close))
@@ -2259,8 +2367,9 @@  discard block
 block discarded – undo
2259 2367
 		}
2260 2368
 
2261 2369
 		// No tags for this character, so just keep going (fastest possible course.)
2262
-		if (!isset($bbc_codes[$tags]))
2263
-			continue;
2370
+		if (!isset($bbc_codes[$tags])) {
2371
+					continue;
2372
+		}
2264 2373
 
2265 2374
 		$inside = empty($open_tags) ? null : $open_tags[count($open_tags) - 1];
2266 2375
 		$tag = null;
@@ -2269,48 +2378,57 @@  discard block
 block discarded – undo
2269 2378
 			$pt_strlen = strlen($possible['tag']);
2270 2379
 
2271 2380
 			// Not a match?
2272
-			if (strtolower(substr($message, $pos + 1, $pt_strlen)) != $possible['tag'])
2273
-				continue;
2381
+			if (strtolower(substr($message, $pos + 1, $pt_strlen)) != $possible['tag']) {
2382
+							continue;
2383
+			}
2274 2384
 
2275 2385
 			$next_c = isset($message[$pos + 1 + $pt_strlen]) ? $message[$pos + 1 + $pt_strlen] : '';
2276 2386
 
2277 2387
 			// A tag is the last char maybe
2278
-			if ($next_c == '')
2279
-				break;
2388
+			if ($next_c == '') {
2389
+							break;
2390
+			}
2280 2391
 
2281 2392
 			// A test validation?
2282
-			if (isset($possible['test']) && preg_match('~^' . $possible['test'] . '~', substr($message, $pos + 1 + $pt_strlen + 1)) === 0)
2283
-				continue;
2393
+			if (isset($possible['test']) && preg_match('~^' . $possible['test'] . '~', substr($message, $pos + 1 + $pt_strlen + 1)) === 0) {
2394
+							continue;
2395
+			}
2284 2396
 			// Do we want parameters?
2285 2397
 			elseif (!empty($possible['parameters']))
2286 2398
 			{
2287
-				if ($next_c != ' ')
2288
-					continue;
2289
-			}
2290
-			elseif (isset($possible['type']))
2399
+				if ($next_c != ' ') {
2400
+									continue;
2401
+				}
2402
+			} elseif (isset($possible['type']))
2291 2403
 			{
2292 2404
 				// Do we need an equal sign?
2293
-				if (in_array($possible['type'], array('unparsed_equals', 'unparsed_commas', 'unparsed_commas_content', 'unparsed_equals_content', 'parsed_equals')) && $next_c != '=')
2294
-					continue;
2405
+				if (in_array($possible['type'], array('unparsed_equals', 'unparsed_commas', 'unparsed_commas_content', 'unparsed_equals_content', 'parsed_equals')) && $next_c != '=') {
2406
+									continue;
2407
+				}
2295 2408
 				// Maybe we just want a /...
2296
-				if ($possible['type'] == 'closed' && $next_c != ']' && substr($message, $pos + 1 + $pt_strlen, 2) != '/]' && substr($message, $pos + 1 + $pt_strlen, 3) != ' /]')
2297
-					continue;
2409
+				if ($possible['type'] == 'closed' && $next_c != ']' && substr($message, $pos + 1 + $pt_strlen, 2) != '/]' && substr($message, $pos + 1 + $pt_strlen, 3) != ' /]') {
2410
+									continue;
2411
+				}
2298 2412
 				// An immediate ]?
2299
-				if ($possible['type'] == 'unparsed_content' && $next_c != ']')
2300
-					continue;
2413
+				if ($possible['type'] == 'unparsed_content' && $next_c != ']') {
2414
+									continue;
2415
+				}
2301 2416
 			}
2302 2417
 			// No type means 'parsed_content', which demands an immediate ] without parameters!
2303
-			elseif ($next_c != ']')
2304
-				continue;
2418
+			elseif ($next_c != ']') {
2419
+							continue;
2420
+			}
2305 2421
 
2306 2422
 			// Check allowed tree?
2307
-			if (isset($possible['require_parents']) && ($inside === null || !in_array($inside['tag'], $possible['require_parents'])))
2308
-				continue;
2309
-			elseif (isset($inside['require_children']) && !in_array($possible['tag'], $inside['require_children']))
2310
-				continue;
2423
+			if (isset($possible['require_parents']) && ($inside === null || !in_array($inside['tag'], $possible['require_parents']))) {
2424
+							continue;
2425
+			} elseif (isset($inside['require_children']) && !in_array($possible['tag'], $inside['require_children'])) {
2426
+							continue;
2427
+			}
2311 2428
 			// If this is in the list of disallowed child tags, don't parse it.
2312
-			elseif (isset($inside['disallow_children']) && in_array($possible['tag'], $inside['disallow_children']))
2313
-				continue;
2429
+			elseif (isset($inside['disallow_children']) && in_array($possible['tag'], $inside['disallow_children'])) {
2430
+							continue;
2431
+			}
2314 2432
 
2315 2433
 			$pos1 = $pos + 1 + $pt_strlen + 1;
2316 2434
 
@@ -2322,8 +2440,9 @@  discard block
 block discarded – undo
2322 2440
 				foreach ($open_tags as $open_quote)
2323 2441
 				{
2324 2442
 					// Every parent quote this quote has flips the styling
2325
-					if ($open_quote['tag'] == 'quote')
2326
-						$quote_alt = !$quote_alt;
2443
+					if ($open_quote['tag'] == 'quote') {
2444
+											$quote_alt = !$quote_alt;
2445
+					}
2327 2446
 				}
2328 2447
 				// Add a class to the quote to style alternating blockquotes
2329 2448
 				$possible['before'] = strtr($possible['before'], array('<blockquote>' => '<blockquote class="bbc_' . ($quote_alt ? 'alternate' : 'standard') . '_quote">'));
@@ -2334,8 +2453,9 @@  discard block
 block discarded – undo
2334 2453
 			{
2335 2454
 				// Build a regular expression for each parameter for the current tag.
2336 2455
 				$preg = array();
2337
-				foreach ($possible['parameters'] as $p => $info)
2338
-					$preg[] = '(\s+' . $p . '=' . (empty($info['quoted']) ? '' : '&quot;') . (isset($info['match']) ? $info['match'] : '(.+?)') . (empty($info['quoted']) ? '' : '&quot;') . '\s*)' . (empty($info['optional']) ? '' : '?');
2456
+				foreach ($possible['parameters'] as $p => $info) {
2457
+									$preg[] = '(\s+' . $p . '=' . (empty($info['quoted']) ? '' : '&quot;') . (isset($info['match']) ? $info['match'] : '(.+?)') . (empty($info['quoted']) ? '' : '&quot;') . '\s*)' . (empty($info['optional']) ? '' : '?');
2458
+				}
2339 2459
 
2340 2460
 				// Extract the string that potentially holds our parameters.
2341 2461
 				$blob = preg_split('~\[/?(?:' . $alltags_regex . ')~i', substr($message, $pos));
@@ -2354,24 +2474,27 @@  discard block
 block discarded – undo
2354 2474
 
2355 2475
 					$match = preg_match('~^' . implode('', $preg) . '$~i', implode(' ', $given_params), $matches) !== 0;
2356 2476
 
2357
-					if ($match)
2358
-						$blob_counter = count($blobs) + 1;
2477
+					if ($match) {
2478
+											$blob_counter = count($blobs) + 1;
2479
+					}
2359 2480
 				}
2360 2481
 
2361 2482
 				// Didn't match our parameter list, try the next possible.
2362
-				if (!$match)
2363
-					continue;
2483
+				if (!$match) {
2484
+									continue;
2485
+				}
2364 2486
 
2365 2487
 				$params = array();
2366 2488
 				for ($i = 1, $n = count($matches); $i < $n; $i += 2)
2367 2489
 				{
2368 2490
 					$key = strtok(ltrim($matches[$i]), '=');
2369
-					if (isset($possible['parameters'][$key]['value']))
2370
-						$params['{' . $key . '}'] = strtr($possible['parameters'][$key]['value'], array('$1' => $matches[$i + 1]));
2371
-					elseif (isset($possible['parameters'][$key]['validate']))
2372
-						$params['{' . $key . '}'] = $possible['parameters'][$key]['validate']($matches[$i + 1]);
2373
-					else
2374
-						$params['{' . $key . '}'] = $matches[$i + 1];
2491
+					if (isset($possible['parameters'][$key]['value'])) {
2492
+											$params['{' . $key . '}'] = strtr($possible['parameters'][$key]['value'], array('$1' => $matches[$i + 1]));
2493
+					} elseif (isset($possible['parameters'][$key]['validate'])) {
2494
+											$params['{' . $key . '}'] = $possible['parameters'][$key]['validate']($matches[$i + 1]);
2495
+					} else {
2496
+											$params['{' . $key . '}'] = $matches[$i + 1];
2497
+					}
2375 2498
 
2376 2499
 					// Just to make sure: replace any $ or { so they can't interpolate wrongly.
2377 2500
 					$params['{' . $key . '}'] = strtr($params['{' . $key . '}'], array('$' => '&#036;', '{' => '&#123;'));
@@ -2379,23 +2502,26 @@  discard block
 block discarded – undo
2379 2502
 
2380 2503
 				foreach ($possible['parameters'] as $p => $info)
2381 2504
 				{
2382
-					if (!isset($params['{' . $p . '}']))
2383
-						$params['{' . $p . '}'] = '';
2505
+					if (!isset($params['{' . $p . '}'])) {
2506
+											$params['{' . $p . '}'] = '';
2507
+					}
2384 2508
 				}
2385 2509
 
2386 2510
 				$tag = $possible;
2387 2511
 
2388 2512
 				// Put the parameters into the string.
2389
-				if (isset($tag['before']))
2390
-					$tag['before'] = strtr($tag['before'], $params);
2391
-				if (isset($tag['after']))
2392
-					$tag['after'] = strtr($tag['after'], $params);
2393
-				if (isset($tag['content']))
2394
-					$tag['content'] = strtr($tag['content'], $params);
2513
+				if (isset($tag['before'])) {
2514
+									$tag['before'] = strtr($tag['before'], $params);
2515
+				}
2516
+				if (isset($tag['after'])) {
2517
+									$tag['after'] = strtr($tag['after'], $params);
2518
+				}
2519
+				if (isset($tag['content'])) {
2520
+									$tag['content'] = strtr($tag['content'], $params);
2521
+				}
2395 2522
 
2396 2523
 				$pos1 += strlen($given_param_string);
2397
-			}
2398
-			else
2524
+			} else
2399 2525
 			{
2400 2526
 				$tag = $possible;
2401 2527
 				$params = array();
@@ -2406,8 +2532,9 @@  discard block
 block discarded – undo
2406 2532
 		// Item codes are complicated buggers... they are implicit [li]s and can make [list]s!
2407 2533
 		if ($smileys !== false && $tag === null && isset($itemcodes[$message[$pos + 1]]) && $message[$pos + 2] == ']' && !isset($disabled['list']) && !isset($disabled['li']))
2408 2534
 		{
2409
-			if ($message[$pos + 1] == '0' && !in_array($message[$pos - 1], array(';', ' ', "\t", "\n", '>')))
2410
-				continue;
2535
+			if ($message[$pos + 1] == '0' && !in_array($message[$pos - 1], array(';', ' ', "\t", "\n", '>'))) {
2536
+							continue;
2537
+			}
2411 2538
 
2412 2539
 			$tag = $itemcodes[$message[$pos + 1]];
2413 2540
 
@@ -2428,9 +2555,9 @@  discard block
 block discarded – undo
2428 2555
 			{
2429 2556
 				array_pop($open_tags);
2430 2557
 				$code = '</li>';
2558
+			} else {
2559
+							$code = '';
2431 2560
 			}
2432
-			else
2433
-				$code = '';
2434 2561
 
2435 2562
 			// Now we open a new tag.
2436 2563
 			$open_tags[] = array(
@@ -2477,12 +2604,14 @@  discard block
 block discarded – undo
2477 2604
 		}
2478 2605
 
2479 2606
 		// No tag?  Keep looking, then.  Silly people using brackets without actual tags.
2480
-		if ($tag === null)
2481
-			continue;
2607
+		if ($tag === null) {
2608
+					continue;
2609
+		}
2482 2610
 
2483 2611
 		// Propagate the list to the child (so wrapping the disallowed tag won't work either.)
2484
-		if (isset($inside['disallow_children']))
2485
-			$tag['disallow_children'] = isset($tag['disallow_children']) ? array_unique(array_merge($tag['disallow_children'], $inside['disallow_children'])) : $inside['disallow_children'];
2612
+		if (isset($inside['disallow_children'])) {
2613
+					$tag['disallow_children'] = isset($tag['disallow_children']) ? array_unique(array_merge($tag['disallow_children'], $inside['disallow_children'])) : $inside['disallow_children'];
2614
+		}
2486 2615
 
2487 2616
 		// Is this tag disabled?
2488 2617
 		if (isset($disabled[$tag['tag']]))
@@ -2492,14 +2621,13 @@  discard block
 block discarded – undo
2492 2621
 				$tag['before'] = !empty($tag['block_level']) ? '<div>' : '';
2493 2622
 				$tag['after'] = !empty($tag['block_level']) ? '</div>' : '';
2494 2623
 				$tag['content'] = isset($tag['type']) && $tag['type'] == 'closed' ? '' : (!empty($tag['block_level']) ? '<div>$1</div>' : '$1');
2495
-			}
2496
-			elseif (isset($tag['disabled_before']) || isset($tag['disabled_after']))
2624
+			} elseif (isset($tag['disabled_before']) || isset($tag['disabled_after']))
2497 2625
 			{
2498 2626
 				$tag['before'] = isset($tag['disabled_before']) ? $tag['disabled_before'] : (!empty($tag['block_level']) ? '<div>' : '');
2499 2627
 				$tag['after'] = isset($tag['disabled_after']) ? $tag['disabled_after'] : (!empty($tag['block_level']) ? '</div>' : '');
2628
+			} else {
2629
+							$tag['content'] = $tag['disabled_content'];
2500 2630
 			}
2501
-			else
2502
-				$tag['content'] = $tag['disabled_content'];
2503 2631
 		}
2504 2632
 
2505 2633
 		// we use this a lot
@@ -2509,8 +2637,9 @@  discard block
 block discarded – undo
2509 2637
 		if (!empty($tag['block_level']) && $tag['tag'] != 'html' && empty($inside['block_level']))
2510 2638
 		{
2511 2639
 			$n = count($open_tags) - 1;
2512
-			while (empty($open_tags[$n]['block_level']) && $n >= 0)
2513
-				$n--;
2640
+			while (empty($open_tags[$n]['block_level']) && $n >= 0) {
2641
+							$n--;
2642
+			}
2514 2643
 
2515 2644
 			// Close all the non block level tags so this tag isn't surrounded by them.
2516 2645
 			for ($i = count($open_tags) - 1; $i > $n; $i--)
@@ -2522,12 +2651,15 @@  discard block
 block discarded – undo
2522 2651
 
2523 2652
 				// Trim or eat trailing stuff... see comment at the end of the big loop.
2524 2653
 				$whitespace_regex = '';
2525
-				if (!empty($tag['block_level']))
2526
-					$whitespace_regex .= '(&nbsp;|\s)*(<br>)?';
2527
-				if (!empty($tag['trim']) && $tag['trim'] != 'inside')
2528
-					$whitespace_regex .= empty($tag['require_parents']) ? '(&nbsp;|\s)*' : '(<br>|&nbsp;|\s)*';
2529
-				if (!empty($whitespace_regex) && preg_match('~' . $whitespace_regex . '~', substr($message, $pos), $matches) != 0)
2530
-					$message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0]));
2654
+				if (!empty($tag['block_level'])) {
2655
+									$whitespace_regex .= '(&nbsp;|\s)*(<br>)?';
2656
+				}
2657
+				if (!empty($tag['trim']) && $tag['trim'] != 'inside') {
2658
+									$whitespace_regex .= empty($tag['require_parents']) ? '(&nbsp;|\s)*' : '(<br>|&nbsp;|\s)*';
2659
+				}
2660
+				if (!empty($whitespace_regex) && preg_match('~' . $whitespace_regex . '~', substr($message, $pos), $matches) != 0) {
2661
+									$message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0]));
2662
+				}
2531 2663
 
2532 2664
 				array_pop($open_tags);
2533 2665
 			}
@@ -2548,16 +2680,19 @@  discard block
 block discarded – undo
2548 2680
 		elseif ($tag['type'] == 'unparsed_content')
2549 2681
 		{
2550 2682
 			$pos2 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos1);
2551
-			if ($pos2 === false)
2552
-				continue;
2683
+			if ($pos2 === false) {
2684
+							continue;
2685
+			}
2553 2686
 
2554 2687
 			$data = substr($message, $pos1, $pos2 - $pos1);
2555 2688
 
2556
-			if (!empty($tag['block_level']) && substr($data, 0, 4) == '<br>')
2557
-				$data = substr($data, 4);
2689
+			if (!empty($tag['block_level']) && substr($data, 0, 4) == '<br>') {
2690
+							$data = substr($data, 4);
2691
+			}
2558 2692
 
2559
-			if (isset($tag['validate']))
2560
-				$tag['validate']($tag, $data, $disabled, $params);
2693
+			if (isset($tag['validate'])) {
2694
+							$tag['validate']($tag, $data, $disabled, $params);
2695
+			}
2561 2696
 
2562 2697
 			$code = strtr($tag['content'], array('$1' => $data));
2563 2698
 			$message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos2 + 3 + $tag_strlen);
@@ -2572,34 +2707,40 @@  discard block
 block discarded – undo
2572 2707
 			if (isset($tag['quoted']))
2573 2708
 			{
2574 2709
 				$quoted = substr($message, $pos1, 6) == '&quot;';
2575
-				if ($tag['quoted'] != 'optional' && !$quoted)
2576
-					continue;
2710
+				if ($tag['quoted'] != 'optional' && !$quoted) {
2711
+									continue;
2712
+				}
2577 2713
 
2578
-				if ($quoted)
2579
-					$pos1 += 6;
2714
+				if ($quoted) {
2715
+									$pos1 += 6;
2716
+				}
2717
+			} else {
2718
+							$quoted = false;
2580 2719
 			}
2581
-			else
2582
-				$quoted = false;
2583 2720
 
2584 2721
 			$pos2 = strpos($message, $quoted == false ? ']' : '&quot;]', $pos1);
2585
-			if ($pos2 === false)
2586
-				continue;
2722
+			if ($pos2 === false) {
2723
+							continue;
2724
+			}
2587 2725
 
2588 2726
 			$pos3 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos2);
2589
-			if ($pos3 === false)
2590
-				continue;
2727
+			if ($pos3 === false) {
2728
+							continue;
2729
+			}
2591 2730
 
2592 2731
 			$data = array(
2593 2732
 				substr($message, $pos2 + ($quoted == false ? 1 : 7), $pos3 - ($pos2 + ($quoted == false ? 1 : 7))),
2594 2733
 				substr($message, $pos1, $pos2 - $pos1)
2595 2734
 			);
2596 2735
 
2597
-			if (!empty($tag['block_level']) && substr($data[0], 0, 4) == '<br>')
2598
-				$data[0] = substr($data[0], 4);
2736
+			if (!empty($tag['block_level']) && substr($data[0], 0, 4) == '<br>') {
2737
+							$data[0] = substr($data[0], 4);
2738
+			}
2599 2739
 
2600 2740
 			// Validation for my parking, please!
2601
-			if (isset($tag['validate']))
2602
-				$tag['validate']($tag, $data, $disabled, $params);
2741
+			if (isset($tag['validate'])) {
2742
+							$tag['validate']($tag, $data, $disabled, $params);
2743
+			}
2603 2744
 
2604 2745
 			$code = strtr($tag['content'], array('$1' => $data[0], '$2' => $data[1]));
2605 2746
 			$message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos3 + 3 + $tag_strlen);
@@ -2616,23 +2757,27 @@  discard block
 block discarded – undo
2616 2757
 		elseif ($tag['type'] == 'unparsed_commas_content')
2617 2758
 		{
2618 2759
 			$pos2 = strpos($message, ']', $pos1);
2619
-			if ($pos2 === false)
2620
-				continue;
2760
+			if ($pos2 === false) {
2761
+							continue;
2762
+			}
2621 2763
 
2622 2764
 			$pos3 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos2);
2623
-			if ($pos3 === false)
2624
-				continue;
2765
+			if ($pos3 === false) {
2766
+							continue;
2767
+			}
2625 2768
 
2626 2769
 			// We want $1 to be the content, and the rest to be csv.
2627 2770
 			$data = explode(',', ',' . substr($message, $pos1, $pos2 - $pos1));
2628 2771
 			$data[0] = substr($message, $pos2 + 1, $pos3 - $pos2 - 1);
2629 2772
 
2630
-			if (isset($tag['validate']))
2631
-				$tag['validate']($tag, $data, $disabled, $params);
2773
+			if (isset($tag['validate'])) {
2774
+							$tag['validate']($tag, $data, $disabled, $params);
2775
+			}
2632 2776
 
2633 2777
 			$code = $tag['content'];
2634
-			foreach ($data as $k => $d)
2635
-				$code = strtr($code, array('$' . ($k + 1) => trim($d)));
2778
+			foreach ($data as $k => $d) {
2779
+							$code = strtr($code, array('$' . ($k + 1) => trim($d)));
2780
+			}
2636 2781
 			$message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos3 + 3 + $tag_strlen);
2637 2782
 			$pos += strlen($code) - 1 + 2;
2638 2783
 		}
@@ -2640,24 +2785,28 @@  discard block
 block discarded – undo
2640 2785
 		elseif ($tag['type'] == 'unparsed_commas')
2641 2786
 		{
2642 2787
 			$pos2 = strpos($message, ']', $pos1);
2643
-			if ($pos2 === false)
2644
-				continue;
2788
+			if ($pos2 === false) {
2789
+							continue;
2790
+			}
2645 2791
 
2646 2792
 			$data = explode(',', substr($message, $pos1, $pos2 - $pos1));
2647 2793
 
2648
-			if (isset($tag['validate']))
2649
-				$tag['validate']($tag, $data, $disabled, $params);
2794
+			if (isset($tag['validate'])) {
2795
+							$tag['validate']($tag, $data, $disabled, $params);
2796
+			}
2650 2797
 
2651 2798
 			// Fix after, for disabled code mainly.
2652
-			foreach ($data as $k => $d)
2653
-				$tag['after'] = strtr($tag['after'], array('$' . ($k + 1) => trim($d)));
2799
+			foreach ($data as $k => $d) {
2800
+							$tag['after'] = strtr($tag['after'], array('$' . ($k + 1) => trim($d)));
2801
+			}
2654 2802
 
2655 2803
 			$open_tags[] = $tag;
2656 2804
 
2657 2805
 			// Replace them out, $1, $2, $3, $4, etc.
2658 2806
 			$code = $tag['before'];
2659
-			foreach ($data as $k => $d)
2660
-				$code = strtr($code, array('$' . ($k + 1) => trim($d)));
2807
+			foreach ($data as $k => $d) {
2808
+							$code = strtr($code, array('$' . ($k + 1) => trim($d)));
2809
+			}
2661 2810
 			$message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos2 + 1);
2662 2811
 			$pos += strlen($code) - 1 + 2;
2663 2812
 		}
@@ -2668,28 +2817,33 @@  discard block
 block discarded – undo
2668 2817
 			if (isset($tag['quoted']))
2669 2818
 			{
2670 2819
 				$quoted = substr($message, $pos1, 6) == '&quot;';
2671
-				if ($tag['quoted'] != 'optional' && !$quoted)
2672
-					continue;
2820
+				if ($tag['quoted'] != 'optional' && !$quoted) {
2821
+									continue;
2822
+				}
2673 2823
 
2674
-				if ($quoted)
2675
-					$pos1 += 6;
2824
+				if ($quoted) {
2825
+									$pos1 += 6;
2826
+				}
2827
+			} else {
2828
+							$quoted = false;
2676 2829
 			}
2677
-			else
2678
-				$quoted = false;
2679 2830
 
2680 2831
 			$pos2 = strpos($message, $quoted == false ? ']' : '&quot;]', $pos1);
2681
-			if ($pos2 === false)
2682
-				continue;
2832
+			if ($pos2 === false) {
2833
+							continue;
2834
+			}
2683 2835
 
2684 2836
 			$data = substr($message, $pos1, $pos2 - $pos1);
2685 2837
 
2686 2838
 			// Validation for my parking, please!
2687
-			if (isset($tag['validate']))
2688
-				$tag['validate']($tag, $data, $disabled, $params);
2839
+			if (isset($tag['validate'])) {
2840
+							$tag['validate']($tag, $data, $disabled, $params);
2841
+			}
2689 2842
 
2690 2843
 			// For parsed content, we must recurse to avoid security problems.
2691
-			if ($tag['type'] != 'unparsed_equals')
2692
-				$data = parse_bbc($data, !empty($tag['parsed_tags_allowed']) ? false : true, '', !empty($tag['parsed_tags_allowed']) ? $tag['parsed_tags_allowed'] : array());
2844
+			if ($tag['type'] != 'unparsed_equals') {
2845
+							$data = parse_bbc($data, !empty($tag['parsed_tags_allowed']) ? false : true, '', !empty($tag['parsed_tags_allowed']) ? $tag['parsed_tags_allowed'] : array());
2846
+			}
2693 2847
 
2694 2848
 			$tag['after'] = strtr($tag['after'], array('$1' => $data));
2695 2849
 
@@ -2701,34 +2855,40 @@  discard block
 block discarded – undo
2701 2855
 		}
2702 2856
 
2703 2857
 		// If this is block level, eat any breaks after it.
2704
-		if (!empty($tag['block_level']) && substr($message, $pos + 1, 4) == '<br>')
2705
-			$message = substr($message, 0, $pos + 1) . substr($message, $pos + 5);
2858
+		if (!empty($tag['block_level']) && substr($message, $pos + 1, 4) == '<br>') {
2859
+					$message = substr($message, 0, $pos + 1) . substr($message, $pos + 5);
2860
+		}
2706 2861
 
2707 2862
 		// Are we trimming outside this tag?
2708
-		if (!empty($tag['trim']) && $tag['trim'] != 'outside' && preg_match('~(<br>|&nbsp;|\s)*~', substr($message, $pos + 1), $matches) != 0)
2709
-			$message = substr($message, 0, $pos + 1) . substr($message, $pos + 1 + strlen($matches[0]));
2863
+		if (!empty($tag['trim']) && $tag['trim'] != 'outside' && preg_match('~(<br>|&nbsp;|\s)*~', substr($message, $pos + 1), $matches) != 0) {
2864
+					$message = substr($message, 0, $pos + 1) . substr($message, $pos + 1 + strlen($matches[0]));
2865
+		}
2710 2866
 	}
2711 2867
 
2712 2868
 	// Close any remaining tags.
2713
-	while ($tag = array_pop($open_tags))
2714
-		$message .= "\n" . $tag['after'] . "\n";
2869
+	while ($tag = array_pop($open_tags)) {
2870
+			$message .= "\n" . $tag['after'] . "\n";
2871
+	}
2715 2872
 
2716 2873
 	// Parse the smileys within the parts where it can be done safely.
2717 2874
 	if ($smileys === true)
2718 2875
 	{
2719 2876
 		$message_parts = explode("\n", $message);
2720
-		for ($i = 0, $n = count($message_parts); $i < $n; $i += 2)
2721
-			parsesmileys($message_parts[$i]);
2877
+		for ($i = 0, $n = count($message_parts); $i < $n; $i += 2) {
2878
+					parsesmileys($message_parts[$i]);
2879
+		}
2722 2880
 
2723 2881
 		$message = implode('', $message_parts);
2724 2882
 	}
2725 2883
 
2726 2884
 	// No smileys, just get rid of the markers.
2727
-	else
2728
-		$message = strtr($message, array("\n" => ''));
2885
+	else {
2886
+			$message = strtr($message, array("\n" => ''));
2887
+	}
2729 2888
 
2730
-	if ($message !== '' && $message[0] === ' ')
2731
-		$message = '&nbsp;' . substr($message, 1);
2889
+	if ($message !== '' && $message[0] === ' ') {
2890
+			$message = '&nbsp;' . substr($message, 1);
2891
+	}
2732 2892
 
2733 2893
 	// Cleanup whitespace.
2734 2894
 	$message = strtr($message, array('  ' => ' &nbsp;', "\r" => '', "\n" => '<br>', '<br> ' => '<br>&nbsp;', '&#13;' => "\n"));
@@ -2737,15 +2897,16 @@  discard block
 block discarded – undo
2737 2897
 	call_integration_hook('integrate_post_parsebbc', array(&$message, &$smileys, &$cache_id, &$parse_tags));
2738 2898
 
2739 2899
 	// Cache the output if it took some time...
2740
-	if (isset($cache_key, $cache_t) && array_sum(explode(' ', microtime())) - array_sum(explode(' ', $cache_t)) > 0.05)
2741
-		cache_put_data($cache_key, $message, 240);
2900
+	if (isset($cache_key, $cache_t) && array_sum(explode(' ', microtime())) - array_sum(explode(' ', $cache_t)) > 0.05) {
2901
+			cache_put_data($cache_key, $message, 240);
2902
+	}
2742 2903
 
2743 2904
 	// If this was a force parse revert if needed.
2744 2905
 	if (!empty($parse_tags))
2745 2906
 	{
2746
-		if (empty($temp_bbc))
2747
-			$bbc_codes = array();
2748
-		else
2907
+		if (empty($temp_bbc)) {
2908
+					$bbc_codes = array();
2909
+		} else
2749 2910
 		{
2750 2911
 			$bbc_codes = $temp_bbc;
2751 2912
 			unset($temp_bbc);
@@ -2772,8 +2933,9 @@  discard block
 block discarded – undo
2772 2933
 	static $smileyPregSearch = null, $smileyPregReplacements = array();
2773 2934
 
2774 2935
 	// No smiley set at all?!
2775
-	if ($user_info['smiley_set'] == 'none' || trim($message) == '')
2776
-		return;
2936
+	if ($user_info['smiley_set'] == 'none' || trim($message) == '') {
2937
+			return;
2938
+	}
2777 2939
 
2778 2940
 	// Maybe a mod wants to implement an alternative method (e.g. emojis instead of images)
2779 2941
 	call_integration_hook('integrate_smileys', array(&$smileyPregSearch, &$smileyPregReplacements));
@@ -2787,8 +2949,7 @@  discard block
 block discarded – undo
2787 2949
 			$smileysfrom = array('>:D', ':D', '::)', '>:(', ':))', ':)', ';)', ';D', ':(', ':o', '8)', ':P', '???', ':-[', ':-X', ':-*', ':\'(', ':-\\', '^-^', 'O0', 'C:-)', '0:)');
2788 2950
 			$smileysto = array('evil.png', 'cheesy.png', 'rolleyes.png', 'angry.png', 'laugh.png', 'smiley.png', 'wink.png', 'grin.png', 'sad.png', 'shocked.png', 'cool.png', 'tongue.png', 'huh.png', 'embarrassed.png', 'lipsrsealed.png', 'kiss.png', 'cry.png', 'undecided.png', 'azn.png', 'afro.png', 'police.png', 'angel.png');
2789 2951
 			$smileysdescs = array('', $txt['icon_cheesy'], $txt['icon_rolleyes'], $txt['icon_angry'], '', $txt['icon_smiley'], $txt['icon_wink'], $txt['icon_grin'], $txt['icon_sad'], $txt['icon_shocked'], $txt['icon_cool'], $txt['icon_tongue'], $txt['icon_huh'], $txt['icon_embarrassed'], $txt['icon_lips'], $txt['icon_kiss'], $txt['icon_cry'], $txt['icon_undecided'], '', '', '', '');
2790
-		}
2791
-		else
2952
+		} else
2792 2953
 		{
2793 2954
 			// Load the smileys in reverse order by length so they don't get parsed wrong.
2794 2955
 			if (($temp = cache_get_data('parsing_smileys', 480)) == null)
@@ -2812,9 +2973,9 @@  discard block
 block discarded – undo
2812 2973
 				$smcFunc['db_free_result']($result);
2813 2974
 
2814 2975
 				cache_put_data('parsing_smileys', array($smileysfrom, $smileysto, $smileysdescs), 480);
2976
+			} else {
2977
+							list ($smileysfrom, $smileysto, $smileysdescs) = $temp;
2815 2978
 			}
2816
-			else
2817
-				list ($smileysfrom, $smileysto, $smileysdescs) = $temp;
2818 2979
 		}
2819 2980
 
2820 2981
 		// The non-breaking-space is a complex thing...
@@ -2836,16 +2997,18 @@  discard block
 block discarded – undo
2836 2997
 				$alt_images = glob($smileys_dir . $fname .  '.{' . (implode(',', $exts)) . '}', GLOB_BRACE);
2837 2998
 				if (!empty($alt_images))
2838 2999
 				{
2839
-					foreach ($exts as $ext)
2840
-						if (in_array($smileys_dir . $fname . '.' . $ext, $alt_images))
3000
+					foreach ($exts as $ext) {
3001
+											if (in_array($smileys_dir . $fname . '.' . $ext, $alt_images))
2841 3002
 						{
2842 3003
 							$smileysto[$i] = $fname . '.' . $ext;
3004
+					}
2843 3005
 							break;
2844 3006
 						}
2845 3007
 				}
2846 3008
 				// If we have no image, just leave the text version in place
2847
-				else
2848
-					continue;
3009
+				else {
3010
+									continue;
3011
+				}
2849 3012
 			}
2850 3013
 
2851 3014
 			$specialChars = $smcFunc['htmlspecialchars']($smileysfrom[$i], ENT_QUOTES);
@@ -2913,12 +3076,14 @@  discard block
 block discarded – undo
2913 3076
 	global $boardurl, $image_proxy_enabled, $image_proxy_secret;
2914 3077
 
2915 3078
 	// Only use the proxy if enabled and necessary
2916
-	if (empty($image_proxy_enabled) || parse_url($url, PHP_URL_SCHEME) === 'https')
2917
-		return $url;
3079
+	if (empty($image_proxy_enabled) || parse_url($url, PHP_URL_SCHEME) === 'https') {
3080
+			return $url;
3081
+	}
2918 3082
 
2919 3083
 	// We don't need to proxy our own resources
2920
-	if (strpos(strtr($url, array('http://' => 'https://')), strtr($boardurl, array('http://' => 'https://'))) === 0)
2921
-		return strtr($url, array('http://' => 'https://'));
3084
+	if (strpos(strtr($url, array('http://' => 'https://')), strtr($boardurl, array('http://' => 'https://'))) === 0) {
3085
+			return strtr($url, array('http://' => 'https://'));
3086
+	}
2922 3087
 
2923 3088
 	// By default, use SMF's own image proxy script
2924 3089
 	$proxied_url = strtr($boardurl, array('http://' => 'https://')) . '/proxy.php?request=' . urlencode($url) . '&hash=' . md5($url . $image_proxy_secret);
@@ -2943,35 +3108,41 @@  discard block
 block discarded – undo
2943 3108
 	global $scripturl, $context, $modSettings, $db_show_debug, $db_cache;
2944 3109
 
2945 3110
 	// In case we have mail to send, better do that - as obExit doesn't always quite make it...
2946
-	if (!empty($context['flush_mail']))
2947
-		// @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\
3111
+	if (!empty($context['flush_mail'])) {
3112
+			// @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\
2948 3113
 		AddMailQueue(true);
3114
+	}
2949 3115
 
2950 3116
 	$add = preg_match('~^(ftp|http)[s]?://~', $setLocation) == 0 && substr($setLocation, 0, 6) != 'about:';
2951 3117
 
2952
-	if ($add)
2953
-		$setLocation = $scripturl . ($setLocation != '' ? '?' . $setLocation : '');
3118
+	if ($add) {
3119
+			$setLocation = $scripturl . ($setLocation != '' ? '?' . $setLocation : '');
3120
+	}
2954 3121
 
2955 3122
 	// Put the session ID in.
2956
-	if (defined('SID') && SID != '')
2957
-		$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '(?!\?' . preg_quote(SID, '/') . ')\\??/', $scripturl . '?' . SID . ';', $setLocation);
3123
+	if (defined('SID') && SID != '') {
3124
+			$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '(?!\?' . preg_quote(SID, '/') . ')\\??/', $scripturl . '?' . SID . ';', $setLocation);
3125
+	}
2958 3126
 	// Keep that debug in their for template debugging!
2959
-	elseif (isset($_GET['debug']))
2960
-		$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '\\??/', $scripturl . '?debug;', $setLocation);
3127
+	elseif (isset($_GET['debug'])) {
3128
+			$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '\\??/', $scripturl . '?debug;', $setLocation);
3129
+	}
2961 3130
 
2962 3131
 	if (!empty($modSettings['queryless_urls']) && (empty($context['server']['is_cgi']) || ini_get('cgi.fix_pathinfo') == 1 || @get_cfg_var('cgi.fix_pathinfo') == 1) && (!empty($context['server']['is_apache']) || !empty($context['server']['is_lighttpd']) || !empty($context['server']['is_litespeed'])))
2963 3132
 	{
2964
-		if (defined('SID') && SID != '')
2965
-			$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '~') . '\?(?:' . SID . '(?:;|&|&amp;))((?:board|topic)=[^#]+?)(#[^"]*?)?$~',
3133
+		if (defined('SID') && SID != '') {
3134
+					$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '~') . '\?(?:' . SID . '(?:;|&|&amp;))((?:board|topic)=[^#]+?)(#[^"]*?)?$~',
2966 3135
 				function ($m) use ($scripturl)
2967 3136
 				{
2968 3137
 					return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html?' . SID. (isset($m[2]) ? "$m[2]" : "");
3138
+		}
2969 3139
 				}, $setLocation);
2970
-		else
2971
-			$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '~') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?$~',
3140
+		else {
3141
+					$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '~') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?$~',
2972 3142
 				function ($m) use ($scripturl)
2973 3143
 				{
2974 3144
 					return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html' . (isset($m[2]) ? "$m[2]" : "");
3145
+		}
2975 3146
 				}, $setLocation);
2976 3147
 	}
2977 3148
 
@@ -2982,8 +3153,9 @@  discard block
 block discarded – undo
2982 3153
 	header('location: ' . str_replace(' ', '%20', $setLocation), true, $permanent ? 301 : 302);
2983 3154
 
2984 3155
 	// Debugging.
2985
-	if (isset($db_show_debug) && $db_show_debug === true)
2986
-		$_SESSION['debug_redirect'] = $db_cache;
3156
+	if (isset($db_show_debug) && $db_show_debug === true) {
3157
+			$_SESSION['debug_redirect'] = $db_cache;
3158
+	}
2987 3159
 
2988 3160
 	obExit(false);
2989 3161
 }
@@ -3002,51 +3174,60 @@  discard block
 block discarded – undo
3002 3174
 
3003 3175
 	// Attempt to prevent a recursive loop.
3004 3176
 	++$level;
3005
-	if ($level > 1 && !$from_fatal_error && !$has_fatal_error)
3006
-		exit;
3007
-	if ($from_fatal_error)
3008
-		$has_fatal_error = true;
3177
+	if ($level > 1 && !$from_fatal_error && !$has_fatal_error) {
3178
+			exit;
3179
+	}
3180
+	if ($from_fatal_error) {
3181
+			$has_fatal_error = true;
3182
+	}
3009 3183
 
3010 3184
 	// Clear out the stat cache.
3011 3185
 	trackStats();
3012 3186
 
3013 3187
 	// If we have mail to send, send it.
3014
-	if (!empty($context['flush_mail']))
3015
-		// @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\
3188
+	if (!empty($context['flush_mail'])) {
3189
+			// @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\
3016 3190
 		AddMailQueue(true);
3191
+	}
3017 3192
 
3018 3193
 	$do_header = $header === null ? !$header_done : $header;
3019
-	if ($do_footer === null)
3020
-		$do_footer = $do_header;
3194
+	if ($do_footer === null) {
3195
+			$do_footer = $do_header;
3196
+	}
3021 3197
 
3022 3198
 	// Has the template/header been done yet?
3023 3199
 	if ($do_header)
3024 3200
 	{
3025 3201
 		// Was the page title set last minute? Also update the HTML safe one.
3026
-		if (!empty($context['page_title']) && empty($context['page_title_html_safe']))
3027
-			$context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : '');
3202
+		if (!empty($context['page_title']) && empty($context['page_title_html_safe'])) {
3203
+					$context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : '');
3204
+		}
3028 3205
 
3029 3206
 		// Start up the session URL fixer.
3030 3207
 		ob_start('ob_sessrewrite');
3031 3208
 
3032
-		if (!empty($settings['output_buffers']) && is_string($settings['output_buffers']))
3033
-			$buffers = explode(',', $settings['output_buffers']);
3034
-		elseif (!empty($settings['output_buffers']))
3035
-			$buffers = $settings['output_buffers'];
3036
-		else
3037
-			$buffers = array();
3209
+		if (!empty($settings['output_buffers']) && is_string($settings['output_buffers'])) {
3210
+					$buffers = explode(',', $settings['output_buffers']);
3211
+		} elseif (!empty($settings['output_buffers'])) {
3212
+					$buffers = $settings['output_buffers'];
3213
+		} else {
3214
+					$buffers = array();
3215
+		}
3038 3216
 
3039
-		if (isset($modSettings['integrate_buffer']))
3040
-			$buffers = array_merge(explode(',', $modSettings['integrate_buffer']), $buffers);
3217
+		if (isset($modSettings['integrate_buffer'])) {
3218
+					$buffers = array_merge(explode(',', $modSettings['integrate_buffer']), $buffers);
3219
+		}
3041 3220
 
3042
-		if (!empty($buffers))
3043
-			foreach ($buffers as $function)
3221
+		if (!empty($buffers)) {
3222
+					foreach ($buffers as $function)
3044 3223
 			{
3045 3224
 				$call = call_helper($function, true);
3225
+		}
3046 3226
 
3047 3227
 				// Is it valid?
3048
-				if (!empty($call))
3049
-					ob_start($call);
3228
+				if (!empty($call)) {
3229
+									ob_start($call);
3230
+				}
3050 3231
 			}
3051 3232
 
3052 3233
 		// Display the screen in the logical order.
@@ -3058,8 +3239,9 @@  discard block
 block discarded – undo
3058 3239
 		loadSubTemplate(isset($context['sub_template']) ? $context['sub_template'] : 'main');
3059 3240
 
3060 3241
 		// Anything special to put out?
3061
-		if (!empty($context['insert_after_template']) && !isset($_REQUEST['xml']))
3062
-			echo $context['insert_after_template'];
3242
+		if (!empty($context['insert_after_template']) && !isset($_REQUEST['xml'])) {
3243
+					echo $context['insert_after_template'];
3244
+		}
3063 3245
 
3064 3246
 		// Just so we don't get caught in an endless loop of errors from the footer...
3065 3247
 		if (!$footer_done)
@@ -3068,14 +3250,16 @@  discard block
 block discarded – undo
3068 3250
 			template_footer();
3069 3251
 
3070 3252
 			// (since this is just debugging... it's okay that it's after </html>.)
3071
-			if (!isset($_REQUEST['xml']))
3072
-				displayDebug();
3253
+			if (!isset($_REQUEST['xml'])) {
3254
+							displayDebug();
3255
+			}
3073 3256
 		}
3074 3257
 	}
3075 3258
 
3076 3259
 	// Remember this URL in case someone doesn't like sending HTTP_REFERER.
3077
-	if (strpos($_SERVER['REQUEST_URL'], 'action=dlattach') === false && strpos($_SERVER['REQUEST_URL'], 'action=viewsmfile') === false)
3078
-		$_SESSION['old_url'] = $_SERVER['REQUEST_URL'];
3260
+	if (strpos($_SERVER['REQUEST_URL'], 'action=dlattach') === false && strpos($_SERVER['REQUEST_URL'], 'action=viewsmfile') === false) {
3261
+			$_SESSION['old_url'] = $_SERVER['REQUEST_URL'];
3262
+	}
3079 3263
 
3080 3264
 	// For session check verification.... don't switch browsers...
3081 3265
 	$_SESSION['USER_AGENT'] = empty($_SERVER['HTTP_USER_AGENT']) ? '' : $_SERVER['HTTP_USER_AGENT'];
@@ -3084,9 +3268,10 @@  discard block
 block discarded – undo
3084 3268
 	call_integration_hook('integrate_exit', array($do_footer));
3085 3269
 
3086 3270
 	// Don't exit if we're coming from index.php; that will pass through normally.
3087
-	if (!$from_index)
3088
-		exit;
3089
-}
3271
+	if (!$from_index) {
3272
+			exit;
3273
+	}
3274
+	}
3090 3275
 
3091 3276
 /**
3092 3277
  * Get the size of a specified image with better error handling.
@@ -3105,8 +3290,9 @@  discard block
 block discarded – undo
3105 3290
 	$url = str_replace(' ', '%20', $url);
3106 3291
 
3107 3292
 	// Can we pull this from the cache... please please?
3108
-	if (($temp = cache_get_data('url_image_size-' . md5($url), 240)) !== null)
3109
-		return $temp;
3293
+	if (($temp = cache_get_data('url_image_size-' . md5($url), 240)) !== null) {
3294
+			return $temp;
3295
+	}
3110 3296
 	$t = microtime();
3111 3297
 
3112 3298
 	// Get the host to pester...
@@ -3116,12 +3302,10 @@  discard block
 block discarded – undo
3116 3302
 	if ($url == '' || $url == 'http://' || $url == 'https://')
3117 3303
 	{
3118 3304
 		return false;
3119
-	}
3120
-	elseif (!isset($match[1]))
3305
+	} elseif (!isset($match[1]))
3121 3306
 	{
3122 3307
 		$size = @getimagesize($url);
3123
-	}
3124
-	else
3308
+	} else
3125 3309
 	{
3126 3310
 		// Try to connect to the server... give it half a second.
3127 3311
 		$temp = 0;
@@ -3158,12 +3342,14 @@  discard block
 block discarded – undo
3158 3342
 	}
3159 3343
 
3160 3344
 	// If we didn't get it, we failed.
3161
-	if (!isset($size))
3162
-		$size = false;
3345
+	if (!isset($size)) {
3346
+			$size = false;
3347
+	}
3163 3348
 
3164 3349
 	// If this took a long time, we may never have to do it again, but then again we might...
3165
-	if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.8)
3166
-		cache_put_data('url_image_size-' . md5($url), $size, 240);
3350
+	if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.8) {
3351
+			cache_put_data('url_image_size-' . md5($url), $size, 240);
3352
+	}
3167 3353
 
3168 3354
 	// Didn't work.
3169 3355
 	return $size;
@@ -3181,8 +3367,9 @@  discard block
 block discarded – undo
3181 3367
 
3182 3368
 	// Under SSI this function can be called more then once.  That can cause some problems.
3183 3369
 	//   So only run the function once unless we are forced to run it again.
3184
-	if ($loaded && !$forceload)
3185
-		return;
3370
+	if ($loaded && !$forceload) {
3371
+			return;
3372
+	}
3186 3373
 
3187 3374
 	$loaded = true;
3188 3375
 
@@ -3194,14 +3381,16 @@  discard block
 block discarded – undo
3194 3381
 	$context['news_lines'] = array_filter(explode("\n", str_replace("\r", '', trim(addslashes($modSettings['news'])))));
3195 3382
 	for ($i = 0, $n = count($context['news_lines']); $i < $n; $i++)
3196 3383
 	{
3197
-		if (trim($context['news_lines'][$i]) == '')
3198
-			continue;
3384
+		if (trim($context['news_lines'][$i]) == '') {
3385
+					continue;
3386
+		}
3199 3387
 
3200 3388
 		// Clean it up for presentation ;).
3201 3389
 		$context['news_lines'][$i] = parse_bbc(stripslashes(trim($context['news_lines'][$i])), true, 'news' . $i);
3202 3390
 	}
3203
-	if (!empty($context['news_lines']))
3204
-		$context['random_news_line'] = $context['news_lines'][mt_rand(0, count($context['news_lines']) - 1)];
3391
+	if (!empty($context['news_lines'])) {
3392
+			$context['random_news_line'] = $context['news_lines'][mt_rand(0, count($context['news_lines']) - 1)];
3393
+	}
3205 3394
 
3206 3395
 	if (!$user_info['is_guest'])
3207 3396
 	{
@@ -3210,40 +3399,48 @@  discard block
 block discarded – undo
3210 3399
 		$context['user']['alerts'] = &$user_info['alerts'];
3211 3400
 
3212 3401
 		// Personal message popup...
3213
-		if ($user_info['unread_messages'] > (isset($_SESSION['unread_messages']) ? $_SESSION['unread_messages'] : 0))
3214
-			$context['user']['popup_messages'] = true;
3215
-		else
3216
-			$context['user']['popup_messages'] = false;
3402
+		if ($user_info['unread_messages'] > (isset($_SESSION['unread_messages']) ? $_SESSION['unread_messages'] : 0)) {
3403
+					$context['user']['popup_messages'] = true;
3404
+		} else {
3405
+					$context['user']['popup_messages'] = false;
3406
+		}
3217 3407
 		$_SESSION['unread_messages'] = $user_info['unread_messages'];
3218 3408
 
3219
-		if (allowedTo('moderate_forum'))
3220
-			$context['unapproved_members'] = (!empty($modSettings['registration_method']) && ($modSettings['registration_method'] == 2 || (!empty($modSettings['coppaType']) && $modSettings['coppaType'] == 2))) || !empty($modSettings['approveAccountDeletion']) ? $modSettings['unapprovedMembers'] : 0;
3409
+		if (allowedTo('moderate_forum')) {
3410
+					$context['unapproved_members'] = (!empty($modSettings['registration_method']) && ($modSettings['registration_method'] == 2 || (!empty($modSettings['coppaType']) && $modSettings['coppaType'] == 2))) || !empty($modSettings['approveAccountDeletion']) ? $modSettings['unapprovedMembers'] : 0;
3411
+		}
3221 3412
 
3222 3413
 		$context['user']['avatar'] = array();
3223 3414
 
3224 3415
 		// Check for gravatar first since we might be forcing them...
3225 3416
 		if (($modSettings['gravatarEnabled'] && substr($user_info['avatar']['url'], 0, 11) == 'gravatar://') || !empty($modSettings['gravatarOverride']))
3226 3417
 		{
3227
-			if (!empty($modSettings['gravatarAllowExtraEmail']) && stristr($user_info['avatar']['url'], 'gravatar://') && strlen($user_info['avatar']['url']) > 11)
3228
-				$context['user']['avatar']['href'] = get_gravatar_url($smcFunc['substr']($user_info['avatar']['url'], 11));
3229
-			else
3230
-				$context['user']['avatar']['href'] = get_gravatar_url($user_info['email']);
3418
+			if (!empty($modSettings['gravatarAllowExtraEmail']) && stristr($user_info['avatar']['url'], 'gravatar://') && strlen($user_info['avatar']['url']) > 11) {
3419
+							$context['user']['avatar']['href'] = get_gravatar_url($smcFunc['substr']($user_info['avatar']['url'], 11));
3420
+			} else {
3421
+							$context['user']['avatar']['href'] = get_gravatar_url($user_info['email']);
3422
+			}
3231 3423
 		}
3232 3424
 		// Uploaded?
3233
-		elseif ($user_info['avatar']['url'] == '' && !empty($user_info['avatar']['id_attach']))
3234
-			$context['user']['avatar']['href'] = $user_info['avatar']['custom_dir'] ? $modSettings['custom_avatar_url'] . '/' . $user_info['avatar']['filename'] : $scripturl . '?action=dlattach;attach=' . $user_info['avatar']['id_attach'] . ';type=avatar';
3425
+		elseif ($user_info['avatar']['url'] == '' && !empty($user_info['avatar']['id_attach'])) {
3426
+					$context['user']['avatar']['href'] = $user_info['avatar']['custom_dir'] ? $modSettings['custom_avatar_url'] . '/' . $user_info['avatar']['filename'] : $scripturl . '?action=dlattach;attach=' . $user_info['avatar']['id_attach'] . ';type=avatar';
3427
+		}
3235 3428
 		// Full URL?
3236
-		elseif (strpos($user_info['avatar']['url'], 'http://') === 0 || strpos($user_info['avatar']['url'], 'https://') === 0)
3237
-			$context['user']['avatar']['href'] = $user_info['avatar']['url'];
3429
+		elseif (strpos($user_info['avatar']['url'], 'http://') === 0 || strpos($user_info['avatar']['url'], 'https://') === 0) {
3430
+					$context['user']['avatar']['href'] = $user_info['avatar']['url'];
3431
+		}
3238 3432
 		// Otherwise we assume it's server stored.
3239
-		elseif ($user_info['avatar']['url'] != '')
3240
-			$context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/' . $smcFunc['htmlspecialchars']($user_info['avatar']['url']);
3433
+		elseif ($user_info['avatar']['url'] != '') {
3434
+					$context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/' . $smcFunc['htmlspecialchars']($user_info['avatar']['url']);
3435
+		}
3241 3436
 		// No avatar at all? Fine, we have a big fat default avatar ;)
3242
-		else
3243
-			$context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/default.png';
3437
+		else {
3438
+					$context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/default.png';
3439
+		}
3244 3440
 
3245
-		if (!empty($context['user']['avatar']))
3246
-			$context['user']['avatar']['image'] = '<img src="' . $context['user']['avatar']['href'] . '" alt="" class="avatar">';
3441
+		if (!empty($context['user']['avatar'])) {
3442
+					$context['user']['avatar']['image'] = '<img src="' . $context['user']['avatar']['href'] . '" alt="" class="avatar">';
3443
+		}
3247 3444
 
3248 3445
 		// Figure out how long they've been logged in.
3249 3446
 		$context['user']['total_time_logged_in'] = array(
@@ -3251,8 +3448,7 @@  discard block
 block discarded – undo
3251 3448
 			'hours' => floor(($user_info['total_time_logged_in'] % 86400) / 3600),
3252 3449
 			'minutes' => floor(($user_info['total_time_logged_in'] % 3600) / 60)
3253 3450
 		);
3254
-	}
3255
-	else
3451
+	} else
3256 3452
 	{
3257 3453
 		$context['user']['messages'] = 0;
3258 3454
 		$context['user']['unread_messages'] = 0;
@@ -3260,12 +3456,14 @@  discard block
 block discarded – undo
3260 3456
 		$context['user']['total_time_logged_in'] = array('days' => 0, 'hours' => 0, 'minutes' => 0);
3261 3457
 		$context['user']['popup_messages'] = false;
3262 3458
 
3263
-		if (!empty($modSettings['registration_method']) && $modSettings['registration_method'] == 1)
3264
-			$txt['welcome_guest'] .= $txt['welcome_guest_activate'];
3459
+		if (!empty($modSettings['registration_method']) && $modSettings['registration_method'] == 1) {
3460
+					$txt['welcome_guest'] .= $txt['welcome_guest_activate'];
3461
+		}
3265 3462
 
3266 3463
 		// If we've upgraded recently, go easy on the passwords.
3267
-		if (!empty($modSettings['disableHashTime']) && ($modSettings['disableHashTime'] == 1 || time() < $modSettings['disableHashTime']))
3268
-			$context['disable_login_hashing'] = true;
3464
+		if (!empty($modSettings['disableHashTime']) && ($modSettings['disableHashTime'] == 1 || time() < $modSettings['disableHashTime'])) {
3465
+					$context['disable_login_hashing'] = true;
3466
+		}
3269 3467
 	}
3270 3468
 
3271 3469
 	// Setup the main menu items.
@@ -3278,8 +3476,8 @@  discard block
 block discarded – undo
3278 3476
 	$context['show_pm_popup'] = $context['user']['popup_messages'] && !empty($options['popup_messages']) && (!isset($_REQUEST['action']) || $_REQUEST['action'] != 'pm');
3279 3477
 
3280 3478
 	// 2.1+: Add the PM popup here instead. Theme authors can still override it simply by editing/removing the 'fPmPopup' in the array.
3281
-	if ($context['show_pm_popup'])
3282
-		addInlineJavaScript('
3479
+	if ($context['show_pm_popup']) {
3480
+			addInlineJavaScript('
3283 3481
 		jQuery(document).ready(function($) {
3284 3482
 			new smc_Popup({
3285 3483
 				heading: ' . JavaScriptEscape($txt['show_personal_messages_heading']) . ',
@@ -3287,24 +3485,28 @@  discard block
 block discarded – undo
3287 3485
 				icon_class: \'generic_icons mail_new\'
3288 3486
 			});
3289 3487
 		});');
3488
+	}
3290 3489
 
3291 3490
 	// Add a generic "Are you sure?" confirmation message.
3292 3491
 	addInlineJavaScript('
3293 3492
 	var smf_you_sure =' . JavaScriptEscape($txt['quickmod_confirm']) .';');
3294 3493
 
3295 3494
 	// Now add the capping code for avatars.
3296
-	if (!empty($modSettings['avatar_max_width_external']) && !empty($modSettings['avatar_max_height_external']) && !empty($modSettings['avatar_action_too_large']) && $modSettings['avatar_action_too_large'] == 'option_css_resize')
3297
-		addInlineCss('
3495
+	if (!empty($modSettings['avatar_max_width_external']) && !empty($modSettings['avatar_max_height_external']) && !empty($modSettings['avatar_action_too_large']) && $modSettings['avatar_action_too_large'] == 'option_css_resize') {
3496
+			addInlineCss('
3298 3497
 	img.avatar { max-width: ' . $modSettings['avatar_max_width_external'] . 'px; max-height: ' . $modSettings['avatar_max_height_external'] . 'px; }');
3498
+	}
3299 3499
 
3300 3500
 	// Add max image limits
3301
-	if (!empty($modSettings['max_image_width']))
3302
-		addInlineCss('
3501
+	if (!empty($modSettings['max_image_width'])) {
3502
+			addInlineCss('
3303 3503
 	.postarea .bbc_img { max-width: ' . $modSettings['max_image_width'] . 'px; }');
3504
+	}
3304 3505
 
3305
-	if (!empty($modSettings['max_image_height']))
3306
-		addInlineCss('
3506
+	if (!empty($modSettings['max_image_height'])) {
3507
+			addInlineCss('
3307 3508
 	.postarea .bbc_img { max-height: ' . $modSettings['max_image_height'] . 'px; }');
3509
+	}
3308 3510
 
3309 3511
 	// This looks weird, but it's because BoardIndex.php references the variable.
3310 3512
 	$context['common_stats']['latest_member'] = array(
@@ -3321,11 +3523,13 @@  discard block
 block discarded – undo
3321 3523
 	);
3322 3524
 	$context['common_stats']['boardindex_total_posts'] = sprintf($txt['boardindex_total_posts'], $context['common_stats']['total_posts'], $context['common_stats']['total_topics'], $context['common_stats']['total_members']);
3323 3525
 
3324
-	if (empty($settings['theme_version']))
3325
-		addJavaScriptVar('smf_scripturl', $scripturl);
3526
+	if (empty($settings['theme_version'])) {
3527
+			addJavaScriptVar('smf_scripturl', $scripturl);
3528
+	}
3326 3529
 
3327
-	if (!isset($context['page_title']))
3328
-		$context['page_title'] = '';
3530
+	if (!isset($context['page_title'])) {
3531
+			$context['page_title'] = '';
3532
+	}
3329 3533
 
3330 3534
 	// Set some specific vars.
3331 3535
 	$context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : '');
@@ -3335,21 +3539,23 @@  discard block
 block discarded – undo
3335 3539
 	$context['meta_tags'][] = array('property' => 'og:site_name', 'content' => $context['forum_name']);
3336 3540
 	$context['meta_tags'][] = array('property' => 'og:title', 'content' => $context['page_title_html_safe']);
3337 3541
 
3338
-	if (!empty($context['meta_keywords']))
3339
-		$context['meta_tags'][] = array('name' => 'keywords', 'content' => $context['meta_keywords']);
3542
+	if (!empty($context['meta_keywords'])) {
3543
+			$context['meta_tags'][] = array('name' => 'keywords', 'content' => $context['meta_keywords']);
3544
+	}
3340 3545
 
3341
-	if (!empty($context['canonical_url']))
3342
-		$context['meta_tags'][] = array('property' => 'og:url', 'content' => $context['canonical_url']);
3546
+	if (!empty($context['canonical_url'])) {
3547
+			$context['meta_tags'][] = array('property' => 'og:url', 'content' => $context['canonical_url']);
3548
+	}
3343 3549
 
3344
-	if (!empty($settings['og_image']))
3345
-		$context['meta_tags'][] = array('property' => 'og:image', 'content' => $settings['og_image']);
3550
+	if (!empty($settings['og_image'])) {
3551
+			$context['meta_tags'][] = array('property' => 'og:image', 'content' => $settings['og_image']);
3552
+	}
3346 3553
 
3347 3554
 	if (!empty($context['meta_description']))
3348 3555
 	{
3349 3556
 		$context['meta_tags'][] = array('property' => 'og:description', 'content' => $context['meta_description']);
3350 3557
 		$context['meta_tags'][] = array('name' => 'description', 'content' => $context['meta_description']);
3351
-	}
3352
-	else
3558
+	} else
3353 3559
 	{
3354 3560
 		$context['meta_tags'][] = array('property' => 'og:description', 'content' => $context['page_title_html_safe']);
3355 3561
 		$context['meta_tags'][] = array('name' => 'description', 'content' => $context['page_title_html_safe']);
@@ -3374,8 +3580,9 @@  discard block
 block discarded – undo
3374 3580
 	$memory_needed = memoryReturnBytes($needed);
3375 3581
 
3376 3582
 	// should we account for how much is currently being used?
3377
-	if ($in_use)
3378
-		$memory_needed += function_exists('memory_get_usage') ? memory_get_usage() : (2 * 1048576);
3583
+	if ($in_use) {
3584
+			$memory_needed += function_exists('memory_get_usage') ? memory_get_usage() : (2 * 1048576);
3585
+	}
3379 3586
 
3380 3587
 	// if more is needed, request it
3381 3588
 	if ($memory_current < $memory_needed)
@@ -3398,8 +3605,9 @@  discard block
 block discarded – undo
3398 3605
  */
3399 3606
 function memoryReturnBytes($val)
3400 3607
 {
3401
-	if (is_integer($val))
3402
-		return $val;
3608
+	if (is_integer($val)) {
3609
+			return $val;
3610
+	}
3403 3611
 
3404 3612
 	// Separate the number from the designator
3405 3613
 	$val = trim($val);
@@ -3435,10 +3643,11 @@  discard block
 block discarded – undo
3435 3643
 		header('last-modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
3436 3644
 
3437 3645
 		// Are we debugging the template/html content?
3438
-		if (!isset($_REQUEST['xml']) && isset($_GET['debug']) && !isBrowser('ie'))
3439
-			header('content-type: application/xhtml+xml');
3440
-		elseif (!isset($_REQUEST['xml']))
3441
-			header('content-type: text/html; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
3646
+		if (!isset($_REQUEST['xml']) && isset($_GET['debug']) && !isBrowser('ie')) {
3647
+					header('content-type: application/xhtml+xml');
3648
+		} elseif (!isset($_REQUEST['xml'])) {
3649
+					header('content-type: text/html; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
3650
+		}
3442 3651
 	}
3443 3652
 
3444 3653
 	header('content-type: text/' . (isset($_REQUEST['xml']) ? 'xml' : 'html') . '; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
@@ -3447,8 +3656,9 @@  discard block
 block discarded – undo
3447 3656
 	if ($context['in_maintenance'] && $context['user']['is_admin'])
3448 3657
 	{
3449 3658
 		$position = array_search('body', $context['template_layers']);
3450
-		if ($position === false)
3451
-			$position = array_search('main', $context['template_layers']);
3659
+		if ($position === false) {
3660
+					$position = array_search('main', $context['template_layers']);
3661
+		}
3452 3662
 
3453 3663
 		if ($position !== false)
3454 3664
 		{
@@ -3476,23 +3686,25 @@  discard block
 block discarded – undo
3476 3686
 
3477 3687
 			foreach ($securityFiles as $i => $securityFile)
3478 3688
 			{
3479
-				if (!file_exists($boarddir . '/' . $securityFile))
3480
-					unset($securityFiles[$i]);
3689
+				if (!file_exists($boarddir . '/' . $securityFile)) {
3690
+									unset($securityFiles[$i]);
3691
+				}
3481 3692
 			}
3482 3693
 
3483 3694
 			// We are already checking so many files...just few more doesn't make any difference! :P
3484
-			if (!empty($modSettings['currentAttachmentUploadDir']))
3485
-				$path = $modSettings['attachmentUploadDir'][$modSettings['currentAttachmentUploadDir']];
3486
-
3487
-			else
3488
-				$path = $modSettings['attachmentUploadDir'];
3695
+			if (!empty($modSettings['currentAttachmentUploadDir'])) {
3696
+							$path = $modSettings['attachmentUploadDir'][$modSettings['currentAttachmentUploadDir']];
3697
+			} else {
3698
+							$path = $modSettings['attachmentUploadDir'];
3699
+			}
3489 3700
 
3490 3701
 			secureDirectory($path, true);
3491 3702
 			secureDirectory($cachedir);
3492 3703
 
3493 3704
 			// If agreement is enabled, at least the english version shall exists
3494
-			if ($modSettings['requireAgreement'])
3495
-				$agreement = !file_exists($boarddir . '/agreement.txt');
3705
+			if ($modSettings['requireAgreement']) {
3706
+							$agreement = !file_exists($boarddir . '/agreement.txt');
3707
+			}
3496 3708
 
3497 3709
 			if (!empty($securityFiles) || (!empty($modSettings['cache_enable']) && !is_writable($cachedir)) || !empty($agreement))
3498 3710
 			{
@@ -3507,18 +3719,21 @@  discard block
 block discarded – undo
3507 3719
 					echo '
3508 3720
 				', $txt['not_removed'], '<strong>', $securityFile, '</strong>!<br>';
3509 3721
 
3510
-					if ($securityFile == 'Settings.php~' || $securityFile == 'Settings_bak.php~')
3511
-						echo '
3722
+					if ($securityFile == 'Settings.php~' || $securityFile == 'Settings_bak.php~') {
3723
+											echo '
3512 3724
 				', sprintf($txt['not_removed_extra'], $securityFile, substr($securityFile, 0, -1)), '<br>';
3725
+					}
3513 3726
 				}
3514 3727
 
3515
-				if (!empty($modSettings['cache_enable']) && !is_writable($cachedir))
3516
-					echo '
3728
+				if (!empty($modSettings['cache_enable']) && !is_writable($cachedir)) {
3729
+									echo '
3517 3730
 				<strong>', $txt['cache_writable'], '</strong><br>';
3731
+				}
3518 3732
 
3519
-				if (!empty($agreement))
3520
-					echo '
3733
+				if (!empty($agreement)) {
3734
+									echo '
3521 3735
 				<strong>', $txt['agreement_missing'], '</strong><br>';
3736
+				}
3522 3737
 
3523 3738
 				echo '
3524 3739
 			</p>
@@ -3533,16 +3748,18 @@  discard block
 block discarded – undo
3533 3748
 				<div class="windowbg alert" style="margin: 2ex; padding: 2ex; border: 2px dashed red;">
3534 3749
 					', sprintf($txt['you_are_post_banned'], $user_info['is_guest'] ? $txt['guest_title'] : $user_info['name']);
3535 3750
 
3536
-			if (!empty($_SESSION['ban']['cannot_post']['reason']))
3537
-				echo '
3751
+			if (!empty($_SESSION['ban']['cannot_post']['reason'])) {
3752
+							echo '
3538 3753
 					<div style="padding-left: 4ex; padding-top: 1ex;">', $_SESSION['ban']['cannot_post']['reason'], '</div>';
3754
+			}
3539 3755
 
3540
-			if (!empty($_SESSION['ban']['expire_time']))
3541
-				echo '
3756
+			if (!empty($_SESSION['ban']['expire_time'])) {
3757
+							echo '
3542 3758
 					<div>', sprintf($txt['your_ban_expires'], timeformat($_SESSION['ban']['expire_time'], false)), '</div>';
3543
-			else
3544
-				echo '
3759
+			} else {
3760
+							echo '
3545 3761
 					<div>', $txt['your_ban_expires_never'], '</div>';
3762
+			}
3546 3763
 
3547 3764
 			echo '
3548 3765
 				</div>';
@@ -3558,8 +3775,9 @@  discard block
 block discarded – undo
3558 3775
 	global $forum_copyright, $software_year, $forum_version;
3559 3776
 
3560 3777
 	// Don't display copyright for things like SSI.
3561
-	if (!isset($forum_version) || !isset($software_year))
3562
-		return;
3778
+	if (!isset($forum_version) || !isset($software_year)) {
3779
+			return;
3780
+	}
3563 3781
 
3564 3782
 	// Put in the version...
3565 3783
 	printf($forum_copyright, $forum_version, $software_year);
@@ -3577,9 +3795,10 @@  discard block
 block discarded – undo
3577 3795
 	$context['load_time'] = round(microtime(true) - $time_start, 3);
3578 3796
 	$context['load_queries'] = $db_count;
3579 3797
 
3580
-	foreach (array_reverse($context['template_layers']) as $layer)
3581
-		loadSubTemplate($layer . '_below', true);
3582
-}
3798
+	foreach (array_reverse($context['template_layers']) as $layer) {
3799
+			loadSubTemplate($layer . '_below', true);
3800
+	}
3801
+	}
3583 3802
 
3584 3803
 /**
3585 3804
  * Output the Javascript files
@@ -3613,8 +3832,7 @@  discard block
 block discarded – undo
3613 3832
 			{
3614 3833
 				echo '
3615 3834
 		var ', $key, ';';
3616
-			}
3617
-			else
3835
+			} else
3618 3836
 			{
3619 3837
 				echo '
3620 3838
 		var ', $key, ' = ', $value, ';';
@@ -3633,27 +3851,29 @@  discard block
 block discarded – undo
3633 3851
 		foreach ($context['javascript_files'] as $id => $js_file)
3634 3852
 		{
3635 3853
 			// Last minute call! allow theme authors to disable single files.
3636
-			if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files']))
3637
-				continue;
3854
+			if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files'])) {
3855
+							continue;
3856
+			}
3638 3857
 
3639 3858
 			// By default files don't get minimized unless the file explicitly says so!
3640 3859
 			if (!empty($js_file['options']['minimize']) && !empty($modSettings['minimize_files']))
3641 3860
 			{
3642
-				if (!empty($js_file['options']['async']))
3643
-					$toMinify['async'][] = $js_file;
3644
-				elseif (!empty($js_file['options']['defer']))
3645
-					$toMinify['defer'][] = $js_file;
3646
-				else
3647
-					$toMinify['standard'][] = $js_file;
3861
+				if (!empty($js_file['options']['async'])) {
3862
+									$toMinify['async'][] = $js_file;
3863
+				} elseif (!empty($js_file['options']['defer'])) {
3864
+									$toMinify['defer'][] = $js_file;
3865
+				} else {
3866
+									$toMinify['standard'][] = $js_file;
3867
+				}
3648 3868
 
3649 3869
 				// Grab a random seed.
3650
-				if (!isset($minSeed) && isset($js_file['options']['seed']))
3651
-					$minSeed = $js_file['options']['seed'];
3652
-			}
3653
-
3654
-			else
3655
-				echo '
3870
+				if (!isset($minSeed) && isset($js_file['options']['seed'])) {
3871
+									$minSeed = $js_file['options']['seed'];
3872
+				}
3873
+			} else {
3874
+							echo '
3656 3875
 	<script src="', $js_file['fileUrl'], '"', !empty($js_file['options']['async']) ? ' async' : '', !empty($js_file['options']['defer']) ? ' defer' : '', '></script>';
3876
+			}
3657 3877
 		}
3658 3878
 
3659 3879
 		foreach ($toMinify as $js_files)
@@ -3664,9 +3884,10 @@  discard block
 block discarded – undo
3664 3884
 
3665 3885
 				$minSuccessful = array_keys($result) === array('smf_minified');
3666 3886
 
3667
-				foreach ($result as $minFile)
3668
-					echo '
3887
+				foreach ($result as $minFile) {
3888
+									echo '
3669 3889
 	<script src="', $minFile['fileUrl'], $minSuccessful && isset($minSeed) ? $minSeed : '', '"', !empty($minFile['options']['async']) ? ' async' : '', !empty($minFile['options']['defer']) ? ' defer' : '', '></script>';
3890
+				}
3670 3891
 			}
3671 3892
 		}
3672 3893
 	}
@@ -3680,8 +3901,9 @@  discard block
 block discarded – undo
3680 3901
 <script>
3681 3902
 window.addEventListener("DOMContentLoaded", function() {';
3682 3903
 
3683
-			foreach ($context['javascript_inline']['defer'] as $js_code)
3684
-				echo $js_code;
3904
+			foreach ($context['javascript_inline']['defer'] as $js_code) {
3905
+							echo $js_code;
3906
+			}
3685 3907
 
3686 3908
 			echo '
3687 3909
 });
@@ -3693,8 +3915,9 @@  discard block
 block discarded – undo
3693 3915
 			echo '
3694 3916
 	<script>';
3695 3917
 
3696
-			foreach ($context['javascript_inline']['standard'] as $js_code)
3697
-				echo $js_code;
3918
+			foreach ($context['javascript_inline']['standard'] as $js_code) {
3919
+							echo $js_code;
3920
+			}
3698 3921
 
3699 3922
 			echo '
3700 3923
 	</script>';
@@ -3722,23 +3945,26 @@  discard block
 block discarded – undo
3722 3945
 	foreach ($context['css_files'] as $id => $file)
3723 3946
 	{
3724 3947
 		// Last minute call! allow theme authors to disable single files.
3725
-		if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files']))
3726
-			continue;
3948
+		if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files'])) {
3949
+					continue;
3950
+		}
3727 3951
 
3728 3952
 		// Files are minimized unless they explicitly opt out.
3729
-		if (!isset($file['options']['minimize']))
3730
-			$file['options']['minimize'] = true;
3953
+		if (!isset($file['options']['minimize'])) {
3954
+					$file['options']['minimize'] = true;
3955
+		}
3731 3956
 
3732 3957
 		if (!empty($file['options']['minimize']) && !empty($modSettings['minimize_files']))
3733 3958
 		{
3734 3959
 			$toMinify[] = $file;
3735 3960
 
3736 3961
 			// Grab a random seed.
3737
-			if (!isset($minSeed) && isset($file['options']['seed']))
3738
-				$minSeed = $file['options']['seed'];
3962
+			if (!isset($minSeed) && isset($file['options']['seed'])) {
3963
+							$minSeed = $file['options']['seed'];
3964
+			}
3965
+		} else {
3966
+					$normal[] = $file['fileUrl'];
3739 3967
 		}
3740
-		else
3741
-			$normal[] = $file['fileUrl'];
3742 3968
 	}
3743 3969
 
3744 3970
 	if (!empty($toMinify))
@@ -3747,23 +3973,26 @@  discard block
 block discarded – undo
3747 3973
 
3748 3974
 		$minSuccessful = array_keys($result) === array('smf_minified');
3749 3975
 
3750
-		foreach ($result as $minFile)
3751
-			echo '
3976
+		foreach ($result as $minFile) {
3977
+					echo '
3752 3978
 	<link rel="stylesheet" href="', $minFile['fileUrl'], $minSuccessful && isset($minSeed) ? $minSeed : '', '">';
3979
+		}
3753 3980
 	}
3754 3981
 
3755 3982
 	// Print the rest after the minified files.
3756
-	if (!empty($normal))
3757
-		foreach ($normal as $nf)
3983
+	if (!empty($normal)) {
3984
+			foreach ($normal as $nf)
3758 3985
 			echo '
3759 3986
 	<link rel="stylesheet" href="', $nf ,'">';
3987
+	}
3760 3988
 
3761 3989
 	if ($db_show_debug === true)
3762 3990
 	{
3763 3991
 		// Try to keep only what's useful.
3764 3992
 		$repl = array($boardurl . '/Themes/' => '', $boardurl . '/' => '');
3765
-		foreach ($context['css_files'] as $file)
3766
-			$context['debug']['sheets'][] = strtr($file['fileName'], $repl);
3993
+		foreach ($context['css_files'] as $file) {
3994
+					$context['debug']['sheets'][] = strtr($file['fileName'], $repl);
3995
+		}
3767 3996
 	}
3768 3997
 
3769 3998
 	if (!empty($context['css_header']))
@@ -3771,9 +4000,10 @@  discard block
 block discarded – undo
3771 4000
 		echo '
3772 4001
 	<style>';
3773 4002
 
3774
-		foreach ($context['css_header'] as $css)
3775
-			echo $css .'
4003
+		foreach ($context['css_header'] as $css) {
4004
+					echo $css .'
3776 4005
 	';
4006
+		}
3777 4007
 
3778 4008
 		echo'
3779 4009
 	</style>';
@@ -3796,8 +4026,9 @@  discard block
 block discarded – undo
3796 4026
 	$type = !empty($type) && in_array($type, $types) ? $type : false;
3797 4027
 	$data = is_array($data) ? $data : array();
3798 4028
 
3799
-	if (empty($type) || empty($data))
3800
-		return $data;
4029
+	if (empty($type) || empty($data)) {
4030
+			return $data;
4031
+	}
3801 4032
 
3802 4033
 	// Different pages include different files, so we use a hash to label the different combinations
3803 4034
 	$hash = md5(implode(' ', array_map(function($file) { return $file['filePath'] . (int) @filesize($file['filePath']) . (int) @filemtime($file['filePath']); }, $data)));
@@ -3806,13 +4037,14 @@  discard block
 block discarded – undo
3806 4037
 	list($toCache, $async, $defer) = array_pad((array) cache_get_data('minimized_' . $settings['theme_id'] . '_' . $type . '_' . $hash, 86400), 3, null);
3807 4038
 
3808 4039
 	// Already done?
3809
-	if (!empty($toCache))
3810
-		return array('smf_minified' => array(
4040
+	if (!empty($toCache)) {
4041
+			return array('smf_minified' => array(
3811 4042
 			'fileUrl' => $settings['theme_url'] . '/' . ($type == 'css' ? 'css' : 'scripts') . '/' . basename($toCache),
3812 4043
 			'filePath' => $toCache,
3813 4044
 			'fileName' => basename($toCache),
3814 4045
 			'options' => array('async' => !empty($async), 'defer' => !empty($defer)),
3815 4046
 		));
4047
+	}
3816 4048
 
3817 4049
 
3818 4050
 	// No namespaces, sorry!
@@ -3842,9 +4074,9 @@  discard block
 block discarded – undo
3842 4074
 
3843 4075
 	foreach ($data as $id => $file)
3844 4076
 	{
3845
-		if (empty($file['filePath']))
3846
-			$toAdd = false;
3847
-		else
4077
+		if (empty($file['filePath'])) {
4078
+					$toAdd = false;
4079
+		} else
3848 4080
 		{
3849 4081
 			$seed = isset($file['options']['seed']) ? $file['options']['seed'] : '';
3850 4082
 			$tempFile = str_replace($seed, '', $file['filePath']);
@@ -3852,12 +4084,14 @@  discard block
 block discarded – undo
3852 4084
 		}
3853 4085
 
3854 4086
 		// A minified script should only be loaded asynchronously if all its components wanted to be.
3855
-		if (empty($file['options']['async']))
3856
-			$async = false;
4087
+		if (empty($file['options']['async'])) {
4088
+					$async = false;
4089
+		}
3857 4090
 
3858 4091
 		// A minified script should only be deferred if all its components wanted to be.
3859
-		if (empty($file['options']['defer']))
3860
-			$defer = false;
4092
+		if (empty($file['options']['defer'])) {
4093
+					$defer = false;
4094
+		}
3861 4095
 
3862 4096
 		// The file couldn't be located so it won't be added. Log this error.
3863 4097
 		if (empty($toAdd))
@@ -3923,12 +4157,14 @@  discard block
 block discarded – undo
3923 4157
 			foreach (glob(rtrim($theme['dir'], '/') . '/' . ($type == 'css' ? 'css' : 'scripts') . '/minified*.' . $type) as $filename)
3924 4158
 			{
3925 4159
 				// Remove the cache entry
3926
-				if (preg_match('~([a-zA-Z0-9]+)\.' . $type . '$~', $filename, $matches))
3927
-					cache_put_data('minimized_' . $theme['id'] . '_' . $type . '_' . $matches[1], null);
4160
+				if (preg_match('~([a-zA-Z0-9]+)\.' . $type . '$~', $filename, $matches)) {
4161
+									cache_put_data('minimized_' . $theme['id'] . '_' . $type . '_' . $matches[1], null);
4162
+				}
3928 4163
 
3929 4164
 				// Try to delete the file. Add it to our error list if it fails.
3930
-				if (!@unlink($filename))
3931
-					$not_deleted[] = $filename;
4165
+				if (!@unlink($filename)) {
4166
+									$not_deleted[] = $filename;
4167
+				}
3932 4168
 			}
3933 4169
 		}
3934 4170
 	}
@@ -3960,8 +4196,9 @@  discard block
 block discarded – undo
3960 4196
 	global $modSettings, $smcFunc;
3961 4197
 
3962 4198
 	// Just make up a nice hash...
3963
-	if ($new)
3964
-		return sha1(md5($filename . time()) . mt_rand());
4199
+	if ($new) {
4200
+			return sha1(md5($filename . time()) . mt_rand());
4201
+	}
3965 4202
 
3966 4203
 	// Just make sure that attachment id is only a int
3967 4204
 	$attachment_id = (int) $attachment_id;
@@ -3978,23 +4215,25 @@  discard block
 block discarded – undo
3978 4215
 				'id_attach' => $attachment_id,
3979 4216
 			));
3980 4217
 
3981
-		if ($smcFunc['db_num_rows']($request) === 0)
3982
-			return false;
4218
+		if ($smcFunc['db_num_rows']($request) === 0) {
4219
+					return false;
4220
+		}
3983 4221
 
3984 4222
 		list ($file_hash) = $smcFunc['db_fetch_row']($request);
3985 4223
 		$smcFunc['db_free_result']($request);
3986 4224
 	}
3987 4225
 
3988 4226
 	// Still no hash? mmm...
3989
-	if (empty($file_hash))
3990
-		$file_hash = sha1(md5($filename . time()) . mt_rand());
4227
+	if (empty($file_hash)) {
4228
+			$file_hash = sha1(md5($filename . time()) . mt_rand());
4229
+	}
3991 4230
 
3992 4231
 	// Are we using multiple directories?
3993
-	if (is_array($modSettings['attachmentUploadDir']))
3994
-		$path = $modSettings['attachmentUploadDir'][$dir];
3995
-
3996
-	else
3997
-		$path = $modSettings['attachmentUploadDir'];
4232
+	if (is_array($modSettings['attachmentUploadDir'])) {
4233
+			$path = $modSettings['attachmentUploadDir'][$dir];
4234
+	} else {
4235
+			$path = $modSettings['attachmentUploadDir'];
4236
+	}
3998 4237
 
3999 4238
 	return $path . '/' . $attachment_id . '_' . $file_hash .'.dat';
4000 4239
 }
@@ -4009,8 +4248,9 @@  discard block
 block discarded – undo
4009 4248
 function ip2range($fullip)
4010 4249
 {
4011 4250
 	// Pretend that 'unknown' is 255.255.255.255. (since that can't be an IP anyway.)
4012
-	if ($fullip == 'unknown')
4013
-		$fullip = '255.255.255.255';
4251
+	if ($fullip == 'unknown') {
4252
+			$fullip = '255.255.255.255';
4253
+	}
4014 4254
 
4015 4255
 	$ip_parts = explode('-', $fullip);
4016 4256
 	$ip_array = array();
@@ -4034,10 +4274,11 @@  discard block
 block discarded – undo
4034 4274
 		$ip_array['low'] = $ip_parts[0];
4035 4275
 		$ip_array['high'] = $ip_parts[1];
4036 4276
 		return $ip_array;
4037
-	}
4038
-	elseif (count($ip_parts) == 2) // if ip 22.22.*-22.22.*
4277
+	} elseif (count($ip_parts) == 2) {
4278
+		// if ip 22.22.*-22.22.*
4039 4279
 	{
4040 4280
 		$valid_low = isValidIP($ip_parts[0]);
4281
+	}
4041 4282
 		$valid_high = isValidIP($ip_parts[1]);
4042 4283
 		$count = 0;
4043 4284
 		$mode = (preg_match('/:/',$ip_parts[0]) > 0 ? ':' : '.');
@@ -4052,7 +4293,9 @@  discard block
 block discarded – undo
4052 4293
 				$ip_parts[0] .= $mode . $min;
4053 4294
 				$valid_low = isValidIP($ip_parts[0]);
4054 4295
 				$count++;
4055
-				if ($count > 9) break;
4296
+				if ($count > 9) {
4297
+					break;
4298
+				}
4056 4299
 			}
4057 4300
 		}
4058 4301
 
@@ -4066,7 +4309,9 @@  discard block
 block discarded – undo
4066 4309
 				$ip_parts[1] .= $mode . $max;
4067 4310
 				$valid_high = isValidIP($ip_parts[1]);
4068 4311
 				$count++;
4069
-				if ($count > 9) break;
4312
+				if ($count > 9) {
4313
+					break;
4314
+				}
4070 4315
 			}
4071 4316
 		}
4072 4317
 
@@ -4090,46 +4335,54 @@  discard block
 block discarded – undo
4090 4335
 {
4091 4336
 	global $modSettings;
4092 4337
 
4093
-	if (($host = cache_get_data('hostlookup-' . $ip, 600)) !== null)
4094
-		return $host;
4338
+	if (($host = cache_get_data('hostlookup-' . $ip, 600)) !== null) {
4339
+			return $host;
4340
+	}
4095 4341
 	$t = microtime();
4096 4342
 
4097 4343
 	// Try the Linux host command, perhaps?
4098 4344
 	if (!isset($host) && (strpos(strtolower(PHP_OS), 'win') === false || strpos(strtolower(PHP_OS), 'darwin') !== false) && mt_rand(0, 1) == 1)
4099 4345
 	{
4100
-		if (!isset($modSettings['host_to_dis']))
4101
-			$test = @shell_exec('host -W 1 ' . @escapeshellarg($ip));
4102
-		else
4103
-			$test = @shell_exec('host ' . @escapeshellarg($ip));
4346
+		if (!isset($modSettings['host_to_dis'])) {
4347
+					$test = @shell_exec('host -W 1 ' . @escapeshellarg($ip));
4348
+		} else {
4349
+					$test = @shell_exec('host ' . @escapeshellarg($ip));
4350
+		}
4104 4351
 
4105 4352
 		// Did host say it didn't find anything?
4106
-		if (strpos($test, 'not found') !== false)
4107
-			$host = '';
4353
+		if (strpos($test, 'not found') !== false) {
4354
+					$host = '';
4355
+		}
4108 4356
 		// Invalid server option?
4109
-		elseif ((strpos($test, 'invalid option') || strpos($test, 'Invalid query name 1')) && !isset($modSettings['host_to_dis']))
4110
-			updateSettings(array('host_to_dis' => 1));
4357
+		elseif ((strpos($test, 'invalid option') || strpos($test, 'Invalid query name 1')) && !isset($modSettings['host_to_dis'])) {
4358
+					updateSettings(array('host_to_dis' => 1));
4359
+		}
4111 4360
 		// Maybe it found something, after all?
4112
-		elseif (preg_match('~\s([^\s]+?)\.\s~', $test, $match) == 1)
4113
-			$host = $match[1];
4361
+		elseif (preg_match('~\s([^\s]+?)\.\s~', $test, $match) == 1) {
4362
+					$host = $match[1];
4363
+		}
4114 4364
 	}
4115 4365
 
4116 4366
 	// This is nslookup; usually only Windows, but possibly some Unix?
4117 4367
 	if (!isset($host) && stripos(PHP_OS, 'win') !== false && strpos(strtolower(PHP_OS), 'darwin') === false && mt_rand(0, 1) == 1)
4118 4368
 	{
4119 4369
 		$test = @shell_exec('nslookup -timeout=1 ' . @escapeshellarg($ip));
4120
-		if (strpos($test, 'Non-existent domain') !== false)
4121
-			$host = '';
4122
-		elseif (preg_match('~Name:\s+([^\s]+)~', $test, $match) == 1)
4123
-			$host = $match[1];
4370
+		if (strpos($test, 'Non-existent domain') !== false) {
4371
+					$host = '';
4372
+		} elseif (preg_match('~Name:\s+([^\s]+)~', $test, $match) == 1) {
4373
+					$host = $match[1];
4374
+		}
4124 4375
 	}
4125 4376
 
4126 4377
 	// This is the last try :/.
4127
-	if (!isset($host) || $host === false)
4128
-		$host = @gethostbyaddr($ip);
4378
+	if (!isset($host) || $host === false) {
4379
+			$host = @gethostbyaddr($ip);
4380
+	}
4129 4381
 
4130 4382
 	// It took a long time, so let's cache it!
4131
-	if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.5)
4132
-		cache_put_data('hostlookup-' . $ip, $host, 600);
4383
+	if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.5) {
4384
+			cache_put_data('hostlookup-' . $ip, $host, 600);
4385
+	}
4133 4386
 
4134 4387
 	return $host;
4135 4388
 }
@@ -4165,20 +4418,21 @@  discard block
 block discarded – undo
4165 4418
 			{
4166 4419
 				$encrypted = substr(crypt($word, 'uk'), 2, $max_chars);
4167 4420
 				$total = 0;
4168
-				for ($i = 0; $i < $max_chars; $i++)
4169
-					$total += $possible_chars[ord($encrypted{$i})] * pow(63, $i);
4421
+				for ($i = 0; $i < $max_chars; $i++) {
4422
+									$total += $possible_chars[ord($encrypted{$i})] * pow(63, $i);
4423
+				}
4170 4424
 				$returned_ints[] = $max_chars == 4 ? min($total, 16777215) : $total;
4171 4425
 			}
4172 4426
 		}
4173 4427
 		return array_unique($returned_ints);
4174
-	}
4175
-	else
4428
+	} else
4176 4429
 	{
4177 4430
 		// Trim characters before and after and add slashes for database insertion.
4178 4431
 		$returned_words = array();
4179
-		foreach ($words as $word)
4180
-			if (($word = trim($word, '-_\'')) !== '')
4432
+		foreach ($words as $word) {
4433
+					if (($word = trim($word, '-_\'')) !== '')
4181 4434
 				$returned_words[] = $max_chars === null ? $word : substr($word, 0, $max_chars);
4435
+		}
4182 4436
 
4183 4437
 		// Filter out all words that occur more than once.
4184 4438
 		return array_unique($returned_words);
@@ -4200,16 +4454,18 @@  discard block
 block discarded – undo
4200 4454
 	global $settings, $txt;
4201 4455
 
4202 4456
 	// Does the current loaded theme have this and we are not forcing the usage of this function?
4203
-	if (function_exists('template_create_button') && !$force_use)
4204
-		return template_create_button($name, $alt, $label = '', $custom = '');
4457
+	if (function_exists('template_create_button') && !$force_use) {
4458
+			return template_create_button($name, $alt, $label = '', $custom = '');
4459
+	}
4205 4460
 
4206
-	if (!$settings['use_image_buttons'])
4207
-		return $txt[$alt];
4208
-	elseif (!empty($settings['use_buttons']))
4209
-		return '<span class="generic_icons ' . $name . '" alt="' . $txt[$alt] . '"></span>' . ($label != '' ? '&nbsp;<strong>' . $txt[$label] . '</strong>' : '');
4210
-	else
4211
-		return '<img src="' . $settings['lang_images_url'] . '/' . $name . '" alt="' . $txt[$alt] . '" ' . $custom . '>';
4212
-}
4461
+	if (!$settings['use_image_buttons']) {
4462
+			return $txt[$alt];
4463
+	} elseif (!empty($settings['use_buttons'])) {
4464
+			return '<span class="generic_icons ' . $name . '" alt="' . $txt[$alt] . '"></span>' . ($label != '' ? '&nbsp;<strong>' . $txt[$label] . '</strong>' : '');
4465
+	} else {
4466
+			return '<img src="' . $settings['lang_images_url'] . '/' . $name . '" alt="' . $txt[$alt] . '" ' . $custom . '>';
4467
+	}
4468
+	}
4213 4469
 
4214 4470
 /**
4215 4471
  * Sets up all of the top menu buttons
@@ -4252,9 +4508,10 @@  discard block
 block discarded – undo
4252 4508
 	var user_menus = new smc_PopupMenu();
4253 4509
 	user_menus.add("profile", "' . $scripturl . '?action=profile;area=popup");
4254 4510
 	user_menus.add("alerts", "' . $scripturl . '?action=profile;area=alerts_popup;u='. $context['user']['id'] .'");', true);
4255
-		if ($context['allow_pm'])
4256
-			addInlineJavaScript('
4511
+		if ($context['allow_pm']) {
4512
+					addInlineJavaScript('
4257 4513
 	user_menus.add("pm", "' . $scripturl . '?action=pm;sa=popup");', true);
4514
+		}
4258 4515
 
4259 4516
 		if (!empty($modSettings['enable_ajax_alerts']))
4260 4517
 		{
@@ -4414,88 +4671,96 @@  discard block
 block discarded – undo
4414 4671
 
4415 4672
 		// Now we put the buttons in the context so the theme can use them.
4416 4673
 		$menu_buttons = array();
4417
-		foreach ($buttons as $act => $button)
4418
-			if (!empty($button['show']))
4674
+		foreach ($buttons as $act => $button) {
4675
+					if (!empty($button['show']))
4419 4676
 			{
4420 4677
 				$button['active_button'] = false;
4678
+		}
4421 4679
 
4422 4680
 				// This button needs some action.
4423
-				if (isset($button['action_hook']))
4424
-					$needs_action_hook = true;
4681
+				if (isset($button['action_hook'])) {
4682
+									$needs_action_hook = true;
4683
+				}
4425 4684
 
4426 4685
 				// Make sure the last button truly is the last button.
4427 4686
 				if (!empty($button['is_last']))
4428 4687
 				{
4429
-					if (isset($last_button))
4430
-						unset($menu_buttons[$last_button]['is_last']);
4688
+					if (isset($last_button)) {
4689
+											unset($menu_buttons[$last_button]['is_last']);
4690
+					}
4431 4691
 					$last_button = $act;
4432 4692
 				}
4433 4693
 
4434 4694
 				// Go through the sub buttons if there are any.
4435
-				if (!empty($button['sub_buttons']))
4436
-					foreach ($button['sub_buttons'] as $key => $subbutton)
4695
+				if (!empty($button['sub_buttons'])) {
4696
+									foreach ($button['sub_buttons'] as $key => $subbutton)
4437 4697
 					{
4438 4698
 						if (empty($subbutton['show']))
4439 4699
 							unset($button['sub_buttons'][$key]);
4700
+				}
4440 4701
 
4441 4702
 						// 2nd level sub buttons next...
4442 4703
 						if (!empty($subbutton['sub_buttons']))
4443 4704
 						{
4444 4705
 							foreach ($subbutton['sub_buttons'] as $key2 => $sub_button2)
4445 4706
 							{
4446
-								if (empty($sub_button2['show']))
4447
-									unset($button['sub_buttons'][$key]['sub_buttons'][$key2]);
4707
+								if (empty($sub_button2['show'])) {
4708
+																	unset($button['sub_buttons'][$key]['sub_buttons'][$key2]);
4709
+								}
4448 4710
 							}
4449 4711
 						}
4450 4712
 					}
4451 4713
 
4452 4714
 				// Does this button have its own icon?
4453
-				if (isset($button['icon']) && file_exists($settings['theme_dir'] . '/images/' . $button['icon']))
4454
-					$button['icon'] = '<img src="' . $settings['images_url'] . '/' . $button['icon'] . '" alt="">';
4455
-				elseif (isset($button['icon']) && file_exists($settings['default_theme_dir'] . '/images/' . $button['icon']))
4456
-					$button['icon'] = '<img src="' . $settings['default_images_url'] . '/' . $button['icon'] . '" alt="">';
4457
-				elseif (isset($button['icon']))
4458
-					$button['icon'] = '<span class="generic_icons ' . $button['icon'] . '"></span>';
4459
-				else
4460
-					$button['icon'] = '<span class="generic_icons ' . $act . '"></span>';
4715
+				if (isset($button['icon']) && file_exists($settings['theme_dir'] . '/images/' . $button['icon'])) {
4716
+									$button['icon'] = '<img src="' . $settings['images_url'] . '/' . $button['icon'] . '" alt="">';
4717
+				} elseif (isset($button['icon']) && file_exists($settings['default_theme_dir'] . '/images/' . $button['icon'])) {
4718
+									$button['icon'] = '<img src="' . $settings['default_images_url'] . '/' . $button['icon'] . '" alt="">';
4719
+				} elseif (isset($button['icon'])) {
4720
+									$button['icon'] = '<span class="generic_icons ' . $button['icon'] . '"></span>';
4721
+				} else {
4722
+									$button['icon'] = '<span class="generic_icons ' . $act . '"></span>';
4723
+				}
4461 4724
 
4462 4725
 				$menu_buttons[$act] = $button;
4463 4726
 			}
4464 4727
 
4465
-		if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2)
4466
-			cache_put_data('menu_buttons-' . implode('_', $user_info['groups']) . '-' . $user_info['language'], $menu_buttons, $cacheTime);
4728
+		if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) {
4729
+					cache_put_data('menu_buttons-' . implode('_', $user_info['groups']) . '-' . $user_info['language'], $menu_buttons, $cacheTime);
4730
+		}
4467 4731
 	}
4468 4732
 
4469 4733
 	$context['menu_buttons'] = $menu_buttons;
4470 4734
 
4471 4735
 	// Logging out requires the session id in the url.
4472
-	if (isset($context['menu_buttons']['logout']))
4473
-		$context['menu_buttons']['logout']['href'] = sprintf($context['menu_buttons']['logout']['href'], $context['session_var'], $context['session_id']);
4736
+	if (isset($context['menu_buttons']['logout'])) {
4737
+			$context['menu_buttons']['logout']['href'] = sprintf($context['menu_buttons']['logout']['href'], $context['session_var'], $context['session_id']);
4738
+	}
4474 4739
 
4475 4740
 	// Figure out which action we are doing so we can set the active tab.
4476 4741
 	// Default to home.
4477 4742
 	$current_action = 'home';
4478 4743
 
4479
-	if (isset($context['menu_buttons'][$context['current_action']]))
4480
-		$current_action = $context['current_action'];
4481
-	elseif ($context['current_action'] == 'search2')
4482
-		$current_action = 'search';
4483
-	elseif ($context['current_action'] == 'theme')
4484
-		$current_action = isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' ? 'profile' : 'admin';
4485
-	elseif ($context['current_action'] == 'register2')
4486
-		$current_action = 'register';
4487
-	elseif ($context['current_action'] == 'login2' || ($user_info['is_guest'] && $context['current_action'] == 'reminder'))
4488
-		$current_action = 'login';
4489
-	elseif ($context['current_action'] == 'groups' && $context['allow_moderation_center'])
4490
-		$current_action = 'moderate';
4744
+	if (isset($context['menu_buttons'][$context['current_action']])) {
4745
+			$current_action = $context['current_action'];
4746
+	} elseif ($context['current_action'] == 'search2') {
4747
+			$current_action = 'search';
4748
+	} elseif ($context['current_action'] == 'theme') {
4749
+			$current_action = isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' ? 'profile' : 'admin';
4750
+	} elseif ($context['current_action'] == 'register2') {
4751
+			$current_action = 'register';
4752
+	} elseif ($context['current_action'] == 'login2' || ($user_info['is_guest'] && $context['current_action'] == 'reminder')) {
4753
+			$current_action = 'login';
4754
+	} elseif ($context['current_action'] == 'groups' && $context['allow_moderation_center']) {
4755
+			$current_action = 'moderate';
4756
+	}
4491 4757
 
4492 4758
 	// There are certain exceptions to the above where we don't want anything on the menu highlighted.
4493 4759
 	if ($context['current_action'] == 'profile' && !empty($context['user']['is_owner']))
4494 4760
 	{
4495 4761
 		$current_action = !empty($_GET['area']) && $_GET['area'] == 'showalerts' ? 'self_alerts' : 'self_profile';
4496 4762
 		$context[$current_action] = true;
4497
-	}
4498
-	elseif ($context['current_action'] == 'pm')
4763
+	} elseif ($context['current_action'] == 'pm')
4499 4764
 	{
4500 4765
 		$current_action = 'self_pm';
4501 4766
 		$context['self_pm'] = true;
@@ -4552,12 +4817,14 @@  discard block
 block discarded – undo
4552 4817
 	}
4553 4818
 
4554 4819
 	// Not all actions are simple.
4555
-	if (!empty($needs_action_hook))
4556
-		call_integration_hook('integrate_current_action', array(&$current_action));
4820
+	if (!empty($needs_action_hook)) {
4821
+			call_integration_hook('integrate_current_action', array(&$current_action));
4822
+	}
4557 4823
 
4558
-	if (isset($context['menu_buttons'][$current_action]))
4559
-		$context['menu_buttons'][$current_action]['active_button'] = true;
4560
-}
4824
+	if (isset($context['menu_buttons'][$current_action])) {
4825
+			$context['menu_buttons'][$current_action]['active_button'] = true;
4826
+	}
4827
+	}
4561 4828
 
4562 4829
 /**
4563 4830
  * Generate a random seed and ensure it's stored in settings.
@@ -4581,30 +4848,35 @@  discard block
 block discarded – undo
4581 4848
 	global $modSettings, $settings, $boarddir, $sourcedir, $db_show_debug;
4582 4849
 	global $context, $txt;
4583 4850
 
4584
-	if ($db_show_debug === true)
4585
-		$context['debug']['hooks'][] = $hook;
4851
+	if ($db_show_debug === true) {
4852
+			$context['debug']['hooks'][] = $hook;
4853
+	}
4586 4854
 
4587 4855
 	// Need to have some control.
4588
-	if (!isset($context['instances']))
4589
-		$context['instances'] = array();
4856
+	if (!isset($context['instances'])) {
4857
+			$context['instances'] = array();
4858
+	}
4590 4859
 
4591 4860
 	$results = array();
4592
-	if (empty($modSettings[$hook]))
4593
-		return $results;
4861
+	if (empty($modSettings[$hook])) {
4862
+			return $results;
4863
+	}
4594 4864
 
4595 4865
 	$functions = explode(',', $modSettings[$hook]);
4596 4866
 	// Loop through each function.
4597 4867
 	foreach ($functions as $function)
4598 4868
 	{
4599 4869
 		// Hook has been marked as "disabled". Skip it!
4600
-		if (strpos($function, '!') !== false)
4601
-			continue;
4870
+		if (strpos($function, '!') !== false) {
4871
+					continue;
4872
+		}
4602 4873
 
4603 4874
 		$call = call_helper($function, true);
4604 4875
 
4605 4876
 		// Is it valid?
4606
-		if (!empty($call))
4607
-			$results[$function] = call_user_func_array($call, $parameters);
4877
+		if (!empty($call)) {
4878
+					$results[$function] = call_user_func_array($call, $parameters);
4879
+		}
4608 4880
 
4609 4881
 		// Whatever it was suppose to call, it failed :(
4610 4882
 		elseif (!empty($function))
@@ -4620,8 +4892,9 @@  discard block
 block discarded – undo
4620 4892
 			}
4621 4893
 
4622 4894
 			// "Assume" the file resides on $boarddir somewhere...
4623
-			else
4624
-				log_error(sprintf($txt['hook_fail_call_to'], $function, $boarddir), 'general');
4895
+			else {
4896
+							log_error(sprintf($txt['hook_fail_call_to'], $function, $boarddir), 'general');
4897
+			}
4625 4898
 		}
4626 4899
 	}
4627 4900
 
@@ -4643,12 +4916,14 @@  discard block
 block discarded – undo
4643 4916
 	global $smcFunc, $modSettings;
4644 4917
 
4645 4918
 	// Any objects?
4646
-	if ($object)
4647
-		$function = $function . '#';
4919
+	if ($object) {
4920
+			$function = $function . '#';
4921
+	}
4648 4922
 
4649 4923
 	// Any files  to load?
4650
-	if (!empty($file) && is_string($file))
4651
-		$function = $file . (!empty($function) ? '|' . $function : '');
4924
+	if (!empty($file) && is_string($file)) {
4925
+			$function = $file . (!empty($function) ? '|' . $function : '');
4926
+	}
4652 4927
 
4653 4928
 	// Get the correct string.
4654 4929
 	$integration_call = $function;
@@ -4670,13 +4945,14 @@  discard block
 block discarded – undo
4670 4945
 		if (!empty($current_functions))
4671 4946
 		{
4672 4947
 			$current_functions = explode(',', $current_functions);
4673
-			if (in_array($integration_call, $current_functions))
4674
-				return;
4948
+			if (in_array($integration_call, $current_functions)) {
4949
+							return;
4950
+			}
4675 4951
 
4676 4952
 			$permanent_functions = array_merge($current_functions, array($integration_call));
4953
+		} else {
4954
+					$permanent_functions = array($integration_call);
4677 4955
 		}
4678
-		else
4679
-			$permanent_functions = array($integration_call);
4680 4956
 
4681 4957
 		updateSettings(array($hook => implode(',', $permanent_functions)));
4682 4958
 	}
@@ -4685,8 +4961,9 @@  discard block
 block discarded – undo
4685 4961
 	$functions = empty($modSettings[$hook]) ? array() : explode(',', $modSettings[$hook]);
4686 4962
 
4687 4963
 	// Do nothing, if it's already there.
4688
-	if (in_array($integration_call, $functions))
4689
-		return;
4964
+	if (in_array($integration_call, $functions)) {
4965
+			return;
4966
+	}
4690 4967
 
4691 4968
 	$functions[] = $integration_call;
4692 4969
 	$modSettings[$hook] = implode(',', $functions);
@@ -4709,12 +4986,14 @@  discard block
 block discarded – undo
4709 4986
 	global $smcFunc, $modSettings;
4710 4987
 
4711 4988
 	// Any objects?
4712
-	if ($object)
4713
-		$function = $function . '#';
4989
+	if ($object) {
4990
+			$function = $function . '#';
4991
+	}
4714 4992
 
4715 4993
 	// Any files  to load?
4716
-	if (!empty($file) && is_string($file))
4717
-		$function = $file . '|' . $function;
4994
+	if (!empty($file) && is_string($file)) {
4995
+			$function = $file . '|' . $function;
4996
+	}
4718 4997
 
4719 4998
 	// Get the correct string.
4720 4999
 	$integration_call = $function;
@@ -4735,16 +5014,18 @@  discard block
 block discarded – undo
4735 5014
 	{
4736 5015
 		$current_functions = explode(',', $current_functions);
4737 5016
 
4738
-		if (in_array($integration_call, $current_functions))
4739
-			updateSettings(array($hook => implode(',', array_diff($current_functions, array($integration_call)))));
5017
+		if (in_array($integration_call, $current_functions)) {
5018
+					updateSettings(array($hook => implode(',', array_diff($current_functions, array($integration_call)))));
5019
+		}
4740 5020
 	}
4741 5021
 
4742 5022
 	// Turn the function list into something usable.
4743 5023
 	$functions = empty($modSettings[$hook]) ? array() : explode(',', $modSettings[$hook]);
4744 5024
 
4745 5025
 	// You can only remove it if it's available.
4746
-	if (!in_array($integration_call, $functions))
4747
-		return;
5026
+	if (!in_array($integration_call, $functions)) {
5027
+			return;
5028
+	}
4748 5029
 
4749 5030
 	$functions = array_diff($functions, array($integration_call));
4750 5031
 	$modSettings[$hook] = implode(',', $functions);
@@ -4765,17 +5046,20 @@  discard block
 block discarded – undo
4765 5046
 	global $context, $smcFunc, $txt, $db_show_debug;
4766 5047
 
4767 5048
 	// Really?
4768
-	if (empty($string))
4769
-		return false;
5049
+	if (empty($string)) {
5050
+			return false;
5051
+	}
4770 5052
 
4771 5053
 	// An array? should be a "callable" array IE array(object/class, valid_callable).
4772 5054
 	// A closure? should be a callable one.
4773
-	if (is_array($string) || $string instanceof Closure)
4774
-		return $return ? $string : (is_callable($string) ? call_user_func($string) : false);
5055
+	if (is_array($string) || $string instanceof Closure) {
5056
+			return $return ? $string : (is_callable($string) ? call_user_func($string) : false);
5057
+	}
4775 5058
 
4776 5059
 	// No full objects, sorry! pass a method or a property instead!
4777
-	if (is_object($string))
4778
-		return false;
5060
+	if (is_object($string)) {
5061
+			return false;
5062
+	}
4779 5063
 
4780 5064
 	// Stay vitaminized my friends...
4781 5065
 	$string = $smcFunc['htmlspecialchars']($smcFunc['htmltrim']($string));
@@ -4784,8 +5068,9 @@  discard block
 block discarded – undo
4784 5068
 	$string = load_file($string);
4785 5069
 
4786 5070
 	// Loaded file failed
4787
-	if (empty($string))
4788
-		return false;
5071
+	if (empty($string)) {
5072
+			return false;
5073
+	}
4789 5074
 
4790 5075
 	// Found a method.
4791 5076
 	if (strpos($string, '::') !== false)
@@ -4806,8 +5091,9 @@  discard block
 block discarded – undo
4806 5091
 				// Add another one to the list.
4807 5092
 				if ($db_show_debug === true)
4808 5093
 				{
4809
-					if (!isset($context['debug']['instances']))
4810
-						$context['debug']['instances'] = array();
5094
+					if (!isset($context['debug']['instances'])) {
5095
+											$context['debug']['instances'] = array();
5096
+					}
4811 5097
 
4812 5098
 					$context['debug']['instances'][$class] = $class;
4813 5099
 				}
@@ -4817,13 +5103,15 @@  discard block
 block discarded – undo
4817 5103
 		}
4818 5104
 
4819 5105
 		// Right then. This is a call to a static method.
4820
-		else
4821
-			$func = array($class, $method);
5106
+		else {
5107
+					$func = array($class, $method);
5108
+		}
4822 5109
 	}
4823 5110
 
4824 5111
 	// Nope! just a plain regular function.
4825
-	else
4826
-		$func = $string;
5112
+	else {
5113
+			$func = $string;
5114
+	}
4827 5115
 
4828 5116
 	// Right, we got what we need, time to do some checks.
4829 5117
 	if (!is_callable($func, false, $callable_name))
@@ -4839,17 +5127,18 @@  discard block
 block discarded – undo
4839 5127
 	else
4840 5128
 	{
4841 5129
 		// What are we gonna do about it?
4842
-		if ($return)
4843
-			return $func;
5130
+		if ($return) {
5131
+					return $func;
5132
+		}
4844 5133
 
4845 5134
 		// If this is a plain function, avoid the heat of calling call_user_func().
4846 5135
 		else
4847 5136
 		{
4848
-			if (is_array($func))
4849
-				call_user_func($func);
4850
-
4851
-			else
4852
-				$func();
5137
+			if (is_array($func)) {
5138
+							call_user_func($func);
5139
+			} else {
5140
+							$func();
5141
+			}
4853 5142
 		}
4854 5143
 	}
4855 5144
 }
@@ -4866,31 +5155,34 @@  discard block
 block discarded – undo
4866 5155
 {
4867 5156
 	global $sourcedir, $txt, $boarddir, $settings;
4868 5157
 
4869
-	if (empty($string))
4870
-		return false;
5158
+	if (empty($string)) {
5159
+			return false;
5160
+	}
4871 5161
 
4872 5162
 	if (strpos($string, '|') !== false)
4873 5163
 	{
4874 5164
 		list ($file, $string) = explode('|', $string);
4875 5165
 
4876 5166
 		// Match the wildcards to their regular vars.
4877
-		if (empty($settings['theme_dir']))
4878
-			$absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir));
4879
-
4880
-		else
4881
-			$absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir, '$themedir' => $settings['theme_dir']));
5167
+		if (empty($settings['theme_dir'])) {
5168
+					$absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir));
5169
+		} else {
5170
+					$absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir, '$themedir' => $settings['theme_dir']));
5171
+		}
4882 5172
 
4883 5173
 		// Load the file if it can be loaded.
4884
-		if (file_exists($absPath))
4885
-			require_once($absPath);
5174
+		if (file_exists($absPath)) {
5175
+					require_once($absPath);
5176
+		}
4886 5177
 
4887 5178
 		// No? try a fallback to $sourcedir
4888 5179
 		else
4889 5180
 		{
4890 5181
 			$absPath = $sourcedir .'/'. $file;
4891 5182
 
4892
-			if (file_exists($absPath))
4893
-				require_once($absPath);
5183
+			if (file_exists($absPath)) {
5184
+							require_once($absPath);
5185
+			}
4894 5186
 
4895 5187
 			// Sorry, can't do much for you at this point.
4896 5188
 			else
@@ -4929,8 +5221,9 @@  discard block
 block discarded – undo
4929 5221
 	preg_match('~^(http|ftp)(s)?://([^/:]+)(:(\d+))?(.+)$~', $url, $match);
4930 5222
 
4931 5223
 	// No scheme? No data for you!
4932
-	if (empty($match[1]))
4933
-		return false;
5224
+	if (empty($match[1])) {
5225
+			return false;
5226
+	}
4934 5227
 
4935 5228
 	// An FTP url. We should try connecting and RETRieving it...
4936 5229
 	elseif ($match[1] == 'ftp')
@@ -4940,23 +5233,26 @@  discard block
 block discarded – undo
4940 5233
 
4941 5234
 		// Establish a connection and attempt to enable passive mode.
4942 5235
 		$ftp = new ftp_connection(($match[2] ? 'ssl://' : '') . $match[3], empty($match[5]) ? 21 : $match[5], 'anonymous', $webmaster_email);
4943
-		if ($ftp->error !== false || !$ftp->passive())
4944
-			return false;
5236
+		if ($ftp->error !== false || !$ftp->passive()) {
5237
+					return false;
5238
+		}
4945 5239
 
4946 5240
 		// I want that one *points*!
4947 5241
 		fwrite($ftp->connection, 'RETR ' . $match[6] . "\r\n");
4948 5242
 
4949 5243
 		// Since passive mode worked (or we would have returned already!) open the connection.
4950 5244
 		$fp = @fsockopen($ftp->pasv['ip'], $ftp->pasv['port'], $err, $err, 5);
4951
-		if (!$fp)
4952
-			return false;
5245
+		if (!$fp) {
5246
+					return false;
5247
+		}
4953 5248
 
4954 5249
 		// The server should now say something in acknowledgement.
4955 5250
 		$ftp->check_response(150);
4956 5251
 
4957 5252
 		$data = '';
4958
-		while (!feof($fp))
4959
-			$data .= fread($fp, 4096);
5253
+		while (!feof($fp)) {
5254
+					$data .= fread($fp, 4096);
5255
+		}
4960 5256
 		fclose($fp);
4961 5257
 
4962 5258
 		// All done, right?  Good.
@@ -4968,8 +5264,9 @@  discard block
 block discarded – undo
4968 5264
 	elseif (isset($match[1]) && $match[1] == 'http')
4969 5265
 	{
4970 5266
 		// First try to use fsockopen, because it is fastest.
4971
-		if ($keep_alive && $match[3] == $keep_alive_dom)
4972
-			$fp = $keep_alive_fp;
5267
+		if ($keep_alive && $match[3] == $keep_alive_dom) {
5268
+					$fp = $keep_alive_fp;
5269
+		}
4973 5270
 		if (empty($fp))
4974 5271
 		{
4975 5272
 			// Open the socket on the port we want...
@@ -4989,20 +5286,21 @@  discard block
 block discarded – undo
4989 5286
 				fwrite($fp, 'GET ' . ($match[6] !== '/' ? str_replace(' ', '%20', $match[6]) : '') . ' HTTP/1.0' . "\r\n");
4990 5287
 				fwrite($fp, 'Host: ' . $match[3] . (empty($match[5]) ? ($match[2] ? ':443' : '') : ':' . $match[5]) . "\r\n");
4991 5288
 				fwrite($fp, 'user-agent: PHP/SMF' . "\r\n");
4992
-				if ($keep_alive)
4993
-					fwrite($fp, 'connection: Keep-Alive' . "\r\n\r\n");
4994
-				else
4995
-					fwrite($fp, 'connection: close' . "\r\n\r\n");
4996
-			}
4997
-			else
5289
+				if ($keep_alive) {
5290
+									fwrite($fp, 'connection: Keep-Alive' . "\r\n\r\n");
5291
+				} else {
5292
+									fwrite($fp, 'connection: close' . "\r\n\r\n");
5293
+				}
5294
+			} else
4998 5295
 			{
4999 5296
 				fwrite($fp, 'POST ' . ($match[6] !== '/' ? $match[6] : '') . ' HTTP/1.0' . "\r\n");
5000 5297
 				fwrite($fp, 'Host: ' . $match[3] . (empty($match[5]) ? ($match[2] ? ':443' : '') : ':' . $match[5]) . "\r\n");
5001 5298
 				fwrite($fp, 'user-agent: PHP/SMF' . "\r\n");
5002
-				if ($keep_alive)
5003
-					fwrite($fp, 'connection: Keep-Alive' . "\r\n");
5004
-				else
5005
-					fwrite($fp, 'connection: close' . "\r\n");
5299
+				if ($keep_alive) {
5300
+									fwrite($fp, 'connection: Keep-Alive' . "\r\n");
5301
+				} else {
5302
+									fwrite($fp, 'connection: close' . "\r\n");
5303
+				}
5006 5304
 				fwrite($fp, 'content-type: application/x-www-form-urlencoded' . "\r\n");
5007 5305
 				fwrite($fp, 'content-length: ' . strlen($post_data) . "\r\n\r\n");
5008 5306
 				fwrite($fp, $post_data);
@@ -5015,30 +5313,33 @@  discard block
 block discarded – undo
5015 5313
 			{
5016 5314
 				$header = '';
5017 5315
 				$location = '';
5018
-				while (!feof($fp) && trim($header = fgets($fp, 4096)) != '')
5019
-					if (strpos($header, 'location:') !== false)
5316
+				while (!feof($fp) && trim($header = fgets($fp, 4096)) != '') {
5317
+									if (strpos($header, 'location:') !== false)
5020 5318
 						$location = trim(substr($header, strpos($header, ':') + 1));
5319
+				}
5021 5320
 
5022
-				if (empty($location))
5023
-					return false;
5024
-				else
5321
+				if (empty($location)) {
5322
+									return false;
5323
+				} else
5025 5324
 				{
5026
-					if (!$keep_alive)
5027
-						fclose($fp);
5325
+					if (!$keep_alive) {
5326
+											fclose($fp);
5327
+					}
5028 5328
 					return fetch_web_data($location, $post_data, $keep_alive, $redirection_level + 1);
5029 5329
 				}
5030 5330
 			}
5031 5331
 
5032 5332
 			// Make sure we get a 200 OK.
5033
-			elseif (preg_match('~^HTTP/\S+\s+20[01]~i', $response) === 0)
5034
-				return false;
5333
+			elseif (preg_match('~^HTTP/\S+\s+20[01]~i', $response) === 0) {
5334
+							return false;
5335
+			}
5035 5336
 
5036 5337
 			// Skip the headers...
5037 5338
 			while (!feof($fp) && trim($header = fgets($fp, 4096)) != '')
5038 5339
 			{
5039
-				if (preg_match('~content-length:\s*(\d+)~i', $header, $match) != 0)
5040
-					$content_length = $match[1];
5041
-				elseif (preg_match('~connection:\s*close~i', $header) != 0)
5340
+				if (preg_match('~content-length:\s*(\d+)~i', $header, $match) != 0) {
5341
+									$content_length = $match[1];
5342
+				} elseif (preg_match('~connection:\s*close~i', $header) != 0)
5042 5343
 				{
5043 5344
 					$keep_alive_dom = null;
5044 5345
 					$keep_alive = false;
@@ -5050,17 +5351,19 @@  discard block
 block discarded – undo
5050 5351
 			$data = '';
5051 5352
 			if (isset($content_length))
5052 5353
 			{
5053
-				while (!feof($fp) && strlen($data) < $content_length)
5054
-					$data .= fread($fp, $content_length - strlen($data));
5055
-			}
5056
-			else
5354
+				while (!feof($fp) && strlen($data) < $content_length) {
5355
+									$data .= fread($fp, $content_length - strlen($data));
5356
+				}
5357
+			} else
5057 5358
 			{
5058
-				while (!feof($fp))
5059
-					$data .= fread($fp, 4096);
5359
+				while (!feof($fp)) {
5360
+									$data .= fread($fp, 4096);
5361
+				}
5060 5362
 			}
5061 5363
 
5062
-			if (!$keep_alive)
5063
-				fclose($fp);
5364
+			if (!$keep_alive) {
5365
+							fclose($fp);
5366
+			}
5064 5367
 		}
5065 5368
 
5066 5369
 		// If using fsockopen didn't work, try to use cURL if available.
@@ -5073,17 +5376,18 @@  discard block
 block discarded – undo
5073 5376
 			$fetch_data->get_url_data($url, $post_data);
5074 5377
 
5075 5378
 			// no errors and a 200 result, then we have a good dataset, well we at least have data. ;)
5076
-			if ($fetch_data->result('code') == 200 && !$fetch_data->result('error'))
5077
-				$data = $fetch_data->result('body');
5078
-			else
5079
-				return false;
5379
+			if ($fetch_data->result('code') == 200 && !$fetch_data->result('error')) {
5380
+							$data = $fetch_data->result('body');
5381
+			} else {
5382
+							return false;
5383
+			}
5080 5384
 		}
5081 5385
 
5082 5386
 		// Neither fsockopen nor curl are available. Well, phooey.
5083
-		else
5084
-			return false;
5085
-	}
5086
-	else
5387
+		else {
5388
+					return false;
5389
+		}
5390
+	} else
5087 5391
 	{
5088 5392
 		// Umm, this shouldn't happen?
5089 5393
 		trigger_error('fetch_web_data(): Bad URL', E_USER_NOTICE);
@@ -5103,8 +5407,9 @@  discard block
 block discarded – undo
5103 5407
 	global $user_info, $smcFunc;
5104 5408
 
5105 5409
 	// Make sure we have something to work with.
5106
-	if (empty($topic))
5107
-		return array();
5410
+	if (empty($topic)) {
5411
+			return array();
5412
+	}
5108 5413
 
5109 5414
 
5110 5415
 	// We already know the number of likes per message, we just want to know whether the current user liked it or not.
@@ -5127,8 +5432,9 @@  discard block
 block discarded – undo
5127 5432
 				'topic' => $topic,
5128 5433
 			)
5129 5434
 		);
5130
-		while ($row = $smcFunc['db_fetch_assoc']($request))
5131
-			$temp[] = (int) $row['content_id'];
5435
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
5436
+					$temp[] = (int) $row['content_id'];
5437
+		}
5132 5438
 
5133 5439
 		cache_put_data($cache_key, $temp, $ttl);
5134 5440
 	}
@@ -5149,8 +5455,9 @@  discard block
 block discarded – undo
5149 5455
 {
5150 5456
 	global $context;
5151 5457
 
5152
-	if (empty($string))
5153
-		return $string;
5458
+	if (empty($string)) {
5459
+			return $string;
5460
+	}
5154 5461
 
5155 5462
 	// UTF-8 occurences of MS special characters
5156 5463
 	$findchars_utf8 = array(
@@ -5191,10 +5498,11 @@  discard block
 block discarded – undo
5191 5498
 		'--',	// &mdash;
5192 5499
 	);
5193 5500
 
5194
-	if ($context['utf8'])
5195
-		$string = str_replace($findchars_utf8, $replacechars, $string);
5196
-	else
5197
-		$string = str_replace($findchars_iso, $replacechars, $string);
5501
+	if ($context['utf8']) {
5502
+			$string = str_replace($findchars_utf8, $replacechars, $string);
5503
+	} else {
5504
+			$string = str_replace($findchars_iso, $replacechars, $string);
5505
+	}
5198 5506
 
5199 5507
 	return $string;
5200 5508
 }
@@ -5213,49 +5521,59 @@  discard block
 block discarded – undo
5213 5521
 {
5214 5522
 	global $context;
5215 5523
 
5216
-	if (!isset($matches[2]))
5217
-		return '';
5524
+	if (!isset($matches[2])) {
5525
+			return '';
5526
+	}
5218 5527
 
5219 5528
 	$num = $matches[2][0] === 'x' ? hexdec(substr($matches[2], 1)) : (int) $matches[2];
5220 5529
 
5221 5530
 	// remove left to right / right to left overrides
5222
-	if ($num === 0x202D || $num === 0x202E)
5223
-		return '';
5531
+	if ($num === 0x202D || $num === 0x202E) {
5532
+			return '';
5533
+	}
5224 5534
 
5225 5535
 	// Quote, Ampersand, Apostrophe, Less/Greater Than get html replaced
5226
-	if (in_array($num, array(0x22, 0x26, 0x27, 0x3C, 0x3E)))
5227
-		return '&#' . $num . ';';
5536
+	if (in_array($num, array(0x22, 0x26, 0x27, 0x3C, 0x3E))) {
5537
+			return '&#' . $num . ';';
5538
+	}
5228 5539
 
5229 5540
 	if (empty($context['utf8']))
5230 5541
 	{
5231 5542
 		// no control characters
5232
-		if ($num < 0x20)
5233
-			return '';
5543
+		if ($num < 0x20) {
5544
+					return '';
5545
+		}
5234 5546
 		// text is text
5235
-		elseif ($num < 0x80)
5236
-			return chr($num);
5547
+		elseif ($num < 0x80) {
5548
+					return chr($num);
5549
+		}
5237 5550
 		// all others get html-ised
5238
-		else
5239
-			return '&#' . $matches[2] . ';';
5240
-	}
5241
-	else
5551
+		else {
5552
+					return '&#' . $matches[2] . ';';
5553
+		}
5554
+	} else
5242 5555
 	{
5243 5556
 		// <0x20 are control characters, 0x20 is a space, > 0x10FFFF is past the end of the utf8 character set
5244 5557
 		// 0xD800 >= $num <= 0xDFFF are surrogate markers (not valid for utf8 text)
5245
-		if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF))
5246
-			return '';
5558
+		if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF)) {
5559
+					return '';
5560
+		}
5247 5561
 		// <0x80 (or less than 128) are standard ascii characters a-z A-Z 0-9 and punctuation
5248
-		elseif ($num < 0x80)
5249
-			return chr($num);
5562
+		elseif ($num < 0x80) {
5563
+					return chr($num);
5564
+		}
5250 5565
 		// <0x800 (2048)
5251
-		elseif ($num < 0x800)
5252
-			return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
5566
+		elseif ($num < 0x800) {
5567
+					return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
5568
+		}
5253 5569
 		// < 0x10000 (65536)
5254
-		elseif ($num < 0x10000)
5255
-			return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5570
+		elseif ($num < 0x10000) {
5571
+					return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5572
+		}
5256 5573
 		// <= 0x10FFFF (1114111)
5257
-		else
5258
-			return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5574
+		else {
5575
+					return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5576
+		}
5259 5577
 	}
5260 5578
 }
5261 5579
 
@@ -5271,28 +5589,34 @@  discard block
 block discarded – undo
5271 5589
  */
5272 5590
 function fixchar__callback($matches)
5273 5591
 {
5274
-	if (!isset($matches[1]))
5275
-		return '';
5592
+	if (!isset($matches[1])) {
5593
+			return '';
5594
+	}
5276 5595
 
5277 5596
 	$num = $matches[1][0] === 'x' ? hexdec(substr($matches[1], 1)) : (int) $matches[1];
5278 5597
 
5279 5598
 	// <0x20 are control characters, > 0x10FFFF is past the end of the utf8 character set
5280 5599
 	// 0xD800 >= $num <= 0xDFFF are surrogate markers (not valid for utf8 text), 0x202D-E are left to right overrides
5281
-	if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num === 0x202D || $num === 0x202E)
5282
-		return '';
5600
+	if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num === 0x202D || $num === 0x202E) {
5601
+			return '';
5602
+	}
5283 5603
 	// <0x80 (or less than 128) are standard ascii characters a-z A-Z 0-9 and punctuation
5284
-	elseif ($num < 0x80)
5285
-		return chr($num);
5604
+	elseif ($num < 0x80) {
5605
+			return chr($num);
5606
+	}
5286 5607
 	// <0x800 (2048)
5287
-	elseif ($num < 0x800)
5288
-		return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
5608
+	elseif ($num < 0x800) {
5609
+			return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
5610
+	}
5289 5611
 	// < 0x10000 (65536)
5290
-	elseif ($num < 0x10000)
5291
-		return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5612
+	elseif ($num < 0x10000) {
5613
+			return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5614
+	}
5292 5615
 	// <= 0x10FFFF (1114111)
5293
-	else
5294
-		return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5295
-}
5616
+	else {
5617
+			return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5618
+	}
5619
+	}
5296 5620
 
5297 5621
 /**
5298 5622
  * Strips out invalid html entities, replaces others with html style &#123; codes
@@ -5305,17 +5629,19 @@  discard block
 block discarded – undo
5305 5629
  */
5306 5630
 function entity_fix__callback($matches)
5307 5631
 {
5308
-	if (!isset($matches[2]))
5309
-		return '';
5632
+	if (!isset($matches[2])) {
5633
+			return '';
5634
+	}
5310 5635
 
5311 5636
 	$num = $matches[2][0] === 'x' ? hexdec(substr($matches[2], 1)) : (int) $matches[2];
5312 5637
 
5313 5638
 	// we don't allow control characters, characters out of range, byte markers, etc
5314
-	if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num == 0x202D || $num == 0x202E)
5315
-		return '';
5316
-	else
5317
-		return '&#' . $num . ';';
5318
-}
5639
+	if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num == 0x202D || $num == 0x202E) {
5640
+			return '';
5641
+	} else {
5642
+			return '&#' . $num . ';';
5643
+	}
5644
+	}
5319 5645
 
5320 5646
 /**
5321 5647
  * Return a Gravatar URL based on
@@ -5339,18 +5665,23 @@  discard block
 block discarded – undo
5339 5665
 		$ratings = array('G', 'PG', 'R', 'X');
5340 5666
 		$defaults = array('mm', 'identicon', 'monsterid', 'wavatar', 'retro', 'blank');
5341 5667
 		$url_params = array();
5342
-		if (!empty($modSettings['gravatarMaxRating']) && in_array($modSettings['gravatarMaxRating'], $ratings))
5343
-			$url_params[] = 'rating=' . $modSettings['gravatarMaxRating'];
5344
-		if (!empty($modSettings['gravatarDefault']) && in_array($modSettings['gravatarDefault'], $defaults))
5345
-			$url_params[] = 'default=' . $modSettings['gravatarDefault'];
5346
-		if (!empty($modSettings['avatar_max_width_external']))
5347
-			$size_string = (int) $modSettings['avatar_max_width_external'];
5348
-		if (!empty($modSettings['avatar_max_height_external']) && !empty($size_string))
5349
-			if ((int) $modSettings['avatar_max_height_external'] < $size_string)
5668
+		if (!empty($modSettings['gravatarMaxRating']) && in_array($modSettings['gravatarMaxRating'], $ratings)) {
5669
+					$url_params[] = 'rating=' . $modSettings['gravatarMaxRating'];
5670
+		}
5671
+		if (!empty($modSettings['gravatarDefault']) && in_array($modSettings['gravatarDefault'], $defaults)) {
5672
+					$url_params[] = 'default=' . $modSettings['gravatarDefault'];
5673
+		}
5674
+		if (!empty($modSettings['avatar_max_width_external'])) {
5675
+					$size_string = (int) $modSettings['avatar_max_width_external'];
5676
+		}
5677
+		if (!empty($modSettings['avatar_max_height_external']) && !empty($size_string)) {
5678
+					if ((int) $modSettings['avatar_max_height_external'] < $size_string)
5350 5679
 				$size_string = $modSettings['avatar_max_height_external'];
5680
+		}
5351 5681
 
5352
-		if (!empty($size_string))
5353
-			$url_params[] = 's=' . $size_string;
5682
+		if (!empty($size_string)) {
5683
+					$url_params[] = 's=' . $size_string;
5684
+		}
5354 5685
 	}
5355 5686
 	$http_method = !empty($modSettings['force_ssl']) ? 'https://secure' : 'http://www';
5356 5687
 
@@ -5369,22 +5700,26 @@  discard block
 block discarded – undo
5369 5700
 	static $timezones = null, $lastwhen = null;
5370 5701
 
5371 5702
 	// No point doing this over if we already did it once
5372
-	if (!empty($timezones) && $when == $lastwhen)
5373
-		return $timezones;
5374
-	else
5375
-		$lastwhen = $when;
5703
+	if (!empty($timezones) && $when == $lastwhen) {
5704
+			return $timezones;
5705
+	} else {
5706
+			$lastwhen = $when;
5707
+	}
5376 5708
 
5377 5709
 	// Parseable datetime string?
5378
-	if (is_int($timestamp = strtotime($when)))
5379
-		$when = $timestamp;
5710
+	if (is_int($timestamp = strtotime($when))) {
5711
+			$when = $timestamp;
5712
+	}
5380 5713
 
5381 5714
 	// A Unix timestamp?
5382
-	elseif (is_numeric($when))
5383
-		$when = intval($when);
5715
+	elseif (is_numeric($when)) {
5716
+			$when = intval($when);
5717
+	}
5384 5718
 
5385 5719
 	// Invalid value? Just get current Unix timestamp.
5386
-	else
5387
-		$when = time();
5720
+	else {
5721
+			$when = time();
5722
+	}
5388 5723
 
5389 5724
 	// We'll need these too
5390 5725
 	$date_when = date_create('@' . $when);
@@ -5399,8 +5734,9 @@  discard block
 block discarded – undo
5399 5734
 	foreach ($priority_countries as $country)
5400 5735
 	{
5401 5736
 		$country_tzids = @timezone_identifiers_list(DateTimeZone::PER_COUNTRY, strtoupper(trim($country)));
5402
-		if (!empty($country_tzids))
5403
-			$priority_tzids = array_merge($priority_tzids, $country_tzids);
5737
+		if (!empty($country_tzids)) {
5738
+					$priority_tzids = array_merge($priority_tzids, $country_tzids);
5739
+		}
5404 5740
 	}
5405 5741
 
5406 5742
 	// Antarctic research stations should be listed last, unless you're running a penguin forum
@@ -5414,8 +5750,9 @@  discard block
 block discarded – undo
5414 5750
 	foreach ($tzids as $tzid)
5415 5751
 	{
5416 5752
 		// We don't want UTC right now
5417
-		if ($tzid == 'UTC')
5418
-			continue;
5753
+		if ($tzid == 'UTC') {
5754
+					continue;
5755
+		}
5419 5756
 
5420 5757
 		$tz = timezone_open($tzid);
5421 5758
 
@@ -5436,13 +5773,14 @@  discard block
 block discarded – undo
5436 5773
 		}
5437 5774
 
5438 5775
 		// A time zone from a prioritized country?
5439
-		if (in_array($tzid, $priority_tzids))
5440
-			$priority_zones[$tzkey] = true;
5776
+		if (in_array($tzid, $priority_tzids)) {
5777
+					$priority_zones[$tzkey] = true;
5778
+		}
5441 5779
 
5442 5780
 		// Keep track of the location and offset for this tzid
5443
-		if (!empty($txt[$tzid]))
5444
-			$zones[$tzkey]['locations'][] = $txt[$tzid];
5445
-		else
5781
+		if (!empty($txt[$tzid])) {
5782
+					$zones[$tzkey]['locations'][] = $txt[$tzid];
5783
+		} else
5446 5784
 		{
5447 5785
 			$tzid_parts = explode('/', $tzid);
5448 5786
 			$zones[$tzkey]['locations'][] = str_replace(array('St_', '_'), array('St. ', ' '), array_pop($tzid_parts));
@@ -5462,23 +5800,27 @@  discard block
 block discarded – undo
5462 5800
 		date_timezone_set($date_when, timezone_open($tzvalue['tzid']));
5463 5801
 
5464 5802
 		// Use the custom description, if there is one
5465
-		if (!empty($tztxt[$tzvalue['tzid']]))
5466
-			$desc = $tztxt[$tzvalue['tzid']];
5803
+		if (!empty($tztxt[$tzvalue['tzid']])) {
5804
+					$desc = $tztxt[$tzvalue['tzid']];
5805
+		}
5467 5806
 		// Otherwise, use the list of locations (max 5, so things don't get silly)
5468
-		else
5469
-			$desc = implode(', ', array_slice(array_unique($tzvalue['locations']), 0, 5)) . (count($tzvalue['locations']) > 5 ? ', ' . $txt['etc'] : '');
5807
+		else {
5808
+					$desc = implode(', ', array_slice(array_unique($tzvalue['locations']), 0, 5)) . (count($tzvalue['locations']) > 5 ? ', ' . $txt['etc'] : '');
5809
+		}
5470 5810
 
5471 5811
 		// Show the UTC offset and the abbreviation, if it's something like 'MST' and not '-06'
5472 5812
 		$desc = '[UTC' . date_format($date_when, 'P') . '] - ' . (!strspn($tzvalue['abbr'], '+-') ? $tzvalue['abbr'] . ' - ' : '') . $desc;
5473 5813
 
5474
-		if (isset($priority_zones[$tzkey]))
5475
-			$priority_timezones[$tzvalue['tzid']] = $desc;
5476
-		else
5477
-			$timezones[$tzvalue['tzid']] = $desc;
5814
+		if (isset($priority_zones[$tzkey])) {
5815
+					$priority_timezones[$tzvalue['tzid']] = $desc;
5816
+		} else {
5817
+					$timezones[$tzvalue['tzid']] = $desc;
5818
+		}
5478 5819
 	}
5479 5820
 
5480
-	if (!empty($priority_timezones))
5481
-		$priority_timezones[] = '-----';
5821
+	if (!empty($priority_timezones)) {
5822
+			$priority_timezones[] = '-----';
5823
+	}
5482 5824
 
5483 5825
 	$timezones = array_merge(
5484 5826
 		$priority_timezones,
@@ -5495,8 +5837,9 @@  discard block
 block discarded – undo
5495 5837
  */
5496 5838
 function inet_ptod($ip_address)
5497 5839
 {
5498
-	if (!isValidIP($ip_address))
5499
-		return $ip_address;
5840
+	if (!isValidIP($ip_address)) {
5841
+			return $ip_address;
5842
+	}
5500 5843
 
5501 5844
 	$bin = inet_pton($ip_address);
5502 5845
 	return $bin;
@@ -5508,13 +5851,15 @@  discard block
 block discarded – undo
5508 5851
  */
5509 5852
 function inet_dtop($bin)
5510 5853
 {
5511
-	if(empty($bin))
5512
-		return '';
5854
+	if(empty($bin)) {
5855
+			return '';
5856
+	}
5513 5857
 
5514 5858
 	global $db_type;
5515 5859
 
5516
-	if ($db_type == 'postgresql')
5517
-		return $bin;
5860
+	if ($db_type == 'postgresql') {
5861
+			return $bin;
5862
+	}
5518 5863
 
5519 5864
 	$ip_address = inet_ntop($bin);
5520 5865
 
@@ -5539,26 +5884,32 @@  discard block
 block discarded – undo
5539 5884
  */
5540 5885
 function _safe_serialize($value)
5541 5886
 {
5542
-	if(is_null($value))
5543
-		return 'N;';
5887
+	if(is_null($value)) {
5888
+			return 'N;';
5889
+	}
5544 5890
 
5545
-	if(is_bool($value))
5546
-		return 'b:'. (int) $value .';';
5891
+	if(is_bool($value)) {
5892
+			return 'b:'. (int) $value .';';
5893
+	}
5547 5894
 
5548
-	if(is_int($value))
5549
-		return 'i:'. $value .';';
5895
+	if(is_int($value)) {
5896
+			return 'i:'. $value .';';
5897
+	}
5550 5898
 
5551
-	if(is_float($value))
5552
-		return 'd:'. str_replace(',', '.', $value) .';';
5899
+	if(is_float($value)) {
5900
+			return 'd:'. str_replace(',', '.', $value) .';';
5901
+	}
5553 5902
 
5554
-	if(is_string($value))
5555
-		return 's:'. strlen($value) .':"'. $value .'";';
5903
+	if(is_string($value)) {
5904
+			return 's:'. strlen($value) .':"'. $value .'";';
5905
+	}
5556 5906
 
5557 5907
 	if(is_array($value))
5558 5908
 	{
5559 5909
 		$out = '';
5560
-		foreach($value as $k => $v)
5561
-			$out .= _safe_serialize($k) . _safe_serialize($v);
5910
+		foreach($value as $k => $v) {
5911
+					$out .= _safe_serialize($k) . _safe_serialize($v);
5912
+		}
5562 5913
 
5563 5914
 		return 'a:'. count($value) .':{'. $out .'}';
5564 5915
 	}
@@ -5584,8 +5935,9 @@  discard block
 block discarded – undo
5584 5935
 
5585 5936
 	$out = _safe_serialize($value);
5586 5937
 
5587
-	if (isset($mbIntEnc))
5588
-		mb_internal_encoding($mbIntEnc);
5938
+	if (isset($mbIntEnc)) {
5939
+			mb_internal_encoding($mbIntEnc);
5940
+	}
5589 5941
 
5590 5942
 	return $out;
5591 5943
 }
@@ -5602,8 +5954,9 @@  discard block
 block discarded – undo
5602 5954
 function _safe_unserialize($str)
5603 5955
 {
5604 5956
 	// Input  is not a string.
5605
-	if(empty($str) || !is_string($str))
5606
-		return false;
5957
+	if(empty($str) || !is_string($str)) {
5958
+			return false;
5959
+	}
5607 5960
 
5608 5961
 	$stack = array();
5609 5962
 	$expected = array();
@@ -5619,43 +5972,38 @@  discard block
 block discarded – undo
5619 5972
 	while($state != 1)
5620 5973
 	{
5621 5974
 		$type = isset($str[0]) ? $str[0] : '';
5622
-		if($type == '}')
5623
-			$str = substr($str, 1);
5624
-
5625
-		else if($type == 'N' && $str[1] == ';')
5975
+		if($type == '}') {
5976
+					$str = substr($str, 1);
5977
+		} else if($type == 'N' && $str[1] == ';')
5626 5978
 		{
5627 5979
 			$value = null;
5628 5980
 			$str = substr($str, 2);
5629
-		}
5630
-		else if($type == 'b' && preg_match('/^b:([01]);/', $str, $matches))
5981
+		} else if($type == 'b' && preg_match('/^b:([01]);/', $str, $matches))
5631 5982
 		{
5632 5983
 			$value = $matches[1] == '1' ? true : false;
5633 5984
 			$str = substr($str, 4);
5634
-		}
5635
-		else if($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches))
5985
+		} else if($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches))
5636 5986
 		{
5637 5987
 			$value = (int)$matches[1];
5638 5988
 			$str = $matches[2];
5639
-		}
5640
-		else if($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches))
5989
+		} else if($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches))
5641 5990
 		{
5642 5991
 			$value = (float)$matches[1];
5643 5992
 			$str = $matches[3];
5644
-		}
5645
-		else if($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int)$matches[1], 2) == '";')
5993
+		} else if($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int)$matches[1], 2) == '";')
5646 5994
 		{
5647 5995
 			$value = substr($matches[2], 0, (int)$matches[1]);
5648 5996
 			$str = substr($matches[2], (int)$matches[1] + 2);
5649
-		}
5650
-		else if($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches))
5997
+		} else if($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches))
5651 5998
 		{
5652 5999
 			$expectedLength = (int)$matches[1];
5653 6000
 			$str = $matches[2];
5654 6001
 		}
5655 6002
 
5656 6003
 		// Object or unknown/malformed type.
5657
-		else
5658
-			return false;
6004
+		else {
6005
+					return false;
6006
+		}
5659 6007
 
5660 6008
 		switch($state)
5661 6009
 		{
@@ -5683,8 +6031,9 @@  discard block
 block discarded – undo
5683 6031
 				if($type == '}')
5684 6032
 				{
5685 6033
 					// Array size is less than expected.
5686
-					if(count($list) < end($expected))
5687
-						return false;
6034
+					if(count($list) < end($expected)) {
6035
+											return false;
6036
+					}
5688 6037
 
5689 6038
 					unset($list);
5690 6039
 					$list = &$stack[count($stack)-1];
@@ -5693,8 +6042,9 @@  discard block
 block discarded – undo
5693 6042
 					// Go to terminal state if we're at the end of the root array.
5694 6043
 					array_pop($expected);
5695 6044
 
5696
-					if(count($expected) == 0)
5697
-						$state = 1;
6045
+					if(count($expected) == 0) {
6046
+											$state = 1;
6047
+					}
5698 6048
 
5699 6049
 					break;
5700 6050
 				}
@@ -5702,8 +6052,9 @@  discard block
 block discarded – undo
5702 6052
 				if($type == 'i' || $type == 's')
5703 6053
 				{
5704 6054
 					// Array size exceeds expected length.
5705
-					if(count($list) >= end($expected))
5706
-						return false;
6055
+					if(count($list) >= end($expected)) {
6056
+											return false;
6057
+					}
5707 6058
 
5708 6059
 					$key = $value;
5709 6060
 					$state = 3;
@@ -5737,8 +6088,9 @@  discard block
 block discarded – undo
5737 6088
 	}
5738 6089
 
5739 6090
 	// Trailing data in input.
5740
-	if(!empty($str))
5741
-		return false;
6091
+	if(!empty($str)) {
6092
+			return false;
6093
+	}
5742 6094
 
5743 6095
 	return $data;
5744 6096
 }
@@ -5761,8 +6113,9 @@  discard block
 block discarded – undo
5761 6113
 
5762 6114
 	$out = _safe_unserialize($str);
5763 6115
 
5764
-	if (isset($mbIntEnc))
5765
-		mb_internal_encoding($mbIntEnc);
6116
+	if (isset($mbIntEnc)) {
6117
+			mb_internal_encoding($mbIntEnc);
6118
+	}
5766 6119
 
5767 6120
 	return $out;
5768 6121
 }
@@ -5777,12 +6130,14 @@  discard block
 block discarded – undo
5777 6130
 function smf_chmod($file, $value = 0)
5778 6131
 {
5779 6132
 	// No file? no checks!
5780
-	if (empty($file))
5781
-		return false;
6133
+	if (empty($file)) {
6134
+			return false;
6135
+	}
5782 6136
 
5783 6137
 	// Already writable?
5784
-	if (is_writable($file))
5785
-		return true;
6138
+	if (is_writable($file)) {
6139
+			return true;
6140
+	}
5786 6141
 
5787 6142
 	// Do we have a file or a dir?
5788 6143
 	$isDir = is_dir($file);
@@ -5798,10 +6153,9 @@  discard block
 block discarded – undo
5798 6153
 		{
5799 6154
 			$isWritable = true;
5800 6155
 			break;
6156
+		} else {
6157
+					@chmod($file, $val);
5801 6158
 		}
5802
-
5803
-		else
5804
-			@chmod($file, $val);
5805 6159
 	}
5806 6160
 
5807 6161
 	return $isWritable;
@@ -5820,8 +6174,9 @@  discard block
 block discarded – undo
5820 6174
 	global $txt;
5821 6175
 
5822 6176
 	// Come on...
5823
-	if (empty($json) || !is_string($json))
5824
-		return array();
6177
+	if (empty($json) || !is_string($json)) {
6178
+			return array();
6179
+	}
5825 6180
 
5826 6181
 	$returnArray = @json_decode($json, $returnAsArray);
5827 6182
 
@@ -5859,11 +6214,11 @@  discard block
 block discarded – undo
5859 6214
 		$jsonDebug = $jsonDebug[0];
5860 6215
 		loadLanguage('Errors');
5861 6216
 
5862
-		if (!empty($jsonDebug))
5863
-			log_error($txt['json_'. $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']);
5864
-
5865
-		else
5866
-			log_error($txt['json_'. $jsonError], 'critical');
6217
+		if (!empty($jsonDebug)) {
6218
+					log_error($txt['json_'. $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']);
6219
+		} else {
6220
+					log_error($txt['json_'. $jsonError], 'critical');
6221
+		}
5867 6222
 
5868 6223
 		// Everyone expects an array.
5869 6224
 		return array();
@@ -5897,8 +6252,9 @@  discard block
 block discarded – undo
5897 6252
 	global $db_show_debug, $modSettings;
5898 6253
 
5899 6254
 	// Defensive programming anyone?
5900
-	if (empty($data))
5901
-		return false;
6255
+	if (empty($data)) {
6256
+			return false;
6257
+	}
5902 6258
 
5903 6259
 	// Don't need extra stuff...
5904 6260
 	$db_show_debug = false;
@@ -5906,11 +6262,11 @@  discard block
 block discarded – undo
5906 6262
 	// Kill anything else.
5907 6263
 	ob_end_clean();
5908 6264
 
5909
-	if (!empty($modSettings['CompressedOutput']))
5910
-		@ob_start('ob_gzhandler');
5911
-
5912
-	else
5913
-		ob_start();
6265
+	if (!empty($modSettings['CompressedOutput'])) {
6266
+			@ob_start('ob_gzhandler');
6267
+	} else {
6268
+			ob_start();
6269
+	}
5914 6270
 
5915 6271
 	// Set the header.
5916 6272
 	header($type);
@@ -5942,8 +6298,9 @@  discard block
 block discarded – undo
5942 6298
 	static $done = false;
5943 6299
 
5944 6300
 	// If we don't need to do anything, don't
5945
-	if (!$update && $done)
5946
-		return;
6301
+	if (!$update && $done) {
6302
+			return;
6303
+	}
5947 6304
 
5948 6305
 	// Should we get a new copy of the official list of TLDs?
5949 6306
 	if ($update)
@@ -5955,8 +6312,9 @@  discard block
 block discarded – undo
5955 6312
 		// marauding bandits roaming on the surface. We don't want to waste precious electricity on
5956 6313
 		// pointlessly repeating background tasks, so we'll wait until the next regularly scheduled
5957 6314
 		// update to see if civilization has been restored.
5958
-		if ($tlds === false)
5959
-			$postapocalypticNightmare = true;
6315
+		if ($tlds === false) {
6316
+					$postapocalypticNightmare = true;
6317
+		}
5960 6318
 	}
5961 6319
 	// If we aren't updating and the regex is valid, we're done
5962 6320
 	elseif (!empty($modSettings['tld_regex']) && @preg_match('~' . $modSettings['tld_regex'] . '~', null) !== false)
@@ -5971,10 +6329,11 @@  discard block
 block discarded – undo
5971 6329
 		// Clean $tlds and convert it to an array
5972 6330
 		$tlds = array_filter(explode("\n", strtolower($tlds)), function($line) {
5973 6331
 			$line = trim($line);
5974
-			if (empty($line) || strpos($line, '#') !== false || strpos($line, ' ') !== false)
5975
-				return false;
5976
-			else
5977
-				return true;
6332
+			if (empty($line) || strpos($line, '#') !== false || strpos($line, ' ') !== false) {
6333
+							return false;
6334
+			} else {
6335
+							return true;
6336
+			}
5978 6337
 		});
5979 6338
 
5980 6339
 		// Convert Punycode to Unicode
@@ -6066,8 +6425,7 @@  discard block
 block discarded – undo
6066 6425
 
6067 6426
 		$strlen = 'mb_strlen';
6068 6427
 		$substr = 'mb_substr';
6069
-	}
6070
-	else
6428
+	} else
6071 6429
 	{
6072 6430
 		$strlen = $smcFunc['strlen'];
6073 6431
 		$substr = $smcFunc['substr'];
@@ -6081,20 +6439,21 @@  discard block
 block discarded – undo
6081 6439
 
6082 6440
 		$first = $substr($string, 0, 1);
6083 6441
 
6084
-		if (empty($index[$first]))
6085
-			$index[$first] = array();
6442
+		if (empty($index[$first])) {
6443
+					$index[$first] = array();
6444
+		}
6086 6445
 
6087 6446
 		if ($strlen($string) > 1)
6088 6447
 		{
6089 6448
 			// Sanity check on recursion
6090
-			if ($depth > 99)
6091
-				$index[$first][$substr($string, 1)] = '';
6092
-
6093
-			else
6094
-				$index[$first] = $add_string_to_index($substr($string, 1), $index[$first]);
6449
+			if ($depth > 99) {
6450
+							$index[$first][$substr($string, 1)] = '';
6451
+			} else {
6452
+							$index[$first] = $add_string_to_index($substr($string, 1), $index[$first]);
6453
+			}
6454
+		} else {
6455
+					$index[$first][''] = '';
6095 6456
 		}
6096
-		else
6097
-			$index[$first][''] = '';
6098 6457
 
6099 6458
 		$depth--;
6100 6459
 		return $index;
@@ -6117,9 +6476,9 @@  discard block
 block discarded – undo
6117 6476
 			$key_regex = preg_quote($key, $delim);
6118 6477
 			$new_key = $key;
6119 6478
 
6120
-			if (empty($value))
6121
-				$sub_regex = '';
6122
-			else
6479
+			if (empty($value)) {
6480
+							$sub_regex = '';
6481
+			} else
6123 6482
 			{
6124 6483
 				$sub_regex = $index_to_regex($value, $delim);
6125 6484
 
@@ -6127,22 +6486,22 @@  discard block
 block discarded – undo
6127 6486
 				{
6128 6487
 					$new_key_array = explode('(?'.'>', $sub_regex);
6129 6488
 					$new_key .= $new_key_array[0];
6489
+				} else {
6490
+									$sub_regex = '(?'.'>' . $sub_regex . ')';
6130 6491
 				}
6131
-				else
6132
-					$sub_regex = '(?'.'>' . $sub_regex . ')';
6133 6492
 			}
6134 6493
 
6135
-			if ($depth > 1)
6136
-				$regex[$new_key] = $key_regex . $sub_regex;
6137
-			else
6494
+			if ($depth > 1) {
6495
+							$regex[$new_key] = $key_regex . $sub_regex;
6496
+			} else
6138 6497
 			{
6139 6498
 				if (($length += strlen($key_regex) + 1) < $max_length || empty($regex))
6140 6499
 				{
6141 6500
 					$regex[$new_key] = $key_regex . $sub_regex;
6142 6501
 					unset($index[$key]);
6502
+				} else {
6503
+									break;
6143 6504
 				}
6144
-				else
6145
-					break;
6146 6505
 			}
6147 6506
 		}
6148 6507
 
@@ -6151,10 +6510,11 @@  discard block
 block discarded – undo
6151 6510
 			$l1 = $strlen($k1);
6152 6511
 			$l2 = $strlen($k2);
6153 6512
 
6154
-			if ($l1 == $l2)
6155
-				return strcmp($k1, $k2) > 0 ? 1 : -1;
6156
-			else
6157
-				return $l1 > $l2 ? -1 : 1;
6513
+			if ($l1 == $l2) {
6514
+							return strcmp($k1, $k2) > 0 ? 1 : -1;
6515
+			} else {
6516
+							return $l1 > $l2 ? -1 : 1;
6517
+			}
6158 6518
 		});
6159 6519
 
6160 6520
 		$depth--;
@@ -6165,21 +6525,24 @@  discard block
 block discarded – undo
6165 6525
 	$index = array();
6166 6526
 	$regex = '';
6167 6527
 
6168
-	foreach ($strings as $string)
6169
-		$index = $add_string_to_index($string, $index);
6528
+	foreach ($strings as $string) {
6529
+			$index = $add_string_to_index($string, $index);
6530
+	}
6170 6531
 
6171 6532
 	if ($returnArray === true)
6172 6533
 	{
6173 6534
 		$regex = array();
6174
-		while (!empty($index))
6175
-			$regex[] = '(?'.'>' . $index_to_regex($index, $delim) . ')';
6535
+		while (!empty($index)) {
6536
+					$regex[] = '(?'.'>' . $index_to_regex($index, $delim) . ')';
6537
+		}
6538
+	} else {
6539
+			$regex = '(?'.'>' . $index_to_regex($index, $delim) . ')';
6176 6540
 	}
6177
-	else
6178
-		$regex = '(?'.'>' . $index_to_regex($index, $delim) . ')';
6179 6541
 
6180 6542
 	// Restore PHP's internal character encoding to whatever it was originally
6181
-	if (!empty($current_encoding))
6182
-		mb_internal_encoding($current_encoding);
6543
+	if (!empty($current_encoding)) {
6544
+			mb_internal_encoding($current_encoding);
6545
+	}
6183 6546
 
6184 6547
 	return $regex;
6185 6548
 }
@@ -6222,13 +6585,15 @@  discard block
 block discarded – undo
6222 6585
 	// Need to add the trailing slash, or it puts it there & thinks there's a redirect when there isn't...
6223 6586
 	$url = str_ireplace('https://', 'http://', $url) . '/';
6224 6587
 	$headers = @get_headers($url);
6225
-	if ($headers === false)
6226
-		return false;
6588
+	if ($headers === false) {
6589
+			return false;
6590
+	}
6227 6591
 
6228 6592
 	// Now to see if it came back https...
6229 6593
 	// First check for a redirect status code in first row (301, 302, 307)
6230
-	if (strstr($headers[0], '301') === false && strstr($headers[0], '302') === false && strstr($headers[0], '307') === false)
6231
-		return false;
6594
+	if (strstr($headers[0], '301') === false && strstr($headers[0], '302') === false && strstr($headers[0], '307') === false) {
6595
+			return false;
6596
+	}
6232 6597
 
6233 6598
 	// Search for the location entry to confirm https
6234 6599
 	$result = false;
@@ -6267,8 +6632,7 @@  discard block
 block discarded – undo
6267 6632
 		$is_admin = $user_info['is_admin'];
6268 6633
 		$mod_cache = !empty($user_info['mod_cache']) ? $user_info['mod_cache'] : null;
6269 6634
 		$ignoreboards = !empty($user_info['ignoreboards']) ? $user_info['ignoreboards'] : null;
6270
-	}
6271
-	else
6635
+	} else
6272 6636
 	{
6273 6637
 		$request = $smcFunc['db_query']('', '
6274 6638
 				SELECT mem.ignore_boards, mem.id_group, mem.additional_groups, mem.id_post_group
@@ -6282,17 +6646,19 @@  discard block
 block discarded – undo
6282 6646
 
6283 6647
 		$row = $smcFunc['db_fetch_assoc']($request);
6284 6648
 
6285
-		if (empty($row['additional_groups']))
6286
-			$groups = array($row['id_group'], $row['id_post_group']);
6287
-		else
6288
-			$groups = array_merge(
6649
+		if (empty($row['additional_groups'])) {
6650
+					$groups = array($row['id_group'], $row['id_post_group']);
6651
+		} else {
6652
+					$groups = array_merge(
6289 6653
 					array($row['id_group'], $row['id_post_group']),
6290 6654
 					explode(',', $row['additional_groups'])
6291 6655
 			);
6656
+		}
6292 6657
 
6293 6658
 		// Because history has proven that it is possible for groups to go bad - clean up in case.
6294
-		foreach ($groups as $k => $v)
6295
-			$groups[$k] = (int) $v;
6659
+		foreach ($groups as $k => $v) {
6660
+					$groups[$k] = (int) $v;
6661
+		}
6296 6662
 
6297 6663
 		$is_admin = in_array(1, $groups);
6298 6664
 
@@ -6309,8 +6675,9 @@  discard block
 block discarded – undo
6309 6675
 				'current_member' => $userid,
6310 6676
 			)
6311 6677
 		);
6312
-		while ($row = $smcFunc['db_fetch_assoc']($request))
6313
-			$boards_mod[] = $row['id_board'];
6678
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
6679
+					$boards_mod[] = $row['id_board'];
6680
+		}
6314 6681
 		$smcFunc['db_free_result']($request);
6315 6682
 
6316 6683
 		// Can any of the groups they're in moderate any of the boards?
@@ -6322,8 +6689,9 @@  discard block
 block discarded – undo
6322 6689
 				'groups' => $groups,
6323 6690
 			)
6324 6691
 		);
6325
-		while ($row = $smcFunc['db_fetch_assoc']($request))
6326
-			$boards_mod[] = $row['id_board'];
6692
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
6693
+					$boards_mod[] = $row['id_board'];
6694
+		}
6327 6695
 		$smcFunc['db_free_result']($request);
6328 6696
 
6329 6697
 		// Just in case we've got duplicates here...
@@ -6333,21 +6701,25 @@  discard block
 block discarded – undo
6333 6701
 	}
6334 6702
 
6335 6703
 	// Just build this here, it makes it easier to change/use - administrators can see all boards.
6336
-	if ($is_admin)
6337
-		$query_part['query_see_board'] = '1=1';
6704
+	if ($is_admin) {
6705
+			$query_part['query_see_board'] = '1=1';
6706
+	}
6338 6707
 	// Otherwise just the groups in $user_info['groups'].
6339
-	else
6340
-		$query_part['query_see_board'] = '((FIND_IN_SET(' . implode(', b.member_groups) != 0 OR FIND_IN_SET(', $groups) . ', b.member_groups) != 0)' . (!empty($deny_boards_access) ? ' AND (FIND_IN_SET(' . implode(', b.deny_member_groups) = 0 AND FIND_IN_SET(', $groups) . ', b.deny_member_groups) = 0)' : '') . (isset($mod_cache) ? ' OR ' . $mod_cache['mq'] : '') . ')';
6708
+	else {
6709
+			$query_part['query_see_board'] = '((FIND_IN_SET(' . implode(', b.member_groups) != 0 OR FIND_IN_SET(', $groups) . ', b.member_groups) != 0)' . (!empty($deny_boards_access) ? ' AND (FIND_IN_SET(' . implode(', b.deny_member_groups) = 0 AND FIND_IN_SET(', $groups) . ', b.deny_member_groups) = 0)' : '') . (isset($mod_cache) ? ' OR ' . $mod_cache['mq'] : '') . ')';
6710
+	}
6341 6711
 
6342 6712
 	// Build the list of boards they WANT to see.
6343 6713
 	// This will take the place of query_see_boards in certain spots, so it better include the boards they can see also
6344 6714
 
6345 6715
 	// If they aren't ignoring any boards then they want to see all the boards they can see
6346
-	if (empty($ignoreboards))
6347
-		$query_part['query_wanna_see_board'] = $query_part['query_see_board'];
6716
+	if (empty($ignoreboards)) {
6717
+			$query_part['query_wanna_see_board'] = $query_part['query_see_board'];
6718
+	}
6348 6719
 	// Ok I guess they don't want to see all the boards
6349
-	else
6350
-		$query_part['query_wanna_see_board'] = '(' . $query_part['query_see_board'] . ' AND b.id_board NOT IN (' . implode(',', $ignoreboards) . '))';
6720
+	else {
6721
+			$query_part['query_wanna_see_board'] = '(' . $query_part['query_see_board'] . ' AND b.id_board NOT IN (' . implode(',', $ignoreboards) . '))';
6722
+	}
6351 6723
 
6352 6724
 	return $query_part;
6353 6725
 }
@@ -6361,10 +6733,11 @@  discard block
 block discarded – undo
6361 6733
 {
6362 6734
 	$secure = false;
6363 6735
 
6364
-	if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on')
6365
-		$secure = true;
6366
-	elseif (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' || !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on')
6367
-		$secure = true;
6736
+	if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {
6737
+			$secure = true;
6738
+	} elseif (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' || !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on') {
6739
+			$secure = true;
6740
+	}
6368 6741
 
6369 6742
 	return $secure;
6370 6743
 }
@@ -6381,11 +6754,12 @@  discard block
 block discarded – undo
6381 6754
 {
6382 6755
 	$url = iri_to_url($iri);
6383 6756
 
6384
-	if (filter_var($url, FILTER_VALIDATE_URL, $flags) !== false)
6385
-		return $iri;
6386
-	else
6387
-		return false;
6388
-}
6757
+	if (filter_var($url, FILTER_VALIDATE_URL, $flags) !== false) {
6758
+			return $iri;
6759
+	} else {
6760
+			return false;
6761
+	}
6762
+	}
6389 6763
 
6390 6764
 /**
6391 6765
  * A wrapper for `filter_var($url, FILTER_SANITIZE_URL)` that can handle URLs
@@ -6428,8 +6802,9 @@  discard block
 block discarded – undo
6428 6802
 
6429 6803
 	$host = parse_url((strpos($iri, '://') === false ? 'http://' : '') . ltrim($iri, ':/'), PHP_URL_HOST);
6430 6804
 
6431
-	if (empty($host))
6432
-		return $iri;
6805
+	if (empty($host)) {
6806
+			return $iri;
6807
+	}
6433 6808
 
6434 6809
 	// Convert the domain using the Punycode algorithm
6435 6810
 	require_once($sourcedir . '/Class-Punycode.php');
@@ -6465,8 +6840,9 @@  discard block
 block discarded – undo
6465 6840
 
6466 6841
 	$host = parse_url((strpos($url, '://') === false ? 'http://' : '') . ltrim($url, ':/'), PHP_URL_HOST);
6467 6842
 
6468
-	if (empty($host))
6469
-		return $url;
6843
+	if (empty($host)) {
6844
+			return $url;
6845
+	}
6470 6846
 
6471 6847
 	// Decode the domain from Punycode
6472 6848
 	require_once($sourcedir . '/Class-Punycode.php');
@@ -6492,8 +6868,9 @@  discard block
 block discarded – undo
6492 6868
 {
6493 6869
 	global $user_info, $modSettings, $smcFunc, $txt;
6494 6870
 
6495
-	if (empty($modSettings['cron_last_checked']))
6496
-		$modSettings['cron_last_checked'] = 0;
6871
+	if (empty($modSettings['cron_last_checked'])) {
6872
+			$modSettings['cron_last_checked'] = 0;
6873
+	}
6497 6874
 
6498 6875
 	if (!empty($modSettings['cron_is_real_cron']) && time() - $modSettings['cron_last_checked'] > 84600)
6499 6876
 	{
@@ -6513,9 +6890,9 @@  discard block
 block discarded – undo
6513 6890
 			loadLanguage('ManageScheduledTasks');
6514 6891
 			log_error($txt['cron_not_working']);
6515 6892
 			updateSettings(array('cron_is_real_cron' => 0));
6893
+		} else {
6894
+					updateSettings(array('cron_last_checked' => time()));
6516 6895
 		}
6517
-		else
6518
-			updateSettings(array('cron_last_checked' => time()));
6519 6896
 	}
6520 6897
 }
6521 6898
 
Please login to merge, or discard this patch.
Sources/Profile-Modify.php 1 patch
Braces   +720 added lines, -540 removed lines patch added patch discarded remove patch
@@ -15,8 +15,9 @@  discard block
 block discarded – undo
15 15
  * @version 2.1 Beta 4
16 16
  */
17 17
 
18
-if (!defined('SMF'))
18
+if (!defined('SMF')) {
19 19
 	die('No direct access...');
20
+}
20 21
 
21 22
 /**
22 23
  * This defines every profile field known to man.
@@ -29,8 +30,9 @@  discard block
 block discarded – undo
29 30
 	global $sourcedir, $profile_vars;
30 31
 
31 32
 	// Don't load this twice!
32
-	if (!empty($profile_fields) && !$force_reload)
33
-		return;
33
+	if (!empty($profile_fields) && !$force_reload) {
34
+			return;
35
+	}
34 36
 
35 37
 	/* This horrific array defines all the profile fields in the whole world!
36 38
 		In general each "field" has one array - the key of which is the database column name associated with said field. Each item
@@ -103,13 +105,14 @@  discard block
 block discarded – undo
103 105
 				if (isset($_POST['bday2'], $_POST['bday3']) && $value > 0 && $_POST['bday2'] > 0)
104 106
 				{
105 107
 					// Set to blank?
106
-					if ((int) $_POST['bday3'] == 1 && (int) $_POST['bday2'] == 1 && (int) $value == 1)
107
-						$value = '1004-01-01';
108
-					else
109
-						$value = checkdate($value, $_POST['bday2'], $_POST['bday3'] < 1004 ? 1004 : $_POST['bday3']) ? sprintf('%04d-%02d-%02d', $_POST['bday3'] < 1004 ? 1004 : $_POST['bday3'], $_POST['bday1'], $_POST['bday2']) : '1004-01-01';
108
+					if ((int) $_POST['bday3'] == 1 && (int) $_POST['bday2'] == 1 && (int) $value == 1) {
109
+											$value = '1004-01-01';
110
+					} else {
111
+											$value = checkdate($value, $_POST['bday2'], $_POST['bday3'] < 1004 ? 1004 : $_POST['bday3']) ? sprintf('%04d-%02d-%02d', $_POST['bday3'] < 1004 ? 1004 : $_POST['bday3'], $_POST['bday1'], $_POST['bday2']) : '1004-01-01';
112
+					}
113
+				} else {
114
+									$value = '1004-01-01';
110 115
 				}
111
-				else
112
-					$value = '1004-01-01';
113 116
 
114 117
 				$profile_vars['birthdate'] = $value;
115 118
 				$cur_profile['birthdate'] = $value;
@@ -127,8 +130,7 @@  discard block
 block discarded – undo
127 130
 				{
128 131
 					$value = checkdate($dates[2], $dates[3], $dates[1] < 4 ? 4 : $dates[1]) ? sprintf('%04d-%02d-%02d', $dates[1] < 4 ? 4 : $dates[1], $dates[2], $dates[3]) : '1004-01-01';
129 132
 					return true;
130
-				}
131
-				else
133
+				} else
132 134
 				{
133 135
 					$value = empty($cur_profile['birthdate']) ? '1004-01-01' : $cur_profile['birthdate'];
134 136
 					return false;
@@ -150,10 +152,11 @@  discard block
 block discarded – undo
150 152
 					return $txt['invalid_registration'] . ' ' . strftime('%d %b %Y ' . (strpos($user_info['time_format'], '%H') !== false ? '%I:%M:%S %p' : '%H:%M:%S'), forum_time(false));
151 153
 				}
152 154
 				// As long as it doesn't equal "N/A"...
153
-				elseif ($value != $txt['not_applicable'] && $value != strtotime(strftime('%Y-%m-%d', $cur_profile['date_registered'] + ($user_info['time_offset'] + $modSettings['time_offset']) * 3600)))
154
-					$value = $value - ($user_info['time_offset'] + $modSettings['time_offset']) * 3600;
155
-				else
156
-					$value = $cur_profile['date_registered'];
155
+				elseif ($value != $txt['not_applicable'] && $value != strtotime(strftime('%Y-%m-%d', $cur_profile['date_registered'] + ($user_info['time_offset'] + $modSettings['time_offset']) * 3600))) {
156
+									$value = $value - ($user_info['time_offset'] + $modSettings['time_offset']) * 3600;
157
+				} else {
158
+									$value = $cur_profile['date_registered'];
159
+				}
157 160
 
158 161
 				return true;
159 162
 			},
@@ -177,8 +180,9 @@  discard block
 block discarded – undo
177 180
 			{
178 181
 				global $context, $old_profile, $profile_vars, $sourcedir, $modSettings;
179 182
 
180
-				if (strtolower($value) == strtolower($old_profile['email_address']))
181
-					return false;
183
+				if (strtolower($value) == strtolower($old_profile['email_address'])) {
184
+									return false;
185
+				}
182 186
 
183 187
 				$isValid = profileValidateEmail($value, $context['id_member']);
184 188
 
@@ -254,11 +258,11 @@  discard block
 block discarded – undo
254 258
 
255 259
 				if (isset($context['profile_languages'][$value]))
256 260
 				{
257
-					if ($context['user']['is_owner'] && empty($context['password_auth_failed']))
258
-						$_SESSION['language'] = $value;
261
+					if ($context['user']['is_owner'] && empty($context['password_auth_failed'])) {
262
+											$_SESSION['language'] = $value;
263
+					}
259 264
 					return true;
260
-				}
261
-				else
265
+				} else
262 266
 				{
263 267
 					$value = $cur_profile['lngfile'];
264 268
 					return false;
@@ -282,13 +286,14 @@  discard block
 block discarded – undo
282 286
 
283 287
 					// Maybe they are trying to change their password as well?
284 288
 					$resetPassword = true;
285
-					if (isset($_POST['passwrd1']) && $_POST['passwrd1'] != '' && isset($_POST['passwrd2']) && $_POST['passwrd1'] == $_POST['passwrd2'] && validatePassword($_POST['passwrd1'], $value, array($cur_profile['real_name'], $user_info['username'], $user_info['name'], $user_info['email'])) == null)
286
-						$resetPassword = false;
289
+					if (isset($_POST['passwrd1']) && $_POST['passwrd1'] != '' && isset($_POST['passwrd2']) && $_POST['passwrd1'] == $_POST['passwrd2'] && validatePassword($_POST['passwrd1'], $value, array($cur_profile['real_name'], $user_info['username'], $user_info['name'], $user_info['email'])) == null) {
290
+											$resetPassword = false;
291
+					}
287 292
 
288 293
 					// Do the reset... this will send them an email too.
289
-					if ($resetPassword)
290
-						resetPassword($context['id_member'], $value);
291
-					elseif ($value !== null)
294
+					if ($resetPassword) {
295
+											resetPassword($context['id_member'], $value);
296
+					} elseif ($value !== null)
292 297
 					{
293 298
 						validateUsername($context['id_member'], trim(preg_replace('~[\t\n\r \x0B\0' . ($context['utf8'] ? '\x{A0}\x{AD}\x{2000}-\x{200F}\x{201F}\x{202F}\x{3000}\x{FEFF}' : '\x00-\x08\x0B\x0C\x0E-\x19\xA0') . ']+~' . ($context['utf8'] ? 'u' : ''), ' ', $value)));
294 299
 						updateMemberData($context['id_member'], array('member_name' => $value));
@@ -312,20 +317,23 @@  discard block
 block discarded – undo
312 317
 			'input_validate' => function(&$value) use ($sourcedir, $user_info, $smcFunc, $cur_profile)
313 318
 			{
314 319
 				// If we didn't try it then ignore it!
315
-				if ($value == '')
316
-					return false;
320
+				if ($value == '') {
321
+									return false;
322
+				}
317 323
 
318 324
 				// Do the two entries for the password even match?
319
-				if (!isset($_POST['passwrd2']) || $value != $_POST['passwrd2'])
320
-					return 'bad_new_password';
325
+				if (!isset($_POST['passwrd2']) || $value != $_POST['passwrd2']) {
326
+									return 'bad_new_password';
327
+				}
321 328
 
322 329
 				// Let's get the validation function into play...
323 330
 				require_once($sourcedir . '/Subs-Auth.php');
324 331
 				$passwordErrors = validatePassword($value, $cur_profile['member_name'], array($cur_profile['real_name'], $user_info['username'], $user_info['name'], $user_info['email']));
325 332
 
326 333
 				// Were there errors?
327
-				if ($passwordErrors != null)
328
-					return 'password_' . $passwordErrors;
334
+				if ($passwordErrors != null) {
335
+									return 'password_' . $passwordErrors;
336
+				}
329 337
 
330 338
 				// Set up the new password variable... ready for storage.
331 339
 				$value = hash_password($cur_profile['member_name'], un_htmlspecialchars($value));
@@ -350,8 +358,9 @@  discard block
 block discarded – undo
350 358
 			'permission' => 'profile_blurb',
351 359
 			'input_validate' => function(&$value) use ($smcFunc)
352 360
 			{
353
-				if ($smcFunc['strlen']($value) > 50)
354
-					return 'personal_text_too_long';
361
+				if ($smcFunc['strlen']($value) > 50) {
362
+									return 'personal_text_too_long';
363
+				}
355 364
 
356 365
 				return true;
357 366
 			},
@@ -386,10 +395,11 @@  discard block
 block discarded – undo
386 395
 			'permission' => 'moderate_forum',
387 396
 			'input_validate' => function(&$value)
388 397
 			{
389
-				if (!is_numeric($value))
390
-					return 'digits_only';
391
-				else
392
-					$value = $value != '' ? strtr($value, array(',' => '', '.' => '', ' ' => '')) : 0;
398
+				if (!is_numeric($value)) {
399
+									return 'digits_only';
400
+				} else {
401
+									$value = $value != '' ? strtr($value, array(',' => '', '.' => '', ' ' => '')) : 0;
402
+				}
393 403
 				return true;
394 404
 			},
395 405
 		),
@@ -405,15 +415,16 @@  discard block
 block discarded – undo
405 415
 			{
406 416
 				$value = trim(preg_replace('~[\t\n\r \x0B\0' . ($context['utf8'] ? '\x{A0}\x{AD}\x{2000}-\x{200F}\x{201F}\x{202F}\x{3000}\x{FEFF}' : '\x00-\x08\x0B\x0C\x0E-\x19\xA0') . ']+~' . ($context['utf8'] ? 'u' : ''), ' ', $value));
407 417
 
408
-				if (trim($value) == '')
409
-					return 'no_name';
410
-				elseif ($smcFunc['strlen']($value) > 60)
411
-					return 'name_too_long';
412
-				elseif ($cur_profile['real_name'] != $value)
418
+				if (trim($value) == '') {
419
+									return 'no_name';
420
+				} elseif ($smcFunc['strlen']($value) > 60) {
421
+									return 'name_too_long';
422
+				} elseif ($cur_profile['real_name'] != $value)
413 423
 				{
414 424
 					require_once($sourcedir . '/Subs-Members.php');
415
-					if (isReservedName($value, $context['id_member']))
416
-						return 'name_taken';
425
+					if (isReservedName($value, $context['id_member'])) {
426
+											return 'name_taken';
427
+					}
417 428
 				}
418 429
 				return true;
419 430
 			},
@@ -471,8 +482,9 @@  discard block
 block discarded – undo
471 482
 						'selected' => $set == $context['member']['smiley_set']['id']
472 483
 					);
473 484
 
474
-					if ($context['smiley_sets'][$i]['selected'])
475
-						$context['member']['smiley_set']['name'] = $set_names[$i];
485
+					if ($context['smiley_sets'][$i]['selected']) {
486
+											$context['member']['smiley_set']['name'] = $set_names[$i];
487
+					}
476 488
 				}
477 489
 				return true;
478 490
 			},
@@ -481,8 +493,9 @@  discard block
 block discarded – undo
481 493
 				global $modSettings;
482 494
 
483 495
 				$smiley_sets = explode(',', $modSettings['smiley_sets_known']);
484
-				if (!in_array($value, $smiley_sets) && $value != 'none')
485
-					$value = '';
496
+				if (!in_array($value, $smiley_sets) && $value != 'none') {
497
+									$value = '';
498
+				}
486 499
 				return true;
487 500
 			},
488 501
 		),
@@ -497,8 +510,9 @@  discard block
 block discarded – undo
497 510
 				loadLanguage('Settings');
498 511
 
499 512
 				$context['allow_no_censored'] = false;
500
-				if ($user_info['is_admin'] || $context['user']['is_owner'])
501
-					$context['allow_no_censored'] = !empty($modSettings['allow_no_censored']);
513
+				if ($user_info['is_admin'] || $context['user']['is_owner']) {
514
+									$context['allow_no_censored'] = !empty($modSettings['allow_no_censored']);
515
+				}
502 516
 
503 517
 				return true;
504 518
 			},
@@ -545,8 +559,9 @@  discard block
 block discarded – undo
545 559
 			'input_validate' => function($value)
546 560
 			{
547 561
 				$tz = smf_list_timezones();
548
-				if (!isset($tz[$value]))
549
-					return 'bad_timezone';
562
+				if (!isset($tz[$value])) {
563
+									return 'bad_timezone';
564
+				}
550 565
 
551 566
 				return true;
552 567
 			},
@@ -561,8 +576,9 @@  discard block
 block discarded – undo
561 576
 			'enabled' => !empty($modSettings['titlesEnable']),
562 577
 			'input_validate' => function(&$value) use ($smcFunc)
563 578
 			{
564
-				if ($smcFunc['strlen']($value) > 50)
565
-					return 'user_title_too_long';
579
+				if ($smcFunc['strlen']($value) > 50) {
580
+									return 'user_title_too_long';
581
+				}
566 582
 
567 583
 				return true;
568 584
 			},
@@ -584,10 +600,12 @@  discard block
 block discarded – undo
584 600
 			// Fix the URL...
585 601
 			'input_validate' => function(&$value)
586 602
 			{
587
-				if (strlen(trim($value)) > 0 && strpos($value, '://') === false)
588
-					$value = 'http://' . $value;
589
-				if (strlen($value) < 8 || (substr($value, 0, 7) !== 'http://' && substr($value, 0, 8) !== 'https://'))
590
-					$value = '';
603
+				if (strlen(trim($value)) > 0 && strpos($value, '://') === false) {
604
+									$value = 'http://' . $value;
605
+				}
606
+				if (strlen($value) < 8 || (substr($value, 0, 7) !== 'http://' && substr($value, 0, 8) !== 'https://')) {
607
+									$value = '';
608
+				}
591 609
 				$value = (string) validate_iri(sanitize_iri($value));
592 610
 				return true;
593 611
 			},
@@ -602,16 +620,19 @@  discard block
 block discarded – undo
602 620
 	foreach ($profile_fields as $key => $field)
603 621
 	{
604 622
 		// Do we have permission to do this?
605
-		if (isset($field['permission']) && !allowedTo(($context['user']['is_owner'] ? array($field['permission'] . '_own', $field['permission'] . '_any') : $field['permission'] . '_any')) && !allowedTo($field['permission']))
606
-			unset($profile_fields[$key]);
623
+		if (isset($field['permission']) && !allowedTo(($context['user']['is_owner'] ? array($field['permission'] . '_own', $field['permission'] . '_any') : $field['permission'] . '_any')) && !allowedTo($field['permission'])) {
624
+					unset($profile_fields[$key]);
625
+		}
607 626
 
608 627
 		// Is it enabled?
609
-		if (isset($field['enabled']) && !$field['enabled'])
610
-			unset($profile_fields[$key]);
628
+		if (isset($field['enabled']) && !$field['enabled']) {
629
+					unset($profile_fields[$key]);
630
+		}
611 631
 
612 632
 		// Is it specifically disabled?
613
-		if (in_array($key, $disabled_fields) || (isset($field['link_with']) && in_array($field['link_with'], $disabled_fields)))
614
-			unset($profile_fields[$key]);
633
+		if (in_array($key, $disabled_fields) || (isset($field['link_with']) && in_array($field['link_with'], $disabled_fields))) {
634
+					unset($profile_fields[$key]);
635
+		}
615 636
 	}
616 637
 }
617 638
 
@@ -636,9 +657,10 @@  discard block
 block discarded – undo
636 657
 	loadProfileFields(true);
637 658
 
638 659
 	// First check for any linked sets.
639
-	foreach ($profile_fields as $key => $field)
640
-		if (isset($field['link_with']) && in_array($field['link_with'], $fields))
660
+	foreach ($profile_fields as $key => $field) {
661
+			if (isset($field['link_with']) && in_array($field['link_with'], $fields))
641 662
 			$fields[] = $key;
663
+	}
642 664
 
643 665
 	$i = 0;
644 666
 	$last_type = '';
@@ -650,38 +672,46 @@  discard block
 block discarded – undo
650 672
 			$cur_field = &$profile_fields[$field];
651 673
 
652 674
 			// Does it have a preload and does that preload succeed?
653
-			if (isset($cur_field['preload']) && !$cur_field['preload']())
654
-				continue;
675
+			if (isset($cur_field['preload']) && !$cur_field['preload']()) {
676
+							continue;
677
+			}
655 678
 
656 679
 			// If this is anything but complex we need to do more cleaning!
657 680
 			if ($cur_field['type'] != 'callback' && $cur_field['type'] != 'hidden')
658 681
 			{
659
-				if (!isset($cur_field['label']))
660
-					$cur_field['label'] = isset($txt[$field]) ? $txt[$field] : $field;
682
+				if (!isset($cur_field['label'])) {
683
+									$cur_field['label'] = isset($txt[$field]) ? $txt[$field] : $field;
684
+				}
661 685
 
662 686
 				// Everything has a value!
663
-				if (!isset($cur_field['value']))
664
-					$cur_field['value'] = isset($cur_profile[$field]) ? $cur_profile[$field] : '';
687
+				if (!isset($cur_field['value'])) {
688
+									$cur_field['value'] = isset($cur_profile[$field]) ? $cur_profile[$field] : '';
689
+				}
665 690
 
666 691
 				// Any input attributes?
667 692
 				$cur_field['input_attr'] = !empty($cur_field['input_attr']) ? implode(',', $cur_field['input_attr']) : '';
668 693
 			}
669 694
 
670 695
 			// Was there an error with this field on posting?
671
-			if (isset($context['profile_errors'][$field]))
672
-				$cur_field['is_error'] = true;
696
+			if (isset($context['profile_errors'][$field])) {
697
+							$cur_field['is_error'] = true;
698
+			}
673 699
 
674 700
 			// Any javascript stuff?
675
-			if (!empty($cur_field['js_submit']))
676
-				$context['profile_onsubmit_javascript'] .= $cur_field['js_submit'];
677
-			if (!empty($cur_field['js']))
678
-				$context['profile_javascript'] .= $cur_field['js'];
701
+			if (!empty($cur_field['js_submit'])) {
702
+							$context['profile_onsubmit_javascript'] .= $cur_field['js_submit'];
703
+			}
704
+			if (!empty($cur_field['js'])) {
705
+							$context['profile_javascript'] .= $cur_field['js'];
706
+			}
679 707
 
680 708
 			// Any template stuff?
681
-			if (!empty($cur_field['prehtml']))
682
-				$context['profile_prehtml'] .= $cur_field['prehtml'];
683
-			if (!empty($cur_field['posthtml']))
684
-				$context['profile_posthtml'] .= $cur_field['posthtml'];
709
+			if (!empty($cur_field['prehtml'])) {
710
+							$context['profile_prehtml'] .= $cur_field['prehtml'];
711
+			}
712
+			if (!empty($cur_field['posthtml'])) {
713
+							$context['profile_posthtml'] .= $cur_field['posthtml'];
714
+			}
685 715
 
686 716
 			// Finally put it into context?
687 717
 			if ($cur_field['type'] != 'hidden')
@@ -714,12 +744,14 @@  discard block
 block discarded – undo
714 744
 	}, false);' : ''), true);
715 745
 
716 746
 	// Any onsubmit javascript?
717
-	if (!empty($context['profile_onsubmit_javascript']))
718
-		addInlineJavaScript($context['profile_onsubmit_javascript'], true);
747
+	if (!empty($context['profile_onsubmit_javascript'])) {
748
+			addInlineJavaScript($context['profile_onsubmit_javascript'], true);
749
+	}
719 750
 
720 751
 	// Any totally custom stuff?
721
-	if (!empty($context['profile_javascript']))
722
-		addInlineJavaScript($context['profile_javascript'], true);
752
+	if (!empty($context['profile_javascript'])) {
753
+			addInlineJavaScript($context['profile_javascript'], true);
754
+	}
723 755
 
724 756
 	// Free up some memory.
725 757
 	unset($profile_fields);
@@ -740,8 +772,9 @@  discard block
 block discarded – undo
740 772
 
741 773
 	// This allows variables to call activities when they save - by default just to reload their settings
742 774
 	$context['profile_execute_on_save'] = array();
743
-	if ($context['user']['is_owner'])
744
-		$context['profile_execute_on_save']['reload_user'] = 'profileReloadUser';
775
+	if ($context['user']['is_owner']) {
776
+			$context['profile_execute_on_save']['reload_user'] = 'profileReloadUser';
777
+	}
745 778
 
746 779
 	// Assume we log nothing.
747 780
 	$context['log_changes'] = array();
@@ -749,8 +782,9 @@  discard block
 block discarded – undo
749 782
 	// Cycle through the profile fields working out what to do!
750 783
 	foreach ($profile_fields as $key => $field)
751 784
 	{
752
-		if (!isset($_POST[$key]) || !empty($field['is_dummy']) || (isset($_POST['preview_signature']) && $key == 'signature'))
753
-			continue;
785
+		if (!isset($_POST[$key]) || !empty($field['is_dummy']) || (isset($_POST['preview_signature']) && $key == 'signature')) {
786
+					continue;
787
+		}
754 788
 
755 789
 		// What gets updated?
756 790
 		$db_key = isset($field['save_key']) ? $field['save_key'] : $key;
@@ -778,12 +812,13 @@  discard block
 block discarded – undo
778 812
 		$field['cast_type'] = empty($field['cast_type']) ? $field['type'] : $field['cast_type'];
779 813
 
780 814
 		// Finally, clean up certain types.
781
-		if ($field['cast_type'] == 'int')
782
-			$_POST[$key] = (int) $_POST[$key];
783
-		elseif ($field['cast_type'] == 'float')
784
-			$_POST[$key] = (float) $_POST[$key];
785
-		elseif ($field['cast_type'] == 'check')
786
-			$_POST[$key] = !empty($_POST[$key]) ? 1 : 0;
815
+		if ($field['cast_type'] == 'int') {
816
+					$_POST[$key] = (int) $_POST[$key];
817
+		} elseif ($field['cast_type'] == 'float') {
818
+					$_POST[$key] = (float) $_POST[$key];
819
+		} elseif ($field['cast_type'] == 'check') {
820
+					$_POST[$key] = !empty($_POST[$key]) ? 1 : 0;
821
+		}
787 822
 
788 823
 		// If we got here we're doing OK.
789 824
 		if ($field['type'] != 'hidden' && (!isset($old_profile[$key]) || $_POST[$key] != $old_profile[$key]))
@@ -794,11 +829,12 @@  discard block
 block discarded – undo
794 829
 			$cur_profile[$key] = $_POST[$key];
795 830
 
796 831
 			// Are we logging it?
797
-			if (!empty($field['log_change']) && isset($old_profile[$key]))
798
-				$context['log_changes'][$key] = array(
832
+			if (!empty($field['log_change']) && isset($old_profile[$key])) {
833
+							$context['log_changes'][$key] = array(
799 834
 					'previous' => $old_profile[$key],
800 835
 					'new' => $_POST[$key],
801 836
 				);
837
+			}
802 838
 		}
803 839
 
804 840
 		// Logging group changes are a bit different...
@@ -831,10 +867,11 @@  discard block
 block discarded – undo
831 867
 				{
832 868
 					foreach ($groups as $id => $group)
833 869
 					{
834
-						if (isset($context['member_groups'][$group]))
835
-							$additional_groups[$type][$id] = $context['member_groups'][$group]['name'];
836
-						else
837
-							unset($additional_groups[$type][$id]);
870
+						if (isset($context['member_groups'][$group])) {
871
+													$additional_groups[$type][$id] = $context['member_groups'][$group]['name'];
872
+						} else {
873
+													unset($additional_groups[$type][$id]);
874
+						}
838 875
 					}
839 876
 					$additional_groups[$type] = implode(', ', $additional_groups[$type]);
840 877
 				}
@@ -845,10 +882,11 @@  discard block
 block discarded – undo
845 882
 	}
846 883
 
847 884
 	// @todo Temporary
848
-	if ($context['user']['is_owner'])
849
-		$changeOther = allowedTo(array('profile_extra_any', 'profile_extra_own'));
850
-	else
851
-		$changeOther = allowedTo('profile_extra_any');
885
+	if ($context['user']['is_owner']) {
886
+			$changeOther = allowedTo(array('profile_extra_any', 'profile_extra_own'));
887
+	} else {
888
+			$changeOther = allowedTo('profile_extra_any');
889
+	}
852 890
 	if ($changeOther && empty($post_errors))
853 891
 	{
854 892
 		makeThemeChanges($context['id_member'], isset($_POST['id_theme']) ? (int) $_POST['id_theme'] : $old_profile['id_theme']);
@@ -856,8 +894,9 @@  discard block
 block discarded – undo
856 894
 		{
857 895
 			$custom_fields_errors = makeCustomFieldChanges($context['id_member'], $_REQUEST['sa'], false, true);
858 896
 
859
-			if (!empty($custom_fields_errors))
860
-				$post_errors = array_merge($post_errors, $custom_fields_errors);
897
+			if (!empty($custom_fields_errors)) {
898
+							$post_errors = array_merge($post_errors, $custom_fields_errors);
899
+			}
861 900
 		}
862 901
 	}
863 902
 
@@ -883,9 +922,9 @@  discard block
 block discarded – undo
883 922
 	if ($context['user']['is_owner'])
884 923
 	{
885 924
 		$changeOther = allowedTo(array('profile_extra_any', 'profile_extra_own', 'profile_website_any', 'profile_website_own', 'profile_signature_any', 'profile_signature_own'));
925
+	} else {
926
+			$changeOther = allowedTo(array('profile_extra_any', 'profile_website_any', 'profile_signature_any'));
886 927
 	}
887
-	else
888
-		$changeOther = allowedTo(array('profile_extra_any', 'profile_website_any', 'profile_signature_any'));
889 928
 
890 929
 	// Arrays of all the changes - makes things easier.
891 930
 	$profile_bools = array();
@@ -896,22 +935,25 @@  discard block
 block discarded – undo
896 935
 		'ignore_boards',
897 936
 	);
898 937
 
899
-	if (isset($_POST['sa']) && $_POST['sa'] == 'ignoreboards' && empty($_POST['ignore_brd']))
900
-		$_POST['ignore_brd'] = array();
938
+	if (isset($_POST['sa']) && $_POST['sa'] == 'ignoreboards' && empty($_POST['ignore_brd'])) {
939
+			$_POST['ignore_brd'] = array();
940
+	}
901 941
 
902 942
 	unset($_POST['ignore_boards']); // Whatever it is set to is a dirty filthy thing.  Kinda like our minds.
903 943
 	if (isset($_POST['ignore_brd']))
904 944
 	{
905
-		if (!is_array($_POST['ignore_brd']))
906
-			$_POST['ignore_brd'] = array($_POST['ignore_brd']);
945
+		if (!is_array($_POST['ignore_brd'])) {
946
+					$_POST['ignore_brd'] = array($_POST['ignore_brd']);
947
+		}
907 948
 
908 949
 		foreach ($_POST['ignore_brd'] as $k => $d)
909 950
 		{
910 951
 			$d = (int) $d;
911
-			if ($d != 0)
912
-				$_POST['ignore_brd'][$k] = $d;
913
-			else
914
-				unset($_POST['ignore_brd'][$k]);
952
+			if ($d != 0) {
953
+							$_POST['ignore_brd'][$k] = $d;
954
+			} else {
955
+							unset($_POST['ignore_brd'][$k]);
956
+			}
915 957
 		}
916 958
 		$_POST['ignore_boards'] = implode(',', $_POST['ignore_brd']);
917 959
 		unset($_POST['ignore_brd']);
@@ -923,21 +965,26 @@  discard block
 block discarded – undo
923 965
 		makeThemeChanges($memID, isset($_POST['id_theme']) ? (int) $_POST['id_theme'] : $old_profile['id_theme']);
924 966
 		//makeAvatarChanges($memID, $post_errors);
925 967
 
926
-		if (!empty($_REQUEST['sa']))
927
-			makeCustomFieldChanges($memID, $_REQUEST['sa'], false);
968
+		if (!empty($_REQUEST['sa'])) {
969
+					makeCustomFieldChanges($memID, $_REQUEST['sa'], false);
970
+		}
928 971
 
929
-		foreach ($profile_bools as $var)
930
-			if (isset($_POST[$var]))
972
+		foreach ($profile_bools as $var) {
973
+					if (isset($_POST[$var]))
931 974
 				$profile_vars[$var] = empty($_POST[$var]) ? '0' : '1';
932
-		foreach ($profile_ints as $var)
933
-			if (isset($_POST[$var]))
975
+		}
976
+		foreach ($profile_ints as $var) {
977
+					if (isset($_POST[$var]))
934 978
 				$profile_vars[$var] = $_POST[$var] != '' ? (int) $_POST[$var] : '';
935
-		foreach ($profile_floats as $var)
936
-			if (isset($_POST[$var]))
979
+		}
980
+		foreach ($profile_floats as $var) {
981
+					if (isset($_POST[$var]))
937 982
 				$profile_vars[$var] = (float) $_POST[$var];
938
-		foreach ($profile_strings as $var)
939
-			if (isset($_POST[$var]))
983
+		}
984
+		foreach ($profile_strings as $var) {
985
+					if (isset($_POST[$var]))
940 986
 				$profile_vars[$var] = $_POST[$var];
987
+		}
941 988
 	}
942 989
 }
943 990
 
@@ -971,8 +1018,9 @@  discard block
 block discarded – undo
971 1018
 	);
972 1019
 
973 1020
 	// Can't change reserved vars.
974
-	if ((isset($_POST['options']) && count(array_intersect(array_keys($_POST['options']), $reservedVars)) != 0) || (isset($_POST['default_options']) && count(array_intersect(array_keys($_POST['default_options']), $reservedVars)) != 0))
975
-		fatal_lang_error('no_access', false);
1021
+	if ((isset($_POST['options']) && count(array_intersect(array_keys($_POST['options']), $reservedVars)) != 0) || (isset($_POST['default_options']) && count(array_intersect(array_keys($_POST['default_options']), $reservedVars)) != 0)) {
1022
+			fatal_lang_error('no_access', false);
1023
+	}
976 1024
 
977 1025
 	// Don't allow any overriding of custom fields with default or non-default options.
978 1026
 	$request = $smcFunc['db_query']('', '
@@ -984,8 +1032,9 @@  discard block
 block discarded – undo
984 1032
 		)
985 1033
 	);
986 1034
 	$custom_fields = array();
987
-	while ($row = $smcFunc['db_fetch_assoc']($request))
988
-		$custom_fields[] = $row['col_name'];
1035
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1036
+			$custom_fields[] = $row['col_name'];
1037
+	}
989 1038
 	$smcFunc['db_free_result']($request);
990 1039
 
991 1040
 	// These are the theme changes...
@@ -994,33 +1043,39 @@  discard block
 block discarded – undo
994 1043
 	{
995 1044
 		foreach ($_POST['options'] as $opt => $val)
996 1045
 		{
997
-			if (in_array($opt, $custom_fields))
998
-				continue;
1046
+			if (in_array($opt, $custom_fields)) {
1047
+							continue;
1048
+			}
999 1049
 
1000 1050
 			// These need to be controlled.
1001
-			if ($opt == 'topics_per_page' || $opt == 'messages_per_page')
1002
-				$val = max(0, min($val, 50));
1051
+			if ($opt == 'topics_per_page' || $opt == 'messages_per_page') {
1052
+							$val = max(0, min($val, 50));
1053
+			}
1003 1054
 			// We don't set this per theme anymore.
1004
-			elseif ($opt == 'allow_no_censored')
1005
-				continue;
1055
+			elseif ($opt == 'allow_no_censored') {
1056
+							continue;
1057
+			}
1006 1058
 
1007 1059
 			$themeSetArray[] = array($memID, $id_theme, $opt, is_array($val) ? implode(',', $val) : $val);
1008 1060
 		}
1009 1061
 	}
1010 1062
 
1011 1063
 	$erase_options = array();
1012
-	if (isset($_POST['default_options']) && is_array($_POST['default_options']))
1013
-		foreach ($_POST['default_options'] as $opt => $val)
1064
+	if (isset($_POST['default_options']) && is_array($_POST['default_options'])) {
1065
+			foreach ($_POST['default_options'] as $opt => $val)
1014 1066
 		{
1015 1067
 			if (in_array($opt, $custom_fields))
1016 1068
 				continue;
1069
+	}
1017 1070
 
1018 1071
 			// These need to be controlled.
1019
-			if ($opt == 'topics_per_page' || $opt == 'messages_per_page')
1020
-				$val = max(0, min($val, 50));
1072
+			if ($opt == 'topics_per_page' || $opt == 'messages_per_page') {
1073
+							$val = max(0, min($val, 50));
1074
+			}
1021 1075
 			// Only let admins and owners change the censor.
1022
-			elseif ($opt == 'allow_no_censored' && !$user_info['is_admin'] && !$context['user']['is_owner'])
1023
-					continue;
1076
+			elseif ($opt == 'allow_no_censored' && !$user_info['is_admin'] && !$context['user']['is_owner']) {
1077
+								continue;
1078
+			}
1024 1079
 
1025 1080
 			$themeSetArray[] = array($memID, 1, $opt, is_array($val) ? implode(',', $val) : $val);
1026 1081
 			$erase_options[] = $opt;
@@ -1056,8 +1111,9 @@  discard block
 block discarded – undo
1056 1111
 
1057 1112
 		// Admins can choose any theme, even if it's not enabled...
1058 1113
 		$themes = allowedTo('admin_forum') ? explode(',', $modSettings['knownThemes']) : explode(',', $modSettings['enableThemes']);
1059
-		foreach ($themes as $t)
1060
-			cache_put_data('theme_settings-' . $t . ':' . $memID, null, 60);
1114
+		foreach ($themes as $t) {
1115
+					cache_put_data('theme_settings-' . $t . ':' . $memID, null, 60);
1116
+		}
1061 1117
 	}
1062 1118
 }
1063 1119
 
@@ -1076,8 +1132,9 @@  discard block
 block discarded – undo
1076 1132
 	if (isset($_POST['edit_notify_boards']) && !empty($_POST['notify_boards']))
1077 1133
 	{
1078 1134
 		// Make sure only integers are deleted.
1079
-		foreach ($_POST['notify_boards'] as $index => $id)
1080
-			$_POST['notify_boards'][$index] = (int) $id;
1135
+		foreach ($_POST['notify_boards'] as $index => $id) {
1136
+					$_POST['notify_boards'][$index] = (int) $id;
1137
+		}
1081 1138
 
1082 1139
 		// id_board = 0 is reserved for topic notifications.
1083 1140
 		$_POST['notify_boards'] = array_diff($_POST['notify_boards'], array(0));
@@ -1096,8 +1153,9 @@  discard block
 block discarded – undo
1096 1153
 	// We are editing topic notifications......
1097 1154
 	elseif (isset($_POST['edit_notify_topics']) && !empty($_POST['notify_topics']))
1098 1155
 	{
1099
-		foreach ($_POST['notify_topics'] as $index => $id)
1100
-			$_POST['notify_topics'][$index] = (int) $id;
1156
+		foreach ($_POST['notify_topics'] as $index => $id) {
1157
+					$_POST['notify_topics'][$index] = (int) $id;
1158
+		}
1101 1159
 
1102 1160
 		// Make sure there are no zeros left.
1103 1161
 		$_POST['notify_topics'] = array_diff($_POST['notify_topics'], array(0));
@@ -1111,16 +1169,18 @@  discard block
 block discarded – undo
1111 1169
 				'selected_member' => $memID,
1112 1170
 			)
1113 1171
 		);
1114
-		foreach ($_POST['notify_topics'] as $topic)
1115
-			setNotifyPrefs($memID, array('topic_notify_' . $topic => 0));
1172
+		foreach ($_POST['notify_topics'] as $topic) {
1173
+					setNotifyPrefs($memID, array('topic_notify_' . $topic => 0));
1174
+		}
1116 1175
 	}
1117 1176
 
1118 1177
 	// We are removing topic preferences
1119 1178
 	elseif (isset($_POST['remove_notify_topics']) && !empty($_POST['notify_topics']))
1120 1179
 	{
1121 1180
 		$prefs = array();
1122
-		foreach ($_POST['notify_topics'] as $topic)
1123
-			$prefs[] = 'topic_notify_' . $topic;
1181
+		foreach ($_POST['notify_topics'] as $topic) {
1182
+					$prefs[] = 'topic_notify_' . $topic;
1183
+		}
1124 1184
 		deleteNotifyPrefs($memID, $prefs);
1125 1185
 	}
1126 1186
 
@@ -1128,8 +1188,9 @@  discard block
 block discarded – undo
1128 1188
 	elseif (isset($_POST['remove_notify_board']) && !empty($_POST['notify_boards']))
1129 1189
 	{
1130 1190
 		$prefs = array();
1131
-		foreach ($_POST['notify_boards'] as $board)
1132
-			$prefs[] = 'board_notify_' . $board;
1191
+		foreach ($_POST['notify_boards'] as $board) {
1192
+					$prefs[] = 'board_notify_' . $board;
1193
+		}
1133 1194
 		deleteNotifyPrefs($memID, $prefs);
1134 1195
 	}
1135 1196
 }
@@ -1150,8 +1211,9 @@  discard block
 block discarded – undo
1150 1211
 
1151 1212
 	$errors = array();
1152 1213
 
1153
-	if ($sanitize && isset($_POST['customfield']))
1154
-		$_POST['customfield'] = htmlspecialchars__recursive($_POST['customfield']);
1214
+	if ($sanitize && isset($_POST['customfield'])) {
1215
+			$_POST['customfield'] = htmlspecialchars__recursive($_POST['customfield']);
1216
+	}
1155 1217
 
1156 1218
 	$where = $area == 'register' ? 'show_reg != 0' : 'show_profile = {string:area}';
1157 1219
 
@@ -1177,26 +1239,29 @@  discard block
 block discarded – undo
1177 1239
 			- The data is not invisible to users but editable by the owner (or if it is the user is not the owner)
1178 1240
 			- The area isn't registration, and if it is that the field is not supposed to be shown there.
1179 1241
 		*/
1180
-		if ($row['private'] != 0 && !allowedTo('admin_forum') && ($memID != $user_info['id'] || $row['private'] != 2) && ($area != 'register' || $row['show_reg'] == 0))
1181
-			continue;
1242
+		if ($row['private'] != 0 && !allowedTo('admin_forum') && ($memID != $user_info['id'] || $row['private'] != 2) && ($area != 'register' || $row['show_reg'] == 0)) {
1243
+					continue;
1244
+		}
1182 1245
 
1183 1246
 		// Validate the user data.
1184
-		if ($row['field_type'] == 'check')
1185
-			$value = isset($_POST['customfield'][$row['col_name']]) ? 1 : 0;
1186
-		elseif ($row['field_type'] == 'select' || $row['field_type'] == 'radio')
1247
+		if ($row['field_type'] == 'check') {
1248
+					$value = isset($_POST['customfield'][$row['col_name']]) ? 1 : 0;
1249
+		} elseif ($row['field_type'] == 'select' || $row['field_type'] == 'radio')
1187 1250
 		{
1188 1251
 			$value = $row['default_value'];
1189
-			foreach (explode(',', $row['field_options']) as $k => $v)
1190
-				if (isset($_POST['customfield'][$row['col_name']]) && $_POST['customfield'][$row['col_name']] == $k)
1252
+			foreach (explode(',', $row['field_options']) as $k => $v) {
1253
+							if (isset($_POST['customfield'][$row['col_name']]) && $_POST['customfield'][$row['col_name']] == $k)
1191 1254
 					$value = $v;
1255
+			}
1192 1256
 		}
1193 1257
 		// Otherwise some form of text!
1194 1258
 		else
1195 1259
 		{
1196 1260
 			$value = isset($_POST['customfield'][$row['col_name']]) ? $_POST['customfield'][$row['col_name']] : '';
1197 1261
 
1198
-			if ($row['field_length'])
1199
-				$value = $smcFunc['substr']($value, 0, $row['field_length']);
1262
+			if ($row['field_length']) {
1263
+							$value = $smcFunc['substr']($value, 0, $row['field_length']);
1264
+			}
1200 1265
 
1201 1266
 			// Any masks?
1202 1267
 			if ($row['field_type'] == 'text' && !empty($row['mask']) && $row['mask'] != 'none')
@@ -1205,36 +1270,34 @@  discard block
 block discarded – undo
1205 1270
 				$valueReference = un_htmlspecialchars($value);
1206 1271
 
1207 1272
 				// Try and avoid some checks. '0' could be a valid non-empty value.
1208
-				if (empty($value) && !is_numeric($value))
1209
-					$value = '';
1273
+				if (empty($value) && !is_numeric($value)) {
1274
+									$value = '';
1275
+				}
1210 1276
 
1211 1277
 				if ($row['mask'] == 'nohtml' && ($valueReference != strip_tags($valueReference) || $value != filter_var($value, FILTER_SANITIZE_STRING) || preg_match('/<(.+?)[\s]*\/?[\s]*>/si', $valueReference)))
1212 1278
 				{
1213
-					if ($returnErrors)
1214
-						$errors[] = 'custom_field_nohtml_fail';
1215
-
1216
-					else
1217
-						$value = '';
1218
-				}
1219
-				elseif ($row['mask'] == 'email' && (!filter_var($value, FILTER_VALIDATE_EMAIL) || strlen($value) > 255))
1279
+					if ($returnErrors) {
1280
+											$errors[] = 'custom_field_nohtml_fail';
1281
+					} else {
1282
+											$value = '';
1283
+					}
1284
+				} elseif ($row['mask'] == 'email' && (!filter_var($value, FILTER_VALIDATE_EMAIL) || strlen($value) > 255))
1220 1285
 				{
1221
-					if ($returnErrors)
1222
-						$errors[] = 'custom_field_mail_fail';
1223
-
1224
-					else
1225
-						$value = '';
1226
-				}
1227
-				elseif ($row['mask'] == 'number')
1286
+					if ($returnErrors) {
1287
+											$errors[] = 'custom_field_mail_fail';
1288
+					} else {
1289
+											$value = '';
1290
+					}
1291
+				} elseif ($row['mask'] == 'number')
1228 1292
 				{
1229 1293
 					$value = (int) $value;
1230
-				}
1231
-				elseif (substr($row['mask'], 0, 5) == 'regex' && trim($value) != '' && preg_match(substr($row['mask'], 5), $value) === 0)
1294
+				} elseif (substr($row['mask'], 0, 5) == 'regex' && trim($value) != '' && preg_match(substr($row['mask'], 5), $value) === 0)
1232 1295
 				{
1233
-					if ($returnErrors)
1234
-						$errors[] = 'custom_field_regex_fail';
1235
-
1236
-					else
1237
-						$value = '';
1296
+					if ($returnErrors) {
1297
+											$errors[] = 'custom_field_regex_fail';
1298
+					} else {
1299
+											$value = '';
1300
+					}
1238 1301
 				}
1239 1302
 
1240 1303
 				unset($valueReference);
@@ -1258,8 +1321,7 @@  discard block
 block discarded – undo
1258 1321
 			{
1259 1322
 				$deletes = array('id_theme' => 1 , 'variable' => $row['col_name'], 'id_member' => $memID);
1260 1323
 				unset($user_profile[$memID]['options'][$row['col_name']]);
1261
-			}
1262
-			else
1324
+			} else
1263 1325
 			{
1264 1326
 				$changes[] = array(1, $row['col_name'], $value, $memID);
1265 1327
 				$user_profile[$memID]['options'][$row['col_name']] = $value;
@@ -1270,27 +1332,30 @@  discard block
 block discarded – undo
1270 1332
 
1271 1333
 	$hook_errors = call_integration_hook('integrate_save_custom_profile_fields', array(&$changes, &$log_changes, &$errors, $returnErrors, $memID, $area, $sanitize, &$deletes));
1272 1334
 
1273
-	if (!empty($hook_errors) && is_array($hook_errors))
1274
-		$errors = array_merge($errors, $hook_errors);
1335
+	if (!empty($hook_errors) && is_array($hook_errors)) {
1336
+			$errors = array_merge($errors, $hook_errors);
1337
+	}
1275 1338
 
1276 1339
 	// Make those changes!
1277 1340
 	if ((!empty($changes) || !empty($deletes)) && empty($context['password_auth_failed']) && empty($errors))
1278 1341
 	{
1279
-		if (!empty($changes))
1280
-			$smcFunc['db_insert']('replace',
1342
+		if (!empty($changes)) {
1343
+					$smcFunc['db_insert']('replace',
1281 1344
 				'{db_prefix}themes',
1282 1345
 				array('id_theme' => 'int', 'variable' => 'string-255', 'value' => 'string-65534', 'id_member' => 'int'),
1283 1346
 				$changes,
1284 1347
 				array('id_theme', 'variable', 'id_member')
1285 1348
 			);
1286
-		if (!empty($deletes))
1287
-			$smcFunc['db_query']('','
1349
+		}
1350
+		if (!empty($deletes)) {
1351
+					$smcFunc['db_query']('','
1288 1352
 				DELETE FROM {db_prefix}themes
1289 1353
 				WHERE id_theme = {int:id_theme} AND
1290 1354
 						variable = {string:variable} AND
1291 1355
 						id_member = {int:id_member}',
1292 1356
 				$deletes
1293 1357
 				);
1358
+		}
1294 1359
 		if (!empty($log_changes) && !empty($modSettings['modlog_enabled']))
1295 1360
 		{
1296 1361
 			require_once($sourcedir . '/Logging.php');
@@ -1298,9 +1363,10 @@  discard block
 block discarded – undo
1298 1363
 		}
1299 1364
 	}
1300 1365
 
1301
-	if ($returnErrors)
1302
-		return $errors;
1303
-}
1366
+	if ($returnErrors) {
1367
+			return $errors;
1368
+	}
1369
+	}
1304 1370
 
1305 1371
 /**
1306 1372
  * Show all the users buddies, as well as a add/delete interface.
@@ -1312,8 +1378,9 @@  discard block
 block discarded – undo
1312 1378
 	global $context, $txt, $modSettings;
1313 1379
 
1314 1380
 	// Do a quick check to ensure people aren't getting here illegally!
1315
-	if (!$context['user']['is_owner'] || empty($modSettings['enable_buddylist']))
1316
-		fatal_lang_error('no_access', false);
1381
+	if (!$context['user']['is_owner'] || empty($modSettings['enable_buddylist'])) {
1382
+			fatal_lang_error('no_access', false);
1383
+	}
1317 1384
 
1318 1385
 	// Can we email the user direct?
1319 1386
 	$context['can_moderate_forum'] = allowedTo('moderate_forum');
@@ -1343,9 +1410,10 @@  discard block
 block discarded – undo
1343 1410
 	$context['sub_template'] = $subActions[$context['list_area']][0];
1344 1411
 	$call = call_helper($subActions[$context['list_area']][0], true);
1345 1412
 
1346
-	if (!empty($call))
1347
-		call_user_func($call, $memID);
1348
-}
1413
+	if (!empty($call)) {
1414
+			call_user_func($call, $memID);
1415
+	}
1416
+	}
1349 1417
 
1350 1418
 /**
1351 1419
  * Show all the users buddies, as well as a add/delete interface.
@@ -1359,9 +1427,10 @@  discard block
 block discarded – undo
1359 1427
 
1360 1428
 	// For making changes!
1361 1429
 	$buddiesArray = explode(',', $user_profile[$memID]['buddy_list']);
1362
-	foreach ($buddiesArray as $k => $dummy)
1363
-		if ($dummy == '')
1430
+	foreach ($buddiesArray as $k => $dummy) {
1431
+			if ($dummy == '')
1364 1432
 			unset($buddiesArray[$k]);
1433
+	}
1365 1434
 
1366 1435
 	// Removing a buddy?
1367 1436
 	if (isset($_GET['remove']))
@@ -1373,10 +1442,11 @@  discard block
 block discarded – undo
1373 1442
 		$_SESSION['prf-save'] = $txt['could_not_remove_person'];
1374 1443
 
1375 1444
 		// Heh, I'm lazy, do it the easy way...
1376
-		foreach ($buddiesArray as $key => $buddy)
1377
-			if ($buddy == (int) $_GET['remove'])
1445
+		foreach ($buddiesArray as $key => $buddy) {
1446
+					if ($buddy == (int) $_GET['remove'])
1378 1447
 			{
1379 1448
 				unset($buddiesArray[$key]);
1449
+		}
1380 1450
 				$_SESSION['prf-save'] = true;
1381 1451
 			}
1382 1452
 
@@ -1386,8 +1456,7 @@  discard block
 block discarded – undo
1386 1456
 
1387 1457
 		// Redirect off the page because we don't like all this ugly query stuff to stick in the history.
1388 1458
 		redirectexit('action=profile;area=lists;sa=buddies;u=' . $memID);
1389
-	}
1390
-	elseif (isset($_POST['new_buddy']))
1459
+	} elseif (isset($_POST['new_buddy']))
1391 1460
 	{
1392 1461
 		checkSession();
1393 1462
 
@@ -1400,8 +1469,9 @@  discard block
 block discarded – undo
1400 1469
 		{
1401 1470
 			$new_buddies[$k] = strtr(trim($new_buddies[$k]), array('\'' => '&#039;'));
1402 1471
 
1403
-			if (strlen($new_buddies[$k]) == 0 || in_array($new_buddies[$k], array($user_profile[$memID]['member_name'], $user_profile[$memID]['real_name'])))
1404
-				unset($new_buddies[$k]);
1472
+			if (strlen($new_buddies[$k]) == 0 || in_array($new_buddies[$k], array($user_profile[$memID]['member_name'], $user_profile[$memID]['real_name']))) {
1473
+							unset($new_buddies[$k]);
1474
+			}
1405 1475
 		}
1406 1476
 
1407 1477
 		call_integration_hook('integrate_add_buddies', array($memID, &$new_buddies));
@@ -1421,16 +1491,18 @@  discard block
 block discarded – undo
1421 1491
 				)
1422 1492
 			);
1423 1493
 
1424
-			if ($smcFunc['db_num_rows']($request) != 0)
1425
-				$_SESSION['prf-save'] = true;
1494
+			if ($smcFunc['db_num_rows']($request) != 0) {
1495
+							$_SESSION['prf-save'] = true;
1496
+			}
1426 1497
 
1427 1498
 			// Add the new member to the buddies array.
1428 1499
 			while ($row = $smcFunc['db_fetch_assoc']($request))
1429 1500
 			{
1430
-				if (in_array($row['id_member'], $buddiesArray))
1431
-					continue;
1432
-				else
1433
-					$buddiesArray[] = (int) $row['id_member'];
1501
+				if (in_array($row['id_member'], $buddiesArray)) {
1502
+									continue;
1503
+				} else {
1504
+									$buddiesArray[] = (int) $row['id_member'];
1505
+				}
1434 1506
 			}
1435 1507
 			$smcFunc['db_free_result']($request);
1436 1508
 
@@ -1460,18 +1532,20 @@  discard block
 block discarded – undo
1460 1532
 
1461 1533
 	$context['custom_pf'] = array();
1462 1534
 	$disabled_fields = isset($modSettings['disabled_profile_fields']) ? array_flip(explode(',', $modSettings['disabled_profile_fields'])) : array();
1463
-	while ($row = $smcFunc['db_fetch_assoc']($request))
1464
-		if (!isset($disabled_fields[$row['col_name']]))
1535
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1536
+			if (!isset($disabled_fields[$row['col_name']]))
1465 1537
 			$context['custom_pf'][$row['col_name']] = array(
1466 1538
 				'label' => $row['field_name'],
1467 1539
 				'type' => $row['field_type'],
1468 1540
 				'bbc' => !empty($row['bbc']),
1469 1541
 				'enclose' => $row['enclose'],
1470 1542
 			);
1543
+	}
1471 1544
 
1472 1545
 	// Gotta disable the gender option.
1473
-	if (isset($context['custom_pf']['cust_gender']) && $context['custom_pf']['cust_gender'] == 'None')
1474
-		unset($context['custom_pf']['cust_gender']);
1546
+	if (isset($context['custom_pf']['cust_gender']) && $context['custom_pf']['cust_gender'] == 'None') {
1547
+			unset($context['custom_pf']['cust_gender']);
1548
+	}
1475 1549
 
1476 1550
 	$smcFunc['db_free_result']($request);
1477 1551
 
@@ -1488,8 +1562,9 @@  discard block
 block discarded – undo
1488 1562
 				'buddy_list_count' => substr_count($user_profile[$memID]['buddy_list'], ',') + 1,
1489 1563
 			)
1490 1564
 		);
1491
-		while ($row = $smcFunc['db_fetch_assoc']($result))
1492
-			$buddies[] = $row['id_member'];
1565
+		while ($row = $smcFunc['db_fetch_assoc']($result)) {
1566
+					$buddies[] = $row['id_member'];
1567
+		}
1493 1568
 		$smcFunc['db_free_result']($result);
1494 1569
 	}
1495 1570
 
@@ -1517,30 +1592,32 @@  discard block
 block discarded – undo
1517 1592
 					continue;
1518 1593
 				}
1519 1594
 
1520
-				if ($column['bbc'] && !empty($context['buddies'][$buddy]['options'][$key]))
1521
-					$context['buddies'][$buddy]['options'][$key] = strip_tags(parse_bbc($context['buddies'][$buddy]['options'][$key]));
1522
-
1523
-				elseif ($column['type'] == 'check')
1524
-					$context['buddies'][$buddy]['options'][$key] = $context['buddies'][$buddy]['options'][$key] == 0 ? $txt['no'] : $txt['yes'];
1595
+				if ($column['bbc'] && !empty($context['buddies'][$buddy]['options'][$key])) {
1596
+									$context['buddies'][$buddy]['options'][$key] = strip_tags(parse_bbc($context['buddies'][$buddy]['options'][$key]));
1597
+				} elseif ($column['type'] == 'check') {
1598
+									$context['buddies'][$buddy]['options'][$key] = $context['buddies'][$buddy]['options'][$key] == 0 ? $txt['no'] : $txt['yes'];
1599
+				}
1525 1600
 
1526 1601
 				// Enclosing the user input within some other text?
1527
-				if (!empty($column['enclose']) && !empty($context['buddies'][$buddy]['options'][$key]))
1528
-					$context['buddies'][$buddy]['options'][$key] = strtr($column['enclose'], array(
1602
+				if (!empty($column['enclose']) && !empty($context['buddies'][$buddy]['options'][$key])) {
1603
+									$context['buddies'][$buddy]['options'][$key] = strtr($column['enclose'], array(
1529 1604
 						'{SCRIPTURL}' => $scripturl,
1530 1605
 						'{IMAGES_URL}' => $settings['images_url'],
1531 1606
 						'{DEFAULT_IMAGES_URL}' => $settings['default_images_url'],
1532 1607
 						'{INPUT}' => $context['buddies'][$buddy]['options'][$key],
1533 1608
 					));
1609
+				}
1534 1610
 			}
1535 1611
 		}
1536 1612
 	}
1537 1613
 
1538 1614
 	if (isset($_SESSION['prf-save']))
1539 1615
 	{
1540
-		if ($_SESSION['prf-save'] === true)
1541
-			$context['saved_successful'] = true;
1542
-		else
1543
-			$context['saved_failed'] = $_SESSION['prf-save'];
1616
+		if ($_SESSION['prf-save'] === true) {
1617
+					$context['saved_successful'] = true;
1618
+		} else {
1619
+					$context['saved_failed'] = $_SESSION['prf-save'];
1620
+		}
1544 1621
 
1545 1622
 		unset($_SESSION['prf-save']);
1546 1623
 	}
@@ -1560,9 +1637,10 @@  discard block
 block discarded – undo
1560 1637
 
1561 1638
 	// For making changes!
1562 1639
 	$ignoreArray = explode(',', $user_profile[$memID]['pm_ignore_list']);
1563
-	foreach ($ignoreArray as $k => $dummy)
1564
-		if ($dummy == '')
1640
+	foreach ($ignoreArray as $k => $dummy) {
1641
+			if ($dummy == '')
1565 1642
 			unset($ignoreArray[$k]);
1643
+	}
1566 1644
 
1567 1645
 	// Removing a member from the ignore list?
1568 1646
 	if (isset($_GET['remove']))
@@ -1572,10 +1650,11 @@  discard block
 block discarded – undo
1572 1650
 		$_SESSION['prf-save'] = $txt['could_not_remove_person'];
1573 1651
 
1574 1652
 		// Heh, I'm lazy, do it the easy way...
1575
-		foreach ($ignoreArray as $key => $id_remove)
1576
-			if ($id_remove == (int) $_GET['remove'])
1653
+		foreach ($ignoreArray as $key => $id_remove) {
1654
+					if ($id_remove == (int) $_GET['remove'])
1577 1655
 			{
1578 1656
 				unset($ignoreArray[$key]);
1657
+		}
1579 1658
 				$_SESSION['prf-save'] = true;
1580 1659
 			}
1581 1660
 
@@ -1585,8 +1664,7 @@  discard block
 block discarded – undo
1585 1664
 
1586 1665
 		// Redirect off the page because we don't like all this ugly query stuff to stick in the history.
1587 1666
 		redirectexit('action=profile;area=lists;sa=ignore;u=' . $memID);
1588
-	}
1589
-	elseif (isset($_POST['new_ignore']))
1667
+	} elseif (isset($_POST['new_ignore']))
1590 1668
 	{
1591 1669
 		checkSession();
1592 1670
 		// Prepare the string for extraction...
@@ -1598,8 +1676,9 @@  discard block
 block discarded – undo
1598 1676
 		{
1599 1677
 			$new_entries[$k] = strtr(trim($new_entries[$k]), array('\'' => '&#039;'));
1600 1678
 
1601
-			if (strlen($new_entries[$k]) == 0 || in_array($new_entries[$k], array($user_profile[$memID]['member_name'], $user_profile[$memID]['real_name'])))
1602
-				unset($new_entries[$k]);
1679
+			if (strlen($new_entries[$k]) == 0 || in_array($new_entries[$k], array($user_profile[$memID]['member_name'], $user_profile[$memID]['real_name']))) {
1680
+							unset($new_entries[$k]);
1681
+			}
1603 1682
 		}
1604 1683
 
1605 1684
 		$_SESSION['prf-save'] = $txt['could_not_add_person'];
@@ -1617,16 +1696,18 @@  discard block
 block discarded – undo
1617 1696
 				)
1618 1697
 			);
1619 1698
 
1620
-			if ($smcFunc['db_num_rows']($request) != 0)
1621
-				$_SESSION['prf-save'] = true;
1699
+			if ($smcFunc['db_num_rows']($request) != 0) {
1700
+							$_SESSION['prf-save'] = true;
1701
+			}
1622 1702
 
1623 1703
 			// Add the new member to the buddies array.
1624 1704
 			while ($row = $smcFunc['db_fetch_assoc']($request))
1625 1705
 			{
1626
-				if (in_array($row['id_member'], $ignoreArray))
1627
-					continue;
1628
-				else
1629
-					$ignoreArray[] = (int) $row['id_member'];
1706
+				if (in_array($row['id_member'], $ignoreArray)) {
1707
+									continue;
1708
+				} else {
1709
+									$ignoreArray[] = (int) $row['id_member'];
1710
+				}
1630 1711
 			}
1631 1712
 			$smcFunc['db_free_result']($request);
1632 1713
 
@@ -1655,8 +1736,9 @@  discard block
 block discarded – undo
1655 1736
 				'ignore_list_count' => substr_count($user_profile[$memID]['pm_ignore_list'], ',') + 1,
1656 1737
 			)
1657 1738
 		);
1658
-		while ($row = $smcFunc['db_fetch_assoc']($result))
1659
-			$ignored[] = $row['id_member'];
1739
+		while ($row = $smcFunc['db_fetch_assoc']($result)) {
1740
+					$ignored[] = $row['id_member'];
1741
+		}
1660 1742
 		$smcFunc['db_free_result']($result);
1661 1743
 	}
1662 1744
 
@@ -1675,10 +1757,11 @@  discard block
 block discarded – undo
1675 1757
 
1676 1758
 	if (isset($_SESSION['prf-save']))
1677 1759
 	{
1678
-		if ($_SESSION['prf-save'] === true)
1679
-			$context['saved_successful'] = true;
1680
-		else
1681
-			$context['saved_failed'] = $_SESSION['prf-save'];
1760
+		if ($_SESSION['prf-save'] === true) {
1761
+					$context['saved_successful'] = true;
1762
+		} else {
1763
+					$context['saved_failed'] = $_SESSION['prf-save'];
1764
+		}
1682 1765
 
1683 1766
 		unset($_SESSION['prf-save']);
1684 1767
 	}
@@ -1694,8 +1777,9 @@  discard block
 block discarded – undo
1694 1777
 	global $context, $txt;
1695 1778
 
1696 1779
 	loadThemeOptions($memID);
1697
-	if (allowedTo(array('profile_identity_own', 'profile_identity_any', 'profile_password_own', 'profile_password_any')))
1698
-		loadCustomFields($memID, 'account');
1780
+	if (allowedTo(array('profile_identity_own', 'profile_identity_any', 'profile_password_own', 'profile_password_any'))) {
1781
+			loadCustomFields($memID, 'account');
1782
+	}
1699 1783
 
1700 1784
 	$context['sub_template'] = 'edit_options';
1701 1785
 	$context['page_desc'] = $txt['account_info'];
@@ -1722,8 +1806,9 @@  discard block
 block discarded – undo
1722 1806
 	global $context, $txt;
1723 1807
 
1724 1808
 	loadThemeOptions($memID);
1725
-	if (allowedTo(array('profile_forum_own', 'profile_forum_any')))
1726
-		loadCustomFields($memID, 'forumprofile');
1809
+	if (allowedTo(array('profile_forum_own', 'profile_forum_any'))) {
1810
+			loadCustomFields($memID, 'forumprofile');
1811
+	}
1727 1812
 
1728 1813
 	$context['sub_template'] = 'edit_options';
1729 1814
 	$context['page_desc'] = $txt['forumProfile_info'];
@@ -1756,18 +1841,21 @@  discard block
 block discarded – undo
1756 1841
 	$dirs = array();
1757 1842
 	$files = array();
1758 1843
 
1759
-	if (!$dir)
1760
-		return array();
1844
+	if (!$dir) {
1845
+			return array();
1846
+	}
1761 1847
 
1762 1848
 	while ($line = $dir->read())
1763 1849
 	{
1764
-		if (in_array($line, array('.', '..', 'blank.png', 'index.php')))
1765
-			continue;
1850
+		if (in_array($line, array('.', '..', 'blank.png', 'index.php'))) {
1851
+					continue;
1852
+		}
1766 1853
 
1767
-		if (is_dir($modSettings['avatar_directory'] . '/' . $directory . (!empty($directory) ? '/' : '') . $line))
1768
-			$dirs[] = $line;
1769
-		else
1770
-			$files[] = $line;
1854
+		if (is_dir($modSettings['avatar_directory'] . '/' . $directory . (!empty($directory) ? '/' : '') . $line)) {
1855
+					$dirs[] = $line;
1856
+		} else {
1857
+					$files[] = $line;
1858
+		}
1771 1859
 	}
1772 1860
 	$dir->close();
1773 1861
 
@@ -1788,14 +1876,15 @@  discard block
 block discarded – undo
1788 1876
 	foreach ($dirs as $line)
1789 1877
 	{
1790 1878
 		$tmp = getAvatars($directory . (!empty($directory) ? '/' : '') . $line, $level + 1);
1791
-		if (!empty($tmp))
1792
-			$result[] = array(
1879
+		if (!empty($tmp)) {
1880
+					$result[] = array(
1793 1881
 				'filename' => $smcFunc['htmlspecialchars']($line),
1794 1882
 				'checked' => strpos($context['member']['avatar']['server_pic'], $line . '/') !== false,
1795 1883
 				'name' => '[' . $smcFunc['htmlspecialchars'](str_replace('_', ' ', $line)) . ']',
1796 1884
 				'is_dir' => true,
1797 1885
 				'files' => $tmp
1798 1886
 		);
1887
+		}
1799 1888
 		unset($tmp);
1800 1889
 	}
1801 1890
 
@@ -1805,8 +1894,9 @@  discard block
 block discarded – undo
1805 1894
 		$extension = substr(strrchr($line, '.'), 1);
1806 1895
 
1807 1896
 		// Make sure it is an image.
1808
-		if (strcasecmp($extension, 'gif') != 0 && strcasecmp($extension, 'jpg') != 0 && strcasecmp($extension, 'jpeg') != 0 && strcasecmp($extension, 'png') != 0 && strcasecmp($extension, 'bmp') != 0)
1809
-			continue;
1897
+		if (strcasecmp($extension, 'gif') != 0 && strcasecmp($extension, 'jpg') != 0 && strcasecmp($extension, 'jpeg') != 0 && strcasecmp($extension, 'png') != 0 && strcasecmp($extension, 'bmp') != 0) {
1898
+					continue;
1899
+		}
1810 1900
 
1811 1901
 		$result[] = array(
1812 1902
 			'filename' => $smcFunc['htmlspecialchars']($line),
@@ -1814,8 +1904,9 @@  discard block
 block discarded – undo
1814 1904
 			'name' => $smcFunc['htmlspecialchars'](str_replace('_', ' ', $filename)),
1815 1905
 			'is_dir' => false
1816 1906
 		);
1817
-		if ($level == 1)
1818
-			$context['avatar_list'][] = $directory . '/' . $line;
1907
+		if ($level == 1) {
1908
+					$context['avatar_list'][] = $directory . '/' . $line;
1909
+		}
1819 1910
 	}
1820 1911
 
1821 1912
 	return $result;
@@ -1837,8 +1928,9 @@  discard block
 block discarded – undo
1837 1928
 	call_integration_hook('integrate_theme_options');
1838 1929
 
1839 1930
 	loadThemeOptions($memID);
1840
-	if (allowedTo(array('profile_extra_own', 'profile_extra_any')))
1841
-		loadCustomFields($memID, 'theme');
1931
+	if (allowedTo(array('profile_extra_own', 'profile_extra_any'))) {
1932
+			loadCustomFields($memID, 'theme');
1933
+	}
1842 1934
 
1843 1935
 	$context['sub_template'] = 'edit_options';
1844 1936
 	$context['page_desc'] = $txt['theme_info'];
@@ -1892,16 +1984,19 @@  discard block
 block discarded – undo
1892 1984
 {
1893 1985
 	global $txt, $context, $modSettings, $smcFunc, $sourcedir;
1894 1986
 
1895
-	if (!isset($context['token_check']))
1896
-		$context['token_check'] = 'profile-nt' . $memID;
1987
+	if (!isset($context['token_check'])) {
1988
+			$context['token_check'] = 'profile-nt' . $memID;
1989
+	}
1897 1990
 
1898 1991
 	is_not_guest();
1899
-	if (!$context['user']['is_owner'])
1900
-		isAllowedTo('profile_extra_any');
1992
+	if (!$context['user']['is_owner']) {
1993
+			isAllowedTo('profile_extra_any');
1994
+	}
1901 1995
 
1902 1996
 	// Set the post action if we're coming from the profile...
1903
-	if (!isset($context['action']))
1904
-		$context['action'] = 'action=profile;area=notification;sa=alerts;u=' . $memID;
1997
+	if (!isset($context['action'])) {
1998
+			$context['action'] = 'action=profile;area=notification;sa=alerts;u=' . $memID;
1999
+	}
1905 2000
 
1906 2001
 	// What options are set
1907 2002
 	loadThemeOptions($memID);
@@ -1988,28 +2083,34 @@  discard block
 block discarded – undo
1988 2083
 	);
1989 2084
 
1990 2085
 	// There are certain things that are disabled at the group level.
1991
-	if (empty($modSettings['cal_enabled']))
1992
-		unset($alert_types['calendar']);
2086
+	if (empty($modSettings['cal_enabled'])) {
2087
+			unset($alert_types['calendar']);
2088
+	}
1993 2089
 
1994 2090
 	// Disable paid subscriptions at group level if they're disabled
1995
-	if (empty($modSettings['paid_enabled']))
1996
-		unset($alert_types['paidsubs']);
2091
+	if (empty($modSettings['paid_enabled'])) {
2092
+			unset($alert_types['paidsubs']);
2093
+	}
1997 2094
 
1998 2095
 	// Disable membergroup requests at group level if they're disabled
1999
-	if (empty($modSettings['show_group_membership']))
2000
-		unset($alert_types['groupr'], $alert_types['members']['request_group']);
2096
+	if (empty($modSettings['show_group_membership'])) {
2097
+			unset($alert_types['groupr'], $alert_types['members']['request_group']);
2098
+	}
2001 2099
 
2002 2100
 	// Disable mentions if they're disabled
2003
-	if (empty($modSettings['enable_mentions']))
2004
-		unset($alert_types['msg']['msg_mention']);
2101
+	if (empty($modSettings['enable_mentions'])) {
2102
+			unset($alert_types['msg']['msg_mention']);
2103
+	}
2005 2104
 
2006 2105
 	// Disable likes if they're disabled
2007
-	if (empty($modSettings['enable_likes']))
2008
-		unset($alert_types['msg']['msg_like']);
2106
+	if (empty($modSettings['enable_likes'])) {
2107
+			unset($alert_types['msg']['msg_like']);
2108
+	}
2009 2109
 
2010 2110
 	// Disable buddy requests if they're disabled
2011
-	if (empty($modSettings['enable_buddylist']))
2012
-		unset($alert_types['members']['buddy_request']);
2111
+	if (empty($modSettings['enable_buddylist'])) {
2112
+			unset($alert_types['members']['buddy_request']);
2113
+	}
2013 2114
 
2014 2115
 	// Now, now, we could pass this through global but we should really get into the habit of
2015 2116
 	// passing content to hooks, not expecting hooks to splatter everything everywhere.
@@ -2037,15 +2138,17 @@  discard block
 block discarded – undo
2037 2138
 			$perms_cache['manage_membergroups'] = in_array($memID, $members);
2038 2139
 		}
2039 2140
 
2040
-		if (!($perms_cache['manage_membergroups'] || $can_mod != 0))
2041
-			unset($alert_types['members']['request_group']);
2141
+		if (!($perms_cache['manage_membergroups'] || $can_mod != 0)) {
2142
+					unset($alert_types['members']['request_group']);
2143
+		}
2042 2144
 
2043 2145
 		foreach ($alert_types as $group => $items)
2044 2146
 		{
2045 2147
 			foreach ($items as $alert_key => $alert_value)
2046 2148
 			{
2047
-				if (!isset($alert_value['permission']))
2048
-					continue;
2149
+				if (!isset($alert_value['permission'])) {
2150
+									continue;
2151
+				}
2049 2152
 				if (!isset($perms_cache[$alert_value['permission']['name']]))
2050 2153
 				{
2051 2154
 					$in_board = !empty($alert_value['permission']['is_board']) ? 0 : null;
@@ -2053,12 +2156,14 @@  discard block
 block discarded – undo
2053 2156
 					$perms_cache[$alert_value['permission']['name']] = in_array($memID, $members);
2054 2157
 				}
2055 2158
 
2056
-				if (!$perms_cache[$alert_value['permission']['name']])
2057
-					unset ($alert_types[$group][$alert_key]);
2159
+				if (!$perms_cache[$alert_value['permission']['name']]) {
2160
+									unset ($alert_types[$group][$alert_key]);
2161
+				}
2058 2162
 			}
2059 2163
 
2060
-			if (empty($alert_types[$group]))
2061
-				unset ($alert_types[$group]);
2164
+			if (empty($alert_types[$group])) {
2165
+							unset ($alert_types[$group]);
2166
+			}
2062 2167
 		}
2063 2168
 	}
2064 2169
 
@@ -2090,9 +2195,9 @@  discard block
 block discarded – undo
2090 2195
 						$update_prefs[$this_option[1]] = !empty($_POST['opt_' . $this_option[1]]) ? 1 : 0;
2091 2196
 						break;
2092 2197
 					case 'select':
2093
-						if (isset($_POST['opt_' . $this_option[1]], $this_option['opts'][$_POST['opt_' . $this_option[1]]]))
2094
-							$update_prefs[$this_option[1]] = $_POST['opt_' . $this_option[1]];
2095
-						else
2198
+						if (isset($_POST['opt_' . $this_option[1]], $this_option['opts'][$_POST['opt_' . $this_option[1]]])) {
2199
+													$update_prefs[$this_option[1]] = $_POST['opt_' . $this_option[1]];
2200
+						} else
2096 2201
 						{
2097 2202
 							// We didn't have a sane value. Let's grab the first item from the possibles.
2098 2203
 							$keys = array_keys($this_option['opts']);
@@ -2112,23 +2217,28 @@  discard block
 block discarded – undo
2112 2217
 				$this_value = 0;
2113 2218
 				foreach ($context['alert_bits'] as $type => $bitvalue)
2114 2219
 				{
2115
-					if ($this_options[$type] == 'yes' && !empty($_POST[$type . '_' . $item_key]) || $this_options[$type] == 'always')
2116
-						$this_value |= $bitvalue;
2220
+					if ($this_options[$type] == 'yes' && !empty($_POST[$type . '_' . $item_key]) || $this_options[$type] == 'always') {
2221
+											$this_value |= $bitvalue;
2222
+					}
2223
+				}
2224
+				if (!isset($context['alert_prefs'][$item_key]) || $context['alert_prefs'][$item_key] != $this_value) {
2225
+									$update_prefs[$item_key] = $this_value;
2117 2226
 				}
2118
-				if (!isset($context['alert_prefs'][$item_key]) || $context['alert_prefs'][$item_key] != $this_value)
2119
-					$update_prefs[$item_key] = $this_value;
2120 2227
 			}
2121 2228
 		}
2122 2229
 
2123
-		if (!empty($_POST['opt_alert_timeout']))
2124
-			$update_prefs['alert_timeout'] = $context['member']['alert_timeout'] = (int) $_POST['opt_alert_timeout'];
2230
+		if (!empty($_POST['opt_alert_timeout'])) {
2231
+					$update_prefs['alert_timeout'] = $context['member']['alert_timeout'] = (int) $_POST['opt_alert_timeout'];
2232
+		}
2125 2233
 
2126
-		if (!empty($_POST['notify_announcements']))
2127
-			$update_prefs['announcements'] = $context['member']['notify_announcements'] = (int) $_POST['notify_announcements'];
2234
+		if (!empty($_POST['notify_announcements'])) {
2235
+					$update_prefs['announcements'] = $context['member']['notify_announcements'] = (int) $_POST['notify_announcements'];
2236
+		}
2128 2237
 
2129 2238
 		setNotifyPrefs((int) $memID, $update_prefs);
2130
-		foreach ($update_prefs as $pref => $value)
2131
-			$context['alert_prefs'][$pref] = $value;
2239
+		foreach ($update_prefs as $pref => $value) {
2240
+					$context['alert_prefs'][$pref] = $value;
2241
+		}
2132 2242
 
2133 2243
 		makeNotificationChanges($memID);
2134 2244
 
@@ -2158,8 +2268,9 @@  discard block
 block discarded – undo
2158 2268
 
2159 2269
 	// Now we're all set up.
2160 2270
 	is_not_guest();
2161
-	if (!$context['user']['is_owner'])
2162
-		fatal_error('no_access');
2271
+	if (!$context['user']['is_owner']) {
2272
+			fatal_error('no_access');
2273
+	}
2163 2274
 
2164 2275
 	checkSession('get');
2165 2276
 
@@ -2191,8 +2302,9 @@  discard block
 block discarded – undo
2191 2302
 {
2192 2303
 	global $smcFunc;
2193 2304
 
2194
-	if (empty($toMark) || empty($memID))
2195
-		return false;
2305
+	if (empty($toMark) || empty($memID)) {
2306
+			return false;
2307
+	}
2196 2308
 
2197 2309
 	$toMark = (array) $toMark;
2198 2310
 
@@ -2226,8 +2338,9 @@  discard block
 block discarded – undo
2226 2338
 {
2227 2339
 	global $smcFunc;
2228 2340
 
2229
-	if (empty($toDelete))
2230
-		return false;
2341
+	if (empty($toDelete)) {
2342
+			return false;
2343
+	}
2231 2344
 
2232 2345
 	$toDelete = (array) $toDelete;
2233 2346
 
@@ -2264,8 +2377,9 @@  discard block
 block discarded – undo
2264 2377
 {
2265 2378
 	global $smcFunc, $user_info;
2266 2379
 
2267
-	if (empty($memID))
2268
-		return false;
2380
+	if (empty($memID)) {
2381
+			return false;
2382
+	}
2269 2383
 
2270 2384
 	// Leave a place holder here for now.
2271 2385
 	// MySQL uses JSON_CONTAINS() to find data, Postgresql seems to be able to natively use it with JSONB column type.
@@ -2310,8 +2424,9 @@  discard block
 block discarded – undo
2310 2424
 		$alerts[$row['id_alert']] = !empty($row['extra']) ? $smcFunc['json_decode']($row['extra'], true) : array();
2311 2425
 
2312 2426
 		// Only add to possible boards ones that are not empty and that we haven't set before.
2313
-		if (!empty($alerts[$row['id_alert']]['board']) && !isset($possible_boards[$alerts[$row['id_alert']]['board']]))
2314
-			$possible_boards[$alerts[$row['id_alert']]['board']] = $alerts[$row['id_alert']]['board'];
2427
+		if (!empty($alerts[$row['id_alert']]['board']) && !isset($possible_boards[$alerts[$row['id_alert']]['board']])) {
2428
+					$possible_boards[$alerts[$row['id_alert']]['board']] = $alerts[$row['id_alert']]['board'];
2429
+		}
2315 2430
 	}
2316 2431
 	$smcFunc['db_free_result']($request);
2317 2432
 
@@ -2335,15 +2450,17 @@  discard block
 block discarded – undo
2335 2450
 				'query_see_board' => $query_see_board
2336 2451
 			)
2337 2452
 		);
2338
-		while ($row = $smcFunc['db_fetch_assoc']($request))
2339
-			$boards[$row['id_board']] = $row['id_board'];
2453
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
2454
+					$boards[$row['id_board']] = $row['id_board'];
2455
+		}
2340 2456
 	}
2341 2457
 	unset($possible_boards);
2342 2458
 
2343 2459
 	// Now check alerts again and remove any they can't see.
2344
-	foreach ($alerts as $id_alert => $extra)
2345
-		if (!isset($boards[$extra['board']]))
2346
-			unset($alerts[$id_alert]);		
2460
+	foreach ($alerts as $id_alert => $extra) {
2461
+			if (!isset($boards[$extra['board']]))
2462
+			unset($alerts[$id_alert]);
2463
+	}
2347 2464
 
2348 2465
 	return count($alerts);
2349 2466
 }
@@ -2406,8 +2523,9 @@  discard block
 block discarded – undo
2406 2523
 					{
2407 2524
 						$link = $topic['link'];
2408 2525
 
2409
-						if ($topic['new'])
2410
-							$link .= ' <a href="' . $topic['new_href'] . '" class="new_posts">' . $txt['new'] . '</a>';
2526
+						if ($topic['new']) {
2527
+													$link .= ' <a href="' . $topic['new_href'] . '" class="new_posts">' . $txt['new'] . '</a>';
2528
+						}
2411 2529
 
2412 2530
 						$link .= '<br><span class="smalltext"><em>' . $txt['in'] . ' ' . $topic['board_link'] . '</em></span>';
2413 2531
 
@@ -2558,8 +2676,9 @@  discard block
 block discarded – undo
2558 2676
 					{
2559 2677
 						$link = $board['link'];
2560 2678
 
2561
-						if ($board['new'])
2562
-							$link .= ' <a href="' . $board['href'] . '" class="new_posts">' . $txt['new'] . '</a>';
2679
+						if ($board['new']) {
2680
+													$link .= ' <a href="' . $board['href'] . '" class="new_posts">' . $txt['new'] . '</a>';
2681
+						}
2563 2682
 
2564 2683
 						return $link;
2565 2684
 					},
@@ -2759,8 +2878,8 @@  discard block
 block discarded – undo
2759 2878
 		)
2760 2879
 	);
2761 2880
 	$notification_boards = array();
2762
-	while ($row = $smcFunc['db_fetch_assoc']($request))
2763
-		$notification_boards[] = array(
2881
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
2882
+			$notification_boards[] = array(
2764 2883
 			'id' => $row['id_board'],
2765 2884
 			'name' => $row['name'],
2766 2885
 			'href' => $scripturl . '?board=' . $row['id_board'] . '.0',
@@ -2768,6 +2887,7 @@  discard block
 block discarded – undo
2768 2887
 			'new' => $row['board_read'] < $row['id_msg_updated'],
2769 2888
 			'notify_pref' => isset($prefs['board_notify_' . $row['id_board']]) ? $prefs['board_notify_' . $row['id_board']] : (!empty($prefs['board_notify']) ? $prefs['board_notify'] : 0),
2770 2889
 		);
2890
+	}
2771 2891
 	$smcFunc['db_free_result']($request);
2772 2892
 
2773 2893
 	return $notification_boards;
@@ -2782,17 +2902,18 @@  discard block
 block discarded – undo
2782 2902
 {
2783 2903
 	global $context, $options, $cur_profile, $smcFunc;
2784 2904
 
2785
-	if (isset($_POST['default_options']))
2786
-		$_POST['options'] = isset($_POST['options']) ? $_POST['options'] + $_POST['default_options'] : $_POST['default_options'];
2905
+	if (isset($_POST['default_options'])) {
2906
+			$_POST['options'] = isset($_POST['options']) ? $_POST['options'] + $_POST['default_options'] : $_POST['default_options'];
2907
+	}
2787 2908
 
2788 2909
 	if ($context['user']['is_owner'])
2789 2910
 	{
2790 2911
 		$context['member']['options'] = $options;
2791
-		if (isset($_POST['options']) && is_array($_POST['options']))
2792
-			foreach ($_POST['options'] as $k => $v)
2912
+		if (isset($_POST['options']) && is_array($_POST['options'])) {
2913
+					foreach ($_POST['options'] as $k => $v)
2793 2914
 				$context['member']['options'][$k] = $v;
2794
-	}
2795
-	else
2915
+		}
2916
+	} else
2796 2917
 	{
2797 2918
 		$request = $smcFunc['db_query']('', '
2798 2919
 			SELECT id_member, variable, value
@@ -2813,8 +2934,9 @@  discard block
 block discarded – undo
2813 2934
 				continue;
2814 2935
 			}
2815 2936
 
2816
-			if (isset($_POST['options'][$row['variable']]))
2817
-				$row['value'] = $_POST['options'][$row['variable']];
2937
+			if (isset($_POST['options'][$row['variable']])) {
2938
+							$row['value'] = $_POST['options'][$row['variable']];
2939
+			}
2818 2940
 			$context['member']['options'][$row['variable']] = $row['value'];
2819 2941
 		}
2820 2942
 		$smcFunc['db_free_result']($request);
@@ -2822,8 +2944,9 @@  discard block
 block discarded – undo
2822 2944
 		// Load up the default theme options for any missing.
2823 2945
 		foreach ($temp as $k => $v)
2824 2946
 		{
2825
-			if (!isset($context['member']['options'][$k]))
2826
-				$context['member']['options'][$k] = $v;
2947
+			if (!isset($context['member']['options'][$k])) {
2948
+							$context['member']['options'][$k] = $v;
2949
+			}
2827 2950
 		}
2828 2951
 	}
2829 2952
 }
@@ -2838,8 +2961,9 @@  discard block
 block discarded – undo
2838 2961
 	global $context, $modSettings, $smcFunc, $cur_profile, $sourcedir;
2839 2962
 
2840 2963
 	// Have the admins enabled this option?
2841
-	if (empty($modSettings['allow_ignore_boards']))
2842
-		fatal_lang_error('ignoreboards_disallowed', 'user');
2964
+	if (empty($modSettings['allow_ignore_boards'])) {
2965
+			fatal_lang_error('ignoreboards_disallowed', 'user');
2966
+	}
2843 2967
 
2844 2968
 	// Find all the boards this user is allowed to see.
2845 2969
 	$request = $smcFunc['db_query']('order_by_board_order', '
@@ -2859,12 +2983,13 @@  discard block
 block discarded – undo
2859 2983
 	while ($row = $smcFunc['db_fetch_assoc']($request))
2860 2984
 	{
2861 2985
 		// This category hasn't been set up yet..
2862
-		if (!isset($context['categories'][$row['id_cat']]))
2863
-			$context['categories'][$row['id_cat']] = array(
2986
+		if (!isset($context['categories'][$row['id_cat']])) {
2987
+					$context['categories'][$row['id_cat']] = array(
2864 2988
 				'id' => $row['id_cat'],
2865 2989
 				'name' => $row['cat_name'],
2866 2990
 				'boards' => array()
2867 2991
 			);
2992
+		}
2868 2993
 
2869 2994
 		// Set this board up, and let the template know when it's a child.  (indent them..)
2870 2995
 		$context['categories'][$row['id_cat']]['boards'][$row['id_board']] = array(
@@ -2894,18 +3019,20 @@  discard block
 block discarded – undo
2894 3019
 	}
2895 3020
 
2896 3021
 	$max_boards = ceil(count($temp_boards) / 2);
2897
-	if ($max_boards == 1)
2898
-		$max_boards = 2;
3022
+	if ($max_boards == 1) {
3023
+			$max_boards = 2;
3024
+	}
2899 3025
 
2900 3026
 	// Now, alternate them so they can be shown left and right ;).
2901 3027
 	$context['board_columns'] = array();
2902 3028
 	for ($i = 0; $i < $max_boards; $i++)
2903 3029
 	{
2904 3030
 		$context['board_columns'][] = $temp_boards[$i];
2905
-		if (isset($temp_boards[$i + $max_boards]))
2906
-			$context['board_columns'][] = $temp_boards[$i + $max_boards];
2907
-		else
2908
-			$context['board_columns'][] = array();
3031
+		if (isset($temp_boards[$i + $max_boards])) {
3032
+					$context['board_columns'][] = $temp_boards[$i + $max_boards];
3033
+		} else {
3034
+					$context['board_columns'][] = array();
3035
+		}
2909 3036
 	}
2910 3037
 
2911 3038
 	loadThemeOptions($memID);
@@ -2974,8 +3101,9 @@  discard block
 block discarded – undo
2974 3101
 	while ($row = $smcFunc['db_fetch_assoc']($request))
2975 3102
 	{
2976 3103
 		// We should skip the administrator group if they don't have the admin_forum permission!
2977
-		if ($row['id_group'] == 1 && !allowedTo('admin_forum'))
2978
-			continue;
3104
+		if ($row['id_group'] == 1 && !allowedTo('admin_forum')) {
3105
+					continue;
3106
+		}
2979 3107
 
2980 3108
 		$context['member_groups'][$row['id_group']] = array(
2981 3109
 			'id' => $row['id_group'],
@@ -3021,16 +3149,17 @@  discard block
 block discarded – undo
3021 3149
 	$context['max_signature_length'] = $context['signature_limits']['max_length'];
3022 3150
 	// Warning message for signature image limits?
3023 3151
 	$context['signature_warning'] = '';
3024
-	if ($context['signature_limits']['max_image_width'] && $context['signature_limits']['max_image_height'])
3025
-		$context['signature_warning'] = sprintf($txt['profile_error_signature_max_image_size'], $context['signature_limits']['max_image_width'], $context['signature_limits']['max_image_height']);
3026
-	elseif ($context['signature_limits']['max_image_width'] || $context['signature_limits']['max_image_height'])
3027
-		$context['signature_warning'] = sprintf($txt['profile_error_signature_max_image_' . ($context['signature_limits']['max_image_width'] ? 'width' : 'height')], $context['signature_limits'][$context['signature_limits']['max_image_width'] ? 'max_image_width' : 'max_image_height']);
3152
+	if ($context['signature_limits']['max_image_width'] && $context['signature_limits']['max_image_height']) {
3153
+			$context['signature_warning'] = sprintf($txt['profile_error_signature_max_image_size'], $context['signature_limits']['max_image_width'], $context['signature_limits']['max_image_height']);
3154
+	} elseif ($context['signature_limits']['max_image_width'] || $context['signature_limits']['max_image_height']) {
3155
+			$context['signature_warning'] = sprintf($txt['profile_error_signature_max_image_' . ($context['signature_limits']['max_image_width'] ? 'width' : 'height')], $context['signature_limits'][$context['signature_limits']['max_image_width'] ? 'max_image_width' : 'max_image_height']);
3156
+	}
3028 3157
 
3029 3158
 	$context['show_spellchecking'] = !empty($modSettings['enableSpellChecking']) && (function_exists('pspell_new') || (function_exists('enchant_broker_init') && ($txt['lang_charset'] == 'UTF-8' || function_exists('iconv'))));
3030 3159
 
3031
-	if (empty($context['do_preview']))
3032
-		$context['member']['signature'] = empty($cur_profile['signature']) ? '' : str_replace(array('<br>', '<', '>', '"', '\''), array("\n", '&lt;', '&gt;', '&quot;', '&#039;'), $cur_profile['signature']);
3033
-	else
3160
+	if (empty($context['do_preview'])) {
3161
+			$context['member']['signature'] = empty($cur_profile['signature']) ? '' : str_replace(array('<br>', '<', '>', '"', '\''), array("\n", '&lt;', '&gt;', '&quot;', '&#039;'), $cur_profile['signature']);
3162
+	} else
3034 3163
 	{
3035 3164
 		$signature = !empty($_POST['signature']) ? $_POST['signature'] : '';
3036 3165
 		$validation = profileValidateSignature($signature);
@@ -3040,8 +3169,9 @@  discard block
 block discarded – undo
3040 3169
 			$context['post_errors'] = array();
3041 3170
 		}
3042 3171
 		$context['post_errors'][] = 'signature_not_yet_saved';
3043
-		if ($validation !== true && $validation !== false)
3044
-			$context['post_errors'][] = $validation;
3172
+		if ($validation !== true && $validation !== false) {
3173
+					$context['post_errors'][] = $validation;
3174
+		}
3045 3175
 
3046 3176
 		censorText($context['member']['signature']);
3047 3177
 		$context['member']['current_signature'] = $context['member']['signature'];
@@ -3051,8 +3181,9 @@  discard block
 block discarded – undo
3051 3181
 	}
3052 3182
 
3053 3183
 	// Load the spell checker?
3054
-	if ($context['show_spellchecking'])
3055
-		loadJavaScriptFile('spellcheck.js', array('defer' => false, 'minimize' => true), 'smf_spellcheck');
3184
+	if ($context['show_spellchecking']) {
3185
+			loadJavaScriptFile('spellcheck.js', array('defer' => false, 'minimize' => true), 'smf_spellcheck');
3186
+	}
3056 3187
 
3057 3188
 	return true;
3058 3189
 }
@@ -3086,8 +3217,7 @@  discard block
 block discarded – undo
3086 3217
 			'external' => $cur_profile['avatar'] == 'gravatar://' || empty($modSettings['gravatarAllowExtraEmail']) || !empty($modSettings['gravatarOverride']) ? $cur_profile['email_address'] : substr($cur_profile['avatar'], 11)
3087 3218
 		);
3088 3219
 		$context['member']['avatar']['href'] = get_gravatar_url($context['member']['avatar']['external']);
3089
-	}
3090
-	elseif ($cur_profile['avatar'] == '' && $cur_profile['id_attach'] > 0 && $context['member']['avatar']['allow_upload'])
3220
+	} elseif ($cur_profile['avatar'] == '' && $cur_profile['id_attach'] > 0 && $context['member']['avatar']['allow_upload'])
3091 3221
 	{
3092 3222
 		$context['member']['avatar'] += array(
3093 3223
 			'choice' => 'upload',
@@ -3097,33 +3227,34 @@  discard block
 block discarded – undo
3097 3227
 		$context['member']['avatar']['href'] = empty($cur_profile['attachment_type']) ? $scripturl . '?action=dlattach;attach=' . $cur_profile['id_attach'] . ';type=avatar' : $modSettings['custom_avatar_url'] . '/' . $cur_profile['filename'];
3098 3228
 	}
3099 3229
 	// Use "avatar_original" here so we show what the user entered even if the image proxy is enabled
3100
-	elseif ((stristr($cur_profile['avatar'], 'http://') || stristr($cur_profile['avatar'], 'https://')) && $context['member']['avatar']['allow_external'])
3101
-		$context['member']['avatar'] += array(
3230
+	elseif ((stristr($cur_profile['avatar'], 'http://') || stristr($cur_profile['avatar'], 'https://')) && $context['member']['avatar']['allow_external']) {
3231
+			$context['member']['avatar'] += array(
3102 3232
 			'choice' => 'external',
3103 3233
 			'server_pic' => 'blank.png',
3104 3234
 			'external' => $cur_profile['avatar_original']
3105 3235
 		);
3106
-	elseif ($cur_profile['avatar'] != '' && file_exists($modSettings['avatar_directory'] . '/' . $cur_profile['avatar']) && $context['member']['avatar']['allow_server_stored'])
3107
-		$context['member']['avatar'] += array(
3236
+	} elseif ($cur_profile['avatar'] != '' && file_exists($modSettings['avatar_directory'] . '/' . $cur_profile['avatar']) && $context['member']['avatar']['allow_server_stored']) {
3237
+			$context['member']['avatar'] += array(
3108 3238
 			'choice' => 'server_stored',
3109 3239
 			'server_pic' => $cur_profile['avatar'] == '' ? 'blank.png' : $cur_profile['avatar'],
3110 3240
 			'external' => 'http://'
3111 3241
 		);
3112
-	else
3113
-		$context['member']['avatar'] += array(
3242
+	} else {
3243
+			$context['member']['avatar'] += array(
3114 3244
 			'choice' => 'none',
3115 3245
 			'server_pic' => 'blank.png',
3116 3246
 			'external' => 'http://'
3117 3247
 		);
3248
+	}
3118 3249
 
3119 3250
 	// Get a list of all the avatars.
3120 3251
 	if ($context['member']['avatar']['allow_server_stored'])
3121 3252
 	{
3122 3253
 		$context['avatar_list'] = array();
3123 3254
 		$context['avatars'] = is_dir($modSettings['avatar_directory']) ? getAvatars('', 0) : array();
3255
+	} else {
3256
+			$context['avatars'] = array();
3124 3257
 	}
3125
-	else
3126
-		$context['avatars'] = array();
3127 3258
 
3128 3259
 	// Second level selected avatar...
3129 3260
 	$context['avatar_selected'] = substr(strrchr($context['member']['avatar']['server_pic'], '/'), 1);
@@ -3152,19 +3283,22 @@  discard block
 block discarded – undo
3152 3283
 			)
3153 3284
 		);
3154 3285
 		$protected_groups = array(1);
3155
-		while ($row = $smcFunc['db_fetch_assoc']($request))
3156
-			$protected_groups[] = $row['id_group'];
3286
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
3287
+					$protected_groups[] = $row['id_group'];
3288
+		}
3157 3289
 		$smcFunc['db_free_result']($request);
3158 3290
 
3159 3291
 		$protected_groups = array_unique($protected_groups);
3160 3292
 	}
3161 3293
 
3162 3294
 	// The account page allows the change of your id_group - but not to a protected group!
3163
-	if (empty($protected_groups) || count(array_intersect(array((int) $value, $old_profile['id_group']), $protected_groups)) == 0)
3164
-		$value = (int) $value;
3295
+	if (empty($protected_groups) || count(array_intersect(array((int) $value, $old_profile['id_group']), $protected_groups)) == 0) {
3296
+			$value = (int) $value;
3297
+	}
3165 3298
 	// ... otherwise it's the old group sir.
3166
-	else
3167
-		$value = $old_profile['id_group'];
3299
+	else {
3300
+			$value = $old_profile['id_group'];
3301
+	}
3168 3302
 
3169 3303
 	// Find the additional membergroups (if any)
3170 3304
 	if (isset($_POST['additional_groups']) && is_array($_POST['additional_groups']))
@@ -3173,16 +3307,18 @@  discard block
 block discarded – undo
3173 3307
 		foreach ($_POST['additional_groups'] as $group_id)
3174 3308
 		{
3175 3309
 			$group_id = (int) $group_id;
3176
-			if (!empty($group_id) && (empty($protected_groups) || !in_array($group_id, $protected_groups)))
3177
-				$additional_groups[] = $group_id;
3310
+			if (!empty($group_id) && (empty($protected_groups) || !in_array($group_id, $protected_groups))) {
3311
+							$additional_groups[] = $group_id;
3312
+			}
3178 3313
 		}
3179 3314
 
3180 3315
 		// Put the protected groups back in there if you don't have permission to take them away.
3181 3316
 		$old_additional_groups = explode(',', $old_profile['additional_groups']);
3182 3317
 		foreach ($old_additional_groups as $group_id)
3183 3318
 		{
3184
-			if (!empty($protected_groups) && in_array($group_id, $protected_groups))
3185
-				$additional_groups[] = $group_id;
3319
+			if (!empty($protected_groups) && in_array($group_id, $protected_groups)) {
3320
+							$additional_groups[] = $group_id;
3321
+			}
3186 3322
 		}
3187 3323
 
3188 3324
 		if (implode(',', $additional_groups) !== $old_profile['additional_groups'])
@@ -3214,18 +3350,20 @@  discard block
 block discarded – undo
3214 3350
 			list ($another) = $smcFunc['db_fetch_row']($request);
3215 3351
 			$smcFunc['db_free_result']($request);
3216 3352
 
3217
-			if (empty($another))
3218
-				fatal_lang_error('at_least_one_admin', 'critical');
3353
+			if (empty($another)) {
3354
+							fatal_lang_error('at_least_one_admin', 'critical');
3355
+			}
3219 3356
 		}
3220 3357
 	}
3221 3358
 
3222 3359
 	// If we are changing group status, update permission cache as necessary.
3223 3360
 	if ($value != $old_profile['id_group'] || isset($profile_vars['additional_groups']))
3224 3361
 	{
3225
-		if ($context['user']['is_owner'])
3226
-			$_SESSION['mc']['time'] = 0;
3227
-		else
3228
-			updateSettings(array('settings_updated' => time()));
3362
+		if ($context['user']['is_owner']) {
3363
+					$_SESSION['mc']['time'] = 0;
3364
+		} else {
3365
+					updateSettings(array('settings_updated' => time()));
3366
+		}
3229 3367
 	}
3230 3368
 
3231 3369
 	// Announce to any hooks that we have changed groups, but don't allow them to change it.
@@ -3246,8 +3384,9 @@  discard block
 block discarded – undo
3246 3384
 	global $modSettings, $sourcedir, $smcFunc, $profile_vars, $cur_profile, $context;
3247 3385
 
3248 3386
 	$memID = $context['id_member'];
3249
-	if (empty($memID) && !empty($context['password_auth_failed']))
3250
-		return false;
3387
+	if (empty($memID) && !empty($context['password_auth_failed'])) {
3388
+			return false;
3389
+	}
3251 3390
 
3252 3391
 	require_once($sourcedir . '/ManageAttachments.php');
3253 3392
 
@@ -3258,8 +3397,9 @@  discard block
 block discarded – undo
3258 3397
 	$downloadedExternalAvatar = false;
3259 3398
 	if ($value == 'external' && allowedTo('profile_remote_avatar') && (stripos($_POST['userpicpersonal'], 'http://') === 0 || stripos($_POST['userpicpersonal'], 'https://') === 0) && strlen($_POST['userpicpersonal']) > 7 && !empty($modSettings['avatar_download_external']))
3260 3399
 	{
3261
-		if (!is_writable($uploadDir))
3262
-			fatal_lang_error('attachments_no_write', 'critical');
3400
+		if (!is_writable($uploadDir)) {
3401
+					fatal_lang_error('attachments_no_write', 'critical');
3402
+		}
3263 3403
 
3264 3404
 		$url = parse_url($_POST['userpicpersonal']);
3265 3405
 		$contents = fetch_web_data($url['scheme'] . '://' . $url['host'] . (empty($url['port']) ? '' : ':' . $url['port']) . str_replace(' ', '%20', trim($url['path'])));
@@ -3301,19 +3441,18 @@  discard block
 block discarded – undo
3301 3441
 
3302 3442
 		// Get rid of their old avatar. (if uploaded.)
3303 3443
 		removeAttachments(array('id_member' => $memID));
3304
-	}
3305
-	elseif ($value == 'gravatar' && !empty($modSettings['gravatarEnabled']))
3444
+	} elseif ($value == 'gravatar' && !empty($modSettings['gravatarEnabled']))
3306 3445
 	{
3307 3446
 		// One wasn't specified, or it's not allowed to use extra email addresses, or it's not a valid one, reset to default Gravatar.
3308
-		if (empty($_POST['gravatarEmail']) || empty($modSettings['gravatarAllowExtraEmail']) || !filter_var($_POST['gravatarEmail'], FILTER_VALIDATE_EMAIL))
3309
-			$profile_vars['avatar'] = 'gravatar://';
3310
-		else
3311
-			$profile_vars['avatar'] = 'gravatar://' . ($_POST['gravatarEmail'] != $cur_profile['email_address'] ? $_POST['gravatarEmail'] : '');
3447
+		if (empty($_POST['gravatarEmail']) || empty($modSettings['gravatarAllowExtraEmail']) || !filter_var($_POST['gravatarEmail'], FILTER_VALIDATE_EMAIL)) {
3448
+					$profile_vars['avatar'] = 'gravatar://';
3449
+		} else {
3450
+					$profile_vars['avatar'] = 'gravatar://' . ($_POST['gravatarEmail'] != $cur_profile['email_address'] ? $_POST['gravatarEmail'] : '');
3451
+		}
3312 3452
 
3313 3453
 		// Get rid of their old avatar. (if uploaded.)
3314 3454
 		removeAttachments(array('id_member' => $memID));
3315
-	}
3316
-	elseif ($value == 'external' && allowedTo('profile_remote_avatar') && (stripos($_POST['userpicpersonal'], 'http://') === 0 || stripos($_POST['userpicpersonal'], 'https://') === 0) && empty($modSettings['avatar_download_external']))
3455
+	} elseif ($value == 'external' && allowedTo('profile_remote_avatar') && (stripos($_POST['userpicpersonal'], 'http://') === 0 || stripos($_POST['userpicpersonal'], 'https://') === 0) && empty($modSettings['avatar_download_external']))
3317 3456
 	{
3318 3457
 		// We need these clean...
3319 3458
 		$cur_profile['id_attach'] = 0;
@@ -3325,11 +3464,13 @@  discard block
 block discarded – undo
3325 3464
 
3326 3465
 		$profile_vars['avatar'] = str_replace(' ', '%20', preg_replace('~action(?:=|%3d)(?!dlattach)~i', 'action-', $_POST['userpicpersonal']));
3327 3466
 
3328
-		if ($profile_vars['avatar'] == 'http://' || $profile_vars['avatar'] == 'http:///')
3329
-			$profile_vars['avatar'] = '';
3467
+		if ($profile_vars['avatar'] == 'http://' || $profile_vars['avatar'] == 'http:///') {
3468
+					$profile_vars['avatar'] = '';
3469
+		}
3330 3470
 		// Trying to make us do something we'll regret?
3331
-		elseif (substr($profile_vars['avatar'], 0, 7) != 'http://' && substr($profile_vars['avatar'], 0, 8) != 'https://')
3332
-			return 'bad_avatar_invalid_url';
3471
+		elseif (substr($profile_vars['avatar'], 0, 7) != 'http://' && substr($profile_vars['avatar'], 0, 8) != 'https://') {
3472
+					return 'bad_avatar_invalid_url';
3473
+		}
3333 3474
 		// Should we check dimensions?
3334 3475
 		elseif (!empty($modSettings['avatar_max_height_external']) || !empty($modSettings['avatar_max_width_external']))
3335 3476
 		{
@@ -3339,9 +3480,9 @@  discard block
 block discarded – undo
3339 3480
 			if (is_array($sizes) && (($sizes[0] > $modSettings['avatar_max_width_external'] && !empty($modSettings['avatar_max_width_external'])) || ($sizes[1] > $modSettings['avatar_max_height_external'] && !empty($modSettings['avatar_max_height_external']))))
3340 3481
 			{
3341 3482
 				// Houston, we have a problem. The avatar is too large!!
3342
-				if ($modSettings['avatar_action_too_large'] == 'option_refuse')
3343
-					return 'bad_avatar_too_large';
3344
-				elseif ($modSettings['avatar_action_too_large'] == 'option_download_and_resize')
3483
+				if ($modSettings['avatar_action_too_large'] == 'option_refuse') {
3484
+									return 'bad_avatar_too_large';
3485
+				} elseif ($modSettings['avatar_action_too_large'] == 'option_download_and_resize')
3345 3486
 				{
3346 3487
 					// @todo remove this if appropriate
3347 3488
 					require_once($sourcedir . '/Subs-Graphics.php');
@@ -3351,26 +3492,27 @@  discard block
 block discarded – undo
3351 3492
 						$cur_profile['id_attach'] = $modSettings['new_avatar_data']['id'];
3352 3493
 						$cur_profile['filename'] = $modSettings['new_avatar_data']['filename'];
3353 3494
 						$cur_profile['attachment_type'] = $modSettings['new_avatar_data']['type'];
3495
+					} else {
3496
+											return 'bad_avatar';
3354 3497
 					}
3355
-					else
3356
-						return 'bad_avatar';
3357 3498
 				}
3358 3499
 			}
3359 3500
 		}
3360
-	}
3361
-	elseif (($value == 'upload' && allowedTo('profile_upload_avatar')) || $downloadedExternalAvatar)
3501
+	} elseif (($value == 'upload' && allowedTo('profile_upload_avatar')) || $downloadedExternalAvatar)
3362 3502
 	{
3363 3503
 		if ((isset($_FILES['attachment']['name']) && $_FILES['attachment']['name'] != '') || $downloadedExternalAvatar)
3364 3504
 		{
3365 3505
 			// Get the dimensions of the image.
3366 3506
 			if (!$downloadedExternalAvatar)
3367 3507
 			{
3368
-				if (!is_writable($uploadDir))
3369
-					fatal_lang_error('attachments_no_write', 'critical');
3508
+				if (!is_writable($uploadDir)) {
3509
+									fatal_lang_error('attachments_no_write', 'critical');
3510
+				}
3370 3511
 
3371 3512
 				$new_filename = $uploadDir . '/' . getAttachmentFilename('avatar_tmp_' . $memID, false, null, true);
3372
-				if (!move_uploaded_file($_FILES['attachment']['tmp_name'], $new_filename))
3373
-					fatal_lang_error('attach_timeout', 'critical');
3513
+				if (!move_uploaded_file($_FILES['attachment']['tmp_name'], $new_filename)) {
3514
+									fatal_lang_error('attach_timeout', 'critical');
3515
+				}
3374 3516
 
3375 3517
 				$_FILES['attachment']['tmp_name'] = $new_filename;
3376 3518
 			}
@@ -3483,17 +3625,19 @@  discard block
 block discarded – undo
3483 3625
 			$profile_vars['avatar'] = '';
3484 3626
 
3485 3627
 			// Delete any temporary file.
3486
-			if (file_exists($_FILES['attachment']['tmp_name']))
3487
-				@unlink($_FILES['attachment']['tmp_name']);
3628
+			if (file_exists($_FILES['attachment']['tmp_name'])) {
3629
+							@unlink($_FILES['attachment']['tmp_name']);
3630
+			}
3488 3631
 		}
3489 3632
 		// Selected the upload avatar option and had one already uploaded before or didn't upload one.
3490
-		else
3633
+		else {
3634
+					$profile_vars['avatar'] = '';
3635
+		}
3636
+	} elseif ($value == 'gravatar' && allowedTo('profile_gravatar_avatar')) {
3637
+			$profile_vars['avatar'] = 'gravatar://www.gravatar.com/avatar/' . md5(strtolower(trim($cur_profile['email_address'])));
3638
+	} else {
3491 3639
 			$profile_vars['avatar'] = '';
3492 3640
 	}
3493
-	elseif ($value == 'gravatar' && allowedTo('profile_gravatar_avatar'))
3494
-		$profile_vars['avatar'] = 'gravatar://www.gravatar.com/avatar/' . md5(strtolower(trim($cur_profile['email_address'])));
3495
-	else
3496
-		$profile_vars['avatar'] = '';
3497 3641
 
3498 3642
 	// Setup the profile variables so it shows things right on display!
3499 3643
 	$cur_profile['avatar'] = $profile_vars['avatar'];
@@ -3541,9 +3685,9 @@  discard block
 block discarded – undo
3541 3685
 		$smiley_parsed = $unparsed_signature;
3542 3686
 		parsesmileys($smiley_parsed);
3543 3687
 		$smiley_count = substr_count(strtolower($smiley_parsed), '<img') - substr_count(strtolower($unparsed_signature), '<img');
3544
-		if (!empty($sig_limits[4]) && $sig_limits[4] == -1 && $smiley_count > 0)
3545
-			return 'signature_allow_smileys';
3546
-		elseif (!empty($sig_limits[4]) && $sig_limits[4] > 0 && $smiley_count > $sig_limits[4])
3688
+		if (!empty($sig_limits[4]) && $sig_limits[4] == -1 && $smiley_count > 0) {
3689
+					return 'signature_allow_smileys';
3690
+		} elseif (!empty($sig_limits[4]) && $sig_limits[4] > 0 && $smiley_count > $sig_limits[4])
3547 3691
 		{
3548 3692
 			$txt['profile_error_signature_max_smileys'] = sprintf($txt['profile_error_signature_max_smileys'], $sig_limits[4]);
3549 3693
 			return 'signature_max_smileys';
@@ -3556,14 +3700,15 @@  discard block
 block discarded – undo
3556 3700
 			{
3557 3701
 				$limit_broke = 0;
3558 3702
 				// Attempt to allow all sizes of abuse, so to speak.
3559
-				if ($matches[2][$ind] == 'px' && $size > $sig_limits[7])
3560
-					$limit_broke = $sig_limits[7] . 'px';
3561
-				elseif ($matches[2][$ind] == 'pt' && $size > ($sig_limits[7] * 0.75))
3562
-					$limit_broke = ((int) $sig_limits[7] * 0.75) . 'pt';
3563
-				elseif ($matches[2][$ind] == 'em' && $size > ((float) $sig_limits[7] / 16))
3564
-					$limit_broke = ((float) $sig_limits[7] / 16) . 'em';
3565
-				elseif ($matches[2][$ind] != 'px' && $matches[2][$ind] != 'pt' && $matches[2][$ind] != 'em' && $sig_limits[7] < 18)
3566
-					$limit_broke = 'large';
3703
+				if ($matches[2][$ind] == 'px' && $size > $sig_limits[7]) {
3704
+									$limit_broke = $sig_limits[7] . 'px';
3705
+				} elseif ($matches[2][$ind] == 'pt' && $size > ($sig_limits[7] * 0.75)) {
3706
+									$limit_broke = ((int) $sig_limits[7] * 0.75) . 'pt';
3707
+				} elseif ($matches[2][$ind] == 'em' && $size > ((float) $sig_limits[7] / 16)) {
3708
+									$limit_broke = ((float) $sig_limits[7] / 16) . 'em';
3709
+				} elseif ($matches[2][$ind] != 'px' && $matches[2][$ind] != 'pt' && $matches[2][$ind] != 'em' && $sig_limits[7] < 18) {
3710
+									$limit_broke = 'large';
3711
+				}
3567 3712
 
3568 3713
 				if ($limit_broke)
3569 3714
 				{
@@ -3605,24 +3750,26 @@  discard block
 block discarded – undo
3605 3750
 					$width = -1; $height = -1;
3606 3751
 
3607 3752
 					// Does it have predefined restraints? Width first.
3608
-					if ($matches[6][$key])
3609
-						$matches[2][$key] = $matches[6][$key];
3753
+					if ($matches[6][$key]) {
3754
+											$matches[2][$key] = $matches[6][$key];
3755
+					}
3610 3756
 					if ($matches[2][$key] && $sig_limits[5] && $matches[2][$key] > $sig_limits[5])
3611 3757
 					{
3612 3758
 						$width = $sig_limits[5];
3613 3759
 						$matches[4][$key] = $matches[4][$key] * ($width / $matches[2][$key]);
3760
+					} elseif ($matches[2][$key]) {
3761
+											$width = $matches[2][$key];
3614 3762
 					}
3615
-					elseif ($matches[2][$key])
3616
-						$width = $matches[2][$key];
3617 3763
 					// ... and height.
3618 3764
 					if ($matches[4][$key] && $sig_limits[6] && $matches[4][$key] > $sig_limits[6])
3619 3765
 					{
3620 3766
 						$height = $sig_limits[6];
3621
-						if ($width != -1)
3622
-							$width = $width * ($height / $matches[4][$key]);
3767
+						if ($width != -1) {
3768
+													$width = $width * ($height / $matches[4][$key]);
3769
+						}
3770
+					} elseif ($matches[4][$key]) {
3771
+											$height = $matches[4][$key];
3623 3772
 					}
3624
-					elseif ($matches[4][$key])
3625
-						$height = $matches[4][$key];
3626 3773
 
3627 3774
 					// If the dimensions are still not fixed - we need to check the actual image.
3628 3775
 					if (($width == -1 && $sig_limits[5]) || ($height == -1 && $sig_limits[6]))
@@ -3640,21 +3787,24 @@  discard block
 block discarded – undo
3640 3787
 							if ($sizes[1] > $sig_limits[6] && $sig_limits[6])
3641 3788
 							{
3642 3789
 								$height = $sig_limits[6];
3643
-								if ($width == -1)
3644
-									$width = $sizes[0];
3790
+								if ($width == -1) {
3791
+																	$width = $sizes[0];
3792
+								}
3645 3793
 								$width = $width * ($height / $sizes[1]);
3794
+							} elseif ($width != -1) {
3795
+															$height = $sizes[1];
3646 3796
 							}
3647
-							elseif ($width != -1)
3648
-								$height = $sizes[1];
3649 3797
 						}
3650 3798
 					}
3651 3799
 
3652 3800
 					// Did we come up with some changes? If so remake the string.
3653
-					if ($width != -1 || $height != -1)
3654
-						$replaces[$image] = '[img' . ($width != -1 ? ' width=' . round($width) : '') . ($height != -1 ? ' height=' . round($height) : '') . ']' . $matches[7][$key] . '[/img]';
3801
+					if ($width != -1 || $height != -1) {
3802
+											$replaces[$image] = '[img' . ($width != -1 ? ' width=' . round($width) : '') . ($height != -1 ? ' height=' . round($height) : '') . ']' . $matches[7][$key] . '[/img]';
3803
+					}
3804
+				}
3805
+				if (!empty($replaces)) {
3806
+									$value = str_replace(array_keys($replaces), array_values($replaces), $value);
3655 3807
 				}
3656
-				if (!empty($replaces))
3657
-					$value = str_replace(array_keys($replaces), array_values($replaces), $value);
3658 3808
 			}
3659 3809
 		}
3660 3810
 
@@ -3698,10 +3848,12 @@  discard block
 block discarded – undo
3698 3848
 	$email = strtr($email, array('&#039;' => '\''));
3699 3849
 
3700 3850
 	// Check the name and email for validity.
3701
-	if (trim($email) == '')
3702
-		return 'no_email';
3703
-	if (!filter_var($email, FILTER_VALIDATE_EMAIL))
3704
-		return 'bad_email';
3851
+	if (trim($email) == '') {
3852
+			return 'no_email';
3853
+	}
3854
+	if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
3855
+			return 'bad_email';
3856
+	}
3705 3857
 
3706 3858
 	// Email addresses should be and stay unique.
3707 3859
 	$request = $smcFunc['db_query']('', '
@@ -3716,8 +3868,9 @@  discard block
 block discarded – undo
3716 3868
 		)
3717 3869
 	);
3718 3870
 
3719
-	if ($smcFunc['db_num_rows']($request) > 0)
3720
-		return 'email_taken';
3871
+	if ($smcFunc['db_num_rows']($request) > 0) {
3872
+			return 'email_taken';
3873
+	}
3721 3874
 	$smcFunc['db_free_result']($request);
3722 3875
 
3723 3876
 	return true;
@@ -3730,8 +3883,9 @@  discard block
 block discarded – undo
3730 3883
 {
3731 3884
 	global $modSettings, $context, $cur_profile;
3732 3885
 
3733
-	if (isset($_POST['passwrd2']) && $_POST['passwrd2'] != '')
3734
-		setLoginCookie(60 * $modSettings['cookieTime'], $context['id_member'], hash_salt($_POST['passwrd1'], $cur_profile['password_salt']));
3886
+	if (isset($_POST['passwrd2']) && $_POST['passwrd2'] != '') {
3887
+			setLoginCookie(60 * $modSettings['cookieTime'], $context['id_member'], hash_salt($_POST['passwrd1'], $cur_profile['password_salt']));
3888
+	}
3735 3889
 
3736 3890
 	loadUserSettings();
3737 3891
 	writeLog();
@@ -3747,8 +3901,9 @@  discard block
 block discarded – undo
3747 3901
 	require_once($sourcedir . '/Subs-Post.php');
3748 3902
 
3749 3903
 	// Shouldn't happen but just in case.
3750
-	if (empty($profile_vars['email_address']))
3751
-		return;
3904
+	if (empty($profile_vars['email_address'])) {
3905
+			return;
3906
+	}
3752 3907
 
3753 3908
 	$replacements = array(
3754 3909
 		'ACTIVATIONLINK' => $scripturl . '?action=activate;u=' . $context['id_member'] . ';code=' . $profile_vars['validation_code'],
@@ -3771,8 +3926,9 @@  discard block
 block discarded – undo
3771 3926
 	$_SESSION['log_time'] = 0;
3772 3927
 	$_SESSION['login_' . $cookiename] = $smcFunc['json_encode'](array(0, '', 0));
3773 3928
 
3774
-	if (isset($_COOKIE[$cookiename]))
3775
-		$_COOKIE[$cookiename] = '';
3929
+	if (isset($_COOKIE[$cookiename])) {
3930
+			$_COOKIE[$cookiename] = '';
3931
+	}
3776 3932
 
3777 3933
 	loadUserSettings();
3778 3934
 
@@ -3805,11 +3961,13 @@  discard block
 block discarded – undo
3805 3961
 	$groups[] = $curMember['id_group'];
3806 3962
 
3807 3963
 	// Ensure the query doesn't croak!
3808
-	if (empty($groups))
3809
-		$groups = array(0);
3964
+	if (empty($groups)) {
3965
+			$groups = array(0);
3966
+	}
3810 3967
 	// Just to be sure...
3811
-	foreach ($groups as $k => $v)
3812
-		$groups[$k] = (int) $v;
3968
+	foreach ($groups as $k => $v) {
3969
+			$groups[$k] = (int) $v;
3970
+	}
3813 3971
 
3814 3972
 	// Get all the membergroups they can join.
3815 3973
 	$request = $smcFunc['db_query']('', '
@@ -3839,12 +3997,14 @@  discard block
 block discarded – undo
3839 3997
 	while ($row = $smcFunc['db_fetch_assoc']($request))
3840 3998
 	{
3841 3999
 		// Can they edit their primary group?
3842
-		if (($row['id_group'] == $context['primary_group'] && $row['group_type'] > 1) || ($row['hidden'] != 2 && $context['primary_group'] == 0 && in_array($row['id_group'], $groups)))
3843
-			$context['can_edit_primary'] = true;
4000
+		if (($row['id_group'] == $context['primary_group'] && $row['group_type'] > 1) || ($row['hidden'] != 2 && $context['primary_group'] == 0 && in_array($row['id_group'], $groups))) {
4001
+					$context['can_edit_primary'] = true;
4002
+		}
3844 4003
 
3845 4004
 		// If they can't manage (protected) groups, and it's not publically joinable or already assigned, they can't see it.
3846
-		if (((!$context['can_manage_protected'] && $row['group_type'] == 1) || (!$context['can_manage_membergroups'] && $row['group_type'] == 0)) && $row['id_group'] != $context['primary_group'])
3847
-			continue;
4005
+		if (((!$context['can_manage_protected'] && $row['group_type'] == 1) || (!$context['can_manage_membergroups'] && $row['group_type'] == 0)) && $row['id_group'] != $context['primary_group']) {
4006
+					continue;
4007
+		}
3848 4008
 
3849 4009
 		$context['groups'][in_array($row['id_group'], $groups) ? 'member' : 'available'][$row['id_group']] = array(
3850 4010
 			'id' => $row['id_group'],
@@ -3873,13 +4033,15 @@  discard block
 block discarded – undo
3873 4033
 	);
3874 4034
 
3875 4035
 	// No changing primary one unless you have enough groups!
3876
-	if (count($context['groups']['member']) < 2)
3877
-		$context['can_edit_primary'] = false;
4036
+	if (count($context['groups']['member']) < 2) {
4037
+			$context['can_edit_primary'] = false;
4038
+	}
3878 4039
 
3879 4040
 	// In the special case that someone is requesting membership of a group, setup some special context vars.
3880
-	if (isset($_REQUEST['request']) && isset($context['groups']['available'][(int) $_REQUEST['request']]) && $context['groups']['available'][(int) $_REQUEST['request']]['type'] == 2)
3881
-		$context['group_request'] = $context['groups']['available'][(int) $_REQUEST['request']];
3882
-}
4041
+	if (isset($_REQUEST['request']) && isset($context['groups']['available'][(int) $_REQUEST['request']]) && $context['groups']['available'][(int) $_REQUEST['request']]['type'] == 2) {
4042
+			$context['group_request'] = $context['groups']['available'][(int) $_REQUEST['request']];
4043
+	}
4044
+	}
3883 4045
 
3884 4046
 /**
3885 4047
  * This function actually makes all the group changes
@@ -3894,10 +4056,12 @@  discard block
 block discarded – undo
3894 4056
 	global $user_info, $context, $user_profile, $modSettings, $smcFunc;
3895 4057
 
3896 4058
 	// Let's be extra cautious...
3897
-	if (!$context['user']['is_owner'] || empty($modSettings['show_group_membership']))
3898
-		isAllowedTo('manage_membergroups');
3899
-	if (!isset($_REQUEST['gid']) && !isset($_POST['primary']))
3900
-		fatal_lang_error('no_access', false);
4059
+	if (!$context['user']['is_owner'] || empty($modSettings['show_group_membership'])) {
4060
+			isAllowedTo('manage_membergroups');
4061
+	}
4062
+	if (!isset($_REQUEST['gid']) && !isset($_POST['primary'])) {
4063
+			fatal_lang_error('no_access', false);
4064
+	}
3901 4065
 
3902 4066
 	checkSession(isset($_GET['gid']) ? 'get' : 'post');
3903 4067
 
@@ -3916,8 +4080,9 @@  discard block
 block discarded – undo
3916 4080
 	$foundTarget = $changeType == 'primary' && $group_id == 0 ? true : false;
3917 4081
 
3918 4082
 	// Sanity check!!
3919
-	if ($group_id == 1)
3920
-		isAllowedTo('admin_forum');
4083
+	if ($group_id == 1) {
4084
+			isAllowedTo('admin_forum');
4085
+	}
3921 4086
 	// Protected groups too!
3922 4087
 	else
3923 4088
 	{
@@ -3934,8 +4099,9 @@  discard block
 block discarded – undo
3934 4099
 		list ($is_protected) = $smcFunc['db_fetch_row']($request);
3935 4100
 		$smcFunc['db_free_result']($request);
3936 4101
 
3937
-		if ($is_protected == 1)
3938
-			isAllowedTo('admin_forum');
4102
+		if ($is_protected == 1) {
4103
+					isAllowedTo('admin_forum');
4104
+		}
3939 4105
 	}
3940 4106
 
3941 4107
 	// What ever we are doing, we need to determine if changing primary is possible!
@@ -3957,36 +4123,43 @@  discard block
 block discarded – undo
3957 4123
 			$group_name = $row['group_name'];
3958 4124
 
3959 4125
 			// Does the group type match what we're doing - are we trying to request a non-requestable group?
3960
-			if ($changeType == 'request' && $row['group_type'] != 2)
3961
-				fatal_lang_error('no_access', false);
4126
+			if ($changeType == 'request' && $row['group_type'] != 2) {
4127
+							fatal_lang_error('no_access', false);
4128
+			}
3962 4129
 			// What about leaving a requestable group we are not a member of?
3963
-			elseif ($changeType == 'free' && $row['group_type'] == 2 && $old_profile['id_group'] != $row['id_group'] && !isset($addGroups[$row['id_group']]))
3964
-				fatal_lang_error('no_access', false);
3965
-			elseif ($changeType == 'free' && $row['group_type'] != 3 && $row['group_type'] != 2)
3966
-				fatal_lang_error('no_access', false);
4130
+			elseif ($changeType == 'free' && $row['group_type'] == 2 && $old_profile['id_group'] != $row['id_group'] && !isset($addGroups[$row['id_group']])) {
4131
+							fatal_lang_error('no_access', false);
4132
+			} elseif ($changeType == 'free' && $row['group_type'] != 3 && $row['group_type'] != 2) {
4133
+							fatal_lang_error('no_access', false);
4134
+			}
3967 4135
 
3968 4136
 			// We can't change the primary group if this is hidden!
3969
-			if ($row['hidden'] == 2)
3970
-				$canChangePrimary = false;
4137
+			if ($row['hidden'] == 2) {
4138
+							$canChangePrimary = false;
4139
+			}
3971 4140
 		}
3972 4141
 
3973 4142
 		// If this is their old primary, can we change it?
3974
-		if ($row['id_group'] == $old_profile['id_group'] && ($row['group_type'] > 1 || $context['can_manage_membergroups']) && $canChangePrimary !== false)
3975
-			$canChangePrimary = 1;
4143
+		if ($row['id_group'] == $old_profile['id_group'] && ($row['group_type'] > 1 || $context['can_manage_membergroups']) && $canChangePrimary !== false) {
4144
+					$canChangePrimary = 1;
4145
+		}
3976 4146
 
3977 4147
 		// If we are not doing a force primary move, don't do it automatically if current primary is not 0.
3978
-		if ($changeType != 'primary' && $old_profile['id_group'] != 0)
3979
-			$canChangePrimary = false;
4148
+		if ($changeType != 'primary' && $old_profile['id_group'] != 0) {
4149
+					$canChangePrimary = false;
4150
+		}
3980 4151
 
3981 4152
 		// If this is the one we are acting on, can we even act?
3982
-		if ((!$context['can_manage_protected'] && $row['group_type'] == 1) || (!$context['can_manage_membergroups'] && $row['group_type'] == 0))
3983
-			$canChangePrimary = false;
4153
+		if ((!$context['can_manage_protected'] && $row['group_type'] == 1) || (!$context['can_manage_membergroups'] && $row['group_type'] == 0)) {
4154
+					$canChangePrimary = false;
4155
+		}
3984 4156
 	}
3985 4157
 	$smcFunc['db_free_result']($request);
3986 4158
 
3987 4159
 	// Didn't find the target?
3988
-	if (!$foundTarget)
3989
-		fatal_lang_error('no_access', false);
4160
+	if (!$foundTarget) {
4161
+			fatal_lang_error('no_access', false);
4162
+	}
3990 4163
 
3991 4164
 	// Final security check, don't allow users to promote themselves to admin.
3992 4165
 	if ($context['can_manage_membergroups'] && !allowedTo('admin_forum'))
@@ -4006,8 +4179,9 @@  discard block
 block discarded – undo
4006 4179
 		list ($disallow) = $smcFunc['db_fetch_row']($request);
4007 4180
 		$smcFunc['db_free_result']($request);
4008 4181
 
4009
-		if ($disallow)
4010
-			isAllowedTo('admin_forum');
4182
+		if ($disallow) {
4183
+					isAllowedTo('admin_forum');
4184
+		}
4011 4185
 	}
4012 4186
 
4013 4187
 	// If we're requesting, add the note then return.
@@ -4025,8 +4199,9 @@  discard block
 block discarded – undo
4025 4199
 				'status_open' => 0,
4026 4200
 			)
4027 4201
 		);
4028
-		if ($smcFunc['db_num_rows']($request) != 0)
4029
-			fatal_lang_error('profile_error_already_requested_group');
4202
+		if ($smcFunc['db_num_rows']($request) != 0) {
4203
+					fatal_lang_error('profile_error_already_requested_group');
4204
+		}
4030 4205
 		$smcFunc['db_free_result']($request);
4031 4206
 
4032 4207
 		// Log the request.
@@ -4060,10 +4235,11 @@  discard block
 block discarded – undo
4060 4235
 		// Are we leaving?
4061 4236
 		if ($old_profile['id_group'] == $group_id || isset($addGroups[$group_id]))
4062 4237
 		{
4063
-			if ($old_profile['id_group'] == $group_id)
4064
-				$newPrimary = 0;
4065
-			else
4066
-				unset($addGroups[$group_id]);
4238
+			if ($old_profile['id_group'] == $group_id) {
4239
+							$newPrimary = 0;
4240
+			} else {
4241
+							unset($addGroups[$group_id]);
4242
+			}
4067 4243
 		}
4068 4244
 		// ... if not, must be joining.
4069 4245
 		else
@@ -4071,36 +4247,42 @@  discard block
 block discarded – undo
4071 4247
 			// Can we change the primary, and do we want to?
4072 4248
 			if ($canChangePrimary)
4073 4249
 			{
4074
-				if ($old_profile['id_group'] != 0)
4075
-					$addGroups[$old_profile['id_group']] = -1;
4250
+				if ($old_profile['id_group'] != 0) {
4251
+									$addGroups[$old_profile['id_group']] = -1;
4252
+				}
4076 4253
 				$newPrimary = $group_id;
4077 4254
 			}
4078 4255
 			// Otherwise it's an additional group...
4079
-			else
4080
-				$addGroups[$group_id] = -1;
4256
+			else {
4257
+							$addGroups[$group_id] = -1;
4258
+			}
4081 4259
 		}
4082 4260
 	}
4083 4261
 	// Finally, we must be setting the primary.
4084 4262
 	elseif ($canChangePrimary)
4085 4263
 	{
4086
-		if ($old_profile['id_group'] != 0)
4087
-			$addGroups[$old_profile['id_group']] = -1;
4088
-		if (isset($addGroups[$group_id]))
4089
-			unset($addGroups[$group_id]);
4264
+		if ($old_profile['id_group'] != 0) {
4265
+					$addGroups[$old_profile['id_group']] = -1;
4266
+		}
4267
+		if (isset($addGroups[$group_id])) {
4268
+					unset($addGroups[$group_id]);
4269
+		}
4090 4270
 		$newPrimary = $group_id;
4091 4271
 	}
4092 4272
 
4093 4273
 	// Finally, we can make the changes!
4094
-	foreach ($addGroups as $id => $dummy)
4095
-		if (empty($id))
4274
+	foreach ($addGroups as $id => $dummy) {
4275
+			if (empty($id))
4096 4276
 			unset($addGroups[$id]);
4277
+	}
4097 4278
 	$addGroups = implode(',', array_flip($addGroups));
4098 4279
 
4099 4280
 	// Ensure that we don't cache permissions if the group is changing.
4100
-	if ($context['user']['is_owner'])
4101
-		$_SESSION['mc']['time'] = 0;
4102
-	else
4103
-		updateSettings(array('settings_updated' => time()));
4281
+	if ($context['user']['is_owner']) {
4282
+			$_SESSION['mc']['time'] = 0;
4283
+	} else {
4284
+			updateSettings(array('settings_updated' => time()));
4285
+	}
4104 4286
 
4105 4287
 	updateMemberData($memID, array('id_group' => $newPrimary, 'additional_groups' => $addGroups));
4106 4288
 
@@ -4123,8 +4305,9 @@  discard block
 block discarded – undo
4123 4305
 	if (empty($user_settings['tfa_secret']) && $context['user']['is_owner'])
4124 4306
 	{
4125 4307
 		// Check to ensure we're forcing SSL for authentication
4126
-		if (!empty($modSettings['force_ssl']) && empty($maintenance) && !httpsOn())
4127
-			fatal_lang_error('login_ssl_required');
4308
+		if (!empty($modSettings['force_ssl']) && empty($maintenance) && !httpsOn()) {
4309
+					fatal_lang_error('login_ssl_required');
4310
+		}
4128 4311
 
4129 4312
 		// In some cases (forced 2FA or backup code) they would be forced to be redirected here,
4130 4313
 		// we do not want too much AJAX to confuse them.
@@ -4161,8 +4344,7 @@  discard block
 block discarded – undo
4161 4344
 				$context['sub_template'] = 'tfasetup_backup';
4162 4345
 
4163 4346
 				return;
4164
-			}
4165
-			else
4347
+			} else
4166 4348
 			{
4167 4349
 				$context['tfa_secret'] = $_SESSION['tfa_secret'];
4168 4350
 				$context['tfa_error'] = !$valid_code;
@@ -4170,8 +4352,7 @@  discard block
 block discarded – undo
4170 4352
 				$context['tfa_pass_value'] = $_POST['passwd'];
4171 4353
 				$context['tfa_value'] = $_POST['tfa_code'];
4172 4354
 			}
4173
-		}
4174
-		else
4355
+		} else
4175 4356
 		{
4176 4357
 			$totp = new \TOTP\Auth();
4177 4358
 			$secret = $totp->generateCode();
@@ -4181,17 +4362,16 @@  discard block
 block discarded – undo
4181 4362
 		}
4182 4363
 
4183 4364
 		$context['tfa_qr_url'] = $totp->getQrCodeUrl($context['forum_name'] . ':' . $user_info['name'], $context['tfa_secret']);
4184
-	}
4185
-	elseif (isset($_REQUEST['disable']))
4365
+	} elseif (isset($_REQUEST['disable']))
4186 4366
 	{
4187 4367
 		updateMemberData($memID, array(
4188 4368
 			'tfa_secret' => '',
4189 4369
 			'tfa_backup' => '',
4190 4370
 		));
4191 4371
 		redirectexit('action=profile;area=account;u=' . $memID);
4372
+	} else {
4373
+			redirectexit('action=profile;area=account;u=' . $memID);
4374
+	}
4192 4375
 	}
4193
-	else
4194
-		redirectexit('action=profile;area=account;u=' . $memID);
4195
-}
4196 4376
 
4197 4377
 ?>
4198 4378
\ No newline at end of file
Please login to merge, or discard this patch.
Sources/Profile-View.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -1904,7 +1904,7 @@  discard block
 block discarded – undo
1904 1904
 	if (count($context['ip']) !== 2)
1905 1905
 		fatal_lang_error('invalid_tracking_ip', false);
1906 1906
 
1907
-	$ip_string = array('{inet:ip_address_low}','{inet:ip_address_high}');
1907
+	$ip_string = array('{inet:ip_address_low}', '{inet:ip_address_high}');
1908 1908
 	$fields = array(
1909 1909
 			'ip_address_low' => $context['ip']['low'],
1910 1910
 			'ip_address_high' => $context['ip']['high'],
@@ -1912,7 +1912,7 @@  discard block
 block discarded – undo
1912 1912
 
1913 1913
 	$ip_var = $context['ip'];
1914 1914
 
1915
-	if ($context['ip']['low'] !==  $context['ip']['high'])
1915
+	if ($context['ip']['low'] !== $context['ip']['high'])
1916 1916
 		$context['ip'] = $context['ip']['low'] . ' - ' . $context['ip']['high'];
1917 1917
 	else
1918 1918
 		$context['ip'] = $context['ip']['low'];
Please login to merge, or discard this patch.
Braces   +307 added lines, -225 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
  * View a summary.
@@ -23,8 +24,9 @@  discard block
 block discarded – undo
23 24
 	global $context, $memberContext, $txt, $modSettings, $user_profile, $sourcedir, $scripturl, $smcFunc;
24 25
 
25 26
 	// Attempt to load the member's profile data.
26
-	if (!loadMemberContext($memID) || !isset($memberContext[$memID]))
27
-		fatal_lang_error('not_a_user', false, 404);
27
+	if (!loadMemberContext($memID) || !isset($memberContext[$memID])) {
28
+			fatal_lang_error('not_a_user', false, 404);
29
+	}
28 30
 
29 31
 	// Set up the stuff and load the user.
30 32
 	$context += array(
@@ -49,19 +51,21 @@  discard block
 block discarded – undo
49 51
 
50 52
 	// See if they have broken any warning levels...
51 53
 	list ($modSettings['warning_enable'], $modSettings['user_limit']) = explode(',', $modSettings['warning_settings']);
52
-	if (!empty($modSettings['warning_mute']) && $modSettings['warning_mute'] <= $context['member']['warning'])
53
-		$context['warning_status'] = $txt['profile_warning_is_muted'];
54
-	elseif (!empty($modSettings['warning_moderate']) && $modSettings['warning_moderate'] <= $context['member']['warning'])
55
-		$context['warning_status'] = $txt['profile_warning_is_moderation'];
56
-	elseif (!empty($modSettings['warning_watch']) && $modSettings['warning_watch'] <= $context['member']['warning'])
57
-		$context['warning_status'] = $txt['profile_warning_is_watch'];
54
+	if (!empty($modSettings['warning_mute']) && $modSettings['warning_mute'] <= $context['member']['warning']) {
55
+			$context['warning_status'] = $txt['profile_warning_is_muted'];
56
+	} elseif (!empty($modSettings['warning_moderate']) && $modSettings['warning_moderate'] <= $context['member']['warning']) {
57
+			$context['warning_status'] = $txt['profile_warning_is_moderation'];
58
+	} elseif (!empty($modSettings['warning_watch']) && $modSettings['warning_watch'] <= $context['member']['warning']) {
59
+			$context['warning_status'] = $txt['profile_warning_is_watch'];
60
+	}
58 61
 
59 62
 	// They haven't even been registered for a full day!?
60 63
 	$days_registered = (int) ((time() - $user_profile[$memID]['date_registered']) / (3600 * 24));
61
-	if (empty($user_profile[$memID]['date_registered']) || $days_registered < 1)
62
-		$context['member']['posts_per_day'] = $txt['not_applicable'];
63
-	else
64
-		$context['member']['posts_per_day'] = comma_format($context['member']['real_posts'] / $days_registered, 3);
64
+	if (empty($user_profile[$memID]['date_registered']) || $days_registered < 1) {
65
+			$context['member']['posts_per_day'] = $txt['not_applicable'];
66
+	} else {
67
+			$context['member']['posts_per_day'] = comma_format($context['member']['real_posts'] / $days_registered, 3);
68
+	}
65 69
 
66 70
 	// Set the age...
67 71
 	if (empty($context['member']['birth_date']) || substr($context['member']['birth_date'], 0, 4) < 1002)
@@ -70,8 +74,7 @@  discard block
 block discarded – undo
70 74
 			'age' => $txt['not_applicable'],
71 75
 			'today_is_birthday' => false
72 76
 		);
73
-	}
74
-	else
77
+	} else
75 78
 	{
76 79
 		list ($birth_year, $birth_month, $birth_day) = sscanf($context['member']['birth_date'], '%d-%d-%d');
77 80
 		$datearray = getdate(forum_time());
@@ -84,15 +87,16 @@  discard block
 block discarded – undo
84 87
 	if (allowedTo('moderate_forum'))
85 88
 	{
86 89
 		// Make sure it's a valid ip address; otherwise, don't bother...
87
-		if (preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $memberContext[$memID]['ip']) == 1 && empty($modSettings['disableHostnameLookup']))
88
-			$context['member']['hostname'] = host_from_ip($memberContext[$memID]['ip']);
89
-		else
90
-			$context['member']['hostname'] = '';
90
+		if (preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $memberContext[$memID]['ip']) == 1 && empty($modSettings['disableHostnameLookup'])) {
91
+					$context['member']['hostname'] = host_from_ip($memberContext[$memID]['ip']);
92
+		} else {
93
+					$context['member']['hostname'] = '';
94
+		}
91 95
 
92 96
 		$context['can_see_ip'] = true;
97
+	} else {
98
+			$context['can_see_ip'] = false;
93 99
 	}
94
-	else
95
-		$context['can_see_ip'] = false;
96 100
 
97 101
 	// Are they hidden?
98 102
 	$context['member']['is_hidden'] = empty($user_profile[$memID]['show_online']);
@@ -103,8 +107,9 @@  discard block
 block discarded – undo
103 107
 		include_once($sourcedir . '/Who.php');
104 108
 		$action = determineActions($user_profile[$memID]['url']);
105 109
 
106
-		if ($action !== false)
107
-			$context['member']['action'] = $action;
110
+		if ($action !== false) {
111
+					$context['member']['action'] = $action;
112
+		}
108 113
 	}
109 114
 
110 115
 	// If the user is awaiting activation, and the viewer has permission - setup some activation context messages.
@@ -167,13 +172,15 @@  discard block
 block discarded – undo
167 172
 		{
168 173
 			// Work out what restrictions we actually have.
169 174
 			$ban_restrictions = array();
170
-			foreach (array('access', 'login', 'post') as $type)
171
-				if ($row['cannot_' . $type])
175
+			foreach (array('access', 'login', 'post') as $type) {
176
+							if ($row['cannot_' . $type])
172 177
 					$ban_restrictions[] = $txt['ban_type_' . $type];
178
+			}
173 179
 
174 180
 			// No actual ban in place?
175
-			if (empty($ban_restrictions))
176
-				continue;
181
+			if (empty($ban_restrictions)) {
182
+							continue;
183
+			}
177 184
 
178 185
 			// Prepare the link for context.
179 186
 			$ban_explanation = sprintf($txt['user_cannot_due_to'], implode(', ', $ban_restrictions), '<a href="' . $scripturl . '?action=admin;area=ban;sa=edit;bg=' . $row['id_ban_group'] . '">' . $row['name'] . '</a>');
@@ -195,9 +202,10 @@  discard block
 block discarded – undo
195 202
 	$context['print_custom_fields'] = array();
196 203
 
197 204
 	// Any custom profile fields?
198
-	if (!empty($context['custom_fields']))
199
-		foreach ($context['custom_fields'] as $custom)
205
+	if (!empty($context['custom_fields'])) {
206
+			foreach ($context['custom_fields'] as $custom)
200 207
 			$context['print_custom_fields'][$context['cust_profile_fields_placement'][$custom['placement']]][] = $custom;
208
+	}
201 209
 
202 210
 }
203 211
 
@@ -245,16 +253,18 @@  discard block
 block discarded – undo
245 253
 		$row['extra'] = !empty($row['extra']) ? $smcFunc['json_decode']($row['extra'], true) : array();
246 254
 		$alerts[$id_alert] = $row;
247 255
 
248
-		if (!empty($row['sender_id']))
249
-			$senders[] = $row['sender_id'];
256
+		if (!empty($row['sender_id'])) {
257
+					$senders[] = $row['sender_id'];
258
+		}
250 259
 	}
251 260
 	$smcFunc['db_free_result']($request);
252 261
 
253 262
 	if ($withSender)
254 263
 	{
255 264
 		$senders = loadMemberData($senders);
256
-		foreach ($senders as $member)
257
-			loadMemberContext($member);
265
+		foreach ($senders as $member) {
266
+					loadMemberContext($member);
267
+		}
258 268
 	}
259 269
 
260 270
 	// Now go through and actually make with the text.
@@ -269,12 +279,15 @@  discard block
 block discarded – undo
269 279
 	$msgs = array();
270 280
 	foreach ($alerts as $id_alert => $alert)
271 281
 	{
272
-		if (isset($alert['extra']['board']))
273
-			$boards[$alert['extra']['board']] = $txt['board_na'];
274
-		if (isset($alert['extra']['topic']))
275
-			$topics[$alert['extra']['topic']] = $txt['topic_na'];
276
-		if ($alert['content_type'] == 'msg')
277
-			$msgs[$alert['content_id']] = $txt['topic_na'];
282
+		if (isset($alert['extra']['board'])) {
283
+					$boards[$alert['extra']['board']] = $txt['board_na'];
284
+		}
285
+		if (isset($alert['extra']['topic'])) {
286
+					$topics[$alert['extra']['topic']] = $txt['topic_na'];
287
+		}
288
+		if ($alert['content_type'] == 'msg') {
289
+					$msgs[$alert['content_id']] = $txt['topic_na'];
290
+		}
278 291
 	}
279 292
 
280 293
 	// Having figured out what boards etc. there are, let's now get the names of them if we can see them. If not, there's already a fallback set up.
@@ -289,8 +302,9 @@  discard block
 block discarded – undo
289 302
 				'boards' => array_keys($boards),
290 303
 			)
291 304
 		);
292
-		while ($row = $smcFunc['db_fetch_assoc']($request))
293
-			$boards[$row['id_board']] = '<a href="' . $scripturl . '?board=' . $row['id_board'] . '.0">' . $row['name'] . '</a>';
305
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
306
+					$boards[$row['id_board']] = '<a href="' . $scripturl . '?board=' . $row['id_board'] . '.0">' . $row['name'] . '</a>';
307
+		}
294 308
 	}
295 309
 	if (!empty($topics))
296 310
 	{
@@ -305,8 +319,9 @@  discard block
 block discarded – undo
305 319
 				'topics' => array_keys($topics),
306 320
 			)
307 321
 		);
308
-		while ($row = $smcFunc['db_fetch_assoc']($request))
309
-			$topics[$row['id_topic']] = '<a href="' . $scripturl . '?topic=' . $row['id_topic'] . '.0">' . $row['subject'] . '</a>';
322
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
323
+					$topics[$row['id_topic']] = '<a href="' . $scripturl . '?topic=' . $row['id_topic'] . '.0">' . $row['subject'] . '</a>';
324
+		}
310 325
 	}
311 326
 	if (!empty($msgs))
312 327
 	{
@@ -321,44 +336,51 @@  discard block
 block discarded – undo
321 336
 				'msgs' => array_keys($msgs),
322 337
 			)
323 338
 		);
324
-		while ($row = $smcFunc['db_fetch_assoc']($request))
325
-			$msgs[$row['id_msg']] = '<a href="' . $scripturl . '?topic=' . $row['id_topic'] . '.msg' . $row['id_msg'] . '#msg' . $row['id_msg'] . '">' . $row['subject'] . '</a>';
339
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
340
+					$msgs[$row['id_msg']] = '<a href="' . $scripturl . '?topic=' . $row['id_topic'] . '.msg' . $row['id_msg'] . '#msg' . $row['id_msg'] . '">' . $row['subject'] . '</a>';
341
+		}
326 342
 	}
327 343
 
328 344
 	// Now to go back through the alerts, reattach this extra information and then try to build the string out of it (if a hook didn't already)
329 345
 	foreach ($alerts as $id_alert => $alert)
330 346
 	{
331
-		if (!empty($alert['text']))
332
-			continue;
333
-		if (isset($alert['extra']['board']))
334
-			if ($boards[$alert['extra']['board']] == $txt['board_na'])
347
+		if (!empty($alert['text'])) {
348
+					continue;
349
+		}
350
+		if (isset($alert['extra']['board'])) {
351
+					if ($boards[$alert['extra']['board']] == $txt['board_na'])
335 352
 			{
336 353
 				unset($alerts[$id_alert]);
354
+		}
337 355
 				continue;
356
+			} else {
357
+							$alerts[$id_alert]['extra']['board_msg'] = $boards[$alert['extra']['board']];
338 358
 			}
339
-			else
340
-				$alerts[$id_alert]['extra']['board_msg'] = $boards[$alert['extra']['board']];
341
-		if (isset($alert['extra']['topic']))
342
-			if ($alert['extra']['topic'] == $txt['topic_na'])
359
+		if (isset($alert['extra']['topic'])) {
360
+					if ($alert['extra']['topic'] == $txt['topic_na'])
343 361
 			{
344 362
 				unset($alerts[$id_alert]);
363
+		}
345 364
 				continue;
365
+			} else {
366
+							$alerts[$id_alert]['extra']['topic_msg'] = $topics[$alert['extra']['topic']];
346 367
 			}
347
-			else
348
-				$alerts[$id_alert]['extra']['topic_msg'] = $topics[$alert['extra']['topic']];
349
-		if ($alert['content_type'] == 'msg')
350
-			if ($msgs[$alert['content_id']] == $txt['topic_na'])
368
+		if ($alert['content_type'] == 'msg') {
369
+					if ($msgs[$alert['content_id']] == $txt['topic_na'])
351 370
 			{
352 371
 				unset($alerts[$id_alert]);
372
+		}
353 373
 				continue;
374
+			} else {
375
+							$alerts[$id_alert]['extra']['msg_msg'] = $msgs[$alert['content_id']];
354 376
 			}
355
-			else
356
-				$alerts[$id_alert]['extra']['msg_msg'] = $msgs[$alert['content_id']];
357
-		if ($alert['content_type'] == 'profile')
358
-			$alerts[$id_alert]['extra']['profile_msg'] = '<a href="' . $scripturl . '?action=profile;u=' . $alerts[$id_alert]['content_id'] . '">' . $alerts[$id_alert]['extra']['user_name'] . '</a>';
377
+		if ($alert['content_type'] == 'profile') {
378
+					$alerts[$id_alert]['extra']['profile_msg'] = '<a href="' . $scripturl . '?action=profile;u=' . $alerts[$id_alert]['content_id'] . '">' . $alerts[$id_alert]['extra']['user_name'] . '</a>';
379
+		}
359 380
 
360
-		if (!empty($memberContext[$alert['sender_id']]))
361
-			$alerts[$id_alert]['sender'] = &$memberContext[$alert['sender_id']];
381
+		if (!empty($memberContext[$alert['sender_id']])) {
382
+					$alerts[$id_alert]['sender'] = &$memberContext[$alert['sender_id']];
383
+		}
362 384
 
363 385
 		$string = 'alert_' . $alert['content_type'] . '_' . $alert['content_action'];
364 386
 		if (isset($txt[$string]))
@@ -410,8 +432,8 @@  discard block
 block discarded – undo
410 432
 	$context['pagination'] = constructPageIndex($scripturl . '?action=profile;area=showalerts;u=' . $memID, $start, $count, $maxIndex, false);
411 433
 
412 434
 	// Set some JavaScript for checking all alerts at once.
413
-	if ($context['showCheckboxes'])
414
-		addInlineJavaScript('
435
+	if ($context['showCheckboxes']) {
436
+			addInlineJavaScript('
415 437
 		$(function(){
416 438
 			$(\'#select_all\').on(\'change\', function() {
417 439
 				var checkboxes = $(\'ul.quickbuttons\').find(\':checkbox\');
@@ -423,6 +445,7 @@  discard block
 block discarded – undo
423 445
 				}
424 446
 			});
425 447
 		});', true);
448
+	}
426 449
 
427 450
 	// Set a nice message.
428 451
 	if (!empty($_SESSION['update_message']))
@@ -454,11 +477,11 @@  discard block
 block discarded – undo
454 477
 		checkSession('request');
455 478
 
456 479
 		// Call it!
457
-		if ($action == 'remove')
458
-			alert_delete($toMark, $memID);
459
-
460
-		else
461
-			alert_mark($memID, $toMark, $action == 'read' ? 1 : 0);
480
+		if ($action == 'remove') {
481
+					alert_delete($toMark, $memID);
482
+		} else {
483
+					alert_mark($memID, $toMark, $action == 'read' ? 1 : 0);
484
+		}
462 485
 
463 486
 		// Set a nice update message.
464 487
 		$_SESSION['update_message'] = true;
@@ -508,23 +531,27 @@  discard block
 block discarded – undo
508 531
 	);
509 532
 
510 533
 	// Set the page title
511
-	if (isset($_GET['sa']) && array_key_exists($_GET['sa'], $title))
512
-		$context['page_title'] = $txt['show' . $title[$_GET['sa']]];
513
-	else
514
-		$context['page_title'] = $txt['showPosts'];
534
+	if (isset($_GET['sa']) && array_key_exists($_GET['sa'], $title)) {
535
+			$context['page_title'] = $txt['show' . $title[$_GET['sa']]];
536
+	} else {
537
+			$context['page_title'] = $txt['showPosts'];
538
+	}
515 539
 
516 540
 	$context['page_title'] .= ' - ' . $user_profile[$memID]['real_name'];
517 541
 
518 542
 	// Is the load average too high to allow searching just now?
519
-	if (!empty($context['load_average']) && !empty($modSettings['loadavg_show_posts']) && $context['load_average'] >= $modSettings['loadavg_show_posts'])
520
-		fatal_lang_error('loadavg_show_posts_disabled', false);
543
+	if (!empty($context['load_average']) && !empty($modSettings['loadavg_show_posts']) && $context['load_average'] >= $modSettings['loadavg_show_posts']) {
544
+			fatal_lang_error('loadavg_show_posts_disabled', false);
545
+	}
521 546
 
522 547
 	// If we're specifically dealing with attachments use that function!
523
-	if (isset($_GET['sa']) && $_GET['sa'] == 'attach')
524
-		return showAttachments($memID);
548
+	if (isset($_GET['sa']) && $_GET['sa'] == 'attach') {
549
+			return showAttachments($memID);
550
+	}
525 551
 	// Instead, if we're dealing with unwatched topics (and the feature is enabled) use that other function.
526
-	elseif (isset($_GET['sa']) && $_GET['sa'] == 'unwatchedtopics')
527
-		return showUnwatched($memID);
552
+	elseif (isset($_GET['sa']) && $_GET['sa'] == 'unwatchedtopics') {
553
+			return showUnwatched($memID);
554
+	}
528 555
 
529 556
 	// Are we just viewing topics?
530 557
 	$context['is_topics'] = isset($_GET['sa']) && $_GET['sa'] == 'topics' ? true : false;
@@ -547,27 +574,30 @@  discard block
 block discarded – undo
547 574
 		$smcFunc['db_free_result']($request);
548 575
 
549 576
 		// Trying to remove a message that doesn't exist.
550
-		if (empty($info))
551
-			redirectexit('action=profile;u=' . $memID . ';area=showposts;start=' . $_GET['start']);
577
+		if (empty($info)) {
578
+					redirectexit('action=profile;u=' . $memID . ';area=showposts;start=' . $_GET['start']);
579
+		}
552 580
 
553 581
 		// We can be lazy, since removeMessage() will check the permissions for us.
554 582
 		require_once($sourcedir . '/RemoveTopic.php');
555 583
 		removeMessage((int) $_GET['delete']);
556 584
 
557 585
 		// Add it to the mod log.
558
-		if (allowedTo('delete_any') && (!allowedTo('delete_own') || $info[1] != $user_info['id']))
559
-			logAction('delete', array('topic' => $info[2], 'subject' => $info[0], 'member' => $info[1], 'board' => $info[3]));
586
+		if (allowedTo('delete_any') && (!allowedTo('delete_own') || $info[1] != $user_info['id'])) {
587
+					logAction('delete', array('topic' => $info[2], 'subject' => $info[0], 'member' => $info[1], 'board' => $info[3]));
588
+		}
560 589
 
561 590
 		// Back to... where we are now ;).
562 591
 		redirectexit('action=profile;u=' . $memID . ';area=showposts;start=' . $_GET['start']);
563 592
 	}
564 593
 
565 594
 	// Default to 10.
566
-	if (empty($_REQUEST['viewscount']) || !is_numeric($_REQUEST['viewscount']))
567
-		$_REQUEST['viewscount'] = '10';
595
+	if (empty($_REQUEST['viewscount']) || !is_numeric($_REQUEST['viewscount'])) {
596
+			$_REQUEST['viewscount'] = '10';
597
+	}
568 598
 
569
-	if ($context['is_topics'])
570
-		$request = $smcFunc['db_query']('', '
599
+	if ($context['is_topics']) {
600
+			$request = $smcFunc['db_query']('', '
571 601
 			SELECT COUNT(*)
572 602
 			FROM {db_prefix}topics AS t' . ($user_info['query_see_board'] == '1=1' ? '' : '
573 603
 				INNER JOIN {db_prefix}boards AS b ON (b.id_board = t.id_board AND {query_see_board})') . '
@@ -580,8 +610,8 @@  discard block
 block discarded – undo
580 610
 				'board' => $board,
581 611
 			)
582 612
 		);
583
-	else
584
-		$request = $smcFunc['db_query']('', '
613
+	} else {
614
+			$request = $smcFunc['db_query']('', '
585 615
 			SELECT COUNT(*)
586 616
 			FROM {db_prefix}messages AS m' . ($user_info['query_see_board'] == '1=1' ? '' : '
587 617
 				INNER JOIN {db_prefix}boards AS b ON (b.id_board = m.id_board AND {query_see_board})') . '
@@ -594,6 +624,7 @@  discard block
 block discarded – undo
594 624
 				'board' => $board,
595 625
 			)
596 626
 		);
627
+	}
597 628
 	list ($msgCount) = $smcFunc['db_fetch_row']($request);
598 629
 	$smcFunc['db_free_result']($request);
599 630
 
@@ -614,10 +645,11 @@  discard block
 block discarded – undo
614 645
 
615 646
 	$range_limit = '';
616 647
 
617
-	if ($context['is_topics'])
618
-		$maxPerPage = empty($modSettings['disableCustomPerPage']) && !empty($options['topics_per_page']) ? $options['topics_per_page'] : $modSettings['defaultMaxTopics'];
619
-	else
620
-		$maxPerPage = empty($modSettings['disableCustomPerPage']) && !empty($options['messages_per_page']) ? $options['messages_per_page'] : $modSettings['defaultMaxMessages'];
648
+	if ($context['is_topics']) {
649
+			$maxPerPage = empty($modSettings['disableCustomPerPage']) && !empty($options['topics_per_page']) ? $options['topics_per_page'] : $modSettings['defaultMaxTopics'];
650
+	} else {
651
+			$maxPerPage = empty($modSettings['disableCustomPerPage']) && !empty($options['messages_per_page']) ? $options['messages_per_page'] : $modSettings['defaultMaxMessages'];
652
+	}
621 653
 
622 654
 	$maxIndex = $maxPerPage;
623 655
 
@@ -643,9 +675,9 @@  discard block
 block discarded – undo
643 675
 		{
644 676
 			$margin *= 5;
645 677
 			$range_limit = $reverse ? 't.id_first_msg < ' . ($min_msg_member + $margin) : 't.id_first_msg > ' . ($max_msg_member - $margin);
678
+		} else {
679
+					$range_limit = $reverse ? 'm.id_msg < ' . ($min_msg_member + $margin) : 'm.id_msg > ' . ($max_msg_member - $margin);
646 680
 		}
647
-		else
648
-			$range_limit = $reverse ? 'm.id_msg < ' . ($min_msg_member + $margin) : 'm.id_msg > ' . ($max_msg_member - $margin);
649 681
 	}
650 682
 
651 683
 	// Find this user's posts.  The left join on categories somehow makes this faster, weird as it looks.
@@ -677,8 +709,7 @@  discard block
 block discarded – undo
677 709
 					'max' => $maxIndex,
678 710
 				)
679 711
 			);
680
-		}
681
-		else
712
+		} else
682 713
 		{
683 714
 			$request = $smcFunc['db_query']('', '
684 715
 				SELECT
@@ -707,8 +738,9 @@  discard block
 block discarded – undo
707 738
 		}
708 739
 
709 740
 		// Make sure we quit this loop.
710
-		if ($smcFunc['db_num_rows']($request) === $maxIndex || $looped || $range_limit == '')
711
-			break;
741
+		if ($smcFunc['db_num_rows']($request) === $maxIndex || $looped || $range_limit == '') {
742
+					break;
743
+		}
712 744
 		$looped = true;
713 745
 		$range_limit = '';
714 746
 	}
@@ -752,19 +784,21 @@  discard block
 block discarded – undo
752 784
 			'css_class' => $row['approved'] ? 'windowbg' : 'approvebg',
753 785
 		);
754 786
 
755
-		if ($user_info['id'] == $row['id_member_started'])
756
-			$board_ids['own'][$row['id_board']][] = $counter;
787
+		if ($user_info['id'] == $row['id_member_started']) {
788
+					$board_ids['own'][$row['id_board']][] = $counter;
789
+		}
757 790
 		$board_ids['any'][$row['id_board']][] = $counter;
758 791
 	}
759 792
 	$smcFunc['db_free_result']($request);
760 793
 
761 794
 	// All posts were retrieved in reverse order, get them right again.
762
-	if ($reverse)
763
-		$context['posts'] = array_reverse($context['posts'], true);
795
+	if ($reverse) {
796
+			$context['posts'] = array_reverse($context['posts'], true);
797
+	}
764 798
 
765 799
 	// These are all the permissions that are different from board to board..
766
-	if ($context['is_topics'])
767
-		$permissions = array(
800
+	if ($context['is_topics']) {
801
+			$permissions = array(
768 802
 			'own' => array(
769 803
 				'post_reply_own' => 'can_reply',
770 804
 			),
@@ -772,8 +806,8 @@  discard block
 block discarded – undo
772 806
 				'post_reply_any' => 'can_reply',
773 807
 			)
774 808
 		);
775
-	else
776
-		$permissions = array(
809
+	} else {
810
+			$permissions = array(
777 811
 			'own' => array(
778 812
 				'post_reply_own' => 'can_reply',
779 813
 				'delete_own' => 'can_delete',
@@ -783,6 +817,7 @@  discard block
 block discarded – undo
783 817
 				'delete_any' => 'can_delete',
784 818
 			)
785 819
 		);
820
+	}
786 821
 
787 822
 	// For every permission in the own/any lists...
788 823
 	foreach ($permissions as $type => $list)
@@ -793,19 +828,22 @@  discard block
 block discarded – undo
793 828
 			$boards = boardsAllowedTo($permission);
794 829
 
795 830
 			// Hmm, they can do it on all boards, can they?
796
-			if (!empty($boards) && $boards[0] == 0)
797
-				$boards = array_keys($board_ids[$type]);
831
+			if (!empty($boards) && $boards[0] == 0) {
832
+							$boards = array_keys($board_ids[$type]);
833
+			}
798 834
 
799 835
 			// Now go through each board they can do the permission on.
800 836
 			foreach ($boards as $board_id)
801 837
 			{
802 838
 				// There aren't any posts displayed from this board.
803
-				if (!isset($board_ids[$type][$board_id]))
804
-					continue;
839
+				if (!isset($board_ids[$type][$board_id])) {
840
+									continue;
841
+				}
805 842
 
806 843
 				// Set the permission to true ;).
807
-				foreach ($board_ids[$type][$board_id] as $counter)
808
-					$context['posts'][$counter][$allowed] = true;
844
+				foreach ($board_ids[$type][$board_id] as $counter) {
845
+									$context['posts'][$counter][$allowed] = true;
846
+				}
809 847
 			}
810 848
 		}
811 849
 	}
@@ -836,8 +874,9 @@  discard block
 block discarded – undo
836 874
 	$boardsAllowed = boardsAllowedTo('view_attachments');
837 875
 
838 876
 	// Make sure we can't actually see anything...
839
-	if (empty($boardsAllowed))
840
-		$boardsAllowed = array(-1);
877
+	if (empty($boardsAllowed)) {
878
+			$boardsAllowed = array(-1);
879
+	}
841 880
 
842 881
 	require_once($sourcedir . '/Subs-List.php');
843 882
 
@@ -988,8 +1027,8 @@  discard block
 block discarded – undo
988 1027
 		)
989 1028
 	);
990 1029
 	$attachments = array();
991
-	while ($row = $smcFunc['db_fetch_assoc']($request))
992
-		$attachments[] = array(
1030
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1031
+			$attachments[] = array(
993 1032
 			'id' => $row['id_attach'],
994 1033
 			'filename' => $row['filename'],
995 1034
 			'downloads' => $row['downloads'],
@@ -1001,6 +1040,7 @@  discard block
 block discarded – undo
1001 1040
 			'board_name' => $row['name'],
1002 1041
 			'approved' => $row['approved'],
1003 1042
 		);
1043
+	}
1004 1044
 
1005 1045
 	$smcFunc['db_free_result']($request);
1006 1046
 
@@ -1055,8 +1095,9 @@  discard block
 block discarded – undo
1055 1095
 	global $txt, $user_info, $scripturl, $modSettings, $context, $sourcedir;
1056 1096
 
1057 1097
 	// Only the owner can see the list (if the function is enabled of course)
1058
-	if ($user_info['id'] != $memID)
1059
-		return;
1098
+	if ($user_info['id'] != $memID) {
1099
+			return;
1100
+	}
1060 1101
 
1061 1102
 	require_once($sourcedir . '/Subs-List.php');
1062 1103
 
@@ -1202,8 +1243,9 @@  discard block
 block discarded – undo
1202 1243
 	);
1203 1244
 
1204 1245
 	$topics = array();
1205
-	while ($row = $smcFunc['db_fetch_assoc']($request))
1206
-		$topics[] = $row['id_topic'];
1246
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1247
+			$topics[] = $row['id_topic'];
1248
+	}
1207 1249
 
1208 1250
 	$smcFunc['db_free_result']($request);
1209 1251
 
@@ -1223,8 +1265,9 @@  discard block
 block discarded – undo
1223 1265
 				'topics' => $topics,
1224 1266
 			)
1225 1267
 		);
1226
-		while ($row = $smcFunc['db_fetch_assoc']($request))
1227
-			$topicsInfo[] = $row;
1268
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
1269
+					$topicsInfo[] = $row;
1270
+		}
1228 1271
 		$smcFunc['db_free_result']($request);
1229 1272
 	}
1230 1273
 
@@ -1272,8 +1315,9 @@  discard block
 block discarded – undo
1272 1315
 	$context['page_title'] = $txt['statPanel_showStats'] . ' ' . $user_profile[$memID]['real_name'];
1273 1316
 
1274 1317
 	// Is the load average too high to allow searching just now?
1275
-	if (!empty($context['load_average']) && !empty($modSettings['loadavg_userstats']) && $context['load_average'] >= $modSettings['loadavg_userstats'])
1276
-		fatal_lang_error('loadavg_userstats_disabled', false);
1318
+	if (!empty($context['load_average']) && !empty($modSettings['loadavg_userstats']) && $context['load_average'] >= $modSettings['loadavg_userstats']) {
1319
+			fatal_lang_error('loadavg_userstats_disabled', false);
1320
+	}
1277 1321
 
1278 1322
 	// General user statistics.
1279 1323
 	$timeDays = floor($user_profile[$memID]['total_time_logged_in'] / 86400);
@@ -1416,11 +1460,13 @@  discard block
 block discarded – undo
1416 1460
 	}
1417 1461
 	$smcFunc['db_free_result']($result);
1418 1462
 
1419
-	if ($maxPosts > 0)
1420
-		for ($hour = 0; $hour < 24; $hour++)
1463
+	if ($maxPosts > 0) {
1464
+			for ($hour = 0;
1465
+	}
1466
+	$hour < 24; $hour++)
1421 1467
 		{
1422
-			if (!isset($context['posts_by_time'][$hour]))
1423
-				$context['posts_by_time'][$hour] = array(
1468
+			if (!isset($context['posts_by_time'][$hour])) {
1469
+							$context['posts_by_time'][$hour] = array(
1424 1470
 					'hour' => $hour,
1425 1471
 					'hour_format' => stripos($user_info['time_format'], '%p') === false ? $hour : date('g a', mktime($hour)),
1426 1472
 					'posts' => 0,
@@ -1428,7 +1474,7 @@  discard block
 block discarded – undo
1428 1474
 					'relative_percent' => 0,
1429 1475
 					'is_last' => $hour == 23,
1430 1476
 				);
1431
-			else
1477
+			} else
1432 1478
 			{
1433 1479
 				$context['posts_by_time'][$hour]['posts_percent'] = round(($context['posts_by_time'][$hour]['posts'] * 100) / $realPosts);
1434 1480
 				$context['posts_by_time'][$hour]['relative_percent'] = round(($context['posts_by_time'][$hour]['posts'] * 100) / $maxPosts);
@@ -1461,8 +1507,9 @@  discard block
 block discarded – undo
1461 1507
 
1462 1508
 	foreach ($subActions as $sa => $action)
1463 1509
 	{
1464
-		if (!allowedTo($action[2]))
1465
-			unset($subActions[$sa]);
1510
+		if (!allowedTo($action[2])) {
1511
+					unset($subActions[$sa]);
1512
+		}
1466 1513
 	}
1467 1514
 
1468 1515
 	// Create the tabs for the template.
@@ -1480,15 +1527,18 @@  discard block
 block discarded – undo
1480 1527
 	);
1481 1528
 
1482 1529
 	// Moderation must be on to track edits.
1483
-	if (empty($modSettings['userlog_enabled']))
1484
-		unset($context[$context['profile_menu_name']]['tab_data']['edits'], $subActions['edits']);
1530
+	if (empty($modSettings['userlog_enabled'])) {
1531
+			unset($context[$context['profile_menu_name']]['tab_data']['edits'], $subActions['edits']);
1532
+	}
1485 1533
 
1486 1534
 	// Group requests must be active to show it...
1487
-	if (empty($modSettings['show_group_membership']))
1488
-		unset($context[$context['profile_menu_name']]['tab_data']['groupreq'], $subActions['groupreq']);
1535
+	if (empty($modSettings['show_group_membership'])) {
1536
+			unset($context[$context['profile_menu_name']]['tab_data']['groupreq'], $subActions['groupreq']);
1537
+	}
1489 1538
 
1490
-	if (empty($subActions))
1491
-		fatal_lang_error('no_access', false);
1539
+	if (empty($subActions)) {
1540
+			fatal_lang_error('no_access', false);
1541
+	}
1492 1542
 
1493 1543
 	$keys = array_keys($subActions);
1494 1544
 	$default = array_shift($keys);
@@ -1501,9 +1551,10 @@  discard block
 block discarded – undo
1501 1551
 	$context['sub_template'] = $subActions[$context['tracking_area']][0];
1502 1552
 	$call = call_helper($subActions[$context['tracking_area']][0], true);
1503 1553
 
1504
-	if (!empty($call))
1505
-		call_user_func($call, $memID);
1506
-}
1554
+	if (!empty($call)) {
1555
+			call_user_func($call, $memID);
1556
+	}
1557
+	}
1507 1558
 
1508 1559
 /**
1509 1560
  * Handles tracking a user's activity
@@ -1519,8 +1570,9 @@  discard block
 block discarded – undo
1519 1570
 	isAllowedTo('moderate_forum');
1520 1571
 
1521 1572
 	$context['last_ip'] = $user_profile[$memID]['member_ip'];
1522
-	if ($context['last_ip'] != $user_profile[$memID]['member_ip2'])
1523
-		$context['last_ip2'] = $user_profile[$memID]['member_ip2'];
1573
+	if ($context['last_ip'] != $user_profile[$memID]['member_ip2']) {
1574
+			$context['last_ip2'] = $user_profile[$memID]['member_ip2'];
1575
+	}
1524 1576
 	$context['member']['name'] = $user_profile[$memID]['real_name'];
1525 1577
 
1526 1578
 	// Set the options for the list component.
@@ -1687,8 +1739,9 @@  discard block
 block discarded – undo
1687 1739
 			)
1688 1740
 		);
1689 1741
 		$message_members = array();
1690
-		while ($row = $smcFunc['db_fetch_assoc']($request))
1691
-			$message_members[] = $row['id_member'];
1742
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
1743
+					$message_members[] = $row['id_member'];
1744
+		}
1692 1745
 		$smcFunc['db_free_result']($request);
1693 1746
 
1694 1747
 		// Fetch their names, cause of the GROUP BY doesn't like giving us that normally.
@@ -1703,8 +1756,9 @@  discard block
 block discarded – undo
1703 1756
 					'ip_list' => $ips,
1704 1757
 				)
1705 1758
 			);
1706
-			while ($row = $smcFunc['db_fetch_assoc']($request))
1707
-				$context['members_in_range'][$row['id_member']] = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>';
1759
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
1760
+							$context['members_in_range'][$row['id_member']] = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>';
1761
+			}
1708 1762
 			$smcFunc['db_free_result']($request);
1709 1763
 		}
1710 1764
 
@@ -1718,8 +1772,9 @@  discard block
 block discarded – undo
1718 1772
 				'ip_list' => $ips,
1719 1773
 			)
1720 1774
 		);
1721
-		while ($row = $smcFunc['db_fetch_assoc']($request))
1722
-			$context['members_in_range'][$row['id_member']] = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>';
1775
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
1776
+					$context['members_in_range'][$row['id_member']] = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>';
1777
+		}
1723 1778
 		$smcFunc['db_free_result']($request);
1724 1779
 	}
1725 1780
 }
@@ -1779,8 +1834,8 @@  discard block
 block discarded – undo
1779 1834
 		))
1780 1835
 	);
1781 1836
 	$error_messages = array();
1782
-	while ($row = $smcFunc['db_fetch_assoc']($request))
1783
-		$error_messages[] = array(
1837
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1838
+			$error_messages[] = array(
1784 1839
 			'ip' => inet_dtop($row['ip']),
1785 1840
 			'member_link' => $row['id_member'] > 0 ? '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['display_name'] . '</a>' : $row['display_name'],
1786 1841
 			'message' => strtr($row['message'], array('&lt;span class=&quot;remove&quot;&gt;' => '', '&lt;/span&gt;' => '')),
@@ -1788,6 +1843,7 @@  discard block
 block discarded – undo
1788 1843
 			'time' => timeformat($row['log_time']),
1789 1844
 			'timestamp' => forum_time(true, $row['log_time']),
1790 1845
 		);
1846
+	}
1791 1847
 	$smcFunc['db_free_result']($request);
1792 1848
 
1793 1849
 	return $error_messages;
@@ -1850,8 +1906,8 @@  discard block
 block discarded – undo
1850 1906
 		))
1851 1907
 	);
1852 1908
 	$messages = array();
1853
-	while ($row = $smcFunc['db_fetch_assoc']($request))
1854
-		$messages[] = array(
1909
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1910
+			$messages[] = array(
1855 1911
 			'ip' => inet_dtop($row['poster_ip']),
1856 1912
 			'member_link' => empty($row['id_member']) ? $row['display_name'] : '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['display_name'] . '</a>',
1857 1913
 			'board' => array(
@@ -1864,6 +1920,7 @@  discard block
 block discarded – undo
1864 1920
 			'time' => timeformat($row['poster_time']),
1865 1921
 			'timestamp' => forum_time(true, $row['poster_time'])
1866 1922
 		);
1923
+	}
1867 1924
 	$smcFunc['db_free_result']($request);
1868 1925
 
1869 1926
 	return $messages;
@@ -1890,19 +1947,20 @@  discard block
 block discarded – undo
1890 1947
 		$context['sub_template'] = 'trackIP';
1891 1948
 		$context['page_title'] = $txt['profile'];
1892 1949
 		$context['base_url'] = $scripturl . '?action=trackip';
1893
-	}
1894
-	else
1950
+	} else
1895 1951
 	{
1896 1952
 		$context['ip'] = ip2range($user_profile[$memID]['member_ip']);
1897 1953
 		$context['base_url'] = $scripturl . '?action=profile;area=tracking;sa=ip;u=' . $memID;
1898 1954
 	}
1899 1955
 
1900 1956
 	// Searching?
1901
-	if (isset($_REQUEST['searchip']))
1902
-		$context['ip'] = ip2range(trim($_REQUEST['searchip']));
1957
+	if (isset($_REQUEST['searchip'])) {
1958
+			$context['ip'] = ip2range(trim($_REQUEST['searchip']));
1959
+	}
1903 1960
 
1904
-	if (count($context['ip']) !== 2)
1905
-		fatal_lang_error('invalid_tracking_ip', false);
1961
+	if (count($context['ip']) !== 2) {
1962
+			fatal_lang_error('invalid_tracking_ip', false);
1963
+	}
1906 1964
 
1907 1965
 	$ip_string = array('{inet:ip_address_low}','{inet:ip_address_high}');
1908 1966
 	$fields = array(
@@ -1912,13 +1970,15 @@  discard block
 block discarded – undo
1912 1970
 
1913 1971
 	$ip_var = $context['ip'];
1914 1972
 
1915
-	if ($context['ip']['low'] !==  $context['ip']['high'])
1916
-		$context['ip'] = $context['ip']['low'] . ' - ' . $context['ip']['high'];
1917
-	else
1918
-		$context['ip'] = $context['ip']['low'];
1973
+	if ($context['ip']['low'] !==  $context['ip']['high']) {
1974
+			$context['ip'] = $context['ip']['low'] . ' - ' . $context['ip']['high'];
1975
+	} else {
1976
+			$context['ip'] = $context['ip']['low'];
1977
+	}
1919 1978
 
1920
-	if (empty($context['tracking_area']))
1921
-		$context['page_title'] = $txt['trackIP'] . ' - ' . $context['ip'];
1979
+	if (empty($context['tracking_area'])) {
1980
+			$context['page_title'] = $txt['trackIP'] . ' - ' . $context['ip'];
1981
+	}
1922 1982
 
1923 1983
 	$request = $smcFunc['db_query']('', '
1924 1984
 		SELECT id_member, real_name AS display_name, member_ip
@@ -1927,8 +1987,9 @@  discard block
 block discarded – undo
1927 1987
 		$fields
1928 1988
 	);
1929 1989
 	$context['ips'] = array();
1930
-	while ($row = $smcFunc['db_fetch_assoc']($request))
1931
-		$context['ips'][inet_dtop($row['member_ip'])][] = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['display_name'] . '</a>';
1990
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1991
+			$context['ips'][inet_dtop($row['member_ip'])][] = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['display_name'] . '</a>';
1992
+	}
1932 1993
 	$smcFunc['db_free_result']($request);
1933 1994
 
1934 1995
 	ksort($context['ips']);
@@ -2158,10 +2219,11 @@  discard block
 block discarded – undo
2158 2219
 	// Gonna want this for the list.
2159 2220
 	require_once($sourcedir . '/Subs-List.php');
2160 2221
 
2161
-	if ($memID == 0)
2162
-		$context['base_url'] = $scripturl . '?action=trackip';
2163
-	else
2164
-		$context['base_url'] = $scripturl . '?action=profile;area=tracking;sa=ip;u=' . $memID;
2222
+	if ($memID == 0) {
2223
+			$context['base_url'] = $scripturl . '?action=trackip';
2224
+	} else {
2225
+			$context['base_url'] = $scripturl . '?action=profile;area=tracking;sa=ip;u=' . $memID;
2226
+	}
2165 2227
 
2166 2228
 	// Start with the user messages.
2167 2229
 	$listOptions = array(
@@ -2271,12 +2333,13 @@  discard block
 block discarded – undo
2271 2333
 		)
2272 2334
 	);
2273 2335
 	$logins = array();
2274
-	while ($row = $smcFunc['db_fetch_assoc']($request))
2275
-		$logins[] = array(
2336
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
2337
+			$logins[] = array(
2276 2338
 			'time' => timeformat($row['time']),
2277 2339
 			'ip' => inet_dtop($row['ip']),
2278 2340
 			'ip2' => inet_dtop($row['ip2']),
2279 2341
 		);
2342
+	}
2280 2343
 	$smcFunc['db_free_result']($request);
2281 2344
 
2282 2345
 	return $logins;
@@ -2301,11 +2364,12 @@  discard block
 block discarded – undo
2301 2364
 		)
2302 2365
 	);
2303 2366
 	$context['custom_field_titles'] = array();
2304
-	while ($row = $smcFunc['db_fetch_assoc']($request))
2305
-		$context['custom_field_titles']['customfield_' . $row['col_name']] = array(
2367
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
2368
+			$context['custom_field_titles']['customfield_' . $row['col_name']] = array(
2306 2369
 			'title' => $row['field_name'],
2307 2370
 			'parse_bbc' => $row['bbc'],
2308 2371
 		);
2372
+	}
2309 2373
 	$smcFunc['db_free_result']($request);
2310 2374
 
2311 2375
 	// Set the options for the error lists.
@@ -2444,19 +2508,22 @@  discard block
 block discarded – undo
2444 2508
 	while ($row = $smcFunc['db_fetch_assoc']($request))
2445 2509
 	{
2446 2510
 		$extra = $smcFunc['json_decode']($row['extra'], true);
2447
-		if (!empty($extra['applicator']))
2448
-			$members[] = $extra['applicator'];
2511
+		if (!empty($extra['applicator'])) {
2512
+					$members[] = $extra['applicator'];
2513
+		}
2449 2514
 
2450 2515
 		// Work out what the name of the action is.
2451
-		if (isset($txt['trackEdit_action_' . $row['action']]))
2452
-			$action_text = $txt['trackEdit_action_' . $row['action']];
2453
-		elseif (isset($txt[$row['action']]))
2454
-			$action_text = $txt[$row['action']];
2516
+		if (isset($txt['trackEdit_action_' . $row['action']])) {
2517
+					$action_text = $txt['trackEdit_action_' . $row['action']];
2518
+		} elseif (isset($txt[$row['action']])) {
2519
+					$action_text = $txt[$row['action']];
2520
+		}
2455 2521
 		// Custom field?
2456
-		elseif (isset($context['custom_field_titles'][$row['action']]))
2457
-			$action_text = $context['custom_field_titles'][$row['action']]['title'];
2458
-		else
2459
-			$action_text = $row['action'];
2522
+		elseif (isset($context['custom_field_titles'][$row['action']])) {
2523
+					$action_text = $context['custom_field_titles'][$row['action']]['title'];
2524
+		} else {
2525
+					$action_text = $row['action'];
2526
+		}
2460 2527
 
2461 2528
 		// Parse BBC?
2462 2529
 		$parse_bbc = isset($context['custom_field_titles'][$row['action']]) && $context['custom_field_titles'][$row['action']]['parse_bbc'] ? true : false;
@@ -2488,13 +2555,15 @@  discard block
 block discarded – undo
2488 2555
 			)
2489 2556
 		);
2490 2557
 		$members = array();
2491
-		while ($row = $smcFunc['db_fetch_assoc']($request))
2492
-			$members[$row['id_member']] = $row['real_name'];
2558
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
2559
+					$members[$row['id_member']] = $row['real_name'];
2560
+		}
2493 2561
 		$smcFunc['db_free_result']($request);
2494 2562
 
2495
-		foreach ($edits as $key => $value)
2496
-			if (isset($members[$value['id_member']]))
2563
+		foreach ($edits as $key => $value) {
2564
+					if (isset($members[$value['id_member']]))
2497 2565
 				$edits[$key]['member_link'] = '<a href="' . $scripturl . '?action=profile;u=' . $value['id_member'] . '">' . $members[$value['id_member']] . '</a>';
2566
+		}
2498 2567
 	}
2499 2568
 
2500 2569
 	return $edits;
@@ -2695,10 +2764,11 @@  discard block
 block discarded – undo
2695 2764
 	$context['board'] = $board;
2696 2765
 
2697 2766
 	// Determine which groups this user is in.
2698
-	if (empty($user_profile[$memID]['additional_groups']))
2699
-		$curGroups = array();
2700
-	else
2701
-		$curGroups = explode(',', $user_profile[$memID]['additional_groups']);
2767
+	if (empty($user_profile[$memID]['additional_groups'])) {
2768
+			$curGroups = array();
2769
+	} else {
2770
+			$curGroups = explode(',', $user_profile[$memID]['additional_groups']);
2771
+	}
2702 2772
 	$curGroups[] = $user_profile[$memID]['id_group'];
2703 2773
 	$curGroups[] = $user_profile[$memID]['id_post_group'];
2704 2774
 
@@ -2718,28 +2788,30 @@  discard block
 block discarded – undo
2718 2788
 	$context['no_access_boards'] = array();
2719 2789
 	while ($row = $smcFunc['db_fetch_assoc']($request))
2720 2790
 	{
2721
-		if (count(array_intersect($curGroups, explode(',', $row['member_groups']))) === 0 && !$row['is_mod'])
2722
-			$context['no_access_boards'][] = array(
2791
+		if (count(array_intersect($curGroups, explode(',', $row['member_groups']))) === 0 && !$row['is_mod']) {
2792
+					$context['no_access_boards'][] = array(
2723 2793
 				'id' => $row['id_board'],
2724 2794
 				'name' => $row['name'],
2725 2795
 				'is_last' => false,
2726 2796
 			);
2727
-		elseif ($row['id_profile'] != 1 || $row['is_mod'])
2728
-			$context['boards'][$row['id_board']] = array(
2797
+		} elseif ($row['id_profile'] != 1 || $row['is_mod']) {
2798
+					$context['boards'][$row['id_board']] = array(
2729 2799
 				'id' => $row['id_board'],
2730 2800
 				'name' => $row['name'],
2731 2801
 				'selected' => $board == $row['id_board'],
2732 2802
 				'profile' => $row['id_profile'],
2733 2803
 				'profile_name' => $context['profiles'][$row['id_profile']]['name'],
2734 2804
 			);
2805
+		}
2735 2806
 	}
2736 2807
 	$smcFunc['db_free_result']($request);
2737 2808
 
2738 2809
 	require_once($sourcedir . '/Subs-Boards.php');
2739 2810
 	sortBoards($context['boards']);
2740 2811
 
2741
-	if (!empty($context['no_access_boards']))
2742
-		$context['no_access_boards'][count($context['no_access_boards']) - 1]['is_last'] = true;
2812
+	if (!empty($context['no_access_boards'])) {
2813
+			$context['no_access_boards'][count($context['no_access_boards']) - 1]['is_last'] = true;
2814
+	}
2743 2815
 
2744 2816
 	$context['member']['permissions'] = array(
2745 2817
 		'general' => array(),
@@ -2748,8 +2820,9 @@  discard block
 block discarded – undo
2748 2820
 
2749 2821
 	// If you're an admin we know you can do everything, we might as well leave.
2750 2822
 	$context['member']['has_all_permissions'] = in_array(1, $curGroups);
2751
-	if ($context['member']['has_all_permissions'])
2752
-		return;
2823
+	if ($context['member']['has_all_permissions']) {
2824
+			return;
2825
+	}
2753 2826
 
2754 2827
 	$denied = array();
2755 2828
 
@@ -2768,21 +2841,24 @@  discard block
 block discarded – undo
2768 2841
 	while ($row = $smcFunc['db_fetch_assoc']($result))
2769 2842
 	{
2770 2843
 		// We don't know about this permission, it doesn't exist :P.
2771
-		if (!isset($txt['permissionname_' . $row['permission']]))
2772
-			continue;
2844
+		if (!isset($txt['permissionname_' . $row['permission']])) {
2845
+					continue;
2846
+		}
2773 2847
 
2774
-		if (empty($row['add_deny']))
2775
-			$denied[] = $row['permission'];
2848
+		if (empty($row['add_deny'])) {
2849
+					$denied[] = $row['permission'];
2850
+		}
2776 2851
 
2777 2852
 		// Permissions that end with _own or _any consist of two parts.
2778
-		if (in_array(substr($row['permission'], -4), array('_own', '_any')) && isset($txt['permissionname_' . substr($row['permission'], 0, -4)]))
2779
-			$name = $txt['permissionname_' . substr($row['permission'], 0, -4)] . ' - ' . $txt['permissionname_' . $row['permission']];
2780
-		else
2781
-			$name = $txt['permissionname_' . $row['permission']];
2853
+		if (in_array(substr($row['permission'], -4), array('_own', '_any')) && isset($txt['permissionname_' . substr($row['permission'], 0, -4)])) {
2854
+					$name = $txt['permissionname_' . substr($row['permission'], 0, -4)] . ' - ' . $txt['permissionname_' . $row['permission']];
2855
+		} else {
2856
+					$name = $txt['permissionname_' . $row['permission']];
2857
+		}
2782 2858
 
2783 2859
 		// Add this permission if it doesn't exist yet.
2784
-		if (!isset($context['member']['permissions']['general'][$row['permission']]))
2785
-			$context['member']['permissions']['general'][$row['permission']] = array(
2860
+		if (!isset($context['member']['permissions']['general'][$row['permission']])) {
2861
+					$context['member']['permissions']['general'][$row['permission']] = array(
2786 2862
 				'id' => $row['permission'],
2787 2863
 				'groups' => array(
2788 2864
 					'allowed' => array(),
@@ -2792,6 +2868,7 @@  discard block
 block discarded – undo
2792 2868
 				'is_denied' => false,
2793 2869
 				'is_global' => true,
2794 2870
 			);
2871
+		}
2795 2872
 
2796 2873
 		// Add the membergroup to either the denied or the allowed groups.
2797 2874
 		$context['member']['permissions']['general'][$row['permission']]['groups'][empty($row['add_deny']) ? 'denied' : 'allowed'][] = $row['id_group'] == 0 ? $txt['membergroups_members'] : $row['group_name'];
@@ -2825,18 +2902,20 @@  discard block
 block discarded – undo
2825 2902
 	while ($row = $smcFunc['db_fetch_assoc']($request))
2826 2903
 	{
2827 2904
 		// We don't know about this permission, it doesn't exist :P.
2828
-		if (!isset($txt['permissionname_' . $row['permission']]))
2829
-			continue;
2905
+		if (!isset($txt['permissionname_' . $row['permission']])) {
2906
+					continue;
2907
+		}
2830 2908
 
2831 2909
 		// The name of the permission using the format 'permission name' - 'own/any topic/event/etc.'.
2832
-		if (in_array(substr($row['permission'], -4), array('_own', '_any')) && isset($txt['permissionname_' . substr($row['permission'], 0, -4)]))
2833
-			$name = $txt['permissionname_' . substr($row['permission'], 0, -4)] . ' - ' . $txt['permissionname_' . $row['permission']];
2834
-		else
2835
-			$name = $txt['permissionname_' . $row['permission']];
2910
+		if (in_array(substr($row['permission'], -4), array('_own', '_any')) && isset($txt['permissionname_' . substr($row['permission'], 0, -4)])) {
2911
+					$name = $txt['permissionname_' . substr($row['permission'], 0, -4)] . ' - ' . $txt['permissionname_' . $row['permission']];
2912
+		} else {
2913
+					$name = $txt['permissionname_' . $row['permission']];
2914
+		}
2836 2915
 
2837 2916
 		// Create the structure for this permission.
2838
-		if (!isset($context['member']['permissions']['board'][$row['permission']]))
2839
-			$context['member']['permissions']['board'][$row['permission']] = array(
2917
+		if (!isset($context['member']['permissions']['board'][$row['permission']])) {
2918
+					$context['member']['permissions']['board'][$row['permission']] = array(
2840 2919
 				'id' => $row['permission'],
2841 2920
 				'groups' => array(
2842 2921
 					'allowed' => array(),
@@ -2846,6 +2925,7 @@  discard block
 block discarded – undo
2846 2925
 				'is_denied' => false,
2847 2926
 				'is_global' => empty($board),
2848 2927
 			);
2928
+		}
2849 2929
 
2850 2930
 		$context['member']['permissions']['board'][$row['permission']]['groups'][empty($row['add_deny']) ? 'denied' : 'allowed'][$row['id_group']] = $row['id_group'] == 0 ? $txt['membergroups_members'] : $row['group_name'];
2851 2931
 
@@ -2864,8 +2944,9 @@  discard block
 block discarded – undo
2864 2944
 	global $modSettings, $context, $sourcedir, $txt, $scripturl;
2865 2945
 
2866 2946
 	// Firstly, can we actually even be here?
2867
-	if (!($context['user']['is_owner'] && allowedTo('view_warning_own')) && !allowedTo('view_warning_any') && !allowedTo('issue_warning') && !allowedTo('moderate_forum'))
2868
-		fatal_lang_error('no_access', false);
2947
+	if (!($context['user']['is_owner'] && allowedTo('view_warning_own')) && !allowedTo('view_warning_any') && !allowedTo('issue_warning') && !allowedTo('moderate_forum')) {
2948
+			fatal_lang_error('no_access', false);
2949
+	}
2869 2950
 
2870 2951
 	// Make sure things which are disabled stay disabled.
2871 2952
 	$modSettings['warning_watch'] = !empty($modSettings['warning_watch']) ? $modSettings['warning_watch'] : 110;
@@ -2952,9 +3033,10 @@  discard block
 block discarded – undo
2952 3033
 		$modSettings['warning_mute'] => $txt['profile_warning_effect_own_muted'],
2953 3034
 	);
2954 3035
 	$context['current_level'] = 0;
2955
-	foreach ($context['level_effects'] as $limit => $dummy)
2956
-		if ($context['member']['warning'] >= $limit)
3036
+	foreach ($context['level_effects'] as $limit => $dummy) {
3037
+			if ($context['member']['warning'] >= $limit)
2957 3038
 			$context['current_level'] = $limit;
2958
-}
3039
+	}
3040
+	}
2959 3041
 
2960 3042
 ?>
2961 3043
\ No newline at end of file
Please login to merge, or discard this patch.