Completed
Push — release-2.1 ( 286127...e6c696 )
by Mathias
11s
created
Sources/Display.php 1 patch
Braces   +333 added lines, -249 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
  * The central part of the board - topic display.
@@ -34,8 +35,9 @@  discard block
 block discarded – undo
34 35
 	global $attachments, $messages_request, $language, $smcFunc;
35 36
 
36 37
 	// What are you gonna display if these are empty?!
37
-	if (empty($topic))
38
-		fatal_lang_error('no_board', false);
38
+	if (empty($topic)) {
39
+			fatal_lang_error('no_board', false);
40
+	}
39 41
 
40 42
 	// Load the proper template.
41 43
 	loadTemplate('Display');
@@ -52,15 +54,17 @@  discard block
 block discarded – undo
52 54
 	$context['messages_per_page'] = empty($modSettings['disableCustomPerPage']) && !empty($options['messages_per_page']) ? $options['messages_per_page'] : $modSettings['defaultMaxMessages'];
53 55
 
54 56
 	// Let's do some work on what to search index.
55
-	if (count($_GET) > 2)
56
-		foreach ($_GET as $k => $v)
57
+	if (count($_GET) > 2) {
58
+			foreach ($_GET as $k => $v)
57 59
 		{
58 60
 			if (!in_array($k, array('topic', 'board', 'start', session_name())))
59 61
 				$context['robot_no_index'] = true;
62
+	}
60 63
 		}
61 64
 
62
-	if (!empty($_REQUEST['start']) && (!is_numeric($_REQUEST['start']) || $_REQUEST['start'] % $context['messages_per_page'] != 0))
63
-		$context['robot_no_index'] = true;
65
+	if (!empty($_REQUEST['start']) && (!is_numeric($_REQUEST['start']) || $_REQUEST['start'] % $context['messages_per_page'] != 0)) {
66
+			$context['robot_no_index'] = true;
67
+	}
64 68
 
65 69
 	// Find the previous or next topic.  Make a fuss if there are no more.
66 70
 	if (isset($_REQUEST['prev_next']) && ($_REQUEST['prev_next'] == 'prev' || $_REQUEST['prev_next'] == 'next'))
@@ -172,8 +176,9 @@  discard block
 block discarded – undo
172 176
 			$topic_parameters
173 177
 	);
174 178
 
175
-	if ($smcFunc['db_num_rows']($request) == 0)
176
-		fatal_lang_error('not_a_topic', false, 404);
179
+	if ($smcFunc['db_num_rows']($request) == 0) {
180
+			fatal_lang_error('not_a_topic', false, 404);
181
+	}
177 182
 	$context['topicinfo'] = $smcFunc['db_fetch_assoc']($request);
178 183
 	$smcFunc['db_free_result']($request);
179 184
 
@@ -210,8 +215,9 @@  discard block
 block discarded – undo
210 215
 	$context['topic_unwatched'] = isset($context['topicinfo']['unwatched']) ? $context['topicinfo']['unwatched'] : 0;
211 216
 
212 217
 	// Add up unapproved replies to get real number of replies...
213
-	if ($modSettings['postmod_active'] && $approve_posts)
214
-		$context['real_num_replies'] += $context['topicinfo']['unapproved_posts'] - ($context['topicinfo']['approved'] ? 0 : 1);
218
+	if ($modSettings['postmod_active'] && $approve_posts) {
219
+			$context['real_num_replies'] += $context['topicinfo']['unapproved_posts'] - ($context['topicinfo']['approved'] ? 0 : 1);
220
+	}
215 221
 
216 222
 	// If this topic has unapproved posts, we need to work out how many posts the user can see, for page indexing.
217 223
 	if ($modSettings['postmod_active'] && $context['topicinfo']['unapproved_posts'] && !$user_info['is_guest'] && !$approve_posts)
@@ -231,11 +237,11 @@  discard block
 block discarded – undo
231 237
 		$smcFunc['db_free_result']($request);
232 238
 
233 239
 		$context['total_visible_posts'] = $context['num_replies'] + $myUnapprovedPosts + ($context['topicinfo']['approved'] ? 1 : 0);
240
+	} elseif ($user_info['is_guest']) {
241
+			$context['total_visible_posts'] = $context['num_replies'] + ($context['topicinfo']['approved'] ? 1 : 0);
242
+	} else {
243
+			$context['total_visible_posts'] = $context['num_replies'] + $context['topicinfo']['unapproved_posts'] + ($context['topicinfo']['approved'] ? 1 : 0);
234 244
 	}
235
-	elseif ($user_info['is_guest'])
236
-		$context['total_visible_posts'] = $context['num_replies'] + ($context['topicinfo']['approved'] ? 1 : 0);
237
-	else
238
-		$context['total_visible_posts'] = $context['num_replies'] + $context['topicinfo']['unapproved_posts'] + ($context['topicinfo']['approved'] ? 1 : 0);
239 245
 
240 246
 	// The start isn't a number; it's information about what to do, where to go.
241 247
 	if (!is_numeric($_REQUEST['start']))
@@ -248,8 +254,7 @@  discard block
 block discarded – undo
248 254
 			{
249 255
 				$context['start_from'] = $context['total_visible_posts'] - 1;
250 256
 				$_REQUEST['start'] = empty($options['view_newest_first']) ? $context['start_from'] : 0;
251
-			}
252
-			else
257
+			} else
253 258
 			{
254 259
 				// Find the earliest unread message in the topic. (the use of topics here is just for both tables.)
255 260
 				$request = $smcFunc['db_query']('', '
@@ -277,9 +282,9 @@  discard block
 block discarded – undo
277 282
 		if (substr($_REQUEST['start'], 0, 4) == 'from')
278 283
 		{
279 284
 			$timestamp = (int) substr($_REQUEST['start'], 4);
280
-			if ($timestamp === 0)
281
-				$_REQUEST['start'] = 0;
282
-			else
285
+			if ($timestamp === 0) {
286
+							$_REQUEST['start'] = 0;
287
+			} else
283 288
 			{
284 289
 				// Find the number of messages posted before said time...
285 290
 				$request = $smcFunc['db_query']('', '
@@ -307,11 +312,11 @@  discard block
 block discarded – undo
307 312
 		elseif (substr($_REQUEST['start'], 0, 3) == 'msg')
308 313
 		{
309 314
 			$virtual_msg = (int) substr($_REQUEST['start'], 3);
310
-			if (!$context['topicinfo']['unapproved_posts'] && $virtual_msg >= $context['topicinfo']['id_last_msg'])
311
-				$context['start_from'] = $context['total_visible_posts'] - 1;
312
-			elseif (!$context['topicinfo']['unapproved_posts'] && $virtual_msg <= $context['topicinfo']['id_first_msg'])
313
-				$context['start_from'] = 0;
314
-			else
315
+			if (!$context['topicinfo']['unapproved_posts'] && $virtual_msg >= $context['topicinfo']['id_last_msg']) {
316
+							$context['start_from'] = $context['total_visible_posts'] - 1;
317
+			} elseif (!$context['topicinfo']['unapproved_posts'] && $virtual_msg <= $context['topicinfo']['id_first_msg']) {
318
+							$context['start_from'] = 0;
319
+			} else
315 320
 			{
316 321
 				// Find the start value for that message......
317 322
 				$request = $smcFunc['db_query']('', '
@@ -394,21 +399,25 @@  discard block
 block discarded – undo
394 399
 		);
395 400
 		while ($row = $smcFunc['db_fetch_assoc']($request))
396 401
 		{
397
-			if (empty($row['id_member']))
398
-				continue;
402
+			if (empty($row['id_member'])) {
403
+							continue;
404
+			}
399 405
 
400
-			if (!empty($row['online_color']))
401
-				$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '" style="color: ' . $row['online_color'] . ';">' . $row['real_name'] . '</a>';
402
-			else
403
-				$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>';
406
+			if (!empty($row['online_color'])) {
407
+							$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '" style="color: ' . $row['online_color'] . ';">' . $row['real_name'] . '</a>';
408
+			} else {
409
+							$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>';
410
+			}
404 411
 
405 412
 			$is_buddy = in_array($row['id_member'], $user_info['buddies']);
406
-			if ($is_buddy)
407
-				$link = '<strong>' . $link . '</strong>';
413
+			if ($is_buddy) {
414
+							$link = '<strong>' . $link . '</strong>';
415
+			}
408 416
 
409 417
 			// Add them both to the list and to the more detailed list.
410
-			if (!empty($row['show_online']) || allowedTo('moderate_forum'))
411
-				$context['view_members_list'][$row['log_time'] . $row['member_name']] = empty($row['show_online']) ? '<em>' . $link . '</em>' : $link;
418
+			if (!empty($row['show_online']) || allowedTo('moderate_forum')) {
419
+							$context['view_members_list'][$row['log_time'] . $row['member_name']] = empty($row['show_online']) ? '<em>' . $link . '</em>' : $link;
420
+			}
412 421
 			$context['view_members'][$row['log_time'] . $row['member_name']] = array(
413 422
 				'id' => $row['id_member'],
414 423
 				'username' => $row['member_name'],
@@ -420,8 +429,9 @@  discard block
 block discarded – undo
420 429
 				'hidden' => empty($row['show_online']),
421 430
 			);
422 431
 
423
-			if (empty($row['show_online']))
424
-				$context['view_num_hidden']++;
432
+			if (empty($row['show_online'])) {
433
+							$context['view_num_hidden']++;
434
+			}
425 435
 		}
426 436
 
427 437
 		// The number of guests is equal to the rows minus the ones we actually used ;).
@@ -435,11 +445,13 @@  discard block
 block discarded – undo
435 445
 
436 446
 	// If all is set, but not allowed... just unset it.
437 447
 	$can_show_all = !empty($modSettings['enableAllMessages']) && $context['total_visible_posts'] > $context['messages_per_page'] && $context['total_visible_posts'] < $modSettings['enableAllMessages'];
438
-	if (isset($_REQUEST['all']) && !$can_show_all)
439
-		unset($_REQUEST['all']);
448
+	if (isset($_REQUEST['all']) && !$can_show_all) {
449
+			unset($_REQUEST['all']);
450
+	}
440 451
 	// Otherwise, it must be allowed... so pretend start was -1.
441
-	elseif (isset($_REQUEST['all']))
442
-		$_REQUEST['start'] = -1;
452
+	elseif (isset($_REQUEST['all'])) {
453
+			$_REQUEST['start'] = -1;
454
+	}
443 455
 
444 456
 	// Construct the page index, allowing for the .START method...
445 457
 	$context['page_index'] = constructPageIndex($scripturl . '?topic=' . $topic . '.%1$d', $_REQUEST['start'], $context['total_visible_posts'], $context['messages_per_page'], true);
@@ -476,8 +488,9 @@  discard block
 block discarded – undo
476 488
 			$_REQUEST['start'] = 0;
477 489
 		}
478 490
 		// They aren't using it, but the *option* is there, at least.
479
-		else
480
-			$context['page_index'] .= '&nbsp;<a href="' . $scripturl . '?topic=' . $topic . '.0;all">' . $txt['all'] . '</a> ';
491
+		else {
492
+					$context['page_index'] .= '&nbsp;<a href="' . $scripturl . '?topic=' . $topic . '.0;all">' . $txt['all'] . '</a> ';
493
+		}
481 494
 	}
482 495
 
483 496
 	// Build the link tree.
@@ -493,14 +506,16 @@  discard block
 block discarded – undo
493 506
 	if (!empty($board_info['moderators']))
494 507
 	{
495 508
 		// Add a link for each moderator...
496
-		foreach ($board_info['moderators'] as $mod)
497
-			$context['link_moderators'][] = '<a href="' . $scripturl . '?action=profile;u=' . $mod['id'] . '" title="' . $txt['board_moderator'] . '">' . $mod['name'] . '</a>';
509
+		foreach ($board_info['moderators'] as $mod) {
510
+					$context['link_moderators'][] = '<a href="' . $scripturl . '?action=profile;u=' . $mod['id'] . '" title="' . $txt['board_moderator'] . '">' . $mod['name'] . '</a>';
511
+		}
498 512
 	}
499 513
 	if (!empty($board_info['moderator_groups']))
500 514
 	{
501 515
 		// Add a link for each moderator group as well...
502
-		foreach ($board_info['moderator_groups'] as $mod_group)
503
-			$context['link_moderators'][] = '<a href="' . $scripturl . '?action=groups;sa=viewmemberes;group=' . $mod_group['id'] . '" title="' . $txt['board_moderator'] . '">' . $mod_group['name'] . '</a>';
516
+		foreach ($board_info['moderator_groups'] as $mod_group) {
517
+					$context['link_moderators'][] = '<a href="' . $scripturl . '?action=groups;sa=viewmemberes;group=' . $mod_group['id'] . '" title="' . $txt['board_moderator'] . '">' . $mod_group['name'] . '</a>';
518
+		}
504 519
 	}
505 520
 
506 521
 	if (!empty($context['link_moderators']))
@@ -531,9 +546,9 @@  discard block
 block discarded – undo
531 546
 	// For quick reply we need a response prefix in the default forum language.
532 547
 	if (!isset($context['response_prefix']) && !($context['response_prefix'] = cache_get_data('response_prefix', 600)))
533 548
 	{
534
-		if ($language === $user_info['language'])
535
-			$context['response_prefix'] = $txt['response_prefix'];
536
-		else
549
+		if ($language === $user_info['language']) {
550
+					$context['response_prefix'] = $txt['response_prefix'];
551
+		} else
537 552
 		{
538 553
 			loadLanguage('index', $language, false);
539 554
 			$context['response_prefix'] = $txt['response_prefix'];
@@ -565,8 +580,9 @@  discard block
 block discarded – undo
565 580
 			list($start, $end, $allday, $span, $tz_abbrev) = buildEventDatetimes($row);
566 581
 
567 582
 			// Sanity check
568
-			if (!empty($start['error_count']) || !empty($start['warning_count']) || !empty($end['error_count']) || !empty($end['warning_count']))
569
-				continue;
583
+			if (!empty($start['error_count']) || !empty($start['warning_count']) || !empty($end['error_count']) || !empty($end['warning_count'])) {
584
+							continue;
585
+			}
570 586
 
571 587
 			$linked_calendar_event = array(
572 588
 				'id' => $row['id_event'],
@@ -615,8 +631,9 @@  discard block
 block discarded – undo
615 631
 		}
616 632
 		$smcFunc['db_free_result']($request);
617 633
 
618
-		if (!empty($context['linked_calendar_events']))
619
-			$context['linked_calendar_events'][count($context['linked_calendar_events']) - 1]['is_last'] = true;
634
+		if (!empty($context['linked_calendar_events'])) {
635
+					$context['linked_calendar_events'][count($context['linked_calendar_events']) - 1]['is_last'] = true;
636
+		}
620 637
 	}
621 638
 
622 639
 	// Create the poll info if it exists.
@@ -689,20 +706,21 @@  discard block
 block discarded – undo
689 706
 				foreach ($guestinfo as $i => $guestvoted)
690 707
 				{
691 708
 					$guestvoted = explode(',', $guestvoted);
692
-					if ($guestvoted[0] == $context['topicinfo']['id_poll'])
693
-						break;
709
+					if ($guestvoted[0] == $context['topicinfo']['id_poll']) {
710
+											break;
711
+					}
694 712
 				}
695 713
 				// Has the poll been reset since guest voted?
696 714
 				if ($pollinfo['reset_poll'] > $guestvoted[1])
697 715
 				{
698 716
 					// Remove the poll info from the cookie to allow guest to vote again
699 717
 					unset($guestinfo[$i]);
700
-					if (!empty($guestinfo))
701
-						$_COOKIE['guest_poll_vote'] = ';' . implode(';', $guestinfo);
702
-					else
703
-						unset($_COOKIE['guest_poll_vote']);
704
-				}
705
-				else
718
+					if (!empty($guestinfo)) {
719
+											$_COOKIE['guest_poll_vote'] = ';' . implode(';', $guestinfo);
720
+					} else {
721
+											unset($_COOKIE['guest_poll_vote']);
722
+					}
723
+				} else
706 724
 				{
707 725
 					// What did they vote for?
708 726
 					unset($guestvoted[0], $guestvoted[1]);
@@ -816,23 +834,29 @@  discard block
 block discarded – undo
816 834
 		// Build the poll moderation button array.
817 835
 		$context['poll_buttons'] = array();
818 836
 
819
-		if ($context['allow_return_vote'])
820
-			$context['poll_buttons']['vote'] = array('text' => 'poll_return_vote', 'image' => 'poll_options.png', 'url' => $scripturl . '?topic=' . $context['current_topic'] . '.' . $context['start']);
837
+		if ($context['allow_return_vote']) {
838
+					$context['poll_buttons']['vote'] = array('text' => 'poll_return_vote', 'image' => 'poll_options.png', 'url' => $scripturl . '?topic=' . $context['current_topic'] . '.' . $context['start']);
839
+		}
821 840
 
822
-		if ($context['show_view_results_button'])
823
-			$context['poll_buttons']['results'] = array('text' => 'poll_results', 'image' => 'poll_results.png', 'url' => $scripturl . '?topic=' . $context['current_topic'] . '.' . $context['start'] . ';viewresults');
841
+		if ($context['show_view_results_button']) {
842
+					$context['poll_buttons']['results'] = array('text' => 'poll_results', 'image' => 'poll_results.png', 'url' => $scripturl . '?topic=' . $context['current_topic'] . '.' . $context['start'] . ';viewresults');
843
+		}
824 844
 
825
-		if ($context['allow_change_vote'])
826
-			$context['poll_buttons']['change_vote'] = array('text' => 'poll_change_vote', 'image' => 'poll_change_vote.png', 'url' => $scripturl . '?action=vote;topic=' . $context['current_topic'] . '.' . $context['start'] . ';poll=' . $context['poll']['id'] . ';' . $context['session_var'] . '=' . $context['session_id']);
845
+		if ($context['allow_change_vote']) {
846
+					$context['poll_buttons']['change_vote'] = array('text' => 'poll_change_vote', 'image' => 'poll_change_vote.png', 'url' => $scripturl . '?action=vote;topic=' . $context['current_topic'] . '.' . $context['start'] . ';poll=' . $context['poll']['id'] . ';' . $context['session_var'] . '=' . $context['session_id']);
847
+		}
827 848
 
828
-		if ($context['allow_lock_poll'])
829
-			$context['poll_buttons']['lock'] = array('text' => (!$context['poll']['is_locked'] ? 'poll_lock' : 'poll_unlock'), 'image' => 'poll_lock.png', 'url' => $scripturl . '?action=lockvoting;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
849
+		if ($context['allow_lock_poll']) {
850
+					$context['poll_buttons']['lock'] = array('text' => (!$context['poll']['is_locked'] ? 'poll_lock' : 'poll_unlock'), 'image' => 'poll_lock.png', 'url' => $scripturl . '?action=lockvoting;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
851
+		}
830 852
 
831
-		if ($context['allow_edit_poll'])
832
-			$context['poll_buttons']['edit'] = array('text' => 'poll_edit', 'image' => 'poll_edit.png', 'url' => $scripturl . '?action=editpoll;topic=' . $context['current_topic'] . '.' . $context['start']);
853
+		if ($context['allow_edit_poll']) {
854
+					$context['poll_buttons']['edit'] = array('text' => 'poll_edit', 'image' => 'poll_edit.png', 'url' => $scripturl . '?action=editpoll;topic=' . $context['current_topic'] . '.' . $context['start']);
855
+		}
833 856
 
834
-		if ($context['can_remove_poll'])
835
-			$context['poll_buttons']['remove_poll'] = array('text' => 'poll_remove', 'image' => 'admin_remove_poll.png', 'custom' => 'data-confirm="' . $txt['poll_remove_warn'] . '"', 'class' => 'you_sure', 'url' => $scripturl . '?action=removepoll;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
857
+		if ($context['can_remove_poll']) {
858
+					$context['poll_buttons']['remove_poll'] = array('text' => 'poll_remove', 'image' => 'admin_remove_poll.png', 'custom' => 'data-confirm="' . $txt['poll_remove_warn'] . '"', 'class' => 'you_sure', 'url' => $scripturl . '?action=removepoll;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
859
+		}
836 860
 
837 861
 		// Allow mods to add additional buttons here
838 862
 		call_integration_hook('integrate_poll_buttons');
@@ -873,8 +897,9 @@  discard block
 block discarded – undo
873 897
 	$all_posters = array();
874 898
 	while ($row = $smcFunc['db_fetch_assoc']($request))
875 899
 	{
876
-		if (!empty($row['id_member']))
877
-			$all_posters[$row['id_msg']] = $row['id_member'];
900
+		if (!empty($row['id_member'])) {
901
+					$all_posters[$row['id_msg']] = $row['id_member'];
902
+		}
878 903
 		$messages[] = $row['id_msg'];
879 904
 	}
880 905
 	$smcFunc['db_free_result']($request);
@@ -886,8 +911,9 @@  discard block
 block discarded – undo
886 911
 	if (!$user_info['is_guest'] && !empty($messages))
887 912
 	{
888 913
 		$mark_at_msg = max($messages);
889
-		if ($mark_at_msg >= $context['topicinfo']['id_last_msg'])
890
-			$mark_at_msg = $modSettings['maxMsgID'];
914
+		if ($mark_at_msg >= $context['topicinfo']['id_last_msg']) {
915
+					$mark_at_msg = $modSettings['maxMsgID'];
916
+		}
891 917
 		if ($mark_at_msg >= $context['topicinfo']['new_from'])
892 918
 		{
893 919
 			$smcFunc['db_insert']($context['topicinfo']['new_from'] == 0 ? 'ignore' : 'replace',
@@ -919,8 +945,9 @@  discard block
 block discarded – undo
919 945
 		while ($row = $smcFunc['db_fetch_assoc']($request))
920 946
 		{
921 947
 			// Find if this topic is marked for notification...
922
-			if (!empty($row['id_topic']))
923
-				$context['is_marked_notify'] = true;
948
+			if (!empty($row['id_topic'])) {
949
+							$context['is_marked_notify'] = true;
950
+			}
924 951
 
925 952
 			// Only do this once, but mark the notifications as "not sent yet" for next time.
926 953
 			if (!empty($row['sent']) && $do_once)
@@ -942,8 +969,9 @@  discard block
 block discarded – undo
942 969
 		}
943 970
 
944 971
 		// Have we recently cached the number of new topics in this board, and it's still a lot?
945
-		if (isset($_REQUEST['topicseen']) && isset($_SESSION['topicseen_cache'][$board]) && $_SESSION['topicseen_cache'][$board] > 5)
946
-			$_SESSION['topicseen_cache'][$board]--;
972
+		if (isset($_REQUEST['topicseen']) && isset($_SESSION['topicseen_cache'][$board]) && $_SESSION['topicseen_cache'][$board] > 5) {
973
+					$_SESSION['topicseen_cache'][$board]--;
974
+		}
947 975
 		// Mark board as seen if this is the only new topic.
948 976
 		elseif (isset($_REQUEST['topicseen']))
949 977
 		{
@@ -967,14 +995,16 @@  discard block
 block discarded – undo
967 995
 			$smcFunc['db_free_result']($request);
968 996
 
969 997
 			// If there're no real new topics in this board, mark the board as seen.
970
-			if (empty($numNewTopics))
971
-				$_REQUEST['boardseen'] = true;
972
-			else
973
-				$_SESSION['topicseen_cache'][$board] = $numNewTopics;
998
+			if (empty($numNewTopics)) {
999
+							$_REQUEST['boardseen'] = true;
1000
+			} else {
1001
+							$_SESSION['topicseen_cache'][$board] = $numNewTopics;
1002
+			}
974 1003
 		}
975 1004
 		// Probably one less topic - maybe not, but even if we decrease this too fast it will only make us look more often.
976
-		elseif (isset($_SESSION['topicseen_cache'][$board]))
977
-			$_SESSION['topicseen_cache'][$board]--;
1005
+		elseif (isset($_SESSION['topicseen_cache'][$board])) {
1006
+					$_SESSION['topicseen_cache'][$board]--;
1007
+		}
978 1008
 
979 1009
 		// Mark board as seen if we came using last post link from BoardIndex. (or other places...)
980 1010
 		if (isset($_REQUEST['boardseen']))
@@ -1031,23 +1061,26 @@  discard block
 block discarded – undo
1031 1061
 			$temp = array();
1032 1062
 			while ($row = $smcFunc['db_fetch_assoc']($request))
1033 1063
 			{
1034
-				if (!$row['approved'] && $modSettings['postmod_active'] && !allowedTo('approve_posts') && (!isset($all_posters[$row['id_msg']]) || $all_posters[$row['id_msg']] != $user_info['id']))
1035
-					continue;
1064
+				if (!$row['approved'] && $modSettings['postmod_active'] && !allowedTo('approve_posts') && (!isset($all_posters[$row['id_msg']]) || $all_posters[$row['id_msg']] != $user_info['id'])) {
1065
+									continue;
1066
+				}
1036 1067
 
1037 1068
 				$temp[$row['id_attach']] = $row;
1038 1069
 				$temp[$row['id_attach']]['topic'] = $topic;
1039 1070
 				$temp[$row['id_attach']]['board'] = $board;
1040 1071
 
1041
-				if (!isset($context['loaded_attachments'][$row['id_msg']]))
1042
-					$context['loaded_attachments'][$row['id_msg']] = array();
1072
+				if (!isset($context['loaded_attachments'][$row['id_msg']])) {
1073
+									$context['loaded_attachments'][$row['id_msg']] = array();
1074
+				}
1043 1075
 			}
1044 1076
 			$smcFunc['db_free_result']($request);
1045 1077
 
1046 1078
 			// This is better than sorting it with the query...
1047 1079
 			ksort($temp);
1048 1080
 
1049
-			foreach ($temp as $row)
1050
-				$context['loaded_attachments'][$row['id_msg']][] = $row;
1081
+			foreach ($temp as $row) {
1082
+							$context['loaded_attachments'][$row['id_msg']][] = $row;
1083
+			}
1051 1084
 		}
1052 1085
 
1053 1086
 		$msg_parameters = array(
@@ -1074,21 +1107,23 @@  discard block
 block discarded – undo
1074 1107
 		);
1075 1108
 
1076 1109
 		// And the likes
1077
-		if (!empty($modSettings['enable_likes']))
1078
-			$context['my_likes'] = $context['user']['is_guest'] ? array() : prepareLikesContext($topic);
1110
+		if (!empty($modSettings['enable_likes'])) {
1111
+					$context['my_likes'] = $context['user']['is_guest'] ? array() : prepareLikesContext($topic);
1112
+		}
1079 1113
 
1080 1114
 		// Go to the last message if the given time is beyond the time of the last message.
1081
-		if (isset($context['start_from']) && $context['start_from'] >= $context['topicinfo']['num_replies'])
1082
-			$context['start_from'] = $context['topicinfo']['num_replies'];
1115
+		if (isset($context['start_from']) && $context['start_from'] >= $context['topicinfo']['num_replies']) {
1116
+					$context['start_from'] = $context['topicinfo']['num_replies'];
1117
+		}
1083 1118
 
1084 1119
 		// Since the anchor information is needed on the top of the page we load these variables beforehand.
1085 1120
 		$context['first_message'] = isset($messages[$firstIndex]) ? $messages[$firstIndex] : $messages[0];
1086
-		if (empty($options['view_newest_first']))
1087
-			$context['first_new_message'] = isset($context['start_from']) && $_REQUEST['start'] == $context['start_from'];
1088
-		else
1089
-			$context['first_new_message'] = isset($context['start_from']) && $_REQUEST['start'] == $context['topicinfo']['num_replies'] - $context['start_from'];
1090
-	}
1091
-	else
1121
+		if (empty($options['view_newest_first'])) {
1122
+					$context['first_new_message'] = isset($context['start_from']) && $_REQUEST['start'] == $context['start_from'];
1123
+		} else {
1124
+					$context['first_new_message'] = isset($context['start_from']) && $_REQUEST['start'] == $context['topicinfo']['num_replies'] - $context['start_from'];
1125
+		}
1126
+	} else
1092 1127
 	{
1093 1128
 		$messages_request = false;
1094 1129
 		$context['first_message'] = 0;
@@ -1124,8 +1159,9 @@  discard block
 block discarded – undo
1124 1159
 		'can_see_likes' => 'likes_view',
1125 1160
 		'can_like' => 'likes_like',
1126 1161
 	);
1127
-	foreach ($common_permissions as $contextual => $perm)
1128
-		$context[$contextual] = allowedTo($perm);
1162
+	foreach ($common_permissions as $contextual => $perm) {
1163
+			$context[$contextual] = allowedTo($perm);
1164
+	}
1129 1165
 
1130 1166
 	// Permissions with _any/_own versions.  $context[YYY] => ZZZ_any/_own.
1131 1167
 	$anyown_permissions = array(
@@ -1138,8 +1174,9 @@  discard block
 block discarded – undo
1138 1174
 		'can_reply_unapproved' => 'post_unapproved_replies',
1139 1175
 		'can_view_warning' => 'profile_warning',
1140 1176
 	);
1141
-	foreach ($anyown_permissions as $contextual => $perm)
1142
-		$context[$contextual] = allowedTo($perm . '_any') || ($context['user']['started'] && allowedTo($perm . '_own'));
1177
+	foreach ($anyown_permissions as $contextual => $perm) {
1178
+			$context[$contextual] = allowedTo($perm . '_any') || ($context['user']['started'] && allowedTo($perm . '_own'));
1179
+	}
1143 1180
 
1144 1181
 	if (!$user_info['is_admin'] && !$modSettings['topic_move_any'])
1145 1182
 	{
@@ -1185,8 +1222,9 @@  discard block
 block discarded – undo
1185 1222
 	// Check if the draft functions are enabled and that they have permission to use them (for quick reply.)
1186 1223
 	$context['drafts_save'] = !empty($modSettings['drafts_post_enabled']) && allowedTo('post_draft') && $context['can_reply'];
1187 1224
 	$context['drafts_autosave'] = !empty($context['drafts_save']) && !empty($modSettings['drafts_autosave_enabled']);
1188
-	if (!empty($context['drafts_save']))
1189
-		loadLanguage('Drafts');
1225
+	if (!empty($context['drafts_save'])) {
1226
+			loadLanguage('Drafts');
1227
+	}
1190 1228
 
1191 1229
 	// When was the last time this topic was replied to?  Should we warn them about it?
1192 1230
 	if (!empty($modSettings['oldTopicDays']) && ($context['can_reply'] || $context['can_reply_unapproved']) && empty($context['topicinfo']['is_sticky']))
@@ -1247,26 +1285,31 @@  discard block
 block discarded – undo
1247 1285
 	// Message icons - customized icons are off?
1248 1286
 	$context['icons'] = getMessageIcons($board);
1249 1287
 
1250
-	if (!empty($context['icons']))
1251
-		$context['icons'][count($context['icons']) - 1]['is_last'] = true;
1288
+	if (!empty($context['icons'])) {
1289
+			$context['icons'][count($context['icons']) - 1]['is_last'] = true;
1290
+	}
1252 1291
 
1253 1292
 	// Build the normal button array.
1254 1293
 	$context['normal_buttons'] = array();
1255 1294
 
1256
-	if ($context['can_reply'])
1257
-		$context['normal_buttons']['reply'] = array('text' => 'reply', 'image' => 'reply.png', 'url' => $scripturl . '?action=post;topic=' . $context['current_topic'] . '.' . $context['start'] . ';last_msg=' . $context['topic_last_message'], 'active' => true);
1295
+	if ($context['can_reply']) {
1296
+			$context['normal_buttons']['reply'] = array('text' => 'reply', 'image' => 'reply.png', 'url' => $scripturl . '?action=post;topic=' . $context['current_topic'] . '.' . $context['start'] . ';last_msg=' . $context['topic_last_message'], 'active' => true);
1297
+	}
1258 1298
 
1259
-	if ($context['can_add_poll'])
1260
-		$context['normal_buttons']['add_poll'] = array('text' => 'add_poll', 'image' => 'add_poll.png', 'url' => $scripturl . '?action=editpoll;add;topic=' . $context['current_topic'] . '.' . $context['start']);
1299
+	if ($context['can_add_poll']) {
1300
+			$context['normal_buttons']['add_poll'] = array('text' => 'add_poll', 'image' => 'add_poll.png', 'url' => $scripturl . '?action=editpoll;add;topic=' . $context['current_topic'] . '.' . $context['start']);
1301
+	}
1261 1302
 
1262
-	if ($context['can_mark_unread'])
1263
-		$context['normal_buttons']['mark_unread'] = array('text' => 'mark_unread', 'image' => 'markunread.png', 'url' => $scripturl . '?action=markasread;sa=topic;t=' . $context['mark_unread_time'] . ';topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1303
+	if ($context['can_mark_unread']) {
1304
+			$context['normal_buttons']['mark_unread'] = array('text' => 'mark_unread', 'image' => 'markunread.png', 'url' => $scripturl . '?action=markasread;sa=topic;t=' . $context['mark_unread_time'] . ';topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1305
+	}
1264 1306
 
1265
-	if ($context['can_print'])
1266
-		$context['normal_buttons']['print'] = array('text' => 'print', 'image' => 'print.png', 'custom' => 'rel="nofollow"', 'url' => $scripturl . '?action=printpage;topic=' . $context['current_topic'] . '.0');
1307
+	if ($context['can_print']) {
1308
+			$context['normal_buttons']['print'] = array('text' => 'print', 'image' => 'print.png', 'custom' => 'rel="nofollow"', 'url' => $scripturl . '?action=printpage;topic=' . $context['current_topic'] . '.0');
1309
+	}
1267 1310
 
1268
-	if ($context['can_set_notify'])
1269
-		$context['normal_buttons']['notify'] = array(
1311
+	if ($context['can_set_notify']) {
1312
+			$context['normal_buttons']['notify'] = array(
1270 1313
 			'text' => 'notify_topic_' . $context['topic_notification_mode'],
1271 1314
 			'sub_buttons' => array(
1272 1315
 				array(
@@ -1288,38 +1331,47 @@  discard block
 block discarded – undo
1288 1331
 				),
1289 1332
 			),
1290 1333
 		);
1334
+	}
1291 1335
 
1292 1336
 	// Build the mod button array
1293 1337
 	$context['mod_buttons'] = array();
1294 1338
 
1295
-	if ($context['can_move'])
1296
-		$context['mod_buttons']['move'] = array('text' => 'move_topic', 'image' => 'admin_move.png', 'url' => $scripturl . '?action=movetopic;current_board=' . $context['current_board'] . ';topic=' . $context['current_topic'] . '.0');
1339
+	if ($context['can_move']) {
1340
+			$context['mod_buttons']['move'] = array('text' => 'move_topic', 'image' => 'admin_move.png', 'url' => $scripturl . '?action=movetopic;current_board=' . $context['current_board'] . ';topic=' . $context['current_topic'] . '.0');
1341
+	}
1297 1342
 
1298
-	if ($context['can_delete'])
1299
-		$context['mod_buttons']['delete'] = array('text' => 'remove_topic', 'image' => 'admin_rem.png', 'custom' => 'data-confirm="' . $txt['are_sure_remove_topic'] . '"', 'class' => 'you_sure', 'url' => $scripturl . '?action=removetopic2;topic=' . $context['current_topic'] . '.0;' . $context['session_var'] . '=' . $context['session_id']);
1343
+	if ($context['can_delete']) {
1344
+			$context['mod_buttons']['delete'] = array('text' => 'remove_topic', 'image' => 'admin_rem.png', 'custom' => 'data-confirm="' . $txt['are_sure_remove_topic'] . '"', 'class' => 'you_sure', 'url' => $scripturl . '?action=removetopic2;topic=' . $context['current_topic'] . '.0;' . $context['session_var'] . '=' . $context['session_id']);
1345
+	}
1300 1346
 
1301
-	if ($context['can_lock'])
1302
-		$context['mod_buttons']['lock'] = array('text' => empty($context['is_locked']) ? 'set_lock' : 'set_unlock', 'image' => 'admin_lock.png', 'url' => $scripturl . '?action=lock;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1347
+	if ($context['can_lock']) {
1348
+			$context['mod_buttons']['lock'] = array('text' => empty($context['is_locked']) ? 'set_lock' : 'set_unlock', 'image' => 'admin_lock.png', 'url' => $scripturl . '?action=lock;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1349
+	}
1303 1350
 
1304
-	if ($context['can_sticky'])
1305
-		$context['mod_buttons']['sticky'] = array('text' => empty($context['is_sticky']) ? 'set_sticky' : 'set_nonsticky', 'image' => 'admin_sticky.png', 'url' => $scripturl . '?action=sticky;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1351
+	if ($context['can_sticky']) {
1352
+			$context['mod_buttons']['sticky'] = array('text' => empty($context['is_sticky']) ? 'set_sticky' : 'set_nonsticky', 'image' => 'admin_sticky.png', 'url' => $scripturl . '?action=sticky;topic=' . $context['current_topic'] . '.' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1353
+	}
1306 1354
 
1307
-	if ($context['can_merge'])
1308
-		$context['mod_buttons']['merge'] = array('text' => 'merge', 'image' => 'merge.png', 'url' => $scripturl . '?action=mergetopics;board=' . $context['current_board'] . '.0;from=' . $context['current_topic']);
1355
+	if ($context['can_merge']) {
1356
+			$context['mod_buttons']['merge'] = array('text' => 'merge', 'image' => 'merge.png', 'url' => $scripturl . '?action=mergetopics;board=' . $context['current_board'] . '.0;from=' . $context['current_topic']);
1357
+	}
1309 1358
 
1310
-	if ($context['calendar_post'])
1311
-		$context['mod_buttons']['calendar'] = array('text' => 'calendar_link', 'image' => 'linktocal.png', 'url' => $scripturl . '?action=post;calendar;msg=' . $context['topic_first_message'] . ';topic=' . $context['current_topic'] . '.0');
1359
+	if ($context['calendar_post']) {
1360
+			$context['mod_buttons']['calendar'] = array('text' => 'calendar_link', 'image' => 'linktocal.png', 'url' => $scripturl . '?action=post;calendar;msg=' . $context['topic_first_message'] . ';topic=' . $context['current_topic'] . '.0');
1361
+	}
1312 1362
 
1313 1363
 	// Restore topic. eh?  No monkey business.
1314
-	if ($context['can_restore_topic'])
1315
-		$context['mod_buttons']['restore_topic'] = array('text' => 'restore_topic', 'image' => '', 'url' => $scripturl . '?action=restoretopic;topics=' . $context['current_topic'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1364
+	if ($context['can_restore_topic']) {
1365
+			$context['mod_buttons']['restore_topic'] = array('text' => 'restore_topic', 'image' => '', 'url' => $scripturl . '?action=restoretopic;topics=' . $context['current_topic'] . ';' . $context['session_var'] . '=' . $context['session_id']);
1366
+	}
1316 1367
 
1317 1368
 	// Show a message in case a recently posted message became unapproved.
1318 1369
 	$context['becomesUnapproved'] = !empty($_SESSION['becomesUnapproved']) ? true : false;
1319 1370
 
1320 1371
 	// Don't want to show this forever...
1321
-	if ($context['becomesUnapproved'])
1322
-		unset($_SESSION['becomesUnapproved']);
1372
+	if ($context['becomesUnapproved']) {
1373
+			unset($_SESSION['becomesUnapproved']);
1374
+	}
1323 1375
 
1324 1376
 	// Allow adding new mod buttons easily.
1325 1377
 	// Note: $context['normal_buttons'] and $context['mod_buttons'] are added for backward compatibility with 2.0, but are deprecated and should not be used
@@ -1328,12 +1380,14 @@  discard block
 block discarded – undo
1328 1380
 	call_integration_hook('integrate_mod_buttons', array(&$context['mod_buttons']));
1329 1381
 
1330 1382
 	// Load the drafts js file
1331
-	if ($context['drafts_autosave'])
1332
-		loadJavaScriptFile('drafts.js', array('defer' => false), 'smf_drafts');
1383
+	if ($context['drafts_autosave']) {
1384
+			loadJavaScriptFile('drafts.js', array('defer' => false), 'smf_drafts');
1385
+	}
1333 1386
 
1334 1387
 	// Spellcheck
1335
-	if ($context['show_spellchecking'])
1336
-		loadJavaScriptFile('spellcheck.js', array('defer' => false), 'smf_spellcheck');
1388
+	if ($context['show_spellchecking']) {
1389
+			loadJavaScriptFile('spellcheck.js', array('defer' => false), 'smf_spellcheck');
1390
+	}
1337 1391
 
1338 1392
 	// topic.js
1339 1393
 	loadJavaScriptFile('topic.js', array('defer' => false), 'smf_topic');
@@ -1367,16 +1421,19 @@  discard block
 block discarded – undo
1367 1421
 	static $counter = null;
1368 1422
 
1369 1423
 	// If the query returned false, bail.
1370
-	if ($messages_request == false)
1371
-		return false;
1424
+	if ($messages_request == false) {
1425
+			return false;
1426
+	}
1372 1427
 
1373 1428
 	// Remember which message this is.  (ie. reply #83)
1374
-	if ($counter === null || $reset)
1375
-		$counter = empty($options['view_newest_first']) ? $context['start'] : $context['total_visible_posts'] - $context['start'];
1429
+	if ($counter === null || $reset) {
1430
+			$counter = empty($options['view_newest_first']) ? $context['start'] : $context['total_visible_posts'] - $context['start'];
1431
+	}
1376 1432
 
1377 1433
 	// Start from the beginning...
1378
-	if ($reset)
1379
-		return @$smcFunc['db_data_seek']($messages_request, 0);
1434
+	if ($reset) {
1435
+			return @$smcFunc['db_data_seek']($messages_request, 0);
1436
+	}
1380 1437
 
1381 1438
 	// Attempt to get the next message.
1382 1439
 	$message = $smcFunc['db_fetch_assoc']($messages_request);
@@ -1390,19 +1447,21 @@  discard block
 block discarded – undo
1390 1447
 	if (empty($context['icon_sources']))
1391 1448
 	{
1392 1449
 		$context['icon_sources'] = array();
1393
-		foreach ($context['stable_icons'] as $icon)
1394
-			$context['icon_sources'][$icon] = 'images_url';
1450
+		foreach ($context['stable_icons'] as $icon) {
1451
+					$context['icon_sources'][$icon] = 'images_url';
1452
+		}
1395 1453
 	}
1396 1454
 
1397 1455
 	// Message Icon Management... check the images exist.
1398 1456
 	if (empty($modSettings['messageIconChecks_disable']))
1399 1457
 	{
1400 1458
 		// If the current icon isn't known, then we need to do something...
1401
-		if (!isset($context['icon_sources'][$message['icon']]))
1402
-			$context['icon_sources'][$message['icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $message['icon'] . '.png') ? 'images_url' : 'default_images_url';
1459
+		if (!isset($context['icon_sources'][$message['icon']])) {
1460
+					$context['icon_sources'][$message['icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $message['icon'] . '.png') ? 'images_url' : 'default_images_url';
1461
+		}
1462
+	} elseif (!isset($context['icon_sources'][$message['icon']])) {
1463
+			$context['icon_sources'][$message['icon']] = 'images_url';
1403 1464
 	}
1404
-	elseif (!isset($context['icon_sources'][$message['icon']]))
1405
-		$context['icon_sources'][$message['icon']] = 'images_url';
1406 1465
 
1407 1466
 	// If you're a lazy bum, you probably didn't give a subject...
1408 1467
 	$message['subject'] = $message['subject'] != '' ? $message['subject'] : $txt['no_subject'];
@@ -1427,8 +1486,7 @@  discard block
 block discarded – undo
1427 1486
 		$memberContext[$message['id_member']]['email'] = $message['poster_email'];
1428 1487
 		$memberContext[$message['id_member']]['show_email'] = allowedTo('moderate_forum');
1429 1488
 		$memberContext[$message['id_member']]['is_guest'] = true;
1430
-	}
1431
-	else
1489
+	} else
1432 1490
 	{
1433 1491
 		// Define this here to make things a bit more readable
1434 1492
 		$can_view_warning = $context['user']['can_mod'] || allowedTo('view_warning_any') || ($message['id_member'] == $user_info['id'] && allowedTo('view_warning_own'));
@@ -1451,8 +1509,9 @@  discard block
 block discarded – undo
1451 1509
 	$message['body'] = parse_bbc($message['body'], $message['smileys_enabled'], $message['id_msg']);
1452 1510
 
1453 1511
 	// If it's in the recycle bin we need to override whatever icon we did have.
1454
-	if (!empty($board_info['recycle']))
1455
-		$message['icon'] = 'recycled';
1512
+	if (!empty($board_info['recycle'])) {
1513
+			$message['icon'] = 'recycled';
1514
+	}
1456 1515
 
1457 1516
 	require_once($sourcedir . '/Subs-Attachments.php');
1458 1517
 
@@ -1496,32 +1555,36 @@  discard block
 block discarded – undo
1496 1555
 	}
1497 1556
 
1498 1557
 	// Are likes enable?
1499
-	if (!empty($modSettings['enable_likes']))
1500
-		$output['likes'] = array(
1558
+	if (!empty($modSettings['enable_likes'])) {
1559
+			$output['likes'] = array(
1501 1560
 			'count' => $message['likes'],
1502 1561
 			'you' => in_array($message['id_msg'], $context['my_likes']),
1503 1562
 			'can_like' => !$context['user']['is_guest'] && $message['id_member'] != $context['user']['id'] && !empty($context['can_like']),
1504 1563
 		);
1564
+	}
1505 1565
 
1506 1566
 	// Is this user the message author?
1507 1567
 	$output['is_message_author'] = $message['id_member'] == $user_info['id'];
1508
-	if (!empty($output['modified']['name']))
1509
-		$output['modified']['last_edit_text'] = sprintf($txt['last_edit_by'], $output['modified']['time'], $output['modified']['name']);
1568
+	if (!empty($output['modified']['name'])) {
1569
+			$output['modified']['last_edit_text'] = sprintf($txt['last_edit_by'], $output['modified']['time'], $output['modified']['name']);
1570
+	}
1510 1571
 
1511 1572
 	// Did they give a reason for editing?
1512
-	if (!empty($output['modified']['name']) && !empty($output['modified']['reason']))
1513
-		$output['modified']['last_edit_text'] .= '&nbsp;' . sprintf($txt['last_edit_reason'], $output['modified']['reason']);
1573
+	if (!empty($output['modified']['name']) && !empty($output['modified']['reason'])) {
1574
+			$output['modified']['last_edit_text'] .= '&nbsp;' . sprintf($txt['last_edit_reason'], $output['modified']['reason']);
1575
+	}
1514 1576
 
1515 1577
 	// Any custom profile fields?
1516
-	if (!empty($memberContext[$message['id_member']]['custom_fields']))
1517
-		foreach ($memberContext[$message['id_member']]['custom_fields'] as $custom)
1578
+	if (!empty($memberContext[$message['id_member']]['custom_fields'])) {
1579
+			foreach ($memberContext[$message['id_member']]['custom_fields'] as $custom)
1518 1580
 			$output['custom_fields'][$context['cust_profile_fields_placement'][$custom['placement']]][] = $custom;
1581
+	}
1519 1582
 
1520
-	if (empty($options['view_newest_first']))
1521
-		$counter++;
1522
-
1523
-	else
1524
-		$counter--;
1583
+	if (empty($options['view_newest_first'])) {
1584
+			$counter++;
1585
+	} else {
1586
+			$counter--;
1587
+	}
1525 1588
 
1526 1589
 	call_integration_hook('integrate_prepare_display_context', array(&$output, &$message, $counter));
1527 1590
 
@@ -1547,21 +1610,23 @@  discard block
 block discarded – undo
1547 1610
 	$context['no_last_modified'] = true;
1548 1611
 
1549 1612
 	// Prevent a preview image from being displayed twice.
1550
-	if (isset($_GET['action']) && $_GET['action'] == 'dlattach' && isset($_GET['type']) && ($_GET['type'] == 'avatar' || $_GET['type'] == 'preview'))
1551
-		return;
1613
+	if (isset($_GET['action']) && $_GET['action'] == 'dlattach' && isset($_GET['type']) && ($_GET['type'] == 'avatar' || $_GET['type'] == 'preview')) {
1614
+			return;
1615
+	}
1552 1616
 
1553 1617
 	// Make sure some attachment was requested!
1554
-	if (!isset($_REQUEST['attach']) && !isset($_REQUEST['id']))
1555
-		fatal_lang_error('no_access', false);
1618
+	if (!isset($_REQUEST['attach']) && !isset($_REQUEST['id'])) {
1619
+			fatal_lang_error('no_access', false);
1620
+	}
1556 1621
 
1557 1622
 	$_REQUEST['attach'] = isset($_REQUEST['attach']) ? (int) $_REQUEST['attach'] : (int) $_REQUEST['id'];
1558 1623
 
1559 1624
 	// Do we have a hook wanting to use our attachment system? We use $attachRequest to prevent accidental usage of $request.
1560 1625
 	$attachRequest = null;
1561 1626
 	call_integration_hook('integrate_download_request', array(&$attachRequest));
1562
-	if (!is_null($attachRequest) && $smcFunc['db_is_resource']($attachRequest))
1563
-		$request = $attachRequest;
1564
-	else
1627
+	if (!is_null($attachRequest) && $smcFunc['db_is_resource']($attachRequest)) {
1628
+			$request = $attachRequest;
1629
+	} else
1565 1630
 	{
1566 1631
 		// This checks only the current board for $board/$topic's permissions.
1567 1632
 		isAllowedTo('view_attachments');
@@ -1582,19 +1647,21 @@  discard block
 block discarded – undo
1582 1647
 		);
1583 1648
 	}
1584 1649
 
1585
-	if ($smcFunc['db_num_rows']($request) == 0)
1586
-		fatal_lang_error('no_access', false);
1650
+	if ($smcFunc['db_num_rows']($request) == 0) {
1651
+			fatal_lang_error('no_access', false);
1652
+	}
1587 1653
 
1588 1654
 	list ($id_folder, $real_filename, $file_hash, $file_ext, $id_attach, $attachment_type, $mime_type, $is_approved, $id_member) = $smcFunc['db_fetch_row']($request);
1589 1655
 	$smcFunc['db_free_result']($request);
1590 1656
 
1591 1657
 	// If it isn't yet approved, do they have permission to view it?
1592
-	if (!$is_approved && ($id_member == 0 || $user_info['id'] != $id_member) && ($attachment_type == 0 || $attachment_type == 3))
1593
-		isAllowedTo('approve_posts');
1658
+	if (!$is_approved && ($id_member == 0 || $user_info['id'] != $id_member) && ($attachment_type == 0 || $attachment_type == 3)) {
1659
+			isAllowedTo('approve_posts');
1660
+	}
1594 1661
 
1595 1662
 	// Update the download counter (unless it's a thumbnail).
1596
-	if ($attachment_type != 3)
1597
-		$smcFunc['db_query']('attach_download_increase', '
1663
+	if ($attachment_type != 3) {
1664
+			$smcFunc['db_query']('attach_download_increase', '
1598 1665
 			UPDATE LOW_PRIORITY {db_prefix}attachments
1599 1666
 			SET downloads = downloads + 1
1600 1667
 			WHERE id_attach = {int:id_attach}',
@@ -1602,15 +1669,15 @@  discard block
 block discarded – undo
1602 1669
 				'id_attach' => $id_attach,
1603 1670
 			)
1604 1671
 		);
1672
+	}
1605 1673
 
1606 1674
 	$filename = getAttachmentFilename($real_filename, $_REQUEST['attach'], $id_folder, false, $file_hash);
1607 1675
 
1608 1676
 	// This is done to clear any output that was made before now.
1609 1677
 	ob_end_clean();
1610
-	if (!empty($modSettings['enableCompressedOutput']) && @filesize($filename) <= 4194304 && in_array($file_ext, array('txt', 'html', 'htm', 'js', 'doc', 'docx', 'rtf', 'css', 'php', 'log', 'xml', 'sql', 'c', 'java')))
1611
-		@ob_start('ob_gzhandler');
1612
-
1613
-	else
1678
+	if (!empty($modSettings['enableCompressedOutput']) && @filesize($filename) <= 4194304 && in_array($file_ext, array('txt', 'html', 'htm', 'js', 'doc', 'docx', 'rtf', 'css', 'php', 'log', 'xml', 'sql', 'c', 'java'))) {
1679
+			@ob_start('ob_gzhandler');
1680
+	} else
1614 1681
 	{
1615 1682
 		ob_start();
1616 1683
 		header('Content-Encoding: none');
@@ -1653,8 +1720,9 @@  discard block
 block discarded – undo
1653 1720
 	// Send the attachment headers.
1654 1721
 	header('Pragma: ');
1655 1722
 
1656
-	if (!isBrowser('gecko'))
1657
-		header('Content-Transfer-Encoding: binary');
1723
+	if (!isBrowser('gecko')) {
1724
+			header('Content-Transfer-Encoding: binary');
1725
+	}
1658 1726
 
1659 1727
 	header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 525600 * 60) . ' GMT');
1660 1728
 	header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($filename)) . ' GMT');
@@ -1663,18 +1731,19 @@  discard block
 block discarded – undo
1663 1731
 	header('ETag: ' . $eTag);
1664 1732
 
1665 1733
 	// Make sure the mime type warrants an inline display.
1666
-	if (isset($_REQUEST['image']) && !empty($mime_type) && strpos($mime_type, 'image/') !== 0)
1667
-		unset($_REQUEST['image']);
1734
+	if (isset($_REQUEST['image']) && !empty($mime_type) && strpos($mime_type, 'image/') !== 0) {
1735
+			unset($_REQUEST['image']);
1736
+	}
1668 1737
 
1669 1738
 	// Does this have a mime type?
1670
-	elseif (!empty($mime_type) && (isset($_REQUEST['image']) || !in_array($file_ext, array('jpg', 'gif', 'jpeg', 'x-ms-bmp', 'png', 'psd', 'tiff', 'iff'))))
1671
-		header('Content-Type: ' . strtr($mime_type, array('image/bmp' => 'image/x-ms-bmp')));
1672
-
1673
-	else
1739
+	elseif (!empty($mime_type) && (isset($_REQUEST['image']) || !in_array($file_ext, array('jpg', 'gif', 'jpeg', 'x-ms-bmp', 'png', 'psd', 'tiff', 'iff')))) {
1740
+			header('Content-Type: ' . strtr($mime_type, array('image/bmp' => 'image/x-ms-bmp')));
1741
+	} else
1674 1742
 	{
1675 1743
 		header('Content-Type: ' . (isBrowser('ie') || isBrowser('opera') ? 'application/octetstream' : 'application/octet-stream'));
1676
-		if (isset($_REQUEST['image']))
1677
-			unset($_REQUEST['image']);
1744
+		if (isset($_REQUEST['image'])) {
1745
+					unset($_REQUEST['image']);
1746
+		}
1678 1747
 	}
1679 1748
 
1680 1749
 	// Convert the file to UTF-8, cuz most browsers dig that.
@@ -1682,23 +1751,22 @@  discard block
 block discarded – undo
1682 1751
 	$disposition = !isset($_REQUEST['image']) ? 'attachment' : 'inline';
1683 1752
 
1684 1753
 	// Different browsers like different standards...
1685
-	if (isBrowser('firefox'))
1686
-		header('Content-Disposition: ' . $disposition . '; filename*=UTF-8\'\'' . rawurlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)));
1687
-
1688
-	elseif (isBrowser('opera'))
1689
-		header('Content-Disposition: ' . $disposition . '; filename="' . preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name) . '"');
1690
-
1691
-	elseif (isBrowser('ie'))
1692
-		header('Content-Disposition: ' . $disposition . '; filename="' . urlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)) . '"');
1693
-
1694
-	else
1695
-		header('Content-Disposition: ' . $disposition . '; filename="' . $utf8name . '"');
1754
+	if (isBrowser('firefox')) {
1755
+			header('Content-Disposition: ' . $disposition . '; filename*=UTF-8\'\'' . rawurlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)));
1756
+	} elseif (isBrowser('opera')) {
1757
+			header('Content-Disposition: ' . $disposition . '; filename="' . preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name) . '"');
1758
+	} elseif (isBrowser('ie')) {
1759
+			header('Content-Disposition: ' . $disposition . '; filename="' . urlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)) . '"');
1760
+	} else {
1761
+			header('Content-Disposition: ' . $disposition . '; filename="' . $utf8name . '"');
1762
+	}
1696 1763
 
1697 1764
 	// If this has an "image extension" - but isn't actually an image - then ensure it isn't cached cause of silly IE.
1698
-	if (!isset($_REQUEST['image']) && in_array($file_ext, array('gif', 'jpg', 'bmp', 'png', 'jpeg', 'tiff')))
1699
-		header('Cache-Control: no-cache');
1700
-	else
1701
-		header('Cache-Control: max-age=' . (525600 * 60) . ', private');
1765
+	if (!isset($_REQUEST['image']) && in_array($file_ext, array('gif', 'jpg', 'bmp', 'png', 'jpeg', 'tiff'))) {
1766
+			header('Cache-Control: no-cache');
1767
+	} else {
1768
+			header('Cache-Control: max-age=' . (525600 * 60) . ', private');
1769
+	}
1702 1770
 
1703 1771
 	header('Content-Length: ' . filesize($filename));
1704 1772
 
@@ -1708,20 +1776,23 @@  discard block
 block discarded – undo
1708 1776
 	// Recode line endings for text files, if enabled.
1709 1777
 	if (!empty($modSettings['attachmentRecodeLineEndings']) && !isset($_REQUEST['image']) && in_array($file_ext, array('txt', 'css', 'htm', 'html', 'php', 'xml')))
1710 1778
 	{
1711
-		if (strpos($_SERVER['HTTP_USER_AGENT'], 'Windows') !== false)
1712
-			$callback = function ($buffer)
1779
+		if (strpos($_SERVER['HTTP_USER_AGENT'], 'Windows') !== false) {
1780
+					$callback = function ($buffer)
1713 1781
 			{
1714 1782
 				return preg_replace('~[\r]?\n~', "\r\n", $buffer);
1783
+		}
1715 1784
 			};
1716
-		elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Mac') !== false)
1717
-			$callback = function ($buffer)
1785
+		elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Mac') !== false) {
1786
+					$callback = function ($buffer)
1718 1787
 			{
1719 1788
 				return preg_replace('~[\r]?\n~', "\r", $buffer);
1789
+		}
1720 1790
 			};
1721
-		else
1722
-			$callback = function ($buffer)
1791
+		else {
1792
+					$callback = function ($buffer)
1723 1793
 			{
1724 1794
 				return preg_replace('~[\r]?\n~', "\n", $buffer);
1795
+		}
1725 1796
 			};
1726 1797
 	}
1727 1798
 
@@ -1729,23 +1800,26 @@  discard block
 block discarded – undo
1729 1800
 	if (filesize($filename) > 4194304)
1730 1801
 	{
1731 1802
 		// Forcibly end any output buffering going on.
1732
-		while (@ob_get_level() > 0)
1733
-			@ob_end_clean();
1803
+		while (@ob_get_level() > 0) {
1804
+					@ob_end_clean();
1805
+		}
1734 1806
 
1735 1807
 		$fp = fopen($filename, 'rb');
1736 1808
 		while (!feof($fp))
1737 1809
 		{
1738
-			if (isset($callback))
1739
-				echo $callback(fread($fp, 8192));
1740
-			else
1741
-				echo fread($fp, 8192);
1810
+			if (isset($callback)) {
1811
+							echo $callback(fread($fp, 8192));
1812
+			} else {
1813
+							echo fread($fp, 8192);
1814
+			}
1742 1815
 			flush();
1743 1816
 		}
1744 1817
 		fclose($fp);
1745 1818
 	}
1746 1819
 	// On some of the less-bright hosts, readfile() is disabled.  It's just a faster, more byte safe, version of what's in the if.
1747
-	elseif (isset($callback) || @readfile($filename) === null)
1748
-		echo isset($callback) ? $callback(file_get_contents($filename)) : file_get_contents($filename);
1820
+	elseif (isset($callback) || @readfile($filename) === null) {
1821
+			echo isset($callback) ? $callback(file_get_contents($filename)) : file_get_contents($filename);
1822
+	}
1749 1823
 
1750 1824
 	obExit(false);
1751 1825
 }
@@ -1758,8 +1832,9 @@  discard block
 block discarded – undo
1758 1832
  */
1759 1833
 function approved_attach_sort($a, $b)
1760 1834
 {
1761
-	if ($a['is_approved'] == $b['is_approved'])
1762
-		return 0;
1835
+	if ($a['is_approved'] == $b['is_approved']) {
1836
+			return 0;
1837
+	}
1763 1838
 
1764 1839
 	return $a['is_approved'] > $b['is_approved'] ? -1 : 1;
1765 1840
 }
@@ -1776,16 +1851,19 @@  discard block
 block discarded – undo
1776 1851
 
1777 1852
 	require_once($sourcedir . '/RemoveTopic.php');
1778 1853
 
1779
-	if (empty($_REQUEST['msgs']))
1780
-		redirectexit('topic=' . $topic . '.' . $_REQUEST['start']);
1854
+	if (empty($_REQUEST['msgs'])) {
1855
+			redirectexit('topic=' . $topic . '.' . $_REQUEST['start']);
1856
+	}
1781 1857
 
1782 1858
 	$messages = array();
1783
-	foreach ($_REQUEST['msgs'] as $dummy)
1784
-		$messages[] = (int) $dummy;
1859
+	foreach ($_REQUEST['msgs'] as $dummy) {
1860
+			$messages[] = (int) $dummy;
1861
+	}
1785 1862
 
1786 1863
 	// We are restoring messages. We handle this in another place.
1787
-	if (isset($_REQUEST['restore_selected']))
1788
-		redirectexit('action=restoretopic;msgs=' . implode(',', $messages) . ';' . $context['session_var'] . '=' . $context['session_id']);
1864
+	if (isset($_REQUEST['restore_selected'])) {
1865
+			redirectexit('action=restoretopic;msgs=' . implode(',', $messages) . ';' . $context['session_var'] . '=' . $context['session_id']);
1866
+	}
1789 1867
 	if (isset($_REQUEST['split_selection']))
1790 1868
 	{
1791 1869
 		$request = $smcFunc['db_query']('', '
@@ -1804,8 +1882,9 @@  discard block
 block discarded – undo
1804 1882
 	}
1805 1883
 
1806 1884
 	// Allowed to delete any message?
1807
-	if (allowedTo('delete_any'))
1808
-		$allowed_all = true;
1885
+	if (allowedTo('delete_any')) {
1886
+			$allowed_all = true;
1887
+	}
1809 1888
 	// Allowed to delete replies to their messages?
1810 1889
 	elseif (allowedTo('delete_replies'))
1811 1890
 	{
@@ -1822,13 +1901,14 @@  discard block
 block discarded – undo
1822 1901
 		$smcFunc['db_free_result']($request);
1823 1902
 
1824 1903
 		$allowed_all = $starter == $user_info['id'];
1904
+	} else {
1905
+			$allowed_all = false;
1825 1906
 	}
1826
-	else
1827
-		$allowed_all = false;
1828 1907
 
1829 1908
 	// Make sure they're allowed to delete their own messages, if not any.
1830
-	if (!$allowed_all)
1831
-		isAllowedTo('delete_own');
1909
+	if (!$allowed_all) {
1910
+			isAllowedTo('delete_own');
1911
+	}
1832 1912
 
1833 1913
 	// Allowed to remove which messages?
1834 1914
 	$request = $smcFunc['db_query']('', '
@@ -1848,8 +1928,9 @@  discard block
 block discarded – undo
1848 1928
 	$messages = array();
1849 1929
 	while ($row = $smcFunc['db_fetch_assoc']($request))
1850 1930
 	{
1851
-		if (!$allowed_all && !empty($modSettings['edit_disable_time']) && $row['poster_time'] + $modSettings['edit_disable_time'] * 60 < time())
1852
-			continue;
1931
+		if (!$allowed_all && !empty($modSettings['edit_disable_time']) && $row['poster_time'] + $modSettings['edit_disable_time'] * 60 < time()) {
1932
+					continue;
1933
+		}
1853 1934
 
1854 1935
 		$messages[$row['id_msg']] = array($row['subject'], $row['id_member']);
1855 1936
 	}
@@ -1872,17 +1953,20 @@  discard block
 block discarded – undo
1872 1953
 	foreach ($messages as $message => $info)
1873 1954
 	{
1874 1955
 		// Just skip the first message - if it's not the last.
1875
-		if ($message == $first_message && $message != $last_message)
1876
-			continue;
1956
+		if ($message == $first_message && $message != $last_message) {
1957
+					continue;
1958
+		}
1877 1959
 		// If the first message is going then don't bother going back to the topic as we're effectively deleting it.
1878
-		elseif ($message == $first_message)
1879
-			$topicGone = true;
1960
+		elseif ($message == $first_message) {
1961
+					$topicGone = true;
1962
+		}
1880 1963
 
1881 1964
 		removeMessage($message);
1882 1965
 
1883 1966
 		// Log this moderation action ;).
1884
-		if (allowedTo('delete_any') && (!allowedTo('delete_own') || $info[1] != $user_info['id']))
1885
-			logAction('delete', array('topic' => $topic, 'subject' => $info[0], 'member' => $info[1], 'board' => $board));
1967
+		if (allowedTo('delete_any') && (!allowedTo('delete_own') || $info[1] != $user_info['id'])) {
1968
+					logAction('delete', array('topic' => $topic, 'subject' => $info[0], 'member' => $info[1], 'board' => $board));
1969
+		}
1886 1970
 	}
1887 1971
 
1888 1972
 	redirectexit(!empty($topicGone) ? 'board=' . $board : 'topic=' . $topic . '.' . $_REQUEST['start']);
Please login to merge, or discard this patch.
Sources/Subs-Db-postgresql.php 1 patch
Braces   +211 added lines, -156 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
  * Maps the implementations in this file (smf_db_function_name)
@@ -34,8 +35,8 @@  discard block
 block discarded – undo
34 35
 	global $smcFunc;
35 36
 
36 37
 	// Map some database specific functions, only do this once.
37
-	if (!isset($smcFunc['db_fetch_assoc']) || $smcFunc['db_fetch_assoc'] != 'postg_fetch_assoc')
38
-		$smcFunc += array(
38
+	if (!isset($smcFunc['db_fetch_assoc']) || $smcFunc['db_fetch_assoc'] != 'postg_fetch_assoc') {
39
+			$smcFunc += array(
39 40
 			'db_query' => 'smf_db_query',
40 41
 			'db_quote' => 'smf_db_quote',
41 42
 			'db_insert' => 'smf_db_insert',
@@ -59,11 +60,13 @@  discard block
 block discarded – undo
59 60
 			'db_escape_wildcard_string' => 'smf_db_escape_wildcard_string',
60 61
 			'db_is_resource' => 'is_resource',
61 62
 		);
63
+	}
62 64
 
63
-	if (!empty($db_options['persist']))
64
-		$connection = @pg_pconnect('host=' . $db_server . ' dbname=' . $db_name . ' user=\'' . $db_user . '\' password=\'' . $db_passwd . '\'' . (empty($db_options['port']) ? '' : ' port=\'' . $db_options['port'] . '\''));
65
-	else
66
-		$connection = @pg_connect( 'host=' . $db_server . ' dbname=' . $db_name . ' user=\'' . $db_user . '\' password=\'' . $db_passwd . '\'' . (empty($db_options['port']) ? '' : ' port=\'' . $db_options['port'] . '\''));
65
+	if (!empty($db_options['persist'])) {
66
+			$connection = @pg_pconnect('host=' . $db_server . ' dbname=' . $db_name . ' user=\'' . $db_user . '\' password=\'' . $db_passwd . '\'' . (empty($db_options['port']) ? '' : ' port=\'' . $db_options['port'] . '\''));
67
+	} else {
68
+			$connection = @pg_connect( 'host=' . $db_server . ' dbname=' . $db_name . ' user=\'' . $db_user . '\' password=\'' . $db_passwd . '\'' . (empty($db_options['port']) ? '' : ' port=\'' . $db_options['port'] . '\''));
69
+	}
67 70
 
68 71
 	// Something's wrong, show an error if its fatal (which we assume it is)
69 72
 	if (!$connection)
@@ -71,8 +74,7 @@  discard block
 block discarded – undo
71 74
 		if (!empty($db_options['non_fatal']))
72 75
 		{
73 76
 			return null;
74
-		}
75
-		else
77
+		} else
76 78
 		{
77 79
 			display_db_error();
78 80
 		}
@@ -123,34 +125,42 @@  discard block
 block discarded – undo
123 125
 
124 126
 	list ($values, $connection) = $db_callback;
125 127
 
126
-	if ($matches[1] === 'db_prefix')
127
-		return $db_prefix;
128
+	if ($matches[1] === 'db_prefix') {
129
+			return $db_prefix;
130
+	}
128 131
 
129
-	if ($matches[1] === 'query_see_board')
130
-		return $user_info['query_see_board'];
132
+	if ($matches[1] === 'query_see_board') {
133
+			return $user_info['query_see_board'];
134
+	}
131 135
 
132
-	if ($matches[1] === 'query_wanna_see_board')
133
-		return $user_info['query_wanna_see_board'];
136
+	if ($matches[1] === 'query_wanna_see_board') {
137
+			return $user_info['query_wanna_see_board'];
138
+	}
134 139
 
135
-	if ($matches[1] === 'empty')
136
-		return '\'\'';
140
+	if ($matches[1] === 'empty') {
141
+			return '\'\'';
142
+	}
137 143
 
138
-	if (!isset($matches[2]))
139
-		smf_db_error_backtrace('Invalid value inserted or no type specified.', '', E_USER_ERROR, __FILE__, __LINE__);
144
+	if (!isset($matches[2])) {
145
+			smf_db_error_backtrace('Invalid value inserted or no type specified.', '', E_USER_ERROR, __FILE__, __LINE__);
146
+	}
140 147
 
141
-	if ($matches[1] === 'literal')
142
-		return '\'' . pg_escape_string($matches[2]) . '\'';
148
+	if ($matches[1] === 'literal') {
149
+			return '\'' . pg_escape_string($matches[2]) . '\'';
150
+	}
143 151
 
144
-	if (!isset($values[$matches[2]]))
145
-		smf_db_error_backtrace('The database value you\'re trying to insert does not exist: ' . (isset($smcFunc['htmlspecialchars']) ? $smcFunc['htmlspecialchars']($matches[2]) : htmlspecialchars($matches[2])), '', E_USER_ERROR, __FILE__, __LINE__);
152
+	if (!isset($values[$matches[2]])) {
153
+			smf_db_error_backtrace('The database value you\'re trying to insert does not exist: ' . (isset($smcFunc['htmlspecialchars']) ? $smcFunc['htmlspecialchars']($matches[2]) : htmlspecialchars($matches[2])), '', E_USER_ERROR, __FILE__, __LINE__);
154
+	}
146 155
 
147 156
 	$replacement = $values[$matches[2]];
148 157
 
149 158
 	switch ($matches[1])
150 159
 	{
151 160
 		case 'int':
152
-			if (!is_numeric($replacement) || (string) $replacement !== (string) (int) $replacement)
153
-				smf_db_error_backtrace('Wrong value type sent to the database. Integer expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
161
+			if (!is_numeric($replacement) || (string) $replacement !== (string) (int) $replacement) {
162
+							smf_db_error_backtrace('Wrong value type sent to the database. Integer expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
163
+			}
154 164
 			return (string) (int) $replacement;
155 165
 		break;
156 166
 
@@ -162,56 +172,63 @@  discard block
 block discarded – undo
162 172
 		case 'array_int':
163 173
 			if (is_array($replacement))
164 174
 			{
165
-				if (empty($replacement))
166
-					smf_db_error_backtrace('Database error, given array of integer values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
175
+				if (empty($replacement)) {
176
+									smf_db_error_backtrace('Database error, given array of integer values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
177
+				}
167 178
 
168 179
 				foreach ($replacement as $key => $value)
169 180
 				{
170
-					if (!is_numeric($value) || (string) $value !== (string) (int) $value)
171
-						smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
181
+					if (!is_numeric($value) || (string) $value !== (string) (int) $value) {
182
+											smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
183
+					}
172 184
 
173 185
 					$replacement[$key] = (string) (int) $value;
174 186
 				}
175 187
 
176 188
 				return implode(', ', $replacement);
189
+			} else {
190
+							smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
177 191
 			}
178
-			else
179
-				smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
180 192
 
181 193
 		break;
182 194
 
183 195
 		case 'array_string':
184 196
 			if (is_array($replacement))
185 197
 			{
186
-				if (empty($replacement))
187
-					smf_db_error_backtrace('Database error, given array of string values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
198
+				if (empty($replacement)) {
199
+									smf_db_error_backtrace('Database error, given array of string values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
200
+				}
188 201
 
189
-				foreach ($replacement as $key => $value)
190
-					$replacement[$key] = sprintf('\'%1$s\'', pg_escape_string($value));
202
+				foreach ($replacement as $key => $value) {
203
+									$replacement[$key] = sprintf('\'%1$s\'', pg_escape_string($value));
204
+				}
191 205
 
192 206
 				return implode(', ', $replacement);
207
+			} else {
208
+							smf_db_error_backtrace('Wrong value type sent to the database. Array of strings expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
193 209
 			}
194
-			else
195
-				smf_db_error_backtrace('Wrong value type sent to the database. Array of strings expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
196 210
 		break;
197 211
 
198 212
 		case 'date':
199
-			if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d)$~', $replacement, $date_matches) === 1)
200
-				return sprintf('\'%04d-%02d-%02d\'', $date_matches[1], $date_matches[2], $date_matches[3]);
201
-			else
202
-				smf_db_error_backtrace('Wrong value type sent to the database. Date expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
213
+			if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d)$~', $replacement, $date_matches) === 1) {
214
+							return sprintf('\'%04d-%02d-%02d\'', $date_matches[1], $date_matches[2], $date_matches[3]);
215
+			} else {
216
+							smf_db_error_backtrace('Wrong value type sent to the database. Date expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
217
+			}
203 218
 		break;
204 219
 
205 220
 		case 'time':
206
-			if (preg_match('~^([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $time_matches) === 1)
207
-				return sprintf('\'%02d:%02d:%02d\'', $time_matches[1], $time_matches[2], $time_matches[3]);
208
-			else
209
-				smf_db_error_backtrace('Wrong value type sent to the database. Time expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
221
+			if (preg_match('~^([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $time_matches) === 1) {
222
+							return sprintf('\'%02d:%02d:%02d\'', $time_matches[1], $time_matches[2], $time_matches[3]);
223
+			} else {
224
+							smf_db_error_backtrace('Wrong value type sent to the database. Time expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
225
+			}
210 226
 		break;
211 227
 
212 228
 		case 'float':
213
-			if (!is_numeric($replacement))
214
-				smf_db_error_backtrace('Wrong value type sent to the database. Floating point number expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
229
+			if (!is_numeric($replacement)) {
230
+							smf_db_error_backtrace('Wrong value type sent to the database. Floating point number expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
231
+			}
215 232
 			return (string) (float) $replacement;
216 233
 		break;
217 234
 
@@ -224,31 +241,36 @@  discard block
 block discarded – undo
224 241
 		break;
225 242
 
226 243
 		case 'inet':
227
-			if ($replacement == 'null' || $replacement == '')
228
-				return 'null';
229
-			if (inet_pton($replacement) === false)
230
-				smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
244
+			if ($replacement == 'null' || $replacement == '') {
245
+							return 'null';
246
+			}
247
+			if (inet_pton($replacement) === false) {
248
+							smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
249
+			}
231 250
 			return sprintf('\'%1$s\'::inet', pg_escape_string($replacement));
232 251
 
233 252
 		case 'array_inet':
234 253
 			if (is_array($replacement))
235 254
 			{
236
-				if (empty($replacement))
237
-					smf_db_error_backtrace('Database error, given array of IPv4 or IPv6 values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
255
+				if (empty($replacement)) {
256
+									smf_db_error_backtrace('Database error, given array of IPv4 or IPv6 values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
257
+				}
238 258
 
239 259
 				foreach ($replacement as $key => $value)
240 260
 				{
241
-					if ($replacement == 'null' || $replacement == '')
242
-						$replacement[$key] = 'null';
243
-					if (!isValidIP($value))
244
-						smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
261
+					if ($replacement == 'null' || $replacement == '') {
262
+											$replacement[$key] = 'null';
263
+					}
264
+					if (!isValidIP($value)) {
265
+											smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
266
+					}
245 267
 					$replacement[$key] =  sprintf('\'%1$s\'::inet', pg_escape_string($value));
246 268
 				}
247 269
 
248 270
 				return implode(', ', $replacement);
271
+			} else {
272
+							smf_db_error_backtrace('Wrong value type sent to the database. Array of IPv4 or IPv6 expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
249 273
 			}
250
-			else
251
-				smf_db_error_backtrace('Wrong value type sent to the database. Array of IPv4 or IPv6 expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__);
252 274
 		break;
253 275
 
254 276
 		default:
@@ -335,14 +357,16 @@  discard block
 block discarded – undo
335 357
 		),
336 358
 	);
337 359
 
338
-	if (isset($replacements[$identifier]))
339
-		$db_string = preg_replace(array_keys($replacements[$identifier]), array_values($replacements[$identifier]), $db_string);
360
+	if (isset($replacements[$identifier])) {
361
+			$db_string = preg_replace(array_keys($replacements[$identifier]), array_values($replacements[$identifier]), $db_string);
362
+	}
340 363
 
341 364
 	// Limits need to be a little different.
342 365
 	$db_string = preg_replace('~\sLIMIT\s(\d+|{int:.+}),\s*(\d+|{int:.+})\s*$~i', 'LIMIT $2 OFFSET $1', $db_string);
343 366
 
344
-	if (trim($db_string) == '')
345
-		return false;
367
+	if (trim($db_string) == '') {
368
+			return false;
369
+	}
346 370
 
347 371
 	// Comments that are allowed in a query are preg_removed.
348 372
 	static $allowed_comments_from = array(
@@ -362,8 +386,9 @@  discard block
 block discarded – undo
362 386
 	$db_count = !isset($db_count) ? 1 : $db_count + 1;
363 387
 	$db_replace_result = 0;
364 388
 
365
-	if (empty($modSettings['disableQueryCheck']) && strpos($db_string, '\'') !== false && empty($db_values['security_override']))
366
-		smf_db_error_backtrace('Hacking attempt...', 'Illegal character (\') used in query...', true, __FILE__, __LINE__);
389
+	if (empty($modSettings['disableQueryCheck']) && strpos($db_string, '\'') !== false && empty($db_values['security_override'])) {
390
+			smf_db_error_backtrace('Hacking attempt...', 'Illegal character (\') used in query...', true, __FILE__, __LINE__);
391
+	}
367 392
 
368 393
 	if (empty($db_values['security_override']) && (!empty($db_values) || strpos($db_string, '{db_prefix}') !== false))
369 394
 	{
@@ -384,8 +409,9 @@  discard block
 block discarded – undo
384 409
 		list ($file, $line) = smf_db_error_backtrace('', '', 'return', __FILE__, __LINE__);
385 410
 
386 411
 		// Initialize $db_cache if not already initialized.
387
-		if (!isset($db_cache))
388
-			$db_cache = array();
412
+		if (!isset($db_cache)) {
413
+					$db_cache = array();
414
+		}
389 415
 
390 416
 		if (!empty($_SESSION['debug_redirect']))
391 417
 		{
@@ -411,17 +437,18 @@  discard block
 block discarded – undo
411 437
 		while (true)
412 438
 		{
413 439
 			$pos = strpos($db_string, '\'', $pos + 1);
414
-			if ($pos === false)
415
-				break;
440
+			if ($pos === false) {
441
+							break;
442
+			}
416 443
 			$clean .= substr($db_string, $old_pos, $pos - $old_pos);
417 444
 
418 445
 			while (true)
419 446
 			{
420 447
 				$pos1 = strpos($db_string, '\'', $pos + 1);
421 448
 				$pos2 = strpos($db_string, '\\', $pos + 1);
422
-				if ($pos1 === false)
423
-					break;
424
-				elseif ($pos2 === false || $pos2 > $pos1)
449
+				if ($pos1 === false) {
450
+									break;
451
+				} elseif ($pos2 === false || $pos2 > $pos1)
425 452
 				{
426 453
 					$pos = $pos1;
427 454
 					break;
@@ -437,26 +464,31 @@  discard block
 block discarded – undo
437 464
 		$clean = trim(strtolower(preg_replace($allowed_comments_from, $allowed_comments_to, $clean)));
438 465
 
439 466
 		// Comments?  We don't use comments in our queries, we leave 'em outside!
440
-		if (strpos($clean, '/*') > 2 || strpos($clean, '--') !== false || strpos($clean, ';') !== false)
441
-			$fail = true;
467
+		if (strpos($clean, '/*') > 2 || strpos($clean, '--') !== false || strpos($clean, ';') !== false) {
468
+					$fail = true;
469
+		}
442 470
 		// Trying to change passwords, slow us down, or something?
443
-		elseif (strpos($clean, 'sleep') !== false && preg_match('~(^|[^a-z])sleep($|[^[_a-z])~s', $clean) != 0)
444
-			$fail = true;
445
-		elseif (strpos($clean, 'benchmark') !== false && preg_match('~(^|[^a-z])benchmark($|[^[a-z])~s', $clean) != 0)
446
-			$fail = true;
471
+		elseif (strpos($clean, 'sleep') !== false && preg_match('~(^|[^a-z])sleep($|[^[_a-z])~s', $clean) != 0) {
472
+					$fail = true;
473
+		} elseif (strpos($clean, 'benchmark') !== false && preg_match('~(^|[^a-z])benchmark($|[^[a-z])~s', $clean) != 0) {
474
+					$fail = true;
475
+		}
447 476
 
448
-		if (!empty($fail) && function_exists('log_error'))
449
-			smf_db_error_backtrace('Hacking attempt...', 'Hacking attempt...' . "\n" . $db_string, E_USER_ERROR, __FILE__, __LINE__);
477
+		if (!empty($fail) && function_exists('log_error')) {
478
+					smf_db_error_backtrace('Hacking attempt...', 'Hacking attempt...' . "\n" . $db_string, E_USER_ERROR, __FILE__, __LINE__);
479
+		}
450 480
 	}
451 481
 
452 482
 	$db_last_result = @pg_query($connection, $db_string);
453 483
 
454
-	if ($db_last_result === false && empty($db_values['db_error_skip']))
455
-		$db_last_result = smf_db_error($db_string, $connection);
484
+	if ($db_last_result === false && empty($db_values['db_error_skip'])) {
485
+			$db_last_result = smf_db_error($db_string, $connection);
486
+	}
456 487
 
457 488
 	// Debugging.
458
-	if (isset($db_show_debug) && $db_show_debug === true)
459
-		$db_cache[$db_count]['t'] = array_sum(explode(' ', microtime())) - array_sum(explode(' ', $st));
489
+	if (isset($db_show_debug) && $db_show_debug === true) {
490
+			$db_cache[$db_count]['t'] = array_sum(explode(' ', microtime())) - array_sum(explode(' ', $st));
491
+	}
460 492
 
461 493
 	return $db_last_result;
462 494
 }
@@ -469,10 +501,11 @@  discard block
 block discarded – undo
469 501
 {
470 502
 	global $db_last_result, $db_replace_result;
471 503
 
472
-	if ($db_replace_result)
473
-		return $db_replace_result;
474
-	elseif ($result === null && !$db_last_result)
475
-		return 0;
504
+	if ($db_replace_result) {
505
+			return $db_replace_result;
506
+	} elseif ($result === null && !$db_last_result) {
507
+			return 0;
508
+	}
476 509
 
477 510
 	return pg_affected_rows($result === null ? $db_last_result : $result);
478 511
 }
@@ -491,16 +524,18 @@  discard block
 block discarded – undo
491 524
 
492 525
 	$table = str_replace('{db_prefix}', $db_prefix, $table);
493 526
 
494
-	if ($connection === false)
495
-		$connection = $db_connection;
527
+	if ($connection === false) {
528
+			$connection = $db_connection;
529
+	}
496 530
 
497 531
 	// Try get the last ID for the auto increment field.
498 532
 	$request = $smcFunc['db_query']('', 'SELECT CURRVAL(\'' . $table . '_seq\') AS insertID',
499 533
 		array(
500 534
 		)
501 535
 	);
502
-	if (!$request)
503
-		return false;
536
+	if (!$request) {
537
+			return false;
538
+	}
504 539
 	list ($lastID) = $smcFunc['db_fetch_row']($request);
505 540
 	$smcFunc['db_free_result']($request);
506 541
 
@@ -521,12 +556,13 @@  discard block
 block discarded – undo
521 556
 	// Decide which connection to use
522 557
 	$connection = $connection === null ? $db_connection : $connection;
523 558
 
524
-	if ($type == 'begin')
525
-		return @pg_query($connection, 'BEGIN');
526
-	elseif ($type == 'rollback')
527
-		return @pg_query($connection, 'ROLLBACK');
528
-	elseif ($type == 'commit')
529
-		return @pg_query($connection, 'COMMIT');
559
+	if ($type == 'begin') {
560
+			return @pg_query($connection, 'BEGIN');
561
+	} elseif ($type == 'rollback') {
562
+			return @pg_query($connection, 'ROLLBACK');
563
+	} elseif ($type == 'commit') {
564
+			return @pg_query($connection, 'COMMIT');
565
+	}
530 566
 
531 567
 	return false;
532 568
 }
@@ -554,19 +590,22 @@  discard block
 block discarded – undo
554 590
 	$query_error = @pg_last_error($connection);
555 591
 
556 592
 	// Log the error.
557
-	if (function_exists('log_error'))
558
-		log_error($txt['database_error'] . ': ' . $query_error . (!empty($modSettings['enableErrorQueryLogging']) ? "\n\n" .$db_string : ''), 'database', $file, $line);
593
+	if (function_exists('log_error')) {
594
+			log_error($txt['database_error'] . ': ' . $query_error . (!empty($modSettings['enableErrorQueryLogging']) ? "\n\n" .$db_string : ''), 'database', $file, $line);
595
+	}
559 596
 
560 597
 	// Nothing's defined yet... just die with it.
561
-	if (empty($context) || empty($txt))
562
-		die($query_error);
598
+	if (empty($context) || empty($txt)) {
599
+			die($query_error);
600
+	}
563 601
 
564 602
 	// Show an error message, if possible.
565 603
 	$context['error_title'] = $txt['database_error'];
566
-	if (allowedTo('admin_forum'))
567
-		$context['error_message'] = nl2br($query_error) . '<br>' . $txt['file'] . ': ' . $file . '<br>' . $txt['line'] . ': ' . $line;
568
-	else
569
-		$context['error_message'] = $txt['try_again'];
604
+	if (allowedTo('admin_forum')) {
605
+			$context['error_message'] = nl2br($query_error) . '<br>' . $txt['file'] . ': ' . $file . '<br>' . $txt['line'] . ': ' . $line;
606
+	} else {
607
+			$context['error_message'] = $txt['try_again'];
608
+	}
570 609
 
571 610
 	if (allowedTo('admin_forum') && isset($db_show_debug) && $db_show_debug === true)
572 611
 	{
@@ -588,12 +627,14 @@  discard block
 block discarded – undo
588 627
 {
589 628
 	global $db_row_count;
590 629
 
591
-	if ($counter !== false)
592
-		return pg_fetch_row($request, $counter);
630
+	if ($counter !== false) {
631
+			return pg_fetch_row($request, $counter);
632
+	}
593 633
 
594 634
 	// Reset the row counter...
595
-	if (!isset($db_row_count[(int) $request]))
596
-		$db_row_count[(int) $request] = 0;
635
+	if (!isset($db_row_count[(int) $request])) {
636
+			$db_row_count[(int) $request] = 0;
637
+	}
597 638
 
598 639
 	// Return the right row.
599 640
 	return @pg_fetch_row($request, $db_row_count[(int) $request]++);
@@ -610,12 +651,14 @@  discard block
 block discarded – undo
610 651
 {
611 652
 	global $db_row_count;
612 653
 
613
-	if ($counter !== false)
614
-		return pg_fetch_assoc($request, $counter);
654
+	if ($counter !== false) {
655
+			return pg_fetch_assoc($request, $counter);
656
+	}
615 657
 
616 658
 	// Reset the row counter...
617
-	if (!isset($db_row_count[(int) $request]))
618
-		$db_row_count[(int) $request] = 0;
659
+	if (!isset($db_row_count[(int) $request])) {
660
+			$db_row_count[(int) $request] = 0;
661
+	}
619 662
 
620 663
 	// Return the right row.
621 664
 	return @pg_fetch_assoc($request, $db_row_count[(int) $request]++);
@@ -667,11 +710,13 @@  discard block
 block discarded – undo
667 710
 
668 711
 	$replace = '';
669 712
 
670
-	if (empty($data))
671
-		return;
713
+	if (empty($data)) {
714
+			return;
715
+	}
672 716
 
673
-	if (!is_array($data[array_rand($data)]))
674
-		$data = array($data);
717
+	if (!is_array($data[array_rand($data)])) {
718
+			$data = array($data);
719
+	}
675 720
 
676 721
 	// Replace the prefix holder with the actual prefix.
677 722
 	$table = str_replace('{db_prefix}', $db_prefix, $table);
@@ -697,11 +742,13 @@  discard block
 block discarded – undo
697 742
 			//pg 9.5 got replace support
698 743
 			$pg_version = $smcFunc['db_get_version']();
699 744
 			// if we got a Beta Version
700
-			if (stripos($pg_version, 'beta') !== false)
701
-				$pg_version = substr($pg_version, 0, stripos($pg_version, 'beta')).'.0';
745
+			if (stripos($pg_version, 'beta') !== false) {
746
+							$pg_version = substr($pg_version, 0, stripos($pg_version, 'beta')).'.0';
747
+			}
702 748
 			// or RC
703
-			if (stripos($pg_version, 'rc') !== false)
704
-				$pg_version = substr($pg_version, 0, stripos($pg_version, 'rc')).'.0';
749
+			if (stripos($pg_version, 'rc') !== false) {
750
+							$pg_version = substr($pg_version, 0, stripos($pg_version, 'rc')).'.0';
751
+			}
705 752
 
706 753
 			$replace_support = (version_compare($pg_version,'9.5.0','>=') ? true : false);
707 754
 		}
@@ -720,8 +767,7 @@  discard block
 block discarded – undo
720 767
 					$key_str .= ($count_pk > 0 ? ',' : '');
721 768
 					$key_str .= $columnName;
722 769
 					$count_pk++;
723
-				}
724
-				else //normal field
770
+				} else //normal field
725 771
 				{
726 772
 					$col_str .= ($count > 0 ? ',' : '');
727 773
 					$col_str .= $columnName.' = EXCLUDED.'.$columnName;
@@ -729,20 +775,21 @@  discard block
 block discarded – undo
729 775
 				}
730 776
 			}
731 777
 			$replace = ' ON CONFLICT ('.$key_str.') DO UPDATE SET '.$col_str;
732
-		}
733
-		else
778
+		} else
734 779
 		{
735 780
 			foreach ($columns as $columnName => $type)
736 781
 			{
737 782
 				// Are we restricting the length?
738
-				if (strpos($type, 'string-') !== false)
739
-					$actualType = sprintf($columnName . ' = SUBSTRING({string:%1$s}, 1, ' . substr($type, 7) . '), ', $count);
740
-				else
741
-					$actualType = sprintf($columnName . ' = {%1$s:%2$s}, ', $type, $count);
783
+				if (strpos($type, 'string-') !== false) {
784
+									$actualType = sprintf($columnName . ' = SUBSTRING({string:%1$s}, 1, ' . substr($type, 7) . '), ', $count);
785
+				} else {
786
+									$actualType = sprintf($columnName . ' = {%1$s:%2$s}, ', $type, $count);
787
+				}
742 788
 
743 789
 				// A key? That's what we were looking for.
744
-				if (in_array($columnName, $keys))
745
-					$where .= (empty($where) ? '' : ' AND ') . substr($actualType, 0, -2);
790
+				if (in_array($columnName, $keys)) {
791
+									$where .= (empty($where) ? '' : ' AND ') . substr($actualType, 0, -2);
792
+				}
746 793
 				$count++;
747 794
 			}
748 795
 
@@ -768,10 +815,11 @@  discard block
 block discarded – undo
768 815
 		foreach ($columns as $columnName => $type)
769 816
 		{
770 817
 			// Are we restricting the length?
771
-			if (strpos($type, 'string-') !== false)
772
-				$insertData .= sprintf('SUBSTRING({string:%1$s}, 1, ' . substr($type, 7) . '), ', $columnName);
773
-			else
774
-				$insertData .= sprintf('{%1$s:%2$s}, ', $type, $columnName);
818
+			if (strpos($type, 'string-') !== false) {
819
+							$insertData .= sprintf('SUBSTRING({string:%1$s}, 1, ' . substr($type, 7) . '), ', $columnName);
820
+			} else {
821
+							$insertData .= sprintf('{%1$s:%2$s}, ', $type, $columnName);
822
+			}
775 823
 		}
776 824
 		$insertData = substr($insertData, 0, -2) . ')';
777 825
 
@@ -780,11 +828,12 @@  discard block
 block discarded – undo
780 828
 
781 829
 		// Here's where the variables are injected to the query.
782 830
 		$insertRows = array();
783
-		foreach ($data as $dataRow)
784
-			$insertRows[] = smf_db_quote($insertData, array_combine($indexed_columns, $dataRow), $connection);
831
+		foreach ($data as $dataRow) {
832
+					$insertRows[] = smf_db_quote($insertData, array_combine($indexed_columns, $dataRow), $connection);
833
+		}
785 834
 
786
-		foreach ($insertRows as $entry)
787
-			// Do the insert.
835
+		foreach ($insertRows as $entry) {
836
+					// Do the insert.
788 837
 			$smcFunc['db_query']('', '
789 838
 				INSERT INTO ' . $table . '("' . implode('", "', $indexed_columns) . '")
790 839
 				VALUES
@@ -795,11 +844,13 @@  discard block
 block discarded – undo
795 844
 				),
796 845
 				$connection
797 846
 			);
847
+		}
798 848
 	}
799 849
 
800
-	if ($priv_trans)
801
-		$smcFunc['db_transaction']('commit', $connection);
802
-}
850
+	if ($priv_trans) {
851
+			$smcFunc['db_transaction']('commit', $connection);
852
+	}
853
+	}
803 854
 
804 855
 /**
805 856
  * Dummy function really. Doesn't do anything on PostgreSQL.
@@ -836,8 +887,9 @@  discard block
 block discarded – undo
836 887
  */
837 888
 function smf_db_error_backtrace($error_message, $log_message = '', $error_type = false, $file = null, $line = null)
838 889
 {
839
-	if (empty($log_message))
840
-		$log_message = $error_message;
890
+	if (empty($log_message)) {
891
+			$log_message = $error_message;
892
+	}
841 893
 
842 894
 	foreach (debug_backtrace() as $step)
843 895
 	{
@@ -856,12 +908,14 @@  discard block
 block discarded – undo
856 908
 	}
857 909
 
858 910
 	// A special case - we want the file and line numbers for debugging.
859
-	if ($error_type == 'return')
860
-		return array($file, $line);
911
+	if ($error_type == 'return') {
912
+			return array($file, $line);
913
+	}
861 914
 
862 915
 	// Is always a critical error.
863
-	if (function_exists('log_error'))
864
-		log_error($log_message, 'critical', $file, $line);
916
+	if (function_exists('log_error')) {
917
+			log_error($log_message, 'critical', $file, $line);
918
+	}
865 919
 
866 920
 	if (function_exists('fatal_error'))
867 921
 	{
@@ -869,12 +923,12 @@  discard block
 block discarded – undo
869 923
 
870 924
 		// Cannot continue...
871 925
 		exit;
926
+	} elseif ($error_type) {
927
+			trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : ''), $error_type);
928
+	} else {
929
+			trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : ''));
930
+	}
872 931
 	}
873
-	elseif ($error_type)
874
-		trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : ''), $error_type);
875
-	else
876
-		trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : ''));
877
-}
878 932
 
879 933
 /**
880 934
  * Escape the LIKE wildcards so that they match the character and not the wildcard.
@@ -891,10 +945,11 @@  discard block
 block discarded – undo
891 945
 		'\\' => '\\\\',
892 946
 	);
893 947
 
894
-	if ($translate_human_wildcards)
895
-		$replacements += array(
948
+	if ($translate_human_wildcards) {
949
+			$replacements += array(
896 950
 			'*' => '%',
897 951
 		);
952
+	}
898 953
 
899 954
 	return strtr($string, $replacements);
900 955
 }
Please login to merge, or discard this patch.
Sources/Subs.php 1 patch
Braces   +1277 added lines, -949 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 3
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	die('No direct access...');
18
+}
18 19
 
19 20
 /**
20 21
  * Update some basic statistics.
@@ -122,10 +123,11 @@  discard block
 block discarded – undo
122 123
 						$smcFunc['db_free_result']($result);
123 124
 
124 125
 						// Add this to the number of unapproved members
125
-						if (!empty($changes['unapprovedMembers']))
126
-							$changes['unapprovedMembers'] += $coppa_approvals;
127
-						else
128
-							$changes['unapprovedMembers'] = $coppa_approvals;
126
+						if (!empty($changes['unapprovedMembers'])) {
127
+													$changes['unapprovedMembers'] += $coppa_approvals;
128
+						} else {
129
+													$changes['unapprovedMembers'] = $coppa_approvals;
130
+						}
129 131
 					}
130 132
 				}
131 133
 			}
@@ -133,9 +135,9 @@  discard block
 block discarded – undo
133 135
 			break;
134 136
 
135 137
 		case 'message':
136
-			if ($parameter1 === true && $parameter2 !== null)
137
-				updateSettings(array('totalMessages' => true, 'maxMsgID' => $parameter2), true);
138
-			else
138
+			if ($parameter1 === true && $parameter2 !== null) {
139
+							updateSettings(array('totalMessages' => true, 'maxMsgID' => $parameter2), true);
140
+			} else
139 141
 			{
140 142
 				// SUM and MAX on a smaller table is better for InnoDB tables.
141 143
 				$result = $smcFunc['db_query']('', '
@@ -175,23 +177,25 @@  discard block
 block discarded – undo
175 177
 				$parameter2 = text2words($parameter2);
176 178
 
177 179
 				$inserts = array();
178
-				foreach ($parameter2 as $word)
179
-					$inserts[] = array($word, $parameter1);
180
+				foreach ($parameter2 as $word) {
181
+									$inserts[] = array($word, $parameter1);
182
+				}
180 183
 
181
-				if (!empty($inserts))
182
-					$smcFunc['db_insert']('ignore',
184
+				if (!empty($inserts)) {
185
+									$smcFunc['db_insert']('ignore',
183 186
 						'{db_prefix}log_search_subjects',
184 187
 						array('word' => 'string', 'id_topic' => 'int'),
185 188
 						$inserts,
186 189
 						array('word', 'id_topic')
187 190
 					);
191
+				}
188 192
 			}
189 193
 			break;
190 194
 
191 195
 		case 'topic':
192
-			if ($parameter1 === true)
193
-				updateSettings(array('totalTopics' => true), true);
194
-			else
196
+			if ($parameter1 === true) {
197
+							updateSettings(array('totalTopics' => true), true);
198
+			} else
195 199
 			{
196 200
 				// Get the number of topics - a SUM is better for InnoDB tables.
197 201
 				// We also ignore the recycle bin here because there will probably be a bunch of one-post topics there.
@@ -212,8 +216,9 @@  discard block
 block discarded – undo
212 216
 
213 217
 		case 'postgroups':
214 218
 			// Parameter two is the updated columns: we should check to see if we base groups off any of these.
215
-			if ($parameter2 !== null && !in_array('posts', $parameter2))
216
-				return;
219
+			if ($parameter2 !== null && !in_array('posts', $parameter2)) {
220
+							return;
221
+			}
217 222
 
218 223
 			$postgroups = cache_get_data('updateStats:postgroups', 360);
219 224
 			if ($postgroups == null || $parameter1 == null)
@@ -228,8 +233,9 @@  discard block
 block discarded – undo
228 233
 					)
229 234
 				);
230 235
 				$postgroups = array();
231
-				while ($row = $smcFunc['db_fetch_assoc']($request))
232
-					$postgroups[$row['id_group']] = $row['min_posts'];
236
+				while ($row = $smcFunc['db_fetch_assoc']($request)) {
237
+									$postgroups[$row['id_group']] = $row['min_posts'];
238
+				}
233 239
 				$smcFunc['db_free_result']($request);
234 240
 
235 241
 				// Sort them this way because if it's done with MySQL it causes a filesort :(.
@@ -239,8 +245,9 @@  discard block
 block discarded – undo
239 245
 			}
240 246
 
241 247
 			// Oh great, they've screwed their post groups.
242
-			if (empty($postgroups))
243
-				return;
248
+			if (empty($postgroups)) {
249
+							return;
250
+			}
244 251
 
245 252
 			// Set all membergroups from most posts to least posts.
246 253
 			$conditions = '';
@@ -298,10 +305,9 @@  discard block
 block discarded – undo
298 305
 	{
299 306
 		$condition = 'id_member IN ({array_int:members})';
300 307
 		$parameters['members'] = $members;
301
-	}
302
-	elseif ($members === null)
303
-		$condition = '1=1';
304
-	else
308
+	} elseif ($members === null) {
309
+			$condition = '1=1';
310
+	} else
305 311
 	{
306 312
 		$condition = 'id_member = {int:member}';
307 313
 		$parameters['member'] = $members;
@@ -341,9 +347,9 @@  discard block
 block discarded – undo
341 347
 		if (count($vars_to_integrate) != 0)
342 348
 		{
343 349
 			// Fetch a list of member_names if necessary
344
-			if ((!is_array($members) && $members === $user_info['id']) || (is_array($members) && count($members) == 1 && in_array($user_info['id'], $members)))
345
-				$member_names = array($user_info['username']);
346
-			else
350
+			if ((!is_array($members) && $members === $user_info['id']) || (is_array($members) && count($members) == 1 && in_array($user_info['id'], $members))) {
351
+							$member_names = array($user_info['username']);
352
+			} else
347 353
 			{
348 354
 				$member_names = array();
349 355
 				$request = $smcFunc['db_query']('', '
@@ -352,14 +358,16 @@  discard block
 block discarded – undo
352 358
 					WHERE ' . $condition,
353 359
 					$parameters
354 360
 				);
355
-				while ($row = $smcFunc['db_fetch_assoc']($request))
356
-					$member_names[] = $row['member_name'];
361
+				while ($row = $smcFunc['db_fetch_assoc']($request)) {
362
+									$member_names[] = $row['member_name'];
363
+				}
357 364
 				$smcFunc['db_free_result']($request);
358 365
 			}
359 366
 
360
-			if (!empty($member_names))
361
-				foreach ($vars_to_integrate as $var)
367
+			if (!empty($member_names)) {
368
+							foreach ($vars_to_integrate as $var)
362 369
 					call_integration_hook('integrate_change_member_data', array($member_names, $var, &$data[$var], &$knownInts, &$knownFloats));
370
+			}
363 371
 		}
364 372
 	}
365 373
 
@@ -367,16 +375,17 @@  discard block
 block discarded – undo
367 375
 	foreach ($data as $var => $val)
368 376
 	{
369 377
 		$type = 'string';
370
-		if (in_array($var, $knownInts))
371
-			$type = 'int';
372
-		elseif (in_array($var, $knownFloats))
373
-			$type = 'float';
374
-		elseif ($var == 'birthdate')
375
-			$type = 'date';
376
-		elseif ($var == 'member_ip')
377
-			$type = 'inet';
378
-		elseif ($var == 'member_ip2')
379
-			$type = 'inet';
378
+		if (in_array($var, $knownInts)) {
379
+					$type = 'int';
380
+		} elseif (in_array($var, $knownFloats)) {
381
+					$type = 'float';
382
+		} elseif ($var == 'birthdate') {
383
+					$type = 'date';
384
+		} elseif ($var == 'member_ip') {
385
+					$type = 'inet';
386
+		} elseif ($var == 'member_ip2') {
387
+					$type = 'inet';
388
+		}
380 389
 
381 390
 		// Doing an increment?
382 391
 		if ($type == 'int' && ($val === '+' || $val === '-'))
@@ -390,8 +399,9 @@  discard block
 block discarded – undo
390 399
 		{
391 400
 			if (preg_match('~^' . $var . ' (\+ |- |\+ -)([\d]+)~', $val, $match))
392 401
 			{
393
-				if ($match[1] != '+ ')
394
-					$val = 'CASE WHEN ' . $var . ' <= ' . abs($match[2]) . ' THEN 0 ELSE ' . $val . ' END';
402
+				if ($match[1] != '+ ') {
403
+									$val = 'CASE WHEN ' . $var . ' <= ' . abs($match[2]) . ' THEN 0 ELSE ' . $val . ' END';
404
+				}
395 405
 				$type = 'raw';
396 406
 			}
397 407
 		}
@@ -412,8 +422,9 @@  discard block
 block discarded – undo
412 422
 	// Clear any caching?
413 423
 	if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2 && !empty($members))
414 424
 	{
415
-		if (!is_array($members))
416
-			$members = array($members);
425
+		if (!is_array($members)) {
426
+					$members = array($members);
427
+		}
417 428
 
418 429
 		foreach ($members as $member)
419 430
 		{
@@ -446,29 +457,32 @@  discard block
 block discarded – undo
446 457
 {
447 458
 	global $modSettings, $smcFunc;
448 459
 
449
-	if (empty($changeArray) || !is_array($changeArray))
450
-		return;
460
+	if (empty($changeArray) || !is_array($changeArray)) {
461
+			return;
462
+	}
451 463
 
452 464
 	$toRemove = array();
453 465
 
454 466
 	// Go check if there is any setting to be removed.
455
-	foreach ($changeArray as $k => $v)
456
-		if ($v === null)
467
+	foreach ($changeArray as $k => $v) {
468
+			if ($v === null)
457 469
 		{
458 470
 			// Found some, remove them from the original array and add them to ours.
459 471
 			unset($changeArray[$k]);
472
+	}
460 473
 			$toRemove[] = $k;
461 474
 		}
462 475
 
463 476
 	// Proceed with the deletion.
464
-	if (!empty($toRemove))
465
-		$smcFunc['db_query']('', '
477
+	if (!empty($toRemove)) {
478
+			$smcFunc['db_query']('', '
466 479
 			DELETE FROM {db_prefix}settings
467 480
 			WHERE variable IN ({array_string:remove})',
468 481
 			array(
469 482
 				'remove' => $toRemove,
470 483
 			)
471 484
 		);
485
+	}
472 486
 
473 487
 	// In some cases, this may be better and faster, but for large sets we don't want so many UPDATEs.
474 488
 	if ($update)
@@ -497,19 +511,22 @@  discard block
 block discarded – undo
497 511
 	foreach ($changeArray as $variable => $value)
498 512
 	{
499 513
 		// Don't bother if it's already like that ;).
500
-		if (isset($modSettings[$variable]) && $modSettings[$variable] == $value)
501
-			continue;
514
+		if (isset($modSettings[$variable]) && $modSettings[$variable] == $value) {
515
+					continue;
516
+		}
502 517
 		// If the variable isn't set, but would only be set to nothing'ness, then don't bother setting it.
503
-		elseif (!isset($modSettings[$variable]) && empty($value))
504
-			continue;
518
+		elseif (!isset($modSettings[$variable]) && empty($value)) {
519
+					continue;
520
+		}
505 521
 
506 522
 		$replaceArray[] = array($variable, $value);
507 523
 
508 524
 		$modSettings[$variable] = $value;
509 525
 	}
510 526
 
511
-	if (empty($replaceArray))
512
-		return;
527
+	if (empty($replaceArray)) {
528
+			return;
529
+	}
513 530
 
514 531
 	$smcFunc['db_insert']('replace',
515 532
 		'{db_prefix}settings',
@@ -555,14 +572,17 @@  discard block
 block discarded – undo
555 572
 	$start_invalid = $start < 0;
556 573
 
557 574
 	// Make sure $start is a proper variable - not less than 0.
558
-	if ($start_invalid)
559
-		$start = 0;
575
+	if ($start_invalid) {
576
+			$start = 0;
577
+	}
560 578
 	// Not greater than the upper bound.
561
-	elseif ($start >= $max_value)
562
-		$start = max(0, (int) $max_value - (((int) $max_value % (int) $num_per_page) == 0 ? $num_per_page : ((int) $max_value % (int) $num_per_page)));
579
+	elseif ($start >= $max_value) {
580
+			$start = max(0, (int) $max_value - (((int) $max_value % (int) $num_per_page) == 0 ? $num_per_page : ((int) $max_value % (int) $num_per_page)));
581
+	}
563 582
 	// And it has to be a multiple of $num_per_page!
564
-	else
565
-		$start = max(0, (int) $start - ((int) $start % (int) $num_per_page));
583
+	else {
584
+			$start = max(0, (int) $start - ((int) $start % (int) $num_per_page));
585
+	}
566 586
 
567 587
 	$context['current_page'] = $start / $num_per_page;
568 588
 
@@ -592,77 +612,87 @@  discard block
 block discarded – undo
592 612
 
593 613
 		// Show all the pages.
594 614
 		$display_page = 1;
595
-		for ($counter = 0; $counter < $max_value; $counter += $num_per_page)
596
-			$pageindex .= $start == $counter && !$start_invalid ? sprintf($settings['page_index']['current_page'], $display_page++) : sprintf($base_link, $counter, $display_page++);
615
+		for ($counter = 0; $counter < $max_value; $counter += $num_per_page) {
616
+					$pageindex .= $start == $counter && !$start_invalid ? sprintf($settings['page_index']['current_page'], $display_page++) : sprintf($base_link, $counter, $display_page++);
617
+		}
597 618
 
598 619
 		// Show the right arrow.
599 620
 		$display_page = ($start + $num_per_page) > $max_value ? $max_value : ($start + $num_per_page);
600
-		if ($start != $counter - $max_value && !$start_invalid)
601
-			$pageindex .= $display_page > $counter - $num_per_page ? ' ' : sprintf($base_link, $display_page, $settings['page_index']['next_page']);
602
-	}
603
-	else
621
+		if ($start != $counter - $max_value && !$start_invalid) {
622
+					$pageindex .= $display_page > $counter - $num_per_page ? ' ' : sprintf($base_link, $display_page, $settings['page_index']['next_page']);
623
+		}
624
+	} else
604 625
 	{
605 626
 		// If they didn't enter an odd value, pretend they did.
606 627
 		$PageContiguous = (int) ($modSettings['compactTopicPagesContiguous'] - ($modSettings['compactTopicPagesContiguous'] % 2)) / 2;
607 628
 
608 629
 		// Show the "prev page" link. (>prev page< 1 ... 6 7 [8] 9 10 ... 15 next page)
609
-		if (!empty($start) && $show_prevnext)
610
-			$pageindex .= sprintf($base_link, $start - $num_per_page, $settings['page_index']['previous_page']);
611
-		else
612
-			$pageindex .= '';
630
+		if (!empty($start) && $show_prevnext) {
631
+					$pageindex .= sprintf($base_link, $start - $num_per_page, $settings['page_index']['previous_page']);
632
+		} else {
633
+					$pageindex .= '';
634
+		}
613 635
 
614 636
 		// Show the first page. (prev page >1< ... 6 7 [8] 9 10 ... 15)
615
-		if ($start > $num_per_page * $PageContiguous)
616
-			$pageindex .= sprintf($base_link, 0, '1');
637
+		if ($start > $num_per_page * $PageContiguous) {
638
+					$pageindex .= sprintf($base_link, 0, '1');
639
+		}
617 640
 
618 641
 		// Show the ... after the first page.  (prev page 1 >...< 6 7 [8] 9 10 ... 15 next page)
619
-		if ($start > $num_per_page * ($PageContiguous + 1))
620
-			$pageindex .= strtr($settings['page_index']['expand_pages'], array(
642
+		if ($start > $num_per_page * ($PageContiguous + 1)) {
643
+					$pageindex .= strtr($settings['page_index']['expand_pages'], array(
621 644
 				'{LINK}' => JavaScriptEscape($smcFunc['htmlspecialchars']($base_link)),
622 645
 				'{FIRST_PAGE}' => $num_per_page,
623 646
 				'{LAST_PAGE}' => $start - $num_per_page * $PageContiguous,
624 647
 				'{PER_PAGE}' => $num_per_page,
625 648
 			));
649
+		}
626 650
 
627 651
 		// Show the pages before the current one. (prev page 1 ... >6 7< [8] 9 10 ... 15 next page)
628
-		for ($nCont = $PageContiguous; $nCont >= 1; $nCont--)
629
-			if ($start >= $num_per_page * $nCont)
652
+		for ($nCont = $PageContiguous; $nCont >= 1; $nCont--) {
653
+					if ($start >= $num_per_page * $nCont)
630 654
 			{
631 655
 				$tmpStart = $start - $num_per_page * $nCont;
656
+		}
632 657
 				$pageindex .= sprintf($base_link, $tmpStart, $tmpStart / $num_per_page + 1);
633 658
 			}
634 659
 
635 660
 		// Show the current page. (prev page 1 ... 6 7 >[8]< 9 10 ... 15 next page)
636
-		if (!$start_invalid)
637
-			$pageindex .= sprintf($settings['page_index']['current_page'], $start / $num_per_page + 1);
638
-		else
639
-			$pageindex .= sprintf($base_link, $start, $start / $num_per_page + 1);
661
+		if (!$start_invalid) {
662
+					$pageindex .= sprintf($settings['page_index']['current_page'], $start / $num_per_page + 1);
663
+		} else {
664
+					$pageindex .= sprintf($base_link, $start, $start / $num_per_page + 1);
665
+		}
640 666
 
641 667
 		// Show the pages after the current one... (prev page 1 ... 6 7 [8] >9 10< ... 15 next page)
642 668
 		$tmpMaxPages = (int) (($max_value - 1) / $num_per_page) * $num_per_page;
643
-		for ($nCont = 1; $nCont <= $PageContiguous; $nCont++)
644
-			if ($start + $num_per_page * $nCont <= $tmpMaxPages)
669
+		for ($nCont = 1; $nCont <= $PageContiguous; $nCont++) {
670
+					if ($start + $num_per_page * $nCont <= $tmpMaxPages)
645 671
 			{
646 672
 				$tmpStart = $start + $num_per_page * $nCont;
673
+		}
647 674
 				$pageindex .= sprintf($base_link, $tmpStart, $tmpStart / $num_per_page + 1);
648 675
 			}
649 676
 
650 677
 		// Show the '...' part near the end. (prev page 1 ... 6 7 [8] 9 10 >...< 15 next page)
651
-		if ($start + $num_per_page * ($PageContiguous + 1) < $tmpMaxPages)
652
-			$pageindex .= strtr($settings['page_index']['expand_pages'], array(
678
+		if ($start + $num_per_page * ($PageContiguous + 1) < $tmpMaxPages) {
679
+					$pageindex .= strtr($settings['page_index']['expand_pages'], array(
653 680
 				'{LINK}' => JavaScriptEscape($smcFunc['htmlspecialchars']($base_link)),
654 681
 				'{FIRST_PAGE}' => $start + $num_per_page * ($PageContiguous + 1),
655 682
 				'{LAST_PAGE}' => $tmpMaxPages,
656 683
 				'{PER_PAGE}' => $num_per_page,
657 684
 			));
685
+		}
658 686
 
659 687
 		// Show the last number in the list. (prev page 1 ... 6 7 [8] 9 10 ... >15<  next page)
660
-		if ($start + $num_per_page * $PageContiguous < $tmpMaxPages)
661
-			$pageindex .= sprintf($base_link, $tmpMaxPages, $tmpMaxPages / $num_per_page + 1);
688
+		if ($start + $num_per_page * $PageContiguous < $tmpMaxPages) {
689
+					$pageindex .= sprintf($base_link, $tmpMaxPages, $tmpMaxPages / $num_per_page + 1);
690
+		}
662 691
 
663 692
 		// Show the "next page" link. (prev page 1 ... 6 7 [8] 9 10 ... 15 >next page<)
664
-		if ($start != $tmpMaxPages && $show_prevnext)
665
-			$pageindex .= sprintf($base_link, $start + $num_per_page, $settings['page_index']['next_page']);
693
+		if ($start != $tmpMaxPages && $show_prevnext) {
694
+					$pageindex .= sprintf($base_link, $start + $num_per_page, $settings['page_index']['next_page']);
695
+		}
666 696
 	}
667 697
 	$pageindex .= $settings['page_index']['extra_after'];
668 698
 
@@ -688,8 +718,9 @@  discard block
 block discarded – undo
688 718
 	if ($decimal_separator === null)
689 719
 	{
690 720
 		// Not set for whatever reason?
691
-		if (empty($txt['number_format']) || preg_match('~^1([^\d]*)?234([^\d]*)(0*?)$~', $txt['number_format'], $matches) != 1)
692
-			return $number;
721
+		if (empty($txt['number_format']) || preg_match('~^1([^\d]*)?234([^\d]*)(0*?)$~', $txt['number_format'], $matches) != 1) {
722
+					return $number;
723
+		}
693 724
 
694 725
 		// Cache these each load...
695 726
 		$thousands_separator = $matches[1];
@@ -721,17 +752,20 @@  discard block
 block discarded – undo
721 752
 	static $non_twelve_hour;
722 753
 
723 754
 	// Offset the time.
724
-	if (!$offset_type)
725
-		$time = $log_time + ($user_info['time_offset'] + $modSettings['time_offset']) * 3600;
755
+	if (!$offset_type) {
756
+			$time = $log_time + ($user_info['time_offset'] + $modSettings['time_offset']) * 3600;
757
+	}
726 758
 	// Just the forum offset?
727
-	elseif ($offset_type == 'forum')
728
-		$time = $log_time + $modSettings['time_offset'] * 3600;
729
-	else
730
-		$time = $log_time;
759
+	elseif ($offset_type == 'forum') {
760
+			$time = $log_time + $modSettings['time_offset'] * 3600;
761
+	} else {
762
+			$time = $log_time;
763
+	}
731 764
 
732 765
 	// We can't have a negative date (on Windows, at least.)
733
-	if ($log_time < 0)
734
-		$log_time = 0;
766
+	if ($log_time < 0) {
767
+			$log_time = 0;
768
+	}
735 769
 
736 770
 	// Today and Yesterday?
737 771
 	if ($modSettings['todayMod'] >= 1 && $show_today === true)
@@ -748,46 +782,53 @@  discard block
 block discarded – undo
748 782
 		{
749 783
 			$h = strpos($user_info['time_format'], '%l') === false ? '%I' : '%l';
750 784
 			$today_fmt = $h . ':%M' . $s . ' %p';
785
+		} else {
786
+					$today_fmt = '%H:%M' . $s;
751 787
 		}
752
-		else
753
-			$today_fmt = '%H:%M' . $s;
754 788
 
755 789
 		// Same day of the year, same year.... Today!
756
-		if ($then['yday'] == $now['yday'] && $then['year'] == $now['year'])
757
-			return $txt['today'] . timeformat($log_time, $today_fmt, $offset_type);
790
+		if ($then['yday'] == $now['yday'] && $then['year'] == $now['year']) {
791
+					return $txt['today'] . timeformat($log_time, $today_fmt, $offset_type);
792
+		}
758 793
 
759 794
 		// Day-of-year is one less and same year, or it's the first of the year and that's the last of the year...
760
-		if ($modSettings['todayMod'] == '2' && (($then['yday'] == $now['yday'] - 1 && $then['year'] == $now['year']) || ($now['yday'] == 0 && $then['year'] == $now['year'] - 1) && $then['mon'] == 12 && $then['mday'] == 31))
761
-			return $txt['yesterday'] . timeformat($log_time, $today_fmt, $offset_type);
795
+		if ($modSettings['todayMod'] == '2' && (($then['yday'] == $now['yday'] - 1 && $then['year'] == $now['year']) || ($now['yday'] == 0 && $then['year'] == $now['year'] - 1) && $then['mon'] == 12 && $then['mday'] == 31)) {
796
+					return $txt['yesterday'] . timeformat($log_time, $today_fmt, $offset_type);
797
+		}
762 798
 	}
763 799
 
764 800
 	$str = !is_bool($show_today) ? $show_today : $user_info['time_format'];
765 801
 
766 802
 	if (setlocale(LC_TIME, $txt['lang_locale']))
767 803
 	{
768
-		if (!isset($non_twelve_hour))
769
-			$non_twelve_hour = trim(strftime('%p')) === '';
770
-		if ($non_twelve_hour && strpos($str, '%p') !== false)
771
-			$str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str);
804
+		if (!isset($non_twelve_hour)) {
805
+					$non_twelve_hour = trim(strftime('%p')) === '';
806
+		}
807
+		if ($non_twelve_hour && strpos($str, '%p') !== false) {
808
+					$str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str);
809
+		}
772 810
 
773
-		foreach (array('%a', '%A', '%b', '%B') as $token)
774
-			if (strpos($str, $token) !== false)
811
+		foreach (array('%a', '%A', '%b', '%B') as $token) {
812
+					if (strpos($str, $token) !== false)
775 813
 				$str = str_replace($token, strftime($token, $time), $str);
776
-	}
777
-	else
814
+		}
815
+	} else
778 816
 	{
779 817
 		// Do-it-yourself time localization.  Fun.
780
-		foreach (array('%a' => 'days_short', '%A' => 'days', '%b' => 'months_short', '%B' => 'months') as $token => $text_label)
781
-			if (strpos($str, $token) !== false)
818
+		foreach (array('%a' => 'days_short', '%A' => 'days', '%b' => 'months_short', '%B' => 'months') as $token => $text_label) {
819
+					if (strpos($str, $token) !== false)
782 820
 				$str = str_replace($token, $txt[$text_label][(int) strftime($token === '%a' || $token === '%A' ? '%w' : '%m', $time)], $str);
821
+		}
783 822
 
784
-		if (strpos($str, '%p') !== false)
785
-			$str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str);
823
+		if (strpos($str, '%p') !== false) {
824
+					$str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str);
825
+		}
786 826
 	}
787 827
 
788 828
 	// Windows doesn't support %e; on some versions, strftime fails altogether if used, so let's prevent that.
789
-	if ($context['server']['is_windows'] && strpos($str, '%e') !== false)
790
-		$str = str_replace('%e', ltrim(strftime('%d', $time), '0'), $str);
829
+	if ($context['server']['is_windows'] && strpos($str, '%e') !== false) {
830
+			$str = str_replace('%e', ltrim(strftime('%d', $time), '0'), $str);
831
+	}
791 832
 
792 833
 	// Format any other characters..
793 834
 	return strftime($str, $time);
@@ -809,16 +850,19 @@  discard block
 block discarded – undo
809 850
 	static $translation = array();
810 851
 
811 852
 	// Determine the character set... Default to UTF-8
812
-	if (empty($context['character_set']))
813
-		$charset = 'UTF-8';
853
+	if (empty($context['character_set'])) {
854
+			$charset = 'UTF-8';
855
+	}
814 856
 	// Use ISO-8859-1 in place of non-supported ISO-8859 charsets...
815
-	elseif (strpos($context['character_set'], 'ISO-8859-') !== false && !in_array($context['character_set'], array('ISO-8859-5', 'ISO-8859-15')))
816
-		$charset = 'ISO-8859-1';
817
-	else
818
-		$charset = $context['character_set'];
857
+	elseif (strpos($context['character_set'], 'ISO-8859-') !== false && !in_array($context['character_set'], array('ISO-8859-5', 'ISO-8859-15'))) {
858
+			$charset = 'ISO-8859-1';
859
+	} else {
860
+			$charset = $context['character_set'];
861
+	}
819 862
 
820
-	if (empty($translation))
821
-		$translation = array_flip(get_html_translation_table(HTML_SPECIALCHARS, ENT_QUOTES, $charset)) + array('&#039;' => '\'', '&#39;' => '\'', '&nbsp;' => ' ');
863
+	if (empty($translation)) {
864
+			$translation = array_flip(get_html_translation_table(HTML_SPECIALCHARS, ENT_QUOTES, $charset)) + array('&#039;' => '\'', '&#39;' => '\'', '&nbsp;' => ' ');
865
+	}
822 866
 
823 867
 	return strtr($string, $translation);
824 868
 }
@@ -840,8 +884,9 @@  discard block
 block discarded – undo
840 884
 	global $smcFunc;
841 885
 
842 886
 	// It was already short enough!
843
-	if ($smcFunc['strlen']($subject) <= $len)
844
-		return $subject;
887
+	if ($smcFunc['strlen']($subject) <= $len) {
888
+			return $subject;
889
+	}
845 890
 
846 891
 	// Shorten it by the length it was too long, and strip off junk from the end.
847 892
 	return $smcFunc['substr']($subject, 0, $len) . '...';
@@ -860,10 +905,11 @@  discard block
 block discarded – undo
860 905
 {
861 906
 	global $user_info, $modSettings;
862 907
 
863
-	if ($timestamp === null)
864
-		$timestamp = time();
865
-	elseif ($timestamp == 0)
866
-		return 0;
908
+	if ($timestamp === null) {
909
+			$timestamp = time();
910
+	} elseif ($timestamp == 0) {
911
+			return 0;
912
+	}
867 913
 
868 914
 	return $timestamp + ($modSettings['time_offset'] + ($use_user_offset ? $user_info['time_offset'] : 0)) * 3600;
869 915
 }
@@ -892,8 +938,9 @@  discard block
 block discarded – undo
892 938
 		$array[$i] = $array[$j];
893 939
 		$array[$j] = $temp;
894 940
 
895
-		for ($i = 1; $p[$i] == 0; $i++)
896
-			$p[$i] = 1;
941
+		for ($i = 1; $p[$i] == 0; $i++) {
942
+					$p[$i] = 1;
943
+		}
897 944
 
898 945
 		$orders[] = $array;
899 946
 	}
@@ -925,12 +972,14 @@  discard block
 block discarded – undo
925 972
 	static $disabled;
926 973
 
927 974
 	// Don't waste cycles
928
-	if ($message === '')
929
-		return '';
975
+	if ($message === '') {
976
+			return '';
977
+	}
930 978
 
931 979
 	// Just in case it wasn't determined yet whether UTF-8 is enabled.
932
-	if (!isset($context['utf8']))
933
-		$context['utf8'] = (empty($modSettings['global_character_set']) ? $txt['lang_character_set'] : $modSettings['global_character_set']) === 'UTF-8';
980
+	if (!isset($context['utf8'])) {
981
+			$context['utf8'] = (empty($modSettings['global_character_set']) ? $txt['lang_character_set'] : $modSettings['global_character_set']) === 'UTF-8';
982
+	}
934 983
 
935 984
 	// Clean up any cut/paste issues we may have
936 985
 	$message = sanitizeMSCutPaste($message);
@@ -942,13 +991,15 @@  discard block
 block discarded – undo
942 991
 		return $message;
943 992
 	}
944 993
 
945
-	if ($smileys !== null && ($smileys == '1' || $smileys == '0'))
946
-		$smileys = (bool) $smileys;
994
+	if ($smileys !== null && ($smileys == '1' || $smileys == '0')) {
995
+			$smileys = (bool) $smileys;
996
+	}
947 997
 
948 998
 	if (empty($modSettings['enableBBC']) && $message !== false)
949 999
 	{
950
-		if ($smileys === true)
951
-			parsesmileys($message);
1000
+		if ($smileys === true) {
1001
+					parsesmileys($message);
1002
+		}
952 1003
 
953 1004
 		return $message;
954 1005
 	}
@@ -961,8 +1012,9 @@  discard block
 block discarded – undo
961 1012
 	}
962 1013
 
963 1014
 	// Ensure $modSettings['tld_regex'] contains a valid regex for the autolinker
964
-	if (!empty($modSettings['autoLinkUrls']))
965
-		set_tld_regex();
1015
+	if (!empty($modSettings['autoLinkUrls'])) {
1016
+			set_tld_regex();
1017
+	}
966 1018
 
967 1019
 	// Allow mods access before entering the main parse_bbc loop
968 1020
 	call_integration_hook('integrate_pre_parsebbc', array(&$message, &$smileys, &$cache_id, &$parse_tags));
@@ -976,12 +1028,14 @@  discard block
 block discarded – undo
976 1028
 
977 1029
 			$temp = explode(',', strtolower($modSettings['disabledBBC']));
978 1030
 
979
-			foreach ($temp as $tag)
980
-				$disabled[trim($tag)] = true;
1031
+			foreach ($temp as $tag) {
1032
+							$disabled[trim($tag)] = true;
1033
+			}
981 1034
 		}
982 1035
 
983
-		if (empty($modSettings['enableEmbeddedFlash']))
984
-			$disabled['flash'] = true;
1036
+		if (empty($modSettings['enableEmbeddedFlash'])) {
1037
+					$disabled['flash'] = true;
1038
+		}
985 1039
 
986 1040
 		/* The following bbc are formatted as an array, with keys as follows:
987 1041
 
@@ -1102,8 +1156,9 @@  discard block
 block discarded – undo
1102 1156
 					$returnContext = '';
1103 1157
 
1104 1158
 					// BBC or the entire attachments feature is disabled
1105
-					if (empty($modSettings['attachmentEnable']) || !empty($disabled['attach']))
1106
-						return $data;
1159
+					if (empty($modSettings['attachmentEnable']) || !empty($disabled['attach'])) {
1160
+											return $data;
1161
+					}
1107 1162
 
1108 1163
 					// Save the attach ID.
1109 1164
 					$attachID = $data;
@@ -1114,8 +1169,9 @@  discard block
 block discarded – undo
1114 1169
 					$currentAttachment = parseAttachBBC($attachID);
1115 1170
 
1116 1171
 					// parseAttachBBC will return a string ($txt key) rather than diying with a fatal_error. Up to you to decide what to do.
1117
-					if (is_string($currentAttachment))
1118
-						return $data = !empty($txt[$currentAttachment]) ? $txt[$currentAttachment] : $currentAttachment;
1172
+					if (is_string($currentAttachment)) {
1173
+											return $data = !empty($txt[$currentAttachment]) ? $txt[$currentAttachment] : $currentAttachment;
1174
+					}
1119 1175
 
1120 1176
 					if (!empty($currentAttachment['is_image']))
1121 1177
 					{
@@ -1131,15 +1187,17 @@  discard block
 block discarded – undo
1131 1187
 							$height = ' height="' . $currentAttachment['height'] . '"';
1132 1188
 						}
1133 1189
 
1134
-						if ($currentAttachment['thumbnail']['has_thumb'] && empty($params['{width}']) && empty($params['{height}']))
1135
-							$returnContext .= '<a href="'. $currentAttachment['href']. ';image" id="link_'. $currentAttachment['id']. '" onclick="'. $currentAttachment['thumbnail']['javascript']. '"><img src="'. $currentAttachment['thumbnail']['href']. '" alt="' . $currentAttachment['name'] . '" id="thumb_'. $currentAttachment['id']. '"></a>';
1136
-						else
1137
-							$returnContext .= '<img src="' . $currentAttachment['href'] . ';image" alt="' . $currentAttachment['name'] . '"' . $width . $height . '/>';
1190
+						if ($currentAttachment['thumbnail']['has_thumb'] && empty($params['{width}']) && empty($params['{height}'])) {
1191
+													$returnContext .= '<a href="'. $currentAttachment['href']. ';image" id="link_'. $currentAttachment['id']. '" onclick="'. $currentAttachment['thumbnail']['javascript']. '"><img src="'. $currentAttachment['thumbnail']['href']. '" alt="' . $currentAttachment['name'] . '" id="thumb_'. $currentAttachment['id']. '"></a>';
1192
+						} else {
1193
+													$returnContext .= '<img src="' . $currentAttachment['href'] . ';image" alt="' . $currentAttachment['name'] . '"' . $width . $height . '/>';
1194
+						}
1138 1195
 					}
1139 1196
 
1140 1197
 					// No image. Show a link.
1141
-					else
1142
-						$returnContext .= $currentAttachment['link'];
1198
+					else {
1199
+											$returnContext .= $currentAttachment['link'];
1200
+					}
1143 1201
 
1144 1202
 					// Gotta append what we just did.
1145 1203
 					$data = $returnContext;
@@ -1170,8 +1228,9 @@  discard block
 block discarded – undo
1170 1228
 						for ($php_i = 0, $php_n = count($php_parts); $php_i < $php_n; $php_i++)
1171 1229
 						{
1172 1230
 							// Do PHP code coloring?
1173
-							if ($php_parts[$php_i] != '&lt;?php')
1174
-								continue;
1231
+							if ($php_parts[$php_i] != '&lt;?php') {
1232
+															continue;
1233
+							}
1175 1234
 
1176 1235
 							$php_string = '';
1177 1236
 							while ($php_i + 1 < count($php_parts) && $php_parts[$php_i] != '?&gt;')
@@ -1187,8 +1246,9 @@  discard block
 block discarded – undo
1187 1246
 						$data = str_replace("\t", "<span style=\"white-space: pre;\">\t</span>", $data);
1188 1247
 
1189 1248
 						// Recent Opera bug requiring temporary fix. &nsbp; is needed before </code> to avoid broken selection.
1190
-						if ($context['browser']['is_opera'])
1191
-							$data .= '&nbsp;';
1249
+						if ($context['browser']['is_opera']) {
1250
+													$data .= '&nbsp;';
1251
+						}
1192 1252
 					}
1193 1253
 				},
1194 1254
 				'block_level' => true,
@@ -1207,8 +1267,9 @@  discard block
 block discarded – undo
1207 1267
 						for ($php_i = 0, $php_n = count($php_parts); $php_i < $php_n; $php_i++)
1208 1268
 						{
1209 1269
 							// Do PHP code coloring?
1210
-							if ($php_parts[$php_i] != '&lt;?php')
1211
-								continue;
1270
+							if ($php_parts[$php_i] != '&lt;?php') {
1271
+															continue;
1272
+							}
1212 1273
 
1213 1274
 							$php_string = '';
1214 1275
 							while ($php_i + 1 < count($php_parts) && $php_parts[$php_i] != '?&gt;')
@@ -1224,8 +1285,9 @@  discard block
 block discarded – undo
1224 1285
 						$data[0] = str_replace("\t", "<span style=\"white-space: pre;\">\t</span>", $data[0]);
1225 1286
 
1226 1287
 						// Recent Opera bug requiring temporary fix. &nsbp; is needed before </code> to avoid broken selection.
1227
-						if ($context['browser']['is_opera'])
1228
-							$data[0] .= '&nbsp;';
1288
+						if ($context['browser']['is_opera']) {
1289
+													$data[0] .= '&nbsp;';
1290
+						}
1229 1291
 					}
1230 1292
 				},
1231 1293
 				'block_level' => true,
@@ -1263,11 +1325,13 @@  discard block
 block discarded – undo
1263 1325
 				'content' => '<embed type="application/x-shockwave-flash" src="$1" width="$2" height="$3" play="true" loop="true" quality="high" AllowScriptAccess="never">',
1264 1326
 				'validate' => function (&$tag, &$data, $disabled)
1265 1327
 				{
1266
-					if (isset($disabled['url']))
1267
-						$tag['content'] = '$1';
1328
+					if (isset($disabled['url'])) {
1329
+											$tag['content'] = '$1';
1330
+					}
1268 1331
 					$scheme = parse_url($data[0], PHP_URL_SCHEME);
1269
-					if (empty($scheme))
1270
-						$data[0] = '//' . ltrim($data[0], ':/');
1332
+					if (empty($scheme)) {
1333
+											$data[0] = '//' . ltrim($data[0], ':/');
1334
+					}
1271 1335
 				},
1272 1336
 				'disabled_content' => '<a href="$1" target="_blank" class="new_win">$1</a>',
1273 1337
 			),
@@ -1314,14 +1378,16 @@  discard block
 block discarded – undo
1314 1378
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1315 1379
 					if ($image_proxy_enabled)
1316 1380
 					{
1317
-						if (empty($scheme))
1318
-							$data = 'http://' . ltrim($data, ':/');
1381
+						if (empty($scheme)) {
1382
+													$data = 'http://' . ltrim($data, ':/');
1383
+						}
1319 1384
 
1320
-						if ($scheme != 'https')
1321
-							$data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret);
1385
+						if ($scheme != 'https') {
1386
+													$data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret);
1387
+						}
1388
+					} elseif (empty($scheme)) {
1389
+											$data = '//' . ltrim($data, ':/');
1322 1390
 					}
1323
-					elseif (empty($scheme))
1324
-						$data = '//' . ltrim($data, ':/');
1325 1391
 				},
1326 1392
 				'disabled_content' => '($1)',
1327 1393
 			),
@@ -1337,14 +1403,16 @@  discard block
 block discarded – undo
1337 1403
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1338 1404
 					if ($image_proxy_enabled)
1339 1405
 					{
1340
-						if (empty($scheme))
1341
-							$data = 'http://' . ltrim($data, ':/');
1406
+						if (empty($scheme)) {
1407
+													$data = 'http://' . ltrim($data, ':/');
1408
+						}
1342 1409
 
1343
-						if ($scheme != 'https')
1344
-							$data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret);
1410
+						if ($scheme != 'https') {
1411
+													$data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret);
1412
+						}
1413
+					} elseif (empty($scheme)) {
1414
+											$data = '//' . ltrim($data, ':/');
1345 1415
 					}
1346
-					elseif (empty($scheme))
1347
-						$data = '//' . ltrim($data, ':/');
1348 1416
 				},
1349 1417
 				'disabled_content' => '($1)',
1350 1418
 			),
@@ -1356,8 +1424,9 @@  discard block
 block discarded – undo
1356 1424
 				{
1357 1425
 					$data = strtr($data, array('<br>' => ''));
1358 1426
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1359
-					if (empty($scheme))
1360
-						$data = '//' . ltrim($data, ':/');
1427
+					if (empty($scheme)) {
1428
+											$data = '//' . ltrim($data, ':/');
1429
+					}
1361 1430
 				},
1362 1431
 			),
1363 1432
 			array(
@@ -1368,13 +1437,14 @@  discard block
 block discarded – undo
1368 1437
 				'after' => '</a>',
1369 1438
 				'validate' => function (&$tag, &$data, $disabled)
1370 1439
 				{
1371
-					if (substr($data, 0, 1) == '#')
1372
-						$data = '#post_' . substr($data, 1);
1373
-					else
1440
+					if (substr($data, 0, 1) == '#') {
1441
+											$data = '#post_' . substr($data, 1);
1442
+					} else
1374 1443
 					{
1375 1444
 						$scheme = parse_url($data, PHP_URL_SCHEME);
1376
-						if (empty($scheme))
1377
-							$data = '//' . ltrim($data, ':/');
1445
+						if (empty($scheme)) {
1446
+													$data = '//' . ltrim($data, ':/');
1447
+						}
1378 1448
 					}
1379 1449
 				},
1380 1450
 				'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
@@ -1452,8 +1522,9 @@  discard block
 block discarded – undo
1452 1522
 					{
1453 1523
 						$add_begin = substr(trim($data), 0, 5) != '&lt;?';
1454 1524
 						$data = highlight_php_code($add_begin ? '&lt;?php ' . $data . '?&gt;' : $data);
1455
-						if ($add_begin)
1456
-							$data = preg_replace(array('~^(.+?)&lt;\?.{0,40}?php(?:&nbsp;|\s)~', '~\?&gt;((?:</(font|span)>)*)$~'), '$1', $data, 2);
1525
+						if ($add_begin) {
1526
+													$data = preg_replace(array('~^(.+?)&lt;\?.{0,40}?php(?:&nbsp;|\s)~', '~\?&gt;((?:</(font|span)>)*)$~'), '$1', $data, 2);
1527
+						}
1457 1528
 					}
1458 1529
 				},
1459 1530
 				'block_level' => false,
@@ -1584,10 +1655,11 @@  discard block
 block discarded – undo
1584 1655
 				'content' => '$1',
1585 1656
 				'validate' => function (&$tag, &$data, $disabled)
1586 1657
 				{
1587
-					if (is_numeric($data))
1588
-						$data = timeformat($data);
1589
-					else
1590
-						$tag['content'] = '[time]$1[/time]';
1658
+					if (is_numeric($data)) {
1659
+											$data = timeformat($data);
1660
+					} else {
1661
+											$tag['content'] = '[time]$1[/time]';
1662
+					}
1591 1663
 				},
1592 1664
 			),
1593 1665
 			array(
@@ -1614,8 +1686,9 @@  discard block
 block discarded – undo
1614 1686
 				{
1615 1687
 					$data = strtr($data, array('<br>' => ''));
1616 1688
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1617
-					if (empty($scheme))
1618
-						$data = '//' . ltrim($data, ':/');
1689
+					if (empty($scheme)) {
1690
+											$data = '//' . ltrim($data, ':/');
1691
+					}
1619 1692
 				},
1620 1693
 			),
1621 1694
 			array(
@@ -1627,8 +1700,9 @@  discard block
 block discarded – undo
1627 1700
 				'validate' => function (&$tag, &$data, $disabled)
1628 1701
 				{
1629 1702
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1630
-					if (empty($scheme))
1631
-						$data = '//' . ltrim($data, ':/');
1703
+					if (empty($scheme)) {
1704
+											$data = '//' . ltrim($data, ':/');
1705
+					}
1632 1706
 				},
1633 1707
 				'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
1634 1708
 				'disabled_after' => ' ($1)',
@@ -1648,8 +1722,9 @@  discard block
 block discarded – undo
1648 1722
 		// This is mainly for the bbc manager, so it's easy to add tags above.  Custom BBC should be added above this line.
1649 1723
 		if ($message === false)
1650 1724
 		{
1651
-			if (isset($temp_bbc))
1652
-				$bbc_codes = $temp_bbc;
1725
+			if (isset($temp_bbc)) {
1726
+							$bbc_codes = $temp_bbc;
1727
+			}
1653 1728
 			usort($codes, function ($a, $b) {
1654 1729
 				return strcmp($a['tag'], $b['tag']);
1655 1730
 			});
@@ -1669,8 +1744,9 @@  discard block
 block discarded – undo
1669 1744
 		);
1670 1745
 		if (!isset($disabled['li']) && !isset($disabled['list']))
1671 1746
 		{
1672
-			foreach ($itemcodes as $c => $dummy)
1673
-				$bbc_codes[$c] = array();
1747
+			foreach ($itemcodes as $c => $dummy) {
1748
+							$bbc_codes[$c] = array();
1749
+			}
1674 1750
 		}
1675 1751
 
1676 1752
 		// Shhhh!
@@ -1691,12 +1767,14 @@  discard block
 block discarded – undo
1691 1767
 		foreach ($codes as $code)
1692 1768
 		{
1693 1769
 			// Make it easier to process parameters later
1694
-			if (!empty($code['parameters']))
1695
-				ksort($code['parameters'], SORT_STRING);
1770
+			if (!empty($code['parameters'])) {
1771
+							ksort($code['parameters'], SORT_STRING);
1772
+			}
1696 1773
 
1697 1774
 			// If we are not doing every tag only do ones we are interested in.
1698
-			if (empty($parse_tags) || in_array($code['tag'], $parse_tags))
1699
-				$bbc_codes[substr($code['tag'], 0, 1)][] = $code;
1775
+			if (empty($parse_tags) || in_array($code['tag'], $parse_tags)) {
1776
+							$bbc_codes[substr($code['tag'], 0, 1)][] = $code;
1777
+			}
1700 1778
 		}
1701 1779
 		$codes = null;
1702 1780
 	}
@@ -1707,8 +1785,9 @@  discard block
 block discarded – undo
1707 1785
 		// It's likely this will change if the message is modified.
1708 1786
 		$cache_key = 'parse:' . $cache_id . '-' . md5(md5($message) . '-' . $smileys . (empty($disabled) ? '' : implode(',', array_keys($disabled))) . json_encode($context['browser']) . $txt['lang_locale'] . $user_info['time_offset'] . $user_info['time_format']);
1709 1787
 
1710
-		if (($temp = cache_get_data($cache_key, 240)) != null)
1711
-			return $temp;
1788
+		if (($temp = cache_get_data($cache_key, 240)) != null) {
1789
+					return $temp;
1790
+		}
1712 1791
 
1713 1792
 		$cache_t = microtime();
1714 1793
 	}
@@ -1740,8 +1819,9 @@  discard block
 block discarded – undo
1740 1819
 		$disabled['flash'] = true;
1741 1820
 
1742 1821
 		// @todo Change maybe?
1743
-		if (!isset($_GET['images']))
1744
-			$disabled['img'] = true;
1822
+		if (!isset($_GET['images'])) {
1823
+					$disabled['img'] = true;
1824
+		}
1745 1825
 
1746 1826
 		// @todo Interface/setting to add more?
1747 1827
 	}
@@ -1767,8 +1847,9 @@  discard block
 block discarded – undo
1767 1847
 		$pos = isset($matches[0][1]) ? $matches[0][1] : false;
1768 1848
 
1769 1849
 		// Failsafe.
1770
-		if ($pos === false || $last_pos > $pos)
1771
-			$pos = strlen($message) + 1;
1850
+		if ($pos === false || $last_pos > $pos) {
1851
+					$pos = strlen($message) + 1;
1852
+		}
1772 1853
 
1773 1854
 		// Can't have a one letter smiley, URL, or email! (sorry.)
1774 1855
 		if ($last_pos < $pos - 1)
@@ -1787,8 +1868,9 @@  discard block
 block discarded – undo
1787 1868
 
1788 1869
 				// <br> should be empty.
1789 1870
 				$empty_tags = array('br', 'hr');
1790
-				foreach ($empty_tags as $tag)
1791
-					$data = str_replace(array('&lt;' . $tag . '&gt;', '&lt;' . $tag . '/&gt;', '&lt;' . $tag . ' /&gt;'), '[' . $tag . ' /]', $data);
1871
+				foreach ($empty_tags as $tag) {
1872
+									$data = str_replace(array('&lt;' . $tag . '&gt;', '&lt;' . $tag . '/&gt;', '&lt;' . $tag . ' /&gt;'), '[' . $tag . ' /]', $data);
1873
+				}
1792 1874
 
1793 1875
 				// b, u, i, s, pre... basic tags.
1794 1876
 				$closable_tags = array('b', 'u', 'i', 's', 'em', 'ins', 'del', 'pre', 'blockquote');
@@ -1797,8 +1879,9 @@  discard block
 block discarded – undo
1797 1879
 					$diff = substr_count($data, '&lt;' . $tag . '&gt;') - substr_count($data, '&lt;/' . $tag . '&gt;');
1798 1880
 					$data = strtr($data, array('&lt;' . $tag . '&gt;' => '<' . $tag . '>', '&lt;/' . $tag . '&gt;' => '</' . $tag . '>'));
1799 1881
 
1800
-					if ($diff > 0)
1801
-						$data = substr($data, 0, -1) . str_repeat('</' . $tag . '>', $diff) . substr($data, -1);
1882
+					if ($diff > 0) {
1883
+											$data = substr($data, 0, -1) . str_repeat('</' . $tag . '>', $diff) . substr($data, -1);
1884
+					}
1802 1885
 				}
1803 1886
 
1804 1887
 				// Do <img ...> - with security... action= -> action-.
@@ -1811,8 +1894,9 @@  discard block
 block discarded – undo
1811 1894
 						$alt = empty($matches[3][$match]) ? '' : ' alt=' . preg_replace('~^&quot;|&quot;$~', '', $matches[3][$match]);
1812 1895
 
1813 1896
 						// Remove action= from the URL - no funny business, now.
1814
-						if (preg_match('~action(=|%3d)(?!dlattach)~i', $imgtag) != 0)
1815
-							$imgtag = preg_replace('~action(?:=|%3d)(?!dlattach)~i', 'action-', $imgtag);
1897
+						if (preg_match('~action(=|%3d)(?!dlattach)~i', $imgtag) != 0) {
1898
+													$imgtag = preg_replace('~action(?:=|%3d)(?!dlattach)~i', 'action-', $imgtag);
1899
+						}
1816 1900
 
1817 1901
 						// Check if the image is larger than allowed.
1818 1902
 						if (!empty($modSettings['max_image_width']) && !empty($modSettings['max_image_height']))
@@ -1833,9 +1917,9 @@  discard block
 block discarded – undo
1833 1917
 
1834 1918
 							// Set the new image tag.
1835 1919
 							$replaces[$matches[0][$match]] = '[img width=' . $width . ' height=' . $height . $alt . ']' . $imgtag . '[/img]';
1920
+						} else {
1921
+													$replaces[$matches[0][$match]] = '[img' . $alt . ']' . $imgtag . '[/img]';
1836 1922
 						}
1837
-						else
1838
-							$replaces[$matches[0][$match]] = '[img' . $alt . ']' . $imgtag . '[/img]';
1839 1923
 					}
1840 1924
 
1841 1925
 					$data = strtr($data, $replaces);
@@ -1848,16 +1932,18 @@  discard block
 block discarded – undo
1848 1932
 				$no_autolink_area = false;
1849 1933
 				if (!empty($open_tags))
1850 1934
 				{
1851
-					foreach ($open_tags as $open_tag)
1852
-						if (in_array($open_tag['tag'], $no_autolink_tags))
1935
+					foreach ($open_tags as $open_tag) {
1936
+											if (in_array($open_tag['tag'], $no_autolink_tags))
1853 1937
 							$no_autolink_area = true;
1938
+					}
1854 1939
 				}
1855 1940
 
1856 1941
 				// Don't go backwards.
1857 1942
 				// @todo Don't think is the real solution....
1858 1943
 				$lastAutoPos = isset($lastAutoPos) ? $lastAutoPos : 0;
1859
-				if ($pos < $lastAutoPos)
1860
-					$no_autolink_area = true;
1944
+				if ($pos < $lastAutoPos) {
1945
+									$no_autolink_area = true;
1946
+				}
1861 1947
 				$lastAutoPos = $pos;
1862 1948
 
1863 1949
 				if (!$no_autolink_area)
@@ -1966,17 +2052,19 @@  discard block
 block discarded – undo
1966 2052
 							if ($scheme == 'mailto')
1967 2053
 							{
1968 2054
 								$email_address = str_replace('mailto:', '', $url);
1969
-								if (!isset($disabled['email']) && filter_var($email_address, FILTER_VALIDATE_EMAIL) !== false)
1970
-									return '[email=' . $email_address . ']' . $url . '[/email]';
1971
-								else
1972
-									return $url;
2055
+								if (!isset($disabled['email']) && filter_var($email_address, FILTER_VALIDATE_EMAIL) !== false) {
2056
+																	return '[email=' . $email_address . ']' . $url . '[/email]';
2057
+								} else {
2058
+																	return $url;
2059
+								}
1973 2060
 							}
1974 2061
 
1975 2062
 							// Are we linking a schemeless URL or naked domain name (e.g. "example.com")?
1976
-							if (empty($scheme))
1977
-								$fullUrl = '//' . ltrim($url, ':/');
1978
-							else
1979
-								$fullUrl = $url;
2063
+							if (empty($scheme)) {
2064
+															$fullUrl = '//' . ltrim($url, ':/');
2065
+							} else {
2066
+															$fullUrl = $url;
2067
+							}
1980 2068
 
1981 2069
 							return '[url=&quot;' . str_replace(array('[', ']'), array('&#91;', '&#93;'), $fullUrl) . '&quot;]' . $url . '[/url]';
1982 2070
 						}, $data);
@@ -2025,16 +2113,18 @@  discard block
 block discarded – undo
2025 2113
 		}
2026 2114
 
2027 2115
 		// Are we there yet?  Are we there yet?
2028
-		if ($pos >= strlen($message) - 1)
2029
-			break;
2116
+		if ($pos >= strlen($message) - 1) {
2117
+					break;
2118
+		}
2030 2119
 
2031 2120
 		$tags = strtolower($message[$pos + 1]);
2032 2121
 
2033 2122
 		if ($tags == '/' && !empty($open_tags))
2034 2123
 		{
2035 2124
 			$pos2 = strpos($message, ']', $pos + 1);
2036
-			if ($pos2 == $pos + 2)
2037
-				continue;
2125
+			if ($pos2 == $pos + 2) {
2126
+							continue;
2127
+			}
2038 2128
 
2039 2129
 			$look_for = strtolower(substr($message, $pos + 2, $pos2 - $pos - 2));
2040 2130
 
@@ -2044,8 +2134,9 @@  discard block
 block discarded – undo
2044 2134
 			do
2045 2135
 			{
2046 2136
 				$tag = array_pop($open_tags);
2047
-				if (!$tag)
2048
-					break;
2137
+				if (!$tag) {
2138
+									break;
2139
+				}
2049 2140
 
2050 2141
 				if (!empty($tag['block_level']))
2051 2142
 				{
@@ -2059,10 +2150,11 @@  discard block
 block discarded – undo
2059 2150
 					// The idea is, if we are LOOKING for a block level tag, we can close them on the way.
2060 2151
 					if (strlen($look_for) > 0 && isset($bbc_codes[$look_for[0]]))
2061 2152
 					{
2062
-						foreach ($bbc_codes[$look_for[0]] as $temp)
2063
-							if ($temp['tag'] == $look_for)
2153
+						foreach ($bbc_codes[$look_for[0]] as $temp) {
2154
+													if ($temp['tag'] == $look_for)
2064 2155
 							{
2065 2156
 								$block_level = !empty($temp['block_level']);
2157
+						}
2066 2158
 								break;
2067 2159
 							}
2068 2160
 					}
@@ -2084,15 +2176,15 @@  discard block
 block discarded – undo
2084 2176
 			{
2085 2177
 				$open_tags = $to_close;
2086 2178
 				continue;
2087
-			}
2088
-			elseif (!empty($to_close) && $tag['tag'] != $look_for)
2179
+			} elseif (!empty($to_close) && $tag['tag'] != $look_for)
2089 2180
 			{
2090 2181
 				if ($block_level === null && isset($look_for[0], $bbc_codes[$look_for[0]]))
2091 2182
 				{
2092
-					foreach ($bbc_codes[$look_for[0]] as $temp)
2093
-						if ($temp['tag'] == $look_for)
2183
+					foreach ($bbc_codes[$look_for[0]] as $temp) {
2184
+											if ($temp['tag'] == $look_for)
2094 2185
 						{
2095 2186
 							$block_level = !empty($temp['block_level']);
2187
+					}
2096 2188
 							break;
2097 2189
 						}
2098 2190
 				}
@@ -2100,8 +2192,9 @@  discard block
 block discarded – undo
2100 2192
 				// We're not looking for a block level tag (or maybe even a tag that exists...)
2101 2193
 				if (!$block_level)
2102 2194
 				{
2103
-					foreach ($to_close as $tag)
2104
-						array_push($open_tags, $tag);
2195
+					foreach ($to_close as $tag) {
2196
+											array_push($open_tags, $tag);
2197
+					}
2105 2198
 					continue;
2106 2199
 				}
2107 2200
 			}
@@ -2113,10 +2206,12 @@  discard block
 block discarded – undo
2113 2206
 				$pos2 = $pos - 1;
2114 2207
 
2115 2208
 				// See the comment at the end of the big loop - just eating whitespace ;).
2116
-				if (!empty($tag['block_level']) && substr($message, $pos, 4) == '<br>')
2117
-					$message = substr($message, 0, $pos) . substr($message, $pos + 4);
2118
-				if (!empty($tag['trim']) && $tag['trim'] != 'inside' && preg_match('~(<br>|&nbsp;|\s)*~', substr($message, $pos), $matches) != 0)
2119
-					$message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0]));
2209
+				if (!empty($tag['block_level']) && substr($message, $pos, 4) == '<br>') {
2210
+									$message = substr($message, 0, $pos) . substr($message, $pos + 4);
2211
+				}
2212
+				if (!empty($tag['trim']) && $tag['trim'] != 'inside' && preg_match('~(<br>|&nbsp;|\s)*~', substr($message, $pos), $matches) != 0) {
2213
+									$message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0]));
2214
+				}
2120 2215
 			}
2121 2216
 
2122 2217
 			if (!empty($to_close))
@@ -2129,8 +2224,9 @@  discard block
 block discarded – undo
2129 2224
 		}
2130 2225
 
2131 2226
 		// No tags for this character, so just keep going (fastest possible course.)
2132
-		if (!isset($bbc_codes[$tags]))
2133
-			continue;
2227
+		if (!isset($bbc_codes[$tags])) {
2228
+					continue;
2229
+		}
2134 2230
 
2135 2231
 		$inside = empty($open_tags) ? null : $open_tags[count($open_tags) - 1];
2136 2232
 		$tag = null;
@@ -2139,44 +2235,52 @@  discard block
 block discarded – undo
2139 2235
 			$pt_strlen = strlen($possible['tag']);
2140 2236
 
2141 2237
 			// Not a match?
2142
-			if (strtolower(substr($message, $pos + 1, $pt_strlen)) != $possible['tag'])
2143
-				continue;
2238
+			if (strtolower(substr($message, $pos + 1, $pt_strlen)) != $possible['tag']) {
2239
+							continue;
2240
+			}
2144 2241
 
2145 2242
 			$next_c = $message[$pos + 1 + $pt_strlen];
2146 2243
 
2147 2244
 			// A test validation?
2148
-			if (isset($possible['test']) && preg_match('~^' . $possible['test'] . '~', substr($message, $pos + 1 + $pt_strlen + 1)) === 0)
2149
-				continue;
2245
+			if (isset($possible['test']) && preg_match('~^' . $possible['test'] . '~', substr($message, $pos + 1 + $pt_strlen + 1)) === 0) {
2246
+							continue;
2247
+			}
2150 2248
 			// Do we want parameters?
2151 2249
 			elseif (!empty($possible['parameters']))
2152 2250
 			{
2153
-				if ($next_c != ' ')
2154
-					continue;
2155
-			}
2156
-			elseif (isset($possible['type']))
2251
+				if ($next_c != ' ') {
2252
+									continue;
2253
+				}
2254
+			} elseif (isset($possible['type']))
2157 2255
 			{
2158 2256
 				// Do we need an equal sign?
2159
-				if (in_array($possible['type'], array('unparsed_equals', 'unparsed_commas', 'unparsed_commas_content', 'unparsed_equals_content', 'parsed_equals')) && $next_c != '=')
2160
-					continue;
2257
+				if (in_array($possible['type'], array('unparsed_equals', 'unparsed_commas', 'unparsed_commas_content', 'unparsed_equals_content', 'parsed_equals')) && $next_c != '=') {
2258
+									continue;
2259
+				}
2161 2260
 				// Maybe we just want a /...
2162
-				if ($possible['type'] == 'closed' && $next_c != ']' && substr($message, $pos + 1 + $pt_strlen, 2) != '/]' && substr($message, $pos + 1 + $pt_strlen, 3) != ' /]')
2163
-					continue;
2261
+				if ($possible['type'] == 'closed' && $next_c != ']' && substr($message, $pos + 1 + $pt_strlen, 2) != '/]' && substr($message, $pos + 1 + $pt_strlen, 3) != ' /]') {
2262
+									continue;
2263
+				}
2164 2264
 				// An immediate ]?
2165
-				if ($possible['type'] == 'unparsed_content' && $next_c != ']')
2166
-					continue;
2265
+				if ($possible['type'] == 'unparsed_content' && $next_c != ']') {
2266
+									continue;
2267
+				}
2167 2268
 			}
2168 2269
 			// No type means 'parsed_content', which demands an immediate ] without parameters!
2169
-			elseif ($next_c != ']')
2170
-				continue;
2270
+			elseif ($next_c != ']') {
2271
+							continue;
2272
+			}
2171 2273
 
2172 2274
 			// Check allowed tree?
2173
-			if (isset($possible['require_parents']) && ($inside === null || !in_array($inside['tag'], $possible['require_parents'])))
2174
-				continue;
2175
-			elseif (isset($inside['require_children']) && !in_array($possible['tag'], $inside['require_children']))
2176
-				continue;
2275
+			if (isset($possible['require_parents']) && ($inside === null || !in_array($inside['tag'], $possible['require_parents']))) {
2276
+							continue;
2277
+			} elseif (isset($inside['require_children']) && !in_array($possible['tag'], $inside['require_children'])) {
2278
+							continue;
2279
+			}
2177 2280
 			// If this is in the list of disallowed child tags, don't parse it.
2178
-			elseif (isset($inside['disallow_children']) && in_array($possible['tag'], $inside['disallow_children']))
2179
-				continue;
2281
+			elseif (isset($inside['disallow_children']) && in_array($possible['tag'], $inside['disallow_children'])) {
2282
+							continue;
2283
+			}
2180 2284
 
2181 2285
 			$pos1 = $pos + 1 + $pt_strlen + 1;
2182 2286
 
@@ -2188,8 +2292,9 @@  discard block
 block discarded – undo
2188 2292
 				foreach ($open_tags as $open_quote)
2189 2293
 				{
2190 2294
 					// Every parent quote this quote has flips the styling
2191
-					if ($open_quote['tag'] == 'quote')
2192
-						$quote_alt = !$quote_alt;
2295
+					if ($open_quote['tag'] == 'quote') {
2296
+											$quote_alt = !$quote_alt;
2297
+					}
2193 2298
 				}
2194 2299
 				// Add a class to the quote to style alternating blockquotes
2195 2300
 				$possible['before'] = strtr($possible['before'], array('<blockquote>' => '<blockquote class="bbc_' . ($quote_alt ? 'alternate' : 'standard') . '_quote">'));
@@ -2200,8 +2305,9 @@  discard block
 block discarded – undo
2200 2305
 			{
2201 2306
 				// Build a regular expression for each parameter for the current tag.
2202 2307
 				$preg = array();
2203
-				foreach ($possible['parameters'] as $p => $info)
2204
-					$preg[] = '(\s+' . $p . '=' . (empty($info['quoted']) ? '' : '&quot;') . (isset($info['match']) ? $info['match'] : '(.+?)') . (empty($info['quoted']) ? '' : '&quot;') . '\s*)' . (empty($info['optional']) ? '' : '?');
2308
+				foreach ($possible['parameters'] as $p => $info) {
2309
+									$preg[] = '(\s+' . $p . '=' . (empty($info['quoted']) ? '' : '&quot;') . (isset($info['match']) ? $info['match'] : '(.+?)') . (empty($info['quoted']) ? '' : '&quot;') . '\s*)' . (empty($info['optional']) ? '' : '?');
2310
+				}
2205 2311
 
2206 2312
 				// Extract the string that potentially holds our parameters.
2207 2313
 				$blob = preg_split('~\[/?(?:' . $alltags_regex . ')~i', substr($message, $pos));
@@ -2221,24 +2327,27 @@  discard block
 block discarded – undo
2221 2327
 
2222 2328
 					$match = preg_match('~^' . implode('', $preg) . '$~i', implode(' ', $given_params), $matches) !== 0;
2223 2329
 
2224
-					if ($match)
2225
-						$blob_counter = count($blobs) + 1;
2330
+					if ($match) {
2331
+											$blob_counter = count($blobs) + 1;
2332
+					}
2226 2333
 				}
2227 2334
 
2228 2335
 				// Didn't match our parameter list, try the next possible.
2229
-				if (!$match)
2230
-					continue;
2336
+				if (!$match) {
2337
+									continue;
2338
+				}
2231 2339
 
2232 2340
 				$params = array();
2233 2341
 				for ($i = 1, $n = count($matches); $i < $n; $i += 2)
2234 2342
 				{
2235 2343
 					$key = strtok(ltrim($matches[$i]), '=');
2236
-					if (isset($possible['parameters'][$key]['value']))
2237
-						$params['{' . $key . '}'] = strtr($possible['parameters'][$key]['value'], array('$1' => $matches[$i + 1]));
2238
-					elseif (isset($possible['parameters'][$key]['validate']))
2239
-						$params['{' . $key . '}'] = $possible['parameters'][$key]['validate']($matches[$i + 1]);
2240
-					else
2241
-						$params['{' . $key . '}'] = $matches[$i + 1];
2344
+					if (isset($possible['parameters'][$key]['value'])) {
2345
+											$params['{' . $key . '}'] = strtr($possible['parameters'][$key]['value'], array('$1' => $matches[$i + 1]));
2346
+					} elseif (isset($possible['parameters'][$key]['validate'])) {
2347
+											$params['{' . $key . '}'] = $possible['parameters'][$key]['validate']($matches[$i + 1]);
2348
+					} else {
2349
+											$params['{' . $key . '}'] = $matches[$i + 1];
2350
+					}
2242 2351
 
2243 2352
 					// Just to make sure: replace any $ or { so they can't interpolate wrongly.
2244 2353
 					$params['{' . $key . '}'] = strtr($params['{' . $key . '}'], array('$' => '&#036;', '{' => '&#123;'));
@@ -2246,23 +2355,26 @@  discard block
 block discarded – undo
2246 2355
 
2247 2356
 				foreach ($possible['parameters'] as $p => $info)
2248 2357
 				{
2249
-					if (!isset($params['{' . $p . '}']))
2250
-						$params['{' . $p . '}'] = '';
2358
+					if (!isset($params['{' . $p . '}'])) {
2359
+											$params['{' . $p . '}'] = '';
2360
+					}
2251 2361
 				}
2252 2362
 
2253 2363
 				$tag = $possible;
2254 2364
 
2255 2365
 				// Put the parameters into the string.
2256
-				if (isset($tag['before']))
2257
-					$tag['before'] = strtr($tag['before'], $params);
2258
-				if (isset($tag['after']))
2259
-					$tag['after'] = strtr($tag['after'], $params);
2260
-				if (isset($tag['content']))
2261
-					$tag['content'] = strtr($tag['content'], $params);
2366
+				if (isset($tag['before'])) {
2367
+									$tag['before'] = strtr($tag['before'], $params);
2368
+				}
2369
+				if (isset($tag['after'])) {
2370
+									$tag['after'] = strtr($tag['after'], $params);
2371
+				}
2372
+				if (isset($tag['content'])) {
2373
+									$tag['content'] = strtr($tag['content'], $params);
2374
+				}
2262 2375
 
2263 2376
 				$pos1 += strlen($given_param_string);
2264
-			}
2265
-			else
2377
+			} else
2266 2378
 			{
2267 2379
 				$tag = $possible;
2268 2380
 				$params = array();
@@ -2273,8 +2385,9 @@  discard block
 block discarded – undo
2273 2385
 		// Item codes are complicated buggers... they are implicit [li]s and can make [list]s!
2274 2386
 		if ($smileys !== false && $tag === null && isset($itemcodes[$message[$pos + 1]]) && $message[$pos + 2] == ']' && !isset($disabled['list']) && !isset($disabled['li']))
2275 2387
 		{
2276
-			if ($message[$pos + 1] == '0' && !in_array($message[$pos - 1], array(';', ' ', "\t", "\n", '>')))
2277
-				continue;
2388
+			if ($message[$pos + 1] == '0' && !in_array($message[$pos - 1], array(';', ' ', "\t", "\n", '>'))) {
2389
+							continue;
2390
+			}
2278 2391
 
2279 2392
 			$tag = $itemcodes[$message[$pos + 1]];
2280 2393
 
@@ -2295,9 +2408,9 @@  discard block
 block discarded – undo
2295 2408
 			{
2296 2409
 				array_pop($open_tags);
2297 2410
 				$code = '</li>';
2411
+			} else {
2412
+							$code = '';
2298 2413
 			}
2299
-			else
2300
-				$code = '';
2301 2414
 
2302 2415
 			// Now we open a new tag.
2303 2416
 			$open_tags[] = array(
@@ -2344,12 +2457,14 @@  discard block
 block discarded – undo
2344 2457
 		}
2345 2458
 
2346 2459
 		// No tag?  Keep looking, then.  Silly people using brackets without actual tags.
2347
-		if ($tag === null)
2348
-			continue;
2460
+		if ($tag === null) {
2461
+					continue;
2462
+		}
2349 2463
 
2350 2464
 		// Propagate the list to the child (so wrapping the disallowed tag won't work either.)
2351
-		if (isset($inside['disallow_children']))
2352
-			$tag['disallow_children'] = isset($tag['disallow_children']) ? array_unique(array_merge($tag['disallow_children'], $inside['disallow_children'])) : $inside['disallow_children'];
2465
+		if (isset($inside['disallow_children'])) {
2466
+					$tag['disallow_children'] = isset($tag['disallow_children']) ? array_unique(array_merge($tag['disallow_children'], $inside['disallow_children'])) : $inside['disallow_children'];
2467
+		}
2353 2468
 
2354 2469
 		// Is this tag disabled?
2355 2470
 		if (isset($disabled[$tag['tag']]))
@@ -2359,14 +2474,13 @@  discard block
 block discarded – undo
2359 2474
 				$tag['before'] = !empty($tag['block_level']) ? '<div>' : '';
2360 2475
 				$tag['after'] = !empty($tag['block_level']) ? '</div>' : '';
2361 2476
 				$tag['content'] = isset($tag['type']) && $tag['type'] == 'closed' ? '' : (!empty($tag['block_level']) ? '<div>$1</div>' : '$1');
2362
-			}
2363
-			elseif (isset($tag['disabled_before']) || isset($tag['disabled_after']))
2477
+			} elseif (isset($tag['disabled_before']) || isset($tag['disabled_after']))
2364 2478
 			{
2365 2479
 				$tag['before'] = isset($tag['disabled_before']) ? $tag['disabled_before'] : (!empty($tag['block_level']) ? '<div>' : '');
2366 2480
 				$tag['after'] = isset($tag['disabled_after']) ? $tag['disabled_after'] : (!empty($tag['block_level']) ? '</div>' : '');
2481
+			} else {
2482
+							$tag['content'] = $tag['disabled_content'];
2367 2483
 			}
2368
-			else
2369
-				$tag['content'] = $tag['disabled_content'];
2370 2484
 		}
2371 2485
 
2372 2486
 		// we use this a lot
@@ -2376,8 +2490,9 @@  discard block
 block discarded – undo
2376 2490
 		if (!empty($tag['block_level']) && $tag['tag'] != 'html' && empty($inside['block_level']))
2377 2491
 		{
2378 2492
 			$n = count($open_tags) - 1;
2379
-			while (empty($open_tags[$n]['block_level']) && $n >= 0)
2380
-				$n--;
2493
+			while (empty($open_tags[$n]['block_level']) && $n >= 0) {
2494
+							$n--;
2495
+			}
2381 2496
 
2382 2497
 			// Close all the non block level tags so this tag isn't surrounded by them.
2383 2498
 			for ($i = count($open_tags) - 1; $i > $n; $i--)
@@ -2388,10 +2503,12 @@  discard block
 block discarded – undo
2388 2503
 				$pos1 += $ot_strlen + 2;
2389 2504
 
2390 2505
 				// Trim or eat trailing stuff... see comment at the end of the big loop.
2391
-				if (!empty($open_tags[$i]['block_level']) && substr($message, $pos, 4) == '<br>')
2392
-					$message = substr($message, 0, $pos) . substr($message, $pos + 4);
2393
-				if (!empty($open_tags[$i]['trim']) && $tag['trim'] != 'inside' && preg_match('~(<br>|&nbsp;|\s)*~', substr($message, $pos), $matches) != 0)
2394
-					$message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0]));
2506
+				if (!empty($open_tags[$i]['block_level']) && substr($message, $pos, 4) == '<br>') {
2507
+									$message = substr($message, 0, $pos) . substr($message, $pos + 4);
2508
+				}
2509
+				if (!empty($open_tags[$i]['trim']) && $tag['trim'] != 'inside' && preg_match('~(<br>|&nbsp;|\s)*~', substr($message, $pos), $matches) != 0) {
2510
+									$message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0]));
2511
+				}
2395 2512
 
2396 2513
 				array_pop($open_tags);
2397 2514
 			}
@@ -2409,16 +2526,19 @@  discard block
 block discarded – undo
2409 2526
 		elseif ($tag['type'] == 'unparsed_content')
2410 2527
 		{
2411 2528
 			$pos2 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos1);
2412
-			if ($pos2 === false)
2413
-				continue;
2529
+			if ($pos2 === false) {
2530
+							continue;
2531
+			}
2414 2532
 
2415 2533
 			$data = substr($message, $pos1, $pos2 - $pos1);
2416 2534
 
2417
-			if (!empty($tag['block_level']) && substr($data, 0, 4) == '<br>')
2418
-				$data = substr($data, 4);
2535
+			if (!empty($tag['block_level']) && substr($data, 0, 4) == '<br>') {
2536
+							$data = substr($data, 4);
2537
+			}
2419 2538
 
2420
-			if (isset($tag['validate']))
2421
-				$tag['validate']($tag, $data, $disabled, $params);
2539
+			if (isset($tag['validate'])) {
2540
+							$tag['validate']($tag, $data, $disabled, $params);
2541
+			}
2422 2542
 
2423 2543
 			$code = strtr($tag['content'], array('$1' => $data));
2424 2544
 			$message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos2 + 3 + $tag_strlen);
@@ -2434,34 +2554,40 @@  discard block
 block discarded – undo
2434 2554
 			if (isset($tag['quoted']))
2435 2555
 			{
2436 2556
 				$quoted = substr($message, $pos1, 6) == '&quot;';
2437
-				if ($tag['quoted'] != 'optional' && !$quoted)
2438
-					continue;
2557
+				if ($tag['quoted'] != 'optional' && !$quoted) {
2558
+									continue;
2559
+				}
2439 2560
 
2440
-				if ($quoted)
2441
-					$pos1 += 6;
2561
+				if ($quoted) {
2562
+									$pos1 += 6;
2563
+				}
2564
+			} else {
2565
+							$quoted = false;
2442 2566
 			}
2443
-			else
2444
-				$quoted = false;
2445 2567
 
2446 2568
 			$pos2 = strpos($message, $quoted == false ? ']' : '&quot;]', $pos1);
2447
-			if ($pos2 === false)
2448
-				continue;
2569
+			if ($pos2 === false) {
2570
+							continue;
2571
+			}
2449 2572
 
2450 2573
 			$pos3 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos2);
2451
-			if ($pos3 === false)
2452
-				continue;
2574
+			if ($pos3 === false) {
2575
+							continue;
2576
+			}
2453 2577
 
2454 2578
 			$data = array(
2455 2579
 				substr($message, $pos2 + ($quoted == false ? 1 : 7), $pos3 - ($pos2 + ($quoted == false ? 1 : 7))),
2456 2580
 				substr($message, $pos1, $pos2 - $pos1)
2457 2581
 			);
2458 2582
 
2459
-			if (!empty($tag['block_level']) && substr($data[0], 0, 4) == '<br>')
2460
-				$data[0] = substr($data[0], 4);
2583
+			if (!empty($tag['block_level']) && substr($data[0], 0, 4) == '<br>') {
2584
+							$data[0] = substr($data[0], 4);
2585
+			}
2461 2586
 
2462 2587
 			// Validation for my parking, please!
2463
-			if (isset($tag['validate']))
2464
-				$tag['validate']($tag, $data, $disabled, $params);
2588
+			if (isset($tag['validate'])) {
2589
+							$tag['validate']($tag, $data, $disabled, $params);
2590
+			}
2465 2591
 
2466 2592
 			$code = strtr($tag['content'], array('$1' => $data[0], '$2' => $data[1]));
2467 2593
 			$message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos3 + 3 + $tag_strlen);
@@ -2478,23 +2604,27 @@  discard block
 block discarded – undo
2478 2604
 		elseif ($tag['type'] == 'unparsed_commas_content')
2479 2605
 		{
2480 2606
 			$pos2 = strpos($message, ']', $pos1);
2481
-			if ($pos2 === false)
2482
-				continue;
2607
+			if ($pos2 === false) {
2608
+							continue;
2609
+			}
2483 2610
 
2484 2611
 			$pos3 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos2);
2485
-			if ($pos3 === false)
2486
-				continue;
2612
+			if ($pos3 === false) {
2613
+							continue;
2614
+			}
2487 2615
 
2488 2616
 			// We want $1 to be the content, and the rest to be csv.
2489 2617
 			$data = explode(',', ',' . substr($message, $pos1, $pos2 - $pos1));
2490 2618
 			$data[0] = substr($message, $pos2 + 1, $pos3 - $pos2 - 1);
2491 2619
 
2492
-			if (isset($tag['validate']))
2493
-				$tag['validate']($tag, $data, $disabled, $params);
2620
+			if (isset($tag['validate'])) {
2621
+							$tag['validate']($tag, $data, $disabled, $params);
2622
+			}
2494 2623
 
2495 2624
 			$code = $tag['content'];
2496
-			foreach ($data as $k => $d)
2497
-				$code = strtr($code, array('$' . ($k + 1) => trim($d)));
2625
+			foreach ($data as $k => $d) {
2626
+							$code = strtr($code, array('$' . ($k + 1) => trim($d)));
2627
+			}
2498 2628
 			$message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos3 + 3 + $tag_strlen);
2499 2629
 			$pos += strlen($code) - 1 + 2;
2500 2630
 		}
@@ -2502,24 +2632,28 @@  discard block
 block discarded – undo
2502 2632
 		elseif ($tag['type'] == 'unparsed_commas')
2503 2633
 		{
2504 2634
 			$pos2 = strpos($message, ']', $pos1);
2505
-			if ($pos2 === false)
2506
-				continue;
2635
+			if ($pos2 === false) {
2636
+							continue;
2637
+			}
2507 2638
 
2508 2639
 			$data = explode(',', substr($message, $pos1, $pos2 - $pos1));
2509 2640
 
2510
-			if (isset($tag['validate']))
2511
-				$tag['validate']($tag, $data, $disabled, $params);
2641
+			if (isset($tag['validate'])) {
2642
+							$tag['validate']($tag, $data, $disabled, $params);
2643
+			}
2512 2644
 
2513 2645
 			// Fix after, for disabled code mainly.
2514
-			foreach ($data as $k => $d)
2515
-				$tag['after'] = strtr($tag['after'], array('$' . ($k + 1) => trim($d)));
2646
+			foreach ($data as $k => $d) {
2647
+							$tag['after'] = strtr($tag['after'], array('$' . ($k + 1) => trim($d)));
2648
+			}
2516 2649
 
2517 2650
 			$open_tags[] = $tag;
2518 2651
 
2519 2652
 			// Replace them out, $1, $2, $3, $4, etc.
2520 2653
 			$code = $tag['before'];
2521
-			foreach ($data as $k => $d)
2522
-				$code = strtr($code, array('$' . ($k + 1) => trim($d)));
2654
+			foreach ($data as $k => $d) {
2655
+							$code = strtr($code, array('$' . ($k + 1) => trim($d)));
2656
+			}
2523 2657
 			$message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos2 + 1);
2524 2658
 			$pos += strlen($code) - 1 + 2;
2525 2659
 		}
@@ -2530,28 +2664,33 @@  discard block
 block discarded – undo
2530 2664
 			if (isset($tag['quoted']))
2531 2665
 			{
2532 2666
 				$quoted = substr($message, $pos1, 6) == '&quot;';
2533
-				if ($tag['quoted'] != 'optional' && !$quoted)
2534
-					continue;
2667
+				if ($tag['quoted'] != 'optional' && !$quoted) {
2668
+									continue;
2669
+				}
2535 2670
 
2536
-				if ($quoted)
2537
-					$pos1 += 6;
2671
+				if ($quoted) {
2672
+									$pos1 += 6;
2673
+				}
2674
+			} else {
2675
+							$quoted = false;
2538 2676
 			}
2539
-			else
2540
-				$quoted = false;
2541 2677
 
2542 2678
 			$pos2 = strpos($message, $quoted == false ? ']' : '&quot;]', $pos1);
2543
-			if ($pos2 === false)
2544
-				continue;
2679
+			if ($pos2 === false) {
2680
+							continue;
2681
+			}
2545 2682
 
2546 2683
 			$data = substr($message, $pos1, $pos2 - $pos1);
2547 2684
 
2548 2685
 			// Validation for my parking, please!
2549
-			if (isset($tag['validate']))
2550
-				$tag['validate']($tag, $data, $disabled, $params);
2686
+			if (isset($tag['validate'])) {
2687
+							$tag['validate']($tag, $data, $disabled, $params);
2688
+			}
2551 2689
 
2552 2690
 			// For parsed content, we must recurse to avoid security problems.
2553
-			if ($tag['type'] != 'unparsed_equals')
2554
-				$data = parse_bbc($data, !empty($tag['parsed_tags_allowed']) ? false : true, '', !empty($tag['parsed_tags_allowed']) ? $tag['parsed_tags_allowed'] : array());
2691
+			if ($tag['type'] != 'unparsed_equals') {
2692
+							$data = parse_bbc($data, !empty($tag['parsed_tags_allowed']) ? false : true, '', !empty($tag['parsed_tags_allowed']) ? $tag['parsed_tags_allowed'] : array());
2693
+			}
2555 2694
 
2556 2695
 			$tag['after'] = strtr($tag['after'], array('$1' => $data));
2557 2696
 
@@ -2563,34 +2702,40 @@  discard block
 block discarded – undo
2563 2702
 		}
2564 2703
 
2565 2704
 		// If this is block level, eat any breaks after it.
2566
-		if (!empty($tag['block_level']) && substr($message, $pos + 1, 4) == '<br>')
2567
-			$message = substr($message, 0, $pos + 1) . substr($message, $pos + 5);
2705
+		if (!empty($tag['block_level']) && substr($message, $pos + 1, 4) == '<br>') {
2706
+					$message = substr($message, 0, $pos + 1) . substr($message, $pos + 5);
2707
+		}
2568 2708
 
2569 2709
 		// Are we trimming outside this tag?
2570
-		if (!empty($tag['trim']) && $tag['trim'] != 'outside' && preg_match('~(<br>|&nbsp;|\s)*~', substr($message, $pos + 1), $matches) != 0)
2571
-			$message = substr($message, 0, $pos + 1) . substr($message, $pos + 1 + strlen($matches[0]));
2710
+		if (!empty($tag['trim']) && $tag['trim'] != 'outside' && preg_match('~(<br>|&nbsp;|\s)*~', substr($message, $pos + 1), $matches) != 0) {
2711
+					$message = substr($message, 0, $pos + 1) . substr($message, $pos + 1 + strlen($matches[0]));
2712
+		}
2572 2713
 	}
2573 2714
 
2574 2715
 	// Close any remaining tags.
2575
-	while ($tag = array_pop($open_tags))
2576
-		$message .= "\n" . $tag['after'] . "\n";
2716
+	while ($tag = array_pop($open_tags)) {
2717
+			$message .= "\n" . $tag['after'] . "\n";
2718
+	}
2577 2719
 
2578 2720
 	// Parse the smileys within the parts where it can be done safely.
2579 2721
 	if ($smileys === true)
2580 2722
 	{
2581 2723
 		$message_parts = explode("\n", $message);
2582
-		for ($i = 0, $n = count($message_parts); $i < $n; $i += 2)
2583
-			parsesmileys($message_parts[$i]);
2724
+		for ($i = 0, $n = count($message_parts); $i < $n; $i += 2) {
2725
+					parsesmileys($message_parts[$i]);
2726
+		}
2584 2727
 
2585 2728
 		$message = implode('', $message_parts);
2586 2729
 	}
2587 2730
 
2588 2731
 	// No smileys, just get rid of the markers.
2589
-	else
2590
-		$message = strtr($message, array("\n" => ''));
2732
+	else {
2733
+			$message = strtr($message, array("\n" => ''));
2734
+	}
2591 2735
 
2592
-	if ($message !== '' && $message[0] === ' ')
2593
-		$message = '&nbsp;' . substr($message, 1);
2736
+	if ($message !== '' && $message[0] === ' ') {
2737
+			$message = '&nbsp;' . substr($message, 1);
2738
+	}
2594 2739
 
2595 2740
 	// Cleanup whitespace.
2596 2741
 	$message = strtr($message, array('  ' => ' &nbsp;', "\r" => '', "\n" => '<br>', '<br> ' => '<br>&nbsp;', '&#13;' => "\n"));
@@ -2599,15 +2744,16 @@  discard block
 block discarded – undo
2599 2744
 	call_integration_hook('integrate_post_parsebbc', array(&$message, &$smileys, &$cache_id, &$parse_tags));
2600 2745
 
2601 2746
 	// Cache the output if it took some time...
2602
-	if (isset($cache_key, $cache_t) && array_sum(explode(' ', microtime())) - array_sum(explode(' ', $cache_t)) > 0.05)
2603
-		cache_put_data($cache_key, $message, 240);
2747
+	if (isset($cache_key, $cache_t) && array_sum(explode(' ', microtime())) - array_sum(explode(' ', $cache_t)) > 0.05) {
2748
+			cache_put_data($cache_key, $message, 240);
2749
+	}
2604 2750
 
2605 2751
 	// If this was a force parse revert if needed.
2606 2752
 	if (!empty($parse_tags))
2607 2753
 	{
2608
-		if (empty($temp_bbc))
2609
-			$bbc_codes = array();
2610
-		else
2754
+		if (empty($temp_bbc)) {
2755
+					$bbc_codes = array();
2756
+		} else
2611 2757
 		{
2612 2758
 			$bbc_codes = $temp_bbc;
2613 2759
 			unset($temp_bbc);
@@ -2634,8 +2780,9 @@  discard block
 block discarded – undo
2634 2780
 	static $smileyPregSearch = null, $smileyPregReplacements = array();
2635 2781
 
2636 2782
 	// No smiley set at all?!
2637
-	if ($user_info['smiley_set'] == 'none' || trim($message) == '')
2638
-		return;
2783
+	if ($user_info['smiley_set'] == 'none' || trim($message) == '') {
2784
+			return;
2785
+	}
2639 2786
 
2640 2787
 	// If smileyPregSearch hasn't been set, do it now.
2641 2788
 	if (empty($smileyPregSearch))
@@ -2646,8 +2793,7 @@  discard block
 block discarded – undo
2646 2793
 			$smileysfrom = array('>:D', ':D', '::)', '>:(', ':))', ':)', ';)', ';D', ':(', ':o', '8)', ':P', '???', ':-[', ':-X', ':-*', ':\'(', ':-\\', '^-^', 'O0', 'C:-)', '0:)');
2647 2794
 			$smileysto = array('evil.gif', 'cheesy.gif', 'rolleyes.gif', 'angry.gif', 'laugh.gif', 'smiley.gif', 'wink.gif', 'grin.gif', 'sad.gif', 'shocked.gif', 'cool.gif', 'tongue.gif', 'huh.gif', 'embarrassed.gif', 'lipsrsealed.gif', 'kiss.gif', 'cry.gif', 'undecided.gif', 'azn.gif', 'afro.gif', 'police.gif', 'angel.gif');
2648 2795
 			$smileysdescs = array('', $txt['icon_cheesy'], $txt['icon_rolleyes'], $txt['icon_angry'], '', $txt['icon_smiley'], $txt['icon_wink'], $txt['icon_grin'], $txt['icon_sad'], $txt['icon_shocked'], $txt['icon_cool'], $txt['icon_tongue'], $txt['icon_huh'], $txt['icon_embarrassed'], $txt['icon_lips'], $txt['icon_kiss'], $txt['icon_cry'], $txt['icon_undecided'], '', '', '', '');
2649
-		}
2650
-		else
2796
+		} else
2651 2797
 		{
2652 2798
 			// Load the smileys in reverse order by length so they don't get parsed wrong.
2653 2799
 			if (($temp = cache_get_data('parsing_smileys', 480)) == null)
@@ -2671,9 +2817,9 @@  discard block
 block discarded – undo
2671 2817
 				$smcFunc['db_free_result']($result);
2672 2818
 
2673 2819
 				cache_put_data('parsing_smileys', array($smileysfrom, $smileysto, $smileysdescs), 480);
2820
+			} else {
2821
+							list ($smileysfrom, $smileysto, $smileysdescs) = $temp;
2674 2822
 			}
2675
-			else
2676
-				list ($smileysfrom, $smileysto, $smileysdescs) = $temp;
2677 2823
 		}
2678 2824
 
2679 2825
 		// The non-breaking-space is a complex thing...
@@ -2750,35 +2896,41 @@  discard block
 block discarded – undo
2750 2896
 	global $scripturl, $context, $modSettings, $db_show_debug, $db_cache;
2751 2897
 
2752 2898
 	// In case we have mail to send, better do that - as obExit doesn't always quite make it...
2753
-	if (!empty($context['flush_mail']))
2754
-		// @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\
2899
+	if (!empty($context['flush_mail'])) {
2900
+			// @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\
2755 2901
 		AddMailQueue(true);
2902
+	}
2756 2903
 
2757 2904
 	$add = preg_match('~^(ftp|http)[s]?://~', $setLocation) == 0 && substr($setLocation, 0, 6) != 'about:';
2758 2905
 
2759
-	if ($add)
2760
-		$setLocation = $scripturl . ($setLocation != '' ? '?' . $setLocation : '');
2906
+	if ($add) {
2907
+			$setLocation = $scripturl . ($setLocation != '' ? '?' . $setLocation : '');
2908
+	}
2761 2909
 
2762 2910
 	// Put the session ID in.
2763
-	if (defined('SID') && SID != '')
2764
-		$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '(?!\?' . preg_quote(SID, '/') . ')\\??/', $scripturl . '?' . SID . ';', $setLocation);
2911
+	if (defined('SID') && SID != '') {
2912
+			$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '(?!\?' . preg_quote(SID, '/') . ')\\??/', $scripturl . '?' . SID . ';', $setLocation);
2913
+	}
2765 2914
 	// Keep that debug in their for template debugging!
2766
-	elseif (isset($_GET['debug']))
2767
-		$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '\\??/', $scripturl . '?debug;', $setLocation);
2915
+	elseif (isset($_GET['debug'])) {
2916
+			$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '\\??/', $scripturl . '?debug;', $setLocation);
2917
+	}
2768 2918
 
2769 2919
 	if (!empty($modSettings['queryless_urls']) && (empty($context['server']['is_cgi']) || ini_get('cgi.fix_pathinfo') == 1 || @get_cfg_var('cgi.fix_pathinfo') == 1) && (!empty($context['server']['is_apache']) || !empty($context['server']['is_lighttpd']) || !empty($context['server']['is_litespeed'])))
2770 2920
 	{
2771
-		if (defined('SID') && SID != '')
2772
-			$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?(?:' . SID . '(?:;|&|&amp;))((?:board|topic)=[^#]+?)(#[^"]*?)?$~',
2921
+		if (defined('SID') && SID != '') {
2922
+					$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?(?:' . SID . '(?:;|&|&amp;))((?:board|topic)=[^#]+?)(#[^"]*?)?$~',
2773 2923
 				function ($m) use ($scripturl)
2774 2924
 				{
2775 2925
 					return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html?' . SID. (isset($m[2]) ? "$m[2]" : "");
2926
+		}
2776 2927
 				}, $setLocation);
2777
-		else
2778
-			$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?$~',
2928
+		else {
2929
+					$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?$~',
2779 2930
 				function ($m) use ($scripturl)
2780 2931
 				{
2781 2932
 					return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html' . (isset($m[2]) ? "$m[2]" : "");
2933
+		}
2782 2934
 				}, $setLocation);
2783 2935
 	}
2784 2936
 
@@ -2789,8 +2941,9 @@  discard block
 block discarded – undo
2789 2941
 	header('Location: ' . str_replace(' ', '%20', $setLocation), true, $permanent ? 301 : 302);
2790 2942
 
2791 2943
 	// Debugging.
2792
-	if (isset($db_show_debug) && $db_show_debug === true)
2793
-		$_SESSION['debug_redirect'] = $db_cache;
2944
+	if (isset($db_show_debug) && $db_show_debug === true) {
2945
+			$_SESSION['debug_redirect'] = $db_cache;
2946
+	}
2794 2947
 
2795 2948
 	obExit(false);
2796 2949
 }
@@ -2809,51 +2962,60 @@  discard block
 block discarded – undo
2809 2962
 
2810 2963
 	// Attempt to prevent a recursive loop.
2811 2964
 	++$level;
2812
-	if ($level > 1 && !$from_fatal_error && !$has_fatal_error)
2813
-		exit;
2814
-	if ($from_fatal_error)
2815
-		$has_fatal_error = true;
2965
+	if ($level > 1 && !$from_fatal_error && !$has_fatal_error) {
2966
+			exit;
2967
+	}
2968
+	if ($from_fatal_error) {
2969
+			$has_fatal_error = true;
2970
+	}
2816 2971
 
2817 2972
 	// Clear out the stat cache.
2818 2973
 	trackStats();
2819 2974
 
2820 2975
 	// If we have mail to send, send it.
2821
-	if (!empty($context['flush_mail']))
2822
-		// @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\
2976
+	if (!empty($context['flush_mail'])) {
2977
+			// @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\
2823 2978
 		AddMailQueue(true);
2979
+	}
2824 2980
 
2825 2981
 	$do_header = $header === null ? !$header_done : $header;
2826
-	if ($do_footer === null)
2827
-		$do_footer = $do_header;
2982
+	if ($do_footer === null) {
2983
+			$do_footer = $do_header;
2984
+	}
2828 2985
 
2829 2986
 	// Has the template/header been done yet?
2830 2987
 	if ($do_header)
2831 2988
 	{
2832 2989
 		// Was the page title set last minute? Also update the HTML safe one.
2833
-		if (!empty($context['page_title']) && empty($context['page_title_html_safe']))
2834
-			$context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : '');
2990
+		if (!empty($context['page_title']) && empty($context['page_title_html_safe'])) {
2991
+					$context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : '');
2992
+		}
2835 2993
 
2836 2994
 		// Start up the session URL fixer.
2837 2995
 		ob_start('ob_sessrewrite');
2838 2996
 
2839
-		if (!empty($settings['output_buffers']) && is_string($settings['output_buffers']))
2840
-			$buffers = explode(',', $settings['output_buffers']);
2841
-		elseif (!empty($settings['output_buffers']))
2842
-			$buffers = $settings['output_buffers'];
2843
-		else
2844
-			$buffers = array();
2997
+		if (!empty($settings['output_buffers']) && is_string($settings['output_buffers'])) {
2998
+					$buffers = explode(',', $settings['output_buffers']);
2999
+		} elseif (!empty($settings['output_buffers'])) {
3000
+					$buffers = $settings['output_buffers'];
3001
+		} else {
3002
+					$buffers = array();
3003
+		}
2845 3004
 
2846
-		if (isset($modSettings['integrate_buffer']))
2847
-			$buffers = array_merge(explode(',', $modSettings['integrate_buffer']), $buffers);
3005
+		if (isset($modSettings['integrate_buffer'])) {
3006
+					$buffers = array_merge(explode(',', $modSettings['integrate_buffer']), $buffers);
3007
+		}
2848 3008
 
2849
-		if (!empty($buffers))
2850
-			foreach ($buffers as $function)
3009
+		if (!empty($buffers)) {
3010
+					foreach ($buffers as $function)
2851 3011
 			{
2852 3012
 				$call = call_helper($function, true);
3013
+		}
2853 3014
 
2854 3015
 				// Is it valid?
2855
-				if (!empty($call))
2856
-					ob_start($call);
3016
+				if (!empty($call)) {
3017
+									ob_start($call);
3018
+				}
2857 3019
 			}
2858 3020
 
2859 3021
 		// Display the screen in the logical order.
@@ -2865,8 +3027,9 @@  discard block
 block discarded – undo
2865 3027
 		loadSubTemplate(isset($context['sub_template']) ? $context['sub_template'] : 'main');
2866 3028
 
2867 3029
 		// Anything special to put out?
2868
-		if (!empty($context['insert_after_template']) && !isset($_REQUEST['xml']))
2869
-			echo $context['insert_after_template'];
3030
+		if (!empty($context['insert_after_template']) && !isset($_REQUEST['xml'])) {
3031
+					echo $context['insert_after_template'];
3032
+		}
2870 3033
 
2871 3034
 		// Just so we don't get caught in an endless loop of errors from the footer...
2872 3035
 		if (!$footer_done)
@@ -2875,14 +3038,16 @@  discard block
 block discarded – undo
2875 3038
 			template_footer();
2876 3039
 
2877 3040
 			// (since this is just debugging... it's okay that it's after </html>.)
2878
-			if (!isset($_REQUEST['xml']))
2879
-				displayDebug();
3041
+			if (!isset($_REQUEST['xml'])) {
3042
+							displayDebug();
3043
+			}
2880 3044
 		}
2881 3045
 	}
2882 3046
 
2883 3047
 	// Remember this URL in case someone doesn't like sending HTTP_REFERER.
2884
-	if (strpos($_SERVER['REQUEST_URL'], 'action=dlattach') === false && strpos($_SERVER['REQUEST_URL'], 'action=viewsmfile') === false)
2885
-		$_SESSION['old_url'] = $_SERVER['REQUEST_URL'];
3048
+	if (strpos($_SERVER['REQUEST_URL'], 'action=dlattach') === false && strpos($_SERVER['REQUEST_URL'], 'action=viewsmfile') === false) {
3049
+			$_SESSION['old_url'] = $_SERVER['REQUEST_URL'];
3050
+	}
2886 3051
 
2887 3052
 	// For session check verification.... don't switch browsers...
2888 3053
 	$_SESSION['USER_AGENT'] = empty($_SERVER['HTTP_USER_AGENT']) ? '' : $_SERVER['HTTP_USER_AGENT'];
@@ -2891,9 +3056,10 @@  discard block
 block discarded – undo
2891 3056
 	call_integration_hook('integrate_exit', array($do_footer));
2892 3057
 
2893 3058
 	// Don't exit if we're coming from index.php; that will pass through normally.
2894
-	if (!$from_index)
2895
-		exit;
2896
-}
3059
+	if (!$from_index) {
3060
+			exit;
3061
+	}
3062
+	}
2897 3063
 
2898 3064
 /**
2899 3065
  * Get the size of a specified image with better error handling.
@@ -2912,8 +3078,9 @@  discard block
 block discarded – undo
2912 3078
 	$url = str_replace(' ', '%20', $url);
2913 3079
 
2914 3080
 	// Can we pull this from the cache... please please?
2915
-	if (($temp = cache_get_data('url_image_size-' . md5($url), 240)) !== null)
2916
-		return $temp;
3081
+	if (($temp = cache_get_data('url_image_size-' . md5($url), 240)) !== null) {
3082
+			return $temp;
3083
+	}
2917 3084
 	$t = microtime();
2918 3085
 
2919 3086
 	// Get the host to pester...
@@ -2923,12 +3090,10 @@  discard block
 block discarded – undo
2923 3090
 	if ($url == '' || $url == 'http://' || $url == 'https://')
2924 3091
 	{
2925 3092
 		return false;
2926
-	}
2927
-	elseif (!isset($match[1]))
3093
+	} elseif (!isset($match[1]))
2928 3094
 	{
2929 3095
 		$size = @getimagesize($url);
2930
-	}
2931
-	else
3096
+	} else
2932 3097
 	{
2933 3098
 		// Try to connect to the server... give it half a second.
2934 3099
 		$temp = 0;
@@ -2967,12 +3132,14 @@  discard block
 block discarded – undo
2967 3132
 	}
2968 3133
 
2969 3134
 	// If we didn't get it, we failed.
2970
-	if (!isset($size))
2971
-		$size = false;
3135
+	if (!isset($size)) {
3136
+			$size = false;
3137
+	}
2972 3138
 
2973 3139
 	// If this took a long time, we may never have to do it again, but then again we might...
2974
-	if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.8)
2975
-		cache_put_data('url_image_size-' . md5($url), $size, 240);
3140
+	if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.8) {
3141
+			cache_put_data('url_image_size-' . md5($url), $size, 240);
3142
+	}
2976 3143
 
2977 3144
 	// Didn't work.
2978 3145
 	return $size;
@@ -2990,8 +3157,9 @@  discard block
 block discarded – undo
2990 3157
 
2991 3158
 	// Under SSI this function can be called more then once.  That can cause some problems.
2992 3159
 	//   So only run the function once unless we are forced to run it again.
2993
-	if ($loaded && !$forceload)
2994
-		return;
3160
+	if ($loaded && !$forceload) {
3161
+			return;
3162
+	}
2995 3163
 
2996 3164
 	$loaded = true;
2997 3165
 
@@ -3003,14 +3171,16 @@  discard block
 block discarded – undo
3003 3171
 	$context['news_lines'] = array_filter(explode("\n", str_replace("\r", '', trim(addslashes($modSettings['news'])))));
3004 3172
 	for ($i = 0, $n = count($context['news_lines']); $i < $n; $i++)
3005 3173
 	{
3006
-		if (trim($context['news_lines'][$i]) == '')
3007
-			continue;
3174
+		if (trim($context['news_lines'][$i]) == '') {
3175
+					continue;
3176
+		}
3008 3177
 
3009 3178
 		// Clean it up for presentation ;).
3010 3179
 		$context['news_lines'][$i] = parse_bbc(stripslashes(trim($context['news_lines'][$i])), true, 'news' . $i);
3011 3180
 	}
3012
-	if (!empty($context['news_lines']))
3013
-		$context['random_news_line'] = $context['news_lines'][mt_rand(0, count($context['news_lines']) - 1)];
3181
+	if (!empty($context['news_lines'])) {
3182
+			$context['random_news_line'] = $context['news_lines'][mt_rand(0, count($context['news_lines']) - 1)];
3183
+	}
3014 3184
 
3015 3185
 	if (!$user_info['is_guest'])
3016 3186
 	{
@@ -3019,40 +3189,48 @@  discard block
 block discarded – undo
3019 3189
 		$context['user']['alerts'] = &$user_info['alerts'];
3020 3190
 
3021 3191
 		// Personal message popup...
3022
-		if ($user_info['unread_messages'] > (isset($_SESSION['unread_messages']) ? $_SESSION['unread_messages'] : 0))
3023
-			$context['user']['popup_messages'] = true;
3024
-		else
3025
-			$context['user']['popup_messages'] = false;
3192
+		if ($user_info['unread_messages'] > (isset($_SESSION['unread_messages']) ? $_SESSION['unread_messages'] : 0)) {
3193
+					$context['user']['popup_messages'] = true;
3194
+		} else {
3195
+					$context['user']['popup_messages'] = false;
3196
+		}
3026 3197
 		$_SESSION['unread_messages'] = $user_info['unread_messages'];
3027 3198
 
3028
-		if (allowedTo('moderate_forum'))
3029
-			$context['unapproved_members'] = (!empty($modSettings['registration_method']) && ($modSettings['registration_method'] == 2 || (!empty($modSettings['coppaType']) && $modSettings['coppaType'] == 2))) || !empty($modSettings['approveAccountDeletion']) ? $modSettings['unapprovedMembers'] : 0;
3199
+		if (allowedTo('moderate_forum')) {
3200
+					$context['unapproved_members'] = (!empty($modSettings['registration_method']) && ($modSettings['registration_method'] == 2 || (!empty($modSettings['coppaType']) && $modSettings['coppaType'] == 2))) || !empty($modSettings['approveAccountDeletion']) ? $modSettings['unapprovedMembers'] : 0;
3201
+		}
3030 3202
 
3031 3203
 		$context['user']['avatar'] = array();
3032 3204
 
3033 3205
 		// Check for gravatar first since we might be forcing them...
3034 3206
 		if (($modSettings['gravatarEnabled'] && substr($user_info['avatar']['url'], 0, 11) == 'gravatar://') || !empty($modSettings['gravatarOverride']))
3035 3207
 		{
3036
-			if (!empty($modSettings['gravatarAllowExtraEmail']) && stristr($user_info['avatar']['url'], 'gravatar://') && strlen($user_info['avatar']['url']) > 11)
3037
-				$context['user']['avatar']['href'] = get_gravatar_url($smcFunc['substr']($user_info['avatar']['url'], 11));
3038
-			else
3039
-				$context['user']['avatar']['href'] = get_gravatar_url($user_info['email']);
3208
+			if (!empty($modSettings['gravatarAllowExtraEmail']) && stristr($user_info['avatar']['url'], 'gravatar://') && strlen($user_info['avatar']['url']) > 11) {
3209
+							$context['user']['avatar']['href'] = get_gravatar_url($smcFunc['substr']($user_info['avatar']['url'], 11));
3210
+			} else {
3211
+							$context['user']['avatar']['href'] = get_gravatar_url($user_info['email']);
3212
+			}
3040 3213
 		}
3041 3214
 		// Uploaded?
3042
-		elseif ($user_info['avatar']['url'] == '' && !empty($user_info['avatar']['id_attach']))
3043
-			$context['user']['avatar']['href'] = $user_info['avatar']['custom_dir'] ? $modSettings['custom_avatar_url'] . '/' . $user_info['avatar']['filename'] : $scripturl . '?action=dlattach;attach=' . $user_info['avatar']['id_attach'] . ';type=avatar';
3215
+		elseif ($user_info['avatar']['url'] == '' && !empty($user_info['avatar']['id_attach'])) {
3216
+					$context['user']['avatar']['href'] = $user_info['avatar']['custom_dir'] ? $modSettings['custom_avatar_url'] . '/' . $user_info['avatar']['filename'] : $scripturl . '?action=dlattach;attach=' . $user_info['avatar']['id_attach'] . ';type=avatar';
3217
+		}
3044 3218
 		// Full URL?
3045
-		elseif (strpos($user_info['avatar']['url'], 'http://') === 0 || strpos($user_info['avatar']['url'], 'https://') === 0)
3046
-			$context['user']['avatar']['href'] = $user_info['avatar']['url'];
3219
+		elseif (strpos($user_info['avatar']['url'], 'http://') === 0 || strpos($user_info['avatar']['url'], 'https://') === 0) {
3220
+					$context['user']['avatar']['href'] = $user_info['avatar']['url'];
3221
+		}
3047 3222
 		// Otherwise we assume it's server stored.
3048
-		elseif ($user_info['avatar']['url'] != '')
3049
-			$context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/' . $smcFunc['htmlspecialchars']($user_info['avatar']['url']);
3223
+		elseif ($user_info['avatar']['url'] != '') {
3224
+					$context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/' . $smcFunc['htmlspecialchars']($user_info['avatar']['url']);
3225
+		}
3050 3226
 		// No avatar at all? Fine, we have a big fat default avatar ;)
3051
-		else
3052
-			$context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/default.png';
3227
+		else {
3228
+					$context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/default.png';
3229
+		}
3053 3230
 
3054
-		if (!empty($context['user']['avatar']))
3055
-			$context['user']['avatar']['image'] = '<img src="' . $context['user']['avatar']['href'] . '" alt="" class="avatar">';
3231
+		if (!empty($context['user']['avatar'])) {
3232
+					$context['user']['avatar']['image'] = '<img src="' . $context['user']['avatar']['href'] . '" alt="" class="avatar">';
3233
+		}
3056 3234
 
3057 3235
 		// Figure out how long they've been logged in.
3058 3236
 		$context['user']['total_time_logged_in'] = array(
@@ -3060,8 +3238,7 @@  discard block
 block discarded – undo
3060 3238
 			'hours' => floor(($user_info['total_time_logged_in'] % 86400) / 3600),
3061 3239
 			'minutes' => floor(($user_info['total_time_logged_in'] % 3600) / 60)
3062 3240
 		);
3063
-	}
3064
-	else
3241
+	} else
3065 3242
 	{
3066 3243
 		$context['user']['messages'] = 0;
3067 3244
 		$context['user']['unread_messages'] = 0;
@@ -3069,12 +3246,14 @@  discard block
 block discarded – undo
3069 3246
 		$context['user']['total_time_logged_in'] = array('days' => 0, 'hours' => 0, 'minutes' => 0);
3070 3247
 		$context['user']['popup_messages'] = false;
3071 3248
 
3072
-		if (!empty($modSettings['registration_method']) && $modSettings['registration_method'] == 1)
3073
-			$txt['welcome_guest'] .= $txt['welcome_guest_activate'];
3249
+		if (!empty($modSettings['registration_method']) && $modSettings['registration_method'] == 1) {
3250
+					$txt['welcome_guest'] .= $txt['welcome_guest_activate'];
3251
+		}
3074 3252
 
3075 3253
 		// If we've upgraded recently, go easy on the passwords.
3076
-		if (!empty($modSettings['disableHashTime']) && ($modSettings['disableHashTime'] == 1 || time() < $modSettings['disableHashTime']))
3077
-			$context['disable_login_hashing'] = true;
3254
+		if (!empty($modSettings['disableHashTime']) && ($modSettings['disableHashTime'] == 1 || time() < $modSettings['disableHashTime'])) {
3255
+					$context['disable_login_hashing'] = true;
3256
+		}
3078 3257
 	}
3079 3258
 
3080 3259
 	// Setup the main menu items.
@@ -3087,8 +3266,8 @@  discard block
 block discarded – undo
3087 3266
 	$context['show_pm_popup'] = $context['user']['popup_messages'] && !empty($options['popup_messages']) && (!isset($_REQUEST['action']) || $_REQUEST['action'] != 'pm');
3088 3267
 
3089 3268
 	// 2.1+: Add the PM popup here instead. Theme authors can still override it simply by editing/removing the 'fPmPopup' in the array.
3090
-	if ($context['show_pm_popup'])
3091
-		addInlineJavaScript('
3269
+	if ($context['show_pm_popup']) {
3270
+			addInlineJavaScript('
3092 3271
 		jQuery(document).ready(function($) {
3093 3272
 			new smc_Popup({
3094 3273
 				heading: ' . JavaScriptEscape($txt['show_personal_messages_heading']) . ',
@@ -3096,15 +3275,17 @@  discard block
 block discarded – undo
3096 3275
 				icon_class: \'generic_icons mail_new\'
3097 3276
 			});
3098 3277
 		});');
3278
+	}
3099 3279
 
3100 3280
 	// Add a generic "Are you sure?" confirmation message.
3101 3281
 	addInlineJavaScript('
3102 3282
 	var smf_you_sure =' . JavaScriptEscape($txt['quickmod_confirm']) .';');
3103 3283
 
3104 3284
 	// Now add the capping code for avatars.
3105
-	if (!empty($modSettings['avatar_max_width_external']) && !empty($modSettings['avatar_max_height_external']) && !empty($modSettings['avatar_action_too_large']) && $modSettings['avatar_action_too_large'] == 'option_css_resize')
3106
-		addInlineCss('
3285
+	if (!empty($modSettings['avatar_max_width_external']) && !empty($modSettings['avatar_max_height_external']) && !empty($modSettings['avatar_action_too_large']) && $modSettings['avatar_action_too_large'] == 'option_css_resize') {
3286
+			addInlineCss('
3107 3287
 img.avatar { max-width: ' . $modSettings['avatar_max_width_external'] . 'px; max-height: ' . $modSettings['avatar_max_height_external'] . 'px; }');
3288
+	}
3108 3289
 
3109 3290
 	// This looks weird, but it's because BoardIndex.php references the variable.
3110 3291
 	$context['common_stats']['latest_member'] = array(
@@ -3121,11 +3302,13 @@  discard block
 block discarded – undo
3121 3302
 	);
3122 3303
 	$context['common_stats']['boardindex_total_posts'] = sprintf($txt['boardindex_total_posts'], $context['common_stats']['total_posts'], $context['common_stats']['total_topics'], $context['common_stats']['total_members']);
3123 3304
 
3124
-	if (empty($settings['theme_version']))
3125
-		addJavaScriptVar('smf_scripturl', $scripturl);
3305
+	if (empty($settings['theme_version'])) {
3306
+			addJavaScriptVar('smf_scripturl', $scripturl);
3307
+	}
3126 3308
 
3127
-	if (!isset($context['page_title']))
3128
-		$context['page_title'] = '';
3309
+	if (!isset($context['page_title'])) {
3310
+			$context['page_title'] = '';
3311
+	}
3129 3312
 
3130 3313
 	// Set some specific vars.
3131 3314
 	$context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : '');
@@ -3135,21 +3318,23 @@  discard block
 block discarded – undo
3135 3318
 	$context['meta_tags'][] = array('property' => 'og:site_name', 'content' => $context['forum_name']);
3136 3319
 	$context['meta_tags'][] = array('property' => 'og:title', 'content' => $context['page_title_html_safe']);
3137 3320
 
3138
-	if (!empty($context['meta_keywords']))
3139
-		$context['meta_tags'][] = array('name' => 'keywords', 'content' => $context['meta_keywords']);
3321
+	if (!empty($context['meta_keywords'])) {
3322
+			$context['meta_tags'][] = array('name' => 'keywords', 'content' => $context['meta_keywords']);
3323
+	}
3140 3324
 
3141
-	if (!empty($context['canonical_url']))
3142
-		$context['meta_tags'][] = array('property' => 'og:url', 'content' => $context['canonical_url']);
3325
+	if (!empty($context['canonical_url'])) {
3326
+			$context['meta_tags'][] = array('property' => 'og:url', 'content' => $context['canonical_url']);
3327
+	}
3143 3328
 
3144
-	if (!empty($settings['og_image']))
3145
-		$context['meta_tags'][] = array('property' => 'og:image', 'content' => $settings['og_image']);
3329
+	if (!empty($settings['og_image'])) {
3330
+			$context['meta_tags'][] = array('property' => 'og:image', 'content' => $settings['og_image']);
3331
+	}
3146 3332
 
3147 3333
 	if (!empty($context['meta_description']))
3148 3334
 	{
3149 3335
 		$context['meta_tags'][] = array('property' => 'og:description', 'content' => $context['meta_description']);
3150 3336
 		$context['meta_tags'][] = array('name' => 'description', 'content' => $context['meta_description']);
3151
-	}
3152
-	else
3337
+	} else
3153 3338
 	{
3154 3339
 		$context['meta_tags'][] = array('property' => 'og:description', 'content' => $context['page_title_html_safe']);
3155 3340
 		$context['meta_tags'][] = array('name' => 'description', 'content' => $context['page_title_html_safe']);
@@ -3175,8 +3360,9 @@  discard block
 block discarded – undo
3175 3360
 	$memory_needed = memoryReturnBytes($needed);
3176 3361
 
3177 3362
 	// should we account for how much is currently being used?
3178
-	if ($in_use)
3179
-		$memory_needed += function_exists('memory_get_usage') ? memory_get_usage() : (2 * 1048576);
3363
+	if ($in_use) {
3364
+			$memory_needed += function_exists('memory_get_usage') ? memory_get_usage() : (2 * 1048576);
3365
+	}
3180 3366
 
3181 3367
 	// if more is needed, request it
3182 3368
 	if ($memory_current < $memory_needed)
@@ -3199,8 +3385,9 @@  discard block
 block discarded – undo
3199 3385
  */
3200 3386
 function memoryReturnBytes($val)
3201 3387
 {
3202
-	if (is_integer($val))
3203
-		return $val;
3388
+	if (is_integer($val)) {
3389
+			return $val;
3390
+	}
3204 3391
 
3205 3392
 	// Separate the number from the designator
3206 3393
 	$val = trim($val);
@@ -3236,10 +3423,11 @@  discard block
 block discarded – undo
3236 3423
 		header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
3237 3424
 
3238 3425
 		// Are we debugging the template/html content?
3239
-		if (!isset($_REQUEST['xml']) && isset($_GET['debug']) && !isBrowser('ie'))
3240
-			header('Content-Type: application/xhtml+xml');
3241
-		elseif (!isset($_REQUEST['xml']))
3242
-			header('Content-Type: text/html; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
3426
+		if (!isset($_REQUEST['xml']) && isset($_GET['debug']) && !isBrowser('ie')) {
3427
+					header('Content-Type: application/xhtml+xml');
3428
+		} elseif (!isset($_REQUEST['xml'])) {
3429
+					header('Content-Type: text/html; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
3430
+		}
3243 3431
 	}
3244 3432
 
3245 3433
 	header('Content-Type: text/' . (isset($_REQUEST['xml']) ? 'xml' : 'html') . '; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
@@ -3248,8 +3436,9 @@  discard block
 block discarded – undo
3248 3436
 	if ($context['in_maintenance'] && $context['user']['is_admin'])
3249 3437
 	{
3250 3438
 		$position = array_search('body', $context['template_layers']);
3251
-		if ($position === false)
3252
-			$position = array_search('main', $context['template_layers']);
3439
+		if ($position === false) {
3440
+					$position = array_search('main', $context['template_layers']);
3441
+		}
3253 3442
 
3254 3443
 		if ($position !== false)
3255 3444
 		{
@@ -3277,15 +3466,15 @@  discard block
 block discarded – undo
3277 3466
 
3278 3467
 			foreach ($securityFiles as $i => $securityFile)
3279 3468
 			{
3280
-				if (!file_exists($boarddir . '/' . $securityFile))
3281
-					unset($securityFiles[$i]);
3469
+				if (!file_exists($boarddir . '/' . $securityFile)) {
3470
+									unset($securityFiles[$i]);
3471
+				}
3282 3472
 			}
3283 3473
 
3284 3474
 			// We are already checking so many files...just few more doesn't make any difference! :P
3285
-			if (!empty($modSettings['currentAttachmentUploadDir']))
3286
-				$path = $modSettings['attachmentUploadDir'][$modSettings['currentAttachmentUploadDir']];
3287
-
3288
-			else
3475
+			if (!empty($modSettings['currentAttachmentUploadDir'])) {
3476
+							$path = $modSettings['attachmentUploadDir'][$modSettings['currentAttachmentUploadDir']];
3477
+			} else
3289 3478
 			{
3290 3479
 				$path = $modSettings['attachmentUploadDir'];
3291 3480
 				$id_folder_thumb = 1;
@@ -3294,8 +3483,9 @@  discard block
 block discarded – undo
3294 3483
 			secureDirectory($cachedir);
3295 3484
 
3296 3485
 			// If agreement is enabled, at least the english version shall exists
3297
-			if ($modSettings['requireAgreement'])
3298
-				$agreement = !file_exists($boarddir . '/agreement.txt');
3486
+			if ($modSettings['requireAgreement']) {
3487
+							$agreement = !file_exists($boarddir . '/agreement.txt');
3488
+			}
3299 3489
 
3300 3490
 			if (!empty($securityFiles) || (!empty($modSettings['cache_enable']) && !is_writable($cachedir)) || !empty($agreement))
3301 3491
 			{
@@ -3310,18 +3500,21 @@  discard block
 block discarded – undo
3310 3500
 					echo '
3311 3501
 				', $txt['not_removed'], '<strong>', $securityFile, '</strong>!<br>';
3312 3502
 
3313
-					if ($securityFile == 'Settings.php~' || $securityFile == 'Settings_bak.php~')
3314
-						echo '
3503
+					if ($securityFile == 'Settings.php~' || $securityFile == 'Settings_bak.php~') {
3504
+											echo '
3315 3505
 				', sprintf($txt['not_removed_extra'], $securityFile, substr($securityFile, 0, -1)), '<br>';
3506
+					}
3316 3507
 				}
3317 3508
 
3318
-				if (!empty($modSettings['cache_enable']) && !is_writable($cachedir))
3319
-					echo '
3509
+				if (!empty($modSettings['cache_enable']) && !is_writable($cachedir)) {
3510
+									echo '
3320 3511
 				<strong>', $txt['cache_writable'], '</strong><br>';
3512
+				}
3321 3513
 
3322
-				if (!empty($agreement))
3323
-					echo '
3514
+				if (!empty($agreement)) {
3515
+									echo '
3324 3516
 				<strong>', $txt['agreement_missing'], '</strong><br>';
3517
+				}
3325 3518
 
3326 3519
 				echo '
3327 3520
 			</p>
@@ -3336,16 +3529,18 @@  discard block
 block discarded – undo
3336 3529
 				<div class="windowbg alert" style="margin: 2ex; padding: 2ex; border: 2px dashed red;">
3337 3530
 					', sprintf($txt['you_are_post_banned'], $user_info['is_guest'] ? $txt['guest_title'] : $user_info['name']);
3338 3531
 
3339
-			if (!empty($_SESSION['ban']['cannot_post']['reason']))
3340
-				echo '
3532
+			if (!empty($_SESSION['ban']['cannot_post']['reason'])) {
3533
+							echo '
3341 3534
 					<div style="padding-left: 4ex; padding-top: 1ex;">', $_SESSION['ban']['cannot_post']['reason'], '</div>';
3535
+			}
3342 3536
 
3343
-			if (!empty($_SESSION['ban']['expire_time']))
3344
-				echo '
3537
+			if (!empty($_SESSION['ban']['expire_time'])) {
3538
+							echo '
3345 3539
 					<div>', sprintf($txt['your_ban_expires'], timeformat($_SESSION['ban']['expire_time'], false)), '</div>';
3346
-			else
3347
-				echo '
3540
+			} else {
3541
+							echo '
3348 3542
 					<div>', $txt['your_ban_expires_never'], '</div>';
3543
+			}
3349 3544
 
3350 3545
 			echo '
3351 3546
 				</div>';
@@ -3361,8 +3556,9 @@  discard block
 block discarded – undo
3361 3556
 	global $forum_copyright, $software_year, $forum_version;
3362 3557
 
3363 3558
 	// Don't display copyright for things like SSI.
3364
-	if (!isset($forum_version) || !isset($software_year))
3365
-		return;
3559
+	if (!isset($forum_version) || !isset($software_year)) {
3560
+			return;
3561
+	}
3366 3562
 
3367 3563
 	// Put in the version...
3368 3564
 	printf($forum_copyright, $forum_version, $software_year);
@@ -3380,9 +3576,10 @@  discard block
 block discarded – undo
3380 3576
 	$context['load_time'] = comma_format(round(array_sum(explode(' ', microtime())) - array_sum(explode(' ', $time_start)), 3));
3381 3577
 	$context['load_queries'] = $db_count;
3382 3578
 
3383
-	foreach (array_reverse($context['template_layers']) as $layer)
3384
-		loadSubTemplate($layer . '_below', true);
3385
-}
3579
+	foreach (array_reverse($context['template_layers']) as $layer) {
3580
+			loadSubTemplate($layer . '_below', true);
3581
+	}
3582
+	}
3386 3583
 
3387 3584
 /**
3388 3585
  * Output the Javascript files
@@ -3413,8 +3610,7 @@  discard block
 block discarded – undo
3413 3610
 			{
3414 3611
 				echo '
3415 3612
 		var ', $key, ';';
3416
-			}
3417
-			else
3613
+			} else
3418 3614
 			{
3419 3615
 				echo '
3420 3616
 		var ', $key, ' = ', $value, ';';
@@ -3429,26 +3625,27 @@  discard block
 block discarded – undo
3429 3625
 	foreach ($context['javascript_files'] as $id => $js_file)
3430 3626
 	{
3431 3627
 		// Last minute call! allow theme authors to disable single files.
3432
-		if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files']))
3433
-			continue;
3628
+		if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files'])) {
3629
+					continue;
3630
+		}
3434 3631
 
3435 3632
 		// By default all files don't get minimized unless the file explicitly says so!
3436 3633
 		if (!empty($js_file['options']['minimize']) && !empty($modSettings['minimize_files']))
3437 3634
 		{
3438
-			if ($do_deferred && !empty($js_file['options']['defer']))
3439
-				$toMinifyDefer[] = $js_file;
3440
-
3441
-			elseif (!$do_deferred && empty($js_file['options']['defer']))
3442
-				$toMinify[] = $js_file;
3635
+			if ($do_deferred && !empty($js_file['options']['defer'])) {
3636
+							$toMinifyDefer[] = $js_file;
3637
+			} elseif (!$do_deferred && empty($js_file['options']['defer'])) {
3638
+							$toMinify[] = $js_file;
3639
+			}
3443 3640
 
3444 3641
 			// Grab a random seed.
3445
-			if (!isset($minSeed))
3446
-				$minSeed = $js_file['options']['seed'];
3447
-		}
3448
-
3449
-		elseif ((!$do_deferred && empty($js_file['options']['defer'])) || ($do_deferred && !empty($js_file['options']['defer'])))
3450
-			echo '
3642
+			if (!isset($minSeed)) {
3643
+							$minSeed = $js_file['options']['seed'];
3644
+			}
3645
+		} elseif ((!$do_deferred && empty($js_file['options']['defer'])) || ($do_deferred && !empty($js_file['options']['defer']))) {
3646
+					echo '
3451 3647
 	<script src="', $js_file['fileUrl'], '"', !empty($js_file['options']['async']) ? ' async="async"' : '', '></script>';
3648
+		}
3452 3649
 	}
3453 3650
 
3454 3651
 	if ((!$do_deferred && !empty($toMinify)) || ($do_deferred && !empty($toMinifyDefer)))
@@ -3456,14 +3653,14 @@  discard block
 block discarded – undo
3456 3653
 		$result = custMinify(($do_deferred ? $toMinifyDefer : $toMinify), 'js', $do_deferred);
3457 3654
 
3458 3655
 		// Minify process couldn't work, print each individual files.
3459
-		if (!empty($result) && is_array($result))
3460
-			foreach ($result as $minFailedFile)
3656
+		if (!empty($result) && is_array($result)) {
3657
+					foreach ($result as $minFailedFile)
3461 3658
 				echo '
3462 3659
 	<script src="', $minFailedFile['fileUrl'], '"', !empty($minFailedFile['options']['async']) ? ' async="async"' : '', '></script>';
3463
-
3464
-		else
3465
-			echo '
3660
+		} else {
3661
+					echo '
3466 3662
 	<script src="', $settings['theme_url'] ,'/scripts/minified', ($do_deferred ? '_deferred' : '') ,'.js', $minSeed ,'"></script>';
3663
+		}
3467 3664
 	}
3468 3665
 
3469 3666
 	// Inline JavaScript - Actually useful some times!
@@ -3474,8 +3671,9 @@  discard block
 block discarded – undo
3474 3671
 			echo '
3475 3672
 <script>';
3476 3673
 
3477
-			foreach ($context['javascript_inline']['defer'] as $js_code)
3478
-				echo $js_code;
3674
+			foreach ($context['javascript_inline']['defer'] as $js_code) {
3675
+							echo $js_code;
3676
+			}
3479 3677
 
3480 3678
 			echo '
3481 3679
 </script>';
@@ -3486,8 +3684,9 @@  discard block
 block discarded – undo
3486 3684
 			echo '
3487 3685
 	<script>';
3488 3686
 
3489
-			foreach ($context['javascript_inline']['standard'] as $js_code)
3490
-				echo $js_code;
3687
+			foreach ($context['javascript_inline']['standard'] as $js_code) {
3688
+							echo $js_code;
3689
+			}
3491 3690
 
3492 3691
 			echo '
3493 3692
 	</script>';
@@ -3512,8 +3711,9 @@  discard block
 block discarded – undo
3512 3711
 	foreach ($context['css_files'] as $id => $file)
3513 3712
 	{
3514 3713
 		// Last minute call! allow theme authors to disable single files.
3515
-		if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files']))
3516
-			continue;
3714
+		if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files'])) {
3715
+					continue;
3716
+		}
3517 3717
 
3518 3718
 		// By default all files don't get minimized unless the file explicitly says so!
3519 3719
 		if (!empty($file['options']['minimize']) && !empty($modSettings['minimize_files']))
@@ -3521,12 +3721,12 @@  discard block
 block discarded – undo
3521 3721
 			$toMinify[] = $file;
3522 3722
 
3523 3723
 			// Grab a random seed.
3524
-			if (!isset($minSeed))
3525
-				$minSeed = $file['options']['seed'];
3724
+			if (!isset($minSeed)) {
3725
+							$minSeed = $file['options']['seed'];
3726
+			}
3727
+		} else {
3728
+					$normal[] = $file['fileUrl'];
3526 3729
 		}
3527
-
3528
-		else
3529
-			$normal[] = $file['fileUrl'];
3530 3730
 	}
3531 3731
 
3532 3732
 	if (!empty($toMinify))
@@ -3534,28 +3734,30 @@  discard block
 block discarded – undo
3534 3734
 		$result = custMinify($toMinify, 'css');
3535 3735
 
3536 3736
 		// Minify process couldn't work, print each individual files.
3537
-		if (!empty($result) && is_array($result))
3538
-			foreach ($result as $minFailedFile)
3737
+		if (!empty($result) && is_array($result)) {
3738
+					foreach ($result as $minFailedFile)
3539 3739
 				echo '
3540 3740
 	<link rel="stylesheet" href="', $minFailedFile['fileUrl'], '">';
3541
-
3542
-		else
3543
-			echo '
3741
+		} else {
3742
+					echo '
3544 3743
 	<link rel="stylesheet" href="', $settings['theme_url'] ,'/css/minified.css', $minSeed ,'">';
3744
+		}
3545 3745
 	}
3546 3746
 
3547 3747
 	// Print the rest after the minified files.
3548
-	if (!empty($normal))
3549
-		foreach ($normal as $nf)
3748
+	if (!empty($normal)) {
3749
+			foreach ($normal as $nf)
3550 3750
 			echo '
3551 3751
 	<link rel="stylesheet" href="', $nf ,'">';
3752
+	}
3552 3753
 
3553 3754
 	if ($db_show_debug === true)
3554 3755
 	{
3555 3756
 		// Try to keep only what's useful.
3556 3757
 		$repl = array($boardurl . '/Themes/' => '', $boardurl . '/' => '');
3557
-		foreach ($context['css_files'] as $file)
3558
-			$context['debug']['sheets'][] = strtr($file['fileName'], $repl);
3758
+		foreach ($context['css_files'] as $file) {
3759
+					$context['debug']['sheets'][] = strtr($file['fileName'], $repl);
3760
+		}
3559 3761
 	}
3560 3762
 
3561 3763
 	if (!empty($context['css_header']))
@@ -3563,9 +3765,10 @@  discard block
 block discarded – undo
3563 3765
 		echo '
3564 3766
 	<style>';
3565 3767
 
3566
-		foreach ($context['css_header'] as $css)
3567
-			echo $css .'
3768
+		foreach ($context['css_header'] as $css) {
3769
+					echo $css .'
3568 3770
 	';
3771
+		}
3569 3772
 
3570 3773
 		echo'
3571 3774
 	</style>';
@@ -3590,15 +3793,17 @@  discard block
 block discarded – undo
3590 3793
 	$data = !empty($data) ? $data : false;
3591 3794
 	$minFailed = array();
3592 3795
 
3593
-	if (empty($type) || empty($data))
3594
-		return false;
3796
+	if (empty($type) || empty($data)) {
3797
+			return false;
3798
+	}
3595 3799
 
3596 3800
 	// Did we already did this?
3597 3801
 	$toCache = cache_get_data('minimized_'. $settings['theme_id'] .'_'. $type, 86400);
3598 3802
 
3599 3803
 	// Already done?
3600
-	if (!empty($toCache))
3601
-		return true;
3804
+	if (!empty($toCache)) {
3805
+			return true;
3806
+	}
3602 3807
 
3603 3808
 	// Yep, need a bunch of files.
3604 3809
 	require_once($sourcedir . '/minify/src/Minify.php');
@@ -3686,8 +3891,9 @@  discard block
 block discarded – undo
3686 3891
 	global $modSettings, $smcFunc;
3687 3892
 
3688 3893
 	// Just make up a nice hash...
3689
-	if ($new)
3690
-		return sha1(md5($filename . time()) . mt_rand());
3894
+	if ($new) {
3895
+			return sha1(md5($filename . time()) . mt_rand());
3896
+	}
3691 3897
 
3692 3898
 	// Grab the file hash if it wasn't added.
3693 3899
 	// Left this for legacy.
@@ -3701,23 +3907,25 @@  discard block
 block discarded – undo
3701 3907
 				'id_attach' => $attachment_id,
3702 3908
 			));
3703 3909
 
3704
-		if ($smcFunc['db_num_rows']($request) === 0)
3705
-			return false;
3910
+		if ($smcFunc['db_num_rows']($request) === 0) {
3911
+					return false;
3912
+		}
3706 3913
 
3707 3914
 		list ($file_hash) = $smcFunc['db_fetch_row']($request);
3708 3915
 		$smcFunc['db_free_result']($request);
3709 3916
 	}
3710 3917
 
3711 3918
 	// Still no hash? mmm...
3712
-	if (empty($file_hash))
3713
-		$file_hash = sha1(md5($filename . time()) . mt_rand());
3919
+	if (empty($file_hash)) {
3920
+			$file_hash = sha1(md5($filename . time()) . mt_rand());
3921
+	}
3714 3922
 
3715 3923
 	// Are we using multiple directories?
3716
-	if (!empty($modSettings['currentAttachmentUploadDir']))
3717
-		$path = $modSettings['attachmentUploadDir'][$dir];
3718
-
3719
-	else
3720
-		$path = $modSettings['attachmentUploadDir'];
3924
+	if (!empty($modSettings['currentAttachmentUploadDir'])) {
3925
+			$path = $modSettings['attachmentUploadDir'][$dir];
3926
+	} else {
3927
+			$path = $modSettings['attachmentUploadDir'];
3928
+	}
3721 3929
 
3722 3930
 	return $path . '/' . $attachment_id . '_' . $file_hash .'.dat';
3723 3931
 }
@@ -3732,8 +3940,9 @@  discard block
 block discarded – undo
3732 3940
 function ip2range($fullip)
3733 3941
 {
3734 3942
 	// Pretend that 'unknown' is 255.255.255.255. (since that can't be an IP anyway.)
3735
-	if ($fullip == 'unknown')
3736
-		$fullip = '255.255.255.255';
3943
+	if ($fullip == 'unknown') {
3944
+			$fullip = '255.255.255.255';
3945
+	}
3737 3946
 
3738 3947
 	$ip_parts = explode('-', $fullip);
3739 3948
 	$ip_array = array();
@@ -3757,10 +3966,11 @@  discard block
 block discarded – undo
3757 3966
 		$ip_array['low'] = $ip_parts[0];
3758 3967
 		$ip_array['high'] = $ip_parts[1];
3759 3968
 		return $ip_array;
3760
-	}
3761
-	elseif (count($ip_parts) == 2) // if ip 22.22.*-22.22.*
3969
+	} elseif (count($ip_parts) == 2) {
3970
+		// if ip 22.22.*-22.22.*
3762 3971
 	{
3763 3972
 		$valid_low = isValidIP($ip_parts[0]);
3973
+	}
3764 3974
 		$valid_high = isValidIP($ip_parts[1]);
3765 3975
 		$count = 0;
3766 3976
 		$mode = (preg_match('/:/',$ip_parts[0]) > 0 ? ':' : '.');
@@ -3775,7 +3985,9 @@  discard block
 block discarded – undo
3775 3985
 				$ip_parts[0] .= $mode . $min;
3776 3986
 				$valid_low = isValidIP($ip_parts[0]);
3777 3987
 				$count++;
3778
-				if ($count > 9) break;
3988
+				if ($count > 9) {
3989
+					break;
3990
+				}
3779 3991
 			}
3780 3992
 		}
3781 3993
 
@@ -3789,7 +4001,9 @@  discard block
 block discarded – undo
3789 4001
 				$ip_parts[1] .= $mode . $max;
3790 4002
 				$valid_high = isValidIP($ip_parts[1]);
3791 4003
 				$count++;
3792
-				if ($count > 9) break;
4004
+				if ($count > 9) {
4005
+					break;
4006
+				}
3793 4007
 			}
3794 4008
 		}
3795 4009
 
@@ -3814,46 +4028,54 @@  discard block
 block discarded – undo
3814 4028
 {
3815 4029
 	global $modSettings;
3816 4030
 
3817
-	if (($host = cache_get_data('hostlookup-' . $ip, 600)) !== null)
3818
-		return $host;
4031
+	if (($host = cache_get_data('hostlookup-' . $ip, 600)) !== null) {
4032
+			return $host;
4033
+	}
3819 4034
 	$t = microtime();
3820 4035
 
3821 4036
 	// Try the Linux host command, perhaps?
3822 4037
 	if (!isset($host) && (strpos(strtolower(PHP_OS), 'win') === false || strpos(strtolower(PHP_OS), 'darwin') !== false) && mt_rand(0, 1) == 1)
3823 4038
 	{
3824
-		if (!isset($modSettings['host_to_dis']))
3825
-			$test = @shell_exec('host -W 1 ' . @escapeshellarg($ip));
3826
-		else
3827
-			$test = @shell_exec('host ' . @escapeshellarg($ip));
4039
+		if (!isset($modSettings['host_to_dis'])) {
4040
+					$test = @shell_exec('host -W 1 ' . @escapeshellarg($ip));
4041
+		} else {
4042
+					$test = @shell_exec('host ' . @escapeshellarg($ip));
4043
+		}
3828 4044
 
3829 4045
 		// Did host say it didn't find anything?
3830
-		if (strpos($test, 'not found') !== false)
3831
-			$host = '';
4046
+		if (strpos($test, 'not found') !== false) {
4047
+					$host = '';
4048
+		}
3832 4049
 		// Invalid server option?
3833
-		elseif ((strpos($test, 'invalid option') || strpos($test, 'Invalid query name 1')) && !isset($modSettings['host_to_dis']))
3834
-			updateSettings(array('host_to_dis' => 1));
4050
+		elseif ((strpos($test, 'invalid option') || strpos($test, 'Invalid query name 1')) && !isset($modSettings['host_to_dis'])) {
4051
+					updateSettings(array('host_to_dis' => 1));
4052
+		}
3835 4053
 		// Maybe it found something, after all?
3836
-		elseif (preg_match('~\s([^\s]+?)\.\s~', $test, $match) == 1)
3837
-			$host = $match[1];
4054
+		elseif (preg_match('~\s([^\s]+?)\.\s~', $test, $match) == 1) {
4055
+					$host = $match[1];
4056
+		}
3838 4057
 	}
3839 4058
 
3840 4059
 	// This is nslookup; usually only Windows, but possibly some Unix?
3841 4060
 	if (!isset($host) && stripos(PHP_OS, 'win') !== false && strpos(strtolower(PHP_OS), 'darwin') === false && mt_rand(0, 1) == 1)
3842 4061
 	{
3843 4062
 		$test = @shell_exec('nslookup -timeout=1 ' . @escapeshellarg($ip));
3844
-		if (strpos($test, 'Non-existent domain') !== false)
3845
-			$host = '';
3846
-		elseif (preg_match('~Name:\s+([^\s]+)~', $test, $match) == 1)
3847
-			$host = $match[1];
4063
+		if (strpos($test, 'Non-existent domain') !== false) {
4064
+					$host = '';
4065
+		} elseif (preg_match('~Name:\s+([^\s]+)~', $test, $match) == 1) {
4066
+					$host = $match[1];
4067
+		}
3848 4068
 	}
3849 4069
 
3850 4070
 	// This is the last try :/.
3851
-	if (!isset($host) || $host === false)
3852
-		$host = @gethostbyaddr($ip);
4071
+	if (!isset($host) || $host === false) {
4072
+			$host = @gethostbyaddr($ip);
4073
+	}
3853 4074
 
3854 4075
 	// It took a long time, so let's cache it!
3855
-	if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.5)
3856
-		cache_put_data('hostlookup-' . $ip, $host, 600);
4076
+	if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.5) {
4077
+			cache_put_data('hostlookup-' . $ip, $host, 600);
4078
+	}
3857 4079
 
3858 4080
 	return $host;
3859 4081
 }
@@ -3889,20 +4111,21 @@  discard block
 block discarded – undo
3889 4111
 			{
3890 4112
 				$encrypted = substr(crypt($word, 'uk'), 2, $max_chars);
3891 4113
 				$total = 0;
3892
-				for ($i = 0; $i < $max_chars; $i++)
3893
-					$total += $possible_chars[ord($encrypted{$i})] * pow(63, $i);
4114
+				for ($i = 0; $i < $max_chars; $i++) {
4115
+									$total += $possible_chars[ord($encrypted{$i})] * pow(63, $i);
4116
+				}
3894 4117
 				$returned_ints[] = $max_chars == 4 ? min($total, 16777215) : $total;
3895 4118
 			}
3896 4119
 		}
3897 4120
 		return array_unique($returned_ints);
3898
-	}
3899
-	else
4121
+	} else
3900 4122
 	{
3901 4123
 		// Trim characters before and after and add slashes for database insertion.
3902 4124
 		$returned_words = array();
3903
-		foreach ($words as $word)
3904
-			if (($word = trim($word, '-_\'')) !== '')
4125
+		foreach ($words as $word) {
4126
+					if (($word = trim($word, '-_\'')) !== '')
3905 4127
 				$returned_words[] = $max_chars === null ? $word : substr($word, 0, $max_chars);
4128
+		}
3906 4129
 
3907 4130
 		// Filter out all words that occur more than once.
3908 4131
 		return array_unique($returned_words);
@@ -3924,16 +4147,18 @@  discard block
 block discarded – undo
3924 4147
 	global $settings, $txt;
3925 4148
 
3926 4149
 	// Does the current loaded theme have this and we are not forcing the usage of this function?
3927
-	if (function_exists('template_create_button') && !$force_use)
3928
-		return template_create_button($name, $alt, $label = '', $custom = '');
4150
+	if (function_exists('template_create_button') && !$force_use) {
4151
+			return template_create_button($name, $alt, $label = '', $custom = '');
4152
+	}
3929 4153
 
3930
-	if (!$settings['use_image_buttons'])
3931
-		return $txt[$alt];
3932
-	elseif (!empty($settings['use_buttons']))
3933
-		return '<span class="generic_icons ' . $name . '" alt="' . $txt[$alt] . '"></span>' . ($label != '' ? '&nbsp;<strong>' . $txt[$label] . '</strong>' : '');
3934
-	else
3935
-		return '<img src="' . $settings['lang_images_url'] . '/' . $name . '" alt="' . $txt[$alt] . '" ' . $custom . '>';
3936
-}
4154
+	if (!$settings['use_image_buttons']) {
4155
+			return $txt[$alt];
4156
+	} elseif (!empty($settings['use_buttons'])) {
4157
+			return '<span class="generic_icons ' . $name . '" alt="' . $txt[$alt] . '"></span>' . ($label != '' ? '&nbsp;<strong>' . $txt[$label] . '</strong>' : '');
4158
+	} else {
4159
+			return '<img src="' . $settings['lang_images_url'] . '/' . $name . '" alt="' . $txt[$alt] . '" ' . $custom . '>';
4160
+	}
4161
+	}
3937 4162
 
3938 4163
 /**
3939 4164
  * Sets up all of the top menu buttons
@@ -3976,9 +4201,10 @@  discard block
 block discarded – undo
3976 4201
 	var user_menus = new smc_PopupMenu();
3977 4202
 	user_menus.add("profile", "' . $scripturl . '?action=profile;area=popup");
3978 4203
 	user_menus.add("alerts", "' . $scripturl . '?action=profile;area=alerts_popup;u='. $context['user']['id'] .'");', true);
3979
-		if ($context['allow_pm'])
3980
-			addInlineJavaScript('
4204
+		if ($context['allow_pm']) {
4205
+					addInlineJavaScript('
3981 4206
 	user_menus.add("pm", "' . $scripturl . '?action=pm;sa=popup");', true);
4207
+		}
3982 4208
 
3983 4209
 		if (!empty($modSettings['enable_ajax_alerts']))
3984 4210
 		{
@@ -4138,88 +4364,96 @@  discard block
 block discarded – undo
4138 4364
 
4139 4365
 		// Now we put the buttons in the context so the theme can use them.
4140 4366
 		$menu_buttons = array();
4141
-		foreach ($buttons as $act => $button)
4142
-			if (!empty($button['show']))
4367
+		foreach ($buttons as $act => $button) {
4368
+					if (!empty($button['show']))
4143 4369
 			{
4144 4370
 				$button['active_button'] = false;
4371
+		}
4145 4372
 
4146 4373
 				// This button needs some action.
4147
-				if (isset($button['action_hook']))
4148
-					$needs_action_hook = true;
4374
+				if (isset($button['action_hook'])) {
4375
+									$needs_action_hook = true;
4376
+				}
4149 4377
 
4150 4378
 				// Make sure the last button truly is the last button.
4151 4379
 				if (!empty($button['is_last']))
4152 4380
 				{
4153
-					if (isset($last_button))
4154
-						unset($menu_buttons[$last_button]['is_last']);
4381
+					if (isset($last_button)) {
4382
+											unset($menu_buttons[$last_button]['is_last']);
4383
+					}
4155 4384
 					$last_button = $act;
4156 4385
 				}
4157 4386
 
4158 4387
 				// Go through the sub buttons if there are any.
4159
-				if (!empty($button['sub_buttons']))
4160
-					foreach ($button['sub_buttons'] as $key => $subbutton)
4388
+				if (!empty($button['sub_buttons'])) {
4389
+									foreach ($button['sub_buttons'] as $key => $subbutton)
4161 4390
 					{
4162 4391
 						if (empty($subbutton['show']))
4163 4392
 							unset($button['sub_buttons'][$key]);
4393
+				}
4164 4394
 
4165 4395
 						// 2nd level sub buttons next...
4166 4396
 						if (!empty($subbutton['sub_buttons']))
4167 4397
 						{
4168 4398
 							foreach ($subbutton['sub_buttons'] as $key2 => $sub_button2)
4169 4399
 							{
4170
-								if (empty($sub_button2['show']))
4171
-									unset($button['sub_buttons'][$key]['sub_buttons'][$key2]);
4400
+								if (empty($sub_button2['show'])) {
4401
+																	unset($button['sub_buttons'][$key]['sub_buttons'][$key2]);
4402
+								}
4172 4403
 							}
4173 4404
 						}
4174 4405
 					}
4175 4406
 
4176 4407
 				// Does this button have its own icon?
4177
-				if (isset($button['icon']) && file_exists($settings['theme_dir'] . '/images/' . $button['icon']))
4178
-					$button['icon'] = '<img src="' . $settings['images_url'] . '/' . $button['icon'] . '" alt="">';
4179
-				elseif (isset($button['icon']) && file_exists($settings['default_theme_dir'] . '/images/' . $button['icon']))
4180
-					$button['icon'] = '<img src="' . $settings['default_images_url'] . '/' . $button['icon'] . '" alt="">';
4181
-				elseif (isset($button['icon']))
4182
-					$button['icon'] = '<span class="generic_icons ' . $button['icon'] . '"></span>';
4183
-				else
4184
-					$button['icon'] = '<span class="generic_icons ' . $act . '"></span>';
4408
+				if (isset($button['icon']) && file_exists($settings['theme_dir'] . '/images/' . $button['icon'])) {
4409
+									$button['icon'] = '<img src="' . $settings['images_url'] . '/' . $button['icon'] . '" alt="">';
4410
+				} elseif (isset($button['icon']) && file_exists($settings['default_theme_dir'] . '/images/' . $button['icon'])) {
4411
+									$button['icon'] = '<img src="' . $settings['default_images_url'] . '/' . $button['icon'] . '" alt="">';
4412
+				} elseif (isset($button['icon'])) {
4413
+									$button['icon'] = '<span class="generic_icons ' . $button['icon'] . '"></span>';
4414
+				} else {
4415
+									$button['icon'] = '<span class="generic_icons ' . $act . '"></span>';
4416
+				}
4185 4417
 
4186 4418
 				$menu_buttons[$act] = $button;
4187 4419
 			}
4188 4420
 
4189
-		if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2)
4190
-			cache_put_data('menu_buttons-' . implode('_', $user_info['groups']) . '-' . $user_info['language'], $menu_buttons, $cacheTime);
4421
+		if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) {
4422
+					cache_put_data('menu_buttons-' . implode('_', $user_info['groups']) . '-' . $user_info['language'], $menu_buttons, $cacheTime);
4423
+		}
4191 4424
 	}
4192 4425
 
4193 4426
 	$context['menu_buttons'] = $menu_buttons;
4194 4427
 
4195 4428
 	// Logging out requires the session id in the url.
4196
-	if (isset($context['menu_buttons']['logout']))
4197
-		$context['menu_buttons']['logout']['href'] = sprintf($context['menu_buttons']['logout']['href'], $context['session_var'], $context['session_id']);
4429
+	if (isset($context['menu_buttons']['logout'])) {
4430
+			$context['menu_buttons']['logout']['href'] = sprintf($context['menu_buttons']['logout']['href'], $context['session_var'], $context['session_id']);
4431
+	}
4198 4432
 
4199 4433
 	// Figure out which action we are doing so we can set the active tab.
4200 4434
 	// Default to home.
4201 4435
 	$current_action = 'home';
4202 4436
 
4203
-	if (isset($context['menu_buttons'][$context['current_action']]))
4204
-		$current_action = $context['current_action'];
4205
-	elseif ($context['current_action'] == 'search2')
4206
-		$current_action = 'search';
4207
-	elseif ($context['current_action'] == 'theme')
4208
-		$current_action = isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' ? 'profile' : 'admin';
4209
-	elseif ($context['current_action'] == 'register2')
4210
-		$current_action = 'register';
4211
-	elseif ($context['current_action'] == 'login2' || ($user_info['is_guest'] && $context['current_action'] == 'reminder'))
4212
-		$current_action = 'login';
4213
-	elseif ($context['current_action'] == 'groups' && $context['allow_moderation_center'])
4214
-		$current_action = 'moderate';
4437
+	if (isset($context['menu_buttons'][$context['current_action']])) {
4438
+			$current_action = $context['current_action'];
4439
+	} elseif ($context['current_action'] == 'search2') {
4440
+			$current_action = 'search';
4441
+	} elseif ($context['current_action'] == 'theme') {
4442
+			$current_action = isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' ? 'profile' : 'admin';
4443
+	} elseif ($context['current_action'] == 'register2') {
4444
+			$current_action = 'register';
4445
+	} elseif ($context['current_action'] == 'login2' || ($user_info['is_guest'] && $context['current_action'] == 'reminder')) {
4446
+			$current_action = 'login';
4447
+	} elseif ($context['current_action'] == 'groups' && $context['allow_moderation_center']) {
4448
+			$current_action = 'moderate';
4449
+	}
4215 4450
 
4216 4451
 	// There are certain exceptions to the above where we don't want anything on the menu highlighted.
4217 4452
 	if ($context['current_action'] == 'profile' && !empty($context['user']['is_owner']))
4218 4453
 	{
4219 4454
 		$current_action = !empty($_GET['area']) && $_GET['area'] == 'showalerts' ? 'self_alerts' : 'self_profile';
4220 4455
 		$context[$current_action] = true;
4221
-	}
4222
-	elseif ($context['current_action'] == 'pm')
4456
+	} elseif ($context['current_action'] == 'pm')
4223 4457
 	{
4224 4458
 		$current_action = 'self_pm';
4225 4459
 		$context['self_pm'] = true;
@@ -4262,12 +4496,14 @@  discard block
 block discarded – undo
4262 4496
 	}
4263 4497
 
4264 4498
 	// Not all actions are simple.
4265
-	if (!empty($needs_action_hook))
4266
-		call_integration_hook('integrate_current_action', array(&$current_action));
4499
+	if (!empty($needs_action_hook)) {
4500
+			call_integration_hook('integrate_current_action', array(&$current_action));
4501
+	}
4267 4502
 
4268
-	if (isset($context['menu_buttons'][$current_action]))
4269
-		$context['menu_buttons'][$current_action]['active_button'] = true;
4270
-}
4503
+	if (isset($context['menu_buttons'][$current_action])) {
4504
+			$context['menu_buttons'][$current_action]['active_button'] = true;
4505
+	}
4506
+	}
4271 4507
 
4272 4508
 /**
4273 4509
  * Generate a random seed and ensure it's stored in settings.
@@ -4291,16 +4527,19 @@  discard block
 block discarded – undo
4291 4527
 	global $modSettings, $settings, $boarddir, $sourcedir, $db_show_debug;
4292 4528
 	global $context, $txt;
4293 4529
 
4294
-	if ($db_show_debug === true)
4295
-		$context['debug']['hooks'][] = $hook;
4530
+	if ($db_show_debug === true) {
4531
+			$context['debug']['hooks'][] = $hook;
4532
+	}
4296 4533
 
4297 4534
 	// Need to have some control.
4298
-	if (!isset($context['instances']))
4299
-		$context['instances'] = array();
4535
+	if (!isset($context['instances'])) {
4536
+			$context['instances'] = array();
4537
+	}
4300 4538
 
4301 4539
 	$results = array();
4302
-	if (empty($modSettings[$hook]))
4303
-		return $results;
4540
+	if (empty($modSettings[$hook])) {
4541
+			return $results;
4542
+	}
4304 4543
 
4305 4544
 	// Define some needed vars.
4306 4545
 	$function = false;
@@ -4310,14 +4549,16 @@  discard block
 block discarded – undo
4310 4549
 	foreach ($functions as $function)
4311 4550
 	{
4312 4551
 		// Hook has been marked as "disabled". Skip it!
4313
-		if (strpos($function, '!') !== false)
4314
-			continue;
4552
+		if (strpos($function, '!') !== false) {
4553
+					continue;
4554
+		}
4315 4555
 
4316 4556
 		$call = call_helper($function, true);
4317 4557
 
4318 4558
 		// Is it valid?
4319
-		if (!empty($call))
4320
-			$results[$function] = call_user_func_array($call, $parameters);
4559
+		if (!empty($call)) {
4560
+					$results[$function] = call_user_func_array($call, $parameters);
4561
+		}
4321 4562
 
4322 4563
 		// Whatever it was suppose to call, it failed :(
4323 4564
 		elseif (!empty($function))
@@ -4333,8 +4574,9 @@  discard block
 block discarded – undo
4333 4574
 			}
4334 4575
 
4335 4576
 			// "Assume" the file resides on $boarddir somewhere...
4336
-			else
4337
-				log_error(sprintf($txt['hook_fail_call_to'], $function, $boarddir), 'general');
4577
+			else {
4578
+							log_error(sprintf($txt['hook_fail_call_to'], $function, $boarddir), 'general');
4579
+			}
4338 4580
 		}
4339 4581
 	}
4340 4582
 
@@ -4356,12 +4598,14 @@  discard block
 block discarded – undo
4356 4598
 	global $smcFunc, $modSettings;
4357 4599
 
4358 4600
 	// Any objects?
4359
-	if ($object)
4360
-		$function = $function . '#';
4601
+	if ($object) {
4602
+			$function = $function . '#';
4603
+	}
4361 4604
 
4362 4605
 	// Any files  to load?
4363
-	if (!empty($file) && is_string($file))
4364
-		$function = $file . (!empty($function) ? '|' . $function : '');
4606
+	if (!empty($file) && is_string($file)) {
4607
+			$function = $file . (!empty($function) ? '|' . $function : '');
4608
+	}
4365 4609
 
4366 4610
 	// Get the correct string.
4367 4611
 	$integration_call = $function;
@@ -4383,13 +4627,14 @@  discard block
 block discarded – undo
4383 4627
 		if (!empty($current_functions))
4384 4628
 		{
4385 4629
 			$current_functions = explode(',', $current_functions);
4386
-			if (in_array($integration_call, $current_functions))
4387
-				return;
4630
+			if (in_array($integration_call, $current_functions)) {
4631
+							return;
4632
+			}
4388 4633
 
4389 4634
 			$permanent_functions = array_merge($current_functions, array($integration_call));
4635
+		} else {
4636
+					$permanent_functions = array($integration_call);
4390 4637
 		}
4391
-		else
4392
-			$permanent_functions = array($integration_call);
4393 4638
 
4394 4639
 		updateSettings(array($hook => implode(',', $permanent_functions)));
4395 4640
 	}
@@ -4398,8 +4643,9 @@  discard block
 block discarded – undo
4398 4643
 	$functions = empty($modSettings[$hook]) ? array() : explode(',', $modSettings[$hook]);
4399 4644
 
4400 4645
 	// Do nothing, if it's already there.
4401
-	if (in_array($integration_call, $functions))
4402
-		return;
4646
+	if (in_array($integration_call, $functions)) {
4647
+			return;
4648
+	}
4403 4649
 
4404 4650
 	$functions[] = $integration_call;
4405 4651
 	$modSettings[$hook] = implode(',', $functions);
@@ -4422,12 +4668,14 @@  discard block
 block discarded – undo
4422 4668
 	global $smcFunc, $modSettings;
4423 4669
 
4424 4670
 	// Any objects?
4425
-	if ($object)
4426
-		$function = $function . '#';
4671
+	if ($object) {
4672
+			$function = $function . '#';
4673
+	}
4427 4674
 
4428 4675
 	// Any files  to load?
4429
-	if (!empty($file) && is_string($file))
4430
-		$function = $file . '|' . $function;
4676
+	if (!empty($file) && is_string($file)) {
4677
+			$function = $file . '|' . $function;
4678
+	}
4431 4679
 
4432 4680
 	// Get the correct string.
4433 4681
 	$integration_call = $function;
@@ -4448,16 +4696,18 @@  discard block
 block discarded – undo
4448 4696
 	{
4449 4697
 		$current_functions = explode(',', $current_functions);
4450 4698
 
4451
-		if (in_array($integration_call, $current_functions))
4452
-			updateSettings(array($hook => implode(',', array_diff($current_functions, array($integration_call)))));
4699
+		if (in_array($integration_call, $current_functions)) {
4700
+					updateSettings(array($hook => implode(',', array_diff($current_functions, array($integration_call)))));
4701
+		}
4453 4702
 	}
4454 4703
 
4455 4704
 	// Turn the function list into something usable.
4456 4705
 	$functions = empty($modSettings[$hook]) ? array() : explode(',', $modSettings[$hook]);
4457 4706
 
4458 4707
 	// You can only remove it if it's available.
4459
-	if (!in_array($integration_call, $functions))
4460
-		return;
4708
+	if (!in_array($integration_call, $functions)) {
4709
+			return;
4710
+	}
4461 4711
 
4462 4712
 	$functions = array_diff($functions, array($integration_call));
4463 4713
 	$modSettings[$hook] = implode(',', $functions);
@@ -4478,17 +4728,20 @@  discard block
 block discarded – undo
4478 4728
 	global $context, $smcFunc, $txt, $db_show_debug;
4479 4729
 
4480 4730
 	// Really?
4481
-	if (empty($string))
4482
-		return false;
4731
+	if (empty($string)) {
4732
+			return false;
4733
+	}
4483 4734
 
4484 4735
 	// An array? should be a "callable" array IE array(object/class, valid_callable).
4485 4736
 	// A closure? should be a callable one.
4486
-	if (is_array($string) || $string instanceof Closure)
4487
-		return $return ? $string : (is_callable($string) ? call_user_func($string) : false);
4737
+	if (is_array($string) || $string instanceof Closure) {
4738
+			return $return ? $string : (is_callable($string) ? call_user_func($string) : false);
4739
+	}
4488 4740
 
4489 4741
 	// No full objects, sorry! pass a method or a property instead!
4490
-	if (is_object($string))
4491
-		return false;
4742
+	if (is_object($string)) {
4743
+			return false;
4744
+	}
4492 4745
 
4493 4746
 	// Stay vitaminized my friends...
4494 4747
 	$string = $smcFunc['htmlspecialchars']($smcFunc['htmltrim']($string));
@@ -4500,8 +4753,9 @@  discard block
 block discarded – undo
4500 4753
 	$string = load_file($string);
4501 4754
 
4502 4755
 	// Loaded file failed
4503
-	if (empty($string))
4504
-		return false;
4756
+	if (empty($string)) {
4757
+			return false;
4758
+	}
4505 4759
 
4506 4760
 	// Found a method.
4507 4761
 	if (strpos($string, '::') !== false)
@@ -4522,8 +4776,9 @@  discard block
 block discarded – undo
4522 4776
 				// Add another one to the list.
4523 4777
 				if ($db_show_debug === true)
4524 4778
 				{
4525
-					if (!isset($context['debug']['instances']))
4526
-						$context['debug']['instances'] = array();
4779
+					if (!isset($context['debug']['instances'])) {
4780
+											$context['debug']['instances'] = array();
4781
+					}
4527 4782
 
4528 4783
 					$context['debug']['instances'][$class] = $class;
4529 4784
 				}
@@ -4533,13 +4788,15 @@  discard block
 block discarded – undo
4533 4788
 		}
4534 4789
 
4535 4790
 		// Right then. This is a call to a static method.
4536
-		else
4537
-			$func = array($class, $method);
4791
+		else {
4792
+					$func = array($class, $method);
4793
+		}
4538 4794
 	}
4539 4795
 
4540 4796
 	// Nope! just a plain regular function.
4541
-	else
4542
-		$func = $string;
4797
+	else {
4798
+			$func = $string;
4799
+	}
4543 4800
 
4544 4801
 	// Right, we got what we need, time to do some checks.
4545 4802
 	if (!is_callable($func, false, $callable_name))
@@ -4555,17 +4812,18 @@  discard block
 block discarded – undo
4555 4812
 	else
4556 4813
 	{
4557 4814
 		// What are we gonna do about it?
4558
-		if ($return)
4559
-			return $func;
4815
+		if ($return) {
4816
+					return $func;
4817
+		}
4560 4818
 
4561 4819
 		// If this is a plain function, avoid the heat of calling call_user_func().
4562 4820
 		else
4563 4821
 		{
4564
-			if (is_array($func))
4565
-				call_user_func($func);
4566
-
4567
-			else
4568
-				$func();
4822
+			if (is_array($func)) {
4823
+							call_user_func($func);
4824
+			} else {
4825
+							$func();
4826
+			}
4569 4827
 		}
4570 4828
 	}
4571 4829
 }
@@ -4582,31 +4840,34 @@  discard block
 block discarded – undo
4582 4840
 {
4583 4841
 	global $sourcedir, $txt, $boarddir, $settings;
4584 4842
 
4585
-	if (empty($string))
4586
-		return false;
4843
+	if (empty($string)) {
4844
+			return false;
4845
+	}
4587 4846
 
4588 4847
 	if (strpos($string, '|') !== false)
4589 4848
 	{
4590 4849
 		list ($file, $string) = explode('|', $string);
4591 4850
 
4592 4851
 		// Match the wildcards to their regular vars.
4593
-		if (empty($settings['theme_dir']))
4594
-			$absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir));
4595
-
4596
-		else
4597
-			$absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir, '$themedir' => $settings['theme_dir']));
4852
+		if (empty($settings['theme_dir'])) {
4853
+					$absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir));
4854
+		} else {
4855
+					$absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir, '$themedir' => $settings['theme_dir']));
4856
+		}
4598 4857
 
4599 4858
 		// Load the file if it can be loaded.
4600
-		if (file_exists($absPath))
4601
-			require_once($absPath);
4859
+		if (file_exists($absPath)) {
4860
+					require_once($absPath);
4861
+		}
4602 4862
 
4603 4863
 		// No? try a fallback to $sourcedir
4604 4864
 		else
4605 4865
 		{
4606 4866
 			$absPath = $sourcedir .'/'. $file;
4607 4867
 
4608
-			if (file_exists($absPath))
4609
-				require_once($absPath);
4868
+			if (file_exists($absPath)) {
4869
+							require_once($absPath);
4870
+			}
4610 4871
 
4611 4872
 			// Sorry, can't do much for you at this point.
4612 4873
 			else
@@ -4633,8 +4894,9 @@  discard block
 block discarded – undo
4633 4894
 	global $user_info, $smcFunc;
4634 4895
 
4635 4896
 	// Make sure we have something to work with.
4636
-	if (empty($topic))
4637
-		return array();
4897
+	if (empty($topic)) {
4898
+			return array();
4899
+	}
4638 4900
 
4639 4901
 
4640 4902
 	// We already know the number of likes per message, we just want to know whether the current user liked it or not.
@@ -4657,8 +4919,9 @@  discard block
 block discarded – undo
4657 4919
 				'topic' => $topic,
4658 4920
 			)
4659 4921
 		);
4660
-		while ($row = $smcFunc['db_fetch_assoc']($request))
4661
-			$temp[] = (int) $row['content_id'];
4922
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
4923
+					$temp[] = (int) $row['content_id'];
4924
+		}
4662 4925
 
4663 4926
 		cache_put_data($cache_key, $temp, $ttl);
4664 4927
 	}
@@ -4679,8 +4942,9 @@  discard block
 block discarded – undo
4679 4942
 {
4680 4943
 	global $context;
4681 4944
 
4682
-	if (empty($string))
4683
-		return $string;
4945
+	if (empty($string)) {
4946
+			return $string;
4947
+	}
4684 4948
 
4685 4949
 	// UTF-8 occurences of MS special characters
4686 4950
 	$findchars_utf8 = array(
@@ -4721,10 +4985,11 @@  discard block
 block discarded – undo
4721 4985
 		'--',	// &mdash;
4722 4986
 	);
4723 4987
 
4724
-	if ($context['utf8'])
4725
-		$string = str_replace($findchars_utf8, $replacechars, $string);
4726
-	else
4727
-		$string = str_replace($findchars_iso, $replacechars, $string);
4988
+	if ($context['utf8']) {
4989
+			$string = str_replace($findchars_utf8, $replacechars, $string);
4990
+	} else {
4991
+			$string = str_replace($findchars_iso, $replacechars, $string);
4992
+	}
4728 4993
 
4729 4994
 	return $string;
4730 4995
 }
@@ -4743,49 +5008,59 @@  discard block
 block discarded – undo
4743 5008
 {
4744 5009
 	global $context;
4745 5010
 
4746
-	if (!isset($matches[2]))
4747
-		return '';
5011
+	if (!isset($matches[2])) {
5012
+			return '';
5013
+	}
4748 5014
 
4749 5015
 	$num = $matches[2][0] === 'x' ? hexdec(substr($matches[2], 1)) : (int) $matches[2];
4750 5016
 
4751 5017
 	// remove left to right / right to left overrides
4752
-	if ($num === 0x202D || $num === 0x202E)
4753
-		return '';
5018
+	if ($num === 0x202D || $num === 0x202E) {
5019
+			return '';
5020
+	}
4754 5021
 
4755 5022
 	// Quote, Ampersand, Apostrophe, Less/Greater Than get html replaced
4756
-	if (in_array($num, array(0x22, 0x26, 0x27, 0x3C, 0x3E)))
4757
-		return '&#' . $num . ';';
5023
+	if (in_array($num, array(0x22, 0x26, 0x27, 0x3C, 0x3E))) {
5024
+			return '&#' . $num . ';';
5025
+	}
4758 5026
 
4759 5027
 	if (empty($context['utf8']))
4760 5028
 	{
4761 5029
 		// no control characters
4762
-		if ($num < 0x20)
4763
-			return '';
5030
+		if ($num < 0x20) {
5031
+					return '';
5032
+		}
4764 5033
 		// text is text
4765
-		elseif ($num < 0x80)
4766
-			return chr($num);
5034
+		elseif ($num < 0x80) {
5035
+					return chr($num);
5036
+		}
4767 5037
 		// all others get html-ised
4768
-		else
4769
-			return '&#' . $matches[2] . ';';
4770
-	}
4771
-	else
5038
+		else {
5039
+					return '&#' . $matches[2] . ';';
5040
+		}
5041
+	} else
4772 5042
 	{
4773 5043
 		// <0x20 are control characters, 0x20 is a space, > 0x10FFFF is past the end of the utf8 character set
4774 5044
 		// 0xD800 >= $num <= 0xDFFF are surrogate markers (not valid for utf8 text)
4775
-		if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF))
4776
-			return '';
5045
+		if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF)) {
5046
+					return '';
5047
+		}
4777 5048
 		// <0x80 (or less than 128) are standard ascii characters a-z A-Z 0-9 and punctuation
4778
-		elseif ($num < 0x80)
4779
-			return chr($num);
5049
+		elseif ($num < 0x80) {
5050
+					return chr($num);
5051
+		}
4780 5052
 		// <0x800 (2048)
4781
-		elseif ($num < 0x800)
4782
-			return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
5053
+		elseif ($num < 0x800) {
5054
+					return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
5055
+		}
4783 5056
 		// < 0x10000 (65536)
4784
-		elseif ($num < 0x10000)
4785
-			return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5057
+		elseif ($num < 0x10000) {
5058
+					return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5059
+		}
4786 5060
 		// <= 0x10FFFF (1114111)
4787
-		else
4788
-			return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5061
+		else {
5062
+					return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5063
+		}
4789 5064
 	}
4790 5065
 }
4791 5066
 
@@ -4801,28 +5076,34 @@  discard block
 block discarded – undo
4801 5076
  */
4802 5077
 function fixchar__callback($matches)
4803 5078
 {
4804
-	if (!isset($matches[1]))
4805
-		return '';
5079
+	if (!isset($matches[1])) {
5080
+			return '';
5081
+	}
4806 5082
 
4807 5083
 	$num = $matches[1][0] === 'x' ? hexdec(substr($matches[1], 1)) : (int) $matches[1];
4808 5084
 
4809 5085
 	// <0x20 are control characters, > 0x10FFFF is past the end of the utf8 character set
4810 5086
 	// 0xD800 >= $num <= 0xDFFF are surrogate markers (not valid for utf8 text), 0x202D-E are left to right overrides
4811
-	if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num === 0x202D || $num === 0x202E)
4812
-		return '';
5087
+	if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num === 0x202D || $num === 0x202E) {
5088
+			return '';
5089
+	}
4813 5090
 	// <0x80 (or less than 128) are standard ascii characters a-z A-Z 0-9 and punctuation
4814
-	elseif ($num < 0x80)
4815
-		return chr($num);
5091
+	elseif ($num < 0x80) {
5092
+			return chr($num);
5093
+	}
4816 5094
 	// <0x800 (2048)
4817
-	elseif ($num < 0x800)
4818
-		return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
5095
+	elseif ($num < 0x800) {
5096
+			return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
5097
+	}
4819 5098
 	// < 0x10000 (65536)
4820
-	elseif ($num < 0x10000)
4821
-		return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5099
+	elseif ($num < 0x10000) {
5100
+			return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5101
+	}
4822 5102
 	// <= 0x10FFFF (1114111)
4823
-	else
4824
-		return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
4825
-}
5103
+	else {
5104
+			return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5105
+	}
5106
+	}
4826 5107
 
4827 5108
 /**
4828 5109
  * Strips out invalid html entities, replaces others with html style &#123; codes
@@ -4835,17 +5116,19 @@  discard block
 block discarded – undo
4835 5116
  */
4836 5117
 function entity_fix__callback($matches)
4837 5118
 {
4838
-	if (!isset($matches[2]))
4839
-		return '';
5119
+	if (!isset($matches[2])) {
5120
+			return '';
5121
+	}
4840 5122
 
4841 5123
 	$num = $matches[2][0] === 'x' ? hexdec(substr($matches[2], 1)) : (int) $matches[2];
4842 5124
 
4843 5125
 	// we don't allow control characters, characters out of range, byte markers, etc
4844
-	if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num == 0x202D || $num == 0x202E)
4845
-		return '';
4846
-	else
4847
-		return '&#' . $num . ';';
4848
-}
5126
+	if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num == 0x202D || $num == 0x202E) {
5127
+			return '';
5128
+	} else {
5129
+			return '&#' . $num . ';';
5130
+	}
5131
+	}
4849 5132
 
4850 5133
 /**
4851 5134
  * Return a Gravatar URL based on
@@ -4869,18 +5152,23 @@  discard block
 block discarded – undo
4869 5152
 		$ratings = array('G', 'PG', 'R', 'X');
4870 5153
 		$defaults = array('mm', 'identicon', 'monsterid', 'wavatar', 'retro', 'blank');
4871 5154
 		$url_params = array();
4872
-		if (!empty($modSettings['gravatarMaxRating']) && in_array($modSettings['gravatarMaxRating'], $ratings))
4873
-			$url_params[] = 'rating=' . $modSettings['gravatarMaxRating'];
4874
-		if (!empty($modSettings['gravatarDefault']) && in_array($modSettings['gravatarDefault'], $defaults))
4875
-			$url_params[] = 'default=' . $modSettings['gravatarDefault'];
4876
-		if (!empty($modSettings['avatar_max_width_external']))
4877
-			$size_string = (int) $modSettings['avatar_max_width_external'];
4878
-		if (!empty($modSettings['avatar_max_height_external']) && !empty($size_string))
4879
-			if ((int) $modSettings['avatar_max_height_external'] < $size_string)
5155
+		if (!empty($modSettings['gravatarMaxRating']) && in_array($modSettings['gravatarMaxRating'], $ratings)) {
5156
+					$url_params[] = 'rating=' . $modSettings['gravatarMaxRating'];
5157
+		}
5158
+		if (!empty($modSettings['gravatarDefault']) && in_array($modSettings['gravatarDefault'], $defaults)) {
5159
+					$url_params[] = 'default=' . $modSettings['gravatarDefault'];
5160
+		}
5161
+		if (!empty($modSettings['avatar_max_width_external'])) {
5162
+					$size_string = (int) $modSettings['avatar_max_width_external'];
5163
+		}
5164
+		if (!empty($modSettings['avatar_max_height_external']) && !empty($size_string)) {
5165
+					if ((int) $modSettings['avatar_max_height_external'] < $size_string)
4880 5166
 				$size_string = $modSettings['avatar_max_height_external'];
5167
+		}
4881 5168
 
4882
-		if (!empty($size_string))
4883
-			$url_params[] = 's=' . $size_string;
5169
+		if (!empty($size_string)) {
5170
+					$url_params[] = 's=' . $size_string;
5171
+		}
4884 5172
 	}
4885 5173
 	$http_method = !empty($modSettings['force_ssl']) && $modSettings['force_ssl'] == 2 ? 'https://secure' : 'http://www';
4886 5174
 
@@ -4899,22 +5187,26 @@  discard block
 block discarded – undo
4899 5187
 	static $timezones = null, $lastwhen = null;
4900 5188
 
4901 5189
 	// No point doing this over if we already did it once
4902
-	if (!empty($timezones) && $when == $lastwhen)
4903
-		return $timezones;
4904
-	else
4905
-		$lastwhen = $when;
5190
+	if (!empty($timezones) && $when == $lastwhen) {
5191
+			return $timezones;
5192
+	} else {
5193
+			$lastwhen = $when;
5194
+	}
4906 5195
 
4907 5196
 	// Parseable datetime string?
4908
-	if (is_int($timestamp = strtotime($when)))
4909
-		$when = $timestamp;
5197
+	if (is_int($timestamp = strtotime($when))) {
5198
+			$when = $timestamp;
5199
+	}
4910 5200
 
4911 5201
 	// A Unix timestamp?
4912
-	elseif (is_numeric($when))
4913
-		$when = intval($when);
5202
+	elseif (is_numeric($when)) {
5203
+			$when = intval($when);
5204
+	}
4914 5205
 
4915 5206
 	// Invalid value? Just get current Unix timestamp.
4916
-	else
4917
-		$when = time();
5207
+	else {
5208
+			$when = time();
5209
+	}
4918 5210
 
4919 5211
 	// We'll need this too
4920 5212
 	$later = (int) date_format(date_add(date_create('@' . $when), date_interval_create_from_date_string('1 year')), 'U');
@@ -4977,8 +5269,9 @@  discard block
 block discarded – undo
4977 5269
 	foreach ($priority_countries as $country)
4978 5270
 	{
4979 5271
 		$country_tzids = @timezone_identifiers_list(DateTimeZone::PER_COUNTRY, strtoupper(trim($country)));
4980
-		if (!empty($country_tzids))
4981
-			$priority_tzids = array_merge($priority_tzids, $country_tzids);
5272
+		if (!empty($country_tzids)) {
5273
+					$priority_tzids = array_merge($priority_tzids, $country_tzids);
5274
+		}
4982 5275
 	}
4983 5276
 
4984 5277
 	// Process the preferred timezones first, then the rest.
@@ -4988,8 +5281,9 @@  discard block
 block discarded – undo
4988 5281
 	foreach ($tzids as $tzid)
4989 5282
 	{
4990 5283
 		// We don't want UTC right now
4991
-		if ($tzid == 'UTC')
4992
-			continue;
5284
+		if ($tzid == 'UTC') {
5285
+					continue;
5286
+		}
4993 5287
 
4994 5288
 		// First, get the set of transition rules for this tzid
4995 5289
 		$tzinfo = timezone_transitions_get(timezone_open($tzid), $when, $later);
@@ -5000,8 +5294,9 @@  discard block
 block discarded – undo
5000 5294
 			$tz_location = timezone_location_get(timezone_open($tzid));
5001 5295
 
5002 5296
 			// Kazakstan
5003
-			if ($tz_location['country_code'] == 'KZ')
5004
-				$tzinfo[0]['abbr'] = str_replace(array('+05', '+06'), array('AQTT', 'ALMT'), $tzinfo[0]['abbr']);
5297
+			if ($tz_location['country_code'] == 'KZ') {
5298
+							$tzinfo[0]['abbr'] = str_replace(array('+05', '+06'), array('AQTT', 'ALMT'), $tzinfo[0]['abbr']);
5299
+			}
5005 5300
 
5006 5301
 			// Russia likes to experiment with time zones
5007 5302
 			if ($tz_location['country_code'] == 'RU')
@@ -5012,19 +5307,22 @@  discard block
 block discarded – undo
5012 5307
 			}
5013 5308
 
5014 5309
 			// Still no good? We'll just mark it as a UTC offset
5015
-			if (strspn($tzinfo[0]['abbr'], '+-') > 0)
5016
-				$tzinfo[0]['abbr'] = 'UTC' . $tzinfo[0]['abbr'];
5310
+			if (strspn($tzinfo[0]['abbr'], '+-') > 0) {
5311
+							$tzinfo[0]['abbr'] = 'UTC' . $tzinfo[0]['abbr'];
5312
+			}
5017 5313
 		}
5018 5314
 
5019 5315
 		$tzkey = serialize($tzinfo);
5020 5316
 
5021 5317
 		// Don't overwrite our preferred tzids
5022
-		if (empty($zones[$tzkey]['tzid']))
5023
-			$zones[$tzkey]['tzid'] = $tzid;
5318
+		if (empty($zones[$tzkey]['tzid'])) {
5319
+					$zones[$tzkey]['tzid'] = $tzid;
5320
+		}
5024 5321
 
5025 5322
 		// A time zone from a prioritized country?
5026
-		if (in_array($tzid, $priority_tzids))
5027
-			$priority_zones[$tzkey] = true;
5323
+		if (in_array($tzid, $priority_tzids)) {
5324
+					$priority_zones[$tzkey] = true;
5325
+		}
5028 5326
 
5029 5327
 		// Keep track of the location and offset for this tzid
5030 5328
 		$zones[$tzkey]['locations'][] = str_replace(array('St_', '_'), array('St. ', ' '), array_pop(explode('/', $tzid)));
@@ -5041,15 +5339,17 @@  discard block
 block discarded – undo
5041 5339
 	{
5042 5340
 		$tzinfo = unserialize($tzkey);
5043 5341
 
5044
-		if (!empty($timezone_descriptions[$tzvalue['tzid']]))
5045
-			$desc = $timezone_descriptions[$tzvalue['tzid']];
5046
-		else
5047
-			$desc = implode(', ', array_unique($tzvalue['locations']));
5342
+		if (!empty($timezone_descriptions[$tzvalue['tzid']])) {
5343
+					$desc = $timezone_descriptions[$tzvalue['tzid']];
5344
+		} else {
5345
+					$desc = implode(', ', array_unique($tzvalue['locations']));
5346
+		}
5048 5347
 
5049
-		if (isset($priority_zones[$tzkey]))
5050
-			$priority_timezones[$tzvalue['tzid']] = $tzinfo[0]['abbr'] . ' - ' . $desc . ' [UTC' . date_format(date_create($tzvalue['tzid']), 'P') . ']';
5051
-		else
5052
-			$timezones[$tzvalue['tzid']] = $tzinfo[0]['abbr'] . ' - ' . $desc . ' [UTC' . date_format(date_create($tzvalue['tzid']), 'P') . ']';
5348
+		if (isset($priority_zones[$tzkey])) {
5349
+					$priority_timezones[$tzvalue['tzid']] = $tzinfo[0]['abbr'] . ' - ' . $desc . ' [UTC' . date_format(date_create($tzvalue['tzid']), 'P') . ']';
5350
+		} else {
5351
+					$timezones[$tzvalue['tzid']] = $tzinfo[0]['abbr'] . ' - ' . $desc . ' [UTC' . date_format(date_create($tzvalue['tzid']), 'P') . ']';
5352
+		}
5053 5353
 	}
5054 5354
 
5055 5355
 	$timezones = array_merge(
@@ -5067,8 +5367,9 @@  discard block
 block discarded – undo
5067 5367
  */
5068 5368
 function inet_ptod($ip_address)
5069 5369
 {
5070
-	if (!isValidIP($ip_address))
5071
-		return $ip_address;
5370
+	if (!isValidIP($ip_address)) {
5371
+			return $ip_address;
5372
+	}
5072 5373
 
5073 5374
 	$bin = inet_pton($ip_address);
5074 5375
 	return $bin;
@@ -5080,13 +5381,15 @@  discard block
 block discarded – undo
5080 5381
  */
5081 5382
 function inet_dtop($bin)
5082 5383
 {
5083
-	if(empty($bin))
5084
-		return '';
5384
+	if(empty($bin)) {
5385
+			return '';
5386
+	}
5085 5387
 
5086 5388
 	global $db_type;
5087 5389
 
5088
-	if ($db_type == 'postgresql')
5089
-		return $bin;
5390
+	if ($db_type == 'postgresql') {
5391
+			return $bin;
5392
+	}
5090 5393
 
5091 5394
 	$ip_address = inet_ntop($bin);
5092 5395
 
@@ -5111,26 +5414,32 @@  discard block
 block discarded – undo
5111 5414
  */
5112 5415
 function _safe_serialize($value)
5113 5416
 {
5114
-	if(is_null($value))
5115
-		return 'N;';
5417
+	if(is_null($value)) {
5418
+			return 'N;';
5419
+	}
5116 5420
 
5117
-	if(is_bool($value))
5118
-		return 'b:'. (int) $value .';';
5421
+	if(is_bool($value)) {
5422
+			return 'b:'. (int) $value .';';
5423
+	}
5119 5424
 
5120
-	if(is_int($value))
5121
-		return 'i:'. $value .';';
5425
+	if(is_int($value)) {
5426
+			return 'i:'. $value .';';
5427
+	}
5122 5428
 
5123
-	if(is_float($value))
5124
-		return 'd:'. str_replace(',', '.', $value) .';';
5429
+	if(is_float($value)) {
5430
+			return 'd:'. str_replace(',', '.', $value) .';';
5431
+	}
5125 5432
 
5126
-	if(is_string($value))
5127
-		return 's:'. strlen($value) .':"'. $value .'";';
5433
+	if(is_string($value)) {
5434
+			return 's:'. strlen($value) .':"'. $value .'";';
5435
+	}
5128 5436
 
5129 5437
 	if(is_array($value))
5130 5438
 	{
5131 5439
 		$out = '';
5132
-		foreach($value as $k => $v)
5133
-			$out .= _safe_serialize($k) . _safe_serialize($v);
5440
+		foreach($value as $k => $v) {
5441
+					$out .= _safe_serialize($k) . _safe_serialize($v);
5442
+		}
5134 5443
 
5135 5444
 		return 'a:'. count($value) .':{'. $out .'}';
5136 5445
 	}
@@ -5156,8 +5465,9 @@  discard block
 block discarded – undo
5156 5465
 
5157 5466
 	$out = _safe_serialize($value);
5158 5467
 
5159
-	if (isset($mbIntEnc))
5160
-		mb_internal_encoding($mbIntEnc);
5468
+	if (isset($mbIntEnc)) {
5469
+			mb_internal_encoding($mbIntEnc);
5470
+	}
5161 5471
 
5162 5472
 	return $out;
5163 5473
 }
@@ -5174,8 +5484,9 @@  discard block
 block discarded – undo
5174 5484
 function _safe_unserialize($str)
5175 5485
 {
5176 5486
 	// Input  is not a string.
5177
-	if(empty($str) || !is_string($str))
5178
-		return false;
5487
+	if(empty($str) || !is_string($str)) {
5488
+			return false;
5489
+	}
5179 5490
 
5180 5491
 	$stack = array();
5181 5492
 	$expected = array();
@@ -5191,43 +5502,38 @@  discard block
 block discarded – undo
5191 5502
 	while($state != 1)
5192 5503
 	{
5193 5504
 		$type = isset($str[0]) ? $str[0] : '';
5194
-		if($type == '}')
5195
-			$str = substr($str, 1);
5196
-
5197
-		else if($type == 'N' && $str[1] == ';')
5505
+		if($type == '}') {
5506
+					$str = substr($str, 1);
5507
+		} else if($type == 'N' && $str[1] == ';')
5198 5508
 		{
5199 5509
 			$value = null;
5200 5510
 			$str = substr($str, 2);
5201
-		}
5202
-		else if($type == 'b' && preg_match('/^b:([01]);/', $str, $matches))
5511
+		} else if($type == 'b' && preg_match('/^b:([01]);/', $str, $matches))
5203 5512
 		{
5204 5513
 			$value = $matches[1] == '1' ? true : false;
5205 5514
 			$str = substr($str, 4);
5206
-		}
5207
-		else if($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches))
5515
+		} else if($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches))
5208 5516
 		{
5209 5517
 			$value = (int)$matches[1];
5210 5518
 			$str = $matches[2];
5211
-		}
5212
-		else if($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches))
5519
+		} else if($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches))
5213 5520
 		{
5214 5521
 			$value = (float)$matches[1];
5215 5522
 			$str = $matches[3];
5216
-		}
5217
-		else if($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int)$matches[1], 2) == '";')
5523
+		} else if($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int)$matches[1], 2) == '";')
5218 5524
 		{
5219 5525
 			$value = substr($matches[2], 0, (int)$matches[1]);
5220 5526
 			$str = substr($matches[2], (int)$matches[1] + 2);
5221
-		}
5222
-		else if($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches))
5527
+		} else if($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches))
5223 5528
 		{
5224 5529
 			$expectedLength = (int)$matches[1];
5225 5530
 			$str = $matches[2];
5226 5531
 		}
5227 5532
 
5228 5533
 		// Object or unknown/malformed type.
5229
-		else
5230
-			return false;
5534
+		else {
5535
+					return false;
5536
+		}
5231 5537
 
5232 5538
 		switch($state)
5233 5539
 		{
@@ -5255,8 +5561,9 @@  discard block
 block discarded – undo
5255 5561
 				if($type == '}')
5256 5562
 				{
5257 5563
 					// Array size is less than expected.
5258
-					if(count($list) < end($expected))
5259
-						return false;
5564
+					if(count($list) < end($expected)) {
5565
+											return false;
5566
+					}
5260 5567
 
5261 5568
 					unset($list);
5262 5569
 					$list = &$stack[count($stack)-1];
@@ -5265,8 +5572,9 @@  discard block
 block discarded – undo
5265 5572
 					// Go to terminal state if we're at the end of the root array.
5266 5573
 					array_pop($expected);
5267 5574
 
5268
-					if(count($expected) == 0)
5269
-						$state = 1;
5575
+					if(count($expected) == 0) {
5576
+											$state = 1;
5577
+					}
5270 5578
 
5271 5579
 					break;
5272 5580
 				}
@@ -5274,8 +5582,9 @@  discard block
 block discarded – undo
5274 5582
 				if($type == 'i' || $type == 's')
5275 5583
 				{
5276 5584
 					// Array size exceeds expected length.
5277
-					if(count($list) >= end($expected))
5278
-						return false;
5585
+					if(count($list) >= end($expected)) {
5586
+											return false;
5587
+					}
5279 5588
 
5280 5589
 					$key = $value;
5281 5590
 					$state = 3;
@@ -5309,8 +5618,9 @@  discard block
 block discarded – undo
5309 5618
 	}
5310 5619
 
5311 5620
 	// Trailing data in input.
5312
-	if(!empty($str))
5313
-		return false;
5621
+	if(!empty($str)) {
5622
+			return false;
5623
+	}
5314 5624
 
5315 5625
 	return $data;
5316 5626
 }
@@ -5333,8 +5643,9 @@  discard block
 block discarded – undo
5333 5643
 
5334 5644
 	$out = _safe_unserialize($str);
5335 5645
 
5336
-	if (isset($mbIntEnc))
5337
-		mb_internal_encoding($mbIntEnc);
5646
+	if (isset($mbIntEnc)) {
5647
+			mb_internal_encoding($mbIntEnc);
5648
+	}
5338 5649
 
5339 5650
 	return $out;
5340 5651
 }
@@ -5349,12 +5660,14 @@  discard block
 block discarded – undo
5349 5660
 function smf_chmod($file, $value = 0)
5350 5661
 {
5351 5662
 	// No file? no checks!
5352
-	if (empty($file))
5353
-		return false;
5663
+	if (empty($file)) {
5664
+			return false;
5665
+	}
5354 5666
 
5355 5667
 	// Already writable?
5356
-	if (is_writable($file))
5357
-		return true;
5668
+	if (is_writable($file)) {
5669
+			return true;
5670
+	}
5358 5671
 
5359 5672
 	// Do we have a file or a dir?
5360 5673
 	$isDir = is_dir($file);
@@ -5370,10 +5683,9 @@  discard block
 block discarded – undo
5370 5683
 		{
5371 5684
 			$isWritable = true;
5372 5685
 			break;
5686
+		} else {
5687
+					@chmod($file, $val);
5373 5688
 		}
5374
-
5375
-		else
5376
-			@chmod($file, $val);
5377 5689
 	}
5378 5690
 
5379 5691
 	return $isWritable;
@@ -5392,8 +5704,9 @@  discard block
 block discarded – undo
5392 5704
 	global $txt;
5393 5705
 
5394 5706
 	// Come on...
5395
-	if (empty($json) || !is_string($json))
5396
-		return array();
5707
+	if (empty($json) || !is_string($json)) {
5708
+			return array();
5709
+	}
5397 5710
 
5398 5711
 	$returnArray = array();
5399 5712
 	$jsonError = false;
@@ -5434,11 +5747,11 @@  discard block
 block discarded – undo
5434 5747
 		$jsonDebug = $jsonDebug[0];
5435 5748
 		loadLanguage('Errors');
5436 5749
 
5437
-		if (!empty($jsonDebug))
5438
-			log_error($txt['json_'. $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']);
5439
-
5440
-		else
5441
-			log_error($txt['json_'. $jsonError], 'critical');
5750
+		if (!empty($jsonDebug)) {
5751
+					log_error($txt['json_'. $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']);
5752
+		} else {
5753
+					log_error($txt['json_'. $jsonError], 'critical');
5754
+		}
5442 5755
 
5443 5756
 		// Everyone expects an array.
5444 5757
 		return array();
@@ -5468,8 +5781,9 @@  discard block
 block discarded – undo
5468 5781
 	global $db_show_debug, $modSettings;
5469 5782
 
5470 5783
 	// Defensive programming anyone?
5471
-	if (empty($data))
5472
-		return false;
5784
+	if (empty($data)) {
5785
+			return false;
5786
+	}
5473 5787
 
5474 5788
 	// Don't need extra stuff...
5475 5789
 	$db_show_debug = false;
@@ -5477,11 +5791,11 @@  discard block
 block discarded – undo
5477 5791
 	// Kill anything else.
5478 5792
 	ob_end_clean();
5479 5793
 
5480
-	if (!empty($modSettings['CompressedOutput']))
5481
-		@ob_start('ob_gzhandler');
5482
-
5483
-	else
5484
-		ob_start();
5794
+	if (!empty($modSettings['CompressedOutput'])) {
5795
+			@ob_start('ob_gzhandler');
5796
+	} else {
5797
+			ob_start();
5798
+	}
5485 5799
 
5486 5800
 	// Set the header.
5487 5801
 	header($type);
@@ -5513,8 +5827,9 @@  discard block
 block discarded – undo
5513 5827
 	static $done = false;
5514 5828
 
5515 5829
 	// If we don't need to do anything, don't
5516
-	if (!$update && $done)
5517
-		return;
5830
+	if (!$update && $done) {
5831
+			return;
5832
+	}
5518 5833
 
5519 5834
 	// Should we get a new copy of the official list of TLDs?
5520 5835
 	if ($update)
@@ -5535,10 +5850,11 @@  discard block
 block discarded – undo
5535 5850
 		// Clean $tlds and convert it to an array
5536 5851
 		$tlds = array_filter(explode("\n", strtolower($tlds)), function($line) {
5537 5852
 			$line = trim($line);
5538
-			if (empty($line) || strpos($line, '#') !== false || strpos($line, ' ') !== false)
5539
-				return false;
5540
-			else
5541
-				return true;
5853
+			if (empty($line) || strpos($line, '#') !== false || strpos($line, ' ') !== false) {
5854
+							return false;
5855
+			} else {
5856
+							return true;
5857
+			}
5542 5858
 		});
5543 5859
 
5544 5860
 		// Convert Punycode to Unicode
@@ -5592,8 +5908,9 @@  discard block
 block discarded – undo
5592 5908
 						$idx += $digit * $w;
5593 5909
 						$t = ($k <= $bias) ? $tmin : (($k >= $bias + $tmax) ? $tmax : ($k - $bias));
5594 5910
 
5595
-						if ($digit < $t)
5596
-							break;
5911
+						if ($digit < $t) {
5912
+													break;
5913
+						}
5597 5914
 
5598 5915
 						$w = (int) ($w * ($base - $t));
5599 5916
 					}
@@ -5602,8 +5919,9 @@  discard block
 block discarded – undo
5602 5919
 					$delta = intval($is_first ? ($delta / $damp) : ($delta / 2));
5603 5920
 					$delta += intval($delta / ($deco_len + 1));
5604 5921
 
5605
-					for ($k = 0; $delta > (($base - $tmin) * $tmax) / 2; $k += $base)
5606
-						$delta = intval($delta / ($base - $tmin));
5922
+					for ($k = 0; $delta > (($base - $tmin) * $tmax) / 2; $k += $base) {
5923
+											$delta = intval($delta / ($base - $tmin));
5924
+					}
5607 5925
 
5608 5926
 					$bias = intval($k + ($base - $tmin + 1) * $delta / ($delta + $skew));
5609 5927
 					$is_first = false;
@@ -5612,8 +5930,9 @@  discard block
 block discarded – undo
5612 5930
 
5613 5931
 					if ($deco_len > 0)
5614 5932
 					{
5615
-						for ($i = $deco_len; $i > $idx; $i--)
5616
-							$decoded[$i] = $decoded[($i - 1)];
5933
+						for ($i = $deco_len; $i > $idx; $i--) {
5934
+													$decoded[$i] = $decoded[($i - 1)];
5935
+						}
5617 5936
 					}
5618 5937
 					$decoded[$idx++] = $char;
5619 5938
 				}
@@ -5621,24 +5940,29 @@  discard block
 block discarded – undo
5621 5940
 				foreach ($decoded as $k => $v)
5622 5941
 				{
5623 5942
 					// 7bit are transferred literally
5624
-					if ($v < 128)
5625
-						$output .= chr($v);
5943
+					if ($v < 128) {
5944
+											$output .= chr($v);
5945
+					}
5626 5946
 
5627 5947
 					// 2 bytes
5628
-					elseif ($v < (1 << 11))
5629
-						$output .= chr(192+($v >> 6)) . chr(128+($v & 63));
5948
+					elseif ($v < (1 << 11)) {
5949
+											$output .= chr(192+($v >> 6)) . chr(128+($v & 63));
5950
+					}
5630 5951
 
5631 5952
 					// 3 bytes
5632
-					elseif ($v < (1 << 16))
5633
-						$output .= chr(224+($v >> 12)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63));
5953
+					elseif ($v < (1 << 16)) {
5954
+											$output .= chr(224+($v >> 12)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63));
5955
+					}
5634 5956
 
5635 5957
 					// 4 bytes
5636
-					elseif ($v < (1 << 21))
5637
-						$output .= chr(240+($v >> 18)) . chr(128+(($v >> 12) & 63)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63));
5958
+					elseif ($v < (1 << 21)) {
5959
+											$output .= chr(240+($v >> 18)) . chr(128+(($v >> 12) & 63)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63));
5960
+					}
5638 5961
 
5639 5962
 					//  'Conversion from UCS-4 to UTF-8 failed: malformed input at byte '.$k
5640
-					else
5641
-						$output .= $safe_char;
5963
+					else {
5964
+											$output .= $safe_char;
5965
+					}
5642 5966
 				}
5643 5967
 
5644 5968
 				$output_parts[] = $output;
@@ -5733,8 +6057,7 @@  discard block
 block discarded – undo
5733 6057
 
5734 6058
 		$strlen = 'mb_strlen';
5735 6059
 		$substr = 'mb_substr';
5736
-	}
5737
-	else
6060
+	} else
5738 6061
 	{
5739 6062
 		$strlen = $smcFunc['strlen'];
5740 6063
 		$substr = $smcFunc['substr'];
@@ -5748,20 +6071,21 @@  discard block
 block discarded – undo
5748 6071
 
5749 6072
 		$first = $substr($string, 0, 1);
5750 6073
 
5751
-		if (empty($index[$first]))
5752
-			$index[$first] = array();
6074
+		if (empty($index[$first])) {
6075
+					$index[$first] = array();
6076
+		}
5753 6077
 
5754 6078
 		if ($strlen($string) > 1)
5755 6079
 		{
5756 6080
 			// Sanity check on recursion
5757
-			if ($depth > 99)
5758
-				$index[$first][$substr($string, 1)] = '';
5759
-
5760
-			else
5761
-				$index[$first] = $add_string_to_index($substr($string, 1), $index[$first]);
6081
+			if ($depth > 99) {
6082
+							$index[$first][$substr($string, 1)] = '';
6083
+			} else {
6084
+							$index[$first] = $add_string_to_index($substr($string, 1), $index[$first]);
6085
+			}
6086
+		} else {
6087
+					$index[$first][''] = '';
5762 6088
 		}
5763
-		else
5764
-			$index[$first][''] = '';
5765 6089
 
5766 6090
 		$depth--;
5767 6091
 		return $index;
@@ -5784,9 +6108,9 @@  discard block
 block discarded – undo
5784 6108
 			$key_regex = preg_quote($key, $delim);
5785 6109
 			$new_key = $key;
5786 6110
 
5787
-			if (empty($value))
5788
-				$sub_regex = '';
5789
-			else
6111
+			if (empty($value)) {
6112
+							$sub_regex = '';
6113
+			} else
5790 6114
 			{
5791 6115
 				$sub_regex = $index_to_regex($value, $delim);
5792 6116
 
@@ -5794,22 +6118,22 @@  discard block
 block discarded – undo
5794 6118
 				{
5795 6119
 					$new_key_array = explode('(?'.'>', $sub_regex);
5796 6120
 					$new_key .= $new_key_array[0];
6121
+				} else {
6122
+									$sub_regex = '(?'.'>' . $sub_regex . ')';
5797 6123
 				}
5798
-				else
5799
-					$sub_regex = '(?'.'>' . $sub_regex . ')';
5800 6124
 			}
5801 6125
 
5802
-			if ($depth > 1)
5803
-				$regex[$new_key] = $key_regex . $sub_regex;
5804
-			else
6126
+			if ($depth > 1) {
6127
+							$regex[$new_key] = $key_regex . $sub_regex;
6128
+			} else
5805 6129
 			{
5806 6130
 				if (($length += strlen($key_regex) + 1) < $max_length || empty($regex))
5807 6131
 				{
5808 6132
 					$regex[$new_key] = $key_regex . $sub_regex;
5809 6133
 					unset($index[$key]);
6134
+				} else {
6135
+									break;
5810 6136
 				}
5811
-				else
5812
-					break;
5813 6137
 			}
5814 6138
 		}
5815 6139
 
@@ -5818,10 +6142,11 @@  discard block
 block discarded – undo
5818 6142
 			$l1 = $strlen($k1);
5819 6143
 			$l2 = $strlen($k2);
5820 6144
 
5821
-			if ($l1 == $l2)
5822
-				return strcmp($k1, $k2) > 0 ? 1 : -1;
5823
-			else
5824
-				return $l1 > $l2 ? -1 : 1;
6145
+			if ($l1 == $l2) {
6146
+							return strcmp($k1, $k2) > 0 ? 1 : -1;
6147
+			} else {
6148
+							return $l1 > $l2 ? -1 : 1;
6149
+			}
5825 6150
 		});
5826 6151
 
5827 6152
 		$depth--;
@@ -5832,15 +6157,18 @@  discard block
 block discarded – undo
5832 6157
 	$index = array();
5833 6158
 	$regexes = array();
5834 6159
 
5835
-	foreach ($strings as $string)
5836
-		$index = $add_string_to_index($string, $index);
6160
+	foreach ($strings as $string) {
6161
+			$index = $add_string_to_index($string, $index);
6162
+	}
5837 6163
 
5838
-	while (!empty($index))
5839
-		$regexes[] = '(?'.'>' . $index_to_regex($index, $delim) . ')';
6164
+	while (!empty($index)) {
6165
+			$regexes[] = '(?'.'>' . $index_to_regex($index, $delim) . ')';
6166
+	}
5840 6167
 
5841 6168
 	// Restore PHP's internal character encoding to whatever it was originally
5842
-	if (!empty($current_encoding))
5843
-		mb_internal_encoding($current_encoding);
6169
+	if (!empty($current_encoding)) {
6170
+			mb_internal_encoding($current_encoding);
6171
+	}
5844 6172
 
5845 6173
 	return $regexes;
5846 6174
 }
Please login to merge, or discard this patch.