Completed
Pull Request — release-2.1 (#4914)
by Liroy
16:56 queued 08:48
created
Sources/Themes.php 1 patch
Braces   +345 added lines, -269 removed lines patch added patch discarded remove patch
@@ -30,8 +30,9 @@  discard block
 block discarded – undo
30 30
  * @version 2.1 Beta 4
31 31
  */
32 32
 
33
-if (!defined('SMF'))
33
+if (!defined('SMF')) {
34 34
 	die('No direct access...');
35
+}
35 36
 
36 37
 /**
37 38
  * Subaction handler - manages the action and delegates control to the proper
@@ -103,12 +104,12 @@  discard block
 block discarded – undo
103 104
 	cache_put_data('minimized_css', null);
104 105
 
105 106
 	// Follow the sa or just go to administration.
106
-	if (isset($_GET['sa']) && !empty($subActions[$_GET['sa']]))
107
-		call_helper($subActions[$_GET['sa']]);
108
-
109
-	else
110
-		call_helper($subActions['admin']);
111
-}
107
+	if (isset($_GET['sa']) && !empty($subActions[$_GET['sa']])) {
108
+			call_helper($subActions[$_GET['sa']]);
109
+	} else {
110
+			call_helper($subActions['admin']);
111
+	}
112
+	}
112 113
 
113 114
 /**
114 115
  * This function allows administration of themes and their settings,
@@ -130,15 +131,16 @@  discard block
 block discarded – undo
130 131
 		checkSession();
131 132
 		validateToken('admin-tm');
132 133
 
133
-		if (isset($_POST['options']['known_themes']))
134
-			foreach ($_POST['options']['known_themes'] as $key => $id)
134
+		if (isset($_POST['options']['known_themes'])) {
135
+					foreach ($_POST['options']['known_themes'] as $key => $id)
135 136
 				$_POST['options']['known_themes'][$key] = (int) $id;
137
+		} else {
138
+					fatal_lang_error('themes_none_selectable', false);
139
+		}
136 140
 
137
-		else
138
-			fatal_lang_error('themes_none_selectable', false);
139
-
140
-		if (!in_array($_POST['options']['theme_guests'], $_POST['options']['known_themes']))
141
-			fatal_lang_error('themes_default_selectable', false);
141
+		if (!in_array($_POST['options']['theme_guests'], $_POST['options']['known_themes'])) {
142
+					fatal_lang_error('themes_default_selectable', false);
143
+		}
142 144
 
143 145
 		// Commit the new settings.
144 146
 		updateSettings(array(
@@ -146,8 +148,9 @@  discard block
 block discarded – undo
146 148
 			'theme_guests' => $_POST['options']['theme_guests'],
147 149
 			'knownThemes' => implode(',', $_POST['options']['known_themes']),
148 150
 		));
149
-		if ((int) $_POST['theme_reset'] == 0 || in_array($_POST['theme_reset'], $_POST['options']['known_themes']))
150
-			updateMemberData(null, array('id_theme' => (int) $_POST['theme_reset']));
151
+		if ((int) $_POST['theme_reset'] == 0 || in_array($_POST['theme_reset'], $_POST['options']['known_themes'])) {
152
+					updateMemberData(null, array('id_theme' => (int) $_POST['theme_reset']));
153
+		}
151 154
 
152 155
 		redirectexit('action=admin;area=theme;' . $context['session_var'] . '=' . $context['session_id'] . ';sa=admin');
153 156
 	}
@@ -166,8 +169,9 @@  discard block
 block discarded – undo
166 169
 	// Look for a non existent theme directory. (ie theme87.)
167 170
 	$theme_dir = $boarddir . '/Themes/theme';
168 171
 	$i = 1;
169
-	while (file_exists($theme_dir . $i))
170
-		$i++;
172
+	while (file_exists($theme_dir . $i)) {
173
+			$i++;
174
+	}
171 175
 
172 176
 	$context['new_theme_name'] = 'theme' . $i;
173 177
 
@@ -189,8 +193,9 @@  discard block
 block discarded – undo
189 193
 	loadLanguage('Admin');
190 194
 	isAllowedTo('admin_forum');
191 195
 
192
-	if (isset($_REQUEST['th']))
193
-		return SetThemeSettings();
196
+	if (isset($_REQUEST['th'])) {
197
+			return SetThemeSettings();
198
+	}
194 199
 
195 200
 	if (isset($_POST['save']))
196 201
 	{
@@ -274,12 +279,13 @@  discard block
 block discarded – undo
274 279
 		$context['themes'] = array();
275 280
 		while ($row = $smcFunc['db_fetch_assoc']($request))
276 281
 		{
277
-			if (!isset($context['themes'][$row['id_theme']]))
278
-				$context['themes'][$row['id_theme']] = array(
282
+			if (!isset($context['themes'][$row['id_theme']])) {
283
+							$context['themes'][$row['id_theme']] = array(
279 284
 					'id' => $row['id_theme'],
280 285
 					'num_default_options' => 0,
281 286
 					'num_members' => 0,
282 287
 				);
288
+			}
283 289
 			$context['themes'][$row['id_theme']][$row['variable']] = $row['value'];
284 290
 		}
285 291
 		$smcFunc['db_free_result']($request);
@@ -293,8 +299,9 @@  discard block
 block discarded – undo
293 299
 				'guest_member' => -1,
294 300
 			)
295 301
 		);
296
-		while ($row = $smcFunc['db_fetch_assoc']($request))
297
-			$context['themes'][$row['id_theme']]['num_default_options'] = $row['value'];
302
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
303
+					$context['themes'][$row['id_theme']]['num_default_options'] = $row['value'];
304
+		}
298 305
 		$smcFunc['db_free_result']($request);
299 306
 
300 307
 		// Need to make sure we don't do custom fields.
@@ -305,8 +312,9 @@  discard block
 block discarded – undo
305 312
 			)
306 313
 		);
307 314
 		$customFields = array();
308
-		while ($row = $smcFunc['db_fetch_assoc']($request))
309
-			$customFields[] = $row['col_name'];
315
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
316
+					$customFields[] = $row['col_name'];
317
+		}
310 318
 		$smcFunc['db_free_result']($request);
311 319
 		$customFieldsQuery = empty($customFields) ? '' : ('AND variable NOT IN ({array_string:custom_fields})');
312 320
 
@@ -321,14 +329,16 @@  discard block
 block discarded – undo
321 329
 				'custom_fields' => empty($customFields) ? array() : $customFields,
322 330
 			)
323 331
 		);
324
-		while ($row = $smcFunc['db_fetch_assoc']($request))
325
-			$context['themes'][$row['id_theme']]['num_members'] = $row['value'];
332
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
333
+					$context['themes'][$row['id_theme']]['num_members'] = $row['value'];
334
+		}
326 335
 		$smcFunc['db_free_result']($request);
327 336
 
328 337
 		// There has to be a Settings template!
329
-		foreach ($context['themes'] as $k => $v)
330
-			if (empty($v['theme_dir']) || (!file_exists($v['theme_dir'] . '/Settings.template.php') && empty($v['num_members'])))
338
+		foreach ($context['themes'] as $k => $v) {
339
+					if (empty($v['theme_dir']) || (!file_exists($v['theme_dir'] . '/Settings.template.php') && empty($v['num_members'])))
331 340
 				unset($context['themes'][$k]);
341
+		}
332 342
 
333 343
 		loadTemplate('Themes');
334 344
 		$context['sub_template'] = 'reset_list';
@@ -343,16 +353,19 @@  discard block
 block discarded – undo
343 353
 		checkSession();
344 354
 		validateToken('admin-sto');
345 355
 
346
-		if (empty($_POST['options']))
347
-			$_POST['options'] = array();
348
-		if (empty($_POST['default_options']))
349
-			$_POST['default_options'] = array();
356
+		if (empty($_POST['options'])) {
357
+					$_POST['options'] = array();
358
+		}
359
+		if (empty($_POST['default_options'])) {
360
+					$_POST['default_options'] = array();
361
+		}
350 362
 
351 363
 		// Set up the sql query.
352 364
 		$setValues = array();
353 365
 
354
-		foreach ($_POST['options'] as $opt => $val)
355
-			$setValues[] = array(-1, $_GET['th'], $opt, is_array($val) ? implode(',', $val) : $val);
366
+		foreach ($_POST['options'] as $opt => $val) {
367
+					$setValues[] = array(-1, $_GET['th'], $opt, is_array($val) ? implode(',', $val) : $val);
368
+		}
356 369
 
357 370
 		$old_settings = array();
358 371
 		foreach ($_POST['default_options'] as $opt => $val)
@@ -366,8 +379,8 @@  discard block
 block discarded – undo
366 379
 		if (!empty($setValues))
367 380
 		{
368 381
 			// Are there options in non-default themes set that should be cleared?
369
-			if (!empty($old_settings))
370
-				$smcFunc['db_query']('', '
382
+			if (!empty($old_settings)) {
383
+							$smcFunc['db_query']('', '
371 384
 					DELETE FROM {db_prefix}themes
372 385
 					WHERE id_theme != {int:default_theme}
373 386
 						AND id_member = {int:guest_member}
@@ -378,6 +391,7 @@  discard block
 block discarded – undo
378 391
 						'old_settings' => $old_settings,
379 392
 					)
380 393
 				);
394
+			}
381 395
 
382 396
 			$smcFunc['db_insert']('replace',
383 397
 				'{db_prefix}themes',
@@ -391,8 +405,7 @@  discard block
 block discarded – undo
391 405
 		cache_put_data('theme_settings-1', null, 90);
392 406
 
393 407
 		redirectexit('action=admin;area=theme;' . $context['session_var'] . '=' . $context['session_id'] . ';sa=reset');
394
-	}
395
-	elseif (isset($_POST['submit']) && $_POST['who'] == 1)
408
+	} elseif (isset($_POST['submit']) && $_POST['who'] == 1)
396 409
 	{
397 410
 		checkSession();
398 411
 		validateToken('admin-sto');
@@ -405,9 +418,9 @@  discard block
 block discarded – undo
405 418
 		$old_settings = array();
406 419
 		foreach ($_POST['default_options'] as $opt => $val)
407 420
 		{
408
-			if ($_POST['default_options_master'][$opt] == 0)
409
-				continue;
410
-			elseif ($_POST['default_options_master'][$opt] == 1)
421
+			if ($_POST['default_options_master'][$opt] == 0) {
422
+							continue;
423
+			} elseif ($_POST['default_options_master'][$opt] == 1)
411 424
 			{
412 425
 				// Delete then insert for ease of database compatibility!
413 426
 				$smcFunc['db_query']('substring', '
@@ -433,8 +446,7 @@  discard block
 block discarded – undo
433 446
 				);
434 447
 
435 448
 				$old_settings[] = $opt;
436
-			}
437
-			elseif ($_POST['default_options_master'][$opt] == 2)
449
+			} elseif ($_POST['default_options_master'][$opt] == 2)
438 450
 			{
439 451
 				$smcFunc['db_query']('', '
440 452
 					DELETE FROM {db_prefix}themes
@@ -449,8 +461,8 @@  discard block
 block discarded – undo
449 461
 		}
450 462
 
451 463
 		// Delete options from other themes.
452
-		if (!empty($old_settings))
453
-			$smcFunc['db_query']('', '
464
+		if (!empty($old_settings)) {
465
+					$smcFunc['db_query']('', '
454 466
 				DELETE FROM {db_prefix}themes
455 467
 				WHERE id_theme != {int:default_theme}
456 468
 					AND id_member > {int:no_member}
@@ -461,12 +473,13 @@  discard block
 block discarded – undo
461 473
 					'old_settings' => $old_settings,
462 474
 				)
463 475
 			);
476
+		}
464 477
 
465 478
 		foreach ($_POST['options'] as $opt => $val)
466 479
 		{
467
-			if ($_POST['options_master'][$opt] == 0)
468
-				continue;
469
-			elseif ($_POST['options_master'][$opt] == 1)
480
+			if ($_POST['options_master'][$opt] == 0) {
481
+							continue;
482
+			} elseif ($_POST['options_master'][$opt] == 1)
470 483
 			{
471 484
 				// Delete then insert for ease of database compatibility - again!
472 485
 				$smcFunc['db_query']('substring', '
@@ -491,8 +504,7 @@  discard block
 block discarded – undo
491 504
 						'value' => (is_array($val) ? implode(',', $val) : $val),
492 505
 					)
493 506
 				);
494
-			}
495
-			elseif ($_POST['options_master'][$opt] == 2)
507
+			} elseif ($_POST['options_master'][$opt] == 2)
496 508
 			{
497 509
 				$smcFunc['db_query']('', '
498 510
 					DELETE FROM {db_prefix}themes
@@ -509,8 +521,7 @@  discard block
 block discarded – undo
509 521
 		}
510 522
 
511 523
 		redirectexit('action=admin;area=theme;' . $context['session_var'] . '=' . $context['session_id'] . ';sa=reset');
512
-	}
513
-	elseif (!empty($_GET['who']) && $_GET['who'] == 2)
524
+	} elseif (!empty($_GET['who']) && $_GET['who'] == 2)
514 525
 	{
515 526
 		checkSession('get');
516 527
 		validateToken('admin-stor', 'request');
@@ -525,8 +536,9 @@  discard block
 block discarded – undo
525 536
 				)
526 537
 			);
527 538
 			$customFields = array();
528
-			while ($row = $smcFunc['db_fetch_assoc']($request))
529
-				$customFields[] = $row['col_name'];
539
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
540
+							$customFields[] = $row['col_name'];
541
+			}
530 542
 			$smcFunc['db_free_result']($request);
531 543
 		}
532 544
 		$customFieldsQuery = empty($customFields) ? '' : ('AND variable NOT IN ({array_string:custom_fields})');
@@ -581,13 +593,13 @@  discard block
 block discarded – undo
581 593
 			)
582 594
 		);
583 595
 		$context['theme_options'] = array();
584
-		while ($row = $smcFunc['db_fetch_assoc']($request))
585
-			$context['theme_options'][$row['variable']] = $row['value'];
596
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
597
+					$context['theme_options'][$row['variable']] = $row['value'];
598
+		}
586 599
 		$smcFunc['db_free_result']($request);
587 600
 
588 601
 		$context['theme_options_reset'] = false;
589
-	}
590
-	else
602
+	} else
591 603
 	{
592 604
 		$context['theme_options'] = array();
593 605
 		$context['theme_options_reset'] = true;
@@ -596,8 +608,9 @@  discard block
 block discarded – undo
596 608
 	foreach ($context['options'] as $i => $setting)
597 609
 	{
598 610
 		// Just skip separators
599
-		if (!is_array($setting))
600
-			continue;
611
+		if (!is_array($setting)) {
612
+					continue;
613
+		}
601 614
 
602 615
 		// Is this disabled?
603 616
 		if (isset($setting['enabled']) && $setting['enabled'] === false)
@@ -606,15 +619,17 @@  discard block
 block discarded – undo
606 619
 			continue;
607 620
 		}
608 621
 
609
-		if (!isset($setting['type']) || $setting['type'] == 'bool')
610
-			$context['options'][$i]['type'] = 'checkbox';
611
-		elseif ($setting['type'] == 'int' || $setting['type'] == 'integer')
612
-			$context['options'][$i]['type'] = 'number';
613
-		elseif ($setting['type'] == 'string')
614
-			$context['options'][$i]['type'] = 'text';
622
+		if (!isset($setting['type']) || $setting['type'] == 'bool') {
623
+					$context['options'][$i]['type'] = 'checkbox';
624
+		} elseif ($setting['type'] == 'int' || $setting['type'] == 'integer') {
625
+					$context['options'][$i]['type'] = 'number';
626
+		} elseif ($setting['type'] == 'string') {
627
+					$context['options'][$i]['type'] = 'text';
628
+		}
615 629
 
616
-		if (isset($setting['options']))
617
-			$context['options'][$i]['type'] = 'list';
630
+		if (isset($setting['options'])) {
631
+					$context['options'][$i]['type'] = 'list';
632
+		}
618 633
 
619 634
 		$context['options'][$i]['value'] = !isset($context['theme_options'][$setting['id']]) ? '' : $context['theme_options'][$setting['id']];
620 635
 	}
@@ -639,8 +654,9 @@  discard block
 block discarded – undo
639 654
 {
640 655
 	global $txt, $context, $settings, $modSettings, $smcFunc;
641 656
 
642
-	if (empty($_GET['th']) && empty($_GET['id']))
643
-		return ThemeAdmin();
657
+	if (empty($_GET['th']) && empty($_GET['id'])) {
658
+			return ThemeAdmin();
659
+	}
644 660
 
645 661
 	$_GET['th'] = isset($_GET['th']) ? (int) $_GET['th'] : (int) $_GET['id'];
646 662
 
@@ -651,8 +667,9 @@  discard block
 block discarded – undo
651 667
 	isAllowedTo('admin_forum');
652 668
 
653 669
 	// Validate inputs/user.
654
-	if (empty($_GET['th']))
655
-		fatal_lang_error('no_theme', false);
670
+	if (empty($_GET['th'])) {
671
+			fatal_lang_error('no_theme', false);
672
+	}
656 673
 
657 674
 	// Fetch the smiley sets...
658 675
 	$sets = explode(',', 'none,' . $modSettings['smiley_sets_known']);
@@ -660,8 +677,9 @@  discard block
 block discarded – undo
660 677
 	$context['smiley_sets'] = array(
661 678
 		'' => $txt['smileys_no_default']
662 679
 	);
663
-	foreach ($sets as $i => $set)
664
-		$context['smiley_sets'][$set] = $smcFunc['htmlspecialchars']($set_names[$i]);
680
+	foreach ($sets as $i => $set) {
681
+			$context['smiley_sets'][$set] = $smcFunc['htmlspecialchars']($set_names[$i]);
682
+	}
665 683
 
666 684
 	$old_id = $settings['theme_id'];
667 685
 	$old_settings = $settings;
@@ -686,8 +704,9 @@  discard block
 block discarded – undo
686 704
 	if (file_exists($settings['theme_dir'] . '/index.template.php'))
687 705
 	{
688 706
 		$file_contents = implode('', file($settings['theme_dir'] . '/index.template.php'));
689
-		if (preg_match('~\$settings\[\'theme_variants\'\]\s*=(.+?);~', $file_contents, $matches))
690
-				eval('global $settings;' . $matches[0]);
707
+		if (preg_match('~\$settings\[\'theme_variants\'\]\s*=(.+?);~', $file_contents, $matches)) {
708
+						eval('global $settings;' . $matches[0]);
709
+		}
691 710
 	}
692 711
 
693 712
 	// Let mods hook into the theme settings.
@@ -699,37 +718,45 @@  discard block
 block discarded – undo
699 718
 		checkSession();
700 719
 		validateToken('admin-sts');
701 720
 
702
-		if (empty($_POST['options']))
703
-			$_POST['options'] = array();
704
-		if (empty($_POST['default_options']))
705
-			$_POST['default_options'] = array();
721
+		if (empty($_POST['options'])) {
722
+					$_POST['options'] = array();
723
+		}
724
+		if (empty($_POST['default_options'])) {
725
+					$_POST['default_options'] = array();
726
+		}
706 727
 
707 728
 		// Make sure items are cast correctly.
708 729
 		foreach ($context['theme_settings'] as $item)
709 730
 		{
710 731
 			// Disregard this item if this is just a separator.
711
-			if (!is_array($item))
712
-				continue;
732
+			if (!is_array($item)) {
733
+							continue;
734
+			}
713 735
 
714 736
 			foreach (array('options', 'default_options') as $option)
715 737
 			{
716
-				if (!isset($_POST[$option][$item['id']]))
717
-					continue;
738
+				if (!isset($_POST[$option][$item['id']])) {
739
+									continue;
740
+				}
718 741
 				// Checkbox.
719
-				elseif (empty($item['type']))
720
-					$_POST[$option][$item['id']] = $_POST[$option][$item['id']] ? 1 : 0;
742
+				elseif (empty($item['type'])) {
743
+									$_POST[$option][$item['id']] = $_POST[$option][$item['id']] ? 1 : 0;
744
+				}
721 745
 				// Number
722
-				elseif ($item['type'] == 'number')
723
-					$_POST[$option][$item['id']] = (int) $_POST[$option][$item['id']];
746
+				elseif ($item['type'] == 'number') {
747
+									$_POST[$option][$item['id']] = (int) $_POST[$option][$item['id']];
748
+				}
724 749
 			}
725 750
 		}
726 751
 
727 752
 		// Set up the sql query.
728 753
 		$inserts = array();
729
-		foreach ($_POST['options'] as $opt => $val)
730
-			$inserts[] = array(0, $_GET['th'], $opt, is_array($val) ? implode(',', $val) : $val);
731
-		foreach ($_POST['default_options'] as $opt => $val)
732
-			$inserts[] = array(0, 1, $opt, is_array($val) ? implode(',', $val) : $val);
754
+		foreach ($_POST['options'] as $opt => $val) {
755
+					$inserts[] = array(0, $_GET['th'], $opt, is_array($val) ? implode(',', $val) : $val);
756
+		}
757
+		foreach ($_POST['default_options'] as $opt => $val) {
758
+					$inserts[] = array(0, 1, $opt, is_array($val) ? implode(',', $val) : $val);
759
+		}
733 760
 		// If we're actually inserting something..
734 761
 		if (!empty($inserts))
735 762
 		{
@@ -755,8 +782,9 @@  discard block
 block discarded – undo
755 782
 
756 783
 	foreach ($settings as $setting => $dummy)
757 784
 	{
758
-		if (!in_array($setting, array('theme_url', 'theme_dir', 'images_url', 'template_dirs')))
759
-			$settings[$setting] = htmlspecialchars__recursive($settings[$setting]);
785
+		if (!in_array($setting, array('theme_url', 'theme_dir', 'images_url', 'template_dirs'))) {
786
+					$settings[$setting] = htmlspecialchars__recursive($settings[$setting]);
787
+		}
760 788
 	}
761 789
 
762 790
 	$context['settings'] = $context['theme_settings'];
@@ -765,18 +793,21 @@  discard block
 block discarded – undo
765 793
 	foreach ($context['settings'] as $i => $setting)
766 794
 	{
767 795
 		// Separators are dummies, so leave them alone.
768
-		if (!is_array($setting))
769
-			continue;
796
+		if (!is_array($setting)) {
797
+					continue;
798
+		}
770 799
 
771
-		if (!isset($setting['type']) || $setting['type'] == 'bool')
772
-			$context['settings'][$i]['type'] = 'checkbox';
773
-		elseif ($setting['type'] == 'int' || $setting['type'] == 'integer')
774
-			$context['settings'][$i]['type'] = 'number';
775
-		elseif ($setting['type'] == 'string')
776
-			$context['settings'][$i]['type'] = 'text';
800
+		if (!isset($setting['type']) || $setting['type'] == 'bool') {
801
+					$context['settings'][$i]['type'] = 'checkbox';
802
+		} elseif ($setting['type'] == 'int' || $setting['type'] == 'integer') {
803
+					$context['settings'][$i]['type'] = 'number';
804
+		} elseif ($setting['type'] == 'string') {
805
+					$context['settings'][$i]['type'] = 'text';
806
+		}
777 807
 
778
-		if (isset($setting['options']))
779
-			$context['settings'][$i]['type'] = 'list';
808
+		if (isset($setting['options'])) {
809
+					$context['settings'][$i]['type'] = 'list';
810
+		}
780 811
 
781 812
 		$context['settings'][$i]['value'] = !isset($settings[$setting['id']]) ? '' : $settings[$setting['id']];
782 813
 	}
@@ -829,8 +860,9 @@  discard block
 block discarded – undo
829 860
 	$themeID = isset($_GET['th']) ? (int) $_GET['th'] : (int) $_GET['id'];
830 861
 
831 862
 	// You can't delete the default theme!
832
-	if ($themeID == 1)
833
-		fatal_lang_error('no_access', false);
863
+	if ($themeID == 1) {
864
+			fatal_lang_error('no_access', false);
865
+	}
834 866
 
835 867
 	$theme_info = get_single_theme($themeID);
836 868
 
@@ -838,8 +870,9 @@  discard block
 block discarded – undo
838 870
 	remove_theme($themeID);
839 871
 
840 872
 	// And remove all its files and folders too.
841
-	if (!empty($theme_info) && !empty($theme_info['theme_dir']))
842
-		remove_dir($theme_info['theme_dir']);
873
+	if (!empty($theme_info) && !empty($theme_info['theme_dir'])) {
874
+			remove_dir($theme_info['theme_dir']);
875
+	}
843 876
 
844 877
 	// Go back to the list page.
845 878
 	redirectexit('action=admin;area=theme;sa=list;' . $context['session_var'] . '=' . $context['session_id'] . ';done=removing');
@@ -864,12 +897,14 @@  discard block
 block discarded – undo
864 897
 	$enableThemes = explode(',', $modSettings['enableThemes']);
865 898
 
866 899
 	// Are we disabling it?
867
-	if (isset($_GET['disabled']))
868
-		$enableThemes = array_diff($enableThemes, array($themeID));
900
+	if (isset($_GET['disabled'])) {
901
+			$enableThemes = array_diff($enableThemes, array($themeID));
902
+	}
869 903
 
870 904
 	// Nope? then enable it!
871
-	else
872
-		$enableThemes[] = (string) $themeID;
905
+	else {
906
+			$enableThemes[] = (string) $themeID;
907
+	}
873 908
 
874 909
 	// Update the setting.
875 910
 	$enableThemes = strtr(implode(',', $enableThemes), array(',,' => ','));
@@ -904,18 +939,21 @@  discard block
 block discarded – undo
904 939
 
905 940
 	$_SESSION['id_theme'] = 0;
906 941
 
907
-	if (isset($_GET['id']))
908
-		$_GET['th'] = $_GET['id'];
942
+	if (isset($_GET['id'])) {
943
+			$_GET['th'] = $_GET['id'];
944
+	}
909 945
 
910 946
 	// Saving a variant cause JS doesn't work - pretend it did ;)
911 947
 	if (isset($_POST['save']))
912 948
 	{
913 949
 		// Which theme?
914
-		foreach ($_POST['save'] as $k => $v)
915
-			$_GET['th'] = (int) $k;
950
+		foreach ($_POST['save'] as $k => $v) {
951
+					$_GET['th'] = (int) $k;
952
+		}
916 953
 
917
-		if (isset($_POST['vrt'][$k]))
918
-			$_GET['vrt'] = $_POST['vrt'][$k];
954
+		if (isset($_POST['vrt'][$k])) {
955
+					$_GET['vrt'] = $_POST['vrt'][$k];
956
+		}
919 957
 	}
920 958
 
921 959
 	// Have we made a decision, or are we just browsing?
@@ -1004,10 +1042,10 @@  discard block
 block discarded – undo
1004 1042
 				);
1005 1043
 				cache_put_data('theme_settings-' . $_GET['th'] . ':' . (int) $_REQUEST['u'], null, 90);
1006 1044
 
1007
-				if ($user_info['id'] == $_REQUEST['u'])
1008
-					$_SESSION['id_variant'] = 0;
1009
-			}
1010
-			elseif ($_GET['th'] == 0)
1045
+				if ($user_info['id'] == $_REQUEST['u']) {
1046
+									$_SESSION['id_variant'] = 0;
1047
+				}
1048
+			} elseif ($_GET['th'] == 0)
1011 1049
 			{
1012 1050
 				// Remove any custom variants.
1013 1051
 				$smcFunc['db_query']('', '
@@ -1088,12 +1126,13 @@  discard block
 block discarded – undo
1088 1126
 		);
1089 1127
 		while ($row = $smcFunc['db_fetch_assoc']($request))
1090 1128
 		{
1091
-			if (!isset($context['available_themes'][$row['id_theme']]))
1092
-				$context['available_themes'][$row['id_theme']] = array(
1129
+			if (!isset($context['available_themes'][$row['id_theme']])) {
1130
+							$context['available_themes'][$row['id_theme']] = array(
1093 1131
 					'id' => $row['id_theme'],
1094 1132
 					'selected' => $context['current_theme'] == $row['id_theme'],
1095 1133
 					'num_users' => 0
1096 1134
 				);
1135
+			}
1097 1136
 			$context['available_themes'][$row['id_theme']][$row['variable']] = $row['value'];
1098 1137
 		}
1099 1138
 		$smcFunc['db_free_result']($request);
@@ -1106,9 +1145,9 @@  discard block
 block discarded – undo
1106 1145
 			'num_users' => 0
1107 1146
 		);
1108 1147
 		$guest_theme = 0;
1148
+	} else {
1149
+			$guest_theme = $modSettings['theme_guests'];
1109 1150
 	}
1110
-	else
1111
-		$guest_theme = $modSettings['theme_guests'];
1112 1151
 
1113 1152
 	$request = $smcFunc['db_query']('', '
1114 1153
 		SELECT id_theme, COUNT(*) AS the_count
@@ -1121,15 +1160,17 @@  discard block
 block discarded – undo
1121 1160
 	while ($row = $smcFunc['db_fetch_assoc']($request))
1122 1161
 	{
1123 1162
 		// Figure out which theme it is they are REALLY using.
1124
-		if (!empty($modSettings['knownThemes']) && !in_array($row['id_theme'], explode(',', $modSettings['knownThemes'])))
1125
-			$row['id_theme'] = $guest_theme;
1126
-		elseif (empty($modSettings['theme_allow']))
1127
-			$row['id_theme'] = $guest_theme;
1163
+		if (!empty($modSettings['knownThemes']) && !in_array($row['id_theme'], explode(',', $modSettings['knownThemes']))) {
1164
+					$row['id_theme'] = $guest_theme;
1165
+		} elseif (empty($modSettings['theme_allow'])) {
1166
+					$row['id_theme'] = $guest_theme;
1167
+		}
1128 1168
 
1129
-		if (isset($context['available_themes'][$row['id_theme']]))
1130
-			$context['available_themes'][$row['id_theme']]['num_users'] += $row['the_count'];
1131
-		else
1132
-			$context['available_themes'][$guest_theme]['num_users'] += $row['the_count'];
1169
+		if (isset($context['available_themes'][$row['id_theme']])) {
1170
+					$context['available_themes'][$row['id_theme']]['num_users'] += $row['the_count'];
1171
+		} else {
1172
+					$context['available_themes'][$guest_theme]['num_users'] += $row['the_count'];
1173
+		}
1133 1174
 	}
1134 1175
 	$smcFunc['db_free_result']($request);
1135 1176
 
@@ -1148,8 +1189,9 @@  discard block
 block discarded – undo
1148 1189
 				'id_member' => isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' ? array(-1, $context['current_member']) : array(-1),
1149 1190
 			)
1150 1191
 		);
1151
-		while ($row = $smcFunc['db_fetch_assoc']($request))
1152
-			$variant_preferences[$row['id_theme']] = $row['value'];
1192
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
1193
+					$variant_preferences[$row['id_theme']] = $row['value'];
1194
+		}
1153 1195
 		$smcFunc['db_free_result']($request);
1154 1196
 	}
1155 1197
 
@@ -1160,17 +1202,18 @@  discard block
 block discarded – undo
1160 1202
 	foreach ($context['available_themes'] as $id_theme => $theme_data)
1161 1203
 	{
1162 1204
 		// Don't try to load the forum or board default theme's data... it doesn't have any!
1163
-		if ($id_theme == 0)
1164
-			continue;
1205
+		if ($id_theme == 0) {
1206
+					continue;
1207
+		}
1165 1208
 
1166 1209
 		// The thumbnail needs the correct path.
1167 1210
 		$settings['images_url'] = &$theme_data['images_url'];
1168 1211
 
1169
-		if (file_exists($theme_data['theme_dir'] . '/languages/Settings.' . $user_info['language'] . '.php'))
1170
-			include($theme_data['theme_dir'] . '/languages/Settings.' . $user_info['language'] . '.php');
1171
-		elseif (file_exists($theme_data['theme_dir'] . '/languages/Settings.' . $language . '.php'))
1172
-			include($theme_data['theme_dir'] . '/languages/Settings.' . $language . '.php');
1173
-		else
1212
+		if (file_exists($theme_data['theme_dir'] . '/languages/Settings.' . $user_info['language'] . '.php')) {
1213
+					include($theme_data['theme_dir'] . '/languages/Settings.' . $user_info['language'] . '.php');
1214
+		} elseif (file_exists($theme_data['theme_dir'] . '/languages/Settings.' . $language . '.php')) {
1215
+					include($theme_data['theme_dir'] . '/languages/Settings.' . $language . '.php');
1216
+		} else
1174 1217
 		{
1175 1218
 			$txt['theme_thumbnail_href'] = $theme_data['images_url'] . '/thumbnail.png';
1176 1219
 			$txt['theme_description'] = '';
@@ -1195,15 +1238,17 @@  discard block
 block discarded – undo
1195 1238
 					loadLanguage('Settings');
1196 1239
 
1197 1240
 					$context['available_themes'][$id_theme]['variants'] = array();
1198
-					foreach ($settings['theme_variants'] as $variant)
1199
-						$context['available_themes'][$id_theme]['variants'][$variant] = array(
1241
+					foreach ($settings['theme_variants'] as $variant) {
1242
+											$context['available_themes'][$id_theme]['variants'][$variant] = array(
1200 1243
 							'label' => isset($txt['variant_' . $variant]) ? $txt['variant_' . $variant] : $variant,
1201 1244
 							'thumbnail' => !file_exists($theme_data['theme_dir'] . '/images/thumbnail.png') || file_exists($theme_data['theme_dir'] . '/images/thumbnail_' . $variant . '.png') ? $theme_data['images_url'] . '/thumbnail_' . $variant . '.png' : ($theme_data['images_url'] . '/thumbnail.png'),
1202 1245
 						);
1246
+					}
1203 1247
 
1204 1248
 					$context['available_themes'][$id_theme]['selected_variant'] = isset($_GET['vrt']) ? $_GET['vrt'] : (!empty($variant_preferences[$id_theme]) ? $variant_preferences[$id_theme] : (!empty($settings['default_variant']) ? $settings['default_variant'] : $settings['theme_variants'][0]));
1205
-					if (!isset($context['available_themes'][$id_theme]['variants'][$context['available_themes'][$id_theme]['selected_variant']]['thumbnail']))
1206
-						$context['available_themes'][$id_theme]['selected_variant'] = $settings['theme_variants'][0];
1249
+					if (!isset($context['available_themes'][$id_theme]['variants'][$context['available_themes'][$id_theme]['selected_variant']]['thumbnail'])) {
1250
+											$context['available_themes'][$id_theme]['selected_variant'] = $settings['theme_variants'][0];
1251
+					}
1207 1252
 
1208 1253
 					$context['available_themes'][$id_theme]['thumbnail_href'] = $context['available_themes'][$id_theme]['variants'][$context['available_themes'][$id_theme]['selected_variant']]['thumbnail'];
1209 1254
 					// Allow themes to override the text.
@@ -1219,8 +1264,9 @@  discard block
 block discarded – undo
1219 1264
 	// As long as we're not doing the default theme...
1220 1265
 	if (!isset($_REQUEST['u']) || $_REQUEST['u'] >= 0)
1221 1266
 	{
1222
-		if ($guest_theme != 0)
1223
-			$context['available_themes'][0] = $context['available_themes'][$guest_theme];
1267
+		if ($guest_theme != 0) {
1268
+					$context['available_themes'][0] = $context['available_themes'][$guest_theme];
1269
+		}
1224 1270
 
1225 1271
 		$context['available_themes'][0]['id'] = 0;
1226 1272
 		$context['available_themes'][0]['name'] = $txt['theme_forum_default'];
@@ -1269,14 +1315,16 @@  discard block
 block discarded – undo
1269 1315
 		$action = $smcFunc['htmlspecialchars'](trim($_GET['do']));
1270 1316
 
1271 1317
 		// Got any info from the specific form?
1272
-		if (!isset($_POST['save_' . $action]))
1273
-			fatal_lang_error('theme_install_no_action', false);
1318
+		if (!isset($_POST['save_' . $action])) {
1319
+					fatal_lang_error('theme_install_no_action', false);
1320
+		}
1274 1321
 
1275 1322
 		validateToken('admin-t-' . $action);
1276 1323
 
1277 1324
 		// Hopefully the themes directory is writable, or we might have a problem.
1278
-		if (!is_writable($themedir))
1279
-			fatal_lang_error('theme_install_write_error', 'critical');
1325
+		if (!is_writable($themedir)) {
1326
+					fatal_lang_error('theme_install_write_error', 'critical');
1327
+		}
1280 1328
 
1281 1329
 		// Call the function and handle the result.
1282 1330
 		$result = $subActions[$action]();
@@ -1291,9 +1339,10 @@  discard block
 block discarded – undo
1291 1339
 	}
1292 1340
 
1293 1341
 	// Nope, show a nice error.
1294
-	else
1295
-		fatal_lang_error('theme_install_no_action', false);
1296
-}
1342
+	else {
1343
+			fatal_lang_error('theme_install_no_action', false);
1344
+	}
1345
+	}
1297 1346
 
1298 1347
 /**
1299 1348
  * Installs a theme from a theme package.
@@ -1309,8 +1358,9 @@  discard block
 block discarded – undo
1309 1358
 	$dirtemp = $themedir . '/temp';
1310 1359
 
1311 1360
 	// Make sure the temp dir doesn't already exist
1312
-	if (file_exists($dirtemp))
1313
-		remove_dir($dirtemp);
1361
+	if (file_exists($dirtemp)) {
1362
+			remove_dir($dirtemp);
1363
+	}
1314 1364
 
1315 1365
 	// Create the temp dir.
1316 1366
 	mkdir($dirtemp, 0777);
@@ -1322,17 +1372,20 @@  discard block
 block discarded – undo
1322 1372
 		smf_chmod($dirtemp, '0755');
1323 1373
 
1324 1374
 		// How about now?
1325
-		if (!is_writable($dirtemp))
1326
-			fatal_lang_error('theme_install_write_error', 'critical');
1375
+		if (!is_writable($dirtemp)) {
1376
+					fatal_lang_error('theme_install_write_error', 'critical');
1377
+		}
1327 1378
 	}
1328 1379
 
1329 1380
 	// This happens when the admin session is gone and the user has to login again.
1330
-	if (!isset($_FILES) || !isset($_FILES['theme_gz']) || empty($_FILES['theme_gz']))
1331
-		redirectexit('action=admin;area=theme;sa=admin;' . $context['session_var'] . '=' . $context['session_id']);
1381
+	if (!isset($_FILES) || !isset($_FILES['theme_gz']) || empty($_FILES['theme_gz'])) {
1382
+			redirectexit('action=admin;area=theme;sa=admin;' . $context['session_var'] . '=' . $context['session_id']);
1383
+	}
1332 1384
 
1333 1385
 	// Another error check layer, something went wrong with the upload.
1334
-	if (isset($_FILES['theme_gz']['error']) && $_FILES['theme_gz']['error'] != 0)
1335
-		fatal_lang_error('theme_install_error_file_' . $_FILES['theme_gz']['error'], false);
1386
+	if (isset($_FILES['theme_gz']['error']) && $_FILES['theme_gz']['error'] != 0) {
1387
+			fatal_lang_error('theme_install_error_file_' . $_FILES['theme_gz']['error'], false);
1388
+	}
1336 1389
 
1337 1390
 	// Get the theme's name.
1338 1391
 	$name = pathinfo($_FILES['theme_gz']['name'], PATHINFO_FILENAME);
@@ -1363,11 +1416,10 @@  discard block
 block discarded – undo
1363 1416
 
1364 1417
 		// return all the info.
1365 1418
 		return $context['to_install'];
1419
+	} else {
1420
+			fatal_lang_error('theme_install_error_title', false);
1421
+	}
1366 1422
 	}
1367
-
1368
-	else
1369
-		fatal_lang_error('theme_install_error_title', false);
1370
-}
1371 1423
 
1372 1424
 /**
1373 1425
  * Makes a copy from the default theme, assigns a name for it and installs it.
@@ -1381,15 +1433,17 @@  discard block
 block discarded – undo
1381 1433
 	global $forum_version;
1382 1434
 
1383 1435
 	// There's gotta be something to work with.
1384
-	if (!isset($_REQUEST['copy']) || empty($_REQUEST['copy']))
1385
-		fatal_lang_error('theme_install_error_title', false);
1436
+	if (!isset($_REQUEST['copy']) || empty($_REQUEST['copy'])) {
1437
+			fatal_lang_error('theme_install_error_title', false);
1438
+	}
1386 1439
 
1387 1440
 	// Get a cleaner version.
1388 1441
 	$name = preg_replace('~[^A-Za-z0-9_\- ]~', '', $_REQUEST['copy']);
1389 1442
 
1390 1443
 	// Is there a theme already named like this?
1391
-	if (file_exists($themedir . '/' . $name))
1392
-		fatal_lang_error('theme_install_already_dir', false);
1444
+	if (file_exists($themedir . '/' . $name)) {
1445
+			fatal_lang_error('theme_install_already_dir', false);
1446
+	}
1393 1447
 
1394 1448
 	// This is a brand new theme so set all possible values.
1395 1449
 	$context['to_install'] = array(
@@ -1409,8 +1463,9 @@  discard block
 block discarded – undo
1409 1463
 
1410 1464
 	// Buy some time.
1411 1465
 	@set_time_limit(600);
1412
-	if (function_exists('apache_reset_timeout'))
1413
-		@apache_reset_timeout();
1466
+	if (function_exists('apache_reset_timeout')) {
1467
+			@apache_reset_timeout();
1468
+	}
1414 1469
 
1415 1470
 	// Create subdirectories for css and javascript files.
1416 1471
 	mkdir($context['to_install']['theme_dir'] . '/css', 0777);
@@ -1446,12 +1501,13 @@  discard block
 block discarded – undo
1446 1501
 
1447 1502
 	while ($row = $smcFunc['db_fetch_assoc']($request))
1448 1503
 	{
1449
-		if ($row['variable'] == 'theme_templates')
1450
-			$theme_templates = $row['value'];
1451
-		elseif ($row['variable'] == 'theme_layers')
1452
-			$theme_layers = $row['value'];
1453
-		else
1454
-			continue;
1504
+		if ($row['variable'] == 'theme_templates') {
1505
+					$theme_templates = $row['value'];
1506
+		} elseif ($row['variable'] == 'theme_layers') {
1507
+					$theme_layers = $row['value'];
1508
+		} else {
1509
+					continue;
1510
+		}
1455 1511
 	}
1456 1512
 
1457 1513
 	$smcFunc['db_free_result']($request);
@@ -1510,12 +1566,14 @@  discard block
 block discarded – undo
1510 1566
 	global $themedir, $themeurl, $context;
1511 1567
 
1512 1568
 	// Cannot use the theme dir as a theme dir.
1513
-	if (!isset($_REQUEST['theme_dir']) || empty($_REQUEST['theme_dir']) || rtrim(realpath($_REQUEST['theme_dir']), '/\\') == realpath($themedir))
1514
-		fatal_lang_error('theme_install_invalid_dir', false);
1569
+	if (!isset($_REQUEST['theme_dir']) || empty($_REQUEST['theme_dir']) || rtrim(realpath($_REQUEST['theme_dir']), '/\\') == realpath($themedir)) {
1570
+			fatal_lang_error('theme_install_invalid_dir', false);
1571
+	}
1515 1572
 
1516 1573
 	// Check is there is "something" on the dir.
1517
-	elseif (!is_dir($_REQUEST['theme_dir']) || !file_exists($_REQUEST['theme_dir'] . '/theme_info.xml'))
1518
-		fatal_lang_error('theme_install_error', false);
1574
+	elseif (!is_dir($_REQUEST['theme_dir']) || !file_exists($_REQUEST['theme_dir'] . '/theme_info.xml')) {
1575
+			fatal_lang_error('theme_install_error', false);
1576
+	}
1519 1577
 
1520 1578
 	$name = basename($_REQUEST['theme_dir']);
1521 1579
 	$name = preg_replace(array('/\s/', '/\.[\.]+/', '/[^\w_\.\-]/'), array('_', '.', ''), $name);
@@ -1559,24 +1617,27 @@  discard block
 block discarded – undo
1559 1617
 	}
1560 1618
 
1561 1619
 	// Any special layers?
1562
-	if (isset($settings['catch_action']['layers']))
1563
-		$context['template_layers'] = $settings['catch_action']['layers'];
1620
+	if (isset($settings['catch_action']['layers'])) {
1621
+			$context['template_layers'] = $settings['catch_action']['layers'];
1622
+	}
1564 1623
 
1565 1624
 	// Any function to call?
1566 1625
 	if (isset($settings['catch_action']['function']))
1567 1626
 	{
1568 1627
 		$hook = $settings['catch_action']['function'];
1569 1628
 
1570
-		if (!isset($settings['catch_action']['filename']))
1571
-			$settings['catch_action']['filename'] = '';
1629
+		if (!isset($settings['catch_action']['filename'])) {
1630
+					$settings['catch_action']['filename'] = '';
1631
+		}
1572 1632
 
1573 1633
 		add_integration_function('integrate_wrap_action', $hook, false, $settings['catch_action']['filename'], false);
1574 1634
 		call_integration_hook('integrate_wrap_action');
1575 1635
 	}
1576 1636
 	// And finally, the main sub template ;).
1577
-	if (isset($settings['catch_action']['sub_template']))
1578
-		$context['sub_template'] = $settings['catch_action']['sub_template'];
1579
-}
1637
+	if (isset($settings['catch_action']['sub_template'])) {
1638
+			$context['sub_template'] = $settings['catch_action']['sub_template'];
1639
+	}
1640
+	}
1580 1641
 
1581 1642
 /**
1582 1643
  * Set an option via javascript.
@@ -1595,12 +1656,14 @@  discard block
 block discarded – undo
1595 1656
 	checkSession('get');
1596 1657
 
1597 1658
 	// This good-for-nothing pixel is being used to keep the session alive.
1598
-	if (empty($_GET['var']) || !isset($_GET['val']))
1599
-		redirectexit($settings['images_url'] . '/blank.png');
1659
+	if (empty($_GET['var']) || !isset($_GET['val'])) {
1660
+			redirectexit($settings['images_url'] . '/blank.png');
1661
+	}
1600 1662
 
1601 1663
 	// Sorry, guests can't go any further than this.
1602
-	if ($user_info['is_guest'] || $user_info['id'] == 0)
1603
-		obExit(false);
1664
+	if ($user_info['is_guest'] || $user_info['id'] == 0) {
1665
+			obExit(false);
1666
+	}
1604 1667
 
1605 1668
 	$reservedVars = array(
1606 1669
 		'actual_theme_url',
@@ -1623,8 +1686,9 @@  discard block
 block discarded – undo
1623 1686
 	);
1624 1687
 
1625 1688
 	// Can't change reserved vars.
1626
-	if (in_array(strtolower($_GET['var']), $reservedVars))
1627
-		redirectexit($settings['images_url'] . '/blank.png');
1689
+	if (in_array(strtolower($_GET['var']), $reservedVars)) {
1690
+			redirectexit($settings['images_url'] . '/blank.png');
1691
+	}
1628 1692
 
1629 1693
 	// Use a specific theme?
1630 1694
 	if (isset($_GET['th']) || isset($_GET['id']))
@@ -1640,8 +1704,9 @@  discard block
 block discarded – undo
1640 1704
 	{
1641 1705
 		$options['admin_preferences'] = !empty($options['admin_preferences']) ? $smcFunc['json_decode']($options['admin_preferences'], true) : array();
1642 1706
 		// New thingy...
1643
-		if (isset($_GET['admin_key']) && strlen($_GET['admin_key']) < 5)
1644
-			$options['admin_preferences'][$_GET['admin_key']] = $_GET['val'];
1707
+		if (isset($_GET['admin_key']) && strlen($_GET['admin_key']) < 5) {
1708
+					$options['admin_preferences'][$_GET['admin_key']] = $_GET['val'];
1709
+		}
1645 1710
 
1646 1711
 		// Change the value to be something nice,
1647 1712
 		$_GET['val'] = $smcFunc['json_encode']($options['admin_preferences']);
@@ -1671,8 +1736,9 @@  discard block
 block discarded – undo
1671 1736
 	global $context, $scripturl, $boarddir, $smcFunc, $txt;
1672 1737
 
1673 1738
 	// @todo Should this be removed?
1674
-	if (isset($_REQUEST['preview']))
1675
-		die('die() with fire');
1739
+	if (isset($_REQUEST['preview'])) {
1740
+			die('die() with fire');
1741
+	}
1676 1742
 
1677 1743
 	isAllowedTo('admin_forum');
1678 1744
 	loadTemplate('Themes');
@@ -1686,11 +1752,11 @@  discard block
 block discarded – undo
1686 1752
 		foreach ($context['themes'] as $key => $theme)
1687 1753
 		{
1688 1754
 			// There has to be a Settings template!
1689
-			if (!file_exists($theme['theme_dir'] . '/index.template.php') && !file_exists($theme['theme_dir'] . '/css/index.css'))
1690
-				unset($context['themes'][$key]);
1691
-
1692
-			else
1693
-				$context['themes'][$key]['can_edit_style'] = file_exists($theme['theme_dir'] . '/css/index.css');
1755
+			if (!file_exists($theme['theme_dir'] . '/index.template.php') && !file_exists($theme['theme_dir'] . '/css/index.css')) {
1756
+							unset($context['themes'][$key]);
1757
+			} else {
1758
+							$context['themes'][$key]['can_edit_style'] = file_exists($theme['theme_dir'] . '/css/index.css');
1759
+			}
1694 1760
 		}
1695 1761
 
1696 1762
 		$context['sub_template'] = 'edit_list';
@@ -1705,22 +1771,24 @@  discard block
 block discarded – undo
1705 1771
 	$context['theme_id'] = $currentTheme['id'];
1706 1772
 	$context['browse_title'] = sprintf($txt['themeadmin_browsing_theme'], $currentTheme['name']);
1707 1773
 
1708
-	if (!file_exists($currentTheme['theme_dir'] . '/index.template.php') && !file_exists($currentTheme['theme_dir'] . '/css/index.css'))
1709
-		fatal_lang_error('theme_edit_missing', false);
1774
+	if (!file_exists($currentTheme['theme_dir'] . '/index.template.php') && !file_exists($currentTheme['theme_dir'] . '/css/index.css')) {
1775
+			fatal_lang_error('theme_edit_missing', false);
1776
+	}
1710 1777
 
1711 1778
 	if (!isset($_REQUEST['filename']))
1712 1779
 	{
1713 1780
 		if (isset($_GET['directory']))
1714 1781
 		{
1715
-			if (substr($_GET['directory'], 0, 1) == '.')
1716
-				$_GET['directory'] = '';
1717
-			else
1782
+			if (substr($_GET['directory'], 0, 1) == '.') {
1783
+							$_GET['directory'] = '';
1784
+			} else
1718 1785
 			{
1719 1786
 				$_GET['directory'] = preg_replace(array('~^[\./\\:\0\n\r]+~', '~[\\\\]~', '~/[\./]+~'), array('', '/', '/'), $_GET['directory']);
1720 1787
 
1721 1788
 				$temp = realpath($currentTheme['theme_dir'] . '/' . $_GET['directory']);
1722
-				if (empty($temp) || substr($temp, 0, strlen(realpath($currentTheme['theme_dir']))) != realpath($currentTheme['theme_dir']))
1723
-					$_GET['directory'] = '';
1789
+				if (empty($temp) || substr($temp, 0, strlen(realpath($currentTheme['theme_dir']))) != realpath($currentTheme['theme_dir'])) {
1790
+									$_GET['directory'] = '';
1791
+				}
1724 1792
 			}
1725 1793
 		}
1726 1794
 
@@ -1739,37 +1807,39 @@  discard block
 block discarded – undo
1739 1807
 				'href' => $scripturl . '?action=admin;area=theme;th=' . $_GET['th'] . ';' . $context['session_var'] . '=' . $context['session_id'] . ';sa=edit;directory=' . $temp,
1740 1808
 				'size' => '',
1741 1809
 			));
1810
+		} else {
1811
+					$context['theme_files'] = get_file_listing($currentTheme['theme_dir'], '');
1742 1812
 		}
1743
-		else
1744
-			$context['theme_files'] = get_file_listing($currentTheme['theme_dir'], '');
1745 1813
 
1746 1814
 		$context['sub_template'] = 'edit_browse';
1747 1815
 
1748 1816
 		return;
1749
-	}
1750
-	else
1817
+	} else
1751 1818
 	{
1752
-		if (substr($_REQUEST['filename'], 0, 1) == '.')
1753
-			$_REQUEST['filename'] = '';
1754
-		else
1819
+		if (substr($_REQUEST['filename'], 0, 1) == '.') {
1820
+					$_REQUEST['filename'] = '';
1821
+		} else
1755 1822
 		{
1756 1823
 			$_REQUEST['filename'] = preg_replace(array('~^[\./\\:\0\n\r]+~', '~[\\\\]~', '~/[\./]+~'), array('', '/', '/'), $_REQUEST['filename']);
1757 1824
 
1758 1825
 			$temp = realpath($currentTheme['theme_dir'] . '/' . $_REQUEST['filename']);
1759
-			if (empty($temp) || substr($temp, 0, strlen(realpath($currentTheme['theme_dir']))) != realpath($currentTheme['theme_dir']))
1760
-				$_REQUEST['filename'] = '';
1826
+			if (empty($temp) || substr($temp, 0, strlen(realpath($currentTheme['theme_dir']))) != realpath($currentTheme['theme_dir'])) {
1827
+							$_REQUEST['filename'] = '';
1828
+			}
1761 1829
 		}
1762 1830
 
1763
-		if (empty($_REQUEST['filename']))
1764
-			fatal_lang_error('theme_edit_missing', false);
1831
+		if (empty($_REQUEST['filename'])) {
1832
+					fatal_lang_error('theme_edit_missing', false);
1833
+		}
1765 1834
 	}
1766 1835
 
1767 1836
 	if (isset($_POST['save']))
1768 1837
 	{
1769 1838
 		if (checkSession('post', '', false) == '' && validateToken('admin-te-' . md5($_GET['th'] . '-' . $_REQUEST['filename']), 'post', false) == true)
1770 1839
 		{
1771
-			if (is_array($_POST['entire_file']))
1772
-				$_POST['entire_file'] = implode("\n", $_POST['entire_file']);
1840
+			if (is_array($_POST['entire_file'])) {
1841
+							$_POST['entire_file'] = implode("\n", $_POST['entire_file']);
1842
+			}
1773 1843
 
1774 1844
 			$_POST['entire_file'] = rtrim(strtr($_POST['entire_file'], array("\r" => '', '   ' => "\t")));
1775 1845
 
@@ -1781,10 +1851,11 @@  discard block
 block discarded – undo
1781 1851
 				fclose($fp);
1782 1852
 
1783 1853
 				$error = @file_get_contents($currentTheme['theme_url'] . '/tmp_' . session_id() . '.php');
1784
-				if (preg_match('~ <b>(\d+)</b><br( /)?' . '>$~i', $error) != 0)
1785
-					$error_file = $currentTheme['theme_dir'] . '/tmp_' . session_id() . '.php';
1786
-				else
1787
-					unlink($currentTheme['theme_dir'] . '/tmp_' . session_id() . '.php');
1854
+				if (preg_match('~ <b>(\d+)</b><br( /)?' . '>$~i', $error) != 0) {
1855
+									$error_file = $currentTheme['theme_dir'] . '/tmp_' . session_id() . '.php';
1856
+				} else {
1857
+									unlink($currentTheme['theme_dir'] . '/tmp_' . session_id() . '.php');
1858
+				}
1788 1859
 			}
1789 1860
 
1790 1861
 			if (!isset($error_file))
@@ -1805,10 +1876,11 @@  discard block
 block discarded – undo
1805 1876
 			$context['sub_template'] = 'edit_file';
1806 1877
 
1807 1878
 			// Recycle the submitted data.
1808
-			if (is_array($_POST['entire_file']))
1809
-				$context['entire_file'] = $smcFunc['htmlspecialchars'](implode("\n", $_POST['entire_file']));
1810
-			else
1811
-				$context['entire_file'] = $smcFunc['htmlspecialchars']($_POST['entire_file']);
1879
+			if (is_array($_POST['entire_file'])) {
1880
+							$context['entire_file'] = $smcFunc['htmlspecialchars'](implode("\n", $_POST['entire_file']));
1881
+			} else {
1882
+							$context['entire_file'] = $smcFunc['htmlspecialchars']($_POST['entire_file']);
1883
+			}
1812 1884
 
1813 1885
 			$context['edit_filename'] = $smcFunc['htmlspecialchars']($_POST['filename']);
1814 1886
 
@@ -1831,17 +1903,17 @@  discard block
 block discarded – undo
1831 1903
 		$context['sub_template'] = 'edit_style';
1832 1904
 
1833 1905
 		$context['entire_file'] = $smcFunc['htmlspecialchars'](strtr(file_get_contents($currentTheme['theme_dir'] . '/' . $_REQUEST['filename']), array("\t" => '   ')));
1834
-	}
1835
-	elseif (substr($_REQUEST['filename'], -13) == '.template.php')
1906
+	} elseif (substr($_REQUEST['filename'], -13) == '.template.php')
1836 1907
 	{
1837 1908
 		$context['sub_template'] = 'edit_template';
1838 1909
 
1839
-		if (!isset($error_file))
1840
-			$file_data = file($currentTheme['theme_dir'] . '/' . $_REQUEST['filename']);
1841
-		else
1910
+		if (!isset($error_file)) {
1911
+					$file_data = file($currentTheme['theme_dir'] . '/' . $_REQUEST['filename']);
1912
+		} else
1842 1913
 		{
1843
-			if (preg_match('~(<b>.+?</b>:.+?<b>).+?(</b>.+?<b>\d+</b>)<br( /)?' . '>$~i', $error, $match) != 0)
1844
-				$context['parse_error'] = $match[1] . $_REQUEST['filename'] . $match[2];
1914
+			if (preg_match('~(<b>.+?</b>:.+?<b>).+?(</b>.+?<b>\d+</b>)<br( /)?' . '>$~i', $error, $match) != 0) {
1915
+							$context['parse_error'] = $match[1] . $_REQUEST['filename'] . $match[2];
1916
+			}
1845 1917
 			$file_data = file($error_file);
1846 1918
 			unlink($error_file);
1847 1919
 		}
@@ -1855,8 +1927,9 @@  discard block
 block discarded – undo
1855 1927
 				// Try to format the functions a little nicer...
1856 1928
 				$context['file_parts'][$j]['data'] = trim($context['file_parts'][$j]['data']) . "\n";
1857 1929
 
1858
-				if (empty($context['file_parts'][$j]['lines']))
1859
-					unset($context['file_parts'][$j]);
1930
+				if (empty($context['file_parts'][$j]['lines'])) {
1931
+									unset($context['file_parts'][$j]);
1932
+				}
1860 1933
 				$context['file_parts'][++$j] = array('lines' => 0, 'line' => $i + 1, 'data' => '');
1861 1934
 			}
1862 1935
 
@@ -1865,8 +1938,7 @@  discard block
 block discarded – undo
1865 1938
 		}
1866 1939
 
1867 1940
 		$context['entire_file'] = $smcFunc['htmlspecialchars'](strtr(implode('', $file_data), array("\t" => '   ')));
1868
-	}
1869
-	else
1941
+	} else
1870 1942
 	{
1871 1943
 		$context['sub_template'] = 'edit_file';
1872 1944
 
@@ -1892,8 +1964,9 @@  discard block
 block discarded – undo
1892 1964
 
1893 1965
 	$_GET['th'] = isset($_GET['th']) ? (int) $_GET['th'] : (int) $_GET['id'];
1894 1966
 
1895
-	if (empty($_GET['th']))
1896
-		fatal_lang_error('theme_install_invalid_id');
1967
+	if (empty($_GET['th'])) {
1968
+			fatal_lang_error('theme_install_invalid_id');
1969
+	}
1897 1970
 
1898 1971
 	// Get the theme info.
1899 1972
 	$theme = get_single_theme($_GET['th']);
@@ -1901,25 +1974,24 @@  discard block
 block discarded – undo
1901 1974
 
1902 1975
 	if (isset($_REQUEST['template']) && preg_match('~[\./\\\\:\0]~', $_REQUEST['template']) == 0)
1903 1976
 	{
1904
-		if (file_exists($settings['default_theme_dir'] . '/' . $_REQUEST['template'] . '.template.php'))
1905
-			$filename = $settings['default_theme_dir'] . '/' . $_REQUEST['template'] . '.template.php';
1906
-
1907
-		else
1908
-			fatal_lang_error('no_access', false);
1977
+		if (file_exists($settings['default_theme_dir'] . '/' . $_REQUEST['template'] . '.template.php')) {
1978
+					$filename = $settings['default_theme_dir'] . '/' . $_REQUEST['template'] . '.template.php';
1979
+		} else {
1980
+					fatal_lang_error('no_access', false);
1981
+		}
1909 1982
 
1910 1983
 		$fp = fopen($theme['theme_dir'] . '/' . $_REQUEST['template'] . '.template.php', 'w');
1911 1984
 		fwrite($fp, file_get_contents($filename));
1912 1985
 		fclose($fp);
1913 1986
 
1914 1987
 		redirectexit('action=admin;area=theme;th=' . $context['theme_id'] . ';' . $context['session_var'] . '=' . $context['session_id'] . ';sa=copy');
1915
-	}
1916
-	elseif (isset($_REQUEST['lang_file']) && preg_match('~^[^\./\\\\:\0]\.[^\./\\\\:\0]$~', $_REQUEST['lang_file']) != 0)
1988
+	} elseif (isset($_REQUEST['lang_file']) && preg_match('~^[^\./\\\\:\0]\.[^\./\\\\:\0]$~', $_REQUEST['lang_file']) != 0)
1917 1989
 	{
1918
-		if (file_exists($settings['default_theme_dir'] . '/languages/' . $_REQUEST['template'] . '.php'))
1919
-			$filename = $settings['default_theme_dir'] . '/languages/' . $_REQUEST['template'] . '.php';
1920
-
1921
-		else
1922
-			fatal_lang_error('no_access', false);
1990
+		if (file_exists($settings['default_theme_dir'] . '/languages/' . $_REQUEST['template'] . '.php')) {
1991
+					$filename = $settings['default_theme_dir'] . '/languages/' . $_REQUEST['template'] . '.php';
1992
+		} else {
1993
+					fatal_lang_error('no_access', false);
1994
+		}
1923 1995
 
1924 1996
 		$fp = fopen($theme['theme_dir'] . '/languages/' . $_REQUEST['lang_file'] . '.php', 'w');
1925 1997
 		fwrite($fp, file_get_contents($filename));
@@ -1934,16 +2006,18 @@  discard block
 block discarded – undo
1934 2006
 	$dir = dir($settings['default_theme_dir']);
1935 2007
 	while ($entry = $dir->read())
1936 2008
 	{
1937
-		if (substr($entry, -13) == '.template.php')
1938
-			$templates[] = substr($entry, 0, -13);
2009
+		if (substr($entry, -13) == '.template.php') {
2010
+					$templates[] = substr($entry, 0, -13);
2011
+		}
1939 2012
 	}
1940 2013
 	$dir->close();
1941 2014
 
1942 2015
 	$dir = dir($settings['default_theme_dir'] . '/languages');
1943 2016
 	while ($entry = $dir->read())
1944 2017
 	{
1945
-		if (preg_match('~^([^\.]+\.[^\.]+)\.php$~', $entry, $matches))
1946
-			$lang_files[] = $matches[1];
2018
+		if (preg_match('~^([^\.]+\.[^\.]+)\.php$~', $entry, $matches)) {
2019
+					$lang_files[] = $matches[1];
2020
+		}
1947 2021
 	}
1948 2022
 	$dir->close();
1949 2023
 
@@ -1951,21 +2025,23 @@  discard block
 block discarded – undo
1951 2025
 	natcasesort($lang_files);
1952 2026
 
1953 2027
 	$context['available_templates'] = array();
1954
-	foreach ($templates as $template)
1955
-		$context['available_templates'][$template] = array(
2028
+	foreach ($templates as $template) {
2029
+			$context['available_templates'][$template] = array(
1956 2030
 			'filename' => $template . '.template.php',
1957 2031
 			'value' => $template,
1958 2032
 			'already_exists' => false,
1959 2033
 			'can_copy' => is_writable($theme['theme_dir']),
1960 2034
 		);
2035
+	}
1961 2036
 	$context['available_language_files'] = array();
1962
-	foreach ($lang_files as $file)
1963
-		$context['available_language_files'][$file] = array(
2037
+	foreach ($lang_files as $file) {
2038
+			$context['available_language_files'][$file] = array(
1964 2039
 			'filename' => $file . '.php',
1965 2040
 			'value' => $file,
1966 2041
 			'already_exists' => false,
1967 2042
 			'can_copy' => file_exists($theme['theme_dir'] . '/languages') ? is_writable($theme['theme_dir'] . '/languages') : is_writable($theme['theme_dir']),
1968 2043
 		);
2044
+	}
1969 2045
 
1970 2046
 	$dir = dir($theme['theme_dir']);
1971 2047
 	while ($entry = $dir->read())
Please login to merge, or discard this patch.
Themes/default/Profile.template.php 1 patch
Braces   +549 added lines, -411 removed lines patch added patch discarded remove patch
@@ -18,23 +18,25 @@  discard block
 block discarded – undo
18 18
 	global $context;
19 19
 
20 20
 	// Prevent Chrome from auto completing fields when viewing/editing other members profiles
21
-	if (isBrowser('is_chrome') && !$context['user']['is_owner'])
22
-		echo '
21
+	if (isBrowser('is_chrome') && !$context['user']['is_owner']) {
22
+			echo '
23 23
 			<script>
24 24
 				disableAutoComplete();
25 25
 			</script>';
26
+	}
26 27
 
27 28
 	// If an error occurred while trying to save previously, give the user a clue!
28 29
 	echo '
29 30
 			', template_error_message();
30 31
 
31 32
 	// If the profile was update successfully, let the user know this.
32
-	if (!empty($context['profile_updated']))
33
-		echo '
33
+	if (!empty($context['profile_updated'])) {
34
+			echo '
34 35
 			<div class="infobox">
35 36
 				', $context['profile_updated'], '
36 37
 			</div>';
37
-}
38
+	}
39
+	}
38 40
 
39 41
 /**
40 42
  * Template for any HTML needed below the profile (closing off divs/tables, etc.)
@@ -99,19 +101,19 @@  discard block
 block discarded – undo
99 101
 		</div>
100 102
 		<div class="alerts_unread">';
101 103
 
102
-	if (empty($context['unread_alerts']))
103
-		template_alerts_all_read();
104
-
105
-	else
104
+	if (empty($context['unread_alerts'])) {
105
+			template_alerts_all_read();
106
+	} else
106 107
 	{
107
-		foreach ($context['unread_alerts'] as $id_alert => $details)
108
-			echo '
108
+		foreach ($context['unread_alerts'] as $id_alert => $details) {
109
+					echo '
109 110
 			<div class="unread">
110 111
 				', !empty($details['sender']) ? $details['sender']['avatar']['image'] : '', '
111 112
 				<div class="details">
112 113
 					', !empty($details['icon']) ? $details['icon'] : '', '<span>', $details['text'], '</span> - ', $details['time'], '
113 114
 				</div>
114 115
 			</div>';
116
+		}
115 117
 	}
116 118
 
117 119
 	echo '
@@ -158,37 +160,41 @@  discard block
 block discarded – undo
158 160
 	if (!empty($context['print_custom_fields']['above_member']))
159 161
 	{
160 162
 		$fields = '';
161
-		foreach ($context['print_custom_fields']['above_member'] as $field)
162
-			if (!empty($field['output_html']))
163
+		foreach ($context['print_custom_fields']['above_member'] as $field) {
164
+					if (!empty($field['output_html']))
163 165
 				$fields .= '
164 166
 					<li>' . $field['output_html'] . '</li>';
167
+		}
165 168
 
166
-		if (!empty($fields))
167
-			echo '
169
+		if (!empty($fields)) {
170
+					echo '
168 171
 			<div class="custom_fields_above_name">
169 172
 				<ul>', $fields, '
170 173
 				</ul>
171 174
 			</div>';
175
+		}
172 176
 	}
173 177
 
174 178
 	echo '
175 179
 			<div class="username clear">
176 180
 				<h4>';
177 181
 
178
-	if (!empty($context['print_custom_fields']['before_member']))
179
-		foreach ($context['print_custom_fields']['before_member'] as $field)
182
+	if (!empty($context['print_custom_fields']['before_member'])) {
183
+			foreach ($context['print_custom_fields']['before_member'] as $field)
180 184
 			if (!empty($field['output_html']))
181 185
 				echo '
182 186
 					<span>', $field['output_html'], '</span>';
187
+	}
183 188
 
184 189
 	echo '
185 190
 					', $context['member']['name'];
186 191
 
187
-	if (!empty($context['print_custom_fields']['after_member']))
188
-		foreach ($context['print_custom_fields']['after_member'] as $field)
192
+	if (!empty($context['print_custom_fields']['after_member'])) {
193
+			foreach ($context['print_custom_fields']['after_member'] as $field)
189 194
 			if (!empty($field['output_html']))
190 195
 				echo '
191 196
 					<span>', $field['output_html'], '</span>';
197
+	}
192 198
 
193 199
 
194 200
 	echo '
@@ -201,39 +207,44 @@  discard block
 block discarded – undo
201 207
 	if (!empty($context['print_custom_fields']['below_avatar']))
202 208
 	{
203 209
 		$fields = '';
204
-		foreach ($context['print_custom_fields']['below_avatar'] as $field)
205
-			if (!empty($field['output_html']))
210
+		foreach ($context['print_custom_fields']['below_avatar'] as $field) {
211
+					if (!empty($field['output_html']))
206 212
 				$fields .= '
207 213
 					<li>' . $field['output_html'] . '</li>';
214
+		}
208 215
 
209
-		if (!empty($fields))
210
-			echo '
216
+		if (!empty($fields)) {
217
+					echo '
211 218
 			<div class="custom_fields_below_avatar">
212 219
 				<ul>', $fields, '
213 220
 				</ul>
214 221
 			</div>';
222
+		}
215 223
 	}
216 224
 
217 225
 	echo '
218 226
 			<ul class="icon_fields clear">';
219 227
 
220 228
 	// Email is only visible if it's your profile or you have the moderate_forum permission
221
-	if ($context['member']['show_email'])
222
-		echo '
229
+	if ($context['member']['show_email']) {
230
+			echo '
223 231
 				<li><a href="mailto:', $context['member']['email'], '" title="', $context['member']['email'], '" rel="nofollow"><span class="generic_icons mail" title="' . $txt['email'] . '"></span></a></li>';
232
+	}
224 233
 
225 234
 	// Don't show an icon if they haven't specified a website.
226
-	if ($context['member']['website']['url'] !== '' && !isset($context['disabled_fields']['website']))
227
-		echo '
235
+	if ($context['member']['website']['url'] !== '' && !isset($context['disabled_fields']['website'])) {
236
+			echo '
228 237
 				<li><a href="', $context['member']['website']['url'], '" title="' . $context['member']['website']['title'] . '" target="_blank" rel="noopener">', ($settings['use_image_buttons'] ? '<span class="generic_icons www" title="' . $context['member']['website']['title'] . '"></span>' : $txt['www']), '</a></li>';
238
+	}
229 239
 
230 240
 	// Are there any custom profile fields as icons?
231 241
 	if (!empty($context['print_custom_fields']['icons']))
232 242
 	{
233
-		foreach ($context['print_custom_fields']['icons'] as $field)
234
-			if (!empty($field['output_html']))
243
+		foreach ($context['print_custom_fields']['icons'] as $field) {
244
+					if (!empty($field['output_html']))
235 245
 				echo '
236 246
 				<li class="custom_field">', $field['output_html'], '</li>';
247
+		}
237 248
 	}
238 249
 
239 250
 	echo '
@@ -242,24 +253,27 @@  discard block
 block discarded – undo
242 253
 				', $context['can_send_pm'] ? '<a href="' . $context['member']['online']['href'] . '" title="' . $context['member']['online']['text'] . '" rel="nofollow">' : '', $settings['use_image_buttons'] ? '<span class="' . ($context['member']['online']['is_online'] == 1 ? 'on' : 'off') . '" title="' . $context['member']['online']['text'] . '"></span>' : $context['member']['online']['label'], $context['can_send_pm'] ? '</a>' : '', $settings['use_image_buttons'] ? '<span class="smalltext"> ' . $context['member']['online']['label'] . '</span>' : '';
243 254
 
244 255
 	// Can they add this member as a buddy?
245
-	if (!empty($context['can_have_buddy']) && !$context['user']['is_owner'])
246
-		echo '
256
+	if (!empty($context['can_have_buddy']) && !$context['user']['is_owner']) {
257
+			echo '
247 258
 				<br>
248 259
 				<a href="', $scripturl, '?action=buddy;u=', $context['id_member'], ';', $context['session_var'], '=', $context['session_id'], '">', $txt['buddy_' . ($context['member']['is_buddy'] ? 'remove' : 'add')], '</a>';
260
+	}
249 261
 
250 262
 	echo '
251 263
 			</span>';
252 264
 
253
-	if (!$context['user']['is_owner'] && $context['can_send_pm'])
254
-		echo '
265
+	if (!$context['user']['is_owner'] && $context['can_send_pm']) {
266
+			echo '
255 267
 			<a href="', $scripturl, '?action=pm;sa=send;u=', $context['id_member'], '" class="infolinks">', $txt['profile_sendpm_short'], '</a>';
268
+	}
256 269
 
257 270
 	echo '
258 271
 			<a href="', $scripturl, '?action=profile;area=showposts;u=', $context['id_member'], '" class="infolinks">', $txt['showPosts'], '</a>';
259 272
 
260
-	if ($context['user']['is_owner'] && !empty($modSettings['drafts_post_enabled']))
261
-		echo '
273
+	if ($context['user']['is_owner'] && !empty($modSettings['drafts_post_enabled'])) {
274
+			echo '
262 275
 			<a href="', $scripturl, '?action=profile;area=showdrafts;u=', $context['id_member'], '" class="infolinks">', $txt['drafts_show'], '</a>';
276
+	}
263 277
 
264 278
 	echo '
265 279
 			<a href="', $scripturl, '?action=profile;area=statistics;u=', $context['id_member'], '" class="infolinks">', $txt['statPanel'], '</a>';
@@ -268,17 +282,19 @@  discard block
 block discarded – undo
268 282
 	if (!empty($context['print_custom_fields']['bottom_poster']))
269 283
 	{
270 284
 		$fields = '';
271
-		foreach ($context['print_custom_fields']['bottom_poster'] as $field)
272
-			if (!empty($field['output_html']))
285
+		foreach ($context['print_custom_fields']['bottom_poster'] as $field) {
286
+					if (!empty($field['output_html']))
273 287
 				$fields .= '
274 288
 					<li>' . $field['output_html'] . '</li>';
289
+		}
275 290
 
276
-		if (!empty($fields))
277
-			echo '
291
+		if (!empty($fields)) {
292
+					echo '
278 293
 			<div class="custom_fields_bottom">
279 294
 				<ul class="nolist">', $fields, '
280 295
 				</ul>
281 296
 			</div>';
297
+		}
282 298
 	}
283 299
 
284 300
 	echo '
@@ -287,30 +303,35 @@  discard block
 block discarded – undo
287 303
 		<div id="detailedinfo">
288 304
 			<dl class="settings">';
289 305
 
290
-	if ($context['user']['is_owner'] || $context['user']['is_admin'])
291
-		echo '
306
+	if ($context['user']['is_owner'] || $context['user']['is_admin']) {
307
+			echo '
292 308
 				<dt>', $txt['username'], ': </dt>
293 309
 				<dd>', $context['member']['username'], '</dd>';
310
+	}
294 311
 
295
-	if (!isset($context['disabled_fields']['posts']))
296
-		echo '
312
+	if (!isset($context['disabled_fields']['posts'])) {
313
+			echo '
297 314
 				<dt>', $txt['profile_posts'], ': </dt>
298 315
 				<dd>', $context['member']['posts'], ' (', $context['member']['posts_per_day'], ' ', $txt['posts_per_day'], ')</dd>';
316
+	}
299 317
 
300
-	if ($context['member']['show_email'])
301
-		echo '
318
+	if ($context['member']['show_email']) {
319
+			echo '
302 320
 				<dt>', $txt['email'], ': </dt>
303 321
 				<dd><a href="mailto:', $context['member']['email'], '">', $context['member']['email'], '</a></dd>';
322
+	}
304 323
 
305
-	if (!empty($modSettings['titlesEnable']) && !empty($context['member']['title']))
306
-		echo '
324
+	if (!empty($modSettings['titlesEnable']) && !empty($context['member']['title'])) {
325
+			echo '
307 326
 				<dt>', $txt['custom_title'], ': </dt>
308 327
 				<dd>', $context['member']['title'], '</dd>';
328
+	}
309 329
 
310
-	if (!empty($context['member']['blurb']))
311
-		echo '
330
+	if (!empty($context['member']['blurb'])) {
331
+			echo '
312 332
 				<dt>', $txt['personal_text'], ': </dt>
313 333
 				<dd>', $context['member']['blurb'], '</dd>';
334
+	}
314 335
 
315 336
 	echo '
316 337
 				<dt>', $txt['age'], ':</dt>
@@ -324,19 +345,21 @@  discard block
 block discarded – undo
324 345
 	{
325 346
 		$fields = array();
326 347
 
327
-		foreach ($context['print_custom_fields']['standard'] as $field)
328
-			if (!empty($field['output_html']))
348
+		foreach ($context['print_custom_fields']['standard'] as $field) {
349
+					if (!empty($field['output_html']))
329 350
 				$fields[] = $field;
351
+		}
330 352
 
331 353
 		if (count($fields) > 0)
332 354
 		{
333 355
 			echo '
334 356
 			<dl class="settings">';
335 357
 
336
-			foreach ($fields as $field)
337
-				echo '
358
+			foreach ($fields as $field) {
359
+							echo '
338 360
 				<dt>', $field['name'], ':</dt>
339 361
 				<dd>', $field['output_html'], '</dd>';
362
+			}
340 363
 
341 364
 			echo '
342 365
 			</dl>';
@@ -355,9 +378,10 @@  discard block
 block discarded – undo
355 378
 					<a href="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=', ($context['can_issue_warning'] && !$context['user']['is_owner'] ? 'issuewarning' : 'viewwarning'), '">', $context['member']['warning'], '%</a>';
356 379
 
357 380
 		// Can we provide information on what this means?
358
-		if (!empty($context['warning_status']))
359
-			echo '
381
+		if (!empty($context['warning_status'])) {
382
+					echo '
360 383
 					<span class="smalltext">(', $context['warning_status'], ')</span>';
384
+		}
361 385
 
362 386
 		echo '
363 387
 				</dd>';
@@ -367,11 +391,12 @@  discard block
 block discarded – undo
367 391
 	if (!empty($context['activate_message']) || !empty($context['member']['bans']))
368 392
 	{
369 393
 		// If the person looking at the summary has permission, and the account isn't activated, give the viewer the ability to do it themselves.
370
-		if (!empty($context['activate_message']))
371
-			echo '
394
+		if (!empty($context['activate_message'])) {
395
+					echo '
372 396
 				<dt class="clear">
373 397
 					<span class="alert">', $context['activate_message'], '</span> (<a href="', $context['activate_link'], '"', ($context['activate_type'] == 4 ? ' class="you_sure" data-confirm="' . $txt['profileConfirm'] . '"' : ''), '>', $context['activate_link_text'], '</a>)
374 398
 				</dt>';
399
+		}
375 400
 
376 401
 		// If the current member is banned, show a message and possibly a link to the ban.
377 402
 		if (!empty($context['member']['bans']))
@@ -383,10 +408,11 @@  discard block
 block discarded – undo
383 408
 				<dt class="clear" id="ban_info" style="display: none;">
384 409
 					<strong>', $txt['user_banned_by_following'], ':</strong>';
385 410
 
386
-			foreach ($context['member']['bans'] as $ban)
387
-				echo '
411
+			foreach ($context['member']['bans'] as $ban) {
412
+							echo '
388 413
 					<br>
389 414
 					<span class="smalltext">', $ban['explanation'], '</span>';
415
+			}
390 416
 
391 417
 			echo '
392 418
 				</dt>';
@@ -400,30 +426,34 @@  discard block
 block discarded – undo
400 426
 	// If the person looking is allowed, they can check the members IP address and hostname.
401 427
 	if ($context['can_see_ip'])
402 428
 	{
403
-		if (!empty($context['member']['ip']))
404
-		echo '
429
+		if (!empty($context['member']['ip'])) {
430
+				echo '
405 431
 				<dt>', $txt['ip'], ': </dt>
406 432
 				<dd><a href="', $scripturl, '?action=profile;area=tracking;sa=ip;searchip=', $context['member']['ip'], ';u=', $context['member']['id'], '">', $context['member']['ip'], '</a></dd>';
433
+		}
407 434
 
408
-		if (empty($modSettings['disableHostnameLookup']) && !empty($context['member']['ip']))
409
-			echo '
435
+		if (empty($modSettings['disableHostnameLookup']) && !empty($context['member']['ip'])) {
436
+					echo '
410 437
 				<dt>', $txt['hostname'], ': </dt>
411 438
 				<dd>', $context['member']['hostname'], '</dd>';
439
+		}
412 440
 	}
413 441
 
414 442
 	echo '
415 443
 				<dt>', $txt['local_time'], ':</dt>
416 444
 				<dd>', $context['member']['local_time'], '</dd>';
417 445
 
418
-	if (!empty($modSettings['userLanguage']) && !empty($context['member']['language']))
419
-		echo '
446
+	if (!empty($modSettings['userLanguage']) && !empty($context['member']['language'])) {
447
+			echo '
420 448
 				<dt>', $txt['language'], ':</dt>
421 449
 				<dd>', $context['member']['language'], '</dd>';
450
+	}
422 451
 
423
-	if ($context['member']['show_last_login'])
424
-		echo '
452
+	if ($context['member']['show_last_login']) {
453
+			echo '
425 454
 				<dt>', $txt['lastLoggedIn'], ': </dt>
426 455
 				<dd>', $context['member']['last_login'], (!empty($context['member']['is_hidden']) ? ' (' . $txt['hidden'] . ')' : ''), '</dd>';
456
+	}
427 457
 
428 458
 	echo '
429 459
 			</dl>';
@@ -432,42 +462,47 @@  discard block
 block discarded – undo
432 462
 	if (!empty($context['print_custom_fields']['above_signature']))
433 463
 	{
434 464
 		$fields = '';
435
-		foreach ($context['print_custom_fields']['above_signature'] as $field)
436
-			if (!empty($field['output_html']))
465
+		foreach ($context['print_custom_fields']['above_signature'] as $field) {
466
+					if (!empty($field['output_html']))
437 467
 				$fields .= '
438 468
 					<li>' . $field['output_html'] . '</li>';
469
+		}
439 470
 
440
-		if (!empty($fields))
441
-			echo '
471
+		if (!empty($fields)) {
472
+					echo '
442 473
 			<div class="custom_fields_above_signature">
443 474
 				<ul class="nolist">', $fields, '
444 475
 				</ul>
445 476
 			</div>';
477
+		}
446 478
 	}
447 479
 
448 480
 	// Show the users signature.
449
-	if ($context['signature_enabled'] && !empty($context['member']['signature']))
450
-		echo '
481
+	if ($context['signature_enabled'] && !empty($context['member']['signature'])) {
482
+			echo '
451 483
 			<div class="signature">
452 484
 				<h5>', $txt['signature'], ':</h5>
453 485
 				', $context['member']['signature'], '
454 486
 			</div>';
487
+	}
455 488
 
456 489
 	// Are there any custom profile fields for below the signature?
457 490
 	if (!empty($context['print_custom_fields']['below_signature']))
458 491
 	{
459 492
 		$fields = '';
460
-		foreach ($context['print_custom_fields']['below_signature'] as $field)
461
-			if (!empty($field['output_html']))
493
+		foreach ($context['print_custom_fields']['below_signature'] as $field) {
494
+					if (!empty($field['output_html']))
462 495
 				$fields .=  '
463 496
 					<li>' . $field['output_html'] . '</li>';
497
+		}
464 498
 
465
-		if (!empty($fields))
466
-			echo '
499
+		if (!empty($fields)) {
500
+					echo '
467 501
 			<div class="custom_fields_below_signature">
468 502
 				<ul class="nolist">', $fields, '
469 503
 				</ul>
470 504
 			</div>';
505
+		}
471 506
 	}
472 507
 
473 508
 	echo '
@@ -509,62 +544,70 @@  discard block
 block discarded – undo
509 544
 			</div>
510 545
 			<div class="list_posts">';
511 546
 
512
-			if (!$post['approved'])
513
-				echo '
547
+			if (!$post['approved']) {
548
+							echo '
514 549
 				<div class="approve_post">
515 550
 					<em>', $txt['post_awaiting_approval'], '</em>
516 551
 				</div>';
552
+			}
517 553
 
518 554
 			echo '
519 555
 				', $post['body'], '
520 556
 			</div>';
521 557
 
522
-			if ($post['can_reply'] || $post['can_quote'] || $post['can_delete'])
523
-				echo '
558
+			if ($post['can_reply'] || $post['can_quote'] || $post['can_delete']) {
559
+							echo '
524 560
 			<div class="floatright">
525 561
 				<ul class="quickbuttons">';
562
+			}
526 563
 
527 564
 			// If they *can* reply?
528
-			if ($post['can_reply'])
529
-				echo '
565
+			if ($post['can_reply']) {
566
+							echo '
530 567
 					<li><a href="', $scripturl, '?action=post;topic=', $post['topic'], '.', $post['start'], '"><span class="generic_icons reply_button"></span>', $txt['reply'], '</a></li>';
568
+			}
531 569
 
532 570
 			// If they *can* quote?
533
-			if ($post['can_quote'])
534
-				echo '
571
+			if ($post['can_quote']) {
572
+							echo '
535 573
 					<li><a href="', $scripturl . '?action=post;topic=', $post['topic'], '.', $post['start'], ';quote=', $post['id'], '"><span class="generic_icons quote"></span>', $txt['quote_action'], '</a></li>';
574
+			}
536 575
 
537 576
 			// How about... even... remove it entirely?!
538
-			if ($post['can_delete'])
539
-				echo '
577
+			if ($post['can_delete']) {
578
+							echo '
540 579
 					<li><a href="', $scripturl, '?action=deletemsg;msg=', $post['id'], ';topic=', $post['topic'], ';profile;u=', $context['member']['id'], ';start=', $context['start'], ';', $context['session_var'], '=', $context['session_id'], '" data-confirm="', $txt['remove_message'], '" class="you_sure"><span class="generic_icons remove_button"></span>', $txt['remove'], '</a></li>';
580
+			}
541 581
 
542
-			if ($post['can_reply'] || $post['can_quote'] || $post['can_delete'])
543
-				echo '
582
+			if ($post['can_reply'] || $post['can_quote'] || $post['can_delete']) {
583
+							echo '
544 584
 				</ul>
545 585
 			</div><!-- .floatright -->';
586
+			}
546 587
 
547 588
 			echo '
548 589
 		</div><!-- $post[css_class] -->';
549 590
 		}
591
+	} else {
592
+			template_show_list('attachments');
550 593
 	}
551
-	else
552
-		template_show_list('attachments');
553 594
 
554 595
 	// No posts? Just end with a informative message.
555
-	if ((isset($context['attachments']) && empty($context['attachments'])) || (!isset($context['attachments']) && empty($context['posts'])))
556
-		echo '
596
+	if ((isset($context['attachments']) && empty($context['attachments'])) || (!isset($context['attachments']) && empty($context['posts']))) {
597
+			echo '
557 598
 		<div class="windowbg">
558 599
 			', isset($context['attachments']) ? $txt['show_attachments_none'] : ($context['is_topics'] ? $txt['show_topics_none'] : $txt['show_posts_none']), '
559 600
 		</div>';
601
+	}
560 602
 
561 603
 	// Show more page numbers.
562
-	if (!empty($context['page_index']))
563
-		echo '
604
+	if (!empty($context['page_index'])) {
605
+			echo '
564 606
 		<div class="pagesection">
565 607
 			<div class="pagelinks">', $context['page_index'], '</div>
566 608
 		</div>';
567
-}
609
+	}
610
+	}
568 611
 
569 612
 /**
570 613
  * Template for showing alerts within the alerts popup
@@ -574,11 +617,12 @@  discard block
 block discarded – undo
574 617
 	global $context, $txt, $scripturl;
575 618
 
576 619
 	// Do we have an update message?
577
-	if (!empty($context['update_message']))
578
-		echo '
620
+	if (!empty($context['update_message'])) {
621
+			echo '
579 622
 		<div class="infobox">
580 623
 			', $context['update_message'], '
581 624
 		</div>';
625
+	}
582 626
 
583 627
 	echo '
584 628
 		<div class="cat_bar">
@@ -587,18 +631,18 @@  discard block
 block discarded – undo
587 631
 			</h3>
588 632
 		</div>';
589 633
 
590
-	if (empty($context['alerts']))
591
-		echo '
634
+	if (empty($context['alerts'])) {
635
+			echo '
592 636
 		<div class="information">
593 637
 			', $txt['alerts_none'], '
594 638
 		</div>';
595
-
596
-	else
639
+	} else
597 640
 	{
598 641
 		// Start the form if checkboxes are in use
599
-		if ($context['showCheckboxes'])
600
-			echo '
642
+		if ($context['showCheckboxes']) {
643
+					echo '
601 644
 		<form action="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=showalerts;save" method="post" accept-charset="', $context['character_set'], '" id="mark_all">';
645
+		}
602 646
 
603 647
 		echo '
604 648
 			<table id="alerts" class="table_grid">';
@@ -614,9 +658,10 @@  discard block
 block discarded – undo
614 658
 							<li><a href="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=showalerts;do=remove;aid=', $id, ';', $context['session_var'], '=', $context['session_id'], '" class="you_sure"><span class="generic_icons remove_button"></span>', $txt['delete'], '</a></li>
615 659
 							<li><a href="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=showalerts;do=', ($alert['is_read'] != 0 ? 'unread' : 'read'), ';aid=', $id, ';', $context['session_var'], '=', $context['session_id'], '"><span class="generic_icons ', $alert['is_read'] != 0 ? 'unread_button' : 'read_button', '"></span>', ($alert['is_read'] != 0 ? $txt['mark_unread'] : $txt['mark_read_short']), '</a></li>';
616 660
 
617
-					if ($context['showCheckboxes'])
618
-						echo '
661
+					if ($context['showCheckboxes']) {
662
+											echo '
619 663
 							<li><input type="checkbox" name="mark[', $id, ']" value="', $id, '"></li>';
664
+					}
620 665
 
621 666
 			echo '
622 667
 						</ul>
@@ -631,8 +676,8 @@  discard block
 block discarded – undo
631 676
 					', $context['pagination'], '
632 677
 				</div>';
633 678
 
634
-		if ($context['showCheckboxes'])
635
-			echo '
679
+		if ($context['showCheckboxes']) {
680
+					echo '
636 681
 				<div class="floatright">
637 682
 					', $txt['check_all'], ': <input type="checkbox" name="select_all" id="select_all">
638 683
 					<select name="mark_as">
@@ -643,14 +688,16 @@  discard block
 block discarded – undo
643 688
 					<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
644 689
 					<input type="submit" name="req" value="', $txt['quick_mod_go'], '" class="button you_sure">
645 690
 				</div>';
691
+		}
646 692
 
647 693
 	echo '
648 694
 			</div>';
649 695
 
650
-	if ($context['showCheckboxes'])
651
-		echo '
696
+	if ($context['showCheckboxes']) {
697
+			echo '
652 698
 		</form>';
653 699
 	}
700
+	}
654 701
 }
655 702
 
656 703
 /**
@@ -671,12 +718,12 @@  discard block
 block discarded – undo
671 718
 		</div>' : '';
672 719
 
673 720
 	// No drafts? Just show an informative message.
674
-	if (empty($context['drafts']))
675
-		echo '
721
+	if (empty($context['drafts'])) {
722
+			echo '
676 723
 		<div class="windowbg centertext">
677 724
 			', $txt['draft_none'], '
678 725
 		</div>';
679
-	else
726
+	} else
680 727
 	{
681 728
 		// For every draft to be displayed, give it its own div, and show the important details of the draft.
682 729
 		foreach ($context['drafts'] as $draft)
@@ -688,13 +735,15 @@  discard block
 block discarded – undo
688 735
 				<h5>
689 736
 					<strong><a href="', $scripturl, '?board=', $draft['board']['id'], '.0">', $draft['board']['name'], '</a> / ', $draft['topic']['link'], '</strong> &nbsp; &nbsp;';
690 737
 
691
-			if (!empty($draft['sticky']))
692
-				echo '
738
+			if (!empty($draft['sticky'])) {
739
+							echo '
693 740
 					<span class="generic_icons sticky" title="', $txt['sticky_topic'], '"></span>';
741
+			}
694 742
 
695
-			if (!empty($draft['locked']))
696
-				echo '
743
+			if (!empty($draft['locked'])) {
744
+							echo '
697 745
 					<span class="generic_icons lock" title="', $txt['locked_topic'], '"></span>';
746
+			}
698 747
 
699 748
 			echo '
700 749
 				</h5>
@@ -727,13 +776,13 @@  discard block
 block discarded – undo
727 776
 {
728 777
 	global $context, $scripturl, $txt;
729 778
 
730
-	if (!empty($context['saved_successful']))
731
-		echo '
779
+	if (!empty($context['saved_successful'])) {
780
+			echo '
732 781
 	<div class="infobox">', $context['user']['is_owner'] ? $txt['profile_updated_own'] : sprintf($txt['profile_updated_else'], $context['member']['name']), '</div>';
733
-
734
-	elseif (!empty($context['saved_failed']))
735
-		echo '
782
+	} elseif (!empty($context['saved_failed'])) {
783
+			echo '
736 784
 	<div class="errorbox">', $context['saved_failed'], '</div>';
785
+	}
737 786
 
738 787
 	echo '
739 788
 	<div id="edit_buddies">
@@ -748,14 +797,16 @@  discard block
 block discarded – undo
748 797
 					<th scope="col" class="quarter_table">', $txt['name'], '</th>
749 798
 					<th scope="col">', $txt['status'], '</th>';
750 799
 
751
-	if ($context['can_moderate_forum'])
752
-		echo '
800
+	if ($context['can_moderate_forum']) {
801
+			echo '
753 802
 					<th scope="col">', $txt['email'], '</th>';
803
+	}
754 804
 
755
-	if (!empty($context['custom_pf']))
756
-		foreach ($context['custom_pf'] as $column)
805
+	if (!empty($context['custom_pf'])) {
806
+			foreach ($context['custom_pf'] as $column)
757 807
 				echo '
758 808
 					<th scope="col">', $column['label'], '</th>';
809
+	}
759 810
 
760 811
 	echo '
761 812
 					<th scope="col">', $txt['remove'], '</th>
@@ -764,13 +815,14 @@  discard block
 block discarded – undo
764 815
 			<tbody>';
765 816
 
766 817
 	// If they don't have any buddies don't list them!
767
-	if (empty($context['buddies']))
768
-		echo '
818
+	if (empty($context['buddies'])) {
819
+			echo '
769 820
 				<tr class="windowbg">
770 821
 					<td colspan="', $context['can_moderate_forum'] ? '10' : '9', '">
771 822
 						<strong>', $txt['no_buddies'], '</strong>
772 823
 					</td>
773 824
 				</tr>';
825
+	}
774 826
 
775 827
 		// Now loop through each buddy showing info on each.
776 828
 	else
@@ -784,17 +836,19 @@  discard block
 block discarded – undo
784 836
 						<a href="', $buddy['online']['href'], '"><span class="' . ($buddy['online']['is_online'] == 1 ? 'on' : 'off') . '" title="' . $buddy['online']['text'] . '"></span></a>
785 837
 					</td>';
786 838
 
787
-			if ($buddy['show_email'])
788
-				echo '
839
+			if ($buddy['show_email']) {
840
+							echo '
789 841
 					<td>
790 842
 						<a href="mailto:' . $buddy['email'] . '" rel="nofollow"><span class="generic_icons mail icon" title="' . $txt['email'] . ' ' . $buddy['name'] . '"></span></a>
791 843
 					</td>';
844
+			}
792 845
 
793 846
 			// Show the custom profile fields for this user.
794
-			if (!empty($context['custom_pf']))
795
-				foreach ($context['custom_pf'] as $key => $column)
847
+			if (!empty($context['custom_pf'])) {
848
+							foreach ($context['custom_pf'] as $key => $column)
796 849
 					echo '
797 850
 					<td class="lefttext">', $buddy['options'][$key], '</td>';
851
+			}
798 852
 
799 853
 			echo '
800 854
 					<td>
@@ -827,9 +881,10 @@  discard block
 block discarded – undo
827 881
 			</dl>
828 882
 		</div>';
829 883
 
830
-	if (!empty($context['token_check']))
831
-		echo '
884
+	if (!empty($context['token_check'])) {
885
+			echo '
832 886
 		<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
887
+	}
833 888
 
834 889
 	echo '
835 890
 		<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -855,13 +910,13 @@  discard block
 block discarded – undo
855 910
 {
856 911
 	global $context, $scripturl, $txt;
857 912
 
858
-	if (!empty($context['saved_successful']))
859
-		echo '
913
+	if (!empty($context['saved_successful'])) {
914
+			echo '
860 915
 	<div class="infobox">', $context['user']['is_owner'] ? $txt['profile_updated_own'] : sprintf($txt['profile_updated_else'], $context['member']['name']), '</div>';
861
-
862
-	elseif (!empty($context['saved_failed']))
863
-		echo '
916
+	} elseif (!empty($context['saved_failed'])) {
917
+			echo '
864 918
 	<div class="errorbox">', $context['saved_failed'], '</div>';
919
+	}
865 920
 
866 921
 	echo '
867 922
 	<div id="edit_buddies">
@@ -876,9 +931,10 @@  discard block
 block discarded – undo
876 931
 					<th scope="col" class="quarter_table">', $txt['name'], '</th>
877 932
 					<th scope="col">', $txt['status'], '</th>';
878 933
 
879
-	if (allowedTo('moderate_forum'))
880
-		echo '
934
+	if (allowedTo('moderate_forum')) {
935
+			echo '
881 936
 					<th scope="col">', $txt['email'], '</th>';
937
+	}
882 938
 
883 939
 	echo '
884 940
 					<th scope="col">', $txt['ignore_remove'], '</th>
@@ -887,13 +943,14 @@  discard block
 block discarded – undo
887 943
 			<tbody>';
888 944
 
889 945
 	// If they don't have anyone on their ignore list, don't list it!
890
-	if (empty($context['ignore_list']))
891
-		echo '
946
+	if (empty($context['ignore_list'])) {
947
+			echo '
892 948
 				<tr class="windowbg">
893 949
 					<td colspan="', allowedTo('moderate_forum') ? '4' : '3', '">
894 950
 						<strong>', $txt['no_ignore'], '</strong>
895 951
 					</td>
896 952
 				</tr>';
953
+	}
897 954
 
898 955
 	// Now loop through each buddy showing info on each.
899 956
 	foreach ($context['ignore_list'] as $member)
@@ -905,11 +962,12 @@  discard block
 block discarded – undo
905 962
 						<a href="', $member['online']['href'], '"><span class="' . ($member['online']['is_online'] == 1 ? 'on' : 'off') . '" title="' . $member['online']['text'] . '"></span></a>
906 963
 					</td>';
907 964
 
908
-		if ($member['show_email'])
909
-			echo '
965
+		if ($member['show_email']) {
966
+					echo '
910 967
 					<td>
911 968
 						<a href="mailto:' . $member['email'] . '" rel="nofollow"><span class="generic_icons mail icon" title="' . $txt['email'] . ' ' . $member['name'] . '"></span></a>
912 969
 					</td>';
970
+		}
913 971
 		echo '
914 972
 					<td>
915 973
 						<a href="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=lists;sa=ignore;remove=', $member['id'], ';', $context['session_var'], '=', $context['session_id'], '"><span class="generic_icons delete" title="', $txt['ignore_remove'], '"></span></a>
@@ -940,9 +998,10 @@  discard block
 block discarded – undo
940 998
 			</dl>
941 999
 		</div>';
942 1000
 
943
-	if (!empty($context['token_check']))
944
-		echo '
1001
+	if (!empty($context['token_check'])) {
1002
+			echo '
945 1003
 		<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
1004
+	}
946 1005
 
947 1006
 	echo '
948 1007
 		<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -987,9 +1046,10 @@  discard block
 block discarded – undo
987 1046
 					<a href="', $scripturl, '?action=profile;area=tracking;sa=ip;searchip=', $context['last_ip'], ';u=', $context['member']['id'], '">', $context['last_ip'], '</a>';
988 1047
 
989 1048
 	// Second address detected?
990
-	if (!empty($context['last_ip2']))
991
-		echo '
1049
+	if (!empty($context['last_ip2'])) {
1050
+			echo '
992 1051
 					, <a href="', $scripturl, '?action=profile;area=tracking;sa=ip;searchip=', $context['last_ip2'], ';u=', $context['member']['id'], '">', $context['last_ip2'], '</a>';
1052
+	}
993 1053
 
994 1054
 	echo '
995 1055
 				</dd>';
@@ -1055,9 +1115,10 @@  discard block
 block discarded – undo
1055 1115
 		</div>
1056 1116
 		<div class="windowbg">';
1057 1117
 
1058
-		foreach ($context['whois_servers'] as $server)
1059
-			echo '
1118
+		foreach ($context['whois_servers'] as $server) {
1119
+					echo '
1060 1120
 			<a href="', $server['url'], '" target="_blank" rel="noopener"', '>', $server['name'], '</a><br>';
1121
+		}
1061 1122
 		echo '
1062 1123
 		</div>
1063 1124
 		<br>';
@@ -1069,13 +1130,12 @@  discard block
 block discarded – undo
1069 1130
 			<h3 class="catbg">', $txt['members_from_ip'], ' ', $context['ip'], '</h3>
1070 1131
 		</div>';
1071 1132
 
1072
-	if (empty($context['ips']))
1073
-		echo '
1133
+	if (empty($context['ips'])) {
1134
+			echo '
1074 1135
 		<p class="windowbg description">
1075 1136
 			<em>', $txt['no_members_from_ip'], '</em>
1076 1137
 		</p>';
1077
-
1078
-	else
1138
+	} else
1079 1139
 	{
1080 1140
 		echo '
1081 1141
 		<table class="table_grid">
@@ -1088,12 +1148,13 @@  discard block
 block discarded – undo
1088 1148
 			<tbody>';
1089 1149
 
1090 1150
 		// Loop through each of the members and display them.
1091
-		foreach ($context['ips'] as $ip => $memberlist)
1092
-			echo '
1151
+		foreach ($context['ips'] as $ip => $memberlist) {
1152
+					echo '
1093 1153
 				<tr class="windowbg">
1094 1154
 					<td><a href="', $context['base_url'], ';searchip=', $ip, '">', $ip, '</a></td>
1095 1155
 					<td>', implode(', ', $memberlist), '</td>
1096 1156
 				</tr>';
1157
+		}
1097 1158
 
1098 1159
 		echo '
1099 1160
 			</tbody>
@@ -1135,11 +1196,10 @@  discard block
 block discarded – undo
1135 1196
 			</h3>
1136 1197
 		</div>';
1137 1198
 
1138
-	if ($context['member']['has_all_permissions'])
1139
-		echo '
1199
+	if ($context['member']['has_all_permissions']) {
1200
+			echo '
1140 1201
 		<div class="information">', $txt['showPermissions_all'], '</div>';
1141
-
1142
-	else
1202
+	} else
1143 1203
 	{
1144 1204
 		echo '
1145 1205
 		<div class="information">',$txt['showPermissions_help'], '</div>
@@ -1154,9 +1214,10 @@  discard block
 block discarded – undo
1154 1214
 			<div class="windowbg smalltext">
1155 1215
 				', $txt['showPermissions_restricted_boards_desc'], ':<br>';
1156 1216
 
1157
-			foreach ($context['no_access_boards'] as $no_access_board)
1158
-				echo '
1217
+			foreach ($context['no_access_boards'] as $no_access_board) {
1218
+							echo '
1159 1219
 				<a href="', $scripturl, '?board=', $no_access_board['id'], '.0">', $no_access_board['name'], '</a>', $no_access_board['is_last'] ? '' : ', ';
1220
+			}
1160 1221
 			echo '
1161 1222
 			</div>';
1162 1223
 		}
@@ -1188,12 +1249,13 @@  discard block
 block discarded – undo
1188 1249
 							</td>
1189 1250
 							<td class="smalltext">';
1190 1251
 
1191
-				if ($permission['is_denied'])
1192
-					echo '
1252
+				if ($permission['is_denied']) {
1253
+									echo '
1193 1254
 								<span class="alert">', $txt['showPermissions_denied'], ': ', implode(', ', $permission['groups']['denied']), '</span>';
1194
-				else
1195
-					echo '
1255
+				} else {
1256
+									echo '
1196 1257
 								', $txt['showPermissions_given'], ': ', implode(', ', $permission['groups']['allowed']);
1258
+				}
1197 1259
 
1198 1260
 				echo '
1199 1261
 							</td>
@@ -1204,10 +1266,10 @@  discard block
 block discarded – undo
1204 1266
 				</table>
1205 1267
 			</div><!-- .tborder -->
1206 1268
 			<br>';
1207
-		}
1208
-		else
1209
-			echo '
1269
+		} else {
1270
+					echo '
1210 1271
 			<p class="windowbg">', $txt['showPermissions_none_general'], '</p>';
1272
+		}
1211 1273
 
1212 1274
 		// Board permission section.
1213 1275
 		echo '
@@ -1218,14 +1280,16 @@  discard block
 block discarded – undo
1218 1280
 						<select name="board" onchange="if (this.options[this.selectedIndex].value) this.form.submit();">
1219 1281
 							<option value="0"', $context['board'] == 0 ? ' selected' : '', '>', $txt['showPermissions_global'], '</option>';
1220 1282
 
1221
-		if (!empty($context['boards']))
1222
-			echo '
1283
+		if (!empty($context['boards'])) {
1284
+					echo '
1223 1285
 							<option value="" disabled>---------------------------</option>';
1286
+		}
1224 1287
 
1225 1288
 		// Fill the box with any local permission boards.
1226
-		foreach ($context['boards'] as $board)
1227
-			echo '
1289
+		foreach ($context['boards'] as $board) {
1290
+					echo '
1228 1291
 							<option value="', $board['id'], '"', $board['selected'] ? ' selected' : '', '>', $board['name'], ' (', $board['profile_name'], ')</option>';
1292
+		}
1229 1293
 
1230 1294
 		echo '
1231 1295
 						</select>
@@ -1254,13 +1318,13 @@  discard block
 block discarded – undo
1254 1318
 						</td>
1255 1319
 						<td class="smalltext">';
1256 1320
 
1257
-				if ($permission['is_denied'])
1258
-					echo '
1321
+				if ($permission['is_denied']) {
1322
+									echo '
1259 1323
 							<span class="alert">', $txt['showPermissions_denied'], ': ', implode(', ', $permission['groups']['denied']), '</span>';
1260
-
1261
-				else
1262
-					echo '
1324
+				} else {
1325
+									echo '
1263 1326
 							', $txt['showPermissions_given'], ': ', implode(', ', $permission['groups']['allowed']);
1327
+				}
1264 1328
 
1265 1329
 				echo '
1266 1330
 						</td>
@@ -1269,10 +1333,10 @@  discard block
 block discarded – undo
1269 1333
 			echo '
1270 1334
 				</tbody>
1271 1335
 			</table>';
1272
-		}
1273
-		else
1274
-			echo '
1336
+		} else {
1337
+					echo '
1275 1338
 			<p class="windowbg">', $txt['showPermissions_none_board'], '</p>';
1339
+		}
1276 1340
 	echo '
1277 1341
 		</div><!-- #permissions -->';
1278 1342
 	}
@@ -1313,9 +1377,10 @@  discard block
 block discarded – undo
1313 1377
 			</div>';
1314 1378
 
1315 1379
 	// If they haven't post at all, don't draw the graph.
1316
-	if (empty($context['posts_by_time']))
1317
-		echo '
1380
+	if (empty($context['posts_by_time'])) {
1381
+			echo '
1318 1382
 			<p class="centertext padding">', $txt['statPanel_noPosts'], '</p>';
1383
+	}
1319 1384
 
1320 1385
 	// Otherwise do!
1321 1386
 	else
@@ -1324,8 +1389,8 @@  discard block
 block discarded – undo
1324 1389
 			<ul class="activity_stats flow_hidden">';
1325 1390
 
1326 1391
 		// The labels.
1327
-		foreach ($context['posts_by_time'] as $time_of_day)
1328
-			echo '
1392
+		foreach ($context['posts_by_time'] as $time_of_day) {
1393
+					echo '
1329 1394
 				<li>
1330 1395
 					<div class="generic_bar vertical">
1331 1396
 						<div class="bar" style="height: ', (int) $time_of_day['relative_percent'], '%;">
@@ -1334,6 +1399,7 @@  discard block
 block discarded – undo
1334 1399
 					</div>
1335 1400
 					<span class="stats_hour">', $time_of_day['hour_format'], '</span>
1336 1401
 				</li>';
1402
+		}
1337 1403
 
1338 1404
 		echo '
1339 1405
 			</ul>';
@@ -1352,11 +1418,10 @@  discard block
 block discarded – undo
1352 1418
 					</h3>
1353 1419
 				</div>';
1354 1420
 
1355
-	if (empty($context['popular_boards']))
1356
-		echo '
1421
+	if (empty($context['popular_boards'])) {
1422
+			echo '
1357 1423
 				<p class="centertext padding">', $txt['statPanel_noPosts'], '</p>';
1358
-
1359
-	else
1424
+	} else
1360 1425
 	{
1361 1426
 		echo '
1362 1427
 				<dl class="stats">';
@@ -1386,10 +1451,10 @@  discard block
 block discarded – undo
1386 1451
 					</h3>
1387 1452
 				</div>';
1388 1453
 
1389
-	if (empty($context['board_activity']))
1390
-		echo '
1454
+	if (empty($context['board_activity'])) {
1455
+			echo '
1391 1456
 				<p class="centertext padding">', $txt['statPanel_noPosts'], '</p>';
1392
-	else
1457
+	} else
1393 1458
 	{
1394 1459
 		echo '
1395 1460
 				<dl class="stats">';
@@ -1440,90 +1505,97 @@  discard block
 block discarded – undo
1440 1505
 				<h3 class="catbg profile_hd">';
1441 1506
 
1442 1507
 		// Don't say "Profile" if this isn't the profile...
1443
-		if (!empty($context['profile_header_text']))
1444
-			echo '
1508
+		if (!empty($context['profile_header_text'])) {
1509
+					echo '
1445 1510
 					', $context['profile_header_text'];
1446
-		else
1447
-			echo '
1511
+		} else {
1512
+					echo '
1448 1513
 					', $txt['profile'];
1514
+		}
1449 1515
 
1450 1516
 		echo '
1451 1517
 				</h3>
1452 1518
 			</div>';
1453 1519
 
1454 1520
 	// Have we some description?
1455
-	if ($context['page_desc'])
1456
-		echo '
1521
+	if ($context['page_desc']) {
1522
+			echo '
1457 1523
 			<p class="information">', $context['page_desc'], '</p>';
1524
+	}
1458 1525
 
1459 1526
 	echo '
1460 1527
 			<div class="roundframe">';
1461 1528
 
1462 1529
 	// Any bits at the start?
1463
-	if (!empty($context['profile_prehtml']))
1464
-		echo '
1530
+	if (!empty($context['profile_prehtml'])) {
1531
+			echo '
1465 1532
 				<div>', $context['profile_prehtml'], '</div>';
1533
+	}
1466 1534
 
1467
-	if (!empty($context['profile_fields']))
1468
-		echo '
1535
+	if (!empty($context['profile_fields'])) {
1536
+			echo '
1469 1537
 				<dl class="settings">';
1538
+	}
1470 1539
 
1471 1540
 	// Start the big old loop 'of love.
1472 1541
 	$lastItem = 'hr';
1473 1542
 	foreach ($context['profile_fields'] as $key => $field)
1474 1543
 	{
1475 1544
 		// We add a little hack to be sure we never get more than one hr in a row!
1476
-		if ($lastItem == 'hr' && $field['type'] == 'hr')
1477
-			continue;
1545
+		if ($lastItem == 'hr' && $field['type'] == 'hr') {
1546
+					continue;
1547
+		}
1478 1548
 
1479 1549
 		$lastItem = $field['type'];
1480
-		if ($field['type'] == 'hr')
1481
-			echo '
1550
+		if ($field['type'] == 'hr') {
1551
+					echo '
1482 1552
 				</dl>
1483 1553
 				<hr>
1484 1554
 				<dl class="settings">';
1485
-
1486
-		elseif ($field['type'] == 'callback')
1555
+		} elseif ($field['type'] == 'callback')
1487 1556
 		{
1488 1557
 			if (isset($field['callback_func']) && function_exists('template_profile_' . $field['callback_func']))
1489 1558
 			{
1490 1559
 				$callback_func = 'template_profile_' . $field['callback_func'];
1491 1560
 				$callback_func();
1492 1561
 			}
1493
-		}
1494
-		else
1562
+		} else
1495 1563
 		{
1496 1564
 			echo '
1497 1565
 					<dt>
1498 1566
 						<strong', !empty($field['is_error']) ? ' class="error"' : '', '>', $field['type'] !== 'label' ? '<label for="' . $key . '">' : '', $field['label'], $field['type'] !== 'label' ? '</label>' : '', '</strong>';
1499 1567
 
1500 1568
 			// Does it have any subtext to show?
1501
-			if (!empty($field['subtext']))
1502
-				echo '
1569
+			if (!empty($field['subtext'])) {
1570
+							echo '
1503 1571
 						<br>
1504 1572
 						<span class="smalltext">', $field['subtext'], '</span>';
1573
+			}
1505 1574
 
1506 1575
 			echo '
1507 1576
 					</dt>
1508 1577
 					<dd>';
1509 1578
 
1510 1579
 			// Want to put something infront of the box?
1511
-			if (!empty($field['preinput']))
1512
-				echo '
1580
+			if (!empty($field['preinput'])) {
1581
+							echo '
1513 1582
 						', $field['preinput'];
1583
+			}
1514 1584
 
1515 1585
 			// What type of data are we showing?
1516
-			if ($field['type'] == 'label')
1517
-				echo '
1586
+			if ($field['type'] == 'label') {
1587
+							echo '
1518 1588
 						', $field['value'];
1589
+			}
1519 1590
 
1520 1591
 			// Maybe it's a text box - very likely!
1521 1592
 			elseif (in_array($field['type'], array('int', 'float', 'text', 'password', 'color', 'date', 'datetime', 'datetime-local', 'email', 'month', 'number', 'time', 'url')))
1522 1593
 			{
1523
-				if ($field['type'] == 'int' || $field['type'] == 'float')
1524
-					$type = 'number';
1525
-				else
1526
-					$type = $field['type'];
1594
+				if ($field['type'] == 'int' || $field['type'] == 'float') {
1595
+									$type = 'number';
1596
+				} else {
1597
+									$type = $field['type'];
1598
+				}
1527 1599
 				$step = $field['type'] == 'float' ? ' step="0.1"' : '';
1528 1600
 
1529 1601
 
@@ -1531,10 +1603,11 @@  discard block
 block discarded – undo
1531 1603
 						<input type="', $type, '" name="', $key, '" id="', $key, '" size="', empty($field['size']) ? 30 : $field['size'], '" value="', $field['value'], '" ', $field['input_attr'], ' ', $step, '>';
1532 1604
 			}
1533 1605
 			// You "checking" me out? ;)
1534
-			elseif ($field['type'] == 'check')
1535
-				echo '
1606
+			elseif ($field['type'] == 'check') {
1607
+							echo '
1536 1608
 						<input type="hidden" name="', $key, '" value="0">
1537 1609
 						<input type="checkbox" name="', $key, '" id="', $key, '"', !empty($field['value']) ? ' checked' : '', ' value="1" ', $field['input_attr'], '>';
1610
+			}
1538 1611
 
1539 1612
 			// Always fun - select boxes!
1540 1613
 			elseif ($field['type'] == 'select')
@@ -1545,14 +1618,16 @@  discard block
 block discarded – undo
1545 1618
 				if (isset($field['options']))
1546 1619
 				{
1547 1620
 					// Is this some code to generate the options?
1548
-					if (!is_array($field['options']))
1549
-						$field['options'] = $field['options']();
1621
+					if (!is_array($field['options'])) {
1622
+											$field['options'] = $field['options']();
1623
+					}
1550 1624
 
1551 1625
 					// Assuming we now have some!
1552
-					if (is_array($field['options']))
1553
-						foreach ($field['options'] as $value => $name)
1626
+					if (is_array($field['options'])) {
1627
+											foreach ($field['options'] as $value => $name)
1554 1628
 							echo '
1555 1629
 							<option', is_numeric($value) ? ' value="" disabled' : ' value="' . $value . '"', $value === $field['value'] ? ' selected' : '', '>', $name, '</option>';
1630
+					}
1556 1631
 				}
1557 1632
 
1558 1633
 				echo '
@@ -1560,31 +1635,34 @@  discard block
 block discarded – undo
1560 1635
 			}
1561 1636
 
1562 1637
 			// Something to end with?
1563
-			if (!empty($field['postinput']))
1564
-				echo '
1638
+			if (!empty($field['postinput'])) {
1639
+							echo '
1565 1640
 						', $field['postinput'];
1641
+			}
1566 1642
 
1567 1643
 			echo '
1568 1644
 					</dd>';
1569 1645
 		}
1570 1646
 	}
1571 1647
 
1572
-	if (!empty($context['profile_fields']))
1573
-		echo '
1648
+	if (!empty($context['profile_fields'])) {
1649
+			echo '
1574 1650
 				</dl>';
1651
+	}
1575 1652
 
1576 1653
 	// Are there any custom profile fields - if so print them!
1577 1654
 	if (!empty($context['custom_fields']))
1578 1655
 	{
1579
-		if ($lastItem != 'hr')
1580
-			echo '
1656
+		if ($lastItem != 'hr') {
1657
+					echo '
1581 1658
 				<hr>';
1659
+		}
1582 1660
 
1583 1661
 		echo '
1584 1662
 				<dl class="settings">';
1585 1663
 
1586
-		foreach ($context['custom_fields'] as $field)
1587
-			echo '
1664
+		foreach ($context['custom_fields'] as $field) {
1665
+					echo '
1588 1666
 					<dt>
1589 1667
 						<strong>', $field['name'], ': </strong><br>
1590 1668
 						<span class="smalltext">', $field['desc'], '</span>
@@ -1592,19 +1670,21 @@  discard block
 block discarded – undo
1592 1670
 					<dd>
1593 1671
 						', $field['input_html'], '
1594 1672
 					</dd>';
1673
+		}
1595 1674
 
1596 1675
 		echo '
1597 1676
 				</dl>';
1598 1677
 	}
1599 1678
 
1600 1679
 	// Any closing HTML?
1601
-	if (!empty($context['profile_posthtml']))
1602
-		echo '
1680
+	if (!empty($context['profile_posthtml'])) {
1681
+			echo '
1603 1682
 				<div>', $context['profile_posthtml'], '</div>';
1683
+	}
1604 1684
 
1605 1685
 	// Only show the password box if it's actually needed.
1606
-	if ($context['require_password'])
1607
-		echo '
1686
+	if ($context['require_password']) {
1687
+			echo '
1608 1688
 				<dl class="settings">
1609 1689
 					<dt>
1610 1690
 						<strong', isset($context['modify_error']['bad_password']) || isset($context['modify_error']['no_password']) ? ' class="error"' : '', '><label for="oldpasswrd">', $txt['current_password'], ': </label></strong><br>
@@ -1614,18 +1694,21 @@  discard block
 block discarded – undo
1614 1694
 						<input type="password" name="oldpasswrd" id="oldpasswrd" size="20">
1615 1695
 					</dd>
1616 1696
 				</dl>';
1697
+	}
1617 1698
 
1618 1699
 	// The button shouldn't say "Change profile" unless we're changing the profile...
1619
-	if (!empty($context['submit_button_text']))
1620
-		echo '
1700
+	if (!empty($context['submit_button_text'])) {
1701
+			echo '
1621 1702
 				<input type="submit" name="save" value="', $context['submit_button_text'], '" class="button floatright">';
1622
-	else
1623
-		echo '
1703
+	} else {
1704
+			echo '
1624 1705
 				<input type="submit" name="save" value="', $txt['change_profile'], '" class="button floatright">';
1706
+	}
1625 1707
 
1626
-	if (!empty($context['token_check']))
1627
-		echo '
1708
+	if (!empty($context['token_check'])) {
1709
+			echo '
1628 1710
 				<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
1711
+	}
1629 1712
 
1630 1713
 	echo '
1631 1714
 				<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -1635,10 +1718,11 @@  discard block
 block discarded – undo
1635 1718
 		</form>';
1636 1719
 
1637 1720
 	// Any final spellchecking stuff?
1638
-	if (!empty($context['show_spellchecking']))
1639
-		echo '
1721
+	if (!empty($context['show_spellchecking'])) {
1722
+			echo '
1640 1723
 		<form name="spell_form" id="spell_form" method="post" accept-charset="', $context['character_set'], '" target="spellWindow" action="', $scripturl, '?action=spellcheck"><input type="hidden" name="spellstring" value=""></form>';
1641
-}
1724
+	}
1725
+	}
1642 1726
 
1643 1727
 /**
1644 1728
  * Personal Message settings.
@@ -1675,10 +1759,11 @@  discard block
 block discarded – undo
1675 1759
 						<select name="pm_receive_from" id="pm_receive_from">
1676 1760
 							<option value="0"', empty($context['receive_from']) || (empty($modSettings['enable_buddylist']) && $context['receive_from'] < 3) ? ' selected' : '', '>', $txt['pm_receive_from_everyone'], '</option>';
1677 1761
 
1678
-	if (!empty($modSettings['enable_buddylist']))
1679
-		echo '
1762
+	if (!empty($modSettings['enable_buddylist'])) {
1763
+			echo '
1680 1764
 							<option value="1"', !empty($context['receive_from']) && $context['receive_from'] == 1 ? ' selected' : '', '>', $txt['pm_receive_from_ignore'], '</option>
1681 1765
 							<option value="2"', !empty($context['receive_from']) && $context['receive_from'] == 2 ? ' selected' : '', '>', $txt['pm_receive_from_buddies'], '</option>';
1766
+	}
1682 1767
 
1683 1768
 	echo '
1684 1769
 							<option value="3"', !empty($context['receive_from']) && $context['receive_from'] > 2 ? ' selected' : '', '>', $txt['pm_receive_from_admins'], '</option>
@@ -1721,11 +1806,12 @@  discard block
 block discarded – undo
1721 1806
 		if (empty($setting) || !is_array($setting))
1722 1807
 		{
1723 1808
 			// Insert a separator (unless this is the first item in the list)
1724
-			if ($i !== $first_option_key)
1725
-				echo '
1809
+			if ($i !== $first_option_key) {
1810
+							echo '
1726 1811
 				</dl>
1727 1812
 				<hr>
1728 1813
 				<dl class="settings">';
1814
+			}
1729 1815
 
1730 1816
 			// Should we give a name to this section?
1731 1817
 			if (is_string($setting) && !empty($setting))
@@ -1734,51 +1820,55 @@  discard block
 block discarded – undo
1734 1820
 				echo '
1735 1821
 					<dt><strong>' . $setting . '</strong></dt>
1736 1822
 					<dd></dd>';
1823
+			} else {
1824
+							$titled_section = false;
1737 1825
 			}
1738
-			else
1739
-				$titled_section = false;
1740 1826
 
1741 1827
 			continue;
1742 1828
 		}
1743 1829
 
1744 1830
 		// Is this disabled?
1745
-		if (isset($setting['enabled']) && $setting['enabled'] === false)
1746
-			continue;
1831
+		if (isset($setting['enabled']) && $setting['enabled'] === false) {
1832
+					continue;
1833
+		}
1747 1834
 
1748 1835
 		// Some of these may not be set...  Set to defaults here
1749 1836
 		$opts = array('calendar_start_day', 'topics_per_page', 'messages_per_page', 'display_quick_mod');
1750
-		if (in_array($setting['id'], $opts) && !isset($context['member']['options'][$setting['id']]))
1751
-			$context['member']['options'][$setting['id']] = 0;
1752
-
1753
-		if (!isset($setting['type']) || $setting['type'] == 'bool')
1754
-			$setting['type'] = 'checkbox';
1755
-
1756
-		elseif ($setting['type'] == 'int' || $setting['type'] == 'integer')
1757
-			$setting['type'] = 'number';
1837
+		if (in_array($setting['id'], $opts) && !isset($context['member']['options'][$setting['id']])) {
1838
+					$context['member']['options'][$setting['id']] = 0;
1839
+		}
1758 1840
 
1759
-		elseif ($setting['type'] == 'string')
1760
-			$setting['type'] = 'text';
1841
+		if (!isset($setting['type']) || $setting['type'] == 'bool') {
1842
+					$setting['type'] = 'checkbox';
1843
+		} elseif ($setting['type'] == 'int' || $setting['type'] == 'integer') {
1844
+					$setting['type'] = 'number';
1845
+		} elseif ($setting['type'] == 'string') {
1846
+					$setting['type'] = 'text';
1847
+		}
1761 1848
 
1762
-		if (isset($setting['options']))
1763
-			$setting['type'] = 'list';
1849
+		if (isset($setting['options'])) {
1850
+					$setting['type'] = 'list';
1851
+		}
1764 1852
 
1765 1853
 		echo '
1766 1854
 					<dt>
1767 1855
 						<label for="', $setting['id'], '">', !$titled_section ? '<strong>' : '', $setting['label'], !$titled_section ? '</strong>' : '', '</label>';
1768 1856
 
1769
-		if (isset($setting['description']))
1770
-			echo '
1857
+		if (isset($setting['description'])) {
1858
+					echo '
1771 1859
 						<br>
1772 1860
 						<span class="smalltext">', $setting['description'], '</span>';
1861
+		}
1773 1862
 		echo '
1774 1863
 					</dt>
1775 1864
 					<dd>';
1776 1865
 
1777 1866
 		// Display checkbox options
1778
-		if ($setting['type'] == 'checkbox')
1779
-			echo '
1867
+		if ($setting['type'] == 'checkbox') {
1868
+					echo '
1780 1869
 						<input type="hidden" name="default_options[' . $setting['id'] . ']" value="0">
1781 1870
 						<input type="checkbox" name="default_options[', $setting['id'], ']" id="', $setting['id'], '"', !empty($context['member']['options'][$setting['id']]) ? ' checked' : '', ' value="1">';
1871
+		}
1782 1872
 
1783 1873
 		// How about selection lists, we all love them
1784 1874
 		elseif ($setting['type'] == 'list')
@@ -1786,9 +1876,10 @@  discard block
 block discarded – undo
1786 1876
 			echo '
1787 1877
 						<select name="default_options[', $setting['id'], ']" id="', $setting['id'], '"', '>';
1788 1878
 
1789
-			foreach ($setting['options'] as $value => $label)
1790
-				echo '
1879
+			foreach ($setting['options'] as $value => $label) {
1880
+							echo '
1791 1881
 							<option value="', $value, '"', $value == $context['member']['options'][$setting['id']] ? ' selected' : '', '>', $label, '</option>';
1882
+			}
1792 1883
 
1793 1884
 			echo '
1794 1885
 						</select>';
@@ -1804,14 +1895,13 @@  discard block
 block discarded – undo
1804 1895
 
1805 1896
 				echo '
1806 1897
 						<input type="number"', $min . $max . $step;
1807
-			}
1808
-			elseif (isset($setting['type']) && $setting['type'] == 'url')
1809
-				echo'
1898
+			} elseif (isset($setting['type']) && $setting['type'] == 'url') {
1899
+							echo'
1810 1900
 						<input type="url"';
1811
-
1812
-			else
1813
-				echo '
1901
+			} else {
1902
+							echo '
1814 1903
 						<input type="text"';
1904
+			}
1815 1905
 
1816 1906
 			echo ' name="default_options[', $setting['id'], ']" id="', $setting['id'], '" value="', isset($context['member']['options'][$setting['id']]) ? $context['member']['options'][$setting['id']] : $setting['value'], '"', $setting['type'] == 'number' ? ' size="5"' : '', '>';
1817 1907
 		}
@@ -1848,8 +1938,8 @@  discard block
 block discarded – undo
1848 1938
 				<dl class="settings">';
1849 1939
 
1850 1940
 	// Allow notification on announcements to be disabled?
1851
-	if (!empty($modSettings['allow_disableAnnounce']))
1852
-		echo '
1941
+	if (!empty($modSettings['allow_disableAnnounce'])) {
1942
+			echo '
1853 1943
 					<dt>
1854 1944
 						<label for="notify_announcements">', $txt['notify_important_email'], '</label>
1855 1945
 					</dt>
@@ -1857,15 +1947,17 @@  discard block
 block discarded – undo
1857 1947
 						<input type="hidden" name="notify_announcements" value="0">
1858 1948
 						<input type="checkbox" id="notify_announcements" name="notify_announcements" value="1"', !empty($context['member']['notify_announcements']) ? ' checked' : '', '>
1859 1949
 					</dd>';
1950
+	}
1860 1951
 
1861
-	if (!empty($modSettings['enable_ajax_alerts']))
1862
-		echo '
1952
+	if (!empty($modSettings['enable_ajax_alerts'])) {
1953
+			echo '
1863 1954
 					<dt>
1864 1955
 						<label for="notify_send_body">', $txt['notify_alert_timeout'], '</label>
1865 1956
 					</dt>
1866 1957
 					<dd>
1867 1958
 						<input type="number" size="4" id="notify_alert_timeout" name="opt_alert_timeout" min="0" value="', $context['member']['alert_timeout'], '">
1868 1959
 					</dd>';
1960
+	}
1869 1961
 
1870 1962
 	echo '
1871 1963
 				</dl>
@@ -1897,9 +1989,10 @@  discard block
 block discarded – undo
1897 1989
 
1898 1990
 				$label = $txt['alert_opt_' . $opts[1]];
1899 1991
 				$label_pos = isset($opts['label']) ? $opts['label'] : '';
1900
-				if ($label_pos == 'before')
1901
-					echo '
1992
+				if ($label_pos == 'before') {
1993
+									echo '
1902 1994
 						<label for="opt_', $opts[1], '">', $label, '</label>';
1995
+				}
1903 1996
 
1904 1997
 				$this_value = isset($context['alert_prefs'][$opts[1]]) ? $context['alert_prefs'][$opts[1]] : 0;
1905 1998
 				switch ($opts[0])
@@ -1913,17 +2006,19 @@  discard block
 block discarded – undo
1913 2006
 						echo '
1914 2007
 						<select name="opt_', $opts[1], '" id="opt_', $opts[1], '">';
1915 2008
 
1916
-						foreach ($opts['opts'] as $k => $v)
1917
-							echo '
2009
+						foreach ($opts['opts'] as $k => $v) {
2010
+													echo '
1918 2011
 							<option value="', $k, '"', $this_value == $k ? ' selected' : '', '>', $v, '</option>';
2012
+						}
1919 2013
 						echo '
1920 2014
 						</select>';
1921 2015
 						break;
1922 2016
 				}
1923 2017
 
1924
-				if ($label_pos == 'after')
1925
-					echo '
2018
+				if ($label_pos == 'after') {
2019
+									echo '
1926 2020
 						<label for="opt_', $opts[1], '">', $label, '</label>';
2021
+				}
1927 2022
 
1928 2023
 				echo '
1929 2024
 					</td>
@@ -2040,11 +2135,12 @@  discard block
 block discarded – undo
2040 2135
 			<p class="information">', $txt['groupMembership_info'], '</p>';
2041 2136
 
2042 2137
 	// Do we have an update message?
2043
-	if (!empty($context['update_message']))
2044
-		echo '
2138
+	if (!empty($context['update_message'])) {
2139
+			echo '
2045 2140
 			<div class="infobox">
2046 2141
 				', $context['update_message'], '.
2047 2142
 			</div>';
2143
+	}
2048 2144
 
2049 2145
 	echo '
2050 2146
 			<div id="groups">';
@@ -2066,8 +2162,7 @@  discard block
 block discarded – undo
2066 2162
 						</div>
2067 2163
 					</div>
2068 2164
 				</div><!-- .groupmembership -->';
2069
-	}
2070
-	else
2165
+	} else
2071 2166
 	{
2072 2167
 		echo '
2073 2168
 				<div class="title_bar">
@@ -2079,27 +2174,30 @@  discard block
 block discarded – undo
2079 2174
 			echo '
2080 2175
 				<div class="windowbg" id="primdiv_', $group['id'], '">';
2081 2176
 
2082
-				if ($context['can_edit_primary'])
2083
-					echo '
2177
+				if ($context['can_edit_primary']) {
2178
+									echo '
2084 2179
 					<input type="radio" name="primary" id="primary_', $group['id'], '" value="', $group['id'], '"', $group['is_primary'] ? ' checked' : '', ' onclick="highlightSelected(\'primdiv_' . $group['id'] . '\');"', $group['can_be_primary'] ? '' : ' disabled', '>';
2180
+				}
2085 2181
 
2086 2182
 				echo '
2087 2183
 					<label for="primary_', $group['id'], '"><strong>', (empty($group['color']) ? $group['name'] : '<span style="color: ' . $group['color'] . '">' . $group['name'] . '</span>'), '</strong>', (!empty($group['desc']) ? '<br><span class="smalltext">' . $group['desc'] . '</span>' : ''), '</label>';
2088 2184
 
2089 2185
 				// Can they leave their group?
2090
-				if ($group['can_leave'])
2091
-					echo '
2186
+				if ($group['can_leave']) {
2187
+									echo '
2092 2188
 					<a href="' . $scripturl . '?action=profile;save;u=' . $context['id_member'] . ';area=groupmembership;' . $context['session_var'] . '=' . $context['session_id'] . ';gid=' . $group['id'] . ';', $context[$context['token_check'] . '_token_var'], '=', $context[$context['token_check'] . '_token'], '">' . $txt['leave_group'] . '</a>';
2189
+				}
2093 2190
 
2094 2191
 				echo '
2095 2192
 				</div><!-- .windowbg -->';
2096 2193
 		}
2097 2194
 
2098
-		if ($context['can_edit_primary'])
2099
-			echo '
2195
+		if ($context['can_edit_primary']) {
2196
+					echo '
2100 2197
 				<div class="padding righttext">
2101 2198
 					<input type="submit" value="', $txt['make_primary'], '" class="button">
2102 2199
 				</div>';
2200
+		}
2103 2201
 
2104 2202
 		// Any groups they can join?
2105 2203
 		if (!empty($context['groups']['available']))
@@ -2115,17 +2213,16 @@  discard block
 block discarded – undo
2115 2213
 				<div class="windowbg">
2116 2214
 					<strong>', (empty($group['color']) ? $group['name'] : '<span style="color: ' . $group['color'] . '">' . $group['name'] . '</span>'), '</strong>', (!empty($group['desc']) ? '<br><span class="smalltext">' . $group['desc'] . '</span>' : ''), '';
2117 2215
 
2118
-				if ($group['type'] == 3)
2119
-					echo '
2216
+				if ($group['type'] == 3) {
2217
+									echo '
2120 2218
 					<a href="', $scripturl, '?action=profile;save;u=', $context['id_member'], ';area=groupmembership;', $context['session_var'], '=', $context['session_id'], ';gid=', $group['id'], ';', $context[$context['token_check'] . '_token_var'], '=', $context[$context['token_check'] . '_token'], '" class="button floatright">', $txt['join_group'], '</a>';
2121
-
2122
-				elseif ($group['type'] == 2 && $group['pending'])
2123
-					echo '
2219
+				} elseif ($group['type'] == 2 && $group['pending']) {
2220
+									echo '
2124 2221
 					<span class="floatright">', $txt['approval_pending'], '</span>';
2125
-
2126
-				elseif ($group['type'] == 2)
2127
-					echo '
2222
+				} elseif ($group['type'] == 2) {
2223
+									echo '
2128 2224
 					<a href="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=groupmembership;request=', $group['id'], '" class="button floatright">', $txt['request_group'], '</a>';
2225
+				}
2129 2226
 
2130 2227
 				echo '
2131 2228
 				</div><!-- .windowbg -->';
@@ -2148,9 +2245,10 @@  discard block
 block discarded – undo
2148 2245
 
2149 2246
 						prevDiv.className = "windowbg";
2150 2247
 					}';
2151
-		if (isset($context['groups']['member'][$context['primary_group']]))
2152
-			echo '
2248
+		if (isset($context['groups']['member'][$context['primary_group']])) {
2249
+					echo '
2153 2250
 					highlightSelected("primdiv_' . $context['primary_group'] . '");';
2251
+		}
2154 2252
 
2155 2253
 		echo '
2156 2254
 				</script>';
@@ -2159,9 +2257,10 @@  discard block
 block discarded – undo
2159 2257
 	echo '
2160 2258
 			</div><!-- #groups -->';
2161 2259
 
2162
-	if (!empty($context['token_check']))
2163
-		echo '
2260
+	if (!empty($context['token_check'])) {
2261
+			echo '
2164 2262
 			<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
2263
+	}
2165 2264
 
2166 2265
 	echo '
2167 2266
 			<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -2209,14 +2308,15 @@  discard block
 block discarded – undo
2209 2308
 
2210 2309
 		foreach ($category['boards'] as $board)
2211 2310
 		{
2212
-			if ($i == $limit)
2213
-				echo '
2311
+			if ($i == $limit) {
2312
+							echo '
2214 2313
 						</ul>
2215 2314
 					</li>
2216 2315
 				</ul>
2217 2316
 				<ul class="ignoreboards floatright">
2218 2317
 					<li class="category">
2219 2318
 						<ul>';
2319
+			}
2220 2320
 
2221 2321
 			echo '
2222 2322
 							<li class="board" style="margin-', $context['right_to_left'] ? 'right' : 'left', ': ', $board['child_level'], 'em;">
@@ -2261,10 +2361,11 @@  discard block
 block discarded – undo
2261 2361
 
2262 2362
 	// Work out the starting warning.
2263 2363
 	$context['current_warning_mode'] = $context['warning_mode'][0];
2264
-	foreach ($context['warning_mode'] as $limit => $warning)
2265
-		if ($context['member']['warning'] >= $limit)
2364
+	foreach ($context['warning_mode'] as $limit => $warning) {
2365
+			if ($context['member']['warning'] >= $limit)
2266 2366
 			$context['current_warning_mode'] = $warning;
2267
-}
2367
+	}
2368
+	}
2268 2369
 
2269 2370
 // Show all warnings of a user?
2270 2371
 function template_viewWarning()
@@ -2299,14 +2400,15 @@  discard block
 block discarded – undo
2299 2400
 				</dd>';
2300 2401
 
2301 2402
 	// There's some impact of this?
2302
-	if (!empty($context['level_effects'][$context['current_level']]))
2303
-		echo '
2403
+	if (!empty($context['level_effects'][$context['current_level']])) {
2404
+			echo '
2304 2405
 				<dt>
2305 2406
 					<strong>', $txt['profile_viewwarning_impact'], ':</strong>
2306 2407
 				</dt>
2307 2408
 				<dd>
2308 2409
 					', $context['level_effects'][$context['current_level']], '
2309 2410
 				</dd>';
2411
+	}
2310 2412
 
2311 2413
 	echo '
2312 2414
 			</dl>
@@ -2344,10 +2446,11 @@  discard block
 block discarded – undo
2344 2446
 
2345 2447
 			// Otherwise see what we can do...';
2346 2448
 
2347
-	foreach ($context['notification_templates'] as $k => $type)
2348
-		echo '
2449
+	foreach ($context['notification_templates'] as $k => $type) {
2450
+			echo '
2349 2451
 			if (index == ', $k, ')
2350 2452
 				document.getElementById(\'warn_body\').value = "', strtr($type['body'], array('"' => "'", "\n" => '\\n', "\r" => '')), '";';
2453
+	}
2351 2454
 
2352 2455
 	echo '
2353 2456
 		}
@@ -2357,10 +2460,11 @@  discard block
 block discarded – undo
2357 2460
 			// Also set the right effect.
2358 2461
 			effectText = "";';
2359 2462
 
2360
-	foreach ($context['level_effects'] as $limit => $text)
2361
-		echo '
2463
+	foreach ($context['level_effects'] as $limit => $text) {
2464
+			echo '
2362 2465
 			if (slideAmount >= ', $limit, ')
2363 2466
 				effectText = "', $text, '";';
2467
+	}
2364 2468
 
2365 2469
 	echo '
2366 2470
 			setInnerHTML(document.getElementById(\'cur_level_div\'), slideAmount + \'% (\' + effectText + \')\');
@@ -2375,32 +2479,35 @@  discard block
 block discarded – undo
2375 2479
 			</h3>
2376 2480
 		</div>';
2377 2481
 
2378
-	if (!$context['user']['is_owner'])
2379
-		echo '
2482
+	if (!$context['user']['is_owner']) {
2483
+			echo '
2380 2484
 		<p class="information">', $txt['profile_warning_desc'], '</p>';
2485
+	}
2381 2486
 
2382 2487
 	echo '
2383 2488
 		<div class="windowbg">
2384 2489
 			<dl class="settings">';
2385 2490
 
2386
-	if (!$context['user']['is_owner'])
2387
-		echo '
2491
+	if (!$context['user']['is_owner']) {
2492
+			echo '
2388 2493
 				<dt>
2389 2494
 					<strong>', $txt['profile_warning_name'], ':</strong>
2390 2495
 				</dt>
2391 2496
 				<dd>
2392 2497
 					<strong>', $context['member']['name'], '</strong>
2393 2498
 				</dd>';
2499
+	}
2394 2500
 
2395 2501
 	echo '
2396 2502
 				<dt>
2397 2503
 					<strong>', $txt['profile_warning_level'], ':</strong>';
2398 2504
 
2399 2505
 	// Is there only so much they can apply?
2400
-	if ($context['warning_limit'])
2401
-		echo '
2506
+	if ($context['warning_limit']) {
2507
+			echo '
2402 2508
 					<br>
2403 2509
 					<span class="smalltext">', sprintf($txt['profile_warning_limit_attribute'], $context['warning_limit']), '</span>';
2510
+	}
2404 2511
 
2405 2512
 	echo '
2406 2513
 				</dt>
@@ -2455,9 +2562,10 @@  discard block
 block discarded – undo
2455 2562
 						<option value="-1">', $txt['profile_warning_notify_template'], '</option>
2456 2563
 						<option value="-1" disabled>------------------------------</option>';
2457 2564
 
2458
-		foreach ($context['notification_templates'] as $id_template => $template)
2459
-			echo '
2565
+		foreach ($context['notification_templates'] as $id_template => $template) {
2566
+					echo '
2460 2567
 						<option value="', $id_template, '">', $template['title'], '</option>';
2568
+		}
2461 2569
 
2462 2570
 		echo '
2463 2571
 					</select>
@@ -2470,9 +2578,10 @@  discard block
 block discarded – undo
2470 2578
 			</dl>
2471 2579
 			<div class="righttext">';
2472 2580
 
2473
-	if (!empty($context['token_check']))
2474
-		echo '
2581
+	if (!empty($context['token_check'])) {
2582
+			echo '
2475 2583
 				<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
2584
+	}
2476 2585
 
2477 2586
 	echo '
2478 2587
 				<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -2488,8 +2597,8 @@  discard block
 block discarded – undo
2488 2597
 	echo '
2489 2598
 	<script>';
2490 2599
 
2491
-	if (!$context['user']['is_owner'])
2492
-		echo '
2600
+	if (!$context['user']['is_owner']) {
2601
+			echo '
2493 2602
 		modifyWarnNotify();
2494 2603
 		$(document).ready(function() {
2495 2604
 			$("#preview_button").click(function() {
@@ -2528,6 +2637,7 @@  discard block
 block discarded – undo
2528 2637
 			});
2529 2638
 			return false;
2530 2639
 		}';
2640
+	}
2531 2641
 
2532 2642
 	echo '
2533 2643
 	</script>';
@@ -2550,17 +2660,19 @@  discard block
 block discarded – undo
2550 2660
 			</div>';
2551 2661
 
2552 2662
 	// If deleting another account give them a lovely info box.
2553
-	if (!$context['user']['is_owner'])
2554
-		echo '
2663
+	if (!$context['user']['is_owner']) {
2664
+			echo '
2555 2665
 			<p class="information">', $txt['deleteAccount_desc'], '</p>';
2666
+	}
2556 2667
 
2557 2668
 	echo '
2558 2669
 			<div class="windowbg">';
2559 2670
 
2560 2671
 	// If they are deleting their account AND the admin needs to approve it - give them another piece of info ;)
2561
-	if ($context['needs_approval'])
2562
-		echo '
2672
+	if ($context['needs_approval']) {
2673
+			echo '
2563 2674
 				<div class="errorbox">', $txt['deleteAccount_approval'], '</div>';
2675
+	}
2564 2676
 
2565 2677
 	// If the user is deleting their own account warn them first - and require a password!
2566 2678
 	if ($context['user']['is_owner'])
@@ -2572,9 +2684,10 @@  discard block
 block discarded – undo
2572 2684
 					<input type="password" name="oldpasswrd" size="20">
2573 2685
 					<input type="submit" value="', $txt['yes'], '" class="button">';
2574 2686
 
2575
-		if (!empty($context['token_check']))
2576
-			echo '
2687
+		if (!empty($context['token_check'])) {
2688
+					echo '
2577 2689
 					<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
2690
+		}
2578 2691
 
2579 2692
 		echo '
2580 2693
 					<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -2604,10 +2717,11 @@  discard block
 block discarded – undo
2604 2717
 						<option value="topics">', $txt['deleteAccount_topics'], '</option>
2605 2718
 					</select>';
2606 2719
 
2607
-			if ($context['show_perma_delete'])
2608
-				echo '
2720
+			if ($context['show_perma_delete']) {
2721
+							echo '
2609 2722
 					<br>
2610 2723
 					<label for="perma_delete"><input type="checkbox" name="perma_delete" id="perma_delete" value="1">', $txt['deleteAccount_permanent'], ':</label>';
2724
+			}
2611 2725
 
2612 2726
 			echo '
2613 2727
 				</div>';
@@ -2620,9 +2734,10 @@  discard block
 block discarded – undo
2620 2734
 				<div>
2621 2735
 					<input type="submit" value="', $txt['delete'], '" class="button">';
2622 2736
 
2623
-		if (!empty($context['token_check']))
2624
-			echo '
2737
+		if (!empty($context['token_check'])) {
2738
+					echo '
2625 2739
 				<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
2740
+		}
2626 2741
 
2627 2742
 		echo '
2628 2743
 					<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -2648,8 +2763,8 @@  discard block
 block discarded – undo
2648 2763
 					<hr>';
2649 2764
 
2650 2765
 	// Only show the password box if it's actually needed.
2651
-	if ($context['require_password'])
2652
-		echo '
2766
+	if ($context['require_password']) {
2767
+			echo '
2653 2768
 					<dl class="settings">
2654 2769
 						<dt>
2655 2770
 							<strong', isset($context['modify_error']['bad_password']) || isset($context['modify_error']['no_password']) ? ' class="error"' : '', '>', $txt['current_password'], ': </strong><br>
@@ -2659,13 +2774,15 @@  discard block
 block discarded – undo
2659 2774
 							<input type="password" name="oldpasswrd" size="20">
2660 2775
 						</dd>
2661 2776
 					</dl>';
2777
+	}
2662 2778
 
2663 2779
 	echo '
2664 2780
 					<div class="righttext">';
2665 2781
 
2666
-	if (!empty($context['token_check']))
2667
-		echo '
2782
+	if (!empty($context['token_check'])) {
2783
+			echo '
2668 2784
 						<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
2785
+	}
2669 2786
 
2670 2787
 	echo '
2671 2788
 						<input type="submit" value="', $txt['change_profile'], '" class="button">
@@ -2692,9 +2809,10 @@  discard block
 block discarded – undo
2692 2809
 			<ul id="list_errors">';
2693 2810
 
2694 2811
 		// Cycle through each error and display an error message.
2695
-		foreach ($context['post_errors'] as $error)
2696
-			echo '
2812
+		foreach ($context['post_errors'] as $error) {
2813
+					echo '
2697 2814
 				<li>', isset($txt['profile_error_' . $error]) ? $txt['profile_error_' . $error] : $error, '</li>';
2815
+		}
2698 2816
 
2699 2817
 		echo '
2700 2818
 			</ul>';
@@ -2720,12 +2838,13 @@  discard block
 block discarded – undo
2720 2838
 								<select name="id_group" ', ($context['user']['is_owner'] && $context['member']['group_id'] == 1 ? 'onchange="if (this.value != 1 &amp;&amp; !confirm(\'' . $txt['deadmin_confirm'] . '\')) this.value = 1;"' : ''), '>';
2721 2839
 
2722 2840
 	// Fill the select box with all primary member groups that can be assigned to a member.
2723
-	foreach ($context['member_groups'] as $member_group)
2724
-		if (!empty($member_group['can_be_primary']))
2841
+	foreach ($context['member_groups'] as $member_group) {
2842
+			if (!empty($member_group['can_be_primary']))
2725 2843
 			echo '
2726 2844
 									<option value="', $member_group['id'], '"', $member_group['is_primary'] ? ' selected' : '', '>
2727 2845
 										', $member_group['name'], '
2728 2846
 									</option>';
2847
+	}
2729 2848
 
2730 2849
 	echo '
2731 2850
 								</select>
@@ -2738,10 +2857,11 @@  discard block
 block discarded – undo
2738 2857
 									<input type="hidden" name="additional_groups[]" value="0">';
2739 2858
 
2740 2859
 	// For each membergroup show a checkbox so members can be assigned to more than one group.
2741
-	foreach ($context['member_groups'] as $member_group)
2742
-		if ($member_group['can_be_additional'])
2860
+	foreach ($context['member_groups'] as $member_group) {
2861
+			if ($member_group['can_be_additional'])
2743 2862
 			echo '
2744 2863
 									<label for="additional_groups-', $member_group['id'], '"><input type="checkbox" name="additional_groups[]" value="', $member_group['id'], '" id="additional_groups-', $member_group['id'], '"', $member_group['is_additional'] ? ' checked' : '', '> ', $member_group['name'], '</label><br>';
2864
+	}
2745 2865
 
2746 2866
 	echo '
2747 2867
 								</span>
@@ -2801,9 +2921,10 @@  discard block
 block discarded – undo
2801 2921
 								<span class="smalltext">', $txt['sig_info'], '</span><br>
2802 2922
 								<br>';
2803 2923
 
2804
-	if ($context['show_spellchecking'])
2805
-		echo '
2924
+	if ($context['show_spellchecking']) {
2925
+			echo '
2806 2926
 								<input type="button" value="', $txt['spell_check'], '" onclick="spellCheck(\'creator\', \'signature\');" class="button">';
2927
+	}
2807 2928
 
2808 2929
 	echo '
2809 2930
 							</dt>
@@ -2811,17 +2932,20 @@  discard block
 block discarded – undo
2811 2932
 								<textarea class="editor" onkeyup="calcCharLeft();" id="signature" name="signature" rows="5" cols="50">', $context['member']['signature'], '</textarea><br>';
2812 2933
 
2813 2934
 	// If there is a limit at all!
2814
-	if (!empty($context['signature_limits']['max_length']))
2815
-		echo '
2935
+	if (!empty($context['signature_limits']['max_length'])) {
2936
+			echo '
2816 2937
 								<span class="smalltext">', sprintf($txt['max_sig_characters'], $context['signature_limits']['max_length']), ' <span id="signatureLeft">', $context['signature_limits']['max_length'], '</span></span><br>';
2938
+	}
2817 2939
 
2818
-	if (!empty($context['show_preview_button']))
2819
-		echo '
2940
+	if (!empty($context['show_preview_button'])) {
2941
+			echo '
2820 2942
 								<input type="button" name="preview_signature" id="preview_button" value="', $txt['preview_signature'], '" class="button floatright">';
2943
+	}
2821 2944
 
2822
-	if ($context['signature_warning'])
2823
-		echo '
2945
+	if ($context['signature_warning']) {
2946
+			echo '
2824 2947
 								<span class="smalltext">', $context['signature_warning'], '</span>';
2948
+	}
2825 2949
 
2826 2950
 	// Some javascript used to count how many characters have been used so far in the signature.
2827 2951
 	echo '
@@ -2852,38 +2976,43 @@  discard block
 block discarded – undo
2852 2976
 									<label for="avatar_upload_box">', $txt['personal_picture'], '</label>
2853 2977
 								</strong>';
2854 2978
 
2855
-	if (empty($modSettings['gravatarOverride']))
2856
-		echo '
2979
+	if (empty($modSettings['gravatarOverride'])) {
2980
+			echo '
2857 2981
 								<input type="radio" onclick="swap_avatar(this); return true;" name="avatar_choice" id="avatar_choice_none" value="none"' . ($context['member']['avatar']['choice'] == 'none' ? ' checked="checked"' : '') . '>
2858 2982
 								<label for="avatar_choice_none"' . (isset($context['modify_error']['bad_avatar']) ? ' class="error"' : '') . '>
2859 2983
 									' . $txt['no_avatar'] . '
2860 2984
 								</label><br>';
2985
+	}
2861 2986
 
2862
-	if (!empty($context['member']['avatar']['allow_server_stored']))
2863
-		echo '
2987
+	if (!empty($context['member']['avatar']['allow_server_stored'])) {
2988
+			echo '
2864 2989
 								<input type="radio" onclick="swap_avatar(this); return true;" name="avatar_choice" id="avatar_choice_server_stored" value="server_stored"' . ($context['member']['avatar']['choice'] == 'server_stored' ? ' checked="checked"' : '') . '>
2865 2990
 								<label for="avatar_choice_server_stored"' . (isset($context['modify_error']['bad_avatar']) ? ' class="error"' : '') . '>
2866 2991
 									', $txt['choose_avatar_gallery'], '
2867 2992
 								</label><br>';
2993
+	}
2868 2994
 
2869
-	if (!empty($context['member']['avatar']['allow_external']))
2870
-		echo '
2995
+	if (!empty($context['member']['avatar']['allow_external'])) {
2996
+			echo '
2871 2997
 								<input type="radio" onclick="swap_avatar(this); return true;" name="avatar_choice" id="avatar_choice_external" value="external"' . ($context['member']['avatar']['choice'] == 'external' ? ' checked="checked"' : '') . '>
2872 2998
 								<label for="avatar_choice_external"' . (isset($context['modify_error']['bad_avatar']) ? ' class="error"' : '') . '>
2873 2999
 									', $txt['my_own_pic'], '
2874 3000
 								</label><br>';
3001
+	}
2875 3002
 
2876
-	if (!empty($context['member']['avatar']['allow_upload']))
2877
-		echo '
3003
+	if (!empty($context['member']['avatar']['allow_upload'])) {
3004
+			echo '
2878 3005
 								<input type="radio" onclick="swap_avatar(this); return true;" name="avatar_choice" id="avatar_choice_upload" value="upload"' . ($context['member']['avatar']['choice'] == 'upload' ? ' checked="checked"' : '') . '>
2879 3006
 								<label for="avatar_choice_upload"' . (isset($context['modify_error']['bad_avatar']) ? ' class="error"' : '') . '>
2880 3007
 									', $txt['avatar_will_upload'], '
2881 3008
 								</label><br>';
3009
+	}
2882 3010
 
2883
-	if (!empty($context['member']['avatar']['allow_gravatar']))
2884
-		echo '
3011
+	if (!empty($context['member']['avatar']['allow_gravatar'])) {
3012
+			echo '
2885 3013
 								<input type="radio" onclick="swap_avatar(this); return true;" name="avatar_choice" id="avatar_choice_gravatar" value="gravatar"' . ($context['member']['avatar']['choice'] == 'gravatar' ? ' checked="checked"' : '') . '>
2886 3014
 								<label for="avatar_choice_gravatar"' . (isset($context['modify_error']['bad_avatar']) ? ' class="error"' : '') . '>' . $txt['use_gravatar'] . '</label>';
3015
+	}
2887 3016
 
2888 3017
 	echo '
2889 3018
 							</dt>
@@ -2898,9 +3027,10 @@  discard block
 block discarded – undo
2898 3027
 										<select name="cat" id="cat" size="10" onchange="changeSel(\'\');" onfocus="selectRadioByName(document.forms.creator.avatar_choice, \'server_stored\');">';
2899 3028
 
2900 3029
 		// This lists all the file categories.
2901
-		foreach ($context['avatars'] as $avatar)
2902
-			echo '
3030
+		foreach ($context['avatars'] as $avatar) {
3031
+					echo '
2903 3032
 											<option value="', $avatar['filename'] . ($avatar['is_dir'] ? '/' : ''), '"', ($avatar['checked'] ? ' selected' : ''), '>', $avatar['name'], '</option>';
3033
+		}
2904 3034
 
2905 3035
 		echo '
2906 3036
 										</select>
@@ -2932,20 +3062,22 @@  discard block
 block discarded – undo
2932 3062
 	}
2933 3063
 
2934 3064
 	// If the user can link to an off server avatar, show them a box to input the address.
2935
-	if (!empty($context['member']['avatar']['allow_external']))
2936
-		echo '
3065
+	if (!empty($context['member']['avatar']['allow_external'])) {
3066
+			echo '
2937 3067
 								<div id="avatar_external">
2938 3068
 									<div class="smalltext">', $txt['avatar_by_url'], '</div>', !empty($modSettings['avatar_action_too_large']) && $modSettings['avatar_action_too_large'] == 'option_download_and_resize' ? template_max_size('external') : '', '
2939 3069
 									<input type="text" name="userpicpersonal" size="45" value="', ((stristr($context['member']['avatar']['external'], 'http://') || stristr($context['member']['avatar']['external'], 'https://')) ? $context['member']['avatar']['external'] : 'http://'), '" onfocus="selectRadioByName(document.forms.creator.avatar_choice, \'external\');" onchange="if (typeof(previewExternalAvatar) != \'undefined\') previewExternalAvatar(this.value);">
2940 3070
 								</div>';
3071
+	}
2941 3072
 
2942 3073
 	// If the user is able to upload avatars to the server show them an upload box.
2943
-	if (!empty($context['member']['avatar']['allow_upload']))
2944
-		echo '
3074
+	if (!empty($context['member']['avatar']['allow_upload'])) {
3075
+			echo '
2945 3076
 								<div id="avatar_upload">
2946 3077
 									<input type="file" size="44" name="attachment" id="avatar_upload_box" value="" onchange="readfromUpload(this)"  onfocus="selectRadioByName(document.forms.creator.avatar_choice, \'upload\');" accept="image/gif, image/jpeg, image/jpg, image/png">', template_max_size('upload'), '
2947 3078
 									', (!empty($context['member']['avatar']['id_attach']) ? '<br><img src="' . $context['member']['avatar']['href'] . (strpos($context['member']['avatar']['href'], '?') === false ? '?' : '&amp;') . 'time=' . time() . '" alt="" id="attached_image"><input type="hidden" name="id_attach" value="' . $context['member']['avatar']['id_attach'] . '">' : ''), '
2948 3079
 								</div>';
3080
+	}
2949 3081
 
2950 3082
 	// if the user is able to use Gravatar avatars show then the image preview
2951 3083
 	if (!empty($context['member']['avatar']['allow_gravatar']))
@@ -2954,16 +3086,17 @@  discard block
 block discarded – undo
2954 3086
 								<div id="avatar_gravatar">
2955 3087
 									<img src="' . $context['member']['avatar']['href'] . '" alt="">';
2956 3088
 
2957
-		if (empty($modSettings['gravatarAllowExtraEmail']))
2958
-			echo '
3089
+		if (empty($modSettings['gravatarAllowExtraEmail'])) {
3090
+					echo '
2959 3091
 									<div class="smalltext">', $txt['gravatar_noAlternateEmail'], '</div>';
2960
-		else
3092
+		} else
2961 3093
 		{
2962 3094
 			// Depending on other stuff, the stored value here might have some odd things in it from other areas.
2963
-			if ($context['member']['avatar']['external'] == $context['member']['email'])
2964
-				$textbox_value = '';
2965
-			else
2966
-				$textbox_value = $context['member']['avatar']['external'];
3095
+			if ($context['member']['avatar']['external'] == $context['member']['email']) {
3096
+							$textbox_value = '';
3097
+			} else {
3098
+							$textbox_value = $context['member']['avatar']['external'];
3099
+			}
2967 3100
 
2968 3101
 			echo '
2969 3102
 									<div class="smalltext">', $txt['gravatar_alternateEmail'], '</div>
@@ -3035,8 +3168,9 @@  discard block
 block discarded – undo
3035 3168
 	$h = !empty($modSettings['avatar_max_height_' . $type]) ? comma_format($modSettings['avatar_max_height_' . $type]) : 0;
3036 3169
 
3037 3170
 	$suffix = (!empty($w) ? 'w' : '') . (!empty($h) ? 'h' : '');
3038
-	if (empty($suffix))
3039
-		return;
3171
+	if (empty($suffix)) {
3172
+			return;
3173
+	}
3040 3174
 
3041 3175
 	echo '
3042 3176
 								<div class="smalltext">', sprintf($txt['avatar_max_size_' . $suffix], $w, $h), '</div>';
@@ -3061,9 +3195,10 @@  discard block
 block discarded – undo
3061 3195
 								<select name="easyformat" id="easyformat" onchange="document.forms.creator.time_format.value = this.options[this.selectedIndex].value;">';
3062 3196
 
3063 3197
 	// Help the user by showing a list of common time formats.
3064
-	foreach ($context['easy_timeformats'] as $time_format)
3065
-		echo '
3198
+	foreach ($context['easy_timeformats'] as $time_format) {
3199
+			echo '
3066 3200
 									<option value="', $time_format['format'], '"', $time_format['format'] == $context['member']['time_format'] ? ' selected' : '', '>', $time_format['title'], '</option>';
3201
+	}
3067 3202
 
3068 3203
 	echo '
3069 3204
 								</select>
@@ -3101,9 +3236,10 @@  discard block
 block discarded – undo
3101 3236
 							<dd>
3102 3237
 								<select name="smiley_set" id="smiley_set" onchange="document.getElementById(\'smileypr\').src = this.selectedIndex == 0 ? \'', $settings['images_url'], '/blank.png\' : \'', $modSettings['smileys_url'], '/\' + (this.selectedIndex != 1 ? this.options[this.selectedIndex].value : \'', !empty($settings['smiley_sets_default']) ? $settings['smiley_sets_default'] : $modSettings['smiley_sets_default'], '\') + \'/smiley.png\';">';
3103 3238
 
3104
-	foreach ($context['smiley_sets'] as $set)
3105
-		echo '
3239
+	foreach ($context['smiley_sets'] as $set) {
3240
+			echo '
3106 3241
 									<option value="', $set['id'], '"', $set['selected'] ? ' selected' : '', '>', $set['name'], '</option>';
3242
+	}
3107 3243
 
3108 3244
 	echo '
3109 3245
 								</select>
@@ -3125,17 +3261,17 @@  discard block
 block discarded – undo
3125 3261
 			<div class="roundframe">
3126 3262
 				<div>';
3127 3263
 
3128
-	if (!empty($context['tfa_backup']))
3129
-		echo '
3264
+	if (!empty($context['tfa_backup'])) {
3265
+			echo '
3130 3266
 					<div class="smalltext error">
3131 3267
 						', $txt['tfa_backup_used_desc'], '
3132 3268
 					</div>';
3133
-
3134
-	elseif ($modSettings['tfa_mode'] == 2)
3135
-		echo '
3269
+	} elseif ($modSettings['tfa_mode'] == 2) {
3270
+			echo '
3136 3271
 					<div class="smalltext">
3137 3272
 						<strong>', $txt['tfa_forced_desc'], '</strong>
3138 3273
 					</div>';
3274
+	}
3139 3275
 
3140 3276
 	echo '
3141 3277
 					<div class="smalltext">
@@ -3146,11 +3282,12 @@  discard block
 block discarded – undo
3146 3282
 							<div class="block">
3147 3283
 								<strong>', $txt['tfa_step1'], '</strong><br>';
3148 3284
 
3149
-	if (!empty($context['tfa_pass_error']))
3150
-		echo '
3285
+	if (!empty($context['tfa_pass_error'])) {
3286
+			echo '
3151 3287
 								<div class="error smalltext">
3152 3288
 									', $txt['tfa_pass_invalid'], '
3153 3289
 								</div>';
3290
+	}
3154 3291
 
3155 3292
 	echo '
3156 3293
 								<input type="password" name="passwd" size="25"', !empty($context['tfa_pass_error']) ? ' class="error"' : '', !empty($context['tfa_pass_value']) ? ' value="' . $context['tfa_pass_value'] . '"' : '', '>
@@ -3163,11 +3300,12 @@  discard block
 block discarded – undo
3163 3300
 							<div class="block">
3164 3301
 								<strong>', $txt['tfa_step3'], '</strong><br>';
3165 3302
 
3166
-	if (!empty($context['tfa_error']))
3167
-		echo '
3303
+	if (!empty($context['tfa_error'])) {
3304
+			echo '
3168 3305
 								<div class="error smalltext">
3169 3306
 									', $txt['tfa_code_invalid'], '
3170 3307
 								</div>';
3308
+	}
3171 3309
 
3172 3310
 	echo '
3173 3311
 								<input type="text" name="tfa_code" size="25"', !empty($context['tfa_error']) ? ' class="error"' : '', !empty($context['tfa_value']) ? ' value="' . $context['tfa_value'] . '"' : '', '>
@@ -3181,10 +3319,11 @@  discard block
 block discarded – undo
3181 3319
 						<img src="', $context['tfa_qr_url'], '" alt="">
3182 3320
 					</div>';
3183 3321
 
3184
-	if (!empty($context['from_ajax']))
3185
-		echo '
3322
+	if (!empty($context['from_ajax'])) {
3323
+			echo '
3186 3324
 					<br>
3187 3325
 					<a href="javascript:self.close();"></a>';
3326
+	}
3188 3327
 
3189 3328
 	echo '
3190 3329
 				</div>
@@ -3224,17 +3363,16 @@  discard block
 block discarded – undo
3224 3363
 							</dt>
3225 3364
 							<dd>';
3226 3365
 
3227
-	if (!$context['tfa_enabled'] && $context['user']['is_owner'])
3228
-		echo '
3366
+	if (!$context['tfa_enabled'] && $context['user']['is_owner']) {
3367
+			echo '
3229 3368
 								<a href="', !empty($modSettings['force_ssl']) ? strtr($scripturl, array('http://' => 'https://')) : $scripturl, '?action=profile;area=tfasetup" id="enable_tfa">', $txt['tfa_profile_enable'], '</a>';
3230
-
3231
-	elseif (!$context['tfa_enabled'])
3232
-		echo '
3369
+	} elseif (!$context['tfa_enabled']) {
3370
+			echo '
3233 3371
 								', $txt['tfa_profile_disabled'];
3234
-
3235
-	else
3236
-		echo '
3372
+	} else {
3373
+			echo '
3237 3374
 								', sprintf($txt['tfa_profile_enabled'], $scripturl . '?action=profile;u=' . $context['id_member'] . ';area=tfasetup;disable');
3375
+	}
3238 3376
 
3239 3377
 	echo '
3240 3378
 							</dd>';
Please login to merge, or discard this patch.