Completed
Pull Request — release-2.1 (#4090)
by Rick
08:07
created
Sources/Profile-Actions.php 1 patch
Braces   +117 added lines, -86 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 3
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	die('No direct access...');
18
+}
18 19
 
19 20
 /**
20 21
  * Activate an account.
@@ -48,8 +49,9 @@  discard block
 block discarded – undo
48 49
 		logAction('approve_member', array('member' => $memID), 'admin');
49 50
 
50 51
 		// If we are doing approval, update the stats for the member just in case.
51
-		if (in_array($user_profile[$memID]['is_activated'], array(3, 4, 5, 13, 14, 15)))
52
-			updateSettings(array('unapprovedMembers' => ($modSettings['unapprovedMembers'] > 1 ? $modSettings['unapprovedMembers'] - 1 : 0)));
52
+		if (in_array($user_profile[$memID]['is_activated'], array(3, 4, 5, 13, 14, 15))) {
53
+					updateSettings(array('unapprovedMembers' => ($modSettings['unapprovedMembers'] > 1 ? $modSettings['unapprovedMembers'] - 1 : 0)));
54
+		}
53 55
 
54 56
 		// Make sure we update the stats too.
55 57
 		updateStats('member', false);
@@ -76,8 +78,9 @@  discard block
 block discarded – undo
76 78
 	$issueErrors = array();
77 79
 
78 80
 	// Doesn't hurt to be overly cautious.
79
-	if (empty($modSettings['warning_enable']) || ($context['user']['is_owner'] && !$cur_profile['warning']) || !allowedTo('issue_warning'))
80
-		fatal_lang_error('no_access', false);
81
+	if (empty($modSettings['warning_enable']) || ($context['user']['is_owner'] && !$cur_profile['warning']) || !allowedTo('issue_warning')) {
82
+			fatal_lang_error('no_access', false);
83
+	}
81 84
 
82 85
 	// Get the base (errors related) stuff done.
83 86
 	loadLanguage('Errors');
@@ -135,16 +138,18 @@  discard block
 block discarded – undo
135 138
 
136 139
 		// This cannot be empty!
137 140
 		$_POST['warn_reason'] = isset($_POST['warn_reason']) ? trim($_POST['warn_reason']) : '';
138
-		if ($_POST['warn_reason'] == '' && !$context['user']['is_owner'])
139
-			$issueErrors[] = 'warning_no_reason';
141
+		if ($_POST['warn_reason'] == '' && !$context['user']['is_owner']) {
142
+					$issueErrors[] = 'warning_no_reason';
143
+		}
140 144
 		$_POST['warn_reason'] = $smcFunc['htmlspecialchars']($_POST['warn_reason']);
141 145
 
142 146
 		$_POST['warning_level'] = (int) $_POST['warning_level'];
143 147
 		$_POST['warning_level'] = max(0, min(100, $_POST['warning_level']));
144
-		if ($_POST['warning_level'] < $context['min_allowed'])
145
-			$_POST['warning_level'] = $context['min_allowed'];
146
-		elseif ($_POST['warning_level'] > $context['max_allowed'])
147
-			$_POST['warning_level'] = $context['max_allowed'];
148
+		if ($_POST['warning_level'] < $context['min_allowed']) {
149
+					$_POST['warning_level'] = $context['min_allowed'];
150
+		} elseif ($_POST['warning_level'] > $context['max_allowed']) {
151
+					$_POST['warning_level'] = $context['max_allowed'];
152
+		}
148 153
 
149 154
 		// Do we actually have to issue them with a PM?
150 155
 		$id_notice = 0;
@@ -152,8 +157,9 @@  discard block
 block discarded – undo
152 157
 		{
153 158
 			$_POST['warn_sub'] = trim($_POST['warn_sub']);
154 159
 			$_POST['warn_body'] = trim($_POST['warn_body']);
155
-			if (empty($_POST['warn_sub']) || empty($_POST['warn_body']))
156
-				$issueErrors[] = 'warning_notify_blank';
160
+			if (empty($_POST['warn_sub']) || empty($_POST['warn_body'])) {
161
+							$issueErrors[] = 'warning_notify_blank';
162
+			}
157 163
 			// Send the PM?
158 164
 			else
159 165
 			{
@@ -190,8 +196,8 @@  discard block
 block discarded – undo
190 196
 		if (empty($issueErrors))
191 197
 		{
192 198
 			// Log what we've done!
193
-			if (!$context['user']['is_owner'])
194
-				$smcFunc['db_insert']('',
199
+			if (!$context['user']['is_owner']) {
200
+							$smcFunc['db_insert']('',
195 201
 					'{db_prefix}log_comments',
196 202
 					array(
197 203
 						'id_member' => 'int', 'member_name' => 'string', 'comment_type' => 'string', 'id_recipient' => 'int', 'recipient_name' => 'string-255',
@@ -203,14 +209,14 @@  discard block
 block discarded – undo
203 209
 					),
204 210
 					array('id_comment')
205 211
 				);
212
+			}
206 213
 
207 214
 			// Make the change.
208 215
 			updateMemberData($memID, array('warning' => $_POST['warning_level']));
209 216
 
210 217
 			// Leave a lovely message.
211 218
 			$context['profile_updated'] = $context['user']['is_owner'] ? $txt['profile_updated_own'] : $txt['profile_warning_success'];
212
-		}
213
-		else
219
+		} else
214 220
 		{
215 221
 			// Try to remember some bits.
216 222
 			$context['warning_data'] = array(
@@ -229,8 +235,9 @@  discard block
 block discarded – undo
229 235
 	{
230 236
 		$warning_body = !empty($_POST['warn_body']) ? trim(censorText($_POST['warn_body'])) : '';
231 237
 		$context['preview_subject'] = !empty($_POST['warn_sub']) ? trim($smcFunc['htmlspecialchars']($_POST['warn_sub'])) : '';
232
-		if (empty($_POST['warn_sub']) || empty($_POST['warn_body']))
233
-			$issueErrors[] = 'warning_notify_blank';
238
+		if (empty($_POST['warn_sub']) || empty($_POST['warn_body'])) {
239
+					$issueErrors[] = 'warning_notify_blank';
240
+		}
234 241
 
235 242
 		if (!empty($_POST['warn_body']))
236 243
 		{
@@ -254,8 +261,9 @@  discard block
 block discarded – undo
254 261
 	{
255 262
 		// Fill in the suite of errors.
256 263
 		$context['post_errors'] = array();
257
-		foreach ($issueErrors as $error)
258
-			$context['post_errors'][] = $txt[$error];
264
+		foreach ($issueErrors as $error) {
265
+					$context['post_errors'][] = $txt[$error];
266
+		}
259 267
 	}
260 268
 
261 269
 
@@ -272,9 +280,10 @@  discard block
 block discarded – undo
272 280
 		$modSettings['warning_mute'] => $txt['profile_warning_effect_mute'],
273 281
 	);
274 282
 	$context['current_level'] = 0;
275
-	foreach ($context['level_effects'] as $limit => $dummy)
276
-		if ($context['member']['warning'] >= $limit)
283
+	foreach ($context['level_effects'] as $limit => $dummy) {
284
+			if ($context['member']['warning'] >= $limit)
277 285
 			$context['current_level'] = $limit;
286
+	}
278 287
 
279 288
 	$listOptions = array(
280 289
 		'id' => 'view_warnings',
@@ -337,11 +346,12 @@  discard block
 block discarded – undo
337 346
 							' . $warning['reason'] . '
338 347
 						</div>';
339 348
 
340
-						if (!empty($warning['id_notice']))
341
-							$ret .= '
349
+						if (!empty($warning['id_notice'])) {
350
+													$ret .= '
342 351
 						<div class="floatright">
343 352
 							<a href="' . $scripturl . '?action=moderate;area=notice;nid=' . $warning['id_notice'] . '" onclick="window.open(this.href, \'\', \'scrollbars=yes,resizable=yes,width=400,height=250\');return false;" target="_blank" class="new_win" title="' . $txt['profile_warning_previous_notice'] . '"><span class="generic_icons filter centericon"></span></a>
344 353
 						</div>';
354
+						}
345 355
 
346 356
 						return $ret;
347 357
 					},
@@ -413,8 +423,9 @@  discard block
 block discarded – undo
413 423
 	while ($row = $smcFunc['db_fetch_assoc']($request))
414 424
 	{
415 425
 		// If we're not warning for a message skip any that are.
416
-		if (!$context['warning_for_message'] && strpos($row['body'], '{MESSAGE}') !== false)
417
-			continue;
426
+		if (!$context['warning_for_message'] && strpos($row['body'], '{MESSAGE}') !== false) {
427
+					continue;
428
+		}
418 429
 
419 430
 		$context['notification_templates'][] = array(
420 431
 			'title' => $row['template_title'],
@@ -424,16 +435,18 @@  discard block
 block discarded – undo
424 435
 	$smcFunc['db_free_result']($request);
425 436
 
426 437
 	// Setup the "default" templates.
427
-	foreach (array('spamming', 'offence', 'insulting') as $type)
428
-		$context['notification_templates'][] = array(
438
+	foreach (array('spamming', 'offence', 'insulting') as $type) {
439
+			$context['notification_templates'][] = array(
429 440
 			'title' => $txt['profile_warning_notify_title_' . $type],
430 441
 			'body' => sprintf($txt['profile_warning_notify_template_outline' . (!empty($context['warning_for_message']) ? '_post' : '')], $txt['profile_warning_notify_for_' . $type]),
431 442
 		);
443
+	}
432 444
 
433 445
 	// Replace all the common variables in the templates.
434
-	foreach ($context['notification_templates'] as $k => $name)
435
-		$context['notification_templates'][$k]['body'] = strtr($name['body'], array('{MEMBER}' => un_htmlspecialchars($context['member']['name']), '{MESSAGE}' => '[url=' . $scripturl . '?msg=' . $context['warning_for_message'] . ']' . un_htmlspecialchars($context['warned_message_subject']) . '[/url]', '{SCRIPTURL}' => $scripturl, '{FORUMNAME}' => $mbname, '{REGARDS}' => $txt['regards_team']));
436
-}
446
+	foreach ($context['notification_templates'] as $k => $name) {
447
+			$context['notification_templates'][$k]['body'] = strtr($name['body'], array('{MEMBER}' => un_htmlspecialchars($context['member']['name']), '{MESSAGE}' => '[url=' . $scripturl . '?msg=' . $context['warning_for_message'] . ']' . un_htmlspecialchars($context['warned_message_subject']) . '[/url]', '{SCRIPTURL}' => $scripturl, '{FORUMNAME}' => $mbname, '{REGARDS}' => $txt['regards_team']));
448
+	}
449
+	}
437 450
 
438 451
 /**
439 452
  * Get the number of warnings a user has. Callback for $listOptions['get_count'] in issueWarning()
@@ -517,10 +530,11 @@  discard block
 block discarded – undo
517 530
 {
518 531
 	global $txt, $context, $modSettings, $cur_profile;
519 532
 
520
-	if (!$context['user']['is_owner'])
521
-		isAllowedTo('profile_remove_any');
522
-	elseif (!allowedTo('profile_remove_any'))
523
-		isAllowedTo('profile_remove_own');
533
+	if (!$context['user']['is_owner']) {
534
+			isAllowedTo('profile_remove_any');
535
+	} elseif (!allowedTo('profile_remove_any')) {
536
+			isAllowedTo('profile_remove_own');
537
+	}
524 538
 
525 539
 	// Permissions for removing stuff...
526 540
 	$context['can_delete_posts'] = !$context['user']['is_owner'] && allowedTo('moderate_forum');
@@ -547,10 +561,11 @@  discard block
 block discarded – undo
547 561
 
548 562
 	// @todo Add a way to delete pms as well?
549 563
 
550
-	if (!$context['user']['is_owner'])
551
-		isAllowedTo('profile_remove_any');
552
-	elseif (!allowedTo('profile_remove_any'))
553
-		isAllowedTo('profile_remove_own');
564
+	if (!$context['user']['is_owner']) {
565
+			isAllowedTo('profile_remove_any');
566
+	} elseif (!allowedTo('profile_remove_any')) {
567
+			isAllowedTo('profile_remove_own');
568
+	}
554 569
 
555 570
 	checkSession();
556 571
 
@@ -576,8 +591,9 @@  discard block
 block discarded – undo
576 591
 		list ($another) = $smcFunc['db_fetch_row']($request);
577 592
 		$smcFunc['db_free_result']($request);
578 593
 
579
-		if (empty($another))
580
-			fatal_lang_error('at_least_one_admin', 'critical');
594
+		if (empty($another)) {
595
+					fatal_lang_error('at_least_one_admin', 'critical');
596
+		}
581 597
 	}
582 598
 
583 599
 	// This file is needed for the deleteMembers function.
@@ -656,8 +672,9 @@  discard block
 block discarded – undo
656 672
 					)
657 673
 				);
658 674
 				$topicIDs = array();
659
-				while ($row = $smcFunc['db_fetch_assoc']($request))
660
-					$topicIDs[] = $row['id_topic'];
675
+				while ($row = $smcFunc['db_fetch_assoc']($request)) {
676
+									$topicIDs[] = $row['id_topic'];
677
+				}
661 678
 				$smcFunc['db_free_result']($request);
662 679
 
663 680
 				// Actually remove the topics. Ignore recycling if we want to perma-delete things...
@@ -680,8 +697,9 @@  discard block
 block discarded – undo
680 697
 			// This could take a while... but ya know it's gonna be worth it in the end.
681 698
 			while ($row = $smcFunc['db_fetch_assoc']($request))
682 699
 			{
683
-				if (function_exists('apache_reset_timeout'))
684
-					@apache_reset_timeout();
700
+				if (function_exists('apache_reset_timeout')) {
701
+									@apache_reset_timeout();
702
+				}
685 703
 
686 704
 				removeMessage($row['id_msg']);
687 705
 			}
@@ -689,8 +707,9 @@  discard block
 block discarded – undo
689 707
 		}
690 708
 
691 709
 		// Only delete this poor members account if they are actually being booted out of camp.
692
-		if (isset($_POST['deleteAccount']))
693
-			deleteMembers($memID);
710
+		if (isset($_POST['deleteAccount'])) {
711
+					deleteMembers($memID);
712
+		}
694 713
 	}
695 714
 	// Do they need approval to delete?
696 715
 	elseif (!empty($modSettings['approveAccountDeletion']) && !allowedTo('moderate_forum'))
@@ -741,18 +760,18 @@  discard block
 block discarded – undo
741 760
 		{
742 761
 			foreach ($costs as $duration => $cost)
743 762
 			{
744
-				if ($cost != 0)
745
-					$cost_array[$duration] = $cost;
763
+				if ($cost != 0) {
764
+									$cost_array[$duration] = $cost;
765
+				}
746 766
 			}
747
-		}
748
-		else
767
+		} else
749 768
 		{
750 769
 			$cost_array['fixed'] = $costs['fixed'];
751 770
 		}
752 771
 
753
-		if (empty($cost_array))
754
-			unset($context['subscriptions'][$id]);
755
-		else
772
+		if (empty($cost_array)) {
773
+					unset($context['subscriptions'][$id]);
774
+		} else
756 775
 		{
757 776
 			$context['subscriptions'][$id]['member'] = 0;
758 777
 			$context['subscriptions'][$id]['subscribed'] = false;
@@ -765,13 +784,15 @@  discard block
 block discarded – undo
765 784
 	foreach ($gateways as $id => $gateway)
766 785
 	{
767 786
 		$gateways[$id] = new $gateway['display_class']();
768
-		if (!$gateways[$id]->gatewayEnabled())
769
-			unset($gateways[$id]);
787
+		if (!$gateways[$id]->gatewayEnabled()) {
788
+					unset($gateways[$id]);
789
+		}
770 790
 	}
771 791
 
772 792
 	// No gateways yet?
773
-	if (empty($gateways))
774
-		fatal_error($txt['paid_admin_not_setup_gateway']);
793
+	if (empty($gateways)) {
794
+			fatal_error($txt['paid_admin_not_setup_gateway']);
795
+	}
775 796
 
776 797
 	// Get the current subscriptions.
777 798
 	$request = $smcFunc['db_query']('', '
@@ -786,8 +807,9 @@  discard block
 block discarded – undo
786 807
 	while ($row = $smcFunc['db_fetch_assoc']($request))
787 808
 	{
788 809
 		// The subscription must exist!
789
-		if (!isset($context['subscriptions'][$row['id_subscribe']]))
790
-			continue;
810
+		if (!isset($context['subscriptions'][$row['id_subscribe']])) {
811
+					continue;
812
+		}
791 813
 
792 814
 		$context['current'][$row['id_subscribe']] = array(
793 815
 			'id' => $row['id_sublog'],
@@ -801,8 +823,9 @@  discard block
 block discarded – undo
801 823
 			'status_text' => $row['status'] == 0 ? ($row['payments_pending'] ? $txt['paid_pending'] : $txt['paid_finished']) : $txt['paid_active'],
802 824
 		);
803 825
 
804
-		if ($row['status'] == 1)
805
-			$context['subscriptions'][$row['id_subscribe']]['subscribed'] = true;
826
+		if ($row['status'] == 1) {
827
+					$context['subscriptions'][$row['id_subscribe']]['subscribed'] = true;
828
+		}
806 829
 	}
807 830
 	$smcFunc['db_free_result']($request);
808 831
 
@@ -853,21 +876,25 @@  discard block
 block discarded – undo
853 876
 	if (isset($_GET['confirm']) && isset($_POST['sub_id']) && is_array($_POST['sub_id']))
854 877
 	{
855 878
 		// Hopefully just one.
856
-		foreach ($_POST['sub_id'] as $k => $v)
857
-			$ID_SUB = (int) $k;
879
+		foreach ($_POST['sub_id'] as $k => $v) {
880
+					$ID_SUB = (int) $k;
881
+		}
858 882
 
859
-		if (!isset($context['subscriptions'][$ID_SUB]) || $context['subscriptions'][$ID_SUB]['active'] == 0)
860
-			fatal_lang_error('paid_sub_not_active');
883
+		if (!isset($context['subscriptions'][$ID_SUB]) || $context['subscriptions'][$ID_SUB]['active'] == 0) {
884
+					fatal_lang_error('paid_sub_not_active');
885
+		}
861 886
 
862 887
 		// Simplify...
863 888
 		$context['sub'] = $context['subscriptions'][$ID_SUB];
864 889
 		$period = 'xx';
865
-		if ($context['sub']['flexible'])
866
-			$period = isset($_POST['cur'][$ID_SUB]) && isset($context['sub']['costs'][$_POST['cur'][$ID_SUB]]) ? $_POST['cur'][$ID_SUB] : 'xx';
890
+		if ($context['sub']['flexible']) {
891
+					$period = isset($_POST['cur'][$ID_SUB]) && isset($context['sub']['costs'][$_POST['cur'][$ID_SUB]]) ? $_POST['cur'][$ID_SUB] : 'xx';
892
+		}
867 893
 
868 894
 		// Check we have a valid cost.
869
-		if ($context['sub']['flexible'] && $period == 'xx')
870
-			fatal_lang_error('paid_sub_not_active');
895
+		if ($context['sub']['flexible'] && $period == 'xx') {
896
+					fatal_lang_error('paid_sub_not_active');
897
+		}
871 898
 
872 899
 		// Sort out the cost/currency.
873 900
 		$context['currency'] = $modSettings['paid_currency_code'];
@@ -880,8 +907,7 @@  discard block
 block discarded – undo
880 907
 			$context['cost'] = sprintf($modSettings['paid_currency_symbol'], $context['value']) . '/' . $txt[$_POST['cur'][$ID_SUB]];
881 908
 			// The period value for paypal.
882 909
 			$context['paypal_period'] = strtoupper(substr($_POST['cur'][$ID_SUB], 0, 1));
883
-		}
884
-		else
910
+		} else
885 911
 		{
886 912
 			// Real cost...
887 913
 			$context['value'] = $context['sub']['costs']['fixed'];
@@ -898,13 +924,15 @@  discard block
 block discarded – undo
898 924
 		foreach ($gateways as $id => $gateway)
899 925
 		{
900 926
 			$fields = $gateways[$id]->fetchGatewayFields($context['sub']['id'] . '+' . $memID, $context['sub'], $context['value'], $period, $scripturl . '?action=profile;u=' . $memID . ';area=subscriptions;sub_id=' . $context['sub']['id'] . ';done');
901
-			if (!empty($fields['form']))
902
-				$context['gateways'][] = $fields;
927
+			if (!empty($fields['form'])) {
928
+							$context['gateways'][] = $fields;
929
+			}
903 930
 		}
904 931
 
905 932
 		// Bugger?!
906
-		if (empty($context['gateways']))
907
-			fatal_error($txt['paid_admin_not_setup_gateway']);
933
+		if (empty($context['gateways'])) {
934
+					fatal_error($txt['paid_admin_not_setup_gateway']);
935
+		}
908 936
 
909 937
 		// Now we are going to assume they want to take this out ;)
910 938
 		$new_data = array($context['sub']['id'], $context['value'], $period, 'prepay');
@@ -912,16 +940,19 @@  discard block
 block discarded – undo
912 940
 		{
913 941
 			// What are the details like?
914 942
 			$current_pending = array();
915
-			if ($context['current'][$context['sub']['id']]['pending_details'] != '')
916
-				$current_pending = smf_json_decode($context['current'][$context['sub']['id']]['pending_details'], true);
943
+			if ($context['current'][$context['sub']['id']]['pending_details'] != '') {
944
+							$current_pending = smf_json_decode($context['current'][$context['sub']['id']]['pending_details'], true);
945
+			}
917 946
 			// Don't get silly.
918
-			if (count($current_pending) > 9)
919
-				$current_pending = array();
947
+			if (count($current_pending) > 9) {
948
+							$current_pending = array();
949
+			}
920 950
 			$pending_count = 0;
921 951
 			// Only record real pending payments as will otherwise confuse the admin!
922
-			foreach ($current_pending as $pending)
923
-				if ($pending[3] == 'payback')
952
+			foreach ($current_pending as $pending) {
953
+							if ($pending[3] == 'payback')
924 954
 					$pending_count++;
955
+			}
925 956
 
926 957
 			if (!in_array($new_data, $current_pending))
927 958
 			{
@@ -966,9 +997,9 @@  discard block
 block discarded – undo
966 997
 
967 998
 		// Quit.
968 999
 		return;
1000
+	} else {
1001
+			$context['sub_template'] = 'user_subscription';
1002
+	}
969 1003
 	}
970
-	else
971
-		$context['sub_template'] = 'user_subscription';
972
-}
973 1004
 
974 1005
 ?>
975 1006
\ No newline at end of file
Please login to merge, or discard this patch.
Sources/Subs-Compat.php 1 patch
Braces   +27 added lines, -19 removed lines patch added patch discarded remove patch
@@ -16,8 +16,9 @@  discard block
 block discarded – undo
16 16
  * @version 2.1 Beta 3
17 17
  */
18 18
 
19
-if (!defined('SMF'))
19
+if (!defined('SMF')) {
20 20
 	die('No direct access...');
21
+}
21 22
 
22 23
 
23 24
 /**
@@ -28,14 +29,16 @@  discard block
 block discarded – undo
28 29
 function sha1_smf($str)
29 30
 {
30 31
 	// If we have mhash loaded in, use it instead!
31
-	if (function_exists('mhash') && defined('MHASH_SHA1'))
32
-		return bin2hex(mhash(MHASH_SHA1, $str));
32
+	if (function_exists('mhash') && defined('MHASH_SHA1')) {
33
+			return bin2hex(mhash(MHASH_SHA1, $str));
34
+	}
33 35
 
34 36
 	$nblk = (strlen($str) + 8 >> 6) + 1;
35 37
 	$blks = array_pad(array(), $nblk * 16, 0);
36 38
 
37
-	for ($i = 0; $i < strlen($str); $i++)
38
-		$blks[$i >> 2] |= ord($str{$i}) << (24 - ($i % 4) * 8);
39
+	for ($i = 0; $i < strlen($str); $i++) {
40
+			$blks[$i >> 2] |= ord($str{$i}) << (24 - ($i % 4) * 8);
41
+	}
39 42
 
40 43
 	$blks[$i >> 2] |= 0x80 << (24 - ($i % 4) * 8);
41 44
 
@@ -70,10 +73,11 @@  discard block
 block discarded – undo
70 73
 
71 74
 		for ($j = 0; $j < 80; $j++)
72 75
 		{
73
-			if ($j < 16)
74
-				$w[$j] = isset($x[$i + $j]) ? $x[$i + $j] : 0;
75
-			else
76
-				$w[$j] = sha1_rol($w[$j - 3] ^ $w[$j - 8] ^ $w[$j - 14] ^ $w[$j - 16], 1);
76
+			if ($j < 16) {
77
+							$w[$j] = isset($x[$i + $j]) ? $x[$i + $j] : 0;
78
+			} else {
79
+							$w[$j] = sha1_rol($w[$j - 3] ^ $w[$j - 8] ^ $w[$j - 14] ^ $w[$j - 16], 1);
80
+			}
77 81
 
78 82
 			$t = sha1_rol($a, 5) + sha1_ft($j, $b, $c, $d) + $e + $w[$j] + sha1_kt($j);
79 83
 			$e = $d;
@@ -103,12 +107,15 @@  discard block
 block discarded – undo
103 107
  */
104 108
 function sha1_ft($t, $b, $c, $d)
105 109
 {
106
-	if ($t < 20)
107
-		return ($b & $c) | ((~$b) & $d);
108
-	if ($t < 40)
109
-		return $b ^ $c ^ $d;
110
-	if ($t < 60)
111
-		return ($b & $c) | ($b & $d) | ($c & $d);
110
+	if ($t < 20) {
111
+			return ($b & $c) | ((~$b) & $d);
112
+	}
113
+	if ($t < 40) {
114
+			return $b ^ $c ^ $d;
115
+	}
116
+	if ($t < 60) {
117
+			return ($b & $c) | ($b & $d) | ($c & $d);
118
+	}
112 119
 
113 120
 	return $b ^ $c ^ $d;
114 121
 }
@@ -132,10 +139,11 @@  discard block
 block discarded – undo
132 139
 function sha1_rol($num, $cnt)
133 140
 {
134 141
 	// Unfortunately, PHP uses unsigned 32-bit longs only.  So we have to kludge it a bit.
135
-	if ($num & 0x80000000)
136
-		$a = ($num >> 1 & 0x7fffffff) >> (31 - $cnt);
137
-	else
138
-		$a = $num >> (32 - $cnt);
142
+	if ($num & 0x80000000) {
143
+			$a = ($num >> 1 & 0x7fffffff) >> (31 - $cnt);
144
+	} else {
145
+			$a = $num >> (32 - $cnt);
146
+	}
139 147
 
140 148
 	return ($num << $cnt) | $a;
141 149
 }
Please login to merge, or discard this patch.
Sources/Calendar.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -240,8 +240,8 @@
 block discarded – undo
240 240
 		$time_string = str_replace(array('%I', '%H', '%S', '%r', '%R', '%T'), array('%l', '%k', '', '%l:%M %p', '%k:%M', '%l:%M'), $matches[0]);
241 241
 
242 242
 	$js_time_string = str_replace(
243
-		array('%H', '%k', '%I', '%l', '%M', '%p', '%P', '%r',      '%R',  '%S', '%T',    '%X'),
244
-		array('H',  'G',  'h',  'g',  'i',  'A',  'a',  'h:i:s A', 'H:i', 's',  'H:i:s', 'H:i:s'),
243
+		array('%H', '%k', '%I', '%l', '%M', '%p', '%P', '%r', '%R', '%S', '%T', '%X'),
244
+		array('H', 'G', 'h', 'g', 'i', 'A', 'a', 'h:i:s A', 'H:i', 's', 'H:i:s', 'H:i:s'),
245 245
 		$time_string
246 246
 	);
247 247
 
Please login to merge, or discard this patch.
Braces   +125 added lines, -99 removed lines patch added patch discarded remove patch
@@ -14,8 +14,9 @@  discard block
 block discarded – undo
14 14
  * @version 2.1 Beta 3
15 15
  */
16 16
 
17
-if (!defined('SMF'))
17
+if (!defined('SMF')) {
18 18
 	die('No direct access...');
19
+}
19 20
 
20 21
 /**
21 22
  * Show the calendar.
@@ -47,12 +48,14 @@  discard block
 block discarded – undo
47 48
 		'post' => 'CalendarPost',
48 49
 	);
49 50
 
50
-	if (isset($_GET['sa']) && isset($subActions[$_GET['sa']]))
51
-		return call_helper($subActions[$_GET['sa']]);
51
+	if (isset($_GET['sa']) && isset($subActions[$_GET['sa']])) {
52
+			return call_helper($subActions[$_GET['sa']]);
53
+	}
52 54
 
53 55
 	// You can't do anything if the calendar is off.
54
-	if (empty($modSettings['cal_enabled']))
55
-		fatal_lang_error('calendar_off', false);
56
+	if (empty($modSettings['cal_enabled'])) {
57
+			fatal_lang_error('calendar_off', false);
58
+	}
56 59
 
57 60
 	// This is gonna be needed...
58 61
 	loadTemplate('Calendar');
@@ -80,8 +83,9 @@  discard block
 block discarded – undo
80 83
 				$_REQUEST['month'] = (int) $_REQUEST['month'];
81 84
 
82 85
 				// We want month view.
83
-				if (empty($_GET['viewmonth']))
84
-					$_GET['viewmonth'] = true;
86
+				if (empty($_GET['viewmonth'])) {
87
+									$_GET['viewmonth'] = true;
88
+				}
85 89
 
86 90
 				// And we definitely don't want weekly view.
87 91
 				unset ($_GET['viewweek']);
@@ -98,22 +102,25 @@  discard block
 block discarded – undo
98 102
 	$context['page_title'] = $txt['calendar'];
99 103
 
100 104
 	// Ensure a default view is defined
101
-	if (empty($modSettings['calendar_default_view']))
102
-		$modSettings['calendar_default_view'] = 'view_list';
105
+	if (empty($modSettings['calendar_default_view'])) {
106
+			$modSettings['calendar_default_view'] = 'view_list';
107
+	}
103 108
 
104 109
 	// What view do we want?
105
-	if (isset($_GET['viewweek']))
106
-		$context['calendar_view'] = 'view_week';
107
-	elseif (isset($_GET['viewmonth']))
108
-		$context['calendar_view'] = 'view_month';
109
-	elseif (isset($_GET['viewlist']))
110
-		$context['calendar_view'] = 'view_list';
111
-	else
112
-		$context['calendar_view'] = $modSettings['calendar_default_view'];
110
+	if (isset($_GET['viewweek'])) {
111
+			$context['calendar_view'] = 'view_week';
112
+	} elseif (isset($_GET['viewmonth'])) {
113
+			$context['calendar_view'] = 'view_month';
114
+	} elseif (isset($_GET['viewlist'])) {
115
+			$context['calendar_view'] = 'view_list';
116
+	} else {
117
+			$context['calendar_view'] = $modSettings['calendar_default_view'];
118
+	}
113 119
 
114 120
 	// Don't let search engines index the non-default calendar pages
115
-	if ($context['calendar_view'] !== $modSettings['calendar_default_view'])
116
-		$context['robot_no_index'] = true;
121
+	if ($context['calendar_view'] !== $modSettings['calendar_default_view']) {
122
+			$context['robot_no_index'] = true;
123
+	}
117 124
 
118 125
 	// Get the current day of month...
119 126
 	require_once($sourcedir . '/Subs-Calendar.php');
@@ -174,16 +181,19 @@  discard block
 block discarded – undo
174 181
 	);
175 182
 
176 183
 	// Make sure the year and month are in valid ranges.
177
-	if ($curPage['month'] < 1 || $curPage['month'] > 12)
178
-		fatal_lang_error('invalid_month', false);
179
-	if ($curPage['year'] < $modSettings['cal_minyear'] || $curPage['year'] > $modSettings['cal_maxyear'])
180
-		fatal_lang_error('invalid_year', false);
184
+	if ($curPage['month'] < 1 || $curPage['month'] > 12) {
185
+			fatal_lang_error('invalid_month', false);
186
+	}
187
+	if ($curPage['year'] < $modSettings['cal_minyear'] || $curPage['year'] > $modSettings['cal_maxyear']) {
188
+			fatal_lang_error('invalid_year', false);
189
+	}
181 190
 	// If we have a day clean that too.
182 191
 	if ($context['calendar_view'] != 'view_month')
183 192
 	{
184 193
 		$isValid = checkdate($curPage['month'], $curPage['day'], $curPage['year']);
185
-		if (!$isValid)
186
-			fatal_lang_error('invalid_day', false);
194
+		if (!$isValid) {
195
+					fatal_lang_error('invalid_day', false);
196
+		}
187 197
 	}
188 198
 
189 199
 	// Load all the context information needed to show the calendar grid.
@@ -205,23 +215,26 @@  discard block
 block discarded – undo
205 215
 	);
206 216
 
207 217
 	// Load up the main view.
208
-	if ($context['calendar_view'] == 'view_list')
209
-		$context['calendar_grid_main'] = getCalendarList($curPage['start_date'], $curPage['end_date'], $calendarOptions);
210
-	elseif ($context['calendar_view'] == 'view_week')
211
-		$context['calendar_grid_main'] = getCalendarWeek($curPage['month'], $curPage['year'], $curPage['day'], $calendarOptions);
212
-	else
213
-		$context['calendar_grid_main'] = getCalendarGrid($curPage['month'], $curPage['year'], $calendarOptions);
218
+	if ($context['calendar_view'] == 'view_list') {
219
+			$context['calendar_grid_main'] = getCalendarList($curPage['start_date'], $curPage['end_date'], $calendarOptions);
220
+	} elseif ($context['calendar_view'] == 'view_week') {
221
+			$context['calendar_grid_main'] = getCalendarWeek($curPage['month'], $curPage['year'], $curPage['day'], $calendarOptions);
222
+	} else {
223
+			$context['calendar_grid_main'] = getCalendarGrid($curPage['month'], $curPage['year'], $calendarOptions);
224
+	}
214 225
 
215 226
 	// Load up the previous and next months.
216 227
 	$context['calendar_grid_current'] = getCalendarGrid($curPage['month'], $curPage['year'], $calendarOptions);
217 228
 
218 229
 	// Only show previous month if it isn't pre-January of the min-year
219
-	if ($context['calendar_grid_current']['previous_calendar']['year'] > $modSettings['cal_minyear'] || $curPage['month'] != 1)
220
-		$context['calendar_grid_prev'] = getCalendarGrid($context['calendar_grid_current']['previous_calendar']['month'], $context['calendar_grid_current']['previous_calendar']['year'], $calendarOptions, true);
230
+	if ($context['calendar_grid_current']['previous_calendar']['year'] > $modSettings['cal_minyear'] || $curPage['month'] != 1) {
231
+			$context['calendar_grid_prev'] = getCalendarGrid($context['calendar_grid_current']['previous_calendar']['month'], $context['calendar_grid_current']['previous_calendar']['year'], $calendarOptions, true);
232
+	}
221 233
 
222 234
 	// Only show next month if it isn't post-December of the max-year
223
-	if ($context['calendar_grid_current']['next_calendar']['year'] < $modSettings['cal_maxyear'] || $curPage['month'] != 12)
224
-		$context['calendar_grid_next'] = getCalendarGrid($context['calendar_grid_current']['next_calendar']['month'], $context['calendar_grid_current']['next_calendar']['year'], $calendarOptions);
235
+	if ($context['calendar_grid_current']['next_calendar']['year'] < $modSettings['cal_maxyear'] || $curPage['month'] != 12) {
236
+			$context['calendar_grid_next'] = getCalendarGrid($context['calendar_grid_current']['next_calendar']['month'], $context['calendar_grid_current']['next_calendar']['year'], $calendarOptions);
237
+	}
225 238
 
226 239
 	// Basic template stuff.
227 240
 	$context['allow_calendar_event'] = allowedTo('calendar_post');
@@ -241,8 +254,9 @@  discard block
 block discarded – undo
241 254
 	$context['blocks_disabled'] = !empty($modSettings['cal_disable_prev_next']) ? 1 : 0;
242 255
 
243 256
 	// Set the page title to mention the month or week, too
244
-	if ($context['calendar_view'] != 'view_list')
245
-		$context['page_title'] .= ' - ' . ($context['calendar_view'] == 'view_week' ? $context['calendar_grid_main']['week_title'] : $txt['months'][$context['current_month']] . ' ' . $context['current_year']);
257
+	if ($context['calendar_view'] != 'view_list') {
258
+			$context['page_title'] .= ' - ' . ($context['calendar_view'] == 'view_week' ? $context['calendar_grid_main']['week_title'] : $txt['months'][$context['current_month']] . ' ' . $context['current_year']);
259
+	}
246 260
 
247 261
 	// Load up the linktree!
248 262
 	$context['linktree'][] = array(
@@ -255,17 +269,19 @@  discard block
 block discarded – undo
255 269
 		'name' => $txt['months'][$context['current_month']] . ' ' . $context['current_year']
256 270
 	);
257 271
 	// If applicable, add the current week to the linktree.
258
-	if ($context['calendar_view'] == 'view_week')
259
-		$context['linktree'][] = array(
272
+	if ($context['calendar_view'] == 'view_week') {
273
+			$context['linktree'][] = array(
260 274
 			'url' => $scripturl . '?action=calendar;viewweek;year=' . $context['current_year'] . ';month=' . $context['current_month'] . ';day=' . $context['current_day'],
261 275
 			'name' => $context['calendar_grid_main']['week_title'],
262 276
 		);
277
+	}
263 278
 
264 279
 	// Build the calendar button array.
265 280
 	$context['calendar_buttons'] = array();
266 281
 
267
-	if ($context['can_post'])
268
-		$context['calendar_buttons']['post_event'] = array('text' => 'calendar_post_event', 'image' => 'calendarpe.png', 'url' => $scripturl . '?action=calendar;sa=post;month=' . $context['current_month'] . ';year=' . $context['current_year'] . ';' . $context['session_var'] . '=' . $context['session_id']);
282
+	if ($context['can_post']) {
283
+			$context['calendar_buttons']['post_event'] = array('text' => 'calendar_post_event', 'image' => 'calendarpe.png', 'url' => $scripturl . '?action=calendar;sa=post;month=' . $context['current_month'] . ';year=' . $context['current_year'] . ';' . $context['session_var'] . '=' . $context['session_id']);
284
+	}
269 285
 
270 286
 	// Allow mods to add additional buttons here
271 287
 	call_integration_hook('integrate_calendar_buttons');
@@ -294,14 +310,16 @@  discard block
 block discarded – undo
294 310
 	require_once($sourcedir . '/Subs.php');
295 311
 
296 312
 	// Cast this for safety...
297
-	if (isset($_REQUEST['eventid']))
298
-		$_REQUEST['eventid'] = (int) $_REQUEST['eventid'];
313
+	if (isset($_REQUEST['eventid'])) {
314
+			$_REQUEST['eventid'] = (int) $_REQUEST['eventid'];
315
+	}
299 316
 
300 317
 	// We want a fairly compact version of the time, but as close as possible to the user's settings.
301
-	if (preg_match('~%[HkIlMpPrRSTX](?:[^%]*%[HkIlMpPrRSTX])*~', $user_info['time_format'], $matches) == 0 || empty($matches[0]))
302
-		$time_string = '%k:%M';
303
-	else
304
-		$time_string = str_replace(array('%I', '%H', '%S', '%r', '%R', '%T'), array('%l', '%k', '', '%l:%M %p', '%k:%M', '%l:%M'), $matches[0]);
318
+	if (preg_match('~%[HkIlMpPrRSTX](?:[^%]*%[HkIlMpPrRSTX])*~', $user_info['time_format'], $matches) == 0 || empty($matches[0])) {
319
+			$time_string = '%k:%M';
320
+	} else {
321
+			$time_string = str_replace(array('%I', '%H', '%S', '%r', '%R', '%T'), array('%l', '%k', '', '%l:%M %p', '%k:%M', '%l:%M'), $matches[0]);
322
+	}
305 323
 
306 324
 	$js_time_string = str_replace(
307 325
 		array('%H', '%k', '%I', '%l', '%M', '%p', '%P', '%r',      '%R',  '%S', '%T',    '%X'),
@@ -315,12 +333,14 @@  discard block
 block discarded – undo
315 333
 		checkSession();
316 334
 
317 335
 		// Validate the post...
318
-		if (!isset($_POST['link_to_board']))
319
-			validateEventPost();
336
+		if (!isset($_POST['link_to_board'])) {
337
+					validateEventPost();
338
+		}
320 339
 
321 340
 		// If you're not allowed to edit any events, you have to be the poster.
322
-		if ($_REQUEST['eventid'] > 0 && !allowedTo('calendar_edit_any'))
323
-			isAllowedTo('calendar_edit_' . (!empty($user_info['id']) && getEventPoster($_REQUEST['eventid']) == $user_info['id'] ? 'own' : 'any'));
341
+		if ($_REQUEST['eventid'] > 0 && !allowedTo('calendar_edit_any')) {
342
+					isAllowedTo('calendar_edit_' . (!empty($user_info['id']) && getEventPoster($_REQUEST['eventid']) == $user_info['id'] ? 'own' : 'any'));
343
+		}
324 344
 
325 345
 		// New - and directing?
326 346
 		if (isset($_POST['link_to_board']) || empty($modSettings['cal_allow_unlinked']))
@@ -343,8 +363,9 @@  discard block
 block discarded – undo
343 363
 		}
344 364
 
345 365
 		// Deleting...
346
-		elseif (isset($_REQUEST['deleteevent']))
347
-			removeEvent($_REQUEST['eventid']);
366
+		elseif (isset($_REQUEST['deleteevent'])) {
367
+					removeEvent($_REQUEST['eventid']);
368
+		}
348 369
 
349 370
 		// ... or just update it?
350 371
 		else
@@ -366,14 +387,12 @@  discard block
 block discarded – undo
366 387
 			$d = date_parse($_POST['start_date']);
367 388
 			$year = $d['year'];
368 389
 			$month = $d['month'];
369
-		}
370
-		elseif (isset($_POST['start_datetime']))
390
+		} elseif (isset($_POST['start_datetime']))
371 391
 		{
372 392
 			$d = date_parse($_POST['start_datetime']);
373 393
 			$year = $d['year'];
374 394
 			$month = $d['month'];
375
-		}
376
-		else
395
+		} else
377 396
 		{
378 397
 			$today = getdate();
379 398
 			$year = isset($_POST['year']) ? $_POST['year'] : $today['year'];
@@ -406,13 +425,13 @@  discard block
 block discarded – undo
406 425
 		$context['event'] = array_merge($context['event'], $eventDatetimes);
407 426
 
408 427
 		$context['event']['last_day'] = (int) strftime('%d', mktime(0, 0, 0, $context['event']['month'] == 12 ? 1 : $context['event']['month'] + 1, 0, $context['event']['month'] == 12 ? $context['event']['year'] + 1 : $context['event']['year']));
409
-	}
410
-	else
428
+	} else
411 429
 	{
412 430
 		$context['event'] = getEventProperties($_REQUEST['eventid']);
413 431
 
414
-		if ($context['event'] === false)
415
-			fatal_lang_error('no_access', false);
432
+		if ($context['event'] === false) {
433
+					fatal_lang_error('no_access', false);
434
+		}
416 435
 
417 436
 		// If it has a board, then they should be editing it within the topic.
418 437
 		if (!empty($context['event']['topic']['id']) && !empty($context['event']['topic']['first_msg']))
@@ -423,10 +442,11 @@  discard block
 block discarded – undo
423 442
 		}
424 443
 
425 444
 		// Make sure the user is allowed to edit this event.
426
-		if ($context['event']['member'] != $user_info['id'])
427
-			isAllowedTo('calendar_edit_any');
428
-		elseif (!allowedTo('calendar_edit_any'))
429
-			isAllowedTo('calendar_edit_own');
445
+		if ($context['event']['member'] != $user_info['id']) {
446
+					isAllowedTo('calendar_edit_any');
447
+		} elseif (!allowedTo('calendar_edit_any')) {
448
+					isAllowedTo('calendar_edit_own');
449
+		}
430 450
 	}
431 451
 
432 452
 	// An all day event? Set up some nice defaults in case the user wants to change that
@@ -460,8 +480,7 @@  discard block
 block discarded – undo
460 480
 	{
461 481
 		// You can post new events but can't link them to anything...
462 482
 		$context['event']['categories'] = array();
463
-	}
464
-	else
483
+	} else
465 484
 	{
466 485
 		// Load the list of boards and categories in the context.
467 486
 		require_once($sourcedir . '/Subs-MessageIndex.php');
@@ -548,12 +567,14 @@  discard block
 block discarded – undo
548 567
 	global $smcFunc, $sourcedir, $forum_version, $modSettings, $webmaster_email, $mbname;
549 568
 
550 569
 	// You can't export if the calendar export feature is off.
551
-	if (empty($modSettings['cal_export']))
552
-		fatal_lang_error('calendar_export_off', false);
570
+	if (empty($modSettings['cal_export'])) {
571
+			fatal_lang_error('calendar_export_off', false);
572
+	}
553 573
 
554 574
 	// Goes without saying that this is required.
555
-	if (!isset($_REQUEST['eventid']))
556
-		fatal_lang_error('no_access', false);
575
+	if (!isset($_REQUEST['eventid'])) {
576
+			fatal_lang_error('no_access', false);
577
+	}
557 578
 
558 579
 	// This is kinda wanted.
559 580
 	require_once($sourcedir . '/Subs-Calendar.php');
@@ -561,15 +582,17 @@  discard block
 block discarded – undo
561 582
 	// Load up the event in question and check it exists.
562 583
 	$event = getEventProperties($_REQUEST['eventid']);
563 584
 
564
-	if ($event === false)
565
-		fatal_lang_error('no_access', false);
585
+	if ($event === false) {
586
+			fatal_lang_error('no_access', false);
587
+	}
566 588
 
567 589
 	// Check the title isn't too long - iCal requires some formatting if so.
568 590
 	$title = str_split($event['title'], 30);
569 591
 	foreach ($title as $id => $line)
570 592
 	{
571
-		if ($id != 0)
572
-			$title[$id] = ' ' . $title[$id];
593
+		if ($id != 0) {
594
+					$title[$id] = ' ' . $title[$id];
595
+		}
573 596
 		$title[$id] .= "\n";
574 597
 	}
575 598
 
@@ -582,8 +605,7 @@  discard block
 block discarded – undo
582 605
 	{
583 606
 		$datestart = date_format($start_date, 'Ymd\THis');
584 607
 		$dateend = date_format($end_date, 'Ymd\THis');
585
-	}
586
-	else
608
+	} else
587 609
 	{
588 610
 		$datestart = date_format($start_date, 'Ymd');
589 611
 
@@ -604,15 +626,18 @@  discard block
 block discarded – undo
604 626
 	$filecontents .= 'DTSTART' . (!empty($event['start_time']) ? ';TZID=' . $event['tz'] : ';VALUE=DATE') . ':' . $datestart . "\n";
605 627
 
606 628
 	// event has a duration
607
-	if ($event['start_iso_gmdate'] != $event['end_iso_gmdate'])
608
-		$filecontents .= 'DTEND' . (!empty($event['end_time']) ? ';TZID=' . $event['tz'] : ';VALUE=DATE') . ':' . $dateend . "\n";
629
+	if ($event['start_iso_gmdate'] != $event['end_iso_gmdate']) {
630
+			$filecontents .= 'DTEND' . (!empty($event['end_time']) ? ';TZID=' . $event['tz'] : ';VALUE=DATE') . ':' . $dateend . "\n";
631
+	}
609 632
 
610 633
 	// event has changed? advance the sequence for this UID
611
-	if ($event['sequence'] > 0)
612
-		$filecontents .= 'SEQUENCE:' . $event['sequence'] . "\n";
634
+	if ($event['sequence'] > 0) {
635
+			$filecontents .= 'SEQUENCE:' . $event['sequence'] . "\n";
636
+	}
613 637
 
614
-	if (!empty($event['location']))
615
-		$filecontents .= 'LOCATION:' . str_replace(',', '\,', $event['location']) . "\n";
638
+	if (!empty($event['location'])) {
639
+			$filecontents .= 'LOCATION:' . str_replace(',', '\,', $event['location']) . "\n";
640
+	}
616 641
 
617 642
 	$filecontents .= 'SUMMARY:' . implode('', $title);
618 643
 	$filecontents .= 'UID:' . $event['eventid'] . '@' . str_replace(' ', '-', $mbname) . "\n";
@@ -621,23 +646,26 @@  discard block
 block discarded – undo
621 646
 
622 647
 	// Send some standard headers.
623 648
 	ob_end_clean();
624
-	if (!empty($modSettings['enableCompressedOutput']))
625
-		@ob_start('ob_gzhandler');
626
-	else
627
-		ob_start();
649
+	if (!empty($modSettings['enableCompressedOutput'])) {
650
+			@ob_start('ob_gzhandler');
651
+	} else {
652
+			ob_start();
653
+	}
628 654
 
629 655
 	// Send the file headers
630 656
 	header('Pragma: ');
631 657
 	header('Cache-Control: no-cache');
632
-	if (!isBrowser('gecko'))
633
-		header('Content-Transfer-Encoding: binary');
658
+	if (!isBrowser('gecko')) {
659
+			header('Content-Transfer-Encoding: binary');
660
+	}
634 661
 	header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 525600 * 60) . ' GMT');
635 662
 	header('Last-Modified: ' . gmdate('D, d M Y H:i:s', time()) . 'GMT');
636 663
 	header('Accept-Ranges: bytes');
637 664
 	header('Connection: close');
638 665
 	header('Content-Disposition: attachment; filename="' . $event['title'] . '.ics"');
639
-	if (empty($modSettings['enableCompressedOutput']))
640
-		header('Content-Length: ' . $smcFunc['strlen']($filecontents));
666
+	if (empty($modSettings['enableCompressedOutput'])) {
667
+			header('Content-Length: ' . $smcFunc['strlen']($filecontents));
668
+	}
641 669
 
642 670
 	// This is a calendar item!
643 671
 	header('Content-Type: text/calendar');
@@ -676,20 +704,17 @@  discard block
 block discarded – undo
676 704
 		$context['sub_template'] = 'bcd';
677 705
 		$context['linktree'][] = array('url' => $scripturl . '?action=clock;bcd', 'name' => 'BCD');
678 706
 		$context['clockicons'] = safe_unserialize(base64_decode('YTo2OntzOjI6ImgxIjthOjI6e2k6MDtpOjI7aToxO2k6MTt9czoyOiJoMiI7YTo0OntpOjA7aTo4O2k6MTtpOjQ7aToyO2k6MjtpOjM7aToxO31zOjI6Im0xIjthOjM6e2k6MDtpOjQ7aToxO2k6MjtpOjI7aToxO31zOjI6Im0yIjthOjQ6e2k6MDtpOjg7aToxO2k6NDtpOjI7aToyO2k6MztpOjE7fXM6MjoiczEiO2E6Mzp7aTowO2k6NDtpOjE7aToyO2k6MjtpOjE7fXM6MjoiczIiO2E6NDp7aTowO2k6ODtpOjE7aTo0O2k6MjtpOjI7aTozO2k6MTt9fQ=='));
679
-	}
680
-	elseif (!$omfg && !isset($_REQUEST['time']))
707
+	} elseif (!$omfg && !isset($_REQUEST['time']))
681 708
 	{
682 709
 		$context['sub_template'] = 'hms';
683 710
 		$context['linktree'][] = array('url' => $scripturl . '?action=clock', 'name' => 'Binary');
684 711
 		$context['clockicons'] = safe_unserialize(base64_decode('YTozOntzOjE6ImgiO2E6NTp7aTowO2k6MTY7aToxO2k6ODtpOjI7aTo0O2k6MztpOjI7aTo0O2k6MTt9czoxOiJtIjthOjY6e2k6MDtpOjMyO2k6MTtpOjE2O2k6MjtpOjg7aTozO2k6NDtpOjQ7aToyO2k6NTtpOjE7fXM6MToicyI7YTo2OntpOjA7aTozMjtpOjE7aToxNjtpOjI7aTo4O2k6MztpOjQ7aTo0O2k6MjtpOjU7aToxO319'));
685
-	}
686
-	elseif ($omfg)
712
+	} elseif ($omfg)
687 713
 	{
688 714
 		$context['sub_template'] = 'omfg';
689 715
 		$context['linktree'][] = array('url' => $scripturl . '?action=clock;omfg', 'name' => 'OMFG');
690 716
 		$context['clockicons'] = safe_unserialize(base64_decode('YTo2OntzOjQ6InllYXIiO2E6Nzp7aTowO2k6NjQ7aToxO2k6MzI7aToyO2k6MTY7aTozO2k6ODtpOjQ7aTo0O2k6NTtpOjI7aTo2O2k6MTt9czo1OiJtb250aCI7YTo0OntpOjA7aTo4O2k6MTtpOjQ7aToyO2k6MjtpOjM7aToxO31zOjM6ImRheSI7YTo1OntpOjA7aToxNjtpOjE7aTo4O2k6MjtpOjQ7aTozO2k6MjtpOjQ7aToxO31zOjQ6ImhvdXIiO2E6NTp7aTowO2k6MTY7aToxO2k6ODtpOjI7aTo0O2k6MztpOjI7aTo0O2k6MTt9czozOiJtaW4iO2E6Njp7aTowO2k6MzI7aToxO2k6MTY7aToyO2k6ODtpOjM7aTo0O2k6NDtpOjI7aTo1O2k6MTt9czozOiJzZWMiO2E6Njp7aTowO2k6MzI7aToxO2k6MTY7aToyO2k6ODtpOjM7aTo0O2k6NDtpOjI7aTo1O2k6MTt9fQ=='));
691
-	}
692
-	elseif (isset($_REQUEST['time']))
717
+	} elseif (isset($_REQUEST['time']))
693 718
 	{
694 719
 		$context['sub_template'] = 'thetime';
695 720
 		$time = getdate($_REQUEST['time'] == 'now' ? time() : (int) $_REQUEST['time']);
@@ -749,12 +774,13 @@  discard block
 block discarded – undo
749 774
 			),
750 775
 		);
751 776
 
752
-		foreach ($context['clockicons'] as $t => $vs)
753
-			foreach ($vs as $v => $dumb)
777
+		foreach ($context['clockicons'] as $t => $vs) {
778
+					foreach ($vs as $v => $dumb)
754 779
 			{
755 780
 				if ($$t >= $v)
756 781
 				{
757 782
 					$$t -= $v;
783
+		}
758 784
 					$context['clockicons'][$t][$v] = true;
759 785
 				}
760 786
 			}
Please login to merge, or discard this patch.
other/install.php 2 patches
Spacing   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -1622,8 +1622,7 @@
 block discarded – undo
1622 1622
 	updateStats('topic');
1623 1623
 
1624 1624
 	// This function is needed to do the updateStats('subject') call.
1625
-	$smcFunc['strtolower'] = $db_character_set != 'utf8' && $txt['lang_character_set'] != 'UTF-8' ? 'strtolower' :
1626
-		function($string){
1625
+	$smcFunc['strtolower'] = $db_character_set != 'utf8' && $txt['lang_character_set'] != 'UTF-8' ? 'strtolower' : function($string) {
1627 1626
 			global $sourcedir;
1628 1627
 			if (function_exists('mb_strtolower'))
1629 1628
 				return mb_strtolower($string, 'UTF-8');
Please login to merge, or discard this patch.
Braces   +435 added lines, -324 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,36 +473,43 @@  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
 	return false;
485 515
 }
@@ -505,12 +535,14 @@  discard block
 block discarded – undo
505 535
 		'db_last_error.php',
506 536
 	);
507 537
 
508
-	foreach ($incontext['detected_languages'] as $lang => $temp)
509
-		$extra_files[] = 'Themes/default/languages/' . $lang;
538
+	foreach ($incontext['detected_languages'] as $lang => $temp) {
539
+			$extra_files[] = 'Themes/default/languages/' . $lang;
540
+	}
510 541
 
511 542
 	// With mod_security installed, we could attempt to fix it with .htaccess.
512
-	if (function_exists('apache_get_modules') && in_array('mod_security', apache_get_modules()))
513
-		$writable_files[] = file_exists(dirname(__FILE__) . '/.htaccess') ? '.htaccess' : '.';
543
+	if (function_exists('apache_get_modules') && in_array('mod_security', apache_get_modules())) {
544
+			$writable_files[] = file_exists(dirname(__FILE__) . '/.htaccess') ? '.htaccess' : '.';
545
+	}
514 546
 
515 547
 	$failed_files = array();
516 548
 
@@ -526,12 +558,14 @@  discard block
 block discarded – undo
526 558
 				@chmod(dirname(__FILE__) . '/' . $file, 0755);
527 559
 
528 560
 				// Well, 755 hopefully worked... if not, try 777.
529
-				if (!is_writable(dirname(__FILE__) . '/' . $file) && !@chmod(dirname(__FILE__) . '/' . $file, 0777))
530
-					$failed_files[] = $file;
561
+				if (!is_writable(dirname(__FILE__) . '/' . $file) && !@chmod(dirname(__FILE__) . '/' . $file, 0777)) {
562
+									$failed_files[] = $file;
563
+				}
531 564
 			}
532 565
 		}
533
-		foreach ($extra_files as $file)
534
-			@chmod(dirname(__FILE__) . (empty($file) ? '' : '/' . $file), 0777);
566
+		foreach ($extra_files as $file) {
567
+					@chmod(dirname(__FILE__) . (empty($file) ? '' : '/' . $file), 0777);
568
+		}
535 569
 	}
536 570
 	// Windows is trickier.  Let's try opening for r+...
537 571
 	else
@@ -541,30 +575,35 @@  discard block
 block discarded – undo
541 575
 		foreach ($writable_files as $file)
542 576
 		{
543 577
 			// Folders can't be opened for write... but the index.php in them can ;)
544
-			if (is_dir(dirname(__FILE__) . '/' . $file))
545
-				$file .= '/index.php';
578
+			if (is_dir(dirname(__FILE__) . '/' . $file)) {
579
+							$file .= '/index.php';
580
+			}
546 581
 
547 582
 			// Funny enough, chmod actually does do something on windows - it removes the read only attribute.
548 583
 			@chmod(dirname(__FILE__) . '/' . $file, 0777);
549 584
 			$fp = @fopen(dirname(__FILE__) . '/' . $file, 'r+');
550 585
 
551 586
 			// Hmm, okay, try just for write in that case...
552
-			if (!is_resource($fp))
553
-				$fp = @fopen(dirname(__FILE__) . '/' . $file, 'w');
587
+			if (!is_resource($fp)) {
588
+							$fp = @fopen(dirname(__FILE__) . '/' . $file, 'w');
589
+			}
554 590
 
555
-			if (!is_resource($fp))
556
-				$failed_files[] = $file;
591
+			if (!is_resource($fp)) {
592
+							$failed_files[] = $file;
593
+			}
557 594
 
558 595
 			@fclose($fp);
559 596
 		}
560
-		foreach ($extra_files as $file)
561
-			@chmod(dirname(__FILE__) . (empty($file) ? '' : '/' . $file), 0777);
597
+		foreach ($extra_files as $file) {
598
+					@chmod(dirname(__FILE__) . (empty($file) ? '' : '/' . $file), 0777);
599
+		}
562 600
 	}
563 601
 
564 602
 	$failure = count($failed_files) >= 1;
565 603
 
566
-	if (!isset($_SERVER))
567
-		return !$failure;
604
+	if (!isset($_SERVER)) {
605
+			return !$failure;
606
+	}
568 607
 
569 608
 	// Put the list into context.
570 609
 	$incontext['failed_files'] = $failed_files;
@@ -612,19 +651,23 @@  discard block
 block discarded – undo
612 651
 
613 652
 		if (!isset($ftp) || $ftp->error !== false)
614 653
 		{
615
-			if (!isset($ftp))
616
-				$ftp = new ftp_connection(null);
654
+			if (!isset($ftp)) {
655
+							$ftp = new ftp_connection(null);
656
+			}
617 657
 			// Save the error so we can mess with listing...
618
-			elseif ($ftp->error !== false && empty($incontext['ftp_errors']) && !empty($ftp->last_message))
619
-				$incontext['ftp_errors'][] = $ftp->last_message;
658
+			elseif ($ftp->error !== false && empty($incontext['ftp_errors']) && !empty($ftp->last_message)) {
659
+							$incontext['ftp_errors'][] = $ftp->last_message;
660
+			}
620 661
 
621 662
 			list ($username, $detect_path, $found_path) = $ftp->detect_path(dirname(__FILE__));
622 663
 
623
-			if (empty($_POST['ftp_path']) && $found_path)
624
-				$_POST['ftp_path'] = $detect_path;
664
+			if (empty($_POST['ftp_path']) && $found_path) {
665
+							$_POST['ftp_path'] = $detect_path;
666
+			}
625 667
 
626
-			if (!isset($_POST['ftp_username']))
627
-				$_POST['ftp_username'] = $username;
668
+			if (!isset($_POST['ftp_username'])) {
669
+							$_POST['ftp_username'] = $username;
670
+			}
628 671
 
629 672
 			// Set the username etc, into context.
630 673
 			$incontext['ftp'] = array(
@@ -636,8 +679,7 @@  discard block
 block discarded – undo
636 679
 			);
637 680
 
638 681
 			return false;
639
-		}
640
-		else
682
+		} else
641 683
 		{
642 684
 			$_SESSION['installer_temp_ftp'] = array(
643 685
 				'server' => $_POST['ftp_server'],
@@ -651,10 +693,12 @@  discard block
 block discarded – undo
651 693
 
652 694
 			foreach ($failed_files as $file)
653 695
 			{
654
-				if (!is_writable(dirname(__FILE__) . '/' . $file))
655
-					$ftp->chmod($file, 0755);
656
-				if (!is_writable(dirname(__FILE__) . '/' . $file))
657
-					$ftp->chmod($file, 0777);
696
+				if (!is_writable(dirname(__FILE__) . '/' . $file)) {
697
+									$ftp->chmod($file, 0755);
698
+				}
699
+				if (!is_writable(dirname(__FILE__) . '/' . $file)) {
700
+									$ftp->chmod($file, 0777);
701
+				}
658 702
 				if (!is_writable(dirname(__FILE__) . '/' . $file))
659 703
 				{
660 704
 					$failed_files_updated[] = $file;
@@ -710,15 +754,17 @@  discard block
 block discarded – undo
710 754
 
711 755
 			if (!$foundOne)
712 756
 			{
713
-				if (isset($db['default_host']))
714
-					$incontext['db']['server'] = ini_get($db['default_host']) or $incontext['db']['server'] = 'localhost';
757
+				if (isset($db['default_host'])) {
758
+									$incontext['db']['server'] = ini_get($db['default_host']) or $incontext['db']['server'] = 'localhost';
759
+				}
715 760
 				if (isset($db['default_user']))
716 761
 				{
717 762
 					$incontext['db']['user'] = ini_get($db['default_user']);
718 763
 					$incontext['db']['name'] = ini_get($db['default_user']);
719 764
 				}
720
-				if (isset($db['default_password']))
721
-					$incontext['db']['pass'] = ini_get($db['default_password']);
765
+				if (isset($db['default_password'])) {
766
+									$incontext['db']['pass'] = ini_get($db['default_password']);
767
+				}
722 768
 
723 769
 				// For simplicity and less confusion, leave the port blank by default
724 770
 				$incontext['db']['port'] = '';
@@ -737,10 +783,10 @@  discard block
 block discarded – undo
737 783
 		$incontext['db']['server'] = $_POST['db_server'];
738 784
 		$incontext['db']['prefix'] = $_POST['db_prefix'];
739 785
 
740
-		if (!empty($_POST['db_port']))
741
-			$incontext['db']['port'] = $_POST['db_port'];
742
-	}
743
-	else
786
+		if (!empty($_POST['db_port'])) {
787
+					$incontext['db']['port'] = $_POST['db_port'];
788
+		}
789
+	} else
744 790
 	{
745 791
 		$incontext['db']['prefix'] = 'smf_';
746 792
 	}
@@ -776,10 +822,11 @@  discard block
 block discarded – undo
776 822
 		if (!empty($_POST['db_port']))
777 823
 		{
778 824
 			// For MySQL, we can get the "default port" from PHP. PostgreSQL has no such option though.
779
-			if (($db_type == 'mysql' || $db_type == 'mysqli') && $_POST['db_port'] != ini_get($db_type . '.default_port'))
780
-				$vars['db_port'] = (int) $_POST['db_port'];
781
-			elseif ($db_type == 'postgresql' && $_POST['db_port'] != 5432)
782
-				$vars['db_port'] = (int) $_POST['db_port'];
825
+			if (($db_type == 'mysql' || $db_type == 'mysqli') && $_POST['db_port'] != ini_get($db_type . '.default_port')) {
826
+							$vars['db_port'] = (int) $_POST['db_port'];
827
+			} elseif ($db_type == 'postgresql' && $_POST['db_port'] != 5432) {
828
+							$vars['db_port'] = (int) $_POST['db_port'];
829
+			}
783 830
 		}
784 831
 
785 832
 		// God I hope it saved!
@@ -792,8 +839,9 @@  discard block
 block discarded – undo
792 839
 		// Make sure it works.
793 840
 		require(dirname(__FILE__) . '/Settings.php');
794 841
 
795
-		if (empty($sourcedir))
796
-			$sourcedir = dirname(__FILE__) . '/Sources';
842
+		if (empty($sourcedir)) {
843
+					$sourcedir = dirname(__FILE__) . '/Sources';
844
+		}
797 845
 
798 846
 		// Better find the database file!
799 847
 		if (!file_exists($sourcedir . '/Subs-Db-' . $db_type . '.php'))
@@ -803,18 +851,21 @@  discard block
 block discarded – undo
803 851
 		}
804 852
 
805 853
 		// Now include it for database functions!
806
-		if (!defined('SMF'))
807
-			define('SMF', 1);
854
+		if (!defined('SMF')) {
855
+					define('SMF', 1);
856
+		}
808 857
 
809 858
 		$modSettings['disableQueryCheck'] = true;
810
-		if (empty($smcFunc))
811
-			$smcFunc = array();
859
+		if (empty($smcFunc)) {
860
+					$smcFunc = array();
861
+		}
812 862
 
813 863
 			require_once($sourcedir . '/Subs-Db-' . $db_type . '.php');
814 864
 
815 865
 		// What - running PHP4? The shame!
816
-		if (version_compare(PHP_VERSION, '5', '<'))
817
-			require_once($sourcedir . '/Subs-Compat.php');
866
+		if (version_compare(PHP_VERSION, '5', '<')) {
867
+					require_once($sourcedir . '/Subs-Compat.php');
868
+		}
818 869
 
819 870
 		// Attempt a connection.
820 871
 		$needsDB = !empty($databases[$db_type]['always_has_db']);
@@ -902,12 +953,14 @@  discard block
 block discarded – undo
902 953
 	$incontext['page_title'] = $txt['install_settings'];
903 954
 
904 955
 	// Let's see if we got the database type correct.
905
-	if (isset($_POST['db_type'], $databases[$_POST['db_type']]))
906
-		$db_type = $_POST['db_type'];
956
+	if (isset($_POST['db_type'], $databases[$_POST['db_type']])) {
957
+			$db_type = $_POST['db_type'];
958
+	}
907 959
 
908 960
 	// Else we'd better be able to get the connection.
909
-	else
910
-		load_database();
961
+	else {
962
+			load_database();
963
+	}
911 964
 
912 965
 	$db_type = isset($_POST['db_type']) ? $_POST['db_type'] : $db_type;
913 966
 
@@ -927,12 +980,14 @@  discard block
 block discarded – undo
927 980
 	// Submitting?
928 981
 	if (isset($_POST['boardurl']))
929 982
 	{
930
-		if (substr($_POST['boardurl'], -10) == '/index.php')
931
-			$_POST['boardurl'] = substr($_POST['boardurl'], 0, -10);
932
-		elseif (substr($_POST['boardurl'], -1) == '/')
933
-			$_POST['boardurl'] = substr($_POST['boardurl'], 0, -1);
934
-		if (substr($_POST['boardurl'], 0, 7) != 'http://' && substr($_POST['boardurl'], 0, 7) != 'file://' && substr($_POST['boardurl'], 0, 8) != 'https://')
935
-			$_POST['boardurl'] = 'http://' . $_POST['boardurl'];
983
+		if (substr($_POST['boardurl'], -10) == '/index.php') {
984
+					$_POST['boardurl'] = substr($_POST['boardurl'], 0, -10);
985
+		} elseif (substr($_POST['boardurl'], -1) == '/') {
986
+					$_POST['boardurl'] = substr($_POST['boardurl'], 0, -1);
987
+		}
988
+		if (substr($_POST['boardurl'], 0, 7) != 'http://' && substr($_POST['boardurl'], 0, 7) != 'file://' && substr($_POST['boardurl'], 0, 8) != 'https://') {
989
+					$_POST['boardurl'] = 'http://' . $_POST['boardurl'];
990
+		}
936 991
 
937 992
 		// Save these variables.
938 993
 		$vars = array(
@@ -969,10 +1024,10 @@  discard block
 block discarded – undo
969 1024
 			{
970 1025
 				$incontext['error'] = sprintf($txt['error_utf8_version'], $databases[$db_type]['utf8_version']);
971 1026
 				return false;
972
-			}
973
-			else
974
-				// Set the character set here.
1027
+			} else {
1028
+							// Set the character set here.
975 1029
 				updateSettingsFile(array('db_character_set' => 'utf8'));
1030
+			}
976 1031
 		}
977 1032
 
978 1033
 		// Good, skip on.
@@ -992,8 +1047,9 @@  discard block
 block discarded – undo
992 1047
 	$incontext['continue'] = 1;
993 1048
 
994 1049
 	// Already done?
995
-	if (isset($_POST['pop_done']))
996
-		return true;
1050
+	if (isset($_POST['pop_done'])) {
1051
+			return true;
1052
+	}
997 1053
 
998 1054
 	// Reload settings.
999 1055
 	require(dirname(__FILE__) . '/Settings.php');
@@ -1011,8 +1067,9 @@  discard block
 block discarded – undo
1011 1067
 	$modSettings = array();
1012 1068
 	if ($result !== false)
1013 1069
 	{
1014
-		while ($row = $smcFunc['db_fetch_assoc']($result))
1015
-			$modSettings[$row['variable']] = $row['value'];
1070
+		while ($row = $smcFunc['db_fetch_assoc']($result)) {
1071
+					$modSettings[$row['variable']] = $row['value'];
1072
+		}
1016 1073
 		$smcFunc['db_free_result']($result);
1017 1074
 
1018 1075
 		// Do they match?  If so, this is just a refresh so charge on!
@@ -1025,20 +1082,22 @@  discard block
 block discarded – undo
1025 1082
 	$modSettings['disableQueryCheck'] = true;
1026 1083
 
1027 1084
 	// If doing UTF8, select it. PostgreSQL requires passing it as a string...
1028
-	if (!empty($db_character_set) && $db_character_set == 'utf8' && !empty($databases[$db_type]['utf8_support']))
1029
-		$smcFunc['db_query']('', '
1085
+	if (!empty($db_character_set) && $db_character_set == 'utf8' && !empty($databases[$db_type]['utf8_support'])) {
1086
+			$smcFunc['db_query']('', '
1030 1087
 			SET NAMES {string:utf8}',
1031 1088
 			array(
1032 1089
 				'db_error_skip' => true,
1033 1090
 				'utf8' => 'utf8',
1034 1091
 			)
1035 1092
 		);
1093
+	}
1036 1094
 
1037 1095
 	// Windows likes to leave the trailing slash, which yields to C:\path\to\SMF\/attachments...
1038
-	if (substr(__DIR__, -1) == '\\')
1039
-		$attachdir = __DIR__ . 'attachments';
1040
-	else
1041
-		$attachdir = __DIR__ . '/attachments';
1096
+	if (substr(__DIR__, -1) == '\\') {
1097
+			$attachdir = __DIR__ . 'attachments';
1098
+	} else {
1099
+			$attachdir = __DIR__ . '/attachments';
1100
+	}
1042 1101
 
1043 1102
 	$replaces = array(
1044 1103
 		'{$db_prefix}' => $db_prefix,
@@ -1055,8 +1114,9 @@  discard block
 block discarded – undo
1055 1114
 
1056 1115
 	foreach ($txt as $key => $value)
1057 1116
 	{
1058
-		if (substr($key, 0, 8) == 'default_')
1059
-			$replaces['{$' . $key . '}'] = $smcFunc['db_escape_string']($value);
1117
+		if (substr($key, 0, 8) == 'default_') {
1118
+					$replaces['{$' . $key . '}'] = $smcFunc['db_escape_string']($value);
1119
+		}
1060 1120
 	}
1061 1121
 	$replaces['{$default_reserved_names}'] = strtr($replaces['{$default_reserved_names}'], array('\\\\n' => '\\n'));
1062 1122
 
@@ -1071,8 +1131,9 @@  discard block
 block discarded – undo
1071 1131
 
1072 1132
 		while ($row = $smcFunc['db_fetch_assoc']($get_engines))
1073 1133
 		{
1074
-			if ($row['Support'] == 'YES' || $row['Support'] == 'DEFAULT')
1075
-				$engines[] = $row['Engine'];
1134
+			if ($row['Support'] == 'YES' || $row['Support'] == 'DEFAULT') {
1135
+							$engines[] = $row['Engine'];
1136
+			}
1076 1137
 		}
1077 1138
 
1078 1139
 		// Done with this now
@@ -1096,8 +1157,7 @@  discard block
 block discarded – undo
1096 1157
 			$replaces['START TRANSACTION;'] = '';
1097 1158
 			$replaces['COMMIT;'] = '';
1098 1159
 		}
1099
-	}
1100
-	else
1160
+	} else
1101 1161
 	{
1102 1162
 		$has_innodb = false;
1103 1163
 	}
@@ -1119,21 +1179,24 @@  discard block
 block discarded – undo
1119 1179
 	foreach ($sql_lines as $count => $line)
1120 1180
 	{
1121 1181
 		// No comments allowed!
1122
-		if (substr(trim($line), 0, 1) != '#')
1123
-			$current_statement .= "\n" . rtrim($line);
1182
+		if (substr(trim($line), 0, 1) != '#') {
1183
+					$current_statement .= "\n" . rtrim($line);
1184
+		}
1124 1185
 
1125 1186
 		// Is this the end of the query string?
1126
-		if (empty($current_statement) || (preg_match('~;[\s]*$~s', $line) == 0 && $count != count($sql_lines)))
1127
-			continue;
1187
+		if (empty($current_statement) || (preg_match('~;[\s]*$~s', $line) == 0 && $count != count($sql_lines))) {
1188
+					continue;
1189
+		}
1128 1190
 
1129 1191
 		// Does this table already exist?  If so, don't insert more data into it!
1130 1192
 		if (preg_match('~^\s*INSERT INTO ([^\s\n\r]+?)~', $current_statement, $match) != 0 && in_array($match[1], $exists))
1131 1193
 		{
1132 1194
 			preg_match_all('~\)[,;]~', $current_statement, $matches);
1133
-			if (!empty($matches[0]))
1134
-				$incontext['sql_results']['insert_dups'] += count($matches[0]);
1135
-			else
1136
-				$incontext['sql_results']['insert_dups']++;
1195
+			if (!empty($matches[0])) {
1196
+							$incontext['sql_results']['insert_dups'] += count($matches[0]);
1197
+			} else {
1198
+							$incontext['sql_results']['insert_dups']++;
1199
+			}
1137 1200
 
1138 1201
 			$current_statement = '';
1139 1202
 			continue;
@@ -1142,8 +1205,9 @@  discard block
 block discarded – undo
1142 1205
 		if ($smcFunc['db_query']('', $current_statement, array('security_override' => true, 'db_error_skip' => true), $db_connection) === false)
1143 1206
 		{
1144 1207
 			// Use the appropriate function based on the DB type
1145
-			if ($db_type == 'mysql' || $db_type == 'mysqli')
1146
-				$db_errorno = $db_type . '_errno';
1208
+			if ($db_type == 'mysql' || $db_type == 'mysqli') {
1209
+							$db_errorno = $db_type . '_errno';
1210
+			}
1147 1211
 
1148 1212
 			// Error 1050: Table already exists!
1149 1213
 			// @todo Needs to be made better!
@@ -1158,18 +1222,18 @@  discard block
 block discarded – undo
1158 1222
 				// MySQLi requires a connection object. It's optional with MySQL and Postgres
1159 1223
 				$incontext['failures'][$count] = $smcFunc['db_error']($db_connection);
1160 1224
 			}
1161
-		}
1162
-		else
1225
+		} else
1163 1226
 		{
1164
-			if (preg_match('~^\s*CREATE TABLE ([^\s\n\r]+?)~', $current_statement, $match) == 1)
1165
-				$incontext['sql_results']['tables']++;
1166
-			elseif (preg_match('~^\s*INSERT INTO ([^\s\n\r]+?)~', $current_statement, $match) == 1)
1227
+			if (preg_match('~^\s*CREATE TABLE ([^\s\n\r]+?)~', $current_statement, $match) == 1) {
1228
+							$incontext['sql_results']['tables']++;
1229
+			} elseif (preg_match('~^\s*INSERT INTO ([^\s\n\r]+?)~', $current_statement, $match) == 1)
1167 1230
 			{
1168 1231
 				preg_match_all('~\)[,;]~', $current_statement, $matches);
1169
-				if (!empty($matches[0]))
1170
-					$incontext['sql_results']['inserts'] += count($matches[0]);
1171
-				else
1172
-					$incontext['sql_results']['inserts']++;
1232
+				if (!empty($matches[0])) {
1233
+									$incontext['sql_results']['inserts'] += count($matches[0]);
1234
+				} else {
1235
+									$incontext['sql_results']['inserts']++;
1236
+				}
1173 1237
 			}
1174 1238
 		}
1175 1239
 
@@ -1182,15 +1246,17 @@  discard block
 block discarded – undo
1182 1246
 	// Sort out the context for the SQL.
1183 1247
 	foreach ($incontext['sql_results'] as $key => $number)
1184 1248
 	{
1185
-		if ($number == 0)
1186
-			unset($incontext['sql_results'][$key]);
1187
-		else
1188
-			$incontext['sql_results'][$key] = sprintf($txt['db_populate_' . $key], $number);
1249
+		if ($number == 0) {
1250
+					unset($incontext['sql_results'][$key]);
1251
+		} else {
1252
+					$incontext['sql_results'][$key] = sprintf($txt['db_populate_' . $key], $number);
1253
+		}
1189 1254
 	}
1190 1255
 
1191 1256
 	// Make sure UTF will be used globally.
1192
-	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'])))
1193
-		$newSettings[] = array('global_character_set', 'UTF-8');
1257
+	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']))) {
1258
+			$newSettings[] = array('global_character_set', 'UTF-8');
1259
+	}
1194 1260
 
1195 1261
 	// Maybe we can auto-detect better cookie settings?
1196 1262
 	preg_match('~^http[s]?://([^\.]+?)([^/]*?)(/.*)?$~', $boardurl, $matches);
@@ -1201,16 +1267,20 @@  discard block
 block discarded – undo
1201 1267
 		$globalCookies = false;
1202 1268
 
1203 1269
 		// Okay... let's see.  Using a subdomain other than www.? (not a perfect check.)
1204
-		if ($matches[2] != '' && (strpos(substr($matches[2], 1), '.') === false || in_array($matches[1], array('forum', 'board', 'community', 'forums', 'support', 'chat', 'help', 'talk', 'boards', 'www'))))
1205
-			$globalCookies = true;
1270
+		if ($matches[2] != '' && (strpos(substr($matches[2], 1), '.') === false || in_array($matches[1], array('forum', 'board', 'community', 'forums', 'support', 'chat', 'help', 'talk', 'boards', 'www')))) {
1271
+					$globalCookies = true;
1272
+		}
1206 1273
 		// If there's a / in the middle of the path, or it starts with ~... we want local.
1207
-		if (isset($matches[3]) && strlen($matches[3]) > 3 && (substr($matches[3], 0, 2) == '/~' || strpos(substr($matches[3], 1), '/') !== false))
1208
-			$localCookies = true;
1274
+		if (isset($matches[3]) && strlen($matches[3]) > 3 && (substr($matches[3], 0, 2) == '/~' || strpos(substr($matches[3], 1), '/') !== false)) {
1275
+					$localCookies = true;
1276
+		}
1209 1277
 
1210
-		if ($globalCookies)
1211
-			$newSettings[] = array('globalCookies', '1');
1212
-		if ($localCookies)
1213
-			$newSettings[] = array('localCookies', '1');
1278
+		if ($globalCookies) {
1279
+					$newSettings[] = array('globalCookies', '1');
1280
+		}
1281
+		if ($localCookies) {
1282
+					$newSettings[] = array('localCookies', '1');
1283
+		}
1214 1284
 	}
1215 1285
 
1216 1286
 	// Are we allowing stat collection?
@@ -1226,32 +1296,36 @@  discard block
 block discarded – undo
1226 1296
 			fwrite($fp, $out);
1227 1297
 
1228 1298
 			$return_data = '';
1229
-			while (!feof($fp))
1230
-				$return_data .= fgets($fp, 128);
1299
+			while (!feof($fp)) {
1300
+							$return_data .= fgets($fp, 128);
1301
+			}
1231 1302
 
1232 1303
 			fclose($fp);
1233 1304
 
1234 1305
 			// Get the unique site ID.
1235 1306
 			preg_match('~SITE-ID:\s(\w{10})~', $return_data, $ID);
1236 1307
 
1237
-			if (!empty($ID[1]))
1238
-				$newSettings[] = array('allow_sm_stats', $ID[1]);
1308
+			if (!empty($ID[1])) {
1309
+							$newSettings[] = array('allow_sm_stats', $ID[1]);
1310
+			}
1239 1311
 		}
1240 1312
 	}
1241 1313
 
1242 1314
 	// Are we enabling SSL?
1243
-	if (!empty($_POST['force_ssl']))
1244
-		$newSettings[] = array('force_ssl', 2);
1315
+	if (!empty($_POST['force_ssl'])) {
1316
+			$newSettings[] = array('force_ssl', 2);
1317
+	}
1245 1318
 
1246 1319
 	// Setting a timezone is required.
1247 1320
 	if (!isset($modSettings['default_timezone']) && function_exists('date_default_timezone_set'))
1248 1321
 	{
1249 1322
 		// Get PHP's default timezone, if set
1250 1323
 		$ini_tz = ini_get('date.timezone');
1251
-		if (!empty($ini_tz))
1252
-			$timezone_id = $ini_tz;
1253
-		else
1254
-			$timezone_id = '';
1324
+		if (!empty($ini_tz)) {
1325
+					$timezone_id = $ini_tz;
1326
+		} else {
1327
+					$timezone_id = '';
1328
+		}
1255 1329
 
1256 1330
 		// If date.timezone is unset, invalid, or just plain weird, make a best guess
1257 1331
 		if (!in_array($timezone_id, timezone_identifiers_list()))
@@ -1260,8 +1334,9 @@  discard block
 block discarded – undo
1260 1334
 			$timezone_id = timezone_name_from_abbr('', $server_offset, 0);
1261 1335
 		}
1262 1336
 
1263
-		if (date_default_timezone_set($timezone_id))
1264
-			$newSettings[] = array('default_timezone', $timezone_id);
1337
+		if (date_default_timezone_set($timezone_id)) {
1338
+					$newSettings[] = array('default_timezone', $timezone_id);
1339
+		}
1265 1340
 	}
1266 1341
 
1267 1342
 	if (!empty($newSettings))
@@ -1292,16 +1367,18 @@  discard block
 block discarded – undo
1292 1367
 	}
1293 1368
 
1294 1369
 	// MySQL specific stuff
1295
-	if (substr($db_type, 0, 5) != 'mysql')
1296
-		return false;
1370
+	if (substr($db_type, 0, 5) != 'mysql') {
1371
+			return false;
1372
+	}
1297 1373
 
1298 1374
 	// Find database user privileges.
1299 1375
 	$privs = array();
1300 1376
 	$get_privs = $smcFunc['db_query']('', 'SHOW PRIVILEGES', array());
1301 1377
 	while ($row = $smcFunc['db_fetch_assoc']($get_privs))
1302 1378
 	{
1303
-		if ($row['Privilege'] == 'Alter')
1304
-			$privs[] = $row['Privilege'];
1379
+		if ($row['Privilege'] == 'Alter') {
1380
+					$privs[] = $row['Privilege'];
1381
+		}
1305 1382
 	}
1306 1383
 	$smcFunc['db_free_result']($get_privs);
1307 1384
 
@@ -1331,8 +1408,9 @@  discard block
 block discarded – undo
1331 1408
 	$incontext['continue'] = 1;
1332 1409
 
1333 1410
 	// Skipping?
1334
-	if (!empty($_POST['skip']))
1335
-		return true;
1411
+	if (!empty($_POST['skip'])) {
1412
+			return true;
1413
+	}
1336 1414
 
1337 1415
 	// Need this to check whether we need the database password.
1338 1416
 	require(dirname(__FILE__) . '/Settings.php');
@@ -1345,18 +1423,22 @@  discard block
 block discarded – undo
1345 1423
 	// We need this to properly hash the password for Admin
1346 1424
 	$smcFunc['strtolower'] = $db_character_set != 'utf8' && $txt['lang_character_set'] != 'UTF-8' ? 'strtolower' : function($string) {
1347 1425
 			global $sourcedir;
1348
-			if (function_exists('mb_strtolower'))
1349
-				return mb_strtolower($string, 'UTF-8');
1426
+			if (function_exists('mb_strtolower')) {
1427
+							return mb_strtolower($string, 'UTF-8');
1428
+			}
1350 1429
 			require_once($sourcedir . '/Subs-Charset.php');
1351 1430
 			return utf8_strtolower($string);
1352 1431
 		};
1353 1432
 
1354
-	if (!isset($_POST['username']))
1355
-		$_POST['username'] = '';
1356
-	if (!isset($_POST['email']))
1357
-		$_POST['email'] = '';
1358
-	if (!isset($_POST['server_email']))
1359
-		$_POST['server_email'] = '';
1433
+	if (!isset($_POST['username'])) {
1434
+			$_POST['username'] = '';
1435
+	}
1436
+	if (!isset($_POST['email'])) {
1437
+			$_POST['email'] = '';
1438
+	}
1439
+	if (!isset($_POST['server_email'])) {
1440
+			$_POST['server_email'] = '';
1441
+	}
1360 1442
 
1361 1443
 	$incontext['username'] = htmlspecialchars(stripslashes($_POST['username']));
1362 1444
 	$incontext['email'] = htmlspecialchars(stripslashes($_POST['email']));
@@ -1375,8 +1457,9 @@  discard block
 block discarded – undo
1375 1457
 			'admin_group' => 1,
1376 1458
 		)
1377 1459
 	);
1378
-	if ($smcFunc['db_num_rows']($request) != 0)
1379
-		$incontext['skip'] = 1;
1460
+	if ($smcFunc['db_num_rows']($request) != 0) {
1461
+			$incontext['skip'] = 1;
1462
+	}
1380 1463
 	$smcFunc['db_free_result']($request);
1381 1464
 
1382 1465
 	// Trying to create an account?
@@ -1407,8 +1490,9 @@  discard block
 block discarded – undo
1407 1490
 		}
1408 1491
 
1409 1492
 		// Update the webmaster's email?
1410
-		if (!empty($_POST['server_email']) && (empty($webmaster_email) || $webmaster_email == '[email protected]'))
1411
-			updateSettingsFile(array('webmaster_email' => $_POST['server_email']));
1493
+		if (!empty($_POST['server_email']) && (empty($webmaster_email) || $webmaster_email == '[email protected]')) {
1494
+					updateSettingsFile(array('webmaster_email' => $_POST['server_email']));
1495
+		}
1412 1496
 
1413 1497
 		// Work out whether we're going to have dodgy characters and remove them.
1414 1498
 		$invalid_characters = preg_match('~[<>&"\'=\\\]~', $_POST['username']) != 0;
@@ -1431,32 +1515,27 @@  discard block
 block discarded – undo
1431 1515
 			$smcFunc['db_free_result']($result);
1432 1516
 
1433 1517
 			$incontext['account_existed'] = $txt['error_user_settings_taken'];
1434
-		}
1435
-		elseif ($_POST['username'] == '' || strlen($_POST['username']) > 25)
1518
+		} elseif ($_POST['username'] == '' || strlen($_POST['username']) > 25)
1436 1519
 		{
1437 1520
 			// Try the previous step again.
1438 1521
 			$incontext['error'] = $_POST['username'] == '' ? $txt['error_username_left_empty'] : $txt['error_username_too_long'];
1439 1522
 			return false;
1440
-		}
1441
-		elseif ($invalid_characters || $_POST['username'] == '_' || $_POST['username'] == '|' || strpos($_POST['username'], '[code') !== false || strpos($_POST['username'], '[/code') !== false)
1523
+		} elseif ($invalid_characters || $_POST['username'] == '_' || $_POST['username'] == '|' || strpos($_POST['username'], '[code') !== false || strpos($_POST['username'], '[/code') !== false)
1442 1524
 		{
1443 1525
 			// Try the previous step again.
1444 1526
 			$incontext['error'] = $txt['error_invalid_characters_username'];
1445 1527
 			return false;
1446
-		}
1447
-		elseif (empty($_POST['email']) || !filter_var(stripslashes($_POST['email']), FILTER_VALIDATE_EMAIL) || strlen(stripslashes($_POST['email'])) > 255)
1528
+		} elseif (empty($_POST['email']) || !filter_var(stripslashes($_POST['email']), FILTER_VALIDATE_EMAIL) || strlen(stripslashes($_POST['email'])) > 255)
1448 1529
 		{
1449 1530
 			// One step back, this time fill out a proper admin email address.
1450 1531
 			$incontext['error'] = sprintf($txt['error_valid_admin_email_needed'], $_POST['username']);
1451 1532
 			return false;
1452
-		}
1453
-		elseif (empty($_POST['server_email']) || !filter_var(stripslashes($_POST['server_email']), FILTER_VALIDATE_EMAIL) || strlen(stripslashes($_POST['server_email'])) > 255)
1533
+		} elseif (empty($_POST['server_email']) || !filter_var(stripslashes($_POST['server_email']), FILTER_VALIDATE_EMAIL) || strlen(stripslashes($_POST['server_email'])) > 255)
1454 1534
 		{
1455 1535
 			// One step back, this time fill out a proper admin email address.
1456 1536
 			$incontext['error'] = $txt['error_valid_server_email_needed'];
1457 1537
 			return false;
1458
-		}
1459
-		elseif ($_POST['username'] != '')
1538
+		} elseif ($_POST['username'] != '')
1460 1539
 		{
1461 1540
 			$incontext['member_salt'] = substr(md5(mt_rand()), 0, 4);
1462 1541
 
@@ -1521,17 +1600,19 @@  discard block
 block discarded – undo
1521 1600
 	require_once($sourcedir . '/Subs-Auth.php');
1522 1601
 
1523 1602
 	// Bring a warning over.
1524
-	if (!empty($incontext['account_existed']))
1525
-		$incontext['warning'] = $incontext['account_existed'];
1603
+	if (!empty($incontext['account_existed'])) {
1604
+			$incontext['warning'] = $incontext['account_existed'];
1605
+	}
1526 1606
 
1527
-	if (!empty($db_character_set) && !empty($databases[$db_type]['utf8_support']))
1528
-		$smcFunc['db_query']('', '
1607
+	if (!empty($db_character_set) && !empty($databases[$db_type]['utf8_support'])) {
1608
+			$smcFunc['db_query']('', '
1529 1609
 			SET NAMES {string:db_character_set}',
1530 1610
 			array(
1531 1611
 				'db_character_set' => $db_character_set,
1532 1612
 				'db_error_skip' => true,
1533 1613
 			)
1534 1614
 		);
1615
+	}
1535 1616
 
1536 1617
 	// As track stats is by default enabled let's add some activity.
1537 1618
 	$smcFunc['db_insert']('ignore',
@@ -1552,14 +1633,16 @@  discard block
 block discarded – undo
1552 1633
 	// Only proceed if we can load the data.
1553 1634
 	if ($request)
1554 1635
 	{
1555
-		while ($row = $smcFunc['db_fetch_row']($request))
1556
-			$modSettings[$row[0]] = $row[1];
1636
+		while ($row = $smcFunc['db_fetch_row']($request)) {
1637
+					$modSettings[$row[0]] = $row[1];
1638
+		}
1557 1639
 		$smcFunc['db_free_result']($request);
1558 1640
 	}
1559 1641
 
1560 1642
 	// Automatically log them in ;)
1561
-	if (isset($incontext['member_id']) && isset($incontext['member_salt']))
1562
-		setLoginCookie(3153600 * 60, $incontext['member_id'], hash_salt($_POST['password1'], $incontext['member_salt']));
1643
+	if (isset($incontext['member_id']) && isset($incontext['member_salt'])) {
1644
+			setLoginCookie(3153600 * 60, $incontext['member_id'], hash_salt($_POST['password1'], $incontext['member_salt']));
1645
+	}
1563 1646
 
1564 1647
 	$result = $smcFunc['db_query']('', '
1565 1648
 		SELECT value
@@ -1570,13 +1653,14 @@  discard block
 block discarded – undo
1570 1653
 			'db_error_skip' => true,
1571 1654
 		)
1572 1655
 	);
1573
-	if ($smcFunc['db_num_rows']($result) != 0)
1574
-		list ($db_sessions) = $smcFunc['db_fetch_row']($result);
1656
+	if ($smcFunc['db_num_rows']($result) != 0) {
1657
+			list ($db_sessions) = $smcFunc['db_fetch_row']($result);
1658
+	}
1575 1659
 	$smcFunc['db_free_result']($result);
1576 1660
 
1577
-	if (empty($db_sessions))
1578
-		$_SESSION['admin_time'] = time();
1579
-	else
1661
+	if (empty($db_sessions)) {
1662
+			$_SESSION['admin_time'] = time();
1663
+	} else
1580 1664
 	{
1581 1665
 		$_SERVER['HTTP_USER_AGENT'] = substr($_SERVER['HTTP_USER_AGENT'], 0, 211);
1582 1666
 
@@ -1600,8 +1684,9 @@  discard block
 block discarded – undo
1600 1684
 	$smcFunc['strtolower'] = $db_character_set != 'utf8' && $txt['lang_character_set'] != 'UTF-8' ? 'strtolower' :
1601 1685
 		function($string){
1602 1686
 			global $sourcedir;
1603
-			if (function_exists('mb_strtolower'))
1604
-				return mb_strtolower($string, 'UTF-8');
1687
+			if (function_exists('mb_strtolower')) {
1688
+							return mb_strtolower($string, 'UTF-8');
1689
+			}
1605 1690
 			require_once($sourcedir . '/Subs-Charset.php');
1606 1691
 			return utf8_strtolower($string);
1607 1692
 		};
@@ -1617,8 +1702,9 @@  discard block
 block discarded – undo
1617 1702
 		)
1618 1703
 	);
1619 1704
 	$context['utf8'] = $db_character_set === 'utf8' || $txt['lang_character_set'] === 'UTF-8';
1620
-	if ($smcFunc['db_num_rows']($request) > 0)
1621
-		updateStats('subject', 1, htmlspecialchars($txt['default_topic_subject']));
1705
+	if ($smcFunc['db_num_rows']($request) > 0) {
1706
+			updateStats('subject', 1, htmlspecialchars($txt['default_topic_subject']));
1707
+	}
1622 1708
 	$smcFunc['db_free_result']($request);
1623 1709
 
1624 1710
 	// Now is the perfect time to fetch the SM files.
@@ -1637,8 +1723,9 @@  discard block
 block discarded – undo
1637 1723
 
1638 1724
 	// Check if we need some stupid MySQL fix.
1639 1725
 	$server_version = $smcFunc['db_server_info']();
1640
-	if (($db_type == 'mysql' || $db_type == 'mysqli') && in_array(substr($server_version, 0, 6), array('5.0.50', '5.0.51')))
1641
-		updateSettings(array('db_mysql_group_by_fix' => '1'));
1726
+	if (($db_type == 'mysql' || $db_type == 'mysqli') && in_array(substr($server_version, 0, 6), array('5.0.50', '5.0.51'))) {
1727
+			updateSettings(array('db_mysql_group_by_fix' => '1'));
1728
+	}
1642 1729
 
1643 1730
 	// Some final context for the template.
1644 1731
 	$incontext['dir_still_writable'] = is_writable(dirname(__FILE__)) && substr(__FILE__, 1, 2) != ':\\';
@@ -1658,8 +1745,9 @@  discard block
 block discarded – undo
1658 1745
 	$settingsArray = file(dirname(__FILE__) . '/Settings.php');
1659 1746
 
1660 1747
 	// @todo Do we just want to read the file in clean, and split it this way always?
1661
-	if (count($settingsArray) == 1)
1662
-		$settingsArray = preg_split('~[\r\n]~', $settingsArray[0]);
1748
+	if (count($settingsArray) == 1) {
1749
+			$settingsArray = preg_split('~[\r\n]~', $settingsArray[0]);
1750
+	}
1663 1751
 
1664 1752
 	for ($i = 0, $n = count($settingsArray); $i < $n; $i++)
1665 1753
 	{
@@ -1674,19 +1762,22 @@  discard block
 block discarded – undo
1674 1762
 			continue;
1675 1763
 		}
1676 1764
 
1677
-		if (trim($settingsArray[$i]) == '?' . '>')
1678
-			$settingsArray[$i] = '';
1765
+		if (trim($settingsArray[$i]) == '?' . '>') {
1766
+					$settingsArray[$i] = '';
1767
+		}
1679 1768
 
1680 1769
 		// Don't trim or bother with it if it's not a variable.
1681
-		if (substr($settingsArray[$i], 0, 1) != '$')
1682
-			continue;
1770
+		if (substr($settingsArray[$i], 0, 1) != '$') {
1771
+					continue;
1772
+		}
1683 1773
 
1684 1774
 		$settingsArray[$i] = rtrim($settingsArray[$i]) . "\n";
1685 1775
 
1686
-		foreach ($vars as $var => $val)
1687
-			if (strncasecmp($settingsArray[$i], '$' . $var, 1 + strlen($var)) == 0)
1776
+		foreach ($vars as $var => $val) {
1777
+					if (strncasecmp($settingsArray[$i], '$' . $var, 1 + strlen($var)) == 0)
1688 1778
 			{
1689 1779
 				$comment = strstr($settingsArray[$i], '#');
1780
+		}
1690 1781
 				$settingsArray[$i] = '$' . $var . ' = \'' . $val . '\';' . ($comment != '' ? "\t\t" . $comment : "\n");
1691 1782
 				unset($vars[$var]);
1692 1783
 			}
@@ -1696,36 +1787,41 @@  discard block
 block discarded – undo
1696 1787
 	if (!empty($vars))
1697 1788
 	{
1698 1789
 		$settingsArray[$i++] = '';
1699
-		foreach ($vars as $var => $val)
1700
-			$settingsArray[$i++] = '$' . $var . ' = \'' . $val . '\';' . "\n";
1790
+		foreach ($vars as $var => $val) {
1791
+					$settingsArray[$i++] = '$' . $var . ' = \'' . $val . '\';' . "\n";
1792
+		}
1701 1793
 	}
1702 1794
 
1703 1795
 	// Blank out the file - done to fix a oddity with some servers.
1704 1796
 	$fp = @fopen(dirname(__FILE__) . '/Settings.php', 'w');
1705
-	if (!$fp)
1706
-		return false;
1797
+	if (!$fp) {
1798
+			return false;
1799
+	}
1707 1800
 	fclose($fp);
1708 1801
 
1709 1802
 	$fp = fopen(dirname(__FILE__) . '/Settings.php', 'r+');
1710 1803
 
1711 1804
 	// Gotta have one of these ;)
1712
-	if (trim($settingsArray[0]) != '<?php')
1713
-		fwrite($fp, "<?php\n");
1805
+	if (trim($settingsArray[0]) != '<?php') {
1806
+			fwrite($fp, "<?php\n");
1807
+	}
1714 1808
 
1715 1809
 	$lines = count($settingsArray);
1716 1810
 	for ($i = 0; $i < $lines - 1; $i++)
1717 1811
 	{
1718 1812
 		// Don't just write a bunch of blank lines.
1719
-		if ($settingsArray[$i] != '' || @$settingsArray[$i - 1] != '')
1720
-			fwrite($fp, strtr($settingsArray[$i], "\r", ''));
1813
+		if ($settingsArray[$i] != '' || @$settingsArray[$i - 1] != '') {
1814
+					fwrite($fp, strtr($settingsArray[$i], "\r", ''));
1815
+		}
1721 1816
 	}
1722 1817
 	fwrite($fp, $settingsArray[$i] . '?' . '>');
1723 1818
 	fclose($fp);
1724 1819
 
1725 1820
 	// Even though on normal installations the filemtime should prevent this being used by the installer incorrectly
1726 1821
 	// it seems that there are times it might not. So let's MAKE it dump the cache.
1727
-	if (function_exists('opcache_invalidate'))
1728
-		opcache_invalidate(dirname(__FILE__) . '/Settings.php', true);
1822
+	if (function_exists('opcache_invalidate')) {
1823
+			opcache_invalidate(dirname(__FILE__) . '/Settings.php', true);
1824
+	}
1729 1825
 
1730 1826
 	return true;
1731 1827
 }
@@ -1750,9 +1846,9 @@  discard block
 block discarded – undo
1750 1846
 	SecFilterScanPOST Off
1751 1847
 </IfModule>';
1752 1848
 
1753
-	if (!function_exists('apache_get_modules') || !in_array('mod_security', apache_get_modules()))
1754
-		return true;
1755
-	elseif (file_exists(dirname(__FILE__) . '/.htaccess') && is_writable(dirname(__FILE__) . '/.htaccess'))
1849
+	if (!function_exists('apache_get_modules') || !in_array('mod_security', apache_get_modules())) {
1850
+			return true;
1851
+	} elseif (file_exists(dirname(__FILE__) . '/.htaccess') && is_writable(dirname(__FILE__) . '/.htaccess'))
1756 1852
 	{
1757 1853
 		$current_htaccess = implode('', file(dirname(__FILE__) . '/.htaccess'));
1758 1854
 
@@ -1764,29 +1860,28 @@  discard block
 block discarded – undo
1764 1860
 				fwrite($ht_handle, $htaccess_addition);
1765 1861
 				fclose($ht_handle);
1766 1862
 				return true;
1863
+			} else {
1864
+							return false;
1767 1865
 			}
1768
-			else
1769
-				return false;
1866
+		} else {
1867
+					return true;
1770 1868
 		}
1771
-		else
1772
-			return true;
1773
-	}
1774
-	elseif (file_exists(dirname(__FILE__) . '/.htaccess'))
1775
-		return strpos(implode('', file(dirname(__FILE__) . '/.htaccess')), '<IfModule mod_security.c>') !== false;
1776
-	elseif (is_writable(dirname(__FILE__)))
1869
+	} elseif (file_exists(dirname(__FILE__) . '/.htaccess')) {
1870
+			return strpos(implode('', file(dirname(__FILE__) . '/.htaccess')), '<IfModule mod_security.c>') !== false;
1871
+	} elseif (is_writable(dirname(__FILE__)))
1777 1872
 	{
1778 1873
 		if ($ht_handle = fopen(dirname(__FILE__) . '/.htaccess', 'w'))
1779 1874
 		{
1780 1875
 			fwrite($ht_handle, $htaccess_addition);
1781 1876
 			fclose($ht_handle);
1782 1877
 			return true;
1878
+		} else {
1879
+					return false;
1783 1880
 		}
1784
-		else
1881
+	} else {
1785 1882
 			return false;
1786 1883
 	}
1787
-	else
1788
-		return false;
1789
-}
1884
+	}
1790 1885
 
1791 1886
 function template_install_above()
1792 1887
 {
@@ -1824,9 +1919,10 @@  discard block
 block discarded – undo
1824 1919
 								<label for="installer_language">', $txt['installer_language'], ':</label>
1825 1920
 								<select id="installer_language" name="lang_file" onchange="location.href = \'', $installurl, '?lang_file=\' + this.options[this.selectedIndex].value;">';
1826 1921
 
1827
-		foreach ($incontext['detected_languages'] as $lang => $name)
1828
-			echo '
1922
+		foreach ($incontext['detected_languages'] as $lang => $name) {
1923
+					echo '
1829 1924
 									<option', isset($_SESSION['installer_temp_lang']) && $_SESSION['installer_temp_lang'] == $lang ? ' selected' : '', ' value="', $lang, '">', $name, '</option>';
1925
+		}
1830 1926
 
1831 1927
 		echo '
1832 1928
 								</select>
@@ -1846,9 +1942,10 @@  discard block
 block discarded – undo
1846 1942
 						<h2>', $txt['upgrade_progress'], '</h2>
1847 1943
 						<ul>';
1848 1944
 
1849
-	foreach ($incontext['steps'] as $num => $step)
1850
-		echo '
1945
+	foreach ($incontext['steps'] as $num => $step) {
1946
+			echo '
1851 1947
 							<li class="', $num < $incontext['current_step'] ? 'stepdone' : ($num == $incontext['current_step'] ? 'stepcurrent' : 'stepwaiting'), '">', $txt['upgrade_step'], ' ', $step[0], ': ', $step[1], '</li>';
1948
+	}
1852 1949
 
1853 1950
 	echo '
1854 1951
 						</ul>
@@ -1873,20 +1970,23 @@  discard block
 block discarded – undo
1873 1970
 		echo '
1874 1971
 								<div>';
1875 1972
 
1876
-		if (!empty($incontext['continue']))
1877
-			echo '
1973
+		if (!empty($incontext['continue'])) {
1974
+					echo '
1878 1975
 									<input type="submit" id="contbutt" name="contbutt" value="', $txt['upgrade_continue'], '" onclick="return submitThisOnce(this);" class="button_submit" />';
1879
-		if (!empty($incontext['skip']))
1880
-			echo '
1976
+		}
1977
+		if (!empty($incontext['skip'])) {
1978
+					echo '
1881 1979
 									<input type="submit" id="skip" name="skip" value="', $txt['upgrade_skip'], '" onclick="return submitThisOnce(this);" class="button_submit" />';
1980
+		}
1882 1981
 		echo '
1883 1982
 								</div>';
1884 1983
 	}
1885 1984
 
1886 1985
 	// Show the closing form tag and other data only if not in the last step
1887
-	if (count($incontext['steps']) - 1 !== (int) $incontext['current_step'])
1888
-		echo '
1986
+	if (count($incontext['steps']) - 1 !== (int) $incontext['current_step']) {
1987
+			echo '
1889 1988
 							</form>';
1989
+	}
1890 1990
 
1891 1991
 	echo '
1892 1992
 						</div>
@@ -1921,13 +2021,15 @@  discard block
 block discarded – undo
1921 2021
 		</div>';
1922 2022
 
1923 2023
 	// Show the warnings, or not.
1924
-	if (template_warning_divs())
1925
-		echo '
2024
+	if (template_warning_divs()) {
2025
+			echo '
1926 2026
 		<h3>', $txt['install_all_lovely'], '</h3>';
2027
+	}
1927 2028
 
1928 2029
 	// Say we want the continue button!
1929
-	if (empty($incontext['error']))
1930
-		$incontext['continue'] = 1;
2030
+	if (empty($incontext['error'])) {
2031
+			$incontext['continue'] = 1;
2032
+	}
1931 2033
 
1932 2034
 	// For the latest version stuff.
1933 2035
 	echo '
@@ -1961,8 +2063,8 @@  discard block
 block discarded – undo
1961 2063
 	global $txt, $incontext;
1962 2064
 
1963 2065
 	// Errors are very serious..
1964
-	if (!empty($incontext['error']))
1965
-		echo '
2066
+	if (!empty($incontext['error'])) {
2067
+			echo '
1966 2068
 		<div style="margin: 2ex; padding: 2ex; border: 2px dashed #cc3344; color: black; background-color: #ffe4e9;">
1967 2069
 			<div style="float: left; width: 2ex; font-size: 2em; color: red;">!!</div>
1968 2070
 			<strong style="text-decoration: underline;">', $txt['upgrade_critical_error'], '</strong><br>
@@ -1970,9 +2072,10 @@  discard block
 block discarded – undo
1970 2072
 				', $incontext['error'], '
1971 2073
 			</div>
1972 2074
 		</div>';
2075
+	}
1973 2076
 	// A warning message?
1974
-	elseif (!empty($incontext['warning']))
1975
-		echo '
2077
+	elseif (!empty($incontext['warning'])) {
2078
+			echo '
1976 2079
 		<div style="margin: 2ex; padding: 2ex; border: 2px dashed #cc3344; color: black; background-color: #ffe4e9;">
1977 2080
 			<div style="float: left; width: 2ex; font-size: 2em; color: red;">!!</div>
1978 2081
 			<strong style="text-decoration: underline;">', $txt['upgrade_warning'], '</strong><br>
@@ -1980,6 +2083,7 @@  discard block
 block discarded – undo
1980 2083
 				', $incontext['warning'], '
1981 2084
 			</div>
1982 2085
 		</div>';
2086
+	}
1983 2087
 
1984 2088
 	return empty($incontext['error']) && empty($incontext['warning']);
1985 2089
 }
@@ -1995,27 +2099,30 @@  discard block
 block discarded – undo
1995 2099
 			<li>', $incontext['failed_files']), '</li>
1996 2100
 		</ul>';
1997 2101
 
1998
-	if (isset($incontext['systemos'], $incontext['detected_path']) && $incontext['systemos'] == 'linux')
1999
-		echo '
2102
+	if (isset($incontext['systemos'], $incontext['detected_path']) && $incontext['systemos'] == 'linux') {
2103
+			echo '
2000 2104
 		<hr>
2001 2105
 		<p>', $txt['chmod_linux_info'], '</p>
2002 2106
 		<tt># chmod a+w ', implode(' ' . $incontext['detected_path'] . '/', $incontext['failed_files']), '</tt>';
2107
+	}
2003 2108
 
2004 2109
 	// This is serious!
2005
-	if (!template_warning_divs())
2006
-		return;
2110
+	if (!template_warning_divs()) {
2111
+			return;
2112
+	}
2007 2113
 
2008 2114
 	echo '
2009 2115
 		<hr>
2010 2116
 		<p>', $txt['ftp_setup_info'], '</p>';
2011 2117
 
2012
-	if (!empty($incontext['ftp_errors']))
2013
-		echo '
2118
+	if (!empty($incontext['ftp_errors'])) {
2119
+			echo '
2014 2120
 		<div class="error_message">
2015 2121
 			', $txt['error_ftp_no_connect'], '<br><br>
2016 2122
 			<code>', implode('<br>', $incontext['ftp_errors']), '</code>
2017 2123
 		</div>
2018 2124
 		<br>';
2125
+	}
2019 2126
 
2020 2127
 	echo '
2021 2128
 		<form action="', $incontext['form_url'], '" method="post">
@@ -2075,17 +2182,17 @@  discard block
 block discarded – undo
2075 2182
 				<td>
2076 2183
 					<select name="db_type" id="db_type_input" onchange="toggleDBInput();">';
2077 2184
 
2078
-	foreach ($incontext['supported_databases'] as $key => $db)
2079
-			echo '
2185
+	foreach ($incontext['supported_databases'] as $key => $db) {
2186
+				echo '
2080 2187
 						<option value="', $key, '"', isset($_POST['db_type']) && $_POST['db_type'] == $key ? ' selected' : '', '>', $db['name'], '</option>';
2188
+	}
2081 2189
 
2082 2190
 	echo '
2083 2191
 					</select>
2084 2192
 					<div class="smalltext block">', $txt['db_settings_type_info'], '</div>
2085 2193
 				</td>
2086 2194
 			</tr>';
2087
-	}
2088
-	else
2195
+	} else
2089 2196
 	{
2090 2197
 		echo '
2091 2198
 			<tr style="display: none;">
@@ -2277,9 +2384,10 @@  discard block
 block discarded – undo
2277 2384
 				<div style="color: red;">', $txt['error_db_queries'], '</div>
2278 2385
 				<ul>';
2279 2386
 
2280
-		foreach ($incontext['failures'] as $line => $fail)
2281
-			echo '
2387
+		foreach ($incontext['failures'] as $line => $fail) {
2388
+					echo '
2282 2389
 						<li><strong>', $txt['error_db_queries_line'], $line + 1, ':</strong> ', nl2br(htmlspecialchars($fail)), '</li>';
2390
+		}
2283 2391
 
2284 2392
 		echo '
2285 2393
 				</ul>';
@@ -2340,15 +2448,16 @@  discard block
 block discarded – undo
2340 2448
 			</tr>
2341 2449
 		</table>';
2342 2450
 
2343
-	if ($incontext['require_db_confirm'])
2344
-		echo '
2451
+	if ($incontext['require_db_confirm']) {
2452
+			echo '
2345 2453
 		<h2>', $txt['user_settings_database'], '</h2>
2346 2454
 		<p>', $txt['user_settings_database_info'], '</p>
2347 2455
 
2348 2456
 		<div style="margin-bottom: 2ex; padding-', $txt['lang_rtl'] == false ? 'left' : 'right', ': 50px;">
2349 2457
 			<input type="password" name="password3" size="30" class="input_password" />
2350 2458
 		</div>';
2351
-}
2459
+	}
2460
+	}
2352 2461
 
2353 2462
 // Tell them it's done, and to delete.
2354 2463
 function template_delete_install()
@@ -2361,14 +2470,15 @@  discard block
 block discarded – undo
2361 2470
 	template_warning_divs();
2362 2471
 
2363 2472
 	// Install directory still writable?
2364
-	if ($incontext['dir_still_writable'])
2365
-		echo '
2473
+	if ($incontext['dir_still_writable']) {
2474
+			echo '
2366 2475
 		<em>', $txt['still_writable'], '</em><br>
2367 2476
 		<br>';
2477
+	}
2368 2478
 
2369 2479
 	// Don't show the box if it's like 99% sure it won't work :P.
2370
-	if ($incontext['probably_delete_install'])
2371
-		echo '
2480
+	if ($incontext['probably_delete_install']) {
2481
+			echo '
2372 2482
 		<div style="margin: 1ex; font-weight: bold;">
2373 2483
 			<label for="delete_self"><input type="checkbox" id="delete_self" onclick="doTheDelete();" class="input_check" /> ', $txt['delete_installer'], !isset($_SESSION['installer_temp_ftp']) ? ' ' . $txt['delete_installer_maybe'] : '', '</label>
2374 2484
 		</div>
@@ -2384,6 +2494,7 @@  discard block
 block discarded – undo
2384 2494
 			}
2385 2495
 		</script>
2386 2496
 		<br>';
2497
+	}
2387 2498
 
2388 2499
 	echo '
2389 2500
 		', sprintf($txt['go_to_your_forum'], $boardurl . '/index.php'), '<br>
Please login to merge, or discard this patch.
Themes/default/Profile.template.php 2 patches
Spacing   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -3031,8 +3031,7 @@
 block discarded – undo
3031 3031
 							<div class="roundframe">
3032 3032
 								<div>
3033 3033
 		', !empty($context['tfa_backup']) ? '
3034
-									<div class="smalltext error">' . $txt['tfa_backup_used_desc'] . '</div>' :
3035
-			($modSettings['tfa_mode'] == 2 ? '
3034
+									<div class="smalltext error">' . $txt['tfa_backup_used_desc'] . '</div>' : ($modSettings['tfa_mode'] == 2 ? '
3036 3035
 									<div class="smalltext"><strong>' . $txt['tfa_forced_desc'] . '</strong></div>' : ''), '
3037 3036
 									<div class="smalltext">', $txt['tfa_desc'], '</div>
3038 3037
 									<div id="basicinfo" style="width: 60%">
Please login to merge, or discard this patch.
Braces   +461 added lines, -344 removed lines patch added patch discarded remove patch
@@ -18,23 +18,25 @@  discard block
 block discarded – undo
18 18
 	global $context;
19 19
 
20 20
 	// Prevent Chrome from auto completing fields when viewing/editing other members profiles
21
-	if (isBrowser('is_chrome') && !$context['user']['is_owner'])
22
-		echo '
21
+	if (isBrowser('is_chrome') && !$context['user']['is_owner']) {
22
+			echo '
23 23
 	<script>
24 24
 		disableAutoComplete();
25 25
 	</script>';
26
+	}
26 27
 
27 28
 	// If an error occurred while trying to save previously, give the user a clue!
28 29
 	echo '
29 30
 					', template_error_message();
30 31
 
31 32
 	// If the profile was update successfully, let the user know this.
32
-	if (!empty($context['profile_updated']))
33
-		echo '
33
+	if (!empty($context['profile_updated'])) {
34
+			echo '
34 35
 					<div class="infobox">
35 36
 						', $context['profile_updated'], '
36 37
 					</div>';
37
-}
38
+	}
39
+	}
38 40
 
39 41
 /**
40 42
  * Template for any HTML needed below the profile (closing off divs/tables, etc.)
@@ -102,8 +104,7 @@  discard block
 block discarded – undo
102 104
 	if (empty($context['unread_alerts']))
103 105
 	{
104 106
 		template_alerts_all_read();
105
-	}
106
-	else
107
+	} else
107 108
 	{
108 109
 		foreach ($context['unread_alerts'] as $id_alert => $details)
109 110
 		{
@@ -164,10 +165,11 @@  discard block
 block discarded – undo
164 165
 			<div class="custom_fields_above_name">
165 166
 				<ul >';
166 167
 
167
-		foreach ($context['print_custom_fields']['above_member'] as $field)
168
-			if (!empty($field['output_html']))
168
+		foreach ($context['print_custom_fields']['above_member'] as $field) {
169
+					if (!empty($field['output_html']))
169 170
 				echo '
170 171
 					<li>', $field['output_html'], '</li>';
172
+		}
171 173
 
172 174
 		echo '
173 175
 				</ul>
@@ -188,10 +190,11 @@  discard block
 block discarded – undo
188 190
 			<div class="custom_fields_below_avatar">
189 191
 				<ul >';
190 192
 
191
-		foreach ($context['print_custom_fields']['below_avatar'] as $field)
192
-			if (!empty($field['output_html']))
193
+		foreach ($context['print_custom_fields']['below_avatar'] as $field) {
194
+					if (!empty($field['output_html']))
193 195
 				echo '
194 196
 					<li>', $field['output_html'], '</li>';
197
+		}
195 198
 
196 199
 		echo '
197 200
 				</ul>
@@ -202,22 +205,25 @@  discard block
 block discarded – undo
202 205
 		echo '
203 206
 			<ul class="clear">';
204 207
 	// Email is only visible if it's your profile or you have the moderate_forum permission
205
-	if ($context['member']['show_email'])
206
-		echo '
208
+	if ($context['member']['show_email']) {
209
+			echo '
207 210
 				<li><a href="mailto:', $context['member']['email'], '" title="', $context['member']['email'], '" rel="nofollow"><span class="generic_icons mail" title="' . $txt['email'] . '"></span></a></li>';
211
+	}
208 212
 
209 213
 	// Don't show an icon if they haven't specified a website.
210
-	if ($context['member']['website']['url'] !== '' && !isset($context['disabled_fields']['website']))
211
-		echo '
214
+	if ($context['member']['website']['url'] !== '' && !isset($context['disabled_fields']['website'])) {
215
+			echo '
212 216
 				<li><a href="', $context['member']['website']['url'], '" title="' . $context['member']['website']['title'] . '" target="_blank" class="new_win">', ($settings['use_image_buttons'] ? '<span class="generic_icons www" title="' . $context['member']['website']['title'] . '"></span>' : $txt['www']), '</a></li>';
217
+	}
213 218
 
214 219
 	// Are there any custom profile fields as icons?
215 220
 	if (!empty($context['print_custom_fields']['icons']))
216 221
 	{
217
-		foreach ($context['print_custom_fields']['icons'] as $field)
218
-			if (!empty($field['output_html']))
222
+		foreach ($context['print_custom_fields']['icons'] as $field) {
223
+					if (!empty($field['output_html']))
219 224
 				echo '
220 225
 					<li class="custom_field">', $field['output_html'], '</li>';
226
+		}
221 227
 	}
222 228
 
223 229
 	echo '
@@ -225,23 +231,26 @@  discard block
 block discarded – undo
225 231
 			<span id="userstatus">', $context['can_send_pm'] ? '<a href="' . $context['member']['online']['href'] . '" title="' . $context['member']['online']['text'] . '" rel="nofollow">' : '', $settings['use_image_buttons'] ? '<span class="' . ($context['member']['online']['is_online'] == 1 ? 'on' : 'off') . '" title="' . $context['member']['online']['text'] . '"></span>' : $context['member']['online']['label'], $context['can_send_pm'] ? '</a>' : '', $settings['use_image_buttons'] ? '<span class="smalltext"> ' . $context['member']['online']['label'] . '</span>' : '';
226 232
 
227 233
 	// Can they add this member as a buddy?
228
-	if (!empty($context['can_have_buddy']) && !$context['user']['is_owner'])
229
-		echo '
234
+	if (!empty($context['can_have_buddy']) && !$context['user']['is_owner']) {
235
+			echo '
230 236
 				<br><a href="', $scripturl, '?action=buddy;u=', $context['id_member'], ';', $context['session_var'], '=', $context['session_id'], '">[', $txt['buddy_' . ($context['member']['is_buddy'] ? 'remove' : 'add')], ']</a>';
237
+	}
231 238
 
232 239
 	echo '
233 240
 			</span>';
234 241
 
235
-	if (!$context['user']['is_owner'] && $context['can_send_pm'])
236
-		echo '
242
+	if (!$context['user']['is_owner'] && $context['can_send_pm']) {
243
+			echo '
237 244
 			<a href="', $scripturl, '?action=pm;sa=send;u=', $context['id_member'], '" class="infolinks">', $txt['profile_sendpm_short'], '</a>';
245
+	}
238 246
 
239 247
 	echo '
240 248
 			<a href="', $scripturl, '?action=profile;area=showposts;u=', $context['id_member'], '" class="infolinks">', $txt['showPosts'], '</a>';
241 249
 
242
-	if ($context['user']['is_owner'] && !empty($modSettings['drafts_post_enabled']))
243
-		echo '
250
+	if ($context['user']['is_owner'] && !empty($modSettings['drafts_post_enabled'])) {
251
+			echo '
244 252
 			<a href="', $scripturl, '?action=profile;area=showdrafts;u=', $context['id_member'], '" class="infolinks">', $txt['drafts_show'], '</a>';
253
+	}
245 254
 
246 255
 	echo '
247 256
 			<a href="', $scripturl, '?action=profile;area=statistics;u=', $context['id_member'], '" class="infolinks">', $txt['statPanel'], '</a>';
@@ -253,10 +262,11 @@  discard block
 block discarded – undo
253 262
 			<div class="custom_fields_bottom">
254 263
 				<ul class="nolist">';
255 264
 
256
-		foreach ($context['print_custom_fields']['bottom_poster'] as $field)
257
-			if (!empty($field['output_html']))
265
+		foreach ($context['print_custom_fields']['bottom_poster'] as $field) {
266
+					if (!empty($field['output_html']))
258 267
 				echo '
259 268
 					<li>', $field['output_html'], '</li>';
269
+		}
260 270
 
261 271
 		echo '
262 272
 				</ul>
@@ -270,15 +280,17 @@  discard block
 block discarded – undo
270 280
 		<div id="detailedinfo">
271 281
 			<dl class="settings">';
272 282
 
273
-	if ($context['user']['is_owner'] || $context['user']['is_admin'])
274
-		echo '
283
+	if ($context['user']['is_owner'] || $context['user']['is_admin']) {
284
+			echo '
275 285
 				<dt>', $txt['username'], ': </dt>
276 286
 				<dd>', $context['member']['username'], '</dd>';
287
+	}
277 288
 
278
-	if (!isset($context['disabled_fields']['posts']))
279
-		echo '
289
+	if (!isset($context['disabled_fields']['posts'])) {
290
+			echo '
280 291
 				<dt>', $txt['profile_posts'], ': </dt>
281 292
 				<dd>', $context['member']['posts'], ' (', $context['member']['posts_per_day'], ' ', $txt['posts_per_day'], ')</dd>';
293
+	}
282 294
 
283 295
 	if ($context['member']['show_email'])
284 296
 	{
@@ -287,15 +299,17 @@  discard block
 block discarded – undo
287 299
 				<dd><a href="mailto:', $context['member']['email'], '">', $context['member']['email'], '</a></dd>';
288 300
 	}
289 301
 
290
-	if (!empty($modSettings['titlesEnable']) && !empty($context['member']['title']))
291
-		echo '
302
+	if (!empty($modSettings['titlesEnable']) && !empty($context['member']['title'])) {
303
+			echo '
292 304
 				<dt>', $txt['custom_title'], ': </dt>
293 305
 				<dd>', $context['member']['title'], '</dd>';
306
+	}
294 307
 
295
-	if (!empty($context['member']['blurb']))
296
-		echo '
308
+	if (!empty($context['member']['blurb'])) {
309
+			echo '
297 310
 				<dt>', $txt['personal_text'], ': </dt>
298 311
 				<dd>', $context['member']['blurb'], '</dd>';
312
+	}
299 313
 
300 314
 	echo '
301 315
 				<dt>', $txt['age'], ':</dt>
@@ -310,11 +324,12 @@  discard block
 block discarded – undo
310 324
 		echo '
311 325
 				<dl class="settings">';
312 326
 
313
-		foreach ($context['print_custom_fields']['standard'] as $field)
314
-			if (!empty($field['output_html']))
327
+		foreach ($context['print_custom_fields']['standard'] as $field) {
328
+					if (!empty($field['output_html']))
315 329
 				echo '
316 330
 					<dt>', $field['name'], ':</dt>
317 331
 					<dd>', $field['output_html'], '</dd>';
332
+		}
318 333
 
319 334
 		echo '
320 335
 				</dl>';
@@ -332,9 +347,10 @@  discard block
 block discarded – undo
332 347
 						<a href="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=', ($context['can_issue_warning'] && !$context['user']['is_owner'] ? 'issuewarning' : 'viewwarning'), '">', $context['member']['warning'], '%</a>';
333 348
 
334 349
 		// Can we provide information on what this means?
335
-		if (!empty($context['warning_status']))
336
-			echo '
350
+		if (!empty($context['warning_status'])) {
351
+					echo '
337 352
 						<span class="smalltext">(', $context['warning_status'], ')</span>';
353
+		}
338 354
 
339 355
 		echo '
340 356
 					</dd>';
@@ -345,9 +361,10 @@  discard block
 block discarded – undo
345 361
 	{
346 362
 
347 363
 		// If the person looking at the summary has permission, and the account isn't activated, give the viewer the ability to do it themselves.
348
-		if (!empty($context['activate_message']))
349
-			echo '
364
+		if (!empty($context['activate_message'])) {
365
+					echo '
350 366
 					<dt class="clear"><span class="alert">', $context['activate_message'], '</span>&nbsp;(<a href="', $context['activate_link'], '"', ($context['activate_type'] == 4 ? ' class="you_sure" data-confirm="' . $txt['profileConfirm'] . '"' : ''), '>', $context['activate_link_text'], '</a>)</dt>';
367
+		}
351 368
 
352 369
 		// If the current member is banned, show a message and possibly a link to the ban.
353 370
 		if (!empty($context['member']['bans']))
@@ -357,9 +374,10 @@  discard block
 block discarded – undo
357 374
 					<dt class="clear" id="ban_info" style="display: none;">
358 375
 						<strong>', $txt['user_banned_by_following'], ':</strong>';
359 376
 
360
-			foreach ($context['member']['bans'] as $ban)
361
-				echo '
377
+			foreach ($context['member']['bans'] as $ban) {
378
+							echo '
362 379
 						<br><span class="smalltext">', $ban['explanation'], '</span>';
380
+			}
363 381
 
364 382
 			echo '
365 383
 					</dt>';
@@ -373,30 +391,34 @@  discard block
 block discarded – undo
373 391
 	// If the person looking is allowed, they can check the members IP address and hostname.
374 392
 	if ($context['can_see_ip'])
375 393
 	{
376
-		if (!empty($context['member']['ip']))
377
-		echo '
394
+		if (!empty($context['member']['ip'])) {
395
+				echo '
378 396
 					<dt>', $txt['ip'], ': </dt>
379 397
 					<dd><a href="', $scripturl, '?action=profile;area=tracking;sa=ip;searchip=', $context['member']['ip'], ';u=', $context['member']['id'], '">', $context['member']['ip'], '</a></dd>';
398
+		}
380 399
 
381
-		if (empty($modSettings['disableHostnameLookup']) && !empty($context['member']['ip']))
382
-			echo '
400
+		if (empty($modSettings['disableHostnameLookup']) && !empty($context['member']['ip'])) {
401
+					echo '
383 402
 					<dt>', $txt['hostname'], ': </dt>
384 403
 					<dd>', $context['member']['hostname'], '</dd>';
404
+		}
385 405
 	}
386 406
 
387 407
 	echo '
388 408
 					<dt>', $txt['local_time'], ':</dt>
389 409
 					<dd>', $context['member']['local_time'], '</dd>';
390 410
 
391
-	if (!empty($modSettings['userLanguage']) && !empty($context['member']['language']))
392
-		echo '
411
+	if (!empty($modSettings['userLanguage']) && !empty($context['member']['language'])) {
412
+			echo '
393 413
 					<dt>', $txt['language'], ':</dt>
394 414
 					<dd>', $context['member']['language'], '</dd>';
415
+	}
395 416
 
396
-	if ($context['member']['show_last_login'])
397
-		echo '
417
+	if ($context['member']['show_last_login']) {
418
+			echo '
398 419
 					<dt>', $txt['lastLoggedIn'], ': </dt>
399 420
 					<dd>', $context['member']['last_login'], (!empty($context['member']['is_hidden']) ? ' (' . $txt['hidden'] . ')' : ''), '</dd>';
421
+	}
400 422
 
401 423
 	echo '
402 424
 				</dl>';
@@ -408,10 +430,11 @@  discard block
 block discarded – undo
408 430
 				<div class="custom_fields_above_signature">
409 431
 					<ul class="nolist">';
410 432
 
411
-		foreach ($context['print_custom_fields']['above_signature'] as $field)
412
-			if (!empty($field['output_html']))
433
+		foreach ($context['print_custom_fields']['above_signature'] as $field) {
434
+					if (!empty($field['output_html']))
413 435
 				echo '
414 436
 						<li>', $field['output_html'], '</li>';
437
+		}
415 438
 
416 439
 		echo '
417 440
 					</ul>
@@ -419,12 +442,13 @@  discard block
 block discarded – undo
419 442
 	}
420 443
 
421 444
 	// Show the users signature.
422
-	if ($context['signature_enabled'] && !empty($context['member']['signature']))
423
-		echo '
445
+	if ($context['signature_enabled'] && !empty($context['member']['signature'])) {
446
+			echo '
424 447
 				<div class="signature">
425 448
 					<h5>', $txt['signature'], ':</h5>
426 449
 					', $context['member']['signature'], '
427 450
 				</div>';
451
+	}
428 452
 
429 453
 	// Are there any custom profile fields for below the signature?
430 454
 	if (!empty($context['print_custom_fields']['below_signature']))
@@ -433,10 +457,11 @@  discard block
 block discarded – undo
433 457
 				<div class="custom_fields_below_signature">
434 458
 					<ul class="nolist">';
435 459
 
436
-		foreach ($context['print_custom_fields']['below_signature'] as $field)
437
-			if (!empty($field['output_html']))
460
+		foreach ($context['print_custom_fields']['below_signature'] as $field) {
461
+					if (!empty($field['output_html']))
438 462
 				echo '
439 463
 						<li>', $field['output_html'], '</li>';
464
+		}
440 465
 
441 466
 		echo '
442 467
 					</ul>
@@ -481,62 +506,70 @@  discard block
 block discarded – undo
481 506
 				</div>
482 507
 				<div class="list_posts">';
483 508
 
484
-			if (!$post['approved'])
485
-				echo '
509
+			if (!$post['approved']) {
510
+							echo '
486 511
 					<div class="approve_post">
487 512
 						<em>', $txt['post_awaiting_approval'], '</em>
488 513
 					</div>';
514
+			}
489 515
 
490 516
 			echo '
491 517
 					', $post['body'], '
492 518
 				</div>';
493 519
 
494
-			if ($post['can_reply'] || $post['can_quote'] || $post['can_delete'])
495
-				echo '
520
+			if ($post['can_reply'] || $post['can_quote'] || $post['can_delete']) {
521
+							echo '
496 522
 				<div class="floatright">
497 523
 					<ul class="quickbuttons">';
524
+			}
498 525
 
499 526
 			// If they *can* reply?
500
-			if ($post['can_reply'])
501
-				echo '
527
+			if ($post['can_reply']) {
528
+							echo '
502 529
 						<li><a href="', $scripturl, '?action=post;topic=', $post['topic'], '.', $post['start'], '"><span class="generic_icons reply_button"></span>', $txt['reply'], '</a></li>';
530
+			}
503 531
 
504 532
 			// If they *can* quote?
505
-			if ($post['can_quote'])
506
-				echo '
533
+			if ($post['can_quote']) {
534
+							echo '
507 535
 						<li><a href="', $scripturl . '?action=post;topic=', $post['topic'], '.', $post['start'], ';quote=', $post['id'], '"><span class="generic_icons quote"></span>', $txt['quote_action'], '</a></li>';
536
+			}
508 537
 
509 538
 			// How about... even... remove it entirely?!
510
-			if ($post['can_delete'])
511
-				echo '
539
+			if ($post['can_delete']) {
540
+							echo '
512 541
 						<li><a href="', $scripturl, '?action=deletemsg;msg=', $post['id'], ';topic=', $post['topic'], ';profile;u=', $context['member']['id'], ';start=', $context['start'], ';', $context['session_var'], '=', $context['session_id'], '" data-confirm="', $txt['remove_message'], '" class="you_sure"><span class="generic_icons remove_button"></span>', $txt['remove'], '</a></li>';
542
+			}
513 543
 
514
-			if ($post['can_reply'] || $post['can_quote'] || $post['can_delete'])
515
-				echo '
544
+			if ($post['can_reply'] || $post['can_quote'] || $post['can_delete']) {
545
+							echo '
516 546
 					</ul>
517 547
 				</div>';
548
+			}
518 549
 
519 550
 			echo '
520 551
 			</div>';
521 552
 		}
553
+	} else {
554
+			template_show_list('attachments');
522 555
 	}
523
-	else
524
-		template_show_list('attachments');
525 556
 
526 557
 	// No posts? Just end with a informative message.
527
-	if ((isset($context['attachments']) && empty($context['attachments'])) || (!isset($context['attachments']) && empty($context['posts'])))
528
-		echo '
558
+	if ((isset($context['attachments']) && empty($context['attachments'])) || (!isset($context['attachments']) && empty($context['posts']))) {
559
+			echo '
529 560
 			<div class="windowbg2">
530 561
 				', isset($context['attachments']) ? $txt['show_attachments_none'] : ($context['is_topics'] ? $txt['show_topics_none'] : $txt['show_posts_none']), '
531 562
 			</div>';
563
+	}
532 564
 
533 565
 	// Show more page numbers.
534
-	if (!empty($context['page_index']))
535
-		echo '
566
+	if (!empty($context['page_index'])) {
567
+			echo '
536 568
 		<div class="pagesection">
537 569
 			<div class="pagelinks">', $context['page_index'], '</div>
538 570
 		</div>';
539
-}
571
+	}
572
+	}
540 573
 
541 574
 /**
542 575
  * Template for showing alerts within the alerts popup
@@ -546,11 +579,12 @@  discard block
 block discarded – undo
546 579
 	global $context, $txt, $scripturl;
547 580
 
548 581
 	// Do we have an update message?
549
-	if (!empty($context['update_message']))
550
-		echo '
582
+	if (!empty($context['update_message'])) {
583
+			echo '
551 584
 		<div class="infobox">
552 585
 			', $context['update_message'], '.
553 586
 		</div>';
587
+	}
554 588
 
555 589
 	echo '
556 590
 		<div class="cat_bar">
@@ -559,13 +593,12 @@  discard block
 block discarded – undo
559 593
 			</h3>
560 594
 		</div>';
561 595
 
562
-	if (empty($context['alerts']))
563
-		echo '
596
+	if (empty($context['alerts'])) {
597
+			echo '
564 598
 		<div class="information">
565 599
 			', $txt['alerts_none'], '
566 600
 		</div>';
567
-
568
-	else
601
+	} else
569 602
 	{
570 603
 		// Start the form.
571 604
 		echo '
@@ -627,12 +660,12 @@  discard block
 block discarded – undo
627 660
 		</div>' : '';
628 661
 
629 662
 	// No drafts? Just show an informative message.
630
-	if (empty($context['drafts']))
631
-		echo '
663
+	if (empty($context['drafts'])) {
664
+			echo '
632 665
 		<div class="windowbg2 centertext">
633 666
 			', $txt['draft_none'], '
634 667
 		</div>';
635
-	else
668
+	} else
636 669
 	{
637 670
 		// For every draft to be displayed, give it its own div, and show the important details of the draft.
638 671
 		foreach ($context['drafts'] as $draft)
@@ -643,11 +676,13 @@  discard block
 block discarded – undo
643 676
 					<div class="topic_details">
644 677
 						<h5><strong><a href="', $scripturl, '?board=', $draft['board']['id'], '.0">', $draft['board']['name'], '</a> / ', $draft['topic']['link'], '</strong> &nbsp; &nbsp;';
645 678
 
646
-			if (!empty($draft['sticky']))
647
-				echo '<span class="generic_icons sticky" title="', $txt['sticky_topic'], '"></span>';
679
+			if (!empty($draft['sticky'])) {
680
+							echo '<span class="generic_icons sticky" title="', $txt['sticky_topic'], '"></span>';
681
+			}
648 682
 
649
-			if (!empty($draft['locked']))
650
-				echo '<span class="generic_icons lock" title="', $txt['locked_topic'], '"></span>';
683
+			if (!empty($draft['locked'])) {
684
+							echo '<span class="generic_icons lock" title="', $txt['locked_topic'], '"></span>';
685
+			}
651 686
 
652 687
 			echo '
653 688
 						</h5>
@@ -680,12 +715,13 @@  discard block
 block discarded – undo
680 715
 {
681 716
 	global $context, $scripturl, $txt;
682 717
 
683
-	if (!empty($context['saved_successful']))
684
-		echo '
718
+	if (!empty($context['saved_successful'])) {
719
+			echo '
685 720
 					<div class="infobox">', $context['user']['is_owner'] ? $txt['profile_updated_own'] : sprintf($txt['profile_updated_else'], $context['member']['name']), '</div>';
686
-	elseif (!empty($context['saved_failed']))
687
-		echo '
721
+	} elseif (!empty($context['saved_failed'])) {
722
+			echo '
688 723
 					<div class="errorbox">', $context['saved_failed'], '</div>';
724
+	}
689 725
 
690 726
 	echo '
691 727
 	<div id="edit_buddies">
@@ -699,24 +735,27 @@  discard block
 block discarded – undo
699 735
 				<th scope="col" class="quarter_table">', $txt['name'], '</th>
700 736
 				<th scope="col">', $txt['status'], '</th>';
701 737
 
702
-	if (allowedTo('moderate_forum'))
703
-		echo '
738
+	if (allowedTo('moderate_forum')) {
739
+			echo '
704 740
 				<th scope="col">', $txt['email'], '</th>';
741
+	}
705 742
 
706
-	if (!empty($context['custom_pf']))
707
-		foreach ($context['custom_pf'] as $column)
743
+	if (!empty($context['custom_pf'])) {
744
+			foreach ($context['custom_pf'] as $column)
708 745
 				echo '<th scope="col">', $column['label'], '</th>';
746
+	}
709 747
 
710 748
 	echo '
711 749
 				<th scope="col">', $txt['remove'], '</th>
712 750
 			</tr>';
713 751
 
714 752
 	// If they don't have any buddies don't list them!
715
-	if (empty($context['buddies']))
716
-		echo '
753
+	if (empty($context['buddies'])) {
754
+			echo '
717 755
 			<tr class="windowbg">
718 756
 				<td colspan="', allowedTo('moderate_forum') ? '10' : '9', '"><strong>', $txt['no_buddies'], '</strong></td>
719 757
 			</tr>';
758
+	}
720 759
 
721 760
 		// Now loop through each buddy showing info on each.
722 761
 	else
@@ -728,15 +767,17 @@  discard block
 block discarded – undo
728 767
 					<td>', $buddy['link'], '</td>
729 768
 					<td><a href="', $buddy['online']['href'], '"><span class="' . ($buddy['online']['is_online'] == 1 ? 'on' : 'off') . '" title="' . $buddy['online']['text'] . '"></span></a></td>';
730 769
 
731
-			if ($buddy['show_email'])
732
-				echo '
770
+			if ($buddy['show_email']) {
771
+							echo '
733 772
 					<td><a href="mailto:' . $buddy['email'] . '" rel="nofollow"><span class="generic_icons mail icon" title="' . $txt['email'] . ' ' . $buddy['name'] . '"></span></a></td>';
773
+			}
734 774
 
735 775
 			// Show the custom profile fields for this user.
736
-			if (!empty($context['custom_pf']))
737
-				foreach ($context['custom_pf'] as $key => $column)
776
+			if (!empty($context['custom_pf'])) {
777
+							foreach ($context['custom_pf'] as $key => $column)
738 778
 					echo '
739 779
 						<td class="lefttext">', $buddy['options'][$key], '</td>';
780
+			}
740 781
 
741 782
 			echo '
742 783
 					<td><a href="', $scripturl, '?action=profile;area=lists;sa=buddies;u=', $context['id_member'], ';remove=', $buddy['id'], ';', $context['session_var'], '=', $context['session_id'], '"><span class="generic_icons delete" title="', $txt['buddy_remove'], '"></span></a></td>
@@ -766,9 +807,10 @@  discard block
 block discarded – undo
766 807
 			</dl>
767 808
 		</div>';
768 809
 
769
-	if (!empty($context['token_check']))
770
-		echo '
810
+	if (!empty($context['token_check'])) {
811
+			echo '
771 812
 			<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
813
+	}
772 814
 
773 815
 	echo '
774 816
 		<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -794,12 +836,13 @@  discard block
 block discarded – undo
794 836
 {
795 837
 	global $context, $scripturl, $txt;
796 838
 
797
-	if (!empty($context['saved_successful']))
798
-		echo '
839
+	if (!empty($context['saved_successful'])) {
840
+			echo '
799 841
 					<div class="infobox">', $context['user']['is_owner'] ? $txt['profile_updated_own'] : sprintf($txt['profile_updated_else'], $context['member']['name']), '</div>';
800
-	elseif (!empty($context['saved_failed']))
801
-		echo '
842
+	} elseif (!empty($context['saved_failed'])) {
843
+			echo '
802 844
 					<div class="errorbox">', $context['saved_failed'], '</div>';
845
+	}
803 846
 
804 847
 	echo '
805 848
 	<div id="edit_buddies">
@@ -813,20 +856,22 @@  discard block
 block discarded – undo
813 856
 				<th scope="col" class="quarter_table">', $txt['name'], '</th>
814 857
 				<th scope="col">', $txt['status'], '</th>';
815 858
 
816
-	if (allowedTo('moderate_forum'))
817
-		echo '
859
+	if (allowedTo('moderate_forum')) {
860
+			echo '
818 861
 				<th scope="col">', $txt['email'], '</th>';
862
+	}
819 863
 
820 864
 	echo '
821 865
 				<th scope="col">', $txt['ignore_remove'], '</th>
822 866
 			</tr>';
823 867
 
824 868
 	// If they don't have anyone on their ignore list, don't list it!
825
-	if (empty($context['ignore_list']))
826
-		echo '
869
+	if (empty($context['ignore_list'])) {
870
+			echo '
827 871
 			<tr class="windowbg">
828 872
 				<td colspan="', allowedTo('moderate_forum') ? '4' : '3', '"><strong>', $txt['no_ignore'], '</strong></td>
829 873
 			</tr>';
874
+	}
830 875
 
831 876
 	// Now loop through each buddy showing info on each.
832 877
 	foreach ($context['ignore_list'] as $member)
@@ -836,9 +881,10 @@  discard block
 block discarded – undo
836 881
 				<td>', $member['link'], '</td>
837 882
 				<td><a href="', $member['online']['href'], '"><span class="' . ($member['online']['is_online'] == 1 ? 'on' : 'off') . '" title="' . $member['online']['text'] . '"></span></a></td>';
838 883
 
839
-		if ($member['show_email'])
840
-			echo '
884
+		if ($member['show_email']) {
885
+					echo '
841 886
 				<td><a href="mailto:' . $member['email'] . '" rel="nofollow"><span class="generic_icons mail icon" title="' . $txt['email'] . ' ' . $member['name'] . '"></span></a></td>';
887
+		}
842 888
 		echo '
843 889
 				<td><a href="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=lists;sa=ignore;remove=', $member['id'], ';', $context['session_var'], '=', $context['session_id'], '"><span class="generic_icons delete" title="', $txt['ignore_remove'], '"></span></a></td>
844 890
 			</tr>';
@@ -865,9 +911,10 @@  discard block
 block discarded – undo
865 911
 			</dl>
866 912
 		</div>';
867 913
 
868
-	if (!empty($context['token_check']))
869
-		echo '
914
+	if (!empty($context['token_check'])) {
915
+			echo '
870 916
 		<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
917
+	}
871 918
 
872 919
 	echo '
873 920
 		<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -912,9 +959,10 @@  discard block
 block discarded – undo
912 959
 					<a href="', $scripturl, '?action=profile;area=tracking;sa=ip;searchip=', $context['last_ip'], ';u=', $context['member']['id'], '">', $context['last_ip'], '</a>';
913 960
 
914 961
 	// Second address detected?
915
-	if (!empty($context['last_ip2']))
916
-		echo '
962
+	if (!empty($context['last_ip2'])) {
963
+			echo '
917 964
 					, <a href="', $scripturl, '?action=profile;area=tracking;sa=ip;searchip=', $context['last_ip2'], ';u=', $context['member']['id'], '">', $context['last_ip2'], '</a>';
965
+	}
918 966
 
919 967
 	echo '
920 968
 				</dd>';
@@ -979,9 +1027,10 @@  discard block
 block discarded – undo
979 1027
 				<h3 class="catbg">', $txt['whois_title'], ' ', $context['ip'], '</h3>
980 1028
 			</div>
981 1029
 			<div class="windowbg2 noup">';
982
-			foreach ($context['whois_servers'] as $server)
983
-			echo '
1030
+			foreach ($context['whois_servers'] as $server) {
1031
+						echo '
984 1032
 				<a href="', $server['url'], '" target="_blank" class="new_win"', isset($context['auto_whois_server']) && $context['auto_whois_server']['name'] == $server['name'] ? ' style="font-weight: bold;"' : '', '>', $server['name'], '</a><br>';
1033
+			}
985 1034
 			echo '
986 1035
 			</div>
987 1036
 			<br>';
@@ -992,10 +1041,10 @@  discard block
 block discarded – undo
992 1041
 		<div class="cat_bar">
993 1042
 			<h3 class="catbg">', $txt['members_from_ip'], ' ', $context['ip'], '</h3>
994 1043
 		</div>';
995
-	if (empty($context['ips']))
996
-		echo '
1044
+	if (empty($context['ips'])) {
1045
+			echo '
997 1046
 		<p class="windowbg2 description"><em>', $txt['no_members_from_ip'], '</em></p>';
998
-	else
1047
+	} else
999 1048
 	{
1000 1049
 		echo '
1001 1050
 		<table class="table_grid">
@@ -1008,12 +1057,13 @@  discard block
 block discarded – undo
1008 1057
 			<tbody>';
1009 1058
 
1010 1059
 		// Loop through each of the members and display them.
1011
-		foreach ($context['ips'] as $ip => $memberlist)
1012
-			echo '
1060
+		foreach ($context['ips'] as $ip => $memberlist) {
1061
+					echo '
1013 1062
 				<tr class="windowbg">
1014 1063
 					<td><a href="', $context['base_url'], ';searchip=', $ip, '">', $ip, '</a></td>
1015 1064
 					<td>', implode(', ', $memberlist), '</td>
1016 1065
 				</tr>';
1066
+		}
1017 1067
 
1018 1068
 		echo '
1019 1069
 			</tbody>
@@ -1059,8 +1109,7 @@  discard block
 block discarded – undo
1059 1109
 	{
1060 1110
 		echo '
1061 1111
 		<div class="information">', $txt['showPermissions_all'], '</div>';
1062
-	}
1063
-	else
1112
+	} else
1064 1113
 	{
1065 1114
 		echo '
1066 1115
 		<div class="information">',$txt['showPermissions_help'], '</div>
@@ -1074,9 +1123,10 @@  discard block
 block discarded – undo
1074 1123
 				</div>
1075 1124
 				<div class="windowbg smalltext">
1076 1125
 					', $txt['showPermissions_restricted_boards_desc'], ':<br>';
1077
-				foreach ($context['no_access_boards'] as $no_access_board)
1078
-					echo '
1126
+				foreach ($context['no_access_boards'] as $no_access_board) {
1127
+									echo '
1079 1128
 						<a href="', $scripturl, '?board=', $no_access_board['id'], '.0">', $no_access_board['name'], '</a>', $no_access_board['is_last'] ? '' : ', ';
1129
+				}
1080 1130
 				echo '
1081 1131
 				</div>';
1082 1132
 		}
@@ -1108,12 +1158,13 @@  discard block
 block discarded – undo
1108 1158
 								</td>
1109 1159
 								<td class="smalltext">';
1110 1160
 
1111
-				if ($permission['is_denied'])
1112
-					echo '
1161
+				if ($permission['is_denied']) {
1162
+									echo '
1113 1163
 									<span class="alert">', $txt['showPermissions_denied'], ':&nbsp;', implode(', ', $permission['groups']['denied']), '</span>';
1114
-				else
1115
-					echo '
1164
+				} else {
1165
+									echo '
1116 1166
 									', $txt['showPermissions_given'], ':&nbsp;', implode(', ', $permission['groups']['allowed']);
1167
+				}
1117 1168
 
1118 1169
 					echo '
1119 1170
 								</td>
@@ -1123,10 +1174,10 @@  discard block
 block discarded – undo
1123 1174
 						</tbody>
1124 1175
 					</table>
1125 1176
 				</div><br>';
1126
-		}
1127
-		else
1128
-			echo '
1177
+		} else {
1178
+					echo '
1129 1179
 			<p class="windowbg2">', $txt['showPermissions_none_general'], '</p>';
1180
+		}
1130 1181
 
1131 1182
 		// Board permission section.
1132 1183
 		echo '
@@ -1136,14 +1187,16 @@  discard block
 block discarded – undo
1136 1187
 						<a id="board_permissions"></a>', $txt['showPermissions_select'], ':
1137 1188
 						<select name="board" onchange="if (this.options[this.selectedIndex].value) this.form.submit();">
1138 1189
 							<option value="0"', $context['board'] == 0 ? ' selected' : '', '>', $txt['showPermissions_global'], '&nbsp;</option>';
1139
-				if (!empty($context['boards']))
1140
-					echo '
1190
+				if (!empty($context['boards'])) {
1191
+									echo '
1141 1192
 							<option value="" disabled>---------------------------</option>';
1193
+				}
1142 1194
 
1143 1195
 				// Fill the box with any local permission boards.
1144
-				foreach ($context['boards'] as $board)
1145
-					echo '
1196
+				foreach ($context['boards'] as $board) {
1197
+									echo '
1146 1198
 							<option value="', $board['id'], '"', $board['selected'] ? ' selected' : '', '>', $board['name'], ' (', $board['profile_name'], ')</option>';
1199
+				}
1147 1200
 
1148 1201
 				echo '
1149 1202
 						</select>
@@ -1174,8 +1227,7 @@  discard block
 block discarded – undo
1174 1227
 				{
1175 1228
 					echo '
1176 1229
 							<span class="alert">', $txt['showPermissions_denied'], ':&nbsp;', implode(', ', $permission['groups']['denied']), '</span>';
1177
-				}
1178
-				else
1230
+				} else
1179 1231
 				{
1180 1232
 					echo '
1181 1233
 							', $txt['showPermissions_given'], ': &nbsp;', implode(', ', $permission['groups']['allowed']);
@@ -1187,10 +1239,10 @@  discard block
 block discarded – undo
1187 1239
 			echo '
1188 1240
 				</tbody>
1189 1241
 			</table>';
1190
-		}
1191
-		else
1192
-			echo '
1242
+		} else {
1243
+					echo '
1193 1244
 			<p class="windowbg2">', $txt['showPermissions_none_board'], '</p>';
1245
+		}
1194 1246
 	echo '
1195 1247
 			</div>
1196 1248
 		</div>';
@@ -1232,9 +1284,10 @@  discard block
 block discarded – undo
1232 1284
 			</div>';
1233 1285
 
1234 1286
 	// If they haven't post at all, don't draw the graph.
1235
-	if (empty($context['posts_by_time']))
1236
-		echo '
1287
+	if (empty($context['posts_by_time'])) {
1288
+			echo '
1237 1289
 			<p class="centertext padding">', $txt['statPanel_noPosts'], '</p>';
1290
+	}
1238 1291
 	// Otherwise do!
1239 1292
 	else
1240 1293
 	{
@@ -1273,11 +1326,10 @@  discard block
 block discarded – undo
1273 1326
 					</h3>
1274 1327
 				</div>';
1275 1328
 
1276
-	if (empty($context['popular_boards']))
1277
-		echo '
1329
+	if (empty($context['popular_boards'])) {
1330
+			echo '
1278 1331
 				<p class="centertext padding">', $txt['statPanel_noPosts'], '</p>';
1279
-
1280
-	else
1332
+	} else
1281 1333
 	{
1282 1334
 		echo '
1283 1335
 				<dl class="stats">';
@@ -1308,10 +1360,10 @@  discard block
 block discarded – undo
1308 1360
 					</h3>
1309 1361
 				</div>';
1310 1362
 
1311
-	if (empty($context['board_activity']))
1312
-		echo '
1363
+	if (empty($context['board_activity'])) {
1364
+			echo '
1313 1365
 				<p class="centertext padding">', $txt['statPanel_noPosts'], '</p>';
1314
-	else
1366
+	} else
1315 1367
 	{
1316 1368
 		echo '
1317 1369
 				<dl class="stats">';
@@ -1359,41 +1411,46 @@  discard block
 block discarded – undo
1359 1411
 				<h3 class="catbg profile_hd">';
1360 1412
 
1361 1413
 		// Don't say "Profile" if this isn't the profile...
1362
-		if (!empty($context['profile_header_text']))
1363
-			echo '
1414
+		if (!empty($context['profile_header_text'])) {
1415
+					echo '
1364 1416
 					', $context['profile_header_text'];
1365
-		else
1366
-			echo '
1417
+		} else {
1418
+					echo '
1367 1419
 					', $txt['profile'];
1420
+		}
1368 1421
 
1369 1422
 		echo '
1370 1423
 				</h3>
1371 1424
 			</div>';
1372 1425
 
1373 1426
 	// Have we some description?
1374
-	if ($context['page_desc'])
1375
-		echo '
1427
+	if ($context['page_desc']) {
1428
+			echo '
1376 1429
 			<p class="information">', $context['page_desc'], '</p>';
1430
+	}
1377 1431
 
1378 1432
 	echo '
1379 1433
 			<div class="roundframe">';
1380 1434
 
1381 1435
 	// Any bits at the start?
1382
-	if (!empty($context['profile_prehtml']))
1383
-		echo '
1436
+	if (!empty($context['profile_prehtml'])) {
1437
+			echo '
1384 1438
 				<div>', $context['profile_prehtml'], '</div>';
1439
+	}
1385 1440
 
1386
-	if (!empty($context['profile_fields']))
1387
-		echo '
1441
+	if (!empty($context['profile_fields'])) {
1442
+			echo '
1388 1443
 				<dl class="settings">';
1444
+	}
1389 1445
 
1390 1446
 	// Start the big old loop 'of love.
1391 1447
 	$lastItem = 'hr';
1392 1448
 	foreach ($context['profile_fields'] as $key => $field)
1393 1449
 	{
1394 1450
 		// We add a little hack to be sure we never get more than one hr in a row!
1395
-		if ($lastItem == 'hr' && $field['type'] == 'hr')
1396
-			continue;
1451
+		if ($lastItem == 'hr' && $field['type'] == 'hr') {
1452
+					continue;
1453
+		}
1397 1454
 
1398 1455
 		$lastItem = $field['type'];
1399 1456
 		if ($field['type'] == 'hr')
@@ -1402,48 +1459,50 @@  discard block
 block discarded – undo
1402 1459
 				</dl>
1403 1460
 				<hr>
1404 1461
 				<dl class="settings">';
1405
-		}
1406
-		elseif ($field['type'] == 'callback')
1462
+		} elseif ($field['type'] == 'callback')
1407 1463
 		{
1408 1464
 			if (isset($field['callback_func']) && function_exists('template_profile_' . $field['callback_func']))
1409 1465
 			{
1410 1466
 				$callback_func = 'template_profile_' . $field['callback_func'];
1411 1467
 				$callback_func();
1412 1468
 			}
1413
-		}
1414
-		else
1469
+		} else
1415 1470
 		{
1416 1471
 			echo '
1417 1472
 					<dt>
1418 1473
 						<strong', !empty($field['is_error']) ? ' class="error"' : '', '>', $field['type'] !== 'label' ? '<label for="' . $key . '">' : '', $field['label'], $field['type'] !== 'label' ? '</label>' : '', '</strong>';
1419 1474
 
1420 1475
 			// Does it have any subtext to show?
1421
-			if (!empty($field['subtext']))
1422
-				echo '
1476
+			if (!empty($field['subtext'])) {
1477
+							echo '
1423 1478
 						<br>
1424 1479
 						<span class="smalltext">', $field['subtext'], '</span>';
1480
+			}
1425 1481
 
1426 1482
 			echo '
1427 1483
 					</dt>
1428 1484
 					<dd>';
1429 1485
 
1430 1486
 			// Want to put something infront of the box?
1431
-			if (!empty($field['preinput']))
1432
-				echo '
1487
+			if (!empty($field['preinput'])) {
1488
+							echo '
1433 1489
 						', $field['preinput'];
1490
+			}
1434 1491
 
1435 1492
 			// What type of data are we showing?
1436
-			if ($field['type'] == 'label')
1437
-				echo '
1493
+			if ($field['type'] == 'label') {
1494
+							echo '
1438 1495
 						', $field['value'];
1496
+			}
1439 1497
 
1440 1498
 			// Maybe it's a text box - very likely!
1441 1499
 			elseif (in_array($field['type'], array('int', 'float', 'text', 'password', 'color', 'date', 'datetime', 'datetime-local', 'email', 'month', 'number', 'time', 'url')))
1442 1500
 			{
1443
-				if ($field['type'] == 'int' || $field['type'] == 'float')
1444
-					$type = 'number';
1445
-				else
1446
-					$type = $field['type'];
1501
+				if ($field['type'] == 'int' || $field['type'] == 'float') {
1502
+									$type = 'number';
1503
+				} else {
1504
+									$type = $field['type'];
1505
+				}
1447 1506
 				$step = $field['type'] == 'float' ? ' step="0.1"' : '';
1448 1507
 
1449 1508
 
@@ -1451,9 +1510,10 @@  discard block
 block discarded – undo
1451 1510
 						<input type="', $type, '" name="', $key, '" id="', $key, '" size="', empty($field['size']) ? 30 : $field['size'], '" value="', $field['value'], '" ', $field['input_attr'], ' class="input_', $field['type'] == 'password' ? 'password' : 'text', '"', $step, '>';
1452 1511
 			}
1453 1512
 			// You "checking" me out? ;)
1454
-			elseif ($field['type'] == 'check')
1455
-				echo '
1513
+			elseif ($field['type'] == 'check') {
1514
+							echo '
1456 1515
 						<input type="hidden" name="', $key, '" value="0"><input type="checkbox" name="', $key, '" id="', $key, '"', !empty($field['value']) ? ' checked' : '', ' value="1" class="input_check" ', $field['input_attr'], '>';
1516
+			}
1457 1517
 
1458 1518
 			// Always fun - select boxes!
1459 1519
 			elseif ($field['type'] == 'select')
@@ -1464,13 +1524,15 @@  discard block
 block discarded – undo
1464 1524
 				if (isset($field['options']))
1465 1525
 				{
1466 1526
 					// Is this some code to generate the options?
1467
-					if (!is_array($field['options']))
1468
-						$field['options'] = $field['options']();
1527
+					if (!is_array($field['options'])) {
1528
+											$field['options'] = $field['options']();
1529
+					}
1469 1530
 					// Assuming we now have some!
1470
-					if (is_array($field['options']))
1471
-						foreach ($field['options'] as $value => $name)
1531
+					if (is_array($field['options'])) {
1532
+											foreach ($field['options'] as $value => $name)
1472 1533
 							echo '
1473 1534
 								<option value="', $value, '"', $value == $field['value'] ? ' selected' : '', '>', $name, '</option>';
1535
+					}
1474 1536
 				}
1475 1537
 
1476 1538
 				echo '
@@ -1478,25 +1540,28 @@  discard block
 block discarded – undo
1478 1540
 			}
1479 1541
 
1480 1542
 			// Something to end with?
1481
-			if (!empty($field['postinput']))
1482
-				echo '
1543
+			if (!empty($field['postinput'])) {
1544
+							echo '
1483 1545
 							', $field['postinput'];
1546
+			}
1484 1547
 
1485 1548
 			echo '
1486 1549
 					</dd>';
1487 1550
 		}
1488 1551
 	}
1489 1552
 
1490
-	if (!empty($context['profile_fields']))
1491
-		echo '
1553
+	if (!empty($context['profile_fields'])) {
1554
+			echo '
1492 1555
 				</dl>';
1556
+	}
1493 1557
 
1494 1558
 	// Are there any custom profile fields - if so print them!
1495 1559
 	if (!empty($context['custom_fields']))
1496 1560
 	{
1497
-		if ($lastItem != 'hr')
1498
-			echo '
1561
+		if ($lastItem != 'hr') {
1562
+					echo '
1499 1563
 				<hr>';
1564
+		}
1500 1565
 
1501 1566
 		echo '
1502 1567
 				<dl class="settings">';
@@ -1519,13 +1584,14 @@  discard block
 block discarded – undo
1519 1584
 	}
1520 1585
 
1521 1586
 	// Any closing HTML?
1522
-	if (!empty($context['profile_posthtml']))
1523
-		echo '
1587
+	if (!empty($context['profile_posthtml'])) {
1588
+			echo '
1524 1589
 				<div>', $context['profile_posthtml'], '</div>';
1590
+	}
1525 1591
 
1526 1592
 	// Only show the password box if it's actually needed.
1527
-	if ($context['require_password'])
1528
-		echo '
1593
+	if ($context['require_password']) {
1594
+			echo '
1529 1595
 				<dl class="settings">
1530 1596
 					<dt>
1531 1597
 						<strong', isset($context['modify_error']['bad_password']) || isset($context['modify_error']['no_password']) ? ' class="error"' : '', '><label for="oldpasswrd">', $txt['current_password'], ': </label></strong><br>
@@ -1535,18 +1601,21 @@  discard block
 block discarded – undo
1535 1601
 						<input type="password" name="oldpasswrd" id="oldpasswrd" size="20" style="margin-right: 4ex;" class="input_password">
1536 1602
 					</dd>
1537 1603
 				</dl>';
1604
+	}
1538 1605
 
1539 1606
 	// The button shouldn't say "Change profile" unless we're changing the profile...
1540
-	if (!empty($context['submit_button_text']))
1541
-		echo '
1607
+	if (!empty($context['submit_button_text'])) {
1608
+			echo '
1542 1609
 				<input type="submit" name="save" value="', $context['submit_button_text'], '" class="button_submit">';
1543
-	else
1544
-		echo '
1610
+	} else {
1611
+			echo '
1545 1612
 				<input type="submit" name="save" value="', $txt['change_profile'], '" class="button_submit">';
1613
+	}
1546 1614
 
1547
-	if (!empty($context['token_check']))
1548
-		echo '
1615
+	if (!empty($context['token_check'])) {
1616
+			echo '
1549 1617
 				<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
1618
+	}
1550 1619
 
1551 1620
 	echo '
1552 1621
 				<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -1556,10 +1625,11 @@  discard block
 block discarded – undo
1556 1625
 		</form>';
1557 1626
 
1558 1627
 	// Any final spellchecking stuff?
1559
-	if (!empty($context['show_spellchecking']))
1560
-		echo '
1628
+	if (!empty($context['show_spellchecking'])) {
1629
+			echo '
1561 1630
 		<form name="spell_form" id="spell_form" method="post" accept-charset="', $context['character_set'], '" target="spellWindow" action="', $scripturl, '?action=spellcheck"><input type="hidden" name="spellstring" value=""></form>';
1562
-}
1631
+	}
1632
+	}
1563 1633
 
1564 1634
 /**
1565 1635
  * Personal Message settings.
@@ -1596,10 +1666,11 @@  discard block
 block discarded – undo
1596 1666
 										<select name="pm_receive_from" id="pm_receive_from">
1597 1667
 												<option value="0"', empty($context['receive_from']) || (empty($modSettings['enable_buddylist']) && $context['receive_from'] < 3) ? ' selected' : '', '>', $txt['pm_receive_from_everyone'], '</option>';
1598 1668
 
1599
-	if (!empty($modSettings['enable_buddylist']))
1600
-		echo '
1669
+	if (!empty($modSettings['enable_buddylist'])) {
1670
+			echo '
1601 1671
 												<option value="1"', !empty($context['receive_from']) && $context['receive_from'] == 1 ? ' selected' : '', '>', $txt['pm_receive_from_ignore'], '</option>
1602 1672
 												<option value="2"', !empty($context['receive_from']) && $context['receive_from'] == 2 ? ' selected' : '', '>', $txt['pm_receive_from_buddies'], '</option>';
1673
+	}
1603 1674
 
1604 1675
 	echo '
1605 1676
 												<option value="3"', !empty($context['receive_from']) && $context['receive_from'] > 2 ? ' selected' : '', '>', $txt['pm_receive_from_admins'], '</option>
@@ -1641,11 +1712,12 @@  discard block
 block discarded – undo
1641 1712
 		if (empty($setting) || !is_array($setting))
1642 1713
 		{
1643 1714
 			// Insert a separator (unless this is the first item in the list)
1644
-			if ($i !== $first_option_key)
1645
-				echo '
1715
+			if ($i !== $first_option_key) {
1716
+							echo '
1646 1717
 				</dl>
1647 1718
 				<hr>
1648 1719
 				<dl class="settings">';
1720
+			}
1649 1721
 
1650 1722
 			// Should we give a name to this section?
1651 1723
 			if (is_string($setting) && !empty($setting))
@@ -1653,48 +1725,52 @@  discard block
 block discarded – undo
1653 1725
 				$titled_section = true;
1654 1726
 				echo '
1655 1727
 					<dt><b>' . $setting . '</b></dt><dd></dd>';
1728
+			} else {
1729
+							$titled_section = false;
1656 1730
 			}
1657
-			else
1658
-				$titled_section = false;
1659 1731
 
1660 1732
 			continue;
1661 1733
 		}
1662 1734
 
1663 1735
 		// Is this disabled?
1664
-		if ($setting['id'] == 'calendar_start_day' && empty($modSettings['cal_enabled']))
1665
-			continue;
1666
-		elseif (($setting['id'] == 'topics_per_page' || $setting['id'] == 'messages_per_page') && !empty($modSettings['disableCustomPerPage']))
1667
-			continue;
1668
-		elseif ($setting['id'] == 'show_no_censored' && empty($modSettings['allow_no_censored']))
1669
-			continue;
1670
-		elseif ($setting['id'] == 'posts_apply_ignore_list' && empty($modSettings['enable_buddylist']))
1671
-			continue;
1672
-		elseif ($setting['id'] == 'wysiwyg_default' && !empty($modSettings['disable_wysiwyg']))
1673
-			continue;
1674
-		elseif ($setting['id'] == 'topics_per_page' && !empty($modSettings['disableCustomPerPage']))
1675
-			continue;
1676
-		elseif ($setting['id'] == 'drafts_autosave_enabled' && (empty($modSettings['drafts_autosave_enabled']) || (empty($modSettings['drafts_post_enabled']) && empty($modSettings['drafts_pm_enabled']))))
1677
-			continue;
1678
-		elseif ($setting['id'] == 'drafts_show_saved_enabled' && (empty($modSettings['drafts_show_saved_enabled']) || (empty($modSettings['drafts_post_enabled']) && empty($modSettings['drafts_pm_enabled']))))
1679
-			continue;
1736
+		if ($setting['id'] == 'calendar_start_day' && empty($modSettings['cal_enabled'])) {
1737
+					continue;
1738
+		} elseif (($setting['id'] == 'topics_per_page' || $setting['id'] == 'messages_per_page') && !empty($modSettings['disableCustomPerPage'])) {
1739
+					continue;
1740
+		} elseif ($setting['id'] == 'show_no_censored' && empty($modSettings['allow_no_censored'])) {
1741
+					continue;
1742
+		} elseif ($setting['id'] == 'posts_apply_ignore_list' && empty($modSettings['enable_buddylist'])) {
1743
+					continue;
1744
+		} elseif ($setting['id'] == 'wysiwyg_default' && !empty($modSettings['disable_wysiwyg'])) {
1745
+					continue;
1746
+		} elseif ($setting['id'] == 'topics_per_page' && !empty($modSettings['disableCustomPerPage'])) {
1747
+					continue;
1748
+		} elseif ($setting['id'] == 'drafts_autosave_enabled' && (empty($modSettings['drafts_autosave_enabled']) || (empty($modSettings['drafts_post_enabled']) && empty($modSettings['drafts_pm_enabled'])))) {
1749
+					continue;
1750
+		} elseif ($setting['id'] == 'drafts_show_saved_enabled' && (empty($modSettings['drafts_show_saved_enabled']) || (empty($modSettings['drafts_post_enabled']) && empty($modSettings['drafts_pm_enabled'])))) {
1751
+					continue;
1752
+		}
1680 1753
 
1681
-		if (!isset($setting['type']) || $setting['type'] == 'bool')
1682
-			$setting['type'] = 'checkbox';
1683
-		elseif ($setting['type'] == 'int' || $setting['type'] == 'integer')
1684
-			$setting['type'] = 'number';
1685
-		elseif ($setting['type'] == 'string')
1686
-			$setting['type'] = 'text';
1754
+		if (!isset($setting['type']) || $setting['type'] == 'bool') {
1755
+					$setting['type'] = 'checkbox';
1756
+		} elseif ($setting['type'] == 'int' || $setting['type'] == 'integer') {
1757
+					$setting['type'] = 'number';
1758
+		} elseif ($setting['type'] == 'string') {
1759
+					$setting['type'] = 'text';
1760
+		}
1687 1761
 
1688
-		if (isset($setting['options']))
1689
-			$setting['type'] = 'list';
1762
+		if (isset($setting['options'])) {
1763
+					$setting['type'] = 'list';
1764
+		}
1690 1765
 
1691 1766
 		echo '
1692 1767
 					<dt>
1693 1768
 						<label for="', $setting['id'], '">', !$titled_section ? '<b>' : '', $setting['label'], !$titled_section ? '</b>' : '', '</label>';
1694 1769
 
1695
-		if (isset($setting['description']))
1696
-			echo '
1770
+		if (isset($setting['description'])) {
1771
+					echo '
1697 1772
 						<br><span class="smalltext">', $setting['description'], '</span>';
1773
+		}
1698 1774
 		echo '
1699 1775
 					</dt>
1700 1776
 					<dd>';
@@ -1732,13 +1808,11 @@  discard block
 block discarded – undo
1732 1808
 
1733 1809
 				echo '
1734 1810
 						<input type="number"', $min . $max . $step;
1735
-			}
1736
-			else if (isset($setting['type']) && $setting['type'] == 'url')
1811
+			} else if (isset($setting['type']) && $setting['type'] == 'url')
1737 1812
 			{
1738 1813
 				echo'
1739 1814
 						<input type="url"';
1740
-			}
1741
-			else
1815
+			} else
1742 1816
 			{
1743 1817
 				echo '
1744 1818
 						<input type="text"';
@@ -1777,8 +1851,8 @@  discard block
 block discarded – undo
1777 1851
 				<dl class="settings">';
1778 1852
 
1779 1853
 	// Allow notification on announcements to be disabled?
1780
-	if (!empty($modSettings['allow_disableAnnounce']))
1781
-		echo '
1854
+	if (!empty($modSettings['allow_disableAnnounce'])) {
1855
+			echo '
1782 1856
 					<dt>
1783 1857
 						<label for="notify_announcements">', $txt['notify_important_email'], '</label>
1784 1858
 					</dt>
@@ -1786,9 +1860,10 @@  discard block
 block discarded – undo
1786 1860
 						<input type="hidden" name="notify_announcements" value="0">
1787 1861
 						<input type="checkbox" id="notify_announcements" name="notify_announcements" value="1"', !empty($context['member']['notify_announcements']) ? ' checked' : '', ' class="input_check">
1788 1862
 					</dd>';
1863
+	}
1789 1864
 
1790
-	if (!empty($modSettings['enable_ajax_alerts']))
1791
-		echo '
1865
+	if (!empty($modSettings['enable_ajax_alerts'])) {
1866
+			echo '
1792 1867
 					<dt>
1793 1868
 						<label for="notify_send_body">', $txt['notify_alert_timeout'], '</label>
1794 1869
 					</dt>
@@ -1796,6 +1871,7 @@  discard block
 block discarded – undo
1796 1871
 						<input type="number" size="4" id="notify_alert_timeout" name="opt_alert_timeout" min="0" value="', $context['member']['alert_timeout'], '" class="input_text">
1797 1872
 					</dd>
1798 1873
 		';
1874
+	}
1799 1875
 
1800 1876
 	echo '
1801 1877
 				</dl>
@@ -1825,9 +1901,10 @@  discard block
 block discarded – undo
1825 1901
 					<td colspan="3">';
1826 1902
 				$label = $txt['alert_opt_' . $opts[1]];
1827 1903
 				$label_pos = isset($opts['label']) ? $opts['label'] : '';
1828
-				if ($label_pos == 'before')
1829
-					echo '
1904
+				if ($label_pos == 'before') {
1905
+									echo '
1830 1906
 					<label for="opt_', $opts[1], '">', $label, '</label>';
1907
+				}
1831 1908
 
1832 1909
 				$this_value = isset($context['alert_prefs'][$opts[1]]) ? $context['alert_prefs'][$opts[1]] : 0;
1833 1910
 				switch ($opts[0])
@@ -1839,17 +1916,19 @@  discard block
 block discarded – undo
1839 1916
 					case 'select':
1840 1917
 						echo '
1841 1918
 						<select name="opt_', $opts[1], '" id="opt_', $opts[1], '">';
1842
-						foreach ($opts['opts'] as $k => $v)
1843
-							echo '
1919
+						foreach ($opts['opts'] as $k => $v) {
1920
+													echo '
1844 1921
 							<option value="', $k, '"', $this_value == $k ? ' selected' : '', '>', $v, '</option>';
1922
+						}
1845 1923
 						echo '
1846 1924
 						</select>';
1847 1925
 						break;
1848 1926
 				}
1849 1927
 
1850
-				if ($label_pos == 'after')
1851
-					echo '
1928
+				if ($label_pos == 'after') {
1929
+									echo '
1852 1930
 					<label for="opt_', $opts[1], '">', $label, '</label>';
1931
+				}
1853 1932
 
1854 1933
 				echo '
1855 1934
 					</td>
@@ -1963,11 +2042,12 @@  discard block
 block discarded – undo
1963 2042
 			<p class="information">', $txt['groupMembership_info'], '</p>';
1964 2043
 
1965 2044
 	// Do we have an update message?
1966
-	if (!empty($context['update_message']))
1967
-		echo '
2045
+	if (!empty($context['update_message'])) {
2046
+			echo '
1968 2047
 			<div class="infobox">
1969 2048
 				', $context['update_message'], '.
1970 2049
 			</div>';
2050
+	}
1971 2051
 
1972 2052
 	echo '
1973 2053
 		<div id="groups">';
@@ -1989,8 +2069,7 @@  discard block
 block discarded – undo
1989 2069
 					</div>
1990 2070
 				</div>
1991 2071
 			</div>';
1992
-	}
1993
-	else
2072
+	} else
1994 2073
 	{
1995 2074
 		echo '
1996 2075
 			<div class="title_bar">
@@ -2002,27 +2081,30 @@  discard block
 block discarded – undo
2002 2081
 			echo '
2003 2082
 					<div class="windowbg" id="primdiv_', $group['id'], '">';
2004 2083
 
2005
-				if ($context['can_edit_primary'])
2006
-					echo '
2084
+				if ($context['can_edit_primary']) {
2085
+									echo '
2007 2086
 						<input type="radio" name="primary" id="primary_', $group['id'], '" value="', $group['id'], '"', $group['is_primary'] ? ' checked' : '', ' onclick="highlightSelected(\'primdiv_' . $group['id'] . '\');"', $group['can_be_primary'] ? '' : ' disabled', ' class="input_radio">';
2087
+				}
2008 2088
 
2009 2089
 				echo '
2010 2090
 						<label for="primary_', $group['id'], '"><strong>', (empty($group['color']) ? $group['name'] : '<span style="color: ' . $group['color'] . '">' . $group['name'] . '</span>'), '</strong>', (!empty($group['desc']) ? '<br><span class="smalltext">' . $group['desc'] . '</span>' : ''), '</label>';
2011 2091
 
2012 2092
 				// Can they leave their group?
2013
-				if ($group['can_leave'])
2014
-					echo '
2093
+				if ($group['can_leave']) {
2094
+									echo '
2015 2095
 						<a href="' . $scripturl . '?action=profile;save;u=' . $context['id_member'] . ';area=groupmembership;' . $context['session_var'] . '=' . $context['session_id'] . ';gid=' . $group['id'] . ';', $context[$context['token_check'] . '_token_var'], '=', $context[$context['token_check'] . '_token'], '">' . $txt['leave_group'] . '</a>';
2096
+				}
2016 2097
 
2017 2098
 				echo '
2018 2099
 					</div>';
2019 2100
 		}
2020 2101
 
2021
-		if ($context['can_edit_primary'])
2022
-			echo '
2102
+		if ($context['can_edit_primary']) {
2103
+					echo '
2023 2104
 			<div class="padding righttext">
2024 2105
 				<input type="submit" value="', $txt['make_primary'], '" class="button_submit">
2025 2106
 			</div>';
2107
+		}
2026 2108
 
2027 2109
 		// Any groups they can join?
2028 2110
 		if (!empty($context['groups']['available']))
@@ -2038,15 +2120,16 @@  discard block
 block discarded – undo
2038 2120
 					<div class="windowbg">
2039 2121
 						<strong>', (empty($group['color']) ? $group['name'] : '<span style="color: ' . $group['color'] . '">' . $group['name'] . '</span>'), '</strong>', (!empty($group['desc']) ? '<br><span class="smalltext">' . $group['desc'] . '</span>' : ''), '';
2040 2122
 
2041
-				if ($group['type'] == 3)
2042
-					echo '
2123
+				if ($group['type'] == 3) {
2124
+									echo '
2043 2125
 						<a href="', $scripturl, '?action=profile;save;u=', $context['id_member'], ';area=groupmembership;', $context['session_var'], '=', $context['session_id'], ';gid=', $group['id'], ';', $context[$context['token_check'] . '_token_var'], '=', $context[$context['token_check'] . '_token'], '" class="button floatright">', $txt['join_group'], '</a>';
2044
-				elseif ($group['type'] == 2 && $group['pending'])
2045
-					echo '
2126
+				} elseif ($group['type'] == 2 && $group['pending']) {
2127
+									echo '
2046 2128
 						<span class="floatright">', $txt['approval_pending'], '</span>';
2047
-				elseif ($group['type'] == 2)
2048
-					echo '
2129
+				} elseif ($group['type'] == 2) {
2130
+									echo '
2049 2131
 						<a href="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=groupmembership;request=', $group['id'], '" class="button floatright">', $txt['request_group'], '</a>';
2132
+				}
2050 2133
 
2051 2134
 				echo '
2052 2135
 					</div>';
@@ -2069,9 +2152,10 @@  discard block
 block discarded – undo
2069 2152
 
2070 2153
 			prevDiv.className = "windowbg";
2071 2154
 		}';
2072
-		if (isset($context['groups']['member'][$context['primary_group']]))
2073
-			echo '
2155
+		if (isset($context['groups']['member'][$context['primary_group']])) {
2156
+					echo '
2074 2157
 		highlightSelected("primdiv_' . $context['primary_group'] . '");';
2158
+		}
2075 2159
 		echo '
2076 2160
 	</script>';
2077 2161
 	}
@@ -2079,9 +2163,10 @@  discard block
 block discarded – undo
2079 2163
 	echo '
2080 2164
 		</div>';
2081 2165
 
2082
-	if (!empty($context['token_check']))
2083
-		echo '
2166
+	if (!empty($context['token_check'])) {
2167
+			echo '
2084 2168
 				<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
2169
+	}
2085 2170
 
2086 2171
 	echo '
2087 2172
 				<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -2128,14 +2213,15 @@  discard block
 block discarded – undo
2128 2213
 
2129 2214
 		foreach ($category['boards'] as $board)
2130 2215
 		{
2131
-			if ($i == $limit)
2132
-				echo '
2216
+			if ($i == $limit) {
2217
+							echo '
2133 2218
 						</ul>
2134 2219
 					</li>
2135 2220
 				</ul>
2136 2221
 				<ul class="ignoreboards floatright">
2137 2222
 					<li class="category">
2138 2223
 						<ul>';
2224
+			}
2139 2225
 
2140 2226
 			echo '
2141 2227
 							<li class="board" style="margin-', $context['right_to_left'] ? 'right' : 'left', ': ', $board['child_level'], 'em;">
@@ -2181,10 +2267,11 @@  discard block
 block discarded – undo
2181 2267
 
2182 2268
 	// Work out the starting color.
2183 2269
 	$context['current_color'] = $context['colors'][0];
2184
-	foreach ($context['colors'] as $limit => $color)
2185
-		if ($context['member']['warning'] >= $limit)
2270
+	foreach ($context['colors'] as $limit => $color) {
2271
+			if ($context['member']['warning'] >= $limit)
2186 2272
 			$context['current_color'] = $color;
2187
-}
2273
+	}
2274
+	}
2188 2275
 
2189 2276
 // Show all warnings of a user?
2190 2277
 function template_viewWarning()
@@ -2223,14 +2310,15 @@  discard block
 block discarded – undo
2223 2310
 				</dd>';
2224 2311
 
2225 2312
 		// There's some impact of this?
2226
-		if (!empty($context['level_effects'][$context['current_level']]))
2227
-			echo '
2313
+		if (!empty($context['level_effects'][$context['current_level']])) {
2314
+					echo '
2228 2315
 				<dt>
2229 2316
 					<strong>', $txt['profile_viewwarning_impact'], ':</strong>
2230 2317
 				</dt>
2231 2318
 				<dd>
2232 2319
 					', $context['level_effects'][$context['current_level']], '
2233 2320
 				</dd>';
2321
+		}
2234 2322
 
2235 2323
 		echo '
2236 2324
 			</dl>
@@ -2268,10 +2356,11 @@  discard block
 block discarded – undo
2268 2356
 
2269 2357
 			// Otherwise see what we can do...';
2270 2358
 
2271
-	foreach ($context['notification_templates'] as $k => $type)
2272
-		echo '
2359
+	foreach ($context['notification_templates'] as $k => $type) {
2360
+			echo '
2273 2361
 			if (index == ', $k, ')
2274 2362
 				document.getElementById(\'warn_body\').value = "', strtr($type['body'], array('"' => "'", "\n" => '\\n', "\r" => '')), '";';
2363
+	}
2275 2364
 
2276 2365
 	echo '
2277 2366
 		}
@@ -2281,10 +2370,11 @@  discard block
 block discarded – undo
2281 2370
 			// Also set the right effect.
2282 2371
 			effectText = "";';
2283 2372
 
2284
-	foreach ($context['level_effects'] as $limit => $text)
2285
-		echo '
2373
+	foreach ($context['level_effects'] as $limit => $text) {
2374
+			echo '
2286 2375
 			if (slideAmount >= ', $limit, ')
2287 2376
 				effectText = "', $text, '";';
2377
+	}
2288 2378
 
2289 2379
 	echo '
2290 2380
 			setInnerHTML(document.getElementById(\'cur_level_div\'), slideAmount + \'% (\' + effectText + \')\');
@@ -2299,31 +2389,34 @@  discard block
 block discarded – undo
2299 2389
 			</h3>
2300 2390
 		</div>';
2301 2391
 
2302
-	if (!$context['user']['is_owner'])
2303
-		echo '
2392
+	if (!$context['user']['is_owner']) {
2393
+			echo '
2304 2394
 		<p class="information">', $txt['profile_warning_desc'], '</p>';
2395
+	}
2305 2396
 
2306 2397
 	echo '
2307 2398
 		<div class="windowbg">
2308 2399
 			<dl class="settings">';
2309 2400
 
2310
-	if (!$context['user']['is_owner'])
2311
-		echo '
2401
+	if (!$context['user']['is_owner']) {
2402
+			echo '
2312 2403
 				<dt>
2313 2404
 					<strong>', $txt['profile_warning_name'], ':</strong>
2314 2405
 				</dt>
2315 2406
 				<dd>
2316 2407
 					<strong>', $context['member']['name'], '</strong>
2317 2408
 				</dd>';
2409
+	}
2318 2410
 
2319 2411
 	echo '
2320 2412
 				<dt>
2321 2413
 					<strong>', $txt['profile_warning_level'], ':</strong>';
2322 2414
 
2323 2415
 	// Is there only so much they can apply?
2324
-	if ($context['warning_limit'])
2325
-		echo '
2416
+	if ($context['warning_limit']) {
2417
+			echo '
2326 2418
 					<br><span class="smalltext">', sprintf($txt['profile_warning_limit_attribute'], $context['warning_limit']), '</span>';
2419
+	}
2327 2420
 
2328 2421
 	echo '
2329 2422
 				</dt>
@@ -2376,9 +2469,10 @@  discard block
 block discarded – undo
2376 2469
 						<option value="-1">', $txt['profile_warning_notify_template'], '</option>
2377 2470
 						<option value="-1" disabled>------------------------------</option>';
2378 2471
 
2379
-		foreach ($context['notification_templates'] as $id_template => $template)
2380
-			echo '
2472
+		foreach ($context['notification_templates'] as $id_template => $template) {
2473
+					echo '
2381 2474
 						<option value="', $id_template, '">', $template['title'], '</option>';
2475
+		}
2382 2476
 
2383 2477
 		echo '
2384 2478
 					</select>
@@ -2390,9 +2484,10 @@  discard block
 block discarded – undo
2390 2484
 			</dl>
2391 2485
 			<div class="righttext">';
2392 2486
 
2393
-	if (!empty($context['token_check']))
2394
-		echo '
2487
+	if (!empty($context['token_check'])) {
2488
+			echo '
2395 2489
 				<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
2490
+	}
2396 2491
 
2397 2492
 	echo '
2398 2493
 				<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -2408,8 +2503,8 @@  discard block
 block discarded – undo
2408 2503
 	echo '
2409 2504
 	<script>';
2410 2505
 
2411
-	if (!$context['user']['is_owner'])
2412
-		echo '
2506
+	if (!$context['user']['is_owner']) {
2507
+			echo '
2413 2508
 		modifyWarnNotify();
2414 2509
 		$(document).ready(function() {
2415 2510
 			$("#preview_button").click(function() {
@@ -2448,6 +2543,7 @@  discard block
 block discarded – undo
2448 2543
 			});
2449 2544
 			return false;
2450 2545
 		}';
2546
+	}
2451 2547
 
2452 2548
 	echo '
2453 2549
 	</script>';
@@ -2470,16 +2566,18 @@  discard block
 block discarded – undo
2470 2566
 			</div>';
2471 2567
 
2472 2568
 	// If deleting another account give them a lovely info box.
2473
-	if (!$context['user']['is_owner'])
2474
-		echo '
2569
+	if (!$context['user']['is_owner']) {
2570
+			echo '
2475 2571
 			<p class="information">', $txt['deleteAccount_desc'], '</p>';
2572
+	}
2476 2573
 	echo '
2477 2574
 			<div class="windowbg2">';
2478 2575
 
2479 2576
 	// If they are deleting their account AND the admin needs to approve it - give them another piece of info ;)
2480
-	if ($context['needs_approval'])
2481
-		echo '
2577
+	if ($context['needs_approval']) {
2578
+			echo '
2482 2579
 				<div class="errorbox">', $txt['deleteAccount_approval'], '</div>';
2580
+	}
2483 2581
 
2484 2582
 	// If the user is deleting their own account warn them first - and require a password!
2485 2583
 	if ($context['user']['is_owner'])
@@ -2491,9 +2589,10 @@  discard block
 block discarded – undo
2491 2589
 					<input type="password" name="oldpasswrd" size="20" class="input_password">&nbsp;&nbsp;&nbsp;&nbsp;
2492 2590
 					<input type="submit" value="', $txt['yes'], '" class="button_submit">';
2493 2591
 
2494
-		if (!empty($context['token_check']))
2495
-			echo '
2592
+		if (!empty($context['token_check'])) {
2593
+					echo '
2496 2594
 				<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
2595
+		}
2497 2596
 
2498 2597
 		echo '
2499 2598
 					<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -2519,9 +2618,10 @@  discard block
 block discarded – undo
2519 2618
 						<option value="topics">', $txt['deleteAccount_topics'], '</option>
2520 2619
 					</select>';
2521 2620
 
2522
-			if ($context['show_perma_delete'])
2523
-				echo '
2621
+			if ($context['show_perma_delete']) {
2622
+							echo '
2524 2623
 					<br><label for="perma_delete"><input type="checkbox" name="perma_delete" id="perma_delete" value="1" class="input_check">', $txt['deleteAccount_permanent'], ':</label>';
2624
+			}
2525 2625
 
2526 2626
 			echo '
2527 2627
 				</div>';
@@ -2534,9 +2634,10 @@  discard block
 block discarded – undo
2534 2634
 				<div>
2535 2635
 					<input type="submit" value="', $txt['delete'], '" class="button_submit">';
2536 2636
 
2537
-		if (!empty($context['token_check']))
2538
-			echo '
2637
+		if (!empty($context['token_check'])) {
2638
+					echo '
2539 2639
 				<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
2640
+		}
2540 2641
 
2541 2642
 		echo '
2542 2643
 					<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -2562,8 +2663,8 @@  discard block
 block discarded – undo
2562 2663
 					<hr>';
2563 2664
 
2564 2665
 	// Only show the password box if it's actually needed.
2565
-	if ($context['require_password'])
2566
-		echo '
2666
+	if ($context['require_password']) {
2667
+			echo '
2567 2668
 					<dl class="settings">
2568 2669
 						<dt>
2569 2670
 							<strong', isset($context['modify_error']['bad_password']) || isset($context['modify_error']['no_password']) ? ' class="error"' : '', '>', $txt['current_password'], ': </strong><br>
@@ -2573,13 +2674,15 @@  discard block
 block discarded – undo
2573 2674
 							<input type="password" name="oldpasswrd" size="20" style="margin-right: 4ex;" class="input_password">
2574 2675
 						</dd>
2575 2676
 					</dl>';
2677
+	}
2576 2678
 
2577 2679
 	echo '
2578 2680
 					<div class="righttext">';
2579 2681
 
2580
-		if (!empty($context['token_check']))
2581
-			echo '
2682
+		if (!empty($context['token_check'])) {
2683
+					echo '
2582 2684
 				<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
2685
+		}
2583 2686
 
2584 2687
 	echo '
2585 2688
 						<input type="submit" value="', $txt['change_profile'], '" class="button_submit">
@@ -2606,9 +2709,10 @@  discard block
 block discarded – undo
2606 2709
 			<ul id="list_errors">';
2607 2710
 
2608 2711
 		// Cycle through each error and display an error message.
2609
-		foreach ($context['post_errors'] as $error)
2610
-			echo '
2712
+		foreach ($context['post_errors'] as $error) {
2713
+					echo '
2611 2714
 				<li>', isset($txt['profile_error_' . $error]) ? $txt['profile_error_' . $error] : $error, '</li>';
2715
+		}
2612 2716
 
2613 2717
 		echo '
2614 2718
 			</ul>';
@@ -2634,12 +2738,13 @@  discard block
 block discarded – undo
2634 2738
 								<select name="id_group" ', ($context['user']['is_owner'] && $context['member']['group_id'] == 1 ? 'onchange="if (this.value != 1 &amp;&amp; !confirm(\'' . $txt['deadmin_confirm'] . '\')) this.value = 1;"' : ''), '>';
2635 2739
 
2636 2740
 		// Fill the select box with all primary member groups that can be assigned to a member.
2637
-		foreach ($context['member_groups'] as $member_group)
2638
-			if (!empty($member_group['can_be_primary']))
2741
+		foreach ($context['member_groups'] as $member_group) {
2742
+					if (!empty($member_group['can_be_primary']))
2639 2743
 				echo '
2640 2744
 									<option value="', $member_group['id'], '"', $member_group['is_primary'] ? ' selected' : '', '>
2641 2745
 										', $member_group['name'], '
2642 2746
 									</option>';
2747
+		}
2643 2748
 		echo '
2644 2749
 								</select>
2645 2750
 							</dd>
@@ -2651,10 +2756,11 @@  discard block
 block discarded – undo
2651 2756
 									<input type="hidden" name="additional_groups[]" value="0">';
2652 2757
 
2653 2758
 		// For each membergroup show a checkbox so members can be assigned to more than one group.
2654
-		foreach ($context['member_groups'] as $member_group)
2655
-			if ($member_group['can_be_additional'])
2759
+		foreach ($context['member_groups'] as $member_group) {
2760
+					if ($member_group['can_be_additional'])
2656 2761
 				echo '
2657 2762
 									<label for="additional_groups-', $member_group['id'], '"><input type="checkbox" name="additional_groups[]" value="', $member_group['id'], '" id="additional_groups-', $member_group['id'], '"', $member_group['is_additional'] ? ' checked' : '', ' class="input_check"> ', $member_group['name'], '</label><br>';
2763
+		}
2658 2764
 		echo '
2659 2765
 								</span>
2660 2766
 								<a href="javascript:void(0);" onclick="document.getElementById(\'additional_groupsList\').style.display = \'block\'; document.getElementById(\'additional_groupsLink\').style.display = \'none\'; return false;" id="additional_groupsLink" style="display: none;" class="toggle_down">', $txt['additional_membergroups_show'], '</a>
@@ -2714,9 +2820,10 @@  discard block
 block discarded – undo
2714 2820
 								<span class="smalltext">', $txt['sig_info'], '</span><br>
2715 2821
 								<br>';
2716 2822
 
2717
-	if ($context['show_spellchecking'])
2718
-		echo '
2823
+	if ($context['show_spellchecking']) {
2824
+			echo '
2719 2825
 								<input type="button" value="', $txt['spell_check'], '" onclick="spellCheck(\'creator\', \'signature\');" class="button_submit">';
2826
+	}
2720 2827
 
2721 2828
 		echo '
2722 2829
 							</dt>
@@ -2724,17 +2831,20 @@  discard block
 block discarded – undo
2724 2831
 								<textarea class="editor" onkeyup="calcCharLeft();" id="signature" name="signature" rows="5" cols="50" style="min-width: 50%; max-width: 99%;">', $context['member']['signature'], '</textarea><br>';
2725 2832
 
2726 2833
 	// If there is a limit at all!
2727
-	if (!empty($context['signature_limits']['max_length']))
2728
-		echo '
2834
+	if (!empty($context['signature_limits']['max_length'])) {
2835
+			echo '
2729 2836
 								<span class="smalltext">', sprintf($txt['max_sig_characters'], $context['signature_limits']['max_length']), ' <span id="signatureLeft">', $context['signature_limits']['max_length'], '</span></span><br>';
2837
+	}
2730 2838
 
2731
-	if (!empty($context['show_preview_button']))
2732
-		echo '
2839
+	if (!empty($context['show_preview_button'])) {
2840
+			echo '
2733 2841
 								<input type="button" name="preview_signature" id="preview_button" value="', $txt['preview_signature'], '" class="button_submit">';
2842
+	}
2734 2843
 
2735
-	if ($context['signature_warning'])
2736
-		echo '
2844
+	if ($context['signature_warning']) {
2845
+			echo '
2737 2846
 								<span class="smalltext">', $context['signature_warning'], '</span>';
2847
+	}
2738 2848
 
2739 2849
 	// Some javascript used to count how many characters have been used so far in the signature.
2740 2850
 	echo '
@@ -2778,9 +2888,10 @@  discard block
 block discarded – undo
2778 2888
 									<div>
2779 2889
 										<select name="cat" id="cat" size="10" onchange="changeSel(\'\');" onfocus="selectRadioByName(document.forms.creator.avatar_choice, \'server_stored\');">';
2780 2890
 		// This lists all the file categories.
2781
-		foreach ($context['avatars'] as $avatar)
2782
-			echo '
2891
+		foreach ($context['avatars'] as $avatar) {
2892
+					echo '
2783 2893
 											<option value="', $avatar['filename'] . ($avatar['is_dir'] ? '/' : ''), '"', ($avatar['checked'] ? ' selected' : ''), '>', $avatar['name'], '</option>';
2894
+		}
2784 2895
 		echo '
2785 2896
 										</select>
2786 2897
 									</div>
@@ -2835,16 +2946,17 @@  discard block
 block discarded – undo
2835 2946
 								<div id="avatar_gravatar">
2836 2947
 									<img src="' . $context['member']['avatar']['href'] . '" alt="" />';
2837 2948
 
2838
-		if (empty($modSettings['gravatarAllowExtraEmail']))
2839
-			echo '
2949
+		if (empty($modSettings['gravatarAllowExtraEmail'])) {
2950
+					echo '
2840 2951
 									<div class="smalltext">', $txt['gravatar_noAlternateEmail'], '</div>';
2841
-		else
2952
+		} else
2842 2953
 		{
2843 2954
 			// Depending on other stuff, the stored value here might have some odd things in it from other areas.
2844
-			if ($context['member']['avatar']['external'] == $context['member']['email'])
2845
-				$textbox_value = '';
2846
-			else
2847
-				$textbox_value = $context['member']['avatar']['external'];
2955
+			if ($context['member']['avatar']['external'] == $context['member']['email']) {
2956
+							$textbox_value = '';
2957
+			} else {
2958
+							$textbox_value = $context['member']['avatar']['external'];
2959
+			}
2848 2960
 
2849 2961
 			echo '
2850 2962
 									<div class="smalltext">', $txt['gravatar_alternateEmail'], '</div>
@@ -2916,8 +3028,9 @@  discard block
 block discarded – undo
2916 3028
 	$h = !empty($modSettings['avatar_max_height_' . $type]) ? comma_format($modSettings['avatar_max_height_' . $type]) : 0;
2917 3029
 
2918 3030
 	$suffix = (!empty($w) ? 'w' : '') . (!empty($h) ? 'h' : '');
2919
-	if (empty($suffix))
2920
-		return;
3031
+	if (empty($suffix)) {
3032
+			return;
3033
+	}
2921 3034
 
2922 3035
 	echo '
2923 3036
 									<div class="smalltext">', sprintf($txt['avatar_max_size_' . $suffix], $w, $h), '</div>';
@@ -2939,9 +3052,10 @@  discard block
 block discarded – undo
2939 3052
 							<dd>
2940 3053
 								<select name="easyformat" id="easyformat" onchange="document.forms.creator.time_format.value = this.options[this.selectedIndex].value;" style="margin-bottom: 4px;">';
2941 3054
 	// Help the user by showing a list of common time formats.
2942
-	foreach ($context['easy_timeformats'] as $time_format)
2943
-		echo '
3055
+	foreach ($context['easy_timeformats'] as $time_format) {
3056
+			echo '
2944 3057
 									<option value="', $time_format['format'], '"', $time_format['format'] == $context['member']['time_format'] ? ' selected' : '', '>', $time_format['title'], '</option>';
3058
+	}
2945 3059
 	echo '
2946 3060
 								</select><br>
2947 3061
 								<input type="text" name="time_format" id="time_format" value="', $context['member']['time_format'], '" size="30" class="input_text">
@@ -2977,9 +3091,10 @@  discard block
 block discarded – undo
2977 3091
 							</dt>
2978 3092
 							<dd>
2979 3093
 								<select name="smiley_set" id="smiley_set" onchange="document.getElementById(\'smileypr\').src = this.selectedIndex == 0 ? \'', $settings['images_url'], '/blank.png\' : \'', $modSettings['smileys_url'], '/\' + (this.selectedIndex != 1 ? this.options[this.selectedIndex].value : \'', !empty($settings['smiley_sets_default']) ? $settings['smiley_sets_default'] : $modSettings['smiley_sets_default'], '\') + \'/smiley.gif\';">';
2980
-	foreach ($context['smiley_sets'] as $set)
2981
-		echo '
3094
+	foreach ($context['smiley_sets'] as $set) {
3095
+			echo '
2982 3096
 									<option value="', $set['id'], '"', $set['selected'] ? ' selected' : '', '>', $set['name'], '</option>';
3097
+	}
2983 3098
 	echo '
2984 3099
 								</select> <img id="smileypr" class="centericon" src="', $context['member']['smiley_set']['id'] != 'none' ? $modSettings['smileys_url'] . '/' . ($context['member']['smiley_set']['id'] != '' ? $context['member']['smiley_set']['id'] : (!empty($settings['smiley_sets_default']) ? $settings['smiley_sets_default'] : $modSettings['smiley_sets_default'])) . '/smiley.gif' : $settings['images_url'] . '/blank.png', '" alt=":)"  style="padding-left: 20px;">
2985 3100
 							</dd>';
@@ -3030,10 +3145,11 @@  discard block
 block discarded – undo
3030 3145
 									</div>
3031 3146
 									<div class="clear"></div>';
3032 3147
 
3033
-	if (!empty($context['from_ajax']))
3034
-		echo '
3148
+	if (!empty($context['from_ajax'])) {
3149
+			echo '
3035 3150
 									<br>
3036 3151
 									<a href="javascript:self.close();"></a>';
3152
+	}
3037 3153
 
3038 3154
 	echo '
3039 3155
 								</div>
@@ -3072,15 +3188,16 @@  discard block
 block discarded – undo
3072 3188
 								<br /><div class="smalltext">', $txt['tfa_profile_desc'], '</div>
3073 3189
 							</dt>
3074 3190
 							<dd>';
3075
-	if (!$context['tfa_enabled'] && $context['user']['is_owner'])
3076
-		echo '
3191
+	if (!$context['tfa_enabled'] && $context['user']['is_owner']) {
3192
+			echo '
3077 3193
 								<a href="', !empty($modSettings['force_ssl']) && $modSettings['force_ssl'] < 2 ? strtr($scripturl, array('http://' => 'https://')) : $scripturl, '?action=profile;area=tfasetup" id="enable_tfa">', $txt['tfa_profile_enable'], '</a>';
3078
-	elseif (!$context['tfa_enabled'])
3079
-		echo '
3194
+	} elseif (!$context['tfa_enabled']) {
3195
+			echo '
3080 3196
 								', $txt['tfa_profile_disabled'];
3081
-	else
3082
-		echo '
3197
+	} else {
3198
+			echo '
3083 3199
 							', sprintf($txt['tfa_profile_enabled'], $scripturl . '?action=profile;u=' . $context['id_member'] . ';area=tfasetup;disable');
3200
+	}
3084 3201
 	echo '
3085 3202
 							</dd>';
3086 3203
 }
Please login to merge, or discard this patch.
Themes/default/Recent.template.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -21,7 +21,7 @@
 block discarded – undo
21 21
 	<div id="recent" class="main_section">
22 22
 		<div class="cat_bar">
23 23
 			<h3 class="catbg">
24
-				<span class="xx"></span>',$txt['recent_posts'],'
24
+				<span class="xx"></span>',$txt['recent_posts'], '
25 25
 			</h3>
26 26
 		</div>
27 27
 		<div class="pagesection">', $context['page_index'], '</div>';
Please login to merge, or discard this patch.
Braces   +74 added lines, -52 removed lines patch added patch discarded remove patch
@@ -43,28 +43,33 @@  discard block
 block discarded – undo
43 43
 					</div>
44 44
 					<div class="list_posts">', $post['message'], '</div>';
45 45
 
46
-		if ($post['can_reply'] || $post['can_quote'] || $post['can_delete'])
47
-			echo '
46
+		if ($post['can_reply'] || $post['can_quote'] || $post['can_delete']) {
47
+					echo '
48 48
 					<ul class="quickbuttons">';
49
+		}
49 50
 
50 51
 		// If they *can* reply?
51
-		if ($post['can_reply'])
52
-			echo '
52
+		if ($post['can_reply']) {
53
+					echo '
53 54
 						<li><a href="', $scripturl, '?action=post;topic=', $post['topic'], '.', $post['start'], '"><span class="generic_icons reply_button"></span>', $txt['reply'], '</a></li>';
55
+		}
54 56
 
55 57
 		// If they *can* quote?
56
-		if ($post['can_quote'])
57
-			echo '
58
+		if ($post['can_quote']) {
59
+					echo '
58 60
 						<li><a href="', $scripturl, '?action=post;topic=', $post['topic'], '.', $post['start'], ';quote=', $post['id'], '"><span class="generic_icons quote"></span>', $txt['quote_action'], '</a></li>';
61
+		}
59 62
 
60 63
 		// How about... even... remove it entirely?!
61
-		if ($post['can_delete'])
62
-			echo '
64
+		if ($post['can_delete']) {
65
+					echo '
63 66
 						<li><a href="', $scripturl, '?action=deletemsg;msg=', $post['id'], ';topic=', $post['topic'], ';recent;', $context['session_var'], '=', $context['session_id'], '" data-confirm="', $txt['remove_message'], '" class="you_sure"><span class="generic_icons remove_button"></span>', $txt['remove'], '</a></li>';
67
+		}
64 68
 
65
-		if ($post['can_reply'] || $post['can_quote'] || $post['can_delete'])
66
-			echo '
69
+		if ($post['can_reply'] || $post['can_quote'] || $post['can_delete']) {
70
+					echo '
67 71
 					</ul>';
72
+		}
68 73
 
69 74
 		echo '
70 75
 			</div>';
@@ -86,12 +91,13 @@  discard block
 block discarded – undo
86 91
 	echo '
87 92
 	<div id="recent" class="main_content">';
88 93
 
89
-	if ($context['showCheckboxes'])
90
-		echo '
94
+	if ($context['showCheckboxes']) {
95
+			echo '
91 96
 		<form action="', $scripturl, '?action=quickmod" method="post" accept-charset="', $context['character_set'], '" name="quickModForm" id="quickModForm" style="margin: 0;">
92 97
 			<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
93 98
 			<input type="hidden" name="qaction" value="markread">
94 99
 			<input type="hidden" name="redirect_url" value="action=unread', (!empty($context['showing_all_topics']) ? ';all' : ''), $context['querystring_board_limits'], '">';
100
+	}
95 101
 
96 102
 	if (!empty($context['topics']))
97 103
 	{
@@ -117,11 +123,12 @@  discard block
 block discarded – undo
117 123
 					</div>';
118 124
 
119 125
 		// Show a "select all" box for quick moderation?
120
-		if ($context['showCheckboxes'])
121
-			echo '
126
+		if ($context['showCheckboxes']) {
127
+					echo '
122 128
 					<div class="moderation">
123 129
 						<input type="checkbox" onclick="invertAll(this, this.form, \'topics[]\');" class="input_check">
124 130
 					</div>';
131
+		}
125 132
 
126 133
 		echo '
127 134
 				</div>
@@ -140,15 +147,18 @@  discard block
 block discarded – undo
140 147
 			// Now we handle the icons
141 148
 			echo '
142 149
 							<div class="icons floatright">';
143
-			if ($topic['is_locked'])
144
-				echo '
150
+			if ($topic['is_locked']) {
151
+							echo '
145 152
 								<span class="generic_icons lock"></span>';
146
-			if ($topic['is_sticky'])
147
-				echo '
153
+			}
154
+			if ($topic['is_sticky']) {
155
+							echo '
148 156
 								<span class="generic_icons sticky"></span>';
149
-			if ($topic['is_poll'])
150
-				echo '
157
+			}
158
+			if ($topic['is_poll']) {
159
+							echo '
151 160
 								<span class="generic_icons poll"></span>';
161
+			}
152 162
 			echo '
153 163
 							</div>';
154 164
 
@@ -173,19 +183,21 @@  discard block
 block discarded – undo
173 183
 							', sprintf($txt['last_post_topic'], '<a href="' . $topic['last_post']['href'] . '">' . $topic['last_post']['time'] . '</a>', $topic['last_post']['member']['link']), '
174 184
 						</div>';
175 185
 
176
-			if ($context['showCheckboxes'])
177
-				echo '
186
+			if ($context['showCheckboxes']) {
187
+							echo '
178 188
 						<div class="moderation">
179 189
 							<input type="checkbox" name="topics[]" value="', $topic['id'], '" class="input_check">
180 190
 						</div>';
191
+			}
181 192
 
182 193
 				echo '
183 194
 					</div>';
184 195
 		}
185 196
 
186
-		if (empty($context['topics']))
187
-			echo '
197
+		if (empty($context['topics'])) {
198
+					echo '
188 199
 						<div style="display: none;"></div>';
200
+		}
189 201
 
190 202
 		echo '
191 203
 				</div>
@@ -197,25 +209,27 @@  discard block
 block discarded – undo
197 209
 				', $context['menu_separator'], '<a href="#recent" class="topbottom floatleft">', $txt['go_up'], '</a>
198 210
 				<div class="pagelinks">', $context['page_index'], '</div>
199 211
 			</div>';
200
-	}
201
-	else
202
-		echo '
212
+	} else {
213
+			echo '
203 214
 			<div class="cat_bar">
204 215
 				<h3 class="catbg centertext">
205 216
 					', $context['showing_all_topics'] ? $txt['topic_alert_none'] : $txt['unread_topics_visit_none'], '
206 217
 				</h3>
207 218
 			</div>';
219
+	}
208 220
 
209
-	if ($context['showCheckboxes'])
210
-		echo '
221
+	if ($context['showCheckboxes']) {
222
+			echo '
211 223
 		</form>';
224
+	}
212 225
 
213 226
 	echo '
214 227
 	</div>';
215 228
 
216
-	if (empty($context['no_topic_listing']))
217
-		template_topic_legend();
218
-}
229
+	if (empty($context['no_topic_listing'])) {
230
+			template_topic_legend();
231
+	}
232
+	}
219 233
 
220 234
 /**
221 235
  * Template for showing unread replies (eg new replies to topics you've posted in)
@@ -227,12 +241,13 @@  discard block
 block discarded – undo
227 241
 	echo '
228 242
 	<div id="recent">';
229 243
 
230
-	if ($context['showCheckboxes'])
231
-		echo '
244
+	if ($context['showCheckboxes']) {
245
+			echo '
232 246
 		<form action="', $scripturl, '?action=quickmod" method="post" accept-charset="', $context['character_set'], '" name="quickModForm" id="quickModForm" style="margin: 0;">
233 247
 			<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
234 248
 			<input type="hidden" name="qaction" value="markread">
235 249
 			<input type="hidden" name="redirect_url" value="action=unreadreplies', (!empty($context['showing_all_topics']) ? ';all' : ''), $context['querystring_board_limits'], '">';
250
+	}
236 251
 
237 252
 	if (!empty($context['topics']))
238 253
 	{
@@ -258,11 +273,12 @@  discard block
 block discarded – undo
258 273
 					</div>';
259 274
 
260 275
 		// Show a "select all" box for quick moderation?
261
-		if ($context['showCheckboxes'])
262
-				echo '
276
+		if ($context['showCheckboxes']) {
277
+						echo '
263 278
 					<div class="moderation">
264 279
 						<input type="checkbox" onclick="invertAll(this, this.form, \'topics[]\');" class="input_check">
265 280
 					</div>';
281
+		}
266 282
 
267 283
 		echo '
268 284
 				</div>
@@ -281,15 +297,18 @@  discard block
 block discarded – undo
281 297
 			// Now we handle the icons
282 298
 			echo '
283 299
 								<div class="icons floatright">';
284
-			if ($topic['is_locked'])
285
-				echo '
300
+			if ($topic['is_locked']) {
301
+							echo '
286 302
 									<span class="generic_icons lock"></span>';
287
-			if ($topic['is_sticky'])
288
-				echo '
303
+			}
304
+			if ($topic['is_sticky']) {
305
+							echo '
289 306
 									<span class="generic_icons sticky"></span>';
290
-			if ($topic['is_poll'])
291
-				echo '
307
+			}
308
+			if ($topic['is_poll']) {
309
+							echo '
292 310
 									<span class="generic_icons poll"></span>';
311
+			}
293 312
 			echo '
294 313
 								</div>';
295 314
 
@@ -314,11 +333,12 @@  discard block
 block discarded – undo
314 333
 								', sprintf($txt['last_post_topic'], '<a href="' . $topic['last_post']['href'] . '">' . $topic['last_post']['time'] . '</a>', $topic['last_post']['member']['link']), '
315 334
 							</div>';
316 335
 
317
-			if ($context['showCheckboxes'])
318
-				echo '
336
+			if ($context['showCheckboxes']) {
337
+							echo '
319 338
 							<div class="moderation">
320 339
 								<input type="checkbox" name="topics[]" value="', $topic['id'], '" class="input_check">
321 340
 							</div>';
341
+			}
322 342
 			echo '
323 343
 						</div>';
324 344
 		}
@@ -331,24 +351,26 @@  discard block
 block discarded – undo
331 351
 				', $context['menu_separator'], '<a href="#recent" class="topbottom floatleft">', $txt['go_up'], '</a>
332 352
 				<div class="pagelinks">', $context['page_index'], '</div>
333 353
 			</div>';
334
-	}
335
-	else
336
-		echo '
354
+	} else {
355
+			echo '
337 356
 			<div class="cat_bar">
338 357
 				<h3 class="catbg centertext">
339 358
 					', $context['showing_all_topics'] ? $txt['topic_alert_none'] : $txt['unread_topics_visit_none'], '
340 359
 				</h3>
341 360
 			</div>';
361
+	}
342 362
 
343
-	if ($context['showCheckboxes'])
344
-		echo '
363
+	if ($context['showCheckboxes']) {
364
+			echo '
345 365
 		</form>';
366
+	}
346 367
 
347 368
 	echo '
348 369
 	</div>';
349 370
 
350
-	if (empty($context['no_topic_listing']))
351
-		template_topic_legend();
352
-}
371
+	if (empty($context['no_topic_listing'])) {
372
+			template_topic_legend();
373
+	}
374
+	}
353 375
 
354 376
 ?>
355 377
\ No newline at end of file
Please login to merge, or discard this patch.
Themes/default/GenericMenu.template.php 1 patch
Braces   +50 added lines, -37 removed lines patch added patch discarded remove patch
@@ -89,8 +89,9 @@  discard block
 block discarded – undo
89 89
 		foreach ($section['areas'] as $i => $area)
90 90
 		{
91 91
 			// Not supposed to be printed?
92
-			if (empty($area['label']))
93
-				continue;
92
+			if (empty($area['label'])) {
93
+							continue;
94
+			}
94 95
 
95 96
 			echo '
96 97
 								<li', !empty($area['subsections']) ? ' class="subsections"' : '', '>';
@@ -99,8 +100,9 @@  discard block
 block discarded – undo
99 100
 									<a class="', $area['icon_class'], !empty($area['selected']) ? ' chosen ' : '', '" href="', (isset($area['url']) ? $area['url'] : $menu_context['base_url'] . ';area=' . $i), $menu_context['extra_parameters'], '">', $area['icon'], $area['label'], '</a>';
100 101
 
101 102
 			// Is this the current area, or just some area?
102
-			if (!empty($area['selected']) && empty($context['tabs']))
103
-					$context['tabs'] = isset($area['subsections']) ? $area['subsections'] : array();
103
+			if (!empty($area['selected']) && empty($context['tabs'])) {
104
+								$context['tabs'] = isset($area['subsections']) ? $area['subsections'] : array();
105
+			}
104 106
 
105 107
 			// Are there any subsections?
106 108
 			if (!empty($area['subsections']))
@@ -110,8 +112,9 @@  discard block
 block discarded – undo
110 112
 
111 113
 				foreach ($area['subsections'] as $sa => $sub)
112 114
 				{
113
-					if (!empty($sub['disabled']))
114
-						continue;
115
+					if (!empty($sub['disabled'])) {
116
+											continue;
117
+					}
115 118
 
116 119
 					$url = isset($sub['url']) ? $sub['url'] : (isset($area['url']) ? $area['url'] : $menu_context['base_url'] . ';area=' . $i) . ';sa=' . $sa;
117 120
 
@@ -158,8 +161,9 @@  discard block
 block discarded – undo
158 161
 							<h3 class="catbg">';
159 162
 
160 163
 		// The function is in Admin.template.php, but since this template is used elsewhere too better check if the function is available
161
-		if (function_exists('template_admin_quick_search'))
162
-			template_admin_quick_search();
164
+		if (function_exists('template_admin_quick_search')) {
165
+					template_admin_quick_search();
166
+		}
163 167
 
164 168
 		// Exactly how many tabs do we have?
165 169
 		if (!empty($context['tabs']))
@@ -174,30 +178,36 @@  discard block
 block discarded – undo
174 178
 				}
175 179
 
176 180
 				// Did this not even exist - or do we not have a label?
177
-				if (!isset($tab_context['tabs'][$id]))
178
-					$tab_context['tabs'][$id] = array('label' => $tab['label']);
179
-				elseif (!isset($tab_context['tabs'][$id]['label']))
180
-					$tab_context['tabs'][$id]['label'] = $tab['label'];
181
+				if (!isset($tab_context['tabs'][$id])) {
182
+									$tab_context['tabs'][$id] = array('label' => $tab['label']);
183
+				} elseif (!isset($tab_context['tabs'][$id]['label'])) {
184
+									$tab_context['tabs'][$id]['label'] = $tab['label'];
185
+				}
181 186
 
182 187
 				// Has a custom URL defined in the main admin structure?
183
-				if (isset($tab['url']) && !isset($tab_context['tabs'][$id]['url']))
184
-					$tab_context['tabs'][$id]['url'] = $tab['url'];
188
+				if (isset($tab['url']) && !isset($tab_context['tabs'][$id]['url'])) {
189
+									$tab_context['tabs'][$id]['url'] = $tab['url'];
190
+				}
185 191
 
186 192
 				// Any additional paramaters for the url?
187
-				if (isset($tab['add_params']) && !isset($tab_context['tabs'][$id]['add_params']))
188
-					$tab_context['tabs'][$id]['add_params'] = $tab['add_params'];
193
+				if (isset($tab['add_params']) && !isset($tab_context['tabs'][$id]['add_params'])) {
194
+									$tab_context['tabs'][$id]['add_params'] = $tab['add_params'];
195
+				}
189 196
 
190 197
 				// Has it been deemed selected?
191
-				if (!empty($tab['is_selected']))
192
-					$tab_context['tabs'][$id]['is_selected'] = true;
198
+				if (!empty($tab['is_selected'])) {
199
+									$tab_context['tabs'][$id]['is_selected'] = true;
200
+				}
193 201
 
194 202
 				// Does it have its own help?
195
-				if (!empty($tab['help']))
196
-					$tab_context['tabs'][$id]['help'] = $tab['help'];
203
+				if (!empty($tab['help'])) {
204
+									$tab_context['tabs'][$id]['help'] = $tab['help'];
205
+				}
197 206
 
198 207
 				// Is this the last one?
199
-				if (!empty($tab['is_last']) && !isset($tab_context['override_last']))
200
-					$tab_context['tabs'][$id]['is_last'] = true;
208
+				if (!empty($tab['is_last']) && !isset($tab_context['override_last'])) {
209
+									$tab_context['tabs'][$id]['is_last'] = true;
210
+				}
201 211
 			}
202 212
 
203 213
 			// Find the selected tab
@@ -214,17 +224,18 @@  discard block
 block discarded – undo
214 224
 		// Show an icon and/or a help item?
215 225
 		if (!empty($selected_tab['icon_class']) || !empty($tab_context['icon_class']) || !empty($selected_tab['icon']) || !empty($tab_context['icon']) || !empty($selected_tab['help']) || !empty($tab_context['help']))
216 226
 		{
217
-			if (!empty($selected_tab['icon_class']) || !empty($tab_context['icon_class']))
218
-				echo '<span class="', !empty($selected_tab['icon_class']) ? $selected_tab['icon_class'] : $tab_context['icon_class'], ' icon"></span>';
219
-			elseif (!empty($selected_tab['icon']) || !empty($tab_context['icon']))
220
-				echo '<img src="', $settings['images_url'], '/icons/', !empty($selected_tab['icon']) ? $selected_tab['icon'] : $tab_context['icon'], '" alt="" class="icon">';
227
+			if (!empty($selected_tab['icon_class']) || !empty($tab_context['icon_class'])) {
228
+							echo '<span class="', !empty($selected_tab['icon_class']) ? $selected_tab['icon_class'] : $tab_context['icon_class'], ' icon"></span>';
229
+			} elseif (!empty($selected_tab['icon']) || !empty($tab_context['icon'])) {
230
+							echo '<img src="', $settings['images_url'], '/icons/', !empty($selected_tab['icon']) ? $selected_tab['icon'] : $tab_context['icon'], '" alt="" class="icon">';
231
+			}
221 232
 
222
-			if (!empty($selected_tab['help']) || !empty($tab_context['help']))
223
-				echo '<a href="', $scripturl, '?action=helpadmin;help=', !empty($selected_tab['help']) ? $selected_tab['help'] : $tab_context['help'], '" onclick="return reqOverlayDiv(this.href);" class="help"><span class="generic_icons help" title="', $txt['help'], '"></span></a>';
233
+			if (!empty($selected_tab['help']) || !empty($tab_context['help'])) {
234
+							echo '<a href="', $scripturl, '?action=helpadmin;help=', !empty($selected_tab['help']) ? $selected_tab['help'] : $tab_context['help'], '" onclick="return reqOverlayDiv(this.href);" class="help"><span class="generic_icons help" title="', $txt['help'], '"></span></a>';
235
+			}
224 236
 
225 237
 			echo $tab_context['title'];
226
-		}
227
-		else
238
+		} else
228 239
 		{
229 240
 			echo '
230 241
 							', $tab_context['title'];
@@ -237,11 +248,12 @@  discard block
 block discarded – undo
237 248
 	}
238 249
 
239 250
 	// Shall we use the tabs? Yes, it's the only known way!
240
-	if (!empty($selected_tab['description']) || !empty($tab_context['description']))
241
-		echo '
251
+	if (!empty($selected_tab['description']) || !empty($tab_context['description'])) {
252
+			echo '
242 253
 					<p class="information">
243 254
 						', !empty($selected_tab['description']) ? $selected_tab['description'] : $tab_context['description'], '
244 255
 					</p>';
256
+	}
245 257
 
246 258
 	// Print out all the items in this tab (if any).
247 259
 	if (!empty($context['tabs']))
@@ -253,8 +265,9 @@  discard block
 block discarded – undo
253 265
 
254 266
 		foreach ($tab_context['tabs'] as $sa => $tab)
255 267
 		{
256
-			if (!empty($tab['disabled']))
257
-				continue;
268
+			if (!empty($tab['disabled'])) {
269
+							continue;
270
+			}
258 271
 
259 272
 			if (!empty($tab['is_selected']))
260 273
 			{
@@ -262,12 +275,12 @@  discard block
 block discarded – undo
262 275
 							<li>
263 276
 								<a class="active" href="', isset($tab['url']) ? $tab['url'] : $menu_context['base_url'] . ';area=' . $menu_context['current_area'] . ';sa=' . $sa, $menu_context['extra_parameters'], isset($tab['add_params']) ? $tab['add_params'] : '', '">', $tab['label'], '</a>
264 277
 							</li>';
265
-			}
266
-			else
267
-				echo '
278
+			} else {
279
+							echo '
268 280
 							<li>
269 281
 								<a href="', isset($tab['url']) ? $tab['url'] : $menu_context['base_url'] . ';area=' . $menu_context['current_area'] . ';sa=' . $sa, $menu_context['extra_parameters'], isset($tab['add_params']) ? $tab['add_params'] : '', '">', $tab['label'], '</a>
270 282
 							</li>';
283
+			}
271 284
 		}
272 285
 
273 286
 		// the end of tabs
Please login to merge, or discard this patch.
Sources/Groups.php 1 patch
Braces   +80 added lines, -59 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 3
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	die('No direct access...');
18
+}
18 19
 
19 20
 /**
20 21
  * Entry point function, permission checks, admin bars, etc.
@@ -99,27 +100,27 @@  discard block
 block discarded – undo
99 100
 					'function' => function($rowData) use ($scripturl)
100 101
 					{
101 102
 						// Since the moderator group has no explicit members, no link is needed.
102
-						if ($rowData['id_group'] == 3)
103
-							$group_name = $rowData['group_name'];
104
-						else
103
+						if ($rowData['id_group'] == 3) {
104
+													$group_name = $rowData['group_name'];
105
+						} else
105 106
 						{
106 107
 							$color_style = empty($rowData['online_color']) ? '' : sprintf(' style="color: %1$s;"', $rowData['online_color']);
107 108
 
108 109
 							if (allowedTo('manage_membergroups'))
109 110
 							{
110 111
 								$group_name = sprintf('<a href="%1$s?action=admin;area=membergroups;sa=members;group=%2$d"%3$s>%4$s</a>', $scripturl, $rowData['id_group'], $color_style, $rowData['group_name']);
111
-							}
112
-							else
112
+							} else
113 113
 							{
114 114
 								$group_name = sprintf('<a href="%1$s?action=groups;sa=members;group=%2$d"%3$s>%4$s</a>', $scripturl, $rowData['id_group'], $color_style, $rowData['group_name']);
115 115
 							}
116 116
 						}
117 117
 
118 118
 						// Add a help option for moderator and administrator.
119
-						if ($rowData['id_group'] == 1)
120
-							$group_name .= sprintf(' (<a href="%1$s?action=helpadmin;help=membergroup_administrator" onclick="return reqOverlayDiv(this.href);">?</a>)', $scripturl);
121
-						elseif ($rowData['id_group'] == 3)
122
-							$group_name .= sprintf(' (<a href="%1$s?action=helpadmin;help=membergroup_moderator" onclick="return reqOverlayDiv(this.href);">?</a>)', $scripturl);
119
+						if ($rowData['id_group'] == 1) {
120
+													$group_name .= sprintf(' (<a href="%1$s?action=helpadmin;help=membergroup_administrator" onclick="return reqOverlayDiv(this.href);">?</a>)', $scripturl);
121
+						} elseif ($rowData['id_group'] == 3) {
122
+													$group_name .= sprintf(' (<a href="%1$s?action=helpadmin;help=membergroup_moderator" onclick="return reqOverlayDiv(this.href);">?</a>)', $scripturl);
123
+						}
123 124
 
124 125
 						return $group_name;
125 126
 					},
@@ -198,8 +199,9 @@  discard block
 block discarded – undo
198 199
 	$_REQUEST['group'] = isset($_REQUEST['group']) ? (int) $_REQUEST['group'] : 0;
199 200
 
200 201
 	// No browsing of guests, membergroup 0 or moderators.
201
-	if (in_array($_REQUEST['group'], array(-1, 0, 3)))
202
-		fatal_lang_error('membergroup_does_not_exist', false);
202
+	if (in_array($_REQUEST['group'], array(-1, 0, 3))) {
203
+			fatal_lang_error('membergroup_does_not_exist', false);
204
+	}
203 205
 
204 206
 	// Load up the group details.
205 207
 	$request = $smcFunc['db_query']('', '
@@ -214,8 +216,9 @@  discard block
 block discarded – undo
214 216
 		)
215 217
 	);
216 218
 	// Doesn't exist?
217
-	if ($smcFunc['db_num_rows']($request) == 0)
218
-		fatal_lang_error('membergroup_does_not_exist', false);
219
+	if ($smcFunc['db_num_rows']($request) == 0) {
220
+			fatal_lang_error('membergroup_does_not_exist', false);
221
+	}
219 222
 	$context['group'] = $smcFunc['db_fetch_assoc']($request);
220 223
 	$smcFunc['db_free_result']($request);
221 224
 
@@ -248,21 +251,25 @@  discard block
 block discarded – undo
248 251
 			'name' => $row['real_name']
249 252
 		);
250 253
 
251
-		if ($user_info['id'] == $row['id_member'] && $context['group']['group_type'] != 1)
252
-			$context['group']['can_moderate'] = true;
254
+		if ($user_info['id'] == $row['id_member'] && $context['group']['group_type'] != 1) {
255
+					$context['group']['can_moderate'] = true;
256
+		}
253 257
 	}
254 258
 	$smcFunc['db_free_result']($request);
255 259
 
256 260
 	// If this group is hidden then it can only "exists" if the user can moderate it!
257
-	if ($context['group']['hidden'] && !$context['group']['can_moderate'])
258
-		fatal_lang_error('membergroup_does_not_exist', false);
261
+	if ($context['group']['hidden'] && !$context['group']['can_moderate']) {
262
+			fatal_lang_error('membergroup_does_not_exist', false);
263
+	}
259 264
 
260 265
 	// You can only assign membership if you are the moderator and/or can manage groups!
261
-	if (!$context['group']['can_moderate'])
262
-		$context['group']['assignable'] = 0;
266
+	if (!$context['group']['can_moderate']) {
267
+			$context['group']['assignable'] = 0;
268
+	}
263 269
 	// Non-admins cannot assign admins.
264
-	elseif ($context['group']['id'] == 1 && !allowedTo('admin_forum'))
265
-		$context['group']['assignable'] = 0;
270
+	elseif ($context['group']['id'] == 1 && !allowedTo('admin_forum')) {
271
+			$context['group']['assignable'] = 0;
272
+	}
266 273
 
267 274
 	// Removing member from group?
268 275
 	if (isset($_POST['remove']) && !empty($_REQUEST['rem']) && is_array($_REQUEST['rem']) && $context['group']['assignable'])
@@ -271,8 +278,9 @@  discard block
 block discarded – undo
271 278
 		validateToken('mod-mgm');
272 279
 
273 280
 		// Make sure we're dealing with integers only.
274
-		foreach ($_REQUEST['rem'] as $key => $group)
275
-			$_REQUEST['rem'][$key] = (int) $group;
281
+		foreach ($_REQUEST['rem'] as $key => $group) {
282
+					$_REQUEST['rem'][$key] = (int) $group;
283
+		}
276 284
 
277 285
 		require_once($sourcedir . '/Subs-Membergroups.php');
278 286
 		removeMembersFromGroups($_REQUEST['rem'], $_REQUEST['group'], true);
@@ -295,16 +303,18 @@  discard block
 block discarded – undo
295 303
 		{
296 304
 			$member_names[$index] = trim($smcFunc['strtolower']($member_names[$index]));
297 305
 
298
-			if (strlen($member_names[$index]) == 0)
299
-				unset($member_names[$index]);
306
+			if (strlen($member_names[$index]) == 0) {
307
+							unset($member_names[$index]);
308
+			}
300 309
 		}
301 310
 
302 311
 		// Any passed by ID?
303 312
 		$member_ids = array();
304
-		if (!empty($_REQUEST['member_add']))
305
-			foreach ($_REQUEST['member_add'] as $id)
313
+		if (!empty($_REQUEST['member_add'])) {
314
+					foreach ($_REQUEST['member_add'] as $id)
306 315
 				if ($id > 0)
307 316
 					$member_ids[] = (int) $id;
317
+		}
308 318
 
309 319
 		// Construct the query pelements.
310 320
 		if (!empty($member_ids))
@@ -332,8 +342,9 @@  discard block
 block discarded – undo
332 342
 					'id_group' => $_REQUEST['group'],
333 343
 				))
334 344
 			);
335
-			while ($row = $smcFunc['db_fetch_assoc']($request))
336
-				$members[] = $row['id_member'];
345
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
346
+							$members[] = $row['id_member'];
347
+			}
337 348
 			$smcFunc['db_free_result']($request);
338 349
 		}
339 350
 
@@ -372,10 +383,11 @@  discard block
 block discarded – undo
372 383
 	$context['sort_direction'] = isset($_REQUEST['desc']) ? 'down' : 'up';
373 384
 
374 385
 	// The where on the query is interesting. Non-moderators should only see people who are in this group as primary.
375
-	if ($context['group']['can_moderate'])
376
-		$where = $context['group']['is_post_group'] ? 'id_post_group = {int:group}' : 'id_group = {int:group} OR FIND_IN_SET({int:group}, additional_groups) != 0';
377
-	else
378
-		$where = $context['group']['is_post_group'] ? 'id_post_group = {int:group}' : 'id_group = {int:group}';
386
+	if ($context['group']['can_moderate']) {
387
+			$where = $context['group']['is_post_group'] ? 'id_post_group = {int:group}' : 'id_group = {int:group} OR FIND_IN_SET({int:group}, additional_groups) != 0';
388
+	} else {
389
+			$where = $context['group']['is_post_group'] ? 'id_post_group = {int:group}' : 'id_group = {int:group}';
390
+	}
379 391
 
380 392
 	// Count members of the group.
381 393
 	$request = $smcFunc['db_query']('', '
@@ -416,8 +428,9 @@  discard block
 block discarded – undo
416 428
 		$last_online = empty($row['last_login']) ? $txt['never'] : timeformat($row['last_login']);
417 429
 
418 430
 		// Italicize the online note if they aren't activated.
419
-		if ($row['is_activated'] % 10 != 1)
420
-			$last_online = '<em title="' . $txt['not_activated'] . '">' . $last_online . '</em>';
431
+		if ($row['is_activated'] % 10 != 1) {
432
+					$last_online = '<em title="' . $txt['not_activated'] . '">' . $last_online . '</em>';
433
+		}
421 434
 
422 435
 		$context['members'][] = array(
423 436
 			'id' => $row['id_member'],
@@ -437,9 +450,10 @@  discard block
 block discarded – undo
437 450
 	$context['page_title'] = $txt['membergroups_members_title'] . ': ' . $context['group']['name'];
438 451
 	createToken('mod-mgm');
439 452
 
440
-	if ($context['group']['assignable'])
441
-		loadJavaScriptFile('suggest.js', array('defer' => false), 'smf_suggest');
442
-}
453
+	if ($context['group']['assignable']) {
454
+			loadJavaScriptFile('suggest.js', array('defer' => false), 'smf_suggest');
455
+	}
456
+	}
443 457
 
444 458
 /**
445 459
  * Show and manage all group requests.
@@ -453,16 +467,18 @@  discard block
 block discarded – undo
453 467
 	$context['sub_template'] = 'show_list';
454 468
 
455 469
 	// Verify we can be here.
456
-	if ($user_info['mod_cache']['gq'] == '0=1')
457
-		isAllowedTo('manage_membergroups');
470
+	if ($user_info['mod_cache']['gq'] == '0=1') {
471
+			isAllowedTo('manage_membergroups');
472
+	}
458 473
 
459 474
 	// Normally, we act normally...
460 475
 	$where = ($user_info['mod_cache']['gq'] == '1=1' || $user_info['mod_cache']['gq'] == '0=1' ? $user_info['mod_cache']['gq'] : 'lgr.' . $user_info['mod_cache']['gq']);
461 476
 
462
-	if (isset($_GET['closed']))
463
-		$where .= ' AND lgr.status != {int:status_open}';
464
-	else
465
-		$where .= ' AND lgr.status = {int:status_open}';
477
+	if (isset($_GET['closed'])) {
478
+			$where .= ' AND lgr.status != {int:status_open}';
479
+	} else {
480
+			$where .= ' AND lgr.status = {int:status_open}';
481
+	}
466 482
 
467 483
 	$where_parameters = array(
468 484
 		'status_open' => 0,
@@ -475,8 +491,9 @@  discard block
 block discarded – undo
475 491
 		validateToken('mod-gr');
476 492
 
477 493
 		// Clean the values.
478
-		foreach ($_POST['groupr'] as $k => $request)
479
-			$_POST['groupr'][$k] = (int) $request;
494
+		foreach ($_POST['groupr'] as $k => $request) {
495
+					$_POST['groupr'][$k] = (int) $request;
496
+		}
480 497
 
481 498
 		$log_changes = array();
482 499
 
@@ -513,8 +530,8 @@  discard block
 block discarded – undo
513 530
 			$request_list = array();
514 531
 			while ($row = $smcFunc['db_fetch_assoc']($request))
515 532
 			{
516
-				if (!isset($log_changes[$row['id_request']]))
517
-					$log_changes[$row['id_request']] = array(
533
+				if (!isset($log_changes[$row['id_request']])) {
534
+									$log_changes[$row['id_request']] = array(
518 535
 						'id_request' => $row['id_request'],
519 536
 						'status' => $_POST['req_action'] == 'approve' ? 1 : 2, // 1 = approved, 2 = rejected
520 537
 						'id_member_acted' => $user_info['id'],
@@ -522,6 +539,7 @@  discard block
 block discarded – undo
522 539
 						'time_acted' => time(),
523 540
 						'act_reason' => $_POST['req_action'] != 'approve' && !empty($_POST['groupreason']) && !empty($_POST['groupreason'][$row['id_request']]) ? $smcFunc['htmlspecialchars']($_POST['groupreason'][$row['id_request']], ENT_QUOTES) : '',
524 541
 					);
542
+				}
525 543
 				$request_list[] = $row['id_request'];
526 544
 			}
527 545
 			$smcFunc['db_free_result']($request);
@@ -744,21 +762,24 @@  discard block
 block discarded – undo
744 762
 	$group_requests = array();
745 763
 	while ($row = $smcFunc['db_fetch_assoc']($request))
746 764
 	{
747
-		if (empty($row['reason']))
748
-			$reason = '<em>(' . $txt['mc_groupr_no_reason'] . ')</em>';
749
-		else
750
-			$reason = censorText($row['reason']);
765
+		if (empty($row['reason'])) {
766
+					$reason = '<em>(' . $txt['mc_groupr_no_reason'] . ')</em>';
767
+		} else {
768
+					$reason = censorText($row['reason']);
769
+		}
751 770
 
752 771
 		if (isset($_GET['closed']))
753 772
 		{
754
-			if ($row['status'] == 1)
755
-				$reason .= '<br><br><strong>' . $txt['mc_groupr_approved'] . '</strong>';
756
-			elseif ($row['status'] == 2)
757
-				$reason .= '<br><br><strong>' . $txt['mc_groupr_rejected'] . '</strong>';
773
+			if ($row['status'] == 1) {
774
+							$reason .= '<br><br><strong>' . $txt['mc_groupr_approved'] . '</strong>';
775
+			} elseif ($row['status'] == 2) {
776
+							$reason .= '<br><br><strong>' . $txt['mc_groupr_rejected'] . '</strong>';
777
+			}
758 778
 
759 779
 				$reason .= ' (' . timeformat($row['time_acted']) . ')';
760
-			if (!empty($row['act_reason']))
761
-				$reason .= '<br><br>' . censorText($row['act_reason']);
780
+			if (!empty($row['act_reason'])) {
781
+							$reason .= '<br><br>' . censorText($row['act_reason']);
782
+			}
762 783
 		}
763 784
 
764 785
 		$group_requests[] = array(
Please login to merge, or discard this patch.
Sources/LogInOut.php 1 patch
Braces   +164 added lines, -128 removed lines patch added patch discarded remove patch
@@ -14,8 +14,9 @@  discard block
 block discarded – undo
14 14
  * @version 2.1 Beta 3
15 15
  */
16 16
 
17
-if (!defined('SMF'))
17
+if (!defined('SMF')) {
18 18
 	die('No direct access...');
19
+}
19 20
 
20 21
 /**
21 22
  * Ask them for their login information. (shows a page for the user to type
@@ -29,8 +30,9 @@  discard block
 block discarded – undo
29 30
 	global $txt, $context, $scripturl, $user_info;
30 31
 
31 32
 	// You are already logged in, go take a tour of the boards
32
-	if (!empty($user_info['id']))
33
-		redirectexit();
33
+	if (!empty($user_info['id'])) {
34
+			redirectexit();
35
+	}
34 36
 
35 37
 	// We need to load the Login template/language file.
36 38
 	loadLanguage('Login');
@@ -57,10 +59,11 @@  discard block
 block discarded – undo
57 59
 	);
58 60
 
59 61
 	// Set the login URL - will be used when the login process is done (but careful not to send us to an attachment).
60
-	if (isset($_SESSION['old_url']) && strpos($_SESSION['old_url'], 'dlattach') === false && preg_match('~(board|topic)[=,]~', $_SESSION['old_url']) != 0)
61
-		$_SESSION['login_url'] = $_SESSION['old_url'];
62
-	elseif (isset($_SESSION['login_url']) && strpos($_SESSION['login_url'], 'dlattach') !== false)
63
-		unset($_SESSION['login_url']);
62
+	if (isset($_SESSION['old_url']) && strpos($_SESSION['old_url'], 'dlattach') === false && preg_match('~(board|topic)[=,]~', $_SESSION['old_url']) != 0) {
63
+			$_SESSION['login_url'] = $_SESSION['old_url'];
64
+	} elseif (isset($_SESSION['login_url']) && strpos($_SESSION['login_url'], 'dlattach') !== false) {
65
+			unset($_SESSION['login_url']);
66
+	}
64 67
 
65 68
 	// Create a one time token.
66 69
 	createToken('login');
@@ -83,8 +86,9 @@  discard block
 block discarded – undo
83 86
 	global $cookiename, $modSettings, $context, $sourcedir, $maintenance;
84 87
 
85 88
 	// Check to ensure we're forcing SSL for authentication
86
-	if (!empty($modSettings['force_ssl']) && empty($maintenance) && (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != 'on'))
87
-		fatal_lang_error('login_ssl_required');
89
+	if (!empty($modSettings['force_ssl']) && empty($maintenance) && (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != 'on')) {
90
+			fatal_lang_error('login_ssl_required');
91
+	}
88 92
 
89 93
 	// Load cookie authentication stuff.
90 94
 	require_once($sourcedir . '/Subs-Auth.php');
@@ -102,19 +106,20 @@  discard block
 block discarded – undo
102 106
 			list (,, $timeout) = smf_json_decode($_COOKIE[$cookiename], true);
103 107
 
104 108
 			// That didn't work... Maybe it's using serialize?
105
-			if (is_null($timeout))
106
-				list (,, $timeout) = safe_unserialize($_COOKIE[$cookiename]);
107
-		}
108
-		elseif (isset($_SESSION['login_' . $cookiename]))
109
+			if (is_null($timeout)) {
110
+							list (,, $timeout) = safe_unserialize($_COOKIE[$cookiename]);
111
+			}
112
+		} elseif (isset($_SESSION['login_' . $cookiename]))
109 113
 		{
110 114
 			list (,, $timeout) = smf_json_decode($_SESSION['login_' . $cookiename]);
111 115
 
112 116
 			// Try for old format
113
-			if (is_null($timeout))
114
-				list (,, $timeout) = safe_unserialize($_SESSION['login_' . $cookiename]);
117
+			if (is_null($timeout)) {
118
+							list (,, $timeout) = safe_unserialize($_SESSION['login_' . $cookiename]);
119
+			}
120
+		} else {
121
+					trigger_error('Login2(): Cannot be logged in without a session or cookie', E_USER_ERROR);
115 122
 		}
116
-		else
117
-			trigger_error('Login2(): Cannot be logged in without a session or cookie', E_USER_ERROR);
118 123
 
119 124
 		$user_settings['password_salt'] = substr(md5(mt_rand()), 0, 4);
120 125
 		updateMemberData($user_info['id'], array('password_salt' => $user_settings['password_salt']));
@@ -125,16 +130,18 @@  discard block
 block discarded – undo
125 130
 			$tfadata = smf_json_decode($_COOKIE[$cookiename . '_tfa'], true);
126 131
 
127 132
 			// If that didn't work, try unserialize instead...
128
-			if (is_null($tfadata))
129
-				$tfadata = safe_unserialize($_COOKIE[$cookiename . '_tfa']);
133
+			if (is_null($tfadata)) {
134
+							$tfadata = safe_unserialize($_COOKIE[$cookiename . '_tfa']);
135
+			}
130 136
 
131 137
 			list ($tfamember, $tfasecret, $exp, $state, $preserve) = $tfadata;
132 138
 
133 139
 			// If we're preserving the cookie, reset it with updated salt
134
-			if ($preserve && time() < $exp)
135
-				setTFACookie(3153600, $user_info['password_salt'], hash_salt($user_settings['tfa_backup'], $user_settings['password_salt']), true);
136
-			else
137
-				setTFACookie(-3600, 0, '');
140
+			if ($preserve && time() < $exp) {
141
+							setTFACookie(3153600, $user_info['password_salt'], hash_salt($user_settings['tfa_backup'], $user_settings['password_salt']), true);
142
+			} else {
143
+							setTFACookie(-3600, 0, '');
144
+			}
138 145
 		}
139 146
 
140 147
 		setLoginCookie($timeout - time(), $user_info['id'], hash_salt($user_settings['passwd'], $user_settings['password_salt']));
@@ -145,20 +152,20 @@  discard block
 block discarded – undo
145 152
 	elseif (isset($_GET['sa']) && $_GET['sa'] == 'check')
146 153
 	{
147 154
 		// Strike!  You're outta there!
148
-		if ($_GET['member'] != $user_info['id'])
149
-			fatal_lang_error('login_cookie_error', false);
155
+		if ($_GET['member'] != $user_info['id']) {
156
+					fatal_lang_error('login_cookie_error', false);
157
+		}
150 158
 
151 159
 		$user_info['can_mod'] = allowedTo('access_mod_center') || (!$user_info['is_guest'] && ($user_info['mod_cache']['gq'] != '0=1' || $user_info['mod_cache']['bq'] != '0=1' || ($modSettings['postmod_active'] && !empty($user_info['mod_cache']['ap']))));
152 160
 
153 161
 		// Some whitelisting for login_url...
154
-		if (empty($_SESSION['login_url']))
155
-			redirectexit(empty($user_settings['tfa_secret']) ? '' : 'action=logintfa');
156
-		elseif (!empty($_SESSION['login_url']) && (strpos($_SESSION['login_url'], 'http://') === false && strpos($_SESSION['login_url'], 'https://') === false))
162
+		if (empty($_SESSION['login_url'])) {
163
+					redirectexit(empty($user_settings['tfa_secret']) ? '' : 'action=logintfa');
164
+		} elseif (!empty($_SESSION['login_url']) && (strpos($_SESSION['login_url'], 'http://') === false && strpos($_SESSION['login_url'], 'https://') === false))
157 165
 		{
158 166
 			unset ($_SESSION['login_url']);
159 167
 			redirectexit(empty($user_settings['tfa_secret']) ? '' : 'action=logintfa');
160
-		}
161
-		else
168
+		} else
162 169
 		{
163 170
 			// Best not to clutter the session data too much...
164 171
 			$temp = $_SESSION['login_url'];
@@ -169,8 +176,9 @@  discard block
 block discarded – undo
169 176
 	}
170 177
 
171 178
 	// Beyond this point you are assumed to be a guest trying to login.
172
-	if (!$user_info['is_guest'])
173
-		redirectexit();
179
+	if (!$user_info['is_guest']) {
180
+			redirectexit();
181
+	}
174 182
 
175 183
 	// Are you guessing with a script?
176 184
 	checkSession();
@@ -178,18 +186,21 @@  discard block
 block discarded – undo
178 186
 	spamProtection('login');
179 187
 
180 188
 	// Set the login_url if it's not already set (but careful not to send us to an attachment).
181
-	if ((empty($_SESSION['login_url']) && isset($_SESSION['old_url']) && strpos($_SESSION['old_url'], 'dlattach') === false && preg_match('~(board|topic)[=,]~', $_SESSION['old_url']) != 0) || (isset($_GET['quicklogin']) && isset($_SESSION['old_url']) && strpos($_SESSION['old_url'], 'login') === false))
182
-		$_SESSION['login_url'] = $_SESSION['old_url'];
189
+	if ((empty($_SESSION['login_url']) && isset($_SESSION['old_url']) && strpos($_SESSION['old_url'], 'dlattach') === false && preg_match('~(board|topic)[=,]~', $_SESSION['old_url']) != 0) || (isset($_GET['quicklogin']) && isset($_SESSION['old_url']) && strpos($_SESSION['old_url'], 'login') === false)) {
190
+			$_SESSION['login_url'] = $_SESSION['old_url'];
191
+	}
183 192
 
184 193
 	// Been guessing a lot, haven't we?
185
-	if (isset($_SESSION['failed_login']) && $_SESSION['failed_login'] >= $modSettings['failed_login_threshold'] * 3)
186
-		fatal_lang_error('login_threshold_fail', 'critical');
194
+	if (isset($_SESSION['failed_login']) && $_SESSION['failed_login'] >= $modSettings['failed_login_threshold'] * 3) {
195
+			fatal_lang_error('login_threshold_fail', 'critical');
196
+	}
187 197
 
188 198
 	// Set up the cookie length.  (if it's invalid, just fall through and use the default.)
189
-	if (isset($_POST['cookieneverexp']) || (!empty($_POST['cookielength']) && $_POST['cookielength'] == -1))
190
-		$modSettings['cookieTime'] = 3153600;
191
-	elseif (!empty($_POST['cookielength']) && ($_POST['cookielength'] >= 1 && $_POST['cookielength'] <= 525600))
192
-		$modSettings['cookieTime'] = (int) $_POST['cookielength'];
199
+	if (isset($_POST['cookieneverexp']) || (!empty($_POST['cookielength']) && $_POST['cookielength'] == -1)) {
200
+			$modSettings['cookieTime'] = 3153600;
201
+	} elseif (!empty($_POST['cookielength']) && ($_POST['cookielength'] >= 1 && $_POST['cookielength'] <= 525600)) {
202
+			$modSettings['cookieTime'] = (int) $_POST['cookielength'];
203
+	}
193 204
 
194 205
 	loadLanguage('Login');
195 206
 	// Load the template stuff.
@@ -309,8 +320,9 @@  discard block
 block discarded – undo
309 320
 			$other_passwords[] = crypt(md5($_POST['passwrd']), md5($_POST['passwrd']));
310 321
 
311 322
 			// Snitz style - SHA-256.  Technically, this is a downgrade, but most PHP configurations don't support sha256 anyway.
312
-			if (strlen($user_settings['passwd']) == 64 && function_exists('mhash') && defined('MHASH_SHA256'))
313
-				$other_passwords[] = bin2hex(mhash(MHASH_SHA256, $_POST['passwrd']));
323
+			if (strlen($user_settings['passwd']) == 64 && function_exists('mhash') && defined('MHASH_SHA256')) {
324
+							$other_passwords[] = bin2hex(mhash(MHASH_SHA256, $_POST['passwrd']));
325
+			}
314 326
 
315 327
 			// phpBB3 users new hashing.  We now support it as well ;).
316 328
 			$other_passwords[] = phpBB3_password_check($_POST['passwrd'], $user_settings['passwd']);
@@ -330,27 +342,29 @@  discard block
 block discarded – undo
330 342
 			// Some common md5 ones.
331 343
 			$other_passwords[] = md5($user_settings['password_salt'] . $_POST['passwrd']);
332 344
 			$other_passwords[] = md5($_POST['passwrd'] . $user_settings['password_salt']);
333
-		}
334
-		elseif (strlen($user_settings['passwd']) == 40)
345
+		} elseif (strlen($user_settings['passwd']) == 40)
335 346
 		{
336 347
 			// Maybe they are using a hash from before the password fix.
337 348
 			// This is also valid for SMF 1.1 to 2.0 style of hashing, changed to bcrypt in SMF 2.1
338 349
 			$other_passwords[] = sha1(strtolower($user_settings['member_name']) . un_htmlspecialchars($_POST['passwrd']));
339 350
 
340 351
 			// BurningBoard3 style of hashing.
341
-			if (!empty($modSettings['enable_password_conversion']))
342
-				$other_passwords[] = sha1($user_settings['password_salt'] . sha1($user_settings['password_salt'] . sha1($_POST['passwrd'])));
352
+			if (!empty($modSettings['enable_password_conversion'])) {
353
+							$other_passwords[] = sha1($user_settings['password_salt'] . sha1($user_settings['password_salt'] . sha1($_POST['passwrd'])));
354
+			}
343 355
 
344 356
 			// Perhaps we converted to UTF-8 and have a valid password being hashed differently.
345 357
 			if ($context['character_set'] == 'UTF-8' && !empty($modSettings['previousCharacterSet']) && $modSettings['previousCharacterSet'] != 'utf8')
346 358
 			{
347 359
 				// Try iconv first, for no particular reason.
348
-				if (function_exists('iconv'))
349
-					$other_passwords['iconv'] = sha1(strtolower(iconv('UTF-8', $modSettings['previousCharacterSet'], $user_settings['member_name'])) . un_htmlspecialchars(iconv('UTF-8', $modSettings['previousCharacterSet'], $_POST['passwrd'])));
360
+				if (function_exists('iconv')) {
361
+									$other_passwords['iconv'] = sha1(strtolower(iconv('UTF-8', $modSettings['previousCharacterSet'], $user_settings['member_name'])) . un_htmlspecialchars(iconv('UTF-8', $modSettings['previousCharacterSet'], $_POST['passwrd'])));
362
+				}
350 363
 
351 364
 				// Say it aint so, iconv failed!
352
-				if (empty($other_passwords['iconv']) && function_exists('mb_convert_encoding'))
353
-					$other_passwords[] = sha1(strtolower(mb_convert_encoding($user_settings['member_name'], 'UTF-8', $modSettings['previousCharacterSet'])) . un_htmlspecialchars(mb_convert_encoding($_POST['passwrd'], 'UTF-8', $modSettings['previousCharacterSet'])));
365
+				if (empty($other_passwords['iconv']) && function_exists('mb_convert_encoding')) {
366
+									$other_passwords[] = sha1(strtolower(mb_convert_encoding($user_settings['member_name'], 'UTF-8', $modSettings['previousCharacterSet'])) . un_htmlspecialchars(mb_convert_encoding($_POST['passwrd'], 'UTF-8', $modSettings['previousCharacterSet'])));
367
+				}
354 368
 			}
355 369
 		}
356 370
 
@@ -380,8 +394,9 @@  discard block
 block discarded – undo
380 394
 			$_SESSION['failed_login'] = isset($_SESSION['failed_login']) ? ($_SESSION['failed_login'] + 1) : 1;
381 395
 
382 396
 			// Hmm... don't remember it, do you?  Here, try the password reminder ;).
383
-			if ($_SESSION['failed_login'] >= $modSettings['failed_login_threshold'])
384
-				redirectexit('action=reminder');
397
+			if ($_SESSION['failed_login'] >= $modSettings['failed_login_threshold']) {
398
+							redirectexit('action=reminder');
399
+			}
385 400
 			// We'll give you another chance...
386 401
 			else
387 402
 			{
@@ -392,8 +407,7 @@  discard block
 block discarded – undo
392 407
 				return;
393 408
 			}
394 409
 		}
395
-	}
396
-	elseif (!empty($user_settings['passwd_flood']))
410
+	} elseif (!empty($user_settings['passwd_flood']))
397 411
 	{
398 412
 		// Let's be sure they weren't a little hacker.
399 413
 		validatePasswordFlood($user_settings['id_member'], $user_settings['passwd_flood'], true);
@@ -410,8 +424,9 @@  discard block
 block discarded – undo
410 424
 	}
411 425
 
412 426
 	// Check their activation status.
413
-	if (!checkActivation())
414
-		return;
427
+	if (!checkActivation()) {
428
+			return;
429
+	}
415 430
 
416 431
 	DoLogin();
417 432
 }
@@ -423,8 +438,9 @@  discard block
 block discarded – undo
423 438
 {
424 439
 	global $sourcedir, $txt, $context, $user_info, $modSettings, $scripturl;
425 440
 
426
-	if (!$user_info['is_guest'] || empty($context['tfa_member']) || empty($modSettings['tfa_mode']))
427
-		fatal_lang_error('no_access', false);
441
+	if (!$user_info['is_guest'] || empty($context['tfa_member']) || empty($modSettings['tfa_mode'])) {
442
+			fatal_lang_error('no_access', false);
443
+	}
428 444
 
429 445
 	loadLanguage('Profile');
430 446
 	require_once($sourcedir . '/Class-TOTP.php');
@@ -432,8 +448,9 @@  discard block
 block discarded – undo
432 448
 	$member = $context['tfa_member'];
433 449
 
434 450
 	// Prevent replay attacks by limiting at least 2 minutes before they can log in again via 2FA
435
-	if (time() - $member['last_login'] < 120)
436
-		fatal_lang_error('tfa_wait', false);
451
+	if (time() - $member['last_login'] < 120) {
452
+			fatal_lang_error('tfa_wait', false);
453
+	}
437 454
 
438 455
 	$totp = new \TOTP\Auth($member['tfa_secret']);
439 456
 	$totp->setRange(1);
@@ -447,8 +464,9 @@  discard block
 block discarded – undo
447 464
 	if (!empty($_POST['tfa_code']) && empty($_POST['tfa_backup']))
448 465
 	{
449 466
 		// Check to ensure we're forcing SSL for authentication
450
-		if (!empty($modSettings['force_ssl']) && empty($maintenance) && (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != 'on'))
451
-			fatal_lang_error('login_ssl_required');
467
+		if (!empty($modSettings['force_ssl']) && empty($maintenance) && (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != 'on')) {
468
+					fatal_lang_error('login_ssl_required');
469
+		}
452 470
 
453 471
 		$code = $_POST['tfa_code'];
454 472
 
@@ -458,20 +476,19 @@  discard block
 block discarded – undo
458 476
 
459 477
 			setTFACookie(3153600, $member['id_member'], hash_salt($member['tfa_backup'], $member['password_salt']), !empty($_POST['tfa_preserve']));
460 478
 			redirectexit();
461
-		}
462
-		else
479
+		} else
463 480
 		{
464 481
 			validatePasswordFlood($member['id_member'], $member['passwd_flood'], false, true);
465 482
 
466 483
 			$context['tfa_error'] = true;
467 484
 			$context['tfa_value'] = $_POST['tfa_code'];
468 485
 		}
469
-	}
470
-	elseif (!empty($_POST['tfa_backup']))
486
+	} elseif (!empty($_POST['tfa_backup']))
471 487
 	{
472 488
 		// Check to ensure we're forcing SSL for authentication
473
-		if (!empty($modSettings['force_ssl']) && empty($maintenance) && (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != 'on'))
474
-			fatal_lang_error('login_ssl_required');
489
+		if (!empty($modSettings['force_ssl']) && empty($maintenance) && (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != 'on')) {
490
+					fatal_lang_error('login_ssl_required');
491
+		}
475 492
 
476 493
 		$backup = $_POST['tfa_backup'];
477 494
 
@@ -485,8 +502,7 @@  discard block
 block discarded – undo
485 502
 			));
486 503
 			setTFACookie(3153600, $member['id_member'], hash_salt($member['tfa_backup'], $member['password_salt']));
487 504
 			redirectexit('action=profile;area=tfasetup;backup');
488
-		}
489
-		else
505
+		} else
490 506
 		{
491 507
 			validatePasswordFlood($member['id_member'], $member['passwd_flood'], false, true);
492 508
 
@@ -509,8 +525,9 @@  discard block
 block discarded – undo
509 525
 {
510 526
 	global $context, $txt, $scripturl, $user_settings, $modSettings;
511 527
 
512
-	if (!isset($context['login_errors']))
513
-		$context['login_errors'] = array();
528
+	if (!isset($context['login_errors'])) {
529
+			$context['login_errors'] = array();
530
+	}
514 531
 
515 532
 	// What is the true activation status of this account?
516 533
 	$activation_status = $user_settings['is_activated'] > 10 ? $user_settings['is_activated'] - 10 : $user_settings['is_activated'];
@@ -522,8 +539,9 @@  discard block
 block discarded – undo
522 539
 		return false;
523 540
 	}
524 541
 	// Awaiting approval still?
525
-	elseif ($activation_status == 3)
526
-		fatal_lang_error('still_awaiting_approval', 'user');
542
+	elseif ($activation_status == 3) {
543
+			fatal_lang_error('still_awaiting_approval', 'user');
544
+	}
527 545
 	// Awaiting deletion, changed their mind?
528 546
 	elseif ($activation_status == 4)
529 547
 	{
@@ -531,8 +549,7 @@  discard block
 block discarded – undo
531 549
 		{
532 550
 			updateMemberData($user_settings['id_member'], array('is_activated' => 1));
533 551
 			updateSettings(array('unapprovedMembers' => ($modSettings['unapprovedMembers'] > 0 ? $modSettings['unapprovedMembers'] - 1 : 0)));
534
-		}
535
-		else
552
+		} else
536 553
 		{
537 554
 			$context['disable_login_hashing'] = true;
538 555
 			$context['login_errors'][] = $txt['awaiting_delete_account'];
@@ -573,8 +590,9 @@  discard block
 block discarded – undo
573 590
 	setLoginCookie(60 * $modSettings['cookieTime'], $user_settings['id_member'], hash_salt($user_settings['passwd'], $user_settings['password_salt']));
574 591
 
575 592
 	// Reset the login threshold.
576
-	if (isset($_SESSION['failed_login']))
577
-		unset($_SESSION['failed_login']);
593
+	if (isset($_SESSION['failed_login'])) {
594
+			unset($_SESSION['failed_login']);
595
+	}
578 596
 
579 597
 	$user_info['is_guest'] = false;
580 598
 	$user_settings['additional_groups'] = explode(',', $user_settings['additional_groups']);
@@ -596,16 +614,18 @@  discard block
 block discarded – undo
596 614
 			'id_member' => $user_info['id'],
597 615
 		)
598 616
 	);
599
-	if ($smcFunc['db_num_rows']($request) == 1)
600
-		$_SESSION['first_login'] = true;
601
-	else
602
-		unset($_SESSION['first_login']);
617
+	if ($smcFunc['db_num_rows']($request) == 1) {
618
+			$_SESSION['first_login'] = true;
619
+	} else {
620
+			unset($_SESSION['first_login']);
621
+	}
603 622
 	$smcFunc['db_free_result']($request);
604 623
 
605 624
 	// You've logged in, haven't you?
606 625
 	$update = array('member_ip' => $user_info['ip'], 'member_ip2' => $_SERVER['BAN_CHECK_IP']);
607
-	if (empty($user_settings['tfa_secret']))
608
-		$update['last_login'] = time();
626
+	if (empty($user_settings['tfa_secret'])) {
627
+			$update['last_login'] = time();
628
+	}
609 629
 	updateMemberData($user_info['id'], $update);
610 630
 
611 631
 	// Get rid of the online entry for that old guest....
@@ -619,8 +639,8 @@  discard block
 block discarded – undo
619 639
 	$_SESSION['log_time'] = 0;
620 640
 
621 641
 	// Log this entry, only if we have it enabled.
622
-	if (!empty($modSettings['loginHistoryDays']))
623
-		$smcFunc['db_insert']('insert',
642
+	if (!empty($modSettings['loginHistoryDays'])) {
643
+			$smcFunc['db_insert']('insert',
624 644
 			'{db_prefix}member_logins',
625 645
 			array(
626 646
 				'id_member' => 'int', 'time' => 'int', 'ip' => 'inet', 'ip2' => 'inet',
@@ -632,13 +652,15 @@  discard block
 block discarded – undo
632 652
 				'id_member', 'time'
633 653
 			)
634 654
 		);
655
+	}
635 656
 
636 657
 	// Just log you back out if it's in maintenance mode and you AREN'T an admin.
637
-	if (empty($maintenance) || allowedTo('admin_forum'))
638
-		redirectexit('action=login2;sa=check;member=' . $user_info['id'], $context['server']['needs_login_fix']);
639
-	else
640
-		redirectexit('action=logout;' . $context['session_var'] . '=' . $context['session_id'], $context['server']['needs_login_fix']);
641
-}
658
+	if (empty($maintenance) || allowedTo('admin_forum')) {
659
+			redirectexit('action=login2;sa=check;member=' . $user_info['id'], $context['server']['needs_login_fix']);
660
+	} else {
661
+			redirectexit('action=logout;' . $context['session_var'] . '=' . $context['session_id'], $context['server']['needs_login_fix']);
662
+	}
663
+	}
642 664
 
643 665
 /**
644 666
  * Logs the current user out of their account.
@@ -654,13 +676,15 @@  discard block
 block discarded – undo
654 676
 	global $sourcedir, $user_info, $user_settings, $context, $smcFunc, $cookiename, $modSettings;
655 677
 
656 678
 	// Make sure they aren't being auto-logged out.
657
-	if (!$internal)
658
-		checkSession('get');
679
+	if (!$internal) {
680
+			checkSession('get');
681
+	}
659 682
 
660 683
 	require_once($sourcedir . '/Subs-Auth.php');
661 684
 
662
-	if (isset($_SESSION['pack_ftp']))
663
-		$_SESSION['pack_ftp'] = null;
685
+	if (isset($_SESSION['pack_ftp'])) {
686
+			$_SESSION['pack_ftp'] = null;
687
+	}
664 688
 
665 689
 	// It won't be first login anymore.
666 690
 	unset($_SESSION['first_login']);
@@ -688,24 +712,27 @@  discard block
 block discarded – undo
688 712
 
689 713
 	// And some other housekeeping while we're at it.
690 714
 	$salt = substr(md5(mt_rand()), 0, 4);
691
-	if (!empty($user_info['id']))
692
-		updateMemberData($user_info['id'], array('password_salt' => $salt));
715
+	if (!empty($user_info['id'])) {
716
+			updateMemberData($user_info['id'], array('password_salt' => $salt));
717
+	}
693 718
 
694 719
 	if (!empty($modSettings['tfa_mode']) && !empty($user_info['id']) && !empty($_COOKIE[$cookiename . '_tfa']))
695 720
 	{
696 721
 		$tfadata = smf_json_decode($_COOKIE[$cookiename . '_tfa'], true);
697 722
 
698 723
 		// If that failed, try the old method
699
-		if (is_null($tfadata))
700
-			$tfadata = safe_unserialize($_COOKIE[$cookiename . '_tfa']);
724
+		if (is_null($tfadata)) {
725
+					$tfadata = safe_unserialize($_COOKIE[$cookiename . '_tfa']);
726
+		}
701 727
 
702 728
 		list ($tfamember, $tfasecret, $exp, $state, $preserve) = $tfadata;
703 729
 
704 730
 		// If we're preserving the cookie, reset it with updated salt
705
-		if ($preserve && time() < $exp)
706
-			setTFACookie(3153600, $user_info['id'], hash_salt($user_settings['tfa_backup'], $salt), true);
707
-		else
708
-			setTFACookie(-3600, 0, '');
731
+		if ($preserve && time() < $exp) {
732
+					setTFACookie(3153600, $user_info['id'], hash_salt($user_settings['tfa_backup'], $salt), true);
733
+		} else {
734
+					setTFACookie(-3600, 0, '');
735
+		}
709 736
 	}
710 737
 
711 738
 	session_destroy();
@@ -713,14 +740,13 @@  discard block
 block discarded – undo
713 740
 	// Off to the merry board index we go!
714 741
 	if ($redirect)
715 742
 	{
716
-		if (empty($_SESSION['logout_url']))
717
-			redirectexit('', $context['server']['needs_login_fix']);
718
-		elseif (!empty($_SESSION['logout_url']) && (strpos($_SESSION['logout_url'], 'http://') === false && strpos($_SESSION['logout_url'], 'https://') === false))
743
+		if (empty($_SESSION['logout_url'])) {
744
+					redirectexit('', $context['server']['needs_login_fix']);
745
+		} elseif (!empty($_SESSION['logout_url']) && (strpos($_SESSION['logout_url'], 'http://') === false && strpos($_SESSION['logout_url'], 'https://') === false))
719 746
 		{
720 747
 			unset ($_SESSION['logout_url']);
721 748
 			redirectexit();
722
-		}
723
-		else
749
+		} else
724 750
 		{
725 751
 			$temp = $_SESSION['logout_url'];
726 752
 			unset($_SESSION['logout_url']);
@@ -753,8 +779,9 @@  discard block
 block discarded – undo
753 779
 function phpBB3_password_check($passwd, $passwd_hash)
754 780
 {
755 781
 	// Too long or too short?
756
-	if (strlen($passwd_hash) != 34)
757
-		return;
782
+	if (strlen($passwd_hash) != 34) {
783
+			return;
784
+	}
758 785
 
759 786
 	// Range of characters allowed.
760 787
 	$range = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
@@ -766,8 +793,9 @@  discard block
 block discarded – undo
766 793
 	$salt = substr($passwd_hash, 4, 8);
767 794
 
768 795
 	$hash = md5($salt . $passwd, true);
769
-	for (; $count != 0; --$count)
770
-		$hash = md5($hash . $passwd, true);
796
+	for (; $count != 0; --$count) {
797
+			$hash = md5($hash . $passwd, true);
798
+	}
771 799
 
772 800
 	$output = substr($passwd_hash, 0, 12);
773 801
 	$i = 0;
@@ -776,21 +804,25 @@  discard block
 block discarded – undo
776 804
 		$value = ord($hash[$i++]);
777 805
 		$output .= $range[$value & 0x3f];
778 806
 
779
-		if ($i < 16)
780
-			$value |= ord($hash[$i]) << 8;
807
+		if ($i < 16) {
808
+					$value |= ord($hash[$i]) << 8;
809
+		}
781 810
 
782 811
 		$output .= $range[($value >> 6) & 0x3f];
783 812
 
784
-		if ($i++ >= 16)
785
-			break;
813
+		if ($i++ >= 16) {
814
+					break;
815
+		}
786 816
 
787
-		if ($i < 16)
788
-			$value |= ord($hash[$i]) << 16;
817
+		if ($i < 16) {
818
+					$value |= ord($hash[$i]) << 16;
819
+		}
789 820
 
790 821
 		$output .= $range[($value >> 12) & 0x3f];
791 822
 
792
-		if ($i++ >= 16)
793
-			break;
823
+		if ($i++ >= 16) {
824
+					break;
825
+		}
794 826
 
795 827
 		$output .= $range[($value >> 18) & 0x3f];
796 828
 	}
@@ -821,8 +853,9 @@  discard block
 block discarded – undo
821 853
 		require_once($sourcedir . '/Subs-Auth.php');
822 854
 		setLoginCookie(-3600, 0);
823 855
 
824
-		if (isset($_SESSION['login_' . $cookiename]))
825
-			unset($_SESSION['login_' . $cookiename]);
856
+		if (isset($_SESSION['login_' . $cookiename])) {
857
+					unset($_SESSION['login_' . $cookiename]);
858
+		}
826 859
 	}
827 860
 
828 861
 	// We need a member!
@@ -836,8 +869,9 @@  discard block
 block discarded – undo
836 869
 	}
837 870
 
838 871
 	// Right, have we got a flood value?
839
-	if ($password_flood_value !== false)
840
-		@list ($time_stamp, $number_tries) = explode('|', $password_flood_value);
872
+	if ($password_flood_value !== false) {
873
+			@list ($time_stamp, $number_tries) = explode('|', $password_flood_value);
874
+	}
841 875
 
842 876
 	// Timestamp or number of tries invalid?
843 877
 	if (empty($number_tries) || empty($time_stamp))
@@ -853,15 +887,17 @@  discard block
 block discarded – undo
853 887
 		$number_tries = $time_stamp < time() - 20 ? 2 : $number_tries;
854 888
 
855 889
 		// They are trying too fast, make them wait longer
856
-		if ($time_stamp < time() - 10)
857
-			$time_stamp = time();
890
+		if ($time_stamp < time() - 10) {
891
+					$time_stamp = time();
892
+		}
858 893
 	}
859 894
 
860 895
 	$number_tries++;
861 896
 
862 897
 	// Broken the law?
863
-	if ($number_tries > 5)
864
-		fatal_lang_error('login_threshold_brute_fail', 'critical');
898
+	if ($number_tries > 5) {
899
+			fatal_lang_error('login_threshold_brute_fail', 'critical');
900
+	}
865 901
 
866 902
 	// Otherwise set the members data. If they correct on their first attempt then we actually clear it, otherwise we set it!
867 903
 	updateMemberData($id_member, array('passwd_flood' => $was_correct && $number_tries == 1 ? '' : $time_stamp . '|' . $number_tries));
Please login to merge, or discard this patch.