Completed
Push — release-2.1 ( 335073...11228b )
by Colin
12:28
created
Sources/Subs.php 3 patches
Spacing   +120 added lines, -120 removed lines patch added patch discarded remove patch
@@ -800,7 +800,7 @@  discard block
 block discarded – undo
800 800
 			$unsupportedFormats = (array) cache_get_data('unsupportedtimeformats', 86400);
801 801
 		if (empty($unsupportedFormats))
802 802
 		{
803
-			foreach($strftimeFormatSubstitutions as $format => $substitution)
803
+			foreach ($strftimeFormatSubstitutions as $format => $substitution)
804 804
 			{
805 805
 				$value = @strftime('%' . $format);
806 806
 
@@ -1165,7 +1165,7 @@  discard block
 block discarded – undo
1165 1165
 					'height' => array('optional' => true, 'match' => '(\d+)'),
1166 1166
 				),
1167 1167
 				'content' => '$1',
1168
-				'validate' => function (&$tag, &$data, $disabled, $params) use ($modSettings, $context, $sourcedir, $txt)
1168
+				'validate' => function(&$tag, &$data, $disabled, $params) use ($modSettings, $context, $sourcedir, $txt)
1169 1169
 				{
1170 1170
 					$returnContext = '';
1171 1171
 
@@ -1200,7 +1200,7 @@  discard block
 block discarded – undo
1200 1200
 						}
1201 1201
 
1202 1202
 						if ($currentAttachment['thumbnail']['has_thumb'] && empty($params['{width}']) && empty($params['{height}']))
1203
-							$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>';
1203
+							$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>';
1204 1204
 						else
1205 1205
 							$returnContext .= '<img src="' . $currentAttachment['href'] . ';image"' . $alt . $title . $width . $height . ' class="bbc_img"/>';
1206 1206
 					}
@@ -1229,7 +1229,7 @@  discard block
 block discarded – undo
1229 1229
 				'type' => 'unparsed_content',
1230 1230
 				'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>',
1231 1231
 				// @todo Maybe this can be simplified?
1232
-				'validate' => isset($disabled['code']) ? null : function (&$tag, &$data, $disabled) use ($context)
1232
+				'validate' => isset($disabled['code']) ? null : function(&$tag, &$data, $disabled) use ($context)
1233 1233
 				{
1234 1234
 					if (!isset($disabled['code']))
1235 1235
 					{
@@ -1266,7 +1266,7 @@  discard block
 block discarded – undo
1266 1266
 				'type' => 'unparsed_equals_content',
1267 1267
 				'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>',
1268 1268
 				// @todo Maybe this can be simplified?
1269
-				'validate' => isset($disabled['code']) ? null : function (&$tag, &$data, $disabled) use ($context)
1269
+				'validate' => isset($disabled['code']) ? null : function(&$tag, &$data, $disabled) use ($context)
1270 1270
 				{
1271 1271
 					if (!isset($disabled['code']))
1272 1272
 					{
@@ -1310,7 +1310,7 @@  discard block
 block discarded – undo
1310 1310
 				'type' => 'unparsed_content',
1311 1311
 				'content' => '<a href="mailto:$1" class="bbc_email">$1</a>',
1312 1312
 				// @todo Should this respect guest_hideContacts?
1313
-				'validate' => function (&$tag, &$data, $disabled)
1313
+				'validate' => function(&$tag, &$data, $disabled)
1314 1314
 				{
1315 1315
 					$data = strtr($data, array('<br>' => ''));
1316 1316
 				},
@@ -1329,7 +1329,7 @@  discard block
 block discarded – undo
1329 1329
 				'type' => 'unparsed_commas_content',
1330 1330
 				'test' => '\d+,\d+\]',
1331 1331
 				'content' => '<embed type="application/x-shockwave-flash" src="$1" width="$2" height="$3" play="true" loop="true" quality="high" AllowScriptAccess="never">',
1332
-				'validate' => function (&$tag, &$data, $disabled)
1332
+				'validate' => function(&$tag, &$data, $disabled)
1333 1333
 				{
1334 1334
 					if (isset($disabled['url']))
1335 1335
 						$tag['content'] = '$1';
@@ -1345,7 +1345,7 @@  discard block
 block discarded – undo
1345 1345
 				'test' => '(left|right)(\s+max=\d+(?:%|px|em|rem|ex|pt|pc|ch|vw|vh|vmin|vmax|cm|mm|in)?)?\]',
1346 1346
 				'before' => '<div $1>',
1347 1347
 				'after' => '</div>',
1348
-				'validate' => function (&$tag, &$data, $disabled)
1348
+				'validate' => function(&$tag, &$data, $disabled)
1349 1349
 				{
1350 1350
 					$class = 'class="bbc_float float' . (strpos($data, 'left') === 0 ? 'left' : 'right') . '"';
1351 1351
 
@@ -1394,7 +1394,7 @@  discard block
 block discarded – undo
1394 1394
 					'height' => array('optional' => true, 'value' => ' height="$1"', 'match' => '(\d+)'),
1395 1395
 				),
1396 1396
 				'content' => '<img src="$1" alt="{alt}" title="{title}"{width}{height} class="bbc_img resized">',
1397
-				'validate' => function (&$tag, &$data, $disabled)
1397
+				'validate' => function(&$tag, &$data, $disabled)
1398 1398
 				{
1399 1399
 					global $image_proxy_enabled, $image_proxy_secret, $boardurl;
1400 1400
 
@@ -1417,7 +1417,7 @@  discard block
 block discarded – undo
1417 1417
 				'tag' => 'img',
1418 1418
 				'type' => 'unparsed_content',
1419 1419
 				'content' => '<img src="$1" alt="" class="bbc_img">',
1420
-				'validate' => function (&$tag, &$data, $disabled)
1420
+				'validate' => function(&$tag, &$data, $disabled)
1421 1421
 				{
1422 1422
 					global $image_proxy_enabled, $image_proxy_secret, $boardurl;
1423 1423
 
@@ -1440,7 +1440,7 @@  discard block
 block discarded – undo
1440 1440
 				'tag' => 'iurl',
1441 1441
 				'type' => 'unparsed_content',
1442 1442
 				'content' => '<a href="$1" class="bbc_link">$1</a>',
1443
-				'validate' => function (&$tag, &$data, $disabled)
1443
+				'validate' => function(&$tag, &$data, $disabled)
1444 1444
 				{
1445 1445
 					$data = strtr($data, array('<br>' => ''));
1446 1446
 					$scheme = parse_url($data, PHP_URL_SCHEME);
@@ -1454,7 +1454,7 @@  discard block
 block discarded – undo
1454 1454
 				'quoted' => 'optional',
1455 1455
 				'before' => '<a href="$1" class="bbc_link">',
1456 1456
 				'after' => '</a>',
1457
-				'validate' => function (&$tag, &$data, $disabled)
1457
+				'validate' => function(&$tag, &$data, $disabled)
1458 1458
 				{
1459 1459
 					if (substr($data, 0, 1) == '#')
1460 1460
 						$data = '#post_' . substr($data, 1);
@@ -1534,7 +1534,7 @@  discard block
 block discarded – undo
1534 1534
 				'tag' => 'php',
1535 1535
 				'type' => 'unparsed_content',
1536 1536
 				'content' => '<span class="phpcode">$1</span>',
1537
-				'validate' => isset($disabled['php']) ? null : function (&$tag, &$data, $disabled)
1537
+				'validate' => isset($disabled['php']) ? null : function(&$tag, &$data, $disabled)
1538 1538
 				{
1539 1539
 					if (!isset($disabled['php']))
1540 1540
 					{
@@ -1632,7 +1632,7 @@  discard block
 block discarded – undo
1632 1632
 				'test' => '[1-7]\]',
1633 1633
 				'before' => '<span style="font-size: $1;" class="bbc_size">',
1634 1634
 				'after' => '</span>',
1635
-				'validate' => function (&$tag, &$data, $disabled)
1635
+				'validate' => function(&$tag, &$data, $disabled)
1636 1636
 				{
1637 1637
 					$sizes = array(1 => 0.7, 2 => 1.0, 3 => 1.35, 4 => 1.45, 5 => 2.0, 6 => 2.65, 7 => 3.95);
1638 1638
 					$data = $sizes[$data] . 'em';
@@ -1670,7 +1670,7 @@  discard block
 block discarded – undo
1670 1670
 				'tag' => 'time',
1671 1671
 				'type' => 'unparsed_content',
1672 1672
 				'content' => '$1',
1673
-				'validate' => function (&$tag, &$data, $disabled)
1673
+				'validate' => function(&$tag, &$data, $disabled)
1674 1674
 				{
1675 1675
 					if (is_numeric($data))
1676 1676
 						$data = timeformat($data);
@@ -1698,7 +1698,7 @@  discard block
 block discarded – undo
1698 1698
 				'tag' => 'url',
1699 1699
 				'type' => 'unparsed_content',
1700 1700
 				'content' => '<a href="$1" class="bbc_link" target="_blank">$1</a>',
1701
-				'validate' => function (&$tag, &$data, $disabled)
1701
+				'validate' => function(&$tag, &$data, $disabled)
1702 1702
 				{
1703 1703
 					$data = strtr($data, array('<br>' => ''));
1704 1704
 					$scheme = parse_url($data, PHP_URL_SCHEME);
@@ -1712,7 +1712,7 @@  discard block
 block discarded – undo
1712 1712
 				'quoted' => 'optional',
1713 1713
 				'before' => '<a href="$1" class="bbc_link" target="_blank">',
1714 1714
 				'after' => '</a>',
1715
-				'validate' => function (&$tag, &$data, $disabled)
1715
+				'validate' => function(&$tag, &$data, $disabled)
1716 1716
 				{
1717 1717
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1718 1718
 					if (empty($scheme))
@@ -1738,7 +1738,7 @@  discard block
 block discarded – undo
1738 1738
 		{
1739 1739
 			if (isset($temp_bbc))
1740 1740
 				$bbc_codes = $temp_bbc;
1741
-			usort($codes, function ($a, $b) {
1741
+			usort($codes, function($a, $b) {
1742 1742
 				return strcmp($a['tag'], $b['tag']);
1743 1743
 			});
1744 1744
 			return $codes;
@@ -1976,7 +1976,7 @@  discard block
 block discarded – undo
1976 1976
 										# a run of Unicode domain name characters and a dot
1977 1977
 										[\p{L}\p{M}\p{N}\-.:@]+\.
1978 1978
 										# and then a TLD valid in the DNS or the reserved "local" TLD
1979
-										(?:'. $modSettings['tld_regex'] .'|local)
1979
+										(?:'. $modSettings['tld_regex'] . '|local)
1980 1980
 									)
1981 1981
 									# followed by a non-domain character or end of line
1982 1982
 									(?=[^\p{L}\p{N}\-.]|$)
@@ -2044,7 +2044,7 @@  discard block
 block discarded – undo
2044 2044
 						)?
2045 2045
 						';
2046 2046
 
2047
-						$data = preg_replace_callback('~' . $url_regex . '~xi' . ($context['utf8'] ? 'u' : ''), function ($matches) {
2047
+						$data = preg_replace_callback('~' . $url_regex . '~xi' . ($context['utf8'] ? 'u' : ''), function($matches) {
2048 2048
 							$url = array_shift($matches);
2049 2049
 
2050 2050
 							$scheme = parse_url($url, PHP_URL_SCHEME);
@@ -2781,7 +2781,7 @@  discard block
 block discarded – undo
2781 2781
 		for ($i = 0, $n = count($smileysfrom); $i < $n; $i++)
2782 2782
 		{
2783 2783
 			$specialChars = $smcFunc['htmlspecialchars']($smileysfrom[$i], ENT_QUOTES);
2784
-			$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">';
2784
+			$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">';
2785 2785
 
2786 2786
 			$smileyPregReplacements[$smileysfrom[$i]] = $smileyCode;
2787 2787
 
@@ -2798,7 +2798,7 @@  discard block
 block discarded – undo
2798 2798
 
2799 2799
 	// Replace away!
2800 2800
 	$message = preg_replace_callback($smileyPregSearch,
2801
-		function ($matches) use ($smileyPregReplacements)
2801
+		function($matches) use ($smileyPregReplacements)
2802 2802
 		{
2803 2803
 			return $smileyPregReplacements[$matches[1]];
2804 2804
 		}, $message);
@@ -2864,13 +2864,13 @@  discard block
 block discarded – undo
2864 2864
 	{
2865 2865
 		if (defined('SID') && SID != '')
2866 2866
 			$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?(?:' . SID . '(?:;|&|&amp;))((?:board|topic)=[^#]+?)(#[^"]*?)?$~',
2867
-				function ($m) use ($scripturl)
2867
+				function($m) use ($scripturl)
2868 2868
 				{
2869
-					return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html?' . SID. (isset($m[2]) ? "$m[2]" : "");
2869
+					return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html?' . SID . (isset($m[2]) ? "$m[2]" : "");
2870 2870
 				}, $setLocation);
2871 2871
 		else
2872 2872
 			$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?$~',
2873
-				function ($m) use ($scripturl)
2873
+				function($m) use ($scripturl)
2874 2874
 				{
2875 2875
 					return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html' . (isset($m[2]) ? "$m[2]" : "");
2876 2876
 				}, $setLocation);
@@ -3193,7 +3193,7 @@  discard block
 block discarded – undo
3193 3193
 
3194 3194
 	// Add a generic "Are you sure?" confirmation message.
3195 3195
 	addInlineJavaScript('
3196
-	var smf_you_sure =' . JavaScriptEscape($txt['quickmod_confirm']) .';');
3196
+	var smf_you_sure =' . JavaScriptEscape($txt['quickmod_confirm']) . ';');
3197 3197
 
3198 3198
 	// Now add the capping code for avatars.
3199 3199
 	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')
@@ -3554,7 +3554,7 @@  discard block
 block discarded – undo
3554 3554
 
3555 3555
 		else
3556 3556
 			echo '
3557
-	<script src="', $settings['theme_url'] ,'/scripts/minified', ($do_deferred ? '_deferred' : '') ,'.js', $minSeed ,'"></script>';
3557
+	<script src="', $settings['theme_url'], '/scripts/minified', ($do_deferred ? '_deferred' : ''), '.js', $minSeed, '"></script>';
3558 3558
 	}
3559 3559
 
3560 3560
 	// Inline JavaScript - Actually useful some times!
@@ -3632,14 +3632,14 @@  discard block
 block discarded – undo
3632 3632
 
3633 3633
 		else
3634 3634
 			echo '
3635
-	<link rel="stylesheet" href="', $settings['theme_url'] ,'/css/minified.css', $minSeed ,'">';
3635
+	<link rel="stylesheet" href="', $settings['theme_url'], '/css/minified.css', $minSeed, '">';
3636 3636
 	}
3637 3637
 
3638 3638
 	// Print the rest after the minified files.
3639 3639
 	if (!empty($normal))
3640 3640
 		foreach ($normal as $nf)
3641 3641
 			echo '
3642
-	<link rel="stylesheet" href="', $nf ,'">';
3642
+	<link rel="stylesheet" href="', $nf, '">';
3643 3643
 
3644 3644
 	if ($db_show_debug === true)
3645 3645
 	{
@@ -3655,7 +3655,7 @@  discard block
 block discarded – undo
3655 3655
 	<style>';
3656 3656
 
3657 3657
 		foreach ($context['css_header'] as $css)
3658
-			echo $css .'
3658
+			echo $css . '
3659 3659
 	';
3660 3660
 
3661 3661
 		echo'
@@ -3684,27 +3684,27 @@  discard block
 block discarded – undo
3684 3684
 		return false;
3685 3685
 
3686 3686
 	// Did we already did this?
3687
-	$toCache = cache_get_data('minimized_'. $settings['theme_id'] .'_'. $type, 86400);
3687
+	$toCache = cache_get_data('minimized_' . $settings['theme_id'] . '_' . $type, 86400);
3688 3688
 
3689 3689
 	// Already done?
3690 3690
 	if (!empty($toCache))
3691 3691
 		return true;
3692 3692
 
3693 3693
 	// No namespaces, sorry!
3694
-	$classType = 'MatthiasMullie\\Minify\\'. strtoupper($type);
3694
+	$classType = 'MatthiasMullie\\Minify\\' . strtoupper($type);
3695 3695
 
3696 3696
 	// Temp path.
3697
-	$cTempPath = $settings['theme_dir'] .'/'. ($type == 'css' ? 'css' : 'scripts') .'/';
3697
+	$cTempPath = $settings['theme_dir'] . '/' . ($type == 'css' ? 'css' : 'scripts') . '/';
3698 3698
 
3699 3699
 	// What kind of file are we going to create?
3700
-	$toCreate = $cTempPath .'minified'. ($do_deferred ? '_deferred' : '') .'.'. $type;
3700
+	$toCreate = $cTempPath . 'minified' . ($do_deferred ? '_deferred' : '') . '.' . $type;
3701 3701
 
3702 3702
 	// File has to exists, if it isn't try to create it.
3703 3703
 	if ((!file_exists($toCreate) && @fopen($toCreate, 'w') === false) || !smf_chmod($toCreate))
3704 3704
 	{
3705 3705
 		loadLanguage('Errors');
3706 3706
 		log_error(sprintf($txt['file_not_created'], $toCreate), 'general');
3707
-		cache_put_data('minimized_'. $settings['theme_id'] .'_'. $type, null);
3707
+		cache_put_data('minimized_' . $settings['theme_id'] . '_' . $type, null);
3708 3708
 
3709 3709
 		// The process failed so roll back to print each individual file.
3710 3710
 		return $data;
@@ -3739,14 +3739,14 @@  discard block
 block discarded – undo
3739 3739
 	{
3740 3740
 		loadLanguage('Errors');
3741 3741
 		log_error(sprintf($txt['file_not_created'], $toCreate), 'general');
3742
-		cache_put_data('minimized_'. $settings['theme_id'] .'_'. $type, null);
3742
+		cache_put_data('minimized_' . $settings['theme_id'] . '_' . $type, null);
3743 3743
 
3744 3744
 		// The process failed so roll back to print each individual file.
3745 3745
 		return $data;
3746 3746
 	}
3747 3747
 
3748 3748
 	// And create a long lived cache entry.
3749
-	cache_put_data('minimized_'. $settings['theme_id'] .'_'. $type, $toCreate, 86400);
3749
+	cache_put_data('minimized_' . $settings['theme_id'] . '_' . $type, $toCreate, 86400);
3750 3750
 
3751 3751
 	return true;
3752 3752
 }
@@ -3806,7 +3806,7 @@  discard block
 block discarded – undo
3806 3806
 	else
3807 3807
 		$path = $modSettings['attachmentUploadDir'];
3808 3808
 
3809
-	return $path . '/' . $attachment_id . '_' . $file_hash .'.dat';
3809
+	return $path . '/' . $attachment_id . '_' . $file_hash . '.dat';
3810 3810
 }
3811 3811
 
3812 3812
 /**
@@ -3850,10 +3850,10 @@  discard block
 block discarded – undo
3850 3850
 		$valid_low = isValidIP($ip_parts[0]);
3851 3851
 		$valid_high = isValidIP($ip_parts[1]);
3852 3852
 		$count = 0;
3853
-		$mode = (preg_match('/:/',$ip_parts[0]) > 0 ? ':' : '.');
3853
+		$mode = (preg_match('/:/', $ip_parts[0]) > 0 ? ':' : '.');
3854 3854
 		$max = ($mode == ':' ? 'ffff' : '255');
3855 3855
 		$min = 0;
3856
-		if(!$valid_low)
3856
+		if (!$valid_low)
3857 3857
 		{
3858 3858
 			$ip_parts[0] = preg_replace('/\*/', '0', $ip_parts[0]);
3859 3859
 			$valid_low = isValidIP($ip_parts[0]);
@@ -3867,7 +3867,7 @@  discard block
 block discarded – undo
3867 3867
 		}
3868 3868
 
3869 3869
 		$count = 0;
3870
-		if(!$valid_high)
3870
+		if (!$valid_high)
3871 3871
 		{
3872 3872
 			$ip_parts[1] = preg_replace('/\*/', $max, $ip_parts[1]);
3873 3873
 			$valid_high = isValidIP($ip_parts[1]);
@@ -3880,7 +3880,7 @@  discard block
 block discarded – undo
3880 3880
 			}
3881 3881
 		}
3882 3882
 
3883
-		if($valid_high && $valid_low)
3883
+		if ($valid_high && $valid_low)
3884 3884
 		{
3885 3885
 			$ip_array['low'] = $ip_parts[0];
3886 3886
 			$ip_array['high'] = $ip_parts[1];
@@ -4062,7 +4062,7 @@  discard block
 block discarded – undo
4062 4062
 		addInlineJavaScript('
4063 4063
 	var user_menus = new smc_PopupMenu();
4064 4064
 	user_menus.add("profile", "' . $scripturl . '?action=profile;area=popup");
4065
-	user_menus.add("alerts", "' . $scripturl . '?action=profile;area=alerts_popup;u='. $context['user']['id'] .'");', true);
4065
+	user_menus.add("alerts", "' . $scripturl . '?action=profile;area=alerts_popup;u=' . $context['user']['id'] . '");', true);
4066 4066
 		if ($context['allow_pm'])
4067 4067
 			addInlineJavaScript('
4068 4068
 	user_menus.add("pm", "' . $scripturl . '?action=pm;sa=popup");', true);
@@ -4682,7 +4682,7 @@  discard block
 block discarded – undo
4682 4682
 		// No? try a fallback to $sourcedir
4683 4683
 		else
4684 4684
 		{
4685
-			$absPath = $sourcedir .'/'. $file;
4685
+			$absPath = $sourcedir . '/' . $file;
4686 4686
 
4687 4687
 			if (file_exists($absPath))
4688 4688
 				require_once($absPath);
@@ -4763,15 +4763,15 @@  discard block
 block discarded – undo
4763 4763
 
4764 4764
 	// UTF-8 occurences of MS special characters
4765 4765
 	$findchars_utf8 = array(
4766
-		"\xe2\x80\x9a",	// single low-9 quotation mark
4767
-		"\xe2\x80\x9e",	// double low-9 quotation mark
4768
-		"\xe2\x80\xa6",	// horizontal ellipsis
4769
-		"\xe2\x80\x98",	// left single curly quote
4770
-		"\xe2\x80\x99",	// right single curly quote
4771
-		"\xe2\x80\x9c",	// left double curly quote
4772
-		"\xe2\x80\x9d",	// right double curly quote
4773
-		"\xe2\x80\x93",	// en dash
4774
-		"\xe2\x80\x94",	// em dash
4766
+		"\xe2\x80\x9a", // single low-9 quotation mark
4767
+		"\xe2\x80\x9e", // double low-9 quotation mark
4768
+		"\xe2\x80\xa6", // horizontal ellipsis
4769
+		"\xe2\x80\x98", // left single curly quote
4770
+		"\xe2\x80\x99", // right single curly quote
4771
+		"\xe2\x80\x9c", // left double curly quote
4772
+		"\xe2\x80\x9d", // right double curly quote
4773
+		"\xe2\x80\x93", // en dash
4774
+		"\xe2\x80\x94", // em dash
4775 4775
 	);
4776 4776
 
4777 4777
 	// windows 1252 / iso equivalents
@@ -4789,15 +4789,15 @@  discard block
 block discarded – undo
4789 4789
 
4790 4790
 	// safe replacements
4791 4791
 	$replacechars = array(
4792
-		',',	// &sbquo;
4793
-		',,',	// &bdquo;
4794
-		'...',	// &hellip;
4795
-		"'",	// &lsquo;
4796
-		"'",	// &rsquo;
4797
-		'"',	// &ldquo;
4798
-		'"',	// &rdquo;
4799
-		'-',	// &ndash;
4800
-		'--',	// &mdash;
4792
+		',', // &sbquo;
4793
+		',,', // &bdquo;
4794
+		'...', // &hellip;
4795
+		"'", // &lsquo;
4796
+		"'", // &rsquo;
4797
+		'"', // &ldquo;
4798
+		'"', // &rdquo;
4799
+		'-', // &ndash;
4800
+		'--', // &mdash;
4801 4801
 	);
4802 4802
 
4803 4803
 	if ($context['utf8'])
@@ -5216,7 +5216,7 @@  discard block
 block discarded – undo
5216 5216
  */
5217 5217
 function inet_dtop($bin)
5218 5218
 {
5219
-	if(empty($bin))
5219
+	if (empty($bin))
5220 5220
 		return '';
5221 5221
 
5222 5222
 	global $db_type;
@@ -5247,28 +5247,28 @@  discard block
 block discarded – undo
5247 5247
  */
5248 5248
 function _safe_serialize($value)
5249 5249
 {
5250
-	if(is_null($value))
5250
+	if (is_null($value))
5251 5251
 		return 'N;';
5252 5252
 
5253
-	if(is_bool($value))
5254
-		return 'b:'. (int) $value .';';
5253
+	if (is_bool($value))
5254
+		return 'b:' . (int) $value . ';';
5255 5255
 
5256
-	if(is_int($value))
5257
-		return 'i:'. $value .';';
5256
+	if (is_int($value))
5257
+		return 'i:' . $value . ';';
5258 5258
 
5259
-	if(is_float($value))
5260
-		return 'd:'. str_replace(',', '.', $value) .';';
5259
+	if (is_float($value))
5260
+		return 'd:' . str_replace(',', '.', $value) . ';';
5261 5261
 
5262
-	if(is_string($value))
5263
-		return 's:'. strlen($value) .':"'. $value .'";';
5262
+	if (is_string($value))
5263
+		return 's:' . strlen($value) . ':"' . $value . '";';
5264 5264
 
5265
-	if(is_array($value))
5265
+	if (is_array($value))
5266 5266
 	{
5267 5267
 		$out = '';
5268
-		foreach($value as $k => $v)
5268
+		foreach ($value as $k => $v)
5269 5269
 			$out .= _safe_serialize($k) . _safe_serialize($v);
5270 5270
 
5271
-		return 'a:'. count($value) .':{'. $out .'}';
5271
+		return 'a:' . count($value) . ':{' . $out . '}';
5272 5272
 	}
5273 5273
 
5274 5274
 	// safe_serialize cannot serialize resources or objects.
@@ -5310,7 +5310,7 @@  discard block
 block discarded – undo
5310 5310
 function _safe_unserialize($str)
5311 5311
 {
5312 5312
 	// Input  is not a string.
5313
-	if(empty($str) || !is_string($str))
5313
+	if (empty($str) || !is_string($str))
5314 5314
 		return false;
5315 5315
 
5316 5316
 	$stack = array();
@@ -5324,40 +5324,40 @@  discard block
 block discarded – undo
5324 5324
 	 *   3 - in array, expecting value or another array
5325 5325
 	 */
5326 5326
 	$state = 0;
5327
-	while($state != 1)
5327
+	while ($state != 1)
5328 5328
 	{
5329 5329
 		$type = isset($str[0]) ? $str[0] : '';
5330
-		if($type == '}')
5330
+		if ($type == '}')
5331 5331
 			$str = substr($str, 1);
5332 5332
 
5333
-		else if($type == 'N' && $str[1] == ';')
5333
+		else if ($type == 'N' && $str[1] == ';')
5334 5334
 		{
5335 5335
 			$value = null;
5336 5336
 			$str = substr($str, 2);
5337 5337
 		}
5338
-		else if($type == 'b' && preg_match('/^b:([01]);/', $str, $matches))
5338
+		else if ($type == 'b' && preg_match('/^b:([01]);/', $str, $matches))
5339 5339
 		{
5340 5340
 			$value = $matches[1] == '1' ? true : false;
5341 5341
 			$str = substr($str, 4);
5342 5342
 		}
5343
-		else if($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches))
5343
+		else if ($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches))
5344 5344
 		{
5345
-			$value = (int)$matches[1];
5345
+			$value = (int) $matches[1];
5346 5346
 			$str = $matches[2];
5347 5347
 		}
5348
-		else if($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches))
5348
+		else if ($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches))
5349 5349
 		{
5350
-			$value = (float)$matches[1];
5350
+			$value = (float) $matches[1];
5351 5351
 			$str = $matches[3];
5352 5352
 		}
5353
-		else if($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int)$matches[1], 2) == '";')
5353
+		else if ($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int) $matches[1], 2) == '";')
5354 5354
 		{
5355
-			$value = substr($matches[2], 0, (int)$matches[1]);
5356
-			$str = substr($matches[2], (int)$matches[1] + 2);
5355
+			$value = substr($matches[2], 0, (int) $matches[1]);
5356
+			$str = substr($matches[2], (int) $matches[1] + 2);
5357 5357
 		}
5358
-		else if($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches))
5358
+		else if ($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches))
5359 5359
 		{
5360
-			$expectedLength = (int)$matches[1];
5360
+			$expectedLength = (int) $matches[1];
5361 5361
 			$str = $matches[2];
5362 5362
 		}
5363 5363
 
@@ -5365,10 +5365,10 @@  discard block
 block discarded – undo
5365 5365
 		else
5366 5366
 			return false;
5367 5367
 
5368
-		switch($state)
5368
+		switch ($state)
5369 5369
 		{
5370 5370
 			case 3: // In array, expecting value or another array.
5371
-				if($type == 'a')
5371
+				if ($type == 'a')
5372 5372
 				{
5373 5373
 					$stack[] = &$list;
5374 5374
 					$list[$key] = array();
@@ -5377,7 +5377,7 @@  discard block
 block discarded – undo
5377 5377
 					$state = 2;
5378 5378
 					break;
5379 5379
 				}
5380
-				if($type != '}')
5380
+				if ($type != '}')
5381 5381
 				{
5382 5382
 					$list[$key] = $value;
5383 5383
 					$state = 2;
@@ -5388,29 +5388,29 @@  discard block
 block discarded – undo
5388 5388
 				return false;
5389 5389
 
5390 5390
 			case 2: // in array, expecting end of array or a key
5391
-				if($type == '}')
5391
+				if ($type == '}')
5392 5392
 				{
5393 5393
 					// Array size is less than expected.
5394
-					if(count($list) < end($expected))
5394
+					if (count($list) < end($expected))
5395 5395
 						return false;
5396 5396
 
5397 5397
 					unset($list);
5398
-					$list = &$stack[count($stack)-1];
5398
+					$list = &$stack[count($stack) - 1];
5399 5399
 					array_pop($stack);
5400 5400
 
5401 5401
 					// Go to terminal state if we're at the end of the root array.
5402 5402
 					array_pop($expected);
5403 5403
 
5404
-					if(count($expected) == 0)
5404
+					if (count($expected) == 0)
5405 5405
 						$state = 1;
5406 5406
 
5407 5407
 					break;
5408 5408
 				}
5409 5409
 
5410
-				if($type == 'i' || $type == 's')
5410
+				if ($type == 'i' || $type == 's')
5411 5411
 				{
5412 5412
 					// Array size exceeds expected length.
5413
-					if(count($list) >= end($expected))
5413
+					if (count($list) >= end($expected))
5414 5414
 						return false;
5415 5415
 
5416 5416
 					$key = $value;
@@ -5423,7 +5423,7 @@  discard block
 block discarded – undo
5423 5423
 
5424 5424
 			// Expecting array or value.
5425 5425
 			case 0:
5426
-				if($type == 'a')
5426
+				if ($type == 'a')
5427 5427
 				{
5428 5428
 					$data = array();
5429 5429
 					$list = &$data;
@@ -5432,7 +5432,7 @@  discard block
 block discarded – undo
5432 5432
 					break;
5433 5433
 				}
5434 5434
 
5435
-				if($type != '}')
5435
+				if ($type != '}')
5436 5436
 				{
5437 5437
 					$data = $value;
5438 5438
 					$state = 1;
@@ -5445,7 +5445,7 @@  discard block
 block discarded – undo
5445 5445
 	}
5446 5446
 
5447 5447
 	// Trailing data in input.
5448
-	if(!empty($str))
5448
+	if (!empty($str))
5449 5449
 		return false;
5450 5450
 
5451 5451
 	return $data;
@@ -5499,7 +5499,7 @@  discard block
 block discarded – undo
5499 5499
 	// Set different modes.
5500 5500
 	$chmodValues = $isDir ? array(0750, 0755, 0775, 0777) : array(0644, 0664, 0666);
5501 5501
 
5502
-	foreach($chmodValues as $val)
5502
+	foreach ($chmodValues as $val)
5503 5503
 	{
5504 5504
 		// If it's writable, break out of the loop.
5505 5505
 		if (is_writable($file))
@@ -5534,13 +5534,13 @@  discard block
 block discarded – undo
5534 5534
 	$returnArray = @json_decode($json, $returnAsArray);
5535 5535
 
5536 5536
 	// PHP 5.3 so no json_last_error_msg()
5537
-	switch(json_last_error())
5537
+	switch (json_last_error())
5538 5538
 	{
5539 5539
 		case JSON_ERROR_NONE:
5540 5540
 			$jsonError = false;
5541 5541
 			break;
5542 5542
 		case JSON_ERROR_DEPTH:
5543
-			$jsonError =  'JSON_ERROR_DEPTH';
5543
+			$jsonError = 'JSON_ERROR_DEPTH';
5544 5544
 			break;
5545 5545
 		case JSON_ERROR_STATE_MISMATCH:
5546 5546
 			$jsonError = 'JSON_ERROR_STATE_MISMATCH';
@@ -5568,10 +5568,10 @@  discard block
 block discarded – undo
5568 5568
 		loadLanguage('Errors');
5569 5569
 
5570 5570
 		if (!empty($jsonDebug))
5571
-			log_error($txt['json_'. $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']);
5571
+			log_error($txt['json_' . $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']);
5572 5572
 
5573 5573
 		else
5574
-			log_error($txt['json_'. $jsonError], 'critical');
5574
+			log_error($txt['json_' . $jsonError], 'critical');
5575 5575
 
5576 5576
 		// Everyone expects an array.
5577 5577
 		return array();
@@ -5683,7 +5683,7 @@  discard block
 block discarded – undo
5683 5683
 		});
5684 5684
 
5685 5685
 		// Convert Punycode to Unicode
5686
-		$tlds = array_map(function ($input) {
5686
+		$tlds = array_map(function($input) {
5687 5687
 			$prefix = 'xn--';
5688 5688
 			$safe_char = 0xFFFC;
5689 5689
 			$base = 36;
@@ -5699,7 +5699,7 @@  discard block
 block discarded – undo
5699 5699
 
5700 5700
 			foreach ($enco_parts as $encoded)
5701 5701
 			{
5702
-				if (strpos($encoded,$prefix) !== 0 || strlen(trim(str_replace($prefix,'',$encoded))) == 0)
5702
+				if (strpos($encoded, $prefix) !== 0 || strlen(trim(str_replace($prefix, '', $encoded))) == 0)
5703 5703
 				{
5704 5704
 					$output_parts[] = $encoded;
5705 5705
 					continue;
@@ -5710,7 +5710,7 @@  discard block
 block discarded – undo
5710 5710
 				$idx = 0;
5711 5711
 				$char = 0x80;
5712 5712
 				$decoded = array();
5713
-				$output='';
5713
+				$output = '';
5714 5714
 				$delim_pos = strrpos($encoded, '-');
5715 5715
 
5716 5716
 				if ($delim_pos > strlen($prefix))
@@ -5726,7 +5726,7 @@  discard block
 block discarded – undo
5726 5726
 
5727 5727
 				for ($enco_idx = $delim_pos ? ($delim_pos + 1) : 0; $enco_idx < $enco_len; ++$deco_len)
5728 5728
 				{
5729
-					for ($old_idx = $idx, $w = 1, $k = $base; 1 ; $k += $base)
5729
+					for ($old_idx = $idx, $w = 1, $k = $base; 1; $k += $base)
5730 5730
 					{
5731 5731
 						$cp = ord($encoded{$enco_idx++});
5732 5732
 						$digit = ($cp - 48 < 10) ? $cp - 22 : (($cp - 65 < 26) ? $cp - 65 : (($cp - 97 < 26) ? $cp - 97 : $base));
@@ -5767,15 +5767,15 @@  discard block
 block discarded – undo
5767 5767
 
5768 5768
 					// 2 bytes
5769 5769
 					elseif ($v < (1 << 11))
5770
-						$output .= chr(192+($v >> 6)) . chr(128+($v & 63));
5770
+						$output .= chr(192 + ($v >> 6)) . chr(128 + ($v & 63));
5771 5771
 
5772 5772
 					// 3 bytes
5773 5773
 					elseif ($v < (1 << 16))
5774
-						$output .= chr(224+($v >> 12)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63));
5774
+						$output .= chr(224 + ($v >> 12)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
5775 5775
 
5776 5776
 					// 4 bytes
5777 5777
 					elseif ($v < (1 << 21))
5778
-						$output .= chr(240+($v >> 18)) . chr(128+(($v >> 12) & 63)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63));
5778
+						$output .= chr(240 + ($v >> 18)) . chr(128 + (($v >> 12) & 63)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
5779 5779
 
5780 5780
 					//  'Conversion from UCS-4 to UTF-8 failed: malformed input at byte '.$k
5781 5781
 					else
@@ -5880,7 +5880,7 @@  discard block
 block discarded – undo
5880 5880
 	}
5881 5881
 
5882 5882
 	// This recursive function creates the index array from the strings
5883
-	$add_string_to_index = function ($string, $index) use (&$strlen, &$substr, &$add_string_to_index)
5883
+	$add_string_to_index = function($string, $index) use (&$strlen, &$substr, &$add_string_to_index)
5884 5884
 	{
5885 5885
 		static $depth = 0;
5886 5886
 		$depth++;
@@ -5907,7 +5907,7 @@  discard block
 block discarded – undo
5907 5907
 	};
5908 5908
 
5909 5909
 	// This recursive function turns the index array into a regular expression
5910
-	$index_to_regex = function (&$index, $delim) use (&$strlen, &$index_to_regex)
5910
+	$index_to_regex = function(&$index, $delim) use (&$strlen, &$index_to_regex)
5911 5911
 	{
5912 5912
 		static $depth = 0;
5913 5913
 		$depth++;
@@ -5931,11 +5931,11 @@  discard block
 block discarded – undo
5931 5931
 
5932 5932
 				if (count(array_keys($value)) == 1)
5933 5933
 				{
5934
-					$new_key_array = explode('(?'.'>', $sub_regex);
5934
+					$new_key_array = explode('(?' . '>', $sub_regex);
5935 5935
 					$new_key .= $new_key_array[0];
5936 5936
 				}
5937 5937
 				else
5938
-					$sub_regex = '(?'.'>' . $sub_regex . ')';
5938
+					$sub_regex = '(?' . '>' . $sub_regex . ')';
5939 5939
 			}
5940 5940
 
5941 5941
 			if ($depth > 1)
@@ -5978,10 +5978,10 @@  discard block
 block discarded – undo
5978 5978
 	{
5979 5979
 		$regex = array();
5980 5980
 		while (!empty($index))
5981
-			$regex[] = '(?'.'>' . $index_to_regex($index, $delim) . ')';
5981
+			$regex[] = '(?' . '>' . $index_to_regex($index, $delim) . ')';
5982 5982
 	}
5983 5983
 	else
5984
-		$regex = '(?'.'>' . $index_to_regex($index, $delim) . ')';
5984
+		$regex = '(?' . '>' . $index_to_regex($index, $delim) . ')';
5985 5985
 
5986 5986
 	// Restore PHP's internal character encoding to whatever it was originally
5987 5987
 	if (!empty($current_encoding))
@@ -6001,7 +6001,7 @@  discard block
 block discarded – undo
6001 6001
 	$url = str_ireplace('http://', 'https://', $url) . '/';
6002 6002
 
6003 6003
 	$result = false;
6004
-	$stream = stream_context_create (array("ssl" => array("capture_peer_cert" => true)));
6004
+	$stream = stream_context_create(array("ssl" => array("capture_peer_cert" => true)));
6005 6005
 	$read = @fopen($url, "rb", false, $stream);
6006 6006
 	if ($read !== false) {
6007 6007
 		$cont = stream_context_get_params($read);
Please login to merge, or discard this patch.
Indentation   +1 added lines, -3 removed lines patch added patch discarded remove patch
@@ -5476,7 +5476,6 @@  discard block
 block discarded – undo
5476 5476
 
5477 5477
 /**
5478 5478
  * Tries different modes to make file/dirs writable. Wrapper function for chmod()
5479
-
5480 5479
  * @param string $file The file/dir full path.
5481 5480
  * @param int $value Not needed, added for legacy reasons.
5482 5481
  * @return boolean  true if the file/dir is already writable or the function was able to make it writable, false if the function couldn't make the file/dir writable.
@@ -5516,7 +5515,6 @@  discard block
 block discarded – undo
5516 5515
 
5517 5516
 /**
5518 5517
  * Wrapper function for json_decode() with error handling.
5519
-
5520 5518
  * @param string $json The string to decode.
5521 5519
  * @param bool $returnAsArray To return the decoded string as an array or an object, SMF only uses Arrays but to keep on compatibility with json_decode its set to false as default.
5522 5520
  * @param bool $logIt To specify if the error will be logged if theres any.
@@ -6007,7 +6005,7 @@  discard block
 block discarded – undo
6007 6005
 		$cont = stream_context_get_params($read);
6008 6006
 		$result = isset($cont["options"]["ssl"]["peer_certificate"]) ? true : false;
6009 6007
 	}
6010
-    return $result;
6008
+	return $result;
6011 6009
 }
6012 6010
 
6013 6011
 /**
Please login to merge, or discard this patch.
Braces   +1313 added lines, -975 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 ($type == 'int' && ($val === '+' || $val === '-'))
@@ -390,8 +399,9 @@  discard block
 block discarded – undo
390 399
 		{
391 400
 			if (preg_match('~^' . $var . ' (\+ |- |\+ -)([\d]+)~', $val, $match))
392 401
 			{
393
-				if ($match[1] != '+ ')
394
-					$val = 'CASE WHEN ' . $var . ' <= ' . abs($match[2]) . ' THEN 0 ELSE ' . $val . ' END';
402
+				if ($match[1] != '+ ') {
403
+									$val = 'CASE WHEN ' . $var . ' <= ' . abs($match[2]) . ' THEN 0 ELSE ' . $val . ' END';
404
+				}
395 405
 				$type = 'raw';
396 406
 			}
397 407
 		}
@@ -412,8 +422,9 @@  discard block
 block discarded – undo
412 422
 	// Clear any caching?
413 423
 	if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2 && !empty($members))
414 424
 	{
415
-		if (!is_array($members))
416
-			$members = array($members);
425
+		if (!is_array($members)) {
426
+					$members = array($members);
427
+		}
417 428
 
418 429
 		foreach ($members as $member)
419 430
 		{
@@ -446,29 +457,32 @@  discard block
 block discarded – undo
446 457
 {
447 458
 	global $modSettings, $smcFunc;
448 459
 
449
-	if (empty($changeArray) || !is_array($changeArray))
450
-		return;
460
+	if (empty($changeArray) || !is_array($changeArray)) {
461
+			return;
462
+	}
451 463
 
452 464
 	$toRemove = array();
453 465
 
454 466
 	// Go check if there is any setting to be removed.
455
-	foreach ($changeArray as $k => $v)
456
-		if ($v === null)
467
+	foreach ($changeArray as $k => $v) {
468
+			if ($v === null)
457 469
 		{
458 470
 			// Found some, remove them from the original array and add them to ours.
459 471
 			unset($changeArray[$k]);
472
+	}
460 473
 			$toRemove[] = $k;
461 474
 		}
462 475
 
463 476
 	// Proceed with the deletion.
464
-	if (!empty($toRemove))
465
-		$smcFunc['db_query']('', '
477
+	if (!empty($toRemove)) {
478
+			$smcFunc['db_query']('', '
466 479
 			DELETE FROM {db_prefix}settings
467 480
 			WHERE variable IN ({array_string:remove})',
468 481
 			array(
469 482
 				'remove' => $toRemove,
470 483
 			)
471 484
 		);
485
+	}
472 486
 
473 487
 	// In some cases, this may be better and faster, but for large sets we don't want so many UPDATEs.
474 488
 	if ($update)
@@ -497,19 +511,22 @@  discard block
 block discarded – undo
497 511
 	foreach ($changeArray as $variable => $value)
498 512
 	{
499 513
 		// Don't bother if it's already like that ;).
500
-		if (isset($modSettings[$variable]) && $modSettings[$variable] == $value)
501
-			continue;
514
+		if (isset($modSettings[$variable]) && $modSettings[$variable] == $value) {
515
+					continue;
516
+		}
502 517
 		// If the variable isn't set, but would only be set to nothing'ness, then don't bother setting it.
503
-		elseif (!isset($modSettings[$variable]) && empty($value))
504
-			continue;
518
+		elseif (!isset($modSettings[$variable]) && empty($value)) {
519
+					continue;
520
+		}
505 521
 
506 522
 		$replaceArray[] = array($variable, $value);
507 523
 
508 524
 		$modSettings[$variable] = $value;
509 525
 	}
510 526
 
511
-	if (empty($replaceArray))
512
-		return;
527
+	if (empty($replaceArray)) {
528
+			return;
529
+	}
513 530
 
514 531
 	$smcFunc['db_insert']('replace',
515 532
 		'{db_prefix}settings',
@@ -555,14 +572,17 @@  discard block
 block discarded – undo
555 572
 	$start_invalid = $start < 0;
556 573
 
557 574
 	// Make sure $start is a proper variable - not less than 0.
558
-	if ($start_invalid)
559
-		$start = 0;
575
+	if ($start_invalid) {
576
+			$start = 0;
577
+	}
560 578
 	// Not greater than the upper bound.
561
-	elseif ($start >= $max_value)
562
-		$start = max(0, (int) $max_value - (((int) $max_value % (int) $num_per_page) == 0 ? $num_per_page : ((int) $max_value % (int) $num_per_page)));
579
+	elseif ($start >= $max_value) {
580
+			$start = max(0, (int) $max_value - (((int) $max_value % (int) $num_per_page) == 0 ? $num_per_page : ((int) $max_value % (int) $num_per_page)));
581
+	}
563 582
 	// And it has to be a multiple of $num_per_page!
564
-	else
565
-		$start = max(0, (int) $start - ((int) $start % (int) $num_per_page));
583
+	else {
584
+			$start = max(0, (int) $start - ((int) $start % (int) $num_per_page));
585
+	}
566 586
 
567 587
 	$context['current_page'] = $start / $num_per_page;
568 588
 
@@ -592,77 +612,87 @@  discard block
 block discarded – undo
592 612
 
593 613
 		// Show all the pages.
594 614
 		$display_page = 1;
595
-		for ($counter = 0; $counter < $max_value; $counter += $num_per_page)
596
-			$pageindex .= $start == $counter && !$start_invalid ? sprintf($settings['page_index']['current_page'], $display_page++) : sprintf($base_link, $counter, $display_page++);
615
+		for ($counter = 0; $counter < $max_value; $counter += $num_per_page) {
616
+					$pageindex .= $start == $counter && !$start_invalid ? sprintf($settings['page_index']['current_page'], $display_page++) : sprintf($base_link, $counter, $display_page++);
617
+		}
597 618
 
598 619
 		// Show the right arrow.
599 620
 		$display_page = ($start + $num_per_page) > $max_value ? $max_value : ($start + $num_per_page);
600
-		if ($start != $counter - $max_value && !$start_invalid)
601
-			$pageindex .= $display_page > $counter - $num_per_page ? ' ' : sprintf($base_link, $display_page, $settings['page_index']['next_page']);
602
-	}
603
-	else
621
+		if ($start != $counter - $max_value && !$start_invalid) {
622
+					$pageindex .= $display_page > $counter - $num_per_page ? ' ' : sprintf($base_link, $display_page, $settings['page_index']['next_page']);
623
+		}
624
+	} else
604 625
 	{
605 626
 		// If they didn't enter an odd value, pretend they did.
606 627
 		$PageContiguous = (int) ($modSettings['compactTopicPagesContiguous'] - ($modSettings['compactTopicPagesContiguous'] % 2)) / 2;
607 628
 
608 629
 		// Show the "prev page" link. (>prev page< 1 ... 6 7 [8] 9 10 ... 15 next page)
609
-		if (!empty($start) && $show_prevnext)
610
-			$pageindex .= sprintf($base_link, $start - $num_per_page, $settings['page_index']['previous_page']);
611
-		else
612
-			$pageindex .= '';
630
+		if (!empty($start) && $show_prevnext) {
631
+					$pageindex .= sprintf($base_link, $start - $num_per_page, $settings['page_index']['previous_page']);
632
+		} else {
633
+					$pageindex .= '';
634
+		}
613 635
 
614 636
 		// Show the first page. (prev page >1< ... 6 7 [8] 9 10 ... 15)
615
-		if ($start > $num_per_page * $PageContiguous)
616
-			$pageindex .= sprintf($base_link, 0, '1');
637
+		if ($start > $num_per_page * $PageContiguous) {
638
+					$pageindex .= sprintf($base_link, 0, '1');
639
+		}
617 640
 
618 641
 		// Show the ... after the first page.  (prev page 1 >...< 6 7 [8] 9 10 ... 15 next page)
619
-		if ($start > $num_per_page * ($PageContiguous + 1))
620
-			$pageindex .= strtr($settings['page_index']['expand_pages'], array(
642
+		if ($start > $num_per_page * ($PageContiguous + 1)) {
643
+					$pageindex .= strtr($settings['page_index']['expand_pages'], array(
621 644
 				'{LINK}' => JavaScriptEscape($smcFunc['htmlspecialchars']($base_link)),
622 645
 				'{FIRST_PAGE}' => $num_per_page,
623 646
 				'{LAST_PAGE}' => $start - $num_per_page * $PageContiguous,
624 647
 				'{PER_PAGE}' => $num_per_page,
625 648
 			));
649
+		}
626 650
 
627 651
 		// Show the pages before the current one. (prev page 1 ... >6 7< [8] 9 10 ... 15 next page)
628
-		for ($nCont = $PageContiguous; $nCont >= 1; $nCont--)
629
-			if ($start >= $num_per_page * $nCont)
652
+		for ($nCont = $PageContiguous; $nCont >= 1; $nCont--) {
653
+					if ($start >= $num_per_page * $nCont)
630 654
 			{
631 655
 				$tmpStart = $start - $num_per_page * $nCont;
656
+		}
632 657
 				$pageindex .= sprintf($base_link, $tmpStart, $tmpStart / $num_per_page + 1);
633 658
 			}
634 659
 
635 660
 		// Show the current page. (prev page 1 ... 6 7 >[8]< 9 10 ... 15 next page)
636
-		if (!$start_invalid)
637
-			$pageindex .= sprintf($settings['page_index']['current_page'], $start / $num_per_page + 1);
638
-		else
639
-			$pageindex .= sprintf($base_link, $start, $start / $num_per_page + 1);
661
+		if (!$start_invalid) {
662
+					$pageindex .= sprintf($settings['page_index']['current_page'], $start / $num_per_page + 1);
663
+		} else {
664
+					$pageindex .= sprintf($base_link, $start, $start / $num_per_page + 1);
665
+		}
640 666
 
641 667
 		// Show the pages after the current one... (prev page 1 ... 6 7 [8] >9 10< ... 15 next page)
642 668
 		$tmpMaxPages = (int) (($max_value - 1) / $num_per_page) * $num_per_page;
643
-		for ($nCont = 1; $nCont <= $PageContiguous; $nCont++)
644
-			if ($start + $num_per_page * $nCont <= $tmpMaxPages)
669
+		for ($nCont = 1; $nCont <= $PageContiguous; $nCont++) {
670
+					if ($start + $num_per_page * $nCont <= $tmpMaxPages)
645 671
 			{
646 672
 				$tmpStart = $start + $num_per_page * $nCont;
673
+		}
647 674
 				$pageindex .= sprintf($base_link, $tmpStart, $tmpStart / $num_per_page + 1);
648 675
 			}
649 676
 
650 677
 		// Show the '...' part near the end. (prev page 1 ... 6 7 [8] 9 10 >...< 15 next page)
651
-		if ($start + $num_per_page * ($PageContiguous + 1) < $tmpMaxPages)
652
-			$pageindex .= strtr($settings['page_index']['expand_pages'], array(
678
+		if ($start + $num_per_page * ($PageContiguous + 1) < $tmpMaxPages) {
679
+					$pageindex .= strtr($settings['page_index']['expand_pages'], array(
653 680
 				'{LINK}' => JavaScriptEscape($smcFunc['htmlspecialchars']($base_link)),
654 681
 				'{FIRST_PAGE}' => $start + $num_per_page * ($PageContiguous + 1),
655 682
 				'{LAST_PAGE}' => $tmpMaxPages,
656 683
 				'{PER_PAGE}' => $num_per_page,
657 684
 			));
685
+		}
658 686
 
659 687
 		// Show the last number in the list. (prev page 1 ... 6 7 [8] 9 10 ... >15<  next page)
660
-		if ($start + $num_per_page * $PageContiguous < $tmpMaxPages)
661
-			$pageindex .= sprintf($base_link, $tmpMaxPages, $tmpMaxPages / $num_per_page + 1);
688
+		if ($start + $num_per_page * $PageContiguous < $tmpMaxPages) {
689
+					$pageindex .= sprintf($base_link, $tmpMaxPages, $tmpMaxPages / $num_per_page + 1);
690
+		}
662 691
 
663 692
 		// Show the "next page" link. (prev page 1 ... 6 7 [8] 9 10 ... 15 >next page<)
664
-		if ($start != $tmpMaxPages && $show_prevnext)
665
-			$pageindex .= sprintf($base_link, $start + $num_per_page, $settings['page_index']['next_page']);
693
+		if ($start != $tmpMaxPages && $show_prevnext) {
694
+					$pageindex .= sprintf($base_link, $start + $num_per_page, $settings['page_index']['next_page']);
695
+		}
666 696
 	}
667 697
 	$pageindex .= $settings['page_index']['extra_after'];
668 698
 
@@ -688,8 +718,9 @@  discard block
 block discarded – undo
688 718
 	if ($decimal_separator === null)
689 719
 	{
690 720
 		// Not set for whatever reason?
691
-		if (empty($txt['number_format']) || preg_match('~^1([^\d]*)?234([^\d]*)(0*?)$~', $txt['number_format'], $matches) != 1)
692
-			return $number;
721
+		if (empty($txt['number_format']) || preg_match('~^1([^\d]*)?234([^\d]*)(0*?)$~', $txt['number_format'], $matches) != 1) {
722
+					return $number;
723
+		}
693 724
 
694 725
 		// Cache these each load...
695 726
 		$thousands_separator = $matches[1];
@@ -723,17 +754,20 @@  discard block
 block discarded – undo
723 754
 	static $unsupportedFormats, $finalizedFormats;
724 755
 
725 756
 	// Offset the time.
726
-	if (!$offset_type)
727
-		$time = $log_time + ($user_info['time_offset'] + $modSettings['time_offset']) * 3600;
757
+	if (!$offset_type) {
758
+			$time = $log_time + ($user_info['time_offset'] + $modSettings['time_offset']) * 3600;
759
+	}
728 760
 	// Just the forum offset?
729
-	elseif ($offset_type == 'forum')
730
-		$time = $log_time + $modSettings['time_offset'] * 3600;
731
-	else
732
-		$time = $log_time;
761
+	elseif ($offset_type == 'forum') {
762
+			$time = $log_time + $modSettings['time_offset'] * 3600;
763
+	} else {
764
+			$time = $log_time;
765
+	}
733 766
 
734 767
 	// We can't have a negative date (on Windows, at least.)
735
-	if ($log_time < 0)
736
-		$log_time = 0;
768
+	if ($log_time < 0) {
769
+			$log_time = 0;
770
+	}
737 771
 
738 772
 	// Today and Yesterday?
739 773
 	if ($modSettings['todayMod'] >= 1 && $show_today === true)
@@ -750,24 +784,27 @@  discard block
 block discarded – undo
750 784
 		{
751 785
 			$h = strpos($user_info['time_format'], '%l') === false ? '%I' : '%l';
752 786
 			$today_fmt = $h . ':%M' . $s . ' %p';
787
+		} else {
788
+					$today_fmt = '%H:%M' . $s;
753 789
 		}
754
-		else
755
-			$today_fmt = '%H:%M' . $s;
756 790
 
757 791
 		// Same day of the year, same year.... Today!
758
-		if ($then['yday'] == $now['yday'] && $then['year'] == $now['year'])
759
-			return $txt['today'] . timeformat($log_time, $today_fmt, $offset_type);
792
+		if ($then['yday'] == $now['yday'] && $then['year'] == $now['year']) {
793
+					return $txt['today'] . timeformat($log_time, $today_fmt, $offset_type);
794
+		}
760 795
 
761 796
 		// 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...
762
-		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))
763
-			return $txt['yesterday'] . timeformat($log_time, $today_fmt, $offset_type);
797
+		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)) {
798
+					return $txt['yesterday'] . timeformat($log_time, $today_fmt, $offset_type);
799
+		}
764 800
 	}
765 801
 
766 802
 	$str = !is_bool($show_today) ? $show_today : $user_info['time_format'];
767 803
 
768 804
 	// Use the cached formats if available
769
-	if (is_null($finalizedFormats))
770
-		$finalizedFormats = (array) cache_get_data('timeformatstrings', 86400);
805
+	if (is_null($finalizedFormats)) {
806
+			$finalizedFormats = (array) cache_get_data('timeformatstrings', 86400);
807
+	}
771 808
 
772 809
 	// Make a supported version for this format if we don't already have one
773 810
 	if (empty($finalizedFormats[$str]))
@@ -796,8 +833,9 @@  discard block
 block discarded – undo
796 833
 		);
797 834
 
798 835
 		// No need to do this part again if we already did it once
799
-		if (is_null($unsupportedFormats))
800
-			$unsupportedFormats = (array) cache_get_data('unsupportedtimeformats', 86400);
836
+		if (is_null($unsupportedFormats)) {
837
+					$unsupportedFormats = (array) cache_get_data('unsupportedtimeformats', 86400);
838
+		}
801 839
 		if (empty($unsupportedFormats))
802 840
 		{
803 841
 			foreach($strftimeFormatSubstitutions as $format => $substitution)
@@ -806,20 +844,23 @@  discard block
 block discarded – undo
806 844
 
807 845
 				// Windows will return false for unsupported formats
808 846
 				// Other operating systems return the format string as a literal
809
-				if ($value === false || $value === $format)
810
-					$unsupportedFormats[] = $format;
847
+				if ($value === false || $value === $format) {
848
+									$unsupportedFormats[] = $format;
849
+				}
811 850
 			}
812 851
 			cache_put_data('unsupportedtimeformats', $unsupportedFormats, 86400);
813 852
 		}
814 853
 
815 854
 		// Windows needs extra help if $timeformat contains something completely invalid, e.g. '%Q'
816
-		if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN')
817
-			$timeformat = preg_replace('~%(?!' . implode('|', array_keys($strftimeFormatSubstitutions)) . ')~', '&#37;', $timeformat);
855
+		if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
856
+					$timeformat = preg_replace('~%(?!' . implode('|', array_keys($strftimeFormatSubstitutions)) . ')~', '&#37;', $timeformat);
857
+		}
818 858
 
819 859
 		// Substitute unsupported formats with supported ones
820
-		if (!empty($unsupportedFormats))
821
-			while (preg_match('~%(' . implode('|', $unsupportedFormats) . ')~', $timeformat, $matches))
860
+		if (!empty($unsupportedFormats)) {
861
+					while (preg_match('~%(' . implode('|', $unsupportedFormats) . ')~', $timeformat, $matches))
822 862
 				$timeformat = str_replace($matches[0], $strftimeFormatSubstitutions[$matches[1]], $timeformat);
863
+		}
823 864
 
824 865
 		// Remember this so we don't need to do it again
825 866
 		$finalizedFormats[$str] = $timeformat;
@@ -828,33 +869,39 @@  discard block
 block discarded – undo
828 869
 
829 870
 	$str = $finalizedFormats[$str];
830 871
 
831
-	if (!isset($locale_cache))
832
-		$locale_cache = setlocale(LC_TIME, $txt['lang_locale']);
872
+	if (!isset($locale_cache)) {
873
+			$locale_cache = setlocale(LC_TIME, $txt['lang_locale']);
874
+	}
833 875
 
834 876
 	if ($locale_cache !== false)
835 877
 	{
836 878
 		// Check if another process changed the locale
837
-		if ($process_safe === true && setlocale(LC_TIME, '0') != $locale_cache)
838
-			setlocale(LC_TIME, $txt['lang_locale']);
879
+		if ($process_safe === true && setlocale(LC_TIME, '0') != $locale_cache) {
880
+					setlocale(LC_TIME, $txt['lang_locale']);
881
+		}
839 882
 
840
-		if (!isset($non_twelve_hour))
841
-			$non_twelve_hour = trim(strftime('%p')) === '';
842
-		if ($non_twelve_hour && strpos($str, '%p') !== false)
843
-			$str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str);
883
+		if (!isset($non_twelve_hour)) {
884
+					$non_twelve_hour = trim(strftime('%p')) === '';
885
+		}
886
+		if ($non_twelve_hour && strpos($str, '%p') !== false) {
887
+					$str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str);
888
+		}
844 889
 
845
-		foreach (array('%a', '%A', '%b', '%B') as $token)
846
-			if (strpos($str, $token) !== false)
890
+		foreach (array('%a', '%A', '%b', '%B') as $token) {
891
+					if (strpos($str, $token) !== false)
847 892
 				$str = str_replace($token, strftime($token, $time), $str);
848
-	}
849
-	else
893
+		}
894
+	} else
850 895
 	{
851 896
 		// Do-it-yourself time localization.  Fun.
852
-		foreach (array('%a' => 'days_short', '%A' => 'days', '%b' => 'months_short', '%B' => 'months') as $token => $text_label)
853
-			if (strpos($str, $token) !== false)
897
+		foreach (array('%a' => 'days_short', '%A' => 'days', '%b' => 'months_short', '%B' => 'months') as $token => $text_label) {
898
+					if (strpos($str, $token) !== false)
854 899
 				$str = str_replace($token, $txt[$text_label][(int) strftime($token === '%a' || $token === '%A' ? '%w' : '%m', $time)], $str);
900
+		}
855 901
 
856
-		if (strpos($str, '%p') !== false)
857
-			$str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str);
902
+		if (strpos($str, '%p') !== false) {
903
+					$str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str);
904
+		}
858 905
 	}
859 906
 
860 907
 	// Format the time and then restore any literal percent characters
@@ -877,16 +924,19 @@  discard block
 block discarded – undo
877 924
 	static $translation = array();
878 925
 
879 926
 	// Determine the character set... Default to UTF-8
880
-	if (empty($context['character_set']))
881
-		$charset = 'UTF-8';
927
+	if (empty($context['character_set'])) {
928
+			$charset = 'UTF-8';
929
+	}
882 930
 	// Use ISO-8859-1 in place of non-supported ISO-8859 charsets...
883
-	elseif (strpos($context['character_set'], 'ISO-8859-') !== false && !in_array($context['character_set'], array('ISO-8859-5', 'ISO-8859-15')))
884
-		$charset = 'ISO-8859-1';
885
-	else
886
-		$charset = $context['character_set'];
931
+	elseif (strpos($context['character_set'], 'ISO-8859-') !== false && !in_array($context['character_set'], array('ISO-8859-5', 'ISO-8859-15'))) {
932
+			$charset = 'ISO-8859-1';
933
+	} else {
934
+			$charset = $context['character_set'];
935
+	}
887 936
 
888
-	if (empty($translation))
889
-		$translation = array_flip(get_html_translation_table(HTML_SPECIALCHARS, ENT_QUOTES, $charset)) + array('&#039;' => '\'', '&#39;' => '\'', '&nbsp;' => ' ');
937
+	if (empty($translation)) {
938
+			$translation = array_flip(get_html_translation_table(HTML_SPECIALCHARS, ENT_QUOTES, $charset)) + array('&#039;' => '\'', '&#39;' => '\'', '&nbsp;' => ' ');
939
+	}
890 940
 
891 941
 	return strtr($string, $translation);
892 942
 }
@@ -908,8 +958,9 @@  discard block
 block discarded – undo
908 958
 	global $smcFunc;
909 959
 
910 960
 	// It was already short enough!
911
-	if ($smcFunc['strlen']($subject) <= $len)
912
-		return $subject;
961
+	if ($smcFunc['strlen']($subject) <= $len) {
962
+			return $subject;
963
+	}
913 964
 
914 965
 	// Shorten it by the length it was too long, and strip off junk from the end.
915 966
 	return $smcFunc['substr']($subject, 0, $len) . '...';
@@ -928,10 +979,11 @@  discard block
 block discarded – undo
928 979
 {
929 980
 	global $user_info, $modSettings;
930 981
 
931
-	if ($timestamp === null)
932
-		$timestamp = time();
933
-	elseif ($timestamp == 0)
934
-		return 0;
982
+	if ($timestamp === null) {
983
+			$timestamp = time();
984
+	} elseif ($timestamp == 0) {
985
+			return 0;
986
+	}
935 987
 
936 988
 	return $timestamp + ($modSettings['time_offset'] + ($use_user_offset ? $user_info['time_offset'] : 0)) * 3600;
937 989
 }
@@ -960,8 +1012,9 @@  discard block
 block discarded – undo
960 1012
 		$array[$i] = $array[$j];
961 1013
 		$array[$j] = $temp;
962 1014
 
963
-		for ($i = 1; $p[$i] == 0; $i++)
964
-			$p[$i] = 1;
1015
+		for ($i = 1; $p[$i] == 0; $i++) {
1016
+					$p[$i] = 1;
1017
+		}
965 1018
 
966 1019
 		$orders[] = $array;
967 1020
 	}
@@ -993,12 +1046,14 @@  discard block
 block discarded – undo
993 1046
 	static $disabled;
994 1047
 
995 1048
 	// Don't waste cycles
996
-	if ($message === '')
997
-		return '';
1049
+	if ($message === '') {
1050
+			return '';
1051
+	}
998 1052
 
999 1053
 	// Just in case it wasn't determined yet whether UTF-8 is enabled.
1000
-	if (!isset($context['utf8']))
1001
-		$context['utf8'] = (empty($modSettings['global_character_set']) ? $txt['lang_character_set'] : $modSettings['global_character_set']) === 'UTF-8';
1054
+	if (!isset($context['utf8'])) {
1055
+			$context['utf8'] = (empty($modSettings['global_character_set']) ? $txt['lang_character_set'] : $modSettings['global_character_set']) === 'UTF-8';
1056
+	}
1002 1057
 
1003 1058
 	// Clean up any cut/paste issues we may have
1004 1059
 	$message = sanitizeMSCutPaste($message);
@@ -1010,13 +1065,15 @@  discard block
 block discarded – undo
1010 1065
 		return $message;
1011 1066
 	}
1012 1067
 
1013
-	if ($smileys !== null && ($smileys == '1' || $smileys == '0'))
1014
-		$smileys = (bool) $smileys;
1068
+	if ($smileys !== null && ($smileys == '1' || $smileys == '0')) {
1069
+			$smileys = (bool) $smileys;
1070
+	}
1015 1071
 
1016 1072
 	if (empty($modSettings['enableBBC']) && $message !== false)
1017 1073
 	{
1018
-		if ($smileys === true)
1019
-			parsesmileys($message);
1074
+		if ($smileys === true) {
1075
+					parsesmileys($message);
1076
+		}
1020 1077
 
1021 1078
 		return $message;
1022 1079
 	}
@@ -1029,8 +1086,9 @@  discard block
 block discarded – undo
1029 1086
 	}
1030 1087
 
1031 1088
 	// Ensure $modSettings['tld_regex'] contains a valid regex for the autolinker
1032
-	if (!empty($modSettings['autoLinkUrls']))
1033
-		set_tld_regex();
1089
+	if (!empty($modSettings['autoLinkUrls'])) {
1090
+			set_tld_regex();
1091
+	}
1034 1092
 
1035 1093
 	// Allow mods access before entering the main parse_bbc loop
1036 1094
 	call_integration_hook('integrate_pre_parsebbc', array(&$message, &$smileys, &$cache_id, &$parse_tags));
@@ -1044,12 +1102,14 @@  discard block
 block discarded – undo
1044 1102
 
1045 1103
 			$temp = explode(',', strtolower($modSettings['disabledBBC']));
1046 1104
 
1047
-			foreach ($temp as $tag)
1048
-				$disabled[trim($tag)] = true;
1105
+			foreach ($temp as $tag) {
1106
+							$disabled[trim($tag)] = true;
1107
+			}
1049 1108
 		}
1050 1109
 
1051
-		if (empty($modSettings['enableEmbeddedFlash']))
1052
-			$disabled['flash'] = true;
1110
+		if (empty($modSettings['enableEmbeddedFlash'])) {
1111
+					$disabled['flash'] = true;
1112
+		}
1053 1113
 
1054 1114
 		/* The following bbc are formatted as an array, with keys as follows:
1055 1115
 
@@ -1170,8 +1230,9 @@  discard block
 block discarded – undo
1170 1230
 					$returnContext = '';
1171 1231
 
1172 1232
 					// BBC or the entire attachments feature is disabled
1173
-					if (empty($modSettings['attachmentEnable']) || !empty($disabled['attach']))
1174
-						return $data;
1233
+					if (empty($modSettings['attachmentEnable']) || !empty($disabled['attach'])) {
1234
+											return $data;
1235
+					}
1175 1236
 
1176 1237
 					// Save the attach ID.
1177 1238
 					$attachID = $data;
@@ -1182,8 +1243,9 @@  discard block
 block discarded – undo
1182 1243
 					$currentAttachment = parseAttachBBC($attachID);
1183 1244
 
1184 1245
 					// parseAttachBBC will return a string ($txt key) rather than diying with a fatal_error. Up to you to decide what to do.
1185
-					if (is_string($currentAttachment))
1186
-						return $data = !empty($txt[$currentAttachment]) ? $txt[$currentAttachment] : $currentAttachment;
1246
+					if (is_string($currentAttachment)) {
1247
+											return $data = !empty($txt[$currentAttachment]) ? $txt[$currentAttachment] : $currentAttachment;
1248
+					}
1187 1249
 
1188 1250
 					if (!empty($currentAttachment['is_image']))
1189 1251
 					{
@@ -1199,15 +1261,17 @@  discard block
 block discarded – undo
1199 1261
 							$height = ' height="' . $currentAttachment['height'] . '"';
1200 1262
 						}
1201 1263
 
1202
-						if ($currentAttachment['thumbnail']['has_thumb'] && empty($params['{width}']) && empty($params['{height}']))
1203
-							$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>';
1204
-						else
1205
-							$returnContext .= '<img src="' . $currentAttachment['href'] . ';image"' . $alt . $title . $width . $height . ' class="bbc_img"/>';
1264
+						if ($currentAttachment['thumbnail']['has_thumb'] && empty($params['{width}']) && empty($params['{height}'])) {
1265
+													$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>';
1266
+						} else {
1267
+													$returnContext .= '<img src="' . $currentAttachment['href'] . ';image"' . $alt . $title . $width . $height . ' class="bbc_img"/>';
1268
+						}
1206 1269
 					}
1207 1270
 
1208 1271
 					// No image. Show a link.
1209
-					else
1210
-						$returnContext .= $currentAttachment['link'];
1272
+					else {
1273
+											$returnContext .= $currentAttachment['link'];
1274
+					}
1211 1275
 
1212 1276
 					// Gotta append what we just did.
1213 1277
 					$data = $returnContext;
@@ -1238,8 +1302,9 @@  discard block
 block discarded – undo
1238 1302
 						for ($php_i = 0, $php_n = count($php_parts); $php_i < $php_n; $php_i++)
1239 1303
 						{
1240 1304
 							// Do PHP code coloring?
1241
-							if ($php_parts[$php_i] != '&lt;?php')
1242
-								continue;
1305
+							if ($php_parts[$php_i] != '&lt;?php') {
1306
+															continue;
1307
+							}
1243 1308
 
1244 1309
 							$php_string = '';
1245 1310
 							while ($php_i + 1 < count($php_parts) && $php_parts[$php_i] != '?&gt;')
@@ -1255,8 +1320,9 @@  discard block
 block discarded – undo
1255 1320
 						$data = str_replace("\t", "<span style=\"white-space: pre;\">\t</span>", $data);
1256 1321
 
1257 1322
 						// Recent Opera bug requiring temporary fix. &nsbp; is needed before </code> to avoid broken selection.
1258
-						if ($context['browser']['is_opera'])
1259
-							$data .= '&nbsp;';
1323
+						if ($context['browser']['is_opera']) {
1324
+													$data .= '&nbsp;';
1325
+						}
1260 1326
 					}
1261 1327
 				},
1262 1328
 				'block_level' => true,
@@ -1275,8 +1341,9 @@  discard block
 block discarded – undo
1275 1341
 						for ($php_i = 0, $php_n = count($php_parts); $php_i < $php_n; $php_i++)
1276 1342
 						{
1277 1343
 							// Do PHP code coloring?
1278
-							if ($php_parts[$php_i] != '&lt;?php')
1279
-								continue;
1344
+							if ($php_parts[$php_i] != '&lt;?php') {
1345
+															continue;
1346
+							}
1280 1347
 
1281 1348
 							$php_string = '';
1282 1349
 							while ($php_i + 1 < count($php_parts) && $php_parts[$php_i] != '?&gt;')
@@ -1292,8 +1359,9 @@  discard block
 block discarded – undo
1292 1359
 						$data[0] = str_replace("\t", "<span style=\"white-space: pre;\">\t</span>", $data[0]);
1293 1360
 
1294 1361
 						// Recent Opera bug requiring temporary fix. &nsbp; is needed before </code> to avoid broken selection.
1295
-						if ($context['browser']['is_opera'])
1296
-							$data[0] .= '&nbsp;';
1362
+						if ($context['browser']['is_opera']) {
1363
+													$data[0] .= '&nbsp;';
1364
+						}
1297 1365
 					}
1298 1366
 				},
1299 1367
 				'block_level' => true,
@@ -1331,11 +1399,13 @@  discard block
 block discarded – undo
1331 1399
 				'content' => '<embed type="application/x-shockwave-flash" src="$1" width="$2" height="$3" play="true" loop="true" quality="high" AllowScriptAccess="never">',
1332 1400
 				'validate' => function (&$tag, &$data, $disabled)
1333 1401
 				{
1334
-					if (isset($disabled['url']))
1335
-						$tag['content'] = '$1';
1402
+					if (isset($disabled['url'])) {
1403
+											$tag['content'] = '$1';
1404
+					}
1336 1405
 					$scheme = parse_url($data[0], PHP_URL_SCHEME);
1337
-					if (empty($scheme))
1338
-						$data[0] = '//' . ltrim($data[0], ':/');
1406
+					if (empty($scheme)) {
1407
+											$data[0] = '//' . ltrim($data[0], ':/');
1408
+					}
1339 1409
 				},
1340 1410
 				'disabled_content' => '<a href="$1" target="_blank" class="new_win">$1</a>',
1341 1411
 			),
@@ -1349,10 +1419,11 @@  discard block
 block discarded – undo
1349 1419
 				{
1350 1420
 					$class = 'class="bbc_float float' . (strpos($data, 'left') === 0 ? 'left' : 'right') . '"';
1351 1421
 
1352
-					if (preg_match('~\bmax=(\d+(?:%|px|em|rem|ex|pt|pc|ch|vw|vh|vmin|vmax|cm|mm|in)?)~', $data, $matches))
1353
-						$css = ' style="max-width:' . $matches[1] . (is_numeric($matches[1]) ? 'px' : '') . '"';
1354
-					else
1355
-						$css = '';
1422
+					if (preg_match('~\bmax=(\d+(?:%|px|em|rem|ex|pt|pc|ch|vw|vh|vmin|vmax|cm|mm|in)?)~', $data, $matches)) {
1423
+											$css = ' style="max-width:' . $matches[1] . (is_numeric($matches[1]) ? 'px' : '') . '"';
1424
+					} else {
1425
+											$css = '';
1426
+					}
1356 1427
 
1357 1428
 					$data = $class . $css;
1358 1429
 				},
@@ -1402,14 +1473,16 @@  discard block
 block discarded – undo
1402 1473
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1403 1474
 					if ($image_proxy_enabled)
1404 1475
 					{
1405
-						if (empty($scheme))
1406
-							$data = 'http://' . ltrim($data, ':/');
1476
+						if (empty($scheme)) {
1477
+													$data = 'http://' . ltrim($data, ':/');
1478
+						}
1407 1479
 
1408
-						if ($scheme != 'https')
1409
-							$data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret);
1480
+						if ($scheme != 'https') {
1481
+													$data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret);
1482
+						}
1483
+					} elseif (empty($scheme)) {
1484
+											$data = '//' . ltrim($data, ':/');
1410 1485
 					}
1411
-					elseif (empty($scheme))
1412
-						$data = '//' . ltrim($data, ':/');
1413 1486
 				},
1414 1487
 				'disabled_content' => '($1)',
1415 1488
 			),
@@ -1425,14 +1498,16 @@  discard block
 block discarded – undo
1425 1498
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1426 1499
 					if ($image_proxy_enabled)
1427 1500
 					{
1428
-						if (empty($scheme))
1429
-							$data = 'http://' . ltrim($data, ':/');
1501
+						if (empty($scheme)) {
1502
+													$data = 'http://' . ltrim($data, ':/');
1503
+						}
1430 1504
 
1431
-						if ($scheme != 'https')
1432
-							$data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret);
1505
+						if ($scheme != 'https') {
1506
+													$data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret);
1507
+						}
1508
+					} elseif (empty($scheme)) {
1509
+											$data = '//' . ltrim($data, ':/');
1433 1510
 					}
1434
-					elseif (empty($scheme))
1435
-						$data = '//' . ltrim($data, ':/');
1436 1511
 				},
1437 1512
 				'disabled_content' => '($1)',
1438 1513
 			),
@@ -1444,8 +1519,9 @@  discard block
 block discarded – undo
1444 1519
 				{
1445 1520
 					$data = strtr($data, array('<br>' => ''));
1446 1521
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1447
-					if (empty($scheme))
1448
-						$data = '//' . ltrim($data, ':/');
1522
+					if (empty($scheme)) {
1523
+											$data = '//' . ltrim($data, ':/');
1524
+					}
1449 1525
 				},
1450 1526
 			),
1451 1527
 			array(
@@ -1456,13 +1532,14 @@  discard block
 block discarded – undo
1456 1532
 				'after' => '</a>',
1457 1533
 				'validate' => function (&$tag, &$data, $disabled)
1458 1534
 				{
1459
-					if (substr($data, 0, 1) == '#')
1460
-						$data = '#post_' . substr($data, 1);
1461
-					else
1535
+					if (substr($data, 0, 1) == '#') {
1536
+											$data = '#post_' . substr($data, 1);
1537
+					} else
1462 1538
 					{
1463 1539
 						$scheme = parse_url($data, PHP_URL_SCHEME);
1464
-						if (empty($scheme))
1465
-							$data = '//' . ltrim($data, ':/');
1540
+						if (empty($scheme)) {
1541
+													$data = '//' . ltrim($data, ':/');
1542
+						}
1466 1543
 					}
1467 1544
 				},
1468 1545
 				'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
@@ -1540,8 +1617,9 @@  discard block
 block discarded – undo
1540 1617
 					{
1541 1618
 						$add_begin = substr(trim($data), 0, 5) != '&lt;?';
1542 1619
 						$data = highlight_php_code($add_begin ? '&lt;?php ' . $data . '?&gt;' : $data);
1543
-						if ($add_begin)
1544
-							$data = preg_replace(array('~^(.+?)&lt;\?.{0,40}?php(?:&nbsp;|\s)~', '~\?&gt;((?:</(font|span)>)*)$~'), '$1', $data, 2);
1620
+						if ($add_begin) {
1621
+													$data = preg_replace(array('~^(.+?)&lt;\?.{0,40}?php(?:&nbsp;|\s)~', '~\?&gt;((?:</(font|span)>)*)$~'), '$1', $data, 2);
1622
+						}
1545 1623
 					}
1546 1624
 				},
1547 1625
 				'block_level' => false,
@@ -1672,10 +1750,11 @@  discard block
 block discarded – undo
1672 1750
 				'content' => '$1',
1673 1751
 				'validate' => function (&$tag, &$data, $disabled)
1674 1752
 				{
1675
-					if (is_numeric($data))
1676
-						$data = timeformat($data);
1677
-					else
1678
-						$tag['content'] = '[time]$1[/time]';
1753
+					if (is_numeric($data)) {
1754
+											$data = timeformat($data);
1755
+					} else {
1756
+											$tag['content'] = '[time]$1[/time]';
1757
+					}
1679 1758
 				},
1680 1759
 			),
1681 1760
 			array(
@@ -1702,8 +1781,9 @@  discard block
 block discarded – undo
1702 1781
 				{
1703 1782
 					$data = strtr($data, array('<br>' => ''));
1704 1783
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1705
-					if (empty($scheme))
1706
-						$data = '//' . ltrim($data, ':/');
1784
+					if (empty($scheme)) {
1785
+											$data = '//' . ltrim($data, ':/');
1786
+					}
1707 1787
 				},
1708 1788
 			),
1709 1789
 			array(
@@ -1715,8 +1795,9 @@  discard block
 block discarded – undo
1715 1795
 				'validate' => function (&$tag, &$data, $disabled)
1716 1796
 				{
1717 1797
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1718
-					if (empty($scheme))
1719
-						$data = '//' . ltrim($data, ':/');
1798
+					if (empty($scheme)) {
1799
+											$data = '//' . ltrim($data, ':/');
1800
+					}
1720 1801
 				},
1721 1802
 				'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
1722 1803
 				'disabled_after' => ' ($1)',
@@ -1736,8 +1817,9 @@  discard block
 block discarded – undo
1736 1817
 		// This is mainly for the bbc manager, so it's easy to add tags above.  Custom BBC should be added above this line.
1737 1818
 		if ($message === false)
1738 1819
 		{
1739
-			if (isset($temp_bbc))
1740
-				$bbc_codes = $temp_bbc;
1820
+			if (isset($temp_bbc)) {
1821
+							$bbc_codes = $temp_bbc;
1822
+			}
1741 1823
 			usort($codes, function ($a, $b) {
1742 1824
 				return strcmp($a['tag'], $b['tag']);
1743 1825
 			});
@@ -1757,8 +1839,9 @@  discard block
 block discarded – undo
1757 1839
 		);
1758 1840
 		if (!isset($disabled['li']) && !isset($disabled['list']))
1759 1841
 		{
1760
-			foreach ($itemcodes as $c => $dummy)
1761
-				$bbc_codes[$c] = array();
1842
+			foreach ($itemcodes as $c => $dummy) {
1843
+							$bbc_codes[$c] = array();
1844
+			}
1762 1845
 		}
1763 1846
 
1764 1847
 		// Shhhh!
@@ -1779,12 +1862,14 @@  discard block
 block discarded – undo
1779 1862
 		foreach ($codes as $code)
1780 1863
 		{
1781 1864
 			// Make it easier to process parameters later
1782
-			if (!empty($code['parameters']))
1783
-				ksort($code['parameters'], SORT_STRING);
1865
+			if (!empty($code['parameters'])) {
1866
+							ksort($code['parameters'], SORT_STRING);
1867
+			}
1784 1868
 
1785 1869
 			// If we are not doing every tag only do ones we are interested in.
1786
-			if (empty($parse_tags) || in_array($code['tag'], $parse_tags))
1787
-				$bbc_codes[substr($code['tag'], 0, 1)][] = $code;
1870
+			if (empty($parse_tags) || in_array($code['tag'], $parse_tags)) {
1871
+							$bbc_codes[substr($code['tag'], 0, 1)][] = $code;
1872
+			}
1788 1873
 		}
1789 1874
 		$codes = null;
1790 1875
 	}
@@ -1795,8 +1880,9 @@  discard block
 block discarded – undo
1795 1880
 		// It's likely this will change if the message is modified.
1796 1881
 		$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']);
1797 1882
 
1798
-		if (($temp = cache_get_data($cache_key, 240)) != null)
1799
-			return $temp;
1883
+		if (($temp = cache_get_data($cache_key, 240)) != null) {
1884
+					return $temp;
1885
+		}
1800 1886
 
1801 1887
 		$cache_t = microtime();
1802 1888
 	}
@@ -1828,8 +1914,9 @@  discard block
 block discarded – undo
1828 1914
 		$disabled['flash'] = true;
1829 1915
 
1830 1916
 		// @todo Change maybe?
1831
-		if (!isset($_GET['images']))
1832
-			$disabled['img'] = true;
1917
+		if (!isset($_GET['images'])) {
1918
+					$disabled['img'] = true;
1919
+		}
1833 1920
 
1834 1921
 		// @todo Interface/setting to add more?
1835 1922
 	}
@@ -1853,8 +1940,9 @@  discard block
 block discarded – undo
1853 1940
 		$pos = isset($matches[0][1]) ? $matches[0][1] : false;
1854 1941
 
1855 1942
 		// Failsafe.
1856
-		if ($pos === false || $last_pos > $pos)
1857
-			$pos = strlen($message) + 1;
1943
+		if ($pos === false || $last_pos > $pos) {
1944
+					$pos = strlen($message) + 1;
1945
+		}
1858 1946
 
1859 1947
 		// Can't have a one letter smiley, URL, or email! (sorry.)
1860 1948
 		if ($last_pos < $pos - 1)
@@ -1872,8 +1960,9 @@  discard block
 block discarded – undo
1872 1960
 
1873 1961
 				// <br> should be empty.
1874 1962
 				$empty_tags = array('br', 'hr');
1875
-				foreach ($empty_tags as $tag)
1876
-					$data = str_replace(array('&lt;' . $tag . '&gt;', '&lt;' . $tag . '/&gt;', '&lt;' . $tag . ' /&gt;'), '<' . $tag . '>', $data);
1963
+				foreach ($empty_tags as $tag) {
1964
+									$data = str_replace(array('&lt;' . $tag . '&gt;', '&lt;' . $tag . '/&gt;', '&lt;' . $tag . ' /&gt;'), '<' . $tag . '>', $data);
1965
+				}
1877 1966
 
1878 1967
 				// b, u, i, s, pre... basic tags.
1879 1968
 				$closable_tags = array('b', 'u', 'i', 's', 'em', 'ins', 'del', 'pre', 'blockquote', 'strong');
@@ -1882,8 +1971,9 @@  discard block
 block discarded – undo
1882 1971
 					$diff = substr_count($data, '&lt;' . $tag . '&gt;') - substr_count($data, '&lt;/' . $tag . '&gt;');
1883 1972
 					$data = strtr($data, array('&lt;' . $tag . '&gt;' => '<' . $tag . '>', '&lt;/' . $tag . '&gt;' => '</' . $tag . '>'));
1884 1973
 
1885
-					if ($diff > 0)
1886
-						$data = substr($data, 0, -1) . str_repeat('</' . $tag . '>', $diff) . substr($data, -1);
1974
+					if ($diff > 0) {
1975
+											$data = substr($data, 0, -1) . str_repeat('</' . $tag . '>', $diff) . substr($data, -1);
1976
+					}
1887 1977
 				}
1888 1978
 
1889 1979
 				// Do <img ...> - with security... action= -> action-.
@@ -1896,8 +1986,9 @@  discard block
 block discarded – undo
1896 1986
 						$alt = empty($matches[3][$match]) ? '' : ' alt=' . preg_replace('~^&quot;|&quot;$~', '', $matches[3][$match]);
1897 1987
 
1898 1988
 						// Remove action= from the URL - no funny business, now.
1899
-						if (preg_match('~action(=|%3d)(?!dlattach)~i', $imgtag) != 0)
1900
-							$imgtag = preg_replace('~action(?:=|%3d)(?!dlattach)~i', 'action-', $imgtag);
1989
+						if (preg_match('~action(=|%3d)(?!dlattach)~i', $imgtag) != 0) {
1990
+													$imgtag = preg_replace('~action(?:=|%3d)(?!dlattach)~i', 'action-', $imgtag);
1991
+						}
1901 1992
 
1902 1993
 						// Check if the image is larger than allowed.
1903 1994
 						if (!empty($modSettings['max_image_width']) && !empty($modSettings['max_image_height']))
@@ -1918,9 +2009,9 @@  discard block
 block discarded – undo
1918 2009
 
1919 2010
 							// Set the new image tag.
1920 2011
 							$replaces[$matches[0][$match]] = '[img width=' . $width . ' height=' . $height . $alt . ']' . $imgtag . '[/img]';
2012
+						} else {
2013
+													$replaces[$matches[0][$match]] = '[img' . $alt . ']' . $imgtag . '[/img]';
1921 2014
 						}
1922
-						else
1923
-							$replaces[$matches[0][$match]] = '[img' . $alt . ']' . $imgtag . '[/img]';
1924 2015
 					}
1925 2016
 
1926 2017
 					$data = strtr($data, $replaces);
@@ -1933,16 +2024,18 @@  discard block
 block discarded – undo
1933 2024
 				$no_autolink_area = false;
1934 2025
 				if (!empty($open_tags))
1935 2026
 				{
1936
-					foreach ($open_tags as $open_tag)
1937
-						if (in_array($open_tag['tag'], $no_autolink_tags))
2027
+					foreach ($open_tags as $open_tag) {
2028
+											if (in_array($open_tag['tag'], $no_autolink_tags))
1938 2029
 							$no_autolink_area = true;
2030
+					}
1939 2031
 				}
1940 2032
 
1941 2033
 				// Don't go backwards.
1942 2034
 				// @todo Don't think is the real solution....
1943 2035
 				$lastAutoPos = isset($lastAutoPos) ? $lastAutoPos : 0;
1944
-				if ($pos < $lastAutoPos)
1945
-					$no_autolink_area = true;
2036
+				if ($pos < $lastAutoPos) {
2037
+									$no_autolink_area = true;
2038
+				}
1946 2039
 				$lastAutoPos = $pos;
1947 2040
 
1948 2041
 				if (!$no_autolink_area)
@@ -2051,17 +2144,19 @@  discard block
 block discarded – undo
2051 2144
 							if ($scheme == 'mailto')
2052 2145
 							{
2053 2146
 								$email_address = str_replace('mailto:', '', $url);
2054
-								if (!isset($disabled['email']) && filter_var($email_address, FILTER_VALIDATE_EMAIL) !== false)
2055
-									return '[email=' . $email_address . ']' . $url . '[/email]';
2056
-								else
2057
-									return $url;
2147
+								if (!isset($disabled['email']) && filter_var($email_address, FILTER_VALIDATE_EMAIL) !== false) {
2148
+																	return '[email=' . $email_address . ']' . $url . '[/email]';
2149
+								} else {
2150
+																	return $url;
2151
+								}
2058 2152
 							}
2059 2153
 
2060 2154
 							// Are we linking a schemeless URL or naked domain name (e.g. "example.com")?
2061
-							if (empty($scheme))
2062
-								$fullUrl = '//' . ltrim($url, ':/');
2063
-							else
2064
-								$fullUrl = $url;
2155
+							if (empty($scheme)) {
2156
+															$fullUrl = '//' . ltrim($url, ':/');
2157
+							} else {
2158
+															$fullUrl = $url;
2159
+							}
2065 2160
 
2066 2161
 							return '[url=&quot;' . str_replace(array('[', ']'), array('&#91;', '&#93;'), $fullUrl) . '&quot;]' . $url . '[/url]';
2067 2162
 						}, $data);
@@ -2110,16 +2205,18 @@  discard block
 block discarded – undo
2110 2205
 		}
2111 2206
 
2112 2207
 		// Are we there yet?  Are we there yet?
2113
-		if ($pos >= strlen($message) - 1)
2114
-			break;
2208
+		if ($pos >= strlen($message) - 1) {
2209
+					break;
2210
+		}
2115 2211
 
2116 2212
 		$tags = strtolower($message[$pos + 1]);
2117 2213
 
2118 2214
 		if ($tags == '/' && !empty($open_tags))
2119 2215
 		{
2120 2216
 			$pos2 = strpos($message, ']', $pos + 1);
2121
-			if ($pos2 == $pos + 2)
2122
-				continue;
2217
+			if ($pos2 == $pos + 2) {
2218
+							continue;
2219
+			}
2123 2220
 
2124 2221
 			$look_for = strtolower(substr($message, $pos + 2, $pos2 - $pos - 2));
2125 2222
 
@@ -2129,8 +2226,9 @@  discard block
 block discarded – undo
2129 2226
 			do
2130 2227
 			{
2131 2228
 				$tag = array_pop($open_tags);
2132
-				if (!$tag)
2133
-					break;
2229
+				if (!$tag) {
2230
+									break;
2231
+				}
2134 2232
 
2135 2233
 				if (!empty($tag['block_level']))
2136 2234
 				{
@@ -2144,10 +2242,11 @@  discard block
 block discarded – undo
2144 2242
 					// The idea is, if we are LOOKING for a block level tag, we can close them on the way.
2145 2243
 					if (strlen($look_for) > 0 && isset($bbc_codes[$look_for[0]]))
2146 2244
 					{
2147
-						foreach ($bbc_codes[$look_for[0]] as $temp)
2148
-							if ($temp['tag'] == $look_for)
2245
+						foreach ($bbc_codes[$look_for[0]] as $temp) {
2246
+													if ($temp['tag'] == $look_for)
2149 2247
 							{
2150 2248
 								$block_level = !empty($temp['block_level']);
2249
+						}
2151 2250
 								break;
2152 2251
 							}
2153 2252
 					}
@@ -2169,15 +2268,15 @@  discard block
 block discarded – undo
2169 2268
 			{
2170 2269
 				$open_tags = $to_close;
2171 2270
 				continue;
2172
-			}
2173
-			elseif (!empty($to_close) && $tag['tag'] != $look_for)
2271
+			} elseif (!empty($to_close) && $tag['tag'] != $look_for)
2174 2272
 			{
2175 2273
 				if ($block_level === null && isset($look_for[0], $bbc_codes[$look_for[0]]))
2176 2274
 				{
2177
-					foreach ($bbc_codes[$look_for[0]] as $temp)
2178
-						if ($temp['tag'] == $look_for)
2275
+					foreach ($bbc_codes[$look_for[0]] as $temp) {
2276
+											if ($temp['tag'] == $look_for)
2179 2277
 						{
2180 2278
 							$block_level = !empty($temp['block_level']);
2279
+					}
2181 2280
 							break;
2182 2281
 						}
2183 2282
 				}
@@ -2185,8 +2284,9 @@  discard block
 block discarded – undo
2185 2284
 				// We're not looking for a block level tag (or maybe even a tag that exists...)
2186 2285
 				if (!$block_level)
2187 2286
 				{
2188
-					foreach ($to_close as $tag)
2189
-						array_push($open_tags, $tag);
2287
+					foreach ($to_close as $tag) {
2288
+											array_push($open_tags, $tag);
2289
+					}
2190 2290
 					continue;
2191 2291
 				}
2192 2292
 			}
@@ -2199,14 +2299,17 @@  discard block
 block discarded – undo
2199 2299
 
2200 2300
 				// See the comment at the end of the big loop - just eating whitespace ;).
2201 2301
 				$whitespace_regex = '';
2202
-				if (!empty($tag['block_level']))
2203
-					$whitespace_regex .= '(&nbsp;|\s)*(<br>)?';
2302
+				if (!empty($tag['block_level'])) {
2303
+									$whitespace_regex .= '(&nbsp;|\s)*(<br>)?';
2304
+				}
2204 2305
 				// Trim one line of whitespace after unnested tags, but all of it after nested ones
2205
-				if (!empty($tag['trim']) && $tag['trim'] != 'inside')
2206
-					$whitespace_regex .= empty($tag['require_parents']) ? '(&nbsp;|\s)*' : '(<br>|&nbsp;|\s)*';
2306
+				if (!empty($tag['trim']) && $tag['trim'] != 'inside') {
2307
+									$whitespace_regex .= empty($tag['require_parents']) ? '(&nbsp;|\s)*' : '(<br>|&nbsp;|\s)*';
2308
+				}
2207 2309
 
2208
-				if (!empty($whitespace_regex) && preg_match('~' . $whitespace_regex . '~', substr($message, $pos), $matches) != 0)
2209
-					$message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0]));
2310
+				if (!empty($whitespace_regex) && preg_match('~' . $whitespace_regex . '~', substr($message, $pos), $matches) != 0) {
2311
+									$message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0]));
2312
+				}
2210 2313
 			}
2211 2314
 
2212 2315
 			if (!empty($to_close))
@@ -2219,8 +2322,9 @@  discard block
 block discarded – undo
2219 2322
 		}
2220 2323
 
2221 2324
 		// No tags for this character, so just keep going (fastest possible course.)
2222
-		if (!isset($bbc_codes[$tags]))
2223
-			continue;
2325
+		if (!isset($bbc_codes[$tags])) {
2326
+					continue;
2327
+		}
2224 2328
 
2225 2329
 		$inside = empty($open_tags) ? null : $open_tags[count($open_tags) - 1];
2226 2330
 		$tag = null;
@@ -2229,44 +2333,52 @@  discard block
 block discarded – undo
2229 2333
 			$pt_strlen = strlen($possible['tag']);
2230 2334
 
2231 2335
 			// Not a match?
2232
-			if (strtolower(substr($message, $pos + 1, $pt_strlen)) != $possible['tag'])
2233
-				continue;
2336
+			if (strtolower(substr($message, $pos + 1, $pt_strlen)) != $possible['tag']) {
2337
+							continue;
2338
+			}
2234 2339
 
2235 2340
 			$next_c = $message[$pos + 1 + $pt_strlen];
2236 2341
 
2237 2342
 			// A test validation?
2238
-			if (isset($possible['test']) && preg_match('~^' . $possible['test'] . '~', substr($message, $pos + 1 + $pt_strlen + 1)) === 0)
2239
-				continue;
2343
+			if (isset($possible['test']) && preg_match('~^' . $possible['test'] . '~', substr($message, $pos + 1 + $pt_strlen + 1)) === 0) {
2344
+							continue;
2345
+			}
2240 2346
 			// Do we want parameters?
2241 2347
 			elseif (!empty($possible['parameters']))
2242 2348
 			{
2243
-				if ($next_c != ' ')
2244
-					continue;
2245
-			}
2246
-			elseif (isset($possible['type']))
2349
+				if ($next_c != ' ') {
2350
+									continue;
2351
+				}
2352
+			} elseif (isset($possible['type']))
2247 2353
 			{
2248 2354
 				// Do we need an equal sign?
2249
-				if (in_array($possible['type'], array('unparsed_equals', 'unparsed_commas', 'unparsed_commas_content', 'unparsed_equals_content', 'parsed_equals')) && $next_c != '=')
2250
-					continue;
2355
+				if (in_array($possible['type'], array('unparsed_equals', 'unparsed_commas', 'unparsed_commas_content', 'unparsed_equals_content', 'parsed_equals')) && $next_c != '=') {
2356
+									continue;
2357
+				}
2251 2358
 				// Maybe we just want a /...
2252
-				if ($possible['type'] == 'closed' && $next_c != ']' && substr($message, $pos + 1 + $pt_strlen, 2) != '/]' && substr($message, $pos + 1 + $pt_strlen, 3) != ' /]')
2253
-					continue;
2359
+				if ($possible['type'] == 'closed' && $next_c != ']' && substr($message, $pos + 1 + $pt_strlen, 2) != '/]' && substr($message, $pos + 1 + $pt_strlen, 3) != ' /]') {
2360
+									continue;
2361
+				}
2254 2362
 				// An immediate ]?
2255
-				if ($possible['type'] == 'unparsed_content' && $next_c != ']')
2256
-					continue;
2363
+				if ($possible['type'] == 'unparsed_content' && $next_c != ']') {
2364
+									continue;
2365
+				}
2257 2366
 			}
2258 2367
 			// No type means 'parsed_content', which demands an immediate ] without parameters!
2259
-			elseif ($next_c != ']')
2260
-				continue;
2368
+			elseif ($next_c != ']') {
2369
+							continue;
2370
+			}
2261 2371
 
2262 2372
 			// Check allowed tree?
2263
-			if (isset($possible['require_parents']) && ($inside === null || !in_array($inside['tag'], $possible['require_parents'])))
2264
-				continue;
2265
-			elseif (isset($inside['require_children']) && !in_array($possible['tag'], $inside['require_children']))
2266
-				continue;
2373
+			if (isset($possible['require_parents']) && ($inside === null || !in_array($inside['tag'], $possible['require_parents']))) {
2374
+							continue;
2375
+			} elseif (isset($inside['require_children']) && !in_array($possible['tag'], $inside['require_children'])) {
2376
+							continue;
2377
+			}
2267 2378
 			// If this is in the list of disallowed child tags, don't parse it.
2268
-			elseif (isset($inside['disallow_children']) && in_array($possible['tag'], $inside['disallow_children']))
2269
-				continue;
2379
+			elseif (isset($inside['disallow_children']) && in_array($possible['tag'], $inside['disallow_children'])) {
2380
+							continue;
2381
+			}
2270 2382
 
2271 2383
 			$pos1 = $pos + 1 + $pt_strlen + 1;
2272 2384
 
@@ -2278,8 +2390,9 @@  discard block
 block discarded – undo
2278 2390
 				foreach ($open_tags as $open_quote)
2279 2391
 				{
2280 2392
 					// Every parent quote this quote has flips the styling
2281
-					if ($open_quote['tag'] == 'quote')
2282
-						$quote_alt = !$quote_alt;
2393
+					if ($open_quote['tag'] == 'quote') {
2394
+											$quote_alt = !$quote_alt;
2395
+					}
2283 2396
 				}
2284 2397
 				// Add a class to the quote to style alternating blockquotes
2285 2398
 				$possible['before'] = strtr($possible['before'], array('<blockquote>' => '<blockquote class="bbc_' . ($quote_alt ? 'alternate' : 'standard') . '_quote">'));
@@ -2290,8 +2403,9 @@  discard block
 block discarded – undo
2290 2403
 			{
2291 2404
 				// Build a regular expression for each parameter for the current tag.
2292 2405
 				$preg = array();
2293
-				foreach ($possible['parameters'] as $p => $info)
2294
-					$preg[] = '(\s+' . $p . '=' . (empty($info['quoted']) ? '' : '&quot;') . (isset($info['match']) ? $info['match'] : '(.+?)') . (empty($info['quoted']) ? '' : '&quot;') . '\s*)' . (empty($info['optional']) ? '' : '?');
2406
+				foreach ($possible['parameters'] as $p => $info) {
2407
+									$preg[] = '(\s+' . $p . '=' . (empty($info['quoted']) ? '' : '&quot;') . (isset($info['match']) ? $info['match'] : '(.+?)') . (empty($info['quoted']) ? '' : '&quot;') . '\s*)' . (empty($info['optional']) ? '' : '?');
2408
+				}
2295 2409
 
2296 2410
 				// Extract the string that potentially holds our parameters.
2297 2411
 				$blob = preg_split('~\[/?(?:' . $alltags_regex . ')~i', substr($message, $pos));
@@ -2311,24 +2425,27 @@  discard block
 block discarded – undo
2311 2425
 
2312 2426
 					$match = preg_match('~^' . implode('', $preg) . '$~i', implode(' ', $given_params), $matches) !== 0;
2313 2427
 
2314
-					if ($match)
2315
-						$blob_counter = count($blobs) + 1;
2428
+					if ($match) {
2429
+											$blob_counter = count($blobs) + 1;
2430
+					}
2316 2431
 				}
2317 2432
 
2318 2433
 				// Didn't match our parameter list, try the next possible.
2319
-				if (!$match)
2320
-					continue;
2434
+				if (!$match) {
2435
+									continue;
2436
+				}
2321 2437
 
2322 2438
 				$params = array();
2323 2439
 				for ($i = 1, $n = count($matches); $i < $n; $i += 2)
2324 2440
 				{
2325 2441
 					$key = strtok(ltrim($matches[$i]), '=');
2326
-					if (isset($possible['parameters'][$key]['value']))
2327
-						$params['{' . $key . '}'] = strtr($possible['parameters'][$key]['value'], array('$1' => $matches[$i + 1]));
2328
-					elseif (isset($possible['parameters'][$key]['validate']))
2329
-						$params['{' . $key . '}'] = $possible['parameters'][$key]['validate']($matches[$i + 1]);
2330
-					else
2331
-						$params['{' . $key . '}'] = $matches[$i + 1];
2442
+					if (isset($possible['parameters'][$key]['value'])) {
2443
+											$params['{' . $key . '}'] = strtr($possible['parameters'][$key]['value'], array('$1' => $matches[$i + 1]));
2444
+					} elseif (isset($possible['parameters'][$key]['validate'])) {
2445
+											$params['{' . $key . '}'] = $possible['parameters'][$key]['validate']($matches[$i + 1]);
2446
+					} else {
2447
+											$params['{' . $key . '}'] = $matches[$i + 1];
2448
+					}
2332 2449
 
2333 2450
 					// Just to make sure: replace any $ or { so they can't interpolate wrongly.
2334 2451
 					$params['{' . $key . '}'] = strtr($params['{' . $key . '}'], array('$' => '&#036;', '{' => '&#123;'));
@@ -2336,23 +2453,26 @@  discard block
 block discarded – undo
2336 2453
 
2337 2454
 				foreach ($possible['parameters'] as $p => $info)
2338 2455
 				{
2339
-					if (!isset($params['{' . $p . '}']))
2340
-						$params['{' . $p . '}'] = '';
2456
+					if (!isset($params['{' . $p . '}'])) {
2457
+											$params['{' . $p . '}'] = '';
2458
+					}
2341 2459
 				}
2342 2460
 
2343 2461
 				$tag = $possible;
2344 2462
 
2345 2463
 				// Put the parameters into the string.
2346
-				if (isset($tag['before']))
2347
-					$tag['before'] = strtr($tag['before'], $params);
2348
-				if (isset($tag['after']))
2349
-					$tag['after'] = strtr($tag['after'], $params);
2350
-				if (isset($tag['content']))
2351
-					$tag['content'] = strtr($tag['content'], $params);
2464
+				if (isset($tag['before'])) {
2465
+									$tag['before'] = strtr($tag['before'], $params);
2466
+				}
2467
+				if (isset($tag['after'])) {
2468
+									$tag['after'] = strtr($tag['after'], $params);
2469
+				}
2470
+				if (isset($tag['content'])) {
2471
+									$tag['content'] = strtr($tag['content'], $params);
2472
+				}
2352 2473
 
2353 2474
 				$pos1 += strlen($given_param_string);
2354
-			}
2355
-			else
2475
+			} else
2356 2476
 			{
2357 2477
 				$tag = $possible;
2358 2478
 				$params = array();
@@ -2363,8 +2483,9 @@  discard block
 block discarded – undo
2363 2483
 		// Item codes are complicated buggers... they are implicit [li]s and can make [list]s!
2364 2484
 		if ($smileys !== false && $tag === null && isset($itemcodes[$message[$pos + 1]]) && $message[$pos + 2] == ']' && !isset($disabled['list']) && !isset($disabled['li']))
2365 2485
 		{
2366
-			if ($message[$pos + 1] == '0' && !in_array($message[$pos - 1], array(';', ' ', "\t", "\n", '>')))
2367
-				continue;
2486
+			if ($message[$pos + 1] == '0' && !in_array($message[$pos - 1], array(';', ' ', "\t", "\n", '>'))) {
2487
+							continue;
2488
+			}
2368 2489
 
2369 2490
 			$tag = $itemcodes[$message[$pos + 1]];
2370 2491
 
@@ -2385,9 +2506,9 @@  discard block
 block discarded – undo
2385 2506
 			{
2386 2507
 				array_pop($open_tags);
2387 2508
 				$code = '</li>';
2509
+			} else {
2510
+							$code = '';
2388 2511
 			}
2389
-			else
2390
-				$code = '';
2391 2512
 
2392 2513
 			// Now we open a new tag.
2393 2514
 			$open_tags[] = array(
@@ -2434,12 +2555,14 @@  discard block
 block discarded – undo
2434 2555
 		}
2435 2556
 
2436 2557
 		// No tag?  Keep looking, then.  Silly people using brackets without actual tags.
2437
-		if ($tag === null)
2438
-			continue;
2558
+		if ($tag === null) {
2559
+					continue;
2560
+		}
2439 2561
 
2440 2562
 		// Propagate the list to the child (so wrapping the disallowed tag won't work either.)
2441
-		if (isset($inside['disallow_children']))
2442
-			$tag['disallow_children'] = isset($tag['disallow_children']) ? array_unique(array_merge($tag['disallow_children'], $inside['disallow_children'])) : $inside['disallow_children'];
2563
+		if (isset($inside['disallow_children'])) {
2564
+					$tag['disallow_children'] = isset($tag['disallow_children']) ? array_unique(array_merge($tag['disallow_children'], $inside['disallow_children'])) : $inside['disallow_children'];
2565
+		}
2443 2566
 
2444 2567
 		// Is this tag disabled?
2445 2568
 		if (isset($disabled[$tag['tag']]))
@@ -2449,14 +2572,13 @@  discard block
 block discarded – undo
2449 2572
 				$tag['before'] = !empty($tag['block_level']) ? '<div>' : '';
2450 2573
 				$tag['after'] = !empty($tag['block_level']) ? '</div>' : '';
2451 2574
 				$tag['content'] = isset($tag['type']) && $tag['type'] == 'closed' ? '' : (!empty($tag['block_level']) ? '<div>$1</div>' : '$1');
2452
-			}
2453
-			elseif (isset($tag['disabled_before']) || isset($tag['disabled_after']))
2575
+			} elseif (isset($tag['disabled_before']) || isset($tag['disabled_after']))
2454 2576
 			{
2455 2577
 				$tag['before'] = isset($tag['disabled_before']) ? $tag['disabled_before'] : (!empty($tag['block_level']) ? '<div>' : '');
2456 2578
 				$tag['after'] = isset($tag['disabled_after']) ? $tag['disabled_after'] : (!empty($tag['block_level']) ? '</div>' : '');
2579
+			} else {
2580
+							$tag['content'] = $tag['disabled_content'];
2457 2581
 			}
2458
-			else
2459
-				$tag['content'] = $tag['disabled_content'];
2460 2582
 		}
2461 2583
 
2462 2584
 		// we use this a lot
@@ -2466,8 +2588,9 @@  discard block
 block discarded – undo
2466 2588
 		if (!empty($tag['block_level']) && $tag['tag'] != 'html' && empty($inside['block_level']))
2467 2589
 		{
2468 2590
 			$n = count($open_tags) - 1;
2469
-			while (empty($open_tags[$n]['block_level']) && $n >= 0)
2470
-				$n--;
2591
+			while (empty($open_tags[$n]['block_level']) && $n >= 0) {
2592
+							$n--;
2593
+			}
2471 2594
 
2472 2595
 			// Close all the non block level tags so this tag isn't surrounded by them.
2473 2596
 			for ($i = count($open_tags) - 1; $i > $n; $i--)
@@ -2479,12 +2602,15 @@  discard block
 block discarded – undo
2479 2602
 
2480 2603
 				// Trim or eat trailing stuff... see comment at the end of the big loop.
2481 2604
 				$whitespace_regex = '';
2482
-				if (!empty($tag['block_level']))
2483
-					$whitespace_regex .= '(&nbsp;|\s)*(<br>)?';
2484
-				if (!empty($tag['trim']) && $tag['trim'] != 'inside')
2485
-					$whitespace_regex .= empty($tag['require_parents']) ? '(&nbsp;|\s)*' : '(<br>|&nbsp;|\s)*';
2486
-				if (!empty($whitespace_regex) && preg_match('~' . $whitespace_regex . '~', substr($message, $pos), $matches) != 0)
2487
-					$message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0]));
2605
+				if (!empty($tag['block_level'])) {
2606
+									$whitespace_regex .= '(&nbsp;|\s)*(<br>)?';
2607
+				}
2608
+				if (!empty($tag['trim']) && $tag['trim'] != 'inside') {
2609
+									$whitespace_regex .= empty($tag['require_parents']) ? '(&nbsp;|\s)*' : '(<br>|&nbsp;|\s)*';
2610
+				}
2611
+				if (!empty($whitespace_regex) && preg_match('~' . $whitespace_regex . '~', substr($message, $pos), $matches) != 0) {
2612
+									$message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0]));
2613
+				}
2488 2614
 
2489 2615
 				array_pop($open_tags);
2490 2616
 			}
@@ -2502,16 +2628,19 @@  discard block
 block discarded – undo
2502 2628
 		elseif ($tag['type'] == 'unparsed_content')
2503 2629
 		{
2504 2630
 			$pos2 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos1);
2505
-			if ($pos2 === false)
2506
-				continue;
2631
+			if ($pos2 === false) {
2632
+							continue;
2633
+			}
2507 2634
 
2508 2635
 			$data = substr($message, $pos1, $pos2 - $pos1);
2509 2636
 
2510
-			if (!empty($tag['block_level']) && substr($data, 0, 4) == '<br>')
2511
-				$data = substr($data, 4);
2637
+			if (!empty($tag['block_level']) && substr($data, 0, 4) == '<br>') {
2638
+							$data = substr($data, 4);
2639
+			}
2512 2640
 
2513
-			if (isset($tag['validate']))
2514
-				$tag['validate']($tag, $data, $disabled, $params);
2641
+			if (isset($tag['validate'])) {
2642
+							$tag['validate']($tag, $data, $disabled, $params);
2643
+			}
2515 2644
 
2516 2645
 			$code = strtr($tag['content'], array('$1' => $data));
2517 2646
 			$message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos2 + 3 + $tag_strlen);
@@ -2527,34 +2656,40 @@  discard block
 block discarded – undo
2527 2656
 			if (isset($tag['quoted']))
2528 2657
 			{
2529 2658
 				$quoted = substr($message, $pos1, 6) == '&quot;';
2530
-				if ($tag['quoted'] != 'optional' && !$quoted)
2531
-					continue;
2659
+				if ($tag['quoted'] != 'optional' && !$quoted) {
2660
+									continue;
2661
+				}
2532 2662
 
2533
-				if ($quoted)
2534
-					$pos1 += 6;
2663
+				if ($quoted) {
2664
+									$pos1 += 6;
2665
+				}
2666
+			} else {
2667
+							$quoted = false;
2535 2668
 			}
2536
-			else
2537
-				$quoted = false;
2538 2669
 
2539 2670
 			$pos2 = strpos($message, $quoted == false ? ']' : '&quot;]', $pos1);
2540
-			if ($pos2 === false)
2541
-				continue;
2671
+			if ($pos2 === false) {
2672
+							continue;
2673
+			}
2542 2674
 
2543 2675
 			$pos3 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos2);
2544
-			if ($pos3 === false)
2545
-				continue;
2676
+			if ($pos3 === false) {
2677
+							continue;
2678
+			}
2546 2679
 
2547 2680
 			$data = array(
2548 2681
 				substr($message, $pos2 + ($quoted == false ? 1 : 7), $pos3 - ($pos2 + ($quoted == false ? 1 : 7))),
2549 2682
 				substr($message, $pos1, $pos2 - $pos1)
2550 2683
 			);
2551 2684
 
2552
-			if (!empty($tag['block_level']) && substr($data[0], 0, 4) == '<br>')
2553
-				$data[0] = substr($data[0], 4);
2685
+			if (!empty($tag['block_level']) && substr($data[0], 0, 4) == '<br>') {
2686
+							$data[0] = substr($data[0], 4);
2687
+			}
2554 2688
 
2555 2689
 			// Validation for my parking, please!
2556
-			if (isset($tag['validate']))
2557
-				$tag['validate']($tag, $data, $disabled, $params);
2690
+			if (isset($tag['validate'])) {
2691
+							$tag['validate']($tag, $data, $disabled, $params);
2692
+			}
2558 2693
 
2559 2694
 			$code = strtr($tag['content'], array('$1' => $data[0], '$2' => $data[1]));
2560 2695
 			$message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos3 + 3 + $tag_strlen);
@@ -2571,23 +2706,27 @@  discard block
 block discarded – undo
2571 2706
 		elseif ($tag['type'] == 'unparsed_commas_content')
2572 2707
 		{
2573 2708
 			$pos2 = strpos($message, ']', $pos1);
2574
-			if ($pos2 === false)
2575
-				continue;
2709
+			if ($pos2 === false) {
2710
+							continue;
2711
+			}
2576 2712
 
2577 2713
 			$pos3 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos2);
2578
-			if ($pos3 === false)
2579
-				continue;
2714
+			if ($pos3 === false) {
2715
+							continue;
2716
+			}
2580 2717
 
2581 2718
 			// We want $1 to be the content, and the rest to be csv.
2582 2719
 			$data = explode(',', ',' . substr($message, $pos1, $pos2 - $pos1));
2583 2720
 			$data[0] = substr($message, $pos2 + 1, $pos3 - $pos2 - 1);
2584 2721
 
2585
-			if (isset($tag['validate']))
2586
-				$tag['validate']($tag, $data, $disabled, $params);
2722
+			if (isset($tag['validate'])) {
2723
+							$tag['validate']($tag, $data, $disabled, $params);
2724
+			}
2587 2725
 
2588 2726
 			$code = $tag['content'];
2589
-			foreach ($data as $k => $d)
2590
-				$code = strtr($code, array('$' . ($k + 1) => trim($d)));
2727
+			foreach ($data as $k => $d) {
2728
+							$code = strtr($code, array('$' . ($k + 1) => trim($d)));
2729
+			}
2591 2730
 			$message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos3 + 3 + $tag_strlen);
2592 2731
 			$pos += strlen($code) - 1 + 2;
2593 2732
 		}
@@ -2595,24 +2734,28 @@  discard block
 block discarded – undo
2595 2734
 		elseif ($tag['type'] == 'unparsed_commas')
2596 2735
 		{
2597 2736
 			$pos2 = strpos($message, ']', $pos1);
2598
-			if ($pos2 === false)
2599
-				continue;
2737
+			if ($pos2 === false) {
2738
+							continue;
2739
+			}
2600 2740
 
2601 2741
 			$data = explode(',', substr($message, $pos1, $pos2 - $pos1));
2602 2742
 
2603
-			if (isset($tag['validate']))
2604
-				$tag['validate']($tag, $data, $disabled, $params);
2743
+			if (isset($tag['validate'])) {
2744
+							$tag['validate']($tag, $data, $disabled, $params);
2745
+			}
2605 2746
 
2606 2747
 			// Fix after, for disabled code mainly.
2607
-			foreach ($data as $k => $d)
2608
-				$tag['after'] = strtr($tag['after'], array('$' . ($k + 1) => trim($d)));
2748
+			foreach ($data as $k => $d) {
2749
+							$tag['after'] = strtr($tag['after'], array('$' . ($k + 1) => trim($d)));
2750
+			}
2609 2751
 
2610 2752
 			$open_tags[] = $tag;
2611 2753
 
2612 2754
 			// Replace them out, $1, $2, $3, $4, etc.
2613 2755
 			$code = $tag['before'];
2614
-			foreach ($data as $k => $d)
2615
-				$code = strtr($code, array('$' . ($k + 1) => trim($d)));
2756
+			foreach ($data as $k => $d) {
2757
+							$code = strtr($code, array('$' . ($k + 1) => trim($d)));
2758
+			}
2616 2759
 			$message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos2 + 1);
2617 2760
 			$pos += strlen($code) - 1 + 2;
2618 2761
 		}
@@ -2623,28 +2766,33 @@  discard block
 block discarded – undo
2623 2766
 			if (isset($tag['quoted']))
2624 2767
 			{
2625 2768
 				$quoted = substr($message, $pos1, 6) == '&quot;';
2626
-				if ($tag['quoted'] != 'optional' && !$quoted)
2627
-					continue;
2769
+				if ($tag['quoted'] != 'optional' && !$quoted) {
2770
+									continue;
2771
+				}
2628 2772
 
2629
-				if ($quoted)
2630
-					$pos1 += 6;
2773
+				if ($quoted) {
2774
+									$pos1 += 6;
2775
+				}
2776
+			} else {
2777
+							$quoted = false;
2631 2778
 			}
2632
-			else
2633
-				$quoted = false;
2634 2779
 
2635 2780
 			$pos2 = strpos($message, $quoted == false ? ']' : '&quot;]', $pos1);
2636
-			if ($pos2 === false)
2637
-				continue;
2781
+			if ($pos2 === false) {
2782
+							continue;
2783
+			}
2638 2784
 
2639 2785
 			$data = substr($message, $pos1, $pos2 - $pos1);
2640 2786
 
2641 2787
 			// Validation for my parking, please!
2642
-			if (isset($tag['validate']))
2643
-				$tag['validate']($tag, $data, $disabled, $params);
2788
+			if (isset($tag['validate'])) {
2789
+							$tag['validate']($tag, $data, $disabled, $params);
2790
+			}
2644 2791
 
2645 2792
 			// For parsed content, we must recurse to avoid security problems.
2646
-			if ($tag['type'] != 'unparsed_equals')
2647
-				$data = parse_bbc($data, !empty($tag['parsed_tags_allowed']) ? false : true, '', !empty($tag['parsed_tags_allowed']) ? $tag['parsed_tags_allowed'] : array());
2793
+			if ($tag['type'] != 'unparsed_equals') {
2794
+							$data = parse_bbc($data, !empty($tag['parsed_tags_allowed']) ? false : true, '', !empty($tag['parsed_tags_allowed']) ? $tag['parsed_tags_allowed'] : array());
2795
+			}
2648 2796
 
2649 2797
 			$tag['after'] = strtr($tag['after'], array('$1' => $data));
2650 2798
 
@@ -2656,34 +2804,40 @@  discard block
 block discarded – undo
2656 2804
 		}
2657 2805
 
2658 2806
 		// If this is block level, eat any breaks after it.
2659
-		if (!empty($tag['block_level']) && substr($message, $pos + 1, 4) == '<br>')
2660
-			$message = substr($message, 0, $pos + 1) . substr($message, $pos + 5);
2807
+		if (!empty($tag['block_level']) && substr($message, $pos + 1, 4) == '<br>') {
2808
+					$message = substr($message, 0, $pos + 1) . substr($message, $pos + 5);
2809
+		}
2661 2810
 
2662 2811
 		// Are we trimming outside this tag?
2663
-		if (!empty($tag['trim']) && $tag['trim'] != 'outside' && preg_match('~(<br>|&nbsp;|\s)*~', substr($message, $pos + 1), $matches) != 0)
2664
-			$message = substr($message, 0, $pos + 1) . substr($message, $pos + 1 + strlen($matches[0]));
2812
+		if (!empty($tag['trim']) && $tag['trim'] != 'outside' && preg_match('~(<br>|&nbsp;|\s)*~', substr($message, $pos + 1), $matches) != 0) {
2813
+					$message = substr($message, 0, $pos + 1) . substr($message, $pos + 1 + strlen($matches[0]));
2814
+		}
2665 2815
 	}
2666 2816
 
2667 2817
 	// Close any remaining tags.
2668
-	while ($tag = array_pop($open_tags))
2669
-		$message .= "\n" . $tag['after'] . "\n";
2818
+	while ($tag = array_pop($open_tags)) {
2819
+			$message .= "\n" . $tag['after'] . "\n";
2820
+	}
2670 2821
 
2671 2822
 	// Parse the smileys within the parts where it can be done safely.
2672 2823
 	if ($smileys === true)
2673 2824
 	{
2674 2825
 		$message_parts = explode("\n", $message);
2675
-		for ($i = 0, $n = count($message_parts); $i < $n; $i += 2)
2676
-			parsesmileys($message_parts[$i]);
2826
+		for ($i = 0, $n = count($message_parts); $i < $n; $i += 2) {
2827
+					parsesmileys($message_parts[$i]);
2828
+		}
2677 2829
 
2678 2830
 		$message = implode('', $message_parts);
2679 2831
 	}
2680 2832
 
2681 2833
 	// No smileys, just get rid of the markers.
2682
-	else
2683
-		$message = strtr($message, array("\n" => ''));
2834
+	else {
2835
+			$message = strtr($message, array("\n" => ''));
2836
+	}
2684 2837
 
2685
-	if ($message !== '' && $message[0] === ' ')
2686
-		$message = '&nbsp;' . substr($message, 1);
2838
+	if ($message !== '' && $message[0] === ' ') {
2839
+			$message = '&nbsp;' . substr($message, 1);
2840
+	}
2687 2841
 
2688 2842
 	// Cleanup whitespace.
2689 2843
 	$message = strtr($message, array('  ' => ' &nbsp;', "\r" => '', "\n" => '<br>', '<br> ' => '<br>&nbsp;', '&#13;' => "\n"));
@@ -2692,15 +2846,16 @@  discard block
 block discarded – undo
2692 2846
 	call_integration_hook('integrate_post_parsebbc', array(&$message, &$smileys, &$cache_id, &$parse_tags));
2693 2847
 
2694 2848
 	// Cache the output if it took some time...
2695
-	if (isset($cache_key, $cache_t) && array_sum(explode(' ', microtime())) - array_sum(explode(' ', $cache_t)) > 0.05)
2696
-		cache_put_data($cache_key, $message, 240);
2849
+	if (isset($cache_key, $cache_t) && array_sum(explode(' ', microtime())) - array_sum(explode(' ', $cache_t)) > 0.05) {
2850
+			cache_put_data($cache_key, $message, 240);
2851
+	}
2697 2852
 
2698 2853
 	// If this was a force parse revert if needed.
2699 2854
 	if (!empty($parse_tags))
2700 2855
 	{
2701
-		if (empty($temp_bbc))
2702
-			$bbc_codes = array();
2703
-		else
2856
+		if (empty($temp_bbc)) {
2857
+					$bbc_codes = array();
2858
+		} else
2704 2859
 		{
2705 2860
 			$bbc_codes = $temp_bbc;
2706 2861
 			unset($temp_bbc);
@@ -2727,8 +2882,9 @@  discard block
 block discarded – undo
2727 2882
 	static $smileyPregSearch = null, $smileyPregReplacements = array();
2728 2883
 
2729 2884
 	// No smiley set at all?!
2730
-	if ($user_info['smiley_set'] == 'none' || trim($message) == '')
2731
-		return;
2885
+	if ($user_info['smiley_set'] == 'none' || trim($message) == '') {
2886
+			return;
2887
+	}
2732 2888
 
2733 2889
 	// If smileyPregSearch hasn't been set, do it now.
2734 2890
 	if (empty($smileyPregSearch))
@@ -2739,8 +2895,7 @@  discard block
 block discarded – undo
2739 2895
 			$smileysfrom = array('>:D', ':D', '::)', '>:(', ':))', ':)', ';)', ';D', ':(', ':o', '8)', ':P', '???', ':-[', ':-X', ':-*', ':\'(', ':-\\', '^-^', 'O0', 'C:-)', '0:)');
2740 2896
 			$smileysto = array('evil.gif', 'cheesy.gif', 'rolleyes.gif', 'angry.gif', 'laugh.gif', 'smiley.gif', 'wink.gif', 'grin.gif', 'sad.gif', 'shocked.gif', 'cool.gif', 'tongue.gif', 'huh.gif', 'embarrassed.gif', 'lipsrsealed.gif', 'kiss.gif', 'cry.gif', 'undecided.gif', 'azn.gif', 'afro.gif', 'police.gif', 'angel.gif');
2741 2897
 			$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'], '', '', '', '');
2742
-		}
2743
-		else
2898
+		} else
2744 2899
 		{
2745 2900
 			// Load the smileys in reverse order by length so they don't get parsed wrong.
2746 2901
 			if (($temp = cache_get_data('parsing_smileys', 480)) == null)
@@ -2764,9 +2919,9 @@  discard block
 block discarded – undo
2764 2919
 				$smcFunc['db_free_result']($result);
2765 2920
 
2766 2921
 				cache_put_data('parsing_smileys', array($smileysfrom, $smileysto, $smileysdescs), 480);
2922
+			} else {
2923
+							list ($smileysfrom, $smileysto, $smileysdescs) = $temp;
2767 2924
 			}
2768
-			else
2769
-				list ($smileysfrom, $smileysto, $smileysdescs) = $temp;
2770 2925
 		}
2771 2926
 
2772 2927
 		// The non-breaking-space is a complex thing...
@@ -2843,35 +2998,41 @@  discard block
 block discarded – undo
2843 2998
 	global $scripturl, $context, $modSettings, $db_show_debug, $db_cache;
2844 2999
 
2845 3000
 	// In case we have mail to send, better do that - as obExit doesn't always quite make it...
2846
-	if (!empty($context['flush_mail']))
2847
-		// @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\
3001
+	if (!empty($context['flush_mail'])) {
3002
+			// @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\
2848 3003
 		AddMailQueue(true);
3004
+	}
2849 3005
 
2850 3006
 	$add = preg_match('~^(ftp|http)[s]?://~', $setLocation) == 0 && substr($setLocation, 0, 6) != 'about:';
2851 3007
 
2852
-	if ($add)
2853
-		$setLocation = $scripturl . ($setLocation != '' ? '?' . $setLocation : '');
3008
+	if ($add) {
3009
+			$setLocation = $scripturl . ($setLocation != '' ? '?' . $setLocation : '');
3010
+	}
2854 3011
 
2855 3012
 	// Put the session ID in.
2856
-	if (defined('SID') && SID != '')
2857
-		$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '(?!\?' . preg_quote(SID, '/') . ')\\??/', $scripturl . '?' . SID . ';', $setLocation);
3013
+	if (defined('SID') && SID != '') {
3014
+			$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '(?!\?' . preg_quote(SID, '/') . ')\\??/', $scripturl . '?' . SID . ';', $setLocation);
3015
+	}
2858 3016
 	// Keep that debug in their for template debugging!
2859
-	elseif (isset($_GET['debug']))
2860
-		$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '\\??/', $scripturl . '?debug;', $setLocation);
3017
+	elseif (isset($_GET['debug'])) {
3018
+			$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '\\??/', $scripturl . '?debug;', $setLocation);
3019
+	}
2861 3020
 
2862 3021
 	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'])))
2863 3022
 	{
2864
-		if (defined('SID') && SID != '')
2865
-			$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?(?:' . SID . '(?:;|&|&amp;))((?:board|topic)=[^#]+?)(#[^"]*?)?$~',
3023
+		if (defined('SID') && SID != '') {
3024
+					$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?(?:' . SID . '(?:;|&|&amp;))((?:board|topic)=[^#]+?)(#[^"]*?)?$~',
2866 3025
 				function ($m) use ($scripturl)
2867 3026
 				{
2868 3027
 					return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html?' . SID. (isset($m[2]) ? "$m[2]" : "");
3028
+		}
2869 3029
 				}, $setLocation);
2870
-		else
2871
-			$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?$~',
3030
+		else {
3031
+					$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?$~',
2872 3032
 				function ($m) use ($scripturl)
2873 3033
 				{
2874 3034
 					return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html' . (isset($m[2]) ? "$m[2]" : "");
3035
+		}
2875 3036
 				}, $setLocation);
2876 3037
 	}
2877 3038
 
@@ -2882,8 +3043,9 @@  discard block
 block discarded – undo
2882 3043
 	header('Location: ' . str_replace(' ', '%20', $setLocation), true, $permanent ? 301 : 302);
2883 3044
 
2884 3045
 	// Debugging.
2885
-	if (isset($db_show_debug) && $db_show_debug === true)
2886
-		$_SESSION['debug_redirect'] = $db_cache;
3046
+	if (isset($db_show_debug) && $db_show_debug === true) {
3047
+			$_SESSION['debug_redirect'] = $db_cache;
3048
+	}
2887 3049
 
2888 3050
 	obExit(false);
2889 3051
 }
@@ -2902,51 +3064,60 @@  discard block
 block discarded – undo
2902 3064
 
2903 3065
 	// Attempt to prevent a recursive loop.
2904 3066
 	++$level;
2905
-	if ($level > 1 && !$from_fatal_error && !$has_fatal_error)
2906
-		exit;
2907
-	if ($from_fatal_error)
2908
-		$has_fatal_error = true;
3067
+	if ($level > 1 && !$from_fatal_error && !$has_fatal_error) {
3068
+			exit;
3069
+	}
3070
+	if ($from_fatal_error) {
3071
+			$has_fatal_error = true;
3072
+	}
2909 3073
 
2910 3074
 	// Clear out the stat cache.
2911 3075
 	trackStats();
2912 3076
 
2913 3077
 	// If we have mail to send, send it.
2914
-	if (!empty($context['flush_mail']))
2915
-		// @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\
3078
+	if (!empty($context['flush_mail'])) {
3079
+			// @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\
2916 3080
 		AddMailQueue(true);
3081
+	}
2917 3082
 
2918 3083
 	$do_header = $header === null ? !$header_done : $header;
2919
-	if ($do_footer === null)
2920
-		$do_footer = $do_header;
3084
+	if ($do_footer === null) {
3085
+			$do_footer = $do_header;
3086
+	}
2921 3087
 
2922 3088
 	// Has the template/header been done yet?
2923 3089
 	if ($do_header)
2924 3090
 	{
2925 3091
 		// Was the page title set last minute? Also update the HTML safe one.
2926
-		if (!empty($context['page_title']) && empty($context['page_title_html_safe']))
2927
-			$context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : '');
3092
+		if (!empty($context['page_title']) && empty($context['page_title_html_safe'])) {
3093
+					$context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : '');
3094
+		}
2928 3095
 
2929 3096
 		// Start up the session URL fixer.
2930 3097
 		ob_start('ob_sessrewrite');
2931 3098
 
2932
-		if (!empty($settings['output_buffers']) && is_string($settings['output_buffers']))
2933
-			$buffers = explode(',', $settings['output_buffers']);
2934
-		elseif (!empty($settings['output_buffers']))
2935
-			$buffers = $settings['output_buffers'];
2936
-		else
2937
-			$buffers = array();
3099
+		if (!empty($settings['output_buffers']) && is_string($settings['output_buffers'])) {
3100
+					$buffers = explode(',', $settings['output_buffers']);
3101
+		} elseif (!empty($settings['output_buffers'])) {
3102
+					$buffers = $settings['output_buffers'];
3103
+		} else {
3104
+					$buffers = array();
3105
+		}
2938 3106
 
2939
-		if (isset($modSettings['integrate_buffer']))
2940
-			$buffers = array_merge(explode(',', $modSettings['integrate_buffer']), $buffers);
3107
+		if (isset($modSettings['integrate_buffer'])) {
3108
+					$buffers = array_merge(explode(',', $modSettings['integrate_buffer']), $buffers);
3109
+		}
2941 3110
 
2942
-		if (!empty($buffers))
2943
-			foreach ($buffers as $function)
3111
+		if (!empty($buffers)) {
3112
+					foreach ($buffers as $function)
2944 3113
 			{
2945 3114
 				$call = call_helper($function, true);
3115
+		}
2946 3116
 
2947 3117
 				// Is it valid?
2948
-				if (!empty($call))
2949
-					ob_start($call);
3118
+				if (!empty($call)) {
3119
+									ob_start($call);
3120
+				}
2950 3121
 			}
2951 3122
 
2952 3123
 		// Display the screen in the logical order.
@@ -2958,8 +3129,9 @@  discard block
 block discarded – undo
2958 3129
 		loadSubTemplate(isset($context['sub_template']) ? $context['sub_template'] : 'main');
2959 3130
 
2960 3131
 		// Anything special to put out?
2961
-		if (!empty($context['insert_after_template']) && !isset($_REQUEST['xml']))
2962
-			echo $context['insert_after_template'];
3132
+		if (!empty($context['insert_after_template']) && !isset($_REQUEST['xml'])) {
3133
+					echo $context['insert_after_template'];
3134
+		}
2963 3135
 
2964 3136
 		// Just so we don't get caught in an endless loop of errors from the footer...
2965 3137
 		if (!$footer_done)
@@ -2968,14 +3140,16 @@  discard block
 block discarded – undo
2968 3140
 			template_footer();
2969 3141
 
2970 3142
 			// (since this is just debugging... it's okay that it's after </html>.)
2971
-			if (!isset($_REQUEST['xml']))
2972
-				displayDebug();
3143
+			if (!isset($_REQUEST['xml'])) {
3144
+							displayDebug();
3145
+			}
2973 3146
 		}
2974 3147
 	}
2975 3148
 
2976 3149
 	// Remember this URL in case someone doesn't like sending HTTP_REFERER.
2977
-	if (strpos($_SERVER['REQUEST_URL'], 'action=dlattach') === false && strpos($_SERVER['REQUEST_URL'], 'action=viewsmfile') === false)
2978
-		$_SESSION['old_url'] = $_SERVER['REQUEST_URL'];
3150
+	if (strpos($_SERVER['REQUEST_URL'], 'action=dlattach') === false && strpos($_SERVER['REQUEST_URL'], 'action=viewsmfile') === false) {
3151
+			$_SESSION['old_url'] = $_SERVER['REQUEST_URL'];
3152
+	}
2979 3153
 
2980 3154
 	// For session check verification.... don't switch browsers...
2981 3155
 	$_SESSION['USER_AGENT'] = empty($_SERVER['HTTP_USER_AGENT']) ? '' : $_SERVER['HTTP_USER_AGENT'];
@@ -2984,9 +3158,10 @@  discard block
 block discarded – undo
2984 3158
 	call_integration_hook('integrate_exit', array($do_footer));
2985 3159
 
2986 3160
 	// Don't exit if we're coming from index.php; that will pass through normally.
2987
-	if (!$from_index)
2988
-		exit;
2989
-}
3161
+	if (!$from_index) {
3162
+			exit;
3163
+	}
3164
+	}
2990 3165
 
2991 3166
 /**
2992 3167
  * Get the size of a specified image with better error handling.
@@ -3005,8 +3180,9 @@  discard block
 block discarded – undo
3005 3180
 	$url = str_replace(' ', '%20', $url);
3006 3181
 
3007 3182
 	// Can we pull this from the cache... please please?
3008
-	if (($temp = cache_get_data('url_image_size-' . md5($url), 240)) !== null)
3009
-		return $temp;
3183
+	if (($temp = cache_get_data('url_image_size-' . md5($url), 240)) !== null) {
3184
+			return $temp;
3185
+	}
3010 3186
 	$t = microtime();
3011 3187
 
3012 3188
 	// Get the host to pester...
@@ -3016,12 +3192,10 @@  discard block
 block discarded – undo
3016 3192
 	if ($url == '' || $url == 'http://' || $url == 'https://')
3017 3193
 	{
3018 3194
 		return false;
3019
-	}
3020
-	elseif (!isset($match[1]))
3195
+	} elseif (!isset($match[1]))
3021 3196
 	{
3022 3197
 		$size = @getimagesize($url);
3023
-	}
3024
-	else
3198
+	} else
3025 3199
 	{
3026 3200
 		// Try to connect to the server... give it half a second.
3027 3201
 		$temp = 0;
@@ -3060,12 +3234,14 @@  discard block
 block discarded – undo
3060 3234
 	}
3061 3235
 
3062 3236
 	// If we didn't get it, we failed.
3063
-	if (!isset($size))
3064
-		$size = false;
3237
+	if (!isset($size)) {
3238
+			$size = false;
3239
+	}
3065 3240
 
3066 3241
 	// If this took a long time, we may never have to do it again, but then again we might...
3067
-	if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.8)
3068
-		cache_put_data('url_image_size-' . md5($url), $size, 240);
3242
+	if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.8) {
3243
+			cache_put_data('url_image_size-' . md5($url), $size, 240);
3244
+	}
3069 3245
 
3070 3246
 	// Didn't work.
3071 3247
 	return $size;
@@ -3083,8 +3259,9 @@  discard block
 block discarded – undo
3083 3259
 
3084 3260
 	// Under SSI this function can be called more then once.  That can cause some problems.
3085 3261
 	//   So only run the function once unless we are forced to run it again.
3086
-	if ($loaded && !$forceload)
3087
-		return;
3262
+	if ($loaded && !$forceload) {
3263
+			return;
3264
+	}
3088 3265
 
3089 3266
 	$loaded = true;
3090 3267
 
@@ -3096,14 +3273,16 @@  discard block
 block discarded – undo
3096 3273
 	$context['news_lines'] = array_filter(explode("\n", str_replace("\r", '', trim(addslashes($modSettings['news'])))));
3097 3274
 	for ($i = 0, $n = count($context['news_lines']); $i < $n; $i++)
3098 3275
 	{
3099
-		if (trim($context['news_lines'][$i]) == '')
3100
-			continue;
3276
+		if (trim($context['news_lines'][$i]) == '') {
3277
+					continue;
3278
+		}
3101 3279
 
3102 3280
 		// Clean it up for presentation ;).
3103 3281
 		$context['news_lines'][$i] = parse_bbc(stripslashes(trim($context['news_lines'][$i])), true, 'news' . $i);
3104 3282
 	}
3105
-	if (!empty($context['news_lines']))
3106
-		$context['random_news_line'] = $context['news_lines'][mt_rand(0, count($context['news_lines']) - 1)];
3283
+	if (!empty($context['news_lines'])) {
3284
+			$context['random_news_line'] = $context['news_lines'][mt_rand(0, count($context['news_lines']) - 1)];
3285
+	}
3107 3286
 
3108 3287
 	if (!$user_info['is_guest'])
3109 3288
 	{
@@ -3112,40 +3291,48 @@  discard block
 block discarded – undo
3112 3291
 		$context['user']['alerts'] = &$user_info['alerts'];
3113 3292
 
3114 3293
 		// Personal message popup...
3115
-		if ($user_info['unread_messages'] > (isset($_SESSION['unread_messages']) ? $_SESSION['unread_messages'] : 0))
3116
-			$context['user']['popup_messages'] = true;
3117
-		else
3118
-			$context['user']['popup_messages'] = false;
3294
+		if ($user_info['unread_messages'] > (isset($_SESSION['unread_messages']) ? $_SESSION['unread_messages'] : 0)) {
3295
+					$context['user']['popup_messages'] = true;
3296
+		} else {
3297
+					$context['user']['popup_messages'] = false;
3298
+		}
3119 3299
 		$_SESSION['unread_messages'] = $user_info['unread_messages'];
3120 3300
 
3121
-		if (allowedTo('moderate_forum'))
3122
-			$context['unapproved_members'] = (!empty($modSettings['registration_method']) && ($modSettings['registration_method'] == 2 || (!empty($modSettings['coppaType']) && $modSettings['coppaType'] == 2))) || !empty($modSettings['approveAccountDeletion']) ? $modSettings['unapprovedMembers'] : 0;
3301
+		if (allowedTo('moderate_forum')) {
3302
+					$context['unapproved_members'] = (!empty($modSettings['registration_method']) && ($modSettings['registration_method'] == 2 || (!empty($modSettings['coppaType']) && $modSettings['coppaType'] == 2))) || !empty($modSettings['approveAccountDeletion']) ? $modSettings['unapprovedMembers'] : 0;
3303
+		}
3123 3304
 
3124 3305
 		$context['user']['avatar'] = array();
3125 3306
 
3126 3307
 		// Check for gravatar first since we might be forcing them...
3127 3308
 		if (($modSettings['gravatarEnabled'] && substr($user_info['avatar']['url'], 0, 11) == 'gravatar://') || !empty($modSettings['gravatarOverride']))
3128 3309
 		{
3129
-			if (!empty($modSettings['gravatarAllowExtraEmail']) && stristr($user_info['avatar']['url'], 'gravatar://') && strlen($user_info['avatar']['url']) > 11)
3130
-				$context['user']['avatar']['href'] = get_gravatar_url($smcFunc['substr']($user_info['avatar']['url'], 11));
3131
-			else
3132
-				$context['user']['avatar']['href'] = get_gravatar_url($user_info['email']);
3310
+			if (!empty($modSettings['gravatarAllowExtraEmail']) && stristr($user_info['avatar']['url'], 'gravatar://') && strlen($user_info['avatar']['url']) > 11) {
3311
+							$context['user']['avatar']['href'] = get_gravatar_url($smcFunc['substr']($user_info['avatar']['url'], 11));
3312
+			} else {
3313
+							$context['user']['avatar']['href'] = get_gravatar_url($user_info['email']);
3314
+			}
3133 3315
 		}
3134 3316
 		// Uploaded?
3135
-		elseif ($user_info['avatar']['url'] == '' && !empty($user_info['avatar']['id_attach']))
3136
-			$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';
3317
+		elseif ($user_info['avatar']['url'] == '' && !empty($user_info['avatar']['id_attach'])) {
3318
+					$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';
3319
+		}
3137 3320
 		// Full URL?
3138
-		elseif (strpos($user_info['avatar']['url'], 'http://') === 0 || strpos($user_info['avatar']['url'], 'https://') === 0)
3139
-			$context['user']['avatar']['href'] = $user_info['avatar']['url'];
3321
+		elseif (strpos($user_info['avatar']['url'], 'http://') === 0 || strpos($user_info['avatar']['url'], 'https://') === 0) {
3322
+					$context['user']['avatar']['href'] = $user_info['avatar']['url'];
3323
+		}
3140 3324
 		// Otherwise we assume it's server stored.
3141
-		elseif ($user_info['avatar']['url'] != '')
3142
-			$context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/' . $smcFunc['htmlspecialchars']($user_info['avatar']['url']);
3325
+		elseif ($user_info['avatar']['url'] != '') {
3326
+					$context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/' . $smcFunc['htmlspecialchars']($user_info['avatar']['url']);
3327
+		}
3143 3328
 		// No avatar at all? Fine, we have a big fat default avatar ;)
3144
-		else
3145
-			$context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/default.png';
3329
+		else {
3330
+					$context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/default.png';
3331
+		}
3146 3332
 
3147
-		if (!empty($context['user']['avatar']))
3148
-			$context['user']['avatar']['image'] = '<img src="' . $context['user']['avatar']['href'] . '" alt="" class="avatar">';
3333
+		if (!empty($context['user']['avatar'])) {
3334
+					$context['user']['avatar']['image'] = '<img src="' . $context['user']['avatar']['href'] . '" alt="" class="avatar">';
3335
+		}
3149 3336
 
3150 3337
 		// Figure out how long they've been logged in.
3151 3338
 		$context['user']['total_time_logged_in'] = array(
@@ -3153,8 +3340,7 @@  discard block
 block discarded – undo
3153 3340
 			'hours' => floor(($user_info['total_time_logged_in'] % 86400) / 3600),
3154 3341
 			'minutes' => floor(($user_info['total_time_logged_in'] % 3600) / 60)
3155 3342
 		);
3156
-	}
3157
-	else
3343
+	} else
3158 3344
 	{
3159 3345
 		$context['user']['messages'] = 0;
3160 3346
 		$context['user']['unread_messages'] = 0;
@@ -3162,12 +3348,14 @@  discard block
 block discarded – undo
3162 3348
 		$context['user']['total_time_logged_in'] = array('days' => 0, 'hours' => 0, 'minutes' => 0);
3163 3349
 		$context['user']['popup_messages'] = false;
3164 3350
 
3165
-		if (!empty($modSettings['registration_method']) && $modSettings['registration_method'] == 1)
3166
-			$txt['welcome_guest'] .= $txt['welcome_guest_activate'];
3351
+		if (!empty($modSettings['registration_method']) && $modSettings['registration_method'] == 1) {
3352
+					$txt['welcome_guest'] .= $txt['welcome_guest_activate'];
3353
+		}
3167 3354
 
3168 3355
 		// If we've upgraded recently, go easy on the passwords.
3169
-		if (!empty($modSettings['disableHashTime']) && ($modSettings['disableHashTime'] == 1 || time() < $modSettings['disableHashTime']))
3170
-			$context['disable_login_hashing'] = true;
3356
+		if (!empty($modSettings['disableHashTime']) && ($modSettings['disableHashTime'] == 1 || time() < $modSettings['disableHashTime'])) {
3357
+					$context['disable_login_hashing'] = true;
3358
+		}
3171 3359
 	}
3172 3360
 
3173 3361
 	// Setup the main menu items.
@@ -3180,8 +3368,8 @@  discard block
 block discarded – undo
3180 3368
 	$context['show_pm_popup'] = $context['user']['popup_messages'] && !empty($options['popup_messages']) && (!isset($_REQUEST['action']) || $_REQUEST['action'] != 'pm');
3181 3369
 
3182 3370
 	// 2.1+: Add the PM popup here instead. Theme authors can still override it simply by editing/removing the 'fPmPopup' in the array.
3183
-	if ($context['show_pm_popup'])
3184
-		addInlineJavaScript('
3371
+	if ($context['show_pm_popup']) {
3372
+			addInlineJavaScript('
3185 3373
 		jQuery(document).ready(function($) {
3186 3374
 			new smc_Popup({
3187 3375
 				heading: ' . JavaScriptEscape($txt['show_personal_messages_heading']) . ',
@@ -3189,15 +3377,17 @@  discard block
 block discarded – undo
3189 3377
 				icon_class: \'generic_icons mail_new\'
3190 3378
 			});
3191 3379
 		});');
3380
+	}
3192 3381
 
3193 3382
 	// Add a generic "Are you sure?" confirmation message.
3194 3383
 	addInlineJavaScript('
3195 3384
 	var smf_you_sure =' . JavaScriptEscape($txt['quickmod_confirm']) .';');
3196 3385
 
3197 3386
 	// Now add the capping code for avatars.
3198
-	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')
3199
-		addInlineCss('
3387
+	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') {
3388
+			addInlineCss('
3200 3389
 img.avatar { max-width: ' . $modSettings['avatar_max_width_external'] . 'px; max-height: ' . $modSettings['avatar_max_height_external'] . 'px; }');
3390
+	}
3201 3391
 
3202 3392
 	// This looks weird, but it's because BoardIndex.php references the variable.
3203 3393
 	$context['common_stats']['latest_member'] = array(
@@ -3214,11 +3404,13 @@  discard block
 block discarded – undo
3214 3404
 	);
3215 3405
 	$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']);
3216 3406
 
3217
-	if (empty($settings['theme_version']))
3218
-		addJavaScriptVar('smf_scripturl', $scripturl);
3407
+	if (empty($settings['theme_version'])) {
3408
+			addJavaScriptVar('smf_scripturl', $scripturl);
3409
+	}
3219 3410
 
3220
-	if (!isset($context['page_title']))
3221
-		$context['page_title'] = '';
3411
+	if (!isset($context['page_title'])) {
3412
+			$context['page_title'] = '';
3413
+	}
3222 3414
 
3223 3415
 	// Set some specific vars.
3224 3416
 	$context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : '');
@@ -3228,21 +3420,23 @@  discard block
 block discarded – undo
3228 3420
 	$context['meta_tags'][] = array('property' => 'og:site_name', 'content' => $context['forum_name']);
3229 3421
 	$context['meta_tags'][] = array('property' => 'og:title', 'content' => $context['page_title_html_safe']);
3230 3422
 
3231
-	if (!empty($context['meta_keywords']))
3232
-		$context['meta_tags'][] = array('name' => 'keywords', 'content' => $context['meta_keywords']);
3423
+	if (!empty($context['meta_keywords'])) {
3424
+			$context['meta_tags'][] = array('name' => 'keywords', 'content' => $context['meta_keywords']);
3425
+	}
3233 3426
 
3234
-	if (!empty($context['canonical_url']))
3235
-		$context['meta_tags'][] = array('property' => 'og:url', 'content' => $context['canonical_url']);
3427
+	if (!empty($context['canonical_url'])) {
3428
+			$context['meta_tags'][] = array('property' => 'og:url', 'content' => $context['canonical_url']);
3429
+	}
3236 3430
 
3237
-	if (!empty($settings['og_image']))
3238
-		$context['meta_tags'][] = array('property' => 'og:image', 'content' => $settings['og_image']);
3431
+	if (!empty($settings['og_image'])) {
3432
+			$context['meta_tags'][] = array('property' => 'og:image', 'content' => $settings['og_image']);
3433
+	}
3239 3434
 
3240 3435
 	if (!empty($context['meta_description']))
3241 3436
 	{
3242 3437
 		$context['meta_tags'][] = array('property' => 'og:description', 'content' => $context['meta_description']);
3243 3438
 		$context['meta_tags'][] = array('name' => 'description', 'content' => $context['meta_description']);
3244
-	}
3245
-	else
3439
+	} else
3246 3440
 	{
3247 3441
 		$context['meta_tags'][] = array('property' => 'og:description', 'content' => $context['page_title_html_safe']);
3248 3442
 		$context['meta_tags'][] = array('name' => 'description', 'content' => $context['page_title_html_safe']);
@@ -3267,8 +3461,9 @@  discard block
 block discarded – undo
3267 3461
 	$memory_needed = memoryReturnBytes($needed);
3268 3462
 
3269 3463
 	// should we account for how much is currently being used?
3270
-	if ($in_use)
3271
-		$memory_needed += function_exists('memory_get_usage') ? memory_get_usage() : (2 * 1048576);
3464
+	if ($in_use) {
3465
+			$memory_needed += function_exists('memory_get_usage') ? memory_get_usage() : (2 * 1048576);
3466
+	}
3272 3467
 
3273 3468
 	// if more is needed, request it
3274 3469
 	if ($memory_current < $memory_needed)
@@ -3291,8 +3486,9 @@  discard block
 block discarded – undo
3291 3486
  */
3292 3487
 function memoryReturnBytes($val)
3293 3488
 {
3294
-	if (is_integer($val))
3295
-		return $val;
3489
+	if (is_integer($val)) {
3490
+			return $val;
3491
+	}
3296 3492
 
3297 3493
 	// Separate the number from the designator
3298 3494
 	$val = trim($val);
@@ -3328,10 +3524,11 @@  discard block
 block discarded – undo
3328 3524
 		header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
3329 3525
 
3330 3526
 		// Are we debugging the template/html content?
3331
-		if (!isset($_REQUEST['xml']) && isset($_GET['debug']) && !isBrowser('ie'))
3332
-			header('Content-Type: application/xhtml+xml');
3333
-		elseif (!isset($_REQUEST['xml']))
3334
-			header('Content-Type: text/html; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
3527
+		if (!isset($_REQUEST['xml']) && isset($_GET['debug']) && !isBrowser('ie')) {
3528
+					header('Content-Type: application/xhtml+xml');
3529
+		} elseif (!isset($_REQUEST['xml'])) {
3530
+					header('Content-Type: text/html; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
3531
+		}
3335 3532
 	}
3336 3533
 
3337 3534
 	header('Content-Type: text/' . (isset($_REQUEST['xml']) ? 'xml' : 'html') . '; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
@@ -3340,8 +3537,9 @@  discard block
 block discarded – undo
3340 3537
 	if ($context['in_maintenance'] && $context['user']['is_admin'])
3341 3538
 	{
3342 3539
 		$position = array_search('body', $context['template_layers']);
3343
-		if ($position === false)
3344
-			$position = array_search('main', $context['template_layers']);
3540
+		if ($position === false) {
3541
+					$position = array_search('main', $context['template_layers']);
3542
+		}
3345 3543
 
3346 3544
 		if ($position !== false)
3347 3545
 		{
@@ -3369,23 +3567,25 @@  discard block
 block discarded – undo
3369 3567
 
3370 3568
 			foreach ($securityFiles as $i => $securityFile)
3371 3569
 			{
3372
-				if (!file_exists($boarddir . '/' . $securityFile))
3373
-					unset($securityFiles[$i]);
3570
+				if (!file_exists($boarddir . '/' . $securityFile)) {
3571
+									unset($securityFiles[$i]);
3572
+				}
3374 3573
 			}
3375 3574
 
3376 3575
 			// We are already checking so many files...just few more doesn't make any difference! :P
3377
-			if (!empty($modSettings['currentAttachmentUploadDir']))
3378
-				$path = $modSettings['attachmentUploadDir'][$modSettings['currentAttachmentUploadDir']];
3379
-
3380
-			else
3381
-				$path = $modSettings['attachmentUploadDir'];
3576
+			if (!empty($modSettings['currentAttachmentUploadDir'])) {
3577
+							$path = $modSettings['attachmentUploadDir'][$modSettings['currentAttachmentUploadDir']];
3578
+			} else {
3579
+							$path = $modSettings['attachmentUploadDir'];
3580
+			}
3382 3581
 
3383 3582
 			secureDirectory($path, true);
3384 3583
 			secureDirectory($cachedir);
3385 3584
 
3386 3585
 			// If agreement is enabled, at least the english version shall exists
3387
-			if ($modSettings['requireAgreement'])
3388
-				$agreement = !file_exists($boarddir . '/agreement.txt');
3586
+			if ($modSettings['requireAgreement']) {
3587
+							$agreement = !file_exists($boarddir . '/agreement.txt');
3588
+			}
3389 3589
 
3390 3590
 			if (!empty($securityFiles) || (!empty($modSettings['cache_enable']) && !is_writable($cachedir)) || !empty($agreement))
3391 3591
 			{
@@ -3400,18 +3600,21 @@  discard block
 block discarded – undo
3400 3600
 					echo '
3401 3601
 				', $txt['not_removed'], '<strong>', $securityFile, '</strong>!<br>';
3402 3602
 
3403
-					if ($securityFile == 'Settings.php~' || $securityFile == 'Settings_bak.php~')
3404
-						echo '
3603
+					if ($securityFile == 'Settings.php~' || $securityFile == 'Settings_bak.php~') {
3604
+											echo '
3405 3605
 				', sprintf($txt['not_removed_extra'], $securityFile, substr($securityFile, 0, -1)), '<br>';
3606
+					}
3406 3607
 				}
3407 3608
 
3408
-				if (!empty($modSettings['cache_enable']) && !is_writable($cachedir))
3409
-					echo '
3609
+				if (!empty($modSettings['cache_enable']) && !is_writable($cachedir)) {
3610
+									echo '
3410 3611
 				<strong>', $txt['cache_writable'], '</strong><br>';
3612
+				}
3411 3613
 
3412
-				if (!empty($agreement))
3413
-					echo '
3614
+				if (!empty($agreement)) {
3615
+									echo '
3414 3616
 				<strong>', $txt['agreement_missing'], '</strong><br>';
3617
+				}
3415 3618
 
3416 3619
 				echo '
3417 3620
 			</p>
@@ -3426,16 +3629,18 @@  discard block
 block discarded – undo
3426 3629
 				<div class="windowbg alert" style="margin: 2ex; padding: 2ex; border: 2px dashed red;">
3427 3630
 					', sprintf($txt['you_are_post_banned'], $user_info['is_guest'] ? $txt['guest_title'] : $user_info['name']);
3428 3631
 
3429
-			if (!empty($_SESSION['ban']['cannot_post']['reason']))
3430
-				echo '
3632
+			if (!empty($_SESSION['ban']['cannot_post']['reason'])) {
3633
+							echo '
3431 3634
 					<div style="padding-left: 4ex; padding-top: 1ex;">', $_SESSION['ban']['cannot_post']['reason'], '</div>';
3635
+			}
3432 3636
 
3433
-			if (!empty($_SESSION['ban']['expire_time']))
3434
-				echo '
3637
+			if (!empty($_SESSION['ban']['expire_time'])) {
3638
+							echo '
3435 3639
 					<div>', sprintf($txt['your_ban_expires'], timeformat($_SESSION['ban']['expire_time'], false)), '</div>';
3436
-			else
3437
-				echo '
3640
+			} else {
3641
+							echo '
3438 3642
 					<div>', $txt['your_ban_expires_never'], '</div>';
3643
+			}
3439 3644
 
3440 3645
 			echo '
3441 3646
 				</div>';
@@ -3451,8 +3656,9 @@  discard block
 block discarded – undo
3451 3656
 	global $forum_copyright, $software_year, $forum_version;
3452 3657
 
3453 3658
 	// Don't display copyright for things like SSI.
3454
-	if (!isset($forum_version) || !isset($software_year))
3455
-		return;
3659
+	if (!isset($forum_version) || !isset($software_year)) {
3660
+			return;
3661
+	}
3456 3662
 
3457 3663
 	// Put in the version...
3458 3664
 	printf($forum_copyright, $forum_version, $software_year);
@@ -3470,9 +3676,10 @@  discard block
 block discarded – undo
3470 3676
 	$context['load_time'] = comma_format(round(array_sum(explode(' ', microtime())) - array_sum(explode(' ', $time_start)), 3));
3471 3677
 	$context['load_queries'] = $db_count;
3472 3678
 
3473
-	foreach (array_reverse($context['template_layers']) as $layer)
3474
-		loadSubTemplate($layer . '_below', true);
3475
-}
3679
+	foreach (array_reverse($context['template_layers']) as $layer) {
3680
+			loadSubTemplate($layer . '_below', true);
3681
+	}
3682
+	}
3476 3683
 
3477 3684
 /**
3478 3685
  * Output the Javascript files
@@ -3503,8 +3710,7 @@  discard block
 block discarded – undo
3503 3710
 			{
3504 3711
 				echo '
3505 3712
 		var ', $key, ';';
3506
-			}
3507
-			else
3713
+			} else
3508 3714
 			{
3509 3715
 				echo '
3510 3716
 		var ', $key, ' = ', $value, ';';
@@ -3519,26 +3725,27 @@  discard block
 block discarded – undo
3519 3725
 	foreach ($context['javascript_files'] as $id => $js_file)
3520 3726
 	{
3521 3727
 		// Last minute call! allow theme authors to disable single files.
3522
-		if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files']))
3523
-			continue;
3728
+		if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files'])) {
3729
+					continue;
3730
+		}
3524 3731
 
3525 3732
 		// By default all files don't get minimized unless the file explicitly says so!
3526 3733
 		if (!empty($js_file['options']['minimize']) && !empty($modSettings['minimize_files']))
3527 3734
 		{
3528
-			if ($do_deferred && !empty($js_file['options']['defer']))
3529
-				$toMinifyDefer[] = $js_file;
3530
-
3531
-			elseif (!$do_deferred && empty($js_file['options']['defer']))
3532
-				$toMinify[] = $js_file;
3735
+			if ($do_deferred && !empty($js_file['options']['defer'])) {
3736
+							$toMinifyDefer[] = $js_file;
3737
+			} elseif (!$do_deferred && empty($js_file['options']['defer'])) {
3738
+							$toMinify[] = $js_file;
3739
+			}
3533 3740
 
3534 3741
 			// Grab a random seed.
3535
-			if (!isset($minSeed))
3536
-				$minSeed = $js_file['options']['seed'];
3537
-		}
3538
-
3539
-		elseif ((!$do_deferred && empty($js_file['options']['defer'])) || ($do_deferred && !empty($js_file['options']['defer'])))
3540
-			echo '
3742
+			if (!isset($minSeed)) {
3743
+							$minSeed = $js_file['options']['seed'];
3744
+			}
3745
+		} elseif ((!$do_deferred && empty($js_file['options']['defer'])) || ($do_deferred && !empty($js_file['options']['defer']))) {
3746
+					echo '
3541 3747
 	<script src="', $js_file['fileUrl'], '"', !empty($js_file['options']['async']) ? ' async="async"' : '', '></script>';
3748
+		}
3542 3749
 	}
3543 3750
 
3544 3751
 	if ((!$do_deferred && !empty($toMinify)) || ($do_deferred && !empty($toMinifyDefer)))
@@ -3546,14 +3753,14 @@  discard block
 block discarded – undo
3546 3753
 		$result = custMinify(($do_deferred ? $toMinifyDefer : $toMinify), 'js', $do_deferred);
3547 3754
 
3548 3755
 		// Minify process couldn't work, print each individual files.
3549
-		if (!empty($result) && is_array($result))
3550
-			foreach ($result as $minFailedFile)
3756
+		if (!empty($result) && is_array($result)) {
3757
+					foreach ($result as $minFailedFile)
3551 3758
 				echo '
3552 3759
 	<script src="', $minFailedFile['fileUrl'], '"', !empty($minFailedFile['options']['async']) ? ' async="async"' : '', '></script>';
3553
-
3554
-		else
3555
-			echo '
3760
+		} else {
3761
+					echo '
3556 3762
 	<script src="', $settings['theme_url'] ,'/scripts/minified', ($do_deferred ? '_deferred' : '') ,'.js', $minSeed ,'"></script>';
3763
+		}
3557 3764
 	}
3558 3765
 
3559 3766
 	// Inline JavaScript - Actually useful some times!
@@ -3564,8 +3771,9 @@  discard block
 block discarded – undo
3564 3771
 			echo '
3565 3772
 <script>';
3566 3773
 
3567
-			foreach ($context['javascript_inline']['defer'] as $js_code)
3568
-				echo $js_code;
3774
+			foreach ($context['javascript_inline']['defer'] as $js_code) {
3775
+							echo $js_code;
3776
+			}
3569 3777
 
3570 3778
 			echo '
3571 3779
 </script>';
@@ -3576,8 +3784,9 @@  discard block
 block discarded – undo
3576 3784
 			echo '
3577 3785
 	<script>';
3578 3786
 
3579
-			foreach ($context['javascript_inline']['standard'] as $js_code)
3580
-				echo $js_code;
3787
+			foreach ($context['javascript_inline']['standard'] as $js_code) {
3788
+							echo $js_code;
3789
+			}
3581 3790
 
3582 3791
 			echo '
3583 3792
 	</script>';
@@ -3602,8 +3811,9 @@  discard block
 block discarded – undo
3602 3811
 	foreach ($context['css_files'] as $id => $file)
3603 3812
 	{
3604 3813
 		// Last minute call! allow theme authors to disable single files.
3605
-		if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files']))
3606
-			continue;
3814
+		if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files'])) {
3815
+					continue;
3816
+		}
3607 3817
 
3608 3818
 		// By default all files don't get minimized unless the file explicitly says so!
3609 3819
 		if (!empty($file['options']['minimize']) && !empty($modSettings['minimize_files']))
@@ -3611,12 +3821,12 @@  discard block
 block discarded – undo
3611 3821
 			$toMinify[] = $file;
3612 3822
 
3613 3823
 			// Grab a random seed.
3614
-			if (!isset($minSeed))
3615
-				$minSeed = $file['options']['seed'];
3824
+			if (!isset($minSeed)) {
3825
+							$minSeed = $file['options']['seed'];
3826
+			}
3827
+		} else {
3828
+					$normal[] = $file['fileUrl'];
3616 3829
 		}
3617
-
3618
-		else
3619
-			$normal[] = $file['fileUrl'];
3620 3830
 	}
3621 3831
 
3622 3832
 	if (!empty($toMinify))
@@ -3624,28 +3834,30 @@  discard block
 block discarded – undo
3624 3834
 		$result = custMinify($toMinify, 'css');
3625 3835
 
3626 3836
 		// Minify process couldn't work, print each individual files.
3627
-		if (!empty($result) && is_array($result))
3628
-			foreach ($result as $minFailedFile)
3837
+		if (!empty($result) && is_array($result)) {
3838
+					foreach ($result as $minFailedFile)
3629 3839
 				echo '
3630 3840
 	<link rel="stylesheet" href="', $minFailedFile['fileUrl'], '">';
3631
-
3632
-		else
3633
-			echo '
3841
+		} else {
3842
+					echo '
3634 3843
 	<link rel="stylesheet" href="', $settings['theme_url'] ,'/css/minified.css', $minSeed ,'">';
3844
+		}
3635 3845
 	}
3636 3846
 
3637 3847
 	// Print the rest after the minified files.
3638
-	if (!empty($normal))
3639
-		foreach ($normal as $nf)
3848
+	if (!empty($normal)) {
3849
+			foreach ($normal as $nf)
3640 3850
 			echo '
3641 3851
 	<link rel="stylesheet" href="', $nf ,'">';
3852
+	}
3642 3853
 
3643 3854
 	if ($db_show_debug === true)
3644 3855
 	{
3645 3856
 		// Try to keep only what's useful.
3646 3857
 		$repl = array($boardurl . '/Themes/' => '', $boardurl . '/' => '');
3647
-		foreach ($context['css_files'] as $file)
3648
-			$context['debug']['sheets'][] = strtr($file['fileName'], $repl);
3858
+		foreach ($context['css_files'] as $file) {
3859
+					$context['debug']['sheets'][] = strtr($file['fileName'], $repl);
3860
+		}
3649 3861
 	}
3650 3862
 
3651 3863
 	if (!empty($context['css_header']))
@@ -3653,9 +3865,10 @@  discard block
 block discarded – undo
3653 3865
 		echo '
3654 3866
 	<style>';
3655 3867
 
3656
-		foreach ($context['css_header'] as $css)
3657
-			echo $css .'
3868
+		foreach ($context['css_header'] as $css) {
3869
+					echo $css .'
3658 3870
 	';
3871
+		}
3659 3872
 
3660 3873
 		echo'
3661 3874
 	</style>';
@@ -3679,15 +3892,17 @@  discard block
 block discarded – undo
3679 3892
 	$type = !empty($type) && in_array($type, $types) ? $type : false;
3680 3893
 	$data = !empty($data) ? $data : false;
3681 3894
 
3682
-	if (empty($type) || empty($data))
3683
-		return false;
3895
+	if (empty($type) || empty($data)) {
3896
+			return false;
3897
+	}
3684 3898
 
3685 3899
 	// Did we already did this?
3686 3900
 	$toCache = cache_get_data('minimized_'. $settings['theme_id'] .'_'. $type, 86400);
3687 3901
 
3688 3902
 	// Already done?
3689
-	if (!empty($toCache))
3690
-		return true;
3903
+	if (!empty($toCache)) {
3904
+			return true;
3905
+	}
3691 3906
 
3692 3907
 	// No namespaces, sorry!
3693 3908
 	$classType = 'MatthiasMullie\\Minify\\'. strtoupper($type);
@@ -3769,8 +3984,9 @@  discard block
 block discarded – undo
3769 3984
 	global $modSettings, $smcFunc;
3770 3985
 
3771 3986
 	// Just make up a nice hash...
3772
-	if ($new)
3773
-		return sha1(md5($filename . time()) . mt_rand());
3987
+	if ($new) {
3988
+			return sha1(md5($filename . time()) . mt_rand());
3989
+	}
3774 3990
 
3775 3991
 	// Just make sure that attachment id is only a int
3776 3992
 	$attachment_id = (int) $attachment_id;
@@ -3787,23 +4003,25 @@  discard block
 block discarded – undo
3787 4003
 				'id_attach' => $attachment_id,
3788 4004
 			));
3789 4005
 
3790
-		if ($smcFunc['db_num_rows']($request) === 0)
3791
-			return false;
4006
+		if ($smcFunc['db_num_rows']($request) === 0) {
4007
+					return false;
4008
+		}
3792 4009
 
3793 4010
 		list ($file_hash) = $smcFunc['db_fetch_row']($request);
3794 4011
 		$smcFunc['db_free_result']($request);
3795 4012
 	}
3796 4013
 
3797 4014
 	// Still no hash? mmm...
3798
-	if (empty($file_hash))
3799
-		$file_hash = sha1(md5($filename . time()) . mt_rand());
4015
+	if (empty($file_hash)) {
4016
+			$file_hash = sha1(md5($filename . time()) . mt_rand());
4017
+	}
3800 4018
 
3801 4019
 	// Are we using multiple directories?
3802
-	if (is_array($modSettings['attachmentUploadDir']))
3803
-		$path = $modSettings['attachmentUploadDir'][$dir];
3804
-
3805
-	else
3806
-		$path = $modSettings['attachmentUploadDir'];
4020
+	if (is_array($modSettings['attachmentUploadDir'])) {
4021
+			$path = $modSettings['attachmentUploadDir'][$dir];
4022
+	} else {
4023
+			$path = $modSettings['attachmentUploadDir'];
4024
+	}
3807 4025
 
3808 4026
 	return $path . '/' . $attachment_id . '_' . $file_hash .'.dat';
3809 4027
 }
@@ -3818,8 +4036,9 @@  discard block
 block discarded – undo
3818 4036
 function ip2range($fullip)
3819 4037
 {
3820 4038
 	// Pretend that 'unknown' is 255.255.255.255. (since that can't be an IP anyway.)
3821
-	if ($fullip == 'unknown')
3822
-		$fullip = '255.255.255.255';
4039
+	if ($fullip == 'unknown') {
4040
+			$fullip = '255.255.255.255';
4041
+	}
3823 4042
 
3824 4043
 	$ip_parts = explode('-', $fullip);
3825 4044
 	$ip_array = array();
@@ -3843,10 +4062,11 @@  discard block
 block discarded – undo
3843 4062
 		$ip_array['low'] = $ip_parts[0];
3844 4063
 		$ip_array['high'] = $ip_parts[1];
3845 4064
 		return $ip_array;
3846
-	}
3847
-	elseif (count($ip_parts) == 2) // if ip 22.22.*-22.22.*
4065
+	} elseif (count($ip_parts) == 2) {
4066
+		// if ip 22.22.*-22.22.*
3848 4067
 	{
3849 4068
 		$valid_low = isValidIP($ip_parts[0]);
4069
+	}
3850 4070
 		$valid_high = isValidIP($ip_parts[1]);
3851 4071
 		$count = 0;
3852 4072
 		$mode = (preg_match('/:/',$ip_parts[0]) > 0 ? ':' : '.');
@@ -3861,7 +4081,9 @@  discard block
 block discarded – undo
3861 4081
 				$ip_parts[0] .= $mode . $min;
3862 4082
 				$valid_low = isValidIP($ip_parts[0]);
3863 4083
 				$count++;
3864
-				if ($count > 9) break;
4084
+				if ($count > 9) {
4085
+					break;
4086
+				}
3865 4087
 			}
3866 4088
 		}
3867 4089
 
@@ -3875,7 +4097,9 @@  discard block
 block discarded – undo
3875 4097
 				$ip_parts[1] .= $mode . $max;
3876 4098
 				$valid_high = isValidIP($ip_parts[1]);
3877 4099
 				$count++;
3878
-				if ($count > 9) break;
4100
+				if ($count > 9) {
4101
+					break;
4102
+				}
3879 4103
 			}
3880 4104
 		}
3881 4105
 
@@ -3900,46 +4124,54 @@  discard block
 block discarded – undo
3900 4124
 {
3901 4125
 	global $modSettings;
3902 4126
 
3903
-	if (($host = cache_get_data('hostlookup-' . $ip, 600)) !== null)
3904
-		return $host;
4127
+	if (($host = cache_get_data('hostlookup-' . $ip, 600)) !== null) {
4128
+			return $host;
4129
+	}
3905 4130
 	$t = microtime();
3906 4131
 
3907 4132
 	// Try the Linux host command, perhaps?
3908 4133
 	if (!isset($host) && (strpos(strtolower(PHP_OS), 'win') === false || strpos(strtolower(PHP_OS), 'darwin') !== false) && mt_rand(0, 1) == 1)
3909 4134
 	{
3910
-		if (!isset($modSettings['host_to_dis']))
3911
-			$test = @shell_exec('host -W 1 ' . @escapeshellarg($ip));
3912
-		else
3913
-			$test = @shell_exec('host ' . @escapeshellarg($ip));
4135
+		if (!isset($modSettings['host_to_dis'])) {
4136
+					$test = @shell_exec('host -W 1 ' . @escapeshellarg($ip));
4137
+		} else {
4138
+					$test = @shell_exec('host ' . @escapeshellarg($ip));
4139
+		}
3914 4140
 
3915 4141
 		// Did host say it didn't find anything?
3916
-		if (strpos($test, 'not found') !== false)
3917
-			$host = '';
4142
+		if (strpos($test, 'not found') !== false) {
4143
+					$host = '';
4144
+		}
3918 4145
 		// Invalid server option?
3919
-		elseif ((strpos($test, 'invalid option') || strpos($test, 'Invalid query name 1')) && !isset($modSettings['host_to_dis']))
3920
-			updateSettings(array('host_to_dis' => 1));
4146
+		elseif ((strpos($test, 'invalid option') || strpos($test, 'Invalid query name 1')) && !isset($modSettings['host_to_dis'])) {
4147
+					updateSettings(array('host_to_dis' => 1));
4148
+		}
3921 4149
 		// Maybe it found something, after all?
3922
-		elseif (preg_match('~\s([^\s]+?)\.\s~', $test, $match) == 1)
3923
-			$host = $match[1];
4150
+		elseif (preg_match('~\s([^\s]+?)\.\s~', $test, $match) == 1) {
4151
+					$host = $match[1];
4152
+		}
3924 4153
 	}
3925 4154
 
3926 4155
 	// This is nslookup; usually only Windows, but possibly some Unix?
3927 4156
 	if (!isset($host) && stripos(PHP_OS, 'win') !== false && strpos(strtolower(PHP_OS), 'darwin') === false && mt_rand(0, 1) == 1)
3928 4157
 	{
3929 4158
 		$test = @shell_exec('nslookup -timeout=1 ' . @escapeshellarg($ip));
3930
-		if (strpos($test, 'Non-existent domain') !== false)
3931
-			$host = '';
3932
-		elseif (preg_match('~Name:\s+([^\s]+)~', $test, $match) == 1)
3933
-			$host = $match[1];
4159
+		if (strpos($test, 'Non-existent domain') !== false) {
4160
+					$host = '';
4161
+		} elseif (preg_match('~Name:\s+([^\s]+)~', $test, $match) == 1) {
4162
+					$host = $match[1];
4163
+		}
3934 4164
 	}
3935 4165
 
3936 4166
 	// This is the last try :/.
3937
-	if (!isset($host) || $host === false)
3938
-		$host = @gethostbyaddr($ip);
4167
+	if (!isset($host) || $host === false) {
4168
+			$host = @gethostbyaddr($ip);
4169
+	}
3939 4170
 
3940 4171
 	// It took a long time, so let's cache it!
3941
-	if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.5)
3942
-		cache_put_data('hostlookup-' . $ip, $host, 600);
4172
+	if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.5) {
4173
+			cache_put_data('hostlookup-' . $ip, $host, 600);
4174
+	}
3943 4175
 
3944 4176
 	return $host;
3945 4177
 }
@@ -3975,20 +4207,21 @@  discard block
 block discarded – undo
3975 4207
 			{
3976 4208
 				$encrypted = substr(crypt($word, 'uk'), 2, $max_chars);
3977 4209
 				$total = 0;
3978
-				for ($i = 0; $i < $max_chars; $i++)
3979
-					$total += $possible_chars[ord($encrypted{$i})] * pow(63, $i);
4210
+				for ($i = 0; $i < $max_chars; $i++) {
4211
+									$total += $possible_chars[ord($encrypted{$i})] * pow(63, $i);
4212
+				}
3980 4213
 				$returned_ints[] = $max_chars == 4 ? min($total, 16777215) : $total;
3981 4214
 			}
3982 4215
 		}
3983 4216
 		return array_unique($returned_ints);
3984
-	}
3985
-	else
4217
+	} else
3986 4218
 	{
3987 4219
 		// Trim characters before and after and add slashes for database insertion.
3988 4220
 		$returned_words = array();
3989
-		foreach ($words as $word)
3990
-			if (($word = trim($word, '-_\'')) !== '')
4221
+		foreach ($words as $word) {
4222
+					if (($word = trim($word, '-_\'')) !== '')
3991 4223
 				$returned_words[] = $max_chars === null ? $word : substr($word, 0, $max_chars);
4224
+		}
3992 4225
 
3993 4226
 		// Filter out all words that occur more than once.
3994 4227
 		return array_unique($returned_words);
@@ -4010,16 +4243,18 @@  discard block
 block discarded – undo
4010 4243
 	global $settings, $txt;
4011 4244
 
4012 4245
 	// Does the current loaded theme have this and we are not forcing the usage of this function?
4013
-	if (function_exists('template_create_button') && !$force_use)
4014
-		return template_create_button($name, $alt, $label = '', $custom = '');
4246
+	if (function_exists('template_create_button') && !$force_use) {
4247
+			return template_create_button($name, $alt, $label = '', $custom = '');
4248
+	}
4015 4249
 
4016
-	if (!$settings['use_image_buttons'])
4017
-		return $txt[$alt];
4018
-	elseif (!empty($settings['use_buttons']))
4019
-		return '<span class="generic_icons ' . $name . '" alt="' . $txt[$alt] . '"></span>' . ($label != '' ? '&nbsp;<strong>' . $txt[$label] . '</strong>' : '');
4020
-	else
4021
-		return '<img src="' . $settings['lang_images_url'] . '/' . $name . '" alt="' . $txt[$alt] . '" ' . $custom . '>';
4022
-}
4250
+	if (!$settings['use_image_buttons']) {
4251
+			return $txt[$alt];
4252
+	} elseif (!empty($settings['use_buttons'])) {
4253
+			return '<span class="generic_icons ' . $name . '" alt="' . $txt[$alt] . '"></span>' . ($label != '' ? '&nbsp;<strong>' . $txt[$label] . '</strong>' : '');
4254
+	} else {
4255
+			return '<img src="' . $settings['lang_images_url'] . '/' . $name . '" alt="' . $txt[$alt] . '" ' . $custom . '>';
4256
+	}
4257
+	}
4023 4258
 
4024 4259
 /**
4025 4260
  * Sets up all of the top menu buttons
@@ -4062,9 +4297,10 @@  discard block
 block discarded – undo
4062 4297
 	var user_menus = new smc_PopupMenu();
4063 4298
 	user_menus.add("profile", "' . $scripturl . '?action=profile;area=popup");
4064 4299
 	user_menus.add("alerts", "' . $scripturl . '?action=profile;area=alerts_popup;u='. $context['user']['id'] .'");', true);
4065
-		if ($context['allow_pm'])
4066
-			addInlineJavaScript('
4300
+		if ($context['allow_pm']) {
4301
+					addInlineJavaScript('
4067 4302
 	user_menus.add("pm", "' . $scripturl . '?action=pm;sa=popup");', true);
4303
+		}
4068 4304
 
4069 4305
 		if (!empty($modSettings['enable_ajax_alerts']))
4070 4306
 		{
@@ -4224,88 +4460,96 @@  discard block
 block discarded – undo
4224 4460
 
4225 4461
 		// Now we put the buttons in the context so the theme can use them.
4226 4462
 		$menu_buttons = array();
4227
-		foreach ($buttons as $act => $button)
4228
-			if (!empty($button['show']))
4463
+		foreach ($buttons as $act => $button) {
4464
+					if (!empty($button['show']))
4229 4465
 			{
4230 4466
 				$button['active_button'] = false;
4467
+		}
4231 4468
 
4232 4469
 				// This button needs some action.
4233
-				if (isset($button['action_hook']))
4234
-					$needs_action_hook = true;
4470
+				if (isset($button['action_hook'])) {
4471
+									$needs_action_hook = true;
4472
+				}
4235 4473
 
4236 4474
 				// Make sure the last button truly is the last button.
4237 4475
 				if (!empty($button['is_last']))
4238 4476
 				{
4239
-					if (isset($last_button))
4240
-						unset($menu_buttons[$last_button]['is_last']);
4477
+					if (isset($last_button)) {
4478
+											unset($menu_buttons[$last_button]['is_last']);
4479
+					}
4241 4480
 					$last_button = $act;
4242 4481
 				}
4243 4482
 
4244 4483
 				// Go through the sub buttons if there are any.
4245
-				if (!empty($button['sub_buttons']))
4246
-					foreach ($button['sub_buttons'] as $key => $subbutton)
4484
+				if (!empty($button['sub_buttons'])) {
4485
+									foreach ($button['sub_buttons'] as $key => $subbutton)
4247 4486
 					{
4248 4487
 						if (empty($subbutton['show']))
4249 4488
 							unset($button['sub_buttons'][$key]);
4489
+				}
4250 4490
 
4251 4491
 						// 2nd level sub buttons next...
4252 4492
 						if (!empty($subbutton['sub_buttons']))
4253 4493
 						{
4254 4494
 							foreach ($subbutton['sub_buttons'] as $key2 => $sub_button2)
4255 4495
 							{
4256
-								if (empty($sub_button2['show']))
4257
-									unset($button['sub_buttons'][$key]['sub_buttons'][$key2]);
4496
+								if (empty($sub_button2['show'])) {
4497
+																	unset($button['sub_buttons'][$key]['sub_buttons'][$key2]);
4498
+								}
4258 4499
 							}
4259 4500
 						}
4260 4501
 					}
4261 4502
 
4262 4503
 				// Does this button have its own icon?
4263
-				if (isset($button['icon']) && file_exists($settings['theme_dir'] . '/images/' . $button['icon']))
4264
-					$button['icon'] = '<img src="' . $settings['images_url'] . '/' . $button['icon'] . '" alt="">';
4265
-				elseif (isset($button['icon']) && file_exists($settings['default_theme_dir'] . '/images/' . $button['icon']))
4266
-					$button['icon'] = '<img src="' . $settings['default_images_url'] . '/' . $button['icon'] . '" alt="">';
4267
-				elseif (isset($button['icon']))
4268
-					$button['icon'] = '<span class="generic_icons ' . $button['icon'] . '"></span>';
4269
-				else
4270
-					$button['icon'] = '<span class="generic_icons ' . $act . '"></span>';
4504
+				if (isset($button['icon']) && file_exists($settings['theme_dir'] . '/images/' . $button['icon'])) {
4505
+									$button['icon'] = '<img src="' . $settings['images_url'] . '/' . $button['icon'] . '" alt="">';
4506
+				} elseif (isset($button['icon']) && file_exists($settings['default_theme_dir'] . '/images/' . $button['icon'])) {
4507
+									$button['icon'] = '<img src="' . $settings['default_images_url'] . '/' . $button['icon'] . '" alt="">';
4508
+				} elseif (isset($button['icon'])) {
4509
+									$button['icon'] = '<span class="generic_icons ' . $button['icon'] . '"></span>';
4510
+				} else {
4511
+									$button['icon'] = '<span class="generic_icons ' . $act . '"></span>';
4512
+				}
4271 4513
 
4272 4514
 				$menu_buttons[$act] = $button;
4273 4515
 			}
4274 4516
 
4275
-		if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2)
4276
-			cache_put_data('menu_buttons-' . implode('_', $user_info['groups']) . '-' . $user_info['language'], $menu_buttons, $cacheTime);
4517
+		if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) {
4518
+					cache_put_data('menu_buttons-' . implode('_', $user_info['groups']) . '-' . $user_info['language'], $menu_buttons, $cacheTime);
4519
+		}
4277 4520
 	}
4278 4521
 
4279 4522
 	$context['menu_buttons'] = $menu_buttons;
4280 4523
 
4281 4524
 	// Logging out requires the session id in the url.
4282
-	if (isset($context['menu_buttons']['logout']))
4283
-		$context['menu_buttons']['logout']['href'] = sprintf($context['menu_buttons']['logout']['href'], $context['session_var'], $context['session_id']);
4525
+	if (isset($context['menu_buttons']['logout'])) {
4526
+			$context['menu_buttons']['logout']['href'] = sprintf($context['menu_buttons']['logout']['href'], $context['session_var'], $context['session_id']);
4527
+	}
4284 4528
 
4285 4529
 	// Figure out which action we are doing so we can set the active tab.
4286 4530
 	// Default to home.
4287 4531
 	$current_action = 'home';
4288 4532
 
4289
-	if (isset($context['menu_buttons'][$context['current_action']]))
4290
-		$current_action = $context['current_action'];
4291
-	elseif ($context['current_action'] == 'search2')
4292
-		$current_action = 'search';
4293
-	elseif ($context['current_action'] == 'theme')
4294
-		$current_action = isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' ? 'profile' : 'admin';
4295
-	elseif ($context['current_action'] == 'register2')
4296
-		$current_action = 'register';
4297
-	elseif ($context['current_action'] == 'login2' || ($user_info['is_guest'] && $context['current_action'] == 'reminder'))
4298
-		$current_action = 'login';
4299
-	elseif ($context['current_action'] == 'groups' && $context['allow_moderation_center'])
4300
-		$current_action = 'moderate';
4533
+	if (isset($context['menu_buttons'][$context['current_action']])) {
4534
+			$current_action = $context['current_action'];
4535
+	} elseif ($context['current_action'] == 'search2') {
4536
+			$current_action = 'search';
4537
+	} elseif ($context['current_action'] == 'theme') {
4538
+			$current_action = isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' ? 'profile' : 'admin';
4539
+	} elseif ($context['current_action'] == 'register2') {
4540
+			$current_action = 'register';
4541
+	} elseif ($context['current_action'] == 'login2' || ($user_info['is_guest'] && $context['current_action'] == 'reminder')) {
4542
+			$current_action = 'login';
4543
+	} elseif ($context['current_action'] == 'groups' && $context['allow_moderation_center']) {
4544
+			$current_action = 'moderate';
4545
+	}
4301 4546
 
4302 4547
 	// There are certain exceptions to the above where we don't want anything on the menu highlighted.
4303 4548
 	if ($context['current_action'] == 'profile' && !empty($context['user']['is_owner']))
4304 4549
 	{
4305 4550
 		$current_action = !empty($_GET['area']) && $_GET['area'] == 'showalerts' ? 'self_alerts' : 'self_profile';
4306 4551
 		$context[$current_action] = true;
4307
-	}
4308
-	elseif ($context['current_action'] == 'pm')
4552
+	} elseif ($context['current_action'] == 'pm')
4309 4553
 	{
4310 4554
 		$current_action = 'self_pm';
4311 4555
 		$context['self_pm'] = true;
@@ -4346,12 +4590,14 @@  discard block
 block discarded – undo
4346 4590
 	}
4347 4591
 
4348 4592
 	// Not all actions are simple.
4349
-	if (!empty($needs_action_hook))
4350
-		call_integration_hook('integrate_current_action', array(&$current_action));
4593
+	if (!empty($needs_action_hook)) {
4594
+			call_integration_hook('integrate_current_action', array(&$current_action));
4595
+	}
4351 4596
 
4352
-	if (isset($context['menu_buttons'][$current_action]))
4353
-		$context['menu_buttons'][$current_action]['active_button'] = true;
4354
-}
4597
+	if (isset($context['menu_buttons'][$current_action])) {
4598
+			$context['menu_buttons'][$current_action]['active_button'] = true;
4599
+	}
4600
+	}
4355 4601
 
4356 4602
 /**
4357 4603
  * Generate a random seed and ensure it's stored in settings.
@@ -4375,30 +4621,35 @@  discard block
 block discarded – undo
4375 4621
 	global $modSettings, $settings, $boarddir, $sourcedir, $db_show_debug;
4376 4622
 	global $context, $txt;
4377 4623
 
4378
-	if ($db_show_debug === true)
4379
-		$context['debug']['hooks'][] = $hook;
4624
+	if ($db_show_debug === true) {
4625
+			$context['debug']['hooks'][] = $hook;
4626
+	}
4380 4627
 
4381 4628
 	// Need to have some control.
4382
-	if (!isset($context['instances']))
4383
-		$context['instances'] = array();
4629
+	if (!isset($context['instances'])) {
4630
+			$context['instances'] = array();
4631
+	}
4384 4632
 
4385 4633
 	$results = array();
4386
-	if (empty($modSettings[$hook]))
4387
-		return $results;
4634
+	if (empty($modSettings[$hook])) {
4635
+			return $results;
4636
+	}
4388 4637
 
4389 4638
 	$functions = explode(',', $modSettings[$hook]);
4390 4639
 	// Loop through each function.
4391 4640
 	foreach ($functions as $function)
4392 4641
 	{
4393 4642
 		// Hook has been marked as "disabled". Skip it!
4394
-		if (strpos($function, '!') !== false)
4395
-			continue;
4643
+		if (strpos($function, '!') !== false) {
4644
+					continue;
4645
+		}
4396 4646
 
4397 4647
 		$call = call_helper($function, true);
4398 4648
 
4399 4649
 		// Is it valid?
4400
-		if (!empty($call))
4401
-			$results[$function] = call_user_func_array($call, $parameters);
4650
+		if (!empty($call)) {
4651
+					$results[$function] = call_user_func_array($call, $parameters);
4652
+		}
4402 4653
 
4403 4654
 		// Whatever it was suppose to call, it failed :(
4404 4655
 		elseif (!empty($function))
@@ -4414,8 +4665,9 @@  discard block
 block discarded – undo
4414 4665
 			}
4415 4666
 
4416 4667
 			// "Assume" the file resides on $boarddir somewhere...
4417
-			else
4418
-				log_error(sprintf($txt['hook_fail_call_to'], $function, $boarddir), 'general');
4668
+			else {
4669
+							log_error(sprintf($txt['hook_fail_call_to'], $function, $boarddir), 'general');
4670
+			}
4419 4671
 		}
4420 4672
 	}
4421 4673
 
@@ -4437,12 +4689,14 @@  discard block
 block discarded – undo
4437 4689
 	global $smcFunc, $modSettings;
4438 4690
 
4439 4691
 	// Any objects?
4440
-	if ($object)
4441
-		$function = $function . '#';
4692
+	if ($object) {
4693
+			$function = $function . '#';
4694
+	}
4442 4695
 
4443 4696
 	// Any files  to load?
4444
-	if (!empty($file) && is_string($file))
4445
-		$function = $file . (!empty($function) ? '|' . $function : '');
4697
+	if (!empty($file) && is_string($file)) {
4698
+			$function = $file . (!empty($function) ? '|' . $function : '');
4699
+	}
4446 4700
 
4447 4701
 	// Get the correct string.
4448 4702
 	$integration_call = $function;
@@ -4464,13 +4718,14 @@  discard block
 block discarded – undo
4464 4718
 		if (!empty($current_functions))
4465 4719
 		{
4466 4720
 			$current_functions = explode(',', $current_functions);
4467
-			if (in_array($integration_call, $current_functions))
4468
-				return;
4721
+			if (in_array($integration_call, $current_functions)) {
4722
+							return;
4723
+			}
4469 4724
 
4470 4725
 			$permanent_functions = array_merge($current_functions, array($integration_call));
4726
+		} else {
4727
+					$permanent_functions = array($integration_call);
4471 4728
 		}
4472
-		else
4473
-			$permanent_functions = array($integration_call);
4474 4729
 
4475 4730
 		updateSettings(array($hook => implode(',', $permanent_functions)));
4476 4731
 	}
@@ -4479,8 +4734,9 @@  discard block
 block discarded – undo
4479 4734
 	$functions = empty($modSettings[$hook]) ? array() : explode(',', $modSettings[$hook]);
4480 4735
 
4481 4736
 	// Do nothing, if it's already there.
4482
-	if (in_array($integration_call, $functions))
4483
-		return;
4737
+	if (in_array($integration_call, $functions)) {
4738
+			return;
4739
+	}
4484 4740
 
4485 4741
 	$functions[] = $integration_call;
4486 4742
 	$modSettings[$hook] = implode(',', $functions);
@@ -4503,12 +4759,14 @@  discard block
 block discarded – undo
4503 4759
 	global $smcFunc, $modSettings;
4504 4760
 
4505 4761
 	// Any objects?
4506
-	if ($object)
4507
-		$function = $function . '#';
4762
+	if ($object) {
4763
+			$function = $function . '#';
4764
+	}
4508 4765
 
4509 4766
 	// Any files  to load?
4510
-	if (!empty($file) && is_string($file))
4511
-		$function = $file . '|' . $function;
4767
+	if (!empty($file) && is_string($file)) {
4768
+			$function = $file . '|' . $function;
4769
+	}
4512 4770
 
4513 4771
 	// Get the correct string.
4514 4772
 	$integration_call = $function;
@@ -4529,16 +4787,18 @@  discard block
 block discarded – undo
4529 4787
 	{
4530 4788
 		$current_functions = explode(',', $current_functions);
4531 4789
 
4532
-		if (in_array($integration_call, $current_functions))
4533
-			updateSettings(array($hook => implode(',', array_diff($current_functions, array($integration_call)))));
4790
+		if (in_array($integration_call, $current_functions)) {
4791
+					updateSettings(array($hook => implode(',', array_diff($current_functions, array($integration_call)))));
4792
+		}
4534 4793
 	}
4535 4794
 
4536 4795
 	// Turn the function list into something usable.
4537 4796
 	$functions = empty($modSettings[$hook]) ? array() : explode(',', $modSettings[$hook]);
4538 4797
 
4539 4798
 	// You can only remove it if it's available.
4540
-	if (!in_array($integration_call, $functions))
4541
-		return;
4799
+	if (!in_array($integration_call, $functions)) {
4800
+			return;
4801
+	}
4542 4802
 
4543 4803
 	$functions = array_diff($functions, array($integration_call));
4544 4804
 	$modSettings[$hook] = implode(',', $functions);
@@ -4559,17 +4819,20 @@  discard block
 block discarded – undo
4559 4819
 	global $context, $smcFunc, $txt, $db_show_debug;
4560 4820
 
4561 4821
 	// Really?
4562
-	if (empty($string))
4563
-		return false;
4822
+	if (empty($string)) {
4823
+			return false;
4824
+	}
4564 4825
 
4565 4826
 	// An array? should be a "callable" array IE array(object/class, valid_callable).
4566 4827
 	// A closure? should be a callable one.
4567
-	if (is_array($string) || $string instanceof Closure)
4568
-		return $return ? $string : (is_callable($string) ? call_user_func($string) : false);
4828
+	if (is_array($string) || $string instanceof Closure) {
4829
+			return $return ? $string : (is_callable($string) ? call_user_func($string) : false);
4830
+	}
4569 4831
 
4570 4832
 	// No full objects, sorry! pass a method or a property instead!
4571
-	if (is_object($string))
4572
-		return false;
4833
+	if (is_object($string)) {
4834
+			return false;
4835
+	}
4573 4836
 
4574 4837
 	// Stay vitaminized my friends...
4575 4838
 	$string = $smcFunc['htmlspecialchars']($smcFunc['htmltrim']($string));
@@ -4578,8 +4841,9 @@  discard block
 block discarded – undo
4578 4841
 	$string = load_file($string);
4579 4842
 
4580 4843
 	// Loaded file failed
4581
-	if (empty($string))
4582
-		return false;
4844
+	if (empty($string)) {
4845
+			return false;
4846
+	}
4583 4847
 
4584 4848
 	// Found a method.
4585 4849
 	if (strpos($string, '::') !== false)
@@ -4600,8 +4864,9 @@  discard block
 block discarded – undo
4600 4864
 				// Add another one to the list.
4601 4865
 				if ($db_show_debug === true)
4602 4866
 				{
4603
-					if (!isset($context['debug']['instances']))
4604
-						$context['debug']['instances'] = array();
4867
+					if (!isset($context['debug']['instances'])) {
4868
+											$context['debug']['instances'] = array();
4869
+					}
4605 4870
 
4606 4871
 					$context['debug']['instances'][$class] = $class;
4607 4872
 				}
@@ -4611,13 +4876,15 @@  discard block
 block discarded – undo
4611 4876
 		}
4612 4877
 
4613 4878
 		// Right then. This is a call to a static method.
4614
-		else
4615
-			$func = array($class, $method);
4879
+		else {
4880
+					$func = array($class, $method);
4881
+		}
4616 4882
 	}
4617 4883
 
4618 4884
 	// Nope! just a plain regular function.
4619
-	else
4620
-		$func = $string;
4885
+	else {
4886
+			$func = $string;
4887
+	}
4621 4888
 
4622 4889
 	// Right, we got what we need, time to do some checks.
4623 4890
 	if (!is_callable($func, false, $callable_name))
@@ -4633,17 +4900,18 @@  discard block
 block discarded – undo
4633 4900
 	else
4634 4901
 	{
4635 4902
 		// What are we gonna do about it?
4636
-		if ($return)
4637
-			return $func;
4903
+		if ($return) {
4904
+					return $func;
4905
+		}
4638 4906
 
4639 4907
 		// If this is a plain function, avoid the heat of calling call_user_func().
4640 4908
 		else
4641 4909
 		{
4642
-			if (is_array($func))
4643
-				call_user_func($func);
4644
-
4645
-			else
4646
-				$func();
4910
+			if (is_array($func)) {
4911
+							call_user_func($func);
4912
+			} else {
4913
+							$func();
4914
+			}
4647 4915
 		}
4648 4916
 	}
4649 4917
 }
@@ -4660,31 +4928,34 @@  discard block
 block discarded – undo
4660 4928
 {
4661 4929
 	global $sourcedir, $txt, $boarddir, $settings;
4662 4930
 
4663
-	if (empty($string))
4664
-		return false;
4931
+	if (empty($string)) {
4932
+			return false;
4933
+	}
4665 4934
 
4666 4935
 	if (strpos($string, '|') !== false)
4667 4936
 	{
4668 4937
 		list ($file, $string) = explode('|', $string);
4669 4938
 
4670 4939
 		// Match the wildcards to their regular vars.
4671
-		if (empty($settings['theme_dir']))
4672
-			$absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir));
4673
-
4674
-		else
4675
-			$absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir, '$themedir' => $settings['theme_dir']));
4940
+		if (empty($settings['theme_dir'])) {
4941
+					$absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir));
4942
+		} else {
4943
+					$absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir, '$themedir' => $settings['theme_dir']));
4944
+		}
4676 4945
 
4677 4946
 		// Load the file if it can be loaded.
4678
-		if (file_exists($absPath))
4679
-			require_once($absPath);
4947
+		if (file_exists($absPath)) {
4948
+					require_once($absPath);
4949
+		}
4680 4950
 
4681 4951
 		// No? try a fallback to $sourcedir
4682 4952
 		else
4683 4953
 		{
4684 4954
 			$absPath = $sourcedir .'/'. $file;
4685 4955
 
4686
-			if (file_exists($absPath))
4687
-				require_once($absPath);
4956
+			if (file_exists($absPath)) {
4957
+							require_once($absPath);
4958
+			}
4688 4959
 
4689 4960
 			// Sorry, can't do much for you at this point.
4690 4961
 			else
@@ -4711,8 +4982,9 @@  discard block
 block discarded – undo
4711 4982
 	global $user_info, $smcFunc;
4712 4983
 
4713 4984
 	// Make sure we have something to work with.
4714
-	if (empty($topic))
4715
-		return array();
4985
+	if (empty($topic)) {
4986
+			return array();
4987
+	}
4716 4988
 
4717 4989
 
4718 4990
 	// We already know the number of likes per message, we just want to know whether the current user liked it or not.
@@ -4735,8 +5007,9 @@  discard block
 block discarded – undo
4735 5007
 				'topic' => $topic,
4736 5008
 			)
4737 5009
 		);
4738
-		while ($row = $smcFunc['db_fetch_assoc']($request))
4739
-			$temp[] = (int) $row['content_id'];
5010
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
5011
+					$temp[] = (int) $row['content_id'];
5012
+		}
4740 5013
 
4741 5014
 		cache_put_data($cache_key, $temp, $ttl);
4742 5015
 	}
@@ -4757,8 +5030,9 @@  discard block
 block discarded – undo
4757 5030
 {
4758 5031
 	global $context;
4759 5032
 
4760
-	if (empty($string))
4761
-		return $string;
5033
+	if (empty($string)) {
5034
+			return $string;
5035
+	}
4762 5036
 
4763 5037
 	// UTF-8 occurences of MS special characters
4764 5038
 	$findchars_utf8 = array(
@@ -4799,10 +5073,11 @@  discard block
 block discarded – undo
4799 5073
 		'--',	// &mdash;
4800 5074
 	);
4801 5075
 
4802
-	if ($context['utf8'])
4803
-		$string = str_replace($findchars_utf8, $replacechars, $string);
4804
-	else
4805
-		$string = str_replace($findchars_iso, $replacechars, $string);
5076
+	if ($context['utf8']) {
5077
+			$string = str_replace($findchars_utf8, $replacechars, $string);
5078
+	} else {
5079
+			$string = str_replace($findchars_iso, $replacechars, $string);
5080
+	}
4806 5081
 
4807 5082
 	return $string;
4808 5083
 }
@@ -4821,49 +5096,59 @@  discard block
 block discarded – undo
4821 5096
 {
4822 5097
 	global $context;
4823 5098
 
4824
-	if (!isset($matches[2]))
4825
-		return '';
5099
+	if (!isset($matches[2])) {
5100
+			return '';
5101
+	}
4826 5102
 
4827 5103
 	$num = $matches[2][0] === 'x' ? hexdec(substr($matches[2], 1)) : (int) $matches[2];
4828 5104
 
4829 5105
 	// remove left to right / right to left overrides
4830
-	if ($num === 0x202D || $num === 0x202E)
4831
-		return '';
5106
+	if ($num === 0x202D || $num === 0x202E) {
5107
+			return '';
5108
+	}
4832 5109
 
4833 5110
 	// Quote, Ampersand, Apostrophe, Less/Greater Than get html replaced
4834
-	if (in_array($num, array(0x22, 0x26, 0x27, 0x3C, 0x3E)))
4835
-		return '&#' . $num . ';';
5111
+	if (in_array($num, array(0x22, 0x26, 0x27, 0x3C, 0x3E))) {
5112
+			return '&#' . $num . ';';
5113
+	}
4836 5114
 
4837 5115
 	if (empty($context['utf8']))
4838 5116
 	{
4839 5117
 		// no control characters
4840
-		if ($num < 0x20)
4841
-			return '';
5118
+		if ($num < 0x20) {
5119
+					return '';
5120
+		}
4842 5121
 		// text is text
4843
-		elseif ($num < 0x80)
4844
-			return chr($num);
5122
+		elseif ($num < 0x80) {
5123
+					return chr($num);
5124
+		}
4845 5125
 		// all others get html-ised
4846
-		else
4847
-			return '&#' . $matches[2] . ';';
4848
-	}
4849
-	else
5126
+		else {
5127
+					return '&#' . $matches[2] . ';';
5128
+		}
5129
+	} else
4850 5130
 	{
4851 5131
 		// <0x20 are control characters, 0x20 is a space, > 0x10FFFF is past the end of the utf8 character set
4852 5132
 		// 0xD800 >= $num <= 0xDFFF are surrogate markers (not valid for utf8 text)
4853
-		if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF))
4854
-			return '';
5133
+		if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF)) {
5134
+					return '';
5135
+		}
4855 5136
 		// <0x80 (or less than 128) are standard ascii characters a-z A-Z 0-9 and punctuation
4856
-		elseif ($num < 0x80)
4857
-			return chr($num);
5137
+		elseif ($num < 0x80) {
5138
+					return chr($num);
5139
+		}
4858 5140
 		// <0x800 (2048)
4859
-		elseif ($num < 0x800)
4860
-			return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
5141
+		elseif ($num < 0x800) {
5142
+					return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
5143
+		}
4861 5144
 		// < 0x10000 (65536)
4862
-		elseif ($num < 0x10000)
4863
-			return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5145
+		elseif ($num < 0x10000) {
5146
+					return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5147
+		}
4864 5148
 		// <= 0x10FFFF (1114111)
4865
-		else
4866
-			return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5149
+		else {
5150
+					return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5151
+		}
4867 5152
 	}
4868 5153
 }
4869 5154
 
@@ -4879,28 +5164,34 @@  discard block
 block discarded – undo
4879 5164
  */
4880 5165
 function fixchar__callback($matches)
4881 5166
 {
4882
-	if (!isset($matches[1]))
4883
-		return '';
5167
+	if (!isset($matches[1])) {
5168
+			return '';
5169
+	}
4884 5170
 
4885 5171
 	$num = $matches[1][0] === 'x' ? hexdec(substr($matches[1], 1)) : (int) $matches[1];
4886 5172
 
4887 5173
 	// <0x20 are control characters, > 0x10FFFF is past the end of the utf8 character set
4888 5174
 	// 0xD800 >= $num <= 0xDFFF are surrogate markers (not valid for utf8 text), 0x202D-E are left to right overrides
4889
-	if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num === 0x202D || $num === 0x202E)
4890
-		return '';
5175
+	if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num === 0x202D || $num === 0x202E) {
5176
+			return '';
5177
+	}
4891 5178
 	// <0x80 (or less than 128) are standard ascii characters a-z A-Z 0-9 and punctuation
4892
-	elseif ($num < 0x80)
4893
-		return chr($num);
5179
+	elseif ($num < 0x80) {
5180
+			return chr($num);
5181
+	}
4894 5182
 	// <0x800 (2048)
4895
-	elseif ($num < 0x800)
4896
-		return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
5183
+	elseif ($num < 0x800) {
5184
+			return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
5185
+	}
4897 5186
 	// < 0x10000 (65536)
4898
-	elseif ($num < 0x10000)
4899
-		return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5187
+	elseif ($num < 0x10000) {
5188
+			return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5189
+	}
4900 5190
 	// <= 0x10FFFF (1114111)
4901
-	else
4902
-		return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
4903
-}
5191
+	else {
5192
+			return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5193
+	}
5194
+	}
4904 5195
 
4905 5196
 /**
4906 5197
  * Strips out invalid html entities, replaces others with html style &#123; codes
@@ -4913,17 +5204,19 @@  discard block
 block discarded – undo
4913 5204
  */
4914 5205
 function entity_fix__callback($matches)
4915 5206
 {
4916
-	if (!isset($matches[2]))
4917
-		return '';
5207
+	if (!isset($matches[2])) {
5208
+			return '';
5209
+	}
4918 5210
 
4919 5211
 	$num = $matches[2][0] === 'x' ? hexdec(substr($matches[2], 1)) : (int) $matches[2];
4920 5212
 
4921 5213
 	// we don't allow control characters, characters out of range, byte markers, etc
4922
-	if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num == 0x202D || $num == 0x202E)
4923
-		return '';
4924
-	else
4925
-		return '&#' . $num . ';';
4926
-}
5214
+	if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num == 0x202D || $num == 0x202E) {
5215
+			return '';
5216
+	} else {
5217
+			return '&#' . $num . ';';
5218
+	}
5219
+	}
4927 5220
 
4928 5221
 /**
4929 5222
  * Return a Gravatar URL based on
@@ -4947,18 +5240,23 @@  discard block
 block discarded – undo
4947 5240
 		$ratings = array('G', 'PG', 'R', 'X');
4948 5241
 		$defaults = array('mm', 'identicon', 'monsterid', 'wavatar', 'retro', 'blank');
4949 5242
 		$url_params = array();
4950
-		if (!empty($modSettings['gravatarMaxRating']) && in_array($modSettings['gravatarMaxRating'], $ratings))
4951
-			$url_params[] = 'rating=' . $modSettings['gravatarMaxRating'];
4952
-		if (!empty($modSettings['gravatarDefault']) && in_array($modSettings['gravatarDefault'], $defaults))
4953
-			$url_params[] = 'default=' . $modSettings['gravatarDefault'];
4954
-		if (!empty($modSettings['avatar_max_width_external']))
4955
-			$size_string = (int) $modSettings['avatar_max_width_external'];
4956
-		if (!empty($modSettings['avatar_max_height_external']) && !empty($size_string))
4957
-			if ((int) $modSettings['avatar_max_height_external'] < $size_string)
5243
+		if (!empty($modSettings['gravatarMaxRating']) && in_array($modSettings['gravatarMaxRating'], $ratings)) {
5244
+					$url_params[] = 'rating=' . $modSettings['gravatarMaxRating'];
5245
+		}
5246
+		if (!empty($modSettings['gravatarDefault']) && in_array($modSettings['gravatarDefault'], $defaults)) {
5247
+					$url_params[] = 'default=' . $modSettings['gravatarDefault'];
5248
+		}
5249
+		if (!empty($modSettings['avatar_max_width_external'])) {
5250
+					$size_string = (int) $modSettings['avatar_max_width_external'];
5251
+		}
5252
+		if (!empty($modSettings['avatar_max_height_external']) && !empty($size_string)) {
5253
+					if ((int) $modSettings['avatar_max_height_external'] < $size_string)
4958 5254
 				$size_string = $modSettings['avatar_max_height_external'];
5255
+		}
4959 5256
 
4960
-		if (!empty($size_string))
4961
-			$url_params[] = 's=' . $size_string;
5257
+		if (!empty($size_string)) {
5258
+					$url_params[] = 's=' . $size_string;
5259
+		}
4962 5260
 	}
4963 5261
 	$http_method = !empty($modSettings['force_ssl']) && $modSettings['force_ssl'] == 2 ? 'https://secure' : 'http://www';
4964 5262
 
@@ -4977,22 +5275,26 @@  discard block
 block discarded – undo
4977 5275
 	static $timezones = null, $lastwhen = null;
4978 5276
 
4979 5277
 	// No point doing this over if we already did it once
4980
-	if (!empty($timezones) && $when == $lastwhen)
4981
-		return $timezones;
4982
-	else
4983
-		$lastwhen = $when;
5278
+	if (!empty($timezones) && $when == $lastwhen) {
5279
+			return $timezones;
5280
+	} else {
5281
+			$lastwhen = $when;
5282
+	}
4984 5283
 
4985 5284
 	// Parseable datetime string?
4986
-	if (is_int($timestamp = strtotime($when)))
4987
-		$when = $timestamp;
5285
+	if (is_int($timestamp = strtotime($when))) {
5286
+			$when = $timestamp;
5287
+	}
4988 5288
 
4989 5289
 	// A Unix timestamp?
4990
-	elseif (is_numeric($when))
4991
-		$when = intval($when);
5290
+	elseif (is_numeric($when)) {
5291
+			$when = intval($when);
5292
+	}
4992 5293
 
4993 5294
 	// Invalid value? Just get current Unix timestamp.
4994
-	else
4995
-		$when = time();
5295
+	else {
5296
+			$when = time();
5297
+	}
4996 5298
 
4997 5299
 	// We'll need these too
4998 5300
 	$date_when = date_create('@' . $when);
@@ -5056,8 +5358,9 @@  discard block
 block discarded – undo
5056 5358
 	foreach ($priority_countries as $country)
5057 5359
 	{
5058 5360
 		$country_tzids = @timezone_identifiers_list(DateTimeZone::PER_COUNTRY, strtoupper(trim($country)));
5059
-		if (!empty($country_tzids))
5060
-			$priority_tzids = array_merge($priority_tzids, $country_tzids);
5361
+		if (!empty($country_tzids)) {
5362
+					$priority_tzids = array_merge($priority_tzids, $country_tzids);
5363
+		}
5061 5364
 	}
5062 5365
 
5063 5366
 	// Process the preferred timezones first, then the rest.
@@ -5067,8 +5370,9 @@  discard block
 block discarded – undo
5067 5370
 	foreach ($tzids as $tzid)
5068 5371
 	{
5069 5372
 		// We don't want UTC right now
5070
-		if ($tzid == 'UTC')
5071
-			continue;
5373
+		if ($tzid == 'UTC') {
5374
+					continue;
5375
+		}
5072 5376
 
5073 5377
 		$tz = timezone_open($tzid);
5074 5378
 
@@ -5089,8 +5393,9 @@  discard block
 block discarded – undo
5089 5393
 		}
5090 5394
 
5091 5395
 		// A time zone from a prioritized country?
5092
-		if (in_array($tzid, $priority_tzids))
5093
-			$priority_zones[$tzkey] = true;
5396
+		if (in_array($tzid, $priority_tzids)) {
5397
+					$priority_zones[$tzkey] = true;
5398
+		}
5094 5399
 
5095 5400
 		// Keep track of the location and offset for this tzid
5096 5401
 		$tzid_parts = explode('/', $tzid);
@@ -5109,15 +5414,17 @@  discard block
 block discarded – undo
5109 5414
 	{
5110 5415
 		date_timezone_set($date_when, timezone_open($tzvalue['tzid']));
5111 5416
 
5112
-		if (!empty($timezone_descriptions[$tzvalue['tzid']]))
5113
-			$desc = $timezone_descriptions[$tzvalue['tzid']];
5114
-		else
5115
-			$desc = implode(', ', array_unique($tzvalue['locations']));
5417
+		if (!empty($timezone_descriptions[$tzvalue['tzid']])) {
5418
+					$desc = $timezone_descriptions[$tzvalue['tzid']];
5419
+		} else {
5420
+					$desc = implode(', ', array_unique($tzvalue['locations']));
5421
+		}
5116 5422
 
5117
-		if (isset($priority_zones[$tzkey]))
5118
-			$priority_timezones[$tzvalue['tzid']] = $tzvalue['abbr'] . ' - ' . $desc . ' [UTC' . date_format($date_when, 'P') . ']';
5119
-		else
5120
-			$timezones[$tzvalue['tzid']] = $tzvalue['abbr'] . ' - ' . $desc . ' [UTC' . date_format($date_when, 'P') . ']';
5423
+		if (isset($priority_zones[$tzkey])) {
5424
+					$priority_timezones[$tzvalue['tzid']] = $tzvalue['abbr'] . ' - ' . $desc . ' [UTC' . date_format($date_when, 'P') . ']';
5425
+		} else {
5426
+					$timezones[$tzvalue['tzid']] = $tzvalue['abbr'] . ' - ' . $desc . ' [UTC' . date_format($date_when, 'P') . ']';
5427
+		}
5121 5428
 	}
5122 5429
 
5123 5430
 	$timezones = array_merge(
@@ -5171,9 +5478,9 @@  discard block
 block discarded – undo
5171 5478
 			'Indian/Kerguelen' => 'TFT',
5172 5479
 		);
5173 5480
 
5174
-		if (!empty($missing_tz_abbrs[$tzid]))
5175
-			$tz_abbrev = $missing_tz_abbrs[$tzid];
5176
-		else
5481
+		if (!empty($missing_tz_abbrs[$tzid])) {
5482
+					$tz_abbrev = $missing_tz_abbrs[$tzid];
5483
+		} else
5177 5484
 		{
5178 5485
 			// Russia likes to experiment with time zones often, and names them as offsets from Moscow
5179 5486
 			$tz_location = timezone_location_get(timezone_open($tzid));
@@ -5201,8 +5508,9 @@  discard block
 block discarded – undo
5201 5508
  */
5202 5509
 function inet_ptod($ip_address)
5203 5510
 {
5204
-	if (!isValidIP($ip_address))
5205
-		return $ip_address;
5511
+	if (!isValidIP($ip_address)) {
5512
+			return $ip_address;
5513
+	}
5206 5514
 
5207 5515
 	$bin = inet_pton($ip_address);
5208 5516
 	return $bin;
@@ -5214,13 +5522,15 @@  discard block
 block discarded – undo
5214 5522
  */
5215 5523
 function inet_dtop($bin)
5216 5524
 {
5217
-	if(empty($bin))
5218
-		return '';
5525
+	if(empty($bin)) {
5526
+			return '';
5527
+	}
5219 5528
 
5220 5529
 	global $db_type;
5221 5530
 
5222
-	if ($db_type == 'postgresql')
5223
-		return $bin;
5531
+	if ($db_type == 'postgresql') {
5532
+			return $bin;
5533
+	}
5224 5534
 
5225 5535
 	$ip_address = inet_ntop($bin);
5226 5536
 
@@ -5245,26 +5555,32 @@  discard block
 block discarded – undo
5245 5555
  */
5246 5556
 function _safe_serialize($value)
5247 5557
 {
5248
-	if(is_null($value))
5249
-		return 'N;';
5558
+	if(is_null($value)) {
5559
+			return 'N;';
5560
+	}
5250 5561
 
5251
-	if(is_bool($value))
5252
-		return 'b:'. (int) $value .';';
5562
+	if(is_bool($value)) {
5563
+			return 'b:'. (int) $value .';';
5564
+	}
5253 5565
 
5254
-	if(is_int($value))
5255
-		return 'i:'. $value .';';
5566
+	if(is_int($value)) {
5567
+			return 'i:'. $value .';';
5568
+	}
5256 5569
 
5257
-	if(is_float($value))
5258
-		return 'd:'. str_replace(',', '.', $value) .';';
5570
+	if(is_float($value)) {
5571
+			return 'd:'. str_replace(',', '.', $value) .';';
5572
+	}
5259 5573
 
5260
-	if(is_string($value))
5261
-		return 's:'. strlen($value) .':"'. $value .'";';
5574
+	if(is_string($value)) {
5575
+			return 's:'. strlen($value) .':"'. $value .'";';
5576
+	}
5262 5577
 
5263 5578
 	if(is_array($value))
5264 5579
 	{
5265 5580
 		$out = '';
5266
-		foreach($value as $k => $v)
5267
-			$out .= _safe_serialize($k) . _safe_serialize($v);
5581
+		foreach($value as $k => $v) {
5582
+					$out .= _safe_serialize($k) . _safe_serialize($v);
5583
+		}
5268 5584
 
5269 5585
 		return 'a:'. count($value) .':{'. $out .'}';
5270 5586
 	}
@@ -5290,8 +5606,9 @@  discard block
 block discarded – undo
5290 5606
 
5291 5607
 	$out = _safe_serialize($value);
5292 5608
 
5293
-	if (isset($mbIntEnc))
5294
-		mb_internal_encoding($mbIntEnc);
5609
+	if (isset($mbIntEnc)) {
5610
+			mb_internal_encoding($mbIntEnc);
5611
+	}
5295 5612
 
5296 5613
 	return $out;
5297 5614
 }
@@ -5308,8 +5625,9 @@  discard block
 block discarded – undo
5308 5625
 function _safe_unserialize($str)
5309 5626
 {
5310 5627
 	// Input  is not a string.
5311
-	if(empty($str) || !is_string($str))
5312
-		return false;
5628
+	if(empty($str) || !is_string($str)) {
5629
+			return false;
5630
+	}
5313 5631
 
5314 5632
 	$stack = array();
5315 5633
 	$expected = array();
@@ -5325,43 +5643,38 @@  discard block
 block discarded – undo
5325 5643
 	while($state != 1)
5326 5644
 	{
5327 5645
 		$type = isset($str[0]) ? $str[0] : '';
5328
-		if($type == '}')
5329
-			$str = substr($str, 1);
5330
-
5331
-		else if($type == 'N' && $str[1] == ';')
5646
+		if($type == '}') {
5647
+					$str = substr($str, 1);
5648
+		} else if($type == 'N' && $str[1] == ';')
5332 5649
 		{
5333 5650
 			$value = null;
5334 5651
 			$str = substr($str, 2);
5335
-		}
5336
-		else if($type == 'b' && preg_match('/^b:([01]);/', $str, $matches))
5652
+		} else if($type == 'b' && preg_match('/^b:([01]);/', $str, $matches))
5337 5653
 		{
5338 5654
 			$value = $matches[1] == '1' ? true : false;
5339 5655
 			$str = substr($str, 4);
5340
-		}
5341
-		else if($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches))
5656
+		} else if($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches))
5342 5657
 		{
5343 5658
 			$value = (int)$matches[1];
5344 5659
 			$str = $matches[2];
5345
-		}
5346
-		else if($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches))
5660
+		} else if($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches))
5347 5661
 		{
5348 5662
 			$value = (float)$matches[1];
5349 5663
 			$str = $matches[3];
5350
-		}
5351
-		else if($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int)$matches[1], 2) == '";')
5664
+		} else if($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int)$matches[1], 2) == '";')
5352 5665
 		{
5353 5666
 			$value = substr($matches[2], 0, (int)$matches[1]);
5354 5667
 			$str = substr($matches[2], (int)$matches[1] + 2);
5355
-		}
5356
-		else if($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches))
5668
+		} else if($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches))
5357 5669
 		{
5358 5670
 			$expectedLength = (int)$matches[1];
5359 5671
 			$str = $matches[2];
5360 5672
 		}
5361 5673
 
5362 5674
 		// Object or unknown/malformed type.
5363
-		else
5364
-			return false;
5675
+		else {
5676
+					return false;
5677
+		}
5365 5678
 
5366 5679
 		switch($state)
5367 5680
 		{
@@ -5389,8 +5702,9 @@  discard block
 block discarded – undo
5389 5702
 				if($type == '}')
5390 5703
 				{
5391 5704
 					// Array size is less than expected.
5392
-					if(count($list) < end($expected))
5393
-						return false;
5705
+					if(count($list) < end($expected)) {
5706
+											return false;
5707
+					}
5394 5708
 
5395 5709
 					unset($list);
5396 5710
 					$list = &$stack[count($stack)-1];
@@ -5399,8 +5713,9 @@  discard block
 block discarded – undo
5399 5713
 					// Go to terminal state if we're at the end of the root array.
5400 5714
 					array_pop($expected);
5401 5715
 
5402
-					if(count($expected) == 0)
5403
-						$state = 1;
5716
+					if(count($expected) == 0) {
5717
+											$state = 1;
5718
+					}
5404 5719
 
5405 5720
 					break;
5406 5721
 				}
@@ -5408,8 +5723,9 @@  discard block
 block discarded – undo
5408 5723
 				if($type == 'i' || $type == 's')
5409 5724
 				{
5410 5725
 					// Array size exceeds expected length.
5411
-					if(count($list) >= end($expected))
5412
-						return false;
5726
+					if(count($list) >= end($expected)) {
5727
+											return false;
5728
+					}
5413 5729
 
5414 5730
 					$key = $value;
5415 5731
 					$state = 3;
@@ -5443,8 +5759,9 @@  discard block
 block discarded – undo
5443 5759
 	}
5444 5760
 
5445 5761
 	// Trailing data in input.
5446
-	if(!empty($str))
5447
-		return false;
5762
+	if(!empty($str)) {
5763
+			return false;
5764
+	}
5448 5765
 
5449 5766
 	return $data;
5450 5767
 }
@@ -5467,8 +5784,9 @@  discard block
 block discarded – undo
5467 5784
 
5468 5785
 	$out = _safe_unserialize($str);
5469 5786
 
5470
-	if (isset($mbIntEnc))
5471
-		mb_internal_encoding($mbIntEnc);
5787
+	if (isset($mbIntEnc)) {
5788
+			mb_internal_encoding($mbIntEnc);
5789
+	}
5472 5790
 
5473 5791
 	return $out;
5474 5792
 }
@@ -5483,12 +5801,14 @@  discard block
 block discarded – undo
5483 5801
 function smf_chmod($file, $value = 0)
5484 5802
 {
5485 5803
 	// No file? no checks!
5486
-	if (empty($file))
5487
-		return false;
5804
+	if (empty($file)) {
5805
+			return false;
5806
+	}
5488 5807
 
5489 5808
 	// Already writable?
5490
-	if (is_writable($file))
5491
-		return true;
5809
+	if (is_writable($file)) {
5810
+			return true;
5811
+	}
5492 5812
 
5493 5813
 	// Do we have a file or a dir?
5494 5814
 	$isDir = is_dir($file);
@@ -5504,10 +5824,9 @@  discard block
 block discarded – undo
5504 5824
 		{
5505 5825
 			$isWritable = true;
5506 5826
 			break;
5827
+		} else {
5828
+					@chmod($file, $val);
5507 5829
 		}
5508
-
5509
-		else
5510
-			@chmod($file, $val);
5511 5830
 	}
5512 5831
 
5513 5832
 	return $isWritable;
@@ -5526,8 +5845,9 @@  discard block
 block discarded – undo
5526 5845
 	global $txt;
5527 5846
 
5528 5847
 	// Come on...
5529
-	if (empty($json) || !is_string($json))
5530
-		return array();
5848
+	if (empty($json) || !is_string($json)) {
5849
+			return array();
5850
+	}
5531 5851
 
5532 5852
 	$returnArray = @json_decode($json, $returnAsArray);
5533 5853
 
@@ -5565,11 +5885,11 @@  discard block
 block discarded – undo
5565 5885
 		$jsonDebug = $jsonDebug[0];
5566 5886
 		loadLanguage('Errors');
5567 5887
 
5568
-		if (!empty($jsonDebug))
5569
-			log_error($txt['json_'. $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']);
5570
-
5571
-		else
5572
-			log_error($txt['json_'. $jsonError], 'critical');
5888
+		if (!empty($jsonDebug)) {
5889
+					log_error($txt['json_'. $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']);
5890
+		} else {
5891
+					log_error($txt['json_'. $jsonError], 'critical');
5892
+		}
5573 5893
 
5574 5894
 		// Everyone expects an array.
5575 5895
 		return array();
@@ -5603,8 +5923,9 @@  discard block
 block discarded – undo
5603 5923
 	global $db_show_debug, $modSettings;
5604 5924
 
5605 5925
 	// Defensive programming anyone?
5606
-	if (empty($data))
5607
-		return false;
5926
+	if (empty($data)) {
5927
+			return false;
5928
+	}
5608 5929
 
5609 5930
 	// Don't need extra stuff...
5610 5931
 	$db_show_debug = false;
@@ -5612,11 +5933,11 @@  discard block
 block discarded – undo
5612 5933
 	// Kill anything else.
5613 5934
 	ob_end_clean();
5614 5935
 
5615
-	if (!empty($modSettings['CompressedOutput']))
5616
-		@ob_start('ob_gzhandler');
5617
-
5618
-	else
5619
-		ob_start();
5936
+	if (!empty($modSettings['CompressedOutput'])) {
5937
+			@ob_start('ob_gzhandler');
5938
+	} else {
5939
+			ob_start();
5940
+	}
5620 5941
 
5621 5942
 	// Set the header.
5622 5943
 	header($type);
@@ -5648,8 +5969,9 @@  discard block
 block discarded – undo
5648 5969
 	static $done = false;
5649 5970
 
5650 5971
 	// If we don't need to do anything, don't
5651
-	if (!$update && $done)
5652
-		return;
5972
+	if (!$update && $done) {
5973
+			return;
5974
+	}
5653 5975
 
5654 5976
 	// Should we get a new copy of the official list of TLDs?
5655 5977
 	if ($update)
@@ -5658,8 +5980,9 @@  discard block
 block discarded – undo
5658 5980
 		$tlds = fetch_web_data('https://data.iana.org/TLD/tlds-alpha-by-domain.txt');
5659 5981
 
5660 5982
 		// If the Internet Assigned Numbers Authority can't be reached, the Internet is gone. We're probably running on a server hidden in a bunker deep underground to protect it from marauding bandits roaming on the surface. We don't want to waste precious electricity on pointlessly repeating background tasks, so we'll wait until the next regularly scheduled update to see if civilization has been restored.
5661
-		if ($tlds === false)
5662
-			$postapocalypticNightmare = true;
5983
+		if ($tlds === false) {
5984
+					$postapocalypticNightmare = true;
5985
+		}
5663 5986
 	}
5664 5987
 	// If we aren't updating and the regex is valid, we're done
5665 5988
 	elseif (!empty($modSettings['tld_regex']) && @preg_match('~' . $modSettings['tld_regex'] . '~', null) !== false)
@@ -5674,10 +5997,11 @@  discard block
 block discarded – undo
5674 5997
 		// Clean $tlds and convert it to an array
5675 5998
 		$tlds = array_filter(explode("\n", strtolower($tlds)), function($line) {
5676 5999
 			$line = trim($line);
5677
-			if (empty($line) || strpos($line, '#') !== false || strpos($line, ' ') !== false)
5678
-				return false;
5679
-			else
5680
-				return true;
6000
+			if (empty($line) || strpos($line, '#') !== false || strpos($line, ' ') !== false) {
6001
+							return false;
6002
+			} else {
6003
+							return true;
6004
+			}
5681 6005
 		});
5682 6006
 
5683 6007
 		// Convert Punycode to Unicode
@@ -5731,8 +6055,9 @@  discard block
 block discarded – undo
5731 6055
 						$idx += $digit * $w;
5732 6056
 						$t = ($k <= $bias) ? $tmin : (($k >= $bias + $tmax) ? $tmax : ($k - $bias));
5733 6057
 
5734
-						if ($digit < $t)
5735
-							break;
6058
+						if ($digit < $t) {
6059
+													break;
6060
+						}
5736 6061
 
5737 6062
 						$w = (int) ($w * ($base - $t));
5738 6063
 					}
@@ -5741,8 +6066,9 @@  discard block
 block discarded – undo
5741 6066
 					$delta = intval($is_first ? ($delta / $damp) : ($delta / 2));
5742 6067
 					$delta += intval($delta / ($deco_len + 1));
5743 6068
 
5744
-					for ($k = 0; $delta > (($base - $tmin) * $tmax) / 2; $k += $base)
5745
-						$delta = intval($delta / ($base - $tmin));
6069
+					for ($k = 0; $delta > (($base - $tmin) * $tmax) / 2; $k += $base) {
6070
+											$delta = intval($delta / ($base - $tmin));
6071
+					}
5746 6072
 
5747 6073
 					$bias = intval($k + ($base - $tmin + 1) * $delta / ($delta + $skew));
5748 6074
 					$is_first = false;
@@ -5751,8 +6077,9 @@  discard block
 block discarded – undo
5751 6077
 
5752 6078
 					if ($deco_len > 0)
5753 6079
 					{
5754
-						for ($i = $deco_len; $i > $idx; $i--)
5755
-							$decoded[$i] = $decoded[($i - 1)];
6080
+						for ($i = $deco_len; $i > $idx; $i--) {
6081
+													$decoded[$i] = $decoded[($i - 1)];
6082
+						}
5756 6083
 					}
5757 6084
 					$decoded[$idx++] = $char;
5758 6085
 				}
@@ -5760,24 +6087,29 @@  discard block
 block discarded – undo
5760 6087
 				foreach ($decoded as $k => $v)
5761 6088
 				{
5762 6089
 					// 7bit are transferred literally
5763
-					if ($v < 128)
5764
-						$output .= chr($v);
6090
+					if ($v < 128) {
6091
+											$output .= chr($v);
6092
+					}
5765 6093
 
5766 6094
 					// 2 bytes
5767
-					elseif ($v < (1 << 11))
5768
-						$output .= chr(192+($v >> 6)) . chr(128+($v & 63));
6095
+					elseif ($v < (1 << 11)) {
6096
+											$output .= chr(192+($v >> 6)) . chr(128+($v & 63));
6097
+					}
5769 6098
 
5770 6099
 					// 3 bytes
5771
-					elseif ($v < (1 << 16))
5772
-						$output .= chr(224+($v >> 12)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63));
6100
+					elseif ($v < (1 << 16)) {
6101
+											$output .= chr(224+($v >> 12)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63));
6102
+					}
5773 6103
 
5774 6104
 					// 4 bytes
5775
-					elseif ($v < (1 << 21))
5776
-						$output .= chr(240+($v >> 18)) . chr(128+(($v >> 12) & 63)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63));
6105
+					elseif ($v < (1 << 21)) {
6106
+											$output .= chr(240+($v >> 18)) . chr(128+(($v >> 12) & 63)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63));
6107
+					}
5777 6108
 
5778 6109
 					//  'Conversion from UCS-4 to UTF-8 failed: malformed input at byte '.$k
5779
-					else
5780
-						$output .= $safe_char;
6110
+					else {
6111
+											$output .= $safe_char;
6112
+					}
5781 6113
 				}
5782 6114
 
5783 6115
 				$output_parts[] = $output;
@@ -5870,8 +6202,7 @@  discard block
 block discarded – undo
5870 6202
 
5871 6203
 		$strlen = 'mb_strlen';
5872 6204
 		$substr = 'mb_substr';
5873
-	}
5874
-	else
6205
+	} else
5875 6206
 	{
5876 6207
 		$strlen = $smcFunc['strlen'];
5877 6208
 		$substr = $smcFunc['substr'];
@@ -5885,20 +6216,21 @@  discard block
 block discarded – undo
5885 6216
 
5886 6217
 		$first = $substr($string, 0, 1);
5887 6218
 
5888
-		if (empty($index[$first]))
5889
-			$index[$first] = array();
6219
+		if (empty($index[$first])) {
6220
+					$index[$first] = array();
6221
+		}
5890 6222
 
5891 6223
 		if ($strlen($string) > 1)
5892 6224
 		{
5893 6225
 			// Sanity check on recursion
5894
-			if ($depth > 99)
5895
-				$index[$first][$substr($string, 1)] = '';
5896
-
5897
-			else
5898
-				$index[$first] = $add_string_to_index($substr($string, 1), $index[$first]);
6226
+			if ($depth > 99) {
6227
+							$index[$first][$substr($string, 1)] = '';
6228
+			} else {
6229
+							$index[$first] = $add_string_to_index($substr($string, 1), $index[$first]);
6230
+			}
6231
+		} else {
6232
+					$index[$first][''] = '';
5899 6233
 		}
5900
-		else
5901
-			$index[$first][''] = '';
5902 6234
 
5903 6235
 		$depth--;
5904 6236
 		return $index;
@@ -5921,9 +6253,9 @@  discard block
 block discarded – undo
5921 6253
 			$key_regex = preg_quote($key, $delim);
5922 6254
 			$new_key = $key;
5923 6255
 
5924
-			if (empty($value))
5925
-				$sub_regex = '';
5926
-			else
6256
+			if (empty($value)) {
6257
+							$sub_regex = '';
6258
+			} else
5927 6259
 			{
5928 6260
 				$sub_regex = $index_to_regex($value, $delim);
5929 6261
 
@@ -5931,22 +6263,22 @@  discard block
 block discarded – undo
5931 6263
 				{
5932 6264
 					$new_key_array = explode('(?'.'>', $sub_regex);
5933 6265
 					$new_key .= $new_key_array[0];
6266
+				} else {
6267
+									$sub_regex = '(?'.'>' . $sub_regex . ')';
5934 6268
 				}
5935
-				else
5936
-					$sub_regex = '(?'.'>' . $sub_regex . ')';
5937 6269
 			}
5938 6270
 
5939
-			if ($depth > 1)
5940
-				$regex[$new_key] = $key_regex . $sub_regex;
5941
-			else
6271
+			if ($depth > 1) {
6272
+							$regex[$new_key] = $key_regex . $sub_regex;
6273
+			} else
5942 6274
 			{
5943 6275
 				if (($length += strlen($key_regex) + 1) < $max_length || empty($regex))
5944 6276
 				{
5945 6277
 					$regex[$new_key] = $key_regex . $sub_regex;
5946 6278
 					unset($index[$key]);
6279
+				} else {
6280
+									break;
5947 6281
 				}
5948
-				else
5949
-					break;
5950 6282
 			}
5951 6283
 		}
5952 6284
 
@@ -5955,10 +6287,11 @@  discard block
 block discarded – undo
5955 6287
 			$l1 = $strlen($k1);
5956 6288
 			$l2 = $strlen($k2);
5957 6289
 
5958
-			if ($l1 == $l2)
5959
-				return strcmp($k1, $k2) > 0 ? 1 : -1;
5960
-			else
5961
-				return $l1 > $l2 ? -1 : 1;
6290
+			if ($l1 == $l2) {
6291
+							return strcmp($k1, $k2) > 0 ? 1 : -1;
6292
+			} else {
6293
+							return $l1 > $l2 ? -1 : 1;
6294
+			}
5962 6295
 		});
5963 6296
 
5964 6297
 		$depth--;
@@ -5969,21 +6302,24 @@  discard block
 block discarded – undo
5969 6302
 	$index = array();
5970 6303
 	$regex = '';
5971 6304
 
5972
-	foreach ($strings as $string)
5973
-		$index = $add_string_to_index($string, $index);
6305
+	foreach ($strings as $string) {
6306
+			$index = $add_string_to_index($string, $index);
6307
+	}
5974 6308
 
5975 6309
 	if ($returnArray === true)
5976 6310
 	{
5977 6311
 		$regex = array();
5978
-		while (!empty($index))
5979
-			$regex[] = '(?'.'>' . $index_to_regex($index, $delim) . ')';
6312
+		while (!empty($index)) {
6313
+					$regex[] = '(?'.'>' . $index_to_regex($index, $delim) . ')';
6314
+		}
6315
+	} else {
6316
+			$regex = '(?'.'>' . $index_to_regex($index, $delim) . ')';
5980 6317
 	}
5981
-	else
5982
-		$regex = '(?'.'>' . $index_to_regex($index, $delim) . ')';
5983 6318
 
5984 6319
 	// Restore PHP's internal character encoding to whatever it was originally
5985
-	if (!empty($current_encoding))
5986
-		mb_internal_encoding($current_encoding);
6320
+	if (!empty($current_encoding)) {
6321
+			mb_internal_encoding($current_encoding);
6322
+	}
5987 6323
 
5988 6324
 	return $regex;
5989 6325
 }
@@ -6021,13 +6357,15 @@  discard block
 block discarded – undo
6021 6357
 	// Need to add the trailing slash, or it puts it there & thinks there's a redirect when there isn't...
6022 6358
 	$url = str_ireplace('https://', 'http://', $url) . '/';
6023 6359
 	$headers = @get_headers($url);
6024
-	if ($headers === false)
6025
-		return false;
6360
+	if ($headers === false) {
6361
+			return false;
6362
+	}
6026 6363
 
6027 6364
 	// Now to see if it came back https...   
6028 6365
 	// First check for a redirect status code in first row (301, 302, 307)
6029
-	if (strstr($headers[0], '301') === false && strstr($headers[0], '302') === false && strstr($headers[0], '307') === false)
6030
-		return false;
6366
+	if (strstr($headers[0], '301') === false && strstr($headers[0], '302') === false && strstr($headers[0], '307') === false) {
6367
+			return false;
6368
+	}
6031 6369
 	
6032 6370
 	// Search for the location entry to confirm https
6033 6371
 	$result = false;
Please login to merge, or discard this patch.
other/install.php 1 patch
Braces   +452 added lines, -336 removed lines patch added patch discarded remove patch
@@ -20,8 +20,9 @@  discard block
 block discarded – undo
20 20
 // ><html dir="ltr"><head><title>Error!</title></head><body>Sorry, this installer requires PHP!<div style="display: none;">
21 21
 
22 22
 // Let's pull in useful classes
23
-if (!defined('SMF'))
23
+if (!defined('SMF')) {
24 24
 	define('SMF', 1);
25
+}
25 26
 
26 27
 require_once('Sources/Class-Package.php');
27 28
 
@@ -63,10 +64,11 @@  discard block
 block discarded – undo
63 64
 
64 65
 			list ($charcode) = pg_fetch_row($request);
65 66
 
66
-			if ($charcode == 'UTF8')
67
-				return true;
68
-			else
69
-				return false;
67
+			if ($charcode == 'UTF8') {
68
+							return true;
69
+			} else {
70
+							return false;
71
+			}
70 72
 		},
71 73
 		'utf8_version' => '8.0',
72 74
 		'utf8_version_check' => '$request = pg_query(\'SELECT version()\'); list ($version) = pg_fetch_row($request); list($pgl, $version) = explode(" ", $version); return $version;',
@@ -76,12 +78,14 @@  discard block
 block discarded – undo
76 78
 			$value = preg_replace('~[^A-Za-z0-9_\$]~', '', $value);
77 79
 
78 80
 			// Is it reserved?
79
-			if ($value == 'pg_')
80
-				return $txt['error_db_prefix_reserved'];
81
+			if ($value == 'pg_') {
82
+							return $txt['error_db_prefix_reserved'];
83
+			}
81 84
 
82 85
 			// Is the prefix numeric?
83
-			if (preg_match('~^\d~', $value))
84
-				return $txt['error_db_prefix_numeric'];
86
+			if (preg_match('~^\d~', $value)) {
87
+							return $txt['error_db_prefix_numeric'];
88
+			}
85 89
 
86 90
 			return true;
87 91
 		},
@@ -128,10 +132,11 @@  discard block
 block discarded – undo
128 132
 		$incontext['skip'] = false;
129 133
 
130 134
 		// Call the step and if it returns false that means pause!
131
-		if (function_exists($step[2]) && $step[2]() === false)
132
-			break;
133
-		elseif (function_exists($step[2]))
134
-			$incontext['current_step']++;
135
+		if (function_exists($step[2]) && $step[2]() === false) {
136
+					break;
137
+		} elseif (function_exists($step[2])) {
138
+					$incontext['current_step']++;
139
+		}
135 140
 
136 141
 		// No warnings pass on.
137 142
 		$incontext['warning'] = '';
@@ -147,8 +152,9 @@  discard block
 block discarded – undo
147 152
 	global $databases;
148 153
 
149 154
 	// Just so people using older versions of PHP aren't left in the cold.
150
-	if (!isset($_SERVER['PHP_SELF']))
151
-		$_SERVER['PHP_SELF'] = isset($GLOBALS['HTTP_SERVER_VARS']['PHP_SELF']) ? $GLOBALS['HTTP_SERVER_VARS']['PHP_SELF'] : 'install.php';
155
+	if (!isset($_SERVER['PHP_SELF'])) {
156
+			$_SERVER['PHP_SELF'] = isset($GLOBALS['HTTP_SERVER_VARS']['PHP_SELF']) ? $GLOBALS['HTTP_SERVER_VARS']['PHP_SELF'] : 'install.php';
157
+	}
152 158
 
153 159
 	// Enable error reporting.
154 160
 	error_reporting(E_ALL);
@@ -164,21 +170,23 @@  discard block
 block discarded – undo
164 170
 	{
165 171
 		ob_start();
166 172
 
167
-		if (ini_get('session.save_handler') == 'user')
168
-			@ini_set('session.save_handler', 'files');
169
-		if (function_exists('session_start'))
170
-			@session_start();
171
-	}
172
-	else
173
+		if (ini_get('session.save_handler') == 'user') {
174
+					@ini_set('session.save_handler', 'files');
175
+		}
176
+		if (function_exists('session_start')) {
177
+					@session_start();
178
+		}
179
+	} else
173 180
 	{
174 181
 		ob_start('ob_gzhandler');
175 182
 
176
-		if (ini_get('session.save_handler') == 'user')
177
-			@ini_set('session.save_handler', 'files');
183
+		if (ini_get('session.save_handler') == 'user') {
184
+					@ini_set('session.save_handler', 'files');
185
+		}
178 186
 		session_start();
179 187
 
180
-		if (!headers_sent())
181
-			echo '<!DOCTYPE html>
188
+		if (!headers_sent()) {
189
+					echo '<!DOCTYPE html>
182 190
 <html>
183 191
 	<head>
184 192
 		<title>', htmlspecialchars($_GET['pass_string']), '</title>
@@ -187,14 +195,16 @@  discard block
 block discarded – undo
187 195
 		<strong>', htmlspecialchars($_GET['pass_string']), '</strong>
188 196
 	</body>
189 197
 </html>';
198
+		}
190 199
 		exit;
191 200
 	}
192 201
 
193 202
 	// Add slashes, as long as they aren't already being added.
194
-	if (!function_exists('get_magic_quotes_gpc') || @get_magic_quotes_gpc() == 0)
195
-		foreach ($_POST as $k => $v)
203
+	if (!function_exists('get_magic_quotes_gpc') || @get_magic_quotes_gpc() == 0) {
204
+			foreach ($_POST as $k => $v)
196 205
 			if (strpos($k, 'password') === false && strpos($k, 'db_passwd') === false)
197 206
 				$_POST[$k] = addslashes($v);
207
+	}
198 208
 
199 209
 	// This is really quite simple; if ?delete is on the URL, delete the installer...
200 210
 	if (isset($_GET['delete']))
@@ -215,8 +225,7 @@  discard block
 block discarded – undo
215 225
 			$ftp->close();
216 226
 
217 227
 			unset($_SESSION['installer_temp_ftp']);
218
-		}
219
-		else
228
+		} else
220 229
 		{
221 230
 			@unlink(__FILE__);
222 231
 
@@ -237,10 +246,11 @@  discard block
 block discarded – undo
237 246
 	{
238 247
 		// Get PHP's default timezone, if set
239 248
 		$ini_tz = ini_get('date.timezone');
240
-		if (!empty($ini_tz))
241
-			$timezone_id = $ini_tz;
242
-		else
243
-			$timezone_id = '';
249
+		if (!empty($ini_tz)) {
250
+					$timezone_id = $ini_tz;
251
+		} else {
252
+					$timezone_id = '';
253
+		}
244 254
 
245 255
 		// If date.timezone is unset, invalid, or just plain weird, make a best guess
246 256
 		if (!in_array($timezone_id, timezone_identifiers_list()))
@@ -270,8 +280,9 @@  discard block
 block discarded – undo
270 280
 		$dir = dir(dirname(__FILE__) . '/Themes/default/languages');
271 281
 		while ($entry = $dir->read())
272 282
 		{
273
-			if (substr($entry, 0, 8) == 'Install.' && substr($entry, -4) == '.php')
274
-				$incontext['detected_languages'][$entry] = ucfirst(substr($entry, 8, strlen($entry) - 12));
283
+			if (substr($entry, 0, 8) == 'Install.' && substr($entry, -4) == '.php') {
284
+							$incontext['detected_languages'][$entry] = ucfirst(substr($entry, 8, strlen($entry) - 12));
285
+			}
275 286
 		}
276 287
 		$dir->close();
277 288
 	}
@@ -306,10 +317,11 @@  discard block
 block discarded – undo
306 317
 	}
307 318
 
308 319
 	// Override the language file?
309
-	if (isset($_GET['lang_file']))
310
-		$_SESSION['installer_temp_lang'] = $_GET['lang_file'];
311
-	elseif (isset($GLOBALS['HTTP_GET_VARS']['lang_file']))
312
-		$_SESSION['installer_temp_lang'] = $GLOBALS['HTTP_GET_VARS']['lang_file'];
320
+	if (isset($_GET['lang_file'])) {
321
+			$_SESSION['installer_temp_lang'] = $_GET['lang_file'];
322
+	} elseif (isset($GLOBALS['HTTP_GET_VARS']['lang_file'])) {
323
+			$_SESSION['installer_temp_lang'] = $GLOBALS['HTTP_GET_VARS']['lang_file'];
324
+	}
313 325
 
314 326
 	// Make sure it exists, if it doesn't reset it.
315 327
 	if (!isset($_SESSION['installer_temp_lang']) || preg_match('~[^\\w_\\-.]~', $_SESSION['installer_temp_lang']) === 1 || !file_exists(dirname(__FILE__) . '/Themes/default/languages/' . $_SESSION['installer_temp_lang']))
@@ -318,8 +330,9 @@  discard block
 block discarded – undo
318 330
 		list ($_SESSION['installer_temp_lang']) = array_keys($incontext['detected_languages']);
319 331
 
320 332
 		// If we have english and some other language, use the other language.  We Americans hate english :P.
321
-		if ($_SESSION['installer_temp_lang'] == 'Install.english.php' && count($incontext['detected_languages']) > 1)
322
-			list (, $_SESSION['installer_temp_lang']) = array_keys($incontext['detected_languages']);
333
+		if ($_SESSION['installer_temp_lang'] == 'Install.english.php' && count($incontext['detected_languages']) > 1) {
334
+					list (, $_SESSION['installer_temp_lang']) = array_keys($incontext['detected_languages']);
335
+		}
323 336
 	}
324 337
 
325 338
 	// And now include the actual language file itself.
@@ -332,15 +345,18 @@  discard block
 block discarded – undo
332 345
 	global $db_prefix, $db_connection, $sourcedir, $smcFunc, $modSettings;
333 346
 	global $db_server, $db_passwd, $db_type, $db_name, $db_user, $db_persist;
334 347
 
335
-	if (empty($sourcedir))
336
-		$sourcedir = dirname(__FILE__) . '/Sources';
348
+	if (empty($sourcedir)) {
349
+			$sourcedir = dirname(__FILE__) . '/Sources';
350
+	}
337 351
 
338 352
 	// Need this to check whether we need the database password.
339 353
 	require(dirname(__FILE__) . '/Settings.php');
340
-	if (!defined('SMF'))
341
-		define('SMF', 1);
342
-	if (empty($smcFunc))
343
-		$smcFunc = array();
354
+	if (!defined('SMF')) {
355
+			define('SMF', 1);
356
+	}
357
+	if (empty($smcFunc)) {
358
+			$smcFunc = array();
359
+	}
344 360
 
345 361
 	$modSettings['disableQueryCheck'] = true;
346 362
 
@@ -348,8 +364,9 @@  discard block
 block discarded – undo
348 364
 	if (!$db_connection)
349 365
 	{
350 366
 		require_once($sourcedir . '/Subs-Db-' . $db_type . '.php');
351
-		if (version_compare(PHP_VERSION, '5', '<'))
352
-			require_once($sourcedir . '/Subs-Compat.php');
367
+		if (version_compare(PHP_VERSION, '5', '<')) {
368
+					require_once($sourcedir . '/Subs-Compat.php');
369
+		}
353 370
 
354 371
 		$db_options = array('persist' => $db_persist);
355 372
 		$port = '';
@@ -360,19 +377,20 @@  discard block
 block discarded – undo
360 377
 			if ($db_type == 'mysql')
361 378
 			{
362 379
 				$port = ((int) $_POST['db_port'] == ini_get($db_type . 'default_port')) ? '' : (int) $_POST['db_port'];
363
-			}
364
-			elseif ($db_type == 'postgresql')
380
+			} elseif ($db_type == 'postgresql')
365 381
 			{
366 382
 				// PostgreSQL doesn't have a default port setting in php.ini, so just check against the default
367 383
 				$port = ((int) $_POST['db_port'] == 5432) ? '' : (int) $_POST['db_port'];
368 384
 			}
369 385
 		}
370 386
 
371
-		if (!empty($port))
372
-			$db_options['port'] = $port;
387
+		if (!empty($port)) {
388
+					$db_options['port'] = $port;
389
+		}
373 390
 
374
-		if (!$db_connection)
375
-			$db_connection = smf_db_initiate($db_server, $db_name, $db_user, $db_passwd, $db_prefix, $db_options);
391
+		if (!$db_connection) {
392
+					$db_connection = smf_db_initiate($db_server, $db_name, $db_user, $db_passwd, $db_prefix, $db_options);
393
+		}
376 394
 	}
377 395
 }
378 396
 
@@ -400,8 +418,9 @@  discard block
 block discarded – undo
400 418
 		// @todo REMOVE THIS!!
401 419
 		else
402 420
 		{
403
-			if (function_exists('doStep' . $_GET['step']))
404
-				call_user_func('doStep' . $_GET['step']);
421
+			if (function_exists('doStep' . $_GET['step'])) {
422
+							call_user_func('doStep' . $_GET['step']);
423
+			}
405 424
 		}
406 425
 		// Show the footer.
407 426
 		template_install_below();
@@ -419,8 +438,9 @@  discard block
 block discarded – undo
419 438
 	$incontext['sub_template'] = 'welcome_message';
420 439
 
421 440
 	// Done the submission?
422
-	if (isset($_POST['contbutt']))
423
-		return true;
441
+	if (isset($_POST['contbutt'])) {
442
+			return true;
443
+	}
424 444
 
425 445
 	// See if we think they have already installed it?
426 446
 	if (is_readable(dirname(__FILE__) . '/Settings.php'))
@@ -428,14 +448,17 @@  discard block
 block discarded – undo
428 448
 		$probably_installed = 0;
429 449
 		foreach (file(dirname(__FILE__) . '/Settings.php') as $line)
430 450
 		{
431
-			if (preg_match('~^\$db_passwd\s=\s\'([^\']+)\';$~', $line))
432
-				$probably_installed++;
433
-			if (preg_match('~^\$boardurl\s=\s\'([^\']+)\';~', $line) && !preg_match('~^\$boardurl\s=\s\'http://127\.0\.0\.1/smf\';~', $line))
434
-				$probably_installed++;
451
+			if (preg_match('~^\$db_passwd\s=\s\'([^\']+)\';$~', $line)) {
452
+							$probably_installed++;
453
+			}
454
+			if (preg_match('~^\$boardurl\s=\s\'([^\']+)\';~', $line) && !preg_match('~^\$boardurl\s=\s\'http://127\.0\.0\.1/smf\';~', $line)) {
455
+							$probably_installed++;
456
+			}
435 457
 		}
436 458
 
437
-		if ($probably_installed == 2)
438
-			$incontext['warning'] = $txt['error_already_installed'];
459
+		if ($probably_installed == 2) {
460
+					$incontext['warning'] = $txt['error_already_installed'];
461
+		}
439 462
 	}
440 463
 
441 464
 	// Is some database support even compiled in?
@@ -450,45 +473,54 @@  discard block
 block discarded – undo
450 473
 				$databases[$key]['supported'] = false;
451 474
 				$notFoundSQLFile = true;
452 475
 				$txt['error_db_script_missing'] = sprintf($txt['error_db_script_missing'], 'install_' . $GLOBALS['db_script_version'] . '_' . $type . '.sql');
476
+			} else {
477
+							$incontext['supported_databases'][] = $db;
453 478
 			}
454
-			else
455
-				$incontext['supported_databases'][] = $db;
456 479
 		}
457 480
 	}
458 481
 
459 482
 	// Check the PHP version.
460
-	if ((!function_exists('version_compare') || version_compare($GLOBALS['required_php_version'], PHP_VERSION, '>=')))
461
-		$error = 'error_php_too_low';
483
+	if ((!function_exists('version_compare') || version_compare($GLOBALS['required_php_version'], PHP_VERSION, '>='))) {
484
+			$error = 'error_php_too_low';
485
+	}
462 486
 	// Make sure we have a supported database
463
-	elseif (empty($incontext['supported_databases']))
464
-		$error = empty($notFoundSQLFile) ? 'error_db_missing' : 'error_db_script_missing';
487
+	elseif (empty($incontext['supported_databases'])) {
488
+			$error = empty($notFoundSQLFile) ? 'error_db_missing' : 'error_db_script_missing';
489
+	}
465 490
 	// How about session support?  Some crazy sysadmin remove it?
466
-	elseif (!function_exists('session_start'))
467
-		$error = 'error_session_missing';
491
+	elseif (!function_exists('session_start')) {
492
+			$error = 'error_session_missing';
493
+	}
468 494
 	// Make sure they uploaded all the files.
469
-	elseif (!file_exists(dirname(__FILE__) . '/index.php'))
470
-		$error = 'error_missing_files';
495
+	elseif (!file_exists(dirname(__FILE__) . '/index.php')) {
496
+			$error = 'error_missing_files';
497
+	}
471 498
 	// Very simple check on the session.save_path for Windows.
472 499
 	// @todo Move this down later if they don't use database-driven sessions?
473
-	elseif (@ini_get('session.save_path') == '/tmp' && substr(__FILE__, 1, 2) == ':\\')
474
-		$error = 'error_session_save_path';
500
+	elseif (@ini_get('session.save_path') == '/tmp' && substr(__FILE__, 1, 2) == ':\\') {
501
+			$error = 'error_session_save_path';
502
+	}
475 503
 
476 504
 	// Since each of the three messages would look the same, anyway...
477
-	if (isset($error))
478
-		$incontext['error'] = $txt[$error];
505
+	if (isset($error)) {
506
+			$incontext['error'] = $txt[$error];
507
+	}
479 508
 
480 509
 	// Mod_security blocks everything that smells funny. Let SMF handle security.
481
-	if (!fixModSecurity() && !isset($_GET['overmodsecurity']))
482
-		$incontext['error'] = $txt['error_mod_security'] . '<br><br><a href="' . $installurl . '?overmodsecurity=true">' . $txt['error_message_click'] . '</a> ' . $txt['error_message_bad_try_again'];
510
+	if (!fixModSecurity() && !isset($_GET['overmodsecurity'])) {
511
+			$incontext['error'] = $txt['error_mod_security'] . '<br><br><a href="' . $installurl . '?overmodsecurity=true">' . $txt['error_message_click'] . '</a> ' . $txt['error_message_bad_try_again'];
512
+	}
483 513
 
484 514
 	// Confirm mbstring is loaded...
485
-	if (!extension_loaded('mbstring'))
486
-		$incontext['error'] = $txt['install_no_mbstring'];
515
+	if (!extension_loaded('mbstring')) {
516
+			$incontext['error'] = $txt['install_no_mbstring'];
517
+	}
487 518
 
488 519
 	// Check for https stream support.
489 520
 	$supported_streams = stream_get_wrappers();
490
-	if (!in_array('https', $supported_streams))
491
-		$incontext['warning'] = $txt['install_no_https'];
521
+	if (!in_array('https', $supported_streams)) {
522
+			$incontext['warning'] = $txt['install_no_https'];
523
+	}
492 524
 
493 525
 	return false;
494 526
 }
@@ -514,12 +546,14 @@  discard block
 block discarded – undo
514 546
 		'db_last_error.php',
515 547
 	);
516 548
 
517
-	foreach ($incontext['detected_languages'] as $lang => $temp)
518
-		$extra_files[] = 'Themes/default/languages/' . $lang;
549
+	foreach ($incontext['detected_languages'] as $lang => $temp) {
550
+			$extra_files[] = 'Themes/default/languages/' . $lang;
551
+	}
519 552
 
520 553
 	// With mod_security installed, we could attempt to fix it with .htaccess.
521
-	if (function_exists('apache_get_modules') && in_array('mod_security', apache_get_modules()))
522
-		$writable_files[] = file_exists(dirname(__FILE__) . '/.htaccess') ? '.htaccess' : '.';
554
+	if (function_exists('apache_get_modules') && in_array('mod_security', apache_get_modules())) {
555
+			$writable_files[] = file_exists(dirname(__FILE__) . '/.htaccess') ? '.htaccess' : '.';
556
+	}
523 557
 
524 558
 	$failed_files = array();
525 559
 
@@ -531,20 +565,23 @@  discard block
 block discarded – undo
531 565
 		foreach ($writable_files as $file)
532 566
 		{
533 567
 			// Some files won't exist, try to address up front
534
-			if (!file_exists(dirname(__FILE__) . '/' . $file))
535
-				@touch(dirname(__FILE__) . '/' . $file);
568
+			if (!file_exists(dirname(__FILE__) . '/' . $file)) {
569
+							@touch(dirname(__FILE__) . '/' . $file);
570
+			}
536 571
 			// NOW do the writable check...
537 572
 			if (!is_writable(dirname(__FILE__) . '/' . $file))
538 573
 			{
539 574
 				@chmod(dirname(__FILE__) . '/' . $file, 0755);
540 575
 
541 576
 				// Well, 755 hopefully worked... if not, try 777.
542
-				if (!is_writable(dirname(__FILE__) . '/' . $file) && !@chmod(dirname(__FILE__) . '/' . $file, 0777))
543
-					$failed_files[] = $file;
577
+				if (!is_writable(dirname(__FILE__) . '/' . $file) && !@chmod(dirname(__FILE__) . '/' . $file, 0777)) {
578
+									$failed_files[] = $file;
579
+				}
544 580
 			}
545 581
 		}
546
-		foreach ($extra_files as $file)
547
-			@chmod(dirname(__FILE__) . (empty($file) ? '' : '/' . $file), 0777);
582
+		foreach ($extra_files as $file) {
583
+					@chmod(dirname(__FILE__) . (empty($file) ? '' : '/' . $file), 0777);
584
+		}
548 585
 	}
549 586
 	// Windows is trickier.  Let's try opening for r+...
550 587
 	else
@@ -554,30 +591,35 @@  discard block
 block discarded – undo
554 591
 		foreach ($writable_files as $file)
555 592
 		{
556 593
 			// Folders can't be opened for write... but the index.php in them can ;)
557
-			if (is_dir(dirname(__FILE__) . '/' . $file))
558
-				$file .= '/index.php';
594
+			if (is_dir(dirname(__FILE__) . '/' . $file)) {
595
+							$file .= '/index.php';
596
+			}
559 597
 
560 598
 			// Funny enough, chmod actually does do something on windows - it removes the read only attribute.
561 599
 			@chmod(dirname(__FILE__) . '/' . $file, 0777);
562 600
 			$fp = @fopen(dirname(__FILE__) . '/' . $file, 'r+');
563 601
 
564 602
 			// Hmm, okay, try just for write in that case...
565
-			if (!is_resource($fp))
566
-				$fp = @fopen(dirname(__FILE__) . '/' . $file, 'w');
603
+			if (!is_resource($fp)) {
604
+							$fp = @fopen(dirname(__FILE__) . '/' . $file, 'w');
605
+			}
567 606
 
568
-			if (!is_resource($fp))
569
-				$failed_files[] = $file;
607
+			if (!is_resource($fp)) {
608
+							$failed_files[] = $file;
609
+			}
570 610
 
571 611
 			@fclose($fp);
572 612
 		}
573
-		foreach ($extra_files as $file)
574
-			@chmod(dirname(__FILE__) . (empty($file) ? '' : '/' . $file), 0777);
613
+		foreach ($extra_files as $file) {
614
+					@chmod(dirname(__FILE__) . (empty($file) ? '' : '/' . $file), 0777);
615
+		}
575 616
 	}
576 617
 
577 618
 	$failure = count($failed_files) >= 1;
578 619
 
579
-	if (!isset($_SERVER))
580
-		return !$failure;
620
+	if (!isset($_SERVER)) {
621
+			return !$failure;
622
+	}
581 623
 
582 624
 	// Put the list into context.
583 625
 	$incontext['failed_files'] = $failed_files;
@@ -625,19 +667,23 @@  discard block
 block discarded – undo
625 667
 
626 668
 		if (!isset($ftp) || $ftp->error !== false)
627 669
 		{
628
-			if (!isset($ftp))
629
-				$ftp = new ftp_connection(null);
670
+			if (!isset($ftp)) {
671
+							$ftp = new ftp_connection(null);
672
+			}
630 673
 			// Save the error so we can mess with listing...
631
-			elseif ($ftp->error !== false && empty($incontext['ftp_errors']) && !empty($ftp->last_message))
632
-				$incontext['ftp_errors'][] = $ftp->last_message;
674
+			elseif ($ftp->error !== false && empty($incontext['ftp_errors']) && !empty($ftp->last_message)) {
675
+							$incontext['ftp_errors'][] = $ftp->last_message;
676
+			}
633 677
 
634 678
 			list ($username, $detect_path, $found_path) = $ftp->detect_path(dirname(__FILE__));
635 679
 
636
-			if (empty($_POST['ftp_path']) && $found_path)
637
-				$_POST['ftp_path'] = $detect_path;
680
+			if (empty($_POST['ftp_path']) && $found_path) {
681
+							$_POST['ftp_path'] = $detect_path;
682
+			}
638 683
 
639
-			if (!isset($_POST['ftp_username']))
640
-				$_POST['ftp_username'] = $username;
684
+			if (!isset($_POST['ftp_username'])) {
685
+							$_POST['ftp_username'] = $username;
686
+			}
641 687
 
642 688
 			// Set the username etc, into context.
643 689
 			$incontext['ftp'] = array(
@@ -649,8 +695,7 @@  discard block
 block discarded – undo
649 695
 			);
650 696
 
651 697
 			return false;
652
-		}
653
-		else
698
+		} else
654 699
 		{
655 700
 			$_SESSION['installer_temp_ftp'] = array(
656 701
 				'server' => $_POST['ftp_server'],
@@ -664,10 +709,12 @@  discard block
 block discarded – undo
664 709
 
665 710
 			foreach ($failed_files as $file)
666 711
 			{
667
-				if (!is_writable(dirname(__FILE__) . '/' . $file))
668
-					$ftp->chmod($file, 0755);
669
-				if (!is_writable(dirname(__FILE__) . '/' . $file))
670
-					$ftp->chmod($file, 0777);
712
+				if (!is_writable(dirname(__FILE__) . '/' . $file)) {
713
+									$ftp->chmod($file, 0755);
714
+				}
715
+				if (!is_writable(dirname(__FILE__) . '/' . $file)) {
716
+									$ftp->chmod($file, 0777);
717
+				}
671 718
 				if (!is_writable(dirname(__FILE__) . '/' . $file))
672 719
 				{
673 720
 					$failed_files_updated[] = $file;
@@ -723,15 +770,17 @@  discard block
 block discarded – undo
723 770
 
724 771
 			if (!$foundOne)
725 772
 			{
726
-				if (isset($db['default_host']))
727
-					$incontext['db']['server'] = ini_get($db['default_host']) or $incontext['db']['server'] = 'localhost';
773
+				if (isset($db['default_host'])) {
774
+									$incontext['db']['server'] = ini_get($db['default_host']) or $incontext['db']['server'] = 'localhost';
775
+				}
728 776
 				if (isset($db['default_user']))
729 777
 				{
730 778
 					$incontext['db']['user'] = ini_get($db['default_user']);
731 779
 					$incontext['db']['name'] = ini_get($db['default_user']);
732 780
 				}
733
-				if (isset($db['default_password']))
734
-					$incontext['db']['pass'] = ini_get($db['default_password']);
781
+				if (isset($db['default_password'])) {
782
+									$incontext['db']['pass'] = ini_get($db['default_password']);
783
+				}
735 784
 
736 785
 				// For simplicity and less confusion, leave the port blank by default
737 786
 				$incontext['db']['port'] = '';
@@ -750,10 +799,10 @@  discard block
 block discarded – undo
750 799
 		$incontext['db']['server'] = $_POST['db_server'];
751 800
 		$incontext['db']['prefix'] = $_POST['db_prefix'];
752 801
 
753
-		if (!empty($_POST['db_port']))
754
-			$incontext['db']['port'] = $_POST['db_port'];
755
-	}
756
-	else
802
+		if (!empty($_POST['db_port'])) {
803
+					$incontext['db']['port'] = $_POST['db_port'];
804
+		}
805
+	} else
757 806
 	{
758 807
 		$incontext['db']['prefix'] = 'smf_';
759 808
 	}
@@ -789,10 +838,11 @@  discard block
 block discarded – undo
789 838
 		if (!empty($_POST['db_port']))
790 839
 		{
791 840
 			// For MySQL, we can get the "default port" from PHP. PostgreSQL has no such option though.
792
-			if (($db_type == 'mysql' || $db_type == 'mysqli') && $_POST['db_port'] != ini_get($db_type . '.default_port'))
793
-				$vars['db_port'] = (int) $_POST['db_port'];
794
-			elseif ($db_type == 'postgresql' && $_POST['db_port'] != 5432)
795
-				$vars['db_port'] = (int) $_POST['db_port'];
841
+			if (($db_type == 'mysql' || $db_type == 'mysqli') && $_POST['db_port'] != ini_get($db_type . '.default_port')) {
842
+							$vars['db_port'] = (int) $_POST['db_port'];
843
+			} elseif ($db_type == 'postgresql' && $_POST['db_port'] != 5432) {
844
+							$vars['db_port'] = (int) $_POST['db_port'];
845
+			}
796 846
 		}
797 847
 
798 848
 		// God I hope it saved!
@@ -805,8 +855,9 @@  discard block
 block discarded – undo
805 855
 		// Make sure it works.
806 856
 		require(dirname(__FILE__) . '/Settings.php');
807 857
 
808
-		if (empty($sourcedir))
809
-			$sourcedir = dirname(__FILE__) . '/Sources';
858
+		if (empty($sourcedir)) {
859
+					$sourcedir = dirname(__FILE__) . '/Sources';
860
+		}
810 861
 
811 862
 		// Better find the database file!
812 863
 		if (!file_exists($sourcedir . '/Subs-Db-' . $db_type . '.php'))
@@ -816,18 +867,21 @@  discard block
 block discarded – undo
816 867
 		}
817 868
 
818 869
 		// Now include it for database functions!
819
-		if (!defined('SMF'))
820
-			define('SMF', 1);
870
+		if (!defined('SMF')) {
871
+					define('SMF', 1);
872
+		}
821 873
 
822 874
 		$modSettings['disableQueryCheck'] = true;
823
-		if (empty($smcFunc))
824
-			$smcFunc = array();
875
+		if (empty($smcFunc)) {
876
+					$smcFunc = array();
877
+		}
825 878
 
826 879
 			require_once($sourcedir . '/Subs-Db-' . $db_type . '.php');
827 880
 
828 881
 		// What - running PHP4? The shame!
829
-		if (version_compare(PHP_VERSION, '5', '<'))
830
-			require_once($sourcedir . '/Subs-Compat.php');
882
+		if (version_compare(PHP_VERSION, '5', '<')) {
883
+					require_once($sourcedir . '/Subs-Compat.php');
884
+		}
831 885
 
832 886
 		// Attempt a connection.
833 887
 		$needsDB = !empty($databases[$db_type]['always_has_db']);
@@ -915,12 +969,14 @@  discard block
 block discarded – undo
915 969
 	$incontext['page_title'] = $txt['install_settings'];
916 970
 
917 971
 	// Let's see if we got the database type correct.
918
-	if (isset($_POST['db_type'], $databases[$_POST['db_type']]))
919
-		$db_type = $_POST['db_type'];
972
+	if (isset($_POST['db_type'], $databases[$_POST['db_type']])) {
973
+			$db_type = $_POST['db_type'];
974
+	}
920 975
 
921 976
 	// Else we'd better be able to get the connection.
922
-	else
923
-		load_database();
977
+	else {
978
+			load_database();
979
+	}
924 980
 
925 981
 	$db_type = isset($_POST['db_type']) ? $_POST['db_type'] : $db_type;
926 982
 
@@ -957,18 +1013,21 @@  discard block
 block discarded – undo
957 1013
 	// Submitting?
958 1014
 	if (isset($_POST['boardurl']))
959 1015
 	{
960
-		if (substr($_POST['boardurl'], -10) == '/index.php')
961
-			$_POST['boardurl'] = substr($_POST['boardurl'], 0, -10);
962
-		elseif (substr($_POST['boardurl'], -1) == '/')
963
-			$_POST['boardurl'] = substr($_POST['boardurl'], 0, -1);
964
-		if (substr($_POST['boardurl'], 0, 7) != 'http://' && substr($_POST['boardurl'], 0, 7) != 'file://' && substr($_POST['boardurl'], 0, 8) != 'https://')
965
-			$_POST['boardurl'] = 'http://' . $_POST['boardurl'];
1016
+		if (substr($_POST['boardurl'], -10) == '/index.php') {
1017
+					$_POST['boardurl'] = substr($_POST['boardurl'], 0, -10);
1018
+		} elseif (substr($_POST['boardurl'], -1) == '/') {
1019
+					$_POST['boardurl'] = substr($_POST['boardurl'], 0, -1);
1020
+		}
1021
+		if (substr($_POST['boardurl'], 0, 7) != 'http://' && substr($_POST['boardurl'], 0, 7) != 'file://' && substr($_POST['boardurl'], 0, 8) != 'https://') {
1022
+					$_POST['boardurl'] = 'http://' . $_POST['boardurl'];
1023
+		}
966 1024
 
967 1025
 		//Make sure boardurl is aligned with ssl setting
968
-		if (empty($_POST['force_ssl']))
969
-			$_POST['boardurl'] = strtr($_POST['boardurl'], array('https://' => 'http://'));
970
-		else
971
-			$_POST['boardurl'] = strtr($_POST['boardurl'], array('http://' => 'https://'));		
1026
+		if (empty($_POST['force_ssl'])) {
1027
+					$_POST['boardurl'] = strtr($_POST['boardurl'], array('https://' => 'http://'));
1028
+		} else {
1029
+					$_POST['boardurl'] = strtr($_POST['boardurl'], array('http://' => 'https://'));
1030
+		}
972 1031
 
973 1032
 		// Save these variables.
974 1033
 		$vars = array(
@@ -1007,10 +1066,10 @@  discard block
 block discarded – undo
1007 1066
 			{
1008 1067
 				$incontext['error'] = sprintf($txt['error_utf8_version'], $databases[$db_type]['utf8_version']);
1009 1068
 				return false;
1010
-			}
1011
-			else
1012
-				// Set the character set here.
1069
+			} else {
1070
+							// Set the character set here.
1013 1071
 				updateSettingsFile(array('db_character_set' => 'utf8'));
1072
+			}
1014 1073
 		}
1015 1074
 
1016 1075
 		// Good, skip on.
@@ -1030,8 +1089,9 @@  discard block
 block discarded – undo
1030 1089
 	$incontext['continue'] = 1;
1031 1090
 
1032 1091
 	// Already done?
1033
-	if (isset($_POST['pop_done']))
1034
-		return true;
1092
+	if (isset($_POST['pop_done'])) {
1093
+			return true;
1094
+	}
1035 1095
 
1036 1096
 	// Reload settings.
1037 1097
 	require(dirname(__FILE__) . '/Settings.php');
@@ -1049,8 +1109,9 @@  discard block
 block discarded – undo
1049 1109
 	$modSettings = array();
1050 1110
 	if ($result !== false)
1051 1111
 	{
1052
-		while ($row = $smcFunc['db_fetch_assoc']($result))
1053
-			$modSettings[$row['variable']] = $row['value'];
1112
+		while ($row = $smcFunc['db_fetch_assoc']($result)) {
1113
+					$modSettings[$row['variable']] = $row['value'];
1114
+		}
1054 1115
 		$smcFunc['db_free_result']($result);
1055 1116
 
1056 1117
 		// Do they match?  If so, this is just a refresh so charge on!
@@ -1063,20 +1124,22 @@  discard block
 block discarded – undo
1063 1124
 	$modSettings['disableQueryCheck'] = true;
1064 1125
 
1065 1126
 	// If doing UTF8, select it. PostgreSQL requires passing it as a string...
1066
-	if (!empty($db_character_set) && $db_character_set == 'utf8' && !empty($databases[$db_type]['utf8_support']))
1067
-		$smcFunc['db_query']('', '
1127
+	if (!empty($db_character_set) && $db_character_set == 'utf8' && !empty($databases[$db_type]['utf8_support'])) {
1128
+			$smcFunc['db_query']('', '
1068 1129
 			SET NAMES {string:utf8}',
1069 1130
 			array(
1070 1131
 				'db_error_skip' => true,
1071 1132
 				'utf8' => 'utf8',
1072 1133
 			)
1073 1134
 		);
1135
+	}
1074 1136
 
1075 1137
 	// Windows likes to leave the trailing slash, which yields to C:\path\to\SMF\/attachments...
1076
-	if (substr(__DIR__, -1) == '\\')
1077
-		$attachdir = __DIR__ . 'attachments';
1078
-	else
1079
-		$attachdir = __DIR__ . '/attachments';
1138
+	if (substr(__DIR__, -1) == '\\') {
1139
+			$attachdir = __DIR__ . 'attachments';
1140
+	} else {
1141
+			$attachdir = __DIR__ . '/attachments';
1142
+	}
1080 1143
 
1081 1144
 	$replaces = array(
1082 1145
 		'{$db_prefix}' => $db_prefix,
@@ -1093,8 +1156,9 @@  discard block
 block discarded – undo
1093 1156
 
1094 1157
 	foreach ($txt as $key => $value)
1095 1158
 	{
1096
-		if (substr($key, 0, 8) == 'default_')
1097
-			$replaces['{$' . $key . '}'] = $smcFunc['db_escape_string']($value);
1159
+		if (substr($key, 0, 8) == 'default_') {
1160
+					$replaces['{$' . $key . '}'] = $smcFunc['db_escape_string']($value);
1161
+		}
1098 1162
 	}
1099 1163
 	$replaces['{$default_reserved_names}'] = strtr($replaces['{$default_reserved_names}'], array('\\\\n' => '\\n'));
1100 1164
 
@@ -1109,8 +1173,9 @@  discard block
 block discarded – undo
1109 1173
 
1110 1174
 		while ($row = $smcFunc['db_fetch_assoc']($get_engines))
1111 1175
 		{
1112
-			if ($row['Support'] == 'YES' || $row['Support'] == 'DEFAULT')
1113
-				$engines[] = $row['Engine'];
1176
+			if ($row['Support'] == 'YES' || $row['Support'] == 'DEFAULT') {
1177
+							$engines[] = $row['Engine'];
1178
+			}
1114 1179
 		}
1115 1180
 
1116 1181
 		// Done with this now
@@ -1134,8 +1199,7 @@  discard block
 block discarded – undo
1134 1199
 			$replaces['START TRANSACTION;'] = '';
1135 1200
 			$replaces['COMMIT;'] = '';
1136 1201
 		}
1137
-	}
1138
-	else
1202
+	} else
1139 1203
 	{
1140 1204
 		$has_innodb = false;
1141 1205
 	}
@@ -1157,21 +1221,24 @@  discard block
 block discarded – undo
1157 1221
 	foreach ($sql_lines as $count => $line)
1158 1222
 	{
1159 1223
 		// No comments allowed!
1160
-		if (substr(trim($line), 0, 1) != '#')
1161
-			$current_statement .= "\n" . rtrim($line);
1224
+		if (substr(trim($line), 0, 1) != '#') {
1225
+					$current_statement .= "\n" . rtrim($line);
1226
+		}
1162 1227
 
1163 1228
 		// Is this the end of the query string?
1164
-		if (empty($current_statement) || (preg_match('~;[\s]*$~s', $line) == 0 && $count != count($sql_lines)))
1165
-			continue;
1229
+		if (empty($current_statement) || (preg_match('~;[\s]*$~s', $line) == 0 && $count != count($sql_lines))) {
1230
+					continue;
1231
+		}
1166 1232
 
1167 1233
 		// Does this table already exist?  If so, don't insert more data into it!
1168 1234
 		if (preg_match('~^\s*INSERT INTO ([^\s\n\r]+?)~', $current_statement, $match) != 0 && in_array($match[1], $exists))
1169 1235
 		{
1170 1236
 			preg_match_all('~\)[,;]~', $current_statement, $matches);
1171
-			if (!empty($matches[0]))
1172
-				$incontext['sql_results']['insert_dups'] += count($matches[0]);
1173
-			else
1174
-				$incontext['sql_results']['insert_dups']++;
1237
+			if (!empty($matches[0])) {
1238
+							$incontext['sql_results']['insert_dups'] += count($matches[0]);
1239
+			} else {
1240
+							$incontext['sql_results']['insert_dups']++;
1241
+			}
1175 1242
 
1176 1243
 			$current_statement = '';
1177 1244
 			continue;
@@ -1180,8 +1247,9 @@  discard block
 block discarded – undo
1180 1247
 		if ($smcFunc['db_query']('', $current_statement, array('security_override' => true, 'db_error_skip' => true), $db_connection) === false)
1181 1248
 		{
1182 1249
 			// Use the appropriate function based on the DB type
1183
-			if ($db_type == 'mysql' || $db_type == 'mysqli')
1184
-				$db_errorno = $db_type . '_errno';
1250
+			if ($db_type == 'mysql' || $db_type == 'mysqli') {
1251
+							$db_errorno = $db_type . '_errno';
1252
+			}
1185 1253
 
1186 1254
 			// Error 1050: Table already exists!
1187 1255
 			// @todo Needs to be made better!
@@ -1196,18 +1264,18 @@  discard block
 block discarded – undo
1196 1264
 				// MySQLi requires a connection object. It's optional with MySQL and Postgres
1197 1265
 				$incontext['failures'][$count] = $smcFunc['db_error']($db_connection);
1198 1266
 			}
1199
-		}
1200
-		else
1267
+		} else
1201 1268
 		{
1202
-			if (preg_match('~^\s*CREATE TABLE ([^\s\n\r]+?)~', $current_statement, $match) == 1)
1203
-				$incontext['sql_results']['tables']++;
1204
-			elseif (preg_match('~^\s*INSERT INTO ([^\s\n\r]+?)~', $current_statement, $match) == 1)
1269
+			if (preg_match('~^\s*CREATE TABLE ([^\s\n\r]+?)~', $current_statement, $match) == 1) {
1270
+							$incontext['sql_results']['tables']++;
1271
+			} elseif (preg_match('~^\s*INSERT INTO ([^\s\n\r]+?)~', $current_statement, $match) == 1)
1205 1272
 			{
1206 1273
 				preg_match_all('~\)[,;]~', $current_statement, $matches);
1207
-				if (!empty($matches[0]))
1208
-					$incontext['sql_results']['inserts'] += count($matches[0]);
1209
-				else
1210
-					$incontext['sql_results']['inserts']++;
1274
+				if (!empty($matches[0])) {
1275
+									$incontext['sql_results']['inserts'] += count($matches[0]);
1276
+				} else {
1277
+									$incontext['sql_results']['inserts']++;
1278
+				}
1211 1279
 			}
1212 1280
 		}
1213 1281
 
@@ -1220,15 +1288,17 @@  discard block
 block discarded – undo
1220 1288
 	// Sort out the context for the SQL.
1221 1289
 	foreach ($incontext['sql_results'] as $key => $number)
1222 1290
 	{
1223
-		if ($number == 0)
1224
-			unset($incontext['sql_results'][$key]);
1225
-		else
1226
-			$incontext['sql_results'][$key] = sprintf($txt['db_populate_' . $key], $number);
1291
+		if ($number == 0) {
1292
+					unset($incontext['sql_results'][$key]);
1293
+		} else {
1294
+					$incontext['sql_results'][$key] = sprintf($txt['db_populate_' . $key], $number);
1295
+		}
1227 1296
 	}
1228 1297
 
1229 1298
 	// Make sure UTF will be used globally.
1230
-	if ((!empty($databases[$db_type]['utf8_support']) && !empty($databases[$db_type]['utf8_required'])) || (empty($databases[$db_type]['utf8_required']) && !empty($databases[$db_type]['utf8_support']) && isset($_POST['utf8'])))
1231
-		$newSettings[] = array('global_character_set', 'UTF-8');
1299
+	if ((!empty($databases[$db_type]['utf8_support']) && !empty($databases[$db_type]['utf8_required'])) || (empty($databases[$db_type]['utf8_required']) && !empty($databases[$db_type]['utf8_support']) && isset($_POST['utf8']))) {
1300
+			$newSettings[] = array('global_character_set', 'UTF-8');
1301
+	}
1232 1302
 
1233 1303
 	// Maybe we can auto-detect better cookie settings?
1234 1304
 	preg_match('~^http[s]?://([^\.]+?)([^/]*?)(/.*)?$~', $boardurl, $matches);
@@ -1239,16 +1309,20 @@  discard block
 block discarded – undo
1239 1309
 		$globalCookies = false;
1240 1310
 
1241 1311
 		// Okay... let's see.  Using a subdomain other than www.? (not a perfect check.)
1242
-		if ($matches[2] != '' && (strpos(substr($matches[2], 1), '.') === false || in_array($matches[1], array('forum', 'board', 'community', 'forums', 'support', 'chat', 'help', 'talk', 'boards', 'www'))))
1243
-			$globalCookies = true;
1312
+		if ($matches[2] != '' && (strpos(substr($matches[2], 1), '.') === false || in_array($matches[1], array('forum', 'board', 'community', 'forums', 'support', 'chat', 'help', 'talk', 'boards', 'www')))) {
1313
+					$globalCookies = true;
1314
+		}
1244 1315
 		// If there's a / in the middle of the path, or it starts with ~... we want local.
1245
-		if (isset($matches[3]) && strlen($matches[3]) > 3 && (substr($matches[3], 0, 2) == '/~' || strpos(substr($matches[3], 1), '/') !== false))
1246
-			$localCookies = true;
1316
+		if (isset($matches[3]) && strlen($matches[3]) > 3 && (substr($matches[3], 0, 2) == '/~' || strpos(substr($matches[3], 1), '/') !== false)) {
1317
+					$localCookies = true;
1318
+		}
1247 1319
 
1248
-		if ($globalCookies)
1249
-			$newSettings[] = array('globalCookies', '1');
1250
-		if ($localCookies)
1251
-			$newSettings[] = array('localCookies', '1');
1320
+		if ($globalCookies) {
1321
+					$newSettings[] = array('globalCookies', '1');
1322
+		}
1323
+		if ($localCookies) {
1324
+					$newSettings[] = array('localCookies', '1');
1325
+		}
1252 1326
 	}
1253 1327
 
1254 1328
 	// Are we allowing stat collection?
@@ -1266,16 +1340,17 @@  discard block
 block discarded – undo
1266 1340
 			fwrite($fp, $out);
1267 1341
 
1268 1342
 			$return_data = '';
1269
-			while (!feof($fp))
1270
-				$return_data .= fgets($fp, 128);
1343
+			while (!feof($fp)) {
1344
+							$return_data .= fgets($fp, 128);
1345
+			}
1271 1346
 
1272 1347
 			fclose($fp);
1273 1348
 
1274 1349
 			// Get the unique site ID.
1275 1350
 			preg_match('~SITE-ID:\s(\w{10})~', $return_data, $ID);
1276 1351
 
1277
-			if (!empty($ID[1]))
1278
-				$smcFunc['db_insert']('replace',
1352
+			if (!empty($ID[1])) {
1353
+							$smcFunc['db_insert']('replace',
1279 1354
 					$db_prefix . 'settings',
1280 1355
 					array('variable' => 'string', 'value' => 'string'),
1281 1356
 					array(
@@ -1284,11 +1359,12 @@  discard block
 block discarded – undo
1284 1359
 					),
1285 1360
 					array('variable')
1286 1361
 				);
1362
+			}
1287 1363
 		}
1288 1364
 	}
1289 1365
 	// Don't remove stat collection unless we unchecked the box for real, not from the loop.
1290
-	elseif (empty($_POST['stats']) && empty($upcontext['allow_sm_stats']))
1291
-		$smcFunc['db_query']('', '
1366
+	elseif (empty($_POST['stats']) && empty($upcontext['allow_sm_stats'])) {
1367
+			$smcFunc['db_query']('', '
1292 1368
 			DELETE FROM {db_prefix}settings
1293 1369
 			WHERE variable = {string:enable_sm_stats}',
1294 1370
 			array(
@@ -1296,20 +1372,23 @@  discard block
 block discarded – undo
1296 1372
 				'db_error_skip' => true,
1297 1373
 			)
1298 1374
 		);
1375
+	}
1299 1376
 
1300 1377
 	// Are we enabling SSL?
1301
-	if (!empty($_POST['force_ssl']))
1302
-		$newSettings[] = array('force_ssl', 2);
1378
+	if (!empty($_POST['force_ssl'])) {
1379
+			$newSettings[] = array('force_ssl', 2);
1380
+	}
1303 1381
 
1304 1382
 	// Setting a timezone is required.
1305 1383
 	if (!isset($modSettings['default_timezone']) && function_exists('date_default_timezone_set'))
1306 1384
 	{
1307 1385
 		// Get PHP's default timezone, if set
1308 1386
 		$ini_tz = ini_get('date.timezone');
1309
-		if (!empty($ini_tz))
1310
-			$timezone_id = $ini_tz;
1311
-		else
1312
-			$timezone_id = '';
1387
+		if (!empty($ini_tz)) {
1388
+					$timezone_id = $ini_tz;
1389
+		} else {
1390
+					$timezone_id = '';
1391
+		}
1313 1392
 
1314 1393
 		// If date.timezone is unset, invalid, or just plain weird, make a best guess
1315 1394
 		if (!in_array($timezone_id, timezone_identifiers_list()))
@@ -1318,8 +1397,9 @@  discard block
 block discarded – undo
1318 1397
 			$timezone_id = timezone_name_from_abbr('', $server_offset, 0);
1319 1398
 		}
1320 1399
 
1321
-		if (date_default_timezone_set($timezone_id))
1322
-			$newSettings[] = array('default_timezone', $timezone_id);
1400
+		if (date_default_timezone_set($timezone_id)) {
1401
+					$newSettings[] = array('default_timezone', $timezone_id);
1402
+		}
1323 1403
 	}
1324 1404
 
1325 1405
 	if (!empty($newSettings))
@@ -1350,16 +1430,18 @@  discard block
 block discarded – undo
1350 1430
 	}
1351 1431
 
1352 1432
 	// MySQL specific stuff
1353
-	if (substr($db_type, 0, 5) != 'mysql')
1354
-		return false;
1433
+	if (substr($db_type, 0, 5) != 'mysql') {
1434
+			return false;
1435
+	}
1355 1436
 
1356 1437
 	// Find database user privileges.
1357 1438
 	$privs = array();
1358 1439
 	$get_privs = $smcFunc['db_query']('', 'SHOW PRIVILEGES', array());
1359 1440
 	while ($row = $smcFunc['db_fetch_assoc']($get_privs))
1360 1441
 	{
1361
-		if ($row['Privilege'] == 'Alter')
1362
-			$privs[] = $row['Privilege'];
1442
+		if ($row['Privilege'] == 'Alter') {
1443
+					$privs[] = $row['Privilege'];
1444
+		}
1363 1445
 	}
1364 1446
 	$smcFunc['db_free_result']($get_privs);
1365 1447
 
@@ -1389,8 +1471,9 @@  discard block
 block discarded – undo
1389 1471
 	$incontext['continue'] = 1;
1390 1472
 
1391 1473
 	// Skipping?
1392
-	if (!empty($_POST['skip']))
1393
-		return true;
1474
+	if (!empty($_POST['skip'])) {
1475
+			return true;
1476
+	}
1394 1477
 
1395 1478
 	// Need this to check whether we need the database password.
1396 1479
 	require(dirname(__FILE__) . '/Settings.php');
@@ -1407,18 +1490,22 @@  discard block
 block discarded – undo
1407 1490
 	// We need this to properly hash the password for Admin
1408 1491
 	$smcFunc['strtolower'] = $db_character_set != 'utf8' && $txt['lang_character_set'] != 'UTF-8' ? 'strtolower' : function($string) {
1409 1492
 			global $sourcedir;
1410
-			if (function_exists('mb_strtolower'))
1411
-				return mb_strtolower($string, 'UTF-8');
1493
+			if (function_exists('mb_strtolower')) {
1494
+							return mb_strtolower($string, 'UTF-8');
1495
+			}
1412 1496
 			require_once($sourcedir . '/Subs-Charset.php');
1413 1497
 			return utf8_strtolower($string);
1414 1498
 		};
1415 1499
 
1416
-	if (!isset($_POST['username']))
1417
-		$_POST['username'] = '';
1418
-	if (!isset($_POST['email']))
1419
-		$_POST['email'] = '';
1420
-	if (!isset($_POST['server_email']))
1421
-		$_POST['server_email'] = '';
1500
+	if (!isset($_POST['username'])) {
1501
+			$_POST['username'] = '';
1502
+	}
1503
+	if (!isset($_POST['email'])) {
1504
+			$_POST['email'] = '';
1505
+	}
1506
+	if (!isset($_POST['server_email'])) {
1507
+			$_POST['server_email'] = '';
1508
+	}
1422 1509
 
1423 1510
 	$incontext['username'] = htmlspecialchars(stripslashes($_POST['username']));
1424 1511
 	$incontext['email'] = htmlspecialchars(stripslashes($_POST['email']));
@@ -1437,8 +1524,9 @@  discard block
 block discarded – undo
1437 1524
 			'admin_group' => 1,
1438 1525
 		)
1439 1526
 	);
1440
-	if ($smcFunc['db_num_rows']($request) != 0)
1441
-		$incontext['skip'] = 1;
1527
+	if ($smcFunc['db_num_rows']($request) != 0) {
1528
+			$incontext['skip'] = 1;
1529
+	}
1442 1530
 	$smcFunc['db_free_result']($request);
1443 1531
 
1444 1532
 	// Trying to create an account?
@@ -1469,8 +1557,9 @@  discard block
 block discarded – undo
1469 1557
 		}
1470 1558
 
1471 1559
 		// Update the webmaster's email?
1472
-		if (!empty($_POST['server_email']) && (empty($webmaster_email) || $webmaster_email == '[email protected]'))
1473
-			updateSettingsFile(array('webmaster_email' => $_POST['server_email']));
1560
+		if (!empty($_POST['server_email']) && (empty($webmaster_email) || $webmaster_email == '[email protected]')) {
1561
+					updateSettingsFile(array('webmaster_email' => $_POST['server_email']));
1562
+		}
1474 1563
 
1475 1564
 		// Work out whether we're going to have dodgy characters and remove them.
1476 1565
 		$invalid_characters = preg_match('~[<>&"\'=\\\]~', $_POST['username']) != 0;
@@ -1493,32 +1582,27 @@  discard block
 block discarded – undo
1493 1582
 			$smcFunc['db_free_result']($result);
1494 1583
 
1495 1584
 			$incontext['account_existed'] = $txt['error_user_settings_taken'];
1496
-		}
1497
-		elseif ($_POST['username'] == '' || strlen($_POST['username']) > 25)
1585
+		} elseif ($_POST['username'] == '' || strlen($_POST['username']) > 25)
1498 1586
 		{
1499 1587
 			// Try the previous step again.
1500 1588
 			$incontext['error'] = $_POST['username'] == '' ? $txt['error_username_left_empty'] : $txt['error_username_too_long'];
1501 1589
 			return false;
1502
-		}
1503
-		elseif ($invalid_characters || $_POST['username'] == '_' || $_POST['username'] == '|' || strpos($_POST['username'], '[code') !== false || strpos($_POST['username'], '[/code') !== false)
1590
+		} elseif ($invalid_characters || $_POST['username'] == '_' || $_POST['username'] == '|' || strpos($_POST['username'], '[code') !== false || strpos($_POST['username'], '[/code') !== false)
1504 1591
 		{
1505 1592
 			// Try the previous step again.
1506 1593
 			$incontext['error'] = $txt['error_invalid_characters_username'];
1507 1594
 			return false;
1508
-		}
1509
-		elseif (empty($_POST['email']) || !filter_var(stripslashes($_POST['email']), FILTER_VALIDATE_EMAIL) || strlen(stripslashes($_POST['email'])) > 255)
1595
+		} elseif (empty($_POST['email']) || !filter_var(stripslashes($_POST['email']), FILTER_VALIDATE_EMAIL) || strlen(stripslashes($_POST['email'])) > 255)
1510 1596
 		{
1511 1597
 			// One step back, this time fill out a proper admin email address.
1512 1598
 			$incontext['error'] = sprintf($txt['error_valid_admin_email_needed'], $_POST['username']);
1513 1599
 			return false;
1514
-		}
1515
-		elseif (empty($_POST['server_email']) || !filter_var(stripslashes($_POST['server_email']), FILTER_VALIDATE_EMAIL) || strlen(stripslashes($_POST['server_email'])) > 255)
1600
+		} elseif (empty($_POST['server_email']) || !filter_var(stripslashes($_POST['server_email']), FILTER_VALIDATE_EMAIL) || strlen(stripslashes($_POST['server_email'])) > 255)
1516 1601
 		{
1517 1602
 			// One step back, this time fill out a proper admin email address.
1518 1603
 			$incontext['error'] = $txt['error_valid_server_email_needed'];
1519 1604
 			return false;
1520
-		}
1521
-		elseif ($_POST['username'] != '')
1605
+		} elseif ($_POST['username'] != '')
1522 1606
 		{
1523 1607
 			$incontext['member_salt'] = substr(md5(mt_rand()), 0, 4);
1524 1608
 
@@ -1586,17 +1670,19 @@  discard block
 block discarded – undo
1586 1670
 	reloadSettings();
1587 1671
 
1588 1672
 	// Bring a warning over.
1589
-	if (!empty($incontext['account_existed']))
1590
-		$incontext['warning'] = $incontext['account_existed'];
1673
+	if (!empty($incontext['account_existed'])) {
1674
+			$incontext['warning'] = $incontext['account_existed'];
1675
+	}
1591 1676
 
1592
-	if (!empty($db_character_set) && !empty($databases[$db_type]['utf8_support']))
1593
-		$smcFunc['db_query']('', '
1677
+	if (!empty($db_character_set) && !empty($databases[$db_type]['utf8_support'])) {
1678
+			$smcFunc['db_query']('', '
1594 1679
 			SET NAMES {string:db_character_set}',
1595 1680
 			array(
1596 1681
 				'db_character_set' => $db_character_set,
1597 1682
 				'db_error_skip' => true,
1598 1683
 			)
1599 1684
 		);
1685
+	}
1600 1686
 
1601 1687
 	// As track stats is by default enabled let's add some activity.
1602 1688
 	$smcFunc['db_insert']('ignore',
@@ -1617,14 +1703,16 @@  discard block
 block discarded – undo
1617 1703
 	// Only proceed if we can load the data.
1618 1704
 	if ($request)
1619 1705
 	{
1620
-		while ($row = $smcFunc['db_fetch_row']($request))
1621
-			$modSettings[$row[0]] = $row[1];
1706
+		while ($row = $smcFunc['db_fetch_row']($request)) {
1707
+					$modSettings[$row[0]] = $row[1];
1708
+		}
1622 1709
 		$smcFunc['db_free_result']($request);
1623 1710
 	}
1624 1711
 
1625 1712
 	// Automatically log them in ;)
1626
-	if (isset($incontext['member_id']) && isset($incontext['member_salt']))
1627
-		setLoginCookie(3153600 * 60, $incontext['member_id'], hash_salt($_POST['password1'], $incontext['member_salt']));
1713
+	if (isset($incontext['member_id']) && isset($incontext['member_salt'])) {
1714
+			setLoginCookie(3153600 * 60, $incontext['member_id'], hash_salt($_POST['password1'], $incontext['member_salt']));
1715
+	}
1628 1716
 
1629 1717
 	$result = $smcFunc['db_query']('', '
1630 1718
 		SELECT value
@@ -1635,13 +1723,14 @@  discard block
 block discarded – undo
1635 1723
 			'db_error_skip' => true,
1636 1724
 		)
1637 1725
 	);
1638
-	if ($smcFunc['db_num_rows']($result) != 0)
1639
-		list ($db_sessions) = $smcFunc['db_fetch_row']($result);
1726
+	if ($smcFunc['db_num_rows']($result) != 0) {
1727
+			list ($db_sessions) = $smcFunc['db_fetch_row']($result);
1728
+	}
1640 1729
 	$smcFunc['db_free_result']($result);
1641 1730
 
1642
-	if (empty($db_sessions))
1643
-		$_SESSION['admin_time'] = time();
1644
-	else
1731
+	if (empty($db_sessions)) {
1732
+			$_SESSION['admin_time'] = time();
1733
+	} else
1645 1734
 	{
1646 1735
 		$_SERVER['HTTP_USER_AGENT'] = substr($_SERVER['HTTP_USER_AGENT'], 0, 211);
1647 1736
 
@@ -1665,8 +1754,9 @@  discard block
 block discarded – undo
1665 1754
 	$smcFunc['strtolower'] = $db_character_set != 'utf8' && $txt['lang_character_set'] != 'UTF-8' ? 'strtolower' :
1666 1755
 		function($string){
1667 1756
 			global $sourcedir;
1668
-			if (function_exists('mb_strtolower'))
1669
-				return mb_strtolower($string, 'UTF-8');
1757
+			if (function_exists('mb_strtolower')) {
1758
+							return mb_strtolower($string, 'UTF-8');
1759
+			}
1670 1760
 			require_once($sourcedir . '/Subs-Charset.php');
1671 1761
 			return utf8_strtolower($string);
1672 1762
 		};
@@ -1682,8 +1772,9 @@  discard block
 block discarded – undo
1682 1772
 		)
1683 1773
 	);
1684 1774
 	$context['utf8'] = $db_character_set === 'utf8' || $txt['lang_character_set'] === 'UTF-8';
1685
-	if ($smcFunc['db_num_rows']($request) > 0)
1686
-		updateStats('subject', 1, htmlspecialchars($txt['default_topic_subject']));
1775
+	if ($smcFunc['db_num_rows']($request) > 0) {
1776
+			updateStats('subject', 1, htmlspecialchars($txt['default_topic_subject']));
1777
+	}
1687 1778
 	$smcFunc['db_free_result']($request);
1688 1779
 
1689 1780
 	// Now is the perfect time to fetch the SM files.
@@ -1702,8 +1793,9 @@  discard block
 block discarded – undo
1702 1793
 
1703 1794
 	// Check if we need some stupid MySQL fix.
1704 1795
 	$server_version = $smcFunc['db_server_info']();
1705
-	if (($db_type == 'mysql' || $db_type == 'mysqli') && in_array(substr($server_version, 0, 6), array('5.0.50', '5.0.51')))
1706
-		updateSettings(array('db_mysql_group_by_fix' => '1'));
1796
+	if (($db_type == 'mysql' || $db_type == 'mysqli') && in_array(substr($server_version, 0, 6), array('5.0.50', '5.0.51'))) {
1797
+			updateSettings(array('db_mysql_group_by_fix' => '1'));
1798
+	}
1707 1799
 
1708 1800
 	// Some final context for the template.
1709 1801
 	$incontext['dir_still_writable'] = is_writable(dirname(__FILE__)) && substr(__FILE__, 1, 2) != ':\\';
@@ -1723,8 +1815,9 @@  discard block
 block discarded – undo
1723 1815
 	$settingsArray = file(dirname(__FILE__) . '/Settings.php');
1724 1816
 
1725 1817
 	// @todo Do we just want to read the file in clean, and split it this way always?
1726
-	if (count($settingsArray) == 1)
1727
-		$settingsArray = preg_split('~[\r\n]~', $settingsArray[0]);
1818
+	if (count($settingsArray) == 1) {
1819
+			$settingsArray = preg_split('~[\r\n]~', $settingsArray[0]);
1820
+	}
1728 1821
 
1729 1822
 	for ($i = 0, $n = count($settingsArray); $i < $n; $i++)
1730 1823
 	{
@@ -1739,19 +1832,22 @@  discard block
 block discarded – undo
1739 1832
 			continue;
1740 1833
 		}
1741 1834
 
1742
-		if (trim($settingsArray[$i]) == '?' . '>')
1743
-			$settingsArray[$i] = '';
1835
+		if (trim($settingsArray[$i]) == '?' . '>') {
1836
+					$settingsArray[$i] = '';
1837
+		}
1744 1838
 
1745 1839
 		// Don't trim or bother with it if it's not a variable.
1746
-		if (substr($settingsArray[$i], 0, 1) != '$')
1747
-			continue;
1840
+		if (substr($settingsArray[$i], 0, 1) != '$') {
1841
+					continue;
1842
+		}
1748 1843
 
1749 1844
 		$settingsArray[$i] = rtrim($settingsArray[$i]) . "\n";
1750 1845
 
1751
-		foreach ($vars as $var => $val)
1752
-			if (strncasecmp($settingsArray[$i], '$' . $var, 1 + strlen($var)) == 0)
1846
+		foreach ($vars as $var => $val) {
1847
+					if (strncasecmp($settingsArray[$i], '$' . $var, 1 + strlen($var)) == 0)
1753 1848
 			{
1754 1849
 				$comment = strstr($settingsArray[$i], '#');
1850
+		}
1755 1851
 				$settingsArray[$i] = '$' . $var . ' = \'' . $val . '\';' . ($comment != '' ? "\t\t" . $comment : "\n");
1756 1852
 				unset($vars[$var]);
1757 1853
 			}
@@ -1761,36 +1857,41 @@  discard block
 block discarded – undo
1761 1857
 	if (!empty($vars))
1762 1858
 	{
1763 1859
 		$settingsArray[$i++] = '';
1764
-		foreach ($vars as $var => $val)
1765
-			$settingsArray[$i++] = '$' . $var . ' = \'' . $val . '\';' . "\n";
1860
+		foreach ($vars as $var => $val) {
1861
+					$settingsArray[$i++] = '$' . $var . ' = \'' . $val . '\';' . "\n";
1862
+		}
1766 1863
 	}
1767 1864
 
1768 1865
 	// Blank out the file - done to fix a oddity with some servers.
1769 1866
 	$fp = @fopen(dirname(__FILE__) . '/Settings.php', 'w');
1770
-	if (!$fp)
1771
-		return false;
1867
+	if (!$fp) {
1868
+			return false;
1869
+	}
1772 1870
 	fclose($fp);
1773 1871
 
1774 1872
 	$fp = fopen(dirname(__FILE__) . '/Settings.php', 'r+');
1775 1873
 
1776 1874
 	// Gotta have one of these ;)
1777
-	if (trim($settingsArray[0]) != '<?php')
1778
-		fwrite($fp, "<?php\n");
1875
+	if (trim($settingsArray[0]) != '<?php') {
1876
+			fwrite($fp, "<?php\n");
1877
+	}
1779 1878
 
1780 1879
 	$lines = count($settingsArray);
1781 1880
 	for ($i = 0; $i < $lines - 1; $i++)
1782 1881
 	{
1783 1882
 		// Don't just write a bunch of blank lines.
1784
-		if ($settingsArray[$i] != '' || @$settingsArray[$i - 1] != '')
1785
-			fwrite($fp, strtr($settingsArray[$i], "\r", ''));
1883
+		if ($settingsArray[$i] != '' || @$settingsArray[$i - 1] != '') {
1884
+					fwrite($fp, strtr($settingsArray[$i], "\r", ''));
1885
+		}
1786 1886
 	}
1787 1887
 	fwrite($fp, $settingsArray[$i] . '?' . '>');
1788 1888
 	fclose($fp);
1789 1889
 
1790 1890
 	// Even though on normal installations the filemtime should prevent this being used by the installer incorrectly
1791 1891
 	// it seems that there are times it might not. So let's MAKE it dump the cache.
1792
-	if (function_exists('opcache_invalidate'))
1793
-		opcache_invalidate(dirname(__FILE__) . '/Settings.php', true);
1892
+	if (function_exists('opcache_invalidate')) {
1893
+			opcache_invalidate(dirname(__FILE__) . '/Settings.php', true);
1894
+	}
1794 1895
 
1795 1896
 	return true;
1796 1897
 }
@@ -1815,9 +1916,9 @@  discard block
 block discarded – undo
1815 1916
 	SecFilterScanPOST Off
1816 1917
 </IfModule>';
1817 1918
 
1818
-	if (!function_exists('apache_get_modules') || !in_array('mod_security', apache_get_modules()))
1819
-		return true;
1820
-	elseif (file_exists(dirname(__FILE__) . '/.htaccess') && is_writable(dirname(__FILE__) . '/.htaccess'))
1919
+	if (!function_exists('apache_get_modules') || !in_array('mod_security', apache_get_modules())) {
1920
+			return true;
1921
+	} elseif (file_exists(dirname(__FILE__) . '/.htaccess') && is_writable(dirname(__FILE__) . '/.htaccess'))
1821 1922
 	{
1822 1923
 		$current_htaccess = implode('', file(dirname(__FILE__) . '/.htaccess'));
1823 1924
 
@@ -1829,29 +1930,28 @@  discard block
 block discarded – undo
1829 1930
 				fwrite($ht_handle, $htaccess_addition);
1830 1931
 				fclose($ht_handle);
1831 1932
 				return true;
1933
+			} else {
1934
+							return false;
1832 1935
 			}
1833
-			else
1834
-				return false;
1936
+		} else {
1937
+					return true;
1835 1938
 		}
1836
-		else
1837
-			return true;
1838
-	}
1839
-	elseif (file_exists(dirname(__FILE__) . '/.htaccess'))
1840
-		return strpos(implode('', file(dirname(__FILE__) . '/.htaccess')), '<IfModule mod_security.c>') !== false;
1841
-	elseif (is_writable(dirname(__FILE__)))
1939
+	} elseif (file_exists(dirname(__FILE__) . '/.htaccess')) {
1940
+			return strpos(implode('', file(dirname(__FILE__) . '/.htaccess')), '<IfModule mod_security.c>') !== false;
1941
+	} elseif (is_writable(dirname(__FILE__)))
1842 1942
 	{
1843 1943
 		if ($ht_handle = fopen(dirname(__FILE__) . '/.htaccess', 'w'))
1844 1944
 		{
1845 1945
 			fwrite($ht_handle, $htaccess_addition);
1846 1946
 			fclose($ht_handle);
1847 1947
 			return true;
1948
+		} else {
1949
+					return false;
1848 1950
 		}
1849
-		else
1951
+	} else {
1850 1952
 			return false;
1851 1953
 	}
1852
-	else
1853
-		return false;
1854
-}
1954
+	}
1855 1955
 
1856 1956
 function template_install_above()
1857 1957
 {
@@ -1889,9 +1989,10 @@  discard block
 block discarded – undo
1889 1989
 								<label for="installer_language">', $txt['installer_language'], ':</label>
1890 1990
 								<select id="installer_language" name="lang_file" onchange="location.href = \'', $installurl, '?lang_file=\' + this.options[this.selectedIndex].value;">';
1891 1991
 
1892
-		foreach ($incontext['detected_languages'] as $lang => $name)
1893
-			echo '
1992
+		foreach ($incontext['detected_languages'] as $lang => $name) {
1993
+					echo '
1894 1994
 									<option', isset($_SESSION['installer_temp_lang']) && $_SESSION['installer_temp_lang'] == $lang ? ' selected' : '', ' value="', $lang, '">', $name, '</option>';
1995
+		}
1895 1996
 
1896 1997
 		echo '
1897 1998
 								</select>
@@ -1911,9 +2012,10 @@  discard block
 block discarded – undo
1911 2012
 						<h2>', $txt['upgrade_progress'], '</h2>
1912 2013
 						<ul>';
1913 2014
 
1914
-	foreach ($incontext['steps'] as $num => $step)
1915
-		echo '
2015
+	foreach ($incontext['steps'] as $num => $step) {
2016
+			echo '
1916 2017
 							<li class="', $num < $incontext['current_step'] ? 'stepdone' : ($num == $incontext['current_step'] ? 'stepcurrent' : 'stepwaiting'), '">', $txt['upgrade_step'], ' ', $step[0], ': ', $step[1], '</li>';
2018
+	}
1917 2019
 
1918 2020
 	echo '
1919 2021
 						</ul>
@@ -1938,20 +2040,23 @@  discard block
 block discarded – undo
1938 2040
 		echo '
1939 2041
 								<div>';
1940 2042
 
1941
-		if (!empty($incontext['continue']))
1942
-			echo '
2043
+		if (!empty($incontext['continue'])) {
2044
+					echo '
1943 2045
 									<input type="submit" id="contbutt" name="contbutt" value="', $txt['upgrade_continue'], '" onclick="return submitThisOnce(this);" class="button_submit" />';
1944
-		if (!empty($incontext['skip']))
1945
-			echo '
2046
+		}
2047
+		if (!empty($incontext['skip'])) {
2048
+					echo '
1946 2049
 									<input type="submit" id="skip" name="skip" value="', $txt['upgrade_skip'], '" onclick="return submitThisOnce(this);" class="button_submit" />';
2050
+		}
1947 2051
 		echo '
1948 2052
 								</div>';
1949 2053
 	}
1950 2054
 
1951 2055
 	// Show the closing form tag and other data only if not in the last step
1952
-	if (count($incontext['steps']) - 1 !== (int) $incontext['current_step'])
1953
-		echo '
2056
+	if (count($incontext['steps']) - 1 !== (int) $incontext['current_step']) {
2057
+			echo '
1954 2058
 							</form>';
2059
+	}
1955 2060
 
1956 2061
 	echo '
1957 2062
 						</div>
@@ -1986,13 +2091,15 @@  discard block
 block discarded – undo
1986 2091
 		</div>';
1987 2092
 
1988 2093
 	// Show the warnings, or not.
1989
-	if (template_warning_divs())
1990
-		echo '
2094
+	if (template_warning_divs()) {
2095
+			echo '
1991 2096
 		<h3>', $txt['install_all_lovely'], '</h3>';
2097
+	}
1992 2098
 
1993 2099
 	// Say we want the continue button!
1994
-	if (empty($incontext['error']))
1995
-		$incontext['continue'] = 1;
2100
+	if (empty($incontext['error'])) {
2101
+			$incontext['continue'] = 1;
2102
+	}
1996 2103
 
1997 2104
 	// For the latest version stuff.
1998 2105
 	echo '
@@ -2026,8 +2133,8 @@  discard block
 block discarded – undo
2026 2133
 	global $txt, $incontext;
2027 2134
 
2028 2135
 	// Errors are very serious..
2029
-	if (!empty($incontext['error']))
2030
-		echo '
2136
+	if (!empty($incontext['error'])) {
2137
+			echo '
2031 2138
 		<div style="margin: 2ex; padding: 2ex; border: 2px dashed #cc3344; color: black; background-color: #ffe4e9;">
2032 2139
 			<div style="float: left; width: 2ex; font-size: 2em; color: red;">!!</div>
2033 2140
 			<strong style="text-decoration: underline;">', $txt['upgrade_critical_error'], '</strong><br>
@@ -2035,9 +2142,10 @@  discard block
 block discarded – undo
2035 2142
 				', $incontext['error'], '
2036 2143
 			</div>
2037 2144
 		</div>';
2145
+	}
2038 2146
 	// A warning message?
2039
-	elseif (!empty($incontext['warning']))
2040
-		echo '
2147
+	elseif (!empty($incontext['warning'])) {
2148
+			echo '
2041 2149
 		<div style="margin: 2ex; padding: 2ex; border: 2px dashed #cc3344; color: black; background-color: #ffe4e9;">
2042 2150
 			<div style="float: left; width: 2ex; font-size: 2em; color: red;">!!</div>
2043 2151
 			<strong style="text-decoration: underline;">', $txt['upgrade_warning'], '</strong><br>
@@ -2045,6 +2153,7 @@  discard block
 block discarded – undo
2045 2153
 				', $incontext['warning'], '
2046 2154
 			</div>
2047 2155
 		</div>';
2156
+	}
2048 2157
 
2049 2158
 	return empty($incontext['error']) && empty($incontext['warning']);
2050 2159
 }
@@ -2060,27 +2169,30 @@  discard block
 block discarded – undo
2060 2169
 			<li>', $incontext['failed_files']), '</li>
2061 2170
 		</ul>';
2062 2171
 
2063
-	if (isset($incontext['systemos'], $incontext['detected_path']) && $incontext['systemos'] == 'linux')
2064
-		echo '
2172
+	if (isset($incontext['systemos'], $incontext['detected_path']) && $incontext['systemos'] == 'linux') {
2173
+			echo '
2065 2174
 		<hr>
2066 2175
 		<p>', $txt['chmod_linux_info'], '</p>
2067 2176
 		<tt># chmod a+w ', implode(' ' . $incontext['detected_path'] . '/', $incontext['failed_files']), '</tt>';
2177
+	}
2068 2178
 
2069 2179
 	// This is serious!
2070
-	if (!template_warning_divs())
2071
-		return;
2180
+	if (!template_warning_divs()) {
2181
+			return;
2182
+	}
2072 2183
 
2073 2184
 	echo '
2074 2185
 		<hr>
2075 2186
 		<p>', $txt['ftp_setup_info'], '</p>';
2076 2187
 
2077
-	if (!empty($incontext['ftp_errors']))
2078
-		echo '
2188
+	if (!empty($incontext['ftp_errors'])) {
2189
+			echo '
2079 2190
 		<div class="error_message">
2080 2191
 			', $txt['error_ftp_no_connect'], '<br><br>
2081 2192
 			<code>', implode('<br>', $incontext['ftp_errors']), '</code>
2082 2193
 		</div>
2083 2194
 		<br>';
2195
+	}
2084 2196
 
2085 2197
 	echo '
2086 2198
 		<form action="', $incontext['form_url'], '" method="post">
@@ -2140,17 +2252,17 @@  discard block
 block discarded – undo
2140 2252
 				<td>
2141 2253
 					<select name="db_type" id="db_type_input" onchange="toggleDBInput();">';
2142 2254
 
2143
-	foreach ($incontext['supported_databases'] as $key => $db)
2144
-			echo '
2255
+	foreach ($incontext['supported_databases'] as $key => $db) {
2256
+				echo '
2145 2257
 						<option value="', $key, '"', isset($_POST['db_type']) && $_POST['db_type'] == $key ? ' selected' : '', '>', $db['name'], '</option>';
2258
+	}
2146 2259
 
2147 2260
 	echo '
2148 2261
 					</select>
2149 2262
 					<div class="smalltext block">', $txt['db_settings_type_info'], '</div>
2150 2263
 				</td>
2151 2264
 			</tr>';
2152
-	}
2153
-	else
2265
+	} else
2154 2266
 	{
2155 2267
 		echo '
2156 2268
 			<tr style="display: none;">
@@ -2343,9 +2455,10 @@  discard block
 block discarded – undo
2343 2455
 				<div style="color: red;">', $txt['error_db_queries'], '</div>
2344 2456
 				<ul>';
2345 2457
 
2346
-		foreach ($incontext['failures'] as $line => $fail)
2347
-			echo '
2458
+		foreach ($incontext['failures'] as $line => $fail) {
2459
+					echo '
2348 2460
 						<li><strong>', $txt['error_db_queries_line'], $line + 1, ':</strong> ', nl2br(htmlspecialchars($fail)), '</li>';
2461
+		}
2349 2462
 
2350 2463
 		echo '
2351 2464
 				</ul>';
@@ -2406,15 +2519,16 @@  discard block
 block discarded – undo
2406 2519
 			</tr>
2407 2520
 		</table>';
2408 2521
 
2409
-	if ($incontext['require_db_confirm'])
2410
-		echo '
2522
+	if ($incontext['require_db_confirm']) {
2523
+			echo '
2411 2524
 		<h2>', $txt['user_settings_database'], '</h2>
2412 2525
 		<p>', $txt['user_settings_database_info'], '</p>
2413 2526
 
2414 2527
 		<div style="margin-bottom: 2ex; padding-', $txt['lang_rtl'] == false ? 'left' : 'right', ': 50px;">
2415 2528
 			<input type="password" name="password3" size="30" />
2416 2529
 		</div>';
2417
-}
2530
+	}
2531
+	}
2418 2532
 
2419 2533
 // Tell them it's done, and to delete.
2420 2534
 function template_delete_install()
@@ -2427,14 +2541,15 @@  discard block
 block discarded – undo
2427 2541
 	template_warning_divs();
2428 2542
 
2429 2543
 	// Install directory still writable?
2430
-	if ($incontext['dir_still_writable'])
2431
-		echo '
2544
+	if ($incontext['dir_still_writable']) {
2545
+			echo '
2432 2546
 		<em>', $txt['still_writable'], '</em><br>
2433 2547
 		<br>';
2548
+	}
2434 2549
 
2435 2550
 	// Don't show the box if it's like 99% sure it won't work :P.
2436
-	if ($incontext['probably_delete_install'])
2437
-		echo '
2551
+	if ($incontext['probably_delete_install']) {
2552
+			echo '
2438 2553
 		<div style="margin: 1ex; font-weight: bold;">
2439 2554
 			<label for="delete_self"><input type="checkbox" id="delete_self" onclick="doTheDelete();" /> ', $txt['delete_installer'], !isset($_SESSION['installer_temp_ftp']) ? ' ' . $txt['delete_installer_maybe'] : '', '</label>
2440 2555
 		</div>
@@ -2450,6 +2565,7 @@  discard block
 block discarded – undo
2450 2565
 			}
2451 2566
 		</script>
2452 2567
 		<br>';
2568
+	}
2453 2569
 
2454 2570
 	echo '
2455 2571
 		', sprintf($txt['go_to_your_forum'], $boardurl . '/index.php'), '<br>
Please login to merge, or discard this patch.