Completed
Push — release-2.1 ( e07574...f1e1b9 )
by
unknown
11s
created
cache/index.php 1 patch
Braces   +2 added lines, -1 removed lines patch added patch discarded remove patch
@@ -12,7 +12,8 @@
 block discarded – undo
12 12
 	header('location: ' . $boardurl);
13 13
 }
14 14
 // Can't find it... just forget it.
15
-else
15
+else {
16 16
 	exit;
17
+}
17 18
 
18 19
 ?>
19 20
\ No newline at end of file
Please login to merge, or discard this patch.
Themes/index.php 1 patch
Braces   +2 added lines, -1 removed lines patch added patch discarded remove patch
@@ -12,7 +12,8 @@
 block discarded – undo
12 12
 	header('location: ' . $boardurl);
13 13
 }
14 14
 // Can't find it... just forget it.
15
-else
15
+else {
16 16
 	exit;
17
+}
17 18
 
18 19
 ?>
19 20
\ No newline at end of file
Please login to merge, or discard this patch.
Themes/default/PersonalMessage.template.php 2 patches
Spacing   +19 added lines, -19 removed lines patch added patch discarded remove patch
@@ -231,7 +231,7 @@  discard block
 block discarded – undo
231 231
 
232 232
 				foreach ($message['custom_fields']['above_member'] as $custom)
233 233
 					echo '
234
-							<li class="custom ', $custom['col_name'] ,'">', $custom['value'], '</li>';
234
+							<li class="custom ', $custom['col_name'], '">', $custom['value'], '</li>';
235 235
 
236 236
 				echo '
237 237
 						</ul>
@@ -280,7 +280,7 @@  discard block
 block discarded – undo
280 280
 			if (!empty($message['custom_fields']['below_avatar']))
281 281
 				foreach ($message['custom_fields']['below_avatar'] as $custom)
282 282
 					echo '
283
-						<li class="custom ', $custom['col_name'] ,'">', $custom['value'], '</li>';
283
+						<li class="custom ', $custom['col_name'], '">', $custom['value'], '</li>';
284 284
 
285 285
 			if (!$message['member']['is_guest'])
286 286
 				echo '
@@ -322,7 +322,7 @@  discard block
 block discarded – undo
322 322
 
323 323
 					foreach ($message['custom_fields']['icons'] as $custom)
324 324
 						echo '
325
-								<li class="custom ', $custom['col_name'] ,'">', $custom['value'], '</li>';
325
+								<li class="custom ', $custom['col_name'], '">', $custom['value'], '</li>';
326 326
 
327 327
 					echo '
328 328
 							</ol>
@@ -386,7 +386,7 @@  discard block
 block discarded – undo
386 386
 				if (!empty($message['custom_fields']['standard']))
387 387
 					foreach ($message['custom_fields']['standard'] as $custom)
388 388
 						echo '
389
-						<li class="custom ', $custom['col_name'] ,'">', $custom['title'], ': ', $custom['value'], '</li>';
389
+						<li class="custom ', $custom['col_name'], '">', $custom['title'], ': ', $custom['value'], '</li>';
390 390
 
391 391
 				// Are we showing the warning status?
392 392
 				if ($message['member']['can_see_warning'])
@@ -397,7 +397,7 @@  discard block
 block discarded – undo
397 397
 				if (!empty($message['custom_fields']['bottom_poster']))
398 398
 					foreach ($message['custom_fields']['bottom_poster'] as $custom)
399 399
 						echo '
400
-						<li class="custom ', $custom['col_name'] ,'">', $custom['value'], '</li>';
400
+						<li class="custom ', $custom['col_name'], '">', $custom['value'], '</li>';
401 401
 			}
402 402
 
403 403
 			// Done with the information about the poster... on to the post itself.
@@ -498,7 +498,7 @@  discard block
 block discarded – undo
498 498
 
499 499
 				foreach ($message['custom_fields']['above_signature'] as $custom)
500 500
 					echo '
501
-								<li class="custom ', $custom['col_name'] ,'">', $custom['value'], '</li>';
501
+								<li class="custom ', $custom['col_name'], '">', $custom['value'], '</li>';
502 502
 
503 503
 				echo '
504 504
 							</ul>
@@ -521,7 +521,7 @@  discard block
 block discarded – undo
521 521
 
522 522
 				foreach ($message['custom_fields']['below_signature'] as $custom)
523 523
 					echo '
524
-								<li class="custom ', $custom['col_name'] ,'">', $custom['value'], '</li>';
524
+								<li class="custom ', $custom['col_name'], '">', $custom['value'], '</li>';
525 525
 
526 526
 				echo '
527 527
 							</ul>
@@ -657,7 +657,7 @@  discard block
 block discarded – undo
657 657
 	while ($message = $context['get_pmessage']('subject'))
658 658
 	{
659 659
 		echo '
660
-			<tr class="windowbg', $message['is_unread'] ? ' unread_pm' : '','">
660
+			<tr class="windowbg', $message['is_unread'] ? ' unread_pm' : '', '">
661 661
 				<td class="table_icon">
662 662
 					<script>
663 663
 						currentLabels[', $message['id'], '] = {';
@@ -946,13 +946,13 @@  discard block
 block discarded – undo
946 946
 				// You can only reply if they are not a guest...
947 947
 				if (!$message['member']['is_guest'])
948 948
 					echo '
949
-					<a href="', $scripturl, '?action=pm;sa=send;f=', $context['folder'], $context['current_label_id'] != -1 ? ';l=' . $context['current_label_id'] : '', ';pmsg=', $message['id'], ';quote;u=', $context['folder'] == 'sent' ? '' : $message['member']['id'], '">', $quote_button , '</a>', $context['menu_separator'], '
950
-					<a href="', $scripturl, '?action=pm;sa=send;f=', $context['folder'], $context['current_label_id'] != -1 ? ';l=' . $context['current_label_id'] : '', ';pmsg=', $message['id'], ';u=', $message['member']['id'], '">', $reply_button , '</a> ', $context['menu_separator'];
949
+					<a href="', $scripturl, '?action=pm;sa=send;f=', $context['folder'], $context['current_label_id'] != -1 ? ';l=' . $context['current_label_id'] : '', ';pmsg=', $message['id'], ';quote;u=', $context['folder'] == 'sent' ? '' : $message['member']['id'], '">', $quote_button, '</a>', $context['menu_separator'], '
950
+					<a href="', $scripturl, '?action=pm;sa=send;f=', $context['folder'], $context['current_label_id'] != -1 ? ';l=' . $context['current_label_id'] : '', ';pmsg=', $message['id'], ';u=', $message['member']['id'], '">', $reply_button, '</a> ', $context['menu_separator'];
951 951
 
952 952
 				// This is for "forwarding" - even if the member is gone.
953 953
 				else
954 954
 					echo '
955
-					<a href="', $scripturl, '?action=pm;sa=send;f=', $context['folder'], $context['current_label_id'] != -1 ? ';l=' . $context['current_label_id'] : '', ';pmsg=', $message['id'], ';quote">', $quote_button , '</a>', $context['menu_separator'];
955
+					<a href="', $scripturl, '?action=pm;sa=send;f=', $context['folder'], $context['current_label_id'] != -1 ? ';l=' . $context['current_label_id'] : '', ';pmsg=', $message['id'], ';quote">', $quote_button, '</a>', $context['menu_separator'];
956 956
 			}
957 957
 
958 958
 			echo '
@@ -1054,7 +1054,7 @@  discard block
 block discarded – undo
1054 1054
 				<div class="', empty($context['error_type']) || $context['error_type'] != 'serious' ? 'noticebox' : 'errorbox', '"', empty($context['post_error']['messages']) ? ' style="display: none"' : '', ' id="errors">
1055 1055
 					<dl>
1056 1056
 						<dt>
1057
-							<strong id="error_serious">', $txt['error_while_submitting'] , '</strong>
1057
+							<strong id="error_serious">', $txt['error_while_submitting'], '</strong>
1058 1058
 						</dt>
1059 1059
 						<dd class="error" id="error_list">
1060 1060
 							', empty($context['post_error']['messages']) ? '' : implode('<br>', $context['post_error']['messages']), '
@@ -1110,7 +1110,7 @@  discard block
 block discarded – undo
1110 1110
 						<span', (isset($context['post_error']['no_subject']) ? ' class="error"' : ''), ' id="caption_subject">', $txt['subject'], ':</span>
1111 1111
 					</dt>
1112 1112
 					<dd id="pm_subject">
1113
-						<input type="text" name="subject" value="', $context['subject'], '" tabindex="', $context['tabindex']++, '" size="80" maxlength="80"',isset($context['post_error']['no_subject']) ? ' class="error"' : '', '>
1113
+						<input type="text" name="subject" value="', $context['subject'], '" tabindex="', $context['tabindex']++, '" size="80" maxlength="80"', isset($context['post_error']['no_subject']) ? ' class="error"' : '', '>
1114 1114
 					</dd>
1115 1115
 				</dl>';
1116 1116
 
@@ -1463,7 +1463,7 @@  discard block
 block discarded – undo
1463 1463
 		echo '
1464 1464
 		<div class="padding">
1465 1465
 			<input type="submit" name="save" value="', $txt['save'], '" class="button">
1466
-			<input type="submit" name="delete" value="', $txt['quickmod_delete_selected'], '" data-confirm="', $txt['pm_labels_delete'] ,'" class="button you_sure">
1466
+			<input type="submit" name="delete" value="', $txt['quickmod_delete_selected'], '" data-confirm="', $txt['pm_labels_delete'], '" class="button you_sure">
1467 1467
 		</div>';
1468 1468
 
1469 1469
 	echo '
@@ -1628,7 +1628,7 @@  discard block
 block discarded – undo
1628 1628
 	if (!empty($context['rules']))
1629 1629
 		echo '
1630 1630
 			<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
1631
-			<input type="submit" name="delselected" value="', $txt['pm_delete_selected_rule'], '" data-confirm="', $txt['pm_js_delete_rule_confirm'] ,'" class="button smalltext you_sure">';
1631
+			<input type="submit" name="delselected" value="', $txt['pm_delete_selected_rule'], '" data-confirm="', $txt['pm_js_delete_rule_confirm'], '" class="button smalltext you_sure">';
1632 1632
 
1633 1633
 	echo '
1634 1634
 		</div>
@@ -1871,9 +1871,9 @@  discard block
 block discarded – undo
1871 1871
 
1872 1872
 		echo '
1873 1873
 				<select name="acttype[', $k, ']" id="acttype', $k, '" onchange="updateActionDef(', $k, '); rebuildRuleDesc();">
1874
-					<option value="">', $txt['pm_rule_sel_action'] , ':</option>
1875
-					<option value="lab"', $action['t'] == 'lab' ? ' selected' : '', '>', $txt['pm_rule_label'] , '</option>
1876
-					<option value="del"', $action['t'] == 'del' ? ' selected' : '', '>', $txt['pm_rule_delete'] , '</option>
1874
+					<option value="">', $txt['pm_rule_sel_action'], ':</option>
1875
+					<option value="lab"', $action['t'] == 'lab' ? ' selected' : '', '>', $txt['pm_rule_label'], '</option>
1876
+					<option value="del"', $action['t'] == 'del' ? ' selected' : '', '>', $txt['pm_rule_delete'], '</option>
1877 1877
 				</select>
1878 1878
 				<span id="labdiv', $k, '">
1879 1879
 					<select name="labdef[', $k, ']" id="labdef', $k, '" onchange="rebuildRuleDesc();">
@@ -1985,7 +1985,7 @@  discard block
 block discarded – undo
1985 1985
 			</div>
1986 1986
 			<ul class="quickbuttons">
1987 1987
 				<li><a href="', $scripturl, '?action=pm;sa=showpmdrafts;id_draft=', $draft['id_draft'], ';', $context['session_var'], '=', $context['session_id'], '"><span class="generic_icons modifybutton"></span>', $txt['draft_edit'], '</a></li>
1988
-				<li><a href="', $scripturl, '?action=pm;sa=showpmdrafts;delete=', $draft['id_draft'], ';', $context['session_var'], '=', $context['session_id'], '" data-confirm="', $txt['draft_remove'] ,'?" class="you_sure"><span class="generic_icons remove_button"></span>', $txt['draft_delete'], '</a></li>
1988
+				<li><a href="', $scripturl, '?action=pm;sa=showpmdrafts;delete=', $draft['id_draft'], ';', $context['session_var'], '=', $context['session_id'], '" data-confirm="', $txt['draft_remove'], '?" class="you_sure"><span class="generic_icons remove_button"></span>', $txt['draft_delete'], '</a></li>
1989 1989
 			</ul>
1990 1990
 		</div><!-- .windowbg -->';
1991 1991
 		}
Please login to merge, or discard this patch.
Braces   +285 added lines, -199 removed lines patch added patch discarded remove patch
@@ -21,8 +21,8 @@  discard block
 block discarded – undo
21 21
 	<div id="personal_messages">';
22 22
 
23 23
 	// Show the capacity bar, if available.
24
-	if (!empty($context['limit_bar']))
25
-		echo '
24
+	if (!empty($context['limit_bar'])) {
25
+			echo '
26 26
 		<div class="cat_bar">
27 27
 			<h3 class="catbg">
28 28
 				<span class="floatleft">', $txt['pm_capacity'], ':</span>
@@ -32,14 +32,16 @@  discard block
 block discarded – undo
32 32
 				<span class="floatright', $context['limit_bar']['percent'] > 90 ? ' alert' : '', '">', $context['limit_bar']['text'], '</span>
33 33
 			</h3>
34 34
 		</div>';
35
+	}
35 36
 
36 37
 	// Message sent? Show a small indication.
37
-	if (isset($context['pm_sent']))
38
-		echo '
38
+	if (isset($context['pm_sent'])) {
39
+			echo '
39 40
 		<div class="infobox">
40 41
 			', $txt['pm_sent'], '
41 42
 		</div>';
42
-}
43
+	}
44
+	}
43 45
 
44 46
 /**
45 47
  * Just the end of the index bar, nothing special.
@@ -68,13 +70,13 @@  discard block
 block discarded – undo
68 70
 		</div>
69 71
 		<div class="pm_unread">';
70 72
 
71
-	if (empty($context['unread_pms']))
72
-		echo '
73
+	if (empty($context['unread_pms'])) {
74
+			echo '
73 75
 			<div class="no_unread">', $txt['pm_no_unread'], '</div>';
74
-	else
76
+	} else
75 77
 	{
76
-		foreach ($context['unread_pms'] as $id_pm => $pm_details)
77
-			echo '
78
+		foreach ($context['unread_pms'] as $id_pm => $pm_details) {
79
+					echo '
78 80
 			<div class="unread">
79 81
 				', !empty($pm_details['member']) ? $pm_details['member']['avatar']['image'] : '', '
80 82
 				<div class="details">
@@ -85,6 +87,7 @@  discard block
 block discarded – undo
85 87
 					</div>
86 88
 				</div>
87 89
 			</div>';
90
+		}
88 91
 	}
89 92
 
90 93
 	echo '
@@ -193,14 +196,15 @@  discard block
 block discarded – undo
193 196
 	if ($context['get_pmessage']('message', true))
194 197
 	{
195 198
 		// Show the helpful titlebar - generally.
196
-		if ($context['display_mode'] != 1)
197
-			echo '
199
+		if ($context['display_mode'] != 1) {
200
+					echo '
198 201
 			<div class="cat_bar">
199 202
 				<h3 class="catbg">
200 203
 					<span id="author">', $txt['author'], '</span>
201 204
 					<span id="topic_title">', $txt[$context['display_mode'] == 0 ? 'messages' : 'conversation'], '</span>
202 205
 				</h3>
203 206
 			</div>';
207
+		}
204 208
 
205 209
 		// Show a few buttons if we are in conversation mode and outputting the first message.
206 210
 		if ($context['display_mode'] == 2)
@@ -229,9 +233,10 @@  discard block
 block discarded – undo
229 233
 					<div class="custom_fields_above_member">
230 234
 						<ul class="nolist">';
231 235
 
232
-				foreach ($message['custom_fields']['above_member'] as $custom)
233
-					echo '
236
+				foreach ($message['custom_fields']['above_member'] as $custom) {
237
+									echo '
234 238
 							<li class="custom ', $custom['col_name'] ,'">', $custom['value'], '</li>';
239
+				}
235 240
 
236 241
 				echo '
237 242
 						</ul>
@@ -243,25 +248,28 @@  discard block
 block discarded – undo
243 248
 						<a id="msg', $message['id'], '"></a>';
244 249
 
245 250
 			// Show online and offline buttons?
246
-			if (!empty($modSettings['onlineEnable']) && !$message['member']['is_guest'])
247
-				echo '
251
+			if (!empty($modSettings['onlineEnable']) && !$message['member']['is_guest']) {
252
+							echo '
248 253
 						<span class="' . ($message['member']['online']['is_online'] == 1 ? 'on' : 'off') . '" title="' . $message['member']['online']['text'] . '"></span>';
254
+			}
249 255
 
250 256
 			// Custom fields BEFORE the username?
251
-			if (!empty($message['custom_fields']['before_member']))
252
-				foreach ($message['custom_fields']['before_member'] as $custom)
257
+			if (!empty($message['custom_fields']['before_member'])) {
258
+							foreach ($message['custom_fields']['before_member'] as $custom)
253 259
 					echo '
254 260
 						<span class="custom ', $custom['col_name'], '">', $custom['value'], '</span>';
261
+			}
255 262
 
256 263
 			// Show a link to the member's profile.
257 264
 			echo '
258 265
 				', $message['member']['link'];
259 266
 
260 267
 				// Custom fields AFTER the username?
261
-				if (!empty($message['custom_fields']['after_member']))
262
-					foreach ($message['custom_fields']['after_member'] as $custom)
268
+				if (!empty($message['custom_fields']['after_member'])) {
269
+									foreach ($message['custom_fields']['after_member'] as $custom)
263 270
 						echo '
264 271
 						<span class="custom ', $custom['col_name'], '">', $custom['value'], '</span>';
272
+				}
265 273
 
266 274
 			echo '
267 275
 					</h4>';
@@ -270,48 +278,56 @@  discard block
 block discarded – undo
270 278
 					<ul class="user_info">';
271 279
 
272 280
 			// Show the user's avatar.
273
-			if (!empty($modSettings['show_user_images']) && empty($options['show_no_avatars']) && !empty($message['member']['avatar']['image']))
274
-				echo '
281
+			if (!empty($modSettings['show_user_images']) && empty($options['show_no_avatars']) && !empty($message['member']['avatar']['image'])) {
282
+							echo '
275 283
 						<li class="avatar">
276 284
 							<a href="', $scripturl, '?action=profile;u=', $message['member']['id'], '">', $message['member']['avatar']['image'], '</a>
277 285
 						</li>';
286
+			}
278 287
 
279 288
 			// Are there any custom fields below the avatar?
280
-			if (!empty($message['custom_fields']['below_avatar']))
281
-				foreach ($message['custom_fields']['below_avatar'] as $custom)
289
+			if (!empty($message['custom_fields']['below_avatar'])) {
290
+							foreach ($message['custom_fields']['below_avatar'] as $custom)
282 291
 					echo '
283 292
 						<li class="custom ', $custom['col_name'] ,'">', $custom['value'], '</li>';
293
+			}
284 294
 
285
-			if (!$message['member']['is_guest'])
286
-				echo '
295
+			if (!$message['member']['is_guest']) {
296
+							echo '
287 297
 						<li class="icons">', $message['member']['group_icons'], '</li>';
298
+			}
288 299
 			// Show the member's primary group (like 'Administrator') if they have one.
289
-			if (isset($message['member']['group']) && $message['member']['group'] != '')
290
-				echo '
300
+			if (isset($message['member']['group']) && $message['member']['group'] != '') {
301
+							echo '
291 302
 						<li class="membergroup">', $message['member']['group'], '</li>';
303
+			}
292 304
 
293 305
 			// Show the member's custom title, if they have one.
294
-			if (isset($message['member']['title']) && $message['member']['title'] != '')
295
-				echo '
306
+			if (isset($message['member']['title']) && $message['member']['title'] != '') {
307
+							echo '
296 308
 						<li class="title">', $message['member']['title'], '</li>';
309
+			}
297 310
 
298 311
 			// Don't show these things for guests.
299 312
 			if (!$message['member']['is_guest'])
300 313
 			{
301 314
 				// Show the post group if and only if they have no other group or the option is on, and they are in a post group.
302
-				if ((empty($modSettings['hide_post_group']) || $message['member']['group'] == '') && $message['member']['post_group'] != '')
303
-					echo '
315
+				if ((empty($modSettings['hide_post_group']) || $message['member']['group'] == '') && $message['member']['post_group'] != '') {
316
+									echo '
304 317
 						<li class="postgroup">', $message['member']['post_group'], '</li>';
318
+				}
305 319
 
306 320
 				// Show how many posts they have made.
307
-				if (!isset($context['disabled_fields']['posts']))
308
-					echo '
321
+				if (!isset($context['disabled_fields']['posts'])) {
322
+									echo '
309 323
 						<li class="postcount">', $txt['member_postcount'], ': ', $message['member']['posts'], '</li>';
324
+				}
310 325
 
311 326
 				// Show their personal text?
312
-				if (!empty($modSettings['show_blurb']) && $message['member']['blurb'] != '')
313
-					echo '
327
+				if (!empty($modSettings['show_blurb']) && $message['member']['blurb'] != '') {
328
+									echo '
314 329
 						<li class="blurb">', $message['member']['blurb'], '</li>';
330
+				}
315 331
 
316 332
 				// Any custom fields to show as icons?
317 333
 				if (!empty($message['custom_fields']['icons']))
@@ -320,9 +336,10 @@  discard block
 block discarded – undo
320 336
 						<li class="im_icons">
321 337
 							<ol>';
322 338
 
323
-					foreach ($message['custom_fields']['icons'] as $custom)
324
-						echo '
339
+					foreach ($message['custom_fields']['icons'] as $custom) {
340
+											echo '
325 341
 								<li class="custom ', $custom['col_name'] ,'">', $custom['value'], '</li>';
342
+					}
326 343
 
327 344
 					echo '
328 345
 							</ol>
@@ -330,25 +347,28 @@  discard block
 block discarded – undo
330 347
 				}
331 348
 
332 349
 				// Show the IP to this user for this post - because you can moderate?
333
-				if (!empty($context['can_moderate_forum']) && !empty($message['member']['ip']))
334
-					echo '
350
+				if (!empty($context['can_moderate_forum']) && !empty($message['member']['ip'])) {
351
+									echo '
335 352
 						<li class="poster_ip">
336 353
 							<a href="', $scripturl, '?action=', !empty($message['member']['is_guest']) ? 'trackip' : 'profile;area=tracking;sa=ip;u=' . $message['member']['id'], ';searchip=', $message['member']['ip'], '">', $message['member']['ip'], '</a> <a href="', $scripturl, '?action=helpadmin;help=see_admin_ip" onclick="return reqOverlayDiv(this.href);" class="help">(?)</a>
337 354
 						</li>';
355
+				}
338 356
 
339 357
 				// Or, should we show it because this is you?
340
-				elseif ($message['can_see_ip'])
341
-					echo '
358
+				elseif ($message['can_see_ip']) {
359
+									echo '
342 360
 						<li class="poster_ip">
343 361
 							<a href="', $scripturl, '?action=helpadmin;help=see_member_ip" onclick="return reqOverlayDiv(this.href);" class="help">', $message['member']['ip'], '</a>
344 362
 						</li>';
363
+				}
345 364
 
346 365
 				// Okay, you are logged in, then we can show something about why IPs are logged...
347
-				else
348
-					echo '
366
+				else {
367
+									echo '
349 368
 						<li class="poster_ip">
350 369
 							<a href="', $scripturl, '?action=helpadmin;help=see_member_ip" onclick="return reqOverlayDiv(this.href);" class="help">', $txt['logged'], '</a>
351 370
 						</li>';
371
+				}
352 372
 
353 373
 				// Show the profile, website, email address, and personal message buttons.
354 374
 				if ($message['member']['show_profile_buttons'])
@@ -358,24 +378,28 @@  discard block
 block discarded – undo
358 378
 							<ol class="profile_icons">';
359 379
 
360 380
 					// Show the profile button
361
-					if ($message['member']['can_view_profile'])
362
-						echo '
381
+					if ($message['member']['can_view_profile']) {
382
+											echo '
363 383
 								<li><a href="', $message['member']['href'], '">', ($settings['use_image_buttons'] ? '<img src="' . $settings['images_url'] . '/icons/profile_sm.png" alt="' . $txt['view_profile'] . '" title="' . $txt['view_profile'] . '">' : $txt['view_profile']), '</a></li>';
384
+					}
364 385
 
365 386
 					// Don't show an icon if they haven't specified a website.
366
-					if ($message['member']['website']['url'] != '' && !isset($context['disabled_fields']['website']))
367
-						echo '
387
+					if ($message['member']['website']['url'] != '' && !isset($context['disabled_fields']['website'])) {
388
+											echo '
368 389
 								<li><a href="', $message['member']['website']['url'], '" title="' . $message['member']['website']['title'] . '" target="_blank" rel="noopener">', ($settings['use_image_buttons'] ? '<span class="generic_icons www centericon" title="' . $message['member']['website']['title'] . '"></span>' : $txt['www']), '</a></li>';
390
+					}
369 391
 
370 392
 					// Don't show the email address if they want it hidden.
371
-					if ($message['member']['show_email'])
372
-						echo '
393
+					if ($message['member']['show_email']) {
394
+											echo '
373 395
 								<li><a href="mailto:', $message['member']['email'], '" rel="nofollow">', ($settings['use_image_buttons'] ? '<span class="generic_icons mail centericon" title="' . $txt['email'] . '"></span>' : $txt['email']), '</a></li>';
396
+					}
374 397
 
375 398
 					// Since we know this person isn't a guest, you *can* message them.
376
-					if ($context['can_send_pm'])
377
-						echo '
399
+					if ($context['can_send_pm']) {
400
+											echo '
378 401
 								<li><a href="', $scripturl, '?action=pm;sa=send;u=', $message['member']['id'], '" title="', $message['member']['online']['is_online'] ? $txt['pm_online'] : $txt['pm_offline'], '">', $settings['use_image_buttons'] ? '<span class="generic_icons im_' . ($message['member']['online']['is_online'] ? 'on' : 'off') . ' centericon" title="' . ($message['member']['online']['is_online'] ? $txt['pm_online'] : $txt['pm_offline']) . '"></span> ' : ($message['member']['online']['is_online'] ? $txt['pm_online'] : $txt['pm_offline']), '</a></li>';
402
+					}
379 403
 
380 404
 					echo '
381 405
 							</ol>
@@ -383,21 +407,24 @@  discard block
 block discarded – undo
383 407
 				}
384 408
 
385 409
 				// Any custom fields for standard placement?
386
-				if (!empty($message['custom_fields']['standard']))
387
-					foreach ($message['custom_fields']['standard'] as $custom)
410
+				if (!empty($message['custom_fields']['standard'])) {
411
+									foreach ($message['custom_fields']['standard'] as $custom)
388 412
 						echo '
389 413
 						<li class="custom ', $custom['col_name'] ,'">', $custom['title'], ': ', $custom['value'], '</li>';
414
+				}
390 415
 
391 416
 				// Are we showing the warning status?
392
-				if ($message['member']['can_see_warning'])
393
-					echo '
417
+				if ($message['member']['can_see_warning']) {
418
+									echo '
394 419
 						<li class="warning">', $context['can_issue_warning'] ? '<a href="' . $scripturl . '?action=profile;area=issuewarning;u=' . $message['member']['id'] . '">' : '', '<span class="generic_icons warning_', $message['member']['warning_status'], '"></span>', $context['can_issue_warning'] ? '</a>' : '', '<span class="warn_', $message['member']['warning_status'], '">', $txt['warn_' . $message['member']['warning_status']], '</span></li>';
420
+				}
395 421
 
396 422
 				// Are there any custom fields to show at the bottom of the poster info?
397
-				if (!empty($message['custom_fields']['bottom_poster']))
398
-					foreach ($message['custom_fields']['bottom_poster'] as $custom)
423
+				if (!empty($message['custom_fields']['bottom_poster'])) {
424
+									foreach ($message['custom_fields']['bottom_poster'] as $custom)
399 425
 						echo '
400 426
 						<li class="custom ', $custom['col_name'] ,'">', $custom['value'], '</li>';
427
+				}
401 428
 			}
402 429
 
403 430
 			// Done with the information about the poster... on to the post itself.
@@ -416,25 +443,29 @@  discard block
 block discarded – undo
416 443
 							<span class="smalltext">&#171; <strong> ', $txt['sent_to'], ':</strong> ';
417 444
 
418 445
 			// People it was sent directly to....
419
-			if (!empty($message['recipients']['to']))
420
-				echo implode(', ', $message['recipients']['to']);
446
+			if (!empty($message['recipients']['to'])) {
447
+							echo implode(', ', $message['recipients']['to']);
448
+			}
421 449
 
422 450
 			// Otherwise, we're just going to say "some people"...
423
-			elseif ($context['folder'] != 'sent')
424
-				echo '(', $txt['pm_undisclosed_recipients'], ')';
451
+			elseif ($context['folder'] != 'sent') {
452
+							echo '(', $txt['pm_undisclosed_recipients'], ')';
453
+			}
425 454
 
426 455
 			echo '
427 456
 								<strong> ', $txt['on'], ':</strong> ', $message['time'], ' &#187;
428 457
 							</span>';
429 458
 
430 459
 			// If we're in the sent items, show who it was sent to besides the "To:" people.
431
-			if (!empty($message['recipients']['bcc']))
432
-				echo '<br>
460
+			if (!empty($message['recipients']['bcc'])) {
461
+							echo '<br>
433 462
 							<span class="smalltext">&#171; <strong> ', $txt['pm_bcc'], ':</strong> ', implode(', ', $message['recipients']['bcc']), ' &#187;</span>';
463
+			}
434 464
 
435
-			if (!empty($message['is_replied_to']))
436
-				echo '<br>
465
+			if (!empty($message['is_replied_to'])) {
466
+							echo '<br>
437 467
 							<span class="smalltext">&#171; ', $context['folder'] == 'sent' ? $txt['pm_sent_is_replied_to'] : $txt['pm_is_replied_to'], ' &#187;</span>';
468
+			}
438 469
 
439 470
 			echo '
440 471
 						</div><!-- .keyinfo -->
@@ -444,13 +475,15 @@  discard block
 block discarded – undo
444 475
 							', $message['body'], '
445 476
 						</div>';
446 477
 
447
-			if ($message['can_report'] || $context['can_send_pm'])
448
-				echo '
478
+			if ($message['can_report'] || $context['can_send_pm']) {
479
+							echo '
449 480
 						<div class="under_message">';
481
+			}
450 482
 
451
-			if ($message['can_report'])
452
-				echo '
483
+			if ($message['can_report']) {
484
+							echo '
453 485
 							<a href="' . $scripturl . '?action=pm;sa=report;l=' . $context['current_label_id'] . ';pmsg=' . $message['id'] . '" class="floatright">' . $txt['pm_report_to_admin'] . '</a>';
486
+			}
454 487
 
455 488
 			echo '
456 489
 							<ul class="quickbuttons">';
@@ -462,32 +495,36 @@  discard block
 block discarded – undo
462 495
 				if (!$message['member']['is_guest'])
463 496
 				{
464 497
 					// Is there than more than one recipient you can reply to?
465
-					if ($message['number_recipients'] > 1)
466
-						echo '
498
+					if ($message['number_recipients'] > 1) {
499
+											echo '
467 500
 								<li><a href="', $scripturl, '?action=pm;sa=send;f=', $context['folder'], $context['current_label_id'] != -1 ? ';l=' . $context['current_label_id'] : '', ';pmsg=', $message['id'], ';quote;u=all"><span class="generic_icons reply_all_button"></span>', $txt['reply_to_all'], '</a></li>';
501
+					}
468 502
 
469 503
 					echo '
470 504
 								<li><a href="', $scripturl, '?action=pm;sa=send;f=', $context['folder'], $context['current_label_id'] != -1 ? ';l=' . $context['current_label_id'] : '', ';pmsg=', $message['id'], ';u=', $message['member']['id'], '"><span class="generic_icons reply_button"></span>', $txt['reply'], '</a></li>
471 505
 								<li><a href="', $scripturl, '?action=pm;sa=send;f=', $context['folder'], $context['current_label_id'] != -1 ? ';l=' . $context['current_label_id'] : '', ';pmsg=', $message['id'], ';quote', $context['folder'] == 'sent' ? '' : ';u=' . $message['member']['id'], '"><span class="generic_icons quote"></span>', $txt['quote_action'], '</a></li>';
472 506
 				}
473 507
 				// This is for "forwarding" - even if the member is gone.
474
-				else
475
-					echo '
508
+				else {
509
+									echo '
476 510
 								<li><a href="', $scripturl, '?action=pm;sa=send;f=', $context['folder'], $context['current_label_id'] != -1 ? ';l=' . $context['current_label_id'] : '', ';pmsg=', $message['id'], ';quote"><span class="generic_icons quote"></span>', $txt['reply_quote'], '</a></li>';
511
+				}
477 512
 			}
478 513
 			echo '
479 514
 								<li><a href="', $scripturl, '?action=pm;sa=pmactions;pm_actions%5b', $message['id'], '%5D=delete;f=', $context['folder'], ';start=', $context['start'], $context['current_label_id'] != -1 ? ';l=' . $context['current_label_id'] : '', ';', $context['session_var'], '=', $context['session_id'], '" data-confirm="', addslashes($txt['remove_message_question']), '" class="you_sure"><span class="generic_icons remove_button"></span>', $txt['delete'], '</a></li>';
480 515
 
481
-			if (empty($context['display_mode']))
482
-				echo '
516
+			if (empty($context['display_mode'])) {
517
+							echo '
483 518
 								<li><input type="checkbox" name="pms[]" id="deletedisplay', $message['id'], '" value="', $message['id'], '" onclick="document.getElementById(\'deletelisting', $message['id'], '\').checked = this.checked;"></li>';
519
+			}
484 520
 
485 521
 			echo '
486 522
 							</ul>';
487 523
 
488
-			if ($message['can_report'] || $context['can_send_pm'])
489
-			echo '
524
+			if ($message['can_report'] || $context['can_send_pm']) {
525
+						echo '
490 526
 						</div><!-- .under_message -->';
527
+			}
491 528
 
492 529
 			// Are there any custom profile fields for above the signature?
493 530
 			if (!empty($message['custom_fields']['above_signature']))
@@ -496,9 +533,10 @@  discard block
 block discarded – undo
496 533
 						<div class="custom_fields_above_signature">
497 534
 							<ul class="nolist">';
498 535
 
499
-				foreach ($message['custom_fields']['above_signature'] as $custom)
500
-					echo '
536
+				foreach ($message['custom_fields']['above_signature'] as $custom) {
537
+									echo '
501 538
 								<li class="custom ', $custom['col_name'] ,'">', $custom['value'], '</li>';
539
+				}
502 540
 
503 541
 				echo '
504 542
 							</ul>
@@ -506,11 +544,12 @@  discard block
 block discarded – undo
506 544
 			}
507 545
 
508 546
 			// Show the member's signature?
509
-			if (!empty($message['member']['signature']) && empty($options['show_no_signatures']) && $context['signature_enabled'])
510
-				echo '
547
+			if (!empty($message['member']['signature']) && empty($options['show_no_signatures']) && $context['signature_enabled']) {
548
+							echo '
511 549
 						<div class="signature">
512 550
 							', $message['member']['signature'], '
513 551
 						</div>';
552
+			}
514 553
 
515 554
 			// Are there any custom profile fields for below the signature?
516 555
 			if (!empty($message['custom_fields']['below_signature']))
@@ -519,9 +558,10 @@  discard block
 block discarded – undo
519 558
 						<div class="custom_fields_below_signature">
520 559
 							<ul class="nolist">';
521 560
 
522
-				foreach ($message['custom_fields']['below_signature'] as $custom)
523
-					echo '
561
+				foreach ($message['custom_fields']['below_signature'] as $custom) {
562
+									echo '
524 563
 								<li class="custom ', $custom['col_name'] ,'">', $custom['value'], '</li>';
564
+				}
525 565
 
526 566
 				echo '
527 567
 							</ul>
@@ -548,10 +588,11 @@  discard block
 block discarded – undo
548 588
 						echo '
549 589
 								<option value="" disabled>', $txt['pm_msg_label_apply'], ':</option>';
550 590
 
551
-						foreach ($context['labels'] as $label)
552
-							if (!isset($message['labels'][$label['id']]))
591
+						foreach ($context['labels'] as $label) {
592
+													if (!isset($message['labels'][$label['id']]))
553 593
 								echo '
554 594
 								<option value="', $label['id'], '">', $label['name'], '</option>';
595
+						}
555 596
 					}
556 597
 
557 598
 					// ... and are there any that can be removed?
@@ -560,9 +601,10 @@  discard block
 block discarded – undo
560 601
 						echo '
561 602
 								<option value="" disabled>', $txt['pm_msg_label_remove'], ':</option>';
562 603
 
563
-						foreach ($message['labels'] as $label)
564
-							echo '
604
+						foreach ($message['labels'] as $label) {
605
+													echo '
565 606
 								<option value="', $label['id'], '">&nbsp;', $label['name'], '</option>';
607
+						}
566 608
 					}
567 609
 					echo '
568 610
 							</select>
@@ -581,14 +623,15 @@  discard block
 block discarded – undo
581 623
 			</div><!-- .windowbg -->';
582 624
 		}
583 625
 
584
-		if (empty($context['display_mode']))
585
-			echo '
626
+		if (empty($context['display_mode'])) {
627
+					echo '
586 628
 			<div class="pagesection">
587 629
 				<div class="floatleft">', $context['page_index'], '</div>
588 630
 				<div class="floatright">
589 631
 					<input type="submit" name="del_selected" value="', $txt['quickmod_delete_selected'], '" onclick="if (!confirm(\'', $txt['delete_selected_confirm'], '\')) return false;" class="button">
590 632
 				</div>
591 633
 			</div>';
634
+		}
592 635
 
593 636
 		// Show a few buttons if we are in conversation mode and outputting the first message.
594 637
 		elseif ($context['display_mode'] == 2 && isset($context['conversation_buttons']))
@@ -648,11 +691,12 @@  discard block
 block discarded – undo
648 691
 		</thead>
649 692
 		<tbody>';
650 693
 
651
-	if (!$context['show_delete'])
652
-		echo '
694
+	if (!$context['show_delete']) {
695
+			echo '
653 696
 			<tr class="windowbg">
654 697
 				<td colspan="5">', $txt['pm_alert_none'], '</td>
655 698
 			</tr>';
699
+	}
656 700
 
657 701
 	while ($message = $context['get_pmessage']('subject'))
658 702
 	{
@@ -710,17 +754,19 @@  discard block
 block discarded – undo
710 754
 
711 755
 			foreach ($context['labels'] as $label)
712 756
 			{
713
-				if ($label['id'] != $context['current_label_id'])
714
-					echo '
757
+				if ($label['id'] != $context['current_label_id']) {
758
+									echo '
715 759
 				<option value="add_', $label['id'], '">&nbsp;', $label['name'], '</option>';
760
+				}
716 761
 			}
717 762
 
718 763
 			echo '
719 764
 				<option value="" disabled>', $txt['pm_msg_label_remove'], ':</option>';
720 765
 
721
-			foreach ($context['labels'] as $label)
722
-				echo '
766
+			foreach ($context['labels'] as $label) {
767
+							echo '
723 768
 				<option value="rem_', $label['id'], '">&nbsp;', $label['name'], '</option>';
769
+			}
724 770
 
725 771
 			echo '
726 772
 			</select>
@@ -751,11 +797,12 @@  discard block
 block discarded – undo
751 797
 			<h3 class="catbg">', $txt['pm_search_title'], '</h3>
752 798
 		</div>';
753 799
 
754
-	if (!empty($context['search_errors']))
755
-		echo '
800
+	if (!empty($context['search_errors'])) {
801
+			echo '
756 802
 		<div class="errorbox">
757 803
 			', implode('<br>', $context['search_errors']['messages']), '
758 804
 		</div>';
805
+	}
759 806
 
760 807
 
761 808
 	echo '
@@ -804,9 +851,10 @@  discard block
 block discarded – undo
804 851
 					</dd>
805 852
 				</dl>';
806 853
 
807
-	if (!$context['currently_using_labels'])
808
-		echo '
854
+	if (!$context['currently_using_labels']) {
855
+			echo '
809 856
 				<input type="submit" name="pm_search" value="', $txt['pm_search_go'], '" class="button">';
857
+	}
810 858
 
811 859
 	echo '
812 860
 				<br class="clear_right">
@@ -827,12 +875,13 @@  discard block
 block discarded – undo
827 875
 				<div id="advanced_panel_div">
828 876
 					<ul id="searchLabelsExpand">';
829 877
 
830
-		foreach ($context['search_labels'] as $label)
831
-			echo '
878
+		foreach ($context['search_labels'] as $label) {
879
+					echo '
832 880
 						<li>
833 881
 							<label for="searchlabel_', $label['id'], '"><input type="checkbox" id="searchlabel_', $label['id'], '" name="searchlabel[', $label['id'], ']" value="', $label['id'], '"', $label['checked'] ? ' checked' : '', '>
834 882
 							', $label['name'], '</label>
835 883
 						</li>';
884
+		}
836 885
 
837 886
 		echo '
838 887
 					</ul>
@@ -894,8 +943,8 @@  discard block
 block discarded – undo
894 943
 		</div>';
895 944
 
896 945
 	// Complete results?
897
-	if (empty($context['search_params']['show_complete']) && !empty($context['personal_messages']))
898
-		echo '
946
+	if (empty($context['search_params']['show_complete']) && !empty($context['personal_messages'])) {
947
+			echo '
899 948
 		<table class="table_grid">
900 949
 			<thead>
901 950
 				<tr class="title_bar">
@@ -905,6 +954,7 @@  discard block
 block discarded – undo
905 954
 				</tr>
906 955
 			</thead>
907 956
 			<tbody>';
957
+	}
908 958
 
909 959
 	// Print each message out...
910 960
 	foreach ($context['personal_messages'] as $message)
@@ -924,12 +974,14 @@  discard block
 block discarded – undo
924 974
 
925 975
 			// Show the recipients.
926 976
 			// @todo This doesn't deal with the sent item searching quite right for bcc.
927
-			if (!empty($message['recipients']['to']))
928
-				echo implode(', ', $message['recipients']['to']);
977
+			if (!empty($message['recipients']['to'])) {
978
+							echo implode(', ', $message['recipients']['to']);
979
+			}
929 980
 
930 981
 			// Otherwise, we're just going to say "some people"...
931
-			elseif ($context['folder'] != 'sent')
932
-				echo '(', $txt['pm_undisclosed_recipients'], ')';
982
+			elseif ($context['folder'] != 'sent') {
983
+							echo '(', $txt['pm_undisclosed_recipients'], ')';
984
+			}
933 985
 
934 986
 			echo '
935 987
 				</h3>
@@ -944,15 +996,17 @@  discard block
 block discarded – undo
944 996
 				$reply_button = create_button('im_reply.png', 'reply', 'reply', 'class="centericon"');
945 997
 
946 998
 				// You can only reply if they are not a guest...
947
-				if (!$message['member']['is_guest'])
948
-					echo '
999
+				if (!$message['member']['is_guest']) {
1000
+									echo '
949 1001
 					<a href="', $scripturl, '?action=pm;sa=send;f=', $context['folder'], $context['current_label_id'] != -1 ? ';l=' . $context['current_label_id'] : '', ';pmsg=', $message['id'], ';quote;u=', $context['folder'] == 'sent' ? '' : $message['member']['id'], '">', $quote_button , '</a>', $context['menu_separator'], '
950 1002
 					<a href="', $scripturl, '?action=pm;sa=send;f=', $context['folder'], $context['current_label_id'] != -1 ? ';l=' . $context['current_label_id'] : '', ';pmsg=', $message['id'], ';u=', $message['member']['id'], '">', $reply_button , '</a> ', $context['menu_separator'];
1003
+				}
951 1004
 
952 1005
 				// This is for "forwarding" - even if the member is gone.
953
-				else
954
-					echo '
1006
+				else {
1007
+									echo '
955 1008
 					<a href="', $scripturl, '?action=pm;sa=send;f=', $context['folder'], $context['current_label_id'] != -1 ? ';l=' . $context['current_label_id'] : '', ';pmsg=', $message['id'], ';quote">', $quote_button , '</a>', $context['menu_separator'];
1009
+				}
956 1010
 			}
957 1011
 
958 1012
 			echo '
@@ -961,27 +1015,30 @@  discard block
 block discarded – undo
961 1015
 		}
962 1016
 		// Otherwise just a simple list!
963 1017
 		// @todo No context at all of the search?
964
-		else
965
-			echo '
1018
+		else {
1019
+					echo '
966 1020
 				<tr class="windowbg">
967 1021
 					<td>', $message['time'], '</td>
968 1022
 					<td>', $message['link'], '</td>
969 1023
 					<td>', $message['member']['link'], '</td>
970 1024
 				</tr>';
1025
+		}
971 1026
 	}
972 1027
 
973 1028
 	// Finish off the page...
974
-	if (empty($context['search_params']['show_complete']) && !empty($context['personal_messages']))
975
-		echo '
1029
+	if (empty($context['search_params']['show_complete']) && !empty($context['personal_messages'])) {
1030
+			echo '
976 1031
 			</tbody>
977 1032
 		</table>';
1033
+	}
978 1034
 
979 1035
 	// No results?
980
-	if (empty($context['personal_messages']))
981
-		echo '
1036
+	if (empty($context['personal_messages'])) {
1037
+			echo '
982 1038
 		<div class="windowbg">
983 1039
 			<p class="centertext">', $txt['pm_search_none_found'], '</p>
984 1040
 		</div>';
1041
+	}
985 1042
 
986 1043
 	echo '
987 1044
 		<div class="pagesection">
@@ -1006,15 +1063,17 @@  discard block
 block discarded – undo
1006 1063
 		</div>
1007 1064
 		<div class="windowbg">';
1008 1065
 
1009
-		if (!empty($context['send_log']['sent']))
1010
-			foreach ($context['send_log']['sent'] as $log_entry)
1066
+		if (!empty($context['send_log']['sent'])) {
1067
+					foreach ($context['send_log']['sent'] as $log_entry)
1011 1068
 				echo '
1012 1069
 			<span class="error">', $log_entry, '</span><br>';
1070
+		}
1013 1071
 
1014
-		if (!empty($context['send_log']['failed']))
1015
-			foreach ($context['send_log']['failed'] as $log_entry)
1072
+		if (!empty($context['send_log']['failed'])) {
1073
+					foreach ($context['send_log']['failed'] as $log_entry)
1016 1074
 				echo '
1017 1075
 			<span class="error">', $log_entry, '</span><br>';
1076
+		}
1018 1077
 
1019 1078
 		echo '
1020 1079
 		</div>
@@ -1062,12 +1121,13 @@  discard block
 block discarded – undo
1062 1121
 					</dl>
1063 1122
 				</div>';
1064 1123
 
1065
-	if (!empty($modSettings['drafts_pm_enabled']))
1066
-		echo '
1124
+	if (!empty($modSettings['drafts_pm_enabled'])) {
1125
+			echo '
1067 1126
 				<div id="draft_section" class="infobox"', isset($context['draft_saved']) ? '' : ' style="display: none;"', '>',
1068 1127
 					sprintf($txt['draft_pm_saved'], $scripturl . '?action=pm;sa=showpmdrafts'), '
1069 1128
 					', (!empty($modSettings['drafts_keep_days']) ? ' <strong>' . sprintf($txt['draft_save_warning'], $modSettings['drafts_keep_days']) . '</strong>' : ''), '
1070 1129
 				</div>';
1130
+	}
1071 1131
 
1072 1132
 	echo '
1073 1133
 				<dl id="post_header">';
@@ -1133,22 +1193,24 @@  discard block
 block discarded – undo
1133 1193
 						<dt><strong>', $txt['subject'], '</strong></dt>
1134 1194
 						<dd><strong>', $txt['draft_saved_on'], '</strong></dd>';
1135 1195
 
1136
-		foreach ($context['drafts'] as $draft)
1137
-			echo '
1196
+		foreach ($context['drafts'] as $draft) {
1197
+					echo '
1138 1198
 						<dt>', $draft['link'], '</dt>
1139 1199
 						<dd>', $draft['poster_time'], '</dd>';
1200
+		}
1140 1201
 		echo '
1141 1202
 					</dl>
1142 1203
 				</div>';
1143 1204
 	}
1144 1205
 
1145 1206
 	// Require an image to be typed to save spamming?
1146
-	if ($context['require_verification'])
1147
-		echo '
1207
+	if ($context['require_verification']) {
1208
+			echo '
1148 1209
 				<div class="post_verification">
1149 1210
 					<strong>', $txt['pm_visual_verification_label'], ':</strong>
1150 1211
 					', template_control_verification($context['visual_verification_id'], 'all'), '
1151 1212
 				</div>';
1213
+	}
1152 1214
 
1153 1215
 	// Send, Preview, spellcheck buttons.
1154 1216
 	echo '
@@ -1266,8 +1328,8 @@  discard block
 block discarded – undo
1266 1328
 			}';
1267 1329
 
1268 1330
 	// Code for showing and hiding drafts
1269
-	if (!empty($context['drafts']))
1270
-		echo '
1331
+	if (!empty($context['drafts'])) {
1332
+			echo '
1271 1333
 			var oSwapDraftOptions = new smc_Toggle({
1272 1334
 				bToggleEnabled: true,
1273 1335
 				bCurrentlyCollapsed: true,
@@ -1289,13 +1351,14 @@  discard block
 block discarded – undo
1289 1351
 					}
1290 1352
 				]
1291 1353
 			});';
1354
+	}
1292 1355
 
1293 1356
 	echo '
1294 1357
 		</script>';
1295 1358
 
1296 1359
 	// Show the message you're replying to.
1297
-	if ($context['reply'])
1298
-		echo '
1360
+	if ($context['reply']) {
1361
+			echo '
1299 1362
 		<br><br>
1300 1363
 		<div class="cat_bar">
1301 1364
 			<h3 class="catbg">', $txt['subject'], ': ', $context['quoted_message']['subject'], '</h3>
@@ -1309,6 +1372,7 @@  discard block
 block discarded – undo
1309 1372
 			', $context['quoted_message']['body'], '
1310 1373
 		</div>
1311 1374
 		<br class="clear">';
1375
+	}
1312 1376
 
1313 1377
 	echo '
1314 1378
 		<script>
@@ -1320,23 +1384,25 @@  discard block
 block discarded – undo
1320 1384
 				sToControlId: \'to_control\',
1321 1385
 				aToRecipients: [';
1322 1386
 
1323
-	foreach ($context['recipients']['to'] as $i => $member)
1324
-		echo '
1387
+	foreach ($context['recipients']['to'] as $i => $member) {
1388
+			echo '
1325 1389
 					{
1326 1390
 						sItemId: ', JavaScriptEscape($member['id']), ',
1327 1391
 						sItemName: ', JavaScriptEscape($member['name']), '
1328 1392
 					}', $i == count($context['recipients']['to']) - 1 ? '' : ',';
1393
+	}
1329 1394
 
1330 1395
 	echo '
1331 1396
 				],
1332 1397
 				aBccRecipients: [';
1333 1398
 
1334
-	foreach ($context['recipients']['bcc'] as $i => $member)
1335
-		echo '
1399
+	foreach ($context['recipients']['bcc'] as $i => $member) {
1400
+			echo '
1336 1401
 					{
1337 1402
 						sItemId: ', JavaScriptEscape($member['id']), ',
1338 1403
 						sItemName: ', JavaScriptEscape($member['name']), '
1339 1404
 					}', $i == count($context['recipients']['bcc']) - 1 ? '' : ',';
1405
+	}
1340 1406
 
1341 1407
 	echo '
1342 1408
 				],
@@ -1425,26 +1491,28 @@  discard block
 block discarded – undo
1425 1491
 					</th>
1426 1492
 					<th class="centertext table_icon">';
1427 1493
 
1428
-	if (count($context['labels']) > 2)
1429
-		echo '
1494
+	if (count($context['labels']) > 2) {
1495
+			echo '
1430 1496
 						<input type="checkbox" onclick="invertAll(this, this.form);">';
1497
+	}
1431 1498
 
1432 1499
 	echo '
1433 1500
 					</th>
1434 1501
 				</tr>
1435 1502
 			</thead>
1436 1503
 			<tbody>';
1437
-	if (count($context['labels']) < 2)
1438
-		echo '
1504
+	if (count($context['labels']) < 2) {
1505
+			echo '
1439 1506
 				<tr class="windowbg">
1440 1507
 					<td colspan="2">', $txt['pm_labels_no_exist'], '</td>
1441 1508
 				</tr>';
1442
-	else
1509
+	} else
1443 1510
 	{
1444 1511
 		foreach ($context['labels'] as $label)
1445 1512
 		{
1446
-			if ($label['id'] == -1)
1447
-				continue;
1513
+			if ($label['id'] == -1) {
1514
+							continue;
1515
+			}
1448 1516
 
1449 1517
 				echo '
1450 1518
 				<tr class="windowbg">
@@ -1459,12 +1527,13 @@  discard block
 block discarded – undo
1459 1527
 			</tbody>
1460 1528
 		</table>';
1461 1529
 
1462
-	if (!count($context['labels']) < 2)
1463
-		echo '
1530
+	if (!count($context['labels']) < 2) {
1531
+			echo '
1464 1532
 		<div class="padding">
1465 1533
 			<input type="submit" name="save" value="', $txt['save'], '" class="button">
1466 1534
 			<input type="submit" name="delete" value="', $txt['quickmod_delete_selected'], '" data-confirm="', $txt['pm_labels_delete'] ,'" class="button you_sure">
1467 1535
 		</div>';
1536
+	}
1468 1537
 
1469 1538
 	echo '
1470 1539
 		<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -1521,9 +1590,10 @@  discard block
 block discarded – undo
1521 1590
 					<select name="id_admin">
1522 1591
 						<option value="0">', $txt['pm_report_all_admins'], '</option>';
1523 1592
 
1524
-		foreach ($context['admins'] as $id => $name)
1525
-			echo '
1593
+		foreach ($context['admins'] as $id => $name) {
1594
+					echo '
1526 1595
 						<option value="', $id, '">', $name, '</option>';
1596
+		}
1527 1597
 
1528 1598
 		echo '
1529 1599
 					</select>
@@ -1586,9 +1656,10 @@  discard block
 block discarded – undo
1586 1656
 					</th>
1587 1657
 					<th class="centertext table_icon">';
1588 1658
 
1589
-	if (!empty($context['rules']))
1590
-		echo '
1659
+	if (!empty($context['rules'])) {
1660
+			echo '
1591 1661
 						<input type="checkbox" onclick="invertAll(this, this.form);">';
1662
+	}
1592 1663
 
1593 1664
 	echo '
1594 1665
 					</th>
@@ -1596,16 +1667,17 @@  discard block
 block discarded – undo
1596 1667
 			</thead>
1597 1668
 			<tbody>';
1598 1669
 
1599
-	if (empty($context['rules']))
1600
-		echo '
1670
+	if (empty($context['rules'])) {
1671
+			echo '
1601 1672
 				<tr class="windowbg">
1602 1673
 					<td colspan="2">
1603 1674
 						', $txt['pm_rules_none'], '
1604 1675
 					</td>
1605 1676
 				</tr>';
1677
+	}
1606 1678
 
1607
-	foreach ($context['rules'] as $rule)
1608
-		echo '
1679
+	foreach ($context['rules'] as $rule) {
1680
+			echo '
1609 1681
 				<tr class="windowbg">
1610 1682
 					<td>
1611 1683
 						<a href="', $scripturl, '?action=pm;sa=manrules;add;rid=', $rule['id'], '">', $rule['name'], '</a>
@@ -1614,6 +1686,7 @@  discard block
 block discarded – undo
1614 1686
 						<input type="checkbox" name="delrule[', $rule['id'], ']">
1615 1687
 					</td>
1616 1688
 				</tr>';
1689
+	}
1617 1690
 
1618 1691
 	echo '
1619 1692
 			</tbody>
@@ -1621,14 +1694,16 @@  discard block
 block discarded – undo
1621 1694
 		<div class="righttext">
1622 1695
 			<a class="button" href="', $scripturl, '?action=pm;sa=manrules;add;rid=0">', $txt['pm_add_rule'], '</a>';
1623 1696
 
1624
-	if (!empty($context['rules']))
1625
-		echo '
1697
+	if (!empty($context['rules'])) {
1698
+			echo '
1626 1699
 			[<a href="', $scripturl, '?action=pm;sa=manrules;apply;', $context['session_var'], '=', $context['session_id'], '" onclick="return confirm(\'', $txt['pm_js_apply_rules_confirm'], '\');">', $txt['pm_apply_rules'], '</a>]';
1700
+	}
1627 1701
 
1628
-	if (!empty($context['rules']))
1629
-		echo '
1702
+	if (!empty($context['rules'])) {
1703
+			echo '
1630 1704
 			<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
1631 1705
 			<input type="submit" name="delselected" value="', $txt['pm_delete_selected_rule'], '" data-confirm="', $txt['pm_js_delete_rule_confirm'] ,'" class="button smalltext you_sure">';
1706
+	}
1632 1707
 
1633 1708
 	echo '
1634 1709
 		</div>
@@ -1650,14 +1725,16 @@  discard block
 block discarded – undo
1650 1725
 		var groups = new Array()
1651 1726
 		var labels = new Array()';
1652 1727
 
1653
-	foreach ($context['groups'] as $id => $title)
1654
-		echo '
1728
+	foreach ($context['groups'] as $id => $title) {
1729
+			echo '
1655 1730
 		groups[', $id, '] = "', addslashes($title), '";';
1731
+	}
1656 1732
 
1657
-	foreach ($context['labels'] as $label)
1658
-		if ($label['id'] != -1)
1733
+	foreach ($context['labels'] as $label) {
1734
+			if ($label['id'] != -1)
1659 1735
 			echo '
1660 1736
 		labels[', ($label['id']), '] = "', addslashes($label['name']), '";';
1737
+	}
1661 1738
 
1662 1739
 	echo '
1663 1740
 		function addCriteriaOption()
@@ -1672,8 +1749,9 @@  discard block
 block discarded – undo
1672 1749
 
1673 1750
 			setOuterHTML(document.getElementById("criteriaAddHere"), \'<br><select name="ruletype[\' + criteriaNum + \']" id="ruletype\' + criteriaNum + \'" onchange="updateRuleDef(\' + criteriaNum + \'); rebuildRuleDesc();"><option value="">', addslashes($txt['pm_rule_criteria_pick']), ':<\' + \'/option><option value="mid">', addslashes($txt['pm_rule_mid']), '<\' + \'/option><option value="gid">', addslashes($txt['pm_rule_gid']), '<\' + \'/option><option value="sub">', addslashes($txt['pm_rule_sub']), '<\' + \'/option><option value="msg">', addslashes($txt['pm_rule_msg']), '<\' + \'/option><option value="bud">', addslashes($txt['pm_rule_bud']), '<\' + \'/option><\' + \'/select>&nbsp;<span id="defdiv\' + criteriaNum + \'" style="display: none;"><input type="text" name="ruledef[\' + criteriaNum + \']" id="ruledef\' + criteriaNum + \'" onkeyup="rebuildRuleDesc();" value=""><\' + \'/span><span id="defseldiv\' + criteriaNum + \'" style="display: none;"><select name="ruledefgroup[\' + criteriaNum + \']" id="ruledefgroup\' + criteriaNum + \'" onchange="rebuildRuleDesc();"><option value="">', addslashes($txt['pm_rule_sel_group']), '<\' + \'/option>';
1674 1751
 
1675
-	foreach ($context['groups'] as $id => $group)
1676
-		echo '<option value="', $id, '">', strtr($group, array("'" => "\'")), '<\' + \'/option>';
1752
+	foreach ($context['groups'] as $id => $group) {
1753
+			echo '<option value="', $id, '">', strtr($group, array("'" => "\'")), '<\' + \'/option>';
1754
+	}
1677 1755
 
1678 1756
 	echo '<\' + \'/select><\' + \'/span><span id="criteriaAddHere"><\' + \'/span>\');
1679 1757
 			}
@@ -1690,9 +1768,10 @@  discard block
 block discarded – undo
1690 1768
 
1691 1769
 				setOuterHTML(document.getElementById("actionAddHere"), \'<br><select name="acttype[\' + actionNum + \']" id="acttype\' + actionNum + \'" onchange="updateActionDef(\' + actionNum + \'); rebuildRuleDesc();"><option value="">', addslashes($txt['pm_rule_sel_action']), ':<\' + \'/option><option value="lab">', addslashes($txt['pm_rule_label']), '<\' + \'/option><option value="del">', addslashes($txt['pm_rule_delete']), '<\' + \'/option><\' + \'/select>&nbsp;<span id="labdiv\' + actionNum + \'" style="display: none;"><select name="labdef[\' + actionNum + \']" id="labdef\' + actionNum + \'" onchange="rebuildRuleDesc();"><option value="">', addslashes($txt['pm_rule_sel_label']), '<\' + \'/option>';
1692 1770
 
1693
-	foreach ($context['labels'] as $label)
1694
-		if ($label['id'] != -1)
1771
+	foreach ($context['labels'] as $label) {
1772
+			if ($label['id'] != -1)
1695 1773
 			echo '<option value="', ($label['id']), '">', addslashes($label['name']), '<\' + \'/option>';
1774
+	}
1696 1775
 
1697 1776
 	echo '<\' + \'/select><\' + \'/span><span id="actionAddHere"><\' + \'/span>\');
1698 1777
 			}
@@ -1806,19 +1885,20 @@  discard block
 block discarded – undo
1806 1885
 	$isFirst = true;
1807 1886
 	foreach ($context['rule']['criteria'] as $k => $criteria)
1808 1887
 	{
1809
-		if (!$isFirst && $criteria['t'] == '')
1810
-			echo '<div id="removeonjs1">';
1811
-
1812
-		elseif (!$isFirst)
1813
-			echo '<br>';
1888
+		if (!$isFirst && $criteria['t'] == '') {
1889
+					echo '<div id="removeonjs1">';
1890
+		} elseif (!$isFirst) {
1891
+					echo '<br>';
1892
+		}
1814 1893
 
1815 1894
 		echo '
1816 1895
 				<select name="ruletype[', $k, ']" id="ruletype', $k, '" onchange="updateRuleDef(', $k, '); rebuildRuleDesc();">
1817 1896
 					<option value="">', $txt['pm_rule_criteria_pick'], ':</option>';
1818 1897
 
1819
-		foreach (array('mid', 'gid', 'sub', 'msg', 'bud') as $cr)
1820
-			echo '
1898
+		foreach (array('mid', 'gid', 'sub', 'msg', 'bud') as $cr) {
1899
+					echo '
1821 1900
 					<option value="', $cr, '"', $criteria['t'] == $cr ? ' selected' : '', '>', $txt['pm_rule_' . $cr], '</option>';
1901
+		}
1822 1902
 
1823 1903
 		echo '
1824 1904
 				</select>
@@ -1829,19 +1909,20 @@  discard block
 block discarded – undo
1829 1909
 					<select name="ruledefgroup[', $k, ']" id="ruledefgroup', $k, '" onchange="rebuildRuleDesc();">
1830 1910
 						<option value="">', $txt['pm_rule_sel_group'], '</option>';
1831 1911
 
1832
-		foreach ($context['groups'] as $id => $group)
1833
-			echo '
1912
+		foreach ($context['groups'] as $id => $group) {
1913
+					echo '
1834 1914
 						<option value="', $id, '"', $criteria['t'] == 'gid' && $criteria['v'] == $id ? ' selected' : '', '>', $group, '</option>';
1915
+		}
1835 1916
 		echo '
1836 1917
 					</select>
1837 1918
 				</span>';
1838 1919
 
1839 1920
 		// If this is the dummy we add a means to hide for non js users.
1840
-		if ($isFirst)
1841
-			$isFirst = false;
1842
-
1843
-		elseif ($criteria['t'] == '')
1844
-			echo '</div><!-- .removeonjs1 -->';
1921
+		if ($isFirst) {
1922
+					$isFirst = false;
1923
+		} elseif ($criteria['t'] == '') {
1924
+					echo '</div><!-- .removeonjs1 -->';
1925
+		}
1845 1926
 	}
1846 1927
 
1847 1928
 	echo '
@@ -1864,10 +1945,11 @@  discard block
 block discarded – undo
1864 1945
 	$isFirst = true;
1865 1946
 	foreach ($context['rule']['actions'] as $k => $action)
1866 1947
 	{
1867
-		if (!$isFirst && $action['t'] == '')
1868
-			echo '<div id="removeonjs2">';
1869
-		elseif (!$isFirst)
1870
-			echo '<br>';
1948
+		if (!$isFirst && $action['t'] == '') {
1949
+					echo '<div id="removeonjs2">';
1950
+		} elseif (!$isFirst) {
1951
+					echo '<br>';
1952
+		}
1871 1953
 
1872 1954
 		echo '
1873 1955
 				<select name="acttype[', $k, ']" id="acttype', $k, '" onchange="updateActionDef(', $k, '); rebuildRuleDesc();">
@@ -1879,20 +1961,21 @@  discard block
 block discarded – undo
1879 1961
 					<select name="labdef[', $k, ']" id="labdef', $k, '" onchange="rebuildRuleDesc();">
1880 1962
 						<option value="">', $txt['pm_rule_sel_label'], '</option>';
1881 1963
 
1882
-		foreach ($context['labels'] as $label)
1883
-			if ($label['id'] != -1)
1964
+		foreach ($context['labels'] as $label) {
1965
+					if ($label['id'] != -1)
1884 1966
 				echo '
1885 1967
 						<option value="', ($label['id']), '"', $action['t'] == 'lab' && $action['v'] == $label['id'] ? ' selected' : '', '>', $label['name'], '</option>';
1968
+		}
1886 1969
 
1887 1970
 		echo '
1888 1971
 					</select>
1889 1972
 				</span>';
1890 1973
 
1891
-		if ($isFirst)
1892
-			$isFirst = false;
1893
-
1894
-		elseif ($action['t'] == '')
1895
-			echo '</div><!-- .removeonjs2 -->';
1974
+		if ($isFirst) {
1975
+					$isFirst = false;
1976
+		} elseif ($action['t'] == '') {
1977
+					echo '</div><!-- .removeonjs2 -->';
1978
+		}
1896 1979
 	}
1897 1980
 
1898 1981
 	echo '
@@ -1916,22 +1999,25 @@  discard block
 block discarded – undo
1916 1999
 		echo '
1917 2000
 	<script>';
1918 2001
 
1919
-	foreach ($context['rule']['criteria'] as $k => $c)
1920
-		echo '
2002
+	foreach ($context['rule']['criteria'] as $k => $c) {
2003
+			echo '
1921 2004
 			updateRuleDef(', $k, ');';
2005
+	}
1922 2006
 
1923
-	foreach ($context['rule']['actions'] as $k => $c)
1924
-		echo '
2007
+	foreach ($context['rule']['actions'] as $k => $c) {
2008
+			echo '
1925 2009
 			updateActionDef(', $k, ');';
2010
+	}
1926 2011
 
1927 2012
 	echo '
1928 2013
 			rebuildRuleDesc();';
1929 2014
 
1930 2015
 	// If this isn't a new rule and we have JS enabled remove the JS compatibility stuff.
1931
-	if ($context['rid'])
1932
-		echo '
2016
+	if ($context['rid']) {
2017
+			echo '
1933 2018
 			document.getElementById("removeonjs1").style.display = "none";
1934 2019
 			document.getElementById("removeonjs2").style.display = "none";';
2020
+	}
1935 2021
 
1936 2022
 	echo '
1937 2023
 			document.getElementById("addonjs1").style.display = "";
@@ -1959,12 +2045,12 @@  discard block
 block discarded – undo
1959 2045
 		</div>';
1960 2046
 
1961 2047
 	// No drafts? Just show an informative message.
1962
-	if (empty($context['drafts']))
1963
-		echo '
2048
+	if (empty($context['drafts'])) {
2049
+			echo '
1964 2050
 		<div class="windowbg2 centertext">
1965 2051
 			', $txt['draft_none'], '
1966 2052
 		</div>';
1967
-	else
2053
+	} else
1968 2054
 	{
1969 2055
 		// For every draft to be displayed, give it its own div, and show the important details of the draft.
1970 2056
 		foreach ($context['drafts'] as $draft)
Please login to merge, or discard this patch.
Sources/Session.php 1 patch
Braces   +37 added lines, -25 removed lines patch added patch discarded remove patch
@@ -17,8 +17,9 @@  discard block
 block discarded – undo
17 17
  * @version 2.1 Beta 4
18 18
  */
19 19
 
20
-if (!defined('SMF'))
20
+if (!defined('SMF')) {
21 21
 	die('No direct access...');
22
+}
22 23
 
23 24
 /**
24 25
  * Attempt to start the session, unless it already has been.
@@ -38,8 +39,9 @@  discard block
 block discarded – undo
38 39
 	{
39 40
 		$parsed_url = parse_url($boardurl);
40 41
 
41
-		if (preg_match('~^\d{1,3}(\.\d{1,3}){3}$~', $parsed_url['host']) == 0 && preg_match('~(?:[^\.]+\.)?([^\.]{2,}\..+)\z~i', $parsed_url['host'], $parts) == 1)
42
-			@ini_set('session.cookie_domain', '.' . $parts[1]);
42
+		if (preg_match('~^\d{1,3}(\.\d{1,3}){3}$~', $parsed_url['host']) == 0 && preg_match('~(?:[^\.]+\.)?([^\.]{2,}\..+)\z~i', $parsed_url['host'], $parts) == 1) {
43
+					@ini_set('session.cookie_domain', '.' . $parts[1]);
44
+		}
43 45
 	}
44 46
 	// @todo Set the session cookie path?
45 47
 
@@ -47,8 +49,9 @@  discard block
 block discarded – undo
47 49
 	if ((ini_get('session.auto_start') == 1 && !empty($modSettings['databaseSession_enable'])) || session_id() == '')
48 50
 	{
49 51
 		// Attempt to end the already-started session.
50
-		if (ini_get('session.auto_start') == 1)
51
-			session_write_close();
52
+		if (ini_get('session.auto_start') == 1) {
53
+					session_write_close();
54
+		}
52 55
 
53 56
 		// This is here to stop people from using bad junky PHPSESSIDs.
54 57
 		if (isset($_REQUEST[session_name()]) && preg_match('~^[A-Za-z0-9,-]{16,64}$~', $_REQUEST[session_name()]) == 0 && !isset($_COOKIE[session_name()]))
@@ -63,23 +66,26 @@  discard block
 block discarded – undo
63 66
 		if (!empty($modSettings['databaseSession_enable']))
64 67
 		{
65 68
 			@ini_set('session.serialize_handler', 'php_serialize');
66
-			if (ini_get('session.serialize_handler') != 'php_serialize')
67
-				@ini_set('session.serialize_handler', 'php');
69
+			if (ini_get('session.serialize_handler') != 'php_serialize') {
70
+							@ini_set('session.serialize_handler', 'php');
71
+			}
68 72
 			session_set_save_handler('sessionOpen', 'sessionClose', 'sessionRead', 'sessionWrite', 'sessionDestroy', 'sessionGC');
69 73
 			@ini_set('session.gc_probability', '1');
74
+		} elseif (ini_get('session.gc_maxlifetime') <= 1440 && !empty($modSettings['databaseSession_lifetime'])) {
75
+					@ini_set('session.gc_maxlifetime', max($modSettings['databaseSession_lifetime'], 60));
70 76
 		}
71
-		elseif (ini_get('session.gc_maxlifetime') <= 1440 && !empty($modSettings['databaseSession_lifetime']))
72
-			@ini_set('session.gc_maxlifetime', max($modSettings['databaseSession_lifetime'], 60));
73 77
 
74 78
 		// Use cache setting sessions?
75
-		if (empty($modSettings['databaseSession_enable']) && !empty($modSettings['cache_enable']) && php_sapi_name() != 'cli')
76
-			call_integration_hook('integrate_session_handlers');
79
+		if (empty($modSettings['databaseSession_enable']) && !empty($modSettings['cache_enable']) && php_sapi_name() != 'cli') {
80
+					call_integration_hook('integrate_session_handlers');
81
+		}
77 82
 
78 83
 		session_start();
79 84
 
80 85
 		// Change it so the cache settings are a little looser than default.
81
-		if (!empty($modSettings['databaseSession_loose']))
82
-			header('cache-control: private');
86
+		if (!empty($modSettings['databaseSession_loose'])) {
87
+					header('cache-control: private');
88
+		}
83 89
 	}
84 90
 
85 91
 	// Set the randomly generated code.
@@ -125,8 +131,9 @@  discard block
 block discarded – undo
125 131
 {
126 132
 	global $smcFunc;
127 133
 
128
-	if (preg_match('~^[A-Za-z0-9,-]{16,64}$~', $session_id) == 0)
129
-		return '';
134
+	if (preg_match('~^[A-Za-z0-9,-]{16,64}$~', $session_id) == 0) {
135
+			return '';
136
+	}
130 137
 
131 138
 	// Look for it in the database.
132 139
 	$result = $smcFunc['db_query']('', '
@@ -155,8 +162,9 @@  discard block
 block discarded – undo
155 162
 {
156 163
 	global $smcFunc, $db_connection, $db_server, $db_name, $db_user, $db_passwd, $db_prefix, $db_persist, $db_port;
157 164
 
158
-	if (preg_match('~^[A-Za-z0-9,-]{16,64}$~', $session_id) == 0)
159
-		return false;
165
+	if (preg_match('~^[A-Za-z0-9,-]{16,64}$~', $session_id) == 0) {
166
+			return false;
167
+	}
160 168
 
161 169
 	// php < 7.0 need this
162 170
 	if (empty($db_connection))
@@ -164,8 +172,9 @@  discard block
 block discarded – undo
164 172
 		$db_options = array();
165 173
 
166 174
 		// Add in the port if needed
167
-		if (!empty($db_port))
168
-			$db_options['port'] = $db_port;
175
+		if (!empty($db_port)) {
176
+					$db_options['port'] = $db_port;
177
+		}
169 178
 		$options = array_merge($db_options, array('persist' => $db_persist, 'dont_select_db' => SMF == 'SSI'));
170 179
 
171 180
 		$db_connection = smf_db_initiate($db_server, $db_name, $db_user, $db_passwd, $db_prefix, $options);
@@ -184,13 +193,14 @@  discard block
 block discarded – undo
184 193
 	);
185 194
 
186 195
 	// If that didn't work, try inserting a new one.
187
-	if ($smcFunc['db_affected_rows']() == 0)
188
-		$smcFunc['db_insert']('ignore',
196
+	if ($smcFunc['db_affected_rows']() == 0) {
197
+			$smcFunc['db_insert']('ignore',
189 198
 			'{db_prefix}sessions',
190 199
 			array('session_id' => 'string', 'data' => 'string', 'last_update' => 'int'),
191 200
 			array($session_id, $data, time()),
192 201
 			array('session_id')
193 202
 		);
203
+	}
194 204
 
195 205
 	return ($smcFunc['db_affected_rows']() == 0 ? false : true);
196 206
 }
@@ -205,8 +215,9 @@  discard block
 block discarded – undo
205 215
 {
206 216
 	global $smcFunc;
207 217
 
208
-	if (preg_match('~^[A-Za-z0-9,-]{16,64}$~', $session_id) == 0)
209
-		return false;
218
+	if (preg_match('~^[A-Za-z0-9,-]{16,64}$~', $session_id) == 0) {
219
+			return false;
220
+	}
210 221
 
211 222
 	// Just delete the row...
212 223
 	$smcFunc['db_query']('', '
@@ -232,8 +243,9 @@  discard block
 block discarded – undo
232 243
 	global $modSettings, $smcFunc;
233 244
 
234 245
 	// Just set to the default or lower?  Ignore it for a higher value. (hopefully)
235
-	if (!empty($modSettings['databaseSession_lifetime']) && ($max_lifetime <= 1440 || $modSettings['databaseSession_lifetime'] > $max_lifetime))
236
-		$max_lifetime = max($modSettings['databaseSession_lifetime'], 60);
246
+	if (!empty($modSettings['databaseSession_lifetime']) && ($max_lifetime <= 1440 || $modSettings['databaseSession_lifetime'] > $max_lifetime)) {
247
+			$max_lifetime = max($modSettings['databaseSession_lifetime'], 60);
248
+	}
237 249
 
238 250
 	// Clean up after yerself ;).
239 251
 	$smcFunc['db_query']('', '
Please login to merge, or discard this patch.
proxy.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -140,7 +140,7 @@
 block discarded – undo
140 140
 		$max_age = $time - $cached['time'] + (5 * 86400);
141 141
 		header('content-type: ' . $cached['content_type']);
142 142
 		header('content-length: ' . $cached['size']);
143
-		header('cache-control: public, max-age=' . $max_age );
143
+		header('cache-control: public, max-age=' . $max_age);
144 144
 		header('last-modified: ' . gmdate('D, d M Y H:i:s', $cached['time']) . ' GMT');
145 145
 		header('etag: ' . $eTag);
146 146
 		echo base64_decode($cached['body']);
Please login to merge, or discard this patch.
Braces   +35 added lines, -23 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 4
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	define('SMF', 'proxy');
18
+}
18 19
 
19 20
 global $proxyhousekeeping;
20 21
 
@@ -68,33 +69,38 @@  discard block
 block discarded – undo
68 69
 	 */
69 70
 	public function checkRequest()
70 71
 	{
71
-		if (!$this->enabled)
72
-			return false;
72
+		if (!$this->enabled) {
73
+					return false;
74
+		}
73 75
 
74 76
 		// Try to create the image cache directory if it doesn't exist
75
-		if (!file_exists($this->cache))
76
-			if (!mkdir($this->cache) || !copy(dirname($this->cache) . '/index.php', $this->cache . '/index.php'))
77
+		if (!file_exists($this->cache)) {
78
+					if (!mkdir($this->cache) || !copy(dirname($this->cache) . '/index.php', $this->cache . '/index.php'))
77 79
 				return false;
80
+		}
78 81
 
79 82
 		// Basic sanity check
80 83
 		$_GET['request'] = validate_iri($_GET['request']);
81 84
 
82 85
 		// We aren't going anywhere without these
83
-		if (empty($_GET['hash']) || empty($_GET['request']))
84
-			return false;
86
+		if (empty($_GET['hash']) || empty($_GET['request'])) {
87
+					return false;
88
+		}
85 89
 
86 90
 		$hash = $_GET['hash'];
87 91
 		$request = $_GET['request'];
88 92
 
89
-		if (md5($request . $this->secret) != $hash)
90
-			return false;
93
+		if (md5($request . $this->secret) != $hash) {
94
+					return false;
95
+		}
91 96
 
92 97
 		// Ensure any non-ASCII characters in the URL are encoded correctly
93 98
 		$request = iri_to_url($request);
94 99
 
95 100
 		// Attempt to cache the request if it doesn't exist
96
-		if (!$this->isCached($request))
97
-			return $this->cacheImage($request);
101
+		if (!$this->isCached($request)) {
102
+					return $this->cacheImage($request);
103
+		}
98 104
 
99 105
 		return true;
100 106
 	}
@@ -131,8 +137,9 @@  discard block
 block discarded – undo
131 137
 		if (!$cached || $time - $cached['time'] > ($this->maxDays * 86400))
132 138
 		{
133 139
 			@unlink($cached_file);
134
-			if ($this->checkRequest())
135
-				$this->serve();
140
+			if ($this->checkRequest()) {
141
+							$this->serve();
142
+			}
136 143
 			$this::redirectexit($request);
137 144
 		}
138 145
 
@@ -145,8 +152,9 @@  discard block
 block discarded – undo
145 152
 
146 153
 		// Make sure we're serving an image
147 154
 		$contentParts = explode('/', !empty($cached['content_type']) ? $cached['content_type'] : '');
148
-		if ($contentParts[0] != 'image')
149
-			exit;
155
+		if ($contentParts[0] != 'image') {
156
+					exit;
157
+		}
150 158
 
151 159
 		$max_age = $time - $cached['time'] + (5 * 86400);
152 160
 		header('content-type: ' . $cached['content_type']);
@@ -196,25 +204,29 @@  discard block
 block discarded – undo
196 204
 		$image = fetch_web_data($request);
197 205
 
198 206
 		// Looks like nobody was home
199
-		if (empty($image))
200
-			return -1;
207
+		if (empty($image)) {
208
+					return -1;
209
+		}
201 210
 
202 211
 		// What kind of file did they give us?
203 212
 		$finfo = finfo_open(FILEINFO_MIME_TYPE);
204 213
 		$mime_type = finfo_buffer($finfo, $image);
205 214
 
206 215
 		// SVG needs a little extra care
207
-		if ($ext == 'svg' && $mime_type == 'text/plain')
208
-			$mime_type = 'image/svg+xml';
216
+		if ($ext == 'svg' && $mime_type == 'text/plain') {
217
+					$mime_type = 'image/svg+xml';
218
+		}
209 219
 
210 220
 		// Make sure the url is returning an image
211
-		if (strpos($mime_type, 'image/') !== 0)
212
-			return -1;
221
+		if (strpos($mime_type, 'image/') !== 0) {
222
+					return -1;
223
+		}
213 224
 
214 225
 		// Validate the filesize
215 226
 		$size = strlen($image);
216
-		if ($size > ($this->maxSize * 1024))
217
-			return 0;
227
+		if ($size > ($this->maxSize * 1024)) {
228
+					return 0;
229
+		}
218 230
 
219 231
 		// Cache it for later
220 232
 		return file_put_contents($dest, json_encode(array(
Please login to merge, or discard this patch.
Themes/default/Profile.template.php 2 patches
Spacing   +2 added lines, -3 removed lines patch added patch discarded remove patch
@@ -464,7 +464,7 @@  discard block
 block discarded – undo
464 464
 		$fields = '';
465 465
 		foreach ($context['print_custom_fields']['below_signature'] as $field)
466 466
 			if (!empty($field['output_html']))
467
-				$fields .=  '
467
+				$fields .= '
468 468
 					<li>' . $field['output_html'] . '</li>';
469 469
 
470 470
 		if (!empty($fields))
@@ -3106,8 +3106,7 @@  discard block
 block discarded – undo
3106 3106
 			<div class="roundframe">
3107 3107
 				<div>
3108 3108
 		', !empty($context['tfa_backup']) ? '
3109
-					<div class="smalltext error">' . $txt['tfa_backup_used_desc'] . '</div>' :
3110
-			($modSettings['tfa_mode'] == 2 ? '
3109
+					<div class="smalltext error">' . $txt['tfa_backup_used_desc'] . '</div>' : ($modSettings['tfa_mode'] == 2 ? '
3111 3110
 									<div class="smalltext"><strong>' . $txt['tfa_forced_desc'] . '</strong></div>' : ''), '
3112 3111
 									<div class="smalltext">', $txt['tfa_desc'], '</div>
3113 3112
 									<div class="floatleft">
Please login to merge, or discard this patch.
Braces   +535 added lines, -410 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>';
@@ -356,9 +379,10 @@  discard block
 block discarded – undo
356 379
 					<a href="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=', ($context['can_issue_warning'] && !$context['user']['is_owner'] ? 'issuewarning' : 'viewwarning'), '">', $context['member']['warning'], '%</a>';
357 380
 
358 381
 		// Can we provide information on what this means?
359
-		if (!empty($context['warning_status']))
360
-			echo '
382
+		if (!empty($context['warning_status'])) {
383
+					echo '
361 384
 					<span class="smalltext">(', $context['warning_status'], ')</span>';
385
+		}
362 386
 
363 387
 		echo '
364 388
 				</dd>';
@@ -369,11 +393,12 @@  discard block
 block discarded – undo
369 393
 	{
370 394
 
371 395
 		// If the person looking at the summary has permission, and the account isn't activated, give the viewer the ability to do it themselves.
372
-		if (!empty($context['activate_message']))
373
-			echo '
396
+		if (!empty($context['activate_message'])) {
397
+					echo '
374 398
 				<dt class="clear">
375 399
 					<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>)
376 400
 				</dt>';
401
+		}
377 402
 
378 403
 		// If the current member is banned, show a message and possibly a link to the ban.
379 404
 		if (!empty($context['member']['bans']))
@@ -385,10 +410,11 @@  discard block
 block discarded – undo
385 410
 				<dt class="clear" id="ban_info" style="display: none;">
386 411
 					<strong>', $txt['user_banned_by_following'], ':</strong>';
387 412
 
388
-			foreach ($context['member']['bans'] as $ban)
389
-				echo '
413
+			foreach ($context['member']['bans'] as $ban) {
414
+							echo '
390 415
 					<br>
391 416
 					<span class="smalltext">', $ban['explanation'], '</span>';
417
+			}
392 418
 
393 419
 			echo '
394 420
 				</dt>';
@@ -402,30 +428,34 @@  discard block
 block discarded – undo
402 428
 	// If the person looking is allowed, they can check the members IP address and hostname.
403 429
 	if ($context['can_see_ip'])
404 430
 	{
405
-		if (!empty($context['member']['ip']))
406
-		echo '
431
+		if (!empty($context['member']['ip'])) {
432
+				echo '
407 433
 				<dt>', $txt['ip'], ': </dt>
408 434
 				<dd><a href="', $scripturl, '?action=profile;area=tracking;sa=ip;searchip=', $context['member']['ip'], ';u=', $context['member']['id'], '">', $context['member']['ip'], '</a></dd>';
435
+		}
409 436
 
410
-		if (empty($modSettings['disableHostnameLookup']) && !empty($context['member']['ip']))
411
-			echo '
437
+		if (empty($modSettings['disableHostnameLookup']) && !empty($context['member']['ip'])) {
438
+					echo '
412 439
 				<dt>', $txt['hostname'], ': </dt>
413 440
 				<dd>', $context['member']['hostname'], '</dd>';
441
+		}
414 442
 	}
415 443
 
416 444
 	echo '
417 445
 				<dt>', $txt['local_time'], ':</dt>
418 446
 				<dd>', $context['member']['local_time'], '</dd>';
419 447
 
420
-	if (!empty($modSettings['userLanguage']) && !empty($context['member']['language']))
421
-		echo '
448
+	if (!empty($modSettings['userLanguage']) && !empty($context['member']['language'])) {
449
+			echo '
422 450
 				<dt>', $txt['language'], ':</dt>
423 451
 				<dd>', $context['member']['language'], '</dd>';
452
+	}
424 453
 
425
-	if ($context['member']['show_last_login'])
426
-		echo '
454
+	if ($context['member']['show_last_login']) {
455
+			echo '
427 456
 				<dt>', $txt['lastLoggedIn'], ': </dt>
428 457
 				<dd>', $context['member']['last_login'], (!empty($context['member']['is_hidden']) ? ' (' . $txt['hidden'] . ')' : ''), '</dd>';
458
+	}
429 459
 
430 460
 	echo '
431 461
 			</dl>';
@@ -434,42 +464,47 @@  discard block
 block discarded – undo
434 464
 	if (!empty($context['print_custom_fields']['above_signature']))
435 465
 	{
436 466
 		$fields = '';
437
-		foreach ($context['print_custom_fields']['above_signature'] as $field)
438
-			if (!empty($field['output_html']))
467
+		foreach ($context['print_custom_fields']['above_signature'] as $field) {
468
+					if (!empty($field['output_html']))
439 469
 				$fields .= '
440 470
 					<li>' . $field['output_html'] . '</li>';
471
+		}
441 472
 
442
-		if (!empty($fields))
443
-			echo '
473
+		if (!empty($fields)) {
474
+					echo '
444 475
 			<div class="custom_fields_above_signature">
445 476
 				<ul class="nolist">', $fields, '
446 477
 				</ul>
447 478
 			</div>';
479
+		}
448 480
 	}
449 481
 
450 482
 	// Show the users signature.
451
-	if ($context['signature_enabled'] && !empty($context['member']['signature']))
452
-		echo '
483
+	if ($context['signature_enabled'] && !empty($context['member']['signature'])) {
484
+			echo '
453 485
 			<div class="signature">
454 486
 				<h5>', $txt['signature'], ':</h5>
455 487
 				', $context['member']['signature'], '
456 488
 			</div>';
489
+	}
457 490
 
458 491
 	// Are there any custom profile fields for below the signature?
459 492
 	if (!empty($context['print_custom_fields']['below_signature']))
460 493
 	{
461 494
 		$fields = '';
462
-		foreach ($context['print_custom_fields']['below_signature'] as $field)
463
-			if (!empty($field['output_html']))
495
+		foreach ($context['print_custom_fields']['below_signature'] as $field) {
496
+					if (!empty($field['output_html']))
464 497
 				$fields .=  '
465 498
 					<li>' . $field['output_html'] . '</li>';
499
+		}
466 500
 
467
-		if (!empty($fields))
468
-			echo '
501
+		if (!empty($fields)) {
502
+					echo '
469 503
 			<div class="custom_fields_below_signature">
470 504
 				<ul class="nolist">', $fields, '
471 505
 				</ul>
472 506
 			</div>';
507
+		}
473 508
 	}
474 509
 
475 510
 	echo '
@@ -511,62 +546,70 @@  discard block
 block discarded – undo
511 546
 			</div>
512 547
 			<div class="list_posts">';
513 548
 
514
-			if (!$post['approved'])
515
-				echo '
549
+			if (!$post['approved']) {
550
+							echo '
516 551
 				<div class="approve_post">
517 552
 					<em>', $txt['post_awaiting_approval'], '</em>
518 553
 				</div>';
554
+			}
519 555
 
520 556
 			echo '
521 557
 				', $post['body'], '
522 558
 			</div>';
523 559
 
524
-			if ($post['can_reply'] || $post['can_quote'] || $post['can_delete'])
525
-				echo '
560
+			if ($post['can_reply'] || $post['can_quote'] || $post['can_delete']) {
561
+							echo '
526 562
 			<div class="floatright">
527 563
 				<ul class="quickbuttons">';
564
+			}
528 565
 
529 566
 			// If they *can* reply?
530
-			if ($post['can_reply'])
531
-				echo '
567
+			if ($post['can_reply']) {
568
+							echo '
532 569
 					<li><a href="', $scripturl, '?action=post;topic=', $post['topic'], '.', $post['start'], '"><span class="generic_icons reply_button"></span>', $txt['reply'], '</a></li>';
570
+			}
533 571
 
534 572
 			// If they *can* quote?
535
-			if ($post['can_quote'])
536
-				echo '
573
+			if ($post['can_quote']) {
574
+							echo '
537 575
 					<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>';
576
+			}
538 577
 
539 578
 			// How about... even... remove it entirely?!
540
-			if ($post['can_delete'])
541
-				echo '
579
+			if ($post['can_delete']) {
580
+							echo '
542 581
 					<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>';
582
+			}
543 583
 
544
-			if ($post['can_reply'] || $post['can_quote'] || $post['can_delete'])
545
-				echo '
584
+			if ($post['can_reply'] || $post['can_quote'] || $post['can_delete']) {
585
+							echo '
546 586
 				</ul>
547 587
 			</div><!-- .floatright -->';
588
+			}
548 589
 
549 590
 			echo '
550 591
 		</div><!-- $post[css_class] -->';
551 592
 		}
593
+	} else {
594
+			template_show_list('attachments');
552 595
 	}
553
-	else
554
-		template_show_list('attachments');
555 596
 
556 597
 	// No posts? Just end with a informative message.
557
-	if ((isset($context['attachments']) && empty($context['attachments'])) || (!isset($context['attachments']) && empty($context['posts'])))
558
-		echo '
598
+	if ((isset($context['attachments']) && empty($context['attachments'])) || (!isset($context['attachments']) && empty($context['posts']))) {
599
+			echo '
559 600
 		<div class="windowbg2">
560 601
 			', isset($context['attachments']) ? $txt['show_attachments_none'] : ($context['is_topics'] ? $txt['show_topics_none'] : $txt['show_posts_none']), '
561 602
 		</div>';
603
+	}
562 604
 
563 605
 	// Show more page numbers.
564
-	if (!empty($context['page_index']))
565
-		echo '
606
+	if (!empty($context['page_index'])) {
607
+			echo '
566 608
 		<div class="pagesection">
567 609
 			<div class="pagelinks">', $context['page_index'], '</div>
568 610
 		</div>';
569
-}
611
+	}
612
+	}
570 613
 
571 614
 /**
572 615
  * Template for showing alerts within the alerts popup
@@ -576,11 +619,12 @@  discard block
 block discarded – undo
576 619
 	global $context, $txt, $scripturl;
577 620
 
578 621
 	// Do we have an update message?
579
-	if (!empty($context['update_message']))
580
-		echo '
622
+	if (!empty($context['update_message'])) {
623
+			echo '
581 624
 		<div class="infobox">
582 625
 			', $context['update_message'], '
583 626
 		</div>';
627
+	}
584 628
 
585 629
 	echo '
586 630
 		<div class="cat_bar">
@@ -589,19 +633,19 @@  discard block
 block discarded – undo
589 633
 			</h3>
590 634
 		</div>';
591 635
 
592
-	if (empty($context['alerts']))
593
-		echo '
636
+	if (empty($context['alerts'])) {
637
+			echo '
594 638
 		<div class="information">
595 639
 			', $txt['alerts_none'], '
596 640
 		</div>';
597
-
598
-	else
641
+	} else
599 642
 	{
600 643
 	
601 644
 		// Start the form if checkboxes are in use	
602
-		if ($context['showCheckboxes'])
603
-			echo '
645
+		if ($context['showCheckboxes']) {
646
+					echo '
604 647
 		<form action="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=showalerts;save" method="post" accept-charset="', $context['character_set'], '" id="mark_all">';
648
+		}
605 649
 
606 650
 		echo '
607 651
 			<table id="alerts" class="table_grid">';
@@ -617,9 +661,10 @@  discard block
 block discarded – undo
617 661
 							<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>
618 662
 							<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>';
619 663
 
620
-					if ($context['showCheckboxes'])
621
-						echo '
664
+					if ($context['showCheckboxes']) {
665
+											echo '
622 666
 							<li><input type="checkbox" name="mark[', $id, ']" value="', $id, '"></li>';
667
+					}
623 668
 
624 669
 			echo '
625 670
 						</ul>
@@ -634,8 +679,8 @@  discard block
 block discarded – undo
634 679
 					', $context['pagination'], '
635 680
 				</div>';
636 681
 
637
-		if ($context['showCheckboxes'])
638
-			echo '
682
+		if ($context['showCheckboxes']) {
683
+					echo '
639 684
 				<div class="floatright">
640 685
 					', $txt['check_all'], ': <input type="checkbox" name="select_all" id="select_all">
641 686
 					<select name="mark_as">
@@ -646,14 +691,16 @@  discard block
 block discarded – undo
646 691
 					<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
647 692
 					<input type="submit" name="req" value="', $txt['quick_mod_go'], '" class="button you_sure">
648 693
 				</div>';
694
+		}
649 695
 
650 696
 	echo '
651 697
 			</div>';
652 698
 
653
-	if ($context['showCheckboxes'])
654
-		echo '
699
+	if ($context['showCheckboxes']) {
700
+			echo '
655 701
 		</form>';
656 702
 	}
703
+	}
657 704
 }
658 705
 
659 706
 /**
@@ -674,12 +721,12 @@  discard block
 block discarded – undo
674 721
 		</div>' : '';
675 722
 
676 723
 	// No drafts? Just show an informative message.
677
-	if (empty($context['drafts']))
678
-		echo '
724
+	if (empty($context['drafts'])) {
725
+			echo '
679 726
 		<div class="windowbg2 centertext">
680 727
 			', $txt['draft_none'], '
681 728
 		</div>';
682
-	else
729
+	} else
683 730
 	{
684 731
 		// For every draft to be displayed, give it its own div, and show the important details of the draft.
685 732
 		foreach ($context['drafts'] as $draft)
@@ -691,13 +738,15 @@  discard block
 block discarded – undo
691 738
 				<h5>
692 739
 					<strong><a href="', $scripturl, '?board=', $draft['board']['id'], '.0">', $draft['board']['name'], '</a> / ', $draft['topic']['link'], '</strong> &nbsp; &nbsp;';
693 740
 
694
-			if (!empty($draft['sticky']))
695
-				echo '
741
+			if (!empty($draft['sticky'])) {
742
+							echo '
696 743
 					<span class="generic_icons sticky" title="', $txt['sticky_topic'], '"></span>';
744
+			}
697 745
 
698
-			if (!empty($draft['locked']))
699
-				echo '
746
+			if (!empty($draft['locked'])) {
747
+							echo '
700 748
 					<span class="generic_icons lock" title="', $txt['locked_topic'], '"></span>';
749
+			}
701 750
 
702 751
 			echo '
703 752
 				</h5>
@@ -730,13 +779,13 @@  discard block
 block discarded – undo
730 779
 {
731 780
 	global $context, $scripturl, $txt;
732 781
 
733
-	if (!empty($context['saved_successful']))
734
-		echo '
782
+	if (!empty($context['saved_successful'])) {
783
+			echo '
735 784
 	<div class="infobox">', $context['user']['is_owner'] ? $txt['profile_updated_own'] : sprintf($txt['profile_updated_else'], $context['member']['name']), '</div>';
736
-
737
-	elseif (!empty($context['saved_failed']))
738
-		echo '
785
+	} elseif (!empty($context['saved_failed'])) {
786
+			echo '
739 787
 	<div class="errorbox">', $context['saved_failed'], '</div>';
788
+	}
740 789
 
741 790
 	echo '
742 791
 	<div id="edit_buddies">
@@ -751,14 +800,16 @@  discard block
 block discarded – undo
751 800
 					<th scope="col" class="quarter_table">', $txt['name'], '</th>
752 801
 					<th scope="col">', $txt['status'], '</th>';
753 802
 
754
-	if (allowedTo('moderate_forum'))
755
-		echo '
803
+	if (allowedTo('moderate_forum')) {
804
+			echo '
756 805
 					<th scope="col">', $txt['email'], '</th>';
806
+	}
757 807
 
758
-	if (!empty($context['custom_pf']))
759
-		foreach ($context['custom_pf'] as $column)
808
+	if (!empty($context['custom_pf'])) {
809
+			foreach ($context['custom_pf'] as $column)
760 810
 				echo '
761 811
 					<th scope="col">', $column['label'], '</th>';
812
+	}
762 813
 
763 814
 	echo '
764 815
 					<th scope="col">', $txt['remove'], '</th>
@@ -767,13 +818,14 @@  discard block
 block discarded – undo
767 818
 			<tbody>';
768 819
 
769 820
 	// If they don't have any buddies don't list them!
770
-	if (empty($context['buddies']))
771
-		echo '
821
+	if (empty($context['buddies'])) {
822
+			echo '
772 823
 				<tr class="windowbg">
773 824
 					<td colspan="', allowedTo('moderate_forum') ? '10' : '9', '">
774 825
 						<strong>', $txt['no_buddies'], '</strong>
775 826
 					</td>
776 827
 				</tr>';
828
+	}
777 829
 
778 830
 		// Now loop through each buddy showing info on each.
779 831
 	else
@@ -787,17 +839,19 @@  discard block
 block discarded – undo
787 839
 						<a href="', $buddy['online']['href'], '"><span class="' . ($buddy['online']['is_online'] == 1 ? 'on' : 'off') . '" title="' . $buddy['online']['text'] . '"></span></a>
788 840
 					</td>';
789 841
 
790
-			if ($buddy['show_email'])
791
-				echo '
842
+			if ($buddy['show_email']) {
843
+							echo '
792 844
 					<td>
793 845
 						<a href="mailto:' . $buddy['email'] . '" rel="nofollow"><span class="generic_icons mail icon" title="' . $txt['email'] . ' ' . $buddy['name'] . '"></span></a>
794 846
 					</td>';
847
+			}
795 848
 
796 849
 			// Show the custom profile fields for this user.
797
-			if (!empty($context['custom_pf']))
798
-				foreach ($context['custom_pf'] as $key => $column)
850
+			if (!empty($context['custom_pf'])) {
851
+							foreach ($context['custom_pf'] as $key => $column)
799 852
 					echo '
800 853
 					<td class="lefttext">', $buddy['options'][$key], '</td>';
854
+			}
801 855
 
802 856
 			echo '
803 857
 					<td>
@@ -830,9 +884,10 @@  discard block
 block discarded – undo
830 884
 			</dl>
831 885
 		</div>';
832 886
 
833
-	if (!empty($context['token_check']))
834
-		echo '
887
+	if (!empty($context['token_check'])) {
888
+			echo '
835 889
 		<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
890
+	}
836 891
 
837 892
 	echo '
838 893
 		<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -858,13 +913,13 @@  discard block
 block discarded – undo
858 913
 {
859 914
 	global $context, $scripturl, $txt;
860 915
 
861
-	if (!empty($context['saved_successful']))
862
-		echo '
916
+	if (!empty($context['saved_successful'])) {
917
+			echo '
863 918
 	<div class="infobox">', $context['user']['is_owner'] ? $txt['profile_updated_own'] : sprintf($txt['profile_updated_else'], $context['member']['name']), '</div>';
864
-
865
-	elseif (!empty($context['saved_failed']))
866
-		echo '
919
+	} elseif (!empty($context['saved_failed'])) {
920
+			echo '
867 921
 	<div class="errorbox">', $context['saved_failed'], '</div>';
922
+	}
868 923
 
869 924
 	echo '
870 925
 	<div id="edit_buddies">
@@ -879,9 +934,10 @@  discard block
 block discarded – undo
879 934
 					<th scope="col" class="quarter_table">', $txt['name'], '</th>
880 935
 					<th scope="col">', $txt['status'], '</th>';
881 936
 
882
-	if (allowedTo('moderate_forum'))
883
-		echo '
937
+	if (allowedTo('moderate_forum')) {
938
+			echo '
884 939
 					<th scope="col">', $txt['email'], '</th>';
940
+	}
885 941
 
886 942
 	echo '
887 943
 					<th scope="col">', $txt['ignore_remove'], '</th>
@@ -890,13 +946,14 @@  discard block
 block discarded – undo
890 946
 			<tbody>';
891 947
 
892 948
 	// If they don't have anyone on their ignore list, don't list it!
893
-	if (empty($context['ignore_list']))
894
-		echo '
949
+	if (empty($context['ignore_list'])) {
950
+			echo '
895 951
 				<tr class="windowbg">
896 952
 					<td colspan="', allowedTo('moderate_forum') ? '4' : '3', '">
897 953
 						<strong>', $txt['no_ignore'], '</strong>
898 954
 					</td>
899 955
 				</tr>';
956
+	}
900 957
 
901 958
 	// Now loop through each buddy showing info on each.
902 959
 	foreach ($context['ignore_list'] as $member)
@@ -908,11 +965,12 @@  discard block
 block discarded – undo
908 965
 						<a href="', $member['online']['href'], '"><span class="' . ($member['online']['is_online'] == 1 ? 'on' : 'off') . '" title="' . $member['online']['text'] . '"></span></a>
909 966
 					</td>';
910 967
 
911
-		if ($member['show_email'])
912
-			echo '
968
+		if ($member['show_email']) {
969
+					echo '
913 970
 					<td>
914 971
 						<a href="mailto:' . $member['email'] . '" rel="nofollow"><span class="generic_icons mail icon" title="' . $txt['email'] . ' ' . $member['name'] . '"></span></a>
915 972
 					</td>';
973
+		}
916 974
 		echo '
917 975
 					<td>
918 976
 						<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>
@@ -942,9 +1000,10 @@  discard block
 block discarded – undo
942 1000
 			</dl>
943 1001
 		</div>';
944 1002
 
945
-	if (!empty($context['token_check']))
946
-		echo '
1003
+	if (!empty($context['token_check'])) {
1004
+			echo '
947 1005
 		<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
1006
+	}
948 1007
 
949 1008
 	echo '
950 1009
 		<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -990,9 +1049,10 @@  discard block
 block discarded – undo
990 1049
 					<a href="', $scripturl, '?action=profile;area=tracking;sa=ip;searchip=', $context['last_ip'], ';u=', $context['member']['id'], '">', $context['last_ip'], '</a>';
991 1050
 
992 1051
 	// Second address detected?
993
-	if (!empty($context['last_ip2']))
994
-		echo '
1052
+	if (!empty($context['last_ip2'])) {
1053
+			echo '
995 1054
 					, <a href="', $scripturl, '?action=profile;area=tracking;sa=ip;searchip=', $context['last_ip2'], ';u=', $context['member']['id'], '">', $context['last_ip2'], '</a>';
1055
+	}
996 1056
 
997 1057
 	echo '
998 1058
 				</dd>';
@@ -1058,9 +1118,10 @@  discard block
 block discarded – undo
1058 1118
 		</div>
1059 1119
 		<div class="windowbg2 noup">';
1060 1120
 
1061
-		foreach ($context['whois_servers'] as $server)
1062
-			echo '
1121
+		foreach ($context['whois_servers'] as $server) {
1122
+					echo '
1063 1123
 			<a href="', $server['url'], '" target="_blank" rel="noopener"', '>', $server['name'], '</a><br>';
1124
+		}
1064 1125
 		echo '
1065 1126
 		</div>
1066 1127
 		<br>';
@@ -1072,13 +1133,12 @@  discard block
 block discarded – undo
1072 1133
 			<h3 class="catbg">', $txt['members_from_ip'], ' ', $context['ip'], '</h3>
1073 1134
 		</div>';
1074 1135
 
1075
-	if (empty($context['ips']))
1076
-		echo '
1136
+	if (empty($context['ips'])) {
1137
+			echo '
1077 1138
 		<p class="windowbg2 description">
1078 1139
 			<em>', $txt['no_members_from_ip'], '</em>
1079 1140
 		</p>';
1080
-
1081
-	else
1141
+	} else
1082 1142
 	{
1083 1143
 		echo '
1084 1144
 		<table class="table_grid">
@@ -1091,12 +1151,13 @@  discard block
 block discarded – undo
1091 1151
 			<tbody>';
1092 1152
 
1093 1153
 		// Loop through each of the members and display them.
1094
-		foreach ($context['ips'] as $ip => $memberlist)
1095
-			echo '
1154
+		foreach ($context['ips'] as $ip => $memberlist) {
1155
+					echo '
1096 1156
 				<tr class="windowbg">
1097 1157
 					<td><a href="', $context['base_url'], ';searchip=', $ip, '">', $ip, '</a></td>
1098 1158
 					<td>', implode(', ', $memberlist), '</td>
1099 1159
 				</tr>';
1160
+		}
1100 1161
 
1101 1162
 		echo '
1102 1163
 			</tbody>
@@ -1138,11 +1199,10 @@  discard block
 block discarded – undo
1138 1199
 			</h3>
1139 1200
 		</div>';
1140 1201
 
1141
-	if ($context['member']['has_all_permissions'])
1142
-		echo '
1202
+	if ($context['member']['has_all_permissions']) {
1203
+			echo '
1143 1204
 		<div class="information">', $txt['showPermissions_all'], '</div>';
1144
-
1145
-	else
1205
+	} else
1146 1206
 	{
1147 1207
 		echo '
1148 1208
 		<div class="information">',$txt['showPermissions_help'], '</div>
@@ -1157,9 +1217,10 @@  discard block
 block discarded – undo
1157 1217
 			<div class="windowbg smalltext">
1158 1218
 				', $txt['showPermissions_restricted_boards_desc'], ':<br>';
1159 1219
 
1160
-			foreach ($context['no_access_boards'] as $no_access_board)
1161
-				echo '
1220
+			foreach ($context['no_access_boards'] as $no_access_board) {
1221
+							echo '
1162 1222
 				<a href="', $scripturl, '?board=', $no_access_board['id'], '.0">', $no_access_board['name'], '</a>', $no_access_board['is_last'] ? '' : ', ';
1223
+			}
1163 1224
 			echo '
1164 1225
 			</div>';
1165 1226
 		}
@@ -1191,12 +1252,13 @@  discard block
 block discarded – undo
1191 1252
 							</td>
1192 1253
 							<td class="smalltext">';
1193 1254
 
1194
-				if ($permission['is_denied'])
1195
-					echo '
1255
+				if ($permission['is_denied']) {
1256
+									echo '
1196 1257
 								<span class="alert">', $txt['showPermissions_denied'], ': ', implode(', ', $permission['groups']['denied']), '</span>';
1197
-				else
1198
-					echo '
1258
+				} else {
1259
+									echo '
1199 1260
 								', $txt['showPermissions_given'], ': ', implode(', ', $permission['groups']['allowed']);
1261
+				}
1200 1262
 
1201 1263
 				echo '
1202 1264
 							</td>
@@ -1207,10 +1269,10 @@  discard block
 block discarded – undo
1207 1269
 				</table>
1208 1270
 			</div><!-- .tborder -->
1209 1271
 			<br>';
1210
-		}
1211
-		else
1212
-			echo '
1272
+		} else {
1273
+					echo '
1213 1274
 			<p class="windowbg2">', $txt['showPermissions_none_general'], '</p>';
1275
+		}
1214 1276
 
1215 1277
 		// Board permission section.
1216 1278
 		echo '
@@ -1221,14 +1283,16 @@  discard block
 block discarded – undo
1221 1283
 						<select name="board" onchange="if (this.options[this.selectedIndex].value) this.form.submit();">
1222 1284
 							<option value="0"', $context['board'] == 0 ? ' selected' : '', '>', $txt['showPermissions_global'], '</option>';
1223 1285
 
1224
-		if (!empty($context['boards']))
1225
-			echo '
1286
+		if (!empty($context['boards'])) {
1287
+					echo '
1226 1288
 							<option value="" disabled>---------------------------</option>';
1289
+		}
1227 1290
 
1228 1291
 		// Fill the box with any local permission boards.
1229
-		foreach ($context['boards'] as $board)
1230
-			echo '
1292
+		foreach ($context['boards'] as $board) {
1293
+					echo '
1231 1294
 							<option value="', $board['id'], '"', $board['selected'] ? ' selected' : '', '>', $board['name'], ' (', $board['profile_name'], ')</option>';
1295
+		}
1232 1296
 
1233 1297
 		echo '
1234 1298
 						</select>
@@ -1257,13 +1321,13 @@  discard block
 block discarded – undo
1257 1321
 						</td>
1258 1322
 						<td class="smalltext">';
1259 1323
 
1260
-				if ($permission['is_denied'])
1261
-					echo '
1324
+				if ($permission['is_denied']) {
1325
+									echo '
1262 1326
 							<span class="alert">', $txt['showPermissions_denied'], ': ', implode(', ', $permission['groups']['denied']), '</span>';
1263
-
1264
-				else
1265
-					echo '
1327
+				} else {
1328
+									echo '
1266 1329
 							', $txt['showPermissions_given'], ': ', implode(', ', $permission['groups']['allowed']);
1330
+				}
1267 1331
 
1268 1332
 				echo '
1269 1333
 						</td>
@@ -1272,10 +1336,10 @@  discard block
 block discarded – undo
1272 1336
 			echo '
1273 1337
 				</tbody>
1274 1338
 			</table>';
1275
-		}
1276
-		else
1277
-			echo '
1339
+		} else {
1340
+					echo '
1278 1341
 			<p class="windowbg2">', $txt['showPermissions_none_board'], '</p>';
1342
+		}
1279 1343
 	echo '
1280 1344
 		</div><!-- #permissions -->';
1281 1345
 	}
@@ -1316,9 +1380,10 @@  discard block
 block discarded – undo
1316 1380
 			</div>';
1317 1381
 
1318 1382
 	// If they haven't post at all, don't draw the graph.
1319
-	if (empty($context['posts_by_time']))
1320
-		echo '
1383
+	if (empty($context['posts_by_time'])) {
1384
+			echo '
1321 1385
 			<p class="centertext padding">', $txt['statPanel_noPosts'], '</p>';
1386
+	}
1322 1387
 
1323 1388
 	// Otherwise do!
1324 1389
 	else
@@ -1327,8 +1392,8 @@  discard block
 block discarded – undo
1327 1392
 			<ul class="activity_stats flow_hidden">';
1328 1393
 
1329 1394
 		// The labels.
1330
-		foreach ($context['posts_by_time'] as $time_of_day)
1331
-			echo '
1395
+		foreach ($context['posts_by_time'] as $time_of_day) {
1396
+					echo '
1332 1397
 				<li', $time_of_day['is_last'] ? ' class="last"' : '', '>
1333 1398
 					<div class="bar" style="padding-top: ', ((int) (100 - $time_of_day['relative_percent'])), 'px;" title="', sprintf($txt['statPanel_activityTime_posts'], $time_of_day['posts'], $time_of_day['posts_percent']), '">
1334 1399
 						<div style="height: ', (int) $time_of_day['relative_percent'], 'px;">
@@ -1337,6 +1402,7 @@  discard block
 block discarded – undo
1337 1402
 					</div>
1338 1403
 					<span class="stats_hour">', $time_of_day['hour_format'], '</span>
1339 1404
 				</li>';
1405
+		}
1340 1406
 
1341 1407
 		echo '
1342 1408
 			</ul>';
@@ -1355,11 +1421,10 @@  discard block
 block discarded – undo
1355 1421
 					</h3>
1356 1422
 				</div>';
1357 1423
 
1358
-	if (empty($context['popular_boards']))
1359
-		echo '
1424
+	if (empty($context['popular_boards'])) {
1425
+			echo '
1360 1426
 				<p class="centertext padding">', $txt['statPanel_noPosts'], '</p>';
1361
-
1362
-	else
1427
+	} else
1363 1428
 	{
1364 1429
 		echo '
1365 1430
 				<dl class="stats">';
@@ -1389,10 +1454,10 @@  discard block
 block discarded – undo
1389 1454
 					</h3>
1390 1455
 				</div>';
1391 1456
 
1392
-	if (empty($context['board_activity']))
1393
-		echo '
1457
+	if (empty($context['board_activity'])) {
1458
+			echo '
1394 1459
 				<p class="centertext padding">', $txt['statPanel_noPosts'], '</p>';
1395
-	else
1460
+	} else
1396 1461
 	{
1397 1462
 		echo '
1398 1463
 				<dl class="stats">';
@@ -1443,90 +1508,97 @@  discard block
 block discarded – undo
1443 1508
 				<h3 class="catbg profile_hd">';
1444 1509
 
1445 1510
 		// Don't say "Profile" if this isn't the profile...
1446
-		if (!empty($context['profile_header_text']))
1447
-			echo '
1511
+		if (!empty($context['profile_header_text'])) {
1512
+					echo '
1448 1513
 					', $context['profile_header_text'];
1449
-		else
1450
-			echo '
1514
+		} else {
1515
+					echo '
1451 1516
 					', $txt['profile'];
1517
+		}
1452 1518
 
1453 1519
 		echo '
1454 1520
 				</h3>
1455 1521
 			</div>';
1456 1522
 
1457 1523
 	// Have we some description?
1458
-	if ($context['page_desc'])
1459
-		echo '
1524
+	if ($context['page_desc']) {
1525
+			echo '
1460 1526
 			<p class="information">', $context['page_desc'], '</p>';
1527
+	}
1461 1528
 
1462 1529
 	echo '
1463 1530
 			<div class="roundframe">';
1464 1531
 
1465 1532
 	// Any bits at the start?
1466
-	if (!empty($context['profile_prehtml']))
1467
-		echo '
1533
+	if (!empty($context['profile_prehtml'])) {
1534
+			echo '
1468 1535
 				<div>', $context['profile_prehtml'], '</div>';
1536
+	}
1469 1537
 
1470
-	if (!empty($context['profile_fields']))
1471
-		echo '
1538
+	if (!empty($context['profile_fields'])) {
1539
+			echo '
1472 1540
 				<dl class="settings">';
1541
+	}
1473 1542
 
1474 1543
 	// Start the big old loop 'of love.
1475 1544
 	$lastItem = 'hr';
1476 1545
 	foreach ($context['profile_fields'] as $key => $field)
1477 1546
 	{
1478 1547
 		// We add a little hack to be sure we never get more than one hr in a row!
1479
-		if ($lastItem == 'hr' && $field['type'] == 'hr')
1480
-			continue;
1548
+		if ($lastItem == 'hr' && $field['type'] == 'hr') {
1549
+					continue;
1550
+		}
1481 1551
 
1482 1552
 		$lastItem = $field['type'];
1483
-		if ($field['type'] == 'hr')
1484
-			echo '
1553
+		if ($field['type'] == 'hr') {
1554
+					echo '
1485 1555
 				</dl>
1486 1556
 				<hr>
1487 1557
 				<dl class="settings">';
1488
-
1489
-		elseif ($field['type'] == 'callback')
1558
+		} elseif ($field['type'] == 'callback')
1490 1559
 		{
1491 1560
 			if (isset($field['callback_func']) && function_exists('template_profile_' . $field['callback_func']))
1492 1561
 			{
1493 1562
 				$callback_func = 'template_profile_' . $field['callback_func'];
1494 1563
 				$callback_func();
1495 1564
 			}
1496
-		}
1497
-		else
1565
+		} else
1498 1566
 		{
1499 1567
 			echo '
1500 1568
 					<dt>
1501 1569
 						<strong', !empty($field['is_error']) ? ' class="error"' : '', '>', $field['type'] !== 'label' ? '<label for="' . $key . '">' : '', $field['label'], $field['type'] !== 'label' ? '</label>' : '', '</strong>';
1502 1570
 
1503 1571
 			// Does it have any subtext to show?
1504
-			if (!empty($field['subtext']))
1505
-				echo '
1572
+			if (!empty($field['subtext'])) {
1573
+							echo '
1506 1574
 						<br>
1507 1575
 						<span class="smalltext">', $field['subtext'], '</span>';
1576
+			}
1508 1577
 
1509 1578
 			echo '
1510 1579
 					</dt>
1511 1580
 					<dd>';
1512 1581
 
1513 1582
 			// Want to put something infront of the box?
1514
-			if (!empty($field['preinput']))
1515
-				echo '
1583
+			if (!empty($field['preinput'])) {
1584
+							echo '
1516 1585
 						', $field['preinput'];
1586
+			}
1517 1587
 
1518 1588
 			// What type of data are we showing?
1519
-			if ($field['type'] == 'label')
1520
-				echo '
1589
+			if ($field['type'] == 'label') {
1590
+							echo '
1521 1591
 						', $field['value'];
1592
+			}
1522 1593
 
1523 1594
 			// Maybe it's a text box - very likely!
1524 1595
 			elseif (in_array($field['type'], array('int', 'float', 'text', 'password', 'color', 'date', 'datetime', 'datetime-local', 'email', 'month', 'number', 'time', 'url')))
1525 1596
 			{
1526
-				if ($field['type'] == 'int' || $field['type'] == 'float')
1527
-					$type = 'number';
1528
-				else
1529
-					$type = $field['type'];
1597
+				if ($field['type'] == 'int' || $field['type'] == 'float') {
1598
+									$type = 'number';
1599
+				} else {
1600
+									$type = $field['type'];
1601
+				}
1530 1602
 				$step = $field['type'] == 'float' ? ' step="0.1"' : '';
1531 1603
 
1532 1604
 
@@ -1534,10 +1606,11 @@  discard block
 block discarded – undo
1534 1606
 						<input type="', $type, '" name="', $key, '" id="', $key, '" size="', empty($field['size']) ? 30 : $field['size'], '" value="', $field['value'], '" ', $field['input_attr'], ' ', $step, '>';
1535 1607
 			}
1536 1608
 			// You "checking" me out? ;)
1537
-			elseif ($field['type'] == 'check')
1538
-				echo '
1609
+			elseif ($field['type'] == 'check') {
1610
+							echo '
1539 1611
 						<input type="hidden" name="', $key, '" value="0">
1540 1612
 						<input type="checkbox" name="', $key, '" id="', $key, '"', !empty($field['value']) ? ' checked' : '', ' value="1" ', $field['input_attr'], '>';
1613
+			}
1541 1614
 
1542 1615
 			// Always fun - select boxes!
1543 1616
 			elseif ($field['type'] == 'select')
@@ -1548,14 +1621,16 @@  discard block
 block discarded – undo
1548 1621
 				if (isset($field['options']))
1549 1622
 				{
1550 1623
 					// Is this some code to generate the options?
1551
-					if (!is_array($field['options']))
1552
-						$field['options'] = $field['options']();
1624
+					if (!is_array($field['options'])) {
1625
+											$field['options'] = $field['options']();
1626
+					}
1553 1627
 
1554 1628
 					// Assuming we now have some!
1555
-					if (is_array($field['options']))
1556
-						foreach ($field['options'] as $value => $name)
1629
+					if (is_array($field['options'])) {
1630
+											foreach ($field['options'] as $value => $name)
1557 1631
 							echo '
1558 1632
 							<option value="', $value, '"', $value == $field['value'] ? ' selected' : '', '>', $name, '</option>';
1633
+					}
1559 1634
 				}
1560 1635
 
1561 1636
 				echo '
@@ -1563,31 +1638,34 @@  discard block
 block discarded – undo
1563 1638
 			}
1564 1639
 
1565 1640
 			// Something to end with?
1566
-			if (!empty($field['postinput']))
1567
-				echo '
1641
+			if (!empty($field['postinput'])) {
1642
+							echo '
1568 1643
 						', $field['postinput'];
1644
+			}
1569 1645
 
1570 1646
 			echo '
1571 1647
 					</dd>';
1572 1648
 		}
1573 1649
 	}
1574 1650
 
1575
-	if (!empty($context['profile_fields']))
1576
-		echo '
1651
+	if (!empty($context['profile_fields'])) {
1652
+			echo '
1577 1653
 				</dl>';
1654
+	}
1578 1655
 
1579 1656
 	// Are there any custom profile fields - if so print them!
1580 1657
 	if (!empty($context['custom_fields']))
1581 1658
 	{
1582
-		if ($lastItem != 'hr')
1583
-			echo '
1659
+		if ($lastItem != 'hr') {
1660
+					echo '
1584 1661
 				<hr>';
1662
+		}
1585 1663
 
1586 1664
 		echo '
1587 1665
 				<dl class="settings">';
1588 1666
 
1589
-		foreach ($context['custom_fields'] as $field)
1590
-			echo '
1667
+		foreach ($context['custom_fields'] as $field) {
1668
+					echo '
1591 1669
 					<dt>
1592 1670
 						<strong>', $field['name'], ': </strong><br>
1593 1671
 						<span class="smalltext">', $field['desc'], '</span>
@@ -1595,6 +1673,7 @@  discard block
 block discarded – undo
1595 1673
 					<dd>
1596 1674
 						', $field['input_html'], '
1597 1675
 					</dd>';
1676
+		}
1598 1677
 
1599 1678
 		echo '
1600 1679
 				</dl>';
@@ -1602,13 +1681,14 @@  discard block
 block discarded – undo
1602 1681
 	}
1603 1682
 
1604 1683
 	// Any closing HTML?
1605
-	if (!empty($context['profile_posthtml']))
1606
-		echo '
1684
+	if (!empty($context['profile_posthtml'])) {
1685
+			echo '
1607 1686
 				<div>', $context['profile_posthtml'], '</div>';
1687
+	}
1608 1688
 
1609 1689
 	// Only show the password box if it's actually needed.
1610
-	if ($context['require_password'])
1611
-		echo '
1690
+	if ($context['require_password']) {
1691
+			echo '
1612 1692
 				<dl class="settings">
1613 1693
 					<dt>
1614 1694
 						<strong', isset($context['modify_error']['bad_password']) || isset($context['modify_error']['no_password']) ? ' class="error"' : '', '><label for="oldpasswrd">', $txt['current_password'], ': </label></strong><br>
@@ -1618,18 +1698,21 @@  discard block
 block discarded – undo
1618 1698
 						<input type="password" name="oldpasswrd" id="oldpasswrd" size="20">
1619 1699
 					</dd>
1620 1700
 				</dl>';
1701
+	}
1621 1702
 
1622 1703
 	// The button shouldn't say "Change profile" unless we're changing the profile...
1623
-	if (!empty($context['submit_button_text']))
1624
-		echo '
1704
+	if (!empty($context['submit_button_text'])) {
1705
+			echo '
1625 1706
 				<input type="submit" name="save" value="', $context['submit_button_text'], '" class="button floatright">';
1626
-	else
1627
-		echo '
1707
+	} else {
1708
+			echo '
1628 1709
 				<input type="submit" name="save" value="', $txt['change_profile'], '" class="button floatright">';
1710
+	}
1629 1711
 
1630
-	if (!empty($context['token_check']))
1631
-		echo '
1712
+	if (!empty($context['token_check'])) {
1713
+			echo '
1632 1714
 				<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
1715
+	}
1633 1716
 
1634 1717
 	echo '
1635 1718
 				<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -1639,10 +1722,11 @@  discard block
 block discarded – undo
1639 1722
 		</form>';
1640 1723
 
1641 1724
 	// Any final spellchecking stuff?
1642
-	if (!empty($context['show_spellchecking']))
1643
-		echo '
1725
+	if (!empty($context['show_spellchecking'])) {
1726
+			echo '
1644 1727
 		<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>';
1645
-}
1728
+	}
1729
+	}
1646 1730
 
1647 1731
 /**
1648 1732
  * Personal Message settings.
@@ -1679,10 +1763,11 @@  discard block
 block discarded – undo
1679 1763
 						<select name="pm_receive_from" id="pm_receive_from">
1680 1764
 							<option value="0"', empty($context['receive_from']) || (empty($modSettings['enable_buddylist']) && $context['receive_from'] < 3) ? ' selected' : '', '>', $txt['pm_receive_from_everyone'], '</option>';
1681 1765
 
1682
-	if (!empty($modSettings['enable_buddylist']))
1683
-		echo '
1766
+	if (!empty($modSettings['enable_buddylist'])) {
1767
+			echo '
1684 1768
 							<option value="1"', !empty($context['receive_from']) && $context['receive_from'] == 1 ? ' selected' : '', '>', $txt['pm_receive_from_ignore'], '</option>
1685 1769
 							<option value="2"', !empty($context['receive_from']) && $context['receive_from'] == 2 ? ' selected' : '', '>', $txt['pm_receive_from_buddies'], '</option>';
1770
+	}
1686 1771
 
1687 1772
 	echo '
1688 1773
 							<option value="3"', !empty($context['receive_from']) && $context['receive_from'] > 2 ? ' selected' : '', '>', $txt['pm_receive_from_admins'], '</option>
@@ -1725,11 +1810,12 @@  discard block
 block discarded – undo
1725 1810
 		if (empty($setting) || !is_array($setting))
1726 1811
 		{
1727 1812
 			// Insert a separator (unless this is the first item in the list)
1728
-			if ($i !== $first_option_key)
1729
-				echo '
1813
+			if ($i !== $first_option_key) {
1814
+							echo '
1730 1815
 				</dl>
1731 1816
 				<hr>
1732 1817
 				<dl class="settings">';
1818
+			}
1733 1819
 
1734 1820
 			// Should we give a name to this section?
1735 1821
 			if (is_string($setting) && !empty($setting))
@@ -1738,69 +1824,67 @@  discard block
 block discarded – undo
1738 1824
 				echo '
1739 1825
 					<dt><strong>' . $setting . '</strong></dt>
1740 1826
 					<dd></dd>';
1827
+			} else {
1828
+							$titled_section = false;
1741 1829
 			}
1742
-			else
1743
-				$titled_section = false;
1744 1830
 
1745 1831
 			continue;
1746 1832
 		}
1747 1833
 
1748 1834
 		// Is this disabled?
1749
-		if ($setting['id'] == 'calendar_start_day' && empty($modSettings['cal_enabled']))
1750
-			continue;
1751
-
1752
-		elseif (($setting['id'] == 'topics_per_page' || $setting['id'] == 'messages_per_page') && !empty($modSettings['disableCustomPerPage']))
1753
-			continue;
1754
-
1755
-		elseif ($setting['id'] == 'show_no_censored' && empty($modSettings['allow_no_censored']))
1756
-			continue;
1757
-
1758
-		elseif ($setting['id'] == 'posts_apply_ignore_list' && empty($modSettings['enable_buddylist']))
1759
-			continue;
1760
-
1761
-		elseif ($setting['id'] == 'wysiwyg_default' && !empty($modSettings['disable_wysiwyg']))
1762
-			continue;
1763
-
1764
-		elseif ($setting['id'] == 'drafts_autosave_enabled' && (empty($modSettings['drafts_autosave_enabled']) || (empty($modSettings['drafts_post_enabled']) && empty($modSettings['drafts_pm_enabled']))))
1765
-			continue;
1766
-
1767
-		elseif ($setting['id'] == 'drafts_show_saved_enabled' && (empty($modSettings['drafts_show_saved_enabled']) || (empty($modSettings['drafts_post_enabled']) && empty($modSettings['drafts_pm_enabled']))))
1768
-			continue;
1835
+		if ($setting['id'] == 'calendar_start_day' && empty($modSettings['cal_enabled'])) {
1836
+					continue;
1837
+		} elseif (($setting['id'] == 'topics_per_page' || $setting['id'] == 'messages_per_page') && !empty($modSettings['disableCustomPerPage'])) {
1838
+					continue;
1839
+		} elseif ($setting['id'] == 'show_no_censored' && empty($modSettings['allow_no_censored'])) {
1840
+					continue;
1841
+		} elseif ($setting['id'] == 'posts_apply_ignore_list' && empty($modSettings['enable_buddylist'])) {
1842
+					continue;
1843
+		} elseif ($setting['id'] == 'wysiwyg_default' && !empty($modSettings['disable_wysiwyg'])) {
1844
+					continue;
1845
+		} elseif ($setting['id'] == 'drafts_autosave_enabled' && (empty($modSettings['drafts_autosave_enabled']) || (empty($modSettings['drafts_post_enabled']) && empty($modSettings['drafts_pm_enabled'])))) {
1846
+					continue;
1847
+		} elseif ($setting['id'] == 'drafts_show_saved_enabled' && (empty($modSettings['drafts_show_saved_enabled']) || (empty($modSettings['drafts_post_enabled']) && empty($modSettings['drafts_pm_enabled'])))) {
1848
+					continue;
1849
+		}
1769 1850
 
1770 1851
 		// Some of these may not be set...  Set to defaults here
1771 1852
 		$opts = array('topics_per_page', 'messages_per_page', 'display_quick_mod');
1772
-		if (in_array($setting['id'], $opts) && !isset($context['member']['options'][$setting['id']]))
1773
-			$context['member']['options'][$setting['id']] = 0;
1774
-
1775
-		if (!isset($setting['type']) || $setting['type'] == 'bool')
1776
-			$setting['type'] = 'checkbox';
1777
-
1778
-		elseif ($setting['type'] == 'int' || $setting['type'] == 'integer')
1779
-			$setting['type'] = 'number';
1853
+		if (in_array($setting['id'], $opts) && !isset($context['member']['options'][$setting['id']])) {
1854
+					$context['member']['options'][$setting['id']] = 0;
1855
+		}
1780 1856
 
1781
-		elseif ($setting['type'] == 'string')
1782
-			$setting['type'] = 'text';
1857
+		if (!isset($setting['type']) || $setting['type'] == 'bool') {
1858
+					$setting['type'] = 'checkbox';
1859
+		} elseif ($setting['type'] == 'int' || $setting['type'] == 'integer') {
1860
+					$setting['type'] = 'number';
1861
+		} elseif ($setting['type'] == 'string') {
1862
+					$setting['type'] = 'text';
1863
+		}
1783 1864
 
1784
-		if (isset($setting['options']))
1785
-			$setting['type'] = 'list';
1865
+		if (isset($setting['options'])) {
1866
+					$setting['type'] = 'list';
1867
+		}
1786 1868
 
1787 1869
 		echo '
1788 1870
 					<dt>
1789 1871
 						<label for="', $setting['id'], '">', !$titled_section ? '<strong>' : '', $setting['label'], !$titled_section ? '</strong>' : '', '</label>';
1790 1872
 
1791
-		if (isset($setting['description']))
1792
-			echo '
1873
+		if (isset($setting['description'])) {
1874
+					echo '
1793 1875
 						<br>
1794 1876
 						<span class="smalltext">', $setting['description'], '</span>';
1877
+		}
1795 1878
 		echo '
1796 1879
 					</dt>
1797 1880
 					<dd>';
1798 1881
 
1799 1882
 		// Display checkbox options
1800
-		if ($setting['type'] == 'checkbox')
1801
-			echo '
1883
+		if ($setting['type'] == 'checkbox') {
1884
+					echo '
1802 1885
 						<input type="hidden" name="default_options[' . $setting['id'] . ']" value="0">
1803 1886
 						<input type="checkbox" name="default_options[', $setting['id'], ']" id="', $setting['id'], '"', !empty($context['member']['options'][$setting['id']]) ? ' checked' : '', ' value="1">';
1887
+		}
1804 1888
 
1805 1889
 		// How about selection lists, we all love them
1806 1890
 		elseif ($setting['type'] == 'list')
@@ -1808,9 +1892,10 @@  discard block
 block discarded – undo
1808 1892
 			echo '
1809 1893
 						<select name="default_options[', $setting['id'], ']" id="', $setting['id'], '"', '>';
1810 1894
 
1811
-			foreach ($setting['options'] as $value => $label)
1812
-				echo '
1895
+			foreach ($setting['options'] as $value => $label) {
1896
+							echo '
1813 1897
 							<option value="', $value, '"', $value == $context['member']['options'][$setting['id']] ? ' selected' : '', '>', $label, '</option>';
1898
+			}
1814 1899
 
1815 1900
 			echo '
1816 1901
 						</select>';
@@ -1826,14 +1911,13 @@  discard block
 block discarded – undo
1826 1911
 
1827 1912
 				echo '
1828 1913
 						<input type="number"', $min . $max . $step;
1829
-			}
1830
-			elseif (isset($setting['type']) && $setting['type'] == 'url')
1831
-				echo'
1914
+			} elseif (isset($setting['type']) && $setting['type'] == 'url') {
1915
+							echo'
1832 1916
 						<input type="url"';
1833
-
1834
-			else
1835
-				echo '
1917
+			} else {
1918
+							echo '
1836 1919
 						<input type="text"';
1920
+			}
1837 1921
 
1838 1922
 			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"' : '', '>';
1839 1923
 		}
@@ -1870,8 +1954,8 @@  discard block
 block discarded – undo
1870 1954
 				<dl class="settings">';
1871 1955
 
1872 1956
 	// Allow notification on announcements to be disabled?
1873
-	if (!empty($modSettings['allow_disableAnnounce']))
1874
-		echo '
1957
+	if (!empty($modSettings['allow_disableAnnounce'])) {
1958
+			echo '
1875 1959
 					<dt>
1876 1960
 						<label for="notify_announcements">', $txt['notify_important_email'], '</label>
1877 1961
 					</dt>
@@ -1879,15 +1963,17 @@  discard block
 block discarded – undo
1879 1963
 						<input type="hidden" name="notify_announcements" value="0">
1880 1964
 						<input type="checkbox" id="notify_announcements" name="notify_announcements" value="1"', !empty($context['member']['notify_announcements']) ? ' checked' : '', '>
1881 1965
 					</dd>';
1966
+	}
1882 1967
 
1883
-	if (!empty($modSettings['enable_ajax_alerts']))
1884
-		echo '
1968
+	if (!empty($modSettings['enable_ajax_alerts'])) {
1969
+			echo '
1885 1970
 					<dt>
1886 1971
 						<label for="notify_send_body">', $txt['notify_alert_timeout'], '</label>
1887 1972
 					</dt>
1888 1973
 					<dd>
1889 1974
 						<input type="number" size="4" id="notify_alert_timeout" name="opt_alert_timeout" min="0" value="', $context['member']['alert_timeout'], '">
1890 1975
 					</dd>';
1976
+	}
1891 1977
 
1892 1978
 	echo '
1893 1979
 				</dl>
@@ -1919,9 +2005,10 @@  discard block
 block discarded – undo
1919 2005
 
1920 2006
 				$label = $txt['alert_opt_' . $opts[1]];
1921 2007
 				$label_pos = isset($opts['label']) ? $opts['label'] : '';
1922
-				if ($label_pos == 'before')
1923
-					echo '
2008
+				if ($label_pos == 'before') {
2009
+									echo '
1924 2010
 						<label for="opt_', $opts[1], '">', $label, '</label>';
2011
+				}
1925 2012
 
1926 2013
 				$this_value = isset($context['alert_prefs'][$opts[1]]) ? $context['alert_prefs'][$opts[1]] : 0;
1927 2014
 				switch ($opts[0])
@@ -1935,17 +2022,19 @@  discard block
 block discarded – undo
1935 2022
 						echo '
1936 2023
 						<select name="opt_', $opts[1], '" id="opt_', $opts[1], '">';
1937 2024
 
1938
-						foreach ($opts['opts'] as $k => $v)
1939
-							echo '
2025
+						foreach ($opts['opts'] as $k => $v) {
2026
+													echo '
1940 2027
 							<option value="', $k, '"', $this_value == $k ? ' selected' : '', '>', $v, '</option>';
2028
+						}
1941 2029
 						echo '
1942 2030
 						</select>';
1943 2031
 						break;
1944 2032
 				}
1945 2033
 
1946
-				if ($label_pos == 'after')
1947
-					echo '
2034
+				if ($label_pos == 'after') {
2035
+									echo '
1948 2036
 						<label for="opt_', $opts[1], '">', $label, '</label>';
2037
+				}
1949 2038
 
1950 2039
 				echo '
1951 2040
 					</td>
@@ -2062,11 +2151,12 @@  discard block
 block discarded – undo
2062 2151
 			<p class="information">', $txt['groupMembership_info'], '</p>';
2063 2152
 
2064 2153
 	// Do we have an update message?
2065
-	if (!empty($context['update_message']))
2066
-		echo '
2154
+	if (!empty($context['update_message'])) {
2155
+			echo '
2067 2156
 			<div class="infobox">
2068 2157
 				', $context['update_message'], '.
2069 2158
 			</div>';
2159
+	}
2070 2160
 
2071 2161
 	echo '
2072 2162
 			<div id="groups">';
@@ -2088,8 +2178,7 @@  discard block
 block discarded – undo
2088 2178
 						</div>
2089 2179
 					</div>
2090 2180
 				</div><!-- .groupmembership -->';
2091
-	}
2092
-	else
2181
+	} else
2093 2182
 	{
2094 2183
 		echo '
2095 2184
 				<div class="title_bar">
@@ -2101,27 +2190,30 @@  discard block
 block discarded – undo
2101 2190
 			echo '
2102 2191
 				<div class="windowbg" id="primdiv_', $group['id'], '">';
2103 2192
 
2104
-				if ($context['can_edit_primary'])
2105
-					echo '
2193
+				if ($context['can_edit_primary']) {
2194
+									echo '
2106 2195
 					<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', '>';
2196
+				}
2107 2197
 
2108 2198
 				echo '
2109 2199
 					<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>';
2110 2200
 
2111 2201
 				// Can they leave their group?
2112
-				if ($group['can_leave'])
2113
-					echo '
2202
+				if ($group['can_leave']) {
2203
+									echo '
2114 2204
 					<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>';
2205
+				}
2115 2206
 
2116 2207
 				echo '
2117 2208
 				</div><!-- .windowbg -->';
2118 2209
 		}
2119 2210
 
2120
-		if ($context['can_edit_primary'])
2121
-			echo '
2211
+		if ($context['can_edit_primary']) {
2212
+					echo '
2122 2213
 				<div class="padding righttext">
2123 2214
 					<input type="submit" value="', $txt['make_primary'], '" class="button">
2124 2215
 				</div>';
2216
+		}
2125 2217
 
2126 2218
 		// Any groups they can join?
2127 2219
 		if (!empty($context['groups']['available']))
@@ -2137,17 +2229,16 @@  discard block
 block discarded – undo
2137 2229
 				<div class="windowbg">
2138 2230
 					<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>' : ''), '';
2139 2231
 
2140
-				if ($group['type'] == 3)
2141
-					echo '
2232
+				if ($group['type'] == 3) {
2233
+									echo '
2142 2234
 					<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>';
2143
-
2144
-				elseif ($group['type'] == 2 && $group['pending'])
2145
-					echo '
2235
+				} elseif ($group['type'] == 2 && $group['pending']) {
2236
+									echo '
2146 2237
 					<span class="floatright">', $txt['approval_pending'], '</span>';
2147
-
2148
-				elseif ($group['type'] == 2)
2149
-					echo '
2238
+				} elseif ($group['type'] == 2) {
2239
+									echo '
2150 2240
 					<a href="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=groupmembership;request=', $group['id'], '" class="button floatright">', $txt['request_group'], '</a>';
2241
+				}
2151 2242
 
2152 2243
 				echo '
2153 2244
 				</div><!-- .windowbg -->';
@@ -2170,9 +2261,10 @@  discard block
 block discarded – undo
2170 2261
 
2171 2262
 						prevDiv.className = "windowbg";
2172 2263
 					}';
2173
-		if (isset($context['groups']['member'][$context['primary_group']]))
2174
-			echo '
2264
+		if (isset($context['groups']['member'][$context['primary_group']])) {
2265
+					echo '
2175 2266
 					highlightSelected("primdiv_' . $context['primary_group'] . '");';
2267
+		}
2176 2268
 
2177 2269
 		echo '
2178 2270
 				</script>';
@@ -2181,9 +2273,10 @@  discard block
 block discarded – undo
2181 2273
 	echo '
2182 2274
 			</div><!-- #groups -->';
2183 2275
 
2184
-	if (!empty($context['token_check']))
2185
-		echo '
2276
+	if (!empty($context['token_check'])) {
2277
+			echo '
2186 2278
 			<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
2279
+	}
2187 2280
 
2188 2281
 	echo '
2189 2282
 			<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -2231,14 +2324,15 @@  discard block
 block discarded – undo
2231 2324
 
2232 2325
 		foreach ($category['boards'] as $board)
2233 2326
 		{
2234
-			if ($i == $limit)
2235
-				echo '
2327
+			if ($i == $limit) {
2328
+							echo '
2236 2329
 						</ul>
2237 2330
 					</li>
2238 2331
 				</ul>
2239 2332
 				<ul class="ignoreboards floatright">
2240 2333
 					<li class="category">
2241 2334
 						<ul>';
2335
+			}
2242 2336
 
2243 2337
 			echo '
2244 2338
 							<li class="board" style="margin-', $context['right_to_left'] ? 'right' : 'left', ': ', $board['child_level'], 'em;">
@@ -2284,10 +2378,11 @@  discard block
 block discarded – undo
2284 2378
 
2285 2379
 	// Work out the starting color.
2286 2380
 	$context['current_color'] = $context['colors'][0];
2287
-	foreach ($context['colors'] as $limit => $color)
2288
-		if ($context['member']['warning'] >= $limit)
2381
+	foreach ($context['colors'] as $limit => $color) {
2382
+			if ($context['member']['warning'] >= $limit)
2289 2383
 			$context['current_color'] = $color;
2290
-}
2384
+	}
2385
+	}
2291 2386
 
2292 2387
 // Show all warnings of a user?
2293 2388
 function template_viewWarning()
@@ -2326,14 +2421,15 @@  discard block
 block discarded – undo
2326 2421
 				</dd>';
2327 2422
 
2328 2423
 	// There's some impact of this?
2329
-	if (!empty($context['level_effects'][$context['current_level']]))
2330
-		echo '
2424
+	if (!empty($context['level_effects'][$context['current_level']])) {
2425
+			echo '
2331 2426
 				<dt>
2332 2427
 					<strong>', $txt['profile_viewwarning_impact'], ':</strong>
2333 2428
 				</dt>
2334 2429
 				<dd>
2335 2430
 					', $context['level_effects'][$context['current_level']], '
2336 2431
 				</dd>';
2432
+	}
2337 2433
 
2338 2434
 	echo '
2339 2435
 			</dl>
@@ -2371,10 +2467,11 @@  discard block
 block discarded – undo
2371 2467
 
2372 2468
 			// Otherwise see what we can do...';
2373 2469
 
2374
-	foreach ($context['notification_templates'] as $k => $type)
2375
-		echo '
2470
+	foreach ($context['notification_templates'] as $k => $type) {
2471
+			echo '
2376 2472
 			if (index == ', $k, ')
2377 2473
 				document.getElementById(\'warn_body\').value = "', strtr($type['body'], array('"' => "'", "\n" => '\\n', "\r" => '')), '";';
2474
+	}
2378 2475
 
2379 2476
 	echo '
2380 2477
 		}
@@ -2384,10 +2481,11 @@  discard block
 block discarded – undo
2384 2481
 			// Also set the right effect.
2385 2482
 			effectText = "";';
2386 2483
 
2387
-	foreach ($context['level_effects'] as $limit => $text)
2388
-		echo '
2484
+	foreach ($context['level_effects'] as $limit => $text) {
2485
+			echo '
2389 2486
 			if (slideAmount >= ', $limit, ')
2390 2487
 				effectText = "', $text, '";';
2488
+	}
2391 2489
 
2392 2490
 	echo '
2393 2491
 			setInnerHTML(document.getElementById(\'cur_level_div\'), slideAmount + \'% (\' + effectText + \')\');
@@ -2402,32 +2500,35 @@  discard block
 block discarded – undo
2402 2500
 			</h3>
2403 2501
 		</div>';
2404 2502
 
2405
-	if (!$context['user']['is_owner'])
2406
-		echo '
2503
+	if (!$context['user']['is_owner']) {
2504
+			echo '
2407 2505
 		<p class="information">', $txt['profile_warning_desc'], '</p>';
2506
+	}
2408 2507
 
2409 2508
 	echo '
2410 2509
 		<div class="windowbg">
2411 2510
 			<dl class="settings">';
2412 2511
 
2413
-	if (!$context['user']['is_owner'])
2414
-		echo '
2512
+	if (!$context['user']['is_owner']) {
2513
+			echo '
2415 2514
 				<dt>
2416 2515
 					<strong>', $txt['profile_warning_name'], ':</strong>
2417 2516
 				</dt>
2418 2517
 				<dd>
2419 2518
 					<strong>', $context['member']['name'], '</strong>
2420 2519
 				</dd>';
2520
+	}
2421 2521
 
2422 2522
 	echo '
2423 2523
 				<dt>
2424 2524
 					<strong>', $txt['profile_warning_level'], ':</strong>';
2425 2525
 
2426 2526
 	// Is there only so much they can apply?
2427
-	if ($context['warning_limit'])
2428
-		echo '
2527
+	if ($context['warning_limit']) {
2528
+			echo '
2429 2529
 					<br>
2430 2530
 					<span class="smalltext">', sprintf($txt['profile_warning_limit_attribute'], $context['warning_limit']), '</span>';
2531
+	}
2431 2532
 
2432 2533
 	echo '
2433 2534
 				</dt>
@@ -2482,9 +2583,10 @@  discard block
 block discarded – undo
2482 2583
 						<option value="-1">', $txt['profile_warning_notify_template'], '</option>
2483 2584
 						<option value="-1" disabled>------------------------------</option>';
2484 2585
 
2485
-		foreach ($context['notification_templates'] as $id_template => $template)
2486
-			echo '
2586
+		foreach ($context['notification_templates'] as $id_template => $template) {
2587
+					echo '
2487 2588
 						<option value="', $id_template, '">', $template['title'], '</option>';
2589
+		}
2488 2590
 
2489 2591
 		echo '
2490 2592
 					</select>
@@ -2497,9 +2599,10 @@  discard block
 block discarded – undo
2497 2599
 			</dl>
2498 2600
 			<div class="righttext">';
2499 2601
 
2500
-	if (!empty($context['token_check']))
2501
-		echo '
2602
+	if (!empty($context['token_check'])) {
2603
+			echo '
2502 2604
 				<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
2605
+	}
2503 2606
 
2504 2607
 	echo '
2505 2608
 				<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -2515,8 +2618,8 @@  discard block
 block discarded – undo
2515 2618
 	echo '
2516 2619
 	<script>';
2517 2620
 
2518
-	if (!$context['user']['is_owner'])
2519
-		echo '
2621
+	if (!$context['user']['is_owner']) {
2622
+			echo '
2520 2623
 		modifyWarnNotify();
2521 2624
 		$(document).ready(function() {
2522 2625
 			$("#preview_button").click(function() {
@@ -2555,6 +2658,7 @@  discard block
 block discarded – undo
2555 2658
 			});
2556 2659
 			return false;
2557 2660
 		}';
2661
+	}
2558 2662
 
2559 2663
 	echo '
2560 2664
 	</script>';
@@ -2577,17 +2681,19 @@  discard block
 block discarded – undo
2577 2681
 			</div>';
2578 2682
 
2579 2683
 	// If deleting another account give them a lovely info box.
2580
-	if (!$context['user']['is_owner'])
2581
-		echo '
2684
+	if (!$context['user']['is_owner']) {
2685
+			echo '
2582 2686
 			<p class="information">', $txt['deleteAccount_desc'], '</p>';
2687
+	}
2583 2688
 
2584 2689
 	echo '
2585 2690
 			<div class="windowbg2">';
2586 2691
 
2587 2692
 	// If they are deleting their account AND the admin needs to approve it - give them another piece of info ;)
2588
-	if ($context['needs_approval'])
2589
-		echo '
2693
+	if ($context['needs_approval']) {
2694
+			echo '
2590 2695
 				<div class="errorbox">', $txt['deleteAccount_approval'], '</div>';
2696
+	}
2591 2697
 
2592 2698
 	// If the user is deleting their own account warn them first - and require a password!
2593 2699
 	if ($context['user']['is_owner'])
@@ -2599,9 +2705,10 @@  discard block
 block discarded – undo
2599 2705
 					<input type="password" name="oldpasswrd" size="20">
2600 2706
 					<input type="submit" value="', $txt['yes'], '" class="button">';
2601 2707
 
2602
-		if (!empty($context['token_check']))
2603
-			echo '
2708
+		if (!empty($context['token_check'])) {
2709
+					echo '
2604 2710
 					<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
2711
+		}
2605 2712
 
2606 2713
 		echo '
2607 2714
 					<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -2631,10 +2738,11 @@  discard block
 block discarded – undo
2631 2738
 						<option value="topics">', $txt['deleteAccount_topics'], '</option>
2632 2739
 					</select>';
2633 2740
 
2634
-			if ($context['show_perma_delete'])
2635
-				echo '
2741
+			if ($context['show_perma_delete']) {
2742
+							echo '
2636 2743
 					<br>
2637 2744
 					<label for="perma_delete"><input type="checkbox" name="perma_delete" id="perma_delete" value="1">', $txt['deleteAccount_permanent'], ':</label>';
2745
+			}
2638 2746
 
2639 2747
 			echo '
2640 2748
 				</div>';
@@ -2647,9 +2755,10 @@  discard block
 block discarded – undo
2647 2755
 				<div>
2648 2756
 					<input type="submit" value="', $txt['delete'], '" class="button">';
2649 2757
 
2650
-		if (!empty($context['token_check']))
2651
-			echo '
2758
+		if (!empty($context['token_check'])) {
2759
+					echo '
2652 2760
 				<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
2761
+		}
2653 2762
 
2654 2763
 		echo '
2655 2764
 					<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -2675,8 +2784,8 @@  discard block
 block discarded – undo
2675 2784
 					<hr>';
2676 2785
 
2677 2786
 	// Only show the password box if it's actually needed.
2678
-	if ($context['require_password'])
2679
-		echo '
2787
+	if ($context['require_password']) {
2788
+			echo '
2680 2789
 					<dl class="settings">
2681 2790
 						<dt>
2682 2791
 							<strong', isset($context['modify_error']['bad_password']) || isset($context['modify_error']['no_password']) ? ' class="error"' : '', '>', $txt['current_password'], ': </strong><br>
@@ -2686,13 +2795,15 @@  discard block
 block discarded – undo
2686 2795
 							<input type="password" name="oldpasswrd" size="20">
2687 2796
 						</dd>
2688 2797
 					</dl>';
2798
+	}
2689 2799
 
2690 2800
 	echo '
2691 2801
 					<div class="righttext">';
2692 2802
 
2693
-	if (!empty($context['token_check']))
2694
-		echo '
2803
+	if (!empty($context['token_check'])) {
2804
+			echo '
2695 2805
 						<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
2806
+	}
2696 2807
 
2697 2808
 	echo '
2698 2809
 						<input type="submit" value="', $txt['change_profile'], '" class="button">
@@ -2719,9 +2830,10 @@  discard block
 block discarded – undo
2719 2830
 			<ul id="list_errors">';
2720 2831
 
2721 2832
 		// Cycle through each error and display an error message.
2722
-		foreach ($context['post_errors'] as $error)
2723
-			echo '
2833
+		foreach ($context['post_errors'] as $error) {
2834
+					echo '
2724 2835
 				<li>', isset($txt['profile_error_' . $error]) ? $txt['profile_error_' . $error] : $error, '</li>';
2836
+		}
2725 2837
 
2726 2838
 		echo '
2727 2839
 			</ul>';
@@ -2747,12 +2859,13 @@  discard block
 block discarded – undo
2747 2859
 								<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;"' : ''), '>';
2748 2860
 
2749 2861
 	// Fill the select box with all primary member groups that can be assigned to a member.
2750
-	foreach ($context['member_groups'] as $member_group)
2751
-		if (!empty($member_group['can_be_primary']))
2862
+	foreach ($context['member_groups'] as $member_group) {
2863
+			if (!empty($member_group['can_be_primary']))
2752 2864
 			echo '
2753 2865
 									<option value="', $member_group['id'], '"', $member_group['is_primary'] ? ' selected' : '', '>
2754 2866
 										', $member_group['name'], '
2755 2867
 									</option>';
2868
+	}
2756 2869
 
2757 2870
 	echo '
2758 2871
 								</select>
@@ -2765,10 +2878,11 @@  discard block
 block discarded – undo
2765 2878
 									<input type="hidden" name="additional_groups[]" value="0">';
2766 2879
 
2767 2880
 	// For each membergroup show a checkbox so members can be assigned to more than one group.
2768
-	foreach ($context['member_groups'] as $member_group)
2769
-		if ($member_group['can_be_additional'])
2881
+	foreach ($context['member_groups'] as $member_group) {
2882
+			if ($member_group['can_be_additional'])
2770 2883
 			echo '
2771 2884
 									<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>';
2885
+	}
2772 2886
 
2773 2887
 	echo '
2774 2888
 								</span>
@@ -2828,9 +2942,10 @@  discard block
 block discarded – undo
2828 2942
 								<span class="smalltext">', $txt['sig_info'], '</span><br>
2829 2943
 								<br>';
2830 2944
 
2831
-	if ($context['show_spellchecking'])
2832
-		echo '
2945
+	if ($context['show_spellchecking']) {
2946
+			echo '
2833 2947
 								<input type="button" value="', $txt['spell_check'], '" onclick="spellCheck(\'creator\', \'signature\');" class="button">';
2948
+	}
2834 2949
 
2835 2950
 	echo '
2836 2951
 							</dt>
@@ -2838,17 +2953,20 @@  discard block
 block discarded – undo
2838 2953
 								<textarea class="editor" onkeyup="calcCharLeft();" id="signature" name="signature" rows="5" cols="50">', $context['member']['signature'], '</textarea><br>';
2839 2954
 
2840 2955
 	// If there is a limit at all!
2841
-	if (!empty($context['signature_limits']['max_length']))
2842
-		echo '
2956
+	if (!empty($context['signature_limits']['max_length'])) {
2957
+			echo '
2843 2958
 								<span class="smalltext">', sprintf($txt['max_sig_characters'], $context['signature_limits']['max_length']), ' <span id="signatureLeft">', $context['signature_limits']['max_length'], '</span></span><br>';
2959
+	}
2844 2960
 
2845
-	if (!empty($context['show_preview_button']))
2846
-		echo '
2961
+	if (!empty($context['show_preview_button'])) {
2962
+			echo '
2847 2963
 								<input type="button" name="preview_signature" id="preview_button" value="', $txt['preview_signature'], '" class="button floatright">';
2964
+	}
2848 2965
 
2849
-	if ($context['signature_warning'])
2850
-		echo '
2966
+	if ($context['signature_warning']) {
2967
+			echo '
2851 2968
 								<span class="smalltext">', $context['signature_warning'], '</span>';
2969
+	}
2852 2970
 
2853 2971
 	// Some javascript used to count how many characters have been used so far in the signature.
2854 2972
 	echo '
@@ -2893,9 +3011,10 @@  discard block
 block discarded – undo
2893 3011
 										<select name="cat" id="cat" size="10" onchange="changeSel(\'\');" onfocus="selectRadioByName(document.forms.creator.avatar_choice, \'server_stored\');">';
2894 3012
 
2895 3013
 		// This lists all the file categories.
2896
-		foreach ($context['avatars'] as $avatar)
2897
-			echo '
3014
+		foreach ($context['avatars'] as $avatar) {
3015
+					echo '
2898 3016
 											<option value="', $avatar['filename'] . ($avatar['is_dir'] ? '/' : ''), '"', ($avatar['checked'] ? ' selected' : ''), '>', $avatar['name'], '</option>';
3017
+		}
2899 3018
 
2900 3019
 		echo '
2901 3020
 										</select>
@@ -2927,20 +3046,22 @@  discard block
 block discarded – undo
2927 3046
 	}
2928 3047
 
2929 3048
 	// If the user can link to an off server avatar, show them a box to input the address.
2930
-	if (!empty($context['member']['avatar']['allow_external']))
2931
-		echo '
3049
+	if (!empty($context['member']['avatar']['allow_external'])) {
3050
+			echo '
2932 3051
 								<div id="avatar_external">
2933 3052
 									<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') : '', '
2934 3053
 									<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);">
2935 3054
 								</div>';
3055
+	}
2936 3056
 
2937 3057
 	// If the user is able to upload avatars to the server show them an upload box.
2938
-	if (!empty($context['member']['avatar']['allow_upload']))
2939
-		echo '
3058
+	if (!empty($context['member']['avatar']['allow_upload'])) {
3059
+			echo '
2940 3060
 								<div id="avatar_upload">
2941 3061
 									<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'), '
2942 3062
 									', (!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'] . '">' : ''), '
2943 3063
 								</div>';
3064
+	}
2944 3065
 
2945 3066
 	// if the user is able to use Gravatar avatars show then the image preview
2946 3067
 	if (!empty($context['member']['avatar']['allow_gravatar']))
@@ -2949,16 +3070,17 @@  discard block
 block discarded – undo
2949 3070
 								<div id="avatar_gravatar">
2950 3071
 									<img src="' . $context['member']['avatar']['href'] . '" alt="">';
2951 3072
 
2952
-		if (empty($modSettings['gravatarAllowExtraEmail']))
2953
-			echo '
3073
+		if (empty($modSettings['gravatarAllowExtraEmail'])) {
3074
+					echo '
2954 3075
 									<div class="smalltext">', $txt['gravatar_noAlternateEmail'], '</div>';
2955
-		else
3076
+		} else
2956 3077
 		{
2957 3078
 			// Depending on other stuff, the stored value here might have some odd things in it from other areas.
2958
-			if ($context['member']['avatar']['external'] == $context['member']['email'])
2959
-				$textbox_value = '';
2960
-			else
2961
-				$textbox_value = $context['member']['avatar']['external'];
3079
+			if ($context['member']['avatar']['external'] == $context['member']['email']) {
3080
+							$textbox_value = '';
3081
+			} else {
3082
+							$textbox_value = $context['member']['avatar']['external'];
3083
+			}
2962 3084
 
2963 3085
 			echo '
2964 3086
 									<div class="smalltext">', $txt['gravatar_alternateEmail'], '</div>
@@ -3030,8 +3152,9 @@  discard block
 block discarded – undo
3030 3152
 	$h = !empty($modSettings['avatar_max_height_' . $type]) ? comma_format($modSettings['avatar_max_height_' . $type]) : 0;
3031 3153
 
3032 3154
 	$suffix = (!empty($w) ? 'w' : '') . (!empty($h) ? 'h' : '');
3033
-	if (empty($suffix))
3034
-		return;
3155
+	if (empty($suffix)) {
3156
+			return;
3157
+	}
3035 3158
 
3036 3159
 	echo '
3037 3160
 								<div class="smalltext">', sprintf($txt['avatar_max_size_' . $suffix], $w, $h), '</div>';
@@ -3056,9 +3179,10 @@  discard block
 block discarded – undo
3056 3179
 								<select name="easyformat" id="easyformat" onchange="document.forms.creator.time_format.value = this.options[this.selectedIndex].value;">';
3057 3180
 
3058 3181
 	// Help the user by showing a list of common time formats.
3059
-	foreach ($context['easy_timeformats'] as $time_format)
3060
-		echo '
3182
+	foreach ($context['easy_timeformats'] as $time_format) {
3183
+			echo '
3061 3184
 									<option value="', $time_format['format'], '"', $time_format['format'] == $context['member']['time_format'] ? ' selected' : '', '>', $time_format['title'], '</option>';
3185
+	}
3062 3186
 
3063 3187
 	echo '
3064 3188
 								</select>
@@ -3096,9 +3220,10 @@  discard block
 block discarded – undo
3096 3220
 							<dd>
3097 3221
 								<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\';">';
3098 3222
 
3099
-	foreach ($context['smiley_sets'] as $set)
3100
-		echo '
3223
+	foreach ($context['smiley_sets'] as $set) {
3224
+			echo '
3101 3225
 									<option value="', $set['id'], '"', $set['selected'] ? ' selected' : '', '>', $set['name'], '</option>';
3226
+	}
3102 3227
 
3103 3228
 	echo '
3104 3229
 								</select>
@@ -3150,10 +3275,11 @@  discard block
 block discarded – undo
3150 3275
 										<img src="', $context['tfa_qr_url'], '" alt="">
3151 3276
 									</div>';
3152 3277
 
3153
-	if (!empty($context['from_ajax']))
3154
-		echo '
3278
+	if (!empty($context['from_ajax'])) {
3279
+			echo '
3155 3280
 					<br>
3156 3281
 					<a href="javascript:self.close();"></a>';
3282
+	}
3157 3283
 
3158 3284
 	echo '
3159 3285
 				</div>
@@ -3193,17 +3319,16 @@  discard block
 block discarded – undo
3193 3319
 							</dt>
3194 3320
 							<dd>';
3195 3321
 
3196
-	if (!$context['tfa_enabled'] && $context['user']['is_owner'])
3197
-		echo '
3322
+	if (!$context['tfa_enabled'] && $context['user']['is_owner']) {
3323
+			echo '
3198 3324
 								<a href="', !empty($modSettings['force_ssl']) ? strtr($scripturl, array('http://' => 'https://')) : $scripturl, '?action=profile;area=tfasetup" id="enable_tfa">', $txt['tfa_profile_enable'], '</a>';
3199
-
3200
-	elseif (!$context['tfa_enabled'])
3201
-		echo '
3325
+	} elseif (!$context['tfa_enabled']) {
3326
+			echo '
3202 3327
 								', $txt['tfa_profile_disabled'];
3203
-
3204
-	else
3205
-		echo '
3328
+	} else {
3329
+			echo '
3206 3330
 								', sprintf($txt['tfa_profile_enabled'], $scripturl . '?action=profile;u=' . $context['id_member'] . ';area=tfasetup;disable');
3331
+	}
3207 3332
 
3208 3333
 	echo '
3209 3334
 							</dd>';
Please login to merge, or discard this patch.
Sources/punycode/index.php 1 patch
Braces   +3 added lines, -2 removed lines patch added patch discarded remove patch
@@ -1,9 +1,10 @@
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 // Try to handle it with the upper level index.php. (it should know what to do.)
4
-if (file_exists(dirname(dirname(__FILE__)) . '/index.php'))
4
+if (file_exists(dirname(dirname(__FILE__)) . '/index.php')) {
5 5
 	include (dirname(dirname(__FILE__)) . '/index.php');
6
-else
6
+} else {
7 7
 	exit;
8
+}
8 9
 
9 10
 ?>
10 11
\ No newline at end of file
Please login to merge, or discard this patch.
Sources/punycode/Exception/index.php 1 patch
Braces   +3 added lines, -2 removed lines patch added patch discarded remove patch
@@ -1,9 +1,10 @@
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 // Try to handle it with the upper level index.php. (it should know what to do.)
4
-if (file_exists(dirname(dirname(__FILE__)) . '/index.php'))
4
+if (file_exists(dirname(dirname(__FILE__)) . '/index.php')) {
5 5
 	include (dirname(dirname(__FILE__)) . '/index.php');
6
-else
6
+} else {
7 7
 	exit;
8
+}
8 9
 
9 10
 ?>
10 11
\ No newline at end of file
Please login to merge, or discard this patch.
Sources/punycode/Punycode.php 2 patches
Indentation   +345 added lines, -345 removed lines patch added patch discarded remove patch
@@ -12,349 +12,349 @@
 block discarded – undo
12 12
 class Punycode
13 13
 {
14 14
 
15
-    /**
16
-     * Bootstring parameter values
17
-     *
18
-     */
19
-    const BASE         = 36;
20
-    const TMIN         = 1;
21
-    const TMAX         = 26;
22
-    const SKEW         = 38;
23
-    const DAMP         = 700;
24
-    const INITIAL_BIAS = 72;
25
-    const INITIAL_N    = 128;
26
-    const PREFIX       = 'xn--';
27
-    const DELIMITER    = '-';
28
-
29
-    /**
30
-     * Encode table
31
-     *
32
-     * @param array
33
-     */
34
-    protected static $encodeTable = array(
35
-        'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
36
-        'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
37
-        'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
38
-    );
39
-
40
-    /**
41
-     * Decode table
42
-     *
43
-     * @param array
44
-     */
45
-    protected static $decodeTable = array(
46
-        'a' =>  0, 'b' =>  1, 'c' =>  2, 'd' =>  3, 'e' =>  4, 'f' =>  5,
47
-        'g' =>  6, 'h' =>  7, 'i' =>  8, 'j' =>  9, 'k' => 10, 'l' => 11,
48
-        'm' => 12, 'n' => 13, 'o' => 14, 'p' => 15, 'q' => 16, 'r' => 17,
49
-        's' => 18, 't' => 19, 'u' => 20, 'v' => 21, 'w' => 22, 'x' => 23,
50
-        'y' => 24, 'z' => 25, '0' => 26, '1' => 27, '2' => 28, '3' => 29,
51
-        '4' => 30, '5' => 31, '6' => 32, '7' => 33, '8' => 34, '9' => 35
52
-    );
53
-
54
-    /**
55
-     * Character encoding
56
-     *
57
-     * @param string
58
-     */
59
-    protected $encoding;
60
-
61
-    /**
62
-     * Constructor
63
-     *
64
-     * @param string $encoding Character encoding
65
-     */
66
-    public function __construct($encoding = 'UTF-8')
67
-    {
68
-        $this->encoding = $encoding;
69
-    }
70
-
71
-    /**
72
-     * Encode a domain to its Punycode version
73
-     *
74
-     * @param string $input Domain name in Unicode to be encoded
75
-     * @return string Punycode representation in ASCII
76
-     */
77
-    public function encode($input)
78
-    {
79
-        $input = mb_strtolower($input, $this->encoding);
80
-        $parts = explode('.', $input);
81
-        foreach ($parts as &$part) {
82
-            $length = strlen($part);
83
-            if ($length < 1) {
84
-                throw new LabelOutOfBoundsException(sprintf('The length of any one label is limited to between 1 and 63 octets, but %s given.', $length));
85
-            }
86
-            $part = $this->encodePart($part);
87
-        }
88
-        $output = implode('.', $parts);
89
-        $length = strlen($output);
90
-        if ($length > 255) {
91
-            throw new DomainOutOfBoundsException(sprintf('A full domain name is limited to 255 octets (including the separators), %s given.', $length));
92
-        }
93
-
94
-        return $output;
95
-    }
96
-
97
-    /**
98
-     * Encode a part of a domain name, such as tld, to its Punycode version
99
-     *
100
-     * @param string $input Part of a domain name
101
-     * @return string Punycode representation of a domain part
102
-     */
103
-    protected function encodePart($input)
104
-    {
105
-        $codePoints = $this->listCodePoints($input);
106
-
107
-        $n = static::INITIAL_N;
108
-        $bias = static::INITIAL_BIAS;
109
-        $delta = 0;
110
-        $h = $b = count($codePoints['basic']);
111
-
112
-        $output = '';
113
-        foreach ($codePoints['basic'] as $code) {
114
-            $output .= $this->codePointToChar($code);
115
-        }
116
-        if ($input === $output) {
117
-            return $output;
118
-        }
119
-        if ($b > 0) {
120
-            $output .= static::DELIMITER;
121
-        }
122
-
123
-        $codePoints['nonBasic'] = array_unique($codePoints['nonBasic']);
124
-        sort($codePoints['nonBasic']);
125
-
126
-        $i = 0;
127
-        $length = mb_strlen($input, $this->encoding);
128
-        while ($h < $length) {
129
-            $m = $codePoints['nonBasic'][$i++];
130
-            $delta = $delta + ($m - $n) * ($h + 1);
131
-            $n = $m;
132
-
133
-            foreach ($codePoints['all'] as $c) {
134
-                if ($c < $n || $c < static::INITIAL_N) {
135
-                    $delta++;
136
-                }
137
-                if ($c === $n) {
138
-                    $q = $delta;
139
-                    for ($k = static::BASE;; $k += static::BASE) {
140
-                        $t = $this->calculateThreshold($k, $bias);
141
-                        if ($q < $t) {
142
-                            break;
143
-                        }
144
-
145
-                        $code = $t + (($q - $t) % (static::BASE - $t));
146
-                        $output .= static::$encodeTable[$code];
147
-
148
-                        $q = ($q - $t) / (static::BASE - $t);
149
-                    }
150
-
151
-                    $output .= static::$encodeTable[$q];
152
-                    $bias = $this->adapt($delta, $h + 1, ($h === $b));
153
-                    $delta = 0;
154
-                    $h++;
155
-                }
156
-            }
157
-
158
-            $delta++;
159
-            $n++;
160
-        }
161
-        $out = static::PREFIX . $output;
162
-        $length = strlen($out);
163
-        if ($length > 63 || $length < 1) {
164
-            throw new LabelOutOfBoundsException(sprintf('The length of any one label is limited to between 1 and 63 octets, but %s given.', $length));
165
-        }
166
-
167
-        return $out;
168
-    }
169
-
170
-    /**
171
-     * Decode a Punycode domain name to its Unicode counterpart
172
-     *
173
-     * @param string $input Domain name in Punycode
174
-     * @return string Unicode domain name
175
-     */
176
-    public function decode($input)
177
-    {
178
-        $input = strtolower($input);
179
-        $parts = explode('.', $input);
180
-        foreach ($parts as &$part) {
181
-            $length = strlen($part);
182
-            if ($length > 63 || $length < 1) {
183
-                throw new LabelOutOfBoundsException(sprintf('The length of any one label is limited to between 1 and 63 octets, but %s given.', $length));
184
-            }
185
-            if (strpos($part, static::PREFIX) !== 0) {
186
-                continue;
187
-            }
188
-
189
-            $part = substr($part, strlen(static::PREFIX));
190
-            $part = $this->decodePart($part);
191
-        }
192
-        $output = implode('.', $parts);
193
-        $length = strlen($output);
194
-        if ($length > 255) {
195
-            throw new DomainOutOfBoundsException(sprintf('A full domain name is limited to 255 octets (including the separators), %s given.', $length));
196
-        }
197
-
198
-        return $output;
199
-    }
200
-
201
-    /**
202
-     * Decode a part of domain name, such as tld
203
-     *
204
-     * @param string $input Part of a domain name
205
-     * @return string Unicode domain part
206
-     */
207
-    protected function decodePart($input)
208
-    {
209
-        $n = static::INITIAL_N;
210
-        $i = 0;
211
-        $bias = static::INITIAL_BIAS;
212
-        $output = '';
213
-
214
-        $pos = strrpos($input, static::DELIMITER);
215
-        if ($pos !== false) {
216
-            $output = substr($input, 0, $pos++);
217
-        } else {
218
-            $pos = 0;
219
-        }
220
-
221
-        $outputLength = strlen($output);
222
-        $inputLength = strlen($input);
223
-        while ($pos < $inputLength) {
224
-            $oldi = $i;
225
-            $w = 1;
226
-
227
-            for ($k = static::BASE;; $k += static::BASE) {
228
-                $digit = static::$decodeTable[$input[$pos++]];
229
-                $i = $i + ($digit * $w);
230
-                $t = $this->calculateThreshold($k, $bias);
231
-
232
-                if ($digit < $t) {
233
-                    break;
234
-                }
235
-
236
-                $w = $w * (static::BASE - $t);
237
-            }
238
-
239
-            $bias = $this->adapt($i - $oldi, ++$outputLength, ($oldi === 0));
240
-            $n = $n + (int) ($i / $outputLength);
241
-            $i = $i % ($outputLength);
242
-            $output = mb_substr($output, 0, $i, $this->encoding) . $this->codePointToChar($n) . mb_substr($output, $i, $outputLength - 1, $this->encoding);
243
-
244
-            $i++;
245
-        }
246
-
247
-        return $output;
248
-    }
249
-
250
-    /**
251
-     * Calculate the bias threshold to fall between TMIN and TMAX
252
-     *
253
-     * @param integer $k
254
-     * @param integer $bias
255
-     * @return integer
256
-     */
257
-    protected function calculateThreshold($k, $bias)
258
-    {
259
-        if ($k <= $bias + static::TMIN) {
260
-            return static::TMIN;
261
-        } elseif ($k >= $bias + static::TMAX) {
262
-            return static::TMAX;
263
-        }
264
-        return $k - $bias;
265
-    }
266
-
267
-    /**
268
-     * Bias adaptation
269
-     *
270
-     * @param integer $delta
271
-     * @param integer $numPoints
272
-     * @param boolean $firstTime
273
-     * @return integer
274
-     */
275
-    protected function adapt($delta, $numPoints, $firstTime)
276
-    {
277
-        $delta = (int) (
278
-            ($firstTime)
279
-                ? $delta / static::DAMP
280
-                : $delta / 2
281
-            );
282
-        $delta += (int) ($delta / $numPoints);
283
-
284
-        $k = 0;
285
-        while ($delta > ((static::BASE - static::TMIN) * static::TMAX) / 2) {
286
-            $delta = (int) ($delta / (static::BASE - static::TMIN));
287
-            $k = $k + static::BASE;
288
-        }
289
-        $k = $k + (int) (((static::BASE - static::TMIN + 1) * $delta) / ($delta + static::SKEW));
290
-
291
-        return $k;
292
-    }
293
-
294
-    /**
295
-     * List code points for a given input
296
-     *
297
-     * @param string $input
298
-     * @return array Multi-dimension array with basic, non-basic and aggregated code points
299
-     */
300
-    protected function listCodePoints($input)
301
-    {
302
-        $codePoints = array(
303
-            'all'      => array(),
304
-            'basic'    => array(),
305
-            'nonBasic' => array(),
306
-        );
307
-
308
-        $length = mb_strlen($input, $this->encoding);
309
-        for ($i = 0; $i < $length; $i++) {
310
-            $char = mb_substr($input, $i, 1, $this->encoding);
311
-            $code = $this->charToCodePoint($char);
312
-            if ($code < 128) {
313
-                $codePoints['all'][] = $codePoints['basic'][] = $code;
314
-            } else {
315
-                $codePoints['all'][] = $codePoints['nonBasic'][] = $code;
316
-            }
317
-        }
318
-
319
-        return $codePoints;
320
-    }
321
-
322
-    /**
323
-     * Convert a single or multi-byte character to its code point
324
-     *
325
-     * @param string $char
326
-     * @return integer
327
-     */
328
-    protected function charToCodePoint($char)
329
-    {
330
-        $code = ord($char[0]);
331
-        if ($code < 128) {
332
-            return $code;
333
-        } elseif ($code < 224) {
334
-            return (($code - 192) * 64) + (ord($char[1]) - 128);
335
-        } elseif ($code < 240) {
336
-            return (($code - 224) * 4096) + ((ord($char[1]) - 128) * 64) + (ord($char[2]) - 128);
337
-        } else {
338
-            return (($code - 240) * 262144) + ((ord($char[1]) - 128) * 4096) + ((ord($char[2]) - 128) * 64) + (ord($char[3]) - 128);
339
-        }
340
-    }
341
-
342
-    /**
343
-     * Convert a code point to its single or multi-byte character
344
-     *
345
-     * @param integer $code
346
-     * @return string
347
-     */
348
-    protected function codePointToChar($code)
349
-    {
350
-        if ($code <= 0x7F) {
351
-            return chr($code);
352
-        } elseif ($code <= 0x7FF) {
353
-            return chr(($code >> 6) + 192) . chr(($code & 63) + 128);
354
-        } elseif ($code <= 0xFFFF) {
355
-            return chr(($code >> 12) + 224) . chr((($code >> 6) & 63) + 128) . chr(($code & 63) + 128);
356
-        } else {
357
-            return chr(($code >> 18) + 240) . chr((($code >> 12) & 63) + 128) . chr((($code >> 6) & 63) + 128) . chr(($code & 63) + 128);
358
-        }
359
-    }
15
+	/**
16
+	 * Bootstring parameter values
17
+	 *
18
+	 */
19
+	const BASE         = 36;
20
+	const TMIN         = 1;
21
+	const TMAX         = 26;
22
+	const SKEW         = 38;
23
+	const DAMP         = 700;
24
+	const INITIAL_BIAS = 72;
25
+	const INITIAL_N    = 128;
26
+	const PREFIX       = 'xn--';
27
+	const DELIMITER    = '-';
28
+
29
+	/**
30
+	 * Encode table
31
+	 *
32
+	 * @param array
33
+	 */
34
+	protected static $encodeTable = array(
35
+		'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
36
+		'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
37
+		'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
38
+	);
39
+
40
+	/**
41
+	 * Decode table
42
+	 *
43
+	 * @param array
44
+	 */
45
+	protected static $decodeTable = array(
46
+		'a' =>  0, 'b' =>  1, 'c' =>  2, 'd' =>  3, 'e' =>  4, 'f' =>  5,
47
+		'g' =>  6, 'h' =>  7, 'i' =>  8, 'j' =>  9, 'k' => 10, 'l' => 11,
48
+		'm' => 12, 'n' => 13, 'o' => 14, 'p' => 15, 'q' => 16, 'r' => 17,
49
+		's' => 18, 't' => 19, 'u' => 20, 'v' => 21, 'w' => 22, 'x' => 23,
50
+		'y' => 24, 'z' => 25, '0' => 26, '1' => 27, '2' => 28, '3' => 29,
51
+		'4' => 30, '5' => 31, '6' => 32, '7' => 33, '8' => 34, '9' => 35
52
+	);
53
+
54
+	/**
55
+	 * Character encoding
56
+	 *
57
+	 * @param string
58
+	 */
59
+	protected $encoding;
60
+
61
+	/**
62
+	 * Constructor
63
+	 *
64
+	 * @param string $encoding Character encoding
65
+	 */
66
+	public function __construct($encoding = 'UTF-8')
67
+	{
68
+		$this->encoding = $encoding;
69
+	}
70
+
71
+	/**
72
+	 * Encode a domain to its Punycode version
73
+	 *
74
+	 * @param string $input Domain name in Unicode to be encoded
75
+	 * @return string Punycode representation in ASCII
76
+	 */
77
+	public function encode($input)
78
+	{
79
+		$input = mb_strtolower($input, $this->encoding);
80
+		$parts = explode('.', $input);
81
+		foreach ($parts as &$part) {
82
+			$length = strlen($part);
83
+			if ($length < 1) {
84
+				throw new LabelOutOfBoundsException(sprintf('The length of any one label is limited to between 1 and 63 octets, but %s given.', $length));
85
+			}
86
+			$part = $this->encodePart($part);
87
+		}
88
+		$output = implode('.', $parts);
89
+		$length = strlen($output);
90
+		if ($length > 255) {
91
+			throw new DomainOutOfBoundsException(sprintf('A full domain name is limited to 255 octets (including the separators), %s given.', $length));
92
+		}
93
+
94
+		return $output;
95
+	}
96
+
97
+	/**
98
+	 * Encode a part of a domain name, such as tld, to its Punycode version
99
+	 *
100
+	 * @param string $input Part of a domain name
101
+	 * @return string Punycode representation of a domain part
102
+	 */
103
+	protected function encodePart($input)
104
+	{
105
+		$codePoints = $this->listCodePoints($input);
106
+
107
+		$n = static::INITIAL_N;
108
+		$bias = static::INITIAL_BIAS;
109
+		$delta = 0;
110
+		$h = $b = count($codePoints['basic']);
111
+
112
+		$output = '';
113
+		foreach ($codePoints['basic'] as $code) {
114
+			$output .= $this->codePointToChar($code);
115
+		}
116
+		if ($input === $output) {
117
+			return $output;
118
+		}
119
+		if ($b > 0) {
120
+			$output .= static::DELIMITER;
121
+		}
122
+
123
+		$codePoints['nonBasic'] = array_unique($codePoints['nonBasic']);
124
+		sort($codePoints['nonBasic']);
125
+
126
+		$i = 0;
127
+		$length = mb_strlen($input, $this->encoding);
128
+		while ($h < $length) {
129
+			$m = $codePoints['nonBasic'][$i++];
130
+			$delta = $delta + ($m - $n) * ($h + 1);
131
+			$n = $m;
132
+
133
+			foreach ($codePoints['all'] as $c) {
134
+				if ($c < $n || $c < static::INITIAL_N) {
135
+					$delta++;
136
+				}
137
+				if ($c === $n) {
138
+					$q = $delta;
139
+					for ($k = static::BASE;; $k += static::BASE) {
140
+						$t = $this->calculateThreshold($k, $bias);
141
+						if ($q < $t) {
142
+							break;
143
+						}
144
+
145
+						$code = $t + (($q - $t) % (static::BASE - $t));
146
+						$output .= static::$encodeTable[$code];
147
+
148
+						$q = ($q - $t) / (static::BASE - $t);
149
+					}
150
+
151
+					$output .= static::$encodeTable[$q];
152
+					$bias = $this->adapt($delta, $h + 1, ($h === $b));
153
+					$delta = 0;
154
+					$h++;
155
+				}
156
+			}
157
+
158
+			$delta++;
159
+			$n++;
160
+		}
161
+		$out = static::PREFIX . $output;
162
+		$length = strlen($out);
163
+		if ($length > 63 || $length < 1) {
164
+			throw new LabelOutOfBoundsException(sprintf('The length of any one label is limited to between 1 and 63 octets, but %s given.', $length));
165
+		}
166
+
167
+		return $out;
168
+	}
169
+
170
+	/**
171
+	 * Decode a Punycode domain name to its Unicode counterpart
172
+	 *
173
+	 * @param string $input Domain name in Punycode
174
+	 * @return string Unicode domain name
175
+	 */
176
+	public function decode($input)
177
+	{
178
+		$input = strtolower($input);
179
+		$parts = explode('.', $input);
180
+		foreach ($parts as &$part) {
181
+			$length = strlen($part);
182
+			if ($length > 63 || $length < 1) {
183
+				throw new LabelOutOfBoundsException(sprintf('The length of any one label is limited to between 1 and 63 octets, but %s given.', $length));
184
+			}
185
+			if (strpos($part, static::PREFIX) !== 0) {
186
+				continue;
187
+			}
188
+
189
+			$part = substr($part, strlen(static::PREFIX));
190
+			$part = $this->decodePart($part);
191
+		}
192
+		$output = implode('.', $parts);
193
+		$length = strlen($output);
194
+		if ($length > 255) {
195
+			throw new DomainOutOfBoundsException(sprintf('A full domain name is limited to 255 octets (including the separators), %s given.', $length));
196
+		}
197
+
198
+		return $output;
199
+	}
200
+
201
+	/**
202
+	 * Decode a part of domain name, such as tld
203
+	 *
204
+	 * @param string $input Part of a domain name
205
+	 * @return string Unicode domain part
206
+	 */
207
+	protected function decodePart($input)
208
+	{
209
+		$n = static::INITIAL_N;
210
+		$i = 0;
211
+		$bias = static::INITIAL_BIAS;
212
+		$output = '';
213
+
214
+		$pos = strrpos($input, static::DELIMITER);
215
+		if ($pos !== false) {
216
+			$output = substr($input, 0, $pos++);
217
+		} else {
218
+			$pos = 0;
219
+		}
220
+
221
+		$outputLength = strlen($output);
222
+		$inputLength = strlen($input);
223
+		while ($pos < $inputLength) {
224
+			$oldi = $i;
225
+			$w = 1;
226
+
227
+			for ($k = static::BASE;; $k += static::BASE) {
228
+				$digit = static::$decodeTable[$input[$pos++]];
229
+				$i = $i + ($digit * $w);
230
+				$t = $this->calculateThreshold($k, $bias);
231
+
232
+				if ($digit < $t) {
233
+					break;
234
+				}
235
+
236
+				$w = $w * (static::BASE - $t);
237
+			}
238
+
239
+			$bias = $this->adapt($i - $oldi, ++$outputLength, ($oldi === 0));
240
+			$n = $n + (int) ($i / $outputLength);
241
+			$i = $i % ($outputLength);
242
+			$output = mb_substr($output, 0, $i, $this->encoding) . $this->codePointToChar($n) . mb_substr($output, $i, $outputLength - 1, $this->encoding);
243
+
244
+			$i++;
245
+		}
246
+
247
+		return $output;
248
+	}
249
+
250
+	/**
251
+	 * Calculate the bias threshold to fall between TMIN and TMAX
252
+	 *
253
+	 * @param integer $k
254
+	 * @param integer $bias
255
+	 * @return integer
256
+	 */
257
+	protected function calculateThreshold($k, $bias)
258
+	{
259
+		if ($k <= $bias + static::TMIN) {
260
+			return static::TMIN;
261
+		} elseif ($k >= $bias + static::TMAX) {
262
+			return static::TMAX;
263
+		}
264
+		return $k - $bias;
265
+	}
266
+
267
+	/**
268
+	 * Bias adaptation
269
+	 *
270
+	 * @param integer $delta
271
+	 * @param integer $numPoints
272
+	 * @param boolean $firstTime
273
+	 * @return integer
274
+	 */
275
+	protected function adapt($delta, $numPoints, $firstTime)
276
+	{
277
+		$delta = (int) (
278
+			($firstTime)
279
+				? $delta / static::DAMP
280
+				: $delta / 2
281
+			);
282
+		$delta += (int) ($delta / $numPoints);
283
+
284
+		$k = 0;
285
+		while ($delta > ((static::BASE - static::TMIN) * static::TMAX) / 2) {
286
+			$delta = (int) ($delta / (static::BASE - static::TMIN));
287
+			$k = $k + static::BASE;
288
+		}
289
+		$k = $k + (int) (((static::BASE - static::TMIN + 1) * $delta) / ($delta + static::SKEW));
290
+
291
+		return $k;
292
+	}
293
+
294
+	/**
295
+	 * List code points for a given input
296
+	 *
297
+	 * @param string $input
298
+	 * @return array Multi-dimension array with basic, non-basic and aggregated code points
299
+	 */
300
+	protected function listCodePoints($input)
301
+	{
302
+		$codePoints = array(
303
+			'all'      => array(),
304
+			'basic'    => array(),
305
+			'nonBasic' => array(),
306
+		);
307
+
308
+		$length = mb_strlen($input, $this->encoding);
309
+		for ($i = 0; $i < $length; $i++) {
310
+			$char = mb_substr($input, $i, 1, $this->encoding);
311
+			$code = $this->charToCodePoint($char);
312
+			if ($code < 128) {
313
+				$codePoints['all'][] = $codePoints['basic'][] = $code;
314
+			} else {
315
+				$codePoints['all'][] = $codePoints['nonBasic'][] = $code;
316
+			}
317
+		}
318
+
319
+		return $codePoints;
320
+	}
321
+
322
+	/**
323
+	 * Convert a single or multi-byte character to its code point
324
+	 *
325
+	 * @param string $char
326
+	 * @return integer
327
+	 */
328
+	protected function charToCodePoint($char)
329
+	{
330
+		$code = ord($char[0]);
331
+		if ($code < 128) {
332
+			return $code;
333
+		} elseif ($code < 224) {
334
+			return (($code - 192) * 64) + (ord($char[1]) - 128);
335
+		} elseif ($code < 240) {
336
+			return (($code - 224) * 4096) + ((ord($char[1]) - 128) * 64) + (ord($char[2]) - 128);
337
+		} else {
338
+			return (($code - 240) * 262144) + ((ord($char[1]) - 128) * 4096) + ((ord($char[2]) - 128) * 64) + (ord($char[3]) - 128);
339
+		}
340
+	}
341
+
342
+	/**
343
+	 * Convert a code point to its single or multi-byte character
344
+	 *
345
+	 * @param integer $code
346
+	 * @return string
347
+	 */
348
+	protected function codePointToChar($code)
349
+	{
350
+		if ($code <= 0x7F) {
351
+			return chr($code);
352
+		} elseif ($code <= 0x7FF) {
353
+			return chr(($code >> 6) + 192) . chr(($code & 63) + 128);
354
+		} elseif ($code <= 0xFFFF) {
355
+			return chr(($code >> 12) + 224) . chr((($code >> 6) & 63) + 128) . chr(($code & 63) + 128);
356
+		} else {
357
+			return chr(($code >> 18) + 240) . chr((($code >> 12) & 63) + 128) . chr((($code >> 6) & 63) + 128) . chr(($code & 63) + 128);
358
+		}
359
+	}
360 360
 }
Please login to merge, or discard this patch.
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -136,7 +136,7 @@  discard block
 block discarded – undo
136 136
                 }
137 137
                 if ($c === $n) {
138 138
                     $q = $delta;
139
-                    for ($k = static::BASE;; $k += static::BASE) {
139
+                    for ($k = static::BASE; ; $k += static::BASE) {
140 140
                         $t = $this->calculateThreshold($k, $bias);
141 141
                         if ($q < $t) {
142 142
                             break;
@@ -224,7 +224,7 @@  discard block
 block discarded – undo
224 224
             $oldi = $i;
225 225
             $w = 1;
226 226
 
227
-            for ($k = static::BASE;; $k += static::BASE) {
227
+            for ($k = static::BASE; ; $k += static::BASE) {
228 228
                 $digit = static::$decodeTable[$input[$pos++]];
229 229
                 $i = $i + ($digit * $w);
230 230
                 $t = $this->calculateThreshold($k, $bias);
Please login to merge, or discard this patch.