Completed
Push — release-2.1 ( e55abf...f15ab1 )
by
unknown
08:31
created
Sources/Subs.php 2 patches
Doc Comments   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -693,7 +693,7 @@  discard block
 block discarded – undo
693 693
  * - caches the formatting data from the setting for optimization.
694 694
  *
695 695
  * @param float $number A number
696
- * @param bool|int $override_decimal_count If set, will use the specified number of decimal places. Otherwise it's automatically determined
696
+ * @param integer $override_decimal_count If set, will use the specified number of decimal places. Otherwise it's automatically determined
697 697
  * @return string A formatted number
698 698
  */
699 699
 function comma_format($number, $override_decimal_count = false)
@@ -5646,7 +5646,7 @@  discard block
 block discarded – undo
5646 5646
  * It assumes the data is already a string.
5647 5647
  * @param string $data The data to print
5648 5648
  * @param string $type The content type. Defaults to Json.
5649
- * @return void
5649
+ * @return false|null
5650 5650
  */
5651 5651
 function smf_serverResponse($data = '', $type = 'content-type: application/json')
5652 5652
 {
Please login to merge, or discard this 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.png', 'cheesy.png', 'rolleyes.png', 'angry.png', 'laugh.png', 'smiley.png', 'wink.png', 'grin.png', 'sad.png', 'shocked.png', 'cool.png', 'tongue.png', 'huh.png', 'embarrassed.png', 'lipsrsealed.png', 'kiss.png', 'cry.png', 'undecided.png', 'azn.png', 'afro.png', 'police.png', 'angel.png');
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.
Packages/index.php 1 patch
Braces   +2 added lines, -1 removed lines patch added patch discarded remove patch
@@ -12,7 +12,8 @@
 block discarded – undo
12 12
 	header('location: ' . $boardurl);
13 13
 }
14 14
 // Can't find it... just forget it.
15
-else
15
+else {
16 16
 	exit;
17
+}
17 18
 
18 19
 ?>
19 20
\ No newline at end of file
Please login to merge, or discard this patch.
cron.php 1 patch
Braces   +36 added lines, -28 removed lines patch added patch discarded remove patch
@@ -41,37 +41,43 @@  discard block
 block discarded – undo
41 41
 define('TIME_START', microtime(true));
42 42
 
43 43
 // Just being safe...
44
-foreach (array('db_character_set', 'cachedir') as $variable)
44
+foreach (array('db_character_set', 'cachedir') as $variable) {
45 45
 	if (isset($GLOBALS[$variable]))
46 46
 		unset($GLOBALS[$variable]);
47
+}
47 48
 
48 49
 // Get the forum's settings for database and file paths.
49 50
 require_once(dirname(__FILE__) . '/Settings.php');
50 51
 
51 52
 // Make absolutely sure the cache directory is defined.
52
-if ((empty($cachedir) || !file_exists($cachedir)) && file_exists($boarddir . '/cache'))
53
+if ((empty($cachedir) || !file_exists($cachedir)) && file_exists($boarddir . '/cache')) {
53 54
 	$cachedir = $boarddir . '/cache';
55
+}
54 56
 
55 57
 // Don't do john didley if the forum's been shut down competely.
56
-if ($maintenance == 2)
58
+if ($maintenance == 2) {
57 59
 	die($mmessage);
60
+}
58 61
 
59 62
 // Fix for using the current directory as a path.
60
-if (substr($sourcedir, 0, 1) == '.' && substr($sourcedir, 1, 1) != '.')
63
+if (substr($sourcedir, 0, 1) == '.' && substr($sourcedir, 1, 1) != '.') {
61 64
 	$sourcedir = dirname(__FILE__) . substr($sourcedir, 1);
65
+}
62 66
 
63 67
 // Have we already turned this off? If so, exist gracefully.
64
-if (file_exists($cachedir . '/cron.lock'))
68
+if (file_exists($cachedir . '/cron.lock')) {
65 69
 	obExit_cron();
70
+}
66 71
 
67 72
 // Before we go any further, if this is not a CLI request, we need to do some checking.
68 73
 if (!FROM_CLI)
69 74
 {
70 75
 	// We will clean up $_GET shortly. But we want to this ASAP.
71 76
 	$ts = isset($_GET['ts']) ? (int) $_GET['ts'] : 0;
72
-	if ($ts <= 0 || $ts % 15 != 0 || time() - $ts < 0 || time() - $ts > 20)
73
-		obExit_cron();
74
-}
77
+	if ($ts <= 0 || $ts % 15 != 0 || time() - $ts < 0 || time() - $ts > 20) {
78
+			obExit_cron();
79
+	}
80
+	}
75 81
 
76 82
 // Load the most important includes. In general, a background should be loading its own dependencies.
77 83
 require_once($sourcedir . '/Errors.php');
@@ -123,8 +129,9 @@  discard block
 block discarded – undo
123 129
 	global $smcFunc;
124 130
 
125 131
 	// Check we haven't run over our time limit.
126
-	if (microtime(true) - TIME_START > MAX_CRON_TIME)
127
-		return false;
132
+	if (microtime(true) - TIME_START > MAX_CRON_TIME) {
133
+			return false;
134
+	}
128 135
 
129 136
 	// Try to find a task. Specifically, try to find one that hasn't been claimed previously, or failing that,
130 137
 	// a task that was claimed but failed for whatever reason and failed long enough ago. We should not care
@@ -159,14 +166,12 @@  discard block
 block discarded – undo
159 166
 			// Update the time and go back.
160 167
 			$row['claimed_time'] = time();
161 168
 			return $row;
162
-		}
163
-		else
169
+		} else
164 170
 		{
165 171
 			// Uh oh, we just missed it. Try to claim another one, and let it fall through if there aren't any.
166 172
 			return fetch_task();
167 173
 		}
168
-	}
169
-	else
174
+	} else
170 175
 	{
171 176
 		// No dice. Clean up and go home.
172 177
 		$smcFunc['db_free_result']($request);
@@ -187,8 +192,9 @@  discard block
 block discarded – undo
187 192
 	if (!empty($task_details['task_file']))
188 193
 	{
189 194
 		$include = strtr(trim($task_details['task_file']), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir));
190
-		if (file_exists($include))
191
-			require_once($include);
195
+		if (file_exists($include)) {
196
+					require_once($include);
197
+		}
192 198
 	}
193 199
 
194 200
 	if (empty($task_details['task_class']))
@@ -204,8 +210,7 @@  discard block
 block discarded – undo
204 210
 		$details = empty($task_details['task_data']) ? array() : $smcFunc['json_decode']($task_details['task_data'], true);
205 211
 		$bgtask = new $task_details['task_class']($details);
206 212
 		return $bgtask->execute();
207
-	}
208
-	else
213
+	} else
209 214
 	{
210 215
 		log_error('Invalid background task specified: (class: ' . $task_details['task_class'] . ', ' . (empty($task_details['task_file']) ? ' no file' : ' to load ' . $task_details['task_file']) . ')');
211 216
 		return true; // So we clear it from the queue.
@@ -224,8 +229,9 @@  discard block
 block discarded – undo
224 229
 	$scripturl = $boardurl . '/index.php';
225 230
 
226 231
 	// These keys shouldn't be set...ever.
227
-	if (isset($_REQUEST['GLOBALS']) || isset($_COOKIE['GLOBALS']))
228
-		die('Invalid request variable.');
232
+	if (isset($_REQUEST['GLOBALS']) || isset($_COOKIE['GLOBALS'])) {
233
+			die('Invalid request variable.');
234
+	}
229 235
 
230 236
 	// Save some memory.. (since we don't use these anyway.)
231 237
 	unset($GLOBALS['HTTP_POST_VARS'], $GLOBALS['HTTP_POST_VARS']);
@@ -246,26 +252,28 @@  discard block
 block discarded – undo
246 252
 	global $modSettings;
247 253
 
248 254
 	// Ignore errors if we're ignoring them or they are strict notices from PHP 5
249
-	if (error_reporting() == 0)
250
-		return;
255
+	if (error_reporting() == 0) {
256
+			return;
257
+	}
251 258
 
252 259
 	$error_type = 'cron';
253 260
 
254 261
 	log_error($error_level . ': ' . $error_string, $error_type, $file, $line);
255 262
 
256 263
 	// If this is an E_ERROR or E_USER_ERROR.... die.  Violently so.
257
-	if ($error_level % 255 == E_ERROR)
258
-		die('No direct access...');
259
-}
264
+	if ($error_level % 255 == E_ERROR) {
265
+			die('No direct access...');
266
+	}
267
+	}
260 268
 
261 269
 /**
262 270
  * The exit function
263 271
  */
264 272
 function obExit_cron()
265 273
 {
266
-	if (FROM_CLI)
267
-		die(0);
268
-	else
274
+	if (FROM_CLI) {
275
+			die(0);
276
+	} else
269 277
 	{
270 278
 		header('content-type: image/gif');
271 279
 		die("\x47\x49\x46\x38\x39\x61\x01\x00\x01\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x21\xF9\x04\x01\x00\x00\x00\x00\x2C\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02\x44\x01\x00\x3B");
Please login to merge, or discard this patch.
Sources/ShowAttachments.php 1 patch
Braces   +59 added lines, -52 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
  * Downloads an avatar or attachment based on $_GET['attach'], and increments the download count.
@@ -40,11 +41,11 @@  discard block
 block discarded – undo
40 41
 
41 42
 	if (!empty($modSettings['enableCompressedOutput']) && !headers_sent() && ob_get_length() == 0)
42 43
 	{
43
-		if (@ini_get('zlib.output_compression') == '1' || @ini_get('output_handler') == 'ob_gzhandler')
44
-			$modSettings['enableCompressedOutput'] = 0;
45
-
46
-		else
47
-			ob_start('ob_gzhandler');
44
+		if (@ini_get('zlib.output_compression') == '1' || @ini_get('output_handler') == 'ob_gzhandler') {
45
+					$modSettings['enableCompressedOutput'] = 0;
46
+		} else {
47
+					ob_start('ob_gzhandler');
48
+		}
48 49
 	}
49 50
 
50 51
 	if (empty($modSettings['enableCompressedOutput']))
@@ -76,8 +77,9 @@  discard block
 block discarded – undo
76 77
 	}
77 78
 
78 79
 	// Use cache when possible.
79
-	if (($cache = cache_get_data('attachment_lookup_id-' . $attachId)) != null)
80
-		list($file, $thumbFile) = $cache;
80
+	if (($cache = cache_get_data('attachment_lookup_id-' . $attachId)) != null) {
81
+			list($file, $thumbFile) = $cache;
82
+	}
81 83
 
82 84
 	// Get the info from the DB.
83 85
 	if (empty($file) || empty($thumbFile) && !empty($file['id_thumb']))
@@ -85,10 +87,9 @@  discard block
 block discarded – undo
85 87
 		// Do we have a hook wanting to use our attachment system? We use $attachRequest to prevent accidental usage of $request.
86 88
 		$attachRequest = null;
87 89
 		call_integration_hook('integrate_download_request', array(&$attachRequest));
88
-		if (!is_null($attachRequest) && $smcFunc['db_is_resource']($attachRequest))
89
-			$request = $attachRequest;
90
-
91
-		else
90
+		if (!is_null($attachRequest) && $smcFunc['db_is_resource']($attachRequest)) {
91
+					$request = $attachRequest;
92
+		} else
92 93
 		{
93 94
 			// Make sure this attachment is on this board and load its info while we are at it.
94 95
 			$request = $smcFunc['db_query']('', '
@@ -181,13 +182,15 @@  discard block
 block discarded – undo
181 182
 		}
182 183
 
183 184
 		// Cache it.
184
-		if (!empty($file) || !empty($thumbFile))
185
-			cache_put_data('attachment_lookup_id-' . $file['id_attach'], array($file, $thumbFile), mt_rand(850, 900));
185
+		if (!empty($file) || !empty($thumbFile)) {
186
+					cache_put_data('attachment_lookup_id-' . $file['id_attach'], array($file, $thumbFile), mt_rand(850, 900));
187
+		}
186 188
 	}
187 189
 
188 190
 	// Replace the normal file with its thumbnail if it has one!
189
-	if (!empty($showThumb) && !empty($thumbFile))
190
-		$file = $thumbFile;
191
+	if (!empty($showThumb) && !empty($thumbFile)) {
192
+			$file = $thumbFile;
193
+	}
191 194
 
192 195
 	// No point in a nicer message, because this is supposed to be an attachment anyway...
193 196
 	if (!file_exists($file['filePath']))
@@ -237,8 +240,8 @@  discard block
 block discarded – undo
237 240
 	}
238 241
 
239 242
 	// Update the download counter (unless it's a thumbnail or resuming an incomplete download).
240
-	if ($file['attachment_type'] != 3 && empty($showThumb) && $range === 0)
241
-		$smcFunc['db_query']('', '
243
+	if ($file['attachment_type'] != 3 && empty($showThumb) && $range === 0) {
244
+			$smcFunc['db_query']('', '
242 245
 			UPDATE {db_prefix}attachments
243 246
 			SET downloads = downloads + 1
244 247
 			WHERE id_attach = {int:id_attach}',
@@ -246,12 +249,14 @@  discard block
 block discarded – undo
246 249
 				'id_attach' => $attachId,
247 250
 			)
248 251
 		);
252
+	}
249 253
 
250 254
 	// Send the attachment headers.
251 255
 	header('pragma: ');
252 256
 
253
-	if (!isBrowser('gecko'))
254
-		header('content-transfer-encoding: binary');
257
+	if (!isBrowser('gecko')) {
258
+			header('content-transfer-encoding: binary');
259
+	}
255 260
 
256 261
 	header('expires: ' . gmdate('D, d M Y H:i:s', time() + 525600 * 60) . ' GMT');
257 262
 	header('last-modified: ' . gmdate('D, d M Y H:i:s', filemtime($file['filePath'])) . ' GMT');
@@ -260,18 +265,19 @@  discard block
 block discarded – undo
260 265
 	header('etag: ' . $eTag);
261 266
 
262 267
 	// Make sure the mime type warrants an inline display.
263
-	if (isset($_REQUEST['image']) && !empty($file['mime_type']) && strpos($file['mime_type'], 'image/') !== 0)
264
-		unset($_REQUEST['image']);
268
+	if (isset($_REQUEST['image']) && !empty($file['mime_type']) && strpos($file['mime_type'], 'image/') !== 0) {
269
+			unset($_REQUEST['image']);
270
+	}
265 271
 
266 272
 	// Does this have a mime type?
267
-	elseif (!empty($file['mime_type']) && (isset($_REQUEST['image']) || !in_array($file['fileext'], array('jpg', 'gif', 'jpeg', 'x-ms-bmp', 'png', 'psd', 'tiff', 'iff'))))
268
-		header('content-type: ' . strtr($file['mime_type'], array('image/bmp' => 'image/x-ms-bmp')));
269
-
270
-	else
273
+	elseif (!empty($file['mime_type']) && (isset($_REQUEST['image']) || !in_array($file['fileext'], array('jpg', 'gif', 'jpeg', 'x-ms-bmp', 'png', 'psd', 'tiff', 'iff')))) {
274
+			header('content-type: ' . strtr($file['mime_type'], array('image/bmp' => 'image/x-ms-bmp')));
275
+	} else
271 276
 	{
272 277
 		header('content-type: ' . (isBrowser('ie') || isBrowser('opera') ? 'application/octetstream' : 'application/octet-stream'));
273
-		if (isset($_REQUEST['image']))
274
-			unset($_REQUEST['image']);
278
+		if (isset($_REQUEST['image'])) {
279
+					unset($_REQUEST['image']);
280
+		}
275 281
 	}
276 282
 
277 283
 	// Convert the file to UTF-8, cuz most browsers dig that.
@@ -279,24 +285,22 @@  discard block
 block discarded – undo
279 285
 	$disposition = !isset($_REQUEST['image']) ? 'attachment' : 'inline';
280 286
 
281 287
 	// Different browsers like different standards...
282
-	if (isBrowser('firefox'))
283
-		header('content-disposition: ' . $disposition . '; filename*=UTF-8\'\'' . rawurlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)));
284
-
285
-	elseif (isBrowser('opera'))
286
-		header('content-disposition: ' . $disposition . '; filename="' . preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name) . '"');
287
-
288
-	elseif (isBrowser('ie'))
289
-		header('content-disposition: ' . $disposition . '; filename="' . urlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)) . '"');
290
-
291
-	else
292
-		header('content-disposition: ' . $disposition . '; filename="' . $utf8name . '"');
288
+	if (isBrowser('firefox')) {
289
+			header('content-disposition: ' . $disposition . '; filename*=UTF-8\'\'' . rawurlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)));
290
+	} elseif (isBrowser('opera')) {
291
+			header('content-disposition: ' . $disposition . '; filename="' . preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name) . '"');
292
+	} elseif (isBrowser('ie')) {
293
+			header('content-disposition: ' . $disposition . '; filename="' . urlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)) . '"');
294
+	} else {
295
+			header('content-disposition: ' . $disposition . '; filename="' . $utf8name . '"');
296
+	}
293 297
 
294 298
 	// If this has an "image extension" - but isn't actually an image - then ensure it isn't cached cause of silly IE.
295
-	if (!isset($_REQUEST['image']) && in_array($file['fileext'], array('gif', 'jpg', 'bmp', 'png', 'jpeg', 'tiff')))
296
-		header('cache-control: no-cache');
297
-
298
-	else
299
-		header('cache-control: max-age=' . (525600 * 60) . ', private');
299
+	if (!isset($_REQUEST['image']) && in_array($file['fileext'], array('gif', 'jpg', 'bmp', 'png', 'jpeg', 'tiff'))) {
300
+			header('cache-control: no-cache');
301
+	} else {
302
+			header('cache-control: max-age=' . (525600 * 60) . ', private');
303
+	}
300 304
 
301 305
 	// Multipart and resuming support
302 306
 	if (isset($_SERVER['HTTP_RANGE']))
@@ -304,9 +308,9 @@  discard block
 block discarded – undo
304 308
 		header("HTTP/1.1 206 Partial Content");
305 309
 		header("content-length: $new_length");
306 310
 		header("content-range: bytes $range-$range_end/$size");
311
+	} else {
312
+			header("content-length: " . $size);
307 313
 	}
308
-	else
309
-		header("content-length: " . $size);
310 314
 
311 315
 
312 316
 	// Try to buy some time...
@@ -315,8 +319,9 @@  discard block
 block discarded – undo
315 319
 	// For multipart/resumable downloads, send the requested chunk(s) of the file
316 320
 	if (isset($_SERVER['HTTP_RANGE']))
317 321
 	{
318
-		while (@ob_get_level() > 0)
319
-			@ob_end_clean();
322
+		while (@ob_get_level() > 0) {
323
+					@ob_end_clean();
324
+		}
320 325
 
321 326
 		// 40 kilobytes is a good-ish amount
322 327
 		$chunksize = 40 * 1024;
@@ -340,8 +345,9 @@  discard block
 block discarded – undo
340 345
 	elseif ($size > 4194304)
341 346
 	{
342 347
 		// Forcibly end any output buffering going on.
343
-		while (@ob_get_level() > 0)
344
-			@ob_end_clean();
348
+		while (@ob_get_level() > 0) {
349
+					@ob_end_clean();
350
+		}
345 351
 
346 352
 		$fp = fopen($file['filePath'], 'rb');
347 353
 		while (!feof($fp))
@@ -353,8 +359,9 @@  discard block
 block discarded – undo
353 359
 	}
354 360
 
355 361
 	// On some of the less-bright hosts, readfile() is disabled.  It's just a faster, more byte safe, version of what's in the if.
356
-	elseif (@readfile($file['filePath']) === null)
357
-		echo file_get_contents($file['filePath']);
362
+	elseif (@readfile($file['filePath']) === null) {
363
+			echo file_get_contents($file['filePath']);
364
+	}
358 365
 
359 366
 	die();
360 367
 }
Please login to merge, or discard this patch.
Sources/Subs-Package.php 1 patch
Braces   +856 added lines, -671 removed lines patch added patch discarded remove patch
@@ -16,8 +16,9 @@  discard block
 block discarded – undo
16 16
  * @version 2.1 Beta 4
17 17
  */
18 18
 
19
-if (!defined('SMF'))
19
+if (!defined('SMF')) {
20 20
 	die('No direct access...');
21
+}
21 22
 
22 23
 /**
23 24
  * Reads a .tar.gz file, filename, in and extracts file(s) from it.
@@ -67,47 +68,53 @@  discard block
 block discarded – undo
67 68
 	loadLanguage('Packages');
68 69
 
69 70
 	// This function sorta needs gzinflate!
70
-	if (!function_exists('gzinflate'))
71
-		fatal_lang_error('package_no_zlib', 'critical');
71
+	if (!function_exists('gzinflate')) {
72
+			fatal_lang_error('package_no_zlib', 'critical');
73
+	}
72 74
 
73 75
 	if (substr($gzfilename, 0, 7) == 'http://' || substr($gzfilename, 0, 8) == 'https://')
74 76
 	{
75 77
 		$data = fetch_web_data($gzfilename);
76 78
 
77
-		if ($data === false)
78
-			return false;
79
-	}
80
-	else
79
+		if ($data === false) {
80
+					return false;
81
+		}
82
+	} else
81 83
 	{
82 84
 		$data = @file_get_contents($gzfilename);
83 85
 
84
-		if ($data === false)
85
-			return false;
86
+		if ($data === false) {
87
+					return false;
88
+		}
86 89
 	}
87 90
 
88 91
 	umask(0);
89
-	if (!$single_file && $destination !== null && !file_exists($destination))
90
-		mktree($destination, 0777);
92
+	if (!$single_file && $destination !== null && !file_exists($destination)) {
93
+			mktree($destination, 0777);
94
+	}
91 95
 
92 96
 	// No signature?
93
-	if (strlen($data) < 2)
94
-		return false;
97
+	if (strlen($data) < 2) {
98
+			return false;
99
+	}
95 100
 
96 101
 	$id = unpack('H2a/H2b', substr($data, 0, 2));
97 102
 	if (strtolower($id['a'] . $id['b']) != '1f8b')
98 103
 	{
99 104
 		// Okay, this ain't no tar.gz, but maybe it's a zip file.
100
-		if (substr($data, 0, 2) == 'PK')
101
-			return read_zip_file($gzfilename, $destination, $single_file, $overwrite, $files_to_extract);
102
-		else
103
-			return false;
105
+		if (substr($data, 0, 2) == 'PK') {
106
+					return read_zip_file($gzfilename, $destination, $single_file, $overwrite, $files_to_extract);
107
+		} else {
108
+					return false;
109
+		}
104 110
 	}
105 111
 
106 112
 	$flags = unpack('Ct/Cf', substr($data, 2, 2));
107 113
 
108 114
 	// Not deflate!
109
-	if ($flags['t'] != 8)
110
-		return false;
115
+	if ($flags['t'] != 8) {
116
+			return false;
117
+	}
111 118
 	$flags = $flags['f'];
112 119
 
113 120
 	$offset = 10;
@@ -117,18 +124,21 @@  discard block
 block discarded – undo
117 124
 	// @todo Might be mussed.
118 125
 	if ($flags & 12)
119 126
 	{
120
-		while ($flags & 8 && $data{$offset++} != "\0")
121
-			continue;
122
-		while ($flags & 4 && $data{$offset++} != "\0")
123
-			continue;
127
+		while ($flags & 8 && $data{$offset++} != "\0") {
128
+					continue;
129
+		}
130
+		while ($flags & 4 && $data{$offset++} != "\0") {
131
+					continue;
132
+		}
124 133
 	}
125 134
 
126 135
 	$crc = unpack('Vcrc32/Visize', substr($data, strlen($data) - 8, 8));
127 136
 	$data = @gzinflate(substr($data, $offset, strlen($data) - 8 - $offset));
128 137
 
129 138
 	// smf_crc32 and crc32 may not return the same results, so we accept either.
130
-	if ($crc['crc32'] != smf_crc32($data) && $crc['crc32'] != crc32($data))
131
-		return false;
139
+	if ($crc['crc32'] != smf_crc32($data) && $crc['crc32'] != crc32($data)) {
140
+			return false;
141
+	}
132 142
 
133 143
 	$blocks = strlen($data) / 512 - 1;
134 144
 	$offset = 0;
@@ -149,83 +159,98 @@  discard block
 block discarded – undo
149 159
 
150 160
 		foreach ($current as $k => $v)
151 161
 		{
152
-			if (in_array($k, $octdec))
153
-				$current[$k] = octdec(trim($v));
154
-			else
155
-				$current[$k] = trim($v);
162
+			if (in_array($k, $octdec)) {
163
+							$current[$k] = octdec(trim($v));
164
+			} else {
165
+							$current[$k] = trim($v);
166
+			}
156 167
 		}
157 168
 
158
-		if ($current['type'] == 5 && substr($current['filename'], -1) != '/')
159
-			$current['filename'] .= '/';
169
+		if ($current['type'] == 5 && substr($current['filename'], -1) != '/') {
170
+					$current['filename'] .= '/';
171
+		}
160 172
 
161 173
 		$checksum = 256;
162
-		for ($i = 0; $i < 148; $i++)
163
-			$checksum += ord($header{$i});
164
-		for ($i = 156; $i < 512; $i++)
165
-			$checksum += ord($header{$i});
174
+		for ($i = 0; $i < 148; $i++) {
175
+					$checksum += ord($header{$i});
176
+		}
177
+		for ($i = 156; $i < 512; $i++) {
178
+					$checksum += ord($header{$i});
179
+		}
166 180
 
167
-		if ($current['checksum'] != $checksum)
168
-			break;
181
+		if ($current['checksum'] != $checksum) {
182
+					break;
183
+		}
169 184
 
170 185
 		$size = ceil($current['size'] / 512);
171 186
 		$current['data'] = substr($data, ++$offset << 9, $current['size']);
172 187
 		$offset += $size;
173 188
 
174 189
 		// Not a directory and doesn't exist already...
175
-		if (substr($current['filename'], -1, 1) != '/' && !file_exists($destination . '/' . $current['filename']))
176
-			$write_this = true;
190
+		if (substr($current['filename'], -1, 1) != '/' && !file_exists($destination . '/' . $current['filename'])) {
191
+					$write_this = true;
192
+		}
177 193
 		// File exists... check if it is newer.
178
-		elseif (substr($current['filename'], -1, 1) != '/')
179
-			$write_this = $overwrite || filemtime($destination . '/' . $current['filename']) < $current['mtime'];
194
+		elseif (substr($current['filename'], -1, 1) != '/') {
195
+					$write_this = $overwrite || filemtime($destination . '/' . $current['filename']) < $current['mtime'];
196
+		}
180 197
 		// Folder... create.
181 198
 		elseif ($destination !== null && !$single_file)
182 199
 		{
183 200
 			// Protect from accidental parent directory writing...
184 201
 			$current['filename'] = strtr($current['filename'], array('../' => '', '/..' => ''));
185 202
 
186
-			if (!file_exists($destination . '/' . $current['filename']))
187
-				mktree($destination . '/' . $current['filename'], 0777);
203
+			if (!file_exists($destination . '/' . $current['filename'])) {
204
+							mktree($destination . '/' . $current['filename'], 0777);
205
+			}
188 206
 			$write_this = false;
207
+		} else {
208
+					$write_this = false;
189 209
 		}
190
-		else
191
-			$write_this = false;
192 210
 
193 211
 		if ($write_this && $destination !== null)
194 212
 		{
195
-			if (strpos($current['filename'], '/') !== false && !$single_file)
196
-				mktree($destination . '/' . dirname($current['filename']), 0777);
213
+			if (strpos($current['filename'], '/') !== false && !$single_file) {
214
+							mktree($destination . '/' . dirname($current['filename']), 0777);
215
+			}
197 216
 
198 217
 			// Is this the file we're looking for?
199
-			if ($single_file && ($destination == $current['filename'] || $destination == '*/' . basename($current['filename'])))
200
-				return $current['data'];
218
+			if ($single_file && ($destination == $current['filename'] || $destination == '*/' . basename($current['filename']))) {
219
+							return $current['data'];
220
+			}
201 221
 			// If we're looking for another file, keep going.
202
-			elseif ($single_file)
203
-				continue;
222
+			elseif ($single_file) {
223
+							continue;
224
+			}
204 225
 			// Looking for restricted files?
205
-			elseif ($files_to_extract !== null && !in_array($current['filename'], $files_to_extract))
206
-				continue;
226
+			elseif ($files_to_extract !== null && !in_array($current['filename'], $files_to_extract)) {
227
+							continue;
228
+			}
207 229
 
208 230
 			package_put_contents($destination . '/' . $current['filename'], $current['data']);
209 231
 		}
210 232
 
211
-		if (substr($current['filename'], -1, 1) != '/')
212
-			$return[] = array(
233
+		if (substr($current['filename'], -1, 1) != '/') {
234
+					$return[] = array(
213 235
 				'filename' => $current['filename'],
214 236
 				'md5' => md5($current['data']),
215 237
 				'preview' => substr($current['data'], 0, 100),
216 238
 				'size' => $current['size'],
217 239
 				'skipped' => false
218 240
 			);
241
+		}
219 242
 	}
220 243
 
221
-	if ($destination !== null && !$single_file)
222
-		package_flush_cache();
244
+	if ($destination !== null && !$single_file) {
245
+			package_flush_cache();
246
+	}
223 247
 
224
-	if ($single_file)
225
-		return false;
226
-	else
227
-		return $return;
228
-}
248
+	if ($single_file) {
249
+			return false;
250
+	} else {
251
+			return $return;
252
+	}
253
+	}
229 254
 
230 255
 /**
231 256
  * Extract zip data. A functional copy of {@list read_zip_data()}.
@@ -247,9 +272,10 @@  discard block
 block discarded – undo
247 272
 		$return = array();
248 273
 
249 274
 		// Some hosted unix platforms require an extension; win may have .tmp & that works ok
250
-		if (!in_array(strtolower(pathinfo($file, PATHINFO_EXTENSION)), array('zip', 'tmp')))
251
-			if (@rename($file, $file . '.zip'))
275
+		if (!in_array(strtolower(pathinfo($file, PATHINFO_EXTENSION)), array('zip', 'tmp'))) {
276
+					if (@rename($file, $file . '.zip'))
252 277
 				$file = $file . '.zip';
278
+		}
253 279
 
254 280
 		$archive = new PharData($file, RecursiveIteratorIterator::SELF_FIRST, null, Phar::ZIP);
255 281
 		$iterator = new RecursiveIteratorIterator($archive, RecursiveIteratorIterator::SELF_FIRST);
@@ -259,65 +285,74 @@  discard block
 block discarded – undo
259 285
 			{
260 286
 				$i = $iterator->getSubPathname();
261 287
 				// If this is a file, and it doesn't exist.... happy days!
262
-				if (substr($i, -1) != '/' && !file_exists($destination . '/' . $i))
263
-					$write_this = true;
288
+				if (substr($i, -1) != '/' && !file_exists($destination . '/' . $i)) {
289
+									$write_this = true;
290
+				}
264 291
 				// If the file exists, we may not want to overwrite it.
265
-				elseif (substr($i, -1) != '/')
266
-					$write_this = $overwrite;
267
-				else
268
-					$write_this = false;
292
+				elseif (substr($i, -1) != '/') {
293
+									$write_this = $overwrite;
294
+				} else {
295
+									$write_this = false;
296
+				}
269 297
 
270 298
 				// Get the actual compressed data.
271
-				if (!$file_info->isDir())
272
-					$file_data = file_get_contents($file_info);
273
-				elseif ($destination !== null && !$single_file)
299
+				if (!$file_info->isDir()) {
300
+									$file_data = file_get_contents($file_info);
301
+				} elseif ($destination !== null && !$single_file)
274 302
 				{
275 303
 					// Folder... create.
276
-					if (!file_exists($destination . '/' . $i))
277
-						mktree($destination . '/' . $i, 0777);
304
+					if (!file_exists($destination . '/' . $i)) {
305
+											mktree($destination . '/' . $i, 0777);
306
+					}
278 307
 					$file_data = null;
308
+				} else {
309
+									$file_data = null;
279 310
 				}
280
-				else
281
-					$file_data = null;
282 311
 
283 312
 				// Okay!  We can write this file, looks good from here...
284 313
 				if ($write_this && $destination !== null)
285 314
 				{
286
-					if (!$single_file && !is_dir($destination . '/' . dirname($i)))
287
-						mktree($destination . '/' . dirname($i), 0777);
315
+					if (!$single_file && !is_dir($destination . '/' . dirname($i))) {
316
+											mktree($destination . '/' . dirname($i), 0777);
317
+					}
288 318
 
289 319
 					// If we're looking for a specific file, and this is it... ka-bam, baby.
290
-					if ($single_file && ($destination == $i || $destination == '*/' . basename($i)))
291
-						return $file_data;
320
+					if ($single_file && ($destination == $i || $destination == '*/' . basename($i))) {
321
+											return $file_data;
322
+					}
292 323
 					// Oh?  Another file.  Fine.  You don't like this file, do you?  I know how it is.  Yeah... just go away.  No, don't apologize.  I know this file's just not *good enough* for you.
293
-					elseif ($single_file)
294
-						continue;
324
+					elseif ($single_file) {
325
+											continue;
326
+					}
295 327
 					// Don't really want this?
296
-					elseif ($files_to_extract !== null && !in_array($i, $files_to_extract))
297
-						continue;
328
+					elseif ($files_to_extract !== null && !in_array($i, $files_to_extract)) {
329
+											continue;
330
+					}
298 331
 
299 332
 					package_put_contents($destination . '/' . $i, $file_data);
300 333
 				}
301 334
 
302
-				if (substr($i, -1, 1) != '/')
303
-					$return[] = array(
335
+				if (substr($i, -1, 1) != '/') {
336
+									$return[] = array(
304 337
 						'filename' => $i,
305 338
 						'md5' => md5($file_data),
306 339
 						'preview' => substr($file_data, 0, 100),
307 340
 						'size' => strlen($file_data),
308 341
 						'skipped' => false
309 342
 					);
343
+				}
310 344
 			}
311 345
 
312
-		if ($destination !== null && !$single_file)
313
-			package_flush_cache();
346
+		if ($destination !== null && !$single_file) {
347
+					package_flush_cache();
348
+		}
314 349
 
315
-		if ($single_file)
316
-			return false;
317
-		else
318
-			return $return;
319
-	}
320
-	catch (Exception $e)
350
+		if ($single_file) {
351
+					return false;
352
+		} else {
353
+					return $return;
354
+		}
355
+	} catch (Exception $e)
321 356
 	{
322 357
 		log_error($e->getMessage(), 'general', $e->getFile(), $e->getLine());
323 358
 		return false;
@@ -340,13 +375,15 @@  discard block
 block discarded – undo
340 375
 function read_zip_data($data, $destination, $single_file = false, $overwrite = false, $files_to_extract = null)
341 376
 {
342 377
 	umask(0);
343
-	if ($destination !== null && !file_exists($destination) && !$single_file)
344
-		mktree($destination, 0777);
378
+	if ($destination !== null && !file_exists($destination) && !$single_file) {
379
+			mktree($destination, 0777);
380
+	}
345 381
 
346 382
 	// Look for the end of directory signature 0x06054b50
347 383
 	$data_ecr = explode("\x50\x4b\x05\x06", $data);
348
-	if (!isset($data_ecr[1]))
349
-		return false;
384
+	if (!isset($data_ecr[1])) {
385
+			return false;
386
+	}
350 387
 
351 388
 	$return = array();
352 389
 
@@ -361,8 +398,9 @@  discard block
 block discarded – undo
361 398
 	array_shift($file_sections);
362 399
 
363 400
 	// sections and count from the signature must match or the zip file is bad
364
-	if (count($file_sections) != $zip_info['files'])
365
-		return false;
401
+	if (count($file_sections) != $zip_info['files']) {
402
+			return false;
403
+	}
366 404
 
367 405
 	// go though each file in the archive
368 406
 	foreach ($file_sections as $data)
@@ -384,68 +422,79 @@  discard block
 block discarded – undo
384 422
 		}
385 423
 
386 424
 		// If this is a file, and it doesn't exist.... happy days!
387
-		if (substr($file_info['filename'], -1) != '/' && !file_exists($destination . '/' . $file_info['filename']))
388
-			$write_this = true;
425
+		if (substr($file_info['filename'], -1) != '/' && !file_exists($destination . '/' . $file_info['filename'])) {
426
+					$write_this = true;
427
+		}
389 428
 		// If the file exists, we may not want to overwrite it.
390
-		elseif (substr($file_info['filename'], -1) != '/')
391
-			$write_this = $overwrite;
429
+		elseif (substr($file_info['filename'], -1) != '/') {
430
+					$write_this = $overwrite;
431
+		}
392 432
 		// This is a directory, so we're gonna want to create it. (probably...)
393 433
 		elseif ($destination !== null && !$single_file)
394 434
 		{
395 435
 			// Just a little accident prevention, don't mind me.
396 436
 			$file_info['filename'] = strtr($file_info['filename'], array('../' => '', '/..' => ''));
397 437
 
398
-			if (!file_exists($destination . '/' . $file_info['filename']))
399
-				mktree($destination . '/' . $file_info['filename'], 0777);
438
+			if (!file_exists($destination . '/' . $file_info['filename'])) {
439
+							mktree($destination . '/' . $file_info['filename'], 0777);
440
+			}
400 441
 			$write_this = false;
442
+		} else {
443
+					$write_this = false;
401 444
 		}
402
-		else
403
-			$write_this = false;
404 445
 
405 446
 		// Get the actual compressed data.
406 447
 		$file_info['data'] = substr($data, 26 + $file_info['filename_length'] + $file_info['extrafield_length']);
407 448
 
408 449
 		// Only inflate it if we need to ;)
409
-		if (!empty($file_info['compress_method']) || ($file_info['compressed_size'] != $file_info['size']))
410
-			$file_info['data'] = gzinflate($file_info['data']);
450
+		if (!empty($file_info['compress_method']) || ($file_info['compressed_size'] != $file_info['size'])) {
451
+					$file_info['data'] = gzinflate($file_info['data']);
452
+		}
411 453
 
412 454
 		// Okay!  We can write this file, looks good from here...
413 455
 		if ($write_this && $destination !== null)
414 456
 		{
415
-			if ((strpos($file_info['filename'], '/') !== false && !$single_file) || (!$single_file && !is_dir($file_info['dir'])))
416
-				mktree($file_info['dir'], 0777);
457
+			if ((strpos($file_info['filename'], '/') !== false && !$single_file) || (!$single_file && !is_dir($file_info['dir']))) {
458
+							mktree($file_info['dir'], 0777);
459
+			}
417 460
 
418 461
 			// If we're looking for a specific file, and this is it... ka-bam, baby.
419
-			if ($single_file && ($destination == $file_info['filename'] || $destination == '*/' . basename($file_info['filename'])))
420
-				return $file_info['data'];
462
+			if ($single_file && ($destination == $file_info['filename'] || $destination == '*/' . basename($file_info['filename']))) {
463
+							return $file_info['data'];
464
+			}
421 465
 			// Oh?  Another file.  Fine.  You don't like this file, do you?  I know how it is.  Yeah... just go away.  No, don't apologize.  I know this file's just not *good enough* for you.
422
-			elseif ($single_file)
423
-				continue;
466
+			elseif ($single_file) {
467
+							continue;
468
+			}
424 469
 			// Don't really want this?
425
-			elseif ($files_to_extract !== null && !in_array($file_info['filename'], $files_to_extract))
426
-				continue;
470
+			elseif ($files_to_extract !== null && !in_array($file_info['filename'], $files_to_extract)) {
471
+							continue;
472
+			}
427 473
 
428 474
 			package_put_contents($destination . '/' . $file_info['filename'], $file_info['data']);
429 475
 		}
430 476
 
431
-		if (substr($file_info['filename'], -1, 1) != '/')
432
-			$return[] = array(
477
+		if (substr($file_info['filename'], -1, 1) != '/') {
478
+					$return[] = array(
433 479
 				'filename' => $file_info['filename'],
434 480
 				'md5' => md5($file_info['data']),
435 481
 				'preview' => substr($file_info['data'], 0, 100),
436 482
 				'size' => $file_info['size'],
437 483
 				'skipped' => false
438 484
 			);
485
+		}
439 486
 	}
440 487
 
441
-	if ($destination !== null && !$single_file)
442
-		package_flush_cache();
488
+	if ($destination !== null && !$single_file) {
489
+			package_flush_cache();
490
+	}
443 491
 
444
-	if ($single_file)
445
-		return false;
446
-	else
447
-		return $return;
448
-}
492
+	if ($single_file) {
493
+			return false;
494
+	} else {
495
+			return $return;
496
+	}
497
+	}
449 498
 
450 499
 /**
451 500
  * Checks the existence of a remote file since file_exists() does not do remote.
@@ -457,14 +506,16 @@  discard block
 block discarded – undo
457 506
 {
458 507
 	$a_url = parse_url($url);
459 508
 
460
-	if (!isset($a_url['scheme']))
461
-		return false;
509
+	if (!isset($a_url['scheme'])) {
510
+			return false;
511
+	}
462 512
 
463 513
 	// Attempt to connect...
464 514
 	$temp = '';
465 515
 	$fid = fsockopen($a_url['host'], !isset($a_url['port']) ? 80 : $a_url['port'], $temp, $temp, 8);
466
-	if (!$fid)
467
-		return false;
516
+	if (!$fid) {
517
+			return false;
518
+	}
468 519
 
469 520
 	fputs($fid, 'HEAD ' . $a_url['path'] . ' HTTP/1.0' . "\r\n" . 'Host: ' . $a_url['host'] . "\r\n\r\n");
470 521
 	$head = fread($fid, 1024);
@@ -499,8 +550,9 @@  discard block
 block discarded – undo
499 550
 	while ($row = $smcFunc['db_fetch_assoc']($request))
500 551
 	{
501 552
 		// Already found this? If so don't add it twice!
502
-		if (in_array($row['package_id'], $found))
503
-			continue;
553
+		if (in_array($row['package_id'], $found)) {
554
+					continue;
555
+		}
504 556
 
505 557
 		$found[] = $row['package_id'];
506 558
 
@@ -535,19 +587,21 @@  discard block
 block discarded – undo
535 587
 	global $sourcedir, $packagesdir;
536 588
 
537 589
 	// Extract package-info.xml from downloaded file. (*/ is used because it could be in any directory.)
538
-	if (strpos($gzfilename, 'http://') !== false || strpos($gzfilename, 'https://') !== false)
539
-		$packageInfo = read_tgz_data($gzfilename, 'package-info.xml', true);
540
-	else
590
+	if (strpos($gzfilename, 'http://') !== false || strpos($gzfilename, 'https://') !== false) {
591
+			$packageInfo = read_tgz_data($gzfilename, 'package-info.xml', true);
592
+	} else
541 593
 	{
542
-		if (!file_exists($packagesdir . '/' . $gzfilename))
543
-			return 'package_get_error_not_found';
594
+		if (!file_exists($packagesdir . '/' . $gzfilename)) {
595
+					return 'package_get_error_not_found';
596
+		}
544 597
 
545
-		if (is_file($packagesdir . '/' . $gzfilename))
546
-			$packageInfo = read_tgz_file($packagesdir . '/' . $gzfilename, '*/package-info.xml', true);
547
-		elseif (file_exists($packagesdir . '/' . $gzfilename . '/package-info.xml'))
548
-			$packageInfo = file_get_contents($packagesdir . '/' . $gzfilename . '/package-info.xml');
549
-		else
550
-			return 'package_get_error_missing_xml';
598
+		if (is_file($packagesdir . '/' . $gzfilename)) {
599
+					$packageInfo = read_tgz_file($packagesdir . '/' . $gzfilename, '*/package-info.xml', true);
600
+		} elseif (file_exists($packagesdir . '/' . $gzfilename . '/package-info.xml')) {
601
+					$packageInfo = file_get_contents($packagesdir . '/' . $gzfilename . '/package-info.xml');
602
+		} else {
603
+					return 'package_get_error_missing_xml';
604
+		}
551 605
 	}
552 606
 
553 607
 	// Nothing?
@@ -555,10 +609,11 @@  discard block
 block discarded – undo
555 609
 	{
556 610
 		// Perhaps they are trying to install a theme, lets tell them nicely this is the wrong function
557 611
 		$packageInfo = read_tgz_file($packagesdir . '/' . $gzfilename, '*/theme_info.xml', true);
558
-		if (!empty($packageInfo))
559
-			return 'package_get_error_is_theme';
560
-		else
561
-			return 'package_get_error_is_zero';
612
+		if (!empty($packageInfo)) {
613
+					return 'package_get_error_is_theme';
614
+		} else {
615
+					return 'package_get_error_is_zero';
616
+		}
562 617
 	}
563 618
 
564 619
 	// Parse package-info.xml into an xmlArray.
@@ -566,8 +621,9 @@  discard block
 block discarded – undo
566 621
 	$packageInfo = new xmlArray($packageInfo);
567 622
 
568 623
 	// @todo Error message of some sort?
569
-	if (!$packageInfo->exists('package-info[0]'))
570
-		return 'package_get_error_packageinfo_corrupt';
624
+	if (!$packageInfo->exists('package-info[0]')) {
625
+			return 'package_get_error_packageinfo_corrupt';
626
+	}
571 627
 
572 628
 	$packageInfo = $packageInfo->path('package-info[0]');
573 629
 
@@ -586,8 +642,9 @@  discard block
 block discarded – undo
586 642
 		}
587 643
 	}
588 644
 
589
-	if (!isset($package['type']))
590
-		$package['type'] = 'modification';
645
+	if (!isset($package['type'])) {
646
+			$package['type'] = 'modification';
647
+	}
591 648
 
592 649
 	return $package;
593 650
 }
@@ -640,15 +697,14 @@  discard block
 block discarded – undo
640 697
 					{
641 698
 						$ftp_file = strtr($file, array($_SESSION['pack_ftp']['root'] => ''));
642 699
 						$package_ftp->chmod($ftp_file, $perms);
700
+					} else {
701
+											smf_chmod($file, $perms);
643 702
 					}
644
-					else
645
-						smf_chmod($file, $perms);
646 703
 
647 704
 					$new_permissions = @fileperms($file);
648 705
 					$result = $new_permissions == $perms ? 'success' : 'failure';
649 706
 					unset($_SESSION['pack_ftp']['original_perms'][$file]);
650
-				}
651
-				elseif ($do_change)
707
+				} elseif ($do_change)
652 708
 				{
653 709
 					$new_permissions = '';
654 710
 					$result = 'skipped';
@@ -764,8 +820,7 @@  discard block
 block discarded – undo
764 820
 
765 821
 			$context['sub_template'] = 'show_list';
766 822
 			$context['default_list'] = 'restore_file_permissions';
767
-		}
768
-		else
823
+		} else
769 824
 		{
770 825
 			unset($listOptions['columns']['result']);
771 826
 		}
@@ -775,12 +830,14 @@  discard block
 block discarded – undo
775 830
 		createList($listOptions);
776 831
 
777 832
 		// If we just restored permissions then whereever we are, we are now done and dusted.
778
-		if (!empty($_POST['restore_perms']))
779
-			obExit();
833
+		if (!empty($_POST['restore_perms'])) {
834
+					obExit();
835
+		}
780 836
 	}
781 837
 	// Otherwise, it's entirely irrelevant?
782
-	elseif ($restore_write_status)
783
-		return true;
838
+	elseif ($restore_write_status) {
839
+			return true;
840
+	}
784 841
 
785 842
 	// This is where we report what we got up to.
786 843
 	$return_data = array(
@@ -818,11 +875,12 @@  discard block
 block discarded – undo
818 875
 			if (!in_array($_POST['ftp_path'], array('', '/')))
819 876
 			{
820 877
 				$ftp_root = strtr($boarddir, array($_POST['ftp_path'] => ''));
821
-				if (substr($ftp_root, -1) == '/' && ($_POST['ftp_path'] == '' || substr($_POST['ftp_path'], 0, 1) == '/'))
822
-					$ftp_root = substr($ftp_root, 0, -1);
878
+				if (substr($ftp_root, -1) == '/' && ($_POST['ftp_path'] == '' || substr($_POST['ftp_path'], 0, 1) == '/')) {
879
+									$ftp_root = substr($ftp_root, 0, -1);
880
+				}
881
+			} else {
882
+							$ftp_root = $boarddir;
823 883
 			}
824
-			else
825
-				$ftp_root = $boarddir;
826 884
 
827 885
 			$_SESSION['pack_ftp'] = array(
828 886
 				'server' => $_POST['ftp_server'],
@@ -834,8 +892,9 @@  discard block
 block discarded – undo
834 892
 				'connected' => true,
835 893
 			);
836 894
 
837
-			if (!isset($modSettings['package_path']) || $modSettings['package_path'] != $_POST['ftp_path'])
838
-				updateSettings(array('package_path' => $_POST['ftp_path']));
895
+			if (!isset($modSettings['package_path']) || $modSettings['package_path'] != $_POST['ftp_path']) {
896
+							updateSettings(array('package_path' => $_POST['ftp_path']));
897
+			}
839 898
 
840 899
 			// This is now the primary connection.
841 900
 			$package_ftp = $ftp;
@@ -848,12 +907,13 @@  discard block
 block discarded – undo
848 907
 		foreach ($chmodFiles as $k => $file)
849 908
 		{
850 909
 			// Sometimes this can somehow happen maybe?
851
-			if (empty($file))
852
-				unset($chmodFiles[$k]);
910
+			if (empty($file)) {
911
+							unset($chmodFiles[$k]);
912
+			}
853 913
 			// Already writable?
854
-			elseif (@is_writable($file))
855
-				$return_data['files']['writable'][] = $file;
856
-			else
914
+			elseif (@is_writable($file)) {
915
+							$return_data['files']['writable'][] = $file;
916
+			} else
857 917
 			{
858 918
 				// Now try to change that.
859 919
 				$return_data['files'][package_chmod($file, 'writable', true) ? 'writable' : 'notwritable'][] = $file;
@@ -870,19 +930,21 @@  discard block
 block discarded – undo
870 930
 			{
871 931
 				require_once($sourcedir . '/Class-Package.php');
872 932
 				$ftp = new ftp_connection(null);
933
+			} elseif ($ftp->error !== false && !isset($ftp_error)) {
934
+							$ftp_error = $ftp->last_message === null ? '' : $ftp->last_message;
873 935
 			}
874
-			elseif ($ftp->error !== false && !isset($ftp_error))
875
-				$ftp_error = $ftp->last_message === null ? '' : $ftp->last_message;
876 936
 
877 937
 			list ($username, $detect_path, $found_path) = $ftp->detect_path($boarddir);
878 938
 
879
-			if ($found_path)
880
-				$_POST['ftp_path'] = $detect_path;
881
-			elseif (!isset($_POST['ftp_path']))
882
-				$_POST['ftp_path'] = isset($modSettings['package_path']) ? $modSettings['package_path'] : $detect_path;
939
+			if ($found_path) {
940
+							$_POST['ftp_path'] = $detect_path;
941
+			} elseif (!isset($_POST['ftp_path'])) {
942
+							$_POST['ftp_path'] = isset($modSettings['package_path']) ? $modSettings['package_path'] : $detect_path;
943
+			}
883 944
 
884
-			if (!isset($_POST['ftp_username']))
885
-				$_POST['ftp_username'] = $username;
945
+			if (!isset($_POST['ftp_username'])) {
946
+							$_POST['ftp_username'] = $username;
947
+			}
886 948
 		}
887 949
 
888 950
 		$context['package_ftp'] = array(
@@ -895,8 +957,9 @@  discard block
 block discarded – undo
895 957
 		);
896 958
 
897 959
 		// Which files failed?
898
-		if (!isset($context['notwritable_files']))
899
-			$context['notwritable_files'] = array();
960
+		if (!isset($context['notwritable_files'])) {
961
+					$context['notwritable_files'] = array();
962
+		}
900 963
 		$context['notwritable_files'] = array_merge($context['notwritable_files'], $return_data['files']['notwritable']);
901 964
 
902 965
 		// Sent here to die?
@@ -929,40 +992,48 @@  discard block
 block discarded – undo
929 992
 		foreach ($files as $k => $file)
930 993
 		{
931 994
 			// If this file doesn't exist, then we actually want to look at the directory, no?
932
-			if (!file_exists($file))
933
-				$file = dirname($file);
995
+			if (!file_exists($file)) {
996
+							$file = dirname($file);
997
+			}
934 998
 
935 999
 			// This looks odd, but it's an attempt to work around PHP suExec.
936
-			if (!@is_writable($file))
937
-				smf_chmod($file, 0755);
938
-			if (!@is_writable($file))
939
-				smf_chmod($file, 0777);
940
-			if (!@is_writable(dirname($file)))
941
-				smf_chmod($file, 0755);
942
-			if (!@is_writable(dirname($file)))
943
-				smf_chmod($file, 0777);
1000
+			if (!@is_writable($file)) {
1001
+							smf_chmod($file, 0755);
1002
+			}
1003
+			if (!@is_writable($file)) {
1004
+							smf_chmod($file, 0777);
1005
+			}
1006
+			if (!@is_writable(dirname($file))) {
1007
+							smf_chmod($file, 0755);
1008
+			}
1009
+			if (!@is_writable(dirname($file))) {
1010
+							smf_chmod($file, 0777);
1011
+			}
944 1012
 
945 1013
 			$fp = is_dir($file) ? @opendir($file) : @fopen($file, 'rb');
946 1014
 			if (@is_writable($file) && $fp)
947 1015
 			{
948 1016
 				unset($files[$k]);
949
-				if (!is_dir($file))
950
-					fclose($fp);
951
-				else
952
-					closedir($fp);
1017
+				if (!is_dir($file)) {
1018
+									fclose($fp);
1019
+				} else {
1020
+									closedir($fp);
1021
+				}
953 1022
 			}
954 1023
 		}
955 1024
 
956 1025
 		// No FTP required!
957
-		if (empty($files))
958
-			return array();
1026
+		if (empty($files)) {
1027
+					return array();
1028
+		}
959 1029
 	}
960 1030
 
961 1031
 	// They've opted to not use FTP, and try anyway.
962 1032
 	if (isset($_SESSION['pack_ftp']) && $_SESSION['pack_ftp'] == false)
963 1033
 	{
964
-		if ($files === null)
965
-			return array();
1034
+		if ($files === null) {
1035
+					return array();
1036
+		}
966 1037
 
967 1038
 		foreach ($files as $k => $file)
968 1039
 		{
@@ -974,26 +1045,29 @@  discard block
 block discarded – undo
974 1045
 				smf_chmod($file, 0755);
975 1046
 			}
976 1047
 
977
-			if (!@is_writable($file))
978
-				smf_chmod($file, 0777);
979
-			if (!@is_writable(dirname($file)))
980
-				smf_chmod(dirname($file), 0777);
1048
+			if (!@is_writable($file)) {
1049
+							smf_chmod($file, 0777);
1050
+			}
1051
+			if (!@is_writable(dirname($file))) {
1052
+							smf_chmod(dirname($file), 0777);
1053
+			}
981 1054
 
982
-			if (@is_writable($file))
983
-				unset($files[$k]);
1055
+			if (@is_writable($file)) {
1056
+							unset($files[$k]);
1057
+			}
984 1058
 		}
985 1059
 
986 1060
 		return $files;
987
-	}
988
-	elseif (isset($_SESSION['pack_ftp']))
1061
+	} elseif (isset($_SESSION['pack_ftp']))
989 1062
 	{
990 1063
 		// Load the file containing the ftp_connection class.
991 1064
 		require_once($sourcedir . '/Class-Package.php');
992 1065
 
993 1066
 		$package_ftp = new ftp_connection($_SESSION['pack_ftp']['server'], $_SESSION['pack_ftp']['port'], $_SESSION['pack_ftp']['username'], package_crypt($_SESSION['pack_ftp']['password']));
994 1067
 
995
-		if ($files === null)
996
-			return array();
1068
+		if ($files === null) {
1069
+					return array();
1070
+		}
997 1071
 
998 1072
 		foreach ($files as $k => $file)
999 1073
 		{
@@ -1007,13 +1081,16 @@  discard block
 block discarded – undo
1007 1081
 				$package_ftp->chmod($ftp_file, 0755);
1008 1082
 			}
1009 1083
 
1010
-			if (!@is_writable($file))
1011
-				$package_ftp->chmod($ftp_file, 0777);
1012
-			if (!@is_writable(dirname($file)))
1013
-				$package_ftp->chmod(dirname($ftp_file), 0777);
1084
+			if (!@is_writable($file)) {
1085
+							$package_ftp->chmod($ftp_file, 0777);
1086
+			}
1087
+			if (!@is_writable(dirname($file))) {
1088
+							$package_ftp->chmod(dirname($ftp_file), 0777);
1089
+			}
1014 1090
 
1015
-			if (@is_writable($file))
1016
-				unset($files[$k]);
1091
+			if (@is_writable($file)) {
1092
+							unset($files[$k]);
1093
+			}
1017 1094
 		}
1018 1095
 
1019 1096
 		return $files;
@@ -1025,8 +1102,7 @@  discard block
 block discarded – undo
1025 1102
 
1026 1103
 		$files = packageRequireFTP($destination_url, $files, $return);
1027 1104
 		return $files;
1028
-	}
1029
-	elseif (isset($_POST['ftp_username']))
1105
+	} elseif (isset($_POST['ftp_username']))
1030 1106
 	{
1031 1107
 		require_once($sourcedir . '/Class-Package.php');
1032 1108
 		$ftp = new ftp_connection($_POST['ftp_server'], $_POST['ftp_port'], $_POST['ftp_username'], $_POST['ftp_password']);
@@ -1048,19 +1124,21 @@  discard block
 block discarded – undo
1048 1124
 		{
1049 1125
 			require_once($sourcedir . '/Class-Package.php');
1050 1126
 			$ftp = new ftp_connection(null);
1127
+		} elseif ($ftp->error !== false && !isset($ftp_error)) {
1128
+					$ftp_error = $ftp->last_message === null ? '' : $ftp->last_message;
1051 1129
 		}
1052
-		elseif ($ftp->error !== false && !isset($ftp_error))
1053
-			$ftp_error = $ftp->last_message === null ? '' : $ftp->last_message;
1054 1130
 
1055 1131
 		list ($username, $detect_path, $found_path) = $ftp->detect_path($boarddir);
1056 1132
 
1057
-		if ($found_path)
1058
-			$_POST['ftp_path'] = $detect_path;
1059
-		elseif (!isset($_POST['ftp_path']))
1060
-			$_POST['ftp_path'] = isset($modSettings['package_path']) ? $modSettings['package_path'] : $detect_path;
1133
+		if ($found_path) {
1134
+					$_POST['ftp_path'] = $detect_path;
1135
+		} elseif (!isset($_POST['ftp_path'])) {
1136
+					$_POST['ftp_path'] = isset($modSettings['package_path']) ? $modSettings['package_path'] : $detect_path;
1137
+		}
1061 1138
 
1062
-		if (!isset($_POST['ftp_username']))
1063
-			$_POST['ftp_username'] = $username;
1139
+		if (!isset($_POST['ftp_username'])) {
1140
+					$_POST['ftp_username'] = $username;
1141
+		}
1064 1142
 
1065 1143
 		$context['package_ftp'] = array(
1066 1144
 			'server' => isset($_POST['ftp_server']) ? $_POST['ftp_server'] : (isset($modSettings['package_server']) ? $modSettings['package_server'] : 'localhost'),
@@ -1072,23 +1150,24 @@  discard block
 block discarded – undo
1072 1150
 		);
1073 1151
 
1074 1152
 		// If we're returning dump out here.
1075
-		if ($return)
1076
-			return $files;
1153
+		if ($return) {
1154
+					return $files;
1155
+		}
1077 1156
 
1078 1157
 		$context['page_title'] = $txt['package_ftp_necessary'];
1079 1158
 		$context['sub_template'] = 'ftp_required';
1080 1159
 		obExit();
1081
-	}
1082
-	else
1160
+	} else
1083 1161
 	{
1084 1162
 		if (!in_array($_POST['ftp_path'], array('', '/')))
1085 1163
 		{
1086 1164
 			$ftp_root = strtr($boarddir, array($_POST['ftp_path'] => ''));
1087
-			if (substr($ftp_root, -1) == '/' && ($_POST['ftp_path'] == '' || $_POST['ftp_path'][0] == '/'))
1088
-				$ftp_root = substr($ftp_root, 0, -1);
1165
+			if (substr($ftp_root, -1) == '/' && ($_POST['ftp_path'] == '' || $_POST['ftp_path'][0] == '/')) {
1166
+							$ftp_root = substr($ftp_root, 0, -1);
1167
+			}
1168
+		} else {
1169
+					$ftp_root = $boarddir;
1089 1170
 		}
1090
-		else
1091
-			$ftp_root = $boarddir;
1092 1171
 
1093 1172
 		$_SESSION['pack_ftp'] = array(
1094 1173
 			'server' => $_POST['ftp_server'],
@@ -1099,8 +1178,9 @@  discard block
 block discarded – undo
1099 1178
 			'root' => $ftp_root,
1100 1179
 		);
1101 1180
 
1102
-		if (!isset($modSettings['package_path']) || $modSettings['package_path'] != $_POST['ftp_path'])
1103
-			updateSettings(array('package_path' => $_POST['ftp_path']));
1181
+		if (!isset($modSettings['package_path']) || $modSettings['package_path'] != $_POST['ftp_path']) {
1182
+					updateSettings(array('package_path' => $_POST['ftp_path']));
1183
+		}
1104 1184
 
1105 1185
 		$files = packageRequireFTP($destination_url, $files, $return);
1106 1186
 	}
@@ -1128,16 +1208,18 @@  discard block
 block discarded – undo
1128 1208
 	global $packagesdir, $forum_version, $context, $temp_path, $language, $smcFunc;
1129 1209
 
1130 1210
 	// Mayday!  That action doesn't exist!!
1131
-	if (empty($packageXML) || !$packageXML->exists($method))
1132
-		return array();
1211
+	if (empty($packageXML) || !$packageXML->exists($method)) {
1212
+			return array();
1213
+	}
1133 1214
 
1134 1215
 	// We haven't found the package script yet...
1135 1216
 	$script = false;
1136 1217
 	$the_version = strtr($forum_version, array('SMF ' => ''));
1137 1218
 
1138 1219
 	// Emulation support...
1139
-	if (!empty($_SESSION['version_emulate']))
1140
-		$the_version = $_SESSION['version_emulate'];
1220
+	if (!empty($_SESSION['version_emulate'])) {
1221
+			$the_version = $_SESSION['version_emulate'];
1222
+	}
1141 1223
 
1142 1224
 	// Single package emulation
1143 1225
 	if (!empty($_REQUEST['ve']) && !empty($_REQUEST['package']))
@@ -1145,8 +1227,9 @@  discard block
 block discarded – undo
1145 1227
 		$the_version = $_REQUEST['ve'];
1146 1228
 		$_SESSION['single_version_emulate'][$_REQUEST['package']] = $the_version;
1147 1229
 	}
1148
-	if (!empty($_REQUEST['package']) && (!empty($_SESSION['single_version_emulate'][$_REQUEST['package']])))
1149
-		$the_version = $_SESSION['single_version_emulate'][$_REQUEST['package']];
1230
+	if (!empty($_REQUEST['package']) && (!empty($_SESSION['single_version_emulate'][$_REQUEST['package']]))) {
1231
+			$the_version = $_SESSION['single_version_emulate'][$_REQUEST['package']];
1232
+	}
1150 1233
 
1151 1234
 	// Get all the versions of this method and find the right one.
1152 1235
 	$these_methods = $packageXML->set($method);
@@ -1156,16 +1239,18 @@  discard block
 block discarded – undo
1156 1239
 		if ($this_method->exists('@for'))
1157 1240
 		{
1158 1241
 			// Don't keep going if this won't work for this version of SMF.
1159
-			if (!matchPackageVersion($the_version, $this_method->fetch('@for')))
1160
-				continue;
1242
+			if (!matchPackageVersion($the_version, $this_method->fetch('@for'))) {
1243
+							continue;
1244
+			}
1161 1245
 		}
1162 1246
 
1163 1247
 		// Upgrades may go from a certain old version of the mod.
1164 1248
 		if ($method == 'upgrade' && $this_method->exists('@from'))
1165 1249
 		{
1166 1250
 			// Well, this is for the wrong old version...
1167
-			if (!matchPackageVersion($previous_version, $this_method->fetch('@from')))
1168
-				continue;
1251
+			if (!matchPackageVersion($previous_version, $this_method->fetch('@from'))) {
1252
+							continue;
1253
+			}
1169 1254
 		}
1170 1255
 
1171 1256
 		// We've found it!
@@ -1174,8 +1259,9 @@  discard block
 block discarded – undo
1174 1259
 	}
1175 1260
 
1176 1261
 	// Bad news, a matching script wasn't found!
1177
-	if (!($script instanceof xmlArray))
1178
-		return array();
1262
+	if (!($script instanceof xmlArray)) {
1263
+			return array();
1264
+	}
1179 1265
 
1180 1266
 	// Find all the actions in this method - in theory, these should only be allowed actions. (* means all.)
1181 1267
 	$actions = $script->set('*');
@@ -1204,12 +1290,12 @@  discard block
 block discarded – undo
1204 1290
 					if ((isset($_REQUEST['readme']) && $action->fetch('@lang') == $_REQUEST['readme']) || (isset($_REQUEST['license']) && $action->fetch('@lang') == $_REQUEST['license']) || (!isset($_REQUEST['readme']) && $action->fetch('@lang') == $language) || (!isset($_REQUEST['license']) && $action->fetch('@lang') == $language))
1205 1291
 					{
1206 1292
 						// In case the user put the blocks in the wrong order.
1207
-						if (isset($context[$type]['selected']) && $context[$type]['selected'] == 'default')
1208
-							$context[$type][] = 'default';
1293
+						if (isset($context[$type]['selected']) && $context[$type]['selected'] == 'default') {
1294
+													$context[$type][] = 'default';
1295
+						}
1209 1296
 
1210 1297
 						$context[$type]['selected'] = $smcFunc['htmlspecialchars']($action->fetch('@lang'));
1211
-					}
1212
-					else
1298
+					} else
1213 1299
 					{
1214 1300
 						// We don't want this now, but we'll allow the user to select to read it.
1215 1301
 						$context[$type][] = $smcFunc['htmlspecialchars']($action->fetch('@lang'));
@@ -1224,9 +1310,9 @@  discard block
 block discarded – undo
1224 1310
 					{
1225 1311
 						$context[$type][] = 'default';
1226 1312
 						continue;
1313
+					} else {
1314
+											$context[$type]['selected'] = 'default';
1227 1315
 					}
1228
-					else
1229
-						$context[$type]['selected'] = 'default';
1230 1316
 				}
1231 1317
 			}
1232 1318
 
@@ -1236,9 +1322,9 @@  discard block
 block discarded – undo
1236 1322
 				$filename = $temp_path . '$auto_' . $temp_auto++ . (in_array($actionType, array('readme', 'redirect', 'license')) ? '.txt' : ($actionType == 'code' || $actionType == 'database' ? '.php' : '.mod'));
1237 1323
 				package_put_contents($filename, $action->fetch('.'));
1238 1324
 				$filename = strtr($filename, array($temp_path => ''));
1325
+			} else {
1326
+							$filename = $action->fetch('.');
1239 1327
 			}
1240
-			else
1241
-				$filename = $action->fetch('.');
1242 1328
 
1243 1329
 			$return[] = array(
1244 1330
 				'type' => $actionType,
@@ -1253,8 +1339,7 @@  discard block
 block discarded – undo
1253 1339
 			);
1254 1340
 
1255 1341
 			continue;
1256
-		}
1257
-		elseif ($actionType == 'hook')
1342
+		} elseif ($actionType == 'hook')
1258 1343
 		{
1259 1344
 			$return[] = array(
1260 1345
 				'type' => $actionType,
@@ -1266,16 +1351,16 @@  discard block
 block discarded – undo
1266 1351
 				'description' => '',
1267 1352
 			);
1268 1353
 			continue;
1269
-		}
1270
-		elseif ($actionType == 'credits')
1354
+		} elseif ($actionType == 'credits')
1271 1355
 		{
1272 1356
 			// quick check of any supplied url
1273 1357
 			$url = $action->exists('@url') ? $action->fetch('@url') : '';
1274 1358
 			if (strlen(trim($url)) > 0 && substr($url, 0, 7) !== 'http://' && substr($url, 0, 8) !== 'https://')
1275 1359
 			{
1276 1360
 				$url = 'http://' . $url;
1277
-				if (strlen($url) < 8 || (substr($url, 0, 7) !== 'http://' && substr($url, 0, 8) !== 'https://'))
1278
-					$url = '';
1361
+				if (strlen($url) < 8 || (substr($url, 0, 7) !== 'http://' && substr($url, 0, 8) !== 'https://')) {
1362
+									$url = '';
1363
+				}
1279 1364
 			}
1280 1365
 
1281 1366
 			$return[] = array(
@@ -1287,8 +1372,7 @@  discard block
 block discarded – undo
1287 1372
 				'title' => $action->fetch('.'),
1288 1373
 			);
1289 1374
 			continue;
1290
-		}
1291
-		elseif ($actionType == 'requires')
1375
+		} elseif ($actionType == 'requires')
1292 1376
 		{
1293 1377
 			$return[] = array(
1294 1378
 				'type' => $actionType,
@@ -1297,14 +1381,12 @@  discard block
 block discarded – undo
1297 1381
 				'description' => '',
1298 1382
 			);
1299 1383
 			continue;
1300
-		}
1301
-		elseif ($actionType == 'error')
1384
+		} elseif ($actionType == 'error')
1302 1385
 		{
1303 1386
 			$return[] = array(
1304 1387
 				'type' => 'error',
1305 1388
 			);
1306
-		}
1307
-		elseif (in_array($actionType, array('require-file', 'remove-file', 'require-dir', 'remove-dir', 'move-file', 'move-dir', 'create-file', 'create-dir')))
1389
+		} elseif (in_array($actionType, array('require-file', 'remove-file', 'require-dir', 'remove-dir', 'move-file', 'move-dir', 'create-file', 'create-dir')))
1308 1390
 		{
1309 1391
 			$this_action = &$return[];
1310 1392
 			$this_action = array(
@@ -1318,8 +1400,7 @@  discard block
 block discarded – undo
1318 1400
 			{
1319 1401
 				$this_action['unparsed_destination'] = $action->fetch('@destination');
1320 1402
 				$this_action['destination'] = parse_path($action->fetch('@destination')) . '/' . basename($this_action['filename']);
1321
-			}
1322
-			else
1403
+			} else
1323 1404
 			{
1324 1405
 				$this_action['unparsed_filename'] = $this_action['filename'];
1325 1406
 				$this_action['filename'] = parse_path($this_action['filename']);
@@ -1328,10 +1409,11 @@  discard block
 block discarded – undo
1328 1409
 			// If we're moving or requiring (copying) a file.
1329 1410
 			if (substr($actionType, 0, 4) == 'move' || substr($actionType, 0, 7) == 'require')
1330 1411
 			{
1331
-				if ($action->exists('@from'))
1332
-					$this_action['source'] = parse_path($action->fetch('@from'));
1333
-				else
1334
-					$this_action['source'] = $temp_path . $this_action['filename'];
1412
+				if ($action->exists('@from')) {
1413
+									$this_action['source'] = parse_path($action->fetch('@from'));
1414
+				} else {
1415
+									$this_action['source'] = $temp_path . $this_action['filename'];
1416
+				}
1335 1417
 			}
1336 1418
 
1337 1419
 			// Check if these things can be done. (chmod's etc.)
@@ -1340,22 +1422,23 @@  discard block
 block discarded – undo
1340 1422
 				if (!mktree($this_action['destination'], false))
1341 1423
 				{
1342 1424
 					$temp = $this_action['destination'];
1343
-					while (!file_exists($temp) && strlen($temp) > 1)
1344
-						$temp = dirname($temp);
1425
+					while (!file_exists($temp) && strlen($temp) > 1) {
1426
+											$temp = dirname($temp);
1427
+					}
1345 1428
 
1346 1429
 					$return[] = array(
1347 1430
 						'type' => 'chmod',
1348 1431
 						'filename' => $temp
1349 1432
 					);
1350 1433
 				}
1351
-			}
1352
-			elseif ($actionType == 'create-file')
1434
+			} elseif ($actionType == 'create-file')
1353 1435
 			{
1354 1436
 				if (!mktree(dirname($this_action['destination']), false))
1355 1437
 				{
1356 1438
 					$temp = dirname($this_action['destination']);
1357
-					while (!file_exists($temp) && strlen($temp) > 1)
1358
-						$temp = dirname($temp);
1439
+					while (!file_exists($temp) && strlen($temp) > 1) {
1440
+											$temp = dirname($temp);
1441
+					}
1359 1442
 
1360 1443
 					$return[] = array(
1361 1444
 						'type' => 'chmod',
@@ -1363,36 +1446,38 @@  discard block
 block discarded – undo
1363 1446
 					);
1364 1447
 				}
1365 1448
 
1366
-				if (!is_writable($this_action['destination']) && (file_exists($this_action['destination']) || !is_writable(dirname($this_action['destination']))))
1367
-					$return[] = array(
1449
+				if (!is_writable($this_action['destination']) && (file_exists($this_action['destination']) || !is_writable(dirname($this_action['destination'])))) {
1450
+									$return[] = array(
1368 1451
 						'type' => 'chmod',
1369 1452
 						'filename' => $this_action['destination']
1370 1453
 					);
1371
-			}
1372
-			elseif ($actionType == 'require-dir')
1454
+				}
1455
+			} elseif ($actionType == 'require-dir')
1373 1456
 			{
1374 1457
 				if (!mktree($this_action['destination'], false))
1375 1458
 				{
1376 1459
 					$temp = $this_action['destination'];
1377
-					while (!file_exists($temp) && strlen($temp) > 1)
1378
-						$temp = dirname($temp);
1460
+					while (!file_exists($temp) && strlen($temp) > 1) {
1461
+											$temp = dirname($temp);
1462
+					}
1379 1463
 
1380 1464
 					$return[] = array(
1381 1465
 						'type' => 'chmod',
1382 1466
 						'filename' => $temp
1383 1467
 					);
1384 1468
 				}
1385
-			}
1386
-			elseif ($actionType == 'require-file')
1469
+			} elseif ($actionType == 'require-file')
1387 1470
 			{
1388
-				if ($action->exists('@theme'))
1389
-					$this_action['theme_action'] = $action->fetch('@theme');
1471
+				if ($action->exists('@theme')) {
1472
+									$this_action['theme_action'] = $action->fetch('@theme');
1473
+				}
1390 1474
 
1391 1475
 				if (!mktree(dirname($this_action['destination']), false))
1392 1476
 				{
1393 1477
 					$temp = dirname($this_action['destination']);
1394
-					while (!file_exists($temp) && strlen($temp) > 1)
1395
-						$temp = dirname($temp);
1478
+					while (!file_exists($temp) && strlen($temp) > 1) {
1479
+											$temp = dirname($temp);
1480
+					}
1396 1481
 
1397 1482
 					$return[] = array(
1398 1483
 						'type' => 'chmod',
@@ -1400,19 +1485,20 @@  discard block
 block discarded – undo
1400 1485
 					);
1401 1486
 				}
1402 1487
 
1403
-				if (!is_writable($this_action['destination']) && (file_exists($this_action['destination']) || !is_writable(dirname($this_action['destination']))))
1404
-					$return[] = array(
1488
+				if (!is_writable($this_action['destination']) && (file_exists($this_action['destination']) || !is_writable(dirname($this_action['destination'])))) {
1489
+									$return[] = array(
1405 1490
 						'type' => 'chmod',
1406 1491
 						'filename' => $this_action['destination']
1407 1492
 					);
1408
-			}
1409
-			elseif ($actionType == 'move-dir' || $actionType == 'move-file')
1493
+				}
1494
+			} elseif ($actionType == 'move-dir' || $actionType == 'move-file')
1410 1495
 			{
1411 1496
 				if (!mktree(dirname($this_action['destination']), false))
1412 1497
 				{
1413 1498
 					$temp = dirname($this_action['destination']);
1414
-					while (!file_exists($temp) && strlen($temp) > 1)
1415
-						$temp = dirname($temp);
1499
+					while (!file_exists($temp) && strlen($temp) > 1) {
1500
+											$temp = dirname($temp);
1501
+					}
1416 1502
 
1417 1503
 					$return[] = array(
1418 1504
 						'type' => 'chmod',
@@ -1420,30 +1506,30 @@  discard block
 block discarded – undo
1420 1506
 					);
1421 1507
 				}
1422 1508
 
1423
-				if (!is_writable($this_action['destination']) && (file_exists($this_action['destination']) || !is_writable(dirname($this_action['destination']))))
1424
-					$return[] = array(
1509
+				if (!is_writable($this_action['destination']) && (file_exists($this_action['destination']) || !is_writable(dirname($this_action['destination'])))) {
1510
+									$return[] = array(
1425 1511
 						'type' => 'chmod',
1426 1512
 						'filename' => $this_action['destination']
1427 1513
 					);
1428
-			}
1429
-			elseif ($actionType == 'remove-dir')
1514
+				}
1515
+			} elseif ($actionType == 'remove-dir')
1430 1516
 			{
1431
-				if (!is_writable($this_action['filename']) && file_exists($this_action['filename']))
1432
-					$return[] = array(
1517
+				if (!is_writable($this_action['filename']) && file_exists($this_action['filename'])) {
1518
+									$return[] = array(
1433 1519
 						'type' => 'chmod',
1434 1520
 						'filename' => $this_action['filename']
1435 1521
 					);
1436
-			}
1437
-			elseif ($actionType == 'remove-file')
1522
+				}
1523
+			} elseif ($actionType == 'remove-file')
1438 1524
 			{
1439
-				if (!is_writable($this_action['filename']) && file_exists($this_action['filename']))
1440
-					$return[] = array(
1525
+				if (!is_writable($this_action['filename']) && file_exists($this_action['filename'])) {
1526
+									$return[] = array(
1441 1527
 						'type' => 'chmod',
1442 1528
 						'filename' => $this_action['filename']
1443 1529
 					);
1530
+				}
1444 1531
 			}
1445
-		}
1446
-		else
1532
+		} else
1447 1533
 		{
1448 1534
 			$return[] = array(
1449 1535
 				'type' => 'error',
@@ -1454,8 +1540,9 @@  discard block
 block discarded – undo
1454 1540
 	}
1455 1541
 
1456 1542
 	// Only testing - just return a list of things to be done.
1457
-	if ($testing_only)
1458
-		return $return;
1543
+	if ($testing_only) {
1544
+			return $return;
1545
+	}
1459 1546
 
1460 1547
 	umask(0);
1461 1548
 
@@ -1463,78 +1550,81 @@  discard block
 block discarded – undo
1463 1550
 	$not_done = array(array('type' => '!'));
1464 1551
 	foreach ($return as $action)
1465 1552
 	{
1466
-		if (in_array($action['type'], array('modification', 'code', 'database', 'redirect', 'hook', 'credits')))
1467
-			$not_done[] = $action;
1553
+		if (in_array($action['type'], array('modification', 'code', 'database', 'redirect', 'hook', 'credits'))) {
1554
+					$not_done[] = $action;
1555
+		}
1468 1556
 
1469 1557
 		if ($action['type'] == 'create-dir')
1470 1558
 		{
1471
-			if (!mktree($action['destination'], 0755) || !is_writable($action['destination']))
1472
-				$failure |= !mktree($action['destination'], 0777);
1473
-		}
1474
-		elseif ($action['type'] == 'create-file')
1559
+			if (!mktree($action['destination'], 0755) || !is_writable($action['destination'])) {
1560
+							$failure |= !mktree($action['destination'], 0777);
1561
+			}
1562
+		} elseif ($action['type'] == 'create-file')
1475 1563
 		{
1476
-			if (!mktree(dirname($action['destination']), 0755) || !is_writable(dirname($action['destination'])))
1477
-				$failure |= !mktree(dirname($action['destination']), 0777);
1564
+			if (!mktree(dirname($action['destination']), 0755) || !is_writable(dirname($action['destination']))) {
1565
+							$failure |= !mktree(dirname($action['destination']), 0777);
1566
+			}
1478 1567
 
1479 1568
 			// Create an empty file.
1480 1569
 			package_put_contents($action['destination'], package_get_contents($action['source']), $testing_only);
1481 1570
 
1482
-			if (!file_exists($action['destination']))
1483
-				$failure = true;
1484
-		}
1485
-		elseif ($action['type'] == 'require-dir')
1571
+			if (!file_exists($action['destination'])) {
1572
+							$failure = true;
1573
+			}
1574
+		} elseif ($action['type'] == 'require-dir')
1486 1575
 		{
1487 1576
 			copytree($action['source'], $action['destination']);
1488 1577
 			// Any other theme folders?
1489
-			if (!empty($context['theme_copies']) && !empty($context['theme_copies'][$action['type']][$action['destination']]))
1490
-				foreach ($context['theme_copies'][$action['type']][$action['destination']] as $theme_destination)
1578
+			if (!empty($context['theme_copies']) && !empty($context['theme_copies'][$action['type']][$action['destination']])) {
1579
+							foreach ($context['theme_copies'][$action['type']][$action['destination']] as $theme_destination)
1491 1580
 					copytree($action['source'], $theme_destination);
1492
-		}
1493
-		elseif ($action['type'] == 'require-file')
1581
+			}
1582
+		} elseif ($action['type'] == 'require-file')
1494 1583
 		{
1495
-			if (!mktree(dirname($action['destination']), 0755) || !is_writable(dirname($action['destination'])))
1496
-				$failure |= !mktree(dirname($action['destination']), 0777);
1584
+			if (!mktree(dirname($action['destination']), 0755) || !is_writable(dirname($action['destination']))) {
1585
+							$failure |= !mktree(dirname($action['destination']), 0777);
1586
+			}
1497 1587
 
1498 1588
 			package_put_contents($action['destination'], package_get_contents($action['source']), $testing_only);
1499 1589
 
1500 1590
 			$failure |= !copy($action['source'], $action['destination']);
1501 1591
 
1502 1592
 			// Any other theme files?
1503
-			if (!empty($context['theme_copies']) && !empty($context['theme_copies'][$action['type']][$action['destination']]))
1504
-				foreach ($context['theme_copies'][$action['type']][$action['destination']] as $theme_destination)
1593
+			if (!empty($context['theme_copies']) && !empty($context['theme_copies'][$action['type']][$action['destination']])) {
1594
+							foreach ($context['theme_copies'][$action['type']][$action['destination']] as $theme_destination)
1505 1595
 				{
1506 1596
 					if (!mktree(dirname($theme_destination), 0755) || !is_writable(dirname($theme_destination)))
1507 1597
 						$failure |= !mktree(dirname($theme_destination), 0777);
1598
+			}
1508 1599
 
1509 1600
 					package_put_contents($theme_destination, package_get_contents($action['source']), $testing_only);
1510 1601
 
1511 1602
 					$failure |= !copy($action['source'], $theme_destination);
1512 1603
 				}
1513
-		}
1514
-		elseif ($action['type'] == 'move-file')
1604
+		} elseif ($action['type'] == 'move-file')
1515 1605
 		{
1516
-			if (!mktree(dirname($action['destination']), 0755) || !is_writable(dirname($action['destination'])))
1517
-				$failure |= !mktree(dirname($action['destination']), 0777);
1606
+			if (!mktree(dirname($action['destination']), 0755) || !is_writable(dirname($action['destination']))) {
1607
+							$failure |= !mktree(dirname($action['destination']), 0777);
1608
+			}
1518 1609
 
1519 1610
 			$failure |= !rename($action['source'], $action['destination']);
1520
-		}
1521
-		elseif ($action['type'] == 'move-dir')
1611
+		} elseif ($action['type'] == 'move-dir')
1522 1612
 		{
1523
-			if (!mktree($action['destination'], 0755) || !is_writable($action['destination']))
1524
-				$failure |= !mktree($action['destination'], 0777);
1613
+			if (!mktree($action['destination'], 0755) || !is_writable($action['destination'])) {
1614
+							$failure |= !mktree($action['destination'], 0777);
1615
+			}
1525 1616
 
1526 1617
 			$failure |= !rename($action['source'], $action['destination']);
1527
-		}
1528
-		elseif ($action['type'] == 'remove-dir')
1618
+		} elseif ($action['type'] == 'remove-dir')
1529 1619
 		{
1530 1620
 			deltree($action['filename']);
1531 1621
 
1532 1622
 			// Any other theme folders?
1533
-			if (!empty($context['theme_copies']) && !empty($context['theme_copies'][$action['type']][$action['filename']]))
1534
-				foreach ($context['theme_copies'][$action['type']][$action['filename']] as $theme_destination)
1623
+			if (!empty($context['theme_copies']) && !empty($context['theme_copies'][$action['type']][$action['filename']])) {
1624
+							foreach ($context['theme_copies'][$action['type']][$action['filename']] as $theme_destination)
1535 1625
 					deltree($theme_destination);
1536
-		}
1537
-		elseif ($action['type'] == 'remove-file')
1626
+			}
1627
+		} elseif ($action['type'] == 'remove-file')
1538 1628
 		{
1539 1629
 			// Make sure the file exists before deleting it.
1540 1630
 			if (file_exists($action['filename']))
@@ -1543,16 +1633,18 @@  discard block
 block discarded – undo
1543 1633
 				$failure |= !unlink($action['filename']);
1544 1634
 			}
1545 1635
 			// The file that was supposed to be deleted couldn't be found.
1546
-			else
1547
-				$failure = true;
1636
+			else {
1637
+							$failure = true;
1638
+			}
1548 1639
 
1549 1640
 			// Any other theme folders?
1550
-			if (!empty($context['theme_copies']) && !empty($context['theme_copies'][$action['type']][$action['filename']]))
1551
-				foreach ($context['theme_copies'][$action['type']][$action['filename']] as $theme_destination)
1641
+			if (!empty($context['theme_copies']) && !empty($context['theme_copies'][$action['type']][$action['filename']])) {
1642
+							foreach ($context['theme_copies'][$action['type']][$action['filename']] as $theme_destination)
1552 1643
 					if (file_exists($theme_destination))
1553 1644
 						$failure |= !unlink($theme_destination);
1554
-					else
1555
-						$failure = true;
1645
+			} else {
1646
+											$failure = true;
1647
+					}
1556 1648
 		}
1557 1649
 	}
1558 1650
 
@@ -1574,8 +1666,9 @@  discard block
 block discarded – undo
1574 1666
 {
1575 1667
 	static $near_version = 0;
1576 1668
 
1577
-	if ($reset)
1578
-		$near_version = 0;
1669
+	if ($reset) {
1670
+			$near_version = 0;
1671
+	}
1579 1672
 
1580 1673
 	// Normalize the $versions while we remove our previous Doh!
1581 1674
 	$versions = explode(',', str_replace(array(' ', '2.0rc1-1'), array('', '2.0rc1.1'), strtolower($versions)));
@@ -1584,16 +1677,19 @@  discard block
 block discarded – undo
1584 1677
 	foreach ($versions as $for)
1585 1678
 	{
1586 1679
 		// Adjust for those wild cards
1587
-		if (strpos($for, '*') !== false)
1588
-			$for = str_replace('*', '0dev0', $for) . '-' . str_replace('*', '999', $for);
1680
+		if (strpos($for, '*') !== false) {
1681
+					$for = str_replace('*', '0dev0', $for) . '-' . str_replace('*', '999', $for);
1682
+		}
1589 1683
 
1590 1684
 		// If we have a range, grab the lower value, done this way so it looks normal-er to the user e.g. 2.0 vs 2.0.99
1591
-		if (strpos($for, '-') !== false)
1592
-			list ($for, $higher) = explode('-', $for);
1685
+		if (strpos($for, '-') !== false) {
1686
+					list ($for, $higher) = explode('-', $for);
1687
+		}
1593 1688
 
1594 1689
 		// Do the compare, if the for is greater, than what we have but not greater than what we are running .....
1595
-		if (compareVersions($near_version, $for) === -1 && compareVersions($for, $the_version) !== 1)
1596
-			$near_version = $for;
1690
+		if (compareVersions($near_version, $for) === -1 && compareVersions($for, $the_version) !== 1) {
1691
+					$near_version = $for;
1692
+		}
1597 1693
 	}
1598 1694
 
1599 1695
 	return !empty($near_version) ? $near_version : false;
@@ -1616,15 +1712,17 @@  discard block
 block discarded – undo
1616 1712
 	$versions = explode(',', str_replace(array(' ', '2.0rc1-1'), array('', '2.0rc1.1'), strtolower($versions)));
1617 1713
 
1618 1714
 	// Perhaps we do accept anything?
1619
-	if (in_array('all', $versions))
1620
-		return true;
1715
+	if (in_array('all', $versions)) {
1716
+			return true;
1717
+	}
1621 1718
 
1622 1719
 	// Loop through each version.
1623 1720
 	foreach ($versions as $for)
1624 1721
 	{
1625 1722
 		// Wild card spotted?
1626
-		if (strpos($for, '*') !== false)
1627
-			$for = str_replace('*', '0dev0', $for) . '-' . str_replace('*', '999', $for);
1723
+		if (strpos($for, '*') !== false) {
1724
+					$for = str_replace('*', '0dev0', $for) . '-' . str_replace('*', '999', $for);
1725
+		}
1628 1726
 
1629 1727
 		// Do we have a range?
1630 1728
 		if (strpos($for, '-') !== false)
@@ -1632,12 +1730,14 @@  discard block
 block discarded – undo
1632 1730
 			list ($lower, $upper) = explode('-', $for);
1633 1731
 
1634 1732
 			// Compare the version against lower and upper bounds.
1635
-			if (compareVersions($version, $lower) > -1 && compareVersions($version, $upper) < 1)
1636
-				return true;
1733
+			if (compareVersions($version, $lower) > -1 && compareVersions($version, $upper) < 1) {
1734
+							return true;
1735
+			}
1637 1736
 		}
1638 1737
 		// Otherwise check if they are equal...
1639
-		elseif (compareVersions($version, $for) === 0)
1640
-			return true;
1738
+		elseif (compareVersions($version, $for) === 0) {
1739
+					return true;
1740
+		}
1641 1741
 	}
1642 1742
 
1643 1743
 	return false;
@@ -1677,12 +1777,14 @@  discard block
 block discarded – undo
1677 1777
 	}
1678 1778
 
1679 1779
 	// Are they the same, perhaps?
1680
-	if ($versions[1] === $versions[2])
1681
-		return 0;
1780
+	if ($versions[1] === $versions[2]) {
1781
+			return 0;
1782
+	}
1682 1783
 
1683 1784
 	// Get version numbering categories...
1684
-	if (!isset($categories))
1685
-		$categories = array_keys($versions[1]);
1785
+	if (!isset($categories)) {
1786
+			$categories = array_keys($versions[1]);
1787
+	}
1686 1788
 
1687 1789
 	// Loop through each category.
1688 1790
 	foreach ($categories as $category)
@@ -1692,13 +1794,15 @@  discard block
 block discarded – undo
1692 1794
 		{
1693 1795
 			// Dev builds are a problematic exception.
1694 1796
 			// (stable) dev < (stable) but (unstable) dev = (unstable)
1695
-			if ($category == 'type')
1696
-				return $versions[1][$category] > $versions[2][$category] ? ($versions[1]['dev'] ? -1 : 1) : ($versions[2]['dev'] ? 1 : -1);
1697
-			elseif ($category == 'dev')
1698
-				return $versions[1]['dev'] ? ($versions[2]['type'] == 'stable' ? -1 : 0) : ($versions[1]['type'] == 'stable' ? 1 : 0);
1797
+			if ($category == 'type') {
1798
+							return $versions[1][$category] > $versions[2][$category] ? ($versions[1]['dev'] ? -1 : 1) : ($versions[2]['dev'] ? 1 : -1);
1799
+			} elseif ($category == 'dev') {
1800
+							return $versions[1]['dev'] ? ($versions[2]['type'] == 'stable' ? -1 : 0) : ($versions[1]['type'] == 'stable' ? 1 : 0);
1801
+			}
1699 1802
 			// Otherwise a simple comparison.
1700
-			else
1701
-				return $versions[1][$category] > $versions[2][$category] ? 1 : -1;
1803
+			else {
1804
+							return $versions[1][$category] > $versions[2][$category] ? 1 : -1;
1805
+			}
1702 1806
 		}
1703 1807
 	}
1704 1808
 
@@ -1732,11 +1836,13 @@  discard block
 block discarded – undo
1732 1836
 	);
1733 1837
 
1734 1838
 	// do we parse in a package directory?
1735
-	if (!empty($temp_path))
1736
-		$dirs['$package'] = $temp_path;
1839
+	if (!empty($temp_path)) {
1840
+			$dirs['$package'] = $temp_path;
1841
+	}
1737 1842
 
1738
-	if (strlen($path) == 0)
1739
-		trigger_error('parse_path(): There should never be an empty filename', E_USER_ERROR);
1843
+	if (strlen($path) == 0) {
1844
+			trigger_error('parse_path(): There should never be an empty filename', E_USER_ERROR);
1845
+	}
1740 1846
 
1741 1847
 	return strtr($path, $dirs);
1742 1848
 }
@@ -1753,8 +1859,9 @@  discard block
 block discarded – undo
1753 1859
 	/** @var ftp_connection $package_ftp */
1754 1860
 	global $package_ftp;
1755 1861
 
1756
-	if (!file_exists($dir))
1757
-		return;
1862
+	if (!file_exists($dir)) {
1863
+			return;
1864
+	}
1758 1865
 
1759 1866
 	$current_dir = @opendir($dir);
1760 1867
 	if ($current_dir == false)
@@ -1762,8 +1869,9 @@  discard block
 block discarded – undo
1762 1869
 		if ($delete_dir && isset($package_ftp))
1763 1870
 		{
1764 1871
 			$ftp_file = strtr($dir, array($_SESSION['pack_ftp']['root'] => ''));
1765
-			if (!is_dir($dir))
1766
-				$package_ftp->chmod($ftp_file, 0777);
1872
+			if (!is_dir($dir)) {
1873
+							$package_ftp->chmod($ftp_file, 0777);
1874
+			}
1767 1875
 			$package_ftp->unlink($ftp_file);
1768 1876
 		}
1769 1877
 
@@ -1772,26 +1880,28 @@  discard block
 block discarded – undo
1772 1880
 
1773 1881
 	while ($entryname = readdir($current_dir))
1774 1882
 	{
1775
-		if (in_array($entryname, array('.', '..')))
1776
-			continue;
1883
+		if (in_array($entryname, array('.', '..'))) {
1884
+					continue;
1885
+		}
1777 1886
 
1778
-		if (is_dir($dir . '/' . $entryname))
1779
-			deltree($dir . '/' . $entryname);
1780
-		else
1887
+		if (is_dir($dir . '/' . $entryname)) {
1888
+					deltree($dir . '/' . $entryname);
1889
+		} else
1781 1890
 		{
1782 1891
 			// Here, 755 doesn't really matter since we're deleting it anyway.
1783 1892
 			if (isset($package_ftp))
1784 1893
 			{
1785 1894
 				$ftp_file = strtr($dir . '/' . $entryname, array($_SESSION['pack_ftp']['root'] => ''));
1786 1895
 
1787
-				if (!is_writable($dir . '/' . $entryname))
1788
-					$package_ftp->chmod($ftp_file, 0777);
1896
+				if (!is_writable($dir . '/' . $entryname)) {
1897
+									$package_ftp->chmod($ftp_file, 0777);
1898
+				}
1789 1899
 				$package_ftp->unlink($ftp_file);
1790
-			}
1791
-			else
1900
+			} else
1792 1901
 			{
1793
-				if (!is_writable($dir . '/' . $entryname))
1794
-					smf_chmod($dir . '/' . $entryname, 0777);
1902
+				if (!is_writable($dir . '/' . $entryname)) {
1903
+									smf_chmod($dir . '/' . $entryname, 0777);
1904
+				}
1795 1905
 				unlink($dir . '/' . $entryname);
1796 1906
 			}
1797 1907
 		}
@@ -1804,14 +1914,15 @@  discard block
 block discarded – undo
1804 1914
 		if (isset($package_ftp))
1805 1915
 		{
1806 1916
 			$ftp_file = strtr($dir, array($_SESSION['pack_ftp']['root'] => ''));
1807
-			if (!is_writable($dir . '/' . $entryname))
1808
-				$package_ftp->chmod($ftp_file, 0777);
1917
+			if (!is_writable($dir . '/' . $entryname)) {
1918
+							$package_ftp->chmod($ftp_file, 0777);
1919
+			}
1809 1920
 			$package_ftp->unlink($ftp_file);
1810
-		}
1811
-		else
1921
+		} else
1812 1922
 		{
1813
-			if (!is_writable($dir))
1814
-				smf_chmod($dir, 0777);
1923
+			if (!is_writable($dir)) {
1924
+							smf_chmod($dir, 0777);
1925
+			}
1815 1926
 			@rmdir($dir);
1816 1927
 		}
1817 1928
 	}
@@ -1834,10 +1945,11 @@  discard block
 block discarded – undo
1834 1945
 	{
1835 1946
 		if (!is_writable($strPath) && $mode !== false)
1836 1947
 		{
1837
-			if (isset($package_ftp))
1838
-				$package_ftp->chmod(strtr($strPath, array($_SESSION['pack_ftp']['root'] => '')), $mode);
1839
-			else
1840
-				smf_chmod($strPath, $mode);
1948
+			if (isset($package_ftp)) {
1949
+							$package_ftp->chmod(strtr($strPath, array($_SESSION['pack_ftp']['root'] => '')), $mode);
1950
+			} else {
1951
+							smf_chmod($strPath, $mode);
1952
+			}
1841 1953
 		}
1842 1954
 
1843 1955
 		$test = @opendir($strPath);
@@ -1845,36 +1957,37 @@  discard block
 block discarded – undo
1845 1957
 		{
1846 1958
 			closedir($test);
1847 1959
 			return is_writable($strPath);
1960
+		} else {
1961
+					return false;
1848 1962
 		}
1849
-		else
1850
-			return false;
1851 1963
 	}
1852 1964
 	// Is this an invalid path and/or we can't make the directory?
1853
-	if ($strPath == dirname($strPath) || !mktree(dirname($strPath), $mode))
1854
-		return false;
1965
+	if ($strPath == dirname($strPath) || !mktree(dirname($strPath), $mode)) {
1966
+			return false;
1967
+	}
1855 1968
 
1856 1969
 	if (!is_writable(dirname($strPath)) && $mode !== false)
1857 1970
 	{
1858
-		if (isset($package_ftp))
1859
-			$package_ftp->chmod(dirname(strtr($strPath, array($_SESSION['pack_ftp']['root'] => ''))), $mode);
1860
-		else
1861
-			smf_chmod(dirname($strPath), $mode);
1971
+		if (isset($package_ftp)) {
1972
+					$package_ftp->chmod(dirname(strtr($strPath, array($_SESSION['pack_ftp']['root'] => ''))), $mode);
1973
+		} else {
1974
+					smf_chmod(dirname($strPath), $mode);
1975
+		}
1862 1976
 	}
1863 1977
 
1864
-	if ($mode !== false && isset($package_ftp))
1865
-		return $package_ftp->create_dir(strtr($strPath, array($_SESSION['pack_ftp']['root'] => '')));
1866
-	elseif ($mode === false)
1978
+	if ($mode !== false && isset($package_ftp)) {
1979
+			return $package_ftp->create_dir(strtr($strPath, array($_SESSION['pack_ftp']['root'] => '')));
1980
+	} elseif ($mode === false)
1867 1981
 	{
1868 1982
 		$test = @opendir(dirname($strPath));
1869 1983
 		if ($test)
1870 1984
 		{
1871 1985
 			closedir($test);
1872 1986
 			return true;
1987
+		} else {
1988
+					return false;
1873 1989
 		}
1874
-		else
1875
-			return false;
1876
-	}
1877
-	else
1990
+	} else
1878 1991
 	{
1879 1992
 		@mkdir($strPath, $mode);
1880 1993
 		$test = @opendir($strPath);
@@ -1882,9 +1995,9 @@  discard block
 block discarded – undo
1882 1995
 		{
1883 1996
 			closedir($test);
1884 1997
 			return true;
1998
+		} else {
1999
+					return false;
1885 2000
 		}
1886
-		else
1887
-			return false;
1888 2001
 	}
1889 2002
 }
1890 2003
 
@@ -1900,39 +2013,46 @@  discard block
 block discarded – undo
1900 2013
 	/** @var ftp_connection $package_ftp */
1901 2014
 	global $package_ftp;
1902 2015
 
1903
-	if (!file_exists($destination) || !is_writable($destination))
1904
-		mktree($destination, 0755);
1905
-	if (!is_writable($destination))
1906
-		mktree($destination, 0777);
2016
+	if (!file_exists($destination) || !is_writable($destination)) {
2017
+			mktree($destination, 0755);
2018
+	}
2019
+	if (!is_writable($destination)) {
2020
+			mktree($destination, 0777);
2021
+	}
1907 2022
 
1908 2023
 	$current_dir = opendir($source);
1909
-	if ($current_dir == false)
1910
-		return;
2024
+	if ($current_dir == false) {
2025
+			return;
2026
+	}
1911 2027
 
1912 2028
 	while ($entryname = readdir($current_dir))
1913 2029
 	{
1914
-		if (in_array($entryname, array('.', '..')))
1915
-			continue;
2030
+		if (in_array($entryname, array('.', '..'))) {
2031
+					continue;
2032
+		}
1916 2033
 
1917
-		if (isset($package_ftp))
1918
-			$ftp_file = strtr($destination . '/' . $entryname, array($_SESSION['pack_ftp']['root'] => ''));
2034
+		if (isset($package_ftp)) {
2035
+					$ftp_file = strtr($destination . '/' . $entryname, array($_SESSION['pack_ftp']['root'] => ''));
2036
+		}
1919 2037
 
1920 2038
 		if (is_file($source . '/' . $entryname))
1921 2039
 		{
1922
-			if (isset($package_ftp) && !file_exists($destination . '/' . $entryname))
1923
-				$package_ftp->create_file($ftp_file);
1924
-			elseif (!file_exists($destination . '/' . $entryname))
1925
-				@touch($destination . '/' . $entryname);
2040
+			if (isset($package_ftp) && !file_exists($destination . '/' . $entryname)) {
2041
+							$package_ftp->create_file($ftp_file);
2042
+			} elseif (!file_exists($destination . '/' . $entryname)) {
2043
+							@touch($destination . '/' . $entryname);
2044
+			}
1926 2045
 		}
1927 2046
 
1928 2047
 		package_chmod($destination . '/' . $entryname);
1929 2048
 
1930
-		if (is_dir($source . '/' . $entryname))
1931
-			copytree($source . '/' . $entryname, $destination . '/' . $entryname);
1932
-		elseif (file_exists($destination . '/' . $entryname))
1933
-			package_put_contents($destination . '/' . $entryname, package_get_contents($source . '/' . $entryname));
1934
-		else
1935
-			copy($source . '/' . $entryname, $destination . '/' . $entryname);
2049
+		if (is_dir($source . '/' . $entryname)) {
2050
+					copytree($source . '/' . $entryname, $destination . '/' . $entryname);
2051
+		} elseif (file_exists($destination . '/' . $entryname)) {
2052
+					package_put_contents($destination . '/' . $entryname, package_get_contents($source . '/' . $entryname));
2053
+		} else {
2054
+					copy($source . '/' . $entryname, $destination . '/' . $entryname);
2055
+		}
1936 2056
 	}
1937 2057
 
1938 2058
 	closedir($current_dir);
@@ -1950,21 +2070,24 @@  discard block
 block discarded – undo
1950 2070
 	$data = array();
1951 2071
 
1952 2072
 	$dir = @dir($path . $sub_path);
1953
-	if (!$dir)
1954
-		return array();
2073
+	if (!$dir) {
2074
+			return array();
2075
+	}
1955 2076
 	while ($entry = $dir->read())
1956 2077
 	{
1957
-		if ($entry == '.' || $entry == '..')
1958
-			continue;
2078
+		if ($entry == '.' || $entry == '..') {
2079
+					continue;
2080
+		}
1959 2081
 
1960
-		if (is_dir($path . $sub_path . '/' . $entry))
1961
-			$data = array_merge($data, listtree($path, $sub_path . '/' . $entry));
1962
-		else
1963
-			$data[] = array(
2082
+		if (is_dir($path . $sub_path . '/' . $entry)) {
2083
+					$data = array_merge($data, listtree($path, $sub_path . '/' . $entry));
2084
+		} else {
2085
+					$data[] = array(
1964 2086
 				'filename' => $sub_path == '' ? $entry : $sub_path . '/' . $entry,
1965 2087
 				'size' => filesize($path . $sub_path . '/' . $entry),
1966 2088
 				'skipped' => false,
1967 2089
 			);
2090
+		}
1968 2091
 	}
1969 2092
 	$dir->close();
1970 2093
 
@@ -2019,8 +2142,9 @@  discard block
 block discarded – undo
2019 2142
 		{
2020 2143
 			// If this filename is relative, if so take a guess at what it should be.
2021 2144
 			$real_filename = $filename;
2022
-			if (strpos($filename, 'Themes') === 0)
2023
-				$real_filename = $boarddir . '/' . $filename;
2145
+			if (strpos($filename, 'Themes') === 0) {
2146
+							$real_filename = $boarddir . '/' . $filename;
2147
+			}
2024 2148
 
2025 2149
 			if (strpos($real_filename, $theme['theme_dir']) === 0)
2026 2150
 			{
@@ -2039,8 +2163,9 @@  discard block
 block discarded – undo
2039 2163
 		foreach ($theme_paths as $id => $theme)
2040 2164
 		{
2041 2165
 			// Default is getting done anyway, so no need for involvement here.
2042
-			if ($id == 1)
2043
-				continue;
2166
+			if ($id == 1) {
2167
+							continue;
2168
+			}
2044 2169
 
2045 2170
 			// For every template, do we want it? Yea, no, maybe?
2046 2171
 			foreach ($template_changes[1] as $index => $template_file)
@@ -2063,8 +2188,9 @@  discard block
 block discarded – undo
2063 2188
 		);
2064 2189
 
2065 2190
 		// Sometimes though, we have some additional files for other themes, if we have add them to the mix.
2066
-		if (isset($custom_themes_add[$files_to_change[1]]))
2067
-			$files_to_change += $custom_themes_add[$files_to_change[1]];
2191
+		if (isset($custom_themes_add[$files_to_change[1]])) {
2192
+					$files_to_change += $custom_themes_add[$files_to_change[1]];
2193
+		}
2068 2194
 
2069 2195
 		// Now, loop through all the files we're changing, and, well, change them ;)
2070 2196
 		foreach ($files_to_change as $theme => $working_file)
@@ -2098,11 +2224,13 @@  discard block
 block discarded – undo
2098 2224
 				continue;
2099 2225
 			}
2100 2226
 			// Okay, we're creating this file then...?
2101
-			elseif (!file_exists($working_file))
2102
-				$working_data = '';
2227
+			elseif (!file_exists($working_file)) {
2228
+							$working_data = '';
2229
+			}
2103 2230
 			// Phew, it exists!  Load 'er up!
2104
-			else
2105
-				$working_data = str_replace("\r", '', package_get_contents($working_file));
2231
+			else {
2232
+							$working_data = str_replace("\r", '', package_get_contents($working_file));
2233
+			}
2106 2234
 
2107 2235
 			$actions[] = array(
2108 2236
 				'type' => 'opened',
@@ -2123,8 +2251,8 @@  discard block
 block discarded – undo
2123 2251
 
2124 2252
 				// Grab all search items of this operation (in most cases just 1).
2125 2253
 				$searches = $operation->set('search');
2126
-				foreach ($searches as $i => $search)
2127
-					$actual_operation['searches'][] = array(
2254
+				foreach ($searches as $i => $search) {
2255
+									$actual_operation['searches'][] = array(
2128 2256
 						'position' => $search->exists('@position') && in_array(trim($search->fetch('@position')), array('before', 'after', 'replace', 'end')) ? trim($search->fetch('@position')) : 'replace',
2129 2257
 						'is_reg_exp' => $search->exists('@regexp') && trim($search->fetch('@regexp')) === 'true',
2130 2258
 						'loose_whitespace' => $search->exists('@whitespace') && trim($search->fetch('@whitespace')) === 'loose',
@@ -2133,6 +2261,7 @@  discard block
 block discarded – undo
2133 2261
 						'preg_search' => '',
2134 2262
 						'preg_replace' => '',
2135 2263
 					);
2264
+				}
2136 2265
 
2137 2266
 				// At least one search should be defined.
2138 2267
 				if (empty($actual_operation['searches']))
@@ -2157,30 +2286,32 @@  discard block
 block discarded – undo
2157 2286
 						// Reverse modification of regular expressions are not allowed.
2158 2287
 						if ($search['is_reg_exp'])
2159 2288
 						{
2160
-							if ($actual_operation['error'] === 'fatal')
2161
-								$actions[] = array(
2289
+							if ($actual_operation['error'] === 'fatal') {
2290
+															$actions[] = array(
2162 2291
 									'type' => 'failure',
2163 2292
 									'filename' => $working_file,
2164 2293
 									'search' => $search['search'],
2165 2294
 									'is_custom' => $theme > 1 ? $theme : 0,
2166 2295
 								);
2296
+							}
2167 2297
 
2168 2298
 							// Continue to the next operation.
2169 2299
 							continue 2;
2170 2300
 						}
2171 2301
 
2172 2302
 						// The replacement is now the search subject...
2173
-						if ($search['position'] === 'replace' || $search['position'] === 'end')
2174
-							$actual_operation['searches'][$i]['search'] = $search['add'];
2175
-						else
2303
+						if ($search['position'] === 'replace' || $search['position'] === 'end') {
2304
+													$actual_operation['searches'][$i]['search'] = $search['add'];
2305
+						} else
2176 2306
 						{
2177 2307
 							// Reversing a before/after modification becomes a replacement.
2178 2308
 							$actual_operation['searches'][$i]['position'] = 'replace';
2179 2309
 
2180
-							if ($search['position'] === 'before')
2181
-								$actual_operation['searches'][$i]['search'] .= $search['add'];
2182
-							elseif ($search['position'] === 'after')
2183
-								$actual_operation['searches'][$i]['search'] = $search['add'] . $search['search'];
2310
+							if ($search['position'] === 'before') {
2311
+															$actual_operation['searches'][$i]['search'] .= $search['add'];
2312
+							} elseif ($search['position'] === 'after') {
2313
+															$actual_operation['searches'][$i]['search'] = $search['add'] . $search['search'];
2314
+							}
2184 2315
 						}
2185 2316
 
2186 2317
 						// ...and the search subject is now the replacement.
@@ -2208,16 +2339,17 @@  discard block
 block discarded – undo
2208 2339
 				foreach ($actual_operation['searches'] as $i => $search)
2209 2340
 				{
2210 2341
 					// Not much needed if the search subject is already a regexp.
2211
-					if ($search['is_reg_exp'])
2212
-						$actual_operation['searches'][$i]['preg_search'] = $search['search'];
2213
-					else
2342
+					if ($search['is_reg_exp']) {
2343
+											$actual_operation['searches'][$i]['preg_search'] = $search['search'];
2344
+					} else
2214 2345
 					{
2215 2346
 						// Make the search subject fit into a regular expression.
2216 2347
 						$actual_operation['searches'][$i]['preg_search'] = preg_quote($search['search'], '~');
2217 2348
 
2218 2349
 						// Using 'loose', a random amount of tabs and spaces may be used.
2219
-						if ($search['loose_whitespace'])
2220
-							$actual_operation['searches'][$i]['preg_search'] = preg_replace('~[ \t]+~', '[ \t]+', $actual_operation['searches'][$i]['preg_search']);
2350
+						if ($search['loose_whitespace']) {
2351
+													$actual_operation['searches'][$i]['preg_search'] = preg_replace('~[ \t]+~', '[ \t]+', $actual_operation['searches'][$i]['preg_search']);
2352
+						}
2221 2353
 					}
2222 2354
 
2223 2355
 					// Shuzzup.  This is done so we can safely use a regular expression. ($0 is bad!!)
@@ -2243,8 +2375,7 @@  discard block
 block discarded – undo
2243 2375
 						if ($undo)
2244 2376
 						{
2245 2377
 							$actual_operation['searches'][$i]['preg_replace'] = '';
2246
-						}
2247
-						else
2378
+						} else
2248 2379
 						{
2249 2380
 							$actual_operation['searches'][$i]['preg_search'] = '(\\n\\?\\>)?$';
2250 2381
 							$actual_operation['searches'][$i]['preg_replace'] .= '$1';
@@ -2291,8 +2422,9 @@  discard block
 block discarded – undo
2291 2422
 					}
2292 2423
 
2293 2424
 					// Replace it into nothing? That's not an option...unless it's an undoing end.
2294
-					if ($search['add'] === '' && ($search['position'] !== 'end' || !$undo))
2295
-						continue;
2425
+					if ($search['add'] === '' && ($search['position'] !== 'end' || !$undo)) {
2426
+											continue;
2427
+					}
2296 2428
 
2297 2429
 					// Finally, we're doing some replacements.
2298 2430
 					$working_data = preg_replace('~' . $actual_operation['searches'][$i]['preg_search'] . '~s', $actual_operation['searches'][$i]['preg_replace'], $working_data, 1);
@@ -2317,22 +2449,25 @@  discard block
 block discarded – undo
2317 2449
 
2318 2450
 			package_chmod($working_file);
2319 2451
 
2320
-			if ((file_exists($working_file) && !is_writable($working_file)) || (!file_exists($working_file) && !is_writable(dirname($working_file))))
2321
-				$actions[] = array(
2452
+			if ((file_exists($working_file) && !is_writable($working_file)) || (!file_exists($working_file) && !is_writable(dirname($working_file)))) {
2453
+							$actions[] = array(
2322 2454
 					'type' => 'chmod',
2323 2455
 					'filename' => $working_file
2324 2456
 				);
2457
+			}
2325 2458
 
2326
-			if (basename($working_file) == 'Settings_bak.php')
2327
-				continue;
2459
+			if (basename($working_file) == 'Settings_bak.php') {
2460
+							continue;
2461
+			}
2328 2462
 
2329 2463
 			if (!$testing && !empty($modSettings['package_make_backups']) && file_exists($working_file))
2330 2464
 			{
2331 2465
 				// No, no, not Settings.php!
2332
-				if (basename($working_file) == 'Settings.php')
2333
-					@copy($working_file, dirname($working_file) . '/Settings_bak.php');
2334
-				else
2335
-					@copy($working_file, $working_file . '~');
2466
+				if (basename($working_file) == 'Settings.php') {
2467
+									@copy($working_file, dirname($working_file) . '/Settings_bak.php');
2468
+				} else {
2469
+									@copy($working_file, $working_file . '~');
2470
+				}
2336 2471
 			}
2337 2472
 
2338 2473
 			// Always call this, even if in testing, because it won't really be written in testing mode.
@@ -2399,8 +2534,9 @@  discard block
 block discarded – undo
2399 2534
 		if ($code_match[1] != 'edit file' && $code_match[1] != 'file')
2400 2535
 		{
2401 2536
 			// It's a step, let's add that to the current steps.
2402
-			if (isset($temp_changes[$step_counter]))
2403
-				$temp_changes[$step_counter]['changes'][] = $code_match[0];
2537
+			if (isset($temp_changes[$step_counter])) {
2538
+							$temp_changes[$step_counter]['changes'][] = $code_match[0];
2539
+			}
2404 2540
 			continue;
2405 2541
 		}
2406 2542
 
@@ -2417,11 +2553,13 @@  discard block
 block discarded – undo
2417 2553
 		foreach ($theme_paths as $id => $theme)
2418 2554
 		{
2419 2555
 			// If this filename is relative, if so take a guess at what it should be.
2420
-			if (strpos($filename, 'Themes') === 0)
2421
-				$filename = $boarddir . '/' . $filename;
2556
+			if (strpos($filename, 'Themes') === 0) {
2557
+							$filename = $boarddir . '/' . $filename;
2558
+			}
2422 2559
 
2423
-			if (strpos($filename, $theme['theme_dir']) === 0)
2424
-				$template_changes[$id][$counter] = substr($filename, strlen($theme['theme_dir']) + 1);
2560
+			if (strpos($filename, $theme['theme_dir']) === 0) {
2561
+							$template_changes[$id][$counter] = substr($filename, strlen($theme['theme_dir']) + 1);
2562
+			}
2425 2563
 		}
2426 2564
 	}
2427 2565
 
@@ -2434,8 +2572,9 @@  discard block
 block discarded – undo
2434 2572
 		foreach ($theme_paths as $id => $theme)
2435 2573
 		{
2436 2574
 			// Don't do default, it means nothing to me.
2437
-			if ($id == 1)
2438
-				continue;
2575
+			if ($id == 1) {
2576
+							continue;
2577
+			}
2439 2578
 
2440 2579
 			// Now, for each file do we need to edit it?
2441 2580
 			foreach ($template_changes[1] as $pos => $template_file)
@@ -2471,32 +2610,36 @@  discard block
 block discarded – undo
2471 2610
 				package_chmod($working_file);
2472 2611
 
2473 2612
 				// Don't even dare.
2474
-				if (basename($working_file) == 'Settings_bak.php')
2475
-					continue;
2613
+				if (basename($working_file) == 'Settings_bak.php') {
2614
+									continue;
2615
+				}
2476 2616
 
2477
-				if (!is_writable($working_file))
2478
-					$actions[] = array(
2617
+				if (!is_writable($working_file)) {
2618
+									$actions[] = array(
2479 2619
 						'type' => 'chmod',
2480 2620
 						'filename' => $working_file
2481 2621
 					);
2622
+				}
2482 2623
 
2483 2624
 				if (!$testing && !empty($modSettings['package_make_backups']) && file_exists($working_file))
2484 2625
 				{
2485
-					if (basename($working_file) == 'Settings.php')
2486
-						@copy($working_file, dirname($working_file) . '/Settings_bak.php');
2487
-					else
2488
-						@copy($working_file, $working_file . '~');
2626
+					if (basename($working_file) == 'Settings.php') {
2627
+											@copy($working_file, dirname($working_file) . '/Settings_bak.php');
2628
+					} else {
2629
+											@copy($working_file, $working_file . '~');
2630
+					}
2489 2631
 				}
2490 2632
 
2491 2633
 				package_put_contents($working_file, $working_data, $testing);
2492 2634
 			}
2493 2635
 
2494
-			if ($working_file !== null)
2495
-				$actions[] = array(
2636
+			if ($working_file !== null) {
2637
+							$actions[] = array(
2496 2638
 					'type' => 'saved',
2497 2639
 					'filename' => $working_file,
2498 2640
 					'is_custom' => $is_custom,
2499 2641
 				);
2642
+			}
2500 2643
 
2501 2644
 			// Is this "now working on" file a theme specific one?
2502 2645
 			$is_custom = isset($theme_id_ref[$counter - 1]) ? $theme_id_ref[$counter - 1] : 0;
@@ -2515,10 +2658,11 @@  discard block
 block discarded – undo
2515 2658
 			{
2516 2659
 				$places_to_check = array($boarddir, $sourcedir, $settings['default_theme_dir'], $settings['default_theme_dir'] . '/languages');
2517 2660
 
2518
-				foreach ($places_to_check as $place)
2519
-					if (file_exists($place . '/' . $working_file))
2661
+				foreach ($places_to_check as $place) {
2662
+									if (file_exists($place . '/' . $working_file))
2520 2663
 					{
2521 2664
 						$working_file = $place . '/' . $working_file;
2665
+				}
2522 2666
 						break;
2523 2667
 					}
2524 2668
 			}
@@ -2532,8 +2676,7 @@  discard block
 block discarded – undo
2532 2676
 					'type' => 'opened',
2533 2677
 					'filename' => $working_file
2534 2678
 				);
2535
-			}
2536
-			else
2679
+			} else
2537 2680
 			{
2538 2681
 				$actions[] = array(
2539 2682
 					'type' => 'missing',
@@ -2569,11 +2712,13 @@  discard block
 block discarded – undo
2569 2712
 			$replace_with = $code_match[2];
2570 2713
 
2571 2714
 			// Add this afterward...
2572
-			if ($code_match[1] == 'add' || $code_match[1] == 'add after')
2573
-				$replace_with = $working_search . "\n" . $replace_with;
2715
+			if ($code_match[1] == 'add' || $code_match[1] == 'add after') {
2716
+							$replace_with = $working_search . "\n" . $replace_with;
2717
+			}
2574 2718
 			// Add this beforehand.
2575
-			elseif ($code_match[1] == 'before' || $code_match[1] == 'add before' || $code_match[1] == 'above' || $code_match[1] == 'add above')
2576
-				$replace_with .= "\n" . $working_search;
2719
+			elseif ($code_match[1] == 'before' || $code_match[1] == 'add before' || $code_match[1] == 'above' || $code_match[1] == 'add above') {
2720
+							$replace_with .= "\n" . $working_search;
2721
+			}
2577 2722
 			// Otherwise.. replace with $replace_with ;).
2578 2723
 		}
2579 2724
 
@@ -2636,29 +2781,32 @@  discard block
 block discarded – undo
2636 2781
 	{
2637 2782
 		package_chmod($working_file);
2638 2783
 
2639
-		if (!is_writable($working_file))
2640
-			$actions[] = array(
2784
+		if (!is_writable($working_file)) {
2785
+					$actions[] = array(
2641 2786
 				'type' => 'chmod',
2642 2787
 				'filename' => $working_file
2643 2788
 			);
2789
+		}
2644 2790
 
2645 2791
 		if (!$testing && !empty($modSettings['package_make_backups']) && file_exists($working_file))
2646 2792
 		{
2647
-			if (basename($working_file) == 'Settings.php')
2648
-				@copy($working_file, dirname($working_file) . '/Settings_bak.php');
2649
-			else
2650
-				@copy($working_file, $working_file . '~');
2793
+			if (basename($working_file) == 'Settings.php') {
2794
+							@copy($working_file, dirname($working_file) . '/Settings_bak.php');
2795
+			} else {
2796
+							@copy($working_file, $working_file . '~');
2797
+			}
2651 2798
 		}
2652 2799
 
2653 2800
 		package_put_contents($working_file, $working_data, $testing);
2654 2801
 	}
2655 2802
 
2656
-	if ($working_file !== null)
2657
-		$actions[] = array(
2803
+	if ($working_file !== null) {
2804
+			$actions[] = array(
2658 2805
 			'type' => 'saved',
2659 2806
 			'filename' => $working_file,
2660 2807
 			'is_custom' => $is_custom,
2661 2808
 		);
2809
+	}
2662 2810
 
2663 2811
 	$actions[] = array(
2664 2812
 		'type' => 'result',
@@ -2684,17 +2832,19 @@  discard block
 block discarded – undo
2684 2832
 		$mem_check = setMemoryLimit('128M');
2685 2833
 
2686 2834
 		// Windows doesn't seem to care about the memory_limit.
2687
-		if (!empty($modSettings['package_disable_cache']) || $mem_check || stripos(PHP_OS, 'win') !== false)
2688
-			$package_cache = array();
2689
-		else
2690
-			$package_cache = false;
2835
+		if (!empty($modSettings['package_disable_cache']) || $mem_check || stripos(PHP_OS, 'win') !== false) {
2836
+					$package_cache = array();
2837
+		} else {
2838
+					$package_cache = false;
2839
+		}
2691 2840
 	}
2692 2841
 
2693
-	if (strpos($filename, 'Packages/') !== false || $package_cache === false || !isset($package_cache[$filename]))
2694
-		return file_get_contents($filename);
2695
-	else
2696
-		return $package_cache[$filename];
2697
-}
2842
+	if (strpos($filename, 'Packages/') !== false || $package_cache === false || !isset($package_cache[$filename])) {
2843
+			return file_get_contents($filename);
2844
+	} else {
2845
+			return $package_cache[$filename];
2846
+	}
2847
+	}
2698 2848
 
2699 2849
 /**
2700 2850
  * Writes data to a file, almost exactly like the file_put_contents() function.
@@ -2718,19 +2868,22 @@  discard block
 block discarded – undo
2718 2868
 		// Try to increase the memory limit - we don't want to run out of ram!
2719 2869
 		$mem_check = setMemoryLimit('128M');
2720 2870
 
2721
-		if (!empty($modSettings['package_disable_cache']) || $mem_check || stripos(PHP_OS, 'win') !== false)
2722
-			$package_cache = array();
2723
-		else
2724
-			$package_cache = false;
2871
+		if (!empty($modSettings['package_disable_cache']) || $mem_check || stripos(PHP_OS, 'win') !== false) {
2872
+					$package_cache = array();
2873
+		} else {
2874
+					$package_cache = false;
2875
+		}
2725 2876
 	}
2726 2877
 
2727
-	if (isset($package_ftp))
2728
-		$ftp_file = strtr($filename, array($_SESSION['pack_ftp']['root'] => ''));
2878
+	if (isset($package_ftp)) {
2879
+			$ftp_file = strtr($filename, array($_SESSION['pack_ftp']['root'] => ''));
2880
+	}
2729 2881
 
2730
-	if (!file_exists($filename) && isset($package_ftp))
2731
-		$package_ftp->create_file($ftp_file);
2732
-	elseif (!file_exists($filename))
2733
-		@touch($filename);
2882
+	if (!file_exists($filename) && isset($package_ftp)) {
2883
+			$package_ftp->create_file($ftp_file);
2884
+	} elseif (!file_exists($filename)) {
2885
+			@touch($filename);
2886
+	}
2734 2887
 
2735 2888
 	package_chmod($filename);
2736 2889
 
@@ -2739,22 +2892,23 @@  discard block
 block discarded – undo
2739 2892
 		$fp = @fopen($filename, in_array(substr($filename, -3), $text_filetypes) ? 'w' : 'wb');
2740 2893
 
2741 2894
 		// We should show an error message or attempt a rollback, no?
2742
-		if (!$fp)
2743
-			return false;
2895
+		if (!$fp) {
2896
+					return false;
2897
+		}
2744 2898
 
2745 2899
 		fwrite($fp, $data);
2746 2900
 		fclose($fp);
2747
-	}
2748
-	elseif (strpos($filename, 'Packages/') !== false || $package_cache === false)
2749
-		return strlen($data);
2750
-	else
2901
+	} elseif (strpos($filename, 'Packages/') !== false || $package_cache === false) {
2902
+			return strlen($data);
2903
+	} else
2751 2904
 	{
2752 2905
 		$package_cache[$filename] = $data;
2753 2906
 
2754 2907
 		// Permission denied, eh?
2755 2908
 		$fp = @fopen($filename, 'r+');
2756
-		if (!$fp)
2757
-			return false;
2909
+		if (!$fp) {
2910
+					return false;
2911
+		}
2758 2912
 		fclose($fp);
2759 2913
 	}
2760 2914
 
@@ -2772,19 +2926,22 @@  discard block
 block discarded – undo
2772 2926
 	global $package_ftp, $package_cache;
2773 2927
 	static $text_filetypes = array('php', 'txt', '.js', 'css', 'vbs', 'tml', 'htm');
2774 2928
 
2775
-	if (empty($package_cache))
2776
-		return;
2929
+	if (empty($package_cache)) {
2930
+			return;
2931
+	}
2777 2932
 
2778 2933
 	// First, let's check permissions!
2779 2934
 	foreach ($package_cache as $filename => $data)
2780 2935
 	{
2781
-		if (isset($package_ftp))
2782
-			$ftp_file = strtr($filename, array($_SESSION['pack_ftp']['root'] => ''));
2936
+		if (isset($package_ftp)) {
2937
+					$ftp_file = strtr($filename, array($_SESSION['pack_ftp']['root'] => ''));
2938
+		}
2783 2939
 
2784
-		if (!file_exists($filename) && isset($package_ftp))
2785
-			$package_ftp->create_file($ftp_file);
2786
-		elseif (!file_exists($filename))
2787
-			@touch($filename);
2940
+		if (!file_exists($filename) && isset($package_ftp)) {
2941
+					$package_ftp->create_file($ftp_file);
2942
+		} elseif (!file_exists($filename)) {
2943
+					@touch($filename);
2944
+		}
2788 2945
 
2789 2946
 		$result = package_chmod($filename);
2790 2947
 
@@ -2838,8 +2995,9 @@  discard block
 block discarded – undo
2838 2995
 	/** @var ftp_connection $package_ftp */
2839 2996
 	global $package_ftp;
2840 2997
 
2841
-	if (file_exists($filename) && is_writable($filename) && $perm_state == 'writable')
2842
-		return true;
2998
+	if (file_exists($filename) && is_writable($filename) && $perm_state == 'writable') {
2999
+			return true;
3000
+	}
2843 3001
 
2844 3002
 	// Start off checking without FTP.
2845 3003
 	if (!isset($package_ftp) || $package_ftp === false)
@@ -2861,8 +3019,7 @@  discard block
 block discarded – undo
2861 3019
 
2862 3020
 				// Keep track of the writable status here.
2863 3021
 				$file_permissions = @fileperms($chmod_file);
2864
-			}
2865
-			else
3022
+			} else
2866 3023
 			{
2867 3024
 				// This looks odd, but it's an attempt to work around PHP suExec.
2868 3025
 				if (!file_exists($chmod_file) && $perm_state == 'writable')
@@ -2872,24 +3029,28 @@  discard block
 block discarded – undo
2872 3029
 					mktree(dirname($chmod_file), 0755);
2873 3030
 					@touch($chmod_file);
2874 3031
 					smf_chmod($chmod_file, 0755);
3032
+				} else {
3033
+									$file_permissions = @fileperms($chmod_file);
2875 3034
 				}
2876
-				else
2877
-					$file_permissions = @fileperms($chmod_file);
2878 3035
 			}
2879 3036
 
2880 3037
 			// This looks odd, but it's another attempt to work around PHP suExec.
2881
-			if ($perm_state != 'writable')
2882
-				smf_chmod($chmod_file, $perm_state == 'execute' ? 0755 : 0644);
2883
-			else
3038
+			if ($perm_state != 'writable') {
3039
+							smf_chmod($chmod_file, $perm_state == 'execute' ? 0755 : 0644);
3040
+			} else
2884 3041
 			{
2885
-				if (!@is_writable($chmod_file))
2886
-					smf_chmod($chmod_file, 0755);
2887
-				if (!@is_writable($chmod_file))
2888
-					smf_chmod($chmod_file, 0777);
2889
-				if (!@is_writable(dirname($chmod_file)))
2890
-					smf_chmod($chmod_file, 0755);
2891
-				if (!@is_writable(dirname($chmod_file)))
2892
-					smf_chmod($chmod_file, 0777);
3042
+				if (!@is_writable($chmod_file)) {
3043
+									smf_chmod($chmod_file, 0755);
3044
+				}
3045
+				if (!@is_writable($chmod_file)) {
3046
+									smf_chmod($chmod_file, 0777);
3047
+				}
3048
+				if (!@is_writable(dirname($chmod_file))) {
3049
+									smf_chmod($chmod_file, 0755);
3050
+				}
3051
+				if (!@is_writable(dirname($chmod_file))) {
3052
+									smf_chmod($chmod_file, 0777);
3053
+				}
2893 3054
 			}
2894 3055
 
2895 3056
 			// The ultimate writable test.
@@ -2898,20 +3059,22 @@  discard block
 block discarded – undo
2898 3059
 				$fp = is_dir($chmod_file) ? @opendir($chmod_file) : @fopen($chmod_file, 'rb');
2899 3060
 				if (@is_writable($chmod_file) && $fp)
2900 3061
 				{
2901
-					if (!is_dir($chmod_file))
2902
-						fclose($fp);
2903
-					else
2904
-						closedir($fp);
3062
+					if (!is_dir($chmod_file)) {
3063
+											fclose($fp);
3064
+					} else {
3065
+											closedir($fp);
3066
+					}
2905 3067
 
2906 3068
 					// It worked!
2907
-					if ($track_change)
2908
-						$_SESSION['pack_ftp']['original_perms'][$chmod_file] = $file_permissions;
3069
+					if ($track_change) {
3070
+											$_SESSION['pack_ftp']['original_perms'][$chmod_file] = $file_permissions;
3071
+					}
2909 3072
 
2910 3073
 					return true;
2911 3074
 				}
3075
+			} elseif ($perm_state != 'writable' && isset($_SESSION['pack_ftp']['original_perms'][$chmod_file])) {
3076
+							unset($_SESSION['pack_ftp']['original_perms'][$chmod_file]);
2912 3077
 			}
2913
-			elseif ($perm_state != 'writable' && isset($_SESSION['pack_ftp']['original_perms'][$chmod_file]))
2914
-				unset($_SESSION['pack_ftp']['original_perms'][$chmod_file]);
2915 3078
 		}
2916 3079
 
2917 3080
 		// If we're here we're a failure.
@@ -2930,31 +3093,33 @@  discard block
 block discarded – undo
2930 3093
 			mktree(dirname($filename), 0755);
2931 3094
 			$package_ftp->create_file($ftp_file);
2932 3095
 			$package_ftp->chmod($ftp_file, 0755);
3096
+		} else {
3097
+					$file_permissions = @fileperms($filename);
2933 3098
 		}
2934
-		else
2935
-			$file_permissions = @fileperms($filename);
2936 3099
 
2937 3100
 		if ($perm_state != 'writable')
2938 3101
 		{
2939 3102
 			$package_ftp->chmod($ftp_file, $perm_state == 'execute' ? 0755 : 0644);
2940
-		}
2941
-		else
3103
+		} else
2942 3104
 		{
2943
-			if (!@is_writable($filename))
2944
-				$package_ftp->chmod($ftp_file, 0777);
2945
-			if (!@is_writable(dirname($filename)))
2946
-				$package_ftp->chmod(dirname($ftp_file), 0777);
3105
+			if (!@is_writable($filename)) {
3106
+							$package_ftp->chmod($ftp_file, 0777);
3107
+			}
3108
+			if (!@is_writable(dirname($filename))) {
3109
+							$package_ftp->chmod(dirname($ftp_file), 0777);
3110
+			}
2947 3111
 		}
2948 3112
 
2949 3113
 		if (@is_writable($filename))
2950 3114
 		{
2951
-			if ($track_change)
2952
-				$_SESSION['pack_ftp']['original_perms'][$filename] = $file_permissions;
3115
+			if ($track_change) {
3116
+							$_SESSION['pack_ftp']['original_perms'][$filename] = $file_permissions;
3117
+			}
2953 3118
 
2954 3119
 			return true;
3120
+		} elseif ($perm_state != 'writable' && isset($_SESSION['pack_ftp']['original_perms'][$filename])) {
3121
+					unset($_SESSION['pack_ftp']['original_perms'][$filename]);
2955 3122
 		}
2956
-		elseif ($perm_state != 'writable' && isset($_SESSION['pack_ftp']['original_perms'][$filename]))
2957
-			unset($_SESSION['pack_ftp']['original_perms'][$filename]);
2958 3123
 	}
2959 3124
 
2960 3125
 	// Oh dear, we failed if we get here.
@@ -2972,11 +3137,13 @@  discard block
 block discarded – undo
2972 3137
 	$n = strlen($pass);
2973 3138
 
2974 3139
 	$salt = session_id();
2975
-	while (strlen($salt) < $n)
2976
-		$salt .= session_id();
3140
+	while (strlen($salt) < $n) {
3141
+			$salt .= session_id();
3142
+	}
2977 3143
 
2978
-	for ($i = 0; $i < $n; $i++)
2979
-		$pass{$i} = chr(ord($pass{$i}) ^ (ord($salt{$i}) - 32));
3144
+	for ($i = 0; $i < $n; $i++) {
3145
+			$pass{$i} = chr(ord($pass{$i}) ^ (ord($salt{$i}) - 32));
3146
+	}
2980 3147
 
2981 3148
 	return $pass;
2982 3149
 }
@@ -2995,8 +3162,9 @@  discard block
 block discarded – undo
2995 3162
 	$base_files = array('index.php', 'SSI.php', 'agreement.txt', 'cron.php', 'ssi_examples.php', 'ssi_examples.shtml', 'subscriptions.php');
2996 3163
 	foreach ($base_files as $file)
2997 3164
 	{
2998
-		if (file_exists($boarddir . '/' . $file))
2999
-			$files[empty($_REQUEST['use_full_paths']) ? $file : $boarddir . '/' . $file] = $boarddir . '/' . $file;
3165
+		if (file_exists($boarddir . '/' . $file)) {
3166
+					$files[empty($_REQUEST['use_full_paths']) ? $file : $boarddir . '/' . $file] = $boarddir . '/' . $file;
3167
+		}
3000 3168
 	}
3001 3169
 
3002 3170
 	$dirs = array(
@@ -3013,8 +3181,9 @@  discard block
 block discarded – undo
3013 3181
 			'theme_dir' => 'theme_dir',
3014 3182
 		)
3015 3183
 	);
3016
-	while ($row = $smcFunc['db_fetch_assoc']($request))
3017
-		$dirs[$row['value']] = empty($_REQUEST['use_full_paths']) ? 'Themes/' . basename($row['value']) . '/' : strtr($row['value'] . '/', '\\', '/');
3184
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
3185
+			$dirs[$row['value']] = empty($_REQUEST['use_full_paths']) ? 'Themes/' . basename($row['value']) . '/' : strtr($row['value'] . '/', '\\', '/');
3186
+	}
3018 3187
 	$smcFunc['db_free_result']($request);
3019 3188
 
3020 3189
 	try
@@ -3029,11 +3198,13 @@  discard block
 block discarded – undo
3029 3198
 
3030 3199
 			foreach ($iter as $entry => $dir)
3031 3200
 			{
3032
-				if ($dir->isDir())
3033
-					continue;
3201
+				if ($dir->isDir()) {
3202
+									continue;
3203
+				}
3034 3204
 
3035
-				if (preg_match('~^(\.{1,2}|CVS|backup.*|help|images|.*\~)$~', $entry) != 0)
3036
-					continue;
3205
+				if (preg_match('~^(\.{1,2}|CVS|backup.*|help|images|.*\~)$~', $entry) != 0) {
3206
+									continue;
3207
+				}
3037 3208
 
3038 3209
 				$files[empty($_REQUEST['use_full_paths']) ? str_replace(realpath($boarddir), '', $entry) : $entry] = $entry;
3039 3210
 			}
@@ -3041,10 +3212,12 @@  discard block
 block discarded – undo
3041 3212
 		$obj = new ArrayObject($files);
3042 3213
 		$iterator = $obj->getIterator();
3043 3214
 
3044
-		if (!file_exists($packagesdir . '/backups'))
3045
-			mktree($packagesdir . '/backups', 0777);
3046
-		if (!is_writable($packagesdir . '/backups'))
3047
-			package_chmod($packagesdir . '/backups');
3215
+		if (!file_exists($packagesdir . '/backups')) {
3216
+					mktree($packagesdir . '/backups', 0777);
3217
+		}
3218
+		if (!is_writable($packagesdir . '/backups')) {
3219
+					package_chmod($packagesdir . '/backups');
3220
+		}
3048 3221
 		$output_file = $packagesdir . '/backups/' . strftime('%Y-%m-%d_') . preg_replace('~[$\\\\/:<>|?*"\']~', '', $id);
3049 3222
 		$output_ext = '.tar';
3050 3223
 		$output_ext_target = '.tar.gz';
@@ -3052,16 +3225,18 @@  discard block
 block discarded – undo
3052 3225
 		if (file_exists($output_file . $output_ext_target))
3053 3226
 		{
3054 3227
 			$i = 2;
3055
-			while (file_exists($output_file . '_' . $i . $output_ext_target))
3056
-				$i++;
3228
+			while (file_exists($output_file . '_' . $i . $output_ext_target)) {
3229
+							$i++;
3230
+			}
3057 3231
 			$output_file = $output_file . '_' . $i . $output_ext;
3232
+		} else {
3233
+					$output_file .= $output_ext;
3058 3234
 		}
3059
-		else
3060
-			$output_file .= $output_ext;
3061 3235
 
3062 3236
 		@set_time_limit(300);
3063
-		if (function_exists('apache_reset_timeout'))
3064
-			@apache_reset_timeout();
3237
+		if (function_exists('apache_reset_timeout')) {
3238
+					@apache_reset_timeout();
3239
+		}
3065 3240
 
3066 3241
 		$a = new PharData($output_file);
3067 3242
 		$a->buildFromIterator($iterator);
@@ -3073,8 +3248,7 @@  discard block
 block discarded – undo
3073 3248
 		 */
3074 3249
 		unset($a);
3075 3250
 		unlink($output_file);
3076
-	}
3077
-	catch (Exception $e)
3251
+	} catch (Exception $e)
3078 3252
 	{
3079 3253
 		log_error($e->getMessage(), 'backup');
3080 3254
 
@@ -3106,32 +3280,35 @@  discard block
 block discarded – undo
3106 3280
 	preg_match('~^(http|ftp)(s)?://([^/:]+)(:(\d+))?(.+)$~', $url, $match);
3107 3281
 
3108 3282
 	// An FTP url. We should try connecting and RETRieving it...
3109
-	if (empty($match[1]))
3110
-		return false;
3111
-	elseif ($match[1] == 'ftp')
3283
+	if (empty($match[1])) {
3284
+			return false;
3285
+	} elseif ($match[1] == 'ftp')
3112 3286
 	{
3113 3287
 		// Include the file containing the ftp_connection class.
3114 3288
 		require_once($sourcedir . '/Class-Package.php');
3115 3289
 
3116 3290
 		// Establish a connection and attempt to enable passive mode.
3117 3291
 		$ftp = new ftp_connection(($match[2] ? 'ssl://' : '') . $match[3], empty($match[5]) ? 21 : $match[5], 'anonymous', $webmaster_email);
3118
-		if ($ftp->error !== false || !$ftp->passive())
3119
-			return false;
3292
+		if ($ftp->error !== false || !$ftp->passive()) {
3293
+					return false;
3294
+		}
3120 3295
 
3121 3296
 		// I want that one *points*!
3122 3297
 		fwrite($ftp->connection, 'RETR ' . $match[6] . "\r\n");
3123 3298
 
3124 3299
 		// Since passive mode worked (or we would have returned already!) open the connection.
3125 3300
 		$fp = @fsockopen($ftp->pasv['ip'], $ftp->pasv['port'], $err, $err, 5);
3126
-		if (!$fp)
3127
-			return false;
3301
+		if (!$fp) {
3302
+					return false;
3303
+		}
3128 3304
 
3129 3305
 		// The server should now say something in acknowledgement.
3130 3306
 		$ftp->check_response(150);
3131 3307
 
3132 3308
 		$data = '';
3133
-		while (!feof($fp))
3134
-			$data .= fread($fp, 4096);
3309
+		while (!feof($fp)) {
3310
+					$data .= fread($fp, 4096);
3311
+		}
3135 3312
 		fclose($fp);
3136 3313
 
3137 3314
 		// All done, right?  Good.
@@ -3148,22 +3325,25 @@  discard block
 block discarded – undo
3148 3325
 		$fetch_data->get_url_data($url, $post_data);
3149 3326
 
3150 3327
 		// no errors and a 200 result, then we have a good dataset, well we at least have data ;)
3151
-		if ($fetch_data->result('code') == 200 && !$fetch_data->result('error'))
3152
-			$data = $fetch_data->result('body');
3153
-		else
3154
-			return false;
3328
+		if ($fetch_data->result('code') == 200 && !$fetch_data->result('error')) {
3329
+					$data = $fetch_data->result('body');
3330
+		} else {
3331
+					return false;
3332
+		}
3155 3333
 	}
3156 3334
 	// This is more likely; a standard HTTP URL.
3157 3335
 	elseif (isset($match[1]) && $match[1] == 'http')
3158 3336
 	{
3159
-		if ($keep_alive && $match[3] == $keep_alive_dom)
3160
-			$fp = $keep_alive_fp;
3337
+		if ($keep_alive && $match[3] == $keep_alive_dom) {
3338
+					$fp = $keep_alive_fp;
3339
+		}
3161 3340
 		if (empty($fp))
3162 3341
 		{
3163 3342
 			// Open the socket on the port we want...
3164 3343
 			$fp = @fsockopen(($match[2] ? 'ssl://' : '') . $match[3], empty($match[5]) ? ($match[2] ? 443 : 80) : $match[5], $err, $err, 5);
3165
-			if (!$fp)
3166
-				return false;
3344
+			if (!$fp) {
3345
+							return false;
3346
+			}
3167 3347
 		}
3168 3348
 
3169 3349
 		if ($keep_alive)
@@ -3178,20 +3358,21 @@  discard block
 block discarded – undo
3178 3358
 			fwrite($fp, 'GET ' . ($match[6] !== '/' ? str_replace(' ', '%20', $match[6]) : '') . ' HTTP/1.0' . "\r\n");
3179 3359
 			fwrite($fp, 'Host: ' . $match[3] . (empty($match[5]) ? ($match[2] ? ':443' : '') : ':' . $match[5]) . "\r\n");
3180 3360
 			fwrite($fp, 'user-agent: PHP/SMF' . "\r\n");
3181
-			if ($keep_alive)
3182
-				fwrite($fp, 'connection: Keep-Alive' . "\r\n\r\n");
3183
-			else
3184
-				fwrite($fp, 'connection: close' . "\r\n\r\n");
3185
-		}
3186
-		else
3361
+			if ($keep_alive) {
3362
+							fwrite($fp, 'connection: Keep-Alive' . "\r\n\r\n");
3363
+			} else {
3364
+							fwrite($fp, 'connection: close' . "\r\n\r\n");
3365
+			}
3366
+		} else
3187 3367
 		{
3188 3368
 			fwrite($fp, 'POST ' . ($match[6] !== '/' ? $match[6] : '') . ' HTTP/1.0' . "\r\n");
3189 3369
 			fwrite($fp, 'Host: ' . $match[3] . (empty($match[5]) ? ($match[2] ? ':443' : '') : ':' . $match[5]) . "\r\n");
3190 3370
 			fwrite($fp, 'user-agent: PHP/SMF' . "\r\n");
3191
-			if ($keep_alive)
3192
-				fwrite($fp, 'connection: Keep-Alive' . "\r\n");
3193
-			else
3194
-				fwrite($fp, 'connection: close' . "\r\n");
3371
+			if ($keep_alive) {
3372
+							fwrite($fp, 'connection: Keep-Alive' . "\r\n");
3373
+			} else {
3374
+							fwrite($fp, 'connection: close' . "\r\n");
3375
+			}
3195 3376
 			fwrite($fp, 'content-type: application/x-www-form-urlencoded' . "\r\n");
3196 3377
 			fwrite($fp, 'content-length: ' . strlen($post_data) . "\r\n\r\n");
3197 3378
 			fwrite($fp, $post_data);
@@ -3204,30 +3385,33 @@  discard block
 block discarded – undo
3204 3385
 		{
3205 3386
 			$header = '';
3206 3387
 			$location = '';
3207
-			while (!feof($fp) && trim($header = fgets($fp, 4096)) != '')
3208
-				if (strpos($header, 'location:') !== false)
3388
+			while (!feof($fp) && trim($header = fgets($fp, 4096)) != '') {
3389
+							if (strpos($header, 'location:') !== false)
3209 3390
 					$location = trim(substr($header, strpos($header, ':') + 1));
3391
+			}
3210 3392
 
3211
-			if (empty($location))
3212
-				return false;
3213
-			else
3393
+			if (empty($location)) {
3394
+							return false;
3395
+			} else
3214 3396
 			{
3215
-				if (!$keep_alive)
3216
-					fclose($fp);
3397
+				if (!$keep_alive) {
3398
+									fclose($fp);
3399
+				}
3217 3400
 				return fetch_web_data($location, $post_data, $keep_alive, $redirection_level + 1);
3218 3401
 			}
3219 3402
 		}
3220 3403
 
3221 3404
 		// Make sure we get a 200 OK.
3222
-		elseif (preg_match('~^HTTP/\S+\s+20[01]~i', $response) === 0)
3223
-			return false;
3405
+		elseif (preg_match('~^HTTP/\S+\s+20[01]~i', $response) === 0) {
3406
+					return false;
3407
+		}
3224 3408
 
3225 3409
 		// Skip the headers...
3226 3410
 		while (!feof($fp) && trim($header = fgets($fp, 4096)) != '')
3227 3411
 		{
3228
-			if (preg_match('~content-length:\s*(\d+)~i', $header, $match) != 0)
3229
-				$content_length = $match[1];
3230
-			elseif (preg_match('~connection:\s*close~i', $header) != 0)
3412
+			if (preg_match('~content-length:\s*(\d+)~i', $header, $match) != 0) {
3413
+							$content_length = $match[1];
3414
+			} elseif (preg_match('~connection:\s*close~i', $header) != 0)
3231 3415
 			{
3232 3416
 				$keep_alive_dom = null;
3233 3417
 				$keep_alive = false;
@@ -3239,19 +3423,20 @@  discard block
 block discarded – undo
3239 3423
 		$data = '';
3240 3424
 		if (isset($content_length))
3241 3425
 		{
3242
-			while (!feof($fp) && strlen($data) < $content_length)
3243
-				$data .= fread($fp, $content_length - strlen($data));
3244
-		}
3245
-		else
3426
+			while (!feof($fp) && strlen($data) < $content_length) {
3427
+							$data .= fread($fp, $content_length - strlen($data));
3428
+			}
3429
+		} else
3246 3430
 		{
3247
-			while (!feof($fp))
3248
-				$data .= fread($fp, 4096);
3431
+			while (!feof($fp)) {
3432
+							$data .= fread($fp, 4096);
3433
+			}
3249 3434
 		}
3250 3435
 
3251
-		if (!$keep_alive)
3252
-			fclose($fp);
3253
-	}
3254
-	else
3436
+		if (!$keep_alive) {
3437
+					fclose($fp);
3438
+		}
3439
+	} else
3255 3440
 	{
3256 3441
 		// Umm, this shouldn't happen?
3257 3442
 		trigger_error('fetch_web_data(): Bad URL', E_USER_NOTICE);
Please login to merge, or discard this patch.
Sources/Session.php 1 patch
Braces   +34 added lines, -23 removed lines patch added patch discarded remove patch
@@ -17,8 +17,9 @@  discard block
 block discarded – undo
17 17
  * @version 2.1 Beta 4
18 18
  */
19 19
 
20
-if (!defined('SMF'))
20
+if (!defined('SMF')) {
21 21
 	die('No direct access...');
22
+}
22 23
 
23 24
 /**
24 25
  * Attempt to start the session, unless it already has been.
@@ -38,8 +39,9 @@  discard block
 block discarded – undo
38 39
 	{
39 40
 		$parsed_url = parse_url($boardurl);
40 41
 
41
-		if (preg_match('~^\d{1,3}(\.\d{1,3}){3}$~', $parsed_url['host']) == 0 && preg_match('~(?:[^\.]+\.)?([^\.]{2,}\..+)\z~i', $parsed_url['host'], $parts) == 1)
42
-			@ini_set('session.cookie_domain', '.' . $parts[1]);
42
+		if (preg_match('~^\d{1,3}(\.\d{1,3}){3}$~', $parsed_url['host']) == 0 && preg_match('~(?:[^\.]+\.)?([^\.]{2,}\..+)\z~i', $parsed_url['host'], $parts) == 1) {
43
+					@ini_set('session.cookie_domain', '.' . $parts[1]);
44
+		}
43 45
 	}
44 46
 	// @todo Set the session cookie path?
45 47
 
@@ -47,8 +49,9 @@  discard block
 block discarded – undo
47 49
 	if ((ini_get('session.auto_start') == 1 && !empty($modSettings['databaseSession_enable'])) || session_id() == '')
48 50
 	{
49 51
 		// Attempt to end the already-started session.
50
-		if (ini_get('session.auto_start') == 1)
51
-			session_write_close();
52
+		if (ini_get('session.auto_start') == 1) {
53
+					session_write_close();
54
+		}
52 55
 
53 56
 		// This is here to stop people from using bad junky PHPSESSIDs.
54 57
 		if (isset($_REQUEST[session_name()]) && preg_match('~^[A-Za-z0-9,-]{16,64}$~', $_REQUEST[session_name()]) == 0 && !isset($_COOKIE[session_name()]))
@@ -63,23 +66,26 @@  discard block
 block discarded – undo
63 66
 		if (!empty($modSettings['databaseSession_enable']))
64 67
 		{
65 68
 			@ini_set('session.serialize_handler', 'php_serialize');
66
-			if (ini_get('session.serialize_handler') != 'php_serialize')
67
-				@ini_set('session.serialize_handler', 'php');
69
+			if (ini_get('session.serialize_handler') != 'php_serialize') {
70
+							@ini_set('session.serialize_handler', 'php');
71
+			}
68 72
 			session_set_save_handler('sessionOpen', 'sessionClose', 'sessionRead', 'sessionWrite', 'sessionDestroy', 'sessionGC');
69 73
 			@ini_set('session.gc_probability', '1');
74
+		} elseif (ini_get('session.gc_maxlifetime') <= 1440 && !empty($modSettings['databaseSession_lifetime'])) {
75
+					@ini_set('session.gc_maxlifetime', max($modSettings['databaseSession_lifetime'], 60));
70 76
 		}
71
-		elseif (ini_get('session.gc_maxlifetime') <= 1440 && !empty($modSettings['databaseSession_lifetime']))
72
-			@ini_set('session.gc_maxlifetime', max($modSettings['databaseSession_lifetime'], 60));
73 77
 
74 78
 		// Use cache setting sessions?
75
-		if (empty($modSettings['databaseSession_enable']) && !empty($modSettings['cache_enable']) && php_sapi_name() != 'cli')
76
-			call_integration_hook('integrate_session_handlers');
79
+		if (empty($modSettings['databaseSession_enable']) && !empty($modSettings['cache_enable']) && php_sapi_name() != 'cli') {
80
+					call_integration_hook('integrate_session_handlers');
81
+		}
77 82
 
78 83
 		session_start();
79 84
 
80 85
 		// Change it so the cache settings are a little looser than default.
81
-		if (!empty($modSettings['databaseSession_loose']))
82
-			header('cache-control: private');
86
+		if (!empty($modSettings['databaseSession_loose'])) {
87
+					header('cache-control: private');
88
+		}
83 89
 	}
84 90
 
85 91
 	// Set the randomly generated code.
@@ -125,8 +131,9 @@  discard block
 block discarded – undo
125 131
 {
126 132
 	global $smcFunc;
127 133
 
128
-	if (preg_match('~^[A-Za-z0-9,-]{16,64}$~', $session_id) == 0)
129
-		return '';
134
+	if (preg_match('~^[A-Za-z0-9,-]{16,64}$~', $session_id) == 0) {
135
+			return '';
136
+	}
130 137
 
131 138
 	// Look for it in the database.
132 139
 	$result = $smcFunc['db_query']('', '
@@ -155,8 +162,9 @@  discard block
 block discarded – undo
155 162
 {
156 163
 	global $smcFunc;
157 164
 
158
-	if (preg_match('~^[A-Za-z0-9,-]{16,64}$~', $session_id) == 0)
159
-		return false;
165
+	if (preg_match('~^[A-Za-z0-9,-]{16,64}$~', $session_id) == 0) {
166
+			return false;
167
+	}
160 168
 
161 169
 	// First try to update an existing row...
162 170
 	$smcFunc['db_query']('', '
@@ -171,13 +179,14 @@  discard block
 block discarded – undo
171 179
 	);
172 180
 
173 181
 	// If that didn't work, try inserting a new one.
174
-	if ($smcFunc['db_affected_rows']() == 0)
175
-		$smcFunc['db_insert']('ignore',
182
+	if ($smcFunc['db_affected_rows']() == 0) {
183
+			$smcFunc['db_insert']('ignore',
176 184
 			'{db_prefix}sessions',
177 185
 			array('session_id' => 'string', 'data' => 'string', 'last_update' => 'int'),
178 186
 			array($session_id, $data, time()),
179 187
 			array('session_id')
180 188
 		);
189
+	}
181 190
 
182 191
 	return ($smcFunc['db_affected_rows']() == 0 ? false : true);
183 192
 }
@@ -192,8 +201,9 @@  discard block
 block discarded – undo
192 201
 {
193 202
 	global $smcFunc;
194 203
 
195
-	if (preg_match('~^[A-Za-z0-9,-]{16,64}$~', $session_id) == 0)
196
-		return false;
204
+	if (preg_match('~^[A-Za-z0-9,-]{16,64}$~', $session_id) == 0) {
205
+			return false;
206
+	}
197 207
 
198 208
 	// Just delete the row...
199 209
 	$smcFunc['db_query']('', '
@@ -219,8 +229,9 @@  discard block
 block discarded – undo
219 229
 	global $modSettings, $smcFunc;
220 230
 
221 231
 	// Just set to the default or lower?  Ignore it for a higher value. (hopefully)
222
-	if (!empty($modSettings['databaseSession_lifetime']) && ($max_lifetime <= 1440 || $modSettings['databaseSession_lifetime'] > $max_lifetime))
223
-		$max_lifetime = max($modSettings['databaseSession_lifetime'], 60);
232
+	if (!empty($modSettings['databaseSession_lifetime']) && ($max_lifetime <= 1440 || $modSettings['databaseSession_lifetime'] > $max_lifetime)) {
233
+			$max_lifetime = max($modSettings['databaseSession_lifetime'], 60);
234
+	}
224 235
 
225 236
 	// Clean up after yerself ;).
226 237
 	$smcFunc['db_query']('', '
Please login to merge, or discard this patch.
Sources/Subscriptions-PayPal.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -236,7 +236,7 @@
 block discarded – undo
236 236
 			$header = 'POST /cgi-bin/webscr HTTP/1.1' . "\r\n";
237 237
 			$header .= 'content-type: application/x-www-form-urlencoded' . "\r\n";
238 238
 			$header .= 'Host: www.' . (!empty($modSettings['paidsubs_test']) ? 'sandbox.' : '') . 'paypal.com' . "\r\n";
239
-			$header .= 'content-length: ' . strlen ($requestString) . "\r\n";
239
+			$header .= 'content-length: ' . strlen($requestString) . "\r\n";
240 240
 			$header .= 'connection: close' . "\r\n\r\n";
241 241
 
242 242
 			// Open the connection.
Please login to merge, or discard this patch.
Braces   +83 added lines, -61 removed lines patch added patch discarded remove patch
@@ -14,8 +14,9 @@  discard block
 block discarded – undo
14 14
 // This won't be dedicated without this - this must exist in each gateway!
15 15
 // SMF Payment Gateway: paypal
16 16
 
17
-if (!defined('SMF'))
17
+if (!defined('SMF')) {
18 18
 	die('No direct access...');
19
+}
19 20
 
20 21
 /**
21 22
  * Class for returning available form data for this gateway
@@ -118,8 +119,7 @@  discard block
 block discarded – undo
118 119
 		{
119 120
 			$return_data['hidden']['p3'] = 1;
120 121
 			$return_data['hidden']['t3'] = strtoupper(substr($period, 0, 1));
121
-		}
122
-		else
122
+		} else
123 123
 		{
124 124
 			preg_match('~(\d*)(\w)~', $sub_data['real_length'], $match);
125 125
 			$unit = $match[1];
@@ -130,14 +130,15 @@  discard block
 block discarded – undo
130 130
 		}
131 131
 
132 132
 		// If it's repeatable do some javascript to respect this idea.
133
-		if (!empty($sub_data['repeatable']))
134
-			$return_data['javascript'] = '
133
+		if (!empty($sub_data['repeatable'])) {
134
+					$return_data['javascript'] = '
135 135
 				document.write(\'<label for="do_paypal_recur"><input type="checkbox" name="do_paypal_recur" id="do_paypal_recur" checked onclick="switchPaypalRecur();">' . $txt['paid_make_recurring'] . '</label><br>\');
136 136
 
137 137
 				function switchPaypalRecur()
138 138
 				{
139 139
 					document.getElementById("paypal_cmd").value = document.getElementById("do_paypal_recur").checked ? "_xclick-subscriptions" : "_xclick";
140 140
 				}';
141
+		}
141 142
 
142 143
 		return $return_data;
143 144
 	}
@@ -160,20 +161,24 @@  discard block
 block discarded – undo
160 161
 		global $modSettings;
161 162
 
162 163
 		// Has the user set up an email address?
163
-		if ((empty($modSettings['paidsubs_test']) && empty($modSettings['paypal_email'])) || (!empty($modSettings['paidsubs_test']) && empty($modSettings['paypal_sandbox_email'])))
164
-			return false;
164
+		if ((empty($modSettings['paidsubs_test']) && empty($modSettings['paypal_email'])) || (!empty($modSettings['paidsubs_test']) && empty($modSettings['paypal_sandbox_email']))) {
165
+					return false;
166
+		}
165 167
 		// Check the correct transaction types are even here.
166
-		if ((!isset($_POST['txn_type']) && !isset($_POST['payment_status'])) || (!isset($_POST['business']) && !isset($_POST['receiver_email'])))
167
-			return false;
168
+		if ((!isset($_POST['txn_type']) && !isset($_POST['payment_status'])) || (!isset($_POST['business']) && !isset($_POST['receiver_email']))) {
169
+					return false;
170
+		}
168 171
 		// Correct email address?
169
-		if (!isset($_POST['business']))
170
-			$_POST['business'] = $_POST['receiver_email'];
172
+		if (!isset($_POST['business'])) {
173
+					$_POST['business'] = $_POST['receiver_email'];
174
+		}
171 175
 
172 176
 		// Are we testing?
173
-		if (empty($modSettings['paidsubs_test']) && strtolower($modSettings['paypal_sandbox_email']) != strtolower($_POST['business']) && (empty($modSettings['paypal_additional_emails']) || !in_array(strtolower($_POST['business']), explode(',', strtolower($modSettings['paypal_additional_emails'])))))
174
-			return false;
175
-		elseif (strtolower($modSettings['paypal_email']) != strtolower($_POST['business']) && (empty($modSettings['paypal_additional_emails']) || !in_array(strtolower($_POST['business']), explode(',', $modSettings['paypal_additional_emails']))))
176
-			return false;
177
+		if (empty($modSettings['paidsubs_test']) && strtolower($modSettings['paypal_sandbox_email']) != strtolower($_POST['business']) && (empty($modSettings['paypal_additional_emails']) || !in_array(strtolower($_POST['business']), explode(',', strtolower($modSettings['paypal_additional_emails']))))) {
178
+					return false;
179
+		} elseif (strtolower($modSettings['paypal_email']) != strtolower($_POST['business']) && (empty($modSettings['paypal_additional_emails']) || !in_array(strtolower($_POST['business']), explode(',', $modSettings['paypal_additional_emails'])))) {
180
+					return false;
181
+		}
177 182
 		return true;
178 183
 	}
179 184
 
@@ -192,15 +197,17 @@  discard block
 block discarded – undo
192 197
 		global $modSettings, $txt;
193 198
 
194 199
 		// Put this to some default value.
195
-		if (!isset($_POST['txn_type']))
196
-			$_POST['txn_type'] = '';
200
+		if (!isset($_POST['txn_type'])) {
201
+					$_POST['txn_type'] = '';
202
+		}
197 203
 
198 204
 		// Build the request string - starting with the minimum requirement.
199 205
 		$requestString = 'cmd=_notify-validate';
200 206
 
201 207
 		// Now my dear, add all the posted bits in the order we got them
202
-		foreach ($_POST as $k => $v)
203
-			$requestString .= '&' . $k . '=' . urlencode($v);
208
+		foreach ($_POST as $k => $v) {
209
+					$requestString .= '&' . $k . '=' . urlencode($v);
210
+		}
204 211
 
205 212
 		// Can we use curl?
206 213
 		if (function_exists('curl_init') && $curl = curl_init((!empty($modSettings['paidsubs_test']) ? 'https://www.sandbox.' : 'https://www.') . 'paypal.com/cgi-bin/webscr'))
@@ -240,14 +247,16 @@  discard block
 block discarded – undo
240 247
 			$header .= 'connection: close' . "\r\n\r\n";
241 248
 
242 249
 			// Open the connection.
243
-			if (!empty($modSettings['paidsubs_test']))
244
-				$fp = fsockopen('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
245
-			else
246
-				$fp = fsockopen('www.paypal.com', 80, $errno, $errstr, 30);
250
+			if (!empty($modSettings['paidsubs_test'])) {
251
+							$fp = fsockopen('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
252
+			} else {
253
+							$fp = fsockopen('www.paypal.com', 80, $errno, $errstr, 30);
254
+			}
247 255
 
248 256
 			// Did it work?
249
-			if (!$fp)
250
-				generateSubscriptionError($txt['paypal_could_not_connect']);
257
+			if (!$fp) {
258
+							generateSubscriptionError($txt['paypal_could_not_connect']);
259
+			}
251 260
 
252 261
 			// Put the data to the port.
253 262
 			fputs($fp, $header . $requestString);
@@ -256,8 +265,9 @@  discard block
 block discarded – undo
256 265
 			while (!feof($fp))
257 266
 			{
258 267
 				$this->return_data = fgets($fp, 1024);
259
-				if (strcmp(trim($this->return_data), 'VERIFIED') === 0)
260
-					break;
268
+				if (strcmp(trim($this->return_data), 'VERIFIED') === 0) {
269
+									break;
270
+				}
261 271
 			}
262 272
 
263 273
 			// Clean up.
@@ -265,28 +275,34 @@  discard block
 block discarded – undo
265 275
 		}
266 276
 
267 277
 		// If this isn't verified then give up...
268
-		if (strcmp(trim($this->return_data), 'VERIFIED') !== 0)
269
-			exit;
278
+		if (strcmp(trim($this->return_data), 'VERIFIED') !== 0) {
279
+					exit;
280
+		}
270 281
 
271 282
 		// Check that this is intended for us.
272
-		if (strtolower($modSettings['paypal_email']) != strtolower($_POST['business']) && (empty($modSettings['paypal_additional_emails']) || !in_array(strtolower($_POST['business']), explode(',', strtolower($modSettings['paypal_additional_emails'])))))
273
-			exit;
283
+		if (strtolower($modSettings['paypal_email']) != strtolower($_POST['business']) && (empty($modSettings['paypal_additional_emails']) || !in_array(strtolower($_POST['business']), explode(',', strtolower($modSettings['paypal_additional_emails']))))) {
284
+					exit;
285
+		}
274 286
 
275 287
 		// Is this a subscription - and if so is it a secondary payment that we need to process?
276 288
 		// If so, make sure we get it in the expected format. Seems PayPal sometimes sends it without urlencoding.
277
-		if (!empty($_POST['item_number']) && strpos($_POST['item_number'], ' ') !== false)
278
-			$_POST['item_number'] = str_replace(' ', '+', $_POST['item_number']);
279
-		if ($this->isSubscription() && (empty($_POST['item_number']) || strpos($_POST['item_number'], '+') === false))
280
-			// Calculate the subscription it relates to!
289
+		if (!empty($_POST['item_number']) && strpos($_POST['item_number'], ' ') !== false) {
290
+					$_POST['item_number'] = str_replace(' ', '+', $_POST['item_number']);
291
+		}
292
+		if ($this->isSubscription() && (empty($_POST['item_number']) || strpos($_POST['item_number'], '+') === false)) {
293
+					// Calculate the subscription it relates to!
281 294
 			$this->_findSubscription();
295
+		}
282 296
 
283 297
 		// Verify the currency!
284
-		if (strtolower($_POST['mc_currency']) !== strtolower($modSettings['paid_currency_code']))
285
-			exit;
298
+		if (strtolower($_POST['mc_currency']) !== strtolower($modSettings['paid_currency_code'])) {
299
+					exit;
300
+		}
286 301
 
287 302
 		// Can't exist if it doesn't contain anything.
288
-		if (empty($_POST['item_number']))
289
-			exit;
303
+		if (empty($_POST['item_number'])) {
304
+					exit;
305
+		}
290 306
 
291 307
 		// Return the id_sub and id_member
292 308
 		return explode('+', $_POST['item_number']);
@@ -299,10 +315,11 @@  discard block
 block discarded – undo
299 315
 	 */
300 316
 	public function isRefund()
301 317
 	{
302
-		if ($_POST['payment_status'] === 'Refunded' || $_POST['payment_status'] === 'Reversed' || $_POST['txn_type'] === 'Refunded' || ($_POST['txn_type'] === 'reversal' && $_POST['payment_status'] === 'Completed'))
303
-			return true;
304
-		else
305
-			return false;
318
+		if ($_POST['payment_status'] === 'Refunded' || $_POST['payment_status'] === 'Reversed' || $_POST['txn_type'] === 'Refunded' || ($_POST['txn_type'] === 'reversal' && $_POST['payment_status'] === 'Completed')) {
319
+					return true;
320
+		} else {
321
+					return false;
322
+		}
306 323
 	}
307 324
 
308 325
 	/**
@@ -312,10 +329,11 @@  discard block
 block discarded – undo
312 329
 	 */
313 330
 	public function isSubscription()
314 331
 	{
315
-		if (substr($_POST['txn_type'], 0, 14) === 'subscr_payment' && $_POST['payment_status'] === 'Completed')
316
-			return true;
317
-		else
318
-			return false;
332
+		if (substr($_POST['txn_type'], 0, 14) === 'subscr_payment' && $_POST['payment_status'] === 'Completed') {
333
+					return true;
334
+		} else {
335
+					return false;
336
+		}
319 337
 	}
320 338
 
321 339
 	/**
@@ -325,10 +343,11 @@  discard block
 block discarded – undo
325 343
 	 */
326 344
 	public function isPayment()
327 345
 	{
328
-		if ($_POST['payment_status'] === 'Completed' && $_POST['txn_type'] === 'web_accept')
329
-			return true;
330
-		else
331
-			return false;
346
+		if ($_POST['payment_status'] === 'Completed' && $_POST['txn_type'] === 'web_accept') {
347
+					return true;
348
+		} else {
349
+					return false;
350
+		}
332 351
 	}
333 352
 
334 353
 	/**
@@ -341,10 +360,11 @@  discard block
 block discarded – undo
341 360
 		// subscr_cancel is sent when the user cancels, subscr_eot is sent when the subscription reaches final payment
342 361
 		// Neither require us to *do* anything as per performCancel().
343 362
 		// subscr_eot, if sent, indicates an end of payments term.
344
-		if (substr($_POST['txn_type'], 0, 13) === 'subscr_cancel' || substr($_POST['txn_type'], 0, 10) === 'subscr_eot')
345
-			return true;
346
-		else
347
-			return false;
363
+		if (substr($_POST['txn_type'], 0, 13) === 'subscr_cancel' || substr($_POST['txn_type'], 0, 10) === 'subscr_eot') {
364
+					return true;
365
+		} else {
366
+					return false;
367
+		}
348 368
 	}
349 369
 
350 370
 	/**
@@ -408,8 +428,9 @@  discard block
 block discarded – undo
408 428
 		global $smcFunc;
409 429
 
410 430
 		// Assume we have this?
411
-		if (empty($_POST['subscr_id']))
412
-			return false;
431
+		if (empty($_POST['subscr_id'])) {
432
+					return false;
433
+		}
413 434
 
414 435
 		// Do we have this in the database?
415 436
 		$request = $smcFunc['db_query']('', '
@@ -438,11 +459,12 @@  discard block
 block discarded – undo
438 459
 						'payer_email' => $_POST['payer_email'],
439 460
 					)
440 461
 				);
441
-				if ($smcFunc['db_num_rows']($request) === 0)
442
-					return false;
462
+				if ($smcFunc['db_num_rows']($request) === 0) {
463
+									return false;
464
+				}
465
+			} else {
466
+							return false;
443 467
 			}
444
-			else
445
-				return false;
446 468
 		}
447 469
 		list ($member_id, $subscription_id) = $smcFunc['db_fetch_row']($request);
448 470
 		$_POST['item_number'] = $member_id . '+' . $subscription_id;
Please login to merge, or discard this patch.
Sources/News.php 1 patch
Braces   +226 added lines, -185 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
  * Outputs xml data representing recent information or a profile.
@@ -37,8 +38,9 @@  discard block
 block discarded – undo
37 38
 	global $query_this_board, $smcFunc, $forum_version, $settings;
38 39
 
39 40
 	// If it's not enabled, die.
40
-	if (empty($modSettings['xmlnews_enable']))
41
-		obExit(false);
41
+	if (empty($modSettings['xmlnews_enable'])) {
42
+			obExit(false);
43
+	}
42 44
 
43 45
 	loadLanguage('Stats');
44 46
 
@@ -64,8 +66,9 @@  discard block
 block discarded – undo
64 66
 	if (!empty($_REQUEST['c']) && empty($board))
65 67
 	{
66 68
 		$_REQUEST['c'] = explode(',', $_REQUEST['c']);
67
-		foreach ($_REQUEST['c'] as $i => $c)
68
-			$_REQUEST['c'][$i] = (int) $c;
69
+		foreach ($_REQUEST['c'] as $i => $c) {
70
+					$_REQUEST['c'][$i] = (int) $c;
71
+		}
69 72
 
70 73
 		if (count($_REQUEST['c']) == 1)
71 74
 		{
@@ -101,18 +104,20 @@  discard block
 block discarded – undo
101 104
 		}
102 105
 		$smcFunc['db_free_result']($request);
103 106
 
104
-		if (!empty($boards))
105
-			$query_this_board = 'b.id_board IN (' . implode(', ', $boards) . ')';
107
+		if (!empty($boards)) {
108
+					$query_this_board = 'b.id_board IN (' . implode(', ', $boards) . ')';
109
+		}
106 110
 
107 111
 		// Try to limit the number of messages we look through.
108
-		if ($total_cat_posts > 100 && $total_cat_posts > $modSettings['totalMessages'] / 15)
109
-			$context['optimize_msg']['lowest'] = 'm.id_msg >= ' . max(0, $modSettings['maxMsgID'] - 400 - $_GET['limit'] * 5);
110
-	}
111
-	elseif (!empty($_REQUEST['boards']))
112
+		if ($total_cat_posts > 100 && $total_cat_posts > $modSettings['totalMessages'] / 15) {
113
+					$context['optimize_msg']['lowest'] = 'm.id_msg >= ' . max(0, $modSettings['maxMsgID'] - 400 - $_GET['limit'] * 5);
114
+		}
115
+	} elseif (!empty($_REQUEST['boards']))
112 116
 	{
113 117
 		$_REQUEST['boards'] = explode(',', $_REQUEST['boards']);
114
-		foreach ($_REQUEST['boards'] as $i => $b)
115
-			$_REQUEST['boards'][$i] = (int) $b;
118
+		foreach ($_REQUEST['boards'] as $i => $b) {
119
+					$_REQUEST['boards'][$i] = (int) $b;
120
+		}
116 121
 
117 122
 		$request = $smcFunc['db_query']('', '
118 123
 			SELECT b.id_board, b.num_posts, b.name
@@ -128,29 +133,32 @@  discard block
 block discarded – undo
128 133
 
129 134
 		// Either the board specified doesn't exist or you have no access.
130 135
 		$num_boards = $smcFunc['db_num_rows']($request);
131
-		if ($num_boards == 0)
132
-			fatal_lang_error('no_board');
136
+		if ($num_boards == 0) {
137
+					fatal_lang_error('no_board');
138
+		}
133 139
 
134 140
 		$total_posts = 0;
135 141
 		$boards = array();
136 142
 		while ($row = $smcFunc['db_fetch_assoc']($request))
137 143
 		{
138
-			if ($num_boards == 1)
139
-				$feed_meta['title'] = ' - ' . strip_tags($row['name']);
144
+			if ($num_boards == 1) {
145
+							$feed_meta['title'] = ' - ' . strip_tags($row['name']);
146
+			}
140 147
 
141 148
 			$boards[] = $row['id_board'];
142 149
 			$total_posts += $row['num_posts'];
143 150
 		}
144 151
 		$smcFunc['db_free_result']($request);
145 152
 
146
-		if (!empty($boards))
147
-			$query_this_board = 'b.id_board IN (' . implode(', ', $boards) . ')';
153
+		if (!empty($boards)) {
154
+					$query_this_board = 'b.id_board IN (' . implode(', ', $boards) . ')';
155
+		}
148 156
 
149 157
 		// The more boards, the more we're going to look through...
150
-		if ($total_posts > 100 && $total_posts > $modSettings['totalMessages'] / 12)
151
-			$context['optimize_msg']['lowest'] = 'm.id_msg >= ' . max(0, $modSettings['maxMsgID'] - 500 - $_GET['limit'] * 5);
152
-	}
153
-	elseif (!empty($board))
158
+		if ($total_posts > 100 && $total_posts > $modSettings['totalMessages'] / 12) {
159
+					$context['optimize_msg']['lowest'] = 'm.id_msg >= ' . max(0, $modSettings['maxMsgID'] - 500 - $_GET['limit'] * 5);
160
+		}
161
+	} elseif (!empty($board))
154 162
 	{
155 163
 		$request = $smcFunc['db_query']('', '
156 164
 			SELECT num_posts
@@ -170,10 +178,10 @@  discard block
 block discarded – undo
170 178
 		$query_this_board = 'b.id_board = ' . $board;
171 179
 
172 180
 		// Try to look through just a few messages, if at all possible.
173
-		if ($total_posts > 80 && $total_posts > $modSettings['totalMessages'] / 10)
174
-			$context['optimize_msg']['lowest'] = 'm.id_msg >= ' . max(0, $modSettings['maxMsgID'] - 600 - $_GET['limit'] * 5);
175
-	}
176
-	else
181
+		if ($total_posts > 80 && $total_posts > $modSettings['totalMessages'] / 10) {
182
+					$context['optimize_msg']['lowest'] = 'm.id_msg >= ' . max(0, $modSettings['maxMsgID'] - 600 - $_GET['limit'] * 5);
183
+		}
184
+	} else
177 185
 	{
178 186
 		$query_this_board = '{query_see_board}' . (!empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] > 0 ? '
179 187
 			AND b.id_board != ' . $modSettings['recycle_board'] : '');
@@ -196,30 +204,35 @@  discard block
 block discarded – undo
196 204
 	// Easy adding of sub actions
197 205
  	call_integration_hook('integrate_xmlfeeds', array(&$subActions));
198 206
 
199
-	if (empty($_GET['sa']) || !isset($subActions[$_GET['sa']]))
200
-		$_GET['sa'] = 'recent';
207
+	if (empty($_GET['sa']) || !isset($subActions[$_GET['sa']])) {
208
+			$_GET['sa'] = 'recent';
209
+	}
201 210
 
202 211
 	// We only want some information, not all of it.
203 212
 	$cachekey = array($xml_format, $_GET['action'], $_GET['limit'], $_GET['sa']);
204
-	foreach (array('board', 'boards', 'c') as $var)
205
-		if (isset($_REQUEST[$var]))
213
+	foreach (array('board', 'boards', 'c') as $var) {
214
+			if (isset($_REQUEST[$var]))
206 215
 			$cachekey[] = $_REQUEST[$var];
216
+	}
207 217
 	$cachekey = md5($smcFunc['json_encode']($cachekey) . (!empty($query_this_board) ? $query_this_board : ''));
208 218
 	$cache_t = microtime();
209 219
 
210 220
 	// Get the associative array representing the xml.
211
-	if (!empty($modSettings['cache_enable']) && (!$user_info['is_guest'] || $modSettings['cache_enable'] >= 3))
212
-		$xml_data = cache_get_data('xmlfeed-' . $xml_format . ':' . ($user_info['is_guest'] ? '' : $user_info['id'] . '-') . $cachekey, 240);
221
+	if (!empty($modSettings['cache_enable']) && (!$user_info['is_guest'] || $modSettings['cache_enable'] >= 3)) {
222
+			$xml_data = cache_get_data('xmlfeed-' . $xml_format . ':' . ($user_info['is_guest'] ? '' : $user_info['id'] . '-') . $cachekey, 240);
223
+	}
213 224
 	if (empty($xml_data))
214 225
 	{
215 226
 		$call = call_helper($subActions[$_GET['sa']][0], true);
216 227
 
217
-		if (!empty($call))
218
-			$xml_data = call_user_func($call, $xml_format);
228
+		if (!empty($call)) {
229
+					$xml_data = call_user_func($call, $xml_format);
230
+		}
219 231
 
220 232
 		if (!empty($modSettings['cache_enable']) && (($user_info['is_guest'] && $modSettings['cache_enable'] >= 3)
221
-		|| (!$user_info['is_guest'] && (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $cache_t)) > 0.2))))
222
-			cache_put_data('xmlfeed-' . $xml_format . ':' . ($user_info['is_guest'] ? '' : $user_info['id'] . '-') . $cachekey, $xml_data, 240);
233
+		|| (!$user_info['is_guest'] && (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $cache_t)) > 0.2)))) {
234
+					cache_put_data('xmlfeed-' . $xml_format . ':' . ($user_info['is_guest'] ? '' : $user_info['id'] . '-') . $cachekey, $xml_data, 240);
235
+		}
223 236
 	}
224 237
 
225 238
 	$feed_meta['title'] = $smcFunc['htmlspecialchars'](strip_tags($context['forum_name'])) . (isset($feed_meta['title']) ? $feed_meta['title'] : '');
@@ -259,43 +272,49 @@  discard block
 block discarded – undo
259 272
 	call_integration_hook('integrate_xml_data', array(&$xml_data, &$feed_meta, &$namespaces, &$extraFeedTags, &$forceCdataKeys, &$nsKeys, $xml_format, $_GET['sa']));
260 273
 
261 274
 	// These can't be empty
262
-	foreach (array('title', 'desc', 'source') as $mkey)
263
-		$feed_meta[$mkey] = !empty($feed_meta[$mkey]) ? $feed_meta[$mkey] : $orig_feed_meta[$mkey];
275
+	foreach (array('title', 'desc', 'source') as $mkey) {
276
+			$feed_meta[$mkey] = !empty($feed_meta[$mkey]) ? $feed_meta[$mkey] : $orig_feed_meta[$mkey];
277
+	}
264 278
 
265 279
 	// Sanitize basic feed metadata values
266
-	foreach ($feed_meta as $mkey => $mvalue)
267
-		$feed_meta[$mkey] = cdata_parse(strip_tags(fix_possible_url($feed_meta[$mkey])));
280
+	foreach ($feed_meta as $mkey => $mvalue) {
281
+			$feed_meta[$mkey] = cdata_parse(strip_tags(fix_possible_url($feed_meta[$mkey])));
282
+	}
268 283
 
269 284
 	$ns_string = '';
270 285
 	if (!empty($namespaces[$xml_format]))
271 286
 	{
272
-		foreach ($namespaces[$xml_format] as $nsprefix => $nsurl)
273
-			$ns_string .= ' xmlns' . ($nsprefix !== '' ? ':' : '') . $nsprefix . '="' . $nsurl . '"';
287
+		foreach ($namespaces[$xml_format] as $nsprefix => $nsurl) {
288
+					$ns_string .= ' xmlns' . ($nsprefix !== '' ? ':' : '') . $nsprefix . '="' . $nsurl . '"';
289
+		}
274 290
 	}
275 291
 
276 292
 	$extraFeedTags_string = '';
277 293
 	if (!empty($extraFeedTags[$xml_format]))
278 294
 	{
279 295
 		$indent = "\t" . ($xml_format !== 'atom' ? "\t" : '');
280
-		foreach ($extraFeedTags[$xml_format] as $extraTag)
281
-			$extraFeedTags_string .= "\n" . $indent . $extraTag;
296
+		foreach ($extraFeedTags[$xml_format] as $extraTag) {
297
+					$extraFeedTags_string .= "\n" . $indent . $extraTag;
298
+		}
282 299
 	}
283 300
 
284 301
 	// This is an xml file....
285 302
 	ob_end_clean();
286
-	if (!empty($modSettings['enableCompressedOutput']))
287
-		@ob_start('ob_gzhandler');
288
-	else
289
-		ob_start();
303
+	if (!empty($modSettings['enableCompressedOutput'])) {
304
+			@ob_start('ob_gzhandler');
305
+	} else {
306
+			ob_start();
307
+	}
290 308
 
291
-	if ($xml_format == 'smf' || isset($_REQUEST['debug']))
292
-		header('content-type: text/xml; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
293
-	elseif ($xml_format == 'rss' || $xml_format == 'rss2')
294
-		header('content-type: application/rss+xml; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
295
-	elseif ($xml_format == 'atom')
296
-		header('content-type: application/atom+xml; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
297
-	elseif ($xml_format == 'rdf')
298
-		header('content-type: ' . (isBrowser('ie') ? 'text/xml' : 'application/rdf+xml') . '; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
309
+	if ($xml_format == 'smf' || isset($_REQUEST['debug'])) {
310
+			header('content-type: text/xml; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
311
+	} elseif ($xml_format == 'rss' || $xml_format == 'rss2') {
312
+			header('content-type: application/rss+xml; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
313
+	} elseif ($xml_format == 'atom') {
314
+			header('content-type: application/atom+xml; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
315
+	} elseif ($xml_format == 'rdf') {
316
+			header('content-type: ' . (isBrowser('ie') ? 'text/xml' : 'application/rdf+xml') . '; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set']));
317
+	}
299 318
 
300 319
 	// First, output the xml header.
301 320
 	echo '<?xml version="1.0" encoding="', $context['character_set'], '"?' . '>';
@@ -303,10 +322,11 @@  discard block
 block discarded – undo
303 322
 	// Are we outputting an rss feed or one with more information?
304 323
 	if ($xml_format == 'rss' || $xml_format == 'rss2')
305 324
 	{
306
-		if ($xml_format == 'rss2')
307
-			foreach ($_REQUEST as $var => $val)
325
+		if ($xml_format == 'rss2') {
326
+					foreach ($_REQUEST as $var => $val)
308 327
 				if (in_array($var, array('action', 'sa', 'type', 'board', 'boards', 'c', 'u', 'limit')))
309 328
 					$url_parts[] = $var . '=' . (is_array($val) ? implode(',', $val) : $val);
329
+		}
310 330
 
311 331
 		// Start with an RSS 2.0 header.
312 332
 		echo '
@@ -327,9 +347,10 @@  discard block
 block discarded – undo
327 347
 		<language>' . $feed_meta['language'] . '</language>' : '';
328 348
 
329 349
 		// RSS2 calls for this.
330
-		if ($xml_format == 'rss2')
331
-			echo '
350
+		if ($xml_format == 'rss2') {
351
+					echo '
332 352
 		<atom:link rel="self" type="application/rss+xml" href="', $scripturl, !empty($url_parts) ? '?' . implode(';', $url_parts) : '', '" />';
353
+		}
333 354
 
334 355
 		echo $extraFeedTags_string;
335 356
 
@@ -340,12 +361,12 @@  discard block
 block discarded – undo
340 361
 		echo '
341 362
 	</channel>
342 363
 </rss>';
343
-	}
344
-	elseif ($xml_format == 'atom')
364
+	} elseif ($xml_format == 'atom')
345 365
 	{
346
-		foreach ($_REQUEST as $var => $val)
347
-			if (in_array($var, array('action', 'sa', 'type', 'board', 'boards', 'c', 'u', 'limit')))
366
+		foreach ($_REQUEST as $var => $val) {
367
+					if (in_array($var, array('action', 'sa', 'type', 'board', 'boards', 'c', 'u', 'limit')))
348 368
 				$url_parts[] = $var . '=' . (is_array($val) ? implode(',', $val) : $val);
369
+		}
349 370
 
350 371
 		echo '
351 372
 <feed', $ns_string, !empty($feed_meta['language']) ? ' xml:lang="' . $feed_meta['language'] . '"' : '', '>
@@ -371,8 +392,7 @@  discard block
 block discarded – undo
371 392
 
372 393
 		echo '
373 394
 </feed>';
374
-	}
375
-	elseif ($xml_format == 'rdf')
395
+	} elseif ($xml_format == 'rdf')
376 396
 	{
377 397
 		echo '
378 398
 <rdf:RDF', $ns_string, '>
@@ -437,13 +457,15 @@  discard block
 block discarded – undo
437 457
 {
438 458
 	global $modSettings, $context, $scripturl;
439 459
 
440
-	if (substr($val, 0, strlen($scripturl)) != $scripturl)
441
-		return $val;
460
+	if (substr($val, 0, strlen($scripturl)) != $scripturl) {
461
+			return $val;
462
+	}
442 463
 
443 464
 	call_integration_hook('integrate_fix_url', array(&$val));
444 465
 
445
-	if (empty($modSettings['queryless_urls']) || ($context['server']['is_cgi'] && ini_get('cgi.fix_pathinfo') == 0 && @get_cfg_var('cgi.fix_pathinfo') == 0) || (!$context['server']['is_apache'] && !$context['server']['is_lighttpd']))
446
-		return $val;
466
+	if (empty($modSettings['queryless_urls']) || ($context['server']['is_cgi'] && ini_get('cgi.fix_pathinfo') == 0 && @get_cfg_var('cgi.fix_pathinfo') == 0) || (!$context['server']['is_apache'] && !$context['server']['is_lighttpd'])) {
467
+			return $val;
468
+	}
447 469
 
448 470
 	$val = preg_replace_callback('~\b' . preg_quote($scripturl, '~') . '\?((?:board|topic)=[^#"]+)(#[^"]*)?$~', function($m) use ($scripturl)
449 471
 		{
@@ -466,8 +488,9 @@  discard block
 block discarded – undo
466 488
 	global $smcFunc;
467 489
 
468 490
 	// Do we even need to do this?
469
-	if (strpbrk($data, '<>&') == false && $force !== true)
470
-		return $data;
491
+	if (strpbrk($data, '<>&') == false && $force !== true) {
492
+			return $data;
493
+	}
471 494
 
472 495
 	$cdata = '<![CDATA[';
473 496
 
@@ -477,49 +500,55 @@  discard block
 block discarded – undo
477 500
 			$smcFunc['strpos']($data, '&', $pos),
478 501
 			$smcFunc['strpos']($data, ']', $pos),
479 502
 		);
480
-		if ($ns != '')
481
-			$positions[] = $smcFunc['strpos']($data, '<', $pos);
503
+		if ($ns != '') {
504
+					$positions[] = $smcFunc['strpos']($data, '<', $pos);
505
+		}
482 506
 		foreach ($positions as $k => $dummy)
483 507
 		{
484
-			if ($dummy === false)
485
-				unset($positions[$k]);
508
+			if ($dummy === false) {
509
+							unset($positions[$k]);
510
+			}
486 511
 		}
487 512
 
488 513
 		$old = $pos;
489 514
 		$pos = empty($positions) ? $n : min($positions);
490 515
 
491
-		if ($pos - $old > 0)
492
-			$cdata .= $smcFunc['substr']($data, $old, $pos - $old);
493
-		if ($pos >= $n)
494
-			break;
516
+		if ($pos - $old > 0) {
517
+					$cdata .= $smcFunc['substr']($data, $old, $pos - $old);
518
+		}
519
+		if ($pos >= $n) {
520
+					break;
521
+		}
495 522
 
496 523
 		if ($smcFunc['substr']($data, $pos, 1) == '<')
497 524
 		{
498 525
 			$pos2 = $smcFunc['strpos']($data, '>', $pos);
499
-			if ($pos2 === false)
500
-				$pos2 = $n;
501
-			if ($smcFunc['substr']($data, $pos + 1, 1) == '/')
502
-				$cdata .= ']]></' . $ns . ':' . $smcFunc['substr']($data, $pos + 2, $pos2 - $pos - 1) . '<![CDATA[';
503
-			else
504
-				$cdata .= ']]><' . $ns . ':' . $smcFunc['substr']($data, $pos + 1, $pos2 - $pos) . '<![CDATA[';
526
+			if ($pos2 === false) {
527
+							$pos2 = $n;
528
+			}
529
+			if ($smcFunc['substr']($data, $pos + 1, 1) == '/') {
530
+							$cdata .= ']]></' . $ns . ':' . $smcFunc['substr']($data, $pos + 2, $pos2 - $pos - 1) . '<![CDATA[';
531
+			} else {
532
+							$cdata .= ']]><' . $ns . ':' . $smcFunc['substr']($data, $pos + 1, $pos2 - $pos) . '<![CDATA[';
533
+			}
505 534
 			$pos = $pos2 + 1;
506
-		}
507
-		elseif ($smcFunc['substr']($data, $pos, 1) == ']')
535
+		} elseif ($smcFunc['substr']($data, $pos, 1) == ']')
508 536
 		{
509 537
 			$cdata .= ']]>&#093;<![CDATA[';
510 538
 			$pos++;
511
-		}
512
-		elseif ($smcFunc['substr']($data, $pos, 1) == '&')
539
+		} elseif ($smcFunc['substr']($data, $pos, 1) == '&')
513 540
 		{
514 541
 			$pos2 = $smcFunc['strpos']($data, ';', $pos);
515
-			if ($pos2 === false)
516
-				$pos2 = $n;
542
+			if ($pos2 === false) {
543
+							$pos2 = $n;
544
+			}
517 545
 			$ent = $smcFunc['substr']($data, $pos + 1, $pos2 - $pos - 1);
518 546
 
519
-			if ($smcFunc['substr']($data, $pos + 1, 1) == '#')
520
-				$cdata .= ']]>' . $smcFunc['substr']($data, $pos, $pos2 - $pos + 1) . '<![CDATA[';
521
-			elseif (in_array($ent, array('amp', 'lt', 'gt', 'quot')))
522
-				$cdata .= ']]>' . $smcFunc['substr']($data, $pos, $pos2 - $pos + 1) . '<![CDATA[';
547
+			if ($smcFunc['substr']($data, $pos + 1, 1) == '#') {
548
+							$cdata .= ']]>' . $smcFunc['substr']($data, $pos, $pos2 - $pos + 1) . '<![CDATA[';
549
+			} elseif (in_array($ent, array('amp', 'lt', 'gt', 'quot'))) {
550
+							$cdata .= ']]>' . $smcFunc['substr']($data, $pos, $pos2 - $pos + 1) . '<![CDATA[';
551
+			}
523 552
 
524 553
 			$pos = $pos2 + 1;
525 554
 		}
@@ -559,8 +588,9 @@  discard block
 block discarded – undo
559 588
 		'gender',
560 589
 		'blurb',
561 590
 	);
562
-	if ($xml_format != 'atom')
563
-		$keysToCdata[] = 'category';
591
+	if ($xml_format != 'atom') {
592
+			$keysToCdata[] = 'category';
593
+	}
564 594
 
565 595
 	if (!empty($forceCdataKeys))
566 596
 	{
@@ -577,8 +607,9 @@  discard block
 block discarded – undo
577 607
 		$attrs = isset($element['attributes']) ? $element['attributes'] : null;
578 608
 
579 609
 		// Skip it, it's been set to null.
580
-		if ($key === null || ($val === null && $attrs === null))
581
-			continue;
610
+		if ($key === null || ($val === null && $attrs === null)) {
611
+					continue;
612
+		}
582 613
 
583 614
 		$forceCdata = in_array($key, $forceCdataKeys);
584 615
 		$ns = !empty($nsKeys[$key]) ? $nsKeys[$key] : '';
@@ -591,16 +622,16 @@  discard block
 block discarded – undo
591 622
 
592 623
 		if (!empty($attrs))
593 624
 		{
594
-			foreach ($attrs as $attr_key => $attr_value)
595
-				echo ' ', $attr_key, '="', fix_possible_url($attr_value), '"';
625
+			foreach ($attrs as $attr_key => $attr_value) {
626
+							echo ' ', $attr_key, '="', fix_possible_url($attr_value), '"';
627
+			}
596 628
 		}
597 629
 
598 630
 		// If it's empty, simply output an empty element.
599 631
 		if (empty($val))
600 632
 		{
601 633
 			echo ' />';
602
-		}
603
-		else
634
+		} else
604 635
 		{
605 636
 			echo '>';
606 637
 
@@ -612,11 +643,13 @@  discard block
 block discarded – undo
612 643
 				echo "\n", str_repeat("\t", $i);
613 644
 			}
614 645
 			// A string with returns in it.... show this as a multiline element.
615
-			elseif (strpos($val, "\n") !== false)
616
-				echo "\n", in_array($key, $keysToCdata) ? cdata_parse(fix_possible_url($val), $ns, $forceCdata) : fix_possible_url($val), "\n", str_repeat("\t", $i);
646
+			elseif (strpos($val, "\n") !== false) {
647
+							echo "\n", in_array($key, $keysToCdata) ? cdata_parse(fix_possible_url($val), $ns, $forceCdata) : fix_possible_url($val), "\n", str_repeat("\t", $i);
648
+			}
617 649
 			// A simple string.
618
-			else
619
-				echo in_array($key, $keysToCdata) ? cdata_parse(fix_possible_url($val), $ns, $forceCdata) : fix_possible_url($val);
650
+			else {
651
+							echo in_array($key, $keysToCdata) ? cdata_parse(fix_possible_url($val), $ns, $forceCdata) : fix_possible_url($val);
652
+			}
620 653
 
621 654
 			// Ending tag.
622 655
 			echo '</', $key, '>';
@@ -636,8 +669,9 @@  discard block
 block discarded – undo
636 669
 {
637 670
 	global $scripturl, $smcFunc;
638 671
 
639
-	if (!allowedTo('view_mlist'))
640
-		return array();
672
+	if (!allowedTo('view_mlist')) {
673
+			return array();
674
+	}
641 675
 
642 676
 	// Find the most recent members.
643 677
 	$request = $smcFunc['db_query']('', '
@@ -656,8 +690,8 @@  discard block
 block discarded – undo
656 690
 		$guid = 'tag:' . parse_url($scripturl, PHP_URL_HOST) . ',' . gmdate('Y-m-d', $row['date_registered']) . ':member=' . $row['id_member'];
657 691
 
658 692
 		// Make the data look rss-ish.
659
-		if ($xml_format == 'rss' || $xml_format == 'rss2')
660
-			$data[] = array(
693
+		if ($xml_format == 'rss' || $xml_format == 'rss2') {
694
+					$data[] = array(
661 695
 				'tag' => 'item',
662 696
 				'content' => array(
663 697
 					array(
@@ -685,8 +719,8 @@  discard block
 block discarded – undo
685 719
 					),
686 720
 				),
687 721
 			);
688
-		elseif ($xml_format == 'rdf')
689
-			$data[] = array(
722
+		} elseif ($xml_format == 'rdf') {
723
+					$data[] = array(
690 724
 				'tag' => 'item',
691 725
 				'attributes' => array('rdf:about' => $scripturl . '?action=profile;u=' . $row['id_member']),
692 726
 				'content' => array(
@@ -704,8 +738,8 @@  discard block
 block discarded – undo
704 738
 					),
705 739
 				),
706 740
 			);
707
-		elseif ($xml_format == 'atom')
708
-			$data[] = array(
741
+		} elseif ($xml_format == 'atom') {
742
+					$data[] = array(
709 743
 				'tag' => 'entry',
710 744
 				'content' => array(
711 745
 					array(
@@ -734,9 +768,10 @@  discard block
 block discarded – undo
734 768
 					),
735 769
 				),
736 770
 			);
771
+		}
737 772
 		// More logical format for the data, but harder to apply.
738
-		else
739
-			$data[] = array(
773
+		else {
774
+					$data[] = array(
740 775
 				'tag' => 'member',
741 776
 				'content' => array(
742 777
 					array(
@@ -757,6 +792,7 @@  discard block
 block discarded – undo
757 792
 					),
758 793
 				),
759 794
 			);
795
+		}
760 796
 	}
761 797
 	$smcFunc['db_free_result']($request);
762 798
 
@@ -817,22 +853,24 @@  discard block
 block discarded – undo
817 853
 		if ($loops < 2 && $smcFunc['db_num_rows']($request) < $_GET['limit'])
818 854
 		{
819 855
 			$smcFunc['db_free_result']($request);
820
-			if (empty($_REQUEST['boards']) && empty($board))
821
-				unset($context['optimize_msg']['lowest']);
822
-			else
823
-				$context['optimize_msg']['lowest'] = 'm.id_msg >= t.id_first_msg';
856
+			if (empty($_REQUEST['boards']) && empty($board)) {
857
+							unset($context['optimize_msg']['lowest']);
858
+			} else {
859
+							$context['optimize_msg']['lowest'] = 'm.id_msg >= t.id_first_msg';
860
+			}
824 861
 			$context['optimize_msg']['highest'] = 'm.id_msg <= t.id_last_msg';
825 862
 			$loops++;
863
+		} else {
864
+					$done = true;
826 865
 		}
827
-		else
828
-			$done = true;
829 866
 	}
830 867
 	$data = array();
831 868
 	while ($row = $smcFunc['db_fetch_assoc']($request))
832 869
 	{
833 870
 		// Limit the length of the message, if the option is set.
834
-		if (!empty($modSettings['xmlnews_maxlen']) && $smcFunc['strlen'](str_replace('<br>', "\n", $row['body'])) > $modSettings['xmlnews_maxlen'])
835
-			$row['body'] = strtr($smcFunc['substr'](str_replace('<br>', "\n", $row['body']), 0, $modSettings['xmlnews_maxlen'] - 3), array("\n" => '<br>')) . '...';
871
+		if (!empty($modSettings['xmlnews_maxlen']) && $smcFunc['strlen'](str_replace('<br>', "\n", $row['body'])) > $modSettings['xmlnews_maxlen']) {
872
+					$row['body'] = strtr($smcFunc['substr'](str_replace('<br>', "\n", $row['body']), 0, $modSettings['xmlnews_maxlen'] - 3), array("\n" => '<br>')) . '...';
873
+		}
836 874
 
837 875
 		$row['body'] = parse_bbc($row['body'], $row['smileys_enabled'], $row['id_msg']);
838 876
 
@@ -859,8 +897,9 @@  discard block
 block discarded – undo
859 897
 			while ($attach = $smcFunc['db_fetch_assoc']($attach_request))
860 898
 			{
861 899
 				// Include approved attachments only
862
-				if ($attach['approved'])
863
-					$loaded_attachments['attachment_' . $attach['id_attach']] = $attach;
900
+				if ($attach['approved']) {
901
+									$loaded_attachments['attachment_' . $attach['id_attach']] = $attach;
902
+				}
864 903
 			}
865 904
 			$smcFunc['db_free_result']($attach_request);
866 905
 
@@ -868,16 +907,17 @@  discard block
 block discarded – undo
868 907
 			if (!empty($loaded_attachments))
869 908
 			{
870 909
 				uasort($loaded_attachments, function($a, $b) {
871
-					if ($a['filesize'] == $b['filesize'])
872
-					        return 0;
910
+					if ($a['filesize'] == $b['filesize']) {
911
+										        return 0;
912
+					}
873 913
 					return ($a['filesize'] < $b['filesize']) ? -1 : 1;
874 914
 				});
915
+			} else {
916
+							$loaded_attachments = null;
875 917
 			}
876
-			else
877
-				$loaded_attachments = null;
918
+		} else {
919
+					$loaded_attachments = null;
878 920
 		}
879
-		else
880
-			$loaded_attachments = null;
881 921
 
882 922
 		// Create a GUID for this topic using the tag URI scheme
883 923
 		$guid = 'tag:' . parse_url($scripturl, PHP_URL_HOST) . ',' . gmdate('Y-m-d', $row['poster_time']) . ':topic=' . $row['id_topic'];
@@ -894,9 +934,9 @@  discard block
 block discarded – undo
894 934
 					'length' => $attachment['filesize'],
895 935
 					'type' => $attachment['mime_type'],
896 936
 				);
937
+			} else {
938
+							$enclosure = null;
897 939
 			}
898
-			else
899
-				$enclosure = null;
900 940
 
901 941
 			$data[] = array(
902 942
 				'tag' => 'item',
@@ -942,8 +982,7 @@  discard block
 block discarded – undo
942 982
 					),
943 983
 				),
944 984
 			);
945
-		}
946
-		elseif ($xml_format == 'rdf')
985
+		} elseif ($xml_format == 'rdf')
947 986
 		{
948 987
 			$data[] = array(
949 988
 				'tag' => 'item',
@@ -967,8 +1006,7 @@  discard block
 block discarded – undo
967 1006
 					),
968 1007
 				),
969 1008
 			);
970
-		}
971
-		elseif ($xml_format == 'atom')
1009
+		} elseif ($xml_format == 'atom')
972 1010
 		{
973 1011
 			// Only one attachment allowed
974 1012
 			if (!empty($loaded_attachments))
@@ -980,9 +1018,9 @@  discard block
 block discarded – undo
980 1018
 					'length' => $attachment['filesize'],
981 1019
 					'type' => $attachment['mime_type'],
982 1020
 				);
1021
+			} else {
1022
+							$enclosure = null;
983 1023
 			}
984
-			else
985
-				$enclosure = null;
986 1024
 
987 1025
 			$data[] = array(
988 1026
 				'tag' => 'entry',
@@ -1082,9 +1120,9 @@  discard block
 block discarded – undo
1082 1120
 						)
1083 1121
 					);
1084 1122
 				}
1123
+			} else {
1124
+							$attachments = null;
1085 1125
 			}
1086
-			else
1087
-				$attachments = null;
1088 1126
 
1089 1127
 			$data[] = array(
1090 1128
 				'tag' => 'article',
@@ -1202,22 +1240,25 @@  discard block
 block discarded – undo
1202 1240
 		if ($loops < 2 && $smcFunc['db_num_rows']($request) < $_GET['limit'])
1203 1241
 		{
1204 1242
 			$smcFunc['db_free_result']($request);
1205
-			if (empty($_REQUEST['boards']) && empty($board))
1206
-				unset($context['optimize_msg']['lowest']);
1207
-			else
1208
-				$context['optimize_msg']['lowest'] = $loops ? 'm.id_msg >= t.id_first_msg' : 'm.id_msg >= (t.id_last_msg - t.id_first_msg) / 2';
1243
+			if (empty($_REQUEST['boards']) && empty($board)) {
1244
+							unset($context['optimize_msg']['lowest']);
1245
+			} else {
1246
+							$context['optimize_msg']['lowest'] = $loops ? 'm.id_msg >= t.id_first_msg' : 'm.id_msg >= (t.id_last_msg - t.id_first_msg) / 2';
1247
+			}
1209 1248
 			$loops++;
1249
+		} else {
1250
+					$done = true;
1210 1251
 		}
1211
-		else
1212
-			$done = true;
1213 1252
 	}
1214 1253
 	$messages = array();
1215
-	while ($row = $smcFunc['db_fetch_assoc']($request))
1216
-		$messages[] = $row['id_msg'];
1254
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1255
+			$messages[] = $row['id_msg'];
1256
+	}
1217 1257
 	$smcFunc['db_free_result']($request);
1218 1258
 
1219
-	if (empty($messages))
1220
-		return array();
1259
+	if (empty($messages)) {
1260
+			return array();
1261
+	}
1221 1262
 
1222 1263
 	// Find the most recent posts this user can see.
1223 1264
 	$request = $smcFunc['db_query']('', '
@@ -1247,8 +1288,9 @@  discard block
 block discarded – undo
1247 1288
 	while ($row = $smcFunc['db_fetch_assoc']($request))
1248 1289
 	{
1249 1290
 		// Limit the length of the message, if the option is set.
1250
-		if (!empty($modSettings['xmlnews_maxlen']) && $smcFunc['strlen'](str_replace('<br>', "\n", $row['body'])) > $modSettings['xmlnews_maxlen'])
1251
-			$row['body'] = strtr($smcFunc['substr'](str_replace('<br>', "\n", $row['body']), 0, $modSettings['xmlnews_maxlen'] - 3), array("\n" => '<br>')) . '...';
1291
+		if (!empty($modSettings['xmlnews_maxlen']) && $smcFunc['strlen'](str_replace('<br>', "\n", $row['body'])) > $modSettings['xmlnews_maxlen']) {
1292
+					$row['body'] = strtr($smcFunc['substr'](str_replace('<br>', "\n", $row['body']), 0, $modSettings['xmlnews_maxlen'] - 3), array("\n" => '<br>')) . '...';
1293
+		}
1252 1294
 
1253 1295
 		$row['body'] = parse_bbc($row['body'], $row['smileys_enabled'], $row['id_msg']);
1254 1296
 
@@ -1275,8 +1317,9 @@  discard block
 block discarded – undo
1275 1317
 			while ($attach = $smcFunc['db_fetch_assoc']($attach_request))
1276 1318
 			{
1277 1319
 				// Include approved attachments only
1278
-				if ($attach['approved'])
1279
-					$loaded_attachments['attachment_' . $attach['id_attach']] = $attach;
1320
+				if ($attach['approved']) {
1321
+									$loaded_attachments['attachment_' . $attach['id_attach']] = $attach;
1322
+				}
1280 1323
 			}
1281 1324
 			$smcFunc['db_free_result']($attach_request);
1282 1325
 
@@ -1284,16 +1327,17 @@  discard block
 block discarded – undo
1284 1327
 			if (!empty($loaded_attachments))
1285 1328
 			{
1286 1329
 				uasort($loaded_attachments, function($a, $b) {
1287
-					if ($a['filesize'] == $b['filesize'])
1288
-					        return 0;
1330
+					if ($a['filesize'] == $b['filesize']) {
1331
+										        return 0;
1332
+					}
1289 1333
 					return ($a['filesize'] < $b['filesize']) ? -1 : 1;
1290 1334
 				});
1335
+			} else {
1336
+							$loaded_attachments = null;
1291 1337
 			}
1292
-			else
1293
-				$loaded_attachments = null;
1338
+		} else {
1339
+					$loaded_attachments = null;
1294 1340
 		}
1295
-		else
1296
-			$loaded_attachments = null;
1297 1341
 
1298 1342
 		// Create a GUID for this post using the tag URI scheme
1299 1343
 		$guid = 'tag:' . parse_url($scripturl, PHP_URL_HOST) . ',' . gmdate('Y-m-d', $row['poster_time']) . ':msg=' . $row['id_msg'];
@@ -1310,9 +1354,9 @@  discard block
 block discarded – undo
1310 1354
 					'length' => $attachment['filesize'],
1311 1355
 					'type' => $attachment['mime_type'],
1312 1356
 				);
1357
+			} else {
1358
+							$enclosure = null;
1313 1359
 			}
1314
-			else
1315
-				$enclosure = null;
1316 1360
 
1317 1361
 			$data[] = array(
1318 1362
 				'tag' => 'item',
@@ -1358,8 +1402,7 @@  discard block
 block discarded – undo
1358 1402
 					),
1359 1403
 				),
1360 1404
 			);
1361
-		}
1362
-		elseif ($xml_format == 'rdf')
1405
+		} elseif ($xml_format == 'rdf')
1363 1406
 		{
1364 1407
 			$data[] = array(
1365 1408
 				'tag' => 'item',
@@ -1383,8 +1426,7 @@  discard block
 block discarded – undo
1383 1426
 					),
1384 1427
 				),
1385 1428
 			);
1386
-		}
1387
-		elseif ($xml_format == 'atom')
1429
+		} elseif ($xml_format == 'atom')
1388 1430
 		{
1389 1431
 			// Only one attachment allowed
1390 1432
 			if (!empty($loaded_attachments))
@@ -1396,9 +1438,9 @@  discard block
 block discarded – undo
1396 1438
 					'length' => $attachment['filesize'],
1397 1439
 					'type' => $attachment['mime_type'],
1398 1440
 				);
1441
+			} else {
1442
+							$enclosure = null;
1399 1443
 			}
1400
-			else
1401
-				$enclosure = null;
1402 1444
 
1403 1445
 			$data[] = array(
1404 1446
 				'tag' => 'entry',
@@ -1498,9 +1540,9 @@  discard block
 block discarded – undo
1498 1540
 						)
1499 1541
 					);
1500 1542
 				}
1543
+			} else {
1544
+							$attachments = null;
1501 1545
 			}
1502
-			else
1503
-				$attachments = null;
1504 1546
 
1505 1547
 			$data[] = array(
1506 1548
 				'tag' => 'recent-post',
@@ -1619,14 +1661,16 @@  discard block
 block discarded – undo
1619 1661
 	global $scripturl, $memberContext, $user_profile, $user_info;
1620 1662
 
1621 1663
 	// You must input a valid user....
1622
-	if (empty($_GET['u']) || !loadMemberData((int) $_GET['u']))
1623
-		return array();
1664
+	if (empty($_GET['u']) || !loadMemberData((int) $_GET['u'])) {
1665
+			return array();
1666
+	}
1624 1667
 
1625 1668
 	// Make sure the id is a number and not "I like trying to hack the database".
1626 1669
 	$_GET['u'] = (int) $_GET['u'];
1627 1670
 	// Load the member's contextual information!
1628
-	if (!loadMemberContext($_GET['u']) || !allowedTo('profile_view'))
1629
-		return array();
1671
+	if (!loadMemberContext($_GET['u']) || !allowedTo('profile_view')) {
1672
+			return array();
1673
+	}
1630 1674
 
1631 1675
 	// Okay, I admit it, I'm lazy.  Stupid $_GET['u'] is long and hard to type.
1632 1676
 	$profile = &$memberContext[$_GET['u']];
@@ -1668,8 +1712,7 @@  discard block
 block discarded – undo
1668 1712
 				),
1669 1713
 			)
1670 1714
 		);
1671
-	}
1672
-	elseif ($xml_format == 'rdf')
1715
+	} elseif ($xml_format == 'rdf')
1673 1716
 	{
1674 1717
 		$data[] = array(
1675 1718
 			'tag' => 'item',
@@ -1693,8 +1736,7 @@  discard block
 block discarded – undo
1693 1736
 				),
1694 1737
 			)
1695 1738
 		);
1696
-	}
1697
-	elseif ($xml_format == 'atom')
1739
+	} elseif ($xml_format == 'atom')
1698 1740
 	{
1699 1741
 		$data[] = array(
1700 1742
 			'tag' => 'entry',
@@ -1747,8 +1789,7 @@  discard block
 block discarded – undo
1747 1789
 				),
1748 1790
 			)
1749 1791
 		);
1750
-	}
1751
-	else
1792
+	} else
1752 1793
 	{
1753 1794
 		$data = array(
1754 1795
 			array(
Please login to merge, or discard this patch.
Sources/Subs-Graphics.php 1 patch
Braces   +240 added lines, -195 removed lines patch added patch discarded remove patch
@@ -18,8 +18,9 @@  discard block
 block discarded – undo
18 18
  * @version 2.1 Beta 4
19 19
  */
20 20
 
21
-if (!defined('SMF'))
21
+if (!defined('SMF')) {
22 22
 	die('No direct access...');
23
+}
23 24
 
24 25
 /**
25 26
  * downloads a file from a url and stores it locally for avatar use by id_member.
@@ -44,8 +45,9 @@  discard block
 block discarded – undo
44 45
 	$destName = 'avatar_' . $memID . '_' . time() . '.' . $ext;
45 46
 
46 47
 	// Just making sure there is a non-zero member.
47
-	if (empty($memID))
48
-		return false;
48
+	if (empty($memID)) {
49
+			return false;
50
+	}
49 51
 
50 52
 	require_once($sourcedir . '/ManageAttachments.php');
51 53
 	removeAttachments(array('id_member' => $memID));
@@ -76,10 +78,11 @@  discard block
 block discarded – undo
76 78
 	$destName = $modSettings['custom_avatar_dir'] . '/' . $destName . '.tmp';
77 79
 
78 80
 	// Resize it.
79
-	if (!empty($modSettings['avatar_download_png']))
80
-		$success = resizeImageFile($url, $destName, $max_width, $max_height, 3);
81
-	else
82
-		$success = resizeImageFile($url, $destName, $max_width, $max_height);
81
+	if (!empty($modSettings['avatar_download_png'])) {
82
+			$success = resizeImageFile($url, $destName, $max_width, $max_height, 3);
83
+	} else {
84
+			$success = resizeImageFile($url, $destName, $max_width, $max_height);
85
+	}
83 86
 
84 87
 	// Remove the .tmp extension.
85 88
 	$destName = substr($destName, 0, -4);
@@ -108,11 +111,10 @@  discard block
 block discarded – undo
108 111
 				)
109 112
 			);
110 113
 			return true;
114
+		} else {
115
+					return false;
111 116
 		}
112
-		else
113
-			return false;
114
-	}
115
-	else
117
+	} else
116 118
 	{
117 119
 		$smcFunc['db_query']('', '
118 120
 			DELETE FROM {db_prefix}attachments
@@ -144,17 +146,18 @@  discard block
 block discarded – undo
144 146
 	$destName = $source . '_thumb.tmp';
145 147
 
146 148
 	// Do the actual resize.
147
-	if (!empty($modSettings['attachment_thumb_png']))
148
-		$success = resizeImageFile($source, $destName, $max_width, $max_height, 3);
149
-	else
150
-		$success = resizeImageFile($source, $destName, $max_width, $max_height);
149
+	if (!empty($modSettings['attachment_thumb_png'])) {
150
+			$success = resizeImageFile($source, $destName, $max_width, $max_height, 3);
151
+	} else {
152
+			$success = resizeImageFile($source, $destName, $max_width, $max_height);
153
+	}
151 154
 
152 155
 	// Okay, we're done with the temporary stuff.
153 156
 	$destName = substr($destName, 0, -4);
154 157
 
155
-	if ($success && @rename($destName . '.tmp', $destName))
156
-		return true;
157
-	else
158
+	if ($success && @rename($destName . '.tmp', $destName)) {
159
+			return true;
160
+	} else
158 161
 	{
159 162
 		@unlink($destName . '.tmp');
160 163
 		@touch($destName);
@@ -176,18 +179,21 @@  discard block
 block discarded – undo
176 179
 {
177 180
 	if (!resizeImageFile($fileName, $fileName . '.tmp', null, null, $preferred_format))
178 181
 	{
179
-		if (file_exists($fileName . '.tmp'))
180
-			unlink($fileName . '.tmp');
182
+		if (file_exists($fileName . '.tmp')) {
183
+					unlink($fileName . '.tmp');
184
+		}
181 185
 
182 186
 		return false;
183 187
 	}
184 188
 
185
-	if (!unlink($fileName))
186
-		return false;
189
+	if (!unlink($fileName)) {
190
+			return false;
191
+	}
187 192
 
188
-	if (!rename($fileName . '.tmp', $fileName))
189
-		return false;
190
-}
193
+	if (!rename($fileName . '.tmp', $fileName)) {
194
+			return false;
195
+	}
196
+	}
191 197
 
192 198
 /**
193 199
  * Searches through the file to see if there's potentially harmful non-binary content.
@@ -200,8 +206,9 @@  discard block
 block discarded – undo
200 206
 function checkImageContents($fileName, $extensiveCheck = false)
201 207
 {
202 208
 	$fp = fopen($fileName, 'rb');
203
-	if (!$fp)
204
-		fatal_lang_error('attach_timeout');
209
+	if (!$fp) {
210
+			fatal_lang_error('attach_timeout');
211
+	}
205 212
 
206 213
 	$prev_chunk = '';
207 214
 	while (!feof($fp))
@@ -218,8 +225,7 @@  discard block
 block discarded – undo
218 225
 				fclose($fp);
219 226
 				return false;
220 227
 			}
221
-		}
222
-		else
228
+		} else
223 229
 		{
224 230
 			// Check for potential infection - focus on clues for inline php & flash.
225 231
 			// Will result in significantly fewer false positives than the paranoid check.
@@ -247,8 +253,9 @@  discard block
 block discarded – undo
247 253
 	global $gd2;
248 254
 
249 255
 	// Check to see if GD is installed and what version.
250
-	if (($extensionFunctions = get_extension_funcs('gd')) === false)
251
-		return false;
256
+	if (($extensionFunctions = get_extension_funcs('gd')) === false) {
257
+			return false;
258
+	}
252 259
 
253 260
 	// Also determine if GD2 is installed and store it in a global.
254 261
 	$gd2 = in_array('imagecreatetruecolor', $extensionFunctions) && function_exists('imagecreatetruecolor');
@@ -320,8 +327,9 @@  discard block
 block discarded – undo
320 327
 	global $sourcedir;
321 328
 
322 329
 	// Nothing to do without GD or IM/MW
323
-	if (!checkGD() && !checkImagick() && !checkMagickWand())
324
-		return false;
330
+	if (!checkGD() && !checkImagick() && !checkMagickWand()) {
331
+			return false;
332
+	}
325 333
 
326 334
 	static $default_formats = array(
327 335
 		'1' => 'gif',
@@ -343,38 +351,39 @@  discard block
 block discarded – undo
343 351
 		fclose($fp_destination);
344 352
 
345 353
 		$sizes = @getimagesize($destination);
346
-	}
347
-	elseif ($fp_destination)
354
+	} elseif ($fp_destination)
348 355
 	{
349 356
 		$sizes = @getimagesize($source);
350 357
 
351 358
 		$fp_source = fopen($source, 'rb');
352 359
 		if ($fp_source !== false)
353 360
 		{
354
-			while (!feof($fp_source))
355
-				fwrite($fp_destination, fread($fp_source, 8192));
361
+			while (!feof($fp_source)) {
362
+							fwrite($fp_destination, fread($fp_source, 8192));
363
+			}
356 364
 			fclose($fp_source);
365
+		} else {
366
+					$sizes = array(-1, -1, -1);
357 367
 		}
358
-		else
359
-			$sizes = array(-1, -1, -1);
360 368
 		fclose($fp_destination);
361 369
 	}
362 370
 	// We can't get to the file.
363
-	else
364
-		$sizes = array(-1, -1, -1);
371
+	else {
372
+			$sizes = array(-1, -1, -1);
373
+	}
365 374
 
366 375
 	// See if we have -or- can get the needed memory for this operation
367 376
 	// ImageMagick isn't subject to PHP's memory limits :)
368
-	if (!(checkIMagick() || checkMagickWand()) && checkGD() && !imageMemoryCheck($sizes))
369
-		return false;
377
+	if (!(checkIMagick() || checkMagickWand()) && checkGD() && !imageMemoryCheck($sizes)) {
378
+			return false;
379
+	}
370 380
 
371 381
 	// A known and supported format?
372 382
 	// @todo test PSD and gif.
373 383
 	if ((checkImagick() || checkMagickWand()) && isset($default_formats[$sizes[2]]))
374 384
 	{
375 385
 		return resizeImage(null, $destination, null, null, $max_width, $max_height, true, $preferred_format);
376
-	}
377
-	elseif (checkGD() && isset($default_formats[$sizes[2]]) && function_exists('imagecreatefrom' . $default_formats[$sizes[2]]))
386
+	} elseif (checkGD() && isset($default_formats[$sizes[2]]) && function_exists('imagecreatefrom' . $default_formats[$sizes[2]]))
378 387
 	{
379 388
 		$imagecreatefrom = 'imagecreatefrom' . $default_formats[$sizes[2]];
380 389
 		if ($src_img = @$imagecreatefrom($destination))
@@ -427,14 +436,14 @@  discard block
 block discarded – undo
427 436
 			$dest_width = empty($max_width) ? $src_width : $max_width;
428 437
 			$dest_height = empty($max_height) ? $src_height : $max_height;
429 438
 
430
-			if ($default_formats[$preferred_format] == 'jpeg')
431
-				$imagick->setCompressionQuality(!empty($modSettings['avatar_jpeg_quality']) ? $modSettings['avatar_jpeg_quality'] : 82);
439
+			if ($default_formats[$preferred_format] == 'jpeg') {
440
+							$imagick->setCompressionQuality(!empty($modSettings['avatar_jpeg_quality']) ? $modSettings['avatar_jpeg_quality'] : 82);
441
+			}
432 442
 
433 443
 			$imagick->setImageFormat($default_formats[$preferred_format]);
434 444
 			$imagick->resizeImage($dest_width, $dest_height, Imagick::FILTER_LANCZOS, 1, true);
435 445
 			$success = $imagick->writeImage($destName);
436
-		}
437
-		else
446
+		} else
438 447
 		{
439 448
 			$magick_wand = newMagickWand();
440 449
 			MagickReadImage($magick_wand, $destName);
@@ -443,8 +452,9 @@  discard block
 block discarded – undo
443 452
 			$dest_width = empty($max_width) ? $src_width : $max_width;
444 453
 			$dest_height = empty($max_height) ? $src_height : $max_height;
445 454
 
446
-			if ($default_formats[$preferred_format] == 'jpeg')
447
-				MagickSetCompressionQuality($magick_wand, !empty($modSettings['avatar_jpeg_quality']) ? $modSettings['avatar_jpeg_quality'] : 82);
455
+			if ($default_formats[$preferred_format] == 'jpeg') {
456
+							MagickSetCompressionQuality($magick_wand, !empty($modSettings['avatar_jpeg_quality']) ? $modSettings['avatar_jpeg_quality'] : 82);
457
+			}
448 458
 
449 459
 			MagickSetImageFormat($magick_wand, $default_formats[$preferred_format]);
450 460
 			MagickResizeImage($magick_wand, $dest_width, $dest_height, MW_LanczosFilter, 1, true);
@@ -452,8 +462,7 @@  discard block
 block discarded – undo
452 462
 		}
453 463
 
454 464
 		return !empty($success);
455
-	}
456
-	elseif (checkGD())
465
+	} elseif (checkGD())
457 466
 	{
458 467
 		$success = false;
459 468
 
@@ -464,8 +473,7 @@  discard block
 block discarded – undo
464 473
 			{
465 474
 				$dst_width = $max_width;
466 475
 				$dst_height = round($src_height * $max_width / $src_width);
467
-			}
468
-			elseif (!empty($max_height))
476
+			} elseif (!empty($max_height))
469 477
 			{
470 478
 				$dst_width = round($src_width * $max_height / $src_height);
471 479
 				$dst_height = $max_height;
@@ -483,44 +491,48 @@  discard block
 block discarded – undo
483 491
 					if ((!empty($preferred_format)) && ($preferred_format == 3))
484 492
 					{
485 493
 						imagealphablending($dst_img, false);
486
-						if (function_exists('imagesavealpha'))
487
-							imagesavealpha($dst_img, true);
494
+						if (function_exists('imagesavealpha')) {
495
+													imagesavealpha($dst_img, true);
496
+						}
488 497
 					}
498
+				} else {
499
+									$dst_img = imagecreate($dst_width, $dst_height);
489 500
 				}
490
-				else
491
-					$dst_img = imagecreate($dst_width, $dst_height);
492 501
 
493 502
 				// Resize it!
494
-				if ($gd2)
495
-					imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height);
496
-				else
497
-					imagecopyresamplebicubic($dst_img, $src_img, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height);
503
+				if ($gd2) {
504
+									imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height);
505
+				} else {
506
+									imagecopyresamplebicubic($dst_img, $src_img, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height);
507
+				}
508
+			} else {
509
+							$dst_img = $src_img;
498 510
 			}
499
-			else
500
-				$dst_img = $src_img;
511
+		} else {
512
+					$dst_img = $src_img;
501 513
 		}
502
-		else
503
-			$dst_img = $src_img;
504 514
 
505 515
 		// Save the image as ...
506
-		if (!empty($preferred_format) && ($preferred_format == 3) && function_exists('imagepng'))
507
-			$success = imagepng($dst_img, $destName);
508
-		elseif (!empty($preferred_format) && ($preferred_format == 1) && function_exists('imagegif'))
509
-			$success = imagegif($dst_img, $destName);
510
-		elseif (function_exists('imagejpeg'))
511
-			$success = imagejpeg($dst_img, $destName, !empty($modSettings['avatar_jpeg_quality']) ? $modSettings['avatar_jpeg_quality'] : 82);
516
+		if (!empty($preferred_format) && ($preferred_format == 3) && function_exists('imagepng')) {
517
+					$success = imagepng($dst_img, $destName);
518
+		} elseif (!empty($preferred_format) && ($preferred_format == 1) && function_exists('imagegif')) {
519
+					$success = imagegif($dst_img, $destName);
520
+		} elseif (function_exists('imagejpeg')) {
521
+					$success = imagejpeg($dst_img, $destName, !empty($modSettings['avatar_jpeg_quality']) ? $modSettings['avatar_jpeg_quality'] : 82);
522
+		}
512 523
 
513 524
 		// Free the memory.
514 525
 		imagedestroy($src_img);
515
-		if ($dst_img != $src_img)
516
-			imagedestroy($dst_img);
526
+		if ($dst_img != $src_img) {
527
+					imagedestroy($dst_img);
528
+		}
517 529
 
518 530
 		return $success;
519
-	}
520
-	else
521
-		// Without GD, no image resizing at all.
531
+	} else {
532
+			// Without GD, no image resizing at all.
522 533
 		return false;
523
-}
534
+	}
535
+	}
524 536
 
525 537
 /**
526 538
  * Copy image.
@@ -574,8 +586,9 @@  discard block
 block discarded – undo
574 586
 			$color = imagecolorresolve($dst_img, $red, $green, $blue);
575 587
 			if ($color == -1)
576 588
 			{
577
-				if ($palsize++ < 256)
578
-					imagecolorallocate($dst_img, $red, $green, $blue);
589
+				if ($palsize++ < 256) {
590
+									imagecolorallocate($dst_img, $red, $green, $blue);
591
+				}
579 592
 				$color = imagecolorclosest($dst_img, $red, $green, $blue);
580 593
 			}
581 594
 
@@ -605,13 +618,15 @@  discard block
 block discarded – undo
605 618
 		$header = unpack('vtype/Vsize/Vreserved/Voffset', fread($fp, 14));
606 619
 		$info = unpack('Vsize/Vwidth/Vheight/vplanes/vbits/Vcompression/Vimagesize/Vxres/Vyres/Vncolor/Vcolorimportant', fread($fp, 40));
607 620
 
608
-		if ($header['type'] != 0x4D42)
609
-			return false;
621
+		if ($header['type'] != 0x4D42) {
622
+					return false;
623
+		}
610 624
 
611
-		if ($gd2)
612
-			$dst_img = imagecreatetruecolor($info['width'], $info['height']);
613
-		else
614
-			$dst_img = imagecreate($info['width'], $info['height']);
625
+		if ($gd2) {
626
+					$dst_img = imagecreatetruecolor($info['width'], $info['height']);
627
+		} else {
628
+					$dst_img = imagecreate($info['width'], $info['height']);
629
+		}
615 630
 
616 631
 		$palette_size = $header['offset'] - 54;
617 632
 		$info['ncolor'] = $palette_size / 4;
@@ -637,8 +652,9 @@  discard block
 block discarded – undo
637 652
 			fseek($fp, $header['offset'] + ($scan_line_size + $scan_line_align) * $l);
638 653
 			$scan_line = fread($fp, $scan_line_size);
639 654
 
640
-			if (strlen($scan_line) < $scan_line_size)
641
-				continue;
655
+			if (strlen($scan_line) < $scan_line_size) {
656
+							continue;
657
+			}
642 658
 
643 659
 			if ($info['bits'] == 32)
644 660
 			{
@@ -656,14 +672,14 @@  discard block
 block discarded – undo
656 672
 						$color = imagecolorallocate($dst_img, $r, $g, $b);
657 673
 
658 674
 						// Gah!  Out of colors?  Stupid GD 1... try anyhow.
659
-						if ($color == -1)
660
-							$color = imagecolorclosest($dst_img, $r, $g, $b);
675
+						if ($color == -1) {
676
+													$color = imagecolorclosest($dst_img, $r, $g, $b);
677
+						}
661 678
 					}
662 679
 
663 680
 					imagesetpixel($dst_img, $x, $y, $color);
664 681
 				}
665
-			}
666
-			elseif ($info['bits'] == 24)
682
+			} elseif ($info['bits'] == 24)
667 683
 			{
668 684
 				$x = 0;
669 685
 				for ($j = 0; $j < $scan_line_size; $x++)
@@ -678,14 +694,14 @@  discard block
 block discarded – undo
678 694
 						$color = imagecolorallocate($dst_img, $r, $g, $b);
679 695
 
680 696
 						// Gah!  Out of colors?  Stupid GD 1... try anyhow.
681
-						if ($color == -1)
682
-							$color = imagecolorclosest($dst_img, $r, $g, $b);
697
+						if ($color == -1) {
698
+													$color = imagecolorclosest($dst_img, $r, $g, $b);
699
+						}
683 700
 					}
684 701
 
685 702
 					imagesetpixel($dst_img, $x, $y, $color);
686 703
 				}
687
-			}
688
-			elseif ($info['bits'] == 16)
704
+			} elseif ($info['bits'] == 16)
689 705
 			{
690 706
 				$x = 0;
691 707
 				for ($j = 0; $j < $scan_line_size; $x++)
@@ -706,20 +722,20 @@  discard block
 block discarded – undo
706 722
 						$color = imagecolorallocate($dst_img, $r, $g, $b);
707 723
 
708 724
 						// Gah!  Out of colors?  Stupid GD 1... try anyhow.
709
-						if ($color == -1)
710
-							$color = imagecolorclosest($dst_img, $r, $g, $b);
725
+						if ($color == -1) {
726
+													$color = imagecolorclosest($dst_img, $r, $g, $b);
727
+						}
711 728
 					}
712 729
 
713 730
 					imagesetpixel($dst_img, $x, $y, $color);
714 731
 				}
715
-			}
716
-			elseif ($info['bits'] == 8)
732
+			} elseif ($info['bits'] == 8)
717 733
 			{
718 734
 				$x = 0;
719
-				for ($j = 0; $j < $scan_line_size; $x++)
720
-					imagesetpixel($dst_img, $x, $y, $palette[ord($scan_line{$j++})]);
721
-			}
722
-			elseif ($info['bits'] == 4)
735
+				for ($j = 0; $j < $scan_line_size; $x++) {
736
+									imagesetpixel($dst_img, $x, $y, $palette[ord($scan_line{$j++})]);
737
+				}
738
+			} elseif ($info['bits'] == 4)
723 739
 			{
724 740
 				$x = 0;
725 741
 				for ($j = 0; $j < $scan_line_size; $x++)
@@ -727,11 +743,11 @@  discard block
 block discarded – undo
727 743
 					$byte = ord($scan_line{$j++});
728 744
 
729 745
 					imagesetpixel($dst_img, $x, $y, $palette[(int) ($byte / 16)]);
730
-					if (++$x < $info['width'])
731
-						imagesetpixel($dst_img, $x, $y, $palette[$byte & 15]);
746
+					if (++$x < $info['width']) {
747
+											imagesetpixel($dst_img, $x, $y, $palette[$byte & 15]);
748
+					}
732 749
 				}
733
-			}
734
-			elseif ($info['bits'] == 1)
750
+			} elseif ($info['bits'] == 1)
735 751
 			{
736 752
 				$x = 0;
737 753
 				for ($j = 0; $j < $scan_line_size; $x++)
@@ -740,7 +756,9 @@  discard block
 block discarded – undo
740 756
 
741 757
 					imagesetpixel($dst_img, $x, $y, $palette[(($byte) & 128) != 0]);
742 758
 					for ($shift = 1; $shift < 8; $shift++) {
743
-						if (++$x < $info['width']) imagesetpixel($dst_img, $x, $y, $palette[(($byte << $shift) & 128) != 0]);
759
+						if (++$x < $info['width']) {
760
+							imagesetpixel($dst_img, $x, $y, $palette[(($byte << $shift) & 128) != 0]);
761
+						}
744 762
 					}
745 763
 				}
746 764
 			}
@@ -764,15 +782,18 @@  discard block
 block discarded – undo
764 782
  */
765 783
 function gif_outputAsPng($gif, $lpszFileName, $background_color = -1)
766 784
 {
767
-	if (!isset($gif) || @get_class($gif) != 'cgif' || !$gif->loaded || $lpszFileName == '')
768
-		return false;
785
+	if (!isset($gif) || @get_class($gif) != 'cgif' || !$gif->loaded || $lpszFileName == '') {
786
+			return false;
787
+	}
769 788
 
770 789
 	$fd = $gif->get_png_data($background_color);
771
-	if (strlen($fd) <= 0)
772
-		return false;
790
+	if (strlen($fd) <= 0) {
791
+			return false;
792
+	}
773 793
 
774
-	if (!($fh = @fopen($lpszFileName, 'wb')))
775
-		return false;
794
+	if (!($fh = @fopen($lpszFileName, 'wb'))) {
795
+			return false;
796
+	}
776 797
 
777 798
 	@fwrite($fh, $fd, strlen($fd));
778 799
 	@fflush($fh);
@@ -799,8 +820,9 @@  discard block
 block discarded – undo
799 820
 	// What type are we going to be doing?
800 821
 	$imageType = $modSettings['visual_verification_type'];
801 822
 	// Special case to allow the admin center to show samples.
802
-	if ($user_info['is_admin'] && isset($_GET['type']))
803
-		$imageType = (int) $_GET['type'];
823
+	if ($user_info['is_admin'] && isset($_GET['type'])) {
824
+			$imageType = (int) $_GET['type'];
825
+	}
804 826
 
805 827
 	// Some quick references for what we do.
806 828
 	// Do we show no, low or high noise?
@@ -834,25 +856,28 @@  discard block
 block discarded – undo
834 856
 	$character_spacing = 1;
835 857
 
836 858
 	// What color is the background - generally white unless we're on "hard".
837
-	if ($simpleBGColor)
838
-		$background_color = array(255, 255, 255);
839
-	else
840
-		$background_color = isset($settings['verification_background']) ? $settings['verification_background'] : array(236, 237, 243);
859
+	if ($simpleBGColor) {
860
+			$background_color = array(255, 255, 255);
861
+	} else {
862
+			$background_color = isset($settings['verification_background']) ? $settings['verification_background'] : array(236, 237, 243);
863
+	}
841 864
 
842 865
 	// The color of the characters shown (red, green, blue).
843
-	if ($simpleFGColor)
844
-		$foreground_color = array(0, 0, 0);
845
-	else
866
+	if ($simpleFGColor) {
867
+			$foreground_color = array(0, 0, 0);
868
+	} else
846 869
 	{
847 870
 		$foreground_color = array(64, 101, 136);
848 871
 
849 872
 		// Has the theme author requested a custom color?
850
-		if (isset($settings['verification_foreground']))
851
-			$foreground_color = $settings['verification_foreground'];
873
+		if (isset($settings['verification_foreground'])) {
874
+					$foreground_color = $settings['verification_foreground'];
875
+		}
852 876
 	}
853 877
 
854
-	if (!is_dir($settings['default_theme_dir'] . '/fonts'))
855
-		return false;
878
+	if (!is_dir($settings['default_theme_dir'] . '/fonts')) {
879
+			return false;
880
+	}
856 881
 
857 882
 	// Get a list of the available fonts.
858 883
 	$font_dir = dir($settings['default_theme_dir'] . '/fonts');
@@ -863,25 +888,28 @@  discard block
 block discarded – undo
863 888
 	{
864 889
 		if (preg_match('~^(.+)\.gdf$~', $entry, $matches) === 1)
865 890
 		{
866
-			if ($endian ^ (strpos($entry, '_end.gdf') === false))
867
-				$font_list[] = $entry;
891
+			if ($endian ^ (strpos($entry, '_end.gdf') === false)) {
892
+							$font_list[] = $entry;
893
+			}
894
+		} elseif (preg_match('~^(.+)\.ttf$~', $entry, $matches) === 1) {
895
+					$ttfont_list[] = $entry;
868 896
 		}
869
-		elseif (preg_match('~^(.+)\.ttf$~', $entry, $matches) === 1)
870
-			$ttfont_list[] = $entry;
871 897
 	}
872 898
 
873
-	if (empty($font_list))
874
-		return false;
899
+	if (empty($font_list)) {
900
+			return false;
901
+	}
875 902
 
876 903
 	// For non-hard things don't even change fonts.
877 904
 	if (!$varyFonts)
878 905
 	{
879 906
 		$font_list = array($font_list[0]);
880 907
 		// Try use Screenge if we can - it looks good!
881
-		if (in_array('AnonymousPro.ttf', $ttfont_list))
882
-			$ttfont_list = array('AnonymousPro.ttf');
883
-		else
884
-			$ttfont_list = empty($ttfont_list) ? array() : array($ttfont_list[0]);
908
+		if (in_array('AnonymousPro.ttf', $ttfont_list)) {
909
+					$ttfont_list = array('AnonymousPro.ttf');
910
+		} else {
911
+					$ttfont_list = empty($ttfont_list) ? array() : array($ttfont_list[0]);
912
+		}
885 913
 
886 914
 	}
887 915
 
@@ -899,14 +927,16 @@  discard block
 block discarded – undo
899 927
 	}
900 928
 
901 929
 	// Load all fonts and determine the maximum font height.
902
-	foreach ($loaded_fonts as $font_index => $dummy)
903
-		$loaded_fonts[$font_index] = imageloadfont($settings['default_theme_dir'] . '/fonts/' . $font_list[$font_index]);
930
+	foreach ($loaded_fonts as $font_index => $dummy) {
931
+			$loaded_fonts[$font_index] = imageloadfont($settings['default_theme_dir'] . '/fonts/' . $font_list[$font_index]);
932
+	}
904 933
 
905 934
 	// Determine the dimensions of each character.
906
-	if ($imageType == 4 || $imageType == 5)
907
-		$extra = 80;
908
-	else
909
-		$extra = 45;
935
+	if ($imageType == 4 || $imageType == 5) {
936
+			$extra = 80;
937
+	} else {
938
+			$extra = 45;
939
+	}
910 940
 
911 941
 	$total_width = $character_spacing * strlen($code) + $extra;
912 942
 	$max_height = 0;
@@ -927,13 +957,15 @@  discard block
 block discarded – undo
927 957
 	imagefilledrectangle($code_image, 0, 0, $total_width - 1, $max_height - 1, $bg_color);
928 958
 
929 959
 	// Randomize the foreground color a little.
930
-	for ($i = 0; $i < 3; $i++)
931
-		$foreground_color[$i] = mt_rand(max($foreground_color[$i] - 3, 0), min($foreground_color[$i] + 3, 255));
960
+	for ($i = 0; $i < 3; $i++) {
961
+			$foreground_color[$i] = mt_rand(max($foreground_color[$i] - 3, 0), min($foreground_color[$i] + 3, 255));
962
+	}
932 963
 	$fg_color = imagecolorallocate($code_image, $foreground_color[0], $foreground_color[1], $foreground_color[2]);
933 964
 
934 965
 	// Color for the dots.
935
-	for ($i = 0; $i < 3; $i++)
936
-		$dotbgcolor[$i] = $background_color[$i] < $foreground_color[$i] ? mt_rand(0, max($foreground_color[$i] - 20, 0)) : mt_rand(min($foreground_color[$i] + 20, 255), 255);
966
+	for ($i = 0; $i < 3; $i++) {
967
+			$dotbgcolor[$i] = $background_color[$i] < $foreground_color[$i] ? mt_rand(0, max($foreground_color[$i] - 20, 0)) : mt_rand(min($foreground_color[$i] + 20, 255), 255);
968
+	}
937 969
 	$randomness_color = imagecolorallocate($code_image, $dotbgcolor[0], $dotbgcolor[1], $dotbgcolor[2]);
938 970
 
939 971
 	// Some squares/rectanges for new extreme level
@@ -959,10 +991,11 @@  discard block
 block discarded – undo
959 991
 			$can_do_ttf = function_exists('imagettftext');
960 992
 
961 993
 			// How much rotation will we give?
962
-			if ($rotationType == 'none')
963
-				$angle = 0;
964
-			else
965
-				$angle = mt_rand(-100, 100) / ($rotationType == 'high' ? 6 : 10);
994
+			if ($rotationType == 'none') {
995
+							$angle = 0;
996
+			} else {
997
+							$angle = mt_rand(-100, 100) / ($rotationType == 'high' ? 6 : 10);
998
+			}
966 999
 
967 1000
 			// What color shall we do it?
968 1001
 			if ($fontColorType == 'cyclic')
@@ -976,51 +1009,56 @@  discard block
 block discarded – undo
976 1009
 					array(0, 0, 0),
977 1010
 					array(143, 39, 31),
978 1011
 				);
979
-				if (!isset($last_index))
980
-					$last_index = -1;
1012
+				if (!isset($last_index)) {
1013
+									$last_index = -1;
1014
+				}
981 1015
 				$new_index = $last_index;
982
-				while ($last_index == $new_index)
983
-					$new_index = mt_rand(0, count($colors) - 1);
1016
+				while ($last_index == $new_index) {
1017
+									$new_index = mt_rand(0, count($colors) - 1);
1018
+				}
984 1019
 				$char_fg_color = $colors[$new_index];
985 1020
 				$last_index = $new_index;
1021
+			} elseif ($fontColorType == 'random') {
1022
+							$char_fg_color = array(mt_rand(max($foreground_color[0] - 2, 0), $foreground_color[0]), mt_rand(max($foreground_color[1] - 2, 0), $foreground_color[1]), mt_rand(max($foreground_color[2] - 2, 0), $foreground_color[2]));
1023
+			} else {
1024
+							$char_fg_color = array($foreground_color[0], $foreground_color[1], $foreground_color[2]);
986 1025
 			}
987
-			elseif ($fontColorType == 'random')
988
-				$char_fg_color = array(mt_rand(max($foreground_color[0] - 2, 0), $foreground_color[0]), mt_rand(max($foreground_color[1] - 2, 0), $foreground_color[1]), mt_rand(max($foreground_color[2] - 2, 0), $foreground_color[2]));
989
-			else
990
-				$char_fg_color = array($foreground_color[0], $foreground_color[1], $foreground_color[2]);
991 1026
 
992 1027
 			if (!empty($can_do_ttf))
993 1028
 			{
994 1029
 				// GD2 handles font size differently.
995
-				if ($fontSizeRandom)
996
-					$font_size = $gd2 ? mt_rand(17, 19) : mt_rand(18, 25);
997
-				else
998
-					$font_size = $gd2 ? 18 : 24;
1030
+				if ($fontSizeRandom) {
1031
+									$font_size = $gd2 ? mt_rand(17, 19) : mt_rand(18, 25);
1032
+				} else {
1033
+									$font_size = $gd2 ? 18 : 24;
1034
+				}
999 1035
 
1000 1036
 				// Work out the sizes - also fix the character width cause TTF not quite so wide!
1001 1037
 				$font_x = $fontHorSpace == 'minus' && $cur_x > 0 ? $cur_x - 3 : $cur_x + 5;
1002 1038
 				$font_y = $max_height - ($fontVerPos == 'vrandom' ? mt_rand(2, 8) : ($fontVerPos == 'random' ? mt_rand(3, 5) : 5));
1003 1039
 
1004 1040
 				// What font face?
1005
-				if (!empty($ttfont_list))
1006
-					$fontface = $settings['default_theme_dir'] . '/fonts/' . $ttfont_list[mt_rand(0, count($ttfont_list) - 1)];
1041
+				if (!empty($ttfont_list)) {
1042
+									$fontface = $settings['default_theme_dir'] . '/fonts/' . $ttfont_list[mt_rand(0, count($ttfont_list) - 1)];
1043
+				}
1007 1044
 
1008 1045
 				// What color are we to do it in?
1009 1046
 				$is_reverse = $showReverseChars ? mt_rand(0, 1) : false;
1010 1047
 				$char_color = function_exists('imagecolorallocatealpha') && $fontTrans ? imagecolorallocatealpha($code_image, $char_fg_color[0], $char_fg_color[1], $char_fg_color[2], 50) : imagecolorallocate($code_image, $char_fg_color[0], $char_fg_color[1], $char_fg_color[2]);
1011 1048
 
1012 1049
 				$fontcord = @imagettftext($code_image, $font_size, $angle, $font_x, $font_y, $char_color, $fontface, $character['id']);
1013
-				if (empty($fontcord))
1014
-					$can_do_ttf = false;
1015
-				elseif ($is_reverse)
1050
+				if (empty($fontcord)) {
1051
+									$can_do_ttf = false;
1052
+				} elseif ($is_reverse)
1016 1053
 				{
1017 1054
 					imagefilledpolygon($code_image, $fontcord, 4, $fg_color);
1018 1055
 					// Put the character back!
1019 1056
 					imagettftext($code_image, $font_size, $angle, $font_x, $font_y, $randomness_color, $fontface, $character['id']);
1020 1057
 				}
1021 1058
 
1022
-				if ($can_do_ttf)
1023
-					$cur_x = max($fontcord[2], $fontcord[4]) + ($angle == 0 ? 0 : 3);
1059
+				if ($can_do_ttf) {
1060
+									$cur_x = max($fontcord[2], $fontcord[4]) + ($angle == 0 ? 0 : 3);
1061
+				}
1024 1062
 			}
1025 1063
 
1026 1064
 			if (!$can_do_ttf)
@@ -1039,8 +1077,9 @@  discard block
 block discarded – undo
1039 1077
 				}
1040 1078
 
1041 1079
 				// Sorry, no rotation available.
1042
-				else
1043
-					imagechar($code_image, $loaded_fonts[$character['font']], $cur_x, floor(($max_height - $character['height']) / 2), $character['id'], imagecolorallocate($code_image, $char_fg_color[0], $char_fg_color[1], $char_fg_color[2]));
1080
+				else {
1081
+									imagechar($code_image, $loaded_fonts[$character['font']], $cur_x, floor(($max_height - $character['height']) / 2), $character['id'], imagecolorallocate($code_image, $char_fg_color[0], $char_fg_color[1], $char_fg_color[2]));
1082
+				}
1044 1083
 				$cur_x += $character['width'] + $character_spacing;
1045 1084
 			}
1046 1085
 		}
@@ -1053,17 +1092,22 @@  discard block
 block discarded – undo
1053 1092
 	}
1054 1093
 
1055 1094
 	// Make the background color transparent on the hard image.
1056
-	if (!$simpleBGColor)
1057
-		imagecolortransparent($code_image, $bg_color);
1058
-	if ($hasBorder)
1059
-		imagerectangle($code_image, 0, 0, $total_width - 1, $max_height - 1, $fg_color);
1095
+	if (!$simpleBGColor) {
1096
+			imagecolortransparent($code_image, $bg_color);
1097
+	}
1098
+	if ($hasBorder) {
1099
+			imagerectangle($code_image, 0, 0, $total_width - 1, $max_height - 1, $fg_color);
1100
+	}
1060 1101
 
1061 1102
 	// Add some noise to the background?
1062 1103
 	if ($noiseType != 'none')
1063 1104
 	{
1064
-		for ($i = mt_rand(0, 2); $i < $max_height; $i += mt_rand(1, 2))
1065
-			for ($j = mt_rand(0, 10); $j < $total_width; $j += mt_rand(1, 10))
1066
-				imagesetpixel($code_image, $j, $i, mt_rand(0, 1) ? $fg_color : $randomness_color);
1105
+		for ($i = mt_rand(0, 2); $i < $max_height; $i += mt_rand(1, 2)) {
1106
+					for ($j = mt_rand(0, 10);
1107
+		}
1108
+		$j < $total_width; $j += mt_rand(1, 10)) {
1109
+							imagesetpixel($code_image, $j, $i, mt_rand(0, 1) ? $fg_color : $randomness_color);
1110
+			}
1067 1111
 
1068 1112
 		// Put in some lines too?
1069 1113
 		if ($noiseType != 'extreme')
@@ -1076,8 +1120,7 @@  discard block
 block discarded – undo
1076 1120
 					$x1 = mt_rand(0, $total_width);
1077 1121
 					$x2 = mt_rand(0, $total_width);
1078 1122
 					$y1 = 0; $y2 = $max_height;
1079
-				}
1080
-				else
1123
+				} else
1081 1124
 				{
1082 1125
 					$y1 = mt_rand(0, $max_height);
1083 1126
 					$y2 = mt_rand(0, $max_height);
@@ -1086,8 +1129,7 @@  discard block
 block discarded – undo
1086 1129
 				imagesetthickness($code_image, mt_rand(1, 2));
1087 1130
 				imageline($code_image, $x1, $y1, $x2, $y2, mt_rand(0, 1) ? $fg_color : $randomness_color);
1088 1131
 			}
1089
-		}
1090
-		else
1132
+		} else
1091 1133
 		{
1092 1134
 			// Put in some ellipse
1093 1135
 			$num_ellipse = $noiseType == 'extreme' ? mt_rand(6, 12) : mt_rand(2, 6);
@@ -1107,8 +1149,7 @@  discard block
 block discarded – undo
1107 1149
 	{
1108 1150
 		header('content-type: image/gif');
1109 1151
 		imagegif($code_image);
1110
-	}
1111
-	else
1152
+	} else
1112 1153
 	{
1113 1154
 		header('content-type: image/png');
1114 1155
 		imagepng($code_image);
@@ -1131,25 +1172,29 @@  discard block
 block discarded – undo
1131 1172
 {
1132 1173
 	global $settings;
1133 1174
 
1134
-	if (!is_dir($settings['default_theme_dir'] . '/fonts'))
1135
-		return false;
1175
+	if (!is_dir($settings['default_theme_dir'] . '/fonts')) {
1176
+			return false;
1177
+	}
1136 1178
 
1137 1179
 	// Get a list of the available font directories.
1138 1180
 	$font_dir = dir($settings['default_theme_dir'] . '/fonts');
1139 1181
 	$font_list = array();
1140
-	while ($entry = $font_dir->read())
1141
-		if ($entry[0] !== '.' && is_dir($settings['default_theme_dir'] . '/fonts/' . $entry) && file_exists($settings['default_theme_dir'] . '/fonts/' . $entry . '.gdf'))
1182
+	while ($entry = $font_dir->read()) {
1183
+			if ($entry[0] !== '.' && is_dir($settings['default_theme_dir'] . '/fonts/' . $entry) && file_exists($settings['default_theme_dir'] . '/fonts/' . $entry . '.gdf'))
1142 1184
 			$font_list[] = $entry;
1185
+	}
1143 1186
 
1144
-	if (empty($font_list))
1145
-		return false;
1187
+	if (empty($font_list)) {
1188
+			return false;
1189
+	}
1146 1190
 
1147 1191
 	// Pick a random font.
1148 1192
 	$random_font = $font_list[array_rand($font_list)];
1149 1193
 
1150 1194
 	// Check if the given letter exists.
1151
-	if (!file_exists($settings['default_theme_dir'] . '/fonts/' . $random_font . '/' . $letter . '.png'))
1152
-		return false;
1195
+	if (!file_exists($settings['default_theme_dir'] . '/fonts/' . $random_font . '/' . $letter . '.png')) {
1196
+			return false;
1197
+	}
1153 1198
 
1154 1199
 	// Include it!
1155 1200
 	header('content-type: image/png');
Please login to merge, or discard this patch.