Completed
Pull Request — release-2.1 (#3836)
by Michael
10:56
created
Sources/ManageAttachments.php 1 patch
Braces   +429 added lines, -325 removed lines patch added patch discarded remove patch
@@ -14,8 +14,9 @@  discard block
 block discarded – undo
14 14
  * @version 2.1 Beta 3
15 15
  */
16 16
 
17
-if (!defined('SMF'))
17
+if (!defined('SMF')) {
18 18
 	die('No direct access...');
19
+}
19 20
 
20 21
 /**
21 22
  * The main 'Attachments and Avatars' management function.
@@ -63,10 +64,11 @@  discard block
 block discarded – undo
63 64
 	call_integration_hook('integrate_manage_attachments', array(&$subActions));
64 65
 
65 66
 	// Pick the correct sub-action.
66
-	if (isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']]))
67
-		$context['sub_action'] = $_REQUEST['sa'];
68
-	else
69
-		$context['sub_action'] = 'browse';
67
+	if (isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']])) {
68
+			$context['sub_action'] = $_REQUEST['sa'];
69
+	} else {
70
+			$context['sub_action'] = 'browse';
71
+	}
70 72
 
71 73
 	// Default page title is good.
72 74
 	$context['page_title'] = $txt['attachments_avatars'];
@@ -94,20 +96,20 @@  discard block
 block discarded – undo
94 96
 	$context['attachmentUploadDir'] = $modSettings['attachmentUploadDir'][$modSettings['currentAttachmentUploadDir']];
95 97
 
96 98
 	// If not set, show a default path for the base directory
97
-	if (!isset($_GET['save']) && empty($modSettings['basedirectory_for_attachments']))
98
-		if (is_dir($modSettings['attachmentUploadDir'][1]))
99
+	if (!isset($_GET['save']) && empty($modSettings['basedirectory_for_attachments'])) {
100
+			if (is_dir($modSettings['attachmentUploadDir'][1]))
99 101
 			$modSettings['basedirectory_for_attachments'] = $modSettings['attachmentUploadDir'][1];
100
-
101
-	else
102
-		$modSettings['basedirectory_for_attachments'] = $context['attachmentUploadDir'];
102
+	} else {
103
+			$modSettings['basedirectory_for_attachments'] = $context['attachmentUploadDir'];
104
+	}
103 105
 
104 106
 	$context['valid_upload_dir'] = is_dir($context['attachmentUploadDir']) && is_writable($context['attachmentUploadDir']);
105 107
 
106
-	if (!empty($modSettings['automanage_attachments']))
107
-		$context['valid_basedirectory'] = !empty($modSettings['basedirectory_for_attachments']) && is_writable($modSettings['basedirectory_for_attachments']);
108
-
109
-	else
110
-		$context['valid_basedirectory'] = true;
108
+	if (!empty($modSettings['automanage_attachments'])) {
109
+			$context['valid_basedirectory'] = !empty($modSettings['basedirectory_for_attachments']) && is_writable($modSettings['basedirectory_for_attachments']);
110
+	} else {
111
+			$context['valid_basedirectory'] = true;
112
+	}
111 113
 
112 114
 	// A bit of razzle dazzle with the $txt strings. :)
113 115
 	$txt['attachment_path'] = $context['attachmentUploadDir'];
@@ -185,8 +187,9 @@  discard block
 block discarded – undo
185 187
 
186 188
 	call_integration_hook('integrate_modify_attachment_settings', array(&$config_vars));
187 189
 
188
-	if ($return_config)
189
-		return $config_vars;
190
+	if ($return_config) {
191
+			return $config_vars;
192
+	}
190 193
 
191 194
 	// These are very likely to come in handy! (i.e. without them we're doomed!)
192 195
 	require_once($sourcedir . '/ManagePermissions.php');
@@ -197,21 +200,24 @@  discard block
 block discarded – undo
197 200
 	{
198 201
 		checkSession();
199 202
 
200
-		if (isset($_POST['attachmentUploadDir']))
201
-			unset($_POST['attachmentUploadDir']);
203
+		if (isset($_POST['attachmentUploadDir'])) {
204
+					unset($_POST['attachmentUploadDir']);
205
+		}
202 206
 
203 207
 		if (!empty($_POST['use_subdirectories_for_attachments']))
204 208
 		{
205
-			if (isset($_POST['use_subdirectories_for_attachments']) && empty($_POST['basedirectory_for_attachments']))
206
-				$_POST['basedirectory_for_attachments'] = (!empty($modSettings['basedirectory_for_attachments']) ? ($modSettings['basedirectory_for_attachments']) : $boarddir);
209
+			if (isset($_POST['use_subdirectories_for_attachments']) && empty($_POST['basedirectory_for_attachments'])) {
210
+							$_POST['basedirectory_for_attachments'] = (!empty($modSettings['basedirectory_for_attachments']) ? ($modSettings['basedirectory_for_attachments']) : $boarddir);
211
+			}
207 212
 
208 213
 			if (!empty($_POST['use_subdirectories_for_attachments']) && !empty($modSettings['attachment_basedirectories']))
209 214
 			{
210
-				if (!is_array($modSettings['attachment_basedirectories']))
211
-					$modSettings['attachment_basedirectories'] = smf_json_decode($modSettings['attachment_basedirectories'], true);
215
+				if (!is_array($modSettings['attachment_basedirectories'])) {
216
+									$modSettings['attachment_basedirectories'] = smf_json_decode($modSettings['attachment_basedirectories'], true);
217
+				}
218
+			} else {
219
+							$modSettings['attachment_basedirectories'] = array();
212 220
 			}
213
-			else
214
-				$modSettings['attachment_basedirectories'] = array();
215 221
 
216 222
 			if (!empty($_POST['use_subdirectories_for_attachments']) && !empty($_POST['basedirectory_for_attachments']) && !in_array($_POST['basedirectory_for_attachments'], $modSettings['attachment_basedirectories']))
217 223
 			{
@@ -219,8 +225,9 @@  discard block
 block discarded – undo
219 225
 
220 226
 				if (!in_array($_POST['basedirectory_for_attachments'], $modSettings['attachmentUploadDir']))
221 227
 				{
222
-					if (!automanage_attachments_create_directory($_POST['basedirectory_for_attachments']))
223
-						$_POST['basedirectory_for_attachments'] = $modSettings['basedirectory_for_attachments'];
228
+					if (!automanage_attachments_create_directory($_POST['basedirectory_for_attachments'])) {
229
+											$_POST['basedirectory_for_attachments'] = $modSettings['basedirectory_for_attachments'];
230
+					}
224 231
 				}
225 232
 
226 233
 				if (!in_array($_POST['basedirectory_for_attachments'], $modSettings['attachment_basedirectories']))
@@ -336,8 +343,9 @@  discard block
 block discarded – undo
336 343
 
337 344
 	call_integration_hook('integrate_modify_avatar_settings', array(&$config_vars));
338 345
 
339
-	if ($return_config)
340
-		return $config_vars;
346
+	if ($return_config) {
347
+			return $config_vars;
348
+	}
341 349
 
342 350
 	// We need this file for the settings template.
343 351
 	require_once($sourcedir . '/ManageServer.php');
@@ -348,17 +356,21 @@  discard block
 block discarded – undo
348 356
 		checkSession();
349 357
 
350 358
 		// These settings cannot be left empty!
351
-		if (empty($_POST['custom_avatar_dir']))
352
-			$_POST['custom_avatar_dir'] = $boarddir . '/custom_avatar';
359
+		if (empty($_POST['custom_avatar_dir'])) {
360
+					$_POST['custom_avatar_dir'] = $boarddir . '/custom_avatar';
361
+		}
353 362
 
354
-		if (empty($_POST['custom_avatar_url']))
355
-			$_POST['custom_avatar_url'] = $boardurl . '/custom_avatar';
363
+		if (empty($_POST['custom_avatar_url'])) {
364
+					$_POST['custom_avatar_url'] = $boardurl . '/custom_avatar';
365
+		}
356 366
 
357
-		if (empty($_POST['avatar_directory']))
358
-			$_POST['avatar_directory'] = $boarddir . '/avatars';
367
+		if (empty($_POST['avatar_directory'])) {
368
+					$_POST['avatar_directory'] = $boarddir . '/avatars';
369
+		}
359 370
 
360
-		if (empty($_POST['avatar_url']))
361
-			$_POST['avatar_url'] = $boardurl . '/avatars';
371
+		if (empty($_POST['avatar_url'])) {
372
+					$_POST['avatar_url'] = $boardurl . '/avatars';
373
+		}
362 374
 
363 375
 		call_integration_hook('integrate_save_avatar_settings');
364 376
 
@@ -406,11 +418,13 @@  discard block
 block discarded – undo
406 418
 	$list_title = $txt['attachment_manager_browse_files'] . ': ';
407 419
 	foreach ($titles as $browse_type => $details)
408 420
 	{
409
-		if ($browse_type != 'attachments')
410
-			$list_title .= ' | ';
421
+		if ($browse_type != 'attachments') {
422
+					$list_title .= ' | ';
423
+		}
411 424
 
412
-		if ($context['browse_type'] == $browse_type)
413
-			$list_title .= '<img src="' . $settings['images_url'] . '/selected.png" alt="&gt;"> ';
425
+		if ($context['browse_type'] == $browse_type) {
426
+					$list_title .= '<img src="' . $settings['images_url'] . '/selected.png" alt="&gt;"> ';
427
+		}
414 428
 
415 429
 		$list_title .= '<a href="' . $scripturl . $details[0] . '">' . $details[1] . '</a>';
416 430
 	}
@@ -446,28 +460,33 @@  discard block
 block discarded – undo
446 460
 						$link = '<a href="';
447 461
 
448 462
 						// In case of a custom avatar URL attachments have a fixed directory.
449
-						if ($rowData['attachment_type'] == 1)
450
-							$link .= sprintf('%1$s/%2$s', $modSettings['custom_avatar_url'], $rowData['filename']);
463
+						if ($rowData['attachment_type'] == 1) {
464
+													$link .= sprintf('%1$s/%2$s', $modSettings['custom_avatar_url'], $rowData['filename']);
465
+						}
451 466
 
452 467
 						// By default avatars are downloaded almost as attachments.
453
-						elseif ($context['browse_type'] == 'avatars')
454
-							$link .= sprintf('%1$s?action=dlattach;type=avatar;attach=%2$d', $scripturl, $rowData['id_attach']);
468
+						elseif ($context['browse_type'] == 'avatars') {
469
+													$link .= sprintf('%1$s?action=dlattach;type=avatar;attach=%2$d', $scripturl, $rowData['id_attach']);
470
+						}
455 471
 
456 472
 						// Normal attachments are always linked to a topic ID.
457
-						else
458
-							$link .= sprintf('%1$s?action=dlattach;topic=%2$d.0;attach=%3$d', $scripturl, $rowData['id_topic'], $rowData['id_attach']);
473
+						else {
474
+													$link .= sprintf('%1$s?action=dlattach;topic=%2$d.0;attach=%3$d', $scripturl, $rowData['id_topic'], $rowData['id_attach']);
475
+						}
459 476
 
460 477
 						$link .= '"';
461 478
 
462 479
 						// Show a popup on click if it's a picture and we know its dimensions.
463
-						if (!empty($rowData['width']) && !empty($rowData['height']))
464
-							$link .= sprintf(' onclick="return reqWin(this.href' . ($rowData['attachment_type'] == 1 ? '' : ' + \';image\'') . ', %1$d, %2$d, true);"', $rowData['width'] + 20, $rowData['height'] + 20);
480
+						if (!empty($rowData['width']) && !empty($rowData['height'])) {
481
+													$link .= sprintf(' onclick="return reqWin(this.href' . ($rowData['attachment_type'] == 1 ? '' : ' + \';image\'') . ', %1$d, %2$d, true);"', $rowData['width'] + 20, $rowData['height'] + 20);
482
+						}
465 483
 
466 484
 						$link .= sprintf('>%1$s</a>', preg_replace('~&amp;#(\\\\d{1,7}|x[0-9a-fA-F]{1,6});~', '&#\\\\1;', $smcFunc['htmlspecialchars']($rowData['filename'])));
467 485
 
468 486
 						// Show the dimensions.
469
-						if (!empty($rowData['width']) && !empty($rowData['height']))
470
-							$link .= sprintf(' <span class="smalltext">%1$dx%2$d</span>', $rowData['width'], $rowData['height']);
487
+						if (!empty($rowData['width']) && !empty($rowData['height'])) {
488
+													$link .= sprintf(' <span class="smalltext">%1$dx%2$d</span>', $rowData['width'], $rowData['height']);
489
+						}
471 490
 
472 491
 						return $link;
473 492
 					},
@@ -500,12 +519,14 @@  discard block
 block discarded – undo
500 519
 					'function' => function($rowData) use ($scripturl, $smcFunc)
501 520
 					{
502 521
 						// In case of an attachment, return the poster of the attachment.
503
-						if (empty($rowData['id_member']))
504
-							return $smcFunc['htmlspecialchars']($rowData['poster_name']);
522
+						if (empty($rowData['id_member'])) {
523
+													return $smcFunc['htmlspecialchars']($rowData['poster_name']);
524
+						}
505 525
 
506 526
 						// Otherwise it must be an avatar, return the link to the owner of it.
507
-						else
508
-							return sprintf('<a href="%1$s?action=profile;u=%2$d">%3$s</a>', $scripturl, $rowData['id_member'], $rowData['poster_name']);
527
+						else {
528
+													return sprintf('<a href="%1$s?action=profile;u=%2$d">%3$s</a>', $scripturl, $rowData['id_member'], $rowData['poster_name']);
529
+						}
509 530
 					},
510 531
 				),
511 532
 				'sort' => array(
@@ -524,8 +545,9 @@  discard block
 block discarded – undo
524 545
 						$date = empty($rowData['poster_time']) ? $txt['never'] : timeformat($rowData['poster_time']);
525 546
 
526 547
 						// Add a link to the topic in case of an attachment.
527
-						if ($context['browse_type'] !== 'avatars')
528
-							$date .= sprintf('<br>%1$s <a href="%2$s?topic=%3$d.msg%4$d#msg%4$d">%5$s</a>', $txt['in'], $scripturl, $rowData['id_topic'], $rowData['id_msg'], $rowData['subject']);
548
+						if ($context['browse_type'] !== 'avatars') {
549
+													$date .= sprintf('<br>%1$s <a href="%2$s?topic=%3$d.msg%4$d#msg%4$d">%5$s</a>', $txt['in'], $scripturl, $rowData['id_topic'], $rowData['id_msg'], $rowData['subject']);
550
+						}
529 551
 
530 552
 						return $date;
531 553
 					},
@@ -610,8 +632,8 @@  discard block
 block discarded – undo
610 632
 	global $smcFunc, $txt;
611 633
 
612 634
 	// Choose a query depending on what we are viewing.
613
-	if ($browse_type === 'avatars')
614
-		$request = $smcFunc['db_query']('', '
635
+	if ($browse_type === 'avatars') {
636
+			$request = $smcFunc['db_query']('', '
615 637
 			SELECT
616 638
 				{string:blank_text} AS id_msg, COALESCE(mem.real_name, {string:not_applicable_text}) AS poster_name,
617 639
 				mem.last_login AS poster_time, 0 AS id_topic, a.id_member, a.id_attach, a.filename, a.file_hash, a.attachment_type,
@@ -630,8 +652,8 @@  discard block
 block discarded – undo
630 652
 				'per_page' => $items_per_page,
631 653
 			)
632 654
 		);
633
-	else
634
-		$request = $smcFunc['db_query']('', '
655
+	} else {
656
+			$request = $smcFunc['db_query']('', '
635 657
 			SELECT
636 658
 				m.id_msg, COALESCE(mem.real_name, m.poster_name) AS poster_name, m.poster_time, m.id_topic, m.id_member,
637 659
 				a.id_attach, a.filename, a.file_hash, a.attachment_type, a.size, a.width, a.height, a.downloads, mf.subject, t.id_board
@@ -650,9 +672,11 @@  discard block
 block discarded – undo
650 672
 				'per_page' => $items_per_page,
651 673
 			)
652 674
 		);
675
+	}
653 676
 	$files = array();
654
-	while ($row = $smcFunc['db_fetch_assoc']($request))
655
-		$files[] = $row;
677
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
678
+			$files[] = $row;
679
+	}
656 680
 	$smcFunc['db_free_result']($request);
657 681
 
658 682
 	return $files;
@@ -670,8 +694,8 @@  discard block
 block discarded – undo
670 694
 	global $smcFunc;
671 695
 
672 696
 	// Depending on the type of file, different queries are used.
673
-	if ($browse_type === 'avatars')
674
-		$request = $smcFunc['db_query']('', '
697
+	if ($browse_type === 'avatars') {
698
+			$request = $smcFunc['db_query']('', '
675 699
 		SELECT COUNT(*)
676 700
 		FROM {db_prefix}attachments
677 701
 		WHERE id_member != {int:guest_id_member}',
@@ -679,8 +703,8 @@  discard block
 block discarded – undo
679 703
 			'guest_id_member' => 0,
680 704
 		)
681 705
 	);
682
-	else
683
-		$request = $smcFunc['db_query']('', '
706
+	} else {
707
+			$request = $smcFunc['db_query']('', '
684 708
 			SELECT COUNT(*) AS num_attach
685 709
 			FROM {db_prefix}attachments AS a
686 710
 				INNER JOIN {db_prefix}messages AS m ON (m.id_msg = a.id_msg)
@@ -693,6 +717,7 @@  discard block
 block discarded – undo
693 717
 				'guest_id_member' => 0,
694 718
 			)
695 719
 		);
720
+	}
696 721
 
697 722
 	list ($num_files) = $smcFunc['db_fetch_row']($request);
698 723
 	$smcFunc['db_free_result']($request);
@@ -775,12 +800,14 @@  discard block
 block discarded – undo
775 800
 	$current_dir_size /= 1024;
776 801
 
777 802
 	// If they specified a limit only....
778
-	if (!empty($modSettings['attachmentDirSizeLimit']))
779
-		$context['attachment_space'] = comma_format(max($modSettings['attachmentDirSizeLimit'] - $current_dir_size, 0), 2);
803
+	if (!empty($modSettings['attachmentDirSizeLimit'])) {
804
+			$context['attachment_space'] = comma_format(max($modSettings['attachmentDirSizeLimit'] - $current_dir_size, 0), 2);
805
+	}
780 806
 	$context['attachment_current_size'] = comma_format($current_dir_size, 2);
781 807
 
782
-	if (!empty($modSettings['attachmentDirFileLimit']))
783
-		$context['attachment_files'] = comma_format(max($modSettings['attachmentDirFileLimit'] - $current_dir_files, 0), 0);
808
+	if (!empty($modSettings['attachmentDirFileLimit'])) {
809
+			$context['attachment_files'] = comma_format(max($modSettings['attachmentDirFileLimit'] - $current_dir_files, 0), 0);
810
+	}
784 811
 	$context['attachment_current_files'] = comma_format($current_dir_files, 0);
785 812
 
786 813
 	$context['attach_multiple_dirs'] = count($attach_dirs) > 1 ? true : false;
@@ -817,8 +844,8 @@  discard block
 block discarded – undo
817 844
 		$messages = removeAttachments(array('attachment_type' => 0, 'poster_time' => (time() - 24 * 60 * 60 * $_POST['age'])), 'messages', true);
818 845
 
819 846
 		// Update the messages to reflect the change.
820
-		if (!empty($messages) && !empty($_POST['notice']))
821
-			$smcFunc['db_query']('', '
847
+		if (!empty($messages) && !empty($_POST['notice'])) {
848
+					$smcFunc['db_query']('', '
822 849
 				UPDATE {db_prefix}messages
823 850
 				SET body = CONCAT(body, {string:notice})
824 851
 				WHERE id_msg IN ({array_int:messages})',
@@ -827,8 +854,8 @@  discard block
 block discarded – undo
827 854
 					'notice' => '<br><br>' . $_POST['notice'],
828 855
 				)
829 856
 			);
830
-	}
831
-	else
857
+		}
858
+	} else
832 859
 	{
833 860
 		// Remove all the old avatars.
834 861
 		removeAttachments(array('not_id_member' => 0, 'last_login' => (time() - 24 * 60 * 60 * $_POST['age'])), 'members');
@@ -853,8 +880,8 @@  discard block
 block discarded – undo
853 880
 	$messages = removeAttachments(array('attachment_type' => 0, 'size' => 1024 * $_POST['size']), 'messages', true);
854 881
 
855 882
 	// And make a note on the post.
856
-	if (!empty($messages) && !empty($_POST['notice']))
857
-		$smcFunc['db_query']('', '
883
+	if (!empty($messages) && !empty($_POST['notice'])) {
884
+			$smcFunc['db_query']('', '
858 885
 			UPDATE {db_prefix}messages
859 886
 			SET body = CONCAT(body, {string:notice})
860 887
 			WHERE id_msg IN ({array_int:messages})',
@@ -863,6 +890,7 @@  discard block
 block discarded – undo
863 890
 				'notice' => '<br><br>' . $_POST['notice'],
864 891
 			)
865 892
 		);
893
+	}
866 894
 
867 895
 	redirectexit('action=admin;area=manageattachments;sa=maintenance');
868 896
 }
@@ -882,16 +910,17 @@  discard block
 block discarded – undo
882 910
 	{
883 911
 		$attachments = array();
884 912
 		// There must be a quicker way to pass this safety test??
885
-		foreach ($_POST['remove'] as $removeID => $dummy)
886
-			$attachments[] = (int) $removeID;
913
+		foreach ($_POST['remove'] as $removeID => $dummy) {
914
+					$attachments[] = (int) $removeID;
915
+		}
887 916
 
888 917
 		// If the attachments are from a 3rd party, let them remove it. Hooks should remove their ids from the array.
889 918
 		$filesRemoved = false;
890 919
 		call_integration_hook('integrate_attachment_remove', array(&$filesRemoved, $attachments));
891 920
 
892
-		if ($_REQUEST['type'] == 'avatars' && !empty($attachments))
893
-			removeAttachments(array('id_attach' => $attachments));
894
-		else if (!empty($attachments))
921
+		if ($_REQUEST['type'] == 'avatars' && !empty($attachments)) {
922
+					removeAttachments(array('id_attach' => $attachments));
923
+		} else if (!empty($attachments))
895 924
 		{
896 925
 			$messages = removeAttachments(array('id_attach' => $attachments), 'messages', true);
897 926
 
@@ -930,12 +959,13 @@  discard block
 block discarded – undo
930 959
 
931 960
 	$messages = removeAttachments(array('attachment_type' => 0), '', true);
932 961
 
933
-	if (!isset($_POST['notice']))
934
-		$_POST['notice'] = $txt['attachment_delete_admin'];
962
+	if (!isset($_POST['notice'])) {
963
+			$_POST['notice'] = $txt['attachment_delete_admin'];
964
+	}
935 965
 
936 966
 	// Add the notice on the end of the changed messages.
937
-	if (!empty($messages))
938
-		$smcFunc['db_query']('', '
967
+	if (!empty($messages)) {
968
+			$smcFunc['db_query']('', '
939 969
 			UPDATE {db_prefix}messages
940 970
 			SET body = CONCAT(body, {string:deleted_message})
941 971
 			WHERE id_msg IN ({array_int:messages})',
@@ -944,6 +974,7 @@  discard block
 block discarded – undo
944 974
 				'deleted_message' => '<br><br>' . $_POST['notice'],
945 975
 			)
946 976
 		);
977
+	}
947 978
 
948 979
 	redirectexit('action=admin;area=manageattachments;sa=maintenance');
949 980
 }
@@ -982,24 +1013,26 @@  discard block
 block discarded – undo
982 1013
 			$is_not = substr($real_type, 0, 4) == 'not_';
983 1014
 			$type = $is_not ? substr($real_type, 4) : $real_type;
984 1015
 
985
-			if (in_array($type, array('id_member', 'id_attach', 'id_msg')))
986
-				$new_condition[] = 'a.' . $type . ($is_not ? ' NOT' : '') . ' IN (' . (is_array($restriction) ? '{array_int:' . $real_type . '}' : '{int:' . $real_type . '}') . ')';
987
-			elseif ($type == 'attachment_type')
988
-				$new_condition[] = 'a.attachment_type = {int:' . $real_type . '}';
989
-			elseif ($type == 'poster_time')
990
-				$new_condition[] = 'm.poster_time < {int:' . $real_type . '}';
991
-			elseif ($type == 'last_login')
992
-				$new_condition[] = 'mem.last_login < {int:' . $real_type . '}';
993
-			elseif ($type == 'size')
994
-				$new_condition[] = 'a.size > {int:' . $real_type . '}';
995
-			elseif ($type == 'id_topic')
996
-				$new_condition[] = 'm.id_topic IN (' . (is_array($restriction) ? '{array_int:' . $real_type . '}' : '{int:' . $real_type . '}') . ')';
1016
+			if (in_array($type, array('id_member', 'id_attach', 'id_msg'))) {
1017
+							$new_condition[] = 'a.' . $type . ($is_not ? ' NOT' : '') . ' IN (' . (is_array($restriction) ? '{array_int:' . $real_type . '}' : '{int:' . $real_type . '}') . ')';
1018
+			} elseif ($type == 'attachment_type') {
1019
+							$new_condition[] = 'a.attachment_type = {int:' . $real_type . '}';
1020
+			} elseif ($type == 'poster_time') {
1021
+							$new_condition[] = 'm.poster_time < {int:' . $real_type . '}';
1022
+			} elseif ($type == 'last_login') {
1023
+							$new_condition[] = 'mem.last_login < {int:' . $real_type . '}';
1024
+			} elseif ($type == 'size') {
1025
+							$new_condition[] = 'a.size > {int:' . $real_type . '}';
1026
+			} elseif ($type == 'id_topic') {
1027
+							$new_condition[] = 'm.id_topic IN (' . (is_array($restriction) ? '{array_int:' . $real_type . '}' : '{int:' . $real_type . '}') . ')';
1028
+			}
997 1029
 
998 1030
 			// Add the parameter!
999 1031
 			$query_parameter[$real_type] = $restriction;
1000 1032
 
1001
-			if ($type == 'do_logging')
1002
-				$do_logging = $condition['id_attach'];
1033
+			if ($type == 'do_logging') {
1034
+							$do_logging = $condition['id_attach'];
1035
+			}
1003 1036
 		}
1004 1037
 		$condition = implode(' AND ', $new_condition);
1005 1038
 	}
@@ -1031,15 +1064,15 @@  discard block
 block discarded – undo
1031 1064
 			// wasn't it obvious? :P
1032 1065
 			// @todo look again at this.
1033 1066
 			@unlink($modSettings['custom_avatar_dir'] . '/' . $row['filename']);
1034
-		}
1035
-		else
1067
+		} else
1036 1068
 		{
1037 1069
 			$filename = getAttachmentFilename($row['filename'], $row['id_attach'], $row['id_folder'], false, $row['file_hash']);
1038 1070
 			@unlink($filename);
1039 1071
 
1040 1072
 			// If this was a thumb, the parent attachment should know about it.
1041
-			if (!empty($row['id_parent']))
1042
-				$parents[] = $row['id_parent'];
1073
+			if (!empty($row['id_parent'])) {
1074
+							$parents[] = $row['id_parent'];
1075
+			}
1043 1076
 
1044 1077
 			// If this attachments has a thumb, remove it as well.
1045 1078
 			if (!empty($row['id_thumb']) && $autoThumbRemoval)
@@ -1051,8 +1084,9 @@  discard block
 block discarded – undo
1051 1084
 		}
1052 1085
 
1053 1086
 		// Make a list.
1054
-		if ($return_affected_messages && empty($row['attachment_type']))
1055
-			$msgs[] = $row['id_msg'];
1087
+		if ($return_affected_messages && empty($row['attachment_type'])) {
1088
+					$msgs[] = $row['id_msg'];
1089
+		}
1056 1090
 
1057 1091
 		$attach[] = $row['id_attach'];
1058 1092
 	}
@@ -1060,8 +1094,8 @@  discard block
 block discarded – undo
1060 1094
 
1061 1095
 	// Removed attachments don't have to be updated anymore.
1062 1096
 	$parents = array_diff($parents, $attach);
1063
-	if (!empty($parents))
1064
-		$smcFunc['db_query']('', '
1097
+	if (!empty($parents)) {
1098
+			$smcFunc['db_query']('', '
1065 1099
 			UPDATE {db_prefix}attachments
1066 1100
 			SET id_thumb = {int:no_thumb}
1067 1101
 			WHERE id_attach IN ({array_int:parent_attachments})',
@@ -1070,6 +1104,7 @@  discard block
 block discarded – undo
1070 1104
 				'no_thumb' => 0,
1071 1105
 			)
1072 1106
 		);
1107
+	}
1073 1108
 
1074 1109
 	if (!empty($do_logging))
1075 1110
 	{
@@ -1086,31 +1121,34 @@  discard block
 block discarded – undo
1086 1121
 			)
1087 1122
 		);
1088 1123
 
1089
-		while ($row = $smcFunc['db_fetch_assoc']($request))
1090
-			logAction(
1124
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
1125
+					logAction(
1091 1126
 				'remove_attach',
1092 1127
 				array(
1093 1128
 					'message' => $row['id_msg'],
1094 1129
 					'filename' => preg_replace('~&amp;#(\\d{1,7}|x[0-9a-fA-F]{1,6});~', '&#\\1;', $smcFunc['htmlspecialchars']($row['filename'])),
1095 1130
 				)
1096 1131
 			);
1132
+		}
1097 1133
 		$smcFunc['db_free_result']($request);
1098 1134
 	}
1099 1135
 
1100
-	if (!empty($attach))
1101
-		$smcFunc['db_query']('', '
1136
+	if (!empty($attach)) {
1137
+			$smcFunc['db_query']('', '
1102 1138
 			DELETE FROM {db_prefix}attachments
1103 1139
 			WHERE id_attach IN ({array_int:attachment_list})',
1104 1140
 			array(
1105 1141
 				'attachment_list' => $attach,
1106 1142
 			)
1107 1143
 		);
1144
+	}
1108 1145
 
1109 1146
 	call_integration_hook('integrate_remove_attachments', array($attach));
1110 1147
 
1111
-	if ($return_affected_messages)
1112
-		return array_unique($msgs);
1113
-}
1148
+	if ($return_affected_messages) {
1149
+			return array_unique($msgs);
1150
+	}
1151
+	}
1114 1152
 
1115 1153
 /**
1116 1154
  * This function should find attachments in the database that no longer exist and clear them, and fix filesize issues.
@@ -1122,8 +1160,9 @@  discard block
 block discarded – undo
1122 1160
 	checkSession('get');
1123 1161
 
1124 1162
 	// If we choose cancel, redirect right back.
1125
-	if (isset($_POST['cancel']))
1126
-		redirectexit('action=admin;area=manageattachments;sa=maintenance');
1163
+	if (isset($_POST['cancel'])) {
1164
+			redirectexit('action=admin;area=manageattachments;sa=maintenance');
1165
+	}
1127 1166
 
1128 1167
 	// Try give us a while to sort this out...
1129 1168
 	@set_time_limit(600);
@@ -1140,13 +1179,15 @@  discard block
 block discarded – undo
1140 1179
 		if (isset($_GET['fixErrors']))
1141 1180
 		{
1142 1181
 			// Nothing?
1143
-			if (empty($_POST['to_fix']))
1144
-				redirectexit('action=admin;area=manageattachments;sa=maintenance');
1182
+			if (empty($_POST['to_fix'])) {
1183
+							redirectexit('action=admin;area=manageattachments;sa=maintenance');
1184
+			}
1145 1185
 
1146 1186
 			$_SESSION['attachments_to_fix'] = array();
1147 1187
 			// @todo No need to do this I think.
1148
-			foreach ($_POST['to_fix'] as $value)
1149
-				$_SESSION['attachments_to_fix'][] = $value;
1188
+			foreach ($_POST['to_fix'] as $value) {
1189
+							$_SESSION['attachments_to_fix'][] = $value;
1190
+			}
1150 1191
 		}
1151 1192
 	}
1152 1193
 
@@ -1213,13 +1254,14 @@  discard block
 block discarded – undo
1213 1254
 					}
1214 1255
 				}
1215 1256
 			}
1216
-			if ($smcFunc['db_num_rows']($result) != 0)
1217
-				$to_fix[] = 'missing_thumbnail_parent';
1257
+			if ($smcFunc['db_num_rows']($result) != 0) {
1258
+							$to_fix[] = 'missing_thumbnail_parent';
1259
+			}
1218 1260
 			$smcFunc['db_free_result']($result);
1219 1261
 
1220 1262
 			// Do we need to delete what we have?
1221
-			if ($fix_errors && !empty($to_remove) && in_array('missing_thumbnail_parent', $to_fix))
1222
-				$smcFunc['db_query']('', '
1263
+			if ($fix_errors && !empty($to_remove) && in_array('missing_thumbnail_parent', $to_fix)) {
1264
+							$smcFunc['db_query']('', '
1223 1265
 					DELETE FROM {db_prefix}attachments
1224 1266
 					WHERE id_attach IN ({array_int:to_remove})
1225 1267
 						AND attachment_type = {int:attachment_type}',
@@ -1228,6 +1270,7 @@  discard block
 block discarded – undo
1228 1270
 						'attachment_type' => 3,
1229 1271
 					)
1230 1272
 				);
1273
+			}
1231 1274
 
1232 1275
 			pauseAttachmentMaintenance($to_fix, $thumbnails);
1233 1276
 		}
@@ -1272,13 +1315,14 @@  discard block
 block discarded – undo
1272 1315
 				$to_update[] = $row['id_attach'];
1273 1316
 				$context['repair_errors']['parent_missing_thumbnail']++;
1274 1317
 			}
1275
-			if ($smcFunc['db_num_rows']($result) != 0)
1276
-				$to_fix[] = 'parent_missing_thumbnail';
1318
+			if ($smcFunc['db_num_rows']($result) != 0) {
1319
+							$to_fix[] = 'parent_missing_thumbnail';
1320
+			}
1277 1321
 			$smcFunc['db_free_result']($result);
1278 1322
 
1279 1323
 			// Do we need to delete what we have?
1280
-			if ($fix_errors && !empty($to_update) && in_array('parent_missing_thumbnail', $to_fix))
1281
-				$smcFunc['db_query']('', '
1324
+			if ($fix_errors && !empty($to_update) && in_array('parent_missing_thumbnail', $to_fix)) {
1325
+							$smcFunc['db_query']('', '
1282 1326
 					UPDATE {db_prefix}attachments
1283 1327
 					SET id_thumb = {int:no_thumb}
1284 1328
 					WHERE id_attach IN ({array_int:to_update})',
@@ -1287,6 +1331,7 @@  discard block
 block discarded – undo
1287 1331
 						'no_thumb' => 0,
1288 1332
 					)
1289 1333
 				);
1334
+			}
1290 1335
 
1291 1336
 			pauseAttachmentMaintenance($to_fix, $thumbnails);
1292 1337
 		}
@@ -1324,10 +1369,11 @@  discard block
 block discarded – undo
1324 1369
 			while ($row = $smcFunc['db_fetch_assoc']($result))
1325 1370
 			{
1326 1371
 				// Get the filename.
1327
-				if ($row['attachment_type'] == 1)
1328
-					$filename = $modSettings['custom_avatar_dir'] . '/' . $row['filename'];
1329
-				else
1330
-					$filename = getAttachmentFilename($row['filename'], $row['id_attach'], $row['id_folder'], false, $row['file_hash']);
1372
+				if ($row['attachment_type'] == 1) {
1373
+									$filename = $modSettings['custom_avatar_dir'] . '/' . $row['filename'];
1374
+				} else {
1375
+									$filename = getAttachmentFilename($row['filename'], $row['id_attach'], $row['id_folder'], false, $row['file_hash']);
1376
+				}
1331 1377
 
1332 1378
 				// File doesn't exist?
1333 1379
 				if (!file_exists($filename))
@@ -1339,15 +1385,16 @@  discard block
 block discarded – undo
1339 1385
 						$attachment_name = $row['id_attach'] . '_' . $row['file_hash'] . '.dat';
1340 1386
 
1341 1387
 						// Loop through the other folders.
1342
-						foreach ($modSettings['attachmentUploadDir'] as $id => $dir)
1343
-							if (file_exists($dir . '/' . $attachment_name))
1388
+						foreach ($modSettings['attachmentUploadDir'] as $id => $dir) {
1389
+													if (file_exists($dir . '/' . $attachment_name))
1344 1390
 							{
1345 1391
 								$context['repair_errors']['wrong_folder']++;
1392
+						}
1346 1393
 								$errors_found[] = 'wrong_folder';
1347 1394
 
1348 1395
 								// Are we going to fix this now?
1349
-								if ($fix_errors && in_array('wrong_folder', $to_fix))
1350
-									$smcFunc['db_query']('', '
1396
+								if ($fix_errors && in_array('wrong_folder', $to_fix)) {
1397
+																	$smcFunc['db_query']('', '
1351 1398
 										UPDATE {db_prefix}attachments
1352 1399
 										SET id_folder = {int:new_folder}
1353 1400
 										WHERE id_attach = {int:id_attach}',
@@ -1356,6 +1403,7 @@  discard block
 block discarded – undo
1356 1403
 											'id_attach' => $row['id_attach'],
1357 1404
 										)
1358 1405
 									);
1406
+								}
1359 1407
 
1360 1408
 								continue 2;
1361 1409
 							}
@@ -1364,8 +1412,7 @@  discard block
 block discarded – undo
1364 1412
 					$to_remove[] = $row['id_attach'];
1365 1413
 					$context['repair_errors']['file_missing_on_disk']++;
1366 1414
 					$errors_found[] = 'file_missing_on_disk';
1367
-				}
1368
-				elseif (filesize($filename) == 0)
1415
+				} elseif (filesize($filename) == 0)
1369 1416
 				{
1370 1417
 					$context['repair_errors']['file_size_of_zero']++;
1371 1418
 					$errors_found[] = 'file_size_of_zero';
@@ -1376,8 +1423,7 @@  discard block
 block discarded – undo
1376 1423
 						$to_remove[] = $row['id_attach'];
1377 1424
 						@unlink($filename);
1378 1425
 					}
1379
-				}
1380
-				elseif (filesize($filename) != $row['size'])
1426
+				} elseif (filesize($filename) != $row['size'])
1381 1427
 				{
1382 1428
 					$context['repair_errors']['file_wrong_size']++;
1383 1429
 					$errors_found[] = 'file_wrong_size';
@@ -1398,14 +1444,18 @@  discard block
 block discarded – undo
1398 1444
 				}
1399 1445
 			}
1400 1446
 
1401
-			if (in_array('file_missing_on_disk', $errors_found))
1402
-				$to_fix[] = 'file_missing_on_disk';
1403
-			if (in_array('file_size_of_zero', $errors_found))
1404
-				$to_fix[] = 'file_size_of_zero';
1405
-			if (in_array('file_wrong_size', $errors_found))
1406
-				$to_fix[] = 'file_wrong_size';
1407
-			if (in_array('wrong_folder', $errors_found))
1408
-				$to_fix[] = 'wrong_folder';
1447
+			if (in_array('file_missing_on_disk', $errors_found)) {
1448
+							$to_fix[] = 'file_missing_on_disk';
1449
+			}
1450
+			if (in_array('file_size_of_zero', $errors_found)) {
1451
+							$to_fix[] = 'file_size_of_zero';
1452
+			}
1453
+			if (in_array('file_wrong_size', $errors_found)) {
1454
+							$to_fix[] = 'file_wrong_size';
1455
+			}
1456
+			if (in_array('wrong_folder', $errors_found)) {
1457
+							$to_fix[] = 'wrong_folder';
1458
+			}
1409 1459
 			$smcFunc['db_free_result']($result);
1410 1460
 
1411 1461
 			// Do we need to delete what we have?
@@ -1475,20 +1525,22 @@  discard block
 block discarded – undo
1475 1525
 				// If we are repairing remove the file from disk now.
1476 1526
 				if ($fix_errors && in_array('avatar_no_member', $to_fix))
1477 1527
 				{
1478
-					if ($row['attachment_type'] == 1)
1479
-						$filename = $modSettings['custom_avatar_dir'] . '/' . $row['filename'];
1480
-					else
1481
-						$filename = getAttachmentFilename($row['filename'], $row['id_attach'], $row['id_folder'], false, $row['file_hash']);
1528
+					if ($row['attachment_type'] == 1) {
1529
+											$filename = $modSettings['custom_avatar_dir'] . '/' . $row['filename'];
1530
+					} else {
1531
+											$filename = getAttachmentFilename($row['filename'], $row['id_attach'], $row['id_folder'], false, $row['file_hash']);
1532
+					}
1482 1533
 					@unlink($filename);
1483 1534
 				}
1484 1535
 			}
1485
-			if ($smcFunc['db_num_rows']($result) != 0)
1486
-				$to_fix[] = 'avatar_no_member';
1536
+			if ($smcFunc['db_num_rows']($result) != 0) {
1537
+							$to_fix[] = 'avatar_no_member';
1538
+			}
1487 1539
 			$smcFunc['db_free_result']($result);
1488 1540
 
1489 1541
 			// Do we need to delete what we have?
1490
-			if ($fix_errors && !empty($to_remove) && in_array('avatar_no_member', $to_fix))
1491
-				$smcFunc['db_query']('', '
1542
+			if ($fix_errors && !empty($to_remove) && in_array('avatar_no_member', $to_fix)) {
1543
+							$smcFunc['db_query']('', '
1492 1544
 					DELETE FROM {db_prefix}attachments
1493 1545
 					WHERE id_attach IN ({array_int:to_remove})
1494 1546
 						AND id_member != {int:no_member}
@@ -1499,6 +1551,7 @@  discard block
 block discarded – undo
1499 1551
 						'no_msg' => 0,
1500 1552
 					)
1501 1553
 				);
1554
+			}
1502 1555
 
1503 1556
 			pauseAttachmentMaintenance($to_fix, $thumbnails);
1504 1557
 		}
@@ -1554,13 +1607,14 @@  discard block
 block discarded – undo
1554 1607
 					@unlink($filename);
1555 1608
 				}
1556 1609
 			}
1557
-			if ($smcFunc['db_num_rows']($result) != 0)
1558
-				$to_fix[] = 'attachment_no_msg';
1610
+			if ($smcFunc['db_num_rows']($result) != 0) {
1611
+							$to_fix[] = 'attachment_no_msg';
1612
+			}
1559 1613
 			$smcFunc['db_free_result']($result);
1560 1614
 
1561 1615
 			// Do we need to delete what we have?
1562
-			if ($fix_errors && !empty($to_remove) && in_array('attachment_no_msg', $to_fix))
1563
-				$smcFunc['db_query']('', '
1616
+			if ($fix_errors && !empty($to_remove) && in_array('attachment_no_msg', $to_fix)) {
1617
+							$smcFunc['db_query']('', '
1564 1618
 					DELETE FROM {db_prefix}attachments
1565 1619
 					WHERE id_attach IN ({array_int:to_remove})
1566 1620
 						AND id_member = {int:no_member}
@@ -1571,6 +1625,7 @@  discard block
 block discarded – undo
1571 1625
 						'no_msg' => 0,
1572 1626
 					)
1573 1627
 				);
1628
+			}
1574 1629
 
1575 1630
 			pauseAttachmentMaintenance($to_fix, $thumbnails);
1576 1631
 		}
@@ -1594,8 +1649,9 @@  discard block
 block discarded – undo
1594 1649
 			{
1595 1650
 				while ($file = readdir($dir))
1596 1651
 				{
1597
-					if (in_array($file, array('.', '..', '.htaccess', 'index.php')))
1598
-						continue;
1652
+					if (in_array($file, array('.', '..', '.htaccess', 'index.php'))) {
1653
+											continue;
1654
+					}
1599 1655
 
1600 1656
 					if ($files_checked <= $current_check)
1601 1657
 					{
@@ -1603,8 +1659,9 @@  discard block
 block discarded – undo
1603 1659
 						if (strpos($file, 'post_tmp_') !== false)
1604 1660
 						{
1605 1661
 							// Temp file is more than 5 hours old!
1606
-							if (filemtime($attach_dir . '/' . $file) < time() - 18000)
1607
-								@unlink($attach_dir . '/' . $file);
1662
+							if (filemtime($attach_dir . '/' . $file) < time() - 18000) {
1663
+															@unlink($attach_dir . '/' . $file);
1664
+							}
1608 1665
 						}
1609 1666
 						// That should be an attachment, let's check if we have it in the database
1610 1667
 						elseif (strpos($file, '_') !== false)
@@ -1626,8 +1683,7 @@  discard block
 block discarded – undo
1626 1683
 									if ($fix_errors && in_array('files_without_attachment', $to_fix))
1627 1684
 									{
1628 1685
 										@unlink($attach_dir . '/' . $file);
1629
-									}
1630
-									else
1686
+									} else
1631 1687
 									{
1632 1688
 										$context['repair_errors']['files_without_attachment']++;
1633 1689
 										$to_fix[] = 'files_without_attachment';
@@ -1635,14 +1691,12 @@  discard block
 block discarded – undo
1635 1691
 								}
1636 1692
 								$smcFunc['db_free_result']($request);
1637 1693
 							}
1638
-						}
1639
-						else
1694
+						} else
1640 1695
 						{
1641 1696
 							if ($fix_errors && in_array('files_without_attachment', $to_fix))
1642 1697
 							{
1643 1698
 								@unlink($attach_dir . '/' . $file);
1644
-							}
1645
-							else
1699
+							} else
1646 1700
 							{
1647 1701
 								$context['repair_errors']['files_without_attachment']++;
1648 1702
 								$to_fix[] = 'files_without_attachment';
@@ -1651,8 +1705,9 @@  discard block
 block discarded – undo
1651 1705
 					}
1652 1706
 					$current_check++;
1653 1707
 					$_GET['substep'] = $current_check;
1654
-					if ($current_check - $files_checked >= $max_checks)
1655
-						pauseAttachmentMaintenance($to_fix);
1708
+					if ($current_check - $files_checked >= $max_checks) {
1709
+											pauseAttachmentMaintenance($to_fix);
1710
+					}
1656 1711
 				}
1657 1712
 				closedir($dir);
1658 1713
 			}
@@ -1688,12 +1743,14 @@  discard block
 block discarded – undo
1688 1743
 
1689 1744
 	// Try get more time...
1690 1745
 	@set_time_limit(600);
1691
-	if (function_exists('apache_reset_timeout'))
1692
-		@apache_reset_timeout();
1746
+	if (function_exists('apache_reset_timeout')) {
1747
+			@apache_reset_timeout();
1748
+	}
1693 1749
 
1694 1750
 	// Have we already used our maximum time?
1695
-	if (time() - array_sum(explode(' ', $time_start)) < 3 || $context['starting_substep'] == $_GET['substep'])
1696
-		return;
1751
+	if (time() - array_sum(explode(' ', $time_start)) < 3 || $context['starting_substep'] == $_GET['substep']) {
1752
+			return;
1753
+	}
1697 1754
 
1698 1755
 	$context['continue_get_data'] = '?action=admin;area=manageattachments;sa=repair' . (isset($_GET['fixErrors']) ? ';fixErrors' : '') . ';step=' . $_GET['step'] . ';substep=' . $_GET['substep'] . ';' . $context['session_var'] . '=' . $context['session_id'];
1699 1756
 	$context['page_title'] = $txt['not_done_title'];
@@ -1705,10 +1762,11 @@  discard block
 block discarded – undo
1705 1762
 	$context[$context['admin_menu_name']]['current_subsection'] = 'maintenance';
1706 1763
 
1707 1764
 	// Change these two if more steps are added!
1708
-	if (empty($max_substep))
1709
-		$context['continue_percent'] = round(($_GET['step'] * 100) / 25);
1710
-	else
1711
-		$context['continue_percent'] = round(($_GET['step'] * 100 + ($_GET['substep'] * 100) / $max_substep) / 25);
1765
+	if (empty($max_substep)) {
1766
+			$context['continue_percent'] = round(($_GET['step'] * 100) / 25);
1767
+	} else {
1768
+			$context['continue_percent'] = round(($_GET['step'] * 100 + ($_GET['substep'] * 100) / $max_substep) / 25);
1769
+	}
1712 1770
 
1713 1771
 	// Never more than 100%!
1714 1772
 	$context['continue_percent'] = min($context['continue_percent'], 100);
@@ -1750,15 +1808,17 @@  discard block
 block discarded – undo
1750 1808
 				'attachment_type' => 0,
1751 1809
 			)
1752 1810
 		);
1753
-		while ($row = $smcFunc['db_fetch_assoc']($request))
1754
-			$attachments[] = $row['id_attach'];
1811
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
1812
+					$attachments[] = $row['id_attach'];
1813
+		}
1755 1814
 		$smcFunc['db_free_result']($request);
1815
+	} elseif (!empty($_GET['aid'])) {
1816
+			$attachments[] = (int) $_GET['aid'];
1756 1817
 	}
1757
-	elseif (!empty($_GET['aid']))
1758
-		$attachments[] = (int) $_GET['aid'];
1759 1818
 
1760
-	if (empty($attachments))
1761
-		fatal_lang_error('no_access', false);
1819
+	if (empty($attachments)) {
1820
+			fatal_lang_error('no_access', false);
1821
+	}
1762 1822
 
1763 1823
 	// Now we have some ID's cleaned and ready to approve, but first - let's check we have permission!
1764 1824
 	$allowed_boards = boardsAllowedTo('approve_posts');
@@ -1791,17 +1851,18 @@  discard block
 block discarded – undo
1791 1851
 	}
1792 1852
 	$smcFunc['db_free_result']($request);
1793 1853
 
1794
-	if (empty($attachments))
1795
-		fatal_lang_error('no_access', false);
1854
+	if (empty($attachments)) {
1855
+			fatal_lang_error('no_access', false);
1856
+	}
1796 1857
 
1797 1858
 	// Finally, we are there. Follow through!
1798 1859
 	if ($is_approve)
1799 1860
 	{
1800 1861
 		// Checked and deemed worthy.
1801 1862
 		ApproveAttachments($attachments);
1863
+	} else {
1864
+			removeAttachments(array('id_attach' => $attachments, 'do_logging' => true));
1802 1865
 	}
1803
-	else
1804
-		removeAttachments(array('id_attach' => $attachments, 'do_logging' => true));
1805 1866
 
1806 1867
 	// Return to the topic....
1807 1868
 	redirectexit($redirect);
@@ -1817,8 +1878,9 @@  discard block
 block discarded – undo
1817 1878
 {
1818 1879
 	global $smcFunc;
1819 1880
 
1820
-	if (empty($attachments))
1821
-		return 0;
1881
+	if (empty($attachments)) {
1882
+			return 0;
1883
+	}
1822 1884
 
1823 1885
 	// For safety, check for thumbnails...
1824 1886
 	$request = $smcFunc['db_query']('', '
@@ -1837,15 +1899,17 @@  discard block
 block discarded – undo
1837 1899
 	while ($row = $smcFunc['db_fetch_assoc']($request))
1838 1900
 	{
1839 1901
 		// Update the thumbnail too...
1840
-		if (!empty($row['id_thumb']))
1841
-			$attachments[] = $row['id_thumb'];
1902
+		if (!empty($row['id_thumb'])) {
1903
+					$attachments[] = $row['id_thumb'];
1904
+		}
1842 1905
 
1843 1906
 		$attachments[] = $row['id_attach'];
1844 1907
 	}
1845 1908
 	$smcFunc['db_free_result']($request);
1846 1909
 
1847
-	if (empty($attachments))
1848
-		return 0;
1910
+	if (empty($attachments)) {
1911
+			return 0;
1912
+	}
1849 1913
 
1850 1914
 	// Approving an attachment is not hard - it's easy.
1851 1915
 	$smcFunc['db_query']('', '
@@ -1871,14 +1935,15 @@  discard block
 block discarded – undo
1871 1935
 		)
1872 1936
 	);
1873 1937
 
1874
-	while ($row = $smcFunc['db_fetch_assoc']($request))
1875
-		logAction(
1938
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1939
+			logAction(
1876 1940
 			'approve_attach',
1877 1941
 			array(
1878 1942
 				'message' => $row['id_msg'],
1879 1943
 				'filename' => preg_replace('~&amp;#(\\d{1,7}|x[0-9a-fA-F]{1,6});~', '&#\\1;', $smcFunc['htmlspecialchars']($row['filename'])),
1880 1944
 			)
1881 1945
 		);
1946
+	}
1882 1947
 	$smcFunc['db_free_result']($request);
1883 1948
 
1884 1949
 	// Remove from the approval queue.
@@ -1901,11 +1966,11 @@  discard block
 block discarded – undo
1901 1966
 	global $modSettings, $scripturl, $context, $txt, $sourcedir, $boarddir, $smcFunc, $settings;
1902 1967
 
1903 1968
 	// Since this needs to be done eventually.
1904
-	if (!isset($modSettings['attachment_basedirectories']))
1905
-		$modSettings['attachment_basedirectories'] = array();
1906
-
1907
-	elseif (!is_array($modSettings['attachment_basedirectories']))
1908
-		$modSettings['attachment_basedirectories'] = smf_json_decode($modSettings['attachment_basedirectories'], true);
1969
+	if (!isset($modSettings['attachment_basedirectories'])) {
1970
+			$modSettings['attachment_basedirectories'] = array();
1971
+	} elseif (!is_array($modSettings['attachment_basedirectories'])) {
1972
+			$modSettings['attachment_basedirectories'] = smf_json_decode($modSettings['attachment_basedirectories'], true);
1973
+	}
1909 1974
 
1910 1975
 	$errors = array();
1911 1976
 
@@ -1920,8 +1985,9 @@  discard block
 block discarded – undo
1920 1985
 		{
1921 1986
 			$error = '';
1922 1987
 			$id = (int) $id;
1923
-			if ($id < 1)
1924
-				continue;
1988
+			if ($id < 1) {
1989
+							continue;
1990
+			}
1925 1991
 
1926 1992
 			// Sorry, these dirs are NOT valid
1927 1993
 			$invalid_dirs = array($boarddir, $settings['default_theme_dir'], $sourcedir);
@@ -1940,8 +2006,7 @@  discard block
 block discarded – undo
1940 2006
 				{
1941 2007
 						$errors[] = $path . ': ' . $txt['attach_dir_duplicate_msg'];
1942 2008
 						continue;
1943
-				}
1944
-				elseif (empty($path))
2009
+				} elseif (empty($path))
1945 2010
 				{
1946 2011
 					// Ignore this and set $id to one less
1947 2012
 					continue;
@@ -1949,10 +2014,11 @@  discard block
 block discarded – undo
1949 2014
 
1950 2015
 				// OK, so let's try to create it then.
1951 2016
 				require_once($sourcedir . '/Subs-Attachments.php');
1952
-				if (automanage_attachments_create_directory($path))
1953
-					$_POST['current_dir'] = $modSettings['currentAttachmentUploadDir'];
1954
-				else
1955
-					$errors[] = $path . ': ' . $txt[$context['dir_creation_error']];
2017
+				if (automanage_attachments_create_directory($path)) {
2018
+									$_POST['current_dir'] = $modSettings['currentAttachmentUploadDir'];
2019
+				} else {
2020
+									$errors[] = $path . ': ' . $txt[$context['dir_creation_error']];
2021
+				}
1956 2022
 			}
1957 2023
 
1958 2024
 			// Changing a directory name?
@@ -1965,8 +2031,7 @@  discard block
 block discarded – undo
1965 2031
 						$errors[] = $path . ': ' . $txt['attach_dir_no_rename'];
1966 2032
 						$path = $modSettings['attachmentUploadDir'][$id];
1967 2033
 					}
1968
-				}
1969
-				else
2034
+				} else
1970 2035
 				{
1971 2036
 					$errors[] = $path . ': ' . $txt['attach_dir_exists_msg'];
1972 2037
 					$path = $modSettings['attachmentUploadDir'][$id];
@@ -1991,12 +2056,13 @@  discard block
 block discarded – undo
1991 2056
 				$path = $modSettings['attachmentUploadDir'][$id];
1992 2057
 
1993 2058
 				// It's not a good idea to delete the current directory.
1994
-				if ($id == (!empty($_POST['current_dir']) ? $_POST['current_dir'] : $modSettings['currentAttachmentUploadDir']))
1995
-					$errors[] = $path . ': ' . $txt['attach_dir_is_current'];
2059
+				if ($id == (!empty($_POST['current_dir']) ? $_POST['current_dir'] : $modSettings['currentAttachmentUploadDir'])) {
2060
+									$errors[] = $path . ': ' . $txt['attach_dir_is_current'];
2061
+				}
1996 2062
 				// Or the current base directory
1997
-				elseif (!empty($modSettings['basedirectory_for_attachments']) && $modSettings['basedirectory_for_attachments'] == $modSettings['attachmentUploadDir'][$id])
1998
-					$errors[] = $path . ': ' . $txt['attach_dir_is_current_bd'];
1999
-				else
2063
+				elseif (!empty($modSettings['basedirectory_for_attachments']) && $modSettings['basedirectory_for_attachments'] == $modSettings['attachmentUploadDir'][$id]) {
2064
+									$errors[] = $path . ': ' . $txt['attach_dir_is_current_bd'];
2065
+				} else
2000 2066
 				{
2001 2067
 					// Let's not try to delete a path with files in it.
2002 2068
 					$request = $smcFunc['db_query']('', '
@@ -2015,17 +2081,18 @@  discard block
 block discarded – undo
2015 2081
 					if (!empty($modSettings['attachment_basedirectories']))
2016 2082
 					{
2017 2083
 						// Count any sub-folders.
2018
-						foreach ($modSettings['attachmentUploadDir'] as $sub)
2019
-							if (strpos($sub, $path . DIRECTORY_SEPARATOR) !== false)
2084
+						foreach ($modSettings['attachmentUploadDir'] as $sub) {
2085
+													if (strpos($sub, $path . DIRECTORY_SEPARATOR) !== false)
2020 2086
 								$num_attach++;
2087
+						}
2021 2088
 					}
2022 2089
 
2023 2090
 					// It's safe to delete. So try to delete the folder also
2024 2091
 					if ($num_attach == 0)
2025 2092
 					{
2026
-						if (is_dir($path))
2027
-							$doit = true;
2028
-						elseif (is_dir($boarddir . DIRECTORY_SEPARATOR . $path))
2093
+						if (is_dir($path)) {
2094
+													$doit = true;
2095
+						} elseif (is_dir($boarddir . DIRECTORY_SEPARATOR . $path))
2029 2096
 						{
2030 2097
 							$doit = true;
2031 2098
 							$path = $boarddir . DIRECTORY_SEPARATOR . $path;
@@ -2035,8 +2102,9 @@  discard block
 block discarded – undo
2035 2102
 						{
2036 2103
 							unlink($path . '/.htaccess');
2037 2104
 							unlink($path . '/index.php');
2038
-							if (!@rmdir($path))
2039
-								$error = $path . ': ' . $txt['attach_dir_no_delete'];
2105
+							if (!@rmdir($path)) {
2106
+															$error = $path . ': ' . $txt['attach_dir_no_delete'];
2107
+							}
2040 2108
 						}
2041 2109
 
2042 2110
 						// Remove it from the base directory list.
@@ -2046,14 +2114,15 @@  discard block
 block discarded – undo
2046 2114
 							updateSettings(array('attachment_basedirectories' => json_encode($modSettings['attachment_basedirectories'])));
2047 2115
 							$modSettings['attachment_basedirectories'] = smf_json_decode($modSettings['attachment_basedirectories'], true);
2048 2116
 						}
2117
+					} else {
2118
+											$error = $path . ': ' . $txt['attach_dir_no_remove'];
2049 2119
 					}
2050
-					else
2051
-						$error = $path . ': ' . $txt['attach_dir_no_remove'];
2052 2120
 
2053
-					if (empty($error))
2054
-						continue;
2055
-					else
2056
-						$errors[] = $error;
2121
+					if (empty($error)) {
2122
+											continue;
2123
+					} else {
2124
+											$errors[] = $error;
2125
+					}
2057 2126
 				}
2058 2127
 			}
2059 2128
 
@@ -2061,23 +2130,26 @@  discard block
 block discarded – undo
2061 2130
 		}
2062 2131
 
2063 2132
 		// We need to make sure the current directory is right.
2064
-		if (empty($_POST['current_dir']) && !empty($modSettings['currentAttachmentUploadDir']))
2065
-			$_POST['current_dir'] = $modSettings['currentAttachmentUploadDir'];
2133
+		if (empty($_POST['current_dir']) && !empty($modSettings['currentAttachmentUploadDir'])) {
2134
+					$_POST['current_dir'] = $modSettings['currentAttachmentUploadDir'];
2135
+		}
2066 2136
 
2067 2137
 		// Find the current directory if there's no value carried,
2068 2138
 		if (empty($_POST['current_dir']) || empty($new_dirs[$_POST['current_dir']]))
2069 2139
 		{
2070
-			if (array_key_exists($modSettings['currentAttachmentUploadDir'], $modSettings['attachmentUploadDir']))
2071
-				$_POST['current_dir'] = $modSettings['currentAttachmentUploadDir'];
2072
-			else
2073
-				$_POST['current_dir'] = max(array_keys($modSettings['attachmentUploadDir']));
2140
+			if (array_key_exists($modSettings['currentAttachmentUploadDir'], $modSettings['attachmentUploadDir'])) {
2141
+							$_POST['current_dir'] = $modSettings['currentAttachmentUploadDir'];
2142
+			} else {
2143
+							$_POST['current_dir'] = max(array_keys($modSettings['attachmentUploadDir']));
2144
+			}
2074 2145
 		}
2075 2146
 
2076 2147
 		// If the user wishes to go back, update the last_dir array
2077 2148
 		if ($_POST['current_dir'] != $modSettings['currentAttachmentUploadDir'] && !empty($modSettings['last_attachments_directory']) && (isset($modSettings['last_attachments_directory'][$_POST['current_dir']]) || isset($modSettings['last_attachments_directory'][0])))
2078 2149
 		{
2079
-			if (!is_array($modSettings['last_attachments_directory']))
2080
-				$modSettings['last_attachments_directory'] = smf_json_decode($modSettings['last_attachments_directory'], true);
2150
+			if (!is_array($modSettings['last_attachments_directory'])) {
2151
+							$modSettings['last_attachments_directory'] = smf_json_decode($modSettings['last_attachments_directory'], true);
2152
+			}
2081 2153
 			$num = substr(strrchr($modSettings['attachmentUploadDir'][$_POST['current_dir']], '_'), 1);
2082 2154
 
2083 2155
 			if (is_numeric($num))
@@ -2085,16 +2157,18 @@  discard block
 block discarded – undo
2085 2157
 				// Need to find the base folder.
2086 2158
 				$bid = -1;
2087 2159
 				$use_subdirectories_for_attachments = 0;
2088
-				if (!empty($modSettings['attachment_basedirectories']))
2089
-					foreach ($modSettings['attachment_basedirectories'] as $bid => $base)
2160
+				if (!empty($modSettings['attachment_basedirectories'])) {
2161
+									foreach ($modSettings['attachment_basedirectories'] as $bid => $base)
2090 2162
 						if (strpos($modSettings['attachmentUploadDir'][$_POST['current_dir']], $base . DIRECTORY_SEPARATOR) !== false)
2091 2163
 						{
2092 2164
 							$use_subdirectories_for_attachments = 1;
2165
+				}
2093 2166
 							break;
2094 2167
 						}
2095 2168
 
2096
-				if ($use_subdirectories_for_attachments == 0 && strpos($modSettings['attachmentUploadDir'][$_POST['current_dir']], $boarddir . DIRECTORY_SEPARATOR) !== false)
2097
-					$bid = 0;
2169
+				if ($use_subdirectories_for_attachments == 0 && strpos($modSettings['attachmentUploadDir'][$_POST['current_dir']], $boarddir . DIRECTORY_SEPARATOR) !== false) {
2170
+									$bid = 0;
2171
+				}
2098 2172
 
2099 2173
 				$modSettings['last_attachments_directory'][$bid] = (int) $num;
2100 2174
 				$modSettings['basedirectory_for_attachments'] = !empty($modSettings['basedirectory_for_attachments']) ? $modSettings['basedirectory_for_attachments'] : '';
@@ -2113,8 +2187,8 @@  discard block
 block discarded – undo
2113 2187
 			// We might need to reset the paths. This loop will just loop through once.
2114 2188
 			foreach ($new_dirs as $id => $dir)
2115 2189
 			{
2116
-				if ($id != 1)
2117
-					$smcFunc['db_query']('', '
2190
+				if ($id != 1) {
2191
+									$smcFunc['db_query']('', '
2118 2192
 						UPDATE {db_prefix}attachments
2119 2193
 						SET id_folder = {int:default_folder}
2120 2194
 						WHERE id_folder = {int:current_folder}',
@@ -2123,14 +2197,14 @@  discard block
 block discarded – undo
2123 2197
 							'current_folder' => $id,
2124 2198
 						)
2125 2199
 					);
2200
+				}
2126 2201
 
2127 2202
 				$update = array(
2128 2203
 					'currentAttachmentUploadDir' => 1,
2129 2204
 					'attachmentUploadDir' => json_encode(array(1 => $dir)),
2130 2205
 				);
2131 2206
 			}
2132
-		}
2133
-		else
2207
+		} else
2134 2208
 		{
2135 2209
 			// Save it to the database.
2136 2210
 			$update = array(
@@ -2139,11 +2213,13 @@  discard block
 block discarded – undo
2139 2213
 			);
2140 2214
 		}
2141 2215
 
2142
-		if (!empty($update))
2143
-			updateSettings($update);
2216
+		if (!empty($update)) {
2217
+					updateSettings($update);
2218
+		}
2144 2219
 
2145
-		if (!empty($errors))
2146
-			$_SESSION['errors']['dir'] = $errors;
2220
+		if (!empty($errors)) {
2221
+					$_SESSION['errors']['dir'] = $errors;
2222
+		}
2147 2223
 
2148 2224
 		redirectexit('action=admin;area=manageattachments;sa=attachpaths;' . $context['session_var'] . '=' . $context['session_id']);
2149 2225
 	}
@@ -2157,10 +2233,11 @@  discard block
 block discarded – undo
2157 2233
 		$_POST['current_base_dir'] = isset($_POST['current_base_dir']) ? (int) $_POST['current_base_dir'] : 1;
2158 2234
 		if (empty($_POST['new_base_dir']) && !empty($_POST['current_base_dir']))
2159 2235
 		{
2160
-			if ($modSettings['basedirectory_for_attachments'] != $modSettings['attachmentUploadDir'][$_POST['current_base_dir']])
2161
-				$update = (array(
2236
+			if ($modSettings['basedirectory_for_attachments'] != $modSettings['attachmentUploadDir'][$_POST['current_base_dir']]) {
2237
+							$update = (array(
2162 2238
 					'basedirectory_for_attachments' => $modSettings['attachmentUploadDir'][$_POST['current_base_dir']],
2163 2239
 				));
2240
+			}
2164 2241
 		}
2165 2242
 
2166 2243
 		if (isset($_POST['base_dir']))
@@ -2208,13 +2285,15 @@  discard block
 block discarded – undo
2208 2285
 
2209 2286
 			if (!in_array($_POST['new_base_dir'], $modSettings['attachmentUploadDir']))
2210 2287
 			{
2211
-				if (!automanage_attachments_create_directory($_POST['new_base_dir']))
2212
-					$errors[] = $_POST['new_base_dir'] . ': ' . $txt['attach_dir_base_no_create'];
2288
+				if (!automanage_attachments_create_directory($_POST['new_base_dir'])) {
2289
+									$errors[] = $_POST['new_base_dir'] . ': ' . $txt['attach_dir_base_no_create'];
2290
+				}
2213 2291
 			}
2214 2292
 
2215 2293
 			$modSettings['currentAttachmentUploadDir'] = array_search($_POST['new_base_dir'], $modSettings['attachmentUploadDir']);
2216
-			if (!in_array($_POST['new_base_dir'], $modSettings['attachment_basedirectories']))
2217
-				$modSettings['attachment_basedirectories'][$modSettings['currentAttachmentUploadDir']] = $_POST['new_base_dir'];
2294
+			if (!in_array($_POST['new_base_dir'], $modSettings['attachment_basedirectories'])) {
2295
+							$modSettings['attachment_basedirectories'][$modSettings['currentAttachmentUploadDir']] = $_POST['new_base_dir'];
2296
+			}
2218 2297
 			ksort($modSettings['attachment_basedirectories']);
2219 2298
 
2220 2299
 			$update = (array(
@@ -2224,11 +2303,13 @@  discard block
 block discarded – undo
2224 2303
 			));
2225 2304
 		}
2226 2305
 
2227
-		if (!empty($errors))
2228
-			$_SESSION['errors']['base'] = $errors;
2306
+		if (!empty($errors)) {
2307
+					$_SESSION['errors']['base'] = $errors;
2308
+		}
2229 2309
 
2230
-		if (!empty($update))
2231
-			updateSettings($update);
2310
+		if (!empty($update)) {
2311
+					updateSettings($update);
2312
+		}
2232 2313
 
2233 2314
 		redirectexit('action=admin;area=manageattachments;sa=attachpaths;' . $context['session_var'] . '=' . $context['session_id']);
2234 2315
 	}
@@ -2238,13 +2319,15 @@  discard block
 block discarded – undo
2238 2319
 		if (is_array($_SESSION['errors']))
2239 2320
 		{
2240 2321
 			$errors = array();
2241
-			if (!empty($_SESSION['errors']['dir']))
2242
-				foreach ($_SESSION['errors']['dir'] as $error)
2322
+			if (!empty($_SESSION['errors']['dir'])) {
2323
+							foreach ($_SESSION['errors']['dir'] as $error)
2243 2324
 					$errors['dir'][] = $smcFunc['htmlspecialchars']($error, ENT_QUOTES);
2325
+			}
2244 2326
 
2245
-			if (!empty($_SESSION['errors']['base']))
2246
-				foreach ($_SESSION['errors']['base'] as $error)
2327
+			if (!empty($_SESSION['errors']['base'])) {
2328
+							foreach ($_SESSION['errors']['base'] as $error)
2247 2329
 					$errors['base'][] = $smcFunc['htmlspecialchars']($error, ENT_QUOTES);
2330
+			}
2248 2331
 		}
2249 2332
 		unset($_SESSION['errors']);
2250 2333
 	}
@@ -2454,8 +2537,9 @@  discard block
 block discarded – undo
2454 2537
 	foreach ($modSettings['attachmentUploadDir'] as $id => $dir)
2455 2538
 	{
2456 2539
 		// If there aren't any attachments in this directory this won't exist.
2457
-		if (!isset($expected_files[$id]))
2458
-			$expected_files[$id] = 0;
2540
+		if (!isset($expected_files[$id])) {
2541
+					$expected_files[$id] = 0;
2542
+		}
2459 2543
 
2460 2544
 		// Check if the directory is doing okay.
2461 2545
 		list ($status, $error, $files) = attachDirStatus($dir, $expected_files[$id]);
@@ -2468,10 +2552,11 @@  discard block
 block discarded – undo
2468 2552
 			$is_base_dir = in_array($dir, $modSettings['attachment_basedirectories']);
2469 2553
 
2470 2554
 			// Count any sub-folders.
2471
-			foreach ($modSettings['attachmentUploadDir'] as $sid => $sub)
2472
-				if (strpos($sub, $dir . DIRECTORY_SEPARATOR) !== false)
2555
+			foreach ($modSettings['attachmentUploadDir'] as $sid => $sub) {
2556
+							if (strpos($sub, $dir . DIRECTORY_SEPARATOR) !== false)
2473 2557
 				{
2474 2558
 					$expected_files[$id]++;
2559
+			}
2475 2560
 					$sub_dirs++;
2476 2561
 				}
2477 2562
 		}
@@ -2489,8 +2574,8 @@  discard block
 block discarded – undo
2489 2574
 	}
2490 2575
 
2491 2576
 	// Just stick a new directory on at the bottom.
2492
-	if (isset($_REQUEST['new_path']))
2493
-		$attachdirs[] = array(
2577
+	if (isset($_REQUEST['new_path'])) {
2578
+			$attachdirs[] = array(
2494 2579
 			'id' => max(array_merge(array_keys($expected_files), array_keys($modSettings['attachmentUploadDir']))) + 1,
2495 2580
 			'current' => false,
2496 2581
 			'path' => '',
@@ -2498,6 +2583,7 @@  discard block
 block discarded – undo
2498 2583
 			'num_files' => '',
2499 2584
 			'status' => '',
2500 2585
 		);
2586
+	}
2501 2587
 
2502 2588
 	return $attachdirs;
2503 2589
 }
@@ -2510,8 +2596,9 @@  discard block
 block discarded – undo
2510 2596
 {
2511 2597
 	global $modSettings, $txt;
2512 2598
 
2513
-	if (empty($modSettings['attachment_basedirectories']))
2514
-		return;
2599
+	if (empty($modSettings['attachment_basedirectories'])) {
2600
+			return;
2601
+	}
2515 2602
 
2516 2603
 	$basedirs = array();
2517 2604
 	// Get a list of the base directories.
@@ -2519,16 +2606,18 @@  discard block
 block discarded – undo
2519 2606
 	{
2520 2607
 		// Loop through the attach directory array to count any sub-directories
2521 2608
 		$expected_dirs = 0;
2522
-		foreach ($modSettings['attachmentUploadDir'] as $sid => $sub)
2523
-			if (strpos($sub, $dir . DIRECTORY_SEPARATOR) !== false)
2609
+		foreach ($modSettings['attachmentUploadDir'] as $sid => $sub) {
2610
+					if (strpos($sub, $dir . DIRECTORY_SEPARATOR) !== false)
2524 2611
 				$expected_dirs++;
2612
+		}
2525 2613
 
2526
-		if (!is_dir($dir))
2527
-			$status = 'does_not_exist';
2528
-		elseif (!is_writeable($dir))
2529
-			$status = 'not_writable';
2530
-		else
2531
-			$status = 'ok';
2614
+		if (!is_dir($dir)) {
2615
+					$status = 'does_not_exist';
2616
+		} elseif (!is_writeable($dir)) {
2617
+					$status = 'not_writable';
2618
+		} else {
2619
+					$status = 'ok';
2620
+		}
2532 2621
 
2533 2622
 		$basedirs[] = array(
2534 2623
 			'id' => $id,
@@ -2539,14 +2628,15 @@  discard block
 block discarded – undo
2539 2628
 		);
2540 2629
 	}
2541 2630
 
2542
-	if (isset($_REQUEST['new_base_path']))
2543
-		$basedirs[] = array(
2631
+	if (isset($_REQUEST['new_base_path'])) {
2632
+			$basedirs[] = array(
2544 2633
 			'id' => '',
2545 2634
 			'current' => false,
2546 2635
 			'path' => '<input type="text" name="new_base_dir" value="" size="40">',
2547 2636
 			'num_dirs' => '',
2548 2637
 			'status' => '',
2549 2638
 		);
2639
+	}
2550 2640
 
2551 2641
 	return $basedirs;
2552 2642
 }
@@ -2562,10 +2652,11 @@  discard block
 block discarded – undo
2562 2652
  */
2563 2653
 function attachDirStatus($dir, $expected_files)
2564 2654
 {
2565
-	if (!is_dir($dir))
2566
-		return array('does_not_exist', true, '');
2567
-	elseif (!is_writable($dir))
2568
-		return array('not_writable', true, '');
2655
+	if (!is_dir($dir)) {
2656
+			return array('does_not_exist', true, '');
2657
+	} elseif (!is_writable($dir)) {
2658
+			return array('not_writable', true, '');
2659
+	}
2569 2660
 
2570 2661
 	// Everything is okay so far, start to scan through the directory.
2571 2662
 	$num_files = 0;
@@ -2573,22 +2664,26 @@  discard block
 block discarded – undo
2573 2664
 	while ($file = $dir_handle->read())
2574 2665
 	{
2575 2666
 		// Now do we have a real file here?
2576
-		if (in_array($file, array('.', '..', '.htaccess', 'index.php')))
2577
-			continue;
2667
+		if (in_array($file, array('.', '..', '.htaccess', 'index.php'))) {
2668
+					continue;
2669
+		}
2578 2670
 
2579 2671
 		$num_files++;
2580 2672
 	}
2581 2673
 	$dir_handle->close();
2582 2674
 
2583
-	if ($num_files < $expected_files)
2584
-		return array('files_missing', true, $num_files);
2675
+	if ($num_files < $expected_files) {
2676
+			return array('files_missing', true, $num_files);
2677
+	}
2585 2678
 	// Empty?
2586
-	elseif ($expected_files == 0)
2587
-		return array('unused', false, $num_files);
2679
+	elseif ($expected_files == 0) {
2680
+			return array('unused', false, $num_files);
2681
+	}
2588 2682
 	// All good!
2589
-	else
2590
-		return array('ok', false, $num_files);
2591
-}
2683
+	else {
2684
+			return array('ok', false, $num_files);
2685
+	}
2686
+	}
2592 2687
 
2593 2688
 /**
2594 2689
  * Maintance function to move attachments from one directory to another
@@ -2600,10 +2695,11 @@  discard block
 block discarded – undo
2600 2695
 	checkSession();
2601 2696
 
2602 2697
 	$modSettings['attachmentUploadDir'] = smf_json_decode($modSettings['attachmentUploadDir'], true);
2603
-	if (!empty($modSettings['attachment_basedirectories']))
2604
-		$modSettings['attachment_basedirectories'] = smf_json_decode($modSettings['attachment_basedirectories'], true);
2605
-	else
2606
-		$modSettings['basedirectory_for_attachments'] = array();
2698
+	if (!empty($modSettings['attachment_basedirectories'])) {
2699
+			$modSettings['attachment_basedirectories'] = smf_json_decode($modSettings['attachment_basedirectories'], true);
2700
+	} else {
2701
+			$modSettings['basedirectory_for_attachments'] = array();
2702
+	}
2607 2703
 
2608 2704
 	$_POST['from'] = (int) $_POST['from'];
2609 2705
 	$_POST['auto'] = !empty($_POST['auto']) ? (int) $_POST['auto'] : 0;
@@ -2617,11 +2713,13 @@  discard block
 block discarded – undo
2617 2713
 	$total_moved = 0;
2618 2714
 	$total_not_moved = 0;
2619 2715
 
2620
-	if (empty($_POST['from']) || (empty($_POST['auto']) && empty($_POST['to'])))
2621
-		$results[] = $txt['attachment_transfer_no_dir'];
2716
+	if (empty($_POST['from']) || (empty($_POST['auto']) && empty($_POST['to']))) {
2717
+			$results[] = $txt['attachment_transfer_no_dir'];
2718
+	}
2622 2719
 
2623
-	if ($_POST['from'] == $_POST['to'])
2624
-		$results[] = $txt['attachment_transfer_same_dir'];
2720
+	if ($_POST['from'] == $_POST['to']) {
2721
+			$results[] = $txt['attachment_transfer_same_dir'];
2722
+	}
2625 2723
 
2626 2724
 	if (empty($results))
2627 2725
 	{
@@ -2640,8 +2738,9 @@  discard block
 block discarded – undo
2640 2738
 		$smcFunc['db_free_result']($request);
2641 2739
 		$total_progress -= $start;
2642 2740
 
2643
-		if ($total_progress < 1)
2644
-			$results[] = $txt['attachment_transfer_no_find'];
2741
+		if ($total_progress < 1) {
2742
+					$results[] = $txt['attachment_transfer_no_find'];
2743
+		}
2645 2744
 	}
2646 2745
 
2647 2746
 	if (empty($results))
@@ -2657,9 +2756,9 @@  discard block
 block discarded – undo
2657 2756
 
2658 2757
 			automanage_attachments_check_directory();
2659 2758
 			$new_dir = $modSettings['currentAttachmentUploadDir'];
2759
+		} else {
2760
+					$new_dir = $_POST['to'];
2660 2761
 		}
2661
-		else
2662
-			$new_dir = $_POST['to'];
2663 2762
 
2664 2763
 		$modSettings['currentAttachmentUploadDir'] = $new_dir;
2665 2764
 
@@ -2667,8 +2766,9 @@  discard block
 block discarded – undo
2667 2766
 		while ($break == false)
2668 2767
 		{
2669 2768
 			@set_time_limit(300);
2670
-			if (function_exists('apache_reset_timeout'))
2671
-				@apache_reset_timeout();
2769
+			if (function_exists('apache_reset_timeout')) {
2770
+							@apache_reset_timeout();
2771
+			}
2672 2772
 
2673 2773
 			// If limits are set, get the file count and size for the destination folder
2674 2774
 			if ($dir_files <= 0 && (!empty($modSettings['attachmentDirSizeLimit']) || !empty($modSettings['attachmentDirFileLimit'])))
@@ -2704,13 +2804,15 @@  discard block
 block discarded – undo
2704 2804
 
2705 2805
 			if ($smcFunc['db_num_rows']($request) === 0)
2706 2806
 			{
2707
-				if (empty($current_progress))
2708
-					$results[] = $txt['attachment_transfer_no_find'];
2807
+				if (empty($current_progress)) {
2808
+									$results[] = $txt['attachment_transfer_no_find'];
2809
+				}
2709 2810
 				break;
2710 2811
 			}
2711 2812
 
2712
-			if ($smcFunc['db_num_rows']($request) < $limit)
2713
-				$break = true;
2813
+			if ($smcFunc['db_num_rows']($request) < $limit) {
2814
+							$break = true;
2815
+			}
2714 2816
 
2715 2817
 			// Move them
2716 2818
 			$moved = array();
@@ -2734,8 +2836,9 @@  discard block
 block discarded – undo
2734 2836
 							automanage_attachments_by_space();
2735 2837
 
2736 2838
 							$results[] = sprintf($txt['attachments_transferred'], $total_moved, $modSettings['attachmentUploadDir'][$new_dir]);
2737
-							if (!empty($total_not_moved))
2738
-								$results[] = sprintf($txt['attachments_not_transferred'], $total_not_moved);
2839
+							if (!empty($total_not_moved)) {
2840
+															$results[] = sprintf($txt['attachments_not_transferred'], $total_not_moved);
2841
+							}
2739 2842
 
2740 2843
 							$dir_files = 0;
2741 2844
 							$total_moved = 0;
@@ -2743,8 +2846,7 @@  discard block
 block discarded – undo
2743 2846
 
2744 2847
 							$break = false;
2745 2848
 							break;
2746
-						}
2747
-						else
2849
+						} else
2748 2850
 						{
2749 2851
 							// Hmm, not in auto. Time to bail out then...
2750 2852
 							$results[] = $txt['attachment_transfer_no_room'];
@@ -2759,9 +2861,9 @@  discard block
 block discarded – undo
2759 2861
 					$total_moved++;
2760 2862
 					$current_progress++;
2761 2863
 					$moved[] = $row['id_attach'];
2864
+				} else {
2865
+									$total_not_moved++;
2762 2866
 				}
2763
-				else
2764
-					$total_not_moved++;
2765 2867
 			}
2766 2868
 			$smcFunc['db_free_result']($request);
2767 2869
 
@@ -2800,13 +2902,15 @@  discard block
 block discarded – undo
2800 2902
 		}
2801 2903
 
2802 2904
 		$results[] = sprintf($txt['attachments_transferred'], $total_moved, $modSettings['attachmentUploadDir'][$new_dir]);
2803
-		if (!empty($total_not_moved))
2804
-			$results[] = sprintf($txt['attachments_not_transferred'], $total_not_moved);
2905
+		if (!empty($total_not_moved)) {
2906
+					$results[] = sprintf($txt['attachments_not_transferred'], $total_not_moved);
2907
+		}
2805 2908
 	}
2806 2909
 
2807 2910
 	$_SESSION['results'] = $results;
2808
-	if (file_exists($boarddir . '/progress.php'))
2809
-		unlink($boarddir . '/progress.php');
2911
+	if (file_exists($boarddir . '/progress.php')) {
2912
+			unlink($boarddir . '/progress.php');
2913
+	}
2810 2914
 
2811 2915
 	redirectexit('action=admin;area=manageattachments;sa=maintenance#transfer');
2812 2916
 }
Please login to merge, or discard this patch.
Sources/Subs-Sound.php 1 patch
Braces   +32 added lines, -20 removed lines patch added patch discarded remove patch
@@ -15,8 +15,9 @@  discard block
 block discarded – undo
15 15
  * @version 2.1 Beta 3
16 16
  */
17 17
 
18
-if (!defined('SMF'))
18
+if (!defined('SMF')) {
19 19
 	die('No direct access...');
20
+}
20 21
 
21 22
 /**
22 23
  * Creates a wave file that spells the letters of $word.
@@ -32,8 +33,9 @@  discard block
 block discarded – undo
32 33
 	global $settings, $user_info;
33 34
 
34 35
 	// Allow max 2 requests per 20 seconds.
35
-	if (($ip = cache_get_data('wave_file/' . $user_info['ip'], 20)) > 2 || ($ip2 = cache_get_data('wave_file/' . $user_info['ip2'], 20)) > 2)
36
-		die(header('HTTP/1.1 400 Bad Request'));
36
+	if (($ip = cache_get_data('wave_file/' . $user_info['ip'], 20)) > 2 || ($ip2 = cache_get_data('wave_file/' . $user_info['ip2'], 20)) > 2) {
37
+			die(header('HTTP/1.1 400 Bad Request'));
38
+	}
37 39
 	cache_put_data('wave_file/' . $user_info['ip'], $ip ? $ip + 1 : 1, 20);
38 40
 	cache_put_data('wave_file/' . $user_info['ip2'], $ip2 ? $ip2 + 1 : 1, 20);
39 41
 
@@ -41,16 +43,19 @@  discard block
 block discarded – undo
41 43
 	mt_srand(end(unpack('n', md5($word . session_id()))));
42 44
 
43 45
 	// Try to see if there's a sound font in the user's language.
44
-	if (file_exists($settings['default_theme_dir'] . '/fonts/sound/a.' . $user_info['language'] . '.wav'))
45
-		$sound_language = $user_info['language'];
46
+	if (file_exists($settings['default_theme_dir'] . '/fonts/sound/a.' . $user_info['language'] . '.wav')) {
47
+			$sound_language = $user_info['language'];
48
+	}
46 49
 
47 50
 	// English should be there.
48
-	elseif (file_exists($settings['default_theme_dir'] . '/fonts/sound/a.english.wav'))
49
-		$sound_language = 'english';
51
+	elseif (file_exists($settings['default_theme_dir'] . '/fonts/sound/a.english.wav')) {
52
+			$sound_language = 'english';
53
+	}
50 54
 
51 55
 	// Guess not...
52
-	else
53
-		return false;
56
+	else {
57
+			return false;
58
+	}
54 59
 
55 60
 	// File names are in lower case so lets make sure that we are only using a lower case string
56 61
 	$word = strtolower($word);
@@ -60,20 +65,25 @@  discard block
 block discarded – undo
60 65
 	for ($i = 0; $i < strlen($word); $i++)
61 66
 	{
62 67
 		$sound_letter = implode('', file($settings['default_theme_dir'] . '/fonts/sound/' . $word{$i} . '.' . $sound_language . '.wav'));
63
-		if (strpos($sound_letter, 'data') === false)
64
-			return false;
68
+		if (strpos($sound_letter, 'data') === false) {
69
+					return false;
70
+		}
65 71
 
66 72
 		$sound_letter = substr($sound_letter, strpos($sound_letter, 'data') + 8);
67 73
 		switch ($word{$i} === 's' ? 0 : mt_rand(0, 2))
68 74
 		{
69
-			case 0 : for ($j = 0, $n = strlen($sound_letter); $j < $n; $j++)
70
-					for ($k = 0, $m = round(mt_rand(15, 25) / 10); $k < $m; $k++)
71
-						$sound_word .= $word{$i} === 's' ? $sound_letter{$j} : chr(mt_rand(max(ord($sound_letter{$j}) - 1, 0x00), min(ord($sound_letter{$j}) + 1, 0xFF)));
75
+			case 0 : for ($j = 0, $n = strlen($sound_letter); $j < $n; $j++) {
76
+								for ($k = 0, $m = round(mt_rand(15, 25) / 10);
77
+			}
78
+			$k < $m; $k++) {
79
+											$sound_word .= $word{$i} === 's' ? $sound_letter{$j} : chr(mt_rand(max(ord($sound_letter{$j}) - 1, 0x00), min(ord($sound_letter{$j}) + 1, 0xFF)));
80
+					}
72 81
 			break;
73 82
 
74 83
 			case 1:
75
-				for ($j = 0, $n = strlen($sound_letter) - 1; $j < $n; $j += 2)
76
-					$sound_word .= (mt_rand(0, 3) == 0 ? '' : $sound_letter{$j}) . (mt_rand(0, 3) === 0 ? $sound_letter{$j + 1} : $sound_letter{$j}) . (mt_rand(0, 3) === 0 ? $sound_letter{$j} : $sound_letter{$j + 1}) . $sound_letter{$j + 1} . (mt_rand(0, 3) == 0 ? $sound_letter{$j + 1} : '');
84
+				for ($j = 0, $n = strlen($sound_letter) - 1; $j < $n; $j += 2) {
85
+									$sound_word .= (mt_rand(0, 3) == 0 ? '' : $sound_letter{$j}) . (mt_rand(0, 3) === 0 ? $sound_letter{$j + 1} : $sound_letter{$j}) . (mt_rand(0, 3) === 0 ? $sound_letter{$j} : $sound_letter{$j + 1}) . $sound_letter{$j + 1} . (mt_rand(0, 3) == 0 ? $sound_letter{$j + 1} : '');
86
+				}
77 87
 				$sound_word .= str_repeat($sound_letter{$n}, 2);
78 88
 			break;
79 89
 
@@ -81,10 +91,12 @@  discard block
 block discarded – undo
81 91
 				$shift = 0;
82 92
 				for ($j = 0, $n = strlen($sound_letter); $j < $n; $j++)
83 93
 				{
84
-					if (mt_rand(0, 10) === 0)
85
-						$shift += mt_rand(-3, 3);
86
-					for ($k = 0, $m = round(mt_rand(15, 25) / 10); $k < $m; $k++)
87
-						$sound_word .= chr(min(max(ord($sound_letter{$j}) + $shift, 0x00), 0xFF));
94
+					if (mt_rand(0, 10) === 0) {
95
+											$shift += mt_rand(-3, 3);
96
+					}
97
+					for ($k = 0, $m = round(mt_rand(15, 25) / 10); $k < $m; $k++) {
98
+											$sound_word .= chr(min(max(ord($sound_letter{$j}) + $shift, 0x00), 0xFF));
99
+					}
88 100
 				}
89 101
 			break;
90 102
 
Please login to merge, or discard this patch.
Sources/Subs-Post.php 1 patch
Braces   +528 added lines, -393 removed lines patch added patch discarded remove patch
@@ -15,8 +15,9 @@  discard block
 block discarded – undo
15 15
  * @version 2.1 Beta 3
16 16
  */
17 17
 
18
-if (!defined('SMF'))
18
+if (!defined('SMF')) {
19 19
 	die('No direct access...');
20
+}
20 21
 
21 22
 /**
22 23
  * Takes a message and parses it, returning nothing.
@@ -46,17 +47,19 @@  discard block
 block discarded – undo
46 47
 	$message = preg_replace('~\.{100,}~', '...', $message);
47 48
 
48 49
 	// Trim off trailing quotes - these often happen by accident.
49
-	while (substr($message, -7) == '[quote]')
50
-		$message = substr($message, 0, -7);
51
-	while (substr($message, 0, 8) == '[/quote]')
52
-		$message = substr($message, 8);
50
+	while (substr($message, -7) == '[quote]') {
51
+			$message = substr($message, 0, -7);
52
+	}
53
+	while (substr($message, 0, 8) == '[/quote]') {
54
+			$message = substr($message, 8);
55
+	}
53 56
 
54 57
 	// Find all code blocks, work out whether we'd be parsing them, then ensure they are all closed.
55 58
 	$in_tag = false;
56 59
 	$had_tag = false;
57 60
 	$codeopen = 0;
58
-	if (preg_match_all('~(\[(/)*code(?:=[^\]]+)?\])~is', $message, $matches))
59
-		foreach ($matches[0] as $index => $dummy)
61
+	if (preg_match_all('~(\[(/)*code(?:=[^\]]+)?\])~is', $message, $matches)) {
62
+			foreach ($matches[0] as $index => $dummy)
60 63
 		{
61 64
 			// Closing?
62 65
 			if (!empty($matches[2][$index]))
@@ -64,6 +67,7 @@  discard block
 block discarded – undo
64 67
 				// If it's closing and we're not in a tag we need to open it...
65 68
 				if (!$in_tag)
66 69
 					$codeopen = true;
70
+	}
67 71
 				// Either way we ain't in one any more.
68 72
 				$in_tag = false;
69 73
 			}
@@ -72,17 +76,20 @@  discard block
 block discarded – undo
72 76
 			{
73 77
 				$had_tag = true;
74 78
 				// If we're in a tag don't do nought!
75
-				if (!$in_tag)
76
-					$in_tag = true;
79
+				if (!$in_tag) {
80
+									$in_tag = true;
81
+				}
77 82
 			}
78 83
 		}
79 84
 
80 85
 	// If we have an open tag, close it.
81
-	if ($in_tag)
82
-		$message .= '[/code]';
86
+	if ($in_tag) {
87
+			$message .= '[/code]';
88
+	}
83 89
 	// Open any ones that need to be open, only if we've never had a tag.
84
-	if ($codeopen && !$had_tag)
85
-		$message = '[code]' . $message;
90
+	if ($codeopen && !$had_tag) {
91
+			$message = '[code]' . $message;
92
+	}
86 93
 
87 94
 	// Now that we've fixed all the code tags, let's fix the img and url tags...
88 95
 	$parts = preg_split('~(\[/code\]|\[code(?:=[^\]]+)?\])~i', $message, -1, PREG_SPLIT_DELIM_CAPTURE);
@@ -108,23 +115,26 @@  discard block
 block discarded – undo
108 115
 	fixTags($message);
109 116
 
110 117
 	// Replace /me.+?\n with [me=name]dsf[/me]\n.
111
-	if (strpos($user_info['name'], '[') !== false || strpos($user_info['name'], ']') !== false || strpos($user_info['name'], '\'') !== false || strpos($user_info['name'], '"') !== false)
112
-		$message = preg_replace('~(\A|\n)/me(?: |&nbsp;)([^\n]*)(?:\z)?~i', '$1[me=&quot;' . $user_info['name'] . '&quot;]$2[/me]', $message);
113
-	else
114
-		$message = preg_replace('~(\A|\n)/me(?: |&nbsp;)([^\n]*)(?:\z)?~i', '$1[me=' . $user_info['name'] . ']$2[/me]', $message);
118
+	if (strpos($user_info['name'], '[') !== false || strpos($user_info['name'], ']') !== false || strpos($user_info['name'], '\'') !== false || strpos($user_info['name'], '"') !== false) {
119
+			$message = preg_replace('~(\A|\n)/me(?: |&nbsp;)([^\n]*)(?:\z)?~i', '$1[me=&quot;' . $user_info['name'] . '&quot;]$2[/me]', $message);
120
+	} else {
121
+			$message = preg_replace('~(\A|\n)/me(?: |&nbsp;)([^\n]*)(?:\z)?~i', '$1[me=' . $user_info['name'] . ']$2[/me]', $message);
122
+	}
115 123
 
116 124
 	if (!$previewing && strpos($message, '[html]') !== false)
117 125
 	{
118
-		if (allowedTo('admin_forum'))
119
-			$message = preg_replace_callback('~\[html\](.+?)\[/html\]~is', function($m) {
126
+		if (allowedTo('admin_forum')) {
127
+					$message = preg_replace_callback('~\[html\](.+?)\[/html\]~is', function($m) {
120 128
 				return '[html]' . strtr(un_htmlspecialchars($m), array("\n" => '&#13;', '  ' => ' &#32;', '[' => '&#91;', ']' => '&#93;')) . '[/html]';
129
+		}
121 130
 			}, $message);
122 131
 
123 132
 		// We should edit them out, or else if an admin edits the message they will get shown...
124 133
 		else
125 134
 		{
126
-			while (strpos($message, '[html]') !== false)
127
-				$message = preg_replace('~\[[/]?html\]~i', '', $message);
135
+			while (strpos($message, '[html]') !== false) {
136
+							$message = preg_replace('~\[[/]?html\]~i', '', $message);
137
+			}
128 138
 		}
129 139
 	}
130 140
 
@@ -146,10 +156,12 @@  discard block
 block discarded – undo
146 156
 
147 157
 	$list_open = substr_count($message, '[list]') + substr_count($message, '[list ');
148 158
 	$list_close = substr_count($message, '[/list]');
149
-	if ($list_close - $list_open > 0)
150
-		$message = str_repeat('[list]', $list_close - $list_open) . $message;
151
-	if ($list_open - $list_close > 0)
152
-		$message = $message . str_repeat('[/list]', $list_open - $list_close);
159
+	if ($list_close - $list_open > 0) {
160
+			$message = str_repeat('[list]', $list_close - $list_open) . $message;
161
+	}
162
+	if ($list_open - $list_close > 0) {
163
+			$message = $message . str_repeat('[/list]', $list_open - $list_close);
164
+	}
153 165
 
154 166
 	$mistake_fixes = array(
155 167
 		// Find [table]s not followed by [tr].
@@ -198,8 +210,9 @@  discard block
 block discarded – undo
198 210
 	);
199 211
 
200 212
 	// Fix up some use of tables without [tr]s, etc. (it has to be done more than once to catch it all.)
201
-	for ($j = 0; $j < 3; $j++)
202
-		$message = preg_replace(array_keys($mistake_fixes), $mistake_fixes, $message);
213
+	for ($j = 0; $j < 3; $j++) {
214
+			$message = preg_replace(array_keys($mistake_fixes), $mistake_fixes, $message);
215
+	}
203 216
 
204 217
 	// Remove empty bbc from the sections outside the code tags
205 218
 	$allowedEmpty = array(
@@ -209,24 +222,28 @@  discard block
 block discarded – undo
209 222
 
210 223
 	require_once($sourcedir . '/Subs.php');
211 224
 
212
-	foreach (($codes = parse_bbc(false)) as $code)
213
-		if (!in_array($code['tag'], $allowedEmpty))
225
+	foreach (($codes = parse_bbc(false)) as $code) {
226
+			if (!in_array($code['tag'], $allowedEmpty))
214 227
 			$alltags[] = $code['tag'];
228
+	}
215 229
 
216 230
 	$alltags_regex = '\b' . implode("\b|\b", array_unique($alltags)) . '\b';
217 231
 
218
-	while (preg_match('~\[(' . $alltags_regex . ')[^\]]*\]\s*\[/\1\]\s?~i', $message))
219
-		$message = preg_replace('~\[(' . $alltags_regex . ')[^\]]*\]\s*\[/\1\]\s?~i', '', $message);
232
+	while (preg_match('~\[(' . $alltags_regex . ')[^\]]*\]\s*\[/\1\]\s?~i', $message)) {
233
+			$message = preg_replace('~\[(' . $alltags_regex . ')[^\]]*\]\s*\[/\1\]\s?~i', '', $message);
234
+	}
220 235
 
221 236
 	// Restore code blocks
222
-	if (!empty($code_tags))
223
-		$message = str_replace(array_keys($code_tags), array_values($code_tags), $message);
237
+	if (!empty($code_tags)) {
238
+			$message = str_replace(array_keys($code_tags), array_values($code_tags), $message);
239
+	}
224 240
 
225 241
 	// Restore white space entities
226
-	if (!$previewing)
227
-		$message = strtr($message, array('  ' => '&nbsp; ', "\n" => '<br>', $context['utf8'] ? "\xC2\xA0" : "\xA0" => '&nbsp;'));
228
-	else
229
-		$message = strtr($message, array('  ' => '&nbsp; ', $context['utf8'] ? "\xC2\xA0" : "\xA0" => '&nbsp;'));
242
+	if (!$previewing) {
243
+			$message = strtr($message, array('  ' => '&nbsp; ', "\n" => '<br>', $context['utf8'] ? "\xC2\xA0" : "\xA0" => '&nbsp;'));
244
+	} else {
245
+			$message = strtr($message, array('  ' => '&nbsp; ', $context['utf8'] ? "\xC2\xA0" : "\xA0" => '&nbsp;'));
246
+	}
230 247
 
231 248
 	// Now let's quickly clean up things that will slow our parser (which are common in posted code.)
232 249
 	$message = strtr($message, array('[]' => '&#91;]', '[&#039;' => '&#91;&#039;'));
@@ -269,8 +286,9 @@  discard block
 block discarded – undo
269 286
 		return "[time]" . timeformat("$m[1]", false) . "[/time]";
270 287
 	}, $message);
271 288
 
272
-	if (!empty($code_tags))
273
-		$message = str_replace(array_keys($code_tags), array_values($code_tags), $message);
289
+	if (!empty($code_tags)) {
290
+			$message = str_replace(array_keys($code_tags), array_values($code_tags), $message);
291
+	}
274 292
 
275 293
 	// Change breaks back to \n's and &nsbp; back to spaces.
276 294
 	return preg_replace('~<br( /)?' . '>~', "\n", str_replace('&nbsp;', ' ', $message));
@@ -351,8 +369,9 @@  discard block
 block discarded – undo
351 369
 	);
352 370
 
353 371
 	// Fix each type of tag.
354
-	foreach ($fixArray as $param)
355
-		fixTag($message, $param['tag'], $param['protocols'], $param['embeddedUrl'], $param['hasEqualSign'], !empty($param['hasExtra']));
372
+	foreach ($fixArray as $param) {
373
+			fixTag($message, $param['tag'], $param['protocols'], $param['embeddedUrl'], $param['hasEqualSign'], !empty($param['hasExtra']));
374
+	}
356 375
 
357 376
 	// Now fix possible security problems with images loading links automatically...
358 377
 	$message = preg_replace_callback('~(\[img.*?\])(.+?)\[/img\]~is', function($m)
@@ -388,16 +407,19 @@  discard block
 block discarded – undo
388 407
 					$desired_height = $height;
389 408
 				}
390 409
 				// Scale it to the width...
391
-				elseif (empty($desired_width) && !empty($height))
392
-					$desired_width = (int) (($desired_height * $width) / $height);
410
+				elseif (empty($desired_width) && !empty($height)) {
411
+									$desired_width = (int) (($desired_height * $width) / $height);
412
+				}
393 413
 				// Scale if to the height.
394
-				elseif (!empty($width))
395
-					$desired_height = (int) (($desired_width * $height) / $width);
414
+				elseif (!empty($width)) {
415
+									$desired_height = (int) (($desired_width * $height) / $width);
416
+				}
396 417
 			}
397 418
 
398 419
 			// If the width and height are fine, just continue along...
399
-			if ($desired_width <= $modSettings['max_image_width'] && $desired_height <= $modSettings['max_image_height'])
400
-				continue;
420
+			if ($desired_width <= $modSettings['max_image_width'] && $desired_height <= $modSettings['max_image_height']) {
421
+							continue;
422
+			}
401 423
 
402 424
 			// Too bad, it's too wide.  Make it as wide as the maximum.
403 425
 			if ($desired_width > $modSettings['max_image_width'] && !empty($modSettings['max_image_width']))
@@ -417,8 +439,9 @@  discard block
 block discarded – undo
417 439
 		}
418 440
 
419 441
 		// If any img tags were actually changed...
420
-		if (!empty($replaces))
421
-			$message = strtr($message, $replaces);
442
+		if (!empty($replaces)) {
443
+					$message = strtr($message, $replaces);
444
+		}
422 445
 	}
423 446
 }
424 447
 
@@ -437,10 +460,11 @@  discard block
 block discarded – undo
437 460
 {
438 461
 	global $boardurl, $scripturl;
439 462
 
440
-	if (preg_match('~^([^:]+://[^/]+)~', $boardurl, $match) != 0)
441
-		$domain_url = $match[1];
442
-	else
443
-		$domain_url = $boardurl . '/';
463
+	if (preg_match('~^([^:]+://[^/]+)~', $boardurl, $match) != 0) {
464
+			$domain_url = $match[1];
465
+	} else {
466
+			$domain_url = $boardurl . '/';
467
+	}
444 468
 
445 469
 	$replaces = array();
446 470
 
@@ -448,11 +472,11 @@  discard block
 block discarded – undo
448 472
 	{
449 473
 		$quoted = preg_match('~\[(' . $myTag . ')=&quot;~', $message);
450 474
 		preg_match_all('~\[(' . $myTag . ')=' . ($quoted ? '&quot;(.*?)&quot;' : '([^\]]*?)') . '\](?:(.+?)\[/(' . $myTag . ')\])?~is', $message, $matches);
475
+	} elseif ($hasEqualSign) {
476
+			preg_match_all('~\[(' . $myTag . ')=([^\]]*?)\](?:(.+?)\[/(' . $myTag . ')\])?~is', $message, $matches);
477
+	} else {
478
+			preg_match_all('~\[(' . $myTag . ($hasExtra ? '(?:[^\]]*?)' : '') . ')\](.+?)\[/(' . $myTag . ')\]~is', $message, $matches);
451 479
 	}
452
-	elseif ($hasEqualSign)
453
-		preg_match_all('~\[(' . $myTag . ')=([^\]]*?)\](?:(.+?)\[/(' . $myTag . ')\])?~is', $message, $matches);
454
-	else
455
-		preg_match_all('~\[(' . $myTag . ($hasExtra ? '(?:[^\]]*?)' : '') . ')\](.+?)\[/(' . $myTag . ')\]~is', $message, $matches);
456 480
 
457 481
 	foreach ($matches[0] as $k => $dummy)
458 482
 	{
@@ -465,49 +489,53 @@  discard block
 block discarded – undo
465 489
 		foreach ($protocols as $protocol)
466 490
 		{
467 491
 			$found = strncasecmp($replace, $protocol . '://', strlen($protocol) + 3) === 0;
468
-			if ($found)
469
-				break;
492
+			if ($found) {
493
+							break;
494
+			}
470 495
 		}
471 496
 
472 497
 		if (!$found && $protocols[0] == 'http')
473 498
 		{
474
-			if (substr($replace, 0, 1) == '/' && substr($replace, 0, 2) != '//')
475
-				$replace = $domain_url . $replace;
476
-			elseif (substr($replace, 0, 1) == '?')
477
-				$replace = $scripturl . $replace;
478
-			elseif (substr($replace, 0, 1) == '#' && $embeddedUrl)
499
+			if (substr($replace, 0, 1) == '/' && substr($replace, 0, 2) != '//') {
500
+							$replace = $domain_url . $replace;
501
+			} elseif (substr($replace, 0, 1) == '?') {
502
+							$replace = $scripturl . $replace;
503
+			} elseif (substr($replace, 0, 1) == '#' && $embeddedUrl)
479 504
 			{
480 505
 				$replace = '#' . preg_replace('~[^A-Za-z0-9_\-#]~', '', substr($replace, 1));
481 506
 				$this_tag = 'iurl';
482 507
 				$this_close = 'iurl';
508
+			} elseif (substr($replace, 0, 2) != '//') {
509
+							$replace = $protocols[0] . '://' . $replace;
483 510
 			}
484
-			elseif (substr($replace, 0, 2) != '//')
485
-				$replace = $protocols[0] . '://' . $replace;
486
-		}
487
-		elseif (!$found && $protocols[0] == 'ftp')
488
-			$replace = $protocols[0] . '://' . preg_replace('~^(?!ftps?)[^:]+://~', '', $replace);
489
-		elseif (!$found)
490
-			$replace = $protocols[0] . '://' . $replace;
491
-
492
-		if ($hasEqualSign && $embeddedUrl)
493
-			$replaces[$matches[0][$k]] = '[' . $this_tag . '=&quot;' . $replace . '&quot;]' . (empty($matches[4][$k]) ? '' : $matches[3][$k] . '[/' . $this_close . ']');
494
-		elseif ($hasEqualSign)
495
-			$replaces['[' . $matches[1][$k] . '=' . $matches[2][$k] . ']'] = '[' . $this_tag . '=' . $replace . ']';
496
-		elseif ($embeddedUrl)
497
-			$replaces['[' . $matches[1][$k] . ']' . $matches[2][$k] . '[/' . $matches[3][$k] . ']'] = '[' . $this_tag . '=' . $replace . ']' . $matches[2][$k] . '[/' . $this_close . ']';
498
-		else
499
-			$replaces['[' . $matches[1][$k] . ']' . $matches[2][$k] . '[/' . $matches[3][$k] . ']'] = '[' . $this_tag . ']' . $replace . '[/' . $this_close . ']';
511
+		} elseif (!$found && $protocols[0] == 'ftp') {
512
+					$replace = $protocols[0] . '://' . preg_replace('~^(?!ftps?)[^:]+://~', '', $replace);
513
+		} elseif (!$found) {
514
+					$replace = $protocols[0] . '://' . $replace;
515
+		}
516
+
517
+		if ($hasEqualSign && $embeddedUrl) {
518
+					$replaces[$matches[0][$k]] = '[' . $this_tag . '=&quot;' . $replace . '&quot;]' . (empty($matches[4][$k]) ? '' : $matches[3][$k] . '[/' . $this_close . ']');
519
+		} elseif ($hasEqualSign) {
520
+					$replaces['[' . $matches[1][$k] . '=' . $matches[2][$k] . ']'] = '[' . $this_tag . '=' . $replace . ']';
521
+		} elseif ($embeddedUrl) {
522
+					$replaces['[' . $matches[1][$k] . ']' . $matches[2][$k] . '[/' . $matches[3][$k] . ']'] = '[' . $this_tag . '=' . $replace . ']' . $matches[2][$k] . '[/' . $this_close . ']';
523
+		} else {
524
+					$replaces['[' . $matches[1][$k] . ']' . $matches[2][$k] . '[/' . $matches[3][$k] . ']'] = '[' . $this_tag . ']' . $replace . '[/' . $this_close . ']';
525
+		}
500 526
 	}
501 527
 
502 528
 	foreach ($replaces as $k => $v)
503 529
 	{
504
-		if ($k == $v)
505
-			unset($replaces[$k]);
530
+		if ($k == $v) {
531
+					unset($replaces[$k]);
532
+		}
506 533
 	}
507 534
 
508
-	if (!empty($replaces))
509
-		$message = strtr($message, $replaces);
510
-}
535
+	if (!empty($replaces)) {
536
+			$message = strtr($message, $replaces);
537
+	}
538
+	}
511 539
 
512 540
 /**
513 541
  * This function sends an email to the specified recipient(s).
@@ -551,8 +579,9 @@  discard block
 block discarded – undo
551 579
 	}
552 580
 
553 581
 	// Nothing left? Nothing else to do
554
-	if (empty($to_array))
555
-		return true;
582
+	if (empty($to_array)) {
583
+			return true;
584
+	}
556 585
 
557 586
 	// Once upon a time, Hotmail could not interpret non-ASCII mails.
558 587
 	// In honour of those days, it's still called the 'hotmail fix'.
@@ -569,15 +598,17 @@  discard block
 block discarded – undo
569 598
 		}
570 599
 
571 600
 		// Call this function recursively for the hotmail addresses.
572
-		if (!empty($hotmail_to))
573
-			$mail_result = sendmail($hotmail_to, $subject, $message, $from, $message_id, $send_html, $priority, true, $is_private);
601
+		if (!empty($hotmail_to)) {
602
+					$mail_result = sendmail($hotmail_to, $subject, $message, $from, $message_id, $send_html, $priority, true, $is_private);
603
+		}
574 604
 
575 605
 		// The remaining addresses no longer need the fix.
576 606
 		$hotmail_fix = false;
577 607
 
578 608
 		// No other addresses left? Return instantly.
579
-		if (empty($to_array))
580
-			return $mail_result;
609
+		if (empty($to_array)) {
610
+					return $mail_result;
611
+		}
581 612
 	}
582 613
 
583 614
 	// Get rid of entities.
@@ -602,13 +633,15 @@  discard block
 block discarded – undo
602 633
 	$headers .= 'Return-Path: ' . (empty($modSettings['mail_from']) ? $webmaster_email : $modSettings['mail_from']) . $line_break;
603 634
 	$headers .= 'Date: ' . gmdate('D, d M Y H:i:s') . ' -0000' . $line_break;
604 635
 
605
-	if ($message_id !== null && empty($modSettings['mail_no_message_id']))
606
-		$headers .= 'Message-ID: <' . md5($scripturl . microtime()) . '-' . $message_id . strstr(empty($modSettings['mail_from']) ? $webmaster_email : $modSettings['mail_from'], '@') . '>' . $line_break;
636
+	if ($message_id !== null && empty($modSettings['mail_no_message_id'])) {
637
+			$headers .= 'Message-ID: <' . md5($scripturl . microtime()) . '-' . $message_id . strstr(empty($modSettings['mail_from']) ? $webmaster_email : $modSettings['mail_from'], '@') . '>' . $line_break;
638
+	}
607 639
 	$headers .= 'X-Mailer: SMF' . $line_break;
608 640
 
609 641
 	// Pass this to the integration before we start modifying the output -- it'll make it easier later.
610
-	if (in_array(false, call_integration_hook('integrate_outgoing_email', array(&$subject, &$message, &$headers, &$to_array)), true))
611
-		return false;
642
+	if (in_array(false, call_integration_hook('integrate_outgoing_email', array(&$subject, &$message, &$headers, &$to_array)), true)) {
643
+			return false;
644
+	}
612 645
 
613 646
 	// Save the original message...
614 647
 	$orig_message = $message;
@@ -657,17 +690,19 @@  discard block
 block discarded – undo
657 690
 	}
658 691
 
659 692
 	// Are we using the mail queue, if so this is where we butt in...
660
-	if ($priority != 0)
661
-		return AddMailQueue(false, $to_array, $subject, $message, $headers, $send_html, $priority, $is_private);
693
+	if ($priority != 0) {
694
+			return AddMailQueue(false, $to_array, $subject, $message, $headers, $send_html, $priority, $is_private);
695
+	}
662 696
 
663 697
 	// If it's a priority mail, send it now - note though that this should NOT be used for sending many at once.
664 698
 	elseif (!empty($modSettings['mail_limit']))
665 699
 	{
666 700
 		list ($last_mail_time, $mails_this_minute) = @explode('|', $modSettings['mail_recent']);
667
-		if (empty($mails_this_minute) || time() > $last_mail_time + 60)
668
-			$new_queue_stat = time() . '|' . 1;
669
-		else
670
-			$new_queue_stat = $last_mail_time . '|' . ((int) $mails_this_minute + 1);
701
+		if (empty($mails_this_minute) || time() > $last_mail_time + 60) {
702
+					$new_queue_stat = time() . '|' . 1;
703
+		} else {
704
+					$new_queue_stat = $last_mail_time . '|' . ((int) $mails_this_minute + 1);
705
+		}
671 706
 
672 707
 		updateSettings(array('mail_recent' => $new_queue_stat));
673 708
 	}
@@ -692,12 +727,13 @@  discard block
 block discarded – undo
692 727
 
693 728
 			// Wait, wait, I'm still sending here!
694 729
 			@set_time_limit(300);
695
-			if (function_exists('apache_reset_timeout'))
696
-				@apache_reset_timeout();
730
+			if (function_exists('apache_reset_timeout')) {
731
+							@apache_reset_timeout();
732
+			}
697 733
 		}
734
+	} else {
735
+			$mail_result = $mail_result && smtp_mail($to_array, $subject, $message, $headers);
698 736
 	}
699
-	else
700
-		$mail_result = $mail_result && smtp_mail($to_array, $subject, $message, $headers);
701 737
 
702 738
 	// Everything go smoothly?
703 739
 	return $mail_result;
@@ -723,8 +759,9 @@  discard block
 block discarded – undo
723 759
 	static $cur_insert = array();
724 760
 	static $cur_insert_len = 0;
725 761
 
726
-	if ($cur_insert_len == 0)
727
-		$cur_insert = array();
762
+	if ($cur_insert_len == 0) {
763
+			$cur_insert = array();
764
+	}
728 765
 
729 766
 	// If we're flushing, make the final inserts - also if we're near the MySQL length limit!
730 767
 	if (($flush || $cur_insert_len > 800000) && !empty($cur_insert))
@@ -799,8 +836,9 @@  discard block
 block discarded – undo
799 836
 	}
800 837
 
801 838
 	// If they are using SSI there is a good chance obExit will never be called.  So lets be nice and flush it for them.
802
-	if (SMF === 'SSI' || SMF === 'BACKGROUND')
803
-		return AddMailQueue(true);
839
+	if (SMF === 'SSI' || SMF === 'BACKGROUND') {
840
+			return AddMailQueue(true);
841
+	}
804 842
 
805 843
 	return true;
806 844
 }
@@ -833,23 +871,26 @@  discard block
 block discarded – undo
833 871
 		'sent' => array()
834 872
 	);
835 873
 
836
-	if ($from === null)
837
-		$from = array(
874
+	if ($from === null) {
875
+			$from = array(
838 876
 			'id' => $user_info['id'],
839 877
 			'name' => $user_info['name'],
840 878
 			'username' => $user_info['username']
841 879
 		);
880
+	}
842 881
 
843 882
 	// This is the one that will go in their inbox.
844 883
 	$htmlmessage = $smcFunc['htmlspecialchars']($message, ENT_QUOTES);
845 884
 	preparsecode($htmlmessage);
846 885
 	$htmlsubject = strtr($smcFunc['htmlspecialchars']($subject), array("\r" => '', "\n" => '', "\t" => ''));
847
-	if ($smcFunc['strlen']($htmlsubject) > 100)
848
-		$htmlsubject = $smcFunc['substr']($htmlsubject, 0, 100);
886
+	if ($smcFunc['strlen']($htmlsubject) > 100) {
887
+			$htmlsubject = $smcFunc['substr']($htmlsubject, 0, 100);
888
+	}
849 889
 
850 890
 	// Make sure is an array
851
-	if (!is_array($recipients))
852
-		$recipients = array($recipients);
891
+	if (!is_array($recipients)) {
892
+			$recipients = array($recipients);
893
+	}
853 894
 
854 895
 	// Integrated PMs
855 896
 	call_integration_hook('integrate_personal_message', array(&$recipients, &$from, &$subject, &$message));
@@ -877,21 +918,23 @@  discard block
 block discarded – undo
877 918
 				'usernames' => array_keys($usernames),
878 919
 			)
879 920
 		);
880
-		while ($row = $smcFunc['db_fetch_assoc']($request))
881
-			if (isset($usernames[$smcFunc['strtolower']($row['member_name'])]))
921
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
922
+					if (isset($usernames[$smcFunc['strtolower']($row['member_name'])]))
882 923
 				$usernames[$smcFunc['strtolower']($row['member_name'])] = $row['id_member'];
924
+		}
883 925
 		$smcFunc['db_free_result']($request);
884 926
 
885 927
 		// Replace the usernames with IDs. Drop usernames that couldn't be found.
886
-		foreach ($recipients as $rec_type => $rec)
887
-			foreach ($rec as $id => $member)
928
+		foreach ($recipients as $rec_type => $rec) {
929
+					foreach ($rec as $id => $member)
888 930
 			{
889 931
 				if (is_numeric($recipients[$rec_type][$id]))
890 932
 					continue;
933
+		}
891 934
 
892
-				if (!empty($usernames[$member]))
893
-					$recipients[$rec_type][$id] = $usernames[$member];
894
-				else
935
+				if (!empty($usernames[$member])) {
936
+									$recipients[$rec_type][$id] = $usernames[$member];
937
+				} else
895 938
 				{
896 939
 					$log['failed'][$id] = sprintf($txt['pm_error_user_not_found'], $recipients[$rec_type][$id]);
897 940
 					unset($recipients[$rec_type][$id]);
@@ -930,8 +973,9 @@  discard block
 block discarded – undo
930 973
 		foreach ($criteria as $criterium)
931 974
 		{
932 975
 			$match = false;
933
-			if (($criterium['t'] == 'mid' && $criterium['v'] == $from['id']) || ($criterium['t'] == 'gid' && in_array($criterium['v'], $user_info['groups'])) || ($criterium['t'] == 'sub' && strpos($subject, $criterium['v']) !== false) || ($criterium['t'] == 'msg' && strpos($message, $criterium['v']) !== false))
934
-				$delete = true;
976
+			if (($criterium['t'] == 'mid' && $criterium['v'] == $from['id']) || ($criterium['t'] == 'gid' && in_array($criterium['v'], $user_info['groups'])) || ($criterium['t'] == 'sub' && strpos($subject, $criterium['v']) !== false) || ($criterium['t'] == 'msg' && strpos($message, $criterium['v']) !== false)) {
977
+							$delete = true;
978
+			}
935 979
 			// If we're adding and one criteria don't match then we stop!
936 980
 			elseif (!$row['is_or'])
937 981
 			{
@@ -939,8 +983,9 @@  discard block
 block discarded – undo
939 983
 				break;
940 984
 			}
941 985
 		}
942
-		if ($delete)
943
-			$deletes[$row['id_member']] = 1;
986
+		if ($delete) {
987
+					$deletes[$row['id_member']] = 1;
988
+		}
944 989
 	}
945 990
 	$smcFunc['db_free_result']($request);
946 991
 
@@ -955,8 +1000,9 @@  discard block
 block discarded – undo
955 1000
 			array(
956 1001
 			)
957 1002
 		);
958
-		while ($row = $smcFunc['db_fetch_assoc']($request))
959
-			$message_limit_cache[$row['id_group']] = $row['max_messages'];
1003
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
1004
+					$message_limit_cache[$row['id_group']] = $row['max_messages'];
1005
+		}
960 1006
 		$smcFunc['db_free_result']($request);
961 1007
 	}
962 1008
 
@@ -964,8 +1010,9 @@  discard block
 block discarded – undo
964 1010
 	require_once($sourcedir . '/Subs-Members.php');
965 1011
 	$pmReadGroups = groupsAllowedTo('pm_read');
966 1012
 
967
-	if (empty($modSettings['permission_enable_deny']))
968
-		$pmReadGroups['denied'] = array();
1013
+	if (empty($modSettings['permission_enable_deny'])) {
1014
+			$pmReadGroups['denied'] = array();
1015
+	}
969 1016
 
970 1017
 	// Load their alert preferences
971 1018
 	require_once($sourcedir . '/Subs-Notify.php');
@@ -997,8 +1044,9 @@  discard block
 block discarded – undo
997 1044
 	while ($row = $smcFunc['db_fetch_assoc']($request))
998 1045
 	{
999 1046
 		// Don't do anything for members to be deleted!
1000
-		if (isset($deletes[$row['id_member']]))
1001
-			continue;
1047
+		if (isset($deletes[$row['id_member']])) {
1048
+					continue;
1049
+		}
1002 1050
 
1003 1051
 		// Load the preferences for this member (if any)
1004 1052
 		$prefs = !empty($notifyPrefs[$row['id_member']]) ? $notifyPrefs[$row['id_member']] : array();
@@ -1019,8 +1067,9 @@  discard block
 block discarded – undo
1019 1067
 		{
1020 1068
 			foreach ($groups as $id)
1021 1069
 			{
1022
-				if (isset($message_limit_cache[$id]) && $message_limit != 0 && $message_limit < $message_limit_cache[$id])
1023
-					$message_limit = $message_limit_cache[$id];
1070
+				if (isset($message_limit_cache[$id]) && $message_limit != 0 && $message_limit < $message_limit_cache[$id]) {
1071
+									$message_limit = $message_limit_cache[$id];
1072
+				}
1024 1073
 			}
1025 1074
 
1026 1075
 			if ($message_limit > 0 && $message_limit <= $row['instant_messages'])
@@ -1068,8 +1117,9 @@  discard block
 block discarded – undo
1068 1117
 	$smcFunc['db_free_result']($request);
1069 1118
 
1070 1119
 	// Only 'send' the message if there are any recipients left.
1071
-	if (empty($all_to))
1072
-		return $log;
1120
+	if (empty($all_to)) {
1121
+			return $log;
1122
+	}
1073 1123
 
1074 1124
 	// Insert the message itself and then grab the last insert id.
1075 1125
 	$smcFunc['db_insert']('',
@@ -1090,8 +1140,8 @@  discard block
 block discarded – undo
1090 1140
 	if (!empty($id_pm))
1091 1141
 	{
1092 1142
 		// If this is new we need to set it part of it's own conversation.
1093
-		if (empty($pm_head))
1094
-			$smcFunc['db_query']('', '
1143
+		if (empty($pm_head)) {
1144
+					$smcFunc['db_query']('', '
1095 1145
 				UPDATE {db_prefix}personal_messages
1096 1146
 				SET id_pm_head = {int:id_pm_head}
1097 1147
 				WHERE id_pm = {int:id_pm_head}',
@@ -1099,6 +1149,7 @@  discard block
 block discarded – undo
1099 1149
 					'id_pm_head' => $id_pm,
1100 1150
 				)
1101 1151
 			);
1152
+		}
1102 1153
 
1103 1154
 		// Some people think manually deleting personal_messages is fun... it's not. We protect against it though :)
1104 1155
 		$smcFunc['db_query']('', '
@@ -1114,8 +1165,9 @@  discard block
 block discarded – undo
1114 1165
 		foreach ($all_to as $to)
1115 1166
 		{
1116 1167
 			$insertRows[] = array($id_pm, $to, in_array($to, $recipients['bcc']) ? 1 : 0, isset($deletes[$to]) ? 1 : 0, 1);
1117
-			if (!in_array($to, $recipients['bcc']))
1118
-				$to_list[] = $to;
1168
+			if (!in_array($to, $recipients['bcc'])) {
1169
+							$to_list[] = $to;
1170
+			}
1119 1171
 		}
1120 1172
 
1121 1173
 		$smcFunc['db_insert']('insert',
@@ -1133,9 +1185,9 @@  discard block
 block discarded – undo
1133 1185
 	{
1134 1186
 		censorText($message);
1135 1187
 		$message = trim(un_htmlspecialchars(strip_tags(strtr(parse_bbc($smcFunc['htmlspecialchars']($message), false), array('<br>' => "\n", '</div>' => "\n", '</li>' => "\n", '&#91;' => '[', '&#93;' => ']')))));
1188
+	} else {
1189
+			$message = '';
1136 1190
 	}
1137
-	else
1138
-		$message = '';
1139 1191
 
1140 1192
 	$to_names = array();
1141 1193
 	if (count($to_list) > 1)
@@ -1148,8 +1200,9 @@  discard block
 block discarded – undo
1148 1200
 				'to_members' => $to_list,
1149 1201
 			)
1150 1202
 		);
1151
-		while ($row = $smcFunc['db_fetch_assoc']($request))
1152
-			$to_names[] = un_htmlspecialchars($row['real_name']);
1203
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
1204
+					$to_names[] = un_htmlspecialchars($row['real_name']);
1205
+		}
1153 1206
 		$smcFunc['db_free_result']($request);
1154 1207
 	}
1155 1208
 	$replacements = array(
@@ -1177,11 +1230,13 @@  discard block
 block discarded – undo
1177 1230
 	loadLanguage('index+PersonalMessage');
1178 1231
 
1179 1232
 	// Add one to their unread and read message counts.
1180
-	foreach ($all_to as $k => $id)
1181
-		if (isset($deletes[$id]))
1233
+	foreach ($all_to as $k => $id) {
1234
+			if (isset($deletes[$id]))
1182 1235
 			unset($all_to[$k]);
1183
-	if (!empty($all_to))
1184
-		updateMemberData($all_to, array('instant_messages' => '+', 'unread_messages' => '+', 'new_pm' => 1));
1236
+	}
1237
+	if (!empty($all_to)) {
1238
+			updateMemberData($all_to, array('instant_messages' => '+', 'unread_messages' => '+', 'new_pm' => 1));
1239
+	}
1185 1240
 
1186 1241
 	return $log;
1187 1242
 }
@@ -1211,15 +1266,17 @@  discard block
 block discarded – undo
1211 1266
 		// Let's, for now, assume there are only &#021;'ish characters.
1212 1267
 		$simple = true;
1213 1268
 
1214
-		foreach ($matches[1] as $entity)
1215
-			if ($entity > 128)
1269
+		foreach ($matches[1] as $entity) {
1270
+					if ($entity > 128)
1216 1271
 				$simple = false;
1272
+		}
1217 1273
 		unset($matches);
1218 1274
 
1219
-		if ($simple)
1220
-			$string = preg_replace_callback('~&#(\d{3,8});~', function($m)
1275
+		if ($simple) {
1276
+					$string = preg_replace_callback('~&#(\d{3,8});~', function($m)
1221 1277
 			{
1222 1278
 				return chr("$m[1]");
1279
+		}
1223 1280
 			}, $string);
1224 1281
 		else
1225 1282
 		{
@@ -1227,8 +1284,9 @@  discard block
 block discarded – undo
1227 1284
 			if (!$context['utf8'] && function_exists('iconv'))
1228 1285
 			{
1229 1286
 				$newstring = @iconv($context['character_set'], 'UTF-8', $string);
1230
-				if ($newstring)
1231
-					$string = $newstring;
1287
+				if ($newstring) {
1288
+									$string = $newstring;
1289
+				}
1232 1290
 			}
1233 1291
 
1234 1292
 			$string = preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $string);
@@ -1244,23 +1302,25 @@  discard block
 block discarded – undo
1244 1302
 		if (!$context['utf8'] && function_exists('iconv'))
1245 1303
 		{
1246 1304
 			$newstring = @iconv($context['character_set'], 'UTF-8', $string);
1247
-			if ($newstring)
1248
-				$string = $newstring;
1305
+			if ($newstring) {
1306
+							$string = $newstring;
1307
+			}
1249 1308
 		}
1250 1309
 
1251 1310
 		$entityConvert = function($m)
1252 1311
 		{
1253 1312
 			$c = $m[1];
1254
-			if (strlen($c) === 1 && ord($c[0]) <= 0x7F)
1255
-				return $c;
1256
-			elseif (strlen($c) === 2 && ord($c[0]) >= 0xC0 && ord($c[0]) <= 0xDF)
1257
-				return "&#" . (((ord($c[0]) ^ 0xC0) << 6) + (ord($c[1]) ^ 0x80)) . ";";
1258
-			elseif (strlen($c) === 3 && ord($c[0]) >= 0xE0 && ord($c[0]) <= 0xEF)
1259
-				return "&#" . (((ord($c[0]) ^ 0xE0) << 12) + ((ord($c[1]) ^ 0x80) << 6) + (ord($c[2]) ^ 0x80)) . ";";
1260
-			elseif (strlen($c) === 4 && ord($c[0]) >= 0xF0 && ord($c[0]) <= 0xF7)
1261
-				return "&#" . (((ord($c[0]) ^ 0xF0) << 18) + ((ord($c[1]) ^ 0x80) << 12) + ((ord($c[2]) ^ 0x80) << 6) + (ord($c[3]) ^ 0x80)) . ";";
1262
-			else
1263
-				return "";
1313
+			if (strlen($c) === 1 && ord($c[0]) <= 0x7F) {
1314
+							return $c;
1315
+			} elseif (strlen($c) === 2 && ord($c[0]) >= 0xC0 && ord($c[0]) <= 0xDF) {
1316
+							return "&#" . (((ord($c[0]) ^ 0xC0) << 6) + (ord($c[1]) ^ 0x80)) . ";";
1317
+			} elseif (strlen($c) === 3 && ord($c[0]) >= 0xE0 && ord($c[0]) <= 0xEF) {
1318
+							return "&#" . (((ord($c[0]) ^ 0xE0) << 12) + ((ord($c[1]) ^ 0x80) << 6) + (ord($c[2]) ^ 0x80)) . ";";
1319
+			} elseif (strlen($c) === 4 && ord($c[0]) >= 0xF0 && ord($c[0]) <= 0xF7) {
1320
+							return "&#" . (((ord($c[0]) ^ 0xF0) << 18) + ((ord($c[1]) ^ 0x80) << 12) + ((ord($c[2]) ^ 0x80) << 6) + (ord($c[3]) ^ 0x80)) . ";";
1321
+			} else {
1322
+							return "";
1323
+			}
1264 1324
 		};
1265 1325
 
1266 1326
 		// Convert all 'special' characters to HTML entities.
@@ -1274,19 +1334,20 @@  discard block
 block discarded – undo
1274 1334
 		$string = base64_encode($string);
1275 1335
 
1276 1336
 		// Show the characterset and the transfer-encoding for header strings.
1277
-		if ($with_charset)
1278
-			$string = '=?' . $charset . '?B?' . $string . '?=';
1337
+		if ($with_charset) {
1338
+					$string = '=?' . $charset . '?B?' . $string . '?=';
1339
+		}
1279 1340
 
1280 1341
 		// Break it up in lines (mail body).
1281
-		else
1282
-			$string = chunk_split($string, 76, $line_break);
1342
+		else {
1343
+					$string = chunk_split($string, 76, $line_break);
1344
+		}
1283 1345
 
1284 1346
 		return array($charset, $string, 'base64');
1347
+	} else {
1348
+			return array($charset, $string, '7bit');
1349
+	}
1285 1350
 	}
1286
-
1287
-	else
1288
-		return array($charset, $string, '7bit');
1289
-}
1290 1351
 
1291 1352
 /**
1292 1353
  * Sends mail, like mail() but over SMTP.
@@ -1310,8 +1371,9 @@  discard block
 block discarded – undo
1310 1371
 	if ($modSettings['mail_type'] == 3 && $modSettings['smtp_username'] != '' && $modSettings['smtp_password'] != '')
1311 1372
 	{
1312 1373
 		$socket = fsockopen($modSettings['smtp_host'], 110, $errno, $errstr, 2);
1313
-		if (!$socket && (substr($modSettings['smtp_host'], 0, 5) == 'smtp.' || substr($modSettings['smtp_host'], 0, 11) == 'ssl://smtp.'))
1314
-			$socket = fsockopen(strtr($modSettings['smtp_host'], array('smtp.' => 'pop.')), 110, $errno, $errstr, 2);
1374
+		if (!$socket && (substr($modSettings['smtp_host'], 0, 5) == 'smtp.' || substr($modSettings['smtp_host'], 0, 11) == 'ssl://smtp.')) {
1375
+					$socket = fsockopen(strtr($modSettings['smtp_host'], array('smtp.' => 'pop.')), 110, $errno, $errstr, 2);
1376
+		}
1315 1377
 
1316 1378
 		if ($socket)
1317 1379
 		{
@@ -1332,8 +1394,9 @@  discard block
 block discarded – undo
1332 1394
 		// Maybe we can still save this?  The port might be wrong.
1333 1395
 		if (substr($modSettings['smtp_host'], 0, 4) == 'ssl:' && (empty($modSettings['smtp_port']) || $modSettings['smtp_port'] == 25))
1334 1396
 		{
1335
-			if ($socket = fsockopen($modSettings['smtp_host'], 465, $errno, $errstr, 3))
1336
-				log_error($txt['smtp_port_ssl']);
1397
+			if ($socket = fsockopen($modSettings['smtp_host'], 465, $errno, $errstr, 3)) {
1398
+							log_error($txt['smtp_port_ssl']);
1399
+			}
1337 1400
 		}
1338 1401
 
1339 1402
 		// Unable to connect!  Don't show any error message, but just log one and try to continue anyway.
@@ -1345,20 +1408,23 @@  discard block
 block discarded – undo
1345 1408
 	}
1346 1409
 
1347 1410
 	// Wait for a response of 220, without "-" continuer.
1348
-	if (!server_parse(null, $socket, '220'))
1349
-		return false;
1411
+	if (!server_parse(null, $socket, '220')) {
1412
+			return false;
1413
+	}
1350 1414
 
1351 1415
 	// Try and determine the servers name, fall back to the mail servers if not found
1352 1416
 	$helo = false;
1353
-	if (function_exists('gethostname') && gethostname() !== false)
1354
-		$helo = gethostname();
1355
-	elseif (function_exists('php_uname'))
1356
-		$helo = php_uname('n');
1357
-	elseif (array_key_exists('SERVER_NAME', $_SERVER) && !empty($_SERVER['SERVER_NAME']))
1358
-		$helo = $_SERVER['SERVER_NAME'];
1417
+	if (function_exists('gethostname') && gethostname() !== false) {
1418
+			$helo = gethostname();
1419
+	} elseif (function_exists('php_uname')) {
1420
+			$helo = php_uname('n');
1421
+	} elseif (array_key_exists('SERVER_NAME', $_SERVER) && !empty($_SERVER['SERVER_NAME'])) {
1422
+			$helo = $_SERVER['SERVER_NAME'];
1423
+	}
1359 1424
 
1360
-	if (empty($helo))
1361
-		$helo = $modSettings['smtp_host'];
1425
+	if (empty($helo)) {
1426
+			$helo = $modSettings['smtp_host'];
1427
+	}
1362 1428
 
1363 1429
 	// SMTP = 1, SMTP - STARTTLS = 2
1364 1430
 	if (in_array($modSettings['mail_type'], array(1, 2)) && $modSettings['smtp_username'] != '' && $modSettings['smtp_password'] != '')
@@ -1370,33 +1436,39 @@  discard block
 block discarded – undo
1370 1436
 			if ($modSettings['mail_type'] == 2 && preg_match("~250( |-)STARTTLS~mi", $response))
1371 1437
 			{
1372 1438
 				// Send STARTTLS to enable encryption
1373
-				if (!server_parse('STARTTLS', $socket, '220'))
1374
-					return false;
1439
+				if (!server_parse('STARTTLS', $socket, '220')) {
1440
+									return false;
1441
+				}
1375 1442
 				// Enable the encryption
1376
-				if (!@stream_socket_enable_crypto($socket, true, STREAM_CRYPTO_METHOD_TLS_CLIENT))
1377
-					return false;
1443
+				if (!@stream_socket_enable_crypto($socket, true, STREAM_CRYPTO_METHOD_TLS_CLIENT)) {
1444
+									return false;
1445
+				}
1378 1446
 				// Send the EHLO command again
1379
-				if (!server_parse('EHLO ' . $helo, $socket, null) == '250')
1380
-					return false;
1447
+				if (!server_parse('EHLO ' . $helo, $socket, null) == '250') {
1448
+									return false;
1449
+				}
1381 1450
 			}
1382 1451
 
1383
-			if (!server_parse('AUTH LOGIN', $socket, '334'))
1384
-				return false;
1452
+			if (!server_parse('AUTH LOGIN', $socket, '334')) {
1453
+							return false;
1454
+			}
1385 1455
 			// Send the username and password, encoded.
1386
-			if (!server_parse(base64_encode($modSettings['smtp_username']), $socket, '334'))
1387
-				return false;
1456
+			if (!server_parse(base64_encode($modSettings['smtp_username']), $socket, '334')) {
1457
+							return false;
1458
+			}
1388 1459
 			// The password is already encoded ;)
1389
-			if (!server_parse($modSettings['smtp_password'], $socket, '235'))
1390
-				return false;
1460
+			if (!server_parse($modSettings['smtp_password'], $socket, '235')) {
1461
+							return false;
1462
+			}
1463
+		} elseif (!server_parse('HELO ' . $helo, $socket, '250')) {
1464
+					return false;
1391 1465
 		}
1392
-		elseif (!server_parse('HELO ' . $helo, $socket, '250'))
1393
-			return false;
1394
-	}
1395
-	else
1466
+	} else
1396 1467
 	{
1397 1468
 		// Just say "helo".
1398
-		if (!server_parse('HELO ' . $helo, $socket, '250'))
1399
-			return false;
1469
+		if (!server_parse('HELO ' . $helo, $socket, '250')) {
1470
+					return false;
1471
+		}
1400 1472
 	}
1401 1473
 
1402 1474
 	// Fix the message for any lines beginning with a period! (the first is ignored, you see.)
@@ -1409,31 +1481,38 @@  discard block
 block discarded – undo
1409 1481
 		// Reset the connection to send another email.
1410 1482
 		if ($i != 0)
1411 1483
 		{
1412
-			if (!server_parse('RSET', $socket, '250'))
1413
-				return false;
1484
+			if (!server_parse('RSET', $socket, '250')) {
1485
+							return false;
1486
+			}
1414 1487
 		}
1415 1488
 
1416 1489
 		// From, to, and then start the data...
1417
-		if (!server_parse('MAIL FROM: <' . (empty($modSettings['mail_from']) ? $webmaster_email : $modSettings['mail_from']) . '>', $socket, '250'))
1418
-			return false;
1419
-		if (!server_parse('RCPT TO: <' . $mail_to . '>', $socket, '250'))
1420
-			return false;
1421
-		if (!server_parse('DATA', $socket, '354'))
1422
-			return false;
1490
+		if (!server_parse('MAIL FROM: <' . (empty($modSettings['mail_from']) ? $webmaster_email : $modSettings['mail_from']) . '>', $socket, '250')) {
1491
+					return false;
1492
+		}
1493
+		if (!server_parse('RCPT TO: <' . $mail_to . '>', $socket, '250')) {
1494
+					return false;
1495
+		}
1496
+		if (!server_parse('DATA', $socket, '354')) {
1497
+					return false;
1498
+		}
1423 1499
 		fputs($socket, 'Subject: ' . $subject . "\r\n");
1424
-		if (strlen($mail_to) > 0)
1425
-			fputs($socket, 'To: <' . $mail_to . '>' . "\r\n");
1500
+		if (strlen($mail_to) > 0) {
1501
+					fputs($socket, 'To: <' . $mail_to . '>' . "\r\n");
1502
+		}
1426 1503
 		fputs($socket, $headers . "\r\n\r\n");
1427 1504
 		fputs($socket, $message . "\r\n");
1428 1505
 
1429 1506
 		// Send a ., or in other words "end of data".
1430
-		if (!server_parse('.', $socket, '250'))
1431
-			return false;
1507
+		if (!server_parse('.', $socket, '250')) {
1508
+					return false;
1509
+		}
1432 1510
 
1433 1511
 		// Almost done, almost done... don't stop me just yet!
1434 1512
 		@set_time_limit(300);
1435
-		if (function_exists('apache_reset_timeout'))
1436
-			@apache_reset_timeout();
1513
+		if (function_exists('apache_reset_timeout')) {
1514
+					@apache_reset_timeout();
1515
+		}
1437 1516
 	}
1438 1517
 	fputs($socket, 'QUIT' . "\r\n");
1439 1518
 	fclose($socket);
@@ -1457,8 +1536,9 @@  discard block
 block discarded – undo
1457 1536
 {
1458 1537
 	global $txt;
1459 1538
 
1460
-	if ($message !== null)
1461
-		fputs($socket, $message . "\r\n");
1539
+	if ($message !== null) {
1540
+			fputs($socket, $message . "\r\n");
1541
+	}
1462 1542
 
1463 1543
 	// No response yet.
1464 1544
 	$server_response = '';
@@ -1474,8 +1554,9 @@  discard block
 block discarded – undo
1474 1554
 		$response .= $server_response;
1475 1555
 	}
1476 1556
 
1477
-	if ($code === null)
1478
-		return substr($server_response, 0, 3);
1557
+	if ($code === null) {
1558
+			return substr($server_response, 0, 3);
1559
+	}
1479 1560
 
1480 1561
 	if (substr($server_response, 0, 3) != $code)
1481 1562
 	{
@@ -1505,8 +1586,9 @@  discard block
 block discarded – undo
1505 1586
 	// Create a pspell or enchant dictionary resource
1506 1587
 	$dict = spell_init();
1507 1588
 
1508
-	if (!isset($_POST['spellstring']) || !$dict)
1509
-		die;
1589
+	if (!isset($_POST['spellstring']) || !$dict) {
1590
+			die;
1591
+	}
1510 1592
 
1511 1593
 	// Construct a bit of Javascript code.
1512 1594
 	$context['spell_js'] = '
@@ -1524,8 +1606,9 @@  discard block
 block discarded – undo
1524 1606
 		$check_word = explode('|', $alphas[$i]);
1525 1607
 
1526 1608
 		// If the word is a known word, or spelled right...
1527
-		if (in_array($smcFunc['strtolower']($check_word[0]), $known_words) || spell_check($dict, $check_word[0]) || !isset($check_word[2]))
1528
-			continue;
1609
+		if (in_array($smcFunc['strtolower']($check_word[0]), $known_words) || spell_check($dict, $check_word[0]) || !isset($check_word[2])) {
1610
+					continue;
1611
+		}
1529 1612
 
1530 1613
 		// Find the word, and move up the "last occurrence" to here.
1531 1614
 		$found_words = true;
@@ -1539,20 +1622,23 @@  discard block
 block discarded – undo
1539 1622
 		if (!empty($suggestions))
1540 1623
 		{
1541 1624
 			// But first check they aren't going to be censored - no naughty words!
1542
-			foreach ($suggestions as $k => $word)
1543
-				if ($suggestions[$k] != censorText($word))
1625
+			foreach ($suggestions as $k => $word) {
1626
+							if ($suggestions[$k] != censorText($word))
1544 1627
 					unset($suggestions[$k]);
1628
+			}
1545 1629
 
1546
-			if (!empty($suggestions))
1547
-				$context['spell_js'] .= '"' . implode('", "', $suggestions) . '"';
1630
+			if (!empty($suggestions)) {
1631
+							$context['spell_js'] .= '"' . implode('", "', $suggestions) . '"';
1632
+			}
1548 1633
 		}
1549 1634
 
1550 1635
 		$context['spell_js'] .= ']),';
1551 1636
 	}
1552 1637
 
1553 1638
 	// If words were found, take off the last comma.
1554
-	if ($found_words)
1555
-		$context['spell_js'] = substr($context['spell_js'], 0, -1);
1639
+	if ($found_words) {
1640
+			$context['spell_js'] = substr($context['spell_js'], 0, -1);
1641
+	}
1556 1642
 
1557 1643
 	$context['spell_js'] .= '
1558 1644
 		);';
@@ -1587,11 +1673,13 @@  discard block
 block discarded – undo
1587 1673
 	global $user_info, $smcFunc;
1588 1674
 
1589 1675
 	// Can't do it if there's no topics.
1590
-	if (empty($topics))
1591
-		return;
1676
+	if (empty($topics)) {
1677
+			return;
1678
+	}
1592 1679
 	// It must be an array - it must!
1593
-	if (!is_array($topics))
1594
-		$topics = array($topics);
1680
+	if (!is_array($topics)) {
1681
+			$topics = array($topics);
1682
+	}
1595 1683
 
1596 1684
 	// Get the subject and body...
1597 1685
 	$result = $smcFunc['db_query']('', '
@@ -1639,14 +1727,15 @@  discard block
 block discarded – undo
1639 1727
 	}
1640 1728
 	$smcFunc['db_free_result']($result);
1641 1729
 
1642
-	if (!empty($task_rows))
1643
-		$smcFunc['db_insert']('',
1730
+	if (!empty($task_rows)) {
1731
+			$smcFunc['db_insert']('',
1644 1732
 			'{db_prefix}background_tasks',
1645 1733
 			array('task_file' => 'string', 'task_class' => 'string', 'task_data' => 'string', 'claimed_time' => 'int'),
1646 1734
 			$task_rows,
1647 1735
 			array('id_task')
1648 1736
 		);
1649
-}
1737
+	}
1738
+	}
1650 1739
 
1651 1740
 /**
1652 1741
  * Create a post, either as new topic (id_topic = 0) or in an existing one.
@@ -1684,9 +1773,9 @@  discard block
 block discarded – undo
1684 1773
 	$msgOptions['send_notifications'] = isset($msgOptions['send_notifications']) ? (bool) $msgOptions['send_notifications'] : true;
1685 1774
 
1686 1775
 	// We need to know if the topic is approved. If we're told that's great - if not find out.
1687
-	if (!$modSettings['postmod_active'])
1688
-		$topicOptions['is_approved'] = true;
1689
-	elseif (!empty($topicOptions['id']) && !isset($topicOptions['is_approved']))
1776
+	if (!$modSettings['postmod_active']) {
1777
+			$topicOptions['is_approved'] = true;
1778
+	} elseif (!empty($topicOptions['id']) && !isset($topicOptions['is_approved']))
1690 1779
 	{
1691 1780
 		$request = $smcFunc['db_query']('', '
1692 1781
 			SELECT approved
@@ -1709,8 +1798,7 @@  discard block
 block discarded – undo
1709 1798
 			$posterOptions['id'] = 0;
1710 1799
 			$posterOptions['name'] = $txt['guest_title'];
1711 1800
 			$posterOptions['email'] = '';
1712
-		}
1713
-		elseif ($posterOptions['id'] != $user_info['id'])
1801
+		} elseif ($posterOptions['id'] != $user_info['id'])
1714 1802
 		{
1715 1803
 			$request = $smcFunc['db_query']('', '
1716 1804
 				SELECT member_name, email_address
@@ -1728,12 +1816,11 @@  discard block
 block discarded – undo
1728 1816
 				$posterOptions['id'] = 0;
1729 1817
 				$posterOptions['name'] = $txt['guest_title'];
1730 1818
 				$posterOptions['email'] = '';
1819
+			} else {
1820
+							list ($posterOptions['name'], $posterOptions['email']) = $smcFunc['db_fetch_row']($request);
1731 1821
 			}
1732
-			else
1733
-				list ($posterOptions['name'], $posterOptions['email']) = $smcFunc['db_fetch_row']($request);
1734 1822
 			$smcFunc['db_free_result']($request);
1735
-		}
1736
-		else
1823
+		} else
1737 1824
 		{
1738 1825
 			$posterOptions['name'] = $user_info['name'];
1739 1826
 			$posterOptions['email'] = $user_info['email'];
@@ -1743,8 +1830,9 @@  discard block
 block discarded – undo
1743 1830
 	if (!empty($modSettings['enable_mentions']))
1744 1831
 	{
1745 1832
 		$msgOptions['mentioned_members'] = Mentions::getMentionedMembers($msgOptions['body']);
1746
-		if (!empty($msgOptions['mentioned_members']))
1747
-			$msgOptions['body'] = Mentions::getBody($msgOptions['body'], $msgOptions['mentioned_members']);
1833
+		if (!empty($msgOptions['mentioned_members'])) {
1834
+					$msgOptions['body'] = Mentions::getBody($msgOptions['body'], $msgOptions['mentioned_members']);
1835
+		}
1748 1836
 	}
1749 1837
 
1750 1838
 	// It's do or die time: forget any user aborts!
@@ -1777,12 +1865,13 @@  discard block
 block discarded – undo
1777 1865
 	$msgOptions['id'] = $smcFunc['db_insert_id']('{db_prefix}messages', 'id_msg');
1778 1866
 
1779 1867
 	// Something went wrong creating the message...
1780
-	if (empty($msgOptions['id']))
1781
-		return false;
1868
+	if (empty($msgOptions['id'])) {
1869
+			return false;
1870
+	}
1782 1871
 
1783 1872
 	// Fix the attachments.
1784
-	if (!empty($msgOptions['attachments']))
1785
-		$smcFunc['db_query']('', '
1873
+	if (!empty($msgOptions['attachments'])) {
1874
+			$smcFunc['db_query']('', '
1786 1875
 			UPDATE {db_prefix}attachments
1787 1876
 			SET id_msg = {int:id_msg}
1788 1877
 			WHERE id_attach IN ({array_int:attachment_list})',
@@ -1791,6 +1880,7 @@  discard block
 block discarded – undo
1791 1880
 				'id_msg' => $msgOptions['id'],
1792 1881
 			)
1793 1882
 		);
1883
+	}
1794 1884
 
1795 1885
 	// What if we want to export new posts out to a CMS?
1796 1886
 	call_integration_hook('integrate_after_create_post', array($msgOptions, $topicOptions, $posterOptions, $message_columns, $message_parameters));
@@ -1868,20 +1958,23 @@  discard block
 block discarded – undo
1868 1958
 			'counter_increment' => 1,
1869 1959
 		);
1870 1960
 		$topics_columns = array();
1871
-		if ($msgOptions['approved'])
1872
-			$topics_columns = array(
1961
+		if ($msgOptions['approved']) {
1962
+					$topics_columns = array(
1873 1963
 				'id_member_updated = {int:poster_id}',
1874 1964
 				'id_last_msg = {int:id_msg}',
1875 1965
 				'num_replies = num_replies + {int:counter_increment}',
1876 1966
 			);
1877
-		else
1878
-			$topics_columns = array(
1967
+		} else {
1968
+					$topics_columns = array(
1879 1969
 				'unapproved_posts = unapproved_posts + {int:counter_increment}',
1880 1970
 			);
1881
-		if ($topicOptions['lock_mode'] !== null)
1882
-			$topics_columns[] = 'locked = {int:locked}';
1883
-		if ($topicOptions['sticky_mode'] !== null)
1884
-			$topics_columns[] = 'is_sticky = {int:is_sticky}';
1971
+		}
1972
+		if ($topicOptions['lock_mode'] !== null) {
1973
+					$topics_columns[] = 'locked = {int:locked}';
1974
+		}
1975
+		if ($topicOptions['sticky_mode'] !== null) {
1976
+					$topics_columns[] = 'is_sticky = {int:is_sticky}';
1977
+		}
1885 1978
 
1886 1979
 		call_integration_hook('integrate_modify_topic', array(&$topics_columns, &$update_parameters, &$msgOptions, &$topicOptions, &$posterOptions));
1887 1980
 
@@ -1910,8 +2003,8 @@  discard block
 block discarded – undo
1910 2003
 	);
1911 2004
 
1912 2005
 	// Increase the number of posts and topics on the board.
1913
-	if ($msgOptions['approved'])
1914
-		$smcFunc['db_query']('', '
2006
+	if ($msgOptions['approved']) {
2007
+			$smcFunc['db_query']('', '
1915 2008
 			UPDATE {db_prefix}boards
1916 2009
 			SET num_posts = num_posts + 1' . ($new_topic ? ', num_topics = num_topics + 1' : '') . '
1917 2010
 			WHERE id_board = {int:id_board}',
@@ -1919,7 +2012,7 @@  discard block
 block discarded – undo
1919 2012
 				'id_board' => $topicOptions['board'],
1920 2013
 			)
1921 2014
 		);
1922
-	else
2015
+	} else
1923 2016
 	{
1924 2017
 		$smcFunc['db_query']('', '
1925 2018
 			UPDATE {db_prefix}boards
@@ -1989,8 +2082,8 @@  discard block
 block discarded – undo
1989 2082
 		}
1990 2083
 	}
1991 2084
 
1992
-	if ($msgOptions['approved'] && empty($topicOptions['is_approved']))
1993
-		$smcFunc['db_insert']('',
2085
+	if ($msgOptions['approved'] && empty($topicOptions['is_approved'])) {
2086
+			$smcFunc['db_insert']('',
1994 2087
 			'{db_prefix}background_tasks',
1995 2088
 			array('task_file' => 'string', 'task_class' => 'string', 'task_data' => 'string', 'claimed_time' => 'int'),
1996 2089
 			array(
@@ -2002,19 +2095,22 @@  discard block
 block discarded – undo
2002 2095
 			),
2003 2096
 			array('id_task')
2004 2097
 		);
2098
+	}
2005 2099
 
2006 2100
 	// If there's a custom search index, it may need updating...
2007 2101
 	require_once($sourcedir . '/Search.php');
2008 2102
 	$searchAPI = findSearchAPI();
2009
-	if (is_callable(array($searchAPI, 'postCreated')))
2010
-		$searchAPI->postCreated($msgOptions, $topicOptions, $posterOptions);
2103
+	if (is_callable(array($searchAPI, 'postCreated'))) {
2104
+			$searchAPI->postCreated($msgOptions, $topicOptions, $posterOptions);
2105
+	}
2011 2106
 
2012 2107
 	// Increase the post counter for the user that created the post.
2013 2108
 	if (!empty($posterOptions['update_post_count']) && !empty($posterOptions['id']) && $msgOptions['approved'])
2014 2109
 	{
2015 2110
 		// Are you the one that happened to create this post?
2016
-		if ($user_info['id'] == $posterOptions['id'])
2017
-			$user_info['posts']++;
2111
+		if ($user_info['id'] == $posterOptions['id']) {
2112
+					$user_info['posts']++;
2113
+		}
2018 2114
 		updateMemberData($posterOptions['id'], array('posts' => '+'));
2019 2115
 	}
2020 2116
 
@@ -2022,19 +2118,21 @@  discard block
 block discarded – undo
2022 2118
 	$_SESSION['last_read_topic'] = 0;
2023 2119
 
2024 2120
 	// Better safe than sorry.
2025
-	if (isset($_SESSION['topicseen_cache'][$topicOptions['board']]))
2026
-		$_SESSION['topicseen_cache'][$topicOptions['board']]--;
2121
+	if (isset($_SESSION['topicseen_cache'][$topicOptions['board']])) {
2122
+			$_SESSION['topicseen_cache'][$topicOptions['board']]--;
2123
+	}
2027 2124
 
2028 2125
 	// Update all the stats so everyone knows about this new topic and message.
2029 2126
 	updateStats('message', true, $msgOptions['id']);
2030 2127
 
2031 2128
 	// Update the last message on the board assuming it's approved AND the topic is.
2032
-	if ($msgOptions['approved'])
2033
-		updateLastMessages($topicOptions['board'], $new_topic || !empty($topicOptions['is_approved']) ? $msgOptions['id'] : 0);
2129
+	if ($msgOptions['approved']) {
2130
+			updateLastMessages($topicOptions['board'], $new_topic || !empty($topicOptions['is_approved']) ? $msgOptions['id'] : 0);
2131
+	}
2034 2132
 
2035 2133
 	// Queue createPost background notification
2036
-	if ($msgOptions['send_notifications'] && $msgOptions['approved'])
2037
-		$smcFunc['db_insert']('',
2134
+	if ($msgOptions['send_notifications'] && $msgOptions['approved']) {
2135
+			$smcFunc['db_insert']('',
2038 2136
 			'{db_prefix}background_tasks',
2039 2137
 			array('task_file' => 'string', 'task_class' => 'string', 'task_data' => 'string', 'claimed_time' => 'int'),
2040 2138
 			array('$sourcedir/tasks/CreatePost-Notify.php', 'CreatePost_Notify_Background', json_encode(array(
@@ -2045,6 +2143,7 @@  discard block
 block discarded – undo
2045 2143
 			)), 0),
2046 2144
 			array('id_task')
2047 2145
 		);
2146
+	}
2048 2147
 
2049 2148
 	// Alright, done now... we can abort now, I guess... at least this much is done.
2050 2149
 	ignore_user_abort($previous_ignore_user_abort);
@@ -2071,14 +2170,18 @@  discard block
 block discarded – undo
2071 2170
 
2072 2171
 	// This is longer than it has to be, but makes it so we only set/change what we have to.
2073 2172
 	$messages_columns = array();
2074
-	if (isset($posterOptions['name']))
2075
-		$messages_columns['poster_name'] = $posterOptions['name'];
2076
-	if (isset($posterOptions['email']))
2077
-		$messages_columns['poster_email'] = $posterOptions['email'];
2078
-	if (isset($msgOptions['icon']))
2079
-		$messages_columns['icon'] = $msgOptions['icon'];
2080
-	if (isset($msgOptions['subject']))
2081
-		$messages_columns['subject'] = $msgOptions['subject'];
2173
+	if (isset($posterOptions['name'])) {
2174
+			$messages_columns['poster_name'] = $posterOptions['name'];
2175
+	}
2176
+	if (isset($posterOptions['email'])) {
2177
+			$messages_columns['poster_email'] = $posterOptions['email'];
2178
+	}
2179
+	if (isset($msgOptions['icon'])) {
2180
+			$messages_columns['icon'] = $msgOptions['icon'];
2181
+	}
2182
+	if (isset($msgOptions['subject'])) {
2183
+			$messages_columns['subject'] = $msgOptions['subject'];
2184
+	}
2082 2185
 	if (isset($msgOptions['body']))
2083 2186
 	{
2084 2187
 		$messages_columns['body'] = $msgOptions['body'];
@@ -2105,8 +2208,9 @@  discard block
 block discarded – undo
2105 2208
 		$messages_columns['modified_reason'] = $msgOptions['modify_reason'];
2106 2209
 		$messages_columns['id_msg_modified'] = $modSettings['maxMsgID'];
2107 2210
 	}
2108
-	if (isset($msgOptions['smileys_enabled']))
2109
-		$messages_columns['smileys_enabled'] = empty($msgOptions['smileys_enabled']) ? 0 : 1;
2211
+	if (isset($msgOptions['smileys_enabled'])) {
2212
+			$messages_columns['smileys_enabled'] = empty($msgOptions['smileys_enabled']) ? 0 : 1;
2213
+	}
2110 2214
 
2111 2215
 	// Which columns need to be ints?
2112 2216
 	$messageInts = array('modified_time', 'id_msg_modified', 'smileys_enabled');
@@ -2124,23 +2228,27 @@  discard block
 block discarded – undo
2124 2228
 		{
2125 2229
 			preg_match_all('/\[member\=([0-9]+)\]([^\[]*)\[\/member\]/U', $msgOptions['old_body'], $match);
2126 2230
 
2127
-			if (isset($match[1]) && isset($match[2]) && is_array($match[1]) && is_array($match[2]))
2128
-				foreach ($match[1] as $i => $oldID)
2231
+			if (isset($match[1]) && isset($match[2]) && is_array($match[1]) && is_array($match[2])) {
2232
+							foreach ($match[1] as $i => $oldID)
2129 2233
 					$oldmentions[$oldID] = array('id' => $oldID, 'real_name' => $match[2][$i]);
2234
+			}
2130 2235
 
2131
-			if (empty($modSettings['search_custom_index_config']))
2132
-				unset($msgOptions['old_body']);
2236
+			if (empty($modSettings['search_custom_index_config'])) {
2237
+							unset($msgOptions['old_body']);
2238
+			}
2133 2239
 		}
2134 2240
 
2135 2241
 		$mentions = Mentions::getMentionedMembers($msgOptions['body']);
2136 2242
 		$messages_columns['body'] = $msgOptions['body'] = Mentions::getBody($msgOptions['body'], $mentions);
2137 2243
 
2138 2244
 		// Remove the poster.
2139
-		if (isset($mentions[$user_info['id']]))
2140
-			unset($mentions[$user_info['id']]);
2245
+		if (isset($mentions[$user_info['id']])) {
2246
+					unset($mentions[$user_info['id']]);
2247
+		}
2141 2248
 
2142
-		if (isset($oldmentions[$user_info['id']]))
2143
-			unset($oldmentions[$user_info['id']]);
2249
+		if (isset($oldmentions[$user_info['id']])) {
2250
+					unset($oldmentions[$user_info['id']]);
2251
+		}
2144 2252
 
2145 2253
 		if (is_array($mentions) && is_array($oldmentions) && count(array_diff_key($mentions, $oldmentions)) > 0 && count($mentions) > count($oldmentions))
2146 2254
 		{
@@ -2170,8 +2278,9 @@  discard block
 block discarded – undo
2170 2278
 	}
2171 2279
 
2172 2280
 	// Nothing to do?
2173
-	if (empty($messages_columns))
2174
-		return true;
2281
+	if (empty($messages_columns)) {
2282
+			return true;
2283
+	}
2175 2284
 
2176 2285
 	// Change the post.
2177 2286
 	$smcFunc['db_query']('', '
@@ -2232,8 +2341,9 @@  discard block
 block discarded – undo
2232 2341
 	// If there's a custom search index, it needs to be modified...
2233 2342
 	require_once($sourcedir . '/Search.php');
2234 2343
 	$searchAPI = findSearchAPI();
2235
-	if (is_callable(array($searchAPI, 'postModified')))
2236
-		$searchAPI->postModified($msgOptions, $topicOptions, $posterOptions);
2344
+	if (is_callable(array($searchAPI, 'postModified'))) {
2345
+			$searchAPI->postModified($msgOptions, $topicOptions, $posterOptions);
2346
+	}
2237 2347
 
2238 2348
 	if (isset($msgOptions['subject']))
2239 2349
 	{
@@ -2247,14 +2357,16 @@  discard block
 block discarded – undo
2247 2357
 				'id_first_msg' => $msgOptions['id'],
2248 2358
 			)
2249 2359
 		);
2250
-		if ($smcFunc['db_num_rows']($request) == 1)
2251
-			updateStats('subject', $topicOptions['id'], $msgOptions['subject']);
2360
+		if ($smcFunc['db_num_rows']($request) == 1) {
2361
+					updateStats('subject', $topicOptions['id'], $msgOptions['subject']);
2362
+		}
2252 2363
 		$smcFunc['db_free_result']($request);
2253 2364
 	}
2254 2365
 
2255 2366
 	// Finally, if we are setting the approved state we need to do much more work :(
2256
-	if ($modSettings['postmod_active'] && isset($msgOptions['approved']))
2257
-		approvePosts($msgOptions['id'], $msgOptions['approved']);
2367
+	if ($modSettings['postmod_active'] && isset($msgOptions['approved'])) {
2368
+			approvePosts($msgOptions['id'], $msgOptions['approved']);
2369
+	}
2258 2370
 
2259 2371
 	return true;
2260 2372
 }
@@ -2271,11 +2383,13 @@  discard block
 block discarded – undo
2271 2383
 {
2272 2384
 	global $smcFunc;
2273 2385
 
2274
-	if (!is_array($msgs))
2275
-		$msgs = array($msgs);
2386
+	if (!is_array($msgs)) {
2387
+			$msgs = array($msgs);
2388
+	}
2276 2389
 
2277
-	if (empty($msgs))
2278
-		return false;
2390
+	if (empty($msgs)) {
2391
+			return false;
2392
+	}
2279 2393
 
2280 2394
 	// May as well start at the beginning, working out *what* we need to change.
2281 2395
 	$request = $smcFunc['db_query']('', '
@@ -2307,20 +2421,22 @@  discard block
 block discarded – undo
2307 2421
 		$topics[] = $row['id_topic'];
2308 2422
 
2309 2423
 		// Ensure our change array exists already.
2310
-		if (!isset($topic_changes[$row['id_topic']]))
2311
-			$topic_changes[$row['id_topic']] = array(
2424
+		if (!isset($topic_changes[$row['id_topic']])) {
2425
+					$topic_changes[$row['id_topic']] = array(
2312 2426
 				'id_last_msg' => $row['id_last_msg'],
2313 2427
 				'approved' => $row['topic_approved'],
2314 2428
 				'replies' => 0,
2315 2429
 				'unapproved_posts' => 0,
2316 2430
 			);
2317
-		if (!isset($board_changes[$row['id_board']]))
2318
-			$board_changes[$row['id_board']] = array(
2431
+		}
2432
+		if (!isset($board_changes[$row['id_board']])) {
2433
+					$board_changes[$row['id_board']] = array(
2319 2434
 				'posts' => 0,
2320 2435
 				'topics' => 0,
2321 2436
 				'unapproved_posts' => 0,
2322 2437
 				'unapproved_topics' => 0,
2323 2438
 			);
2439
+		}
2324 2440
 
2325 2441
 		// If it's the first message then the topic state changes!
2326 2442
 		if ($row['id_msg'] == $row['id_first_msg'])
@@ -2341,14 +2457,13 @@  discard block
 block discarded – undo
2341 2457
 				'poster' => $row['id_member'],
2342 2458
 				'new_topic' => true,
2343 2459
 			);
2344
-		}
2345
-		else
2460
+		} else
2346 2461
 		{
2347 2462
 			$topic_changes[$row['id_topic']]['replies'] += $approve ? 1 : -1;
2348 2463
 
2349 2464
 			// This will be a post... but don't notify unless it's not followed by approved ones.
2350
-			if ($row['id_msg'] > $row['id_last_msg'])
2351
-				$notification_posts[$row['id_topic']] = array(
2465
+			if ($row['id_msg'] > $row['id_last_msg']) {
2466
+							$notification_posts[$row['id_topic']] = array(
2352 2467
 					'id' => $row['id_msg'],
2353 2468
 					'body' => $row['body'],
2354 2469
 					'subject' => $row['subject'],
@@ -2359,28 +2474,33 @@  discard block
 block discarded – undo
2359 2474
 					'new_topic' => false,
2360 2475
 					'msg' => $row['id_msg'],
2361 2476
 				);
2477
+			}
2362 2478
 		}
2363 2479
 
2364 2480
 		// If this is being approved and id_msg is higher than the current id_last_msg then it changes.
2365
-		if ($approve && $row['id_msg'] > $topic_changes[$row['id_topic']]['id_last_msg'])
2366
-			$topic_changes[$row['id_topic']]['id_last_msg'] = $row['id_msg'];
2481
+		if ($approve && $row['id_msg'] > $topic_changes[$row['id_topic']]['id_last_msg']) {
2482
+					$topic_changes[$row['id_topic']]['id_last_msg'] = $row['id_msg'];
2483
+		}
2367 2484
 		// If this is being unapproved, and it's equal to the id_last_msg we need to find a new one!
2368
-		elseif (!$approve)
2369
-			// Default to the first message and then we'll override in a bit ;)
2485
+		elseif (!$approve) {
2486
+					// Default to the first message and then we'll override in a bit ;)
2370 2487
 			$topic_changes[$row['id_topic']]['id_last_msg'] = $row['id_first_msg'];
2488
+		}
2371 2489
 
2372 2490
 		$topic_changes[$row['id_topic']]['unapproved_posts'] += $approve ? -1 : 1;
2373 2491
 		$board_changes[$row['id_board']]['unapproved_posts'] += $approve ? -1 : 1;
2374 2492
 		$board_changes[$row['id_board']]['posts'] += $approve ? 1 : -1;
2375 2493
 
2376 2494
 		// Post count for the user?
2377
-		if ($row['id_member'] && empty($row['count_posts']))
2378
-			$member_post_changes[$row['id_member']] = isset($member_post_changes[$row['id_member']]) ? $member_post_changes[$row['id_member']] + 1 : 1;
2495
+		if ($row['id_member'] && empty($row['count_posts'])) {
2496
+					$member_post_changes[$row['id_member']] = isset($member_post_changes[$row['id_member']]) ? $member_post_changes[$row['id_member']] + 1 : 1;
2497
+		}
2379 2498
 	}
2380 2499
 	$smcFunc['db_free_result']($request);
2381 2500
 
2382
-	if (empty($msgs))
2383
-		return;
2501
+	if (empty($msgs)) {
2502
+			return;
2503
+	}
2384 2504
 
2385 2505
 	// Now we have the differences make the changes, first the easy one.
2386 2506
 	$smcFunc['db_query']('', '
@@ -2407,14 +2527,15 @@  discard block
 block discarded – undo
2407 2527
 				'approved' => 1,
2408 2528
 			)
2409 2529
 		);
2410
-		while ($row = $smcFunc['db_fetch_assoc']($request))
2411
-			$topic_changes[$row['id_topic']]['id_last_msg'] = $row['id_last_msg'];
2530
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
2531
+					$topic_changes[$row['id_topic']]['id_last_msg'] = $row['id_last_msg'];
2532
+		}
2412 2533
 		$smcFunc['db_free_result']($request);
2413 2534
 	}
2414 2535
 
2415 2536
 	// ... next the topics...
2416
-	foreach ($topic_changes as $id => $changes)
2417
-		$smcFunc['db_query']('', '
2537
+	foreach ($topic_changes as $id => $changes) {
2538
+			$smcFunc['db_query']('', '
2418 2539
 			UPDATE {db_prefix}topics
2419 2540
 			SET approved = {int:approved}, unapproved_posts = unapproved_posts + {int:unapproved_posts},
2420 2541
 				num_replies = num_replies + {int:num_replies}, id_last_msg = {int:id_last_msg}
@@ -2427,10 +2548,11 @@  discard block
 block discarded – undo
2427 2548
 				'id_topic' => $id,
2428 2549
 			)
2429 2550
 		);
2551
+	}
2430 2552
 
2431 2553
 	// ... finally the boards...
2432
-	foreach ($board_changes as $id => $changes)
2433
-		$smcFunc['db_query']('', '
2554
+	foreach ($board_changes as $id => $changes) {
2555
+			$smcFunc['db_query']('', '
2434 2556
 			UPDATE {db_prefix}boards
2435 2557
 			SET num_posts = num_posts + {int:num_posts}, unapproved_posts = unapproved_posts + {int:unapproved_posts},
2436 2558
 				num_topics = num_topics + {int:num_topics}, unapproved_topics = unapproved_topics + {int:unapproved_topics}
@@ -2443,13 +2565,14 @@  discard block
 block discarded – undo
2443 2565
 				'id_board' => $id,
2444 2566
 			)
2445 2567
 		);
2568
+	}
2446 2569
 
2447 2570
 	// Finally, least importantly, notifications!
2448 2571
 	if ($approve)
2449 2572
 	{
2450 2573
 		$task_rows = array();
2451
-		foreach (array_merge($notification_topics, $notification_posts) as $topic)
2452
-			$task_rows[] = array(
2574
+		foreach (array_merge($notification_topics, $notification_posts) as $topic) {
2575
+					$task_rows[] = array(
2453 2576
 				'$sourcedir/tasks/CreatePost-Notify.php', 'CreatePost_Notify_Background', json_encode(array(
2454 2577
 					'msgOptions' => array(
2455 2578
 						'id' => $topic['msg'],
@@ -2467,14 +2590,16 @@  discard block
 block discarded – undo
2467 2590
 					'type' => $topic['new_topic'] ? 'topic' : 'reply',
2468 2591
 				)), 0
2469 2592
 			);
2593
+		}
2470 2594
 
2471
-		if ($notify)
2472
-			$smcFunc['db_insert']('',
2595
+		if ($notify) {
2596
+					$smcFunc['db_insert']('',
2473 2597
 				'{db_prefix}background_tasks',
2474 2598
 				array('task_file' => 'string', 'task_class' => 'string', 'task_data' => 'string', 'claimed_time' => 'int'),
2475 2599
 				$task_rows,
2476 2600
 				array('id_task')
2477 2601
 			);
2602
+		}
2478 2603
 
2479 2604
 		$smcFunc['db_query']('', '
2480 2605
 			DELETE FROM {db_prefix}approval_queue
@@ -2490,8 +2615,9 @@  discard block
 block discarded – undo
2490 2615
 	else
2491 2616
 	{
2492 2617
 		$msgInserts = array();
2493
-		foreach ($msgs as $msg)
2494
-			$msgInserts[] = array($msg);
2618
+		foreach ($msgs as $msg) {
2619
+					$msgInserts[] = array($msg);
2620
+		}
2495 2621
 
2496 2622
 		$smcFunc['db_insert']('ignore',
2497 2623
 			'{db_prefix}approval_queue',
@@ -2505,9 +2631,10 @@  discard block
 block discarded – undo
2505 2631
 	updateLastMessages(array_keys($board_changes));
2506 2632
 
2507 2633
 	// Post count for the members?
2508
-	if (!empty($member_post_changes))
2509
-		foreach ($member_post_changes as $id_member => $count_change)
2634
+	if (!empty($member_post_changes)) {
2635
+			foreach ($member_post_changes as $id_member => $count_change)
2510 2636
 			updateMemberData($id_member, array('posts' => 'posts ' . ($approve ? '+' : '-') . ' ' . $count_change));
2637
+	}
2511 2638
 
2512 2639
 	return true;
2513 2640
 }
@@ -2524,11 +2651,13 @@  discard block
 block discarded – undo
2524 2651
 {
2525 2652
 	global $smcFunc;
2526 2653
 
2527
-	if (!is_array($topics))
2528
-		$topics = array($topics);
2654
+	if (!is_array($topics)) {
2655
+			$topics = array($topics);
2656
+	}
2529 2657
 
2530
-	if (empty($topics))
2531
-		return false;
2658
+	if (empty($topics)) {
2659
+			return false;
2660
+	}
2532 2661
 
2533 2662
 	$approve_type = $approve ? 0 : 1;
2534 2663
 
@@ -2544,8 +2673,9 @@  discard block
 block discarded – undo
2544 2673
 		)
2545 2674
 	);
2546 2675
 	$msgs = array();
2547
-	while ($row = $smcFunc['db_fetch_assoc']($request))
2548
-		$msgs[] = $row['id_msg'];
2676
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
2677
+			$msgs[] = $row['id_msg'];
2678
+	}
2549 2679
 	$smcFunc['db_free_result']($request);
2550 2680
 
2551 2681
 	return approvePosts($msgs, $approve);
@@ -2568,11 +2698,13 @@  discard block
 block discarded – undo
2568 2698
 	global $board_info, $board, $smcFunc;
2569 2699
 
2570 2700
 	// Please - let's be sane.
2571
-	if (empty($setboards))
2572
-		return false;
2701
+	if (empty($setboards)) {
2702
+			return false;
2703
+	}
2573 2704
 
2574
-	if (!is_array($setboards))
2575
-		$setboards = array($setboards);
2705
+	if (!is_array($setboards)) {
2706
+			$setboards = array($setboards);
2707
+	}
2576 2708
 
2577 2709
 	// If we don't know the id_msg we need to find it.
2578 2710
 	if (!$id_msg)
@@ -2590,15 +2722,16 @@  discard block
 block discarded – undo
2590 2722
 			)
2591 2723
 		);
2592 2724
 		$lastMsg = array();
2593
-		while ($row = $smcFunc['db_fetch_assoc']($request))
2594
-			$lastMsg[$row['id_board']] = $row['id_msg'];
2725
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
2726
+					$lastMsg[$row['id_board']] = $row['id_msg'];
2727
+		}
2595 2728
 		$smcFunc['db_free_result']($request);
2596
-	}
2597
-	else
2729
+	} else
2598 2730
 	{
2599 2731
 		// Just to note - there should only be one board passed if we are doing this.
2600
-		foreach ($setboards as $id_board)
2601
-			$lastMsg[$id_board] = $id_msg;
2732
+		foreach ($setboards as $id_board) {
2733
+					$lastMsg[$id_board] = $id_msg;
2734
+		}
2602 2735
 	}
2603 2736
 
2604 2737
 	$parent_boards = array();
@@ -2613,10 +2746,11 @@  discard block
 block discarded – undo
2613 2746
 			$lastModified[$id_board] = 0;
2614 2747
 		}
2615 2748
 
2616
-		if (!empty($board) && $id_board == $board)
2617
-			$parents = $board_info['parent_boards'];
2618
-		else
2619
-			$parents = getBoardParents($id_board);
2749
+		if (!empty($board) && $id_board == $board) {
2750
+					$parents = $board_info['parent_boards'];
2751
+		} else {
2752
+					$parents = getBoardParents($id_board);
2753
+		}
2620 2754
 
2621 2755
 		// Ignore any parents on the top child level.
2622 2756
 		// @todo Why?
@@ -2625,10 +2759,11 @@  discard block
 block discarded – undo
2625 2759
 			if ($parent['level'] != 0)
2626 2760
 			{
2627 2761
 				// If we're already doing this one as a board, is this a higher last modified?
2628
-				if (isset($lastModified[$id]) && $lastModified[$id_board] > $lastModified[$id])
2629
-					$lastModified[$id] = $lastModified[$id_board];
2630
-				elseif (!isset($lastModified[$id]) && (!isset($parent_boards[$id]) || $parent_boards[$id] < $lastModified[$id_board]))
2631
-					$parent_boards[$id] = $lastModified[$id_board];
2762
+				if (isset($lastModified[$id]) && $lastModified[$id_board] > $lastModified[$id]) {
2763
+									$lastModified[$id] = $lastModified[$id_board];
2764
+				} elseif (!isset($lastModified[$id]) && (!isset($parent_boards[$id]) || $parent_boards[$id] < $lastModified[$id_board])) {
2765
+									$parent_boards[$id] = $lastModified[$id_board];
2766
+				}
2632 2767
 			}
2633 2768
 		}
2634 2769
 	}
@@ -2641,23 +2776,24 @@  discard block
 block discarded – undo
2641 2776
 	// Finally, to save on queries make the changes...
2642 2777
 	foreach ($parent_boards as $id => $msg)
2643 2778
 	{
2644
-		if (!isset($parent_updates[$msg]))
2645
-			$parent_updates[$msg] = array($id);
2646
-		else
2647
-			$parent_updates[$msg][] = $id;
2779
+		if (!isset($parent_updates[$msg])) {
2780
+					$parent_updates[$msg] = array($id);
2781
+		} else {
2782
+					$parent_updates[$msg][] = $id;
2783
+		}
2648 2784
 	}
2649 2785
 
2650 2786
 	foreach ($lastMsg as $id => $msg)
2651 2787
 	{
2652
-		if (!isset($board_updates[$msg . '-' . $lastModified[$id]]))
2653
-			$board_updates[$msg . '-' . $lastModified[$id]] = array(
2788
+		if (!isset($board_updates[$msg . '-' . $lastModified[$id]])) {
2789
+					$board_updates[$msg . '-' . $lastModified[$id]] = array(
2654 2790
 				'id' => $msg,
2655 2791
 				'updated' => $lastModified[$id],
2656 2792
 				'boards' => array($id)
2657 2793
 			);
2658
-
2659
-		else
2660
-			$board_updates[$msg . '-' . $lastModified[$id]]['boards'][] = $id;
2794
+		} else {
2795
+					$board_updates[$msg . '-' . $lastModified[$id]]['boards'][] = $id;
2796
+		}
2661 2797
 	}
2662 2798
 
2663 2799
 	// Now commit the changes!
@@ -2749,11 +2885,13 @@  discard block
 block discarded – undo
2749 2885
 	global $txt, $mbname, $scripturl, $settings;
2750 2886
 
2751 2887
 	// First things first, load up the email templates language file, if we need to.
2752
-	if ($loadLang)
2753
-		loadLanguage('EmailTemplates', $lang);
2888
+	if ($loadLang) {
2889
+			loadLanguage('EmailTemplates', $lang);
2890
+	}
2754 2891
 
2755
-	if (!isset($txt[$template . '_subject']) || !isset($txt[$template . '_body']))
2756
-		fatal_lang_error('email_no_template', 'template', array($template));
2892
+	if (!isset($txt[$template . '_subject']) || !isset($txt[$template . '_body'])) {
2893
+			fatal_lang_error('email_no_template', 'template', array($template));
2894
+	}
2757 2895
 
2758 2896
 	$ret = array(
2759 2897
 		'subject' => $txt[$template . '_subject'],
@@ -2803,17 +2941,18 @@  discard block
 block discarded – undo
2803 2941
 function user_info_callback($matches)
2804 2942
 {
2805 2943
 	global $user_info;
2806
-	if (empty($matches[1]))
2807
-		return '';
2944
+	if (empty($matches[1])) {
2945
+			return '';
2946
+	}
2808 2947
 
2809 2948
 	$use_ref = true;
2810 2949
 	$ref = &$user_info;
2811 2950
 
2812 2951
 	foreach (explode('.', $matches[1]) as $index)
2813 2952
 	{
2814
-		if ($use_ref && isset($ref[$index]))
2815
-			$ref = &$ref[$index];
2816
-		else
2953
+		if ($use_ref && isset($ref[$index])) {
2954
+					$ref = &$ref[$index];
2955
+		} else
2817 2956
 		{
2818 2957
 			$use_ref = false;
2819 2958
 			break;
@@ -2850,8 +2989,7 @@  discard block
 block discarded – undo
2850 2989
 		if (!empty($lang_locale) && enchant_broker_dict_exists($context['enchant_broker'], $lang_locale))
2851 2990
 		{
2852 2991
 			$enchant_link = enchant_broker_request_dict($context['enchant_broker'], $lang_locale);
2853
-		}
2854
-		elseif (enchant_broker_dict_exists($context['enchant_broker'], $txt['lang_dictionary']))
2992
+		} elseif (enchant_broker_dict_exists($context['enchant_broker'], $txt['lang_dictionary']))
2855 2993
 		{
2856 2994
 			$enchant_link = enchant_broker_request_dict($context['enchant_broker'], $txt['lang_dictionary']);
2857 2995
 		}
@@ -2861,8 +2999,7 @@  discard block
 block discarded – undo
2861 2999
 		{
2862 3000
 			$context['provider'] = 'enchant';
2863 3001
 			return $enchant_link;
2864
-		}
2865
-		else
3002
+		} else
2866 3003
 		{
2867 3004
 			// Free up any resources used...
2868 3005
 			@enchant_broker_free($context['enchant_broker']);
@@ -2883,8 +3020,9 @@  discard block
 block discarded – undo
2883 3020
 		$pspell_link = pspell_new($txt['lang_dictionary'], $txt['lang_spelling'], '', strtr($context['character_set'], array('iso-' => 'iso', 'ISO-' => 'iso')), PSPELL_FAST | PSPELL_RUN_TOGETHER);
2884 3021
 
2885 3022
 		// Most people don't have anything but English installed... So we use English as a last resort.
2886
-		if (!$pspell_link)
2887
-			$pspell_link = pspell_new('en', '', '', '', PSPELL_FAST | PSPELL_RUN_TOGETHER);
3023
+		if (!$pspell_link) {
3024
+					$pspell_link = pspell_new('en', '', '', '', PSPELL_FAST | PSPELL_RUN_TOGETHER);
3025
+		}
2888 3026
 
2889 3027
 		error_reporting($old);
2890 3028
 		ob_end_clean();
@@ -2924,8 +3062,7 @@  discard block
 block discarded – undo
2924 3062
 			$word = iconv($txt['lang_character_set'], 'UTF-8', $word);
2925 3063
 		}
2926 3064
 		return enchant_dict_check($dict, $word);
2927
-	}
2928
-	elseif ($context['provider'] == 'pspell')
3065
+	} elseif ($context['provider'] == 'pspell')
2929 3066
 	{
2930 3067
 		return pspell_check($dict, $word);
2931 3068
 	}
@@ -2961,13 +3098,11 @@  discard block
 block discarded – undo
2961 3098
 			}
2962 3099
 
2963 3100
 			return $suggestions;
2964
-		}
2965
-		else
3101
+		} else
2966 3102
 		{
2967 3103
 			return enchant_dict_suggest($dict, $word);
2968 3104
 		}
2969
-	}
2970
-	elseif ($context['provider'] == 'pspell')
3105
+	} elseif ($context['provider'] == 'pspell')
2971 3106
 	{
2972 3107
 		return pspell_suggest($dict, $word);
2973 3108
 	}
Please login to merge, or discard this patch.
Sources/Packages.php 1 patch
Braces   +599 added lines, -484 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 3
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	die('No direct access...');
18
+}
18 19
 
19 20
 /**
20 21
  * This is the notoriously defunct package manager..... :/.
@@ -57,10 +58,11 @@  discard block
 block discarded – undo
57 58
 	);
58 59
 
59 60
 	// Work out exactly who it is we are calling.
60
-	if (isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']]))
61
-		$context['sub_action'] = $_REQUEST['sa'];
62
-	else
63
-		$context['sub_action'] = 'browse';
61
+	if (isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']])) {
62
+			$context['sub_action'] = $_REQUEST['sa'];
63
+	} else {
64
+			$context['sub_action'] = 'browse';
65
+	}
64 66
 
65 67
 	// Set up some tabs...
66 68
 	$context[$context['admin_menu_name']]['tab_data'] = array(
@@ -82,8 +84,9 @@  discard block
 block discarded – undo
82 84
 		),
83 85
 	);
84 86
 
85
-	if ($context['sub_action'] == 'browse')
86
-		loadJavaScriptFile('suggest.js', array('defer' => false), 'smf_suggest');
87
+	if ($context['sub_action'] == 'browse') {
88
+			loadJavaScriptFile('suggest.js', array('defer' => false), 'smf_suggest');
89
+	}
87 90
 
88 91
 	call_integration_hook('integrate_manage_packages', array(&$subActions));
89 92
 
@@ -99,8 +102,9 @@  discard block
 block discarded – undo
99 102
 	global $boarddir, $txt, $context, $scripturl, $sourcedir, $packagesdir, $modSettings, $smcFunc, $settings;
100 103
 
101 104
 	// You have to specify a file!!
102
-	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '')
103
-		redirectexit('action=admin;area=packages');
105
+	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '') {
106
+			redirectexit('action=admin;area=packages');
107
+	}
104 108
 	$context['filename'] = preg_replace('~[\.]+~', '.', $_REQUEST['package']);
105 109
 
106 110
 	// Do we have an existing id, for uninstalls and the like.
@@ -112,8 +116,9 @@  discard block
 block discarded – undo
112 116
 	create_chmod_control();
113 117
 
114 118
 	// Make sure temp directory exists and is empty.
115
-	if (file_exists($packagesdir . '/temp'))
116
-		deltree($packagesdir . '/temp', false);
119
+	if (file_exists($packagesdir . '/temp')) {
120
+			deltree($packagesdir . '/temp', false);
121
+	}
117 122
 
118 123
 	if (!mktree($packagesdir . '/temp', 0755))
119 124
 	{
@@ -124,8 +129,9 @@  discard block
 block discarded – undo
124 129
 			create_chmod_control(array($packagesdir . '/temp/delme.tmp'), array('destination_url' => $scripturl . '?action=admin;area=packages;sa=' . $_REQUEST['sa'] . ';package=' . $_REQUEST['package'], 'crash_on_error' => true));
125 130
 
126 131
 			deltree($packagesdir . '/temp', false);
127
-			if (!mktree($packagesdir . '/temp', 0777))
128
-				fatal_lang_error('package_cant_download', false);
132
+			if (!mktree($packagesdir . '/temp', 0777)) {
133
+							fatal_lang_error('package_cant_download', false);
134
+			}
129 135
 		}
130 136
 	}
131 137
 
@@ -151,25 +157,26 @@  discard block
 block discarded – undo
151 157
 	{
152 158
 		$context['extracted_files'] = read_tgz_file($packagesdir . '/' . $context['filename'], $packagesdir . '/temp');
153 159
 
154
-		if ($context['extracted_files'] && !file_exists($packagesdir . '/temp/package-info.xml'))
155
-			foreach ($context['extracted_files'] as $file)
160
+		if ($context['extracted_files'] && !file_exists($packagesdir . '/temp/package-info.xml')) {
161
+					foreach ($context['extracted_files'] as $file)
156 162
 				if (basename($file['filename']) == 'package-info.xml')
157 163
 				{
158 164
 					$context['base_path'] = dirname($file['filename']) . '/';
165
+		}
159 166
 					break;
160 167
 				}
161 168
 
162
-		if (!isset($context['base_path']))
163
-			$context['base_path'] = '';
164
-	}
165
-	elseif (is_dir($packagesdir . '/' . $context['filename']))
169
+		if (!isset($context['base_path'])) {
170
+					$context['base_path'] = '';
171
+		}
172
+	} elseif (is_dir($packagesdir . '/' . $context['filename']))
166 173
 	{
167 174
 		copytree($packagesdir . '/' . $context['filename'], $packagesdir . '/temp');
168 175
 		$context['extracted_files'] = listtree($packagesdir . '/temp');
169 176
 		$context['base_path'] = '';
177
+	} else {
178
+			fatal_lang_error('no_access', false);
170 179
 	}
171
-	else
172
-		fatal_lang_error('no_access', false);
173 180
 
174 181
 	// Load up any custom themes we may want to install into...
175 182
 	$request = $smcFunc['db_query']('', '
@@ -185,15 +192,17 @@  discard block
 block discarded – undo
185 192
 		)
186 193
 	);
187 194
 	$theme_paths = array();
188
-	while ($row = $smcFunc['db_fetch_assoc']($request))
189
-		$theme_paths[$row['id_theme']][$row['variable']] = $row['value'];
195
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
196
+			$theme_paths[$row['id_theme']][$row['variable']] = $row['value'];
197
+	}
190 198
 	$smcFunc['db_free_result']($request);
191 199
 
192 200
 	// Get the package info...
193 201
 	$packageInfo = getPackageInfo($context['filename']);
194 202
 
195
-	if (!is_array($packageInfo))
196
-		fatal_lang_error($packageInfo);
203
+	if (!is_array($packageInfo)) {
204
+			fatal_lang_error($packageInfo);
205
+	}
197 206
 
198 207
 	$packageInfo['filename'] = $context['filename'];
199 208
 	$context['package_name'] = isset($packageInfo['name']) ? $packageInfo['name'] : $context['filename'];
@@ -227,18 +236,19 @@  discard block
 block discarded – undo
227 236
 	$smcFunc['db_free_result']($request);
228 237
 
229 238
 	$context['database_changes'] = array();
230
-	if (isset($packageInfo['uninstall']['database']))
231
-		$context['database_changes'][] = $txt['execute_database_changes'] . ' - ' . $packageInfo['uninstall']['database'];
232
-	elseif (!empty($db_changes))
239
+	if (isset($packageInfo['uninstall']['database'])) {
240
+			$context['database_changes'][] = $txt['execute_database_changes'] . ' - ' . $packageInfo['uninstall']['database'];
241
+	} elseif (!empty($db_changes))
233 242
 	{
234 243
 		foreach ($db_changes as $change)
235 244
 		{
236
-			if (isset($change[2]) && isset($txt['package_db_' . $change[0]]))
237
-				$context['database_changes'][] = sprintf($txt['package_db_' . $change[0]], $change[1], $change[2]);
238
-			elseif (isset($txt['package_db_' . $change[0]]))
239
-				$context['database_changes'][] = sprintf($txt['package_db_' . $change[0]], $change[1]);
240
-			else
241
-				$context['database_changes'][] = $change[0] . '-' . $change[1] . (isset($change[2]) ? '-' . $change[2] : '');
245
+			if (isset($change[2]) && isset($txt['package_db_' . $change[0]])) {
246
+							$context['database_changes'][] = sprintf($txt['package_db_' . $change[0]], $change[1], $change[2]);
247
+			} elseif (isset($txt['package_db_' . $change[0]])) {
248
+							$context['database_changes'][] = sprintf($txt['package_db_' . $change[0]], $change[1]);
249
+			} else {
250
+							$context['database_changes'][] = $change[0] . '-' . $change[1] . (isset($change[2]) ? '-' . $change[2] : '');
251
+			}
242 252
 		}
243 253
 	}
244 254
 
@@ -265,31 +275,33 @@  discard block
 block discarded – undo
265 275
 		$context['themes_locked'] = true;
266 276
 
267 277
 		// Only let them uninstall themes it was installed into.
268
-		foreach ($theme_paths as $id => $data)
269
-			if ($id != 1 && !in_array($id, $old_themes))
278
+		foreach ($theme_paths as $id => $data) {
279
+					if ($id != 1 && !in_array($id, $old_themes))
270 280
 				unset($theme_paths[$id]);
271
-	}
272
-	elseif (isset($old_version) && $old_version != $packageInfo['version'])
281
+		}
282
+	} elseif (isset($old_version) && $old_version != $packageInfo['version'])
273 283
 	{
274 284
 		// Look for an upgrade...
275 285
 		$actions = parsePackageInfo($packageInfo['xml'], true, 'upgrade', $old_version);
276 286
 
277 287
 		// There was no upgrade....
278
-		if (empty($actions))
279
-			$context['is_installed'] = true;
280
-		else
288
+		if (empty($actions)) {
289
+					$context['is_installed'] = true;
290
+		} else
281 291
 		{
282 292
 			// Otherwise they can only upgrade themes from the first time around.
283
-			foreach ($theme_paths as $id => $data)
284
-				if ($id != 1 && !in_array($id, $old_themes))
293
+			foreach ($theme_paths as $id => $data) {
294
+							if ($id != 1 && !in_array($id, $old_themes))
285 295
 					unset($theme_paths[$id]);
296
+			}
286 297
 		}
298
+	} elseif (isset($old_version) && $old_version == $packageInfo['version']) {
299
+			$context['is_installed'] = true;
287 300
 	}
288
-	elseif (isset($old_version) && $old_version == $packageInfo['version'])
289
-		$context['is_installed'] = true;
290 301
 
291
-	if (!isset($old_version) || $context['is_installed'])
292
-		$actions = parsePackageInfo($packageInfo['xml'], true, 'install');
302
+	if (!isset($old_version) || $context['is_installed']) {
303
+			$actions = parsePackageInfo($packageInfo['xml'], true, 'install');
304
+	}
293 305
 
294 306
 	$context['actions'] = array();
295 307
 	$context['ftp_needed'] = false;
@@ -297,8 +309,9 @@  discard block
 block discarded – undo
297 309
 	$chmod_files = array();
298 310
 
299 311
 	// no actions found, return so we can display an error
300
-	if (empty($actions))
301
-		return;
312
+	if (empty($actions)) {
313
+			return;
314
+	}
302 315
 
303 316
 	// This will hold data about anything that can be installed in other themes.
304 317
 	$themeFinds = array(
@@ -317,14 +330,14 @@  discard block
 block discarded – undo
317 330
 		{
318 331
 			$chmod_files[] = $action['filename'];
319 332
 			continue;
320
-		}
321
-		elseif ($action['type'] == 'readme' || $action['type'] == 'license')
333
+		} elseif ($action['type'] == 'readme' || $action['type'] == 'license')
322 334
 		{
323 335
 			$type = 'package_' . $action['type'];
324
-			if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename']))
325
-				$context[$type] = $smcFunc['htmlspecialchars'](trim(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), "\n\r"));
326
-			elseif (file_exists($action['filename']))
327
-				$context[$type] = $smcFunc['htmlspecialchars'](trim(file_get_contents($action['filename']), "\n\r"));
336
+			if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename'])) {
337
+							$context[$type] = $smcFunc['htmlspecialchars'](trim(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), "\n\r"));
338
+			} elseif (file_exists($action['filename'])) {
339
+							$context[$type] = $smcFunc['htmlspecialchars'](trim(file_get_contents($action['filename']), "\n\r"));
340
+			}
328 341
 
329 342
 			if (!empty($action['parse_bbc']))
330 343
 			{
@@ -332,24 +345,24 @@  discard block
 block discarded – undo
332 345
 				$context[$type] = preg_replace('~\[[/]?html\]~i', '', $context[$type]);
333 346
 				preparsecode($context[$type]);
334 347
 				$context[$type] = parse_bbc($context[$type]);
348
+			} else {
349
+							$context[$type] = nl2br($context[$type]);
335 350
 			}
336
-			else
337
-				$context[$type] = nl2br($context[$type]);
338 351
 
339 352
 			continue;
340 353
 		}
341 354
 		// Don't show redirects.
342
-		elseif ($action['type'] == 'redirect')
343
-			continue;
344
-		elseif ($action['type'] == 'error')
355
+		elseif ($action['type'] == 'redirect') {
356
+					continue;
357
+		} elseif ($action['type'] == 'error')
345 358
 		{
346 359
 			$context['has_failure'] = true;
347
-			if (isset($action['error_msg']) && isset($action['error_var']))
348
-				$context['failure_details'] = sprintf($txt['package_will_fail_' . $action['error_msg']], $action['error_var']);
349
-			elseif (isset($action['error_msg']))
350
-				$context['failure_details'] = isset($txt['package_will_fail_' . $action['error_msg']]) ? $txt['package_will_fail_' . $action['error_msg']] : $action['error_msg'];
351
-		}
352
-		elseif ($action['type'] == 'modification')
360
+			if (isset($action['error_msg']) && isset($action['error_var'])) {
361
+							$context['failure_details'] = sprintf($txt['package_will_fail_' . $action['error_msg']], $action['error_var']);
362
+			} elseif (isset($action['error_msg'])) {
363
+							$context['failure_details'] = isset($txt['package_will_fail_' . $action['error_msg']]) ? $txt['package_will_fail_' . $action['error_msg']] : $action['error_msg'];
364
+			}
365
+		} elseif ($action['type'] == 'modification')
353 366
 		{
354 367
 			if (!file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename']))
355 368
 			{
@@ -361,52 +374,54 @@  discard block
 block discarded – undo
361 374
 					'description' => $txt['package_action_missing'],
362 375
 					'failed' => true,
363 376
 				);
364
-			}
365
-			else
377
+			} else
366 378
 			{
367 379
 
368
-				if ($action['boardmod'])
369
-					$mod_actions = parseBoardMod(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), true, $action['reverse'], $theme_paths);
370
-				else
371
-					$mod_actions = parseModification(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), true, $action['reverse'], $theme_paths);
380
+				if ($action['boardmod']) {
381
+									$mod_actions = parseBoardMod(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), true, $action['reverse'], $theme_paths);
382
+				} else {
383
+									$mod_actions = parseModification(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), true, $action['reverse'], $theme_paths);
384
+				}
372 385
 
373
-				if (count($mod_actions) == 1 && isset($mod_actions[0]) && $mod_actions[0]['type'] == 'error' && $mod_actions[0]['filename'] == '-')
374
-					$mod_actions[0]['filename'] = $action['filename'];
386
+				if (count($mod_actions) == 1 && isset($mod_actions[0]) && $mod_actions[0]['type'] == 'error' && $mod_actions[0]['filename'] == '-') {
387
+									$mod_actions[0]['filename'] = $action['filename'];
388
+				}
375 389
 
376 390
 				foreach ($mod_actions as $key => $mod_action)
377 391
 				{
378 392
 					// Lets get the last section of the file name.
379
-					if (isset($mod_action['filename']) && substr($mod_action['filename'], -13) != '.template.php')
380
-						$actual_filename = strtolower(substr(strrchr($mod_action['filename'], '/'), 1) . '||' . $action['filename']);
381
-					elseif (isset($mod_action['filename']) && preg_match('~([\w]*)/([\w]*)\.template\.php$~', $mod_action['filename'], $matches))
382
-						$actual_filename = strtolower($matches[1] . '/' . $matches[2] . '.template.php' . '||' . $action['filename']);
383
-					else
384
-						$actual_filename = $key;
385
-
386
-					if ($mod_action['type'] == 'opened')
387
-						$failed = false;
388
-					elseif ($mod_action['type'] == 'failure')
393
+					if (isset($mod_action['filename']) && substr($mod_action['filename'], -13) != '.template.php') {
394
+											$actual_filename = strtolower(substr(strrchr($mod_action['filename'], '/'), 1) . '||' . $action['filename']);
395
+					} elseif (isset($mod_action['filename']) && preg_match('~([\w]*)/([\w]*)\.template\.php$~', $mod_action['filename'], $matches)) {
396
+											$actual_filename = strtolower($matches[1] . '/' . $matches[2] . '.template.php' . '||' . $action['filename']);
397
+					} else {
398
+											$actual_filename = $key;
399
+					}
400
+
401
+					if ($mod_action['type'] == 'opened') {
402
+											$failed = false;
403
+					} elseif ($mod_action['type'] == 'failure')
389 404
 					{
390
-						if (empty($mod_action['is_custom']))
391
-							$context['has_failure'] = true;
405
+						if (empty($mod_action['is_custom'])) {
406
+													$context['has_failure'] = true;
407
+						}
392 408
 						$failed = true;
393
-					}
394
-					elseif ($mod_action['type'] == 'chmod')
409
+					} elseif ($mod_action['type'] == 'chmod')
395 410
 					{
396 411
 						$chmod_files[] = $mod_action['filename'];
397
-					}
398
-					elseif ($mod_action['type'] == 'saved')
412
+					} elseif ($mod_action['type'] == 'saved')
399 413
 					{
400 414
 						if (!empty($mod_action['is_custom']))
401 415
 						{
402
-							if (!isset($context['theme_actions'][$mod_action['is_custom']]))
403
-								$context['theme_actions'][$mod_action['is_custom']] = array(
416
+							if (!isset($context['theme_actions'][$mod_action['is_custom']])) {
417
+															$context['theme_actions'][$mod_action['is_custom']] = array(
404 418
 									'name' => $theme_paths[$mod_action['is_custom']]['name'],
405 419
 									'actions' => array(),
406 420
 									'has_failure' => $failed,
407 421
 								);
408
-							else
409
-								$context['theme_actions'][$mod_action['is_custom']]['has_failure'] |= $failed;
422
+							} else {
423
+															$context['theme_actions'][$mod_action['is_custom']]['has_failure'] |= $failed;
424
+							}
410 425
 
411 426
 							$context['theme_actions'][$mod_action['is_custom']]['actions'][$actual_filename] = array(
412 427
 								'type' => $txt['execute_modification'],
@@ -414,8 +429,7 @@  discard block
 block discarded – undo
414 429
 								'description' => $failed ? $txt['package_action_failure'] : $txt['package_action_success'],
415 430
 								'failed' => $failed,
416 431
 							);
417
-						}
418
-						elseif (!isset($context['actions'][$actual_filename]))
432
+						} elseif (!isset($context['actions'][$actual_filename]))
419 433
 						{
420 434
 							$context['actions'][$actual_filename] = array(
421 435
 								'type' => $txt['execute_modification'],
@@ -423,22 +437,19 @@  discard block
 block discarded – undo
423 437
 								'description' => $failed ? $txt['package_action_failure'] : $txt['package_action_success'],
424 438
 								'failed' => $failed,
425 439
 							);
426
-						}
427
-						else
440
+						} else
428 441
 						{
429 442
 								$context['actions'][$actual_filename]['failed'] |= $failed;
430 443
 								$context['actions'][$actual_filename]['description'] = $context['actions'][$actual_filename]['failed'] ? $txt['package_action_failure'] : $txt['package_action_success'];
431 444
 						}
432
-					}
433
-					elseif ($mod_action['type'] == 'skipping')
445
+					} elseif ($mod_action['type'] == 'skipping')
434 446
 					{
435 447
 						$context['actions'][$actual_filename] = array(
436 448
 							'type' => $txt['execute_modification'],
437 449
 							'action' => $smcFunc['htmlspecialchars'](strtr($mod_action['filename'], array($boarddir => '.'))),
438 450
 							'description' => $txt['package_action_skipping']
439 451
 						);
440
-					}
441
-					elseif ($mod_action['type'] == 'missing' && empty($mod_action['is_custom']))
452
+					} elseif ($mod_action['type'] == 'missing' && empty($mod_action['is_custom']))
442 453
 					{
443 454
 						$context['has_failure'] = true;
444 455
 						$context['actions'][$actual_filename] = array(
@@ -447,32 +458,33 @@  discard block
 block discarded – undo
447 458
 							'description' => $txt['package_action_missing'],
448 459
 							'failed' => true,
449 460
 						);
450
-					}
451
-					elseif ($mod_action['type'] == 'error')
452
-						$context['actions'][$actual_filename] = array(
461
+					} elseif ($mod_action['type'] == 'error') {
462
+											$context['actions'][$actual_filename] = array(
453 463
 							'type' => $txt['execute_modification'],
454 464
 							'action' => $smcFunc['htmlspecialchars'](strtr($mod_action['filename'], array($boarddir => '.'))),
455 465
 							'description' => $txt['package_action_error'],
456 466
 							'failed' => true,
457 467
 						);
468
+					}
458 469
 				}
459 470
 
460 471
 				// We need to loop again just to get the operations down correctly.
461 472
 				foreach ($mod_actions as $operation_key => $mod_action)
462 473
 				{
463 474
 					// Lets get the last section of the file name.
464
-					if (isset($mod_action['filename']) && substr($mod_action['filename'], -13) != '.template.php')
465
-						$actual_filename = strtolower(substr(strrchr($mod_action['filename'], '/'), 1) . '||' . $action['filename']);
466
-					elseif (isset($mod_action['filename']) && preg_match('~([\w]*)/([\w]*)\.template\.php$~', $mod_action['filename'], $matches))
467
-						$actual_filename = strtolower($matches[1] . '/' . $matches[2] . '.template.php' . '||' . $action['filename']);
468
-					else
469
-						$actual_filename = $key;
475
+					if (isset($mod_action['filename']) && substr($mod_action['filename'], -13) != '.template.php') {
476
+											$actual_filename = strtolower(substr(strrchr($mod_action['filename'], '/'), 1) . '||' . $action['filename']);
477
+					} elseif (isset($mod_action['filename']) && preg_match('~([\w]*)/([\w]*)\.template\.php$~', $mod_action['filename'], $matches)) {
478
+											$actual_filename = strtolower($matches[1] . '/' . $matches[2] . '.template.php' . '||' . $action['filename']);
479
+					} else {
480
+											$actual_filename = $key;
481
+					}
470 482
 
471 483
 					// We just need it for actual parse changes.
472 484
 					if (!in_array($mod_action['type'], array('error', 'result', 'opened', 'saved', 'end', 'missing', 'skipping', 'chmod')))
473 485
 					{
474
-						if (empty($mod_action['is_custom']))
475
-							$context['actions'][$actual_filename]['operations'][] = array(
486
+						if (empty($mod_action['is_custom'])) {
487
+													$context['actions'][$actual_filename]['operations'][] = array(
476 488
 								'type' => $txt['execute_modification'],
477 489
 								'action' => $smcFunc['htmlspecialchars'](strtr($mod_action['filename'], array($boarddir => '.'))),
478 490
 								'description' => $mod_action['failed'] ? $txt['package_action_failure'] : $txt['package_action_success'],
@@ -483,10 +495,11 @@  discard block
 block discarded – undo
483 495
 								'failed' => $mod_action['failed'],
484 496
 								'ignore_failure' => !empty($mod_action['ignore_failure']),
485 497
 							);
498
+						}
486 499
 
487 500
 						// Themes are under the saved type.
488
-						if (isset($mod_action['is_custom']) && isset($context['theme_actions'][$mod_action['is_custom']]))
489
-							$context['theme_actions'][$mod_action['is_custom']]['actions'][$actual_filename]['operations'][] = array(
501
+						if (isset($mod_action['is_custom']) && isset($context['theme_actions'][$mod_action['is_custom']])) {
502
+													$context['theme_actions'][$mod_action['is_custom']]['actions'][$actual_filename]['operations'][] = array(
490 503
 								'type' => $txt['execute_modification'],
491 504
 								'action' => $smcFunc['htmlspecialchars'](strtr($mod_action['filename'], array($boarddir => '.'))),
492 505
 								'description' => $mod_action['failed'] ? $txt['package_action_failure'] : $txt['package_action_success'],
@@ -497,59 +510,55 @@  discard block
 block discarded – undo
497 510
 								'failed' => $mod_action['failed'],
498 511
 								'ignore_failure' => !empty($mod_action['ignore_failure']),
499 512
 							);
513
+						}
500 514
 					}
501 515
 				}
502 516
 			}
503
-		}
504
-		elseif ($action['type'] == 'code')
517
+		} elseif ($action['type'] == 'code')
505 518
 		{
506 519
 			$thisAction = array(
507 520
 				'type' => $txt['execute_code'],
508 521
 				'action' => $smcFunc['htmlspecialchars']($action['filename']),
509 522
 			);
510
-		}
511
-		elseif ($action['type'] == 'database')
523
+		} elseif ($action['type'] == 'database')
512 524
 		{
513 525
 			$thisAction = array(
514 526
 				'type' => $txt['execute_database_changes'],
515 527
 				'action' => $smcFunc['htmlspecialchars']($action['filename']),
516 528
 			);
517
-		}
518
-		elseif (in_array($action['type'], array('create-dir', 'create-file')))
529
+		} elseif (in_array($action['type'], array('create-dir', 'create-file')))
519 530
 		{
520 531
 			$thisAction = array(
521 532
 				'type' => $txt['package_create'] . ' ' . ($action['type'] == 'create-dir' ? $txt['package_tree'] : $txt['package_file']),
522 533
 				'action' => $smcFunc['htmlspecialchars'](strtr($action['destination'], array($boarddir => '.')))
523 534
 			);
524
-		}
525
-		elseif ($action['type'] == 'hook')
535
+		} elseif ($action['type'] == 'hook')
526 536
 		{
527 537
 			$action['description'] = !isset($action['hook'], $action['function']) ? $txt['package_action_failure'] : $txt['package_action_success'];
528 538
 
529
-			if (!isset($action['hook'], $action['function']))
530
-				$context['has_failure'] = true;
539
+			if (!isset($action['hook'], $action['function'])) {
540
+							$context['has_failure'] = true;
541
+			}
531 542
 
532 543
 			$thisAction = array(
533 544
 				'type' => $action['reverse'] ? $txt['execute_hook_remove'] : $txt['execute_hook_add'],
534 545
 				'action' => sprintf($txt['execute_hook_action' . ($action['reverse'] ? '_inverse' : '')], $smcFunc['htmlspecialchars']($action['hook'])),
535 546
 			);
536
-		}
537
-		elseif ($action['type'] == 'credits')
547
+		} elseif ($action['type'] == 'credits')
538 548
 		{
539 549
 			$thisAction = array(
540 550
 				'type' => $txt['execute_credits_add'],
541 551
 				'action' => sprintf($txt['execute_credits_action'], $smcFunc['htmlspecialchars']($action['title'])),
542 552
 			);
543
-		}
544
-		elseif ($action['type'] == 'requires')
553
+		} elseif ($action['type'] == 'requires')
545 554
 		{
546 555
 			$installed = false;
547 556
 			$version = true;
548 557
 
549 558
 			// package missing required values?
550
-			if (!isset($action['id']))
551
-				$context['has_failure'] = true;
552
-			else
559
+			if (!isset($action['id'])) {
560
+							$context['has_failure'] = true;
561
+			} else
553 562
 			{
554 563
 				// See if this dependancy is installed
555 564
 				$request = $smcFunc['db_query']('', '
@@ -565,8 +574,9 @@  discard block
 block discarded – undo
565 574
 					)
566 575
 				);
567 576
 				$installed = ($smcFunc['db_num_rows']($request) !== 0);
568
-				if ($installed)
569
-					list ($version) = $smcFunc['db_fetch_row']($request);
577
+				if ($installed) {
578
+									list ($version) = $smcFunc['db_fetch_row']($request);
579
+				}
570 580
 				$smcFunc['db_free_result']($request);
571 581
 
572 582
 				// do a version level check (if requested) in the most basic way
@@ -581,8 +591,7 @@  discard block
 block discarded – undo
581 591
 				'type' => $txt['package_requires'],
582 592
 				'action' => $txt['package_check_for'] . ' ' . $action['id'] . (isset($action['version']) ? (' / ' . ($version ? $action['version'] : '<span class="error">' . $action['version'] . '</span>')) : ''),
583 593
 			);
584
-		}
585
-		elseif (in_array($action['type'], array('require-dir', 'require-file')))
594
+		} elseif (in_array($action['type'], array('require-dir', 'require-file')))
586 595
 		{
587 596
 			// Do this one...
588 597
 			$thisAction = array(
@@ -596,26 +605,29 @@  discard block
 block discarded – undo
596 605
 				// Is the action already stated?
597 606
 				$theme_action = !empty($action['theme_action']) && in_array($action['theme_action'], array('no', 'yes', 'auto')) ? $action['theme_action'] : 'auto';
598 607
 				// If it's not auto do we think we have something we can act upon?
599
-				if ($theme_action != 'auto' && !in_array($matches[1], array('languagedir', 'languages_dir', 'imagesdir', 'themedir')))
600
-					$theme_action = '';
608
+				if ($theme_action != 'auto' && !in_array($matches[1], array('languagedir', 'languages_dir', 'imagesdir', 'themedir'))) {
609
+									$theme_action = '';
610
+				}
601 611
 				// ... or if it's auto do we even want to do anything?
602
-				elseif ($theme_action == 'auto' && $matches[1] != 'imagesdir')
603
-					$theme_action = '';
612
+				elseif ($theme_action == 'auto' && $matches[1] != 'imagesdir') {
613
+									$theme_action = '';
614
+				}
604 615
 
605 616
 				// So, we still want to do something?
606
-				if ($theme_action != '')
607
-					$themeFinds['candidates'][] = $action;
617
+				if ($theme_action != '') {
618
+									$themeFinds['candidates'][] = $action;
619
+				}
608 620
 				// Otherwise is this is going into another theme record it.
609
-				elseif ($matches[1] == 'themes_dir')
610
-					$themeFinds['other_themes'][] = strtolower(strtr(parse_path($action['unparsed_destination']), array('\\' => '/')) . '/' . basename($action['filename']));
621
+				elseif ($matches[1] == 'themes_dir') {
622
+									$themeFinds['other_themes'][] = strtolower(strtr(parse_path($action['unparsed_destination']), array('\\' => '/')) . '/' . basename($action['filename']));
623
+				}
611 624
 			}
612
-		}
613
-		elseif (in_array($action['type'], array('move-dir', 'move-file')))
614
-			$thisAction = array(
625
+		} elseif (in_array($action['type'], array('move-dir', 'move-file'))) {
626
+					$thisAction = array(
615 627
 				'type' => $txt['package_move'] . ' ' . ($action['type'] == 'move-dir' ? $txt['package_tree'] : $txt['package_file']),
616 628
 				'action' => $smcFunc['htmlspecialchars'](strtr($action['source'], array($boarddir => '.'))) . ' => ' . $smcFunc['htmlspecialchars'](strtr($action['destination'], array($boarddir => '.')))
617 629
 			);
618
-		elseif (in_array($action['type'], array('remove-dir', 'remove-file')))
630
+		} elseif (in_array($action['type'], array('remove-dir', 'remove-file')))
619 631
 		{
620 632
 			$thisAction = array(
621 633
 				'type' => $txt['package_delete'] . ' ' . ($action['type'] == 'remove-dir' ? $txt['package_tree'] : $txt['package_file']),
@@ -631,30 +643,36 @@  discard block
 block discarded – undo
631 643
 				$action['unparsed_destination'] = $action['unparsed_filename'];
632 644
 
633 645
 				// If it's not auto do we think we have something we can act upon?
634
-				if ($theme_action != 'auto' && !in_array($matches[1], array('languagedir', 'languages_dir', 'imagesdir', 'themedir')))
635
-					$theme_action = '';
646
+				if ($theme_action != 'auto' && !in_array($matches[1], array('languagedir', 'languages_dir', 'imagesdir', 'themedir'))) {
647
+									$theme_action = '';
648
+				}
636 649
 				// ... or if it's auto do we even want to do anything?
637
-				elseif ($theme_action == 'auto' && $matches[1] != 'imagesdir')
638
-					$theme_action = '';
650
+				elseif ($theme_action == 'auto' && $matches[1] != 'imagesdir') {
651
+									$theme_action = '';
652
+				}
639 653
 
640 654
 				// So, we still want to do something?
641
-				if ($theme_action != '')
642
-					$themeFinds['candidates'][] = $action;
655
+				if ($theme_action != '') {
656
+									$themeFinds['candidates'][] = $action;
657
+				}
643 658
 				// Otherwise is this is going into another theme record it.
644
-				elseif ($matches[1] == 'themes_dir')
645
-					$themeFinds['other_themes'][] = strtolower(strtr(parse_path($action['unparsed_filename']), array('\\' => '/')) . '/' . basename($action['filename']));
659
+				elseif ($matches[1] == 'themes_dir') {
660
+									$themeFinds['other_themes'][] = strtolower(strtr(parse_path($action['unparsed_filename']), array('\\' => '/')) . '/' . basename($action['filename']));
661
+				}
646 662
 			}
647 663
 		}
648 664
 
649
-		if (empty($thisAction))
650
-			continue;
665
+		if (empty($thisAction)) {
666
+					continue;
667
+		}
651 668
 
652 669
 		if (!in_array($action['type'], array('hook', 'credits')))
653 670
 		{
654
-			if ($context['uninstalling'])
655
-				$file = in_array($action['type'], array('remove-dir', 'remove-file')) ? $action['filename'] : $packagesdir . '/temp/' . $context['base_path'] . $action['filename'];
656
-			else
657
-				$file = $packagesdir . '/temp/' . $context['base_path'] . $action['filename'];
671
+			if ($context['uninstalling']) {
672
+							$file = in_array($action['type'], array('remove-dir', 'remove-file')) ? $action['filename'] : $packagesdir . '/temp/' . $context['base_path'] . $action['filename'];
673
+			} else {
674
+							$file = $packagesdir . '/temp/' . $context['base_path'] . $action['filename'];
675
+			}
658 676
 		}
659 677
 
660 678
 		// Don't fail if a file/directory we're trying to create doesn't exist...
@@ -669,8 +687,9 @@  discard block
 block discarded – undo
669 687
 		}
670 688
 
671 689
 		// @todo None given?
672
-		if (empty($thisAction['description']))
673
-			$thisAction['description'] = isset($action['description']) ? $action['description'] : '';
690
+		if (empty($thisAction['description'])) {
691
+					$thisAction['description'] = isset($action['description']) ? $action['description'] : '';
692
+		}
674 693
 
675 694
 		$context['actions'][] = $thisAction;
676 695
 	}
@@ -683,18 +702,21 @@  discard block
 block discarded – undo
683 702
 			// Get the part of the file we'll be dealing with.
684 703
 			preg_match('~^\$(languagedir|languages_dir|imagesdir|themedir)(\\|/)*(.+)*~i', $action_data['unparsed_destination'], $matches);
685 704
 
686
-			if ($matches[1] == 'imagesdir')
687
-				$path = '/' . basename($settings['default_images_url']);
688
-			elseif ($matches[1] == 'languagedir' || $matches[1] == 'languages_dir')
689
-				$path = '/languages';
690
-			else
691
-				$path = '';
705
+			if ($matches[1] == 'imagesdir') {
706
+							$path = '/' . basename($settings['default_images_url']);
707
+			} elseif ($matches[1] == 'languagedir' || $matches[1] == 'languages_dir') {
708
+							$path = '/languages';
709
+			} else {
710
+							$path = '';
711
+			}
692 712
 
693
-			if (!empty($matches[3]))
694
-				$path .= $matches[3];
713
+			if (!empty($matches[3])) {
714
+							$path .= $matches[3];
715
+			}
695 716
 
696
-			if (!$context['uninstalling'])
697
-				$path .= '/' . basename($action_data['filename']);
717
+			if (!$context['uninstalling']) {
718
+							$path .= '/' . basename($action_data['filename']);
719
+			}
698 720
 
699 721
 			// Loop through each custom theme to note it's candidacy!
700 722
 			foreach ($theme_paths as $id => $theme_data)
@@ -710,36 +732,40 @@  discard block
 block discarded – undo
710 732
 						if (!mktree(dirname($real_path), false))
711 733
 						{
712 734
 							$temp = dirname($real_path);
713
-							while (!file_exists($temp) && strlen($temp) > 1)
714
-								$temp = dirname($temp);
735
+							while (!file_exists($temp) && strlen($temp) > 1) {
736
+															$temp = dirname($temp);
737
+							}
715 738
 							$chmod_files[] = $temp;
716 739
 						}
717 740
 
718
-						if ($action_data['type'] == 'require-dir' && !is_writable($real_path) && (file_exists($real_path) || !is_writable(dirname($real_path))))
719
-							$chmod_files[] = $real_path;
741
+						if ($action_data['type'] == 'require-dir' && !is_writable($real_path) && (file_exists($real_path) || !is_writable(dirname($real_path)))) {
742
+													$chmod_files[] = $real_path;
743
+						}
720 744
 
721
-						if (!isset($context['theme_actions'][$id]))
722
-							$context['theme_actions'][$id] = array(
745
+						if (!isset($context['theme_actions'][$id])) {
746
+													$context['theme_actions'][$id] = array(
723 747
 								'name' => $theme_data['name'],
724 748
 								'actions' => array(),
725 749
 							);
750
+						}
726 751
 
727
-						if ($context['uninstalling'])
728
-							$context['theme_actions'][$id]['actions'][] = array(
752
+						if ($context['uninstalling']) {
753
+													$context['theme_actions'][$id]['actions'][] = array(
729 754
 								'type' => $txt['package_delete'] . ' ' . ($action_data['type'] == 'require-dir' ? $txt['package_tree'] : $txt['package_file']),
730 755
 								'action' => strtr($real_path, array('\\' => '/', $boarddir => '.')),
731 756
 								'description' => '',
732 757
 								'value' => base64_encode(json_encode(array('type' => $action_data['type'], 'orig' => $action_data['filename'], 'future' => $real_path, 'id' => $id))),
733 758
 								'not_mod' => true,
734 759
 							);
735
-						else
736
-							$context['theme_actions'][$id]['actions'][] = array(
760
+						} else {
761
+													$context['theme_actions'][$id]['actions'][] = array(
737 762
 								'type' => $txt['package_extract'] . ' ' . ($action_data['type'] == 'require-dir' ? $txt['package_tree'] : $txt['package_file']),
738 763
 								'action' => strtr($real_path, array('\\' => '/', $boarddir => '.')),
739 764
 								'description' => '',
740 765
 								'value' => base64_encode(json_encode(array('type' => $action_data['type'], 'orig' => $action_data['destination'], 'future' => $real_path, 'id' => $id))),
741 766
 								'not_mod' => true,
742 767
 							);
768
+						}
743 769
 					}
744 770
 				}
745 771
 			}
@@ -749,8 +775,9 @@  discard block
 block discarded – undo
749 775
 	// Trash the cache... which will also check permissions for us!
750 776
 	package_flush_cache(true);
751 777
 
752
-	if (file_exists($packagesdir . '/temp'))
753
-		deltree($packagesdir . '/temp');
778
+	if (file_exists($packagesdir . '/temp')) {
779
+			deltree($packagesdir . '/temp');
780
+	}
754 781
 
755 782
 	if (!empty($chmod_files))
756 783
 	{
@@ -775,8 +802,9 @@  discard block
 block discarded – undo
775 802
 	checkSession();
776 803
 
777 804
 	// If there's no file, what are we installing?
778
-	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '')
779
-		redirectexit('action=admin;area=packages');
805
+	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '') {
806
+			redirectexit('action=admin;area=packages');
807
+	}
780 808
 	$context['filename'] = $_REQUEST['package'];
781 809
 
782 810
 	// If this is an uninstall, we'll have an id.
@@ -797,51 +825,55 @@  discard block
 block discarded – undo
797 825
 
798 826
 	$context['sub_template'] = 'extract_package';
799 827
 
800
-	if (!file_exists($packagesdir . '/' . $context['filename']))
801
-		fatal_lang_error('package_no_file', false);
828
+	if (!file_exists($packagesdir . '/' . $context['filename'])) {
829
+			fatal_lang_error('package_no_file', false);
830
+	}
802 831
 
803 832
 	// Load up the package FTP information?
804 833
 	create_chmod_control(array(), array('destination_url' => $scripturl . '?action=admin;area=packages;sa=' . $_REQUEST['sa'] . ';package=' . $_REQUEST['package']));
805 834
 
806 835
 	// Make sure temp directory exists and is empty!
807
-	if (file_exists($packagesdir . '/temp'))
808
-		deltree($packagesdir . '/temp', false);
809
-	else
810
-		mktree($packagesdir . '/temp', 0777);
836
+	if (file_exists($packagesdir . '/temp')) {
837
+			deltree($packagesdir . '/temp', false);
838
+	} else {
839
+			mktree($packagesdir . '/temp', 0777);
840
+	}
811 841
 
812 842
 	// Let the unpacker do the work.
813 843
 	if (is_file($packagesdir . '/' . $context['filename']))
814 844
 	{
815 845
 		$context['extracted_files'] = read_tgz_file($packagesdir . '/' . $context['filename'], $packagesdir . '/temp');
816 846
 
817
-		if (!file_exists($packagesdir . '/temp/package-info.xml'))
818
-			foreach ($context['extracted_files'] as $file)
847
+		if (!file_exists($packagesdir . '/temp/package-info.xml')) {
848
+					foreach ($context['extracted_files'] as $file)
819 849
 				if (basename($file['filename']) == 'package-info.xml')
820 850
 				{
821 851
 					$context['base_path'] = dirname($file['filename']) . '/';
852
+		}
822 853
 					break;
823 854
 				}
824 855
 
825
-		if (!isset($context['base_path']))
826
-			$context['base_path'] = '';
827
-	}
828
-	elseif (is_dir($packagesdir . '/' . $context['filename']))
856
+		if (!isset($context['base_path'])) {
857
+					$context['base_path'] = '';
858
+		}
859
+	} elseif (is_dir($packagesdir . '/' . $context['filename']))
829 860
 	{
830 861
 		copytree($packagesdir . '/' . $context['filename'], $packagesdir . '/temp');
831 862
 		$context['extracted_files'] = listtree($packagesdir . '/temp');
832 863
 		$context['base_path'] = '';
864
+	} else {
865
+			fatal_lang_error('no_access', false);
833 866
 	}
834
-	else
835
-		fatal_lang_error('no_access', false);
836 867
 
837 868
 	// Are we installing this into any custom themes?
838 869
 	$custom_themes = array(1);
839 870
 	$known_themes = explode(',', $modSettings['knownThemes']);
840 871
 	if (!empty($_POST['custom_theme']))
841 872
 	{
842
-		foreach ($_POST['custom_theme'] as $tid)
843
-			if (in_array($tid, $known_themes))
873
+		foreach ($_POST['custom_theme'] as $tid) {
874
+					if (in_array($tid, $known_themes))
844 875
 				$custom_themes[] = (int) $tid;
876
+		}
845 877
 	}
846 878
 
847 879
 	// Now load up the paths of the themes that we need to know about.
@@ -858,8 +890,9 @@  discard block
 block discarded – undo
858 890
 	);
859 891
 	$theme_paths = array();
860 892
 	$themes_installed = array(1);
861
-	while ($row = $smcFunc['db_fetch_assoc']($request))
862
-		$theme_paths[$row['id_theme']][$row['variable']] = $row['value'];
893
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
894
+			$theme_paths[$row['id_theme']][$row['variable']] = $row['value'];
895
+	}
863 896
 	$smcFunc['db_free_result']($request);
864 897
 
865 898
 	// Are there any theme copying that we want to take place?
@@ -871,11 +904,13 @@  discard block
 block discarded – undo
871 904
 	{
872 905
 		foreach ($_POST['theme_changes'] as $change)
873 906
 		{
874
-			if (empty($change))
875
-				continue;
907
+			if (empty($change)) {
908
+							continue;
909
+			}
876 910
 			$theme_data = smf_json_decode(base64_decode($change), true);
877
-			if (empty($theme_data['type']))
878
-				continue;
911
+			if (empty($theme_data['type'])) {
912
+							continue;
913
+			}
879 914
 
880 915
 			$themes_installed[] = $theme_data['id'];
881 916
 			$context['theme_copies'][$theme_data['type']][$theme_data['orig']][] = $theme_data['future'];
@@ -884,8 +919,9 @@  discard block
 block discarded – undo
884 919
 
885 920
 	// Get the package info...
886 921
 	$packageInfo = getPackageInfo($context['filename']);
887
-	if (!is_array($packageInfo))
888
-		fatal_lang_error($packageInfo);
922
+	if (!is_array($packageInfo)) {
923
+			fatal_lang_error($packageInfo);
924
+	}
889 925
 
890 926
 	$packageInfo['filename'] = $context['filename'];
891 927
 
@@ -897,8 +933,9 @@  discard block
 block discarded – undo
897 933
 	{
898 934
 		$_SESSION['last_backup_for'] = $context['filename'] . ($context['uninstalling'] ? '$$' : '$');
899 935
 		$result = package_create_backup(($context['uninstalling'] ? 'backup_' : 'before_') . strtok($context['filename'], '.'));
900
-		if (!$result)
901
-			fatal_lang_error('could_not_package_backup', false);
936
+		if (!$result) {
937
+					fatal_lang_error('could_not_package_backup', false);
938
+		}
902 939
 	}
903 940
 
904 941
 	// The mod isn't installed.... unless proven otherwise.
@@ -938,35 +975,38 @@  discard block
 block discarded – undo
938 975
 		$install_log = parsePackageInfo($packageInfo['xml'], false, 'uninstall');
939 976
 
940 977
 		// Gadzooks!  There's no uninstaller at all!?
941
-		if (empty($install_log))
942
-			fatal_lang_error('package_uninstall_cannot', false);
978
+		if (empty($install_log)) {
979
+					fatal_lang_error('package_uninstall_cannot', false);
980
+		}
943 981
 
944 982
 		// They can only uninstall from what it was originally installed into.
945
-		foreach ($theme_paths as $id => $data)
946
-			if ($id != 1 && !in_array($id, $old_themes))
983
+		foreach ($theme_paths as $id => $data) {
984
+					if ($id != 1 && !in_array($id, $old_themes))
947 985
 				unset($theme_paths[$id]);
948
-	}
949
-	elseif (isset($old_version) && $old_version != $packageInfo['version'])
986
+		}
987
+	} elseif (isset($old_version) && $old_version != $packageInfo['version'])
950 988
 	{
951 989
 		// Look for an upgrade...
952 990
 		$install_log = parsePackageInfo($packageInfo['xml'], false, 'upgrade', $old_version);
953 991
 
954 992
 		// There was no upgrade....
955
-		if (empty($install_log))
956
-			$context['is_installed'] = true;
957
-		else
993
+		if (empty($install_log)) {
994
+					$context['is_installed'] = true;
995
+		} else
958 996
 		{
959 997
 			// Upgrade previous themes only!
960
-			foreach ($theme_paths as $id => $data)
961
-				if ($id != 1 && !in_array($id, $old_themes))
998
+			foreach ($theme_paths as $id => $data) {
999
+							if ($id != 1 && !in_array($id, $old_themes))
962 1000
 					unset($theme_paths[$id]);
1001
+			}
963 1002
 		}
1003
+	} elseif (isset($old_version) && $old_version == $packageInfo['version']) {
1004
+			$context['is_installed'] = true;
964 1005
 	}
965
-	elseif (isset($old_version) && $old_version == $packageInfo['version'])
966
-		$context['is_installed'] = true;
967 1006
 
968
-	if (!isset($old_version) || $context['is_installed'])
969
-		$install_log = parsePackageInfo($packageInfo['xml'], false, 'install');
1007
+	if (!isset($old_version) || $context['is_installed']) {
1008
+			$install_log = parsePackageInfo($packageInfo['xml'], false, 'install');
1009
+	}
970 1010
 
971 1011
 	$context['install_finished'] = false;
972 1012
 
@@ -983,37 +1023,39 @@  discard block
 block discarded – undo
983 1023
 
984 1024
 			if ($action['type'] == 'modification' && !empty($action['filename']))
985 1025
 			{
986
-				if ($action['boardmod'])
987
-					$mod_actions = parseBoardMod(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), false, $action['reverse'], $theme_paths);
988
-				else
989
-					$mod_actions = parseModification(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), false, $action['reverse'], $theme_paths);
1026
+				if ($action['boardmod']) {
1027
+									$mod_actions = parseBoardMod(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), false, $action['reverse'], $theme_paths);
1028
+				} else {
1029
+									$mod_actions = parseModification(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), false, $action['reverse'], $theme_paths);
1030
+				}
990 1031
 
991 1032
 				// Any errors worth noting?
992 1033
 				foreach ($mod_actions as $key => $action)
993 1034
 				{
994
-					if ($action['type'] == 'failure')
995
-						$failed_steps[] = array(
1035
+					if ($action['type'] == 'failure') {
1036
+											$failed_steps[] = array(
996 1037
 							'file' => $action['filename'],
997 1038
 							'large_step' => $failed_count,
998 1039
 							'sub_step' => $key,
999 1040
 							'theme' => 1,
1000 1041
 						);
1042
+					}
1001 1043
 
1002 1044
 					// Gather the themes we installed into.
1003
-					if (!empty($action['is_custom']))
1004
-						$themes_installed[] = $action['is_custom'];
1045
+					if (!empty($action['is_custom'])) {
1046
+											$themes_installed[] = $action['is_custom'];
1047
+					}
1005 1048
 				}
1006
-			}
1007
-			elseif ($action['type'] == 'code' && !empty($action['filename']))
1049
+			} elseif ($action['type'] == 'code' && !empty($action['filename']))
1008 1050
 			{
1009 1051
 				// This is just here as reference for what is available.
1010 1052
 				global $txt, $boarddir, $sourcedir, $modSettings, $context, $settings, $forum_version, $smcFunc;
1011 1053
 
1012 1054
 				// Now include the file and be done with it ;).
1013
-				if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename']))
1014
-					require($packagesdir . '/temp/' . $context['base_path'] . $action['filename']);
1015
-			}
1016
-			elseif ($action['type'] == 'credits')
1055
+				if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename'])) {
1056
+									require($packagesdir . '/temp/' . $context['base_path'] . $action['filename']);
1057
+				}
1058
+			} elseif ($action['type'] == 'credits')
1017 1059
 			{
1018 1060
 				// Time to build the billboard
1019 1061
 				$credits_tag = array(
@@ -1023,13 +1065,13 @@  discard block
 block discarded – undo
1023 1065
 					'copyright' => $action['copyright'],
1024 1066
 					'title' => $action['title'],
1025 1067
 				);
1026
-			}
1027
-			elseif ($action['type'] == 'hook' && isset($action['hook'], $action['function']))
1068
+			} elseif ($action['type'] == 'hook' && isset($action['hook'], $action['function']))
1028 1069
 			{
1029
-				if ($action['reverse'])
1030
-					remove_integration_function($action['hook'], $action['function'], true, $action['include_file'], $action['object']);
1031
-				else
1032
-					add_integration_function($action['hook'], $action['function'], true, $action['include_file'], $action['object']);
1070
+				if ($action['reverse']) {
1071
+									remove_integration_function($action['hook'], $action['function'], true, $action['include_file'], $action['object']);
1072
+				} else {
1073
+									add_integration_function($action['hook'], $action['function'], true, $action['include_file'], $action['object']);
1074
+				}
1033 1075
 			}
1034 1076
 			// Only do the database changes on uninstall if requested.
1035 1077
 			elseif ($action['type'] == 'database' && !empty($action['filename']) && (!$context['uninstalling'] || !empty($_POST['do_db_changes'])))
@@ -1042,8 +1084,9 @@  discard block
 block discarded – undo
1042 1084
 				db_extend('packages');
1043 1085
 
1044 1086
 				// Let the file work its magic ;)
1045
-				if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename']))
1046
-					require($packagesdir . '/temp/' . $context['base_path'] . $action['filename']);
1087
+				if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename'])) {
1088
+									require($packagesdir . '/temp/' . $context['base_path'] . $action['filename']);
1089
+				}
1047 1090
 			}
1048 1091
 			// Handle a redirect...
1049 1092
 			elseif ($action['type'] == 'redirect' && !empty($action['redirect_url']))
@@ -1125,8 +1168,9 @@  discard block
 block discarded – undo
1125 1168
 			reloadSettings();
1126 1169
 
1127 1170
 			// Any db changes from older version?
1128
-			if (!empty($old_db_changes))
1129
-				$db_package_log = empty($db_package_log) ? $old_db_changes : array_merge($old_db_changes, $db_package_log);
1171
+			if (!empty($old_db_changes)) {
1172
+							$db_package_log = empty($db_package_log) ? $old_db_changes : array_merge($old_db_changes, $db_package_log);
1173
+			}
1130 1174
 
1131 1175
 			// If there are some database changes we might want to remove then filter them out.
1132 1176
 			if (!empty($db_package_log))
@@ -1142,22 +1186,24 @@  discard block
 block discarded – undo
1142 1186
 				 */
1143 1187
 				function sort_table_first($a, $b)
1144 1188
 				{
1145
-					if ($a[0] == $b[0])
1146
-						return 0;
1189
+					if ($a[0] == $b[0]) {
1190
+											return 0;
1191
+					}
1147 1192
 					return $a[0] == 'remove_table' ? -1 : 1;
1148 1193
 				}
1149 1194
 				usort($db_package_log, 'sort_table_first');
1150 1195
 				foreach ($db_package_log as $k => $log)
1151 1196
 				{
1152
-					if ($log[0] == 'remove_table')
1153
-						$tables[] = $log[1];
1154
-					elseif (in_array($log[1], $tables))
1155
-						unset($db_package_log[$k]);
1197
+					if ($log[0] == 'remove_table') {
1198
+											$tables[] = $log[1];
1199
+					} elseif (in_array($log[1], $tables)) {
1200
+											unset($db_package_log[$k]);
1201
+					}
1156 1202
 				}
1157 1203
 				$db_changes = json_encode($db_package_log);
1204
+			} else {
1205
+							$db_changes = '';
1158 1206
 			}
1159
-			else
1160
-				$db_changes = '';
1161 1207
 
1162 1208
 			// What themes did we actually install?
1163 1209
 			$themes_installed = array_unique($themes_installed);
@@ -1206,18 +1252,20 @@  discard block
 block discarded – undo
1206 1252
 
1207 1253
 		foreach ($db_changes as $change)
1208 1254
 		{
1209
-			if ($change[0] == 'remove_table' && isset($change[1]))
1210
-				$smcFunc['db_drop_table']($change[1]);
1211
-			elseif ($change[0] == 'remove_column' && isset($change[2]))
1212
-				$smcFunc['db_remove_column']($change[1], $change[2]);
1213
-			elseif ($change[0] == 'remove_index' && isset($change[2]))
1214
-				$smcFunc['db_remove_index']($change[1], $change[2]);
1255
+			if ($change[0] == 'remove_table' && isset($change[1])) {
1256
+							$smcFunc['db_drop_table']($change[1]);
1257
+			} elseif ($change[0] == 'remove_column' && isset($change[2])) {
1258
+							$smcFunc['db_remove_column']($change[1], $change[2]);
1259
+			} elseif ($change[0] == 'remove_index' && isset($change[2])) {
1260
+							$smcFunc['db_remove_index']($change[1], $change[2]);
1261
+			}
1215 1262
 		}
1216 1263
 	}
1217 1264
 
1218 1265
 	// Clean house... get rid of the evidence ;).
1219
-	if (file_exists($packagesdir . '/temp'))
1220
-		deltree($packagesdir . '/temp');
1266
+	if (file_exists($packagesdir . '/temp')) {
1267
+			deltree($packagesdir . '/temp');
1268
+	}
1221 1269
 
1222 1270
 	// Log what we just did.
1223 1271
 	logAction($context['uninstalling'] ? 'uninstall_package' : (!empty($is_upgrade) ? 'upgrade_package' : 'install_package'), array('package' => $smcFunc['htmlspecialchars']($packageInfo['name']), 'version' => $smcFunc['htmlspecialchars']($packageInfo['version'])), 'admin');
@@ -1239,8 +1287,9 @@  discard block
 block discarded – undo
1239 1287
 	require_once($sourcedir . '/Subs-Package.php');
1240 1288
 
1241 1289
 	// No package?  Show him or her the door.
1242
-	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '')
1243
-		redirectexit('action=admin;area=packages');
1290
+	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '') {
1291
+			redirectexit('action=admin;area=packages');
1292
+	}
1244 1293
 
1245 1294
 	$context['linktree'][] = array(
1246 1295
 		'url' => $scripturl . '?action=admin;area=packages;sa=list;package=' . $_REQUEST['package'],
@@ -1253,11 +1302,12 @@  discard block
 block discarded – undo
1253 1302
 	$context['filename'] = $_REQUEST['package'];
1254 1303
 
1255 1304
 	// Let the unpacker do the work.
1256
-	if (is_file($packagesdir . '/' . $context['filename']))
1257
-		$context['files'] = read_tgz_file($packagesdir . '/' . $context['filename'], null);
1258
-	elseif (is_dir($packagesdir . '/' . $context['filename']))
1259
-		$context['files'] = listtree($packagesdir . '/' . $context['filename']);
1260
-}
1305
+	if (is_file($packagesdir . '/' . $context['filename'])) {
1306
+			$context['files'] = read_tgz_file($packagesdir . '/' . $context['filename'], null);
1307
+	} elseif (is_dir($packagesdir . '/' . $context['filename'])) {
1308
+			$context['files'] = listtree($packagesdir . '/' . $context['filename']);
1309
+	}
1310
+	}
1261 1311
 
1262 1312
 /**
1263 1313
  * Display one of the files in a package.
@@ -1269,22 +1319,25 @@  discard block
 block discarded – undo
1269 1319
 	require_once($sourcedir . '/Subs-Package.php');
1270 1320
 
1271 1321
 	// No package?  Show him or her the door.
1272
-	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '')
1273
-		redirectexit('action=admin;area=packages');
1322
+	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '') {
1323
+			redirectexit('action=admin;area=packages');
1324
+	}
1274 1325
 
1275 1326
 	// No file?  Show him or her the door.
1276
-	if (!isset($_REQUEST['file']) || $_REQUEST['file'] == '')
1277
-		redirectexit('action=admin;area=packages');
1327
+	if (!isset($_REQUEST['file']) || $_REQUEST['file'] == '') {
1328
+			redirectexit('action=admin;area=packages');
1329
+	}
1278 1330
 
1279 1331
 	$_REQUEST['package'] = preg_replace('~[\.]+~', '.', strtr($_REQUEST['package'], array('/' => '_', '\\' => '_')));
1280 1332
 	$_REQUEST['file'] = preg_replace('~[\.]+~', '.', $_REQUEST['file']);
1281 1333
 
1282 1334
 	if (isset($_REQUEST['raw']))
1283 1335
 	{
1284
-		if (is_file($packagesdir . '/' . $_REQUEST['package']))
1285
-			echo read_tgz_file($packagesdir . '/' . $_REQUEST['package'], $_REQUEST['file'], true);
1286
-		elseif (is_dir($packagesdir . '/' . $_REQUEST['package']))
1287
-			echo file_get_contents($packagesdir . '/' . $_REQUEST['package'] . '/' . $_REQUEST['file']);
1336
+		if (is_file($packagesdir . '/' . $_REQUEST['package'])) {
1337
+					echo read_tgz_file($packagesdir . '/' . $_REQUEST['package'], $_REQUEST['file'], true);
1338
+		} elseif (is_dir($packagesdir . '/' . $_REQUEST['package'])) {
1339
+					echo file_get_contents($packagesdir . '/' . $_REQUEST['package'] . '/' . $_REQUEST['file']);
1340
+		}
1288 1341
 
1289 1342
 		obExit(false);
1290 1343
 	}
@@ -1301,17 +1354,19 @@  discard block
 block discarded – undo
1301 1354
 	$context['filename'] = $_REQUEST['file'];
1302 1355
 
1303 1356
 	// Let the unpacker do the work.... but make sure we handle images properly.
1304
-	if (in_array(strtolower(strrchr($_REQUEST['file'], '.')), array('.bmp', '.gif', '.jpeg', '.jpg', '.png')))
1305
-		$context['filedata'] = '<img src="' . $scripturl . '?action=admin;area=packages;sa=examine;package=' . $_REQUEST['package'] . ';file=' . $_REQUEST['file'] . ';raw" alt="' . $_REQUEST['file'] . '">';
1306
-	else
1357
+	if (in_array(strtolower(strrchr($_REQUEST['file'], '.')), array('.bmp', '.gif', '.jpeg', '.jpg', '.png'))) {
1358
+			$context['filedata'] = '<img src="' . $scripturl . '?action=admin;area=packages;sa=examine;package=' . $_REQUEST['package'] . ';file=' . $_REQUEST['file'] . ';raw" alt="' . $_REQUEST['file'] . '">';
1359
+	} else
1307 1360
 	{
1308
-		if (is_file($packagesdir . '/' . $_REQUEST['package']))
1309
-			$context['filedata'] = $smcFunc['htmlspecialchars'](read_tgz_file($packagesdir . '/' . $_REQUEST['package'], $_REQUEST['file'], true));
1310
-		elseif (is_dir($packagesdir . '/' . $_REQUEST['package']))
1311
-			$context['filedata'] = $smcFunc['htmlspecialchars'](file_get_contents($packagesdir . '/' . $_REQUEST['package'] . '/' . $_REQUEST['file']));
1361
+		if (is_file($packagesdir . '/' . $_REQUEST['package'])) {
1362
+					$context['filedata'] = $smcFunc['htmlspecialchars'](read_tgz_file($packagesdir . '/' . $_REQUEST['package'], $_REQUEST['file'], true));
1363
+		} elseif (is_dir($packagesdir . '/' . $_REQUEST['package'])) {
1364
+					$context['filedata'] = $smcFunc['htmlspecialchars'](file_get_contents($packagesdir . '/' . $_REQUEST['package'] . '/' . $_REQUEST['file']));
1365
+		}
1312 1366
 
1313
-		if (strtolower(strrchr($_REQUEST['file'], '.')) == '.php')
1314
-			$context['filedata'] = highlight_php_code($context['filedata']);
1367
+		if (strtolower(strrchr($_REQUEST['file'], '.')) == '.php') {
1368
+					$context['filedata'] = highlight_php_code($context['filedata']);
1369
+		}
1315 1370
 	}
1316 1371
 }
1317 1372
 
@@ -1326,8 +1381,9 @@  discard block
 block discarded – undo
1326 1381
 	checkSession('get');
1327 1382
 
1328 1383
 	// Ack, don't allow deletion of arbitrary files here, could become a security hole somehow!
1329
-	if (!isset($_GET['package']) || $_GET['package'] == 'index.php' || $_GET['package'] == 'backups')
1330
-		redirectexit('action=admin;area=packages;sa=browse');
1384
+	if (!isset($_GET['package']) || $_GET['package'] == 'index.php' || $_GET['package'] == 'backups') {
1385
+			redirectexit('action=admin;area=packages;sa=browse');
1386
+	}
1331 1387
 	$_GET['package'] = preg_replace('~[\.]+~', '.', strtr($_GET['package'], array('/' => '_', '\\' => '_')));
1332 1388
 
1333 1389
 	// Can't delete what's not there.
@@ -1335,9 +1391,9 @@  discard block
 block discarded – undo
1335 1391
 	{
1336 1392
 		create_chmod_control(array($packagesdir . '/' . $_GET['package']), array('destination_url' => $scripturl . '?action=admin;area=packages;sa=remove;package=' . $_GET['package'], 'crash_on_error' => true));
1337 1393
 
1338
-		if (is_dir($packagesdir . '/' . $_GET['package']))
1339
-			deltree($packagesdir . '/' . $_GET['package']);
1340
-		else
1394
+		if (is_dir($packagesdir . '/' . $_GET['package'])) {
1395
+					deltree($packagesdir . '/' . $_GET['package']);
1396
+		} else
1341 1397
 		{
1342 1398
 			smf_chmod($packagesdir . '/' . $_GET['package'], 0777);
1343 1399
 			unlink($packagesdir . '/' . $_GET['package']);
@@ -1385,8 +1441,9 @@  discard block
 block discarded – undo
1385 1441
 					'data' => array(
1386 1442
 						'function' => function($package_md5) use ($type, &$context)
1387 1443
 						{
1388
-							if (isset($context['available_' . $type . ''][$package_md5]))
1389
-								return $context['available_' . $type . ''][$package_md5]['sort_id'];
1444
+							if (isset($context['available_' . $type . ''][$package_md5])) {
1445
+															return $context['available_' . $type . ''][$package_md5]['sort_id'];
1446
+							}
1390 1447
 						},
1391 1448
 					),
1392 1449
 					'sort' => array(
@@ -1402,8 +1459,9 @@  discard block
 block discarded – undo
1402 1459
 					'data' => array(
1403 1460
 						'function' => function($package_md5) use ($type, &$context)
1404 1461
 						{
1405
-							if (isset($context['available_' . $type . ''][$package_md5]))
1406
-								return $context['available_' . $type . ''][$package_md5]['name'];
1462
+							if (isset($context['available_' . $type . ''][$package_md5])) {
1463
+															return $context['available_' . $type . ''][$package_md5]['name'];
1464
+							}
1407 1465
 						},
1408 1466
 					),
1409 1467
 					'sort' => array(
@@ -1418,8 +1476,9 @@  discard block
 block discarded – undo
1418 1476
 					'data' => array(
1419 1477
 						'function' => function($package_md5) use ($type, &$context)
1420 1478
 						{
1421
-							if (isset($context['available_' . $type . ''][$package_md5]))
1422
-								return $context['available_' . $type . ''][$package_md5]['version'];
1479
+							if (isset($context['available_' . $type . ''][$package_md5])) {
1480
+															return $context['available_' . $type . ''][$package_md5]['version'];
1481
+							}
1423 1482
 						},
1424 1483
 					),
1425 1484
 					'sort' => array(
@@ -1434,8 +1493,9 @@  discard block
 block discarded – undo
1434 1493
 					'data' => array(
1435 1494
 						'function' => function($package_md5) use ($type, $txt, &$context)
1436 1495
 						{
1437
-							if (isset($context['available_' . $type . ''][$package_md5]))
1438
-								return !empty($context['available_' . $type . ''][$package_md5]['time_installed']) ? timeformat($context['available_' . $type . ''][$package_md5]['time_installed']) : $txt['not_applicable'];
1496
+							if (isset($context['available_' . $type . ''][$package_md5])) {
1497
+															return !empty($context['available_' . $type . ''][$package_md5]['time_installed']) ? timeformat($context['available_' . $type . ''][$package_md5]['time_installed']) : $txt['not_applicable'];
1498
+							}
1439 1499
 						},
1440 1500
 						'class' => 'smalltext',
1441 1501
 					),
@@ -1451,28 +1511,30 @@  discard block
 block discarded – undo
1451 1511
 					'data' => array(
1452 1512
 						'function' => function($package_md5) use ($type, &$context, $scripturl, $txt)
1453 1513
 						{
1454
-							if (!isset($context['available_' . $type . ''][$package_md5]))
1455
-								return '';
1514
+							if (!isset($context['available_' . $type . ''][$package_md5])) {
1515
+															return '';
1516
+							}
1456 1517
 
1457 1518
 							// Rewrite shortcut
1458 1519
 							$package = $context['available_' . $type . ''][$package_md5];
1459 1520
 							$return = '';
1460 1521
 
1461
-							if ($package['can_uninstall'])
1462
-								$return = '
1522
+							if ($package['can_uninstall']) {
1523
+															$return = '
1463 1524
 									<a href="' . $scripturl . '?action=admin;area=packages;sa=uninstall;package=' . $package['filename'] . ';pid=' . $package['installed_id'] . '" class="button">' . $txt['uninstall'] . '</a>';
1464
-							elseif ($package['can_emulate_uninstall'])
1465
-								$return = '
1525
+							} elseif ($package['can_emulate_uninstall']) {
1526
+															$return = '
1466 1527
 									<a href="' . $scripturl . '?action=admin;area=packages;sa=uninstall;ve=' . $package['can_emulate_uninstall'] . ';package=' . $package['filename'] . ';pid=' . $package['installed_id'] . '" class="button">' . $txt['package_emulate_uninstall'] . ' ' . $package['can_emulate_uninstall'] . '</a>';
1467
-							elseif ($package['can_upgrade'])
1468
-								$return = '
1528
+							} elseif ($package['can_upgrade']) {
1529
+															$return = '
1469 1530
 									<a href="' . $scripturl . '?action=admin;area=packages;sa=install;package=' . $package['filename'] . '" class="button">' . $txt['package_upgrade'] . '</a>';
1470
-							elseif ($package['can_install'])
1471
-								$return = '
1531
+							} elseif ($package['can_install']) {
1532
+															$return = '
1472 1533
 									<a href="' . $scripturl . '?action=admin;area=packages;sa=install;package=' . $package['filename'] . '" class="button">' . $txt['install_mod'] . '</a>';
1473
-							elseif ($package['can_emulate_install'])
1474
-								$return = '
1534
+							} elseif ($package['can_emulate_install']) {
1535
+															$return = '
1475 1536
 									<a href="' . $scripturl . '?action=admin;area=packages;sa=install;ve=' . $package['can_emulate_install'] . ';package=' . $package['filename'] . '" class="button">' . $txt['package_emulate_install'] . ' ' . $package['can_emulate_install'] . '</a>';
1537
+							}
1476 1538
 
1477 1539
 							return $return . '
1478 1540
 									<a href="' . $scripturl . '?action=admin;area=packages;sa=list;package=' . $package['filename'] . '" class="button">' . $txt['list_files'] . '</a>
@@ -1537,12 +1599,14 @@  discard block
 block discarded – undo
1537 1599
 	static $packages, $installed_mods;
1538 1600
 
1539 1601
 	// Start things up
1540
-	if (!isset($packages[$params]))
1541
-		$packages[$params] = array();
1602
+	if (!isset($packages[$params])) {
1603
+			$packages[$params] = array();
1604
+	}
1542 1605
 
1543 1606
 	// We need the packages directory to be writable for this.
1544
-	if (!@is_writable($packagesdir))
1545
-		create_chmod_control(array($packagesdir), array('destination_url' => $scripturl . '?action=admin;area=packages', 'crash_on_error' => true));
1607
+	if (!@is_writable($packagesdir)) {
1608
+			create_chmod_control(array($packagesdir), array('destination_url' => $scripturl . '?action=admin;area=packages', 'crash_on_error' => true));
1609
+	}
1546 1610
 
1547 1611
 	$the_version = strtr($forum_version, array('SMF ' => ''));
1548 1612
 
@@ -1550,41 +1614,44 @@  discard block
 block discarded – undo
1550 1614
 	if (isset($_GET['version_emulate']) && strtr($_GET['version_emulate'], array('SMF ' => '')) == $the_version)
1551 1615
 	{
1552 1616
 		unset($_SESSION['version_emulate']);
1553
-	}
1554
-	elseif (isset($_GET['version_emulate']))
1617
+	} elseif (isset($_GET['version_emulate']))
1555 1618
 	{
1556
-		if (($_GET['version_emulate'] === 0 || $_GET['version_emulate'] === $forum_version) && isset($_SESSION['version_emulate']))
1557
-			unset($_SESSION['version_emulate']);
1558
-		elseif ($_GET['version_emulate'] !== 0)
1559
-			$_SESSION['version_emulate'] = strtr($_GET['version_emulate'], array('-' => ' ', '+' => ' ', 'SMF ' => ''));
1619
+		if (($_GET['version_emulate'] === 0 || $_GET['version_emulate'] === $forum_version) && isset($_SESSION['version_emulate'])) {
1620
+					unset($_SESSION['version_emulate']);
1621
+		} elseif ($_GET['version_emulate'] !== 0) {
1622
+					$_SESSION['version_emulate'] = strtr($_GET['version_emulate'], array('-' => ' ', '+' => ' ', 'SMF ' => ''));
1623
+		}
1560 1624
 	}
1561 1625
 	if (!empty($_SESSION['version_emulate']))
1562 1626
 	{
1563 1627
 		$context['forum_version'] = 'SMF ' . $_SESSION['version_emulate'];
1564 1628
 		$the_version = $_SESSION['version_emulate'];
1565 1629
 	}
1566
-	if (isset($_SESSION['single_version_emulate']))
1567
-		unset($_SESSION['single_version_emulate']);
1630
+	if (isset($_SESSION['single_version_emulate'])) {
1631
+			unset($_SESSION['single_version_emulate']);
1632
+	}
1568 1633
 
1569 1634
 	if (empty($installed_mods))
1570 1635
 	{
1571 1636
 		$instmods = loadInstalledPackages();
1572 1637
 		$installed_mods = array();
1573 1638
 		// Look through the list of installed mods...
1574
-		foreach ($instmods as $installed_mod)
1575
-			$installed_mods[$installed_mod['package_id']] = array(
1639
+		foreach ($instmods as $installed_mod) {
1640
+					$installed_mods[$installed_mod['package_id']] = array(
1576 1641
 				'id' => $installed_mod['id'],
1577 1642
 				'version' => $installed_mod['version'],
1578 1643
 				'time_installed' => $installed_mod['time_installed'],
1579 1644
 			);
1645
+		}
1580 1646
 
1581 1647
 		// Get a list of all the ids installed, so the latest packages won't include already installed ones.
1582 1648
 		$context['installed_mods'] = array_keys($installed_mods);
1583 1649
 	}
1584 1650
 
1585
-	if (empty($packages))
1586
-		foreach ($context['modification_types'] as $type)
1651
+	if (empty($packages)) {
1652
+			foreach ($context['modification_types'] as $type)
1587 1653
 			$packages[$type] = array();
1654
+	}
1588 1655
 
1589 1656
 	if ($dir = @opendir($packagesdir))
1590 1657
 	{
@@ -1600,50 +1667,56 @@  discard block
 block discarded – undo
1600 1667
 
1601 1668
 		while ($package = readdir($dir))
1602 1669
 		{
1603
-			if ($package == '.' || $package == '..' || $package == 'temp' || (!(is_dir($packagesdir . '/' . $package) && file_exists($packagesdir . '/' . $package . '/package-info.xml')) && substr(strtolower($package), -7) != '.tar.gz' && substr(strtolower($package), -4) != '.tgz' && substr(strtolower($package), -4) != '.zip'))
1604
-				continue;
1670
+			if ($package == '.' || $package == '..' || $package == 'temp' || (!(is_dir($packagesdir . '/' . $package) && file_exists($packagesdir . '/' . $package . '/package-info.xml')) && substr(strtolower($package), -7) != '.tar.gz' && substr(strtolower($package), -4) != '.tgz' && substr(strtolower($package), -4) != '.zip')) {
1671
+							continue;
1672
+			}
1605 1673
 
1606 1674
 			$skip = false;
1607
-			foreach ($context['modification_types'] as $type)
1608
-				if (isset($context['available_' . $type][md5($package)]))
1675
+			foreach ($context['modification_types'] as $type) {
1676
+							if (isset($context['available_' . $type][md5($package)]))
1609 1677
 					$skip = true;
1678
+			}
1610 1679
 
1611
-			if ($skip)
1612
-				continue;
1680
+			if ($skip) {
1681
+							continue;
1682
+			}
1613 1683
 
1614 1684
 			// Skip directories or files that are named the same.
1615 1685
 			if (is_dir($packagesdir . '/' . $package))
1616 1686
 			{
1617
-				if (in_array($package, $dirs))
1618
-					continue;
1687
+				if (in_array($package, $dirs)) {
1688
+									continue;
1689
+				}
1619 1690
 				$dirs[] = $package;
1620
-			}
1621
-			elseif (substr(strtolower($package), -7) == '.tar.gz')
1691
+			} elseif (substr(strtolower($package), -7) == '.tar.gz')
1622 1692
 			{
1623
-				if (in_array(substr($package, 0, -7), $dirs))
1624
-					continue;
1693
+				if (in_array(substr($package, 0, -7), $dirs)) {
1694
+									continue;
1695
+				}
1625 1696
 				$dirs[] = substr($package, 0, -7);
1626
-			}
1627
-			elseif (substr(strtolower($package), -4) == '.zip' || substr(strtolower($package), -4) == '.tgz')
1697
+			} elseif (substr(strtolower($package), -4) == '.zip' || substr(strtolower($package), -4) == '.tgz')
1628 1698
 			{
1629
-				if (in_array(substr($package, 0, -4), $dirs))
1630
-					continue;
1699
+				if (in_array(substr($package, 0, -4), $dirs)) {
1700
+									continue;
1701
+				}
1631 1702
 				$dirs[] = substr($package, 0, -4);
1632 1703
 			}
1633 1704
 
1634 1705
 			$packageInfo = getPackageInfo($package);
1635
-			if (!is_array($packageInfo))
1636
-				continue;
1706
+			if (!is_array($packageInfo)) {
1707
+							continue;
1708
+			}
1637 1709
 
1638 1710
 			if (!empty($packageInfo))
1639 1711
 			{
1640 1712
 				$packageInfo['installed_id'] = isset($installed_mods[$packageInfo['id']]) ? $installed_mods[$packageInfo['id']]['id'] : 0;
1641 1713
 				$packageInfo['time_installed'] = isset($installed_mods[$packageInfo['id']]) ? $installed_mods[$packageInfo['id']]['time_installed'] : 0;
1642 1714
 
1643
-				if (!isset($sort_id[$packageInfo['type']]))
1644
-					$packageInfo['sort_id'] = $sort_id['unknown'];
1645
-				else
1646
-					$packageInfo['sort_id'] = $sort_id[$packageInfo['type']];
1715
+				if (!isset($sort_id[$packageInfo['type']])) {
1716
+									$packageInfo['sort_id'] = $sort_id['unknown'];
1717
+				} else {
1718
+									$packageInfo['sort_id'] = $sort_id[$packageInfo['type']];
1719
+				}
1647 1720
 
1648 1721
 				$packageInfo['is_installed'] = isset($installed_mods[$packageInfo['id']]);
1649 1722
 				$packageInfo['is_current'] = $packageInfo['is_installed'] && ($installed_mods[$packageInfo['id']]['version'] == $packageInfo['version']);
@@ -1692,10 +1765,11 @@  discard block
 block discarded – undo
1692 1765
 					foreach ($upgrades as $upgrade)
1693 1766
 					{
1694 1767
 						// Even if it is for this SMF, is it for the installed version of the mod?
1695
-						if (!$upgrade->exists('@for') || matchPackageVersion($the_version, $upgrade->fetch('@for')))
1696
-							if (!$upgrade->exists('@from') || matchPackageVersion($installed_mods[$packageInfo['id']]['version'], $upgrade->fetch('@from')))
1768
+						if (!$upgrade->exists('@for') || matchPackageVersion($the_version, $upgrade->fetch('@for'))) {
1769
+													if (!$upgrade->exists('@from') || matchPackageVersion($installed_mods[$packageInfo['id']]['version'], $upgrade->fetch('@from')))
1697 1770
 							{
1698 1771
 								$packageInfo['can_upgrade'] = true;
1772
+						}
1699 1773
 								break;
1700 1774
 							}
1701 1775
 					}
@@ -1772,10 +1846,11 @@  discard block
 block discarded – undo
1772 1846
 
1773 1847
 	if (isset($_GET['type']) && $_GET['type'] == $params)
1774 1848
 	{
1775
-		if (isset($_GET['desc']))
1776
-			krsort($packages[$params]);
1777
-		else
1778
-			ksort($packages[$params]);
1849
+		if (isset($_GET['desc'])) {
1850
+					krsort($packages[$params]);
1851
+		} else {
1852
+					ksort($packages[$params]);
1853
+		}
1779 1854
 	}
1780 1855
 
1781 1856
 	return $packages[$params];
@@ -1804,10 +1879,11 @@  discard block
 block discarded – undo
1804 1879
 		redirectexit('action=admin;area=packages;sa=options');
1805 1880
 	}
1806 1881
 
1807
-	if (preg_match('~^/home\d*/([^/]+?)/public_html~', $_SERVER['DOCUMENT_ROOT'], $match))
1808
-		$default_username = $match[1];
1809
-	else
1810
-		$default_username = '';
1882
+	if (preg_match('~^/home\d*/([^/]+?)/public_html~', $_SERVER['DOCUMENT_ROOT'], $match)) {
1883
+			$default_username = $match[1];
1884
+	} else {
1885
+			$default_username = '';
1886
+	}
1811 1887
 
1812 1888
 	$context['page_title'] = $txt['package_settings'];
1813 1889
 	$context['sub_template'] = 'install_options';
@@ -1836,8 +1912,9 @@  discard block
 block discarded – undo
1836 1912
 	isAllowedTo('admin_forum');
1837 1913
 
1838 1914
 	// We need to know the operation key for the search and replace, mod file looking at, is it a board mod?
1839
-	if (!isset($_REQUEST['operation_key'], $_REQUEST['filename']) && !is_numeric($_REQUEST['operation_key']))
1840
-		fatal_lang_error('operation_invalid', 'general');
1915
+	if (!isset($_REQUEST['operation_key'], $_REQUEST['filename']) && !is_numeric($_REQUEST['operation_key'])) {
1916
+			fatal_lang_error('operation_invalid', 'general');
1917
+	}
1841 1918
 
1842 1919
 	// Load the required file.
1843 1920
 	require_once($sourcedir . '/Subs-Package.php');
@@ -1853,18 +1930,19 @@  discard block
 block discarded – undo
1853 1930
 	{
1854 1931
 		$context['extracted_files'] = read_tgz_file($packagesdir . '/' . $context['filename'], $packagesdir . '/temp');
1855 1932
 
1856
-		if ($context['extracted_files'] && !file_exists($packagesdir . '/temp/package-info.xml'))
1857
-			foreach ($context['extracted_files'] as $file)
1933
+		if ($context['extracted_files'] && !file_exists($packagesdir . '/temp/package-info.xml')) {
1934
+					foreach ($context['extracted_files'] as $file)
1858 1935
 				if (basename($file['filename']) == 'package-info.xml')
1859 1936
 				{
1860 1937
 					$context['base_path'] = dirname($file['filename']) . '/';
1938
+		}
1861 1939
 					break;
1862 1940
 				}
1863 1941
 
1864
-		if (!isset($context['base_path']))
1865
-			$context['base_path'] = '';
1866
-	}
1867
-	elseif (is_dir($packagesdir . '/' . $context['filename']))
1942
+		if (!isset($context['base_path'])) {
1943
+					$context['base_path'] = '';
1944
+		}
1945
+	} elseif (is_dir($packagesdir . '/' . $context['filename']))
1868 1946
 	{
1869 1947
 		copytree($packagesdir . '/' . $context['filename'], $packagesdir . '/temp');
1870 1948
 		$context['extracted_files'] = listtree($packagesdir . '/temp');
@@ -1885,8 +1963,9 @@  discard block
 block discarded – undo
1885 1963
 		)
1886 1964
 	);
1887 1965
 	$theme_paths = array();
1888
-	while ($row = $smcFunc['db_fetch_assoc']($request))
1889
-		$theme_paths[$row['id_theme']][$row['variable']] = $row['value'];
1966
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1967
+			$theme_paths[$row['id_theme']][$row['variable']] = $row['value'];
1968
+	}
1890 1969
 	$smcFunc['db_free_result']($request);
1891 1970
 
1892 1971
 	// If we're viewing uninstall operations, only consider themes that
@@ -1911,19 +1990,21 @@  discard block
 block discarded – undo
1911 1990
 				list ($old_themes) = $smcFunc['db_fetch_row']($request);
1912 1991
 				$old_themes = explode(',', $old_themes);
1913 1992
 
1914
-				foreach ($theme_paths as $id => $data)
1915
-					if ($id != 1 && !in_array($id, $old_themes))
1993
+				foreach ($theme_paths as $id => $data) {
1994
+									if ($id != 1 && !in_array($id, $old_themes))
1916 1995
 						unset($theme_paths[$id]);
1996
+				}
1917 1997
 			}
1918 1998
 			$smcFunc['db_free_result']($request);
1919 1999
 		}
1920 2000
 	}
1921 2001
 
1922 2002
 	// Boardmod?
1923
-	if (isset($_REQUEST['boardmod']))
1924
-		$mod_actions = parseBoardMod(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $_REQUEST['filename']), true, $reverse, $theme_paths);
1925
-	else
1926
-		$mod_actions = parseModification(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $_REQUEST['filename']), true, $reverse, $theme_paths);
2003
+	if (isset($_REQUEST['boardmod'])) {
2004
+			$mod_actions = parseBoardMod(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $_REQUEST['filename']), true, $reverse, $theme_paths);
2005
+	} else {
2006
+			$mod_actions = parseModification(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $_REQUEST['filename']), true, $reverse, $theme_paths);
2007
+	}
1927 2008
 
1928 2009
 	// Ok lets get the content of the file.
1929 2010
 	$context['operations'] = array(
@@ -1979,9 +2060,9 @@  discard block
 block discarded – undo
1979 2060
 			'path' => $detect_path,
1980 2061
 			'form_elements_only' => true,
1981 2062
 		);
2063
+	} else {
2064
+			$context['ftp_connected'] = true;
1982 2065
 	}
1983
-	else
1984
-		$context['ftp_connected'] = true;
1985 2066
 
1986 2067
 	// Define the template.
1987 2068
 	$context['page_title'] = $txt['package_file_perms'];
@@ -2094,18 +2175,19 @@  discard block
 block discarded – undo
2094 2175
 	{
2095 2176
 		unset($context['file_tree'][strtr($boarddir, array('\\' => '/'))]['contents']['attachments']);
2096 2177
 
2097
-		if (!is_array($modSettings['attachmentUploadDir']))
2098
-			$modSettings['attachmentUploadDir'] = smf_json_decode($modSettings['attachmentUploadDir'], true);
2178
+		if (!is_array($modSettings['attachmentUploadDir'])) {
2179
+					$modSettings['attachmentUploadDir'] = smf_json_decode($modSettings['attachmentUploadDir'], true);
2180
+		}
2099 2181
 
2100 2182
 		// @todo Should we suggest non-current directories be read only?
2101
-		foreach ($modSettings['attachmentUploadDir'] as $dir)
2102
-			$context['file_tree'][strtr($dir, array('\\' => '/'))] = array(
2183
+		foreach ($modSettings['attachmentUploadDir'] as $dir) {
2184
+					$context['file_tree'][strtr($dir, array('\\' => '/'))] = array(
2103 2185
 			'type' => 'dir',
2104 2186
 			'writable_on' => 'restrictive',
2105 2187
 		);
2188
+		}
2106 2189
 
2107
-	}
2108
-	elseif (substr($modSettings['attachmentUploadDir'], 0, strlen($boarddir)) != $boarddir)
2190
+	} elseif (substr($modSettings['attachmentUploadDir'], 0, strlen($boarddir)) != $boarddir)
2109 2191
 	{
2110 2192
 		unset($context['file_tree'][strtr($boarddir, array('\\' => '/'))]['contents']['attachments']);
2111 2193
 		$context['file_tree'][strtr($modSettings['attachmentUploadDir'], array('\\' => '/'))] = array(
@@ -2155,8 +2237,8 @@  discard block
 block discarded – undo
2155 2237
 	);
2156 2238
 	while ($row = $smcFunc['db_fetch_assoc']($request))
2157 2239
 	{
2158
-		if (substr(strtolower(strtr($row['value'], array('\\' => '/'))), 0, strlen($boarddir) + 7) == strtolower(strtr($boarddir, array('\\' => '/')) . '/Themes'))
2159
-			$context['file_tree'][strtr($boarddir, array('\\' => '/'))]['contents']['Themes']['contents'][substr($row['value'], strlen($boarddir) + 8)] = array(
2240
+		if (substr(strtolower(strtr($row['value'], array('\\' => '/'))), 0, strlen($boarddir) + 7) == strtolower(strtr($boarddir, array('\\' => '/')) . '/Themes')) {
2241
+					$context['file_tree'][strtr($boarddir, array('\\' => '/'))]['contents']['Themes']['contents'][substr($row['value'], strlen($boarddir) + 8)] = array(
2160 2242
 				'type' => 'dir_recursive',
2161 2243
 				'list_contents' => true,
2162 2244
 				'contents' => array(
@@ -2166,7 +2248,7 @@  discard block
 block discarded – undo
2166 2248
 					),
2167 2249
 				),
2168 2250
 			);
2169
-		else
2251
+		} else
2170 2252
 		{
2171 2253
 			$context['file_tree'][strtr($row['value'], array('\\' => '/'))] = array(
2172 2254
 				'type' => 'dir_recursive',
@@ -2183,28 +2265,33 @@  discard block
 block discarded – undo
2183 2265
 	$smcFunc['db_free_result']($request);
2184 2266
 
2185 2267
 	// If we're submitting then let's move on to another function to keep things cleaner..
2186
-	if (isset($_POST['action_changes']))
2187
-		return PackagePermissionsAction();
2268
+	if (isset($_POST['action_changes'])) {
2269
+			return PackagePermissionsAction();
2270
+	}
2188 2271
 
2189 2272
 	$context['look_for'] = array();
2190 2273
 	// Are we looking for a particular tree - normally an expansion?
2191
-	if (!empty($_REQUEST['find']))
2192
-		$context['look_for'][] = base64_decode($_REQUEST['find']);
2274
+	if (!empty($_REQUEST['find'])) {
2275
+			$context['look_for'][] = base64_decode($_REQUEST['find']);
2276
+	}
2193 2277
 	// Only that tree?
2194 2278
 	$context['only_find'] = isset($_GET['xml']) && !empty($_REQUEST['onlyfind']) ? $_REQUEST['onlyfind'] : '';
2195
-	if ($context['only_find'])
2196
-		$context['look_for'][] = $context['only_find'];
2279
+	if ($context['only_find']) {
2280
+			$context['look_for'][] = $context['only_find'];
2281
+	}
2197 2282
 
2198 2283
 	// Have we got a load of back-catalogue trees to expand from a submit etc?
2199 2284
 	if (!empty($_GET['back_look']))
2200 2285
 	{
2201 2286
 		$potententialTrees = smf_json_decode(base64_decode($_GET['back_look']), true);
2202
-		foreach ($potententialTrees as $tree)
2203
-			$context['look_for'][] = $tree;
2287
+		foreach ($potententialTrees as $tree) {
2288
+					$context['look_for'][] = $tree;
2289
+		}
2204 2290
 	}
2205 2291
 	// ... maybe posted?
2206
-	if (!empty($_POST['back_look']))
2207
-		$context['only_find'] = array_merge($context['only_find'], $_POST['back_look']);
2292
+	if (!empty($_POST['back_look'])) {
2293
+			$context['only_find'] = array_merge($context['only_find'], $_POST['back_look']);
2294
+	}
2208 2295
 
2209 2296
 	$context['back_look_data'] = base64_encode(json_encode(array_slice($context['look_for'], 0, 15)));
2210 2297
 
@@ -2243,9 +2330,9 @@  discard block
 block discarded – undo
2243 2330
 				'chmod' => @is_writable($path),
2244 2331
 				'perms' => @fileperms($path),
2245 2332
 			);
2333
+		} else {
2334
+					unset($context['file_tree'][$path]);
2246 2335
 		}
2247
-		else
2248
-			unset($context['file_tree'][$path]);
2249 2336
 	}
2250 2337
 
2251 2338
 	// Is this actually xml?
@@ -2269,22 +2356,25 @@  discard block
 block discarded – undo
2269 2356
 	global $context;
2270 2357
 
2271 2358
 	$isLikelyPath = false;
2272
-	foreach ($context['look_for'] as $possiblePath)
2273
-		if (substr($possiblePath, 0, strlen($path)) == $path)
2359
+	foreach ($context['look_for'] as $possiblePath) {
2360
+			if (substr($possiblePath, 0, strlen($path)) == $path)
2274 2361
 			$isLikelyPath = true;
2362
+	}
2275 2363
 
2276 2364
 	// Is this where we stop?
2277
-	if (isset($_GET['xml']) && !empty($context['look_for']) && !$isLikelyPath)
2278
-		return;
2279
-	elseif ($level > $context['default_level'] && !$isLikelyPath)
2280
-		return;
2365
+	if (isset($_GET['xml']) && !empty($context['look_for']) && !$isLikelyPath) {
2366
+			return;
2367
+	} elseif ($level > $context['default_level'] && !$isLikelyPath) {
2368
+			return;
2369
+	}
2281 2370
 
2282 2371
 	// Are we actually interested in saving this data?
2283 2372
 	$save_data = empty($context['only_find']) || $context['only_find'] == $path;
2284 2373
 
2285 2374
 	// @todo Shouldn't happen - but better error message?
2286
-	if (!is_dir($path))
2287
-		fatal_lang_error('no_access', false);
2375
+	if (!is_dir($path)) {
2376
+			fatal_lang_error('no_access', false);
2377
+	}
2288 2378
 
2289 2379
 	// This is where we put stuff we've found for sorting.
2290 2380
 	$foundData = array(
@@ -2299,11 +2389,13 @@  discard block
 block discarded – undo
2299 2389
 		if (is_file($path . '/' . $entry))
2300 2390
 		{
2301 2391
 			// Are we listing PHP files in this directory?
2302
-			if ($save_data && !empty($data['list_contents']) && substr($entry, -4) == '.php')
2303
-				$foundData['files'][$entry] = true;
2392
+			if ($save_data && !empty($data['list_contents']) && substr($entry, -4) == '.php') {
2393
+							$foundData['files'][$entry] = true;
2394
+			}
2304 2395
 			// A file we were looking for.
2305
-			elseif ($save_data && isset($data['contents'][$entry]))
2306
-				$foundData['files'][$entry] = true;
2396
+			elseif ($save_data && isset($data['contents'][$entry])) {
2397
+							$foundData['files'][$entry] = true;
2398
+			}
2307 2399
 		}
2308 2400
 		// It's a directory - we're interested one way or another, probably...
2309 2401
 		elseif ($entry != '.' && $entry != '..')
@@ -2311,32 +2403,36 @@  discard block
 block discarded – undo
2311 2403
 			// Going further?
2312 2404
 			if ((!empty($data['type']) && $data['type'] == 'dir_recursive') || (isset($data['contents'][$entry]) && (!empty($data['contents'][$entry]['list_contents']) || (!empty($data['contents'][$entry]['type']) && $data['contents'][$entry]['type'] == 'dir_recursive'))))
2313 2405
 			{
2314
-				if (!isset($data['contents'][$entry]))
2315
-					$foundData['folders'][$entry] = 'dir_recursive';
2316
-				else
2317
-					$foundData['folders'][$entry] = true;
2406
+				if (!isset($data['contents'][$entry])) {
2407
+									$foundData['folders'][$entry] = 'dir_recursive';
2408
+				} else {
2409
+									$foundData['folders'][$entry] = true;
2410
+				}
2318 2411
 
2319 2412
 				// If this wasn't expected inherit the recusiveness...
2320
-				if (!isset($data['contents'][$entry]))
2321
-					// We need to do this as we will be going all recursive.
2413
+				if (!isset($data['contents'][$entry])) {
2414
+									// We need to do this as we will be going all recursive.
2322 2415
 					$data['contents'][$entry] = array(
2323 2416
 						'type' => 'dir_recursive',
2324 2417
 					);
2418
+				}
2325 2419
 
2326 2420
 				// Actually do the recursive stuff...
2327 2421
 				fetchPerms__recursive($path . '/' . $entry, $data['contents'][$entry], $level + 1);
2328 2422
 			}
2329 2423
 			// Maybe it is a folder we are not descending into.
2330
-			elseif (isset($data['contents'][$entry]))
2331
-				$foundData['folders'][$entry] = true;
2424
+			elseif (isset($data['contents'][$entry])) {
2425
+							$foundData['folders'][$entry] = true;
2426
+			}
2332 2427
 			// Otherwise we stop here.
2333 2428
 		}
2334 2429
 	}
2335 2430
 	closedir($dh);
2336 2431
 
2337 2432
 	// Nothing to see here?
2338
-	if (!$save_data)
2339
-		return;
2433
+	if (!$save_data) {
2434
+			return;
2435
+	}
2340 2436
 
2341 2437
 	// Now actually add the data, starting with the folders.
2342 2438
 	ksort($foundData['folders']);
@@ -2348,8 +2444,9 @@  discard block
 block discarded – undo
2348 2444
 				'perms' => @fileperms($path . '/' . $folder),
2349 2445
 			),
2350 2446
 		);
2351
-		if ($type !== true)
2352
-			$additional_data['type'] = $type;
2447
+		if ($type !== true) {
2448
+					$additional_data['type'] = $type;
2449
+		}
2353 2450
 
2354 2451
 		// If there's an offset ignore any folders in XML mode.
2355 2452
 		if (isset($_GET['xml']) && $context['file_offset'] == 0)
@@ -2368,13 +2465,13 @@  discard block
 block discarded – undo
2368 2465
 				),
2369 2466
 				'value' => $folder,
2370 2467
 			);
2371
-		}
2372
-		elseif (!isset($_GET['xml']))
2468
+		} elseif (!isset($_GET['xml']))
2373 2469
 		{
2374
-			if (isset($data['contents'][$folder]))
2375
-				$data['contents'][$folder] = array_merge($data['contents'][$folder], $additional_data);
2376
-			else
2377
-				$data['contents'][$folder] = $additional_data;
2470
+			if (isset($data['contents'][$folder])) {
2471
+							$data['contents'][$folder] = array_merge($data['contents'][$folder], $additional_data);
2472
+			} else {
2473
+							$data['contents'][$folder] = $additional_data;
2474
+			}
2378 2475
 		}
2379 2476
 	}
2380 2477
 
@@ -2386,11 +2483,13 @@  discard block
 block discarded – undo
2386 2483
 		$counter++;
2387 2484
 
2388 2485
 		// Have we reached our offset?
2389
-		if ($context['file_offset'] > $counter)
2390
-			continue;
2486
+		if ($context['file_offset'] > $counter) {
2487
+					continue;
2488
+		}
2391 2489
 		// Gone too far?
2392
-		if ($counter > ($context['file_offset'] + $context['file_limit']))
2393
-			continue;
2490
+		if ($counter > ($context['file_offset'] + $context['file_limit'])) {
2491
+					continue;
2492
+		}
2394 2493
 
2395 2494
 		$additional_data = array(
2396 2495
 			'perms' => array(
@@ -2416,13 +2515,13 @@  discard block
 block discarded – undo
2416 2515
 				),
2417 2516
 				'value' => $file,
2418 2517
 			);
2419
-		}
2420
-		elseif ($counter != ($context['file_offset'] + $context['file_limit']))
2518
+		} elseif ($counter != ($context['file_offset'] + $context['file_limit']))
2421 2519
 		{
2422
-			if (isset($data['contents'][$file]))
2423
-				$data['contents'][$file] = array_merge($data['contents'][$file], $additional_data);
2424
-			else
2425
-				$data['contents'][$file] = $additional_data;
2520
+			if (isset($data['contents'][$file])) {
2521
+							$data['contents'][$file] = array_merge($data['contents'][$file], $additional_data);
2522
+			} else {
2523
+							$data['contents'][$file] = $additional_data;
2524
+			}
2426 2525
 		}
2427 2526
 	}
2428 2527
 }
@@ -2444,8 +2543,9 @@  discard block
 block discarded – undo
2444 2543
 	$context['back_look_data'] = isset($_POST['back_look']) ? $_POST['back_look'] : array();
2445 2544
 
2446 2545
 	// Skipping use of FTP?
2447
-	if (empty($package_ftp))
2448
-		$context['skip_ftp'] = true;
2546
+	if (empty($package_ftp)) {
2547
+			$context['skip_ftp'] = true;
2548
+	}
2449 2549
 
2450 2550
 	// We'll start off in a good place, security. Make sure that if we're dealing with individual files that they seem in the right place.
2451 2551
 	if ($context['method'] == 'individual')
@@ -2455,8 +2555,9 @@  discard block
 block discarded – undo
2455 2555
 		$context['custom_value'] = (int) $_POST['custom_value'];
2456 2556
 
2457 2557
 		// Continuing?
2458
-		if (isset($_POST['toProcess']))
2459
-			$_POST['permStatus'] = smf_json_decode(base64_decode($_POST['toProcess']), true);
2558
+		if (isset($_POST['toProcess'])) {
2559
+					$_POST['permStatus'] = smf_json_decode(base64_decode($_POST['toProcess']), true);
2560
+		}
2460 2561
 
2461 2562
 		if (isset($_POST['permStatus']))
2462 2563
 		{
@@ -2465,22 +2566,27 @@  discard block
 block discarded – undo
2465 2566
 			foreach ($_POST['permStatus'] as $path => $status)
2466 2567
 			{
2467 2568
 				// Nothing to see here?
2468
-				if ($status == 'no_change')
2469
-					continue;
2569
+				if ($status == 'no_change') {
2570
+									continue;
2571
+				}
2470 2572
 				$legal = false;
2471
-				foreach ($legal_roots as $root)
2472
-					if (substr($path, 0, strlen($root)) == $root)
2573
+				foreach ($legal_roots as $root) {
2574
+									if (substr($path, 0, strlen($root)) == $root)
2473 2575
 						$legal = true;
2576
+				}
2474 2577
 
2475
-				if (!$legal)
2476
-					continue;
2578
+				if (!$legal) {
2579
+									continue;
2580
+				}
2477 2581
 
2478 2582
 				// Check it exists.
2479
-				if (!file_exists($path))
2480
-					continue;
2583
+				if (!file_exists($path)) {
2584
+									continue;
2585
+				}
2481 2586
 
2482
-				if ($status == 'custom')
2483
-					$validate_custom = true;
2587
+				if ($status == 'custom') {
2588
+									$validate_custom = true;
2589
+				}
2484 2590
 
2485 2591
 				// Now add it.
2486 2592
 				$context['to_process'][$path] = $status;
@@ -2490,17 +2596,20 @@  discard block
 block discarded – undo
2490 2596
 			// Make sure the chmod status is valid?
2491 2597
 			if ($validate_custom)
2492 2598
 			{
2493
-				if (preg_match('~^[4567][4567][4567]$~', $context['custom_value']) == false)
2494
-					fatal_error($txt['chmod_value_invalid']);
2599
+				if (preg_match('~^[4567][4567][4567]$~', $context['custom_value']) == false) {
2600
+									fatal_error($txt['chmod_value_invalid']);
2601
+				}
2495 2602
 			}
2496 2603
 
2497 2604
 			// Nothing to do?
2498
-			if (empty($context['to_process']))
2499
-				redirectexit('action=admin;area=packages;sa=perms' . (!empty($context['back_look_data']) ? ';back_look=' . base64_encode(json_encode($context['back_look_data'])) : '') . ';' . $context['session_var'] . '=' . $context['session_id']);
2605
+			if (empty($context['to_process'])) {
2606
+							redirectexit('action=admin;area=packages;sa=perms' . (!empty($context['back_look_data']) ? ';back_look=' . base64_encode(json_encode($context['back_look_data'])) : '') . ';' . $context['session_var'] . '=' . $context['session_id']);
2607
+			}
2500 2608
 		}
2501 2609
 		// Should never get here,
2502
-		else
2503
-			fatal_lang_error('no_access', false);
2610
+		else {
2611
+					fatal_lang_error('no_access', false);
2612
+		}
2504 2613
 
2505 2614
 		// Setup the custom value.
2506 2615
 		$custom_value = octdec('0' . $context['custom_value']);
@@ -2508,26 +2617,27 @@  discard block
 block discarded – undo
2508 2617
 		// Start processing items.
2509 2618
 		foreach ($context['to_process'] as $path => $status)
2510 2619
 		{
2511
-			if (in_array($status, array('execute', 'writable', 'read')))
2512
-				package_chmod($path, $status);
2513
-			elseif ($status == 'custom' && !empty($custom_value))
2620
+			if (in_array($status, array('execute', 'writable', 'read'))) {
2621
+							package_chmod($path, $status);
2622
+			} elseif ($status == 'custom' && !empty($custom_value))
2514 2623
 			{
2515 2624
 				// Use FTP if we have it.
2516 2625
 				if (!empty($package_ftp) && !empty($_SESSION['pack_ftp']))
2517 2626
 				{
2518 2627
 					$ftp_file = strtr($path, array($_SESSION['pack_ftp']['root'] => ''));
2519 2628
 					$package_ftp->chmod($ftp_file, $custom_value);
2629
+				} else {
2630
+									smf_chmod($path, $custom_value);
2520 2631
 				}
2521
-				else
2522
-					smf_chmod($path, $custom_value);
2523 2632
 			}
2524 2633
 
2525 2634
 			// This fish is fried...
2526 2635
 			unset($context['to_process'][$path]);
2527 2636
 
2528 2637
 			// See if we're out of time?
2529
-			if (time() - array_sum(explode(' ', $time_start)) > $timeout_limit)
2530
-				return false;
2638
+			if (time() - array_sum(explode(' ', $time_start)) > $timeout_limit) {
2639
+							return false;
2640
+			}
2531 2641
 		}
2532 2642
 	}
2533 2643
 	// If predefined this is a little different.
@@ -2595,23 +2705,27 @@  discard block
 block discarded – undo
2595 2705
 			{
2596 2706
 				global $context;
2597 2707
 
2598
-				if (!empty($data['writable_on']))
2599
-					if ($context['predefined_type'] == 'standard' || $data['writable_on'] == 'restrictive')
2708
+				if (!empty($data['writable_on'])) {
2709
+									if ($context['predefined_type'] == 'standard' || $data['writable_on'] == 'restrictive')
2600 2710
 						$context['special_files'][$path] = 1;
2711
+				}
2601 2712
 
2602
-				if (!empty($data['contents']))
2603
-					foreach ($data['contents'] as $name => $contents)
2713
+				if (!empty($data['contents'])) {
2714
+									foreach ($data['contents'] as $name => $contents)
2604 2715
 						build_special_files__recursive($path . '/' . $name, $contents);
2716
+				}
2605 2717
 			}
2606 2718
 
2607
-			foreach ($context['file_tree'] as $path => $data)
2608
-				build_special_files__recursive($path, $data);
2719
+			foreach ($context['file_tree'] as $path => $data) {
2720
+							build_special_files__recursive($path, $data);
2721
+			}
2609 2722
 		}
2610 2723
 		// Free doesn't need special files.
2611
-		elseif ($context['predefined_type'] == 'free')
2612
-			$context['special_files'] = array();
2613
-		else
2614
-			$context['special_files'] = smf_json_decode(base64_decode($_POST['specialFiles']), true);
2724
+		elseif ($context['predefined_type'] == 'free') {
2725
+					$context['special_files'] = array();
2726
+		} else {
2727
+					$context['special_files'] = smf_json_decode(base64_decode($_POST['specialFiles']), true);
2728
+		}
2615 2729
 
2616 2730
 		// Now we definitely know where we are, we need to go through again doing the chmod!
2617 2731
 		foreach ($context['directory_list'] as $path => $dummy)
@@ -2656,8 +2770,9 @@  discard block
 block discarded – undo
2656 2770
 			unset($context['directory_list'][$path]);
2657 2771
 
2658 2772
 			// See if we're out of time?
2659
-			if (time() - array_sum(explode(' ', $time_start)) > $timeout_limit)
2660
-				return false;
2773
+			if (time() - array_sum(explode(' ', $time_start)) > $timeout_limit) {
2774
+							return false;
2775
+			}
2661 2776
 		}
2662 2777
 	}
2663 2778
 
Please login to merge, or discard this patch.
Sources/MessageIndex.php 1 patch
Braces   +264 added lines, -197 removed lines patch added patch discarded remove patch
@@ -14,8 +14,9 @@  discard block
 block discarded – undo
14 14
  * @version 2.1 Beta 3
15 15
  */
16 16
 
17
-if (!defined('SMF'))
17
+if (!defined('SMF')) {
18 18
 	die('No direct access...');
19
+}
19 20
 
20 21
 /**
21 22
  * Show the list of topics in this board, along with any child boards.
@@ -56,8 +57,9 @@  discard block
 block discarded – undo
56 57
 
57 58
 	$context['name'] = $board_info['name'];
58 59
 	$context['description'] = $board_info['description'];
59
-	if (!empty($board_info['description']))
60
-		$context['meta_description'] = strip_tags($board_info['description']);
60
+	if (!empty($board_info['description'])) {
61
+			$context['meta_description'] = strip_tags($board_info['description']);
62
+	}
61 63
 
62 64
 	// How many topics do we have in total?
63 65
 	$board_info['total_topics'] = allowedTo('approve_posts') ? $board_info['num_topics'] + $board_info['unapproved_topics'] : $board_info['num_topics'] + $board_info['unapproved_user_topics'];
@@ -73,12 +75,14 @@  discard block
 block discarded – undo
73 75
 		$session_name = session_name();
74 76
 		foreach ($_GET as $k => $v)
75 77
 		{
76
-			if (!in_array($k, array('board', 'start', $session_name)))
77
-				$context['robot_no_index'] = true;
78
+			if (!in_array($k, array('board', 'start', $session_name))) {
79
+							$context['robot_no_index'] = true;
80
+			}
78 81
 		}
79 82
 	}
80
-	if (!empty($_REQUEST['start']) && (!is_numeric($_REQUEST['start']) || $_REQUEST['start'] % $context['messages_per_page'] != 0))
81
-		$context['robot_no_index'] = true;
83
+	if (!empty($_REQUEST['start']) && (!is_numeric($_REQUEST['start']) || $_REQUEST['start'] % $context['messages_per_page'] != 0)) {
84
+			$context['robot_no_index'] = true;
85
+	}
82 86
 
83 87
 	// If we can view unapproved messages and there are some build up a list.
84 88
 	if (allowedTo('approve_posts') && ($board_info['unapproved_topics'] || $board_info['unapproved_posts']))
@@ -89,14 +93,16 @@  discard block
 block discarded – undo
89 93
 	}
90 94
 
91 95
 	// We only know these.
92
-	if (isset($_REQUEST['sort']) && !in_array($_REQUEST['sort'], array('subject', 'starter', 'last_poster', 'replies', 'views', 'first_post', 'last_post')))
93
-		$_REQUEST['sort'] = 'last_post';
96
+	if (isset($_REQUEST['sort']) && !in_array($_REQUEST['sort'], array('subject', 'starter', 'last_poster', 'replies', 'views', 'first_post', 'last_post'))) {
97
+			$_REQUEST['sort'] = 'last_post';
98
+	}
94 99
 
95 100
 	// Make sure the starting place makes sense and construct the page index.
96
-	if (isset($_REQUEST['sort']))
97
-		$context['page_index'] = constructPageIndex($scripturl . '?board=' . $board . '.%1$d;sort=' . $_REQUEST['sort'] . (isset($_REQUEST['desc']) ? ';desc' : ''), $_REQUEST['start'], $board_info['total_topics'], $maxindex, true);
98
-	else
99
-		$context['page_index'] = constructPageIndex($scripturl . '?board=' . $board . '.%1$d', $_REQUEST['start'], $board_info['total_topics'], $maxindex, true);
101
+	if (isset($_REQUEST['sort'])) {
102
+			$context['page_index'] = constructPageIndex($scripturl . '?board=' . $board . '.%1$d;sort=' . $_REQUEST['sort'] . (isset($_REQUEST['desc']) ? ';desc' : ''), $_REQUEST['start'], $board_info['total_topics'], $maxindex, true);
103
+	} else {
104
+			$context['page_index'] = constructPageIndex($scripturl . '?board=' . $board . '.%1$d', $_REQUEST['start'], $board_info['total_topics'], $maxindex, true);
105
+	}
100 106
 	$context['start'] = &$_REQUEST['start'];
101 107
 
102 108
 	// Set a canonical URL for this page.
@@ -132,14 +138,16 @@  discard block
 block discarded – undo
132 138
 	$context['link_moderators'] = array();
133 139
 	if (!empty($board_info['moderators']))
134 140
 	{
135
-		foreach ($board_info['moderators'] as $mod)
136
-			$context['link_moderators'][] = '<a href="' . $scripturl . '?action=profile;u=' . $mod['id'] . '" title="' . $txt['board_moderator'] . '">' . $mod['name'] . '</a>';
141
+		foreach ($board_info['moderators'] as $mod) {
142
+					$context['link_moderators'][] = '<a href="' . $scripturl . '?action=profile;u=' . $mod['id'] . '" title="' . $txt['board_moderator'] . '">' . $mod['name'] . '</a>';
143
+		}
137 144
 	}
138 145
 	if (!empty($board_info['moderator_groups']))
139 146
 	{
140 147
 		// By default just tack the moderator groups onto the end of the members
141
-		foreach ($board_info['moderator_groups'] as $mod_group)
142
-			$context['link_moderators'][] = '<a href="' . $scripturl . '?action=groups;sa=members;group=' . $mod_group['id'] . '" title="' . $txt['board_moderator'] . '">' . $mod_group['name'] . '</a>';
148
+		foreach ($board_info['moderator_groups'] as $mod_group) {
149
+					$context['link_moderators'][] = '<a href="' . $scripturl . '?action=groups;sa=members;group=' . $mod_group['id'] . '" title="' . $txt['board_moderator'] . '">' . $mod_group['name'] . '</a>';
150
+		}
143 151
 	}
144 152
 
145 153
 	// Now we tack the info onto the end of the linktree
@@ -191,20 +199,24 @@  discard block
 block discarded – undo
191 199
 		);
192 200
 		while ($row = $smcFunc['db_fetch_assoc']($request))
193 201
 		{
194
-			if (empty($row['id_member']))
195
-				continue;
202
+			if (empty($row['id_member'])) {
203
+							continue;
204
+			}
196 205
 
197
-			if (!empty($row['online_color']))
198
-				$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '" style="color: ' . $row['online_color'] . ';">' . $row['real_name'] . '</a>';
199
-			else
200
-				$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>';
206
+			if (!empty($row['online_color'])) {
207
+							$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '" style="color: ' . $row['online_color'] . ';">' . $row['real_name'] . '</a>';
208
+			} else {
209
+							$link = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>';
210
+			}
201 211
 
202 212
 			$is_buddy = in_array($row['id_member'], $user_info['buddies']);
203
-			if ($is_buddy)
204
-				$link = '<strong>' . $link . '</strong>';
213
+			if ($is_buddy) {
214
+							$link = '<strong>' . $link . '</strong>';
215
+			}
205 216
 
206
-			if (!empty($row['show_online']) || allowedTo('moderate_forum'))
207
-				$context['view_members_list'][$row['log_time'] . $row['member_name']] = empty($row['show_online']) ? '<em>' . $link . '</em>' : $link;
217
+			if (!empty($row['show_online']) || allowedTo('moderate_forum')) {
218
+							$context['view_members_list'][$row['log_time'] . $row['member_name']] = empty($row['show_online']) ? '<em>' . $link . '</em>' : $link;
219
+			}
208 220
 			// @todo why are we filling this array of data that are just counted (twice) and discarded? ???
209 221
 			$context['view_members'][$row['log_time'] . $row['member_name']] = array(
210 222
 				'id' => $row['id_member'],
@@ -217,8 +229,9 @@  discard block
 block discarded – undo
217 229
 				'hidden' => empty($row['show_online']),
218 230
 			);
219 231
 
220
-			if (empty($row['show_online']))
221
-				$context['view_num_hidden']++;
232
+			if (empty($row['show_online'])) {
233
+							$context['view_num_hidden']++;
234
+			}
222 235
 		}
223 236
 		$context['view_num_guests'] = $smcFunc['db_num_rows']($request) - count($context['view_members']);
224 237
 		$smcFunc['db_free_result']($request);
@@ -257,8 +270,9 @@  discard block
 block discarded – undo
257 270
 	$context['sort_direction'] = $ascending ? 'up' : 'down';
258 271
 	$txt['starter'] = $txt['started_by'];
259 272
 
260
-	foreach ($sort_methods as $key => $val)
261
-		$context['topics_headers'][$key] = '<a href="' . $scripturl . '?board=' . $context['current_board'] . '.' . $context['start'] . ';sort=' . $key . ($context['sort_by'] == $key && $context['sort_direction'] == 'up' ? ';desc' : '') . '">' . $txt[$key] . ($context['sort_by'] == $key ? '<span class="sort sort_' . $context['sort_direction'] . '"></span>' : '') . '</a>';
273
+	foreach ($sort_methods as $key => $val) {
274
+			$context['topics_headers'][$key] = '<a href="' . $scripturl . '?board=' . $context['current_board'] . '.' . $context['start'] . ';sort=' . $key . ($context['sort_by'] == $key && $context['sort_direction'] == 'up' ? ';desc' : '') . '">' . $txt[$key] . ($context['sort_by'] == $key ? '<span class="sort sort_' . $context['sort_direction'] . '"></span>' : '') . '</a>';
275
+	}
262 276
 
263 277
 	// Calculate the fastest way to get the topics.
264 278
 	$start = (int) $_REQUEST['start'];
@@ -268,14 +282,15 @@  discard block
 block discarded – undo
268 282
 		$fake_ascending = true;
269 283
 		$maxindex = $board_info['total_topics'] < $start + $maxindex + 1 ? $board_info['total_topics'] - $start : $maxindex;
270 284
 		$start = $board_info['total_topics'] < $start + $maxindex + 1 ? 0 : $board_info['total_topics'] - $start - $maxindex;
285
+	} else {
286
+			$fake_ascending = false;
271 287
 	}
272
-	else
273
-		$fake_ascending = false;
274 288
 
275 289
 	// Setup the default topic icons...
276 290
 	$context['icon_sources'] = array();
277
-	foreach ($context['stable_icons'] as $icon)
278
-		$context['icon_sources'][$icon] = 'images_url';
291
+	foreach ($context['stable_icons'] as $icon) {
292
+			$context['icon_sources'][$icon] = 'images_url';
293
+	}
279 294
 
280 295
 	$topic_ids = array();
281 296
 	$context['topics'] = array();
@@ -306,8 +321,9 @@  discard block
 block discarded – undo
306 321
 			)
307 322
 		);
308 323
 		$topic_ids = array();
309
-		while ($row = $smcFunc['db_fetch_assoc']($request))
310
-			$topic_ids[] = $row['id_topic'];
324
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
325
+					$topic_ids[] = $row['id_topic'];
326
+		}
311 327
 	}
312 328
 
313 329
 	// Grab the appropriate topic information...
@@ -363,11 +379,13 @@  discard block
 block discarded – undo
363 379
 		// Begin 'printing' the message index for current board.
364 380
 		while ($row = $smcFunc['db_fetch_assoc']($result))
365 381
 		{
366
-			if ($row['id_poll'] > 0 && $modSettings['pollMode'] == '0')
367
-				continue;
382
+			if ($row['id_poll'] > 0 && $modSettings['pollMode'] == '0') {
383
+							continue;
384
+			}
368 385
 
369
-			if (!$pre_query)
370
-				$topic_ids[] = $row['id_topic'];
386
+			if (!$pre_query) {
387
+							$topic_ids[] = $row['id_topic'];
388
+			}
371 389
 
372 390
 			// Reference the main color class.
373 391
 			$colorClass = 'windowbg';
@@ -377,8 +395,9 @@  discard block
 block discarded – undo
377 395
 			{
378 396
 				// Limit them to $modSettings['preview_characters'] characters
379 397
 				$row['first_body'] = strip_tags(strtr(parse_bbc($row['first_body'], $row['first_smileys'], $row['id_first_msg']), array('<br>' => '&#10;')));
380
-				if ($smcFunc['strlen']($row['first_body']) > $modSettings['preview_characters'])
381
-					$row['first_body'] = $smcFunc['substr']($row['first_body'], 0, $modSettings['preview_characters']) . '...';
398
+				if ($smcFunc['strlen']($row['first_body']) > $modSettings['preview_characters']) {
399
+									$row['first_body'] = $smcFunc['substr']($row['first_body'], 0, $modSettings['preview_characters']) . '...';
400
+				}
382 401
 
383 402
 				// Censor the subject and message preview.
384 403
 				censorText($row['first_subject']);
@@ -389,27 +408,27 @@  discard block
 block discarded – undo
389 408
 				{
390 409
 					$row['last_subject'] = $row['first_subject'];
391 410
 					$row['last_body'] = $row['first_body'];
392
-				}
393
-				else
411
+				} else
394 412
 				{
395 413
 					$row['last_body'] = strip_tags(strtr(parse_bbc($row['last_body'], $row['last_smileys'], $row['id_last_msg']), array('<br>' => '&#10;')));
396
-					if ($smcFunc['strlen']($row['last_body']) > $modSettings['preview_characters'])
397
-						$row['last_body'] = $smcFunc['substr']($row['last_body'], 0, $modSettings['preview_characters']) . '...';
414
+					if ($smcFunc['strlen']($row['last_body']) > $modSettings['preview_characters']) {
415
+											$row['last_body'] = $smcFunc['substr']($row['last_body'], 0, $modSettings['preview_characters']) . '...';
416
+					}
398 417
 
399 418
 					censorText($row['last_subject']);
400 419
 					censorText($row['last_body']);
401 420
 				}
402
-			}
403
-			else
421
+			} else
404 422
 			{
405 423
 				$row['first_body'] = '';
406 424
 				$row['last_body'] = '';
407 425
 				censorText($row['first_subject']);
408 426
 
409
-				if ($row['id_first_msg'] == $row['id_last_msg'])
410
-					$row['last_subject'] = $row['first_subject'];
411
-				else
412
-					censorText($row['last_subject']);
427
+				if ($row['id_first_msg'] == $row['id_last_msg']) {
428
+									$row['last_subject'] = $row['first_subject'];
429
+				} else {
430
+									censorText($row['last_subject']);
431
+				}
413 432
 			}
414 433
 
415 434
 			// Decide how many pages the topic should have.
@@ -420,42 +439,50 @@  discard block
 block discarded – undo
420 439
 				$pages = constructPageIndex($scripturl . '?topic=' . $row['id_topic'] . '.%1$d', $start, $row['num_replies'] + 1, $context['messages_per_page'], true, false);
421 440
 
422 441
 				// If we can use all, show all.
423
-				if (!empty($modSettings['enableAllMessages']) && $row['num_replies'] + 1 < $modSettings['enableAllMessages'])
424
-					$pages .= ' &nbsp;<a href="' . $scripturl . '?topic=' . $row['id_topic'] . '.0;all">' . $txt['all'] . '</a>';
442
+				if (!empty($modSettings['enableAllMessages']) && $row['num_replies'] + 1 < $modSettings['enableAllMessages']) {
443
+									$pages .= ' &nbsp;<a href="' . $scripturl . '?topic=' . $row['id_topic'] . '.0;all">' . $txt['all'] . '</a>';
444
+				}
445
+			} else {
446
+							$pages = '';
425 447
 			}
426
-			else
427
-				$pages = '';
428 448
 
429 449
 			// We need to check the topic icons exist...
430 450
 			if (!empty($modSettings['messageIconChecks_enable']))
431 451
 			{
432
-				if (!isset($context['icon_sources'][$row['first_icon']]))
433
-					$context['icon_sources'][$row['first_icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $row['first_icon'] . '.png') ? 'images_url' : 'default_images_url';
434
-				if (!isset($context['icon_sources'][$row['last_icon']]))
435
-					$context['icon_sources'][$row['last_icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $row['last_icon'] . '.png') ? 'images_url' : 'default_images_url';
436
-			}
437
-			else
452
+				if (!isset($context['icon_sources'][$row['first_icon']])) {
453
+									$context['icon_sources'][$row['first_icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $row['first_icon'] . '.png') ? 'images_url' : 'default_images_url';
454
+				}
455
+				if (!isset($context['icon_sources'][$row['last_icon']])) {
456
+									$context['icon_sources'][$row['last_icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $row['last_icon'] . '.png') ? 'images_url' : 'default_images_url';
457
+				}
458
+			} else
438 459
 			{
439
-				if (!isset($context['icon_sources'][$row['first_icon']]))
440
-					$context['icon_sources'][$row['first_icon']] = 'images_url';
441
-				if (!isset($context['icon_sources'][$row['last_icon']]))
442
-					$context['icon_sources'][$row['last_icon']] = 'images_url';
460
+				if (!isset($context['icon_sources'][$row['first_icon']])) {
461
+									$context['icon_sources'][$row['first_icon']] = 'images_url';
462
+				}
463
+				if (!isset($context['icon_sources'][$row['last_icon']])) {
464
+									$context['icon_sources'][$row['last_icon']] = 'images_url';
465
+				}
443 466
 			}
444 467
 
445
-			if (!empty($board_info['recycle']))
446
-				$row['first_icon'] = 'recycled';
468
+			if (!empty($board_info['recycle'])) {
469
+							$row['first_icon'] = 'recycled';
470
+			}
447 471
 
448 472
 			// Is this topic pending approval, or does it have any posts pending approval?
449
-			if ($context['can_approve_posts'] && $row['unapproved_posts'])
450
-				$colorClass .= (!$row['approved'] ? ' approvetopic' : ' approvepost');
473
+			if ($context['can_approve_posts'] && $row['unapproved_posts']) {
474
+							$colorClass .= (!$row['approved'] ? ' approvetopic' : ' approvepost');
475
+			}
451 476
 
452 477
 			// Sticky topics should get a different color, too.
453
-			if ($row['is_sticky'])
454
-				$colorClass .= ' sticky';
478
+			if ($row['is_sticky']) {
479
+							$colorClass .= ' sticky';
480
+			}
455 481
 
456 482
 			// Locked topics get special treatment as well.
457
-			if ($row['locked'])
458
-				$colorClass .= ' locked';
483
+			if ($row['locked']) {
484
+							$colorClass .= ' locked';
485
+			}
459 486
 
460 487
 			// 'Print' the topic info.
461 488
 			$context['topics'][$row['id_topic']] = array_merge($row, array(
@@ -536,8 +563,9 @@  discard block
 block discarded – undo
536 563
 		$smcFunc['db_free_result']($result);
537 564
 
538 565
 		// Fix the sequence of topics if they were retrieved in the wrong order. (for speed reasons...)
539
-		if ($fake_ascending)
540
-			$context['topics'] = array_reverse($context['topics'], true);
566
+		if ($fake_ascending) {
567
+					$context['topics'] = array_reverse($context['topics'], true);
568
+		}
541 569
 
542 570
 		if (!empty($modSettings['enableParticipation']) && !$user_info['is_guest'] && !empty($topic_ids))
543 571
 		{
@@ -554,8 +582,9 @@  discard block
 block discarded – undo
554 582
 					'limit' => count($topic_ids),
555 583
 				)
556 584
 			);
557
-			while ($row = $smcFunc['db_fetch_assoc']($result))
558
-				$context['topics'][$row['id_topic']]['is_posted_in'] = true;
585
+			while ($row = $smcFunc['db_fetch_assoc']($result)) {
586
+							$context['topics'][$row['id_topic']]['is_posted_in'] = true;
587
+			}
559 588
 			$smcFunc['db_free_result']($result);
560 589
 		}
561 590
 	}
@@ -580,9 +609,9 @@  discard block
 block discarded – undo
580 609
 		// Can we restore topics?
581 610
 		$context['can_restore'] = allowedTo('move_any') && !empty($board_info['recycle']);
582 611
 
583
-		if ($user_info['is_admin'] || $modSettings['topic_move_any'])
584
-			$context['can_move_any'] = true;
585
-		else
612
+		if ($user_info['is_admin'] || $modSettings['topic_move_any']) {
613
+					$context['can_move_any'] = true;
614
+		} else
586 615
 		{
587 616
 			// We'll use this in a minute
588 617
 			$boards_allowed = boardsAllowedTo('post_new');
@@ -609,11 +638,13 @@  discard block
 block discarded – undo
609 638
 		}
610 639
 
611 640
 		// Can we use quick moderation checkboxes?
612
-		if ($options['display_quick_mod'] == 1)
613
-			$context['can_quick_mod'] = $context['user']['is_logged'] || $context['can_approve'] || $context['can_remove'] || $context['can_lock'] || $context['can_sticky'] || $context['can_move'] || $context['can_merge'] || $context['can_restore'];
641
+		if ($options['display_quick_mod'] == 1) {
642
+					$context['can_quick_mod'] = $context['user']['is_logged'] || $context['can_approve'] || $context['can_remove'] || $context['can_lock'] || $context['can_sticky'] || $context['can_move'] || $context['can_merge'] || $context['can_restore'];
643
+		}
614 644
 		// Or the icons?
615
-		else
616
-			$context['can_quick_mod'] = $context['can_remove'] || $context['can_lock'] || $context['can_sticky'] || $context['can_move'];
645
+		else {
646
+					$context['can_quick_mod'] = $context['can_remove'] || $context['can_lock'] || $context['can_sticky'] || $context['can_move'];
647
+		}
617 648
 	}
618 649
 
619 650
 	if (!empty($context['can_quick_mod']) && $options['display_quick_mod'] == 1)
@@ -647,13 +678,15 @@  discard block
 block discarded – undo
647 678
 			);
648 679
 
649 680
 			// We've seen all these boards now!
650
-			foreach ($board_info['parent_boards'] as $k => $dummy)
651
-				if (isset($_SESSION['topicseen_cache'][$k]))
681
+			foreach ($board_info['parent_boards'] as $k => $dummy) {
682
+							if (isset($_SESSION['topicseen_cache'][$k]))
652 683
 					unset($_SESSION['topicseen_cache'][$k]);
684
+			}
653 685
 		}
654 686
 
655
-		if (isset($_SESSION['topicseen_cache'][$board]))
656
-			unset($_SESSION['topicseen_cache'][$board]);
687
+		if (isset($_SESSION['topicseen_cache'][$board])) {
688
+					unset($_SESSION['topicseen_cache'][$board]);
689
+		}
657 690
 
658 691
 		$request = $smcFunc['db_query']('', '
659 692
 			SELECT id_topic, id_board, sent
@@ -675,8 +708,9 @@  discard block
 block discarded – undo
675 708
 				$context['is_marked_notify'] = true;
676 709
 				$board_sent = $row['sent'];
677 710
 			}
678
-			if (!empty($row['id_topic']))
679
-				$context['topics'][$row['id_topic']]['is_watched'] = true;
711
+			if (!empty($row['id_topic'])) {
712
+							$context['topics'][$row['id_topic']]['is_watched'] = true;
713
+			}
680 714
 		}
681 715
 		$smcFunc['db_free_result']($request);
682 716
 
@@ -700,8 +734,7 @@  discard block
 block discarded – undo
700 734
 		$pref = !empty($pref[$user_info['id']]) ? $pref[$user_info['id']] : array();
701 735
 		$pref = isset($pref['board_notify_' . $board]) ? $pref['board_notify_' . $board] : (!empty($pref['board_notify']) ? $pref['board_notify'] : 0);
702 736
 		$context['board_notification_mode'] = !$context['is_marked_notify'] ? 1 : ($pref & 0x02 ? 3 : ($pref & 0x01 ? 2 : 1));
703
-	}
704
-	else
737
+	} else
705 738
 	{
706 739
 		$context['is_marked_notify'] = false;
707 740
 		$context['board_notification_mode'] = 1;
@@ -714,23 +747,27 @@  discard block
 block discarded – undo
714 747
 	$context['becomesUnapproved'] = !empty($_SESSION['becomesUnapproved']) ? true : false;
715 748
 
716 749
 	// Don't want to show this forever...
717
-	if ($context['becomesUnapproved'])
718
-		unset($_SESSION['becomesUnapproved']);
750
+	if ($context['becomesUnapproved']) {
751
+			unset($_SESSION['becomesUnapproved']);
752
+	}
719 753
 
720 754
 	// Build the message index button array.
721 755
 	$context['normal_buttons'] = array();
722 756
 	
723
-	if ($context['can_post_new'])
724
-		$context['normal_buttons']['new_topic'] = array('text' => 'new_topic', 'image' => 'new_topic.png', 'lang' => true, 'url' => $scripturl . '?action=post;board=' . $context['current_board'] . '.0', 'active' => true);
757
+	if ($context['can_post_new']) {
758
+			$context['normal_buttons']['new_topic'] = array('text' => 'new_topic', 'image' => 'new_topic.png', 'lang' => true, 'url' => $scripturl . '?action=post;board=' . $context['current_board'] . '.0', 'active' => true);
759
+	}
725 760
 	
726
-	if ($context['can_post_poll'])
727
-		$context['normal_buttons']['post_poll'] = array('text' => 'new_poll', 'image' => 'new_poll.png', 'lang' => true, 'url' => $scripturl . '?action=post;board=' . $context['current_board'] . '.0;poll');
761
+	if ($context['can_post_poll']) {
762
+			$context['normal_buttons']['post_poll'] = array('text' => 'new_poll', 'image' => 'new_poll.png', 'lang' => true, 'url' => $scripturl . '?action=post;board=' . $context['current_board'] . '.0;poll');
763
+	}
728 764
 	
729
-	if (!$context['user']['is_logged'])
730
-		$context['normal_buttons']['markread'] = array('text' => 'mark_read_short', 'image' => 'markread.png', 'lang' => true, 'custom' => 'data-confirm="' . $txt['are_sure_mark_read'] . '"', 'class' => 'you_sure', 'url' => $scripturl . '?action=markasread;sa=board;board=' . $context['current_board'] . '.0;' . $context['session_var'] . '=' . $context['session_id']);
765
+	if (!$context['user']['is_logged']) {
766
+			$context['normal_buttons']['markread'] = array('text' => 'mark_read_short', 'image' => 'markread.png', 'lang' => true, 'custom' => 'data-confirm="' . $txt['are_sure_mark_read'] . '"', 'class' => 'you_sure', 'url' => $scripturl . '?action=markasread;sa=board;board=' . $context['current_board'] . '.0;' . $context['session_var'] . '=' . $context['session_id']);
767
+	}
731 768
 
732
-	if ($context['can_mark_notify'])
733
-		$context['normal_buttons']['notify'] = array(
769
+	if ($context['can_mark_notify']) {
770
+			$context['normal_buttons']['notify'] = array(
734 771
 			'lang' => true,
735 772
 			'text' => 'notify_board_' . $context['board_notification_mode'],
736 773
 			'sub_buttons' => array(
@@ -748,6 +785,7 @@  discard block
 block discarded – undo
748 785
 				),
749 786
 			),
750 787
 		);
788
+	}
751 789
 
752 790
 	// Javascript for inline editing.
753 791
 	loadJavaScriptFile('topic.js', array('defer' => false), 'smf_topic');
@@ -769,18 +807,21 @@  discard block
 block discarded – undo
769 807
 	checkSession('request');
770 808
 
771 809
 	// Lets go straight to the restore area.
772
-	if (isset($_REQUEST['qaction']) && $_REQUEST['qaction'] == 'restore' && !empty($_REQUEST['topics']))
773
-		redirectexit('action=restoretopic;topics=' . implode(',', $_REQUEST['topics']) . ';' . $context['session_var'] . '=' . $context['session_id']);
810
+	if (isset($_REQUEST['qaction']) && $_REQUEST['qaction'] == 'restore' && !empty($_REQUEST['topics'])) {
811
+			redirectexit('action=restoretopic;topics=' . implode(',', $_REQUEST['topics']) . ';' . $context['session_var'] . '=' . $context['session_id']);
812
+	}
774 813
 
775
-	if (isset($_SESSION['topicseen_cache']))
776
-		$_SESSION['topicseen_cache'] = array();
814
+	if (isset($_SESSION['topicseen_cache'])) {
815
+			$_SESSION['topicseen_cache'] = array();
816
+	}
777 817
 
778 818
 	// This is going to be needed to send off the notifications and for updateLastMessages().
779 819
 	require_once($sourcedir . '/Subs-Post.php');
780 820
 
781 821
 	// Remember the last board they moved things to.
782
-	if (isset($_REQUEST['move_to']))
783
-		$_SESSION['move_to_topic'] = $_REQUEST['move_to'];
822
+	if (isset($_REQUEST['move_to'])) {
823
+			$_SESSION['move_to_topic'] = $_REQUEST['move_to'];
824
+	}
784 825
 
785 826
 	// Only a few possible actions.
786 827
 	$possibleActions = array();
@@ -800,8 +841,7 @@  discard block
 block discarded – undo
800 841
 		);
801 842
 
802 843
 		$redirect_url = 'board=' . $board . '.' . $_REQUEST['start'];
803
-	}
804
-	else
844
+	} else
805 845
 	{
806 846
 		/**
807 847
 		 * @todo Ugly. There's no getting around this, is there?
@@ -819,8 +859,7 @@  discard block
 block discarded – undo
819 859
 		if (!empty($board))
820 860
 		{
821 861
 			$boards_can['post_new'] = array_diff(boardsAllowedTo('post_new'), array($board));
822
-		}
823
-		else
862
+		} else
824 863
 		{
825 864
 			$boards_can['post_new'] = boardsAllowedTo('post_new');
826 865
 		}
@@ -831,55 +870,67 @@  discard block
 block discarded – undo
831 870
 		}
832 871
 	}
833 872
 
834
-	if (!$user_info['is_guest'])
835
-		$possibleActions[] = 'markread';
836
-	if (!empty($boards_can['make_sticky']))
837
-		$possibleActions[] = 'sticky';
838
-	if (!empty($boards_can['move_any']) || !empty($boards_can['move_own']))
839
-		$possibleActions[] = 'move';
840
-	if (!empty($boards_can['remove_any']) || !empty($boards_can['remove_own']))
841
-		$possibleActions[] = 'remove';
842
-	if (!empty($boards_can['lock_any']) || !empty($boards_can['lock_own']))
843
-		$possibleActions[] = 'lock';
844
-	if (!empty($boards_can['merge_any']))
845
-		$possibleActions[] = 'merge';
846
-	if (!empty($boards_can['approve_posts']))
847
-		$possibleActions[] = 'approve';
873
+	if (!$user_info['is_guest']) {
874
+			$possibleActions[] = 'markread';
875
+	}
876
+	if (!empty($boards_can['make_sticky'])) {
877
+			$possibleActions[] = 'sticky';
878
+	}
879
+	if (!empty($boards_can['move_any']) || !empty($boards_can['move_own'])) {
880
+			$possibleActions[] = 'move';
881
+	}
882
+	if (!empty($boards_can['remove_any']) || !empty($boards_can['remove_own'])) {
883
+			$possibleActions[] = 'remove';
884
+	}
885
+	if (!empty($boards_can['lock_any']) || !empty($boards_can['lock_own'])) {
886
+			$possibleActions[] = 'lock';
887
+	}
888
+	if (!empty($boards_can['merge_any'])) {
889
+			$possibleActions[] = 'merge';
890
+	}
891
+	if (!empty($boards_can['approve_posts'])) {
892
+			$possibleActions[] = 'approve';
893
+	}
848 894
 
849 895
 	// Two methods: $_REQUEST['actions'] (id_topic => action), and $_REQUEST['topics'] and $_REQUEST['qaction'].
850 896
 	// (if action is 'move', $_REQUEST['move_to'] or $_REQUEST['move_tos'][$topic] is used.)
851 897
 	if (!empty($_REQUEST['topics']))
852 898
 	{
853 899
 		// If the action isn't valid, just quit now.
854
-		if (empty($_REQUEST['qaction']) || !in_array($_REQUEST['qaction'], $possibleActions))
855
-			redirectexit($redirect_url);
900
+		if (empty($_REQUEST['qaction']) || !in_array($_REQUEST['qaction'], $possibleActions)) {
901
+					redirectexit($redirect_url);
902
+		}
856 903
 
857 904
 		// Merge requires all topics as one parameter and can be done at once.
858 905
 		if ($_REQUEST['qaction'] == 'merge')
859 906
 		{
860 907
 			// Merge requires at least two topics.
861
-			if (empty($_REQUEST['topics']) || count($_REQUEST['topics']) < 2)
862
-				redirectexit($redirect_url);
908
+			if (empty($_REQUEST['topics']) || count($_REQUEST['topics']) < 2) {
909
+							redirectexit($redirect_url);
910
+			}
863 911
 
864 912
 			require_once($sourcedir . '/SplitTopics.php');
865 913
 			return MergeExecute($_REQUEST['topics']);
866 914
 		}
867 915
 
868 916
 		// Just convert to the other method, to make it easier.
869
-		foreach ($_REQUEST['topics'] as $topic)
870
-			$_REQUEST['actions'][(int) $topic] = $_REQUEST['qaction'];
917
+		foreach ($_REQUEST['topics'] as $topic) {
918
+					$_REQUEST['actions'][(int) $topic] = $_REQUEST['qaction'];
919
+		}
871 920
 	}
872 921
 
873 922
 	// Weird... how'd you get here?
874
-	if (empty($_REQUEST['actions']))
875
-		redirectexit($redirect_url);
923
+	if (empty($_REQUEST['actions'])) {
924
+			redirectexit($redirect_url);
925
+	}
876 926
 
877 927
 	// Validate each action.
878 928
 	$temp = array();
879 929
 	foreach ($_REQUEST['actions'] as $topic => $action)
880 930
 	{
881
-		if (in_array($action, $possibleActions))
882
-			$temp[(int) $topic] = $action;
931
+		if (in_array($action, $possibleActions)) {
932
+					$temp[(int) $topic] = $action;
933
+		}
883 934
 	}
884 935
 	$_REQUEST['actions'] = $temp;
885 936
 
@@ -900,27 +951,31 @@  discard block
 block discarded – undo
900 951
 		{
901 952
 			if (!empty($board))
902 953
 			{
903
-				if ($row['id_board'] != $board || ($modSettings['postmod_active'] && !$row['approved'] && !allowedTo('approve_posts')))
904
-					unset($_REQUEST['actions'][$row['id_topic']]);
905
-			}
906
-			else
954
+				if ($row['id_board'] != $board || ($modSettings['postmod_active'] && !$row['approved'] && !allowedTo('approve_posts'))) {
955
+									unset($_REQUEST['actions'][$row['id_topic']]);
956
+				}
957
+			} else
907 958
 			{
908 959
 				// Don't allow them to act on unapproved posts they can't see...
909
-				if ($modSettings['postmod_active'] && !$row['approved'] && !in_array(0, $boards_can['approve_posts']) && !in_array($row['id_board'], $boards_can['approve_posts']))
910
-					unset($_REQUEST['actions'][$row['id_topic']]);
960
+				if ($modSettings['postmod_active'] && !$row['approved'] && !in_array(0, $boards_can['approve_posts']) && !in_array($row['id_board'], $boards_can['approve_posts'])) {
961
+									unset($_REQUEST['actions'][$row['id_topic']]);
962
+				}
911 963
 				// Goodness, this is fun.  We need to validate the action.
912
-				elseif ($_REQUEST['actions'][$row['id_topic']] == 'sticky' && !in_array(0, $boards_can['make_sticky']) && !in_array($row['id_board'], $boards_can['make_sticky']))
913
-					unset($_REQUEST['actions'][$row['id_topic']]);
914
-				elseif ($_REQUEST['actions'][$row['id_topic']] == 'move' && !in_array(0, $boards_can['move_any']) && !in_array($row['id_board'], $boards_can['move_any']) && ($row['id_member_started'] != $user_info['id'] || (!in_array(0, $boards_can['move_own']) && !in_array($row['id_board'], $boards_can['move_own']))))
915
-					unset($_REQUEST['actions'][$row['id_topic']]);
916
-				elseif ($_REQUEST['actions'][$row['id_topic']] == 'remove' && !in_array(0, $boards_can['remove_any']) && !in_array($row['id_board'], $boards_can['remove_any']) && ($row['id_member_started'] != $user_info['id'] || (!in_array(0, $boards_can['remove_own']) && !in_array($row['id_board'], $boards_can['remove_own']))))
917
-					unset($_REQUEST['actions'][$row['id_topic']]);
964
+				elseif ($_REQUEST['actions'][$row['id_topic']] == 'sticky' && !in_array(0, $boards_can['make_sticky']) && !in_array($row['id_board'], $boards_can['make_sticky'])) {
965
+									unset($_REQUEST['actions'][$row['id_topic']]);
966
+				} elseif ($_REQUEST['actions'][$row['id_topic']] == 'move' && !in_array(0, $boards_can['move_any']) && !in_array($row['id_board'], $boards_can['move_any']) && ($row['id_member_started'] != $user_info['id'] || (!in_array(0, $boards_can['move_own']) && !in_array($row['id_board'], $boards_can['move_own'])))) {
967
+									unset($_REQUEST['actions'][$row['id_topic']]);
968
+				} elseif ($_REQUEST['actions'][$row['id_topic']] == 'remove' && !in_array(0, $boards_can['remove_any']) && !in_array($row['id_board'], $boards_can['remove_any']) && ($row['id_member_started'] != $user_info['id'] || (!in_array(0, $boards_can['remove_own']) && !in_array($row['id_board'], $boards_can['remove_own'])))) {
969
+									unset($_REQUEST['actions'][$row['id_topic']]);
970
+				}
918 971
 				// @todo $locked is not set, what are you trying to do? (taking the change it is supposed to be $row['locked'])
919
-				elseif ($_REQUEST['actions'][$row['id_topic']] == 'lock' && !in_array(0, $boards_can['lock_any']) && !in_array($row['id_board'], $boards_can['lock_any']) && ($row['id_member_started'] != $user_info['id'] || $row['locked'] == 1 || (!in_array(0, $boards_can['lock_own']) && !in_array($row['id_board'], $boards_can['lock_own']))))
920
-					unset($_REQUEST['actions'][$row['id_topic']]);
972
+				elseif ($_REQUEST['actions'][$row['id_topic']] == 'lock' && !in_array(0, $boards_can['lock_any']) && !in_array($row['id_board'], $boards_can['lock_any']) && ($row['id_member_started'] != $user_info['id'] || $row['locked'] == 1 || (!in_array(0, $boards_can['lock_own']) && !in_array($row['id_board'], $boards_can['lock_own'])))) {
973
+									unset($_REQUEST['actions'][$row['id_topic']]);
974
+				}
921 975
 				// If the topic is approved then you need permission to approve the posts within.
922
-				elseif ($_REQUEST['actions'][$row['id_topic']] == 'approve' && (!$row['unapproved_posts'] || (!in_array(0, $boards_can['approve_posts']) && !in_array($row['id_board'], $boards_can['approve_posts']))))
923
-					unset($_REQUEST['actions'][$row['id_topic']]);
976
+				elseif ($_REQUEST['actions'][$row['id_topic']] == 'approve' && (!$row['unapproved_posts'] || (!in_array(0, $boards_can['approve_posts']) && !in_array($row['id_board'], $boards_can['approve_posts'])))) {
977
+									unset($_REQUEST['actions'][$row['id_topic']]);
978
+				}
924 979
 			}
925 980
 		}
926 981
 		$smcFunc['db_free_result']($request);
@@ -938,11 +993,11 @@  discard block
 block discarded – undo
938 993
 	{
939 994
 		$topic = (int) $topic;
940 995
 
941
-		if ($action == 'markread')
942
-			$markCache[] = $topic;
943
-		elseif ($action == 'sticky')
944
-			$stickyCache[] = $topic;
945
-		elseif ($action == 'move')
996
+		if ($action == 'markread') {
997
+					$markCache[] = $topic;
998
+		} elseif ($action == 'sticky') {
999
+					$stickyCache[] = $topic;
1000
+		} elseif ($action == 'move')
946 1001
 		{
947 1002
 			require_once($sourcedir . '/MoveTopic.php');
948 1003
 			moveTopicConcurrence();
@@ -950,23 +1005,25 @@  discard block
 block discarded – undo
950 1005
 			// $moveCache[0] is the topic, $moveCache[1] is the board to move to.
951 1006
 			$moveCache[1][$topic] = (int) (isset($_REQUEST['move_tos'][$topic]) ? $_REQUEST['move_tos'][$topic] : $_REQUEST['move_to']);
952 1007
 
953
-			if (empty($moveCache[1][$topic]))
954
-				continue;
1008
+			if (empty($moveCache[1][$topic])) {
1009
+							continue;
1010
+			}
955 1011
 
956 1012
 			$moveCache[0][] = $topic;
1013
+		} elseif ($action == 'remove') {
1014
+					$removeCache[] = $topic;
1015
+		} elseif ($action == 'lock') {
1016
+					$lockCache[] = $topic;
1017
+		} elseif ($action == 'approve') {
1018
+					$approveCache[] = $topic;
957 1019
 		}
958
-		elseif ($action == 'remove')
959
-			$removeCache[] = $topic;
960
-		elseif ($action == 'lock')
961
-			$lockCache[] = $topic;
962
-		elseif ($action == 'approve')
963
-			$approveCache[] = $topic;
964 1020
 	}
965 1021
 
966
-	if (empty($board))
967
-		$affectedBoards = array();
968
-	else
969
-		$affectedBoards = array($board => array(0, 0));
1022
+	if (empty($board)) {
1023
+			$affectedBoards = array();
1024
+	} else {
1025
+			$affectedBoards = array($board => array(0, 0));
1026
+	}
970 1027
 
971 1028
 	// Do all the stickies...
972 1029
 	if (!empty($stickyCache))
@@ -1026,14 +1083,16 @@  discard block
 block discarded – undo
1026 1083
 		{
1027 1084
 			$to = $moveCache[1][$row['id_topic']];
1028 1085
 
1029
-			if (empty($to))
1030
-				continue;
1086
+			if (empty($to)) {
1087
+							continue;
1088
+			}
1031 1089
 
1032 1090
 			// Does this topic's board count the posts or not?
1033 1091
 			$countPosts[$row['id_topic']] = empty($row['count_posts']);
1034 1092
 
1035
-			if (!isset($moveTos[$to]))
1036
-				$moveTos[$to] = array();
1093
+			if (!isset($moveTos[$to])) {
1094
+							$moveTos[$to] = array();
1095
+			}
1037 1096
 
1038 1097
 			$moveTos[$to][] = $row['id_topic'];
1039 1098
 
@@ -1047,8 +1106,9 @@  discard block
 block discarded – undo
1047 1106
 		require_once($sourcedir . '/MoveTopic.php');
1048 1107
 
1049 1108
 		// Do the actual moves...
1050
-		foreach ($moveTos as $to => $topics)
1051
-			moveTopics($topics, $to);
1109
+		foreach ($moveTos as $to => $topics) {
1110
+					moveTopics($topics, $to);
1111
+		}
1052 1112
 
1053 1113
 		// Does the post counts need to be updated?
1054 1114
 		if (!empty($moveTos))
@@ -1097,20 +1157,23 @@  discard block
 block discarded – undo
1097 1157
 
1098 1158
 				while ($row = $smcFunc['db_fetch_assoc']($request))
1099 1159
 				{
1100
-					if (!isset($members[$row['id_member']]))
1101
-						$members[$row['id_member']] = 0;
1160
+					if (!isset($members[$row['id_member']])) {
1161
+											$members[$row['id_member']] = 0;
1162
+					}
1102 1163
 
1103
-					if ($topicRecounts[$row['id_topic']] === '+')
1104
-						$members[$row['id_member']] += 1;
1105
-					else
1106
-						$members[$row['id_member']] -= 1;
1164
+					if ($topicRecounts[$row['id_topic']] === '+') {
1165
+											$members[$row['id_member']] += 1;
1166
+					} else {
1167
+											$members[$row['id_member']] -= 1;
1168
+					}
1107 1169
 				}
1108 1170
 
1109 1171
 				$smcFunc['db_free_result']($request);
1110 1172
 
1111 1173
 				// And now update them member's post counts
1112
-				foreach ($members as $id_member => $post_adj)
1113
-					updateMemberData($id_member, array('posts' => 'posts + ' . $post_adj));
1174
+				foreach ($members as $id_member => $post_adj) {
1175
+									updateMemberData($id_member, array('posts' => 'posts + ' . $post_adj));
1176
+				}
1114 1177
 
1115 1178
 			}
1116 1179
 		}
@@ -1190,8 +1253,9 @@  discard block
 block discarded – undo
1190 1253
 			approveTopics($approveCache);
1191 1254
 
1192 1255
 			// Time for some logging!
1193
-			foreach ($approveCache as $topic)
1194
-				logAction('approve_topic', array('topic' => $topic, 'member' => $approveCacheMembers[$topic]));
1256
+			foreach ($approveCache as $topic) {
1257
+							logAction('approve_topic', array('topic' => $topic, 'member' => $approveCacheMembers[$topic]));
1258
+			}
1195 1259
 		}
1196 1260
 	}
1197 1261
 
@@ -1226,8 +1290,7 @@  discard block
 block discarded – undo
1226 1290
 				$lockStatus[$row['id_topic']] = empty($row['locked']);
1227 1291
 			}
1228 1292
 			$smcFunc['db_free_result']($result);
1229
-		}
1230
-		else
1293
+		} else
1231 1294
 		{
1232 1295
 			$result = $smcFunc['db_query']('', '
1233 1296
 				SELECT id_topic, locked, id_board
@@ -1277,13 +1340,15 @@  discard block
 block discarded – undo
1277 1340
 			)
1278 1341
 		);
1279 1342
 		$logged_topics = array();
1280
-		while ($row = $smcFunc['db_fetch_assoc']($request))
1281
-			$logged_topics[$row['id_topic']] = $row['unwatched'];
1343
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
1344
+					$logged_topics[$row['id_topic']] = $row['unwatched'];
1345
+		}
1282 1346
 		$smcFunc['db_free_result']($request);
1283 1347
 
1284 1348
 		$markArray = array();
1285
-		foreach ($markCache as $topic)
1286
-			$markArray[] = array($modSettings['maxMsgID'], $user_info['id'], $topic, (isset($logged_topics[$topic]) ? $logged_topics[$topic] : 0));
1349
+		foreach ($markCache as $topic) {
1350
+					$markArray[] = array($modSettings['maxMsgID'], $user_info['id'], $topic, (isset($logged_topics[$topic]) ? $logged_topics[$topic] : 0));
1351
+		}
1287 1352
 
1288 1353
 		$smcFunc['db_insert']('replace',
1289 1354
 			'{db_prefix}log_topics',
@@ -1296,8 +1361,9 @@  discard block
 block discarded – undo
1296 1361
 	foreach ($moveCache as $topic)
1297 1362
 	{
1298 1363
 		// Didn't actually move anything!
1299
-		if (!isset($topic[0]))
1300
-			break;
1364
+		if (!isset($topic[0])) {
1365
+					break;
1366
+		}
1301 1367
 
1302 1368
 		logAction('move', array('topic' => $topic[0], 'board_from' => $topic[1], 'board_to' => $topic[2]));
1303 1369
 		sendNotifications($topic[0], 'move');
@@ -1319,8 +1385,9 @@  discard block
 block discarded – undo
1319 1385
 		'calendar_updated' => time(),
1320 1386
 	));
1321 1387
 
1322
-	if (!empty($affectedBoards))
1323
-		updateLastMessages(array_keys($affectedBoards));
1388
+	if (!empty($affectedBoards)) {
1389
+			updateLastMessages(array_keys($affectedBoards));
1390
+	}
1324 1391
 
1325 1392
 	redirectexit($redirect_url);
1326 1393
 }
Please login to merge, or discard this patch.
Sources/ManageLanguages.php 1 patch
Braces   +190 added lines, -142 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 3
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	die('No direct access...');
18
+}
18 19
 
19 20
 /**
20 21
  * This is the main function for the languages area.
@@ -153,11 +154,11 @@  discard block
 block discarded – undo
153 154
 	$language_list = new xmlArray(fetch_web_data($url), true);
154 155
 
155 156
 	// Check that the site responded and that the language exists.
156
-	if (!$language_list->exists('languages'))
157
-		$context['smf_error'] = 'no_response';
158
-	elseif (!$language_list->exists('languages/language'))
159
-		$context['smf_error'] = 'no_files';
160
-	else
157
+	if (!$language_list->exists('languages')) {
158
+			$context['smf_error'] = 'no_response';
159
+	} elseif (!$language_list->exists('languages/language')) {
160
+			$context['smf_error'] = 'no_files';
161
+	} else
161 162
 	{
162 163
 		$language_list = $language_list->path('languages[0]');
163 164
 		$lang_files = $language_list->set('language');
@@ -165,8 +166,9 @@  discard block
 block discarded – undo
165 166
 		foreach ($lang_files as $file)
166 167
 		{
167 168
 			// Were we searching?
168
-			if (!empty($context['smf_search_term']) && strpos($file->fetch('name'), $smcFunc['strtolower']($context['smf_search_term'])) === false)
169
-				continue;
169
+			if (!empty($context['smf_search_term']) && strpos($file->fetch('name'), $smcFunc['strtolower']($context['smf_search_term'])) === false) {
170
+							continue;
171
+			}
170 172
 
171 173
 			$smf_languages[] = array(
172 174
 				'id' => $file->fetch('id'),
@@ -177,10 +179,11 @@  discard block
 block discarded – undo
177 179
 				'install_link' => '<a href="' . $scripturl . '?action=admin;area=languages;sa=downloadlang;did=' . $file->fetch('id') . ';' . $context['session_var'] . '=' . $context['session_id'] . '">' . $txt['add_language_smf_install'] . '</a>',
178 180
 			);
179 181
 		}
180
-		if (empty($smf_languages))
181
-			$context['smf_error'] = 'no_files';
182
-		else
183
-			return $smf_languages;
182
+		if (empty($smf_languages)) {
183
+					$context['smf_error'] = 'no_files';
184
+		} else {
185
+					return $smf_languages;
186
+		}
184 187
 	}
185 188
 }
186 189
 
@@ -202,8 +205,9 @@  discard block
 block discarded – undo
202 205
 	require_once($sourcedir . '/Subs-Package.php');
203 206
 
204 207
 	// Clearly we need to know what to request.
205
-	if (!isset($_GET['did']))
206
-		fatal_lang_error('no_access', false);
208
+	if (!isset($_GET['did'])) {
209
+			fatal_lang_error('no_access', false);
210
+	}
207 211
 
208 212
 	// Some lovely context.
209 213
 	$context['download_id'] = $_GET['did'];
@@ -223,8 +227,9 @@  discard block
 block discarded – undo
223 227
 		foreach ($_POST['copy_file'] as $file)
224 228
 		{
225 229
 			// Check it's not very bad.
226
-			if (strpos($file, '..') !== false || (strpos($file, 'Themes') !== 0 && !preg_match('~agreement\.[A-Za-z-_0-9]+\.txt$~', $file)))
227
-				fatal_error($txt['languages_download_illegal_paths']);
230
+			if (strpos($file, '..') !== false || (strpos($file, 'Themes') !== 0 && !preg_match('~agreement\.[A-Za-z-_0-9]+\.txt$~', $file))) {
231
+							fatal_error($txt['languages_download_illegal_paths']);
232
+			}
228 233
 
229 234
 			$chmod_files[] = $boarddir . '/' . $file;
230 235
 			$install_files[] = $file;
@@ -235,8 +240,9 @@  discard block
 block discarded – undo
235 240
 		$files_left = $file_status['files']['notwritable'];
236 241
 
237 242
 		// Something not writable?
238
-		if (!empty($files_left))
239
-			$context['error_message'] = $txt['languages_download_not_chmod'];
243
+		if (!empty($files_left)) {
244
+					$context['error_message'] = $txt['languages_download_not_chmod'];
245
+		}
240 246
 		// Otherwise, go go go!
241 247
 		elseif (!empty($install_files))
242 248
 		{
@@ -250,11 +256,13 @@  discard block
 block discarded – undo
250 256
 	}
251 257
 
252 258
 	// Open up the old china.
253
-	if (!isset($archive_content))
254
-		$archive_content = read_tgz_file('http://download.simplemachines.org/fetch_language.php?version=' . urlencode(strtr($forum_version, array('SMF ' => ''))) . ';fetch=' . urlencode($_GET['did']), null);
259
+	if (!isset($archive_content)) {
260
+			$archive_content = read_tgz_file('http://download.simplemachines.org/fetch_language.php?version=' . urlencode(strtr($forum_version, array('SMF ' => ''))) . ';fetch=' . urlencode($_GET['did']), null);
261
+	}
255 262
 
256
-	if (empty($archive_content))
257
-		fatal_error($txt['add_language_error_no_response']);
263
+	if (empty($archive_content)) {
264
+			fatal_error($txt['add_language_error_no_response']);
265
+	}
258 266
 
259 267
 	// Now for each of the files, let's do some *stuff*
260 268
 	$context['files'] = array(
@@ -269,8 +277,9 @@  discard block
 block discarded – undo
269 277
 		$extension = substr($filename, strrpos($filename, '.') + 1);
270 278
 
271 279
 		// Don't do anything with files we don't understand.
272
-		if (!in_array($extension, array('php', 'jpg', 'gif', 'jpeg', 'png', 'txt')))
273
-			continue;
280
+		if (!in_array($extension, array('php', 'jpg', 'gif', 'jpeg', 'png', 'txt'))) {
281
+					continue;
282
+		}
274 283
 
275 284
 		// Basic data.
276 285
 		$context_data = array(
@@ -289,8 +298,9 @@  discard block
 block discarded – undo
289 298
 		// Does the file exist, is it different and can we overwrite?
290 299
 		if (file_exists($boarddir . '/' . $file['filename']))
291 300
 		{
292
-			if (is_writable($boarddir . '/' . $file['filename']))
293
-				$context_data['writable'] = true;
301
+			if (is_writable($boarddir . '/' . $file['filename'])) {
302
+							$context_data['writable'] = true;
303
+			}
294 304
 
295 305
 			// Finally, do we actually think the content has changed?
296 306
 			if ($file['size'] == filesize($boarddir . '/' . $file['filename']) && $file['md5'] == md5_file($boarddir . '/' . $file['filename']))
@@ -303,16 +313,17 @@  discard block
 block discarded – undo
303 313
 			{
304 314
 				$context_data['exists'] = 'same';
305 315
 				$context_data['default_copy'] = false;
316
+			} else {
317
+							$context_data['exists'] = 'different';
306 318
 			}
307
-			else
308
-				$context_data['exists'] = 'different';
309 319
 		}
310 320
 		// No overwrite?
311 321
 		else
312 322
 		{
313 323
 			// Can we at least stick it in the directory...
314
-			if (is_writable($boarddir . '/' . $dirname))
315
-				$context_data['writable'] = true;
324
+			if (is_writable($boarddir . '/' . $dirname)) {
325
+							$context_data['writable'] = true;
326
+			}
316 327
 		}
317 328
 
318 329
 		// I love PHP files, that's why I'm a developer and not an artistic type spending my time drinking absinth and living a life of sin...
@@ -327,8 +338,9 @@  discard block
 block discarded – undo
327 338
 			list ($name, $language) = explode('.', $filename);
328 339
 
329 340
 			// Let's get the new version, I like versions, they tell me that I'm up to date.
330
-			if (preg_match('~\s*Version:\s+(.+?);\s*' . preg_quote($name, '~') . '~i', $file['preview'], $match) == 1)
331
-				$context_data['version'] = $match[1];
341
+			if (preg_match('~\s*Version:\s+(.+?);\s*' . preg_quote($name, '~') . '~i', $file['preview'], $match) == 1) {
342
+							$context_data['version'] = $match[1];
343
+			}
332 344
 
333 345
 			// Now does the old file exist - if so what is it's version?
334 346
 			if (file_exists($boarddir . '/' . $file['filename']))
@@ -344,34 +356,35 @@  discard block
 block discarded – undo
344 356
 					$context_data['cur_version'] = $match[1];
345 357
 
346 358
 					// How does this compare?
347
-					if ($context_data['cur_version'] == $context_data['version'])
348
-						$context_data['version_compare'] = 'same';
349
-					elseif ($context_data['cur_version'] > $context_data['version'])
350
-						$context_data['version_compare'] = 'older';
359
+					if ($context_data['cur_version'] == $context_data['version']) {
360
+											$context_data['version_compare'] = 'same';
361
+					} elseif ($context_data['cur_version'] > $context_data['version']) {
362
+											$context_data['version_compare'] = 'older';
363
+					}
351 364
 
352 365
 					// Don't recommend copying if the version is the same.
353
-					if ($context_data['version_compare'] != 'newer')
354
-						$context_data['default_copy'] = false;
366
+					if ($context_data['version_compare'] != 'newer') {
367
+											$context_data['default_copy'] = false;
368
+					}
355 369
 				}
356 370
 			}
357 371
 
358 372
 			// Add the context data to the main set.
359 373
 			$context['files']['lang'][] = $context_data;
360
-		}
361
-		elseif ($extension == '.txt' && stripos($filename, 'agreement') !== false)
374
+		} elseif ($extension == '.txt' && stripos($filename, 'agreement') !== false)
362 375
 		{
363 376
 			// Registration agreement is a primary file
364 377
 			$context['files']['lang'][] = $context_data;
365
-		}
366
-		else
378
+		} else
367 379
 		{
368 380
 			// There shouldn't be anything else, but load this into "other" in case we decide to handle it in the future
369 381
 			$context['files']['other'][] = $context_data;
370 382
 		}
371 383
 
372 384
 		// Collect together all non-writable areas.
373
-		if (!$context_data['writable'])
374
-			$context['make_writable'][] = $context_data['destination'];
385
+		if (!$context_data['writable']) {
386
+					$context['make_writable'][] = $context_data['destination'];
387
+		}
375 388
 	}
376 389
 
377 390
 	// Before we go to far can we make anything writable, eh, eh?
@@ -386,22 +399,24 @@  discard block
 block discarded – undo
386 399
 		{
387 400
 			if ($type == 'lang')
388 401
 			{
389
-				foreach ($data as $k => $file)
390
-					if (!$file['writable'] && !in_array($file['destination'], $context['still_not_writable']))
402
+				foreach ($data as $k => $file) {
403
+									if (!$file['writable'] && !in_array($file['destination'], $context['still_not_writable']))
391 404
 						$context['files'][$type][$k]['writable'] = true;
392
-			}
393
-			else
405
+				}
406
+			} else
394 407
 			{
395
-				foreach ($data as $theme => $files)
396
-					foreach ($files as $k => $file)
408
+				foreach ($data as $theme => $files) {
409
+									foreach ($files as $k => $file)
397 410
 						if (!$file['writable'] && !in_array($file['destination'], $context['still_not_writable']))
398 411
 							$context['files'][$type][$theme][$k]['writable'] = true;
412
+				}
399 413
 			}
400 414
 		}
401 415
 
402 416
 		// Are we going to need more language stuff?
403
-		if (!empty($context['still_not_writable']))
404
-			loadLanguage('Packages');
417
+		if (!empty($context['still_not_writable'])) {
418
+					loadLanguage('Packages');
419
+		}
405 420
 	}
406 421
 
407 422
 	// This is the list for the main files.
@@ -614,12 +629,13 @@  discard block
 block discarded – undo
614 629
 	highlightSelected("list_language_list_' . ($language == '' ? 'english' : $language) . '");', true);
615 630
 
616 631
 	// Display a warning if we cannot edit the default setting.
617
-	if (!is_writable($boarddir . '/Settings.php'))
618
-		$listOptions['additional_rows'][] = array(
632
+	if (!is_writable($boarddir . '/Settings.php')) {
633
+			$listOptions['additional_rows'][] = array(
619 634
 				'position' => 'after_title',
620 635
 				'value' => $txt['language_settings_writable'],
621 636
 				'class' => 'smalltext alert',
622 637
 			);
638
+	}
623 639
 
624 640
 	require_once($sourcedir . '/Subs-List.php');
625 641
 	createList($listOptions);
@@ -661,10 +677,11 @@  discard block
 block discarded – undo
661 677
 
662 678
 	// Put them back.
663 679
 	$settings['actual_theme_dir'] = $backup_actual_theme_dir;
664
-	if (!empty($backup_base_theme_dir))
665
-		$settings['base_theme_dir'] = $backup_base_theme_dir;
666
-	else
667
-		unset($settings['base_theme_dir']);
680
+	if (!empty($backup_base_theme_dir)) {
681
+			$settings['base_theme_dir'] = $backup_base_theme_dir;
682
+	} else {
683
+			unset($settings['base_theme_dir']);
684
+	}
668 685
 
669 686
 	// Get the language files and data...
670 687
 	foreach ($context['languages'] as $lang)
@@ -693,13 +710,15 @@  discard block
 block discarded – undo
693 710
 	while ($row = $smcFunc['db_fetch_assoc']($request))
694 711
 	{
695 712
 		// Default?
696
-		if (empty($row['lngfile']) || !isset($languages[$row['lngfile']]))
697
-			$row['lngfile'] = $language;
713
+		if (empty($row['lngfile']) || !isset($languages[$row['lngfile']])) {
714
+					$row['lngfile'] = $language;
715
+		}
698 716
 
699
-		if (!isset($languages[$row['lngfile']]) && isset($languages['english']))
700
-			$languages['english']['count'] += $row['num_users'];
701
-		elseif (isset($languages[$row['lngfile']]))
702
-			$languages[$row['lngfile']]['count'] += $row['num_users'];
717
+		if (!isset($languages[$row['lngfile']]) && isset($languages['english'])) {
718
+					$languages['english']['count'] += $row['num_users'];
719
+		} elseif (isset($languages[$row['lngfile']])) {
720
+					$languages[$row['lngfile']]['count'] += $row['num_users'];
721
+		}
703 722
 	}
704 723
 	$smcFunc['db_free_result']($request);
705 724
 
@@ -739,13 +758,15 @@  discard block
 block discarded – undo
739 758
 
740 759
 	call_integration_hook('integrate_language_settings', array(&$config_vars));
741 760
 
742
-	if ($return_config)
743
-		return $config_vars;
761
+	if ($return_config) {
762
+			return $config_vars;
763
+	}
744 764
 
745 765
 	// Get our languages. No cache and use utf8.
746 766
 	getLanguages(false, false);
747
-	foreach ($context['languages'] as $lang)
748
-		$config_vars['language'][4][$lang['filename']] = array($lang['filename'], strtr($lang['name'], array('-utf8' => ' (UTF-8)')));
767
+	foreach ($context['languages'] as $lang) {
768
+			$config_vars['language'][4][$lang['filename']] = array($lang['filename'], strtr($lang['name'], array('-utf8' => ' (UTF-8)')));
769
+	}
749 770
 
750 771
 	// Saving settings?
751 772
 	if (isset($_REQUEST['save']))
@@ -755,8 +776,9 @@  discard block
 block discarded – undo
755 776
 		call_integration_hook('integrate_save_language_settings', array(&$config_vars));
756 777
 
757 778
 		saveSettings($config_vars);
758
-		if (!$settings_not_writable && !$settings_backup_fail)
759
-			$_SESSION['adm-save'] = true;
779
+		if (!$settings_not_writable && !$settings_backup_fail) {
780
+					$_SESSION['adm-save'] = true;
781
+		}
760 782
 		redirectexit('action=admin;area=languages;sa=settings');
761 783
 	}
762 784
 
@@ -765,10 +787,11 @@  discard block
 block discarded – undo
765 787
 	$context['settings_title'] = $txt['language_settings'];
766 788
 	$context['save_disabled'] = $settings_not_writable;
767 789
 
768
-	if ($settings_not_writable)
769
-		$context['settings_message'] = '<div class="centertext"><strong>' . $txt['settings_not_writable'] . '</strong></div><br>';
770
-	elseif ($settings_backup_fail)
771
-		$context['settings_message'] = '<div class="centertext"><strong>' . $txt['admin_backup_fail'] . '</strong></div><br>';
790
+	if ($settings_not_writable) {
791
+			$context['settings_message'] = '<div class="centertext"><strong>' . $txt['settings_not_writable'] . '</strong></div><br>';
792
+	} elseif ($settings_backup_fail) {
793
+			$context['settings_message'] = '<div class="centertext"><strong>' . $txt['admin_backup_fail'] . '</strong></div><br>';
794
+	}
772 795
 
773 796
 	// Fill the config array.
774 797
 	prepareServerSettingsContext($config_vars);
@@ -815,8 +838,9 @@  discard block
 block discarded – undo
815 838
 			'theme_dir' => $settings['default_theme_dir'],
816 839
 		),
817 840
 	);
818
-	while ($row = $smcFunc['db_fetch_assoc']($request))
819
-		$themes[$row['id_theme']][$row['variable']] = $row['value'];
841
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
842
+			$themes[$row['id_theme']][$row['variable']] = $row['value'];
843
+	}
820 844
 	$smcFunc['db_free_result']($request);
821 845
 
822 846
 	// This will be where we look
@@ -828,14 +852,16 @@  discard block
 block discarded – undo
828 852
 	// Check we have themes with a path and a name - just in case - and add the path.
829 853
 	foreach ($themes as $id => $data)
830 854
 	{
831
-		if (count($data) != 2)
832
-			unset($themes[$id]);
833
-		elseif (is_dir($data['theme_dir'] . '/languages'))
834
-			$lang_dirs[$id] = $data['theme_dir'] . '/languages';
855
+		if (count($data) != 2) {
856
+					unset($themes[$id]);
857
+		} elseif (is_dir($data['theme_dir'] . '/languages')) {
858
+					$lang_dirs[$id] = $data['theme_dir'] . '/languages';
859
+		}
835 860
 
836 861
 		// How about image directories?
837
-		if (is_dir($data['theme_dir'] . '/images/' . $context['lang_id']))
838
-			$images_dirs[$id] = $data['theme_dir'] . '/images/' . $context['lang_id'];
862
+		if (is_dir($data['theme_dir'] . '/images/' . $context['lang_id'])) {
863
+					$images_dirs[$id] = $data['theme_dir'] . '/images/' . $context['lang_id'];
864
+		}
839 865
 	}
840 866
 
841 867
 	$current_file = $file_id ? $lang_dirs[$theme_id] . '/' . $file_id . '.' . $context['lang_id'] . '.php' : '';
@@ -849,15 +875,17 @@  discard block
 block discarded – undo
849 875
 		while ($entry = $dir->read())
850 876
 		{
851 877
 			// We're only after the files for this language.
852
-			if (preg_match('~^([A-Za-z]+)\.' . $context['lang_id'] . '\.php$~', $entry, $matches) == 0)
853
-				continue;
878
+			if (preg_match('~^([A-Za-z]+)\.' . $context['lang_id'] . '\.php$~', $entry, $matches) == 0) {
879
+							continue;
880
+			}
854 881
 
855
-			if (!isset($context['possible_files'][$theme]))
856
-				$context['possible_files'][$theme] = array(
882
+			if (!isset($context['possible_files'][$theme])) {
883
+							$context['possible_files'][$theme] = array(
857 884
 					'id' => $theme,
858 885
 					'name' => $themes[$theme]['name'],
859 886
 					'files' => array(),
860 887
 				);
888
+			}
861 889
 
862 890
 			$context['possible_files'][$theme]['files'][] = array(
863 891
 				'id' => $matches[1],
@@ -886,31 +914,36 @@  discard block
 block discarded – undo
886 914
 		{
887 915
 			$_SESSION['last_backup_for'] = $context['lang_id'] . '$$$';
888 916
 			$result = package_create_backup('backup_lang_' . $context['lang_id']);
889
-			if (!$result)
890
-				fatal_lang_error('could_not_language_backup', false);
917
+			if (!$result) {
918
+							fatal_lang_error('could_not_language_backup', false);
919
+			}
891 920
 		}
892 921
 
893 922
 		// Second, loop through the array to remove the files.
894 923
 		foreach ($lang_dirs as $curPath)
895 924
 		{
896
-			foreach ($context['possible_files'][1]['files'] as $lang)
897
-				if (file_exists($curPath . '/' . $lang['id'] . '.' . $context['lang_id'] . '.php'))
925
+			foreach ($context['possible_files'][1]['files'] as $lang) {
926
+							if (file_exists($curPath . '/' . $lang['id'] . '.' . $context['lang_id'] . '.php'))
898 927
 					unlink($curPath . '/' . $lang['id'] . '.' . $context['lang_id'] . '.php');
928
+			}
899 929
 
900 930
 			// Check for the email template.
901
-			if (file_exists($curPath . '/EmailTemplates.' . $context['lang_id'] . '.php'))
902
-				unlink($curPath . '/EmailTemplates.' . $context['lang_id'] . '.php');
931
+			if (file_exists($curPath . '/EmailTemplates.' . $context['lang_id'] . '.php')) {
932
+							unlink($curPath . '/EmailTemplates.' . $context['lang_id'] . '.php');
933
+			}
903 934
 		}
904 935
 
905 936
 		// Third, the agreement file.
906
-		if (file_exists($boarddir . '/agreement.' . $context['lang_id'] . '.txt'))
907
-			unlink($boarddir . '/agreement.' . $context['lang_id'] . '.txt');
937
+		if (file_exists($boarddir . '/agreement.' . $context['lang_id'] . '.txt')) {
938
+					unlink($boarddir . '/agreement.' . $context['lang_id'] . '.txt');
939
+		}
908 940
 
909 941
 		// Fourth, a related images folder, if it exists...
910
-		if (!empty($images_dirs))
911
-			foreach ($images_dirs as $curPath)
942
+		if (!empty($images_dirs)) {
943
+					foreach ($images_dirs as $curPath)
912 944
 				if (is_dir($curPath))
913 945
 					deltree($curPath);
946
+		}
914 947
 
915 948
 		// Members can no longer use this language.
916 949
 		$smcFunc['db_query']('', '
@@ -995,8 +1028,9 @@  discard block
 block discarded – undo
995 1028
 		foreach ($_POST['entry'] as $k => $v)
996 1029
 		{
997 1030
 			// Only try to save if it's changed!
998
-			if ($_POST['entry'][$k] != $_POST['comp'][$k])
999
-				$save_strings[$k] = cleanLangString($v, false);
1031
+			if ($_POST['entry'][$k] != $_POST['comp'][$k]) {
1032
+							$save_strings[$k] = cleanLangString($v, false);
1033
+			}
1000 1034
 		}
1001 1035
 	}
1002 1036
 
@@ -1030,12 +1064,13 @@  discard block
 block discarded – undo
1030 1064
 		if ($multiline_cache)
1031 1065
 		{
1032 1066
 			preg_match('~\$(helptxt|txt|editortxt)\[\'(.+)\'\]\s?=\s?(.+);~ms', strtr($multiline_cache, array("\r" => '')), $matches);
1033
-			if (!empty($matches[3]))
1034
-				$entries[$matches[2]] = array(
1067
+			if (!empty($matches[3])) {
1068
+							$entries[$matches[2]] = array(
1035 1069
 					'type' => $matches[1],
1036 1070
 					'full' => $matches[0],
1037 1071
 					'entry' => $matches[3],
1038 1072
 				);
1073
+			}
1039 1074
 		}
1040 1075
 
1041 1076
 		// These are the entries we can definitely save.
@@ -1046,8 +1081,9 @@  discard block
 block discarded – undo
1046 1081
 		{
1047 1082
 			// Ignore some things we set separately.
1048 1083
 			$ignore_files = array('lang_character_set', 'lang_locale', 'lang_dictionary', 'lang_spelling', 'lang_rtl');
1049
-			if (in_array($entryKey, $ignore_files))
1050
-				continue;
1084
+			if (in_array($entryKey, $ignore_files)) {
1085
+							continue;
1086
+			}
1051 1087
 
1052 1088
 			// These are arrays that need breaking out.
1053 1089
 			$arrays = array('days', 'days_short', 'months', 'months_titles', 'months_short', 'happy_birthday_author', 'karlbenson1_author', 'nite0859_author', 'zwaldowski_author', 'geezmo_author', 'karlbenson2_author');
@@ -1080,9 +1116,9 @@  discard block
 block discarded – undo
1080 1116
 					{
1081 1117
 						$save_cache['entries'][$cur_index] = strtr($save_strings[$entryKey . '-+- ' . $cur_index], array('\'' => ''));
1082 1118
 						$save_cache['enabled'] = true;
1119
+					} else {
1120
+											$save_cache['entries'][$cur_index] = $subValue;
1083 1121
 					}
1084
-					else
1085
-						$save_cache['entries'][$cur_index] = $subValue;
1086 1122
 
1087 1123
 					$context['file_entries'][] = array(
1088 1124
 						'key' => $entryKey . '-+- ' . $cur_index,
@@ -1105,9 +1141,9 @@  discard block
 block discarded – undo
1105 1141
 						{
1106 1142
 							$items[] = $k2 . ' => \'' . $v2 . '\'';
1107 1143
 							$cur_index = $k2;
1144
+						} else {
1145
+													$items[] = '\'' . $v2 . '\'';
1108 1146
 						}
1109
-						else
1110
-							$items[] = '\'' . $v2 . '\'';
1111 1147
 
1112 1148
 						$cur_index++;
1113 1149
 					}
@@ -1117,15 +1153,15 @@  discard block
 block discarded – undo
1117 1153
 						'replace' => '$' . $entryValue['type'] . '[\'' . $entryKey . '\'] = array(' . implode(', ', $items) . ');',
1118 1154
 					);
1119 1155
 				}
1120
-			}
1121
-			else
1156
+			} else
1122 1157
 			{
1123 1158
 				// Saving?
1124 1159
 				if (isset($save_strings[$entryKey]) && $save_strings[$entryKey] != $entryValue['entry'])
1125 1160
 				{
1126 1161
 					// @todo Fix this properly.
1127
-					if ($save_strings[$entryKey] == '')
1128
-						$save_strings[$entryKey] = '\'\'';
1162
+					if ($save_strings[$entryKey] == '') {
1163
+											$save_strings[$entryKey] = '\'\'';
1164
+					}
1129 1165
 
1130 1166
 					// Set the new value.
1131 1167
 					$entryValue['entry'] = $save_strings[$entryKey];
@@ -1151,8 +1187,9 @@  discard block
 block discarded – undo
1151 1187
 			checkSession();
1152 1188
 
1153 1189
 			$file_contents = implode('', file($current_file));
1154
-			foreach ($final_saves as $save)
1155
-				$file_contents = strtr($file_contents, array($save['find'] => $save['replace']));
1190
+			foreach ($final_saves as $save) {
1191
+							$file_contents = strtr($file_contents, array($save['find'] => $save['replace']));
1192
+			}
1156 1193
 
1157 1194
 			// Save the actual changes.
1158 1195
 			$fp = fopen($current_file, 'w+');
@@ -1167,8 +1204,9 @@  discard block
 block discarded – undo
1167 1204
 	}
1168 1205
 
1169 1206
 	// If we saved, redirect.
1170
-	if ($madeSave)
1171
-		redirectexit('action=admin;area=languages;sa=editlang;lid=' . $context['lang_id']);
1207
+	if ($madeSave) {
1208
+			redirectexit('action=admin;area=languages;sa=editlang;lid=' . $context['lang_id']);
1209
+	}
1172 1210
 
1173 1211
 	createToken('admin-mlang');
1174 1212
 }
@@ -1200,8 +1238,9 @@  discard block
 block discarded – undo
1200 1238
 				// Toggle the escape.
1201 1239
 				$is_escape = !$is_escape;
1202 1240
 				// If we're now escaped don't add this string.
1203
-				if ($is_escape)
1204
-					continue;
1241
+				if ($is_escape) {
1242
+									continue;
1243
+				}
1205 1244
 			}
1206 1245
 			// Special case - parsed string with line break etc?
1207 1246
 			elseif (($string{$i} == 'n' || $string{$i} == 't') && $in_string == 2 && $is_escape)
@@ -1218,11 +1257,13 @@  discard block
 block discarded – undo
1218 1257
 				if ($in_string != 2 && ($in_string != 1 || !$is_escape))
1219 1258
 				{
1220 1259
 					// Is it the end of a single quote string?
1221
-					if ($in_string == 1)
1222
-						$in_string = 0;
1260
+					if ($in_string == 1) {
1261
+											$in_string = 0;
1262
+					}
1223 1263
 					// Otherwise it's the start!
1224
-					else
1225
-						$in_string = 1;
1264
+					else {
1265
+											$in_string = 1;
1266
+					}
1226 1267
 
1227 1268
 					// Don't actually include this character!
1228 1269
 					continue;
@@ -1235,19 +1276,22 @@  discard block
 block discarded – undo
1235 1276
 				if ($in_string != 1 && ($in_string != 2 || !$is_escape))
1236 1277
 				{
1237 1278
 					// Is it the end of a double quote string?
1238
-					if ($in_string == 2)
1239
-						$in_string = 0;
1279
+					if ($in_string == 2) {
1280
+											$in_string = 0;
1281
+					}
1240 1282
 					// Otherwise it's the start!
1241
-					else
1242
-						$in_string = 2;
1283
+					else {
1284
+											$in_string = 2;
1285
+					}
1243 1286
 
1244 1287
 					// Don't actually include this character!
1245 1288
 					continue;
1246 1289
 				}
1247 1290
 			}
1248 1291
 			// A join/space outside of a string is simply removed.
1249
-			elseif ($in_string == 0 && (empty($string{$i}) || $string{$i} == '.'))
1250
-				continue;
1292
+			elseif ($in_string == 0 && (empty($string{$i}) || $string{$i} == '.')) {
1293
+							continue;
1294
+			}
1251 1295
 			// Start of a variable?
1252 1296
 			elseif ($in_string == 0 && $string{$i} == '$')
1253 1297
 			{
@@ -1281,8 +1325,7 @@  discard block
 block discarded – undo
1281 1325
 
1282 1326
 		// Unhtml then rehtml the whole thing!
1283 1327
 		$new_string = $smcFunc['htmlspecialchars'](un_htmlspecialchars($new_string));
1284
-	}
1285
-	else
1328
+	} else
1286 1329
 	{
1287 1330
 		// Keep track of what we're doing...
1288 1331
 		$in_string = 0;
@@ -1311,10 +1354,11 @@  discard block
 block discarded – undo
1311 1354
 				preg_match('~\{%([\$A-Za-z0-9\'\[\]_-]+)%\}~', substr($string, $i), $matches);
1312 1355
 				if (!empty($matches[1]))
1313 1356
 				{
1314
-					if ($in_string == 1)
1315
-						$new_string .= '\' . ';
1316
-					elseif ($new_string)
1317
-						$new_string .= ' . ';
1357
+					if ($in_string == 1) {
1358
+											$new_string .= '\' . ';
1359
+					} elseif ($new_string) {
1360
+											$new_string .= ' . ';
1361
+					}
1318 1362
 
1319 1363
 					$new_string .= $matches[1];
1320 1364
 					$i += strlen($matches[1]) + 3;
@@ -1327,8 +1371,9 @@  discard block
 block discarded – undo
1327 1371
 			elseif ($string{$i} == '<')
1328 1372
 			{
1329 1373
 				// Probably HTML?
1330
-				if ($string{$i + 1} != ' ')
1331
-					$in_html = true;
1374
+				if ($string{$i + 1} != ' ') {
1375
+									$in_html = true;
1376
+				}
1332 1377
 				// Assume we need an entity...
1333 1378
 				else
1334 1379
 				{
@@ -1340,8 +1385,9 @@  discard block
 block discarded – undo
1340 1385
 			elseif ($string{$i} == '>')
1341 1386
 			{
1342 1387
 				// Will it be HTML?
1343
-				if ($in_html)
1344
-					$in_html = false;
1388
+				if ($in_html) {
1389
+									$in_html = false;
1390
+				}
1345 1391
 				// Otherwise we need an entity...
1346 1392
 				else
1347 1393
 				{
@@ -1350,8 +1396,9 @@  discard block
 block discarded – undo
1350 1396
 				}
1351 1397
 			}
1352 1398
 			// Is it a slash? If so escape it...
1353
-			if ($string{$i} == '\\')
1354
-				$new_string .= '\\';
1399
+			if ($string{$i} == '\\') {
1400
+							$new_string .= '\\';
1401
+			}
1355 1402
 			// The infamous double quote?
1356 1403
 			elseif ($string{$i} == '"')
1357 1404
 			{
@@ -1374,10 +1421,11 @@  discard block
 block discarded – undo
1374 1421
 		}
1375 1422
 
1376 1423
 		// If we ended as a string then close it off.
1377
-		if ($in_string == 1)
1378
-			$new_string .= '\'';
1379
-		elseif ($in_string == 2)
1380
-			$new_string .= '"';
1424
+		if ($in_string == 1) {
1425
+					$new_string .= '\'';
1426
+		} elseif ($in_string == 2) {
1427
+					$new_string .= '"';
1428
+		}
1381 1429
 	}
1382 1430
 
1383 1431
 	return $new_string;
Please login to merge, or discard this patch.
Sources/MoveTopic.php 1 patch
Braces   +101 added lines, -72 removed lines patch added patch discarded remove patch
@@ -14,8 +14,9 @@  discard block
 block discarded – undo
14 14
  * @version 2.1 Beta 3
15 15
  */
16 16
 
17
-if (!defined('SMF'))
17
+if (!defined('SMF')) {
18 18
 	die('No direct access...');
19
+}
19 20
 
20 21
 /**
21 22
  * This function allows to move a topic, making sure to ask the moderator
@@ -32,8 +33,9 @@  discard block
 block discarded – undo
32 33
 {
33 34
 	global $txt, $board, $topic, $user_info, $context, $language, $scripturl, $smcFunc, $modSettings, $sourcedir;
34 35
 
35
-	if (empty($topic))
36
-		fatal_lang_error('no_access', false);
36
+	if (empty($topic)) {
37
+			fatal_lang_error('no_access', false);
38
+	}
37 39
 
38 40
 	$request = $smcFunc['db_query']('', '
39 41
 		SELECT t.id_member_started, ms.subject, t.approved
@@ -49,8 +51,9 @@  discard block
 block discarded – undo
49 51
 	$smcFunc['db_free_result']($request);
50 52
 
51 53
 	// Can they see it - if not approved?
52
-	if ($modSettings['postmod_active'] && !$context['is_approved'])
53
-		isAllowedTo('approve_posts');
54
+	if ($modSettings['postmod_active'] && !$context['is_approved']) {
55
+			isAllowedTo('approve_posts');
56
+	}
54 57
 
55 58
 	// Permission check!
56 59
 	// @todo
@@ -59,9 +62,9 @@  discard block
 block discarded – undo
59 62
 		if ($id_member_started == $user_info['id'])
60 63
 		{
61 64
 			isAllowedTo('move_own');
65
+		} else {
66
+					isAllowedTo('move_any');
62 67
 		}
63
-		else
64
-			isAllowedTo('move_any');
65 68
 	}
66 69
 
67 70
 	$context['move_any'] = $user_info['is_admin'] || $modSettings['topic_move_any'];
@@ -83,11 +86,13 @@  discard block
 block discarded – undo
83 86
 		'not_redirection' => true,
84 87
 	);
85 88
 
86
-	if (!empty($_SESSION['move_to_topic']) && $_SESSION['move_to_topic'] != $board)
87
-		$options['selected_board'] = $_SESSION['move_to_topic'];
89
+	if (!empty($_SESSION['move_to_topic']) && $_SESSION['move_to_topic'] != $board) {
90
+			$options['selected_board'] = $_SESSION['move_to_topic'];
91
+	}
88 92
 
89
-	if (!$context['move_any'])
90
-		$options['included_boards'] = $boards;
93
+	if (!$context['move_any']) {
94
+			$options['included_boards'] = $boards;
95
+	}
91 96
 
92 97
 	require_once($sourcedir . '/Subs-MessageIndex.php');
93 98
 	$context['categories'] = getBoardList($options);
@@ -138,12 +143,14 @@  discard block
 block discarded – undo
138 143
 	global $txt, $board, $topic, $scripturl, $sourcedir, $modSettings, $context;
139 144
 	global $board, $language, $user_info, $smcFunc;
140 145
 
141
-	if (empty($topic))
142
-		fatal_lang_error('no_access', false);
146
+	if (empty($topic)) {
147
+			fatal_lang_error('no_access', false);
148
+	}
143 149
 
144 150
 	// You can't choose to have a redirection topic and use an empty reason.
145
-	if (isset($_POST['postRedirect']) && (!isset($_POST['reason']) || trim($_POST['reason']) == ''))
146
-		fatal_lang_error('movetopic_no_reason', false);
151
+	if (isset($_POST['postRedirect']) && (!isset($_POST['reason']) || trim($_POST['reason']) == '')) {
152
+			fatal_lang_error('movetopic_no_reason', false);
153
+	}
147 154
 
148 155
 	moveTopicConcurrence();
149 156
 
@@ -163,16 +170,18 @@  discard block
 block discarded – undo
163 170
 	$smcFunc['db_free_result']($request);
164 171
 
165 172
 	// Can they see it?
166
-	if (!$context['is_approved'])
167
-		isAllowedTo('approve_posts');
173
+	if (!$context['is_approved']) {
174
+			isAllowedTo('approve_posts');
175
+	}
168 176
 
169 177
 	// Can they move topics on this board?
170 178
 	if (!allowedTo('move_any'))
171 179
 	{
172
-		if ($id_member_started == $user_info['id'])
173
-			isAllowedTo('move_own');
174
-		else
175
-			isAllowedTo('move_any');
180
+		if ($id_member_started == $user_info['id']) {
181
+					isAllowedTo('move_own');
182
+		} else {
183
+					isAllowedTo('move_any');
184
+		}
176 185
 	}
177 186
 
178 187
 	checkSession();
@@ -197,8 +206,9 @@  discard block
 block discarded – undo
197 206
 			'blank_redirect' => '',
198 207
 		)
199 208
 	);
200
-	if ($smcFunc['db_num_rows']($request) == 0)
201
-		fatal_lang_error('no_board');
209
+	if ($smcFunc['db_num_rows']($request) == 0) {
210
+			fatal_lang_error('no_board');
211
+	}
202 212
 	list ($pcounter, $board_name, $subject) = $smcFunc['db_fetch_row']($request);
203 213
 	$smcFunc['db_free_result']($request);
204 214
 
@@ -210,8 +220,9 @@  discard block
 block discarded – undo
210 220
 	{
211 221
 		$_POST['custom_subject'] = strtr($smcFunc['htmltrim']($smcFunc['htmlspecialchars']($_POST['custom_subject'])), array("\r" => '', "\n" => '', "\t" => ''));
212 222
 		// Keep checking the length.
213
-		if ($smcFunc['strlen']($_POST['custom_subject']) > 100)
214
-			$_POST['custom_subject'] = $smcFunc['substr']($_POST['custom_subject'], 0, 100);
223
+		if ($smcFunc['strlen']($_POST['custom_subject']) > 100) {
224
+					$_POST['custom_subject'] = $smcFunc['substr']($_POST['custom_subject'], 0, 100);
225
+		}
215 226
 
216 227
 		// If it's still valid move onwards and upwards.
217 228
 		if ($_POST['custom_subject'] != '')
@@ -221,9 +232,9 @@  discard block
 block discarded – undo
221 232
 				// Get a response prefix, but in the forum's default language.
222 233
 				if (!isset($context['response_prefix']) && !($context['response_prefix'] = cache_get_data('response_prefix')))
223 234
 				{
224
-					if ($language === $user_info['language'])
225
-						$context['response_prefix'] = $txt['response_prefix'];
226
-					else
235
+					if ($language === $user_info['language']) {
236
+											$context['response_prefix'] = $txt['response_prefix'];
237
+					} else
227 238
 					{
228 239
 						loadLanguage('index', $language, false);
229 240
 						$context['response_prefix'] = $txt['response_prefix'];
@@ -263,8 +274,9 @@  discard block
 block discarded – undo
263 274
 	if (isset($_POST['postRedirect']))
264 275
 	{
265 276
 		// Should be in the boardwide language.
266
-		if ($user_info['language'] != $language)
267
-			loadLanguage('index', $language);
277
+		if ($user_info['language'] != $language) {
278
+					loadLanguage('index', $language);
279
+		}
268 280
 
269 281
 		$_POST['reason'] = $smcFunc['htmlspecialchars']($_POST['reason'], ENT_QUOTES);
270 282
 		preparsecode($_POST['reason']);
@@ -328,8 +340,9 @@  discard block
 block discarded – undo
328 340
 		$posters = array();
329 341
 		while ($row = $smcFunc['db_fetch_assoc']($request))
330 342
 		{
331
-			if (!isset($posters[$row['id_member']]))
332
-				$posters[$row['id_member']] = 0;
343
+			if (!isset($posters[$row['id_member']])) {
344
+							$posters[$row['id_member']] = 0;
345
+			}
333 346
 
334 347
 			$posters[$row['id_member']]++;
335 348
 		}
@@ -338,11 +351,13 @@  discard block
 block discarded – undo
338 351
 		foreach ($posters as $id_member => $posts)
339 352
 		{
340 353
 			// The board we're moving from counted posts, but not to.
341
-			if (empty($pcounter_from))
342
-				updateMemberData($id_member, array('posts' => 'posts - ' . $posts));
354
+			if (empty($pcounter_from)) {
355
+							updateMemberData($id_member, array('posts' => 'posts - ' . $posts));
356
+			}
343 357
 			// The reverse: from didn't, to did.
344
-			else
345
-				updateMemberData($id_member, array('posts' => 'posts + ' . $posts));
358
+			else {
359
+							updateMemberData($id_member, array('posts' => 'posts + ' . $posts));
360
+			}
346 361
 		}
347 362
 	}
348 363
 
@@ -350,17 +365,19 @@  discard block
 block discarded – undo
350 365
 	moveTopics($topic, $_POST['toboard']);
351 366
 
352 367
 	// Log that they moved this topic.
353
-	if (!allowedTo('move_own') || $id_member_started != $user_info['id'])
354
-		logAction('move', array('topic' => $topic, 'board_from' => $board, 'board_to' => $_POST['toboard']));
368
+	if (!allowedTo('move_own') || $id_member_started != $user_info['id']) {
369
+			logAction('move', array('topic' => $topic, 'board_from' => $board, 'board_to' => $_POST['toboard']));
370
+	}
355 371
 	// Notify people that this topic has been moved?
356 372
 	sendNotifications($topic, 'move');
357 373
 
358 374
 	// Why not go back to the original board in case they want to keep moving?
359
-	if (!isset($_REQUEST['goback']))
360
-		redirectexit('board=' . $board . '.0');
361
-	else
362
-		redirectexit('topic=' . $topic . '.0');
363
-}
375
+	if (!isset($_REQUEST['goback'])) {
376
+			redirectexit('board=' . $board . '.0');
377
+	} else {
378
+			redirectexit('topic=' . $topic . '.0');
379
+	}
380
+	}
364 381
 
365 382
 /**
366 383
  * Moves one or more topics to a specific board. (doesn't check permissions.)
@@ -376,18 +393,21 @@  discard block
 block discarded – undo
376 393
 	global $sourcedir, $user_info, $modSettings, $smcFunc;
377 394
 
378 395
 	// Empty array?
379
-	if (empty($topics))
380
-		return;
396
+	if (empty($topics)) {
397
+			return;
398
+	}
381 399
 
382 400
 	// Only a single topic.
383
-	if (is_numeric($topics))
384
-		$topics = array($topics);
401
+	if (is_numeric($topics)) {
402
+			$topics = array($topics);
403
+	}
385 404
 
386 405
 	$fromBoards = array();
387 406
 
388 407
 	// Destination board empty or equal to 0?
389
-	if (empty($toBoard))
390
-		return;
408
+	if (empty($toBoard)) {
409
+			return;
410
+	}
391 411
 
392 412
 	// Are we moving to the recycle board?
393 413
 	$isRecycleDest = !empty($modSettings['recycle_enable']) && $modSettings['recycle_board'] == $toBoard;
@@ -395,8 +415,9 @@  discard block
 block discarded – undo
395 415
 	// Callback for search APIs to do their thing
396 416
 	require_once($sourcedir . '/Search.php');
397 417
 	$searchAPI = findSearchAPI();
398
-	if ($searchAPI->supportsMethod('topicsMoved'))
399
-		$searchAPI->topicsMoved($topics, $toBoard);
418
+	if ($searchAPI->supportsMethod('topicsMoved')) {
419
+			$searchAPI->topicsMoved($topics, $toBoard);
420
+	}
400 421
 
401 422
 	// Determine the source boards...
402 423
 	$request = $smcFunc['db_query']('', '
@@ -410,8 +431,9 @@  discard block
 block discarded – undo
410 431
 		)
411 432
 	);
412 433
 	// Num of rows = 0 -> no topics found. Num of rows > 1 -> topics are on multiple boards.
413
-	if ($smcFunc['db_num_rows']($request) == 0)
414
-		return;
434
+	if ($smcFunc['db_num_rows']($request) == 0) {
435
+			return;
436
+	}
415 437
 	while ($row = $smcFunc['db_fetch_assoc']($request))
416 438
 	{
417 439
 		if (!isset($fromBoards[$row['id_board']]['num_posts']))
@@ -429,10 +451,11 @@  discard block
 block discarded – undo
429 451
 		$fromBoards[$row['id_board']]['unapproved_posts'] += $row['unapproved_posts'];
430 452
 
431 453
 		// Add the topics to the right type.
432
-		if ($row['approved'])
433
-			$fromBoards[$row['id_board']]['num_topics'] += $row['num_topics'];
434
-		else
435
-			$fromBoards[$row['id_board']]['unapproved_topics'] += $row['num_topics'];
454
+		if ($row['approved']) {
455
+					$fromBoards[$row['id_board']]['num_topics'] += $row['num_topics'];
456
+		} else {
457
+					$fromBoards[$row['id_board']]['unapproved_topics'] += $row['num_topics'];
458
+		}
436 459
 	}
437 460
 	$smcFunc['db_free_result']($request);
438 461
 
@@ -558,13 +581,14 @@  discard block
 block discarded – undo
558 581
 			)
559 582
 		);
560 583
 		$approval_msgs = array();
561
-		while ($row = $smcFunc['db_fetch_assoc']($request))
562
-			$approval_msgs[] = $row['id_msg'];
584
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
585
+					$approval_msgs[] = $row['id_msg'];
586
+		}
563 587
 		$smcFunc['db_free_result']($request);
564 588
 
565 589
 		// Empty the approval queue for these, as we're going to approve them next.
566
-		if (!empty($approval_msgs))
567
-			$smcFunc['db_query']('', '
590
+		if (!empty($approval_msgs)) {
591
+					$smcFunc['db_query']('', '
568 592
 				DELETE FROM {db_prefix}approval_queue
569 593
 				WHERE id_msg IN ({array_int:message_list})
570 594
 					AND id_attach = {int:id_attach}',
@@ -573,6 +597,7 @@  discard block
 block discarded – undo
573 597
 					'id_attach' => 0,
574 598
 				)
575 599
 			);
600
+		}
576 601
 
577 602
 		// Get all the current max and mins.
578 603
 		$request = $smcFunc['db_query']('', '
@@ -606,8 +631,8 @@  discard block
 block discarded – undo
606 631
 		while ($row = $smcFunc['db_fetch_assoc']($request))
607 632
 		{
608 633
 			// If not, update.
609
-			if ($row['first_msg'] != $topicMaxMin[$row['id_topic']]['min'] || $row['last_msg'] != $topicMaxMin[$row['id_topic']]['max'])
610
-				$smcFunc['db_query']('', '
634
+			if ($row['first_msg'] != $topicMaxMin[$row['id_topic']]['min'] || $row['last_msg'] != $topicMaxMin[$row['id_topic']]['max']) {
635
+							$smcFunc['db_query']('', '
611 636
 					UPDATE {db_prefix}topics
612 637
 					SET id_first_msg = {int:first_msg}, id_last_msg = {int:last_msg}
613 638
 					WHERE id_topic = {int:selected_topic}',
@@ -617,6 +642,7 @@  discard block
 block discarded – undo
617 642
 						'selected_topic' => $row['id_topic'],
618 643
 					)
619 644
 				);
645
+			}
620 646
 		}
621 647
 		$smcFunc['db_free_result']($request);
622 648
 	}
@@ -675,9 +701,10 @@  discard block
 block discarded – undo
675 701
 	}
676 702
 
677 703
 	// Update the cache?
678
-	if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 3)
679
-		foreach ($topics as $topic_id)
704
+	if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 3) {
705
+			foreach ($topics as $topic_id)
680 706
 			cache_put_data('topic_board-' . $topic_id, null, 120);
707
+	}
681 708
 
682 709
 	require_once($sourcedir . '/Subs-Post.php');
683 710
 
@@ -701,15 +728,17 @@  discard block
 block discarded – undo
701 728
 {
702 729
 	global $board, $topic, $smcFunc, $scripturl;
703 730
 
704
-	if (isset($_GET['current_board']))
705
-		$move_from = (int) $_GET['current_board'];
731
+	if (isset($_GET['current_board'])) {
732
+			$move_from = (int) $_GET['current_board'];
733
+	}
706 734
 
707
-	if (empty($move_from) || empty($board) || empty($topic))
708
-		return true;
735
+	if (empty($move_from) || empty($board) || empty($topic)) {
736
+			return true;
737
+	}
709 738
 
710
-	if ($move_from == $board)
711
-		return true;
712
-	else
739
+	if ($move_from == $board) {
740
+			return true;
741
+	} else
713 742
 	{
714 743
 		$request = $smcFunc['db_query']('', '
715 744
 			SELECT m.subject, b.name
Please login to merge, or discard this patch.
Sources/Session.php 1 patch
Braces   +31 added lines, -21 removed lines patch added patch discarded remove patch
@@ -17,8 +17,9 @@  discard block
 block discarded – undo
17 17
  * @version 2.1 Beta 3
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()]))
@@ -65,19 +68,21 @@  discard block
 block discarded – undo
65 68
 			@ini_set('session.serialize_handler', 'php');
66 69
 			session_set_save_handler('sessionOpen', 'sessionClose', 'sessionRead', 'sessionWrite', 'sessionDestroy', 'sessionGC');
67 70
 			@ini_set('session.gc_probability', '1');
71
+		} elseif (ini_get('session.gc_maxlifetime') <= 1440 && !empty($modSettings['databaseSession_lifetime'])) {
72
+					@ini_set('session.gc_maxlifetime', max($modSettings['databaseSession_lifetime'], 60));
68 73
 		}
69
-		elseif (ini_get('session.gc_maxlifetime') <= 1440 && !empty($modSettings['databaseSession_lifetime']))
70
-			@ini_set('session.gc_maxlifetime', max($modSettings['databaseSession_lifetime'], 60));
71 74
 
72 75
 		// Use cache setting sessions?
73
-		if (empty($modSettings['databaseSession_enable']) && !empty($modSettings['cache_enable']) && php_sapi_name() != 'cli')
74
-			call_integration_hook('integrate_session_handlers');
76
+		if (empty($modSettings['databaseSession_enable']) && !empty($modSettings['cache_enable']) && php_sapi_name() != 'cli') {
77
+					call_integration_hook('integrate_session_handlers');
78
+		}
75 79
 
76 80
 		session_start();
77 81
 
78 82
 		// Change it so the cache settings are a little looser than default.
79
-		if (!empty($modSettings['databaseSession_loose']))
80
-			header('Cache-Control: private');
83
+		if (!empty($modSettings['databaseSession_loose'])) {
84
+					header('Cache-Control: private');
85
+		}
81 86
 	}
82 87
 
83 88
 	// Set the randomly generated code.
@@ -123,8 +128,9 @@  discard block
 block discarded – undo
123 128
 {
124 129
 	global $smcFunc;
125 130
 
126
-	if (preg_match('~^[A-Za-z0-9,-]{16,64}$~', $session_id) == 0)
127
-		return '';
131
+	if (preg_match('~^[A-Za-z0-9,-]{16,64}$~', $session_id) == 0) {
132
+			return '';
133
+	}
128 134
 
129 135
 	// Look for it in the database.
130 136
 	$result = $smcFunc['db_query']('', '
@@ -153,8 +159,9 @@  discard block
 block discarded – undo
153 159
 {
154 160
 	global $smcFunc;
155 161
 
156
-	if (preg_match('~^[A-Za-z0-9,-]{16,64}$~', $session_id) == 0)
157
-		return false;
162
+	if (preg_match('~^[A-Za-z0-9,-]{16,64}$~', $session_id) == 0) {
163
+			return false;
164
+	}
158 165
 
159 166
 	// First try to update an existing row...
160 167
 	$smcFunc['db_query']('', '
@@ -169,13 +176,14 @@  discard block
 block discarded – undo
169 176
 	);
170 177
 
171 178
 	// If that didn't work, try inserting a new one.
172
-	if ($smcFunc['db_affected_rows']() == 0)
173
-		$smcFunc['db_insert']('ignore',
179
+	if ($smcFunc['db_affected_rows']() == 0) {
180
+			$smcFunc['db_insert']('ignore',
174 181
 			'{db_prefix}sessions',
175 182
 			array('session_id' => 'string', 'data' => 'string', 'last_update' => 'int'),
176 183
 			array($session_id, $data, time()),
177 184
 			array('session_id')
178 185
 		);
186
+	}
179 187
 
180 188
 	return ($smcFunc['db_affected_rows']() == 0 ? false : true);
181 189
 }
@@ -190,8 +198,9 @@  discard block
 block discarded – undo
190 198
 {
191 199
 	global $smcFunc;
192 200
 
193
-	if (preg_match('~^[A-Za-z0-9,-]{16,64}$~', $session_id) == 0)
194
-		return false;
201
+	if (preg_match('~^[A-Za-z0-9,-]{16,64}$~', $session_id) == 0) {
202
+			return false;
203
+	}
195 204
 
196 205
 	// Just delete the row...
197 206
 	$smcFunc['db_query']('', '
@@ -217,8 +226,9 @@  discard block
 block discarded – undo
217 226
 	global $modSettings, $smcFunc;
218 227
 
219 228
 	// Just set to the default or lower?  Ignore it for a higher value. (hopefully)
220
-	if (!empty($modSettings['databaseSession_lifetime']) && ($max_lifetime <= 1440 || $modSettings['databaseSession_lifetime'] > $max_lifetime))
221
-		$max_lifetime = max($modSettings['databaseSession_lifetime'], 60);
229
+	if (!empty($modSettings['databaseSession_lifetime']) && ($max_lifetime <= 1440 || $modSettings['databaseSession_lifetime'] > $max_lifetime)) {
230
+			$max_lifetime = max($modSettings['databaseSession_lifetime'], 60);
231
+	}
222 232
 
223 233
 	// Clean up after yerself ;).
224 234
 	$smcFunc['db_query']('', '
Please login to merge, or discard this patch.
Sources/ShowAttachments.php 1 patch
Braces   +54 added lines, -48 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 3
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	die('No direct access...');
18
+}
18 19
 
19 20
 /**
20 21
  * Shows an avatar based on $_GET['attach']
@@ -35,11 +36,11 @@  discard block
 block discarded – undo
35 36
 
36 37
 	if (!empty($modSettings['enableCompressedOutput']) && !headers_sent() && ob_get_length() == 0)
37 38
 	{
38
-		if (@ini_get('zlib.output_compression') == '1' || @ini_get('output_handler') == 'ob_gzhandler')
39
-			$modSettings['enableCompressedOutput'] = 0;
40
-
41
-		else
42
-			ob_start('ob_gzhandler');
39
+		if (@ini_get('zlib.output_compression') == '1' || @ini_get('output_handler') == 'ob_gzhandler') {
40
+					$modSettings['enableCompressedOutput'] = 0;
41
+		} else {
42
+					ob_start('ob_gzhandler');
43
+		}
43 44
 	}
44 45
 
45 46
 	if (empty($modSettings['enableCompressedOutput']))
@@ -71,8 +72,9 @@  discard block
 block discarded – undo
71 72
 	}
72 73
 
73 74
 	// Use cache when possible.
74
-	if (($cache = cache_get_data('attachment_lookup_id-' . $attachId)) != null)
75
-		list($file, $thumbFile) = $cache;
75
+	if (($cache = cache_get_data('attachment_lookup_id-' . $attachId)) != null) {
76
+			list($file, $thumbFile) = $cache;
77
+	}
76 78
 
77 79
 	// Get the info from the DB.
78 80
 	if (empty($file) || empty($thumbFile) && !empty($file['id_thumb']))
@@ -80,10 +82,9 @@  discard block
 block discarded – undo
80 82
 		// Do we have a hook wanting to use our attachment system? We use $attachRequest to prevent accidental usage of $request.
81 83
 		$attachRequest = null;
82 84
 		call_integration_hook('integrate_download_request', array(&$attachRequest));
83
-		if (!is_null($attachRequest) && $smcFunc['db_is_resource']($attachRequest))
84
-			$request = $attachRequest;
85
-
86
-		else
85
+		if (!is_null($attachRequest) && $smcFunc['db_is_resource']($attachRequest)) {
86
+					$request = $attachRequest;
87
+		} else
87 88
 		{
88 89
 			// Make sure this attachment is on this board and load its info while we are at it.
89 90
 			$request = $smcFunc['db_query']('', '
@@ -176,13 +177,14 @@  discard block
 block discarded – undo
176 177
 		}
177 178
 
178 179
 		// Cache it.
179
-		if (!empty($file) || !empty($thumbFile))
180
-			cache_put_data('attachment_lookup_id-' . $file['id_attach'], array($file, $thumbFile), mt_rand(850, 900));
180
+		if (!empty($file) || !empty($thumbFile)) {
181
+					cache_put_data('attachment_lookup_id-' . $file['id_attach'], array($file, $thumbFile), mt_rand(850, 900));
182
+		}
181 183
 	}
182 184
 
183 185
 	// Update the download counter (unless it's a thumbnail).
184
-	if ($file['attachment_type'] != 3 && empty($showThumb))
185
-		$smcFunc['db_query']('attach_download_increase', '
186
+	if ($file['attachment_type'] != 3 && empty($showThumb)) {
187
+			$smcFunc['db_query']('attach_download_increase', '
186 188
 			UPDATE LOW_PRIORITY {db_prefix}attachments
187 189
 			SET downloads = downloads + 1
188 190
 			WHERE id_attach = {int:id_attach}',
@@ -190,10 +192,12 @@  discard block
 block discarded – undo
190 192
 				'id_attach' => $attachId,
191 193
 			)
192 194
 		);
195
+	}
193 196
 
194 197
 	// Replace the normal file with its thumbnail if it has one!
195
-	if (!empty($showThumb) && !empty($thumbFile))
196
-		$file = $thumbFile;
198
+	if (!empty($showThumb) && !empty($thumbFile)) {
199
+			$file = $thumbFile;
200
+	}
197 201
 
198 202
 	// No point in a nicer message, because this is supposed to be an attachment anyway...
199 203
 	if (!file_exists($file['filePath']))
@@ -232,8 +236,9 @@  discard block
 block discarded – undo
232 236
 	// Send the attachment headers.
233 237
 	header('Pragma: ');
234 238
 
235
-	if (!isBrowser('gecko'))
236
-		header('Content-Transfer-Encoding: binary');
239
+	if (!isBrowser('gecko')) {
240
+			header('Content-Transfer-Encoding: binary');
241
+	}
237 242
 
238 243
 	header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 525600 * 60) . ' GMT');
239 244
 	header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($file['filePath'])) . ' GMT');
@@ -242,18 +247,19 @@  discard block
 block discarded – undo
242 247
 	header('ETag: ' . $eTag);
243 248
 
244 249
 	// Make sure the mime type warrants an inline display.
245
-	if (isset($_REQUEST['image']) && !empty($file['mime_type']) && strpos($file['mime_type'], 'image/') !== 0)
246
-		unset($_REQUEST['image']);
250
+	if (isset($_REQUEST['image']) && !empty($file['mime_type']) && strpos($file['mime_type'], 'image/') !== 0) {
251
+			unset($_REQUEST['image']);
252
+	}
247 253
 
248 254
 	// Does this have a mime type?
249
-	elseif (!empty($file['mime_type']) && (isset($_REQUEST['image']) || !in_array($file['fileext'], array('jpg', 'gif', 'jpeg', 'x-ms-bmp', 'png', 'psd', 'tiff', 'iff'))))
250
-		header('Content-Type: ' . strtr($file['mime_type'], array('image/bmp' => 'image/x-ms-bmp')));
251
-
252
-	else
255
+	elseif (!empty($file['mime_type']) && (isset($_REQUEST['image']) || !in_array($file['fileext'], array('jpg', 'gif', 'jpeg', 'x-ms-bmp', 'png', 'psd', 'tiff', 'iff')))) {
256
+			header('Content-Type: ' . strtr($file['mime_type'], array('image/bmp' => 'image/x-ms-bmp')));
257
+	} else
253 258
 	{
254 259
 		header('Content-Type: ' . (isBrowser('ie') || isBrowser('opera') ? 'application/octetstream' : 'application/octet-stream'));
255
-		if (isset($_REQUEST['image']))
256
-			unset($_REQUEST['image']);
260
+		if (isset($_REQUEST['image'])) {
261
+					unset($_REQUEST['image']);
262
+		}
257 263
 	}
258 264
 
259 265
 	// Convert the file to UTF-8, cuz most browsers dig that.
@@ -261,24 +267,22 @@  discard block
 block discarded – undo
261 267
 	$disposition = !isset($_REQUEST['image']) ? 'attachment' : 'inline';
262 268
 
263 269
 	// Different browsers like different standards...
264
-	if (isBrowser('firefox'))
265
-		header('Content-Disposition: ' . $disposition . '; filename*=UTF-8\'\'' . rawurlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)));
266
-
267
-	elseif (isBrowser('opera'))
268
-		header('Content-Disposition: ' . $disposition . '; filename="' . preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name) . '"');
269
-
270
-	elseif (isBrowser('ie'))
271
-		header('Content-Disposition: ' . $disposition . '; filename="' . urlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)) . '"');
272
-
273
-	else
274
-		header('Content-Disposition: ' . $disposition . '; filename="' . $utf8name . '"');
270
+	if (isBrowser('firefox')) {
271
+			header('Content-Disposition: ' . $disposition . '; filename*=UTF-8\'\'' . rawurlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)));
272
+	} elseif (isBrowser('opera')) {
273
+			header('Content-Disposition: ' . $disposition . '; filename="' . preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name) . '"');
274
+	} elseif (isBrowser('ie')) {
275
+			header('Content-Disposition: ' . $disposition . '; filename="' . urlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)) . '"');
276
+	} else {
277
+			header('Content-Disposition: ' . $disposition . '; filename="' . $utf8name . '"');
278
+	}
275 279
 
276 280
 	// If this has an "image extension" - but isn't actually an image - then ensure it isn't cached cause of silly IE.
277
-	if (!isset($_REQUEST['image']) && in_array($file['fileext'], array('gif', 'jpg', 'bmp', 'png', 'jpeg', 'tiff')))
278
-		header('Cache-Control: no-cache');
279
-
280
-	else
281
-		header('Cache-Control: max-age=' . (525600 * 60) . ', private');
281
+	if (!isset($_REQUEST['image']) && in_array($file['fileext'], array('gif', 'jpg', 'bmp', 'png', 'jpeg', 'tiff'))) {
282
+			header('Cache-Control: no-cache');
283
+	} else {
284
+			header('Cache-Control: max-age=' . (525600 * 60) . ', private');
285
+	}
282 286
 
283 287
 	header('Content-Length: ' . filesize($file['filePath']));
284 288
 
@@ -289,8 +293,9 @@  discard block
 block discarded – undo
289 293
 	if (filesize($file['filePath']) > 4194304)
290 294
 	{
291 295
 		// Forcibly end any output buffering going on.
292
-		while (@ob_get_level() > 0)
293
-			@ob_end_clean();
296
+		while (@ob_get_level() > 0) {
297
+					@ob_end_clean();
298
+		}
294 299
 
295 300
 		$fp = fopen($file['filePath'], 'rb');
296 301
 		while (!feof($fp))
@@ -302,8 +307,9 @@  discard block
 block discarded – undo
302 307
 	}
303 308
 
304 309
 	// 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.
305
-	elseif (@readfile($file['filePath']) === null)
306
-		echo file_get_contents($file['filePath']);
310
+	elseif (@readfile($file['filePath']) === null) {
311
+			echo file_get_contents($file['filePath']);
312
+	}
307 313
 
308 314
 	die();
309 315
 }
Please login to merge, or discard this patch.