Completed
Push — release-2.1 ( 8094ea...43ad68 )
by Colin
13:32 queued 06:06
created
Sources/Subs.php 1 patch
Braces   +1362 added lines, -1013 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 4
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	die('No direct access...');
18
+}
18 19
 
19 20
 /**
20 21
  * Update some basic statistics.
@@ -122,10 +123,11 @@  discard block
 block discarded – undo
122 123
 						$smcFunc['db_free_result']($result);
123 124
 
124 125
 						// Add this to the number of unapproved members
125
-						if (!empty($changes['unapprovedMembers']))
126
-							$changes['unapprovedMembers'] += $coppa_approvals;
127
-						else
128
-							$changes['unapprovedMembers'] = $coppa_approvals;
126
+						if (!empty($changes['unapprovedMembers'])) {
127
+													$changes['unapprovedMembers'] += $coppa_approvals;
128
+						} else {
129
+													$changes['unapprovedMembers'] = $coppa_approvals;
130
+						}
129 131
 					}
130 132
 				}
131 133
 			}
@@ -133,9 +135,9 @@  discard block
 block discarded – undo
133 135
 			break;
134 136
 
135 137
 		case 'message':
136
-			if ($parameter1 === true && $parameter2 !== null)
137
-				updateSettings(array('totalMessages' => true, 'maxMsgID' => $parameter2), true);
138
-			else
138
+			if ($parameter1 === true && $parameter2 !== null) {
139
+							updateSettings(array('totalMessages' => true, 'maxMsgID' => $parameter2), true);
140
+			} else
139 141
 			{
140 142
 				// SUM and MAX on a smaller table is better for InnoDB tables.
141 143
 				$result = $smcFunc['db_query']('', '
@@ -175,23 +177,25 @@  discard block
 block discarded – undo
175 177
 				$parameter2 = text2words($parameter2);
176 178
 
177 179
 				$inserts = array();
178
-				foreach ($parameter2 as $word)
179
-					$inserts[] = array($word, $parameter1);
180
+				foreach ($parameter2 as $word) {
181
+									$inserts[] = array($word, $parameter1);
182
+				}
180 183
 
181
-				if (!empty($inserts))
182
-					$smcFunc['db_insert']('ignore',
184
+				if (!empty($inserts)) {
185
+									$smcFunc['db_insert']('ignore',
183 186
 						'{db_prefix}log_search_subjects',
184 187
 						array('word' => 'string', 'id_topic' => 'int'),
185 188
 						$inserts,
186 189
 						array('word', 'id_topic')
187 190
 					);
191
+				}
188 192
 			}
189 193
 			break;
190 194
 
191 195
 		case 'topic':
192
-			if ($parameter1 === true)
193
-				updateSettings(array('totalTopics' => true), true);
194
-			else
196
+			if ($parameter1 === true) {
197
+							updateSettings(array('totalTopics' => true), true);
198
+			} else
195 199
 			{
196 200
 				// Get the number of topics - a SUM is better for InnoDB tables.
197 201
 				// We also ignore the recycle bin here because there will probably be a bunch of one-post topics there.
@@ -212,8 +216,9 @@  discard block
 block discarded – undo
212 216
 
213 217
 		case 'postgroups':
214 218
 			// Parameter two is the updated columns: we should check to see if we base groups off any of these.
215
-			if ($parameter2 !== null && !in_array('posts', $parameter2))
216
-				return;
219
+			if ($parameter2 !== null && !in_array('posts', $parameter2)) {
220
+							return;
221
+			}
217 222
 
218 223
 			$postgroups = cache_get_data('updateStats:postgroups', 360);
219 224
 			if ($postgroups == null || $parameter1 == null)
@@ -228,8 +233,9 @@  discard block
 block discarded – undo
228 233
 					)
229 234
 				);
230 235
 				$postgroups = array();
231
-				while ($row = $smcFunc['db_fetch_assoc']($request))
232
-					$postgroups[$row['id_group']] = $row['min_posts'];
236
+				while ($row = $smcFunc['db_fetch_assoc']($request)) {
237
+									$postgroups[$row['id_group']] = $row['min_posts'];
238
+				}
233 239
 				$smcFunc['db_free_result']($request);
234 240
 
235 241
 				// Sort them this way because if it's done with MySQL it causes a filesort :(.
@@ -239,8 +245,9 @@  discard block
 block discarded – undo
239 245
 			}
240 246
 
241 247
 			// Oh great, they've screwed their post groups.
242
-			if (empty($postgroups))
243
-				return;
248
+			if (empty($postgroups)) {
249
+							return;
250
+			}
244 251
 
245 252
 			// Set all membergroups from most posts to least posts.
246 253
 			$conditions = '';
@@ -298,10 +305,9 @@  discard block
 block discarded – undo
298 305
 	{
299 306
 		$condition = 'id_member IN ({array_int:members})';
300 307
 		$parameters['members'] = $members;
301
-	}
302
-	elseif ($members === null)
303
-		$condition = '1=1';
304
-	else
308
+	} elseif ($members === null) {
309
+			$condition = '1=1';
310
+	} else
305 311
 	{
306 312
 		$condition = 'id_member = {int:member}';
307 313
 		$parameters['member'] = $members;
@@ -341,9 +347,9 @@  discard block
 block discarded – undo
341 347
 		if (count($vars_to_integrate) != 0)
342 348
 		{
343 349
 			// Fetch a list of member_names if necessary
344
-			if ((!is_array($members) && $members === $user_info['id']) || (is_array($members) && count($members) == 1 && in_array($user_info['id'], $members)))
345
-				$member_names = array($user_info['username']);
346
-			else
350
+			if ((!is_array($members) && $members === $user_info['id']) || (is_array($members) && count($members) == 1 && in_array($user_info['id'], $members))) {
351
+							$member_names = array($user_info['username']);
352
+			} else
347 353
 			{
348 354
 				$member_names = array();
349 355
 				$request = $smcFunc['db_query']('', '
@@ -352,14 +358,16 @@  discard block
 block discarded – undo
352 358
 					WHERE ' . $condition,
353 359
 					$parameters
354 360
 				);
355
-				while ($row = $smcFunc['db_fetch_assoc']($request))
356
-					$member_names[] = $row['member_name'];
361
+				while ($row = $smcFunc['db_fetch_assoc']($request)) {
362
+									$member_names[] = $row['member_name'];
363
+				}
357 364
 				$smcFunc['db_free_result']($request);
358 365
 			}
359 366
 
360
-			if (!empty($member_names))
361
-				foreach ($vars_to_integrate as $var)
367
+			if (!empty($member_names)) {
368
+							foreach ($vars_to_integrate as $var)
362 369
 					call_integration_hook('integrate_change_member_data', array($member_names, $var, &$data[$var], &$knownInts, &$knownFloats));
370
+			}
363 371
 		}
364 372
 	}
365 373
 
@@ -367,16 +375,17 @@  discard block
 block discarded – undo
367 375
 	foreach ($data as $var => $val)
368 376
 	{
369 377
 		$type = 'string';
370
-		if (in_array($var, $knownInts))
371
-			$type = 'int';
372
-		elseif (in_array($var, $knownFloats))
373
-			$type = 'float';
374
-		elseif ($var == 'birthdate')
375
-			$type = 'date';
376
-		elseif ($var == 'member_ip')
377
-			$type = 'inet';
378
-		elseif ($var == 'member_ip2')
379
-			$type = 'inet';
378
+		if (in_array($var, $knownInts)) {
379
+					$type = 'int';
380
+		} elseif (in_array($var, $knownFloats)) {
381
+					$type = 'float';
382
+		} elseif ($var == 'birthdate') {
383
+					$type = 'date';
384
+		} elseif ($var == 'member_ip') {
385
+					$type = 'inet';
386
+		} elseif ($var == 'member_ip2') {
387
+					$type = 'inet';
388
+		}
380 389
 
381 390
 		// Doing an increment?
382 391
 		if ($var == 'alerts' && ($val === '+' || $val === '-'))
@@ -385,18 +394,17 @@  discard block
 block discarded – undo
385 394
 			if (is_array($members))
386 395
 			{
387 396
 				$val = 'CASE ';
388
-				foreach ($members as $k => $v)
389
-					$val .= 'WHEN id_member = ' . $v . ' THEN '. count(fetch_alerts($v, false, 0, array(), false)) . ' ';
397
+				foreach ($members as $k => $v) {
398
+									$val .= 'WHEN id_member = ' . $v . ' THEN '. count(fetch_alerts($v, false, 0, array(), false)) . ' ';
399
+				}
390 400
 				$val = $val . ' END';
391 401
 				$type = 'raw';
392
-			}
393
-			else
402
+			} else
394 403
 			{
395 404
 				$blub = fetch_alerts($members, false, 0, array(), false);
396 405
 				$val = count($blub);
397 406
 			}
398
-		}
399
-		else if ($type == 'int' && ($val === '+' || $val === '-'))
407
+		} else if ($type == 'int' && ($val === '+' || $val === '-'))
400 408
 		{
401 409
 			$val = $var . ' ' . $val . ' 1';
402 410
 			$type = 'raw';
@@ -407,8 +415,9 @@  discard block
 block discarded – undo
407 415
 		{
408 416
 			if (preg_match('~^' . $var . ' (\+ |- |\+ -)([\d]+)~', $val, $match))
409 417
 			{
410
-				if ($match[1] != '+ ')
411
-					$val = 'CASE WHEN ' . $var . ' <= ' . abs($match[2]) . ' THEN 0 ELSE ' . $val . ' END';
418
+				if ($match[1] != '+ ') {
419
+									$val = 'CASE WHEN ' . $var . ' <= ' . abs($match[2]) . ' THEN 0 ELSE ' . $val . ' END';
420
+				}
412 421
 				$type = 'raw';
413 422
 			}
414 423
 		}
@@ -429,8 +438,9 @@  discard block
 block discarded – undo
429 438
 	// Clear any caching?
430 439
 	if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2 && !empty($members))
431 440
 	{
432
-		if (!is_array($members))
433
-			$members = array($members);
441
+		if (!is_array($members)) {
442
+					$members = array($members);
443
+		}
434 444
 
435 445
 		foreach ($members as $member)
436 446
 		{
@@ -463,29 +473,32 @@  discard block
 block discarded – undo
463 473
 {
464 474
 	global $modSettings, $smcFunc;
465 475
 
466
-	if (empty($changeArray) || !is_array($changeArray))
467
-		return;
476
+	if (empty($changeArray) || !is_array($changeArray)) {
477
+			return;
478
+	}
468 479
 
469 480
 	$toRemove = array();
470 481
 
471 482
 	// Go check if there is any setting to be removed.
472
-	foreach ($changeArray as $k => $v)
473
-		if ($v === null)
483
+	foreach ($changeArray as $k => $v) {
484
+			if ($v === null)
474 485
 		{
475 486
 			// Found some, remove them from the original array and add them to ours.
476 487
 			unset($changeArray[$k]);
488
+	}
477 489
 			$toRemove[] = $k;
478 490
 		}
479 491
 
480 492
 	// Proceed with the deletion.
481
-	if (!empty($toRemove))
482
-		$smcFunc['db_query']('', '
493
+	if (!empty($toRemove)) {
494
+			$smcFunc['db_query']('', '
483 495
 			DELETE FROM {db_prefix}settings
484 496
 			WHERE variable IN ({array_string:remove})',
485 497
 			array(
486 498
 				'remove' => $toRemove,
487 499
 			)
488 500
 		);
501
+	}
489 502
 
490 503
 	// In some cases, this may be better and faster, but for large sets we don't want so many UPDATEs.
491 504
 	if ($update)
@@ -514,19 +527,22 @@  discard block
 block discarded – undo
514 527
 	foreach ($changeArray as $variable => $value)
515 528
 	{
516 529
 		// Don't bother if it's already like that ;).
517
-		if (isset($modSettings[$variable]) && $modSettings[$variable] == $value)
518
-			continue;
530
+		if (isset($modSettings[$variable]) && $modSettings[$variable] == $value) {
531
+					continue;
532
+		}
519 533
 		// If the variable isn't set, but would only be set to nothing'ness, then don't bother setting it.
520
-		elseif (!isset($modSettings[$variable]) && empty($value))
521
-			continue;
534
+		elseif (!isset($modSettings[$variable]) && empty($value)) {
535
+					continue;
536
+		}
522 537
 
523 538
 		$replaceArray[] = array($variable, $value);
524 539
 
525 540
 		$modSettings[$variable] = $value;
526 541
 	}
527 542
 
528
-	if (empty($replaceArray))
529
-		return;
543
+	if (empty($replaceArray)) {
544
+			return;
545
+	}
530 546
 
531 547
 	$smcFunc['db_insert']('replace',
532 548
 		'{db_prefix}settings',
@@ -572,14 +588,17 @@  discard block
 block discarded – undo
572 588
 	$start_invalid = $start < 0;
573 589
 
574 590
 	// Make sure $start is a proper variable - not less than 0.
575
-	if ($start_invalid)
576
-		$start = 0;
591
+	if ($start_invalid) {
592
+			$start = 0;
593
+	}
577 594
 	// Not greater than the upper bound.
578
-	elseif ($start >= $max_value)
579
-		$start = max(0, (int) $max_value - (((int) $max_value % (int) $num_per_page) == 0 ? $num_per_page : ((int) $max_value % (int) $num_per_page)));
595
+	elseif ($start >= $max_value) {
596
+			$start = max(0, (int) $max_value - (((int) $max_value % (int) $num_per_page) == 0 ? $num_per_page : ((int) $max_value % (int) $num_per_page)));
597
+	}
580 598
 	// And it has to be a multiple of $num_per_page!
581
-	else
582
-		$start = max(0, (int) $start - ((int) $start % (int) $num_per_page));
599
+	else {
600
+			$start = max(0, (int) $start - ((int) $start % (int) $num_per_page));
601
+	}
583 602
 
584 603
 	$context['current_page'] = $start / $num_per_page;
585 604
 
@@ -609,77 +628,87 @@  discard block
 block discarded – undo
609 628
 
610 629
 		// Show all the pages.
611 630
 		$display_page = 1;
612
-		for ($counter = 0; $counter < $max_value; $counter += $num_per_page)
613
-			$pageindex .= $start == $counter && !$start_invalid ? sprintf($settings['page_index']['current_page'], $display_page++) : sprintf($base_link, $counter, $display_page++);
631
+		for ($counter = 0; $counter < $max_value; $counter += $num_per_page) {
632
+					$pageindex .= $start == $counter && !$start_invalid ? sprintf($settings['page_index']['current_page'], $display_page++) : sprintf($base_link, $counter, $display_page++);
633
+		}
614 634
 
615 635
 		// Show the right arrow.
616 636
 		$display_page = ($start + $num_per_page) > $max_value ? $max_value : ($start + $num_per_page);
617
-		if ($start != $counter - $max_value && !$start_invalid)
618
-			$pageindex .= $display_page > $counter - $num_per_page ? ' ' : sprintf($base_link, $display_page, $settings['page_index']['next_page']);
619
-	}
620
-	else
637
+		if ($start != $counter - $max_value && !$start_invalid) {
638
+					$pageindex .= $display_page > $counter - $num_per_page ? ' ' : sprintf($base_link, $display_page, $settings['page_index']['next_page']);
639
+		}
640
+	} else
621 641
 	{
622 642
 		// If they didn't enter an odd value, pretend they did.
623 643
 		$PageContiguous = (int) ($modSettings['compactTopicPagesContiguous'] - ($modSettings['compactTopicPagesContiguous'] % 2)) / 2;
624 644
 
625 645
 		// Show the "prev page" link. (>prev page< 1 ... 6 7 [8] 9 10 ... 15 next page)
626
-		if (!empty($start) && $show_prevnext)
627
-			$pageindex .= sprintf($base_link, $start - $num_per_page, $settings['page_index']['previous_page']);
628
-		else
629
-			$pageindex .= '';
646
+		if (!empty($start) && $show_prevnext) {
647
+					$pageindex .= sprintf($base_link, $start - $num_per_page, $settings['page_index']['previous_page']);
648
+		} else {
649
+					$pageindex .= '';
650
+		}
630 651
 
631 652
 		// Show the first page. (prev page >1< ... 6 7 [8] 9 10 ... 15)
632
-		if ($start > $num_per_page * $PageContiguous)
633
-			$pageindex .= sprintf($base_link, 0, '1');
653
+		if ($start > $num_per_page * $PageContiguous) {
654
+					$pageindex .= sprintf($base_link, 0, '1');
655
+		}
634 656
 
635 657
 		// Show the ... after the first page.  (prev page 1 >...< 6 7 [8] 9 10 ... 15 next page)
636
-		if ($start > $num_per_page * ($PageContiguous + 1))
637
-			$pageindex .= strtr($settings['page_index']['expand_pages'], array(
658
+		if ($start > $num_per_page * ($PageContiguous + 1)) {
659
+					$pageindex .= strtr($settings['page_index']['expand_pages'], array(
638 660
 				'{LINK}' => JavaScriptEscape($smcFunc['htmlspecialchars']($base_link)),
639 661
 				'{FIRST_PAGE}' => $num_per_page,
640 662
 				'{LAST_PAGE}' => $start - $num_per_page * $PageContiguous,
641 663
 				'{PER_PAGE}' => $num_per_page,
642 664
 			));
665
+		}
643 666
 
644 667
 		// Show the pages before the current one. (prev page 1 ... >6 7< [8] 9 10 ... 15 next page)
645
-		for ($nCont = $PageContiguous; $nCont >= 1; $nCont--)
646
-			if ($start >= $num_per_page * $nCont)
668
+		for ($nCont = $PageContiguous; $nCont >= 1; $nCont--) {
669
+					if ($start >= $num_per_page * $nCont)
647 670
 			{
648 671
 				$tmpStart = $start - $num_per_page * $nCont;
672
+		}
649 673
 				$pageindex .= sprintf($base_link, $tmpStart, $tmpStart / $num_per_page + 1);
650 674
 			}
651 675
 
652 676
 		// Show the current page. (prev page 1 ... 6 7 >[8]< 9 10 ... 15 next page)
653
-		if (!$start_invalid)
654
-			$pageindex .= sprintf($settings['page_index']['current_page'], $start / $num_per_page + 1);
655
-		else
656
-			$pageindex .= sprintf($base_link, $start, $start / $num_per_page + 1);
677
+		if (!$start_invalid) {
678
+					$pageindex .= sprintf($settings['page_index']['current_page'], $start / $num_per_page + 1);
679
+		} else {
680
+					$pageindex .= sprintf($base_link, $start, $start / $num_per_page + 1);
681
+		}
657 682
 
658 683
 		// Show the pages after the current one... (prev page 1 ... 6 7 [8] >9 10< ... 15 next page)
659 684
 		$tmpMaxPages = (int) (($max_value - 1) / $num_per_page) * $num_per_page;
660
-		for ($nCont = 1; $nCont <= $PageContiguous; $nCont++)
661
-			if ($start + $num_per_page * $nCont <= $tmpMaxPages)
685
+		for ($nCont = 1; $nCont <= $PageContiguous; $nCont++) {
686
+					if ($start + $num_per_page * $nCont <= $tmpMaxPages)
662 687
 			{
663 688
 				$tmpStart = $start + $num_per_page * $nCont;
689
+		}
664 690
 				$pageindex .= sprintf($base_link, $tmpStart, $tmpStart / $num_per_page + 1);
665 691
 			}
666 692
 
667 693
 		// Show the '...' part near the end. (prev page 1 ... 6 7 [8] 9 10 >...< 15 next page)
668
-		if ($start + $num_per_page * ($PageContiguous + 1) < $tmpMaxPages)
669
-			$pageindex .= strtr($settings['page_index']['expand_pages'], array(
694
+		if ($start + $num_per_page * ($PageContiguous + 1) < $tmpMaxPages) {
695
+					$pageindex .= strtr($settings['page_index']['expand_pages'], array(
670 696
 				'{LINK}' => JavaScriptEscape($smcFunc['htmlspecialchars']($base_link)),
671 697
 				'{FIRST_PAGE}' => $start + $num_per_page * ($PageContiguous + 1),
672 698
 				'{LAST_PAGE}' => $tmpMaxPages,
673 699
 				'{PER_PAGE}' => $num_per_page,
674 700
 			));
701
+		}
675 702
 
676 703
 		// Show the last number in the list. (prev page 1 ... 6 7 [8] 9 10 ... >15<  next page)
677
-		if ($start + $num_per_page * $PageContiguous < $tmpMaxPages)
678
-			$pageindex .= sprintf($base_link, $tmpMaxPages, $tmpMaxPages / $num_per_page + 1);
704
+		if ($start + $num_per_page * $PageContiguous < $tmpMaxPages) {
705
+					$pageindex .= sprintf($base_link, $tmpMaxPages, $tmpMaxPages / $num_per_page + 1);
706
+		}
679 707
 
680 708
 		// Show the "next page" link. (prev page 1 ... 6 7 [8] 9 10 ... 15 >next page<)
681
-		if ($start != $tmpMaxPages && $show_prevnext)
682
-			$pageindex .= sprintf($base_link, $start + $num_per_page, $settings['page_index']['next_page']);
709
+		if ($start != $tmpMaxPages && $show_prevnext) {
710
+					$pageindex .= sprintf($base_link, $start + $num_per_page, $settings['page_index']['next_page']);
711
+		}
683 712
 	}
684 713
 	$pageindex .= $settings['page_index']['extra_after'];
685 714
 
@@ -705,8 +734,9 @@  discard block
 block discarded – undo
705 734
 	if ($decimal_separator === null)
706 735
 	{
707 736
 		// Not set for whatever reason?
708
-		if (empty($txt['number_format']) || preg_match('~^1([^\d]*)?234([^\d]*)(0*?)$~', $txt['number_format'], $matches) != 1)
709
-			return $number;
737
+		if (empty($txt['number_format']) || preg_match('~^1([^\d]*)?234([^\d]*)(0*?)$~', $txt['number_format'], $matches) != 1) {
738
+					return $number;
739
+		}
710 740
 
711 741
 		// Cache these each load...
712 742
 		$thousands_separator = $matches[1];
@@ -740,17 +770,20 @@  discard block
 block discarded – undo
740 770
 	static $unsupportedFormats, $finalizedFormats;
741 771
 
742 772
 	// Offset the time.
743
-	if (!$offset_type)
744
-		$time = $log_time + ($user_info['time_offset'] + $modSettings['time_offset']) * 3600;
773
+	if (!$offset_type) {
774
+			$time = $log_time + ($user_info['time_offset'] + $modSettings['time_offset']) * 3600;
775
+	}
745 776
 	// Just the forum offset?
746
-	elseif ($offset_type == 'forum')
747
-		$time = $log_time + $modSettings['time_offset'] * 3600;
748
-	else
749
-		$time = $log_time;
777
+	elseif ($offset_type == 'forum') {
778
+			$time = $log_time + $modSettings['time_offset'] * 3600;
779
+	} else {
780
+			$time = $log_time;
781
+	}
750 782
 
751 783
 	// We can't have a negative date (on Windows, at least.)
752
-	if ($log_time < 0)
753
-		$log_time = 0;
784
+	if ($log_time < 0) {
785
+			$log_time = 0;
786
+	}
754 787
 
755 788
 	// Today and Yesterday?
756 789
 	if ($modSettings['todayMod'] >= 1 && $show_today === true)
@@ -767,24 +800,27 @@  discard block
 block discarded – undo
767 800
 		{
768 801
 			$h = strpos($user_info['time_format'], '%l') === false ? '%I' : '%l';
769 802
 			$today_fmt = $h . ':%M' . $s . ' %p';
803
+		} else {
804
+					$today_fmt = '%H:%M' . $s;
770 805
 		}
771
-		else
772
-			$today_fmt = '%H:%M' . $s;
773 806
 
774 807
 		// Same day of the year, same year.... Today!
775
-		if ($then['yday'] == $now['yday'] && $then['year'] == $now['year'])
776
-			return $txt['today'] . timeformat($log_time, $today_fmt, $offset_type);
808
+		if ($then['yday'] == $now['yday'] && $then['year'] == $now['year']) {
809
+					return $txt['today'] . timeformat($log_time, $today_fmt, $offset_type);
810
+		}
777 811
 
778 812
 		// 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...
779
-		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))
780
-			return $txt['yesterday'] . timeformat($log_time, $today_fmt, $offset_type);
813
+		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)) {
814
+					return $txt['yesterday'] . timeformat($log_time, $today_fmt, $offset_type);
815
+		}
781 816
 	}
782 817
 
783 818
 	$str = !is_bool($show_today) ? $show_today : $user_info['time_format'];
784 819
 
785 820
 	// Use the cached formats if available
786
-	if (is_null($finalizedFormats))
787
-		$finalizedFormats = (array) cache_get_data('timeformatstrings', 86400);
821
+	if (is_null($finalizedFormats)) {
822
+			$finalizedFormats = (array) cache_get_data('timeformatstrings', 86400);
823
+	}
788 824
 
789 825
 	// Make a supported version for this format if we don't already have one
790 826
 	if (empty($finalizedFormats[$str]))
@@ -813,8 +849,9 @@  discard block
 block discarded – undo
813 849
 		);
814 850
 
815 851
 		// No need to do this part again if we already did it once
816
-		if (is_null($unsupportedFormats))
817
-			$unsupportedFormats = (array) cache_get_data('unsupportedtimeformats', 86400);
852
+		if (is_null($unsupportedFormats)) {
853
+					$unsupportedFormats = (array) cache_get_data('unsupportedtimeformats', 86400);
854
+		}
818 855
 		if (empty($unsupportedFormats))
819 856
 		{
820 857
 			foreach($strftimeFormatSubstitutions as $format => $substitution)
@@ -823,20 +860,23 @@  discard block
 block discarded – undo
823 860
 
824 861
 				// Windows will return false for unsupported formats
825 862
 				// Other operating systems return the format string as a literal
826
-				if ($value === false || $value === $format)
827
-					$unsupportedFormats[] = $format;
863
+				if ($value === false || $value === $format) {
864
+									$unsupportedFormats[] = $format;
865
+				}
828 866
 			}
829 867
 			cache_put_data('unsupportedtimeformats', $unsupportedFormats, 86400);
830 868
 		}
831 869
 
832 870
 		// Windows needs extra help if $timeformat contains something completely invalid, e.g. '%Q'
833
-		if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN')
834
-			$timeformat = preg_replace('~%(?!' . implode('|', array_keys($strftimeFormatSubstitutions)) . ')~', '&#37;', $timeformat);
871
+		if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
872
+					$timeformat = preg_replace('~%(?!' . implode('|', array_keys($strftimeFormatSubstitutions)) . ')~', '&#37;', $timeformat);
873
+		}
835 874
 
836 875
 		// Substitute unsupported formats with supported ones
837
-		if (!empty($unsupportedFormats))
838
-			while (preg_match('~%(' . implode('|', $unsupportedFormats) . ')~', $timeformat, $matches))
876
+		if (!empty($unsupportedFormats)) {
877
+					while (preg_match('~%(' . implode('|', $unsupportedFormats) . ')~', $timeformat, $matches))
839 878
 				$timeformat = str_replace($matches[0], $strftimeFormatSubstitutions[$matches[1]], $timeformat);
879
+		}
840 880
 
841 881
 		// Remember this so we don't need to do it again
842 882
 		$finalizedFormats[$str] = $timeformat;
@@ -845,33 +885,39 @@  discard block
 block discarded – undo
845 885
 
846 886
 	$str = $finalizedFormats[$str];
847 887
 
848
-	if (!isset($locale_cache))
849
-		$locale_cache = setlocale(LC_TIME, $txt['lang_locale']);
888
+	if (!isset($locale_cache)) {
889
+			$locale_cache = setlocale(LC_TIME, $txt['lang_locale']);
890
+	}
850 891
 
851 892
 	if ($locale_cache !== false)
852 893
 	{
853 894
 		// Check if another process changed the locale
854
-		if ($process_safe === true && setlocale(LC_TIME, '0') != $locale_cache)
855
-			setlocale(LC_TIME, $txt['lang_locale']);
895
+		if ($process_safe === true && setlocale(LC_TIME, '0') != $locale_cache) {
896
+					setlocale(LC_TIME, $txt['lang_locale']);
897
+		}
856 898
 
857
-		if (!isset($non_twelve_hour))
858
-			$non_twelve_hour = trim(strftime('%p')) === '';
859
-		if ($non_twelve_hour && strpos($str, '%p') !== false)
860
-			$str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str);
899
+		if (!isset($non_twelve_hour)) {
900
+					$non_twelve_hour = trim(strftime('%p')) === '';
901
+		}
902
+		if ($non_twelve_hour && strpos($str, '%p') !== false) {
903
+					$str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str);
904
+		}
861 905
 
862
-		foreach (array('%a', '%A', '%b', '%B') as $token)
863
-			if (strpos($str, $token) !== false)
906
+		foreach (array('%a', '%A', '%b', '%B') as $token) {
907
+					if (strpos($str, $token) !== false)
864 908
 				$str = str_replace($token, strftime($token, $time), $str);
865
-	}
866
-	else
909
+		}
910
+	} else
867 911
 	{
868 912
 		// Do-it-yourself time localization.  Fun.
869
-		foreach (array('%a' => 'days_short', '%A' => 'days', '%b' => 'months_short', '%B' => 'months') as $token => $text_label)
870
-			if (strpos($str, $token) !== false)
913
+		foreach (array('%a' => 'days_short', '%A' => 'days', '%b' => 'months_short', '%B' => 'months') as $token => $text_label) {
914
+					if (strpos($str, $token) !== false)
871 915
 				$str = str_replace($token, $txt[$text_label][(int) strftime($token === '%a' || $token === '%A' ? '%w' : '%m', $time)], $str);
916
+		}
872 917
 
873
-		if (strpos($str, '%p') !== false)
874
-			$str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str);
918
+		if (strpos($str, '%p') !== false) {
919
+					$str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str);
920
+		}
875 921
 	}
876 922
 
877 923
 	// Format the time and then restore any literal percent characters
@@ -894,16 +940,19 @@  discard block
 block discarded – undo
894 940
 	static $translation = array();
895 941
 
896 942
 	// Determine the character set... Default to UTF-8
897
-	if (empty($context['character_set']))
898
-		$charset = 'UTF-8';
943
+	if (empty($context['character_set'])) {
944
+			$charset = 'UTF-8';
945
+	}
899 946
 	// Use ISO-8859-1 in place of non-supported ISO-8859 charsets...
900
-	elseif (strpos($context['character_set'], 'ISO-8859-') !== false && !in_array($context['character_set'], array('ISO-8859-5', 'ISO-8859-15')))
901
-		$charset = 'ISO-8859-1';
902
-	else
903
-		$charset = $context['character_set'];
947
+	elseif (strpos($context['character_set'], 'ISO-8859-') !== false && !in_array($context['character_set'], array('ISO-8859-5', 'ISO-8859-15'))) {
948
+			$charset = 'ISO-8859-1';
949
+	} else {
950
+			$charset = $context['character_set'];
951
+	}
904 952
 
905
-	if (empty($translation))
906
-		$translation = array_flip(get_html_translation_table(HTML_SPECIALCHARS, ENT_QUOTES, $charset)) + array('&#039;' => '\'', '&#39;' => '\'', '&nbsp;' => ' ');
953
+	if (empty($translation)) {
954
+			$translation = array_flip(get_html_translation_table(HTML_SPECIALCHARS, ENT_QUOTES, $charset)) + array('&#039;' => '\'', '&#39;' => '\'', '&nbsp;' => ' ');
955
+	}
907 956
 
908 957
 	return strtr($string, $translation);
909 958
 }
@@ -925,8 +974,9 @@  discard block
 block discarded – undo
925 974
 	global $smcFunc;
926 975
 
927 976
 	// It was already short enough!
928
-	if ($smcFunc['strlen']($subject) <= $len)
929
-		return $subject;
977
+	if ($smcFunc['strlen']($subject) <= $len) {
978
+			return $subject;
979
+	}
930 980
 
931 981
 	// Shorten it by the length it was too long, and strip off junk from the end.
932 982
 	return $smcFunc['substr']($subject, 0, $len) . '...';
@@ -945,10 +995,11 @@  discard block
 block discarded – undo
945 995
 {
946 996
 	global $user_info, $modSettings;
947 997
 
948
-	if ($timestamp === null)
949
-		$timestamp = time();
950
-	elseif ($timestamp == 0)
951
-		return 0;
998
+	if ($timestamp === null) {
999
+			$timestamp = time();
1000
+	} elseif ($timestamp == 0) {
1001
+			return 0;
1002
+	}
952 1003
 
953 1004
 	return $timestamp + ($modSettings['time_offset'] + ($use_user_offset ? $user_info['time_offset'] : 0)) * 3600;
954 1005
 }
@@ -977,8 +1028,9 @@  discard block
 block discarded – undo
977 1028
 		$array[$i] = $array[$j];
978 1029
 		$array[$j] = $temp;
979 1030
 
980
-		for ($i = 1; $p[$i] == 0; $i++)
981
-			$p[$i] = 1;
1031
+		for ($i = 1; $p[$i] == 0; $i++) {
1032
+					$p[$i] = 1;
1033
+		}
982 1034
 
983 1035
 		$orders[] = $array;
984 1036
 	}
@@ -1010,12 +1062,14 @@  discard block
 block discarded – undo
1010 1062
 	static $disabled;
1011 1063
 
1012 1064
 	// Don't waste cycles
1013
-	if ($message === '')
1014
-		return '';
1065
+	if ($message === '') {
1066
+			return '';
1067
+	}
1015 1068
 
1016 1069
 	// Just in case it wasn't determined yet whether UTF-8 is enabled.
1017
-	if (!isset($context['utf8']))
1018
-		$context['utf8'] = (empty($modSettings['global_character_set']) ? $txt['lang_character_set'] : $modSettings['global_character_set']) === 'UTF-8';
1070
+	if (!isset($context['utf8'])) {
1071
+			$context['utf8'] = (empty($modSettings['global_character_set']) ? $txt['lang_character_set'] : $modSettings['global_character_set']) === 'UTF-8';
1072
+	}
1019 1073
 
1020 1074
 	// Clean up any cut/paste issues we may have
1021 1075
 	$message = sanitizeMSCutPaste($message);
@@ -1027,13 +1081,15 @@  discard block
 block discarded – undo
1027 1081
 		return $message;
1028 1082
 	}
1029 1083
 
1030
-	if ($smileys !== null && ($smileys == '1' || $smileys == '0'))
1031
-		$smileys = (bool) $smileys;
1084
+	if ($smileys !== null && ($smileys == '1' || $smileys == '0')) {
1085
+			$smileys = (bool) $smileys;
1086
+	}
1032 1087
 
1033 1088
 	if (empty($modSettings['enableBBC']) && $message !== false)
1034 1089
 	{
1035
-		if ($smileys === true)
1036
-			parsesmileys($message);
1090
+		if ($smileys === true) {
1091
+					parsesmileys($message);
1092
+		}
1037 1093
 
1038 1094
 		return $message;
1039 1095
 	}
@@ -1046,8 +1102,9 @@  discard block
 block discarded – undo
1046 1102
 	}
1047 1103
 
1048 1104
 	// Ensure $modSettings['tld_regex'] contains a valid regex for the autolinker
1049
-	if (!empty($modSettings['autoLinkUrls']))
1050
-		set_tld_regex();
1105
+	if (!empty($modSettings['autoLinkUrls'])) {
1106
+			set_tld_regex();
1107
+	}
1051 1108
 
1052 1109
 	// Allow mods access before entering the main parse_bbc loop
1053 1110
 	call_integration_hook('integrate_pre_parsebbc', array(&$message, &$smileys, &$cache_id, &$parse_tags));
@@ -1061,12 +1118,14 @@  discard block
 block discarded – undo
1061 1118
 
1062 1119
 			$temp = explode(',', strtolower($modSettings['disabledBBC']));
1063 1120
 
1064
-			foreach ($temp as $tag)
1065
-				$disabled[trim($tag)] = true;
1121
+			foreach ($temp as $tag) {
1122
+							$disabled[trim($tag)] = true;
1123
+			}
1066 1124
 		}
1067 1125
 
1068
-		if (empty($modSettings['enableEmbeddedFlash']))
1069
-			$disabled['flash'] = true;
1126
+		if (empty($modSettings['enableEmbeddedFlash'])) {
1127
+					$disabled['flash'] = true;
1128
+		}
1070 1129
 
1071 1130
 		/* The following bbc are formatted as an array, with keys as follows:
1072 1131
 
@@ -1187,8 +1246,9 @@  discard block
 block discarded – undo
1187 1246
 					$returnContext = '';
1188 1247
 
1189 1248
 					// BBC or the entire attachments feature is disabled
1190
-					if (empty($modSettings['attachmentEnable']) || !empty($disabled['attach']))
1191
-						return $data;
1249
+					if (empty($modSettings['attachmentEnable']) || !empty($disabled['attach'])) {
1250
+											return $data;
1251
+					}
1192 1252
 
1193 1253
 					// Save the attach ID.
1194 1254
 					$attachID = $data;
@@ -1199,8 +1259,9 @@  discard block
 block discarded – undo
1199 1259
 					$currentAttachment = parseAttachBBC($attachID);
1200 1260
 
1201 1261
 					// parseAttachBBC will return a string ($txt key) rather than diying with a fatal_error. Up to you to decide what to do.
1202
-					if (is_string($currentAttachment))
1203
-						return $data = !empty($txt[$currentAttachment]) ? $txt[$currentAttachment] : $currentAttachment;
1262
+					if (is_string($currentAttachment)) {
1263
+											return $data = !empty($txt[$currentAttachment]) ? $txt[$currentAttachment] : $currentAttachment;
1264
+					}
1204 1265
 
1205 1266
 					if (!empty($currentAttachment['is_image']))
1206 1267
 					{
@@ -1216,15 +1277,17 @@  discard block
 block discarded – undo
1216 1277
 							$height = ' height="' . $currentAttachment['height'] . '"';
1217 1278
 						}
1218 1279
 
1219
-						if ($currentAttachment['thumbnail']['has_thumb'] && empty($params['{width}']) && empty($params['{height}']))
1220
-							$returnContext .= '<a href="'. $currentAttachment['href']. ';image" id="link_'. $currentAttachment['id']. '" onclick="'. $currentAttachment['thumbnail']['javascript']. '"><img src="'. $currentAttachment['thumbnail']['href']. '"' . $alt . $title . ' id="thumb_'. $currentAttachment['id']. '" class="atc_img"></a>';
1221
-						else
1222
-							$returnContext .= '<img src="' . $currentAttachment['href'] . ';image"' . $alt . $title . $width . $height . ' class="bbc_img"/>';
1280
+						if ($currentAttachment['thumbnail']['has_thumb'] && empty($params['{width}']) && empty($params['{height}'])) {
1281
+													$returnContext .= '<a href="'. $currentAttachment['href']. ';image" id="link_'. $currentAttachment['id']. '" onclick="'. $currentAttachment['thumbnail']['javascript']. '"><img src="'. $currentAttachment['thumbnail']['href']. '"' . $alt . $title . ' id="thumb_'. $currentAttachment['id']. '" class="atc_img"></a>';
1282
+						} else {
1283
+													$returnContext .= '<img src="' . $currentAttachment['href'] . ';image"' . $alt . $title . $width . $height . ' class="bbc_img"/>';
1284
+						}
1223 1285
 					}
1224 1286
 
1225 1287
 					// No image. Show a link.
1226
-					else
1227
-						$returnContext .= $currentAttachment['link'];
1288
+					else {
1289
+											$returnContext .= $currentAttachment['link'];
1290
+					}
1228 1291
 
1229 1292
 					// Gotta append what we just did.
1230 1293
 					$data = $returnContext;
@@ -1255,8 +1318,9 @@  discard block
 block discarded – undo
1255 1318
 						for ($php_i = 0, $php_n = count($php_parts); $php_i < $php_n; $php_i++)
1256 1319
 						{
1257 1320
 							// Do PHP code coloring?
1258
-							if ($php_parts[$php_i] != '&lt;?php')
1259
-								continue;
1321
+							if ($php_parts[$php_i] != '&lt;?php') {
1322
+															continue;
1323
+							}
1260 1324
 
1261 1325
 							$php_string = '';
1262 1326
 							while ($php_i + 1 < count($php_parts) && $php_parts[$php_i] != '?&gt;')
@@ -1272,8 +1336,9 @@  discard block
 block discarded – undo
1272 1336
 						$data = str_replace("\t", "<span style=\"white-space: pre;\">\t</span>", $data);
1273 1337
 
1274 1338
 						// Recent Opera bug requiring temporary fix. &nsbp; is needed before </code> to avoid broken selection.
1275
-						if ($context['browser']['is_opera'])
1276
-							$data .= '&nbsp;';
1339
+						if ($context['browser']['is_opera']) {
1340
+													$data .= '&nbsp;';
1341
+						}
1277 1342
 					}
1278 1343
 				},
1279 1344
 				'block_level' => true,
@@ -1292,8 +1357,9 @@  discard block
 block discarded – undo
1292 1357
 						for ($php_i = 0, $php_n = count($php_parts); $php_i < $php_n; $php_i++)
1293 1358
 						{
1294 1359
 							// Do PHP code coloring?
1295
-							if ($php_parts[$php_i] != '&lt;?php')
1296
-								continue;
1360
+							if ($php_parts[$php_i] != '&lt;?php') {
1361
+															continue;
1362
+							}
1297 1363
 
1298 1364
 							$php_string = '';
1299 1365
 							while ($php_i + 1 < count($php_parts) && $php_parts[$php_i] != '?&gt;')
@@ -1309,8 +1375,9 @@  discard block
 block discarded – undo
1309 1375
 						$data[0] = str_replace("\t", "<span style=\"white-space: pre;\">\t</span>", $data[0]);
1310 1376
 
1311 1377
 						// Recent Opera bug requiring temporary fix. &nsbp; is needed before </code> to avoid broken selection.
1312
-						if ($context['browser']['is_opera'])
1313
-							$data[0] .= '&nbsp;';
1378
+						if ($context['browser']['is_opera']) {
1379
+													$data[0] .= '&nbsp;';
1380
+						}
1314 1381
 					}
1315 1382
 				},
1316 1383
 				'block_level' => true,
@@ -1348,11 +1415,13 @@  discard block
 block discarded – undo
1348 1415
 				'content' => '<embed type="application/x-shockwave-flash" src="$1" width="$2" height="$3" play="true" loop="true" quality="high" AllowScriptAccess="never">',
1349 1416
 				'validate' => function (&$tag, &$data, $disabled)
1350 1417
 				{
1351
-					if (isset($disabled['url']))
1352
-						$tag['content'] = '$1';
1418
+					if (isset($disabled['url'])) {
1419
+											$tag['content'] = '$1';
1420
+					}
1353 1421
 					$scheme = parse_url($data[0], PHP_URL_SCHEME);
1354
-					if (empty($scheme))
1355
-						$data[0] = '//' . ltrim($data[0], ':/');
1422
+					if (empty($scheme)) {
1423
+											$data[0] = '//' . ltrim($data[0], ':/');
1424
+					}
1356 1425
 				},
1357 1426
 				'disabled_content' => '<a href="$1" target="_blank" rel="noopener">$1</a>',
1358 1427
 			),
@@ -1366,10 +1435,11 @@  discard block
 block discarded – undo
1366 1435
 				{
1367 1436
 					$class = 'class="bbc_float float' . (strpos($data, 'left') === 0 ? 'left' : 'right') . '"';
1368 1437
 
1369
-					if (preg_match('~\bmax=(\d+(?:%|px|em|rem|ex|pt|pc|ch|vw|vh|vmin|vmax|cm|mm|in)?)~', $data, $matches))
1370
-						$css = ' style="max-width:' . $matches[1] . (is_numeric($matches[1]) ? 'px' : '') . '"';
1371
-					else
1372
-						$css = '';
1438
+					if (preg_match('~\bmax=(\d+(?:%|px|em|rem|ex|pt|pc|ch|vw|vh|vmin|vmax|cm|mm|in)?)~', $data, $matches)) {
1439
+											$css = ' style="max-width:' . $matches[1] . (is_numeric($matches[1]) ? 'px' : '') . '"';
1440
+					} else {
1441
+											$css = '';
1442
+					}
1373 1443
 
1374 1444
 					$data = $class . $css;
1375 1445
 				},
@@ -1419,17 +1489,20 @@  discard block
 block discarded – undo
1419 1489
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1420 1490
 					if ($image_proxy_enabled)
1421 1491
 					{
1422
-						if (!empty($user_info['possibly_robot']))
1423
-							return;
1492
+						if (!empty($user_info['possibly_robot'])) {
1493
+													return;
1494
+						}
1424 1495
 
1425
-						if (empty($scheme))
1426
-							$data = 'http://' . ltrim($data, ':/');
1496
+						if (empty($scheme)) {
1497
+													$data = 'http://' . ltrim($data, ':/');
1498
+						}
1427 1499
 
1428
-						if ($scheme != 'https')
1429
-							$data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret);
1500
+						if ($scheme != 'https') {
1501
+													$data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret);
1502
+						}
1503
+					} elseif (empty($scheme)) {
1504
+											$data = '//' . ltrim($data, ':/');
1430 1505
 					}
1431
-					elseif (empty($scheme))
1432
-						$data = '//' . ltrim($data, ':/');
1433 1506
 				},
1434 1507
 				'disabled_content' => '($1)',
1435 1508
 			),
@@ -1445,17 +1518,20 @@  discard block
 block discarded – undo
1445 1518
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1446 1519
 					if ($image_proxy_enabled)
1447 1520
 					{
1448
-						if (!empty($user_info['possibly_robot']))
1449
-							return;
1521
+						if (!empty($user_info['possibly_robot'])) {
1522
+													return;
1523
+						}
1450 1524
 
1451
-						if (empty($scheme))
1452
-							$data = 'http://' . ltrim($data, ':/');
1525
+						if (empty($scheme)) {
1526
+													$data = 'http://' . ltrim($data, ':/');
1527
+						}
1453 1528
 
1454
-						if ($scheme != 'https')
1455
-							$data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret);
1529
+						if ($scheme != 'https') {
1530
+													$data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret);
1531
+						}
1532
+					} elseif (empty($scheme)) {
1533
+											$data = '//' . ltrim($data, ':/');
1456 1534
 					}
1457
-					elseif (empty($scheme))
1458
-						$data = '//' . ltrim($data, ':/');
1459 1535
 				},
1460 1536
 				'disabled_content' => '($1)',
1461 1537
 			),
@@ -1467,8 +1543,9 @@  discard block
 block discarded – undo
1467 1543
 				{
1468 1544
 					$data = strtr($data, array('<br>' => ''));
1469 1545
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1470
-					if (empty($scheme))
1471
-						$data = '//' . ltrim($data, ':/');
1546
+					if (empty($scheme)) {
1547
+											$data = '//' . ltrim($data, ':/');
1548
+					}
1472 1549
 				},
1473 1550
 			),
1474 1551
 			array(
@@ -1479,13 +1556,14 @@  discard block
 block discarded – undo
1479 1556
 				'after' => '</a>',
1480 1557
 				'validate' => function (&$tag, &$data, $disabled)
1481 1558
 				{
1482
-					if (substr($data, 0, 1) == '#')
1483
-						$data = '#post_' . substr($data, 1);
1484
-					else
1559
+					if (substr($data, 0, 1) == '#') {
1560
+											$data = '#post_' . substr($data, 1);
1561
+					} else
1485 1562
 					{
1486 1563
 						$scheme = parse_url($data, PHP_URL_SCHEME);
1487
-						if (empty($scheme))
1488
-							$data = '//' . ltrim($data, ':/');
1564
+						if (empty($scheme)) {
1565
+													$data = '//' . ltrim($data, ':/');
1566
+						}
1489 1567
 					}
1490 1568
 				},
1491 1569
 				'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
@@ -1563,8 +1641,9 @@  discard block
 block discarded – undo
1563 1641
 					{
1564 1642
 						$add_begin = substr(trim($data), 0, 5) != '&lt;?';
1565 1643
 						$data = highlight_php_code($add_begin ? '&lt;?php ' . $data . '?&gt;' : $data);
1566
-						if ($add_begin)
1567
-							$data = preg_replace(array('~^(.+?)&lt;\?.{0,40}?php(?:&nbsp;|\s)~', '~\?&gt;((?:</(font|span)>)*)$~'), '$1', $data, 2);
1644
+						if ($add_begin) {
1645
+													$data = preg_replace(array('~^(.+?)&lt;\?.{0,40}?php(?:&nbsp;|\s)~', '~\?&gt;((?:</(font|span)>)*)$~'), '$1', $data, 2);
1646
+						}
1568 1647
 					}
1569 1648
 				},
1570 1649
 				'block_level' => false,
@@ -1695,10 +1774,11 @@  discard block
 block discarded – undo
1695 1774
 				'content' => '$1',
1696 1775
 				'validate' => function (&$tag, &$data, $disabled)
1697 1776
 				{
1698
-					if (is_numeric($data))
1699
-						$data = timeformat($data);
1700
-					else
1701
-						$tag['content'] = '[time]$1[/time]';
1777
+					if (is_numeric($data)) {
1778
+											$data = timeformat($data);
1779
+					} else {
1780
+											$tag['content'] = '[time]$1[/time]';
1781
+					}
1702 1782
 				},
1703 1783
 			),
1704 1784
 			array(
@@ -1725,8 +1805,9 @@  discard block
 block discarded – undo
1725 1805
 				{
1726 1806
 					$data = strtr($data, array('<br>' => ''));
1727 1807
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1728
-					if (empty($scheme))
1729
-						$data = '//' . ltrim($data, ':/');
1808
+					if (empty($scheme)) {
1809
+											$data = '//' . ltrim($data, ':/');
1810
+					}
1730 1811
 				},
1731 1812
 			),
1732 1813
 			array(
@@ -1738,8 +1819,9 @@  discard block
 block discarded – undo
1738 1819
 				'validate' => function (&$tag, &$data, $disabled)
1739 1820
 				{
1740 1821
 					$scheme = parse_url($data, PHP_URL_SCHEME);
1741
-					if (empty($scheme))
1742
-						$data = '//' . ltrim($data, ':/');
1822
+					if (empty($scheme)) {
1823
+											$data = '//' . ltrim($data, ':/');
1824
+					}
1743 1825
 				},
1744 1826
 				'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
1745 1827
 				'disabled_after' => ' ($1)',
@@ -1759,8 +1841,9 @@  discard block
 block discarded – undo
1759 1841
 		// This is mainly for the bbc manager, so it's easy to add tags above.  Custom BBC should be added above this line.
1760 1842
 		if ($message === false)
1761 1843
 		{
1762
-			if (isset($temp_bbc))
1763
-				$bbc_codes = $temp_bbc;
1844
+			if (isset($temp_bbc)) {
1845
+							$bbc_codes = $temp_bbc;
1846
+			}
1764 1847
 			usort($codes, function ($a, $b) {
1765 1848
 				return strcmp($a['tag'], $b['tag']);
1766 1849
 			});
@@ -1780,8 +1863,9 @@  discard block
 block discarded – undo
1780 1863
 		);
1781 1864
 		if (!isset($disabled['li']) && !isset($disabled['list']))
1782 1865
 		{
1783
-			foreach ($itemcodes as $c => $dummy)
1784
-				$bbc_codes[$c] = array();
1866
+			foreach ($itemcodes as $c => $dummy) {
1867
+							$bbc_codes[$c] = array();
1868
+			}
1785 1869
 		}
1786 1870
 
1787 1871
 		// Shhhh!
@@ -1802,12 +1886,14 @@  discard block
 block discarded – undo
1802 1886
 		foreach ($codes as $code)
1803 1887
 		{
1804 1888
 			// Make it easier to process parameters later
1805
-			if (!empty($code['parameters']))
1806
-				ksort($code['parameters'], SORT_STRING);
1889
+			if (!empty($code['parameters'])) {
1890
+							ksort($code['parameters'], SORT_STRING);
1891
+			}
1807 1892
 
1808 1893
 			// If we are not doing every tag only do ones we are interested in.
1809
-			if (empty($parse_tags) || in_array($code['tag'], $parse_tags))
1810
-				$bbc_codes[substr($code['tag'], 0, 1)][] = $code;
1894
+			if (empty($parse_tags) || in_array($code['tag'], $parse_tags)) {
1895
+							$bbc_codes[substr($code['tag'], 0, 1)][] = $code;
1896
+			}
1811 1897
 		}
1812 1898
 		$codes = null;
1813 1899
 	}
@@ -1818,8 +1904,9 @@  discard block
 block discarded – undo
1818 1904
 		// It's likely this will change if the message is modified.
1819 1905
 		$cache_key = 'parse:' . $cache_id . '-' . md5(md5($message) . '-' . $smileys . (empty($disabled) ? '' : implode(',', array_keys($disabled))) . $smcFunc['json_encode']($context['browser']) . $txt['lang_locale'] . $user_info['time_offset'] . $user_info['time_format']);
1820 1906
 
1821
-		if (($temp = cache_get_data($cache_key, 240)) != null)
1822
-			return $temp;
1907
+		if (($temp = cache_get_data($cache_key, 240)) != null) {
1908
+					return $temp;
1909
+		}
1823 1910
 
1824 1911
 		$cache_t = microtime();
1825 1912
 	}
@@ -1851,8 +1938,9 @@  discard block
 block discarded – undo
1851 1938
 		$disabled['flash'] = true;
1852 1939
 
1853 1940
 		// @todo Change maybe?
1854
-		if (!isset($_GET['images']))
1855
-			$disabled['img'] = true;
1941
+		if (!isset($_GET['images'])) {
1942
+					$disabled['img'] = true;
1943
+		}
1856 1944
 
1857 1945
 		// @todo Interface/setting to add more?
1858 1946
 	}
@@ -1876,8 +1964,9 @@  discard block
 block discarded – undo
1876 1964
 		$pos = isset($matches[0][1]) ? $matches[0][1] : false;
1877 1965
 
1878 1966
 		// Failsafe.
1879
-		if ($pos === false || $last_pos > $pos)
1880
-			$pos = strlen($message) + 1;
1967
+		if ($pos === false || $last_pos > $pos) {
1968
+					$pos = strlen($message) + 1;
1969
+		}
1881 1970
 
1882 1971
 		// Can't have a one letter smiley, URL, or email! (sorry.)
1883 1972
 		if ($last_pos < $pos - 1)
@@ -1895,8 +1984,9 @@  discard block
 block discarded – undo
1895 1984
 
1896 1985
 				// <br> should be empty.
1897 1986
 				$empty_tags = array('br', 'hr');
1898
-				foreach ($empty_tags as $tag)
1899
-					$data = str_replace(array('&lt;' . $tag . '&gt;', '&lt;' . $tag . '/&gt;', '&lt;' . $tag . ' /&gt;'), '<' . $tag . '>', $data);
1987
+				foreach ($empty_tags as $tag) {
1988
+									$data = str_replace(array('&lt;' . $tag . '&gt;', '&lt;' . $tag . '/&gt;', '&lt;' . $tag . ' /&gt;'), '<' . $tag . '>', $data);
1989
+				}
1900 1990
 
1901 1991
 				// b, u, i, s, pre... basic tags.
1902 1992
 				$closable_tags = array('b', 'u', 'i', 's', 'em', 'ins', 'del', 'pre', 'blockquote', 'strong');
@@ -1905,8 +1995,9 @@  discard block
 block discarded – undo
1905 1995
 					$diff = substr_count($data, '&lt;' . $tag . '&gt;') - substr_count($data, '&lt;/' . $tag . '&gt;');
1906 1996
 					$data = strtr($data, array('&lt;' . $tag . '&gt;' => '<' . $tag . '>', '&lt;/' . $tag . '&gt;' => '</' . $tag . '>'));
1907 1997
 
1908
-					if ($diff > 0)
1909
-						$data = substr($data, 0, -1) . str_repeat('</' . $tag . '>', $diff) . substr($data, -1);
1998
+					if ($diff > 0) {
1999
+											$data = substr($data, 0, -1) . str_repeat('</' . $tag . '>', $diff) . substr($data, -1);
2000
+					}
1910 2001
 				}
1911 2002
 
1912 2003
 				// Do <img ...> - with security... action= -> action-.
@@ -1919,8 +2010,9 @@  discard block
 block discarded – undo
1919 2010
 						$alt = empty($matches[3][$match]) ? '' : ' alt=' . preg_replace('~^&quot;|&quot;$~', '', $matches[3][$match]);
1920 2011
 
1921 2012
 						// Remove action= from the URL - no funny business, now.
1922
-						if (preg_match('~action(=|%3d)(?!dlattach)~i', $imgtag) != 0)
1923
-							$imgtag = preg_replace('~action(?:=|%3d)(?!dlattach)~i', 'action-', $imgtag);
2013
+						if (preg_match('~action(=|%3d)(?!dlattach)~i', $imgtag) != 0) {
2014
+													$imgtag = preg_replace('~action(?:=|%3d)(?!dlattach)~i', 'action-', $imgtag);
2015
+						}
1924 2016
 
1925 2017
 						// Check if the image is larger than allowed.
1926 2018
 						if (!empty($modSettings['max_image_width']) && !empty($modSettings['max_image_height']))
@@ -1941,9 +2033,9 @@  discard block
 block discarded – undo
1941 2033
 
1942 2034
 							// Set the new image tag.
1943 2035
 							$replaces[$matches[0][$match]] = '[img width=' . $width . ' height=' . $height . $alt . ']' . $imgtag . '[/img]';
2036
+						} else {
2037
+													$replaces[$matches[0][$match]] = '[img' . $alt . ']' . $imgtag . '[/img]';
1944 2038
 						}
1945
-						else
1946
-							$replaces[$matches[0][$match]] = '[img' . $alt . ']' . $imgtag . '[/img]';
1947 2039
 					}
1948 2040
 
1949 2041
 					$data = strtr($data, $replaces);
@@ -1956,16 +2048,18 @@  discard block
 block discarded – undo
1956 2048
 				$no_autolink_area = false;
1957 2049
 				if (!empty($open_tags))
1958 2050
 				{
1959
-					foreach ($open_tags as $open_tag)
1960
-						if (in_array($open_tag['tag'], $no_autolink_tags))
2051
+					foreach ($open_tags as $open_tag) {
2052
+											if (in_array($open_tag['tag'], $no_autolink_tags))
1961 2053
 							$no_autolink_area = true;
2054
+					}
1962 2055
 				}
1963 2056
 
1964 2057
 				// Don't go backwards.
1965 2058
 				// @todo Don't think is the real solution....
1966 2059
 				$lastAutoPos = isset($lastAutoPos) ? $lastAutoPos : 0;
1967
-				if ($pos < $lastAutoPos)
1968
-					$no_autolink_area = true;
2060
+				if ($pos < $lastAutoPos) {
2061
+									$no_autolink_area = true;
2062
+				}
1969 2063
 				$lastAutoPos = $pos;
1970 2064
 
1971 2065
 				if (!$no_autolink_area)
@@ -2074,17 +2168,19 @@  discard block
 block discarded – undo
2074 2168
 							if ($scheme == 'mailto')
2075 2169
 							{
2076 2170
 								$email_address = str_replace('mailto:', '', $url);
2077
-								if (!isset($disabled['email']) && filter_var($email_address, FILTER_VALIDATE_EMAIL) !== false)
2078
-									return '[email=' . $email_address . ']' . $url . '[/email]';
2079
-								else
2080
-									return $url;
2171
+								if (!isset($disabled['email']) && filter_var($email_address, FILTER_VALIDATE_EMAIL) !== false) {
2172
+																	return '[email=' . $email_address . ']' . $url . '[/email]';
2173
+								} else {
2174
+																	return $url;
2175
+								}
2081 2176
 							}
2082 2177
 
2083 2178
 							// Are we linking a schemeless URL or naked domain name (e.g. "example.com")?
2084
-							if (empty($scheme))
2085
-								$fullUrl = '//' . ltrim($url, ':/');
2086
-							else
2087
-								$fullUrl = $url;
2179
+							if (empty($scheme)) {
2180
+															$fullUrl = '//' . ltrim($url, ':/');
2181
+							} else {
2182
+															$fullUrl = $url;
2183
+							}
2088 2184
 
2089 2185
 							return '[url=&quot;' . str_replace(array('[', ']'), array('&#91;', '&#93;'), $fullUrl) . '&quot;]' . $url . '[/url]';
2090 2186
 						}, $data);
@@ -2133,22 +2229,25 @@  discard block
 block discarded – undo
2133 2229
 		}
2134 2230
 
2135 2231
 		// Are we there yet?  Are we there yet?
2136
-		if ($pos >= strlen($message) - 1)
2137
-			break;
2232
+		if ($pos >= strlen($message) - 1) {
2233
+					break;
2234
+		}
2138 2235
 
2139 2236
 		$tags = strtolower($message[$pos + 1]);
2140 2237
 
2141 2238
 		if ($tags == '/' && !empty($open_tags))
2142 2239
 		{
2143 2240
 			$pos2 = strpos($message, ']', $pos + 1);
2144
-			if ($pos2 == $pos + 2)
2145
-				continue;
2241
+			if ($pos2 == $pos + 2) {
2242
+							continue;
2243
+			}
2146 2244
 
2147 2245
 			$look_for = strtolower(substr($message, $pos + 2, $pos2 - $pos - 2));
2148 2246
 
2149 2247
 			// A closing tag that doesn't match any open tags? Skip it.
2150
-			if (!in_array($look_for, array_map(function($code){return $code['tag'];}, $open_tags)))
2151
-				continue;
2248
+			if (!in_array($look_for, array_map(function($code){return $code['tag'];}, $open_tags))) {
2249
+							continue;
2250
+			}
2152 2251
 
2153 2252
 			$to_close = array();
2154 2253
 			$block_level = null;
@@ -2156,8 +2255,9 @@  discard block
 block discarded – undo
2156 2255
 			do
2157 2256
 			{
2158 2257
 				$tag = array_pop($open_tags);
2159
-				if (!$tag)
2160
-					break;
2258
+				if (!$tag) {
2259
+									break;
2260
+				}
2161 2261
 
2162 2262
 				if (!empty($tag['block_level']))
2163 2263
 				{
@@ -2171,10 +2271,11 @@  discard block
 block discarded – undo
2171 2271
 					// The idea is, if we are LOOKING for a block level tag, we can close them on the way.
2172 2272
 					if (strlen($look_for) > 0 && isset($bbc_codes[$look_for[0]]))
2173 2273
 					{
2174
-						foreach ($bbc_codes[$look_for[0]] as $temp)
2175
-							if ($temp['tag'] == $look_for)
2274
+						foreach ($bbc_codes[$look_for[0]] as $temp) {
2275
+													if ($temp['tag'] == $look_for)
2176 2276
 							{
2177 2277
 								$block_level = !empty($temp['block_level']);
2278
+						}
2178 2279
 								break;
2179 2280
 							}
2180 2281
 					}
@@ -2196,15 +2297,15 @@  discard block
 block discarded – undo
2196 2297
 			{
2197 2298
 				$open_tags = $to_close;
2198 2299
 				continue;
2199
-			}
2200
-			elseif (!empty($to_close) && $tag['tag'] != $look_for)
2300
+			} elseif (!empty($to_close) && $tag['tag'] != $look_for)
2201 2301
 			{
2202 2302
 				if ($block_level === null && isset($look_for[0], $bbc_codes[$look_for[0]]))
2203 2303
 				{
2204
-					foreach ($bbc_codes[$look_for[0]] as $temp)
2205
-						if ($temp['tag'] == $look_for)
2304
+					foreach ($bbc_codes[$look_for[0]] as $temp) {
2305
+											if ($temp['tag'] == $look_for)
2206 2306
 						{
2207 2307
 							$block_level = !empty($temp['block_level']);
2308
+					}
2208 2309
 							break;
2209 2310
 						}
2210 2311
 				}
@@ -2212,8 +2313,9 @@  discard block
 block discarded – undo
2212 2313
 				// We're not looking for a block level tag (or maybe even a tag that exists...)
2213 2314
 				if (!$block_level)
2214 2315
 				{
2215
-					foreach ($to_close as $tag)
2216
-						array_push($open_tags, $tag);
2316
+					foreach ($to_close as $tag) {
2317
+											array_push($open_tags, $tag);
2318
+					}
2217 2319
 					continue;
2218 2320
 				}
2219 2321
 			}
@@ -2226,14 +2328,17 @@  discard block
 block discarded – undo
2226 2328
 
2227 2329
 				// See the comment at the end of the big loop - just eating whitespace ;).
2228 2330
 				$whitespace_regex = '';
2229
-				if (!empty($tag['block_level']))
2230
-					$whitespace_regex .= '(&nbsp;|\s)*(<br>)?';
2331
+				if (!empty($tag['block_level'])) {
2332
+									$whitespace_regex .= '(&nbsp;|\s)*(<br>)?';
2333
+				}
2231 2334
 				// Trim one line of whitespace after unnested tags, but all of it after nested ones
2232
-				if (!empty($tag['trim']) && $tag['trim'] != 'inside')
2233
-					$whitespace_regex .= empty($tag['require_parents']) ? '(&nbsp;|\s)*' : '(<br>|&nbsp;|\s)*';
2335
+				if (!empty($tag['trim']) && $tag['trim'] != 'inside') {
2336
+									$whitespace_regex .= empty($tag['require_parents']) ? '(&nbsp;|\s)*' : '(<br>|&nbsp;|\s)*';
2337
+				}
2234 2338
 
2235
-				if (!empty($whitespace_regex) && preg_match('~' . $whitespace_regex . '~', substr($message, $pos), $matches) != 0)
2236
-					$message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0]));
2339
+				if (!empty($whitespace_regex) && preg_match('~' . $whitespace_regex . '~', substr($message, $pos), $matches) != 0) {
2340
+									$message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0]));
2341
+				}
2237 2342
 			}
2238 2343
 
2239 2344
 			if (!empty($to_close))
@@ -2246,8 +2351,9 @@  discard block
 block discarded – undo
2246 2351
 		}
2247 2352
 
2248 2353
 		// No tags for this character, so just keep going (fastest possible course.)
2249
-		if (!isset($bbc_codes[$tags]))
2250
-			continue;
2354
+		if (!isset($bbc_codes[$tags])) {
2355
+					continue;
2356
+		}
2251 2357
 
2252 2358
 		$inside = empty($open_tags) ? null : $open_tags[count($open_tags) - 1];
2253 2359
 		$tag = null;
@@ -2256,48 +2362,57 @@  discard block
 block discarded – undo
2256 2362
 			$pt_strlen = strlen($possible['tag']);
2257 2363
 
2258 2364
 			// Not a match?
2259
-			if (strtolower(substr($message, $pos + 1, $pt_strlen)) != $possible['tag'])
2260
-				continue;
2365
+			if (strtolower(substr($message, $pos + 1, $pt_strlen)) != $possible['tag']) {
2366
+							continue;
2367
+			}
2261 2368
 
2262 2369
 			$next_c = isset($message[$pos + 1 + $pt_strlen]) ? $message[$pos + 1 + $pt_strlen] : '';
2263 2370
 			
2264 2371
 			// A tag is the last char maybe
2265
-			if ($next_c == '')
2266
-				break;
2372
+			if ($next_c == '') {
2373
+							break;
2374
+			}
2267 2375
 
2268 2376
 			// A test validation?
2269
-			if (isset($possible['test']) && preg_match('~^' . $possible['test'] . '~', substr($message, $pos + 1 + $pt_strlen + 1)) === 0)
2270
-				continue;
2377
+			if (isset($possible['test']) && preg_match('~^' . $possible['test'] . '~', substr($message, $pos + 1 + $pt_strlen + 1)) === 0) {
2378
+							continue;
2379
+			}
2271 2380
 			// Do we want parameters?
2272 2381
 			elseif (!empty($possible['parameters']))
2273 2382
 			{
2274
-				if ($next_c != ' ')
2275
-					continue;
2276
-			}
2277
-			elseif (isset($possible['type']))
2383
+				if ($next_c != ' ') {
2384
+									continue;
2385
+				}
2386
+			} elseif (isset($possible['type']))
2278 2387
 			{
2279 2388
 				// Do we need an equal sign?
2280
-				if (in_array($possible['type'], array('unparsed_equals', 'unparsed_commas', 'unparsed_commas_content', 'unparsed_equals_content', 'parsed_equals')) && $next_c != '=')
2281
-					continue;
2389
+				if (in_array($possible['type'], array('unparsed_equals', 'unparsed_commas', 'unparsed_commas_content', 'unparsed_equals_content', 'parsed_equals')) && $next_c != '=') {
2390
+									continue;
2391
+				}
2282 2392
 				// Maybe we just want a /...
2283
-				if ($possible['type'] == 'closed' && $next_c != ']' && substr($message, $pos + 1 + $pt_strlen, 2) != '/]' && substr($message, $pos + 1 + $pt_strlen, 3) != ' /]')
2284
-					continue;
2393
+				if ($possible['type'] == 'closed' && $next_c != ']' && substr($message, $pos + 1 + $pt_strlen, 2) != '/]' && substr($message, $pos + 1 + $pt_strlen, 3) != ' /]') {
2394
+									continue;
2395
+				}
2285 2396
 				// An immediate ]?
2286
-				if ($possible['type'] == 'unparsed_content' && $next_c != ']')
2287
-					continue;
2397
+				if ($possible['type'] == 'unparsed_content' && $next_c != ']') {
2398
+									continue;
2399
+				}
2288 2400
 			}
2289 2401
 			// No type means 'parsed_content', which demands an immediate ] without parameters!
2290
-			elseif ($next_c != ']')
2291
-				continue;
2402
+			elseif ($next_c != ']') {
2403
+							continue;
2404
+			}
2292 2405
 
2293 2406
 			// Check allowed tree?
2294
-			if (isset($possible['require_parents']) && ($inside === null || !in_array($inside['tag'], $possible['require_parents'])))
2295
-				continue;
2296
-			elseif (isset($inside['require_children']) && !in_array($possible['tag'], $inside['require_children']))
2297
-				continue;
2407
+			if (isset($possible['require_parents']) && ($inside === null || !in_array($inside['tag'], $possible['require_parents']))) {
2408
+							continue;
2409
+			} elseif (isset($inside['require_children']) && !in_array($possible['tag'], $inside['require_children'])) {
2410
+							continue;
2411
+			}
2298 2412
 			// If this is in the list of disallowed child tags, don't parse it.
2299
-			elseif (isset($inside['disallow_children']) && in_array($possible['tag'], $inside['disallow_children']))
2300
-				continue;
2413
+			elseif (isset($inside['disallow_children']) && in_array($possible['tag'], $inside['disallow_children'])) {
2414
+							continue;
2415
+			}
2301 2416
 
2302 2417
 			$pos1 = $pos + 1 + $pt_strlen + 1;
2303 2418
 
@@ -2309,8 +2424,9 @@  discard block
 block discarded – undo
2309 2424
 				foreach ($open_tags as $open_quote)
2310 2425
 				{
2311 2426
 					// Every parent quote this quote has flips the styling
2312
-					if ($open_quote['tag'] == 'quote')
2313
-						$quote_alt = !$quote_alt;
2427
+					if ($open_quote['tag'] == 'quote') {
2428
+											$quote_alt = !$quote_alt;
2429
+					}
2314 2430
 				}
2315 2431
 				// Add a class to the quote to style alternating blockquotes
2316 2432
 				$possible['before'] = strtr($possible['before'], array('<blockquote>' => '<blockquote class="bbc_' . ($quote_alt ? 'alternate' : 'standard') . '_quote">'));
@@ -2321,8 +2437,9 @@  discard block
 block discarded – undo
2321 2437
 			{
2322 2438
 				// Build a regular expression for each parameter for the current tag.
2323 2439
 				$preg = array();
2324
-				foreach ($possible['parameters'] as $p => $info)
2325
-					$preg[] = '(\s+' . $p . '=' . (empty($info['quoted']) ? '' : '&quot;') . (isset($info['match']) ? $info['match'] : '(.+?)') . (empty($info['quoted']) ? '' : '&quot;') . '\s*)' . (empty($info['optional']) ? '' : '?');
2440
+				foreach ($possible['parameters'] as $p => $info) {
2441
+									$preg[] = '(\s+' . $p . '=' . (empty($info['quoted']) ? '' : '&quot;') . (isset($info['match']) ? $info['match'] : '(.+?)') . (empty($info['quoted']) ? '' : '&quot;') . '\s*)' . (empty($info['optional']) ? '' : '?');
2442
+				}
2326 2443
 
2327 2444
 				// Extract the string that potentially holds our parameters.
2328 2445
 				$blob = preg_split('~\[/?(?:' . $alltags_regex . ')~i', substr($message, $pos));
@@ -2342,24 +2459,27 @@  discard block
 block discarded – undo
2342 2459
 
2343 2460
 					$match = preg_match('~^' . implode('', $preg) . '$~i', implode(' ', $given_params), $matches) !== 0;
2344 2461
 
2345
-					if ($match)
2346
-						$blob_counter = count($blobs) + 1;
2462
+					if ($match) {
2463
+											$blob_counter = count($blobs) + 1;
2464
+					}
2347 2465
 				}
2348 2466
 
2349 2467
 				// Didn't match our parameter list, try the next possible.
2350
-				if (!$match)
2351
-					continue;
2468
+				if (!$match) {
2469
+									continue;
2470
+				}
2352 2471
 
2353 2472
 				$params = array();
2354 2473
 				for ($i = 1, $n = count($matches); $i < $n; $i += 2)
2355 2474
 				{
2356 2475
 					$key = strtok(ltrim($matches[$i]), '=');
2357
-					if (isset($possible['parameters'][$key]['value']))
2358
-						$params['{' . $key . '}'] = strtr($possible['parameters'][$key]['value'], array('$1' => $matches[$i + 1]));
2359
-					elseif (isset($possible['parameters'][$key]['validate']))
2360
-						$params['{' . $key . '}'] = $possible['parameters'][$key]['validate']($matches[$i + 1]);
2361
-					else
2362
-						$params['{' . $key . '}'] = $matches[$i + 1];
2476
+					if (isset($possible['parameters'][$key]['value'])) {
2477
+											$params['{' . $key . '}'] = strtr($possible['parameters'][$key]['value'], array('$1' => $matches[$i + 1]));
2478
+					} elseif (isset($possible['parameters'][$key]['validate'])) {
2479
+											$params['{' . $key . '}'] = $possible['parameters'][$key]['validate']($matches[$i + 1]);
2480
+					} else {
2481
+											$params['{' . $key . '}'] = $matches[$i + 1];
2482
+					}
2363 2483
 
2364 2484
 					// Just to make sure: replace any $ or { so they can't interpolate wrongly.
2365 2485
 					$params['{' . $key . '}'] = strtr($params['{' . $key . '}'], array('$' => '&#036;', '{' => '&#123;'));
@@ -2367,23 +2487,26 @@  discard block
 block discarded – undo
2367 2487
 
2368 2488
 				foreach ($possible['parameters'] as $p => $info)
2369 2489
 				{
2370
-					if (!isset($params['{' . $p . '}']))
2371
-						$params['{' . $p . '}'] = '';
2490
+					if (!isset($params['{' . $p . '}'])) {
2491
+											$params['{' . $p . '}'] = '';
2492
+					}
2372 2493
 				}
2373 2494
 
2374 2495
 				$tag = $possible;
2375 2496
 
2376 2497
 				// Put the parameters into the string.
2377
-				if (isset($tag['before']))
2378
-					$tag['before'] = strtr($tag['before'], $params);
2379
-				if (isset($tag['after']))
2380
-					$tag['after'] = strtr($tag['after'], $params);
2381
-				if (isset($tag['content']))
2382
-					$tag['content'] = strtr($tag['content'], $params);
2498
+				if (isset($tag['before'])) {
2499
+									$tag['before'] = strtr($tag['before'], $params);
2500
+				}
2501
+				if (isset($tag['after'])) {
2502
+									$tag['after'] = strtr($tag['after'], $params);
2503
+				}
2504
+				if (isset($tag['content'])) {
2505
+									$tag['content'] = strtr($tag['content'], $params);
2506
+				}
2383 2507
 
2384 2508
 				$pos1 += strlen($given_param_string);
2385
-			}
2386
-			else
2509
+			} else
2387 2510
 			{
2388 2511
 				$tag = $possible;
2389 2512
 				$params = array();
@@ -2394,8 +2517,9 @@  discard block
 block discarded – undo
2394 2517
 		// Item codes are complicated buggers... they are implicit [li]s and can make [list]s!
2395 2518
 		if ($smileys !== false && $tag === null && isset($itemcodes[$message[$pos + 1]]) && $message[$pos + 2] == ']' && !isset($disabled['list']) && !isset($disabled['li']))
2396 2519
 		{
2397
-			if ($message[$pos + 1] == '0' && !in_array($message[$pos - 1], array(';', ' ', "\t", "\n", '>')))
2398
-				continue;
2520
+			if ($message[$pos + 1] == '0' && !in_array($message[$pos - 1], array(';', ' ', "\t", "\n", '>'))) {
2521
+							continue;
2522
+			}
2399 2523
 
2400 2524
 			$tag = $itemcodes[$message[$pos + 1]];
2401 2525
 
@@ -2416,9 +2540,9 @@  discard block
 block discarded – undo
2416 2540
 			{
2417 2541
 				array_pop($open_tags);
2418 2542
 				$code = '</li>';
2543
+			} else {
2544
+							$code = '';
2419 2545
 			}
2420
-			else
2421
-				$code = '';
2422 2546
 
2423 2547
 			// Now we open a new tag.
2424 2548
 			$open_tags[] = array(
@@ -2465,12 +2589,14 @@  discard block
 block discarded – undo
2465 2589
 		}
2466 2590
 
2467 2591
 		// No tag?  Keep looking, then.  Silly people using brackets without actual tags.
2468
-		if ($tag === null)
2469
-			continue;
2592
+		if ($tag === null) {
2593
+					continue;
2594
+		}
2470 2595
 
2471 2596
 		// Propagate the list to the child (so wrapping the disallowed tag won't work either.)
2472
-		if (isset($inside['disallow_children']))
2473
-			$tag['disallow_children'] = isset($tag['disallow_children']) ? array_unique(array_merge($tag['disallow_children'], $inside['disallow_children'])) : $inside['disallow_children'];
2597
+		if (isset($inside['disallow_children'])) {
2598
+					$tag['disallow_children'] = isset($tag['disallow_children']) ? array_unique(array_merge($tag['disallow_children'], $inside['disallow_children'])) : $inside['disallow_children'];
2599
+		}
2474 2600
 
2475 2601
 		// Is this tag disabled?
2476 2602
 		if (isset($disabled[$tag['tag']]))
@@ -2480,14 +2606,13 @@  discard block
 block discarded – undo
2480 2606
 				$tag['before'] = !empty($tag['block_level']) ? '<div>' : '';
2481 2607
 				$tag['after'] = !empty($tag['block_level']) ? '</div>' : '';
2482 2608
 				$tag['content'] = isset($tag['type']) && $tag['type'] == 'closed' ? '' : (!empty($tag['block_level']) ? '<div>$1</div>' : '$1');
2483
-			}
2484
-			elseif (isset($tag['disabled_before']) || isset($tag['disabled_after']))
2609
+			} elseif (isset($tag['disabled_before']) || isset($tag['disabled_after']))
2485 2610
 			{
2486 2611
 				$tag['before'] = isset($tag['disabled_before']) ? $tag['disabled_before'] : (!empty($tag['block_level']) ? '<div>' : '');
2487 2612
 				$tag['after'] = isset($tag['disabled_after']) ? $tag['disabled_after'] : (!empty($tag['block_level']) ? '</div>' : '');
2613
+			} else {
2614
+							$tag['content'] = $tag['disabled_content'];
2488 2615
 			}
2489
-			else
2490
-				$tag['content'] = $tag['disabled_content'];
2491 2616
 		}
2492 2617
 
2493 2618
 		// we use this a lot
@@ -2497,8 +2622,9 @@  discard block
 block discarded – undo
2497 2622
 		if (!empty($tag['block_level']) && $tag['tag'] != 'html' && empty($inside['block_level']))
2498 2623
 		{
2499 2624
 			$n = count($open_tags) - 1;
2500
-			while (empty($open_tags[$n]['block_level']) && $n >= 0)
2501
-				$n--;
2625
+			while (empty($open_tags[$n]['block_level']) && $n >= 0) {
2626
+							$n--;
2627
+			}
2502 2628
 
2503 2629
 			// Close all the non block level tags so this tag isn't surrounded by them.
2504 2630
 			for ($i = count($open_tags) - 1; $i > $n; $i--)
@@ -2510,12 +2636,15 @@  discard block
 block discarded – undo
2510 2636
 
2511 2637
 				// Trim or eat trailing stuff... see comment at the end of the big loop.
2512 2638
 				$whitespace_regex = '';
2513
-				if (!empty($tag['block_level']))
2514
-					$whitespace_regex .= '(&nbsp;|\s)*(<br>)?';
2515
-				if (!empty($tag['trim']) && $tag['trim'] != 'inside')
2516
-					$whitespace_regex .= empty($tag['require_parents']) ? '(&nbsp;|\s)*' : '(<br>|&nbsp;|\s)*';
2517
-				if (!empty($whitespace_regex) && preg_match('~' . $whitespace_regex . '~', substr($message, $pos), $matches) != 0)
2518
-					$message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0]));
2639
+				if (!empty($tag['block_level'])) {
2640
+									$whitespace_regex .= '(&nbsp;|\s)*(<br>)?';
2641
+				}
2642
+				if (!empty($tag['trim']) && $tag['trim'] != 'inside') {
2643
+									$whitespace_regex .= empty($tag['require_parents']) ? '(&nbsp;|\s)*' : '(<br>|&nbsp;|\s)*';
2644
+				}
2645
+				if (!empty($whitespace_regex) && preg_match('~' . $whitespace_regex . '~', substr($message, $pos), $matches) != 0) {
2646
+									$message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0]));
2647
+				}
2519 2648
 
2520 2649
 				array_pop($open_tags);
2521 2650
 			}
@@ -2536,16 +2665,19 @@  discard block
 block discarded – undo
2536 2665
 		elseif ($tag['type'] == 'unparsed_content')
2537 2666
 		{
2538 2667
 			$pos2 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos1);
2539
-			if ($pos2 === false)
2540
-				continue;
2668
+			if ($pos2 === false) {
2669
+							continue;
2670
+			}
2541 2671
 
2542 2672
 			$data = substr($message, $pos1, $pos2 - $pos1);
2543 2673
 
2544
-			if (!empty($tag['block_level']) && substr($data, 0, 4) == '<br>')
2545
-				$data = substr($data, 4);
2674
+			if (!empty($tag['block_level']) && substr($data, 0, 4) == '<br>') {
2675
+							$data = substr($data, 4);
2676
+			}
2546 2677
 
2547
-			if (isset($tag['validate']))
2548
-				$tag['validate']($tag, $data, $disabled, $params);
2678
+			if (isset($tag['validate'])) {
2679
+							$tag['validate']($tag, $data, $disabled, $params);
2680
+			}
2549 2681
 
2550 2682
 			$code = strtr($tag['content'], array('$1' => $data));
2551 2683
 			$message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos2 + 3 + $tag_strlen);
@@ -2561,34 +2693,40 @@  discard block
 block discarded – undo
2561 2693
 			if (isset($tag['quoted']))
2562 2694
 			{
2563 2695
 				$quoted = substr($message, $pos1, 6) == '&quot;';
2564
-				if ($tag['quoted'] != 'optional' && !$quoted)
2565
-					continue;
2696
+				if ($tag['quoted'] != 'optional' && !$quoted) {
2697
+									continue;
2698
+				}
2566 2699
 
2567
-				if ($quoted)
2568
-					$pos1 += 6;
2700
+				if ($quoted) {
2701
+									$pos1 += 6;
2702
+				}
2703
+			} else {
2704
+							$quoted = false;
2569 2705
 			}
2570
-			else
2571
-				$quoted = false;
2572 2706
 
2573 2707
 			$pos2 = strpos($message, $quoted == false ? ']' : '&quot;]', $pos1);
2574
-			if ($pos2 === false)
2575
-				continue;
2708
+			if ($pos2 === false) {
2709
+							continue;
2710
+			}
2576 2711
 
2577 2712
 			$pos3 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos2);
2578
-			if ($pos3 === false)
2579
-				continue;
2713
+			if ($pos3 === false) {
2714
+							continue;
2715
+			}
2580 2716
 
2581 2717
 			$data = array(
2582 2718
 				substr($message, $pos2 + ($quoted == false ? 1 : 7), $pos3 - ($pos2 + ($quoted == false ? 1 : 7))),
2583 2719
 				substr($message, $pos1, $pos2 - $pos1)
2584 2720
 			);
2585 2721
 
2586
-			if (!empty($tag['block_level']) && substr($data[0], 0, 4) == '<br>')
2587
-				$data[0] = substr($data[0], 4);
2722
+			if (!empty($tag['block_level']) && substr($data[0], 0, 4) == '<br>') {
2723
+							$data[0] = substr($data[0], 4);
2724
+			}
2588 2725
 
2589 2726
 			// Validation for my parking, please!
2590
-			if (isset($tag['validate']))
2591
-				$tag['validate']($tag, $data, $disabled, $params);
2727
+			if (isset($tag['validate'])) {
2728
+							$tag['validate']($tag, $data, $disabled, $params);
2729
+			}
2592 2730
 
2593 2731
 			$code = strtr($tag['content'], array('$1' => $data[0], '$2' => $data[1]));
2594 2732
 			$message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos3 + 3 + $tag_strlen);
@@ -2605,23 +2743,27 @@  discard block
 block discarded – undo
2605 2743
 		elseif ($tag['type'] == 'unparsed_commas_content')
2606 2744
 		{
2607 2745
 			$pos2 = strpos($message, ']', $pos1);
2608
-			if ($pos2 === false)
2609
-				continue;
2746
+			if ($pos2 === false) {
2747
+							continue;
2748
+			}
2610 2749
 
2611 2750
 			$pos3 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos2);
2612
-			if ($pos3 === false)
2613
-				continue;
2751
+			if ($pos3 === false) {
2752
+							continue;
2753
+			}
2614 2754
 
2615 2755
 			// We want $1 to be the content, and the rest to be csv.
2616 2756
 			$data = explode(',', ',' . substr($message, $pos1, $pos2 - $pos1));
2617 2757
 			$data[0] = substr($message, $pos2 + 1, $pos3 - $pos2 - 1);
2618 2758
 
2619
-			if (isset($tag['validate']))
2620
-				$tag['validate']($tag, $data, $disabled, $params);
2759
+			if (isset($tag['validate'])) {
2760
+							$tag['validate']($tag, $data, $disabled, $params);
2761
+			}
2621 2762
 
2622 2763
 			$code = $tag['content'];
2623
-			foreach ($data as $k => $d)
2624
-				$code = strtr($code, array('$' . ($k + 1) => trim($d)));
2764
+			foreach ($data as $k => $d) {
2765
+							$code = strtr($code, array('$' . ($k + 1) => trim($d)));
2766
+			}
2625 2767
 			$message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos3 + 3 + $tag_strlen);
2626 2768
 			$pos += strlen($code) - 1 + 2;
2627 2769
 		}
@@ -2629,24 +2771,28 @@  discard block
 block discarded – undo
2629 2771
 		elseif ($tag['type'] == 'unparsed_commas')
2630 2772
 		{
2631 2773
 			$pos2 = strpos($message, ']', $pos1);
2632
-			if ($pos2 === false)
2633
-				continue;
2774
+			if ($pos2 === false) {
2775
+							continue;
2776
+			}
2634 2777
 
2635 2778
 			$data = explode(',', substr($message, $pos1, $pos2 - $pos1));
2636 2779
 
2637
-			if (isset($tag['validate']))
2638
-				$tag['validate']($tag, $data, $disabled, $params);
2780
+			if (isset($tag['validate'])) {
2781
+							$tag['validate']($tag, $data, $disabled, $params);
2782
+			}
2639 2783
 
2640 2784
 			// Fix after, for disabled code mainly.
2641
-			foreach ($data as $k => $d)
2642
-				$tag['after'] = strtr($tag['after'], array('$' . ($k + 1) => trim($d)));
2785
+			foreach ($data as $k => $d) {
2786
+							$tag['after'] = strtr($tag['after'], array('$' . ($k + 1) => trim($d)));
2787
+			}
2643 2788
 
2644 2789
 			$open_tags[] = $tag;
2645 2790
 
2646 2791
 			// Replace them out, $1, $2, $3, $4, etc.
2647 2792
 			$code = $tag['before'];
2648
-			foreach ($data as $k => $d)
2649
-				$code = strtr($code, array('$' . ($k + 1) => trim($d)));
2793
+			foreach ($data as $k => $d) {
2794
+							$code = strtr($code, array('$' . ($k + 1) => trim($d)));
2795
+			}
2650 2796
 			$message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos2 + 1);
2651 2797
 			$pos += strlen($code) - 1 + 2;
2652 2798
 		}
@@ -2657,28 +2803,33 @@  discard block
 block discarded – undo
2657 2803
 			if (isset($tag['quoted']))
2658 2804
 			{
2659 2805
 				$quoted = substr($message, $pos1, 6) == '&quot;';
2660
-				if ($tag['quoted'] != 'optional' && !$quoted)
2661
-					continue;
2806
+				if ($tag['quoted'] != 'optional' && !$quoted) {
2807
+									continue;
2808
+				}
2662 2809
 
2663
-				if ($quoted)
2664
-					$pos1 += 6;
2810
+				if ($quoted) {
2811
+									$pos1 += 6;
2812
+				}
2813
+			} else {
2814
+							$quoted = false;
2665 2815
 			}
2666
-			else
2667
-				$quoted = false;
2668 2816
 
2669 2817
 			$pos2 = strpos($message, $quoted == false ? ']' : '&quot;]', $pos1);
2670
-			if ($pos2 === false)
2671
-				continue;
2818
+			if ($pos2 === false) {
2819
+							continue;
2820
+			}
2672 2821
 
2673 2822
 			$data = substr($message, $pos1, $pos2 - $pos1);
2674 2823
 
2675 2824
 			// Validation for my parking, please!
2676
-			if (isset($tag['validate']))
2677
-				$tag['validate']($tag, $data, $disabled, $params);
2825
+			if (isset($tag['validate'])) {
2826
+							$tag['validate']($tag, $data, $disabled, $params);
2827
+			}
2678 2828
 
2679 2829
 			// For parsed content, we must recurse to avoid security problems.
2680
-			if ($tag['type'] != 'unparsed_equals')
2681
-				$data = parse_bbc($data, !empty($tag['parsed_tags_allowed']) ? false : true, '', !empty($tag['parsed_tags_allowed']) ? $tag['parsed_tags_allowed'] : array());
2830
+			if ($tag['type'] != 'unparsed_equals') {
2831
+							$data = parse_bbc($data, !empty($tag['parsed_tags_allowed']) ? false : true, '', !empty($tag['parsed_tags_allowed']) ? $tag['parsed_tags_allowed'] : array());
2832
+			}
2682 2833
 
2683 2834
 			$tag['after'] = strtr($tag['after'], array('$1' => $data));
2684 2835
 
@@ -2690,34 +2841,40 @@  discard block
 block discarded – undo
2690 2841
 		}
2691 2842
 
2692 2843
 		// If this is block level, eat any breaks after it.
2693
-		if (!empty($tag['block_level']) && substr($message, $pos + 1, 4) == '<br>')
2694
-			$message = substr($message, 0, $pos + 1) . substr($message, $pos + 5);
2844
+		if (!empty($tag['block_level']) && substr($message, $pos + 1, 4) == '<br>') {
2845
+					$message = substr($message, 0, $pos + 1) . substr($message, $pos + 5);
2846
+		}
2695 2847
 
2696 2848
 		// Are we trimming outside this tag?
2697
-		if (!empty($tag['trim']) && $tag['trim'] != 'outside' && preg_match('~(<br>|&nbsp;|\s)*~', substr($message, $pos + 1), $matches) != 0)
2698
-			$message = substr($message, 0, $pos + 1) . substr($message, $pos + 1 + strlen($matches[0]));
2849
+		if (!empty($tag['trim']) && $tag['trim'] != 'outside' && preg_match('~(<br>|&nbsp;|\s)*~', substr($message, $pos + 1), $matches) != 0) {
2850
+					$message = substr($message, 0, $pos + 1) . substr($message, $pos + 1 + strlen($matches[0]));
2851
+		}
2699 2852
 	}
2700 2853
 
2701 2854
 	// Close any remaining tags.
2702
-	while ($tag = array_pop($open_tags))
2703
-		$message .= "\n" . $tag['after'] . "\n";
2855
+	while ($tag = array_pop($open_tags)) {
2856
+			$message .= "\n" . $tag['after'] . "\n";
2857
+	}
2704 2858
 
2705 2859
 	// Parse the smileys within the parts where it can be done safely.
2706 2860
 	if ($smileys === true)
2707 2861
 	{
2708 2862
 		$message_parts = explode("\n", $message);
2709
-		for ($i = 0, $n = count($message_parts); $i < $n; $i += 2)
2710
-			parsesmileys($message_parts[$i]);
2863
+		for ($i = 0, $n = count($message_parts); $i < $n; $i += 2) {
2864
+					parsesmileys($message_parts[$i]);
2865
+		}
2711 2866
 
2712 2867
 		$message = implode('', $message_parts);
2713 2868
 	}
2714 2869
 
2715 2870
 	// No smileys, just get rid of the markers.
2716
-	else
2717
-		$message = strtr($message, array("\n" => ''));
2871
+	else {
2872
+			$message = strtr($message, array("\n" => ''));
2873
+	}
2718 2874
 
2719
-	if ($message !== '' && $message[0] === ' ')
2720
-		$message = '&nbsp;' . substr($message, 1);
2875
+	if ($message !== '' && $message[0] === ' ') {
2876
+			$message = '&nbsp;' . substr($message, 1);
2877
+	}
2721 2878
 
2722 2879
 	// Cleanup whitespace.
2723 2880
 	$message = strtr($message, array('  ' => ' &nbsp;', "\r" => '', "\n" => '<br>', '<br> ' => '<br>&nbsp;', '&#13;' => "\n"));
@@ -2726,15 +2883,16 @@  discard block
 block discarded – undo
2726 2883
 	call_integration_hook('integrate_post_parsebbc', array(&$message, &$smileys, &$cache_id, &$parse_tags));
2727 2884
 
2728 2885
 	// Cache the output if it took some time...
2729
-	if (isset($cache_key, $cache_t) && array_sum(explode(' ', microtime())) - array_sum(explode(' ', $cache_t)) > 0.05)
2730
-		cache_put_data($cache_key, $message, 240);
2886
+	if (isset($cache_key, $cache_t) && array_sum(explode(' ', microtime())) - array_sum(explode(' ', $cache_t)) > 0.05) {
2887
+			cache_put_data($cache_key, $message, 240);
2888
+	}
2731 2889
 
2732 2890
 	// If this was a force parse revert if needed.
2733 2891
 	if (!empty($parse_tags))
2734 2892
 	{
2735
-		if (empty($temp_bbc))
2736
-			$bbc_codes = array();
2737
-		else
2893
+		if (empty($temp_bbc)) {
2894
+					$bbc_codes = array();
2895
+		} else
2738 2896
 		{
2739 2897
 			$bbc_codes = $temp_bbc;
2740 2898
 			unset($temp_bbc);
@@ -2761,8 +2919,9 @@  discard block
 block discarded – undo
2761 2919
 	static $smileyPregSearch = null, $smileyPregReplacements = array();
2762 2920
 
2763 2921
 	// No smiley set at all?!
2764
-	if ($user_info['smiley_set'] == 'none' || trim($message) == '')
2765
-		return;
2922
+	if ($user_info['smiley_set'] == 'none' || trim($message) == '') {
2923
+			return;
2924
+	}
2766 2925
 
2767 2926
 	// If smileyPregSearch hasn't been set, do it now.
2768 2927
 	if (empty($smileyPregSearch))
@@ -2773,8 +2932,7 @@  discard block
 block discarded – undo
2773 2932
 			$smileysfrom = array('>:D', ':D', '::)', '>:(', ':))', ':)', ';)', ';D', ':(', ':o', '8)', ':P', '???', ':-[', ':-X', ':-*', ':\'(', ':-\\', '^-^', 'O0', 'C:-)', '0:)');
2774 2933
 			$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');
2775 2934
 			$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'], '', '', '', '');
2776
-		}
2777
-		else
2935
+		} else
2778 2936
 		{
2779 2937
 			// Load the smileys in reverse order by length so they don't get parsed wrong.
2780 2938
 			if (($temp = cache_get_data('parsing_smileys', 480)) == null)
@@ -2798,9 +2956,9 @@  discard block
 block discarded – undo
2798 2956
 				$smcFunc['db_free_result']($result);
2799 2957
 
2800 2958
 				cache_put_data('parsing_smileys', array($smileysfrom, $smileysto, $smileysdescs), 480);
2959
+			} else {
2960
+							list ($smileysfrom, $smileysto, $smileysdescs) = $temp;
2801 2961
 			}
2802
-			else
2803
-				list ($smileysfrom, $smileysto, $smileysdescs) = $temp;
2804 2962
 		}
2805 2963
 
2806 2964
 		// The non-breaking-space is a complex thing...
@@ -2877,35 +3035,41 @@  discard block
 block discarded – undo
2877 3035
 	global $scripturl, $context, $modSettings, $db_show_debug, $db_cache;
2878 3036
 
2879 3037
 	// In case we have mail to send, better do that - as obExit doesn't always quite make it...
2880
-	if (!empty($context['flush_mail']))
2881
-		// @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\
3038
+	if (!empty($context['flush_mail'])) {
3039
+			// @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\
2882 3040
 		AddMailQueue(true);
3041
+	}
2883 3042
 
2884 3043
 	$add = preg_match('~^(ftp|http)[s]?://~', $setLocation) == 0 && substr($setLocation, 0, 6) != 'about:';
2885 3044
 
2886
-	if ($add)
2887
-		$setLocation = $scripturl . ($setLocation != '' ? '?' . $setLocation : '');
3045
+	if ($add) {
3046
+			$setLocation = $scripturl . ($setLocation != '' ? '?' . $setLocation : '');
3047
+	}
2888 3048
 
2889 3049
 	// Put the session ID in.
2890
-	if (defined('SID') && SID != '')
2891
-		$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '(?!\?' . preg_quote(SID, '/') . ')\\??/', $scripturl . '?' . SID . ';', $setLocation);
3050
+	if (defined('SID') && SID != '') {
3051
+			$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '(?!\?' . preg_quote(SID, '/') . ')\\??/', $scripturl . '?' . SID . ';', $setLocation);
3052
+	}
2892 3053
 	// Keep that debug in their for template debugging!
2893
-	elseif (isset($_GET['debug']))
2894
-		$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '\\??/', $scripturl . '?debug;', $setLocation);
3054
+	elseif (isset($_GET['debug'])) {
3055
+			$setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '\\??/', $scripturl . '?debug;', $setLocation);
3056
+	}
2895 3057
 
2896 3058
 	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'])))
2897 3059
 	{
2898
-		if (defined('SID') && SID != '')
2899
-			$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?(?:' . SID . '(?:;|&|&amp;))((?:board|topic)=[^#]+?)(#[^"]*?)?$~',
3060
+		if (defined('SID') && SID != '') {
3061
+					$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?(?:' . SID . '(?:;|&|&amp;))((?:board|topic)=[^#]+?)(#[^"]*?)?$~',
2900 3062
 				function ($m) use ($scripturl)
2901 3063
 				{
2902 3064
 					return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html?' . SID. (isset($m[2]) ? "$m[2]" : "");
3065
+		}
2903 3066
 				}, $setLocation);
2904
-		else
2905
-			$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?$~',
3067
+		else {
3068
+					$setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?$~',
2906 3069
 				function ($m) use ($scripturl)
2907 3070
 				{
2908 3071
 					return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html' . (isset($m[2]) ? "$m[2]" : "");
3072
+		}
2909 3073
 				}, $setLocation);
2910 3074
 	}
2911 3075
 
@@ -2916,8 +3080,9 @@  discard block
 block discarded – undo
2916 3080
 	header('Location: ' . str_replace(' ', '%20', $setLocation), true, $permanent ? 301 : 302);
2917 3081
 
2918 3082
 	// Debugging.
2919
-	if (isset($db_show_debug) && $db_show_debug === true)
2920
-		$_SESSION['debug_redirect'] = $db_cache;
3083
+	if (isset($db_show_debug) && $db_show_debug === true) {
3084
+			$_SESSION['debug_redirect'] = $db_cache;
3085
+	}
2921 3086
 
2922 3087
 	obExit(false);
2923 3088
 }
@@ -2936,51 +3101,60 @@  discard block
 block discarded – undo
2936 3101
 
2937 3102
 	// Attempt to prevent a recursive loop.
2938 3103
 	++$level;
2939
-	if ($level > 1 && !$from_fatal_error && !$has_fatal_error)
2940
-		exit;
2941
-	if ($from_fatal_error)
2942
-		$has_fatal_error = true;
3104
+	if ($level > 1 && !$from_fatal_error && !$has_fatal_error) {
3105
+			exit;
3106
+	}
3107
+	if ($from_fatal_error) {
3108
+			$has_fatal_error = true;
3109
+	}
2943 3110
 
2944 3111
 	// Clear out the stat cache.
2945 3112
 	trackStats();
2946 3113
 
2947 3114
 	// If we have mail to send, send it.
2948
-	if (!empty($context['flush_mail']))
2949
-		// @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\
3115
+	if (!empty($context['flush_mail'])) {
3116
+			// @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\
2950 3117
 		AddMailQueue(true);
3118
+	}
2951 3119
 
2952 3120
 	$do_header = $header === null ? !$header_done : $header;
2953
-	if ($do_footer === null)
2954
-		$do_footer = $do_header;
3121
+	if ($do_footer === null) {
3122
+			$do_footer = $do_header;
3123
+	}
2955 3124
 
2956 3125
 	// Has the template/header been done yet?
2957 3126
 	if ($do_header)
2958 3127
 	{
2959 3128
 		// Was the page title set last minute? Also update the HTML safe one.
2960
-		if (!empty($context['page_title']) && empty($context['page_title_html_safe']))
2961
-			$context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : '');
3129
+		if (!empty($context['page_title']) && empty($context['page_title_html_safe'])) {
3130
+					$context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : '');
3131
+		}
2962 3132
 
2963 3133
 		// Start up the session URL fixer.
2964 3134
 		ob_start('ob_sessrewrite');
2965 3135
 
2966
-		if (!empty($settings['output_buffers']) && is_string($settings['output_buffers']))
2967
-			$buffers = explode(',', $settings['output_buffers']);
2968
-		elseif (!empty($settings['output_buffers']))
2969
-			$buffers = $settings['output_buffers'];
2970
-		else
2971
-			$buffers = array();
3136
+		if (!empty($settings['output_buffers']) && is_string($settings['output_buffers'])) {
3137
+					$buffers = explode(',', $settings['output_buffers']);
3138
+		} elseif (!empty($settings['output_buffers'])) {
3139
+					$buffers = $settings['output_buffers'];
3140
+		} else {
3141
+					$buffers = array();
3142
+		}
2972 3143
 
2973
-		if (isset($modSettings['integrate_buffer']))
2974
-			$buffers = array_merge(explode(',', $modSettings['integrate_buffer']), $buffers);
3144
+		if (isset($modSettings['integrate_buffer'])) {
3145
+					$buffers = array_merge(explode(',', $modSettings['integrate_buffer']), $buffers);
3146
+		}
2975 3147
 
2976
-		if (!empty($buffers))
2977
-			foreach ($buffers as $function)
3148
+		if (!empty($buffers)) {
3149
+					foreach ($buffers as $function)
2978 3150
 			{
2979 3151
 				$call = call_helper($function, true);
3152
+		}
2980 3153
 
2981 3154
 				// Is it valid?
2982
-				if (!empty($call))
2983
-					ob_start($call);
3155
+				if (!empty($call)) {
3156
+									ob_start($call);
3157
+				}
2984 3158
 			}
2985 3159
 
2986 3160
 		// Display the screen in the logical order.
@@ -2992,8 +3166,9 @@  discard block
 block discarded – undo
2992 3166
 		loadSubTemplate(isset($context['sub_template']) ? $context['sub_template'] : 'main');
2993 3167
 
2994 3168
 		// Anything special to put out?
2995
-		if (!empty($context['insert_after_template']) && !isset($_REQUEST['xml']))
2996
-			echo $context['insert_after_template'];
3169
+		if (!empty($context['insert_after_template']) && !isset($_REQUEST['xml'])) {
3170
+					echo $context['insert_after_template'];
3171
+		}
2997 3172
 
2998 3173
 		// Just so we don't get caught in an endless loop of errors from the footer...
2999 3174
 		if (!$footer_done)
@@ -3002,14 +3177,16 @@  discard block
 block discarded – undo
3002 3177
 			template_footer();
3003 3178
 
3004 3179
 			// (since this is just debugging... it's okay that it's after </html>.)
3005
-			if (!isset($_REQUEST['xml']))
3006
-				displayDebug();
3180
+			if (!isset($_REQUEST['xml'])) {
3181
+							displayDebug();
3182
+			}
3007 3183
 		}
3008 3184
 	}
3009 3185
 
3010 3186
 	// Remember this URL in case someone doesn't like sending HTTP_REFERER.
3011
-	if (strpos($_SERVER['REQUEST_URL'], 'action=dlattach') === false && strpos($_SERVER['REQUEST_URL'], 'action=viewsmfile') === false)
3012
-		$_SESSION['old_url'] = $_SERVER['REQUEST_URL'];
3187
+	if (strpos($_SERVER['REQUEST_URL'], 'action=dlattach') === false && strpos($_SERVER['REQUEST_URL'], 'action=viewsmfile') === false) {
3188
+			$_SESSION['old_url'] = $_SERVER['REQUEST_URL'];
3189
+	}
3013 3190
 
3014 3191
 	// For session check verification.... don't switch browsers...
3015 3192
 	$_SESSION['USER_AGENT'] = empty($_SERVER['HTTP_USER_AGENT']) ? '' : $_SERVER['HTTP_USER_AGENT'];
@@ -3018,9 +3195,10 @@  discard block
 block discarded – undo
3018 3195
 	call_integration_hook('integrate_exit', array($do_footer));
3019 3196
 
3020 3197
 	// Don't exit if we're coming from index.php; that will pass through normally.
3021
-	if (!$from_index)
3022
-		exit;
3023
-}
3198
+	if (!$from_index) {
3199
+			exit;
3200
+	}
3201
+	}
3024 3202
 
3025 3203
 /**
3026 3204
  * Get the size of a specified image with better error handling.
@@ -3039,8 +3217,9 @@  discard block
 block discarded – undo
3039 3217
 	$url = str_replace(' ', '%20', $url);
3040 3218
 
3041 3219
 	// Can we pull this from the cache... please please?
3042
-	if (($temp = cache_get_data('url_image_size-' . md5($url), 240)) !== null)
3043
-		return $temp;
3220
+	if (($temp = cache_get_data('url_image_size-' . md5($url), 240)) !== null) {
3221
+			return $temp;
3222
+	}
3044 3223
 	$t = microtime();
3045 3224
 
3046 3225
 	// Get the host to pester...
@@ -3050,12 +3229,10 @@  discard block
 block discarded – undo
3050 3229
 	if ($url == '' || $url == 'http://' || $url == 'https://')
3051 3230
 	{
3052 3231
 		return false;
3053
-	}
3054
-	elseif (!isset($match[1]))
3232
+	} elseif (!isset($match[1]))
3055 3233
 	{
3056 3234
 		$size = @getimagesize($url);
3057
-	}
3058
-	else
3235
+	} else
3059 3236
 	{
3060 3237
 		// Try to connect to the server... give it half a second.
3061 3238
 		$temp = 0;
@@ -3094,12 +3271,14 @@  discard block
 block discarded – undo
3094 3271
 	}
3095 3272
 
3096 3273
 	// If we didn't get it, we failed.
3097
-	if (!isset($size))
3098
-		$size = false;
3274
+	if (!isset($size)) {
3275
+			$size = false;
3276
+	}
3099 3277
 
3100 3278
 	// If this took a long time, we may never have to do it again, but then again we might...
3101
-	if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.8)
3102
-		cache_put_data('url_image_size-' . md5($url), $size, 240);
3279
+	if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.8) {
3280
+			cache_put_data('url_image_size-' . md5($url), $size, 240);
3281
+	}
3103 3282
 
3104 3283
 	// Didn't work.
3105 3284
 	return $size;
@@ -3117,8 +3296,9 @@  discard block
 block discarded – undo
3117 3296
 
3118 3297
 	// Under SSI this function can be called more then once.  That can cause some problems.
3119 3298
 	//   So only run the function once unless we are forced to run it again.
3120
-	if ($loaded && !$forceload)
3121
-		return;
3299
+	if ($loaded && !$forceload) {
3300
+			return;
3301
+	}
3122 3302
 
3123 3303
 	$loaded = true;
3124 3304
 
@@ -3130,14 +3310,16 @@  discard block
 block discarded – undo
3130 3310
 	$context['news_lines'] = array_filter(explode("\n", str_replace("\r", '', trim(addslashes($modSettings['news'])))));
3131 3311
 	for ($i = 0, $n = count($context['news_lines']); $i < $n; $i++)
3132 3312
 	{
3133
-		if (trim($context['news_lines'][$i]) == '')
3134
-			continue;
3313
+		if (trim($context['news_lines'][$i]) == '') {
3314
+					continue;
3315
+		}
3135 3316
 
3136 3317
 		// Clean it up for presentation ;).
3137 3318
 		$context['news_lines'][$i] = parse_bbc(stripslashes(trim($context['news_lines'][$i])), true, 'news' . $i);
3138 3319
 	}
3139
-	if (!empty($context['news_lines']))
3140
-		$context['random_news_line'] = $context['news_lines'][mt_rand(0, count($context['news_lines']) - 1)];
3320
+	if (!empty($context['news_lines'])) {
3321
+			$context['random_news_line'] = $context['news_lines'][mt_rand(0, count($context['news_lines']) - 1)];
3322
+	}
3141 3323
 
3142 3324
 	if (!$user_info['is_guest'])
3143 3325
 	{
@@ -3146,40 +3328,48 @@  discard block
 block discarded – undo
3146 3328
 		$context['user']['alerts'] = &$user_info['alerts'];
3147 3329
 
3148 3330
 		// Personal message popup...
3149
-		if ($user_info['unread_messages'] > (isset($_SESSION['unread_messages']) ? $_SESSION['unread_messages'] : 0))
3150
-			$context['user']['popup_messages'] = true;
3151
-		else
3152
-			$context['user']['popup_messages'] = false;
3331
+		if ($user_info['unread_messages'] > (isset($_SESSION['unread_messages']) ? $_SESSION['unread_messages'] : 0)) {
3332
+					$context['user']['popup_messages'] = true;
3333
+		} else {
3334
+					$context['user']['popup_messages'] = false;
3335
+		}
3153 3336
 		$_SESSION['unread_messages'] = $user_info['unread_messages'];
3154 3337
 
3155
-		if (allowedTo('moderate_forum'))
3156
-			$context['unapproved_members'] = (!empty($modSettings['registration_method']) && ($modSettings['registration_method'] == 2 || (!empty($modSettings['coppaType']) && $modSettings['coppaType'] == 2))) || !empty($modSettings['approveAccountDeletion']) ? $modSettings['unapprovedMembers'] : 0;
3338
+		if (allowedTo('moderate_forum')) {
3339
+					$context['unapproved_members'] = (!empty($modSettings['registration_method']) && ($modSettings['registration_method'] == 2 || (!empty($modSettings['coppaType']) && $modSettings['coppaType'] == 2))) || !empty($modSettings['approveAccountDeletion']) ? $modSettings['unapprovedMembers'] : 0;
3340
+		}
3157 3341
 
3158 3342
 		$context['user']['avatar'] = array();
3159 3343
 
3160 3344
 		// Check for gravatar first since we might be forcing them...
3161 3345
 		if (($modSettings['gravatarEnabled'] && substr($user_info['avatar']['url'], 0, 11) == 'gravatar://') || !empty($modSettings['gravatarOverride']))
3162 3346
 		{
3163
-			if (!empty($modSettings['gravatarAllowExtraEmail']) && stristr($user_info['avatar']['url'], 'gravatar://') && strlen($user_info['avatar']['url']) > 11)
3164
-				$context['user']['avatar']['href'] = get_gravatar_url($smcFunc['substr']($user_info['avatar']['url'], 11));
3165
-			else
3166
-				$context['user']['avatar']['href'] = get_gravatar_url($user_info['email']);
3347
+			if (!empty($modSettings['gravatarAllowExtraEmail']) && stristr($user_info['avatar']['url'], 'gravatar://') && strlen($user_info['avatar']['url']) > 11) {
3348
+							$context['user']['avatar']['href'] = get_gravatar_url($smcFunc['substr']($user_info['avatar']['url'], 11));
3349
+			} else {
3350
+							$context['user']['avatar']['href'] = get_gravatar_url($user_info['email']);
3351
+			}
3167 3352
 		}
3168 3353
 		// Uploaded?
3169
-		elseif ($user_info['avatar']['url'] == '' && !empty($user_info['avatar']['id_attach']))
3170
-			$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';
3354
+		elseif ($user_info['avatar']['url'] == '' && !empty($user_info['avatar']['id_attach'])) {
3355
+					$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';
3356
+		}
3171 3357
 		// Full URL?
3172
-		elseif (strpos($user_info['avatar']['url'], 'http://') === 0 || strpos($user_info['avatar']['url'], 'https://') === 0)
3173
-			$context['user']['avatar']['href'] = $user_info['avatar']['url'];
3358
+		elseif (strpos($user_info['avatar']['url'], 'http://') === 0 || strpos($user_info['avatar']['url'], 'https://') === 0) {
3359
+					$context['user']['avatar']['href'] = $user_info['avatar']['url'];
3360
+		}
3174 3361
 		// Otherwise we assume it's server stored.
3175
-		elseif ($user_info['avatar']['url'] != '')
3176
-			$context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/' . $smcFunc['htmlspecialchars']($user_info['avatar']['url']);
3362
+		elseif ($user_info['avatar']['url'] != '') {
3363
+					$context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/' . $smcFunc['htmlspecialchars']($user_info['avatar']['url']);
3364
+		}
3177 3365
 		// No avatar at all? Fine, we have a big fat default avatar ;)
3178
-		else
3179
-			$context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/default.png';
3366
+		else {
3367
+					$context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/default.png';
3368
+		}
3180 3369
 
3181
-		if (!empty($context['user']['avatar']))
3182
-			$context['user']['avatar']['image'] = '<img src="' . $context['user']['avatar']['href'] . '" alt="" class="avatar">';
3370
+		if (!empty($context['user']['avatar'])) {
3371
+					$context['user']['avatar']['image'] = '<img src="' . $context['user']['avatar']['href'] . '" alt="" class="avatar">';
3372
+		}
3183 3373
 
3184 3374
 		// Figure out how long they've been logged in.
3185 3375
 		$context['user']['total_time_logged_in'] = array(
@@ -3187,8 +3377,7 @@  discard block
 block discarded – undo
3187 3377
 			'hours' => floor(($user_info['total_time_logged_in'] % 86400) / 3600),
3188 3378
 			'minutes' => floor(($user_info['total_time_logged_in'] % 3600) / 60)
3189 3379
 		);
3190
-	}
3191
-	else
3380
+	} else
3192 3381
 	{
3193 3382
 		$context['user']['messages'] = 0;
3194 3383
 		$context['user']['unread_messages'] = 0;
@@ -3196,12 +3385,14 @@  discard block
 block discarded – undo
3196 3385
 		$context['user']['total_time_logged_in'] = array('days' => 0, 'hours' => 0, 'minutes' => 0);
3197 3386
 		$context['user']['popup_messages'] = false;
3198 3387
 
3199
-		if (!empty($modSettings['registration_method']) && $modSettings['registration_method'] == 1)
3200
-			$txt['welcome_guest'] .= $txt['welcome_guest_activate'];
3388
+		if (!empty($modSettings['registration_method']) && $modSettings['registration_method'] == 1) {
3389
+					$txt['welcome_guest'] .= $txt['welcome_guest_activate'];
3390
+		}
3201 3391
 
3202 3392
 		// If we've upgraded recently, go easy on the passwords.
3203
-		if (!empty($modSettings['disableHashTime']) && ($modSettings['disableHashTime'] == 1 || time() < $modSettings['disableHashTime']))
3204
-			$context['disable_login_hashing'] = true;
3393
+		if (!empty($modSettings['disableHashTime']) && ($modSettings['disableHashTime'] == 1 || time() < $modSettings['disableHashTime'])) {
3394
+					$context['disable_login_hashing'] = true;
3395
+		}
3205 3396
 	}
3206 3397
 
3207 3398
 	// Setup the main menu items.
@@ -3214,8 +3405,8 @@  discard block
 block discarded – undo
3214 3405
 	$context['show_pm_popup'] = $context['user']['popup_messages'] && !empty($options['popup_messages']) && (!isset($_REQUEST['action']) || $_REQUEST['action'] != 'pm');
3215 3406
 
3216 3407
 	// 2.1+: Add the PM popup here instead. Theme authors can still override it simply by editing/removing the 'fPmPopup' in the array.
3217
-	if ($context['show_pm_popup'])
3218
-		addInlineJavaScript('
3408
+	if ($context['show_pm_popup']) {
3409
+			addInlineJavaScript('
3219 3410
 		jQuery(document).ready(function($) {
3220 3411
 			new smc_Popup({
3221 3412
 				heading: ' . JavaScriptEscape($txt['show_personal_messages_heading']) . ',
@@ -3223,15 +3414,17 @@  discard block
 block discarded – undo
3223 3414
 				icon_class: \'generic_icons mail_new\'
3224 3415
 			});
3225 3416
 		});');
3417
+	}
3226 3418
 
3227 3419
 	// Add a generic "Are you sure?" confirmation message.
3228 3420
 	addInlineJavaScript('
3229 3421
 	var smf_you_sure =' . JavaScriptEscape($txt['quickmod_confirm']) .';');
3230 3422
 
3231 3423
 	// Now add the capping code for avatars.
3232
-	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')
3233
-		addInlineCss('
3424
+	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') {
3425
+			addInlineCss('
3234 3426
 img.avatar { max-width: ' . $modSettings['avatar_max_width_external'] . 'px; max-height: ' . $modSettings['avatar_max_height_external'] . 'px; }');
3427
+	}
3235 3428
 
3236 3429
 	// This looks weird, but it's because BoardIndex.php references the variable.
3237 3430
 	$context['common_stats']['latest_member'] = array(
@@ -3248,11 +3441,13 @@  discard block
 block discarded – undo
3248 3441
 	);
3249 3442
 	$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']);
3250 3443
 
3251
-	if (empty($settings['theme_version']))
3252
-		addJavaScriptVar('smf_scripturl', $scripturl);
3444
+	if (empty($settings['theme_version'])) {
3445
+			addJavaScriptVar('smf_scripturl', $scripturl);
3446
+	}
3253 3447
 
3254
-	if (!isset($context['page_title']))
3255
-		$context['page_title'] = '';
3448
+	if (!isset($context['page_title'])) {
3449
+			$context['page_title'] = '';
3450
+	}
3256 3451
 
3257 3452
 	// Set some specific vars.
3258 3453
 	$context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : '');
@@ -3262,21 +3457,23 @@  discard block
 block discarded – undo
3262 3457
 	$context['meta_tags'][] = array('property' => 'og:site_name', 'content' => $context['forum_name']);
3263 3458
 	$context['meta_tags'][] = array('property' => 'og:title', 'content' => $context['page_title_html_safe']);
3264 3459
 
3265
-	if (!empty($context['meta_keywords']))
3266
-		$context['meta_tags'][] = array('name' => 'keywords', 'content' => $context['meta_keywords']);
3460
+	if (!empty($context['meta_keywords'])) {
3461
+			$context['meta_tags'][] = array('name' => 'keywords', 'content' => $context['meta_keywords']);
3462
+	}
3267 3463
 
3268
-	if (!empty($context['canonical_url']))
3269
-		$context['meta_tags'][] = array('property' => 'og:url', 'content' => $context['canonical_url']);
3464
+	if (!empty($context['canonical_url'])) {
3465
+			$context['meta_tags'][] = array('property' => 'og:url', 'content' => $context['canonical_url']);
3466
+	}
3270 3467
 
3271
-	if (!empty($settings['og_image']))
3272
-		$context['meta_tags'][] = array('property' => 'og:image', 'content' => $settings['og_image']);
3468
+	if (!empty($settings['og_image'])) {
3469
+			$context['meta_tags'][] = array('property' => 'og:image', 'content' => $settings['og_image']);
3470
+	}
3273 3471
 
3274 3472
 	if (!empty($context['meta_description']))
3275 3473
 	{
3276 3474
 		$context['meta_tags'][] = array('property' => 'og:description', 'content' => $context['meta_description']);
3277 3475
 		$context['meta_tags'][] = array('name' => 'description', 'content' => $context['meta_description']);
3278
-	}
3279
-	else
3476
+	} else
3280 3477
 	{
3281 3478
 		$context['meta_tags'][] = array('property' => 'og:description', 'content' => $context['page_title_html_safe']);
3282 3479
 		$context['meta_tags'][] = array('name' => 'description', 'content' => $context['page_title_html_safe']);
@@ -3301,8 +3498,9 @@  discard block
 block discarded – undo
3301 3498
 	$memory_needed = memoryReturnBytes($needed);
3302 3499
 
3303 3500
 	// should we account for how much is currently being used?
3304
-	if ($in_use)
3305
-		$memory_needed += function_exists('memory_get_usage') ? memory_get_usage() : (2 * 1048576);
3501
+	if ($in_use) {
3502
+			$memory_needed += function_exists('memory_get_usage') ? memory_get_usage() : (2 * 1048576);
3503
+	}
3306 3504
 
3307 3505
 	// if more is needed, request it
3308 3506
 	if ($memory_current < $memory_needed)
@@ -3325,8 +3523,9 @@  discard block
 block discarded – undo
3325 3523
  */
3326 3524
 function memoryReturnBytes($val)
3327 3525
 {
3328
-	if (is_integer($val))
3329
-		return $val;
3526
+	if (is_integer($val)) {
3527
+			return $val;
3528
+	}
3330 3529
 
3331 3530
 	// Separate the number from the designator
3332 3531
 	$val = trim($val);
@@ -3362,10 +3561,11 @@  discard block
 block discarded – undo
3362 3561
 		header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
3363 3562
 
3364 3563
 		// Are we debugging the template/html content?
3365
-		if (!isset($_REQUEST['xml']) && isset($_GET['debug']) && !isBrowser('ie'))
3366
-			header('Content-Type: application/xhtml+xml');
3367
-		elseif (!isset($_REQUEST['xml']))
3368
-			header('Content-Type: text/html; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
3564
+		if (!isset($_REQUEST['xml']) && isset($_GET['debug']) && !isBrowser('ie')) {
3565
+					header('Content-Type: application/xhtml+xml');
3566
+		} elseif (!isset($_REQUEST['xml'])) {
3567
+					header('Content-Type: text/html; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
3568
+		}
3369 3569
 	}
3370 3570
 
3371 3571
 	header('Content-Type: text/' . (isset($_REQUEST['xml']) ? 'xml' : 'html') . '; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
@@ -3374,8 +3574,9 @@  discard block
 block discarded – undo
3374 3574
 	if ($context['in_maintenance'] && $context['user']['is_admin'])
3375 3575
 	{
3376 3576
 		$position = array_search('body', $context['template_layers']);
3377
-		if ($position === false)
3378
-			$position = array_search('main', $context['template_layers']);
3577
+		if ($position === false) {
3578
+					$position = array_search('main', $context['template_layers']);
3579
+		}
3379 3580
 
3380 3581
 		if ($position !== false)
3381 3582
 		{
@@ -3403,23 +3604,25 @@  discard block
 block discarded – undo
3403 3604
 
3404 3605
 			foreach ($securityFiles as $i => $securityFile)
3405 3606
 			{
3406
-				if (!file_exists($boarddir . '/' . $securityFile))
3407
-					unset($securityFiles[$i]);
3607
+				if (!file_exists($boarddir . '/' . $securityFile)) {
3608
+									unset($securityFiles[$i]);
3609
+				}
3408 3610
 			}
3409 3611
 
3410 3612
 			// We are already checking so many files...just few more doesn't make any difference! :P
3411
-			if (!empty($modSettings['currentAttachmentUploadDir']))
3412
-				$path = $modSettings['attachmentUploadDir'][$modSettings['currentAttachmentUploadDir']];
3413
-
3414
-			else
3415
-				$path = $modSettings['attachmentUploadDir'];
3613
+			if (!empty($modSettings['currentAttachmentUploadDir'])) {
3614
+							$path = $modSettings['attachmentUploadDir'][$modSettings['currentAttachmentUploadDir']];
3615
+			} else {
3616
+							$path = $modSettings['attachmentUploadDir'];
3617
+			}
3416 3618
 
3417 3619
 			secureDirectory($path, true);
3418 3620
 			secureDirectory($cachedir);
3419 3621
 
3420 3622
 			// If agreement is enabled, at least the english version shall exists
3421
-			if ($modSettings['requireAgreement'])
3422
-				$agreement = !file_exists($boarddir . '/agreement.txt');
3623
+			if ($modSettings['requireAgreement']) {
3624
+							$agreement = !file_exists($boarddir . '/agreement.txt');
3625
+			}
3423 3626
 
3424 3627
 			if (!empty($securityFiles) || (!empty($modSettings['cache_enable']) && !is_writable($cachedir)) || !empty($agreement))
3425 3628
 			{
@@ -3434,18 +3637,21 @@  discard block
 block discarded – undo
3434 3637
 					echo '
3435 3638
 				', $txt['not_removed'], '<strong>', $securityFile, '</strong>!<br>';
3436 3639
 
3437
-					if ($securityFile == 'Settings.php~' || $securityFile == 'Settings_bak.php~')
3438
-						echo '
3640
+					if ($securityFile == 'Settings.php~' || $securityFile == 'Settings_bak.php~') {
3641
+											echo '
3439 3642
 				', sprintf($txt['not_removed_extra'], $securityFile, substr($securityFile, 0, -1)), '<br>';
3643
+					}
3440 3644
 				}
3441 3645
 
3442
-				if (!empty($modSettings['cache_enable']) && !is_writable($cachedir))
3443
-					echo '
3646
+				if (!empty($modSettings['cache_enable']) && !is_writable($cachedir)) {
3647
+									echo '
3444 3648
 				<strong>', $txt['cache_writable'], '</strong><br>';
3649
+				}
3445 3650
 
3446
-				if (!empty($agreement))
3447
-					echo '
3651
+				if (!empty($agreement)) {
3652
+									echo '
3448 3653
 				<strong>', $txt['agreement_missing'], '</strong><br>';
3654
+				}
3449 3655
 
3450 3656
 				echo '
3451 3657
 			</p>
@@ -3460,16 +3666,18 @@  discard block
 block discarded – undo
3460 3666
 				<div class="windowbg alert" style="margin: 2ex; padding: 2ex; border: 2px dashed red;">
3461 3667
 					', sprintf($txt['you_are_post_banned'], $user_info['is_guest'] ? $txt['guest_title'] : $user_info['name']);
3462 3668
 
3463
-			if (!empty($_SESSION['ban']['cannot_post']['reason']))
3464
-				echo '
3669
+			if (!empty($_SESSION['ban']['cannot_post']['reason'])) {
3670
+							echo '
3465 3671
 					<div style="padding-left: 4ex; padding-top: 1ex;">', $_SESSION['ban']['cannot_post']['reason'], '</div>';
3672
+			}
3466 3673
 
3467
-			if (!empty($_SESSION['ban']['expire_time']))
3468
-				echo '
3674
+			if (!empty($_SESSION['ban']['expire_time'])) {
3675
+							echo '
3469 3676
 					<div>', sprintf($txt['your_ban_expires'], timeformat($_SESSION['ban']['expire_time'], false)), '</div>';
3470
-			else
3471
-				echo '
3677
+			} else {
3678
+							echo '
3472 3679
 					<div>', $txt['your_ban_expires_never'], '</div>';
3680
+			}
3473 3681
 
3474 3682
 			echo '
3475 3683
 				</div>';
@@ -3485,8 +3693,9 @@  discard block
 block discarded – undo
3485 3693
 	global $forum_copyright, $software_year, $forum_version;
3486 3694
 
3487 3695
 	// Don't display copyright for things like SSI.
3488
-	if (!isset($forum_version) || !isset($software_year))
3489
-		return;
3696
+	if (!isset($forum_version) || !isset($software_year)) {
3697
+			return;
3698
+	}
3490 3699
 
3491 3700
 	// Put in the version...
3492 3701
 	printf($forum_copyright, $forum_version, $software_year);
@@ -3504,9 +3713,10 @@  discard block
 block discarded – undo
3504 3713
 	$context['load_time'] = round(microtime(true) - $time_start, 3);
3505 3714
 	$context['load_queries'] = $db_count;
3506 3715
 
3507
-	foreach (array_reverse($context['template_layers']) as $layer)
3508
-		loadSubTemplate($layer . '_below', true);
3509
-}
3716
+	foreach (array_reverse($context['template_layers']) as $layer) {
3717
+			loadSubTemplate($layer . '_below', true);
3718
+	}
3719
+	}
3510 3720
 
3511 3721
 /**
3512 3722
  * Output the Javascript files
@@ -3537,8 +3747,7 @@  discard block
 block discarded – undo
3537 3747
 			{
3538 3748
 				echo '
3539 3749
 		var ', $key, ';';
3540
-			}
3541
-			else
3750
+			} else
3542 3751
 			{
3543 3752
 				echo '
3544 3753
 		var ', $key, ' = ', $value, ';';
@@ -3553,26 +3762,27 @@  discard block
 block discarded – undo
3553 3762
 	foreach ($context['javascript_files'] as $id => $js_file)
3554 3763
 	{
3555 3764
 		// Last minute call! allow theme authors to disable single files.
3556
-		if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files']))
3557
-			continue;
3765
+		if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files'])) {
3766
+					continue;
3767
+		}
3558 3768
 
3559 3769
 		// By default all files don't get minimized unless the file explicitly says so!
3560 3770
 		if (!empty($js_file['options']['minimize']) && !empty($modSettings['minimize_files']))
3561 3771
 		{
3562
-			if ($do_deferred && !empty($js_file['options']['defer']))
3563
-				$toMinifyDefer[] = $js_file;
3564
-
3565
-			elseif (!$do_deferred && empty($js_file['options']['defer']))
3566
-				$toMinify[] = $js_file;
3772
+			if ($do_deferred && !empty($js_file['options']['defer'])) {
3773
+							$toMinifyDefer[] = $js_file;
3774
+			} elseif (!$do_deferred && empty($js_file['options']['defer'])) {
3775
+							$toMinify[] = $js_file;
3776
+			}
3567 3777
 
3568 3778
 			// Grab a random seed.
3569
-			if (!isset($minSeed))
3570
-				$minSeed = $js_file['options']['seed'];
3571
-		}
3572
-
3573
-		elseif ((!$do_deferred && empty($js_file['options']['defer'])) || ($do_deferred && !empty($js_file['options']['defer'])))
3574
-			echo '
3779
+			if (!isset($minSeed)) {
3780
+							$minSeed = $js_file['options']['seed'];
3781
+			}
3782
+		} elseif ((!$do_deferred && empty($js_file['options']['defer'])) || ($do_deferred && !empty($js_file['options']['defer']))) {
3783
+					echo '
3575 3784
 	<script src="', $js_file['fileUrl'], '"', !empty($js_file['options']['async']) ? ' async="async"' : '', '></script>';
3785
+		}
3576 3786
 	}
3577 3787
 
3578 3788
 	if ((!$do_deferred && !empty($toMinify)) || ($do_deferred && !empty($toMinifyDefer)))
@@ -3580,14 +3790,14 @@  discard block
 block discarded – undo
3580 3790
 		$result = custMinify(($do_deferred ? $toMinifyDefer : $toMinify), 'js', $do_deferred);
3581 3791
 
3582 3792
 		// Minify process couldn't work, print each individual files.
3583
-		if (!empty($result) && is_array($result))
3584
-			foreach ($result as $minFailedFile)
3793
+		if (!empty($result) && is_array($result)) {
3794
+					foreach ($result as $minFailedFile)
3585 3795
 				echo '
3586 3796
 	<script src="', $minFailedFile['fileUrl'], '"', !empty($minFailedFile['options']['async']) ? ' async="async"' : '', '></script>';
3587
-
3588
-		else
3589
-			echo '
3797
+		} else {
3798
+					echo '
3590 3799
 	<script src="', $settings['theme_url'] ,'/scripts/minified', ($do_deferred ? '_deferred' : '') ,'.js', $minSeed ,'"></script>';
3800
+		}
3591 3801
 	}
3592 3802
 
3593 3803
 	// Inline JavaScript - Actually useful some times!
@@ -3598,8 +3808,9 @@  discard block
 block discarded – undo
3598 3808
 			echo '
3599 3809
 <script>';
3600 3810
 
3601
-			foreach ($context['javascript_inline']['defer'] as $js_code)
3602
-				echo $js_code;
3811
+			foreach ($context['javascript_inline']['defer'] as $js_code) {
3812
+							echo $js_code;
3813
+			}
3603 3814
 
3604 3815
 			echo '
3605 3816
 </script>';
@@ -3610,8 +3821,9 @@  discard block
 block discarded – undo
3610 3821
 			echo '
3611 3822
 	<script>';
3612 3823
 
3613
-			foreach ($context['javascript_inline']['standard'] as $js_code)
3614
-				echo $js_code;
3824
+			foreach ($context['javascript_inline']['standard'] as $js_code) {
3825
+							echo $js_code;
3826
+			}
3615 3827
 
3616 3828
 			echo '
3617 3829
 	</script>';
@@ -3636,8 +3848,9 @@  discard block
 block discarded – undo
3636 3848
 	foreach ($context['css_files'] as $id => $file)
3637 3849
 	{
3638 3850
 		// Last minute call! allow theme authors to disable single files.
3639
-		if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files']))
3640
-			continue;
3851
+		if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files'])) {
3852
+					continue;
3853
+		}
3641 3854
 
3642 3855
 		// By default all files don't get minimized unless the file explicitly says so!
3643 3856
 		if (!empty($file['options']['minimize']) && !empty($modSettings['minimize_files']))
@@ -3645,12 +3858,12 @@  discard block
 block discarded – undo
3645 3858
 			$toMinify[] = $file;
3646 3859
 
3647 3860
 			// Grab a random seed.
3648
-			if (!isset($minSeed))
3649
-				$minSeed = $file['options']['seed'];
3861
+			if (!isset($minSeed)) {
3862
+							$minSeed = $file['options']['seed'];
3863
+			}
3864
+		} else {
3865
+					$normal[] = $file['fileUrl'];
3650 3866
 		}
3651
-
3652
-		else
3653
-			$normal[] = $file['fileUrl'];
3654 3867
 	}
3655 3868
 
3656 3869
 	if (!empty($toMinify))
@@ -3658,28 +3871,30 @@  discard block
 block discarded – undo
3658 3871
 		$result = custMinify($toMinify, 'css');
3659 3872
 
3660 3873
 		// Minify process couldn't work, print each individual files.
3661
-		if (!empty($result) && is_array($result))
3662
-			foreach ($result as $minFailedFile)
3874
+		if (!empty($result) && is_array($result)) {
3875
+					foreach ($result as $minFailedFile)
3663 3876
 				echo '
3664 3877
 	<link rel="stylesheet" href="', $minFailedFile['fileUrl'], '">';
3665
-
3666
-		else
3667
-			echo '
3878
+		} else {
3879
+					echo '
3668 3880
 	<link rel="stylesheet" href="', $settings['theme_url'] ,'/css/minified.css', $minSeed ,'">';
3881
+		}
3669 3882
 	}
3670 3883
 
3671 3884
 	// Print the rest after the minified files.
3672
-	if (!empty($normal))
3673
-		foreach ($normal as $nf)
3885
+	if (!empty($normal)) {
3886
+			foreach ($normal as $nf)
3674 3887
 			echo '
3675 3888
 	<link rel="stylesheet" href="', $nf ,'">';
3889
+	}
3676 3890
 
3677 3891
 	if ($db_show_debug === true)
3678 3892
 	{
3679 3893
 		// Try to keep only what's useful.
3680 3894
 		$repl = array($boardurl . '/Themes/' => '', $boardurl . '/' => '');
3681
-		foreach ($context['css_files'] as $file)
3682
-			$context['debug']['sheets'][] = strtr($file['fileName'], $repl);
3895
+		foreach ($context['css_files'] as $file) {
3896
+					$context['debug']['sheets'][] = strtr($file['fileName'], $repl);
3897
+		}
3683 3898
 	}
3684 3899
 
3685 3900
 	if (!empty($context['css_header']))
@@ -3687,9 +3902,10 @@  discard block
 block discarded – undo
3687 3902
 		echo '
3688 3903
 	<style>';
3689 3904
 
3690
-		foreach ($context['css_header'] as $css)
3691
-			echo $css .'
3905
+		foreach ($context['css_header'] as $css) {
3906
+					echo $css .'
3692 3907
 	';
3908
+		}
3693 3909
 
3694 3910
 		echo'
3695 3911
 	</style>';
@@ -3713,15 +3929,17 @@  discard block
 block discarded – undo
3713 3929
 	$type = !empty($type) && in_array($type, $types) ? $type : false;
3714 3930
 	$data = !empty($data) ? $data : false;
3715 3931
 
3716
-	if (empty($type) || empty($data))
3717
-		return false;
3932
+	if (empty($type) || empty($data)) {
3933
+			return false;
3934
+	}
3718 3935
 
3719 3936
 	// Did we already did this?
3720 3937
 	$toCache = cache_get_data('minimized_'. $settings['theme_id'] .'_'. $type, 86400);
3721 3938
 
3722 3939
 	// Already done?
3723
-	if (!empty($toCache))
3724
-		return true;
3940
+	if (!empty($toCache)) {
3941
+			return true;
3942
+	}
3725 3943
 
3726 3944
 	// No namespaces, sorry!
3727 3945
 	$classType = 'MatthiasMullie\\Minify\\'. strtoupper($type);
@@ -3803,8 +4021,9 @@  discard block
 block discarded – undo
3803 4021
 	global $modSettings, $smcFunc;
3804 4022
 
3805 4023
 	// Just make up a nice hash...
3806
-	if ($new)
3807
-		return sha1(md5($filename . time()) . mt_rand());
4024
+	if ($new) {
4025
+			return sha1(md5($filename . time()) . mt_rand());
4026
+	}
3808 4027
 
3809 4028
 	// Just make sure that attachment id is only a int
3810 4029
 	$attachment_id = (int) $attachment_id;
@@ -3821,23 +4040,25 @@  discard block
 block discarded – undo
3821 4040
 				'id_attach' => $attachment_id,
3822 4041
 			));
3823 4042
 
3824
-		if ($smcFunc['db_num_rows']($request) === 0)
3825
-			return false;
4043
+		if ($smcFunc['db_num_rows']($request) === 0) {
4044
+					return false;
4045
+		}
3826 4046
 
3827 4047
 		list ($file_hash) = $smcFunc['db_fetch_row']($request);
3828 4048
 		$smcFunc['db_free_result']($request);
3829 4049
 	}
3830 4050
 
3831 4051
 	// Still no hash? mmm...
3832
-	if (empty($file_hash))
3833
-		$file_hash = sha1(md5($filename . time()) . mt_rand());
4052
+	if (empty($file_hash)) {
4053
+			$file_hash = sha1(md5($filename . time()) . mt_rand());
4054
+	}
3834 4055
 
3835 4056
 	// Are we using multiple directories?
3836
-	if (is_array($modSettings['attachmentUploadDir']))
3837
-		$path = $modSettings['attachmentUploadDir'][$dir];
3838
-
3839
-	else
3840
-		$path = $modSettings['attachmentUploadDir'];
4057
+	if (is_array($modSettings['attachmentUploadDir'])) {
4058
+			$path = $modSettings['attachmentUploadDir'][$dir];
4059
+	} else {
4060
+			$path = $modSettings['attachmentUploadDir'];
4061
+	}
3841 4062
 
3842 4063
 	return $path . '/' . $attachment_id . '_' . $file_hash .'.dat';
3843 4064
 }
@@ -3852,8 +4073,9 @@  discard block
 block discarded – undo
3852 4073
 function ip2range($fullip)
3853 4074
 {
3854 4075
 	// Pretend that 'unknown' is 255.255.255.255. (since that can't be an IP anyway.)
3855
-	if ($fullip == 'unknown')
3856
-		$fullip = '255.255.255.255';
4076
+	if ($fullip == 'unknown') {
4077
+			$fullip = '255.255.255.255';
4078
+	}
3857 4079
 
3858 4080
 	$ip_parts = explode('-', $fullip);
3859 4081
 	$ip_array = array();
@@ -3877,10 +4099,11 @@  discard block
 block discarded – undo
3877 4099
 		$ip_array['low'] = $ip_parts[0];
3878 4100
 		$ip_array['high'] = $ip_parts[1];
3879 4101
 		return $ip_array;
3880
-	}
3881
-	elseif (count($ip_parts) == 2) // if ip 22.22.*-22.22.*
4102
+	} elseif (count($ip_parts) == 2) {
4103
+		// if ip 22.22.*-22.22.*
3882 4104
 	{
3883 4105
 		$valid_low = isValidIP($ip_parts[0]);
4106
+	}
3884 4107
 		$valid_high = isValidIP($ip_parts[1]);
3885 4108
 		$count = 0;
3886 4109
 		$mode = (preg_match('/:/',$ip_parts[0]) > 0 ? ':' : '.');
@@ -3895,7 +4118,9 @@  discard block
 block discarded – undo
3895 4118
 				$ip_parts[0] .= $mode . $min;
3896 4119
 				$valid_low = isValidIP($ip_parts[0]);
3897 4120
 				$count++;
3898
-				if ($count > 9) break;
4121
+				if ($count > 9) {
4122
+					break;
4123
+				}
3899 4124
 			}
3900 4125
 		}
3901 4126
 
@@ -3909,7 +4134,9 @@  discard block
 block discarded – undo
3909 4134
 				$ip_parts[1] .= $mode . $max;
3910 4135
 				$valid_high = isValidIP($ip_parts[1]);
3911 4136
 				$count++;
3912
-				if ($count > 9) break;
4137
+				if ($count > 9) {
4138
+					break;
4139
+				}
3913 4140
 			}
3914 4141
 		}
3915 4142
 
@@ -3934,46 +4161,54 @@  discard block
 block discarded – undo
3934 4161
 {
3935 4162
 	global $modSettings;
3936 4163
 
3937
-	if (($host = cache_get_data('hostlookup-' . $ip, 600)) !== null)
3938
-		return $host;
4164
+	if (($host = cache_get_data('hostlookup-' . $ip, 600)) !== null) {
4165
+			return $host;
4166
+	}
3939 4167
 	$t = microtime();
3940 4168
 
3941 4169
 	// Try the Linux host command, perhaps?
3942 4170
 	if (!isset($host) && (strpos(strtolower(PHP_OS), 'win') === false || strpos(strtolower(PHP_OS), 'darwin') !== false) && mt_rand(0, 1) == 1)
3943 4171
 	{
3944
-		if (!isset($modSettings['host_to_dis']))
3945
-			$test = @shell_exec('host -W 1 ' . @escapeshellarg($ip));
3946
-		else
3947
-			$test = @shell_exec('host ' . @escapeshellarg($ip));
4172
+		if (!isset($modSettings['host_to_dis'])) {
4173
+					$test = @shell_exec('host -W 1 ' . @escapeshellarg($ip));
4174
+		} else {
4175
+					$test = @shell_exec('host ' . @escapeshellarg($ip));
4176
+		}
3948 4177
 
3949 4178
 		// Did host say it didn't find anything?
3950
-		if (strpos($test, 'not found') !== false)
3951
-			$host = '';
4179
+		if (strpos($test, 'not found') !== false) {
4180
+					$host = '';
4181
+		}
3952 4182
 		// Invalid server option?
3953
-		elseif ((strpos($test, 'invalid option') || strpos($test, 'Invalid query name 1')) && !isset($modSettings['host_to_dis']))
3954
-			updateSettings(array('host_to_dis' => 1));
4183
+		elseif ((strpos($test, 'invalid option') || strpos($test, 'Invalid query name 1')) && !isset($modSettings['host_to_dis'])) {
4184
+					updateSettings(array('host_to_dis' => 1));
4185
+		}
3955 4186
 		// Maybe it found something, after all?
3956
-		elseif (preg_match('~\s([^\s]+?)\.\s~', $test, $match) == 1)
3957
-			$host = $match[1];
4187
+		elseif (preg_match('~\s([^\s]+?)\.\s~', $test, $match) == 1) {
4188
+					$host = $match[1];
4189
+		}
3958 4190
 	}
3959 4191
 
3960 4192
 	// This is nslookup; usually only Windows, but possibly some Unix?
3961 4193
 	if (!isset($host) && stripos(PHP_OS, 'win') !== false && strpos(strtolower(PHP_OS), 'darwin') === false && mt_rand(0, 1) == 1)
3962 4194
 	{
3963 4195
 		$test = @shell_exec('nslookup -timeout=1 ' . @escapeshellarg($ip));
3964
-		if (strpos($test, 'Non-existent domain') !== false)
3965
-			$host = '';
3966
-		elseif (preg_match('~Name:\s+([^\s]+)~', $test, $match) == 1)
3967
-			$host = $match[1];
4196
+		if (strpos($test, 'Non-existent domain') !== false) {
4197
+					$host = '';
4198
+		} elseif (preg_match('~Name:\s+([^\s]+)~', $test, $match) == 1) {
4199
+					$host = $match[1];
4200
+		}
3968 4201
 	}
3969 4202
 
3970 4203
 	// This is the last try :/.
3971
-	if (!isset($host) || $host === false)
3972
-		$host = @gethostbyaddr($ip);
4204
+	if (!isset($host) || $host === false) {
4205
+			$host = @gethostbyaddr($ip);
4206
+	}
3973 4207
 
3974 4208
 	// It took a long time, so let's cache it!
3975
-	if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.5)
3976
-		cache_put_data('hostlookup-' . $ip, $host, 600);
4209
+	if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.5) {
4210
+			cache_put_data('hostlookup-' . $ip, $host, 600);
4211
+	}
3977 4212
 
3978 4213
 	return $host;
3979 4214
 }
@@ -4009,20 +4244,21 @@  discard block
 block discarded – undo
4009 4244
 			{
4010 4245
 				$encrypted = substr(crypt($word, 'uk'), 2, $max_chars);
4011 4246
 				$total = 0;
4012
-				for ($i = 0; $i < $max_chars; $i++)
4013
-					$total += $possible_chars[ord($encrypted{$i})] * pow(63, $i);
4247
+				for ($i = 0; $i < $max_chars; $i++) {
4248
+									$total += $possible_chars[ord($encrypted{$i})] * pow(63, $i);
4249
+				}
4014 4250
 				$returned_ints[] = $max_chars == 4 ? min($total, 16777215) : $total;
4015 4251
 			}
4016 4252
 		}
4017 4253
 		return array_unique($returned_ints);
4018
-	}
4019
-	else
4254
+	} else
4020 4255
 	{
4021 4256
 		// Trim characters before and after and add slashes for database insertion.
4022 4257
 		$returned_words = array();
4023
-		foreach ($words as $word)
4024
-			if (($word = trim($word, '-_\'')) !== '')
4258
+		foreach ($words as $word) {
4259
+					if (($word = trim($word, '-_\'')) !== '')
4025 4260
 				$returned_words[] = $max_chars === null ? $word : substr($word, 0, $max_chars);
4261
+		}
4026 4262
 
4027 4263
 		// Filter out all words that occur more than once.
4028 4264
 		return array_unique($returned_words);
@@ -4044,16 +4280,18 @@  discard block
 block discarded – undo
4044 4280
 	global $settings, $txt;
4045 4281
 
4046 4282
 	// Does the current loaded theme have this and we are not forcing the usage of this function?
4047
-	if (function_exists('template_create_button') && !$force_use)
4048
-		return template_create_button($name, $alt, $label = '', $custom = '');
4283
+	if (function_exists('template_create_button') && !$force_use) {
4284
+			return template_create_button($name, $alt, $label = '', $custom = '');
4285
+	}
4049 4286
 
4050
-	if (!$settings['use_image_buttons'])
4051
-		return $txt[$alt];
4052
-	elseif (!empty($settings['use_buttons']))
4053
-		return '<span class="generic_icons ' . $name . '" alt="' . $txt[$alt] . '"></span>' . ($label != '' ? '&nbsp;<strong>' . $txt[$label] . '</strong>' : '');
4054
-	else
4055
-		return '<img src="' . $settings['lang_images_url'] . '/' . $name . '" alt="' . $txt[$alt] . '" ' . $custom . '>';
4056
-}
4287
+	if (!$settings['use_image_buttons']) {
4288
+			return $txt[$alt];
4289
+	} elseif (!empty($settings['use_buttons'])) {
4290
+			return '<span class="generic_icons ' . $name . '" alt="' . $txt[$alt] . '"></span>' . ($label != '' ? '&nbsp;<strong>' . $txt[$label] . '</strong>' : '');
4291
+	} else {
4292
+			return '<img src="' . $settings['lang_images_url'] . '/' . $name . '" alt="' . $txt[$alt] . '" ' . $custom . '>';
4293
+	}
4294
+	}
4057 4295
 
4058 4296
 /**
4059 4297
  * Sets up all of the top menu buttons
@@ -4096,9 +4334,10 @@  discard block
 block discarded – undo
4096 4334
 	var user_menus = new smc_PopupMenu();
4097 4335
 	user_menus.add("profile", "' . $scripturl . '?action=profile;area=popup");
4098 4336
 	user_menus.add("alerts", "' . $scripturl . '?action=profile;area=alerts_popup;u='. $context['user']['id'] .'");', true);
4099
-		if ($context['allow_pm'])
4100
-			addInlineJavaScript('
4337
+		if ($context['allow_pm']) {
4338
+					addInlineJavaScript('
4101 4339
 	user_menus.add("pm", "' . $scripturl . '?action=pm;sa=popup");', true);
4340
+		}
4102 4341
 
4103 4342
 		if (!empty($modSettings['enable_ajax_alerts']))
4104 4343
 		{
@@ -4258,88 +4497,96 @@  discard block
 block discarded – undo
4258 4497
 
4259 4498
 		// Now we put the buttons in the context so the theme can use them.
4260 4499
 		$menu_buttons = array();
4261
-		foreach ($buttons as $act => $button)
4262
-			if (!empty($button['show']))
4500
+		foreach ($buttons as $act => $button) {
4501
+					if (!empty($button['show']))
4263 4502
 			{
4264 4503
 				$button['active_button'] = false;
4504
+		}
4265 4505
 
4266 4506
 				// This button needs some action.
4267
-				if (isset($button['action_hook']))
4268
-					$needs_action_hook = true;
4507
+				if (isset($button['action_hook'])) {
4508
+									$needs_action_hook = true;
4509
+				}
4269 4510
 
4270 4511
 				// Make sure the last button truly is the last button.
4271 4512
 				if (!empty($button['is_last']))
4272 4513
 				{
4273
-					if (isset($last_button))
4274
-						unset($menu_buttons[$last_button]['is_last']);
4514
+					if (isset($last_button)) {
4515
+											unset($menu_buttons[$last_button]['is_last']);
4516
+					}
4275 4517
 					$last_button = $act;
4276 4518
 				}
4277 4519
 
4278 4520
 				// Go through the sub buttons if there are any.
4279
-				if (!empty($button['sub_buttons']))
4280
-					foreach ($button['sub_buttons'] as $key => $subbutton)
4521
+				if (!empty($button['sub_buttons'])) {
4522
+									foreach ($button['sub_buttons'] as $key => $subbutton)
4281 4523
 					{
4282 4524
 						if (empty($subbutton['show']))
4283 4525
 							unset($button['sub_buttons'][$key]);
4526
+				}
4284 4527
 
4285 4528
 						// 2nd level sub buttons next...
4286 4529
 						if (!empty($subbutton['sub_buttons']))
4287 4530
 						{
4288 4531
 							foreach ($subbutton['sub_buttons'] as $key2 => $sub_button2)
4289 4532
 							{
4290
-								if (empty($sub_button2['show']))
4291
-									unset($button['sub_buttons'][$key]['sub_buttons'][$key2]);
4533
+								if (empty($sub_button2['show'])) {
4534
+																	unset($button['sub_buttons'][$key]['sub_buttons'][$key2]);
4535
+								}
4292 4536
 							}
4293 4537
 						}
4294 4538
 					}
4295 4539
 
4296 4540
 				// Does this button have its own icon?
4297
-				if (isset($button['icon']) && file_exists($settings['theme_dir'] . '/images/' . $button['icon']))
4298
-					$button['icon'] = '<img src="' . $settings['images_url'] . '/' . $button['icon'] . '" alt="">';
4299
-				elseif (isset($button['icon']) && file_exists($settings['default_theme_dir'] . '/images/' . $button['icon']))
4300
-					$button['icon'] = '<img src="' . $settings['default_images_url'] . '/' . $button['icon'] . '" alt="">';
4301
-				elseif (isset($button['icon']))
4302
-					$button['icon'] = '<span class="generic_icons ' . $button['icon'] . '"></span>';
4303
-				else
4304
-					$button['icon'] = '<span class="generic_icons ' . $act . '"></span>';
4541
+				if (isset($button['icon']) && file_exists($settings['theme_dir'] . '/images/' . $button['icon'])) {
4542
+									$button['icon'] = '<img src="' . $settings['images_url'] . '/' . $button['icon'] . '" alt="">';
4543
+				} elseif (isset($button['icon']) && file_exists($settings['default_theme_dir'] . '/images/' . $button['icon'])) {
4544
+									$button['icon'] = '<img src="' . $settings['default_images_url'] . '/' . $button['icon'] . '" alt="">';
4545
+				} elseif (isset($button['icon'])) {
4546
+									$button['icon'] = '<span class="generic_icons ' . $button['icon'] . '"></span>';
4547
+				} else {
4548
+									$button['icon'] = '<span class="generic_icons ' . $act . '"></span>';
4549
+				}
4305 4550
 
4306 4551
 				$menu_buttons[$act] = $button;
4307 4552
 			}
4308 4553
 
4309
-		if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2)
4310
-			cache_put_data('menu_buttons-' . implode('_', $user_info['groups']) . '-' . $user_info['language'], $menu_buttons, $cacheTime);
4554
+		if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) {
4555
+					cache_put_data('menu_buttons-' . implode('_', $user_info['groups']) . '-' . $user_info['language'], $menu_buttons, $cacheTime);
4556
+		}
4311 4557
 	}
4312 4558
 
4313 4559
 	$context['menu_buttons'] = $menu_buttons;
4314 4560
 
4315 4561
 	// Logging out requires the session id in the url.
4316
-	if (isset($context['menu_buttons']['logout']))
4317
-		$context['menu_buttons']['logout']['href'] = sprintf($context['menu_buttons']['logout']['href'], $context['session_var'], $context['session_id']);
4562
+	if (isset($context['menu_buttons']['logout'])) {
4563
+			$context['menu_buttons']['logout']['href'] = sprintf($context['menu_buttons']['logout']['href'], $context['session_var'], $context['session_id']);
4564
+	}
4318 4565
 
4319 4566
 	// Figure out which action we are doing so we can set the active tab.
4320 4567
 	// Default to home.
4321 4568
 	$current_action = 'home';
4322 4569
 
4323
-	if (isset($context['menu_buttons'][$context['current_action']]))
4324
-		$current_action = $context['current_action'];
4325
-	elseif ($context['current_action'] == 'search2')
4326
-		$current_action = 'search';
4327
-	elseif ($context['current_action'] == 'theme')
4328
-		$current_action = isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' ? 'profile' : 'admin';
4329
-	elseif ($context['current_action'] == 'register2')
4330
-		$current_action = 'register';
4331
-	elseif ($context['current_action'] == 'login2' || ($user_info['is_guest'] && $context['current_action'] == 'reminder'))
4332
-		$current_action = 'login';
4333
-	elseif ($context['current_action'] == 'groups' && $context['allow_moderation_center'])
4334
-		$current_action = 'moderate';
4570
+	if (isset($context['menu_buttons'][$context['current_action']])) {
4571
+			$current_action = $context['current_action'];
4572
+	} elseif ($context['current_action'] == 'search2') {
4573
+			$current_action = 'search';
4574
+	} elseif ($context['current_action'] == 'theme') {
4575
+			$current_action = isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' ? 'profile' : 'admin';
4576
+	} elseif ($context['current_action'] == 'register2') {
4577
+			$current_action = 'register';
4578
+	} elseif ($context['current_action'] == 'login2' || ($user_info['is_guest'] && $context['current_action'] == 'reminder')) {
4579
+			$current_action = 'login';
4580
+	} elseif ($context['current_action'] == 'groups' && $context['allow_moderation_center']) {
4581
+			$current_action = 'moderate';
4582
+	}
4335 4583
 
4336 4584
 	// There are certain exceptions to the above where we don't want anything on the menu highlighted.
4337 4585
 	if ($context['current_action'] == 'profile' && !empty($context['user']['is_owner']))
4338 4586
 	{
4339 4587
 		$current_action = !empty($_GET['area']) && $_GET['area'] == 'showalerts' ? 'self_alerts' : 'self_profile';
4340 4588
 		$context[$current_action] = true;
4341
-	}
4342
-	elseif ($context['current_action'] == 'pm')
4589
+	} elseif ($context['current_action'] == 'pm')
4343 4590
 	{
4344 4591
 		$current_action = 'self_pm';
4345 4592
 		$context['self_pm'] = true;
@@ -4396,12 +4643,14 @@  discard block
 block discarded – undo
4396 4643
 	}
4397 4644
 
4398 4645
 	// Not all actions are simple.
4399
-	if (!empty($needs_action_hook))
4400
-		call_integration_hook('integrate_current_action', array(&$current_action));
4646
+	if (!empty($needs_action_hook)) {
4647
+			call_integration_hook('integrate_current_action', array(&$current_action));
4648
+	}
4401 4649
 
4402
-	if (isset($context['menu_buttons'][$current_action]))
4403
-		$context['menu_buttons'][$current_action]['active_button'] = true;
4404
-}
4650
+	if (isset($context['menu_buttons'][$current_action])) {
4651
+			$context['menu_buttons'][$current_action]['active_button'] = true;
4652
+	}
4653
+	}
4405 4654
 
4406 4655
 /**
4407 4656
  * Generate a random seed and ensure it's stored in settings.
@@ -4425,30 +4674,35 @@  discard block
 block discarded – undo
4425 4674
 	global $modSettings, $settings, $boarddir, $sourcedir, $db_show_debug;
4426 4675
 	global $context, $txt;
4427 4676
 
4428
-	if ($db_show_debug === true)
4429
-		$context['debug']['hooks'][] = $hook;
4677
+	if ($db_show_debug === true) {
4678
+			$context['debug']['hooks'][] = $hook;
4679
+	}
4430 4680
 
4431 4681
 	// Need to have some control.
4432
-	if (!isset($context['instances']))
4433
-		$context['instances'] = array();
4682
+	if (!isset($context['instances'])) {
4683
+			$context['instances'] = array();
4684
+	}
4434 4685
 
4435 4686
 	$results = array();
4436
-	if (empty($modSettings[$hook]))
4437
-		return $results;
4687
+	if (empty($modSettings[$hook])) {
4688
+			return $results;
4689
+	}
4438 4690
 
4439 4691
 	$functions = explode(',', $modSettings[$hook]);
4440 4692
 	// Loop through each function.
4441 4693
 	foreach ($functions as $function)
4442 4694
 	{
4443 4695
 		// Hook has been marked as "disabled". Skip it!
4444
-		if (strpos($function, '!') !== false)
4445
-			continue;
4696
+		if (strpos($function, '!') !== false) {
4697
+					continue;
4698
+		}
4446 4699
 
4447 4700
 		$call = call_helper($function, true);
4448 4701
 
4449 4702
 		// Is it valid?
4450
-		if (!empty($call))
4451
-			$results[$function] = call_user_func_array($call, $parameters);
4703
+		if (!empty($call)) {
4704
+					$results[$function] = call_user_func_array($call, $parameters);
4705
+		}
4452 4706
 
4453 4707
 		// Whatever it was suppose to call, it failed :(
4454 4708
 		elseif (!empty($function))
@@ -4464,8 +4718,9 @@  discard block
 block discarded – undo
4464 4718
 			}
4465 4719
 
4466 4720
 			// "Assume" the file resides on $boarddir somewhere...
4467
-			else
4468
-				log_error(sprintf($txt['hook_fail_call_to'], $function, $boarddir), 'general');
4721
+			else {
4722
+							log_error(sprintf($txt['hook_fail_call_to'], $function, $boarddir), 'general');
4723
+			}
4469 4724
 		}
4470 4725
 	}
4471 4726
 
@@ -4487,12 +4742,14 @@  discard block
 block discarded – undo
4487 4742
 	global $smcFunc, $modSettings;
4488 4743
 
4489 4744
 	// Any objects?
4490
-	if ($object)
4491
-		$function = $function . '#';
4745
+	if ($object) {
4746
+			$function = $function . '#';
4747
+	}
4492 4748
 
4493 4749
 	// Any files  to load?
4494
-	if (!empty($file) && is_string($file))
4495
-		$function = $file . (!empty($function) ? '|' . $function : '');
4750
+	if (!empty($file) && is_string($file)) {
4751
+			$function = $file . (!empty($function) ? '|' . $function : '');
4752
+	}
4496 4753
 
4497 4754
 	// Get the correct string.
4498 4755
 	$integration_call = $function;
@@ -4514,13 +4771,14 @@  discard block
 block discarded – undo
4514 4771
 		if (!empty($current_functions))
4515 4772
 		{
4516 4773
 			$current_functions = explode(',', $current_functions);
4517
-			if (in_array($integration_call, $current_functions))
4518
-				return;
4774
+			if (in_array($integration_call, $current_functions)) {
4775
+							return;
4776
+			}
4519 4777
 
4520 4778
 			$permanent_functions = array_merge($current_functions, array($integration_call));
4779
+		} else {
4780
+					$permanent_functions = array($integration_call);
4521 4781
 		}
4522
-		else
4523
-			$permanent_functions = array($integration_call);
4524 4782
 
4525 4783
 		updateSettings(array($hook => implode(',', $permanent_functions)));
4526 4784
 	}
@@ -4529,8 +4787,9 @@  discard block
 block discarded – undo
4529 4787
 	$functions = empty($modSettings[$hook]) ? array() : explode(',', $modSettings[$hook]);
4530 4788
 
4531 4789
 	// Do nothing, if it's already there.
4532
-	if (in_array($integration_call, $functions))
4533
-		return;
4790
+	if (in_array($integration_call, $functions)) {
4791
+			return;
4792
+	}
4534 4793
 
4535 4794
 	$functions[] = $integration_call;
4536 4795
 	$modSettings[$hook] = implode(',', $functions);
@@ -4553,12 +4812,14 @@  discard block
 block discarded – undo
4553 4812
 	global $smcFunc, $modSettings;
4554 4813
 
4555 4814
 	// Any objects?
4556
-	if ($object)
4557
-		$function = $function . '#';
4815
+	if ($object) {
4816
+			$function = $function . '#';
4817
+	}
4558 4818
 
4559 4819
 	// Any files  to load?
4560
-	if (!empty($file) && is_string($file))
4561
-		$function = $file . '|' . $function;
4820
+	if (!empty($file) && is_string($file)) {
4821
+			$function = $file . '|' . $function;
4822
+	}
4562 4823
 
4563 4824
 	// Get the correct string.
4564 4825
 	$integration_call = $function;
@@ -4579,16 +4840,18 @@  discard block
 block discarded – undo
4579 4840
 	{
4580 4841
 		$current_functions = explode(',', $current_functions);
4581 4842
 
4582
-		if (in_array($integration_call, $current_functions))
4583
-			updateSettings(array($hook => implode(',', array_diff($current_functions, array($integration_call)))));
4843
+		if (in_array($integration_call, $current_functions)) {
4844
+					updateSettings(array($hook => implode(',', array_diff($current_functions, array($integration_call)))));
4845
+		}
4584 4846
 	}
4585 4847
 
4586 4848
 	// Turn the function list into something usable.
4587 4849
 	$functions = empty($modSettings[$hook]) ? array() : explode(',', $modSettings[$hook]);
4588 4850
 
4589 4851
 	// You can only remove it if it's available.
4590
-	if (!in_array($integration_call, $functions))
4591
-		return;
4852
+	if (!in_array($integration_call, $functions)) {
4853
+			return;
4854
+	}
4592 4855
 
4593 4856
 	$functions = array_diff($functions, array($integration_call));
4594 4857
 	$modSettings[$hook] = implode(',', $functions);
@@ -4609,17 +4872,20 @@  discard block
 block discarded – undo
4609 4872
 	global $context, $smcFunc, $txt, $db_show_debug;
4610 4873
 
4611 4874
 	// Really?
4612
-	if (empty($string))
4613
-		return false;
4875
+	if (empty($string)) {
4876
+			return false;
4877
+	}
4614 4878
 
4615 4879
 	// An array? should be a "callable" array IE array(object/class, valid_callable).
4616 4880
 	// A closure? should be a callable one.
4617
-	if (is_array($string) || $string instanceof Closure)
4618
-		return $return ? $string : (is_callable($string) ? call_user_func($string) : false);
4881
+	if (is_array($string) || $string instanceof Closure) {
4882
+			return $return ? $string : (is_callable($string) ? call_user_func($string) : false);
4883
+	}
4619 4884
 
4620 4885
 	// No full objects, sorry! pass a method or a property instead!
4621
-	if (is_object($string))
4622
-		return false;
4886
+	if (is_object($string)) {
4887
+			return false;
4888
+	}
4623 4889
 
4624 4890
 	// Stay vitaminized my friends...
4625 4891
 	$string = $smcFunc['htmlspecialchars']($smcFunc['htmltrim']($string));
@@ -4628,8 +4894,9 @@  discard block
 block discarded – undo
4628 4894
 	$string = load_file($string);
4629 4895
 
4630 4896
 	// Loaded file failed
4631
-	if (empty($string))
4632
-		return false;
4897
+	if (empty($string)) {
4898
+			return false;
4899
+	}
4633 4900
 
4634 4901
 	// Found a method.
4635 4902
 	if (strpos($string, '::') !== false)
@@ -4650,8 +4917,9 @@  discard block
 block discarded – undo
4650 4917
 				// Add another one to the list.
4651 4918
 				if ($db_show_debug === true)
4652 4919
 				{
4653
-					if (!isset($context['debug']['instances']))
4654
-						$context['debug']['instances'] = array();
4920
+					if (!isset($context['debug']['instances'])) {
4921
+											$context['debug']['instances'] = array();
4922
+					}
4655 4923
 
4656 4924
 					$context['debug']['instances'][$class] = $class;
4657 4925
 				}
@@ -4661,13 +4929,15 @@  discard block
 block discarded – undo
4661 4929
 		}
4662 4930
 
4663 4931
 		// Right then. This is a call to a static method.
4664
-		else
4665
-			$func = array($class, $method);
4932
+		else {
4933
+					$func = array($class, $method);
4934
+		}
4666 4935
 	}
4667 4936
 
4668 4937
 	// Nope! just a plain regular function.
4669
-	else
4670
-		$func = $string;
4938
+	else {
4939
+			$func = $string;
4940
+	}
4671 4941
 
4672 4942
 	// Right, we got what we need, time to do some checks.
4673 4943
 	if (!is_callable($func, false, $callable_name))
@@ -4683,17 +4953,18 @@  discard block
 block discarded – undo
4683 4953
 	else
4684 4954
 	{
4685 4955
 		// What are we gonna do about it?
4686
-		if ($return)
4687
-			return $func;
4956
+		if ($return) {
4957
+					return $func;
4958
+		}
4688 4959
 
4689 4960
 		// If this is a plain function, avoid the heat of calling call_user_func().
4690 4961
 		else
4691 4962
 		{
4692
-			if (is_array($func))
4693
-				call_user_func($func);
4694
-
4695
-			else
4696
-				$func();
4963
+			if (is_array($func)) {
4964
+							call_user_func($func);
4965
+			} else {
4966
+							$func();
4967
+			}
4697 4968
 		}
4698 4969
 	}
4699 4970
 }
@@ -4710,31 +4981,34 @@  discard block
 block discarded – undo
4710 4981
 {
4711 4982
 	global $sourcedir, $txt, $boarddir, $settings;
4712 4983
 
4713
-	if (empty($string))
4714
-		return false;
4984
+	if (empty($string)) {
4985
+			return false;
4986
+	}
4715 4987
 
4716 4988
 	if (strpos($string, '|') !== false)
4717 4989
 	{
4718 4990
 		list ($file, $string) = explode('|', $string);
4719 4991
 
4720 4992
 		// Match the wildcards to their regular vars.
4721
-		if (empty($settings['theme_dir']))
4722
-			$absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir));
4723
-
4724
-		else
4725
-			$absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir, '$themedir' => $settings['theme_dir']));
4993
+		if (empty($settings['theme_dir'])) {
4994
+					$absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir));
4995
+		} else {
4996
+					$absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir, '$themedir' => $settings['theme_dir']));
4997
+		}
4726 4998
 
4727 4999
 		// Load the file if it can be loaded.
4728
-		if (file_exists($absPath))
4729
-			require_once($absPath);
5000
+		if (file_exists($absPath)) {
5001
+					require_once($absPath);
5002
+		}
4730 5003
 
4731 5004
 		// No? try a fallback to $sourcedir
4732 5005
 		else
4733 5006
 		{
4734 5007
 			$absPath = $sourcedir .'/'. $file;
4735 5008
 
4736
-			if (file_exists($absPath))
4737
-				require_once($absPath);
5009
+			if (file_exists($absPath)) {
5010
+							require_once($absPath);
5011
+			}
4738 5012
 
4739 5013
 			// Sorry, can't do much for you at this point.
4740 5014
 			else
@@ -4761,8 +5035,9 @@  discard block
 block discarded – undo
4761 5035
 	global $user_info, $smcFunc;
4762 5036
 
4763 5037
 	// Make sure we have something to work with.
4764
-	if (empty($topic))
4765
-		return array();
5038
+	if (empty($topic)) {
5039
+			return array();
5040
+	}
4766 5041
 
4767 5042
 
4768 5043
 	// We already know the number of likes per message, we just want to know whether the current user liked it or not.
@@ -4785,8 +5060,9 @@  discard block
 block discarded – undo
4785 5060
 				'topic' => $topic,
4786 5061
 			)
4787 5062
 		);
4788
-		while ($row = $smcFunc['db_fetch_assoc']($request))
4789
-			$temp[] = (int) $row['content_id'];
5063
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
5064
+					$temp[] = (int) $row['content_id'];
5065
+		}
4790 5066
 
4791 5067
 		cache_put_data($cache_key, $temp, $ttl);
4792 5068
 	}
@@ -4807,8 +5083,9 @@  discard block
 block discarded – undo
4807 5083
 {
4808 5084
 	global $context;
4809 5085
 
4810
-	if (empty($string))
4811
-		return $string;
5086
+	if (empty($string)) {
5087
+			return $string;
5088
+	}
4812 5089
 
4813 5090
 	// UTF-8 occurences of MS special characters
4814 5091
 	$findchars_utf8 = array(
@@ -4849,10 +5126,11 @@  discard block
 block discarded – undo
4849 5126
 		'--',	// &mdash;
4850 5127
 	);
4851 5128
 
4852
-	if ($context['utf8'])
4853
-		$string = str_replace($findchars_utf8, $replacechars, $string);
4854
-	else
4855
-		$string = str_replace($findchars_iso, $replacechars, $string);
5129
+	if ($context['utf8']) {
5130
+			$string = str_replace($findchars_utf8, $replacechars, $string);
5131
+	} else {
5132
+			$string = str_replace($findchars_iso, $replacechars, $string);
5133
+	}
4856 5134
 
4857 5135
 	return $string;
4858 5136
 }
@@ -4871,49 +5149,59 @@  discard block
 block discarded – undo
4871 5149
 {
4872 5150
 	global $context;
4873 5151
 
4874
-	if (!isset($matches[2]))
4875
-		return '';
5152
+	if (!isset($matches[2])) {
5153
+			return '';
5154
+	}
4876 5155
 
4877 5156
 	$num = $matches[2][0] === 'x' ? hexdec(substr($matches[2], 1)) : (int) $matches[2];
4878 5157
 
4879 5158
 	// remove left to right / right to left overrides
4880
-	if ($num === 0x202D || $num === 0x202E)
4881
-		return '';
5159
+	if ($num === 0x202D || $num === 0x202E) {
5160
+			return '';
5161
+	}
4882 5162
 
4883 5163
 	// Quote, Ampersand, Apostrophe, Less/Greater Than get html replaced
4884
-	if (in_array($num, array(0x22, 0x26, 0x27, 0x3C, 0x3E)))
4885
-		return '&#' . $num . ';';
5164
+	if (in_array($num, array(0x22, 0x26, 0x27, 0x3C, 0x3E))) {
5165
+			return '&#' . $num . ';';
5166
+	}
4886 5167
 
4887 5168
 	if (empty($context['utf8']))
4888 5169
 	{
4889 5170
 		// no control characters
4890
-		if ($num < 0x20)
4891
-			return '';
5171
+		if ($num < 0x20) {
5172
+					return '';
5173
+		}
4892 5174
 		// text is text
4893
-		elseif ($num < 0x80)
4894
-			return chr($num);
5175
+		elseif ($num < 0x80) {
5176
+					return chr($num);
5177
+		}
4895 5178
 		// all others get html-ised
4896
-		else
4897
-			return '&#' . $matches[2] . ';';
4898
-	}
4899
-	else
5179
+		else {
5180
+					return '&#' . $matches[2] . ';';
5181
+		}
5182
+	} else
4900 5183
 	{
4901 5184
 		// <0x20 are control characters, 0x20 is a space, > 0x10FFFF is past the end of the utf8 character set
4902 5185
 		// 0xD800 >= $num <= 0xDFFF are surrogate markers (not valid for utf8 text)
4903
-		if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF))
4904
-			return '';
5186
+		if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF)) {
5187
+					return '';
5188
+		}
4905 5189
 		// <0x80 (or less than 128) are standard ascii characters a-z A-Z 0-9 and punctuation
4906
-		elseif ($num < 0x80)
4907
-			return chr($num);
5190
+		elseif ($num < 0x80) {
5191
+					return chr($num);
5192
+		}
4908 5193
 		// <0x800 (2048)
4909
-		elseif ($num < 0x800)
4910
-			return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
5194
+		elseif ($num < 0x800) {
5195
+					return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
5196
+		}
4911 5197
 		// < 0x10000 (65536)
4912
-		elseif ($num < 0x10000)
4913
-			return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5198
+		elseif ($num < 0x10000) {
5199
+					return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5200
+		}
4914 5201
 		// <= 0x10FFFF (1114111)
4915
-		else
4916
-			return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5202
+		else {
5203
+					return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5204
+		}
4917 5205
 	}
4918 5206
 }
4919 5207
 
@@ -4929,28 +5217,34 @@  discard block
 block discarded – undo
4929 5217
  */
4930 5218
 function fixchar__callback($matches)
4931 5219
 {
4932
-	if (!isset($matches[1]))
4933
-		return '';
5220
+	if (!isset($matches[1])) {
5221
+			return '';
5222
+	}
4934 5223
 
4935 5224
 	$num = $matches[1][0] === 'x' ? hexdec(substr($matches[1], 1)) : (int) $matches[1];
4936 5225
 
4937 5226
 	// <0x20 are control characters, > 0x10FFFF is past the end of the utf8 character set
4938 5227
 	// 0xD800 >= $num <= 0xDFFF are surrogate markers (not valid for utf8 text), 0x202D-E are left to right overrides
4939
-	if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num === 0x202D || $num === 0x202E)
4940
-		return '';
5228
+	if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num === 0x202D || $num === 0x202E) {
5229
+			return '';
5230
+	}
4941 5231
 	// <0x80 (or less than 128) are standard ascii characters a-z A-Z 0-9 and punctuation
4942
-	elseif ($num < 0x80)
4943
-		return chr($num);
5232
+	elseif ($num < 0x80) {
5233
+			return chr($num);
5234
+	}
4944 5235
 	// <0x800 (2048)
4945
-	elseif ($num < 0x800)
4946
-		return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
5236
+	elseif ($num < 0x800) {
5237
+			return chr(($num >> 6) + 192) . chr(($num & 63) + 128);
5238
+	}
4947 5239
 	// < 0x10000 (65536)
4948
-	elseif ($num < 0x10000)
4949
-		return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5240
+	elseif ($num < 0x10000) {
5241
+			return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5242
+	}
4950 5243
 	// <= 0x10FFFF (1114111)
4951
-	else
4952
-		return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
4953
-}
5244
+	else {
5245
+			return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128);
5246
+	}
5247
+	}
4954 5248
 
4955 5249
 /**
4956 5250
  * Strips out invalid html entities, replaces others with html style &#123; codes
@@ -4963,17 +5257,19 @@  discard block
 block discarded – undo
4963 5257
  */
4964 5258
 function entity_fix__callback($matches)
4965 5259
 {
4966
-	if (!isset($matches[2]))
4967
-		return '';
5260
+	if (!isset($matches[2])) {
5261
+			return '';
5262
+	}
4968 5263
 
4969 5264
 	$num = $matches[2][0] === 'x' ? hexdec(substr($matches[2], 1)) : (int) $matches[2];
4970 5265
 
4971 5266
 	// we don't allow control characters, characters out of range, byte markers, etc
4972
-	if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num == 0x202D || $num == 0x202E)
4973
-		return '';
4974
-	else
4975
-		return '&#' . $num . ';';
4976
-}
5267
+	if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num == 0x202D || $num == 0x202E) {
5268
+			return '';
5269
+	} else {
5270
+			return '&#' . $num . ';';
5271
+	}
5272
+	}
4977 5273
 
4978 5274
 /**
4979 5275
  * Return a Gravatar URL based on
@@ -4997,18 +5293,23 @@  discard block
 block discarded – undo
4997 5293
 		$ratings = array('G', 'PG', 'R', 'X');
4998 5294
 		$defaults = array('mm', 'identicon', 'monsterid', 'wavatar', 'retro', 'blank');
4999 5295
 		$url_params = array();
5000
-		if (!empty($modSettings['gravatarMaxRating']) && in_array($modSettings['gravatarMaxRating'], $ratings))
5001
-			$url_params[] = 'rating=' . $modSettings['gravatarMaxRating'];
5002
-		if (!empty($modSettings['gravatarDefault']) && in_array($modSettings['gravatarDefault'], $defaults))
5003
-			$url_params[] = 'default=' . $modSettings['gravatarDefault'];
5004
-		if (!empty($modSettings['avatar_max_width_external']))
5005
-			$size_string = (int) $modSettings['avatar_max_width_external'];
5006
-		if (!empty($modSettings['avatar_max_height_external']) && !empty($size_string))
5007
-			if ((int) $modSettings['avatar_max_height_external'] < $size_string)
5296
+		if (!empty($modSettings['gravatarMaxRating']) && in_array($modSettings['gravatarMaxRating'], $ratings)) {
5297
+					$url_params[] = 'rating=' . $modSettings['gravatarMaxRating'];
5298
+		}
5299
+		if (!empty($modSettings['gravatarDefault']) && in_array($modSettings['gravatarDefault'], $defaults)) {
5300
+					$url_params[] = 'default=' . $modSettings['gravatarDefault'];
5301
+		}
5302
+		if (!empty($modSettings['avatar_max_width_external'])) {
5303
+					$size_string = (int) $modSettings['avatar_max_width_external'];
5304
+		}
5305
+		if (!empty($modSettings['avatar_max_height_external']) && !empty($size_string)) {
5306
+					if ((int) $modSettings['avatar_max_height_external'] < $size_string)
5008 5307
 				$size_string = $modSettings['avatar_max_height_external'];
5308
+		}
5009 5309
 
5010
-		if (!empty($size_string))
5011
-			$url_params[] = 's=' . $size_string;
5310
+		if (!empty($size_string)) {
5311
+					$url_params[] = 's=' . $size_string;
5312
+		}
5012 5313
 	}
5013 5314
 	$http_method = !empty($modSettings['force_ssl']) ? 'https://secure' : 'http://www';
5014 5315
 
@@ -5027,22 +5328,26 @@  discard block
 block discarded – undo
5027 5328
 	static $timezones = null, $lastwhen = null;
5028 5329
 
5029 5330
 	// No point doing this over if we already did it once
5030
-	if (!empty($timezones) && $when == $lastwhen)
5031
-		return $timezones;
5032
-	else
5033
-		$lastwhen = $when;
5331
+	if (!empty($timezones) && $when == $lastwhen) {
5332
+			return $timezones;
5333
+	} else {
5334
+			$lastwhen = $when;
5335
+	}
5034 5336
 
5035 5337
 	// Parseable datetime string?
5036
-	if (is_int($timestamp = strtotime($when)))
5037
-		$when = $timestamp;
5338
+	if (is_int($timestamp = strtotime($when))) {
5339
+			$when = $timestamp;
5340
+	}
5038 5341
 
5039 5342
 	// A Unix timestamp?
5040
-	elseif (is_numeric($when))
5041
-		$when = intval($when);
5343
+	elseif (is_numeric($when)) {
5344
+			$when = intval($when);
5345
+	}
5042 5346
 
5043 5347
 	// Invalid value? Just get current Unix timestamp.
5044
-	else
5045
-		$when = time();
5348
+	else {
5349
+			$when = time();
5350
+	}
5046 5351
 
5047 5352
 	// We'll need these too
5048 5353
 	$date_when = date_create('@' . $when);
@@ -5106,8 +5411,9 @@  discard block
 block discarded – undo
5106 5411
 	foreach ($priority_countries as $country)
5107 5412
 	{
5108 5413
 		$country_tzids = @timezone_identifiers_list(DateTimeZone::PER_COUNTRY, strtoupper(trim($country)));
5109
-		if (!empty($country_tzids))
5110
-			$priority_tzids = array_merge($priority_tzids, $country_tzids);
5414
+		if (!empty($country_tzids)) {
5415
+					$priority_tzids = array_merge($priority_tzids, $country_tzids);
5416
+		}
5111 5417
 	}
5112 5418
 
5113 5419
 	// Process the preferred timezones first, then the rest.
@@ -5117,8 +5423,9 @@  discard block
 block discarded – undo
5117 5423
 	foreach ($tzids as $tzid)
5118 5424
 	{
5119 5425
 		// We don't want UTC right now
5120
-		if ($tzid == 'UTC')
5121
-			continue;
5426
+		if ($tzid == 'UTC') {
5427
+					continue;
5428
+		}
5122 5429
 
5123 5430
 		$tz = timezone_open($tzid);
5124 5431
 
@@ -5139,8 +5446,9 @@  discard block
 block discarded – undo
5139 5446
 		}
5140 5447
 
5141 5448
 		// A time zone from a prioritized country?
5142
-		if (in_array($tzid, $priority_tzids))
5143
-			$priority_zones[$tzkey] = true;
5449
+		if (in_array($tzid, $priority_tzids)) {
5450
+					$priority_zones[$tzkey] = true;
5451
+		}
5144 5452
 
5145 5453
 		// Keep track of the location and offset for this tzid
5146 5454
 		$tzid_parts = explode('/', $tzid);
@@ -5159,15 +5467,17 @@  discard block
 block discarded – undo
5159 5467
 	{
5160 5468
 		date_timezone_set($date_when, timezone_open($tzvalue['tzid']));
5161 5469
 
5162
-		if (!empty($timezone_descriptions[$tzvalue['tzid']]))
5163
-			$desc = $timezone_descriptions[$tzvalue['tzid']];
5164
-		else
5165
-			$desc = implode(', ', array_unique($tzvalue['locations']));
5470
+		if (!empty($timezone_descriptions[$tzvalue['tzid']])) {
5471
+					$desc = $timezone_descriptions[$tzvalue['tzid']];
5472
+		} else {
5473
+					$desc = implode(', ', array_unique($tzvalue['locations']));
5474
+		}
5166 5475
 
5167
-		if (isset($priority_zones[$tzkey]))
5168
-			$priority_timezones[$tzvalue['tzid']] = $tzvalue['abbr'] . ' - ' . $desc . ' [UTC' . date_format($date_when, 'P') . ']';
5169
-		else
5170
-			$timezones[$tzvalue['tzid']] = $tzvalue['abbr'] . ' - ' . $desc . ' [UTC' . date_format($date_when, 'P') . ']';
5476
+		if (isset($priority_zones[$tzkey])) {
5477
+					$priority_timezones[$tzvalue['tzid']] = $tzvalue['abbr'] . ' - ' . $desc . ' [UTC' . date_format($date_when, 'P') . ']';
5478
+		} else {
5479
+					$timezones[$tzvalue['tzid']] = $tzvalue['abbr'] . ' - ' . $desc . ' [UTC' . date_format($date_when, 'P') . ']';
5480
+		}
5171 5481
 	}
5172 5482
 
5173 5483
 	$timezones = array_merge(
@@ -5221,9 +5531,9 @@  discard block
 block discarded – undo
5221 5531
 			'Indian/Kerguelen' => 'TFT',
5222 5532
 		);
5223 5533
 
5224
-		if (!empty($missing_tz_abbrs[$tzid]))
5225
-			$tz_abbrev = $missing_tz_abbrs[$tzid];
5226
-		else
5534
+		if (!empty($missing_tz_abbrs[$tzid])) {
5535
+					$tz_abbrev = $missing_tz_abbrs[$tzid];
5536
+		} else
5227 5537
 		{
5228 5538
 			// Russia likes to experiment with time zones often, and names them as offsets from Moscow
5229 5539
 			$tz_location = timezone_location_get(timezone_open($tzid));
@@ -5251,8 +5561,9 @@  discard block
 block discarded – undo
5251 5561
  */
5252 5562
 function inet_ptod($ip_address)
5253 5563
 {
5254
-	if (!isValidIP($ip_address))
5255
-		return $ip_address;
5564
+	if (!isValidIP($ip_address)) {
5565
+			return $ip_address;
5566
+	}
5256 5567
 
5257 5568
 	$bin = inet_pton($ip_address);
5258 5569
 	return $bin;
@@ -5264,13 +5575,15 @@  discard block
 block discarded – undo
5264 5575
  */
5265 5576
 function inet_dtop($bin)
5266 5577
 {
5267
-	if(empty($bin))
5268
-		return '';
5578
+	if(empty($bin)) {
5579
+			return '';
5580
+	}
5269 5581
 
5270 5582
 	global $db_type;
5271 5583
 
5272
-	if ($db_type == 'postgresql')
5273
-		return $bin;
5584
+	if ($db_type == 'postgresql') {
5585
+			return $bin;
5586
+	}
5274 5587
 
5275 5588
 	$ip_address = inet_ntop($bin);
5276 5589
 
@@ -5295,26 +5608,32 @@  discard block
 block discarded – undo
5295 5608
  */
5296 5609
 function _safe_serialize($value)
5297 5610
 {
5298
-	if(is_null($value))
5299
-		return 'N;';
5611
+	if(is_null($value)) {
5612
+			return 'N;';
5613
+	}
5300 5614
 
5301
-	if(is_bool($value))
5302
-		return 'b:'. (int) $value .';';
5615
+	if(is_bool($value)) {
5616
+			return 'b:'. (int) $value .';';
5617
+	}
5303 5618
 
5304
-	if(is_int($value))
5305
-		return 'i:'. $value .';';
5619
+	if(is_int($value)) {
5620
+			return 'i:'. $value .';';
5621
+	}
5306 5622
 
5307
-	if(is_float($value))
5308
-		return 'd:'. str_replace(',', '.', $value) .';';
5623
+	if(is_float($value)) {
5624
+			return 'd:'. str_replace(',', '.', $value) .';';
5625
+	}
5309 5626
 
5310
-	if(is_string($value))
5311
-		return 's:'. strlen($value) .':"'. $value .'";';
5627
+	if(is_string($value)) {
5628
+			return 's:'. strlen($value) .':"'. $value .'";';
5629
+	}
5312 5630
 
5313 5631
 	if(is_array($value))
5314 5632
 	{
5315 5633
 		$out = '';
5316
-		foreach($value as $k => $v)
5317
-			$out .= _safe_serialize($k) . _safe_serialize($v);
5634
+		foreach($value as $k => $v) {
5635
+					$out .= _safe_serialize($k) . _safe_serialize($v);
5636
+		}
5318 5637
 
5319 5638
 		return 'a:'. count($value) .':{'. $out .'}';
5320 5639
 	}
@@ -5340,8 +5659,9 @@  discard block
 block discarded – undo
5340 5659
 
5341 5660
 	$out = _safe_serialize($value);
5342 5661
 
5343
-	if (isset($mbIntEnc))
5344
-		mb_internal_encoding($mbIntEnc);
5662
+	if (isset($mbIntEnc)) {
5663
+			mb_internal_encoding($mbIntEnc);
5664
+	}
5345 5665
 
5346 5666
 	return $out;
5347 5667
 }
@@ -5358,8 +5678,9 @@  discard block
 block discarded – undo
5358 5678
 function _safe_unserialize($str)
5359 5679
 {
5360 5680
 	// Input  is not a string.
5361
-	if(empty($str) || !is_string($str))
5362
-		return false;
5681
+	if(empty($str) || !is_string($str)) {
5682
+			return false;
5683
+	}
5363 5684
 
5364 5685
 	$stack = array();
5365 5686
 	$expected = array();
@@ -5375,43 +5696,38 @@  discard block
 block discarded – undo
5375 5696
 	while($state != 1)
5376 5697
 	{
5377 5698
 		$type = isset($str[0]) ? $str[0] : '';
5378
-		if($type == '}')
5379
-			$str = substr($str, 1);
5380
-
5381
-		else if($type == 'N' && $str[1] == ';')
5699
+		if($type == '}') {
5700
+					$str = substr($str, 1);
5701
+		} else if($type == 'N' && $str[1] == ';')
5382 5702
 		{
5383 5703
 			$value = null;
5384 5704
 			$str = substr($str, 2);
5385
-		}
5386
-		else if($type == 'b' && preg_match('/^b:([01]);/', $str, $matches))
5705
+		} else if($type == 'b' && preg_match('/^b:([01]);/', $str, $matches))
5387 5706
 		{
5388 5707
 			$value = $matches[1] == '1' ? true : false;
5389 5708
 			$str = substr($str, 4);
5390
-		}
5391
-		else if($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches))
5709
+		} else if($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches))
5392 5710
 		{
5393 5711
 			$value = (int)$matches[1];
5394 5712
 			$str = $matches[2];
5395
-		}
5396
-		else if($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches))
5713
+		} else if($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches))
5397 5714
 		{
5398 5715
 			$value = (float)$matches[1];
5399 5716
 			$str = $matches[3];
5400
-		}
5401
-		else if($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int)$matches[1], 2) == '";')
5717
+		} else if($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int)$matches[1], 2) == '";')
5402 5718
 		{
5403 5719
 			$value = substr($matches[2], 0, (int)$matches[1]);
5404 5720
 			$str = substr($matches[2], (int)$matches[1] + 2);
5405
-		}
5406
-		else if($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches))
5721
+		} else if($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches))
5407 5722
 		{
5408 5723
 			$expectedLength = (int)$matches[1];
5409 5724
 			$str = $matches[2];
5410 5725
 		}
5411 5726
 
5412 5727
 		// Object or unknown/malformed type.
5413
-		else
5414
-			return false;
5728
+		else {
5729
+					return false;
5730
+		}
5415 5731
 
5416 5732
 		switch($state)
5417 5733
 		{
@@ -5439,8 +5755,9 @@  discard block
 block discarded – undo
5439 5755
 				if($type == '}')
5440 5756
 				{
5441 5757
 					// Array size is less than expected.
5442
-					if(count($list) < end($expected))
5443
-						return false;
5758
+					if(count($list) < end($expected)) {
5759
+											return false;
5760
+					}
5444 5761
 
5445 5762
 					unset($list);
5446 5763
 					$list = &$stack[count($stack)-1];
@@ -5449,8 +5766,9 @@  discard block
 block discarded – undo
5449 5766
 					// Go to terminal state if we're at the end of the root array.
5450 5767
 					array_pop($expected);
5451 5768
 
5452
-					if(count($expected) == 0)
5453
-						$state = 1;
5769
+					if(count($expected) == 0) {
5770
+											$state = 1;
5771
+					}
5454 5772
 
5455 5773
 					break;
5456 5774
 				}
@@ -5458,8 +5776,9 @@  discard block
 block discarded – undo
5458 5776
 				if($type == 'i' || $type == 's')
5459 5777
 				{
5460 5778
 					// Array size exceeds expected length.
5461
-					if(count($list) >= end($expected))
5462
-						return false;
5779
+					if(count($list) >= end($expected)) {
5780
+											return false;
5781
+					}
5463 5782
 
5464 5783
 					$key = $value;
5465 5784
 					$state = 3;
@@ -5493,8 +5812,9 @@  discard block
 block discarded – undo
5493 5812
 	}
5494 5813
 
5495 5814
 	// Trailing data in input.
5496
-	if(!empty($str))
5497
-		return false;
5815
+	if(!empty($str)) {
5816
+			return false;
5817
+	}
5498 5818
 
5499 5819
 	return $data;
5500 5820
 }
@@ -5517,8 +5837,9 @@  discard block
 block discarded – undo
5517 5837
 
5518 5838
 	$out = _safe_unserialize($str);
5519 5839
 
5520
-	if (isset($mbIntEnc))
5521
-		mb_internal_encoding($mbIntEnc);
5840
+	if (isset($mbIntEnc)) {
5841
+			mb_internal_encoding($mbIntEnc);
5842
+	}
5522 5843
 
5523 5844
 	return $out;
5524 5845
 }
@@ -5533,12 +5854,14 @@  discard block
 block discarded – undo
5533 5854
 function smf_chmod($file, $value = 0)
5534 5855
 {
5535 5856
 	// No file? no checks!
5536
-	if (empty($file))
5537
-		return false;
5857
+	if (empty($file)) {
5858
+			return false;
5859
+	}
5538 5860
 
5539 5861
 	// Already writable?
5540
-	if (is_writable($file))
5541
-		return true;
5862
+	if (is_writable($file)) {
5863
+			return true;
5864
+	}
5542 5865
 
5543 5866
 	// Do we have a file or a dir?
5544 5867
 	$isDir = is_dir($file);
@@ -5554,10 +5877,9 @@  discard block
 block discarded – undo
5554 5877
 		{
5555 5878
 			$isWritable = true;
5556 5879
 			break;
5880
+		} else {
5881
+					@chmod($file, $val);
5557 5882
 		}
5558
-
5559
-		else
5560
-			@chmod($file, $val);
5561 5883
 	}
5562 5884
 
5563 5885
 	return $isWritable;
@@ -5576,8 +5898,9 @@  discard block
 block discarded – undo
5576 5898
 	global $txt;
5577 5899
 
5578 5900
 	// Come on...
5579
-	if (empty($json) || !is_string($json))
5580
-		return array();
5901
+	if (empty($json) || !is_string($json)) {
5902
+			return array();
5903
+	}
5581 5904
 
5582 5905
 	$returnArray = @json_decode($json, $returnAsArray);
5583 5906
 
@@ -5615,11 +5938,11 @@  discard block
 block discarded – undo
5615 5938
 		$jsonDebug = $jsonDebug[0];
5616 5939
 		loadLanguage('Errors');
5617 5940
 
5618
-		if (!empty($jsonDebug))
5619
-			log_error($txt['json_'. $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']);
5620
-
5621
-		else
5622
-			log_error($txt['json_'. $jsonError], 'critical');
5941
+		if (!empty($jsonDebug)) {
5942
+					log_error($txt['json_'. $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']);
5943
+		} else {
5944
+					log_error($txt['json_'. $jsonError], 'critical');
5945
+		}
5623 5946
 
5624 5947
 		// Everyone expects an array.
5625 5948
 		return array();
@@ -5653,8 +5976,9 @@  discard block
 block discarded – undo
5653 5976
 	global $db_show_debug, $modSettings;
5654 5977
 
5655 5978
 	// Defensive programming anyone?
5656
-	if (empty($data))
5657
-		return false;
5979
+	if (empty($data)) {
5980
+			return false;
5981
+	}
5658 5982
 
5659 5983
 	// Don't need extra stuff...
5660 5984
 	$db_show_debug = false;
@@ -5662,11 +5986,11 @@  discard block
 block discarded – undo
5662 5986
 	// Kill anything else.
5663 5987
 	ob_end_clean();
5664 5988
 
5665
-	if (!empty($modSettings['CompressedOutput']))
5666
-		@ob_start('ob_gzhandler');
5667
-
5668
-	else
5669
-		ob_start();
5989
+	if (!empty($modSettings['CompressedOutput'])) {
5990
+			@ob_start('ob_gzhandler');
5991
+	} else {
5992
+			ob_start();
5993
+	}
5670 5994
 
5671 5995
 	// Set the header.
5672 5996
 	header($type);
@@ -5698,8 +6022,9 @@  discard block
 block discarded – undo
5698 6022
 	static $done = false;
5699 6023
 
5700 6024
 	// If we don't need to do anything, don't
5701
-	if (!$update && $done)
5702
-		return;
6025
+	if (!$update && $done) {
6026
+			return;
6027
+	}
5703 6028
 
5704 6029
 	// Should we get a new copy of the official list of TLDs?
5705 6030
 	if ($update)
@@ -5708,8 +6033,9 @@  discard block
 block discarded – undo
5708 6033
 		$tlds = fetch_web_data('https://data.iana.org/TLD/tlds-alpha-by-domain.txt');
5709 6034
 
5710 6035
 		// If the Internet Assigned Numbers Authority can't be reached, the Internet is gone. We're probably running on a server hidden in a bunker deep underground to protect it from marauding bandits roaming on the surface. We don't want to waste precious electricity on pointlessly repeating background tasks, so we'll wait until the next regularly scheduled update to see if civilization has been restored.
5711
-		if ($tlds === false)
5712
-			$postapocalypticNightmare = true;
6036
+		if ($tlds === false) {
6037
+					$postapocalypticNightmare = true;
6038
+		}
5713 6039
 	}
5714 6040
 	// If we aren't updating and the regex is valid, we're done
5715 6041
 	elseif (!empty($modSettings['tld_regex']) && @preg_match('~' . $modSettings['tld_regex'] . '~', null) !== false)
@@ -5724,10 +6050,11 @@  discard block
 block discarded – undo
5724 6050
 		// Clean $tlds and convert it to an array
5725 6051
 		$tlds = array_filter(explode("\n", strtolower($tlds)), function($line) {
5726 6052
 			$line = trim($line);
5727
-			if (empty($line) || strpos($line, '#') !== false || strpos($line, ' ') !== false)
5728
-				return false;
5729
-			else
5730
-				return true;
6053
+			if (empty($line) || strpos($line, '#') !== false || strpos($line, ' ') !== false) {
6054
+							return false;
6055
+			} else {
6056
+							return true;
6057
+			}
5731 6058
 		});
5732 6059
 
5733 6060
 		// Convert Punycode to Unicode
@@ -5781,8 +6108,9 @@  discard block
 block discarded – undo
5781 6108
 						$idx += $digit * $w;
5782 6109
 						$t = ($k <= $bias) ? $tmin : (($k >= $bias + $tmax) ? $tmax : ($k - $bias));
5783 6110
 
5784
-						if ($digit < $t)
5785
-							break;
6111
+						if ($digit < $t) {
6112
+													break;
6113
+						}
5786 6114
 
5787 6115
 						$w = (int) ($w * ($base - $t));
5788 6116
 					}
@@ -5791,8 +6119,9 @@  discard block
 block discarded – undo
5791 6119
 					$delta = intval($is_first ? ($delta / $damp) : ($delta / 2));
5792 6120
 					$delta += intval($delta / ($deco_len + 1));
5793 6121
 
5794
-					for ($k = 0; $delta > (($base - $tmin) * $tmax) / 2; $k += $base)
5795
-						$delta = intval($delta / ($base - $tmin));
6122
+					for ($k = 0; $delta > (($base - $tmin) * $tmax) / 2; $k += $base) {
6123
+											$delta = intval($delta / ($base - $tmin));
6124
+					}
5796 6125
 
5797 6126
 					$bias = intval($k + ($base - $tmin + 1) * $delta / ($delta + $skew));
5798 6127
 					$is_first = false;
@@ -5801,8 +6130,9 @@  discard block
 block discarded – undo
5801 6130
 
5802 6131
 					if ($deco_len > 0)
5803 6132
 					{
5804
-						for ($i = $deco_len; $i > $idx; $i--)
5805
-							$decoded[$i] = $decoded[($i - 1)];
6133
+						for ($i = $deco_len; $i > $idx; $i--) {
6134
+													$decoded[$i] = $decoded[($i - 1)];
6135
+						}
5806 6136
 					}
5807 6137
 					$decoded[$idx++] = $char;
5808 6138
 				}
@@ -5810,24 +6140,29 @@  discard block
 block discarded – undo
5810 6140
 				foreach ($decoded as $k => $v)
5811 6141
 				{
5812 6142
 					// 7bit are transferred literally
5813
-					if ($v < 128)
5814
-						$output .= chr($v);
6143
+					if ($v < 128) {
6144
+											$output .= chr($v);
6145
+					}
5815 6146
 
5816 6147
 					// 2 bytes
5817
-					elseif ($v < (1 << 11))
5818
-						$output .= chr(192+($v >> 6)) . chr(128+($v & 63));
6148
+					elseif ($v < (1 << 11)) {
6149
+											$output .= chr(192+($v >> 6)) . chr(128+($v & 63));
6150
+					}
5819 6151
 
5820 6152
 					// 3 bytes
5821
-					elseif ($v < (1 << 16))
5822
-						$output .= chr(224+($v >> 12)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63));
6153
+					elseif ($v < (1 << 16)) {
6154
+											$output .= chr(224+($v >> 12)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63));
6155
+					}
5823 6156
 
5824 6157
 					// 4 bytes
5825
-					elseif ($v < (1 << 21))
5826
-						$output .= chr(240+($v >> 18)) . chr(128+(($v >> 12) & 63)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63));
6158
+					elseif ($v < (1 << 21)) {
6159
+											$output .= chr(240+($v >> 18)) . chr(128+(($v >> 12) & 63)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63));
6160
+					}
5827 6161
 
5828 6162
 					//  'Conversion from UCS-4 to UTF-8 failed: malformed input at byte '.$k
5829
-					else
5830
-						$output .= $safe_char;
6163
+					else {
6164
+											$output .= $safe_char;
6165
+					}
5831 6166
 				}
5832 6167
 
5833 6168
 				$output_parts[] = $output;
@@ -5920,8 +6255,7 @@  discard block
 block discarded – undo
5920 6255
 
5921 6256
 		$strlen = 'mb_strlen';
5922 6257
 		$substr = 'mb_substr';
5923
-	}
5924
-	else
6258
+	} else
5925 6259
 	{
5926 6260
 		$strlen = $smcFunc['strlen'];
5927 6261
 		$substr = $smcFunc['substr'];
@@ -5935,20 +6269,21 @@  discard block
 block discarded – undo
5935 6269
 
5936 6270
 		$first = $substr($string, 0, 1);
5937 6271
 
5938
-		if (empty($index[$first]))
5939
-			$index[$first] = array();
6272
+		if (empty($index[$first])) {
6273
+					$index[$first] = array();
6274
+		}
5940 6275
 
5941 6276
 		if ($strlen($string) > 1)
5942 6277
 		{
5943 6278
 			// Sanity check on recursion
5944
-			if ($depth > 99)
5945
-				$index[$first][$substr($string, 1)] = '';
5946
-
5947
-			else
5948
-				$index[$first] = $add_string_to_index($substr($string, 1), $index[$first]);
6279
+			if ($depth > 99) {
6280
+							$index[$first][$substr($string, 1)] = '';
6281
+			} else {
6282
+							$index[$first] = $add_string_to_index($substr($string, 1), $index[$first]);
6283
+			}
6284
+		} else {
6285
+					$index[$first][''] = '';
5949 6286
 		}
5950
-		else
5951
-			$index[$first][''] = '';
5952 6287
 
5953 6288
 		$depth--;
5954 6289
 		return $index;
@@ -5971,9 +6306,9 @@  discard block
 block discarded – undo
5971 6306
 			$key_regex = preg_quote($key, $delim);
5972 6307
 			$new_key = $key;
5973 6308
 
5974
-			if (empty($value))
5975
-				$sub_regex = '';
5976
-			else
6309
+			if (empty($value)) {
6310
+							$sub_regex = '';
6311
+			} else
5977 6312
 			{
5978 6313
 				$sub_regex = $index_to_regex($value, $delim);
5979 6314
 
@@ -5981,22 +6316,22 @@  discard block
 block discarded – undo
5981 6316
 				{
5982 6317
 					$new_key_array = explode('(?'.'>', $sub_regex);
5983 6318
 					$new_key .= $new_key_array[0];
6319
+				} else {
6320
+									$sub_regex = '(?'.'>' . $sub_regex . ')';
5984 6321
 				}
5985
-				else
5986
-					$sub_regex = '(?'.'>' . $sub_regex . ')';
5987 6322
 			}
5988 6323
 
5989
-			if ($depth > 1)
5990
-				$regex[$new_key] = $key_regex . $sub_regex;
5991
-			else
6324
+			if ($depth > 1) {
6325
+							$regex[$new_key] = $key_regex . $sub_regex;
6326
+			} else
5992 6327
 			{
5993 6328
 				if (($length += strlen($key_regex) + 1) < $max_length || empty($regex))
5994 6329
 				{
5995 6330
 					$regex[$new_key] = $key_regex . $sub_regex;
5996 6331
 					unset($index[$key]);
6332
+				} else {
6333
+									break;
5997 6334
 				}
5998
-				else
5999
-					break;
6000 6335
 			}
6001 6336
 		}
6002 6337
 
@@ -6005,10 +6340,11 @@  discard block
 block discarded – undo
6005 6340
 			$l1 = $strlen($k1);
6006 6341
 			$l2 = $strlen($k2);
6007 6342
 
6008
-			if ($l1 == $l2)
6009
-				return strcmp($k1, $k2) > 0 ? 1 : -1;
6010
-			else
6011
-				return $l1 > $l2 ? -1 : 1;
6343
+			if ($l1 == $l2) {
6344
+							return strcmp($k1, $k2) > 0 ? 1 : -1;
6345
+			} else {
6346
+							return $l1 > $l2 ? -1 : 1;
6347
+			}
6012 6348
 		});
6013 6349
 
6014 6350
 		$depth--;
@@ -6019,21 +6355,24 @@  discard block
 block discarded – undo
6019 6355
 	$index = array();
6020 6356
 	$regex = '';
6021 6357
 
6022
-	foreach ($strings as $string)
6023
-		$index = $add_string_to_index($string, $index);
6358
+	foreach ($strings as $string) {
6359
+			$index = $add_string_to_index($string, $index);
6360
+	}
6024 6361
 
6025 6362
 	if ($returnArray === true)
6026 6363
 	{
6027 6364
 		$regex = array();
6028
-		while (!empty($index))
6029
-			$regex[] = '(?'.'>' . $index_to_regex($index, $delim) . ')';
6365
+		while (!empty($index)) {
6366
+					$regex[] = '(?'.'>' . $index_to_regex($index, $delim) . ')';
6367
+		}
6368
+	} else {
6369
+			$regex = '(?'.'>' . $index_to_regex($index, $delim) . ')';
6030 6370
 	}
6031
-	else
6032
-		$regex = '(?'.'>' . $index_to_regex($index, $delim) . ')';
6033 6371
 
6034 6372
 	// Restore PHP's internal character encoding to whatever it was originally
6035
-	if (!empty($current_encoding))
6036
-		mb_internal_encoding($current_encoding);
6373
+	if (!empty($current_encoding)) {
6374
+			mb_internal_encoding($current_encoding);
6375
+	}
6037 6376
 
6038 6377
 	return $regex;
6039 6378
 }
@@ -6076,13 +6415,15 @@  discard block
 block discarded – undo
6076 6415
 	// Need to add the trailing slash, or it puts it there & thinks there's a redirect when there isn't...
6077 6416
 	$url = str_ireplace('https://', 'http://', $url) . '/';
6078 6417
 	$headers = @get_headers($url);
6079
-	if ($headers === false)
6080
-		return false;
6418
+	if ($headers === false) {
6419
+			return false;
6420
+	}
6081 6421
 
6082 6422
 	// Now to see if it came back https...
6083 6423
 	// First check for a redirect status code in first row (301, 302, 307)
6084
-	if (strstr($headers[0], '301') === false && strstr($headers[0], '302') === false && strstr($headers[0], '307') === false)
6085
-		return false;
6424
+	if (strstr($headers[0], '301') === false && strstr($headers[0], '302') === false && strstr($headers[0], '307') === false) {
6425
+			return false;
6426
+	}
6086 6427
 
6087 6428
 	// Search for the location entry to confirm https
6088 6429
 	$result = false;
@@ -6118,8 +6459,7 @@  discard block
 block discarded – undo
6118 6459
 		$is_admin = $user_info['is_admin'];
6119 6460
 		$mod_cache = !empty($user_info['mod_cache']) ? $user_info['mod_cache'] : null;
6120 6461
 		$ignoreboards = !empty($user_info['ignoreboards']) ? $user_info['ignoreboards'] : null;
6121
-	}
6122
-	else
6462
+	} else
6123 6463
 	{
6124 6464
 		$request = $smcFunc['db_query']('', '
6125 6465
 				SELECT mem.ignore_boards, mem.id_group, mem.additional_groups, mem.id_post_group
@@ -6133,17 +6473,19 @@  discard block
 block discarded – undo
6133 6473
 
6134 6474
 		$row = $smcFunc['db_fetch_assoc']($request);
6135 6475
 
6136
-		if (empty($row['additional_groups']))
6137
-			$groups = array($row['id_group'], $row['id_post_group']);
6138
-		else
6139
-			$groups = array_merge(
6476
+		if (empty($row['additional_groups'])) {
6477
+					$groups = array($row['id_group'], $row['id_post_group']);
6478
+		} else {
6479
+					$groups = array_merge(
6140 6480
 					array($row['id_group'], $row['id_post_group']),
6141 6481
 					explode(',', $row['additional_groups'])
6142 6482
 			);
6483
+		}
6143 6484
 
6144 6485
 		// Because history has proven that it is possible for groups to go bad - clean up in case.
6145
-		foreach ($groups as $k => $v)
6146
-			$groups[$k] = (int) $v;
6486
+		foreach ($groups as $k => $v) {
6487
+					$groups[$k] = (int) $v;
6488
+		}
6147 6489
 
6148 6490
 		$is_admin = in_array(1, $groups);
6149 6491
 
@@ -6160,8 +6502,9 @@  discard block
 block discarded – undo
6160 6502
 				'current_member' => $userid,
6161 6503
 			)
6162 6504
 		);
6163
-		while ($row = $smcFunc['db_fetch_assoc']($request))
6164
-			$boards_mod[] = $row['id_board'];
6505
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
6506
+					$boards_mod[] = $row['id_board'];
6507
+		}
6165 6508
 		$smcFunc['db_free_result']($request);
6166 6509
 
6167 6510
 		// Can any of the groups they're in moderate any of the boards?
@@ -6173,8 +6516,9 @@  discard block
 block discarded – undo
6173 6516
 				'groups' => $groups,
6174 6517
 			)
6175 6518
 		);
6176
-		while ($row = $smcFunc['db_fetch_assoc']($request))
6177
-			$boards_mod[] = $row['id_board'];
6519
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
6520
+					$boards_mod[] = $row['id_board'];
6521
+		}
6178 6522
 		$smcFunc['db_free_result']($request);
6179 6523
 
6180 6524
 		// Just in case we've got duplicates here...
@@ -6184,21 +6528,25 @@  discard block
 block discarded – undo
6184 6528
 	}
6185 6529
 
6186 6530
 	// Just build this here, it makes it easier to change/use - administrators can see all boards.
6187
-	if ($is_admin)
6188
-		$query_part['query_see_board'] = '1=1';
6531
+	if ($is_admin) {
6532
+			$query_part['query_see_board'] = '1=1';
6533
+	}
6189 6534
 	// Otherwise just the groups in $user_info['groups'].
6190
-	else
6191
-		$query_part['query_see_board'] = '((FIND_IN_SET(' . implode(', b.member_groups) != 0 OR FIND_IN_SET(', $groups) . ', b.member_groups) != 0)' . (!empty($deny_boards_access) ? ' AND (FIND_IN_SET(' . implode(', b.deny_member_groups) = 0 AND FIND_IN_SET(', $groups) . ', b.deny_member_groups) = 0)' : '') . (isset($mod_cache) ? ' OR ' . $mod_cache['mq'] : '') . ')';
6535
+	else {
6536
+			$query_part['query_see_board'] = '((FIND_IN_SET(' . implode(', b.member_groups) != 0 OR FIND_IN_SET(', $groups) . ', b.member_groups) != 0)' . (!empty($deny_boards_access) ? ' AND (FIND_IN_SET(' . implode(', b.deny_member_groups) = 0 AND FIND_IN_SET(', $groups) . ', b.deny_member_groups) = 0)' : '') . (isset($mod_cache) ? ' OR ' . $mod_cache['mq'] : '') . ')';
6537
+	}
6192 6538
 
6193 6539
 	// Build the list of boards they WANT to see.
6194 6540
 	// This will take the place of query_see_boards in certain spots, so it better include the boards they can see also
6195 6541
 
6196 6542
 	// If they aren't ignoring any boards then they want to see all the boards they can see
6197
-	if (empty($ignoreboards))
6198
-		$query_part['query_wanna_see_board'] = $query_part['query_see_board'];
6543
+	if (empty($ignoreboards)) {
6544
+			$query_part['query_wanna_see_board'] = $query_part['query_see_board'];
6545
+	}
6199 6546
 	// Ok I guess they don't want to see all the boards
6200
-	else
6201
-		$query_part['query_wanna_see_board'] = '(' . $query_part['query_see_board'] . ' AND b.id_board NOT IN (' . implode(',', $ignoreboards) . '))';
6547
+	else {
6548
+			$query_part['query_wanna_see_board'] = '(' . $query_part['query_see_board'] . ' AND b.id_board NOT IN (' . implode(',', $ignoreboards) . '))';
6549
+	}
6202 6550
 
6203 6551
 	return $query_part;
6204 6552
 }
@@ -6212,10 +6560,11 @@  discard block
 block discarded – undo
6212 6560
 {
6213 6561
 	$secure = false;
6214 6562
 
6215
-	if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on')
6216
-		$secure = true;
6217
-	elseif (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' || !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on')
6218
-		$secure = true;
6563
+	if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') {
6564
+			$secure = true;
6565
+	} elseif (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' || !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on') {
6566
+			$secure = true;
6567
+	}
6219 6568
 
6220 6569
 	return $secure;
6221 6570
 }
Please login to merge, or discard this patch.