Completed
Push — release-2.1 ( d322d4...5b3f1b )
by Colin
08:15
created
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>';
@@ -355,9 +378,10 @@  discard block
 block discarded – undo
355 378
 					<a href="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=', ($context['can_issue_warning'] && !$context['user']['is_owner'] ? 'issuewarning' : 'viewwarning'), '">', $context['member']['warning'], '%</a>';
356 379
 
357 380
 		// Can we provide information on what this means?
358
-		if (!empty($context['warning_status']))
359
-			echo '
381
+		if (!empty($context['warning_status'])) {
382
+					echo '
360 383
 					<span class="smalltext">(', $context['warning_status'], ')</span>';
384
+		}
361 385
 
362 386
 		echo '
363 387
 				</dd>';
@@ -367,11 +391,12 @@  discard block
 block discarded – undo
367 391
 	if (!empty($context['activate_message']) || !empty($context['member']['bans']))
368 392
 	{
369 393
 		// If the person looking at the summary has permission, and the account isn't activated, give the viewer the ability to do it themselves.
370
-		if (!empty($context['activate_message']))
371
-			echo '
394
+		if (!empty($context['activate_message'])) {
395
+					echo '
372 396
 				<dt class="clear">
373 397
 					<span class="alert">', $context['activate_message'], '</span> (<a href="', $context['activate_link'], '"', ($context['activate_type'] == 4 ? ' class="you_sure" data-confirm="' . $txt['profileConfirm'] . '"' : ''), '>', $context['activate_link_text'], '</a>)
374 398
 				</dt>';
399
+		}
375 400
 
376 401
 		// If the current member is banned, show a message and possibly a link to the ban.
377 402
 		if (!empty($context['member']['bans']))
@@ -383,10 +408,11 @@  discard block
 block discarded – undo
383 408
 				<dt class="clear" id="ban_info" style="display: none;">
384 409
 					<strong>', $txt['user_banned_by_following'], ':</strong>';
385 410
 
386
-			foreach ($context['member']['bans'] as $ban)
387
-				echo '
411
+			foreach ($context['member']['bans'] as $ban) {
412
+							echo '
388 413
 					<br>
389 414
 					<span class="smalltext">', $ban['explanation'], '</span>';
415
+			}
390 416
 
391 417
 			echo '
392 418
 				</dt>';
@@ -400,30 +426,34 @@  discard block
 block discarded – undo
400 426
 	// If the person looking is allowed, they can check the members IP address and hostname.
401 427
 	if ($context['can_see_ip'])
402 428
 	{
403
-		if (!empty($context['member']['ip']))
404
-		echo '
429
+		if (!empty($context['member']['ip'])) {
430
+				echo '
405 431
 				<dt>', $txt['ip'], ': </dt>
406 432
 				<dd><a href="', $scripturl, '?action=profile;area=tracking;sa=ip;searchip=', $context['member']['ip'], ';u=', $context['member']['id'], '">', $context['member']['ip'], '</a></dd>';
433
+		}
407 434
 
408
-		if (empty($modSettings['disableHostnameLookup']) && !empty($context['member']['ip']))
409
-			echo '
435
+		if (empty($modSettings['disableHostnameLookup']) && !empty($context['member']['ip'])) {
436
+					echo '
410 437
 				<dt>', $txt['hostname'], ': </dt>
411 438
 				<dd>', $context['member']['hostname'], '</dd>';
439
+		}
412 440
 	}
413 441
 
414 442
 	echo '
415 443
 				<dt>', $txt['local_time'], ':</dt>
416 444
 				<dd>', $context['member']['local_time'], '</dd>';
417 445
 
418
-	if (!empty($modSettings['userLanguage']) && !empty($context['member']['language']))
419
-		echo '
446
+	if (!empty($modSettings['userLanguage']) && !empty($context['member']['language'])) {
447
+			echo '
420 448
 				<dt>', $txt['language'], ':</dt>
421 449
 				<dd>', $context['member']['language'], '</dd>';
450
+	}
422 451
 
423
-	if ($context['member']['show_last_login'])
424
-		echo '
452
+	if ($context['member']['show_last_login']) {
453
+			echo '
425 454
 				<dt>', $txt['lastLoggedIn'], ': </dt>
426 455
 				<dd>', $context['member']['last_login'], (!empty($context['member']['is_hidden']) ? ' (' . $txt['hidden'] . ')' : ''), '</dd>';
456
+	}
427 457
 
428 458
 	echo '
429 459
 			</dl>';
@@ -432,42 +462,47 @@  discard block
 block discarded – undo
432 462
 	if (!empty($context['print_custom_fields']['above_signature']))
433 463
 	{
434 464
 		$fields = '';
435
-		foreach ($context['print_custom_fields']['above_signature'] as $field)
436
-			if (!empty($field['output_html']))
465
+		foreach ($context['print_custom_fields']['above_signature'] as $field) {
466
+					if (!empty($field['output_html']))
437 467
 				$fields .= '
438 468
 					<li>' . $field['output_html'] . '</li>';
469
+		}
439 470
 
440
-		if (!empty($fields))
441
-			echo '
471
+		if (!empty($fields)) {
472
+					echo '
442 473
 			<div class="custom_fields_above_signature">
443 474
 				<ul class="nolist">', $fields, '
444 475
 				</ul>
445 476
 			</div>';
477
+		}
446 478
 	}
447 479
 
448 480
 	// Show the users signature.
449
-	if ($context['signature_enabled'] && !empty($context['member']['signature']))
450
-		echo '
481
+	if ($context['signature_enabled'] && !empty($context['member']['signature'])) {
482
+			echo '
451 483
 			<div class="signature">
452 484
 				<h5>', $txt['signature'], ':</h5>
453 485
 				', $context['member']['signature'], '
454 486
 			</div>';
487
+	}
455 488
 
456 489
 	// Are there any custom profile fields for below the signature?
457 490
 	if (!empty($context['print_custom_fields']['below_signature']))
458 491
 	{
459 492
 		$fields = '';
460
-		foreach ($context['print_custom_fields']['below_signature'] as $field)
461
-			if (!empty($field['output_html']))
493
+		foreach ($context['print_custom_fields']['below_signature'] as $field) {
494
+					if (!empty($field['output_html']))
462 495
 				$fields .=  '
463 496
 					<li>' . $field['output_html'] . '</li>';
497
+		}
464 498
 
465
-		if (!empty($fields))
466
-			echo '
499
+		if (!empty($fields)) {
500
+					echo '
467 501
 			<div class="custom_fields_below_signature">
468 502
 				<ul class="nolist">', $fields, '
469 503
 				</ul>
470 504
 			</div>';
505
+		}
471 506
 	}
472 507
 
473 508
 	echo '
@@ -509,62 +544,70 @@  discard block
 block discarded – undo
509 544
 			</div>
510 545
 			<div class="list_posts">';
511 546
 
512
-			if (!$post['approved'])
513
-				echo '
547
+			if (!$post['approved']) {
548
+							echo '
514 549
 				<div class="approve_post">
515 550
 					<em>', $txt['post_awaiting_approval'], '</em>
516 551
 				</div>';
552
+			}
517 553
 
518 554
 			echo '
519 555
 				', $post['body'], '
520 556
 			</div>';
521 557
 
522
-			if ($post['can_reply'] || $post['can_quote'] || $post['can_delete'])
523
-				echo '
558
+			if ($post['can_reply'] || $post['can_quote'] || $post['can_delete']) {
559
+							echo '
524 560
 			<div class="floatright">
525 561
 				<ul class="quickbuttons">';
562
+			}
526 563
 
527 564
 			// If they *can* reply?
528
-			if ($post['can_reply'])
529
-				echo '
565
+			if ($post['can_reply']) {
566
+							echo '
530 567
 					<li><a href="', $scripturl, '?action=post;topic=', $post['topic'], '.', $post['start'], '"><span class="generic_icons reply_button"></span>', $txt['reply'], '</a></li>';
568
+			}
531 569
 
532 570
 			// If they *can* quote?
533
-			if ($post['can_quote'])
534
-				echo '
571
+			if ($post['can_quote']) {
572
+							echo '
535 573
 					<li><a href="', $scripturl . '?action=post;topic=', $post['topic'], '.', $post['start'], ';quote=', $post['id'], '"><span class="generic_icons quote"></span>', $txt['quote_action'], '</a></li>';
574
+			}
536 575
 
537 576
 			// How about... even... remove it entirely?!
538
-			if ($post['can_delete'])
539
-				echo '
577
+			if ($post['can_delete']) {
578
+							echo '
540 579
 					<li><a href="', $scripturl, '?action=deletemsg;msg=', $post['id'], ';topic=', $post['topic'], ';profile;u=', $context['member']['id'], ';start=', $context['start'], ';', $context['session_var'], '=', $context['session_id'], '" data-confirm="', $txt['remove_message'], '" class="you_sure"><span class="generic_icons remove_button"></span>', $txt['remove'], '</a></li>';
580
+			}
541 581
 
542
-			if ($post['can_reply'] || $post['can_quote'] || $post['can_delete'])
543
-				echo '
582
+			if ($post['can_reply'] || $post['can_quote'] || $post['can_delete']) {
583
+							echo '
544 584
 				</ul>
545 585
 			</div><!-- .floatright -->';
586
+			}
546 587
 
547 588
 			echo '
548 589
 		</div><!-- $post[css_class] -->';
549 590
 		}
591
+	} else {
592
+			template_show_list('attachments');
550 593
 	}
551
-	else
552
-		template_show_list('attachments');
553 594
 
554 595
 	// No posts? Just end with a informative message.
555
-	if ((isset($context['attachments']) && empty($context['attachments'])) || (!isset($context['attachments']) && empty($context['posts'])))
556
-		echo '
596
+	if ((isset($context['attachments']) && empty($context['attachments'])) || (!isset($context['attachments']) && empty($context['posts']))) {
597
+			echo '
557 598
 		<div class="windowbg2">
558 599
 			', isset($context['attachments']) ? $txt['show_attachments_none'] : ($context['is_topics'] ? $txt['show_topics_none'] : $txt['show_posts_none']), '
559 600
 		</div>';
601
+	}
560 602
 
561 603
 	// Show more page numbers.
562
-	if (!empty($context['page_index']))
563
-		echo '
604
+	if (!empty($context['page_index'])) {
605
+			echo '
564 606
 		<div class="pagesection">
565 607
 			<div class="pagelinks">', $context['page_index'], '</div>
566 608
 		</div>';
567
-}
609
+	}
610
+	}
568 611
 
569 612
 /**
570 613
  * Template for showing alerts within the alerts popup
@@ -574,11 +617,12 @@  discard block
 block discarded – undo
574 617
 	global $context, $txt, $scripturl;
575 618
 
576 619
 	// Do we have an update message?
577
-	if (!empty($context['update_message']))
578
-		echo '
620
+	if (!empty($context['update_message'])) {
621
+			echo '
579 622
 		<div class="infobox">
580 623
 			', $context['update_message'], '
581 624
 		</div>';
625
+	}
582 626
 
583 627
 	echo '
584 628
 		<div class="cat_bar">
@@ -587,18 +631,18 @@  discard block
 block discarded – undo
587 631
 			</h3>
588 632
 		</div>';
589 633
 
590
-	if (empty($context['alerts']))
591
-		echo '
634
+	if (empty($context['alerts'])) {
635
+			echo '
592 636
 		<div class="information">
593 637
 			', $txt['alerts_none'], '
594 638
 		</div>';
595
-
596
-	else
639
+	} else
597 640
 	{
598 641
 		// Start the form if checkboxes are in use
599
-		if ($context['showCheckboxes'])
600
-			echo '
642
+		if ($context['showCheckboxes']) {
643
+					echo '
601 644
 		<form action="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=showalerts;save" method="post" accept-charset="', $context['character_set'], '" id="mark_all">';
645
+		}
602 646
 
603 647
 		echo '
604 648
 			<table id="alerts" class="table_grid">';
@@ -614,9 +658,10 @@  discard block
 block discarded – undo
614 658
 							<li><a href="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=showalerts;do=remove;aid=', $id, ';', $context['session_var'], '=', $context['session_id'], '" class="you_sure"><span class="generic_icons remove_button"></span>', $txt['delete'], '</a></li>
615 659
 							<li><a href="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=showalerts;do=', ($alert['is_read'] != 0 ? 'unread' : 'read'), ';aid=', $id, ';', $context['session_var'], '=', $context['session_id'], '"><span class="generic_icons ', $alert['is_read'] != 0 ? 'unread_button' : 'read_button', '"></span>', ($alert['is_read'] != 0 ? $txt['mark_unread'] : $txt['mark_read_short']), '</a></li>';
616 660
 
617
-					if ($context['showCheckboxes'])
618
-						echo '
661
+					if ($context['showCheckboxes']) {
662
+											echo '
619 663
 							<li><input type="checkbox" name="mark[', $id, ']" value="', $id, '"></li>';
664
+					}
620 665
 
621 666
 			echo '
622 667
 						</ul>
@@ -631,8 +676,8 @@  discard block
 block discarded – undo
631 676
 					', $context['pagination'], '
632 677
 				</div>';
633 678
 
634
-		if ($context['showCheckboxes'])
635
-			echo '
679
+		if ($context['showCheckboxes']) {
680
+					echo '
636 681
 				<div class="floatright">
637 682
 					', $txt['check_all'], ': <input type="checkbox" name="select_all" id="select_all">
638 683
 					<select name="mark_as">
@@ -643,14 +688,16 @@  discard block
 block discarded – undo
643 688
 					<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
644 689
 					<input type="submit" name="req" value="', $txt['quick_mod_go'], '" class="button you_sure">
645 690
 				</div>';
691
+		}
646 692
 
647 693
 	echo '
648 694
 			</div>';
649 695
 
650
-	if ($context['showCheckboxes'])
651
-		echo '
696
+	if ($context['showCheckboxes']) {
697
+			echo '
652 698
 		</form>';
653 699
 	}
700
+	}
654 701
 }
655 702
 
656 703
 /**
@@ -671,12 +718,12 @@  discard block
 block discarded – undo
671 718
 		</div>' : '';
672 719
 
673 720
 	// No drafts? Just show an informative message.
674
-	if (empty($context['drafts']))
675
-		echo '
721
+	if (empty($context['drafts'])) {
722
+			echo '
676 723
 		<div class="windowbg2 centertext">
677 724
 			', $txt['draft_none'], '
678 725
 		</div>';
679
-	else
726
+	} else
680 727
 	{
681 728
 		// For every draft to be displayed, give it its own div, and show the important details of the draft.
682 729
 		foreach ($context['drafts'] as $draft)
@@ -688,13 +735,15 @@  discard block
 block discarded – undo
688 735
 				<h5>
689 736
 					<strong><a href="', $scripturl, '?board=', $draft['board']['id'], '.0">', $draft['board']['name'], '</a> / ', $draft['topic']['link'], '</strong> &nbsp; &nbsp;';
690 737
 
691
-			if (!empty($draft['sticky']))
692
-				echo '
738
+			if (!empty($draft['sticky'])) {
739
+							echo '
693 740
 					<span class="generic_icons sticky" title="', $txt['sticky_topic'], '"></span>';
741
+			}
694 742
 
695
-			if (!empty($draft['locked']))
696
-				echo '
743
+			if (!empty($draft['locked'])) {
744
+							echo '
697 745
 					<span class="generic_icons lock" title="', $txt['locked_topic'], '"></span>';
746
+			}
698 747
 
699 748
 			echo '
700 749
 				</h5>
@@ -727,13 +776,13 @@  discard block
 block discarded – undo
727 776
 {
728 777
 	global $context, $scripturl, $txt;
729 778
 
730
-	if (!empty($context['saved_successful']))
731
-		echo '
779
+	if (!empty($context['saved_successful'])) {
780
+			echo '
732 781
 	<div class="infobox">', $context['user']['is_owner'] ? $txt['profile_updated_own'] : sprintf($txt['profile_updated_else'], $context['member']['name']), '</div>';
733
-
734
-	elseif (!empty($context['saved_failed']))
735
-		echo '
782
+	} elseif (!empty($context['saved_failed'])) {
783
+			echo '
736 784
 	<div class="errorbox">', $context['saved_failed'], '</div>';
785
+	}
737 786
 
738 787
 	echo '
739 788
 	<div id="edit_buddies">
@@ -748,14 +797,16 @@  discard block
 block discarded – undo
748 797
 					<th scope="col" class="quarter_table">', $txt['name'], '</th>
749 798
 					<th scope="col">', $txt['status'], '</th>';
750 799
 
751
-	if (allowedTo('moderate_forum'))
752
-		echo '
800
+	if (allowedTo('moderate_forum')) {
801
+			echo '
753 802
 					<th scope="col">', $txt['email'], '</th>';
803
+	}
754 804
 
755
-	if (!empty($context['custom_pf']))
756
-		foreach ($context['custom_pf'] as $column)
805
+	if (!empty($context['custom_pf'])) {
806
+			foreach ($context['custom_pf'] as $column)
757 807
 				echo '
758 808
 					<th scope="col">', $column['label'], '</th>';
809
+	}
759 810
 
760 811
 	echo '
761 812
 					<th scope="col">', $txt['remove'], '</th>
@@ -764,13 +815,14 @@  discard block
 block discarded – undo
764 815
 			<tbody>';
765 816
 
766 817
 	// If they don't have any buddies don't list them!
767
-	if (empty($context['buddies']))
768
-		echo '
818
+	if (empty($context['buddies'])) {
819
+			echo '
769 820
 				<tr class="windowbg">
770 821
 					<td colspan="', allowedTo('moderate_forum') ? '10' : '9', '">
771 822
 						<strong>', $txt['no_buddies'], '</strong>
772 823
 					</td>
773 824
 				</tr>';
825
+	}
774 826
 
775 827
 		// Now loop through each buddy showing info on each.
776 828
 	else
@@ -784,17 +836,19 @@  discard block
 block discarded – undo
784 836
 						<a href="', $buddy['online']['href'], '"><span class="' . ($buddy['online']['is_online'] == 1 ? 'on' : 'off') . '" title="' . $buddy['online']['text'] . '"></span></a>
785 837
 					</td>';
786 838
 
787
-			if ($buddy['show_email'])
788
-				echo '
839
+			if ($buddy['show_email']) {
840
+							echo '
789 841
 					<td>
790 842
 						<a href="mailto:' . $buddy['email'] . '" rel="nofollow"><span class="generic_icons mail icon" title="' . $txt['email'] . ' ' . $buddy['name'] . '"></span></a>
791 843
 					</td>';
844
+			}
792 845
 
793 846
 			// Show the custom profile fields for this user.
794
-			if (!empty($context['custom_pf']))
795
-				foreach ($context['custom_pf'] as $key => $column)
847
+			if (!empty($context['custom_pf'])) {
848
+							foreach ($context['custom_pf'] as $key => $column)
796 849
 					echo '
797 850
 					<td class="lefttext">', $buddy['options'][$key], '</td>';
851
+			}
798 852
 
799 853
 			echo '
800 854
 					<td>
@@ -827,9 +881,10 @@  discard block
 block discarded – undo
827 881
 			</dl>
828 882
 		</div>';
829 883
 
830
-	if (!empty($context['token_check']))
831
-		echo '
884
+	if (!empty($context['token_check'])) {
885
+			echo '
832 886
 		<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
887
+	}
833 888
 
834 889
 	echo '
835 890
 		<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -855,13 +910,13 @@  discard block
 block discarded – undo
855 910
 {
856 911
 	global $context, $scripturl, $txt;
857 912
 
858
-	if (!empty($context['saved_successful']))
859
-		echo '
913
+	if (!empty($context['saved_successful'])) {
914
+			echo '
860 915
 	<div class="infobox">', $context['user']['is_owner'] ? $txt['profile_updated_own'] : sprintf($txt['profile_updated_else'], $context['member']['name']), '</div>';
861
-
862
-	elseif (!empty($context['saved_failed']))
863
-		echo '
916
+	} elseif (!empty($context['saved_failed'])) {
917
+			echo '
864 918
 	<div class="errorbox">', $context['saved_failed'], '</div>';
919
+	}
865 920
 
866 921
 	echo '
867 922
 	<div id="edit_buddies">
@@ -876,9 +931,10 @@  discard block
 block discarded – undo
876 931
 					<th scope="col" class="quarter_table">', $txt['name'], '</th>
877 932
 					<th scope="col">', $txt['status'], '</th>';
878 933
 
879
-	if (allowedTo('moderate_forum'))
880
-		echo '
934
+	if (allowedTo('moderate_forum')) {
935
+			echo '
881 936
 					<th scope="col">', $txt['email'], '</th>';
937
+	}
882 938
 
883 939
 	echo '
884 940
 					<th scope="col">', $txt['ignore_remove'], '</th>
@@ -887,13 +943,14 @@  discard block
 block discarded – undo
887 943
 			<tbody>';
888 944
 
889 945
 	// If they don't have anyone on their ignore list, don't list it!
890
-	if (empty($context['ignore_list']))
891
-		echo '
946
+	if (empty($context['ignore_list'])) {
947
+			echo '
892 948
 				<tr class="windowbg">
893 949
 					<td colspan="', allowedTo('moderate_forum') ? '4' : '3', '">
894 950
 						<strong>', $txt['no_ignore'], '</strong>
895 951
 					</td>
896 952
 				</tr>';
953
+	}
897 954
 
898 955
 	// Now loop through each buddy showing info on each.
899 956
 	foreach ($context['ignore_list'] as $member)
@@ -905,11 +962,12 @@  discard block
 block discarded – undo
905 962
 						<a href="', $member['online']['href'], '"><span class="' . ($member['online']['is_online'] == 1 ? 'on' : 'off') . '" title="' . $member['online']['text'] . '"></span></a>
906 963
 					</td>';
907 964
 
908
-		if ($member['show_email'])
909
-			echo '
965
+		if ($member['show_email']) {
966
+					echo '
910 967
 					<td>
911 968
 						<a href="mailto:' . $member['email'] . '" rel="nofollow"><span class="generic_icons mail icon" title="' . $txt['email'] . ' ' . $member['name'] . '"></span></a>
912 969
 					</td>';
970
+		}
913 971
 		echo '
914 972
 					<td>
915 973
 						<a href="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=lists;sa=ignore;remove=', $member['id'], ';', $context['session_var'], '=', $context['session_id'], '"><span class="generic_icons delete" title="', $txt['ignore_remove'], '"></span></a>
@@ -939,9 +997,10 @@  discard block
 block discarded – undo
939 997
 			</dl>
940 998
 		</div>';
941 999
 
942
-	if (!empty($context['token_check']))
943
-		echo '
1000
+	if (!empty($context['token_check'])) {
1001
+			echo '
944 1002
 		<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
1003
+	}
945 1004
 
946 1005
 	echo '
947 1006
 		<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -987,9 +1046,10 @@  discard block
 block discarded – undo
987 1046
 					<a href="', $scripturl, '?action=profile;area=tracking;sa=ip;searchip=', $context['last_ip'], ';u=', $context['member']['id'], '">', $context['last_ip'], '</a>';
988 1047
 
989 1048
 	// Second address detected?
990
-	if (!empty($context['last_ip2']))
991
-		echo '
1049
+	if (!empty($context['last_ip2'])) {
1050
+			echo '
992 1051
 					, <a href="', $scripturl, '?action=profile;area=tracking;sa=ip;searchip=', $context['last_ip2'], ';u=', $context['member']['id'], '">', $context['last_ip2'], '</a>';
1052
+	}
993 1053
 
994 1054
 	echo '
995 1055
 				</dd>';
@@ -1055,9 +1115,10 @@  discard block
 block discarded – undo
1055 1115
 		</div>
1056 1116
 		<div class="windowbg2 noup">';
1057 1117
 
1058
-		foreach ($context['whois_servers'] as $server)
1059
-			echo '
1118
+		foreach ($context['whois_servers'] as $server) {
1119
+					echo '
1060 1120
 			<a href="', $server['url'], '" target="_blank" rel="noopener"', '>', $server['name'], '</a><br>';
1121
+		}
1061 1122
 		echo '
1062 1123
 		</div>
1063 1124
 		<br>';
@@ -1069,13 +1130,12 @@  discard block
 block discarded – undo
1069 1130
 			<h3 class="catbg">', $txt['members_from_ip'], ' ', $context['ip'], '</h3>
1070 1131
 		</div>';
1071 1132
 
1072
-	if (empty($context['ips']))
1073
-		echo '
1133
+	if (empty($context['ips'])) {
1134
+			echo '
1074 1135
 		<p class="windowbg2 description">
1075 1136
 			<em>', $txt['no_members_from_ip'], '</em>
1076 1137
 		</p>';
1077
-
1078
-	else
1138
+	} else
1079 1139
 	{
1080 1140
 		echo '
1081 1141
 		<table class="table_grid">
@@ -1088,12 +1148,13 @@  discard block
 block discarded – undo
1088 1148
 			<tbody>';
1089 1149
 
1090 1150
 		// Loop through each of the members and display them.
1091
-		foreach ($context['ips'] as $ip => $memberlist)
1092
-			echo '
1151
+		foreach ($context['ips'] as $ip => $memberlist) {
1152
+					echo '
1093 1153
 				<tr class="windowbg">
1094 1154
 					<td><a href="', $context['base_url'], ';searchip=', $ip, '">', $ip, '</a></td>
1095 1155
 					<td>', implode(', ', $memberlist), '</td>
1096 1156
 				</tr>';
1157
+		}
1097 1158
 
1098 1159
 		echo '
1099 1160
 			</tbody>
@@ -1135,11 +1196,10 @@  discard block
 block discarded – undo
1135 1196
 			</h3>
1136 1197
 		</div>';
1137 1198
 
1138
-	if ($context['member']['has_all_permissions'])
1139
-		echo '
1199
+	if ($context['member']['has_all_permissions']) {
1200
+			echo '
1140 1201
 		<div class="information">', $txt['showPermissions_all'], '</div>';
1141
-
1142
-	else
1202
+	} else
1143 1203
 	{
1144 1204
 		echo '
1145 1205
 		<div class="information">',$txt['showPermissions_help'], '</div>
@@ -1154,9 +1214,10 @@  discard block
 block discarded – undo
1154 1214
 			<div class="windowbg smalltext">
1155 1215
 				', $txt['showPermissions_restricted_boards_desc'], ':<br>';
1156 1216
 
1157
-			foreach ($context['no_access_boards'] as $no_access_board)
1158
-				echo '
1217
+			foreach ($context['no_access_boards'] as $no_access_board) {
1218
+							echo '
1159 1219
 				<a href="', $scripturl, '?board=', $no_access_board['id'], '.0">', $no_access_board['name'], '</a>', $no_access_board['is_last'] ? '' : ', ';
1220
+			}
1160 1221
 			echo '
1161 1222
 			</div>';
1162 1223
 		}
@@ -1188,12 +1249,13 @@  discard block
 block discarded – undo
1188 1249
 							</td>
1189 1250
 							<td class="smalltext">';
1190 1251
 
1191
-				if ($permission['is_denied'])
1192
-					echo '
1252
+				if ($permission['is_denied']) {
1253
+									echo '
1193 1254
 								<span class="alert">', $txt['showPermissions_denied'], ': ', implode(', ', $permission['groups']['denied']), '</span>';
1194
-				else
1195
-					echo '
1255
+				} else {
1256
+									echo '
1196 1257
 								', $txt['showPermissions_given'], ': ', implode(', ', $permission['groups']['allowed']);
1258
+				}
1197 1259
 
1198 1260
 				echo '
1199 1261
 							</td>
@@ -1204,10 +1266,10 @@  discard block
 block discarded – undo
1204 1266
 				</table>
1205 1267
 			</div><!-- .tborder -->
1206 1268
 			<br>';
1207
-		}
1208
-		else
1209
-			echo '
1269
+		} else {
1270
+					echo '
1210 1271
 			<p class="windowbg2">', $txt['showPermissions_none_general'], '</p>';
1272
+		}
1211 1273
 
1212 1274
 		// Board permission section.
1213 1275
 		echo '
@@ -1218,14 +1280,16 @@  discard block
 block discarded – undo
1218 1280
 						<select name="board" onchange="if (this.options[this.selectedIndex].value) this.form.submit();">
1219 1281
 							<option value="0"', $context['board'] == 0 ? ' selected' : '', '>', $txt['showPermissions_global'], '</option>';
1220 1282
 
1221
-		if (!empty($context['boards']))
1222
-			echo '
1283
+		if (!empty($context['boards'])) {
1284
+					echo '
1223 1285
 							<option value="" disabled>---------------------------</option>';
1286
+		}
1224 1287
 
1225 1288
 		// Fill the box with any local permission boards.
1226
-		foreach ($context['boards'] as $board)
1227
-			echo '
1289
+		foreach ($context['boards'] as $board) {
1290
+					echo '
1228 1291
 							<option value="', $board['id'], '"', $board['selected'] ? ' selected' : '', '>', $board['name'], ' (', $board['profile_name'], ')</option>';
1292
+		}
1229 1293
 
1230 1294
 		echo '
1231 1295
 						</select>
@@ -1254,13 +1318,13 @@  discard block
 block discarded – undo
1254 1318
 						</td>
1255 1319
 						<td class="smalltext">';
1256 1320
 
1257
-				if ($permission['is_denied'])
1258
-					echo '
1321
+				if ($permission['is_denied']) {
1322
+									echo '
1259 1323
 							<span class="alert">', $txt['showPermissions_denied'], ': ', implode(', ', $permission['groups']['denied']), '</span>';
1260
-
1261
-				else
1262
-					echo '
1324
+				} else {
1325
+									echo '
1263 1326
 							', $txt['showPermissions_given'], ': ', implode(', ', $permission['groups']['allowed']);
1327
+				}
1264 1328
 
1265 1329
 				echo '
1266 1330
 						</td>
@@ -1269,10 +1333,10 @@  discard block
 block discarded – undo
1269 1333
 			echo '
1270 1334
 				</tbody>
1271 1335
 			</table>';
1272
-		}
1273
-		else
1274
-			echo '
1336
+		} else {
1337
+					echo '
1275 1338
 			<p class="windowbg2">', $txt['showPermissions_none_board'], '</p>';
1339
+		}
1276 1340
 	echo '
1277 1341
 		</div><!-- #permissions -->';
1278 1342
 	}
@@ -1313,9 +1377,10 @@  discard block
 block discarded – undo
1313 1377
 			</div>';
1314 1378
 
1315 1379
 	// If they haven't post at all, don't draw the graph.
1316
-	if (empty($context['posts_by_time']))
1317
-		echo '
1380
+	if (empty($context['posts_by_time'])) {
1381
+			echo '
1318 1382
 			<p class="centertext padding">', $txt['statPanel_noPosts'], '</p>';
1383
+	}
1319 1384
 
1320 1385
 	// Otherwise do!
1321 1386
 	else
@@ -1324,8 +1389,8 @@  discard block
 block discarded – undo
1324 1389
 			<ul class="activity_stats flow_hidden">';
1325 1390
 
1326 1391
 		// The labels.
1327
-		foreach ($context['posts_by_time'] as $time_of_day)
1328
-			echo '
1392
+		foreach ($context['posts_by_time'] as $time_of_day) {
1393
+					echo '
1329 1394
 				<li', $time_of_day['is_last'] ? ' class="last"' : '', '>
1330 1395
 					<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']), '">
1331 1396
 						<div style="height: ', (int) $time_of_day['relative_percent'], 'px;">
@@ -1334,6 +1399,7 @@  discard block
 block discarded – undo
1334 1399
 					</div>
1335 1400
 					<span class="stats_hour">', $time_of_day['hour_format'], '</span>
1336 1401
 				</li>';
1402
+		}
1337 1403
 
1338 1404
 		echo '
1339 1405
 			</ul>';
@@ -1352,11 +1418,10 @@  discard block
 block discarded – undo
1352 1418
 					</h3>
1353 1419
 				</div>';
1354 1420
 
1355
-	if (empty($context['popular_boards']))
1356
-		echo '
1421
+	if (empty($context['popular_boards'])) {
1422
+			echo '
1357 1423
 				<p class="centertext padding">', $txt['statPanel_noPosts'], '</p>';
1358
-
1359
-	else
1424
+	} else
1360 1425
 	{
1361 1426
 		echo '
1362 1427
 				<dl class="stats">';
@@ -1386,10 +1451,10 @@  discard block
 block discarded – undo
1386 1451
 					</h3>
1387 1452
 				</div>';
1388 1453
 
1389
-	if (empty($context['board_activity']))
1390
-		echo '
1454
+	if (empty($context['board_activity'])) {
1455
+			echo '
1391 1456
 				<p class="centertext padding">', $txt['statPanel_noPosts'], '</p>';
1392
-	else
1457
+	} else
1393 1458
 	{
1394 1459
 		echo '
1395 1460
 				<dl class="stats">';
@@ -1440,90 +1505,97 @@  discard block
 block discarded – undo
1440 1505
 				<h3 class="catbg profile_hd">';
1441 1506
 
1442 1507
 		// Don't say "Profile" if this isn't the profile...
1443
-		if (!empty($context['profile_header_text']))
1444
-			echo '
1508
+		if (!empty($context['profile_header_text'])) {
1509
+					echo '
1445 1510
 					', $context['profile_header_text'];
1446
-		else
1447
-			echo '
1511
+		} else {
1512
+					echo '
1448 1513
 					', $txt['profile'];
1514
+		}
1449 1515
 
1450 1516
 		echo '
1451 1517
 				</h3>
1452 1518
 			</div>';
1453 1519
 
1454 1520
 	// Have we some description?
1455
-	if ($context['page_desc'])
1456
-		echo '
1521
+	if ($context['page_desc']) {
1522
+			echo '
1457 1523
 			<p class="information">', $context['page_desc'], '</p>';
1524
+	}
1458 1525
 
1459 1526
 	echo '
1460 1527
 			<div class="roundframe">';
1461 1528
 
1462 1529
 	// Any bits at the start?
1463
-	if (!empty($context['profile_prehtml']))
1464
-		echo '
1530
+	if (!empty($context['profile_prehtml'])) {
1531
+			echo '
1465 1532
 				<div>', $context['profile_prehtml'], '</div>';
1533
+	}
1466 1534
 
1467
-	if (!empty($context['profile_fields']))
1468
-		echo '
1535
+	if (!empty($context['profile_fields'])) {
1536
+			echo '
1469 1537
 				<dl class="settings">';
1538
+	}
1470 1539
 
1471 1540
 	// Start the big old loop 'of love.
1472 1541
 	$lastItem = 'hr';
1473 1542
 	foreach ($context['profile_fields'] as $key => $field)
1474 1543
 	{
1475 1544
 		// We add a little hack to be sure we never get more than one hr in a row!
1476
-		if ($lastItem == 'hr' && $field['type'] == 'hr')
1477
-			continue;
1545
+		if ($lastItem == 'hr' && $field['type'] == 'hr') {
1546
+					continue;
1547
+		}
1478 1548
 
1479 1549
 		$lastItem = $field['type'];
1480
-		if ($field['type'] == 'hr')
1481
-			echo '
1550
+		if ($field['type'] == 'hr') {
1551
+					echo '
1482 1552
 				</dl>
1483 1553
 				<hr>
1484 1554
 				<dl class="settings">';
1485
-
1486
-		elseif ($field['type'] == 'callback')
1555
+		} elseif ($field['type'] == 'callback')
1487 1556
 		{
1488 1557
 			if (isset($field['callback_func']) && function_exists('template_profile_' . $field['callback_func']))
1489 1558
 			{
1490 1559
 				$callback_func = 'template_profile_' . $field['callback_func'];
1491 1560
 				$callback_func();
1492 1561
 			}
1493
-		}
1494
-		else
1562
+		} else
1495 1563
 		{
1496 1564
 			echo '
1497 1565
 					<dt>
1498 1566
 						<strong', !empty($field['is_error']) ? ' class="error"' : '', '>', $field['type'] !== 'label' ? '<label for="' . $key . '">' : '', $field['label'], $field['type'] !== 'label' ? '</label>' : '', '</strong>';
1499 1567
 
1500 1568
 			// Does it have any subtext to show?
1501
-			if (!empty($field['subtext']))
1502
-				echo '
1569
+			if (!empty($field['subtext'])) {
1570
+							echo '
1503 1571
 						<br>
1504 1572
 						<span class="smalltext">', $field['subtext'], '</span>';
1573
+			}
1505 1574
 
1506 1575
 			echo '
1507 1576
 					</dt>
1508 1577
 					<dd>';
1509 1578
 
1510 1579
 			// Want to put something infront of the box?
1511
-			if (!empty($field['preinput']))
1512
-				echo '
1580
+			if (!empty($field['preinput'])) {
1581
+							echo '
1513 1582
 						', $field['preinput'];
1583
+			}
1514 1584
 
1515 1585
 			// What type of data are we showing?
1516
-			if ($field['type'] == 'label')
1517
-				echo '
1586
+			if ($field['type'] == 'label') {
1587
+							echo '
1518 1588
 						', $field['value'];
1589
+			}
1519 1590
 
1520 1591
 			// Maybe it's a text box - very likely!
1521 1592
 			elseif (in_array($field['type'], array('int', 'float', 'text', 'password', 'color', 'date', 'datetime', 'datetime-local', 'email', 'month', 'number', 'time', 'url')))
1522 1593
 			{
1523
-				if ($field['type'] == 'int' || $field['type'] == 'float')
1524
-					$type = 'number';
1525
-				else
1526
-					$type = $field['type'];
1594
+				if ($field['type'] == 'int' || $field['type'] == 'float') {
1595
+									$type = 'number';
1596
+				} else {
1597
+									$type = $field['type'];
1598
+				}
1527 1599
 				$step = $field['type'] == 'float' ? ' step="0.1"' : '';
1528 1600
 
1529 1601
 
@@ -1531,10 +1603,11 @@  discard block
 block discarded – undo
1531 1603
 						<input type="', $type, '" name="', $key, '" id="', $key, '" size="', empty($field['size']) ? 30 : $field['size'], '" value="', $field['value'], '" ', $field['input_attr'], ' ', $step, '>';
1532 1604
 			}
1533 1605
 			// You "checking" me out? ;)
1534
-			elseif ($field['type'] == 'check')
1535
-				echo '
1606
+			elseif ($field['type'] == 'check') {
1607
+							echo '
1536 1608
 						<input type="hidden" name="', $key, '" value="0">
1537 1609
 						<input type="checkbox" name="', $key, '" id="', $key, '"', !empty($field['value']) ? ' checked' : '', ' value="1" ', $field['input_attr'], '>';
1610
+			}
1538 1611
 
1539 1612
 			// Always fun - select boxes!
1540 1613
 			elseif ($field['type'] == 'select')
@@ -1545,14 +1618,16 @@  discard block
 block discarded – undo
1545 1618
 				if (isset($field['options']))
1546 1619
 				{
1547 1620
 					// Is this some code to generate the options?
1548
-					if (!is_array($field['options']))
1549
-						$field['options'] = $field['options']();
1621
+					if (!is_array($field['options'])) {
1622
+											$field['options'] = $field['options']();
1623
+					}
1550 1624
 
1551 1625
 					// Assuming we now have some!
1552
-					if (is_array($field['options']))
1553
-						foreach ($field['options'] as $value => $name)
1626
+					if (is_array($field['options'])) {
1627
+											foreach ($field['options'] as $value => $name)
1554 1628
 							echo '
1555 1629
 							<option', is_numeric($value) ? ' value="" disabled' : ' value="' . $value . '"', $value === $field['value'] ? ' selected' : '', '>', $name, '</option>';
1630
+					}
1556 1631
 				}
1557 1632
 
1558 1633
 				echo '
@@ -1560,31 +1635,34 @@  discard block
 block discarded – undo
1560 1635
 			}
1561 1636
 
1562 1637
 			// Something to end with?
1563
-			if (!empty($field['postinput']))
1564
-				echo '
1638
+			if (!empty($field['postinput'])) {
1639
+							echo '
1565 1640
 						', $field['postinput'];
1641
+			}
1566 1642
 
1567 1643
 			echo '
1568 1644
 					</dd>';
1569 1645
 		}
1570 1646
 	}
1571 1647
 
1572
-	if (!empty($context['profile_fields']))
1573
-		echo '
1648
+	if (!empty($context['profile_fields'])) {
1649
+			echo '
1574 1650
 				</dl>';
1651
+	}
1575 1652
 
1576 1653
 	// Are there any custom profile fields - if so print them!
1577 1654
 	if (!empty($context['custom_fields']))
1578 1655
 	{
1579
-		if ($lastItem != 'hr')
1580
-			echo '
1656
+		if ($lastItem != 'hr') {
1657
+					echo '
1581 1658
 				<hr>';
1659
+		}
1582 1660
 
1583 1661
 		echo '
1584 1662
 				<dl class="settings">';
1585 1663
 
1586
-		foreach ($context['custom_fields'] as $field)
1587
-			echo '
1664
+		foreach ($context['custom_fields'] as $field) {
1665
+					echo '
1588 1666
 					<dt>
1589 1667
 						<strong>', $field['name'], ': </strong><br>
1590 1668
 						<span class="smalltext">', $field['desc'], '</span>
@@ -1592,19 +1670,21 @@  discard block
 block discarded – undo
1592 1670
 					<dd>
1593 1671
 						', $field['input_html'], '
1594 1672
 					</dd>';
1673
+		}
1595 1674
 
1596 1675
 		echo '
1597 1676
 				</dl>';
1598 1677
 	}
1599 1678
 
1600 1679
 	// Any closing HTML?
1601
-	if (!empty($context['profile_posthtml']))
1602
-		echo '
1680
+	if (!empty($context['profile_posthtml'])) {
1681
+			echo '
1603 1682
 				<div>', $context['profile_posthtml'], '</div>';
1683
+	}
1604 1684
 
1605 1685
 	// Only show the password box if it's actually needed.
1606
-	if ($context['require_password'])
1607
-		echo '
1686
+	if ($context['require_password']) {
1687
+			echo '
1608 1688
 				<dl class="settings">
1609 1689
 					<dt>
1610 1690
 						<strong', isset($context['modify_error']['bad_password']) || isset($context['modify_error']['no_password']) ? ' class="error"' : '', '><label for="oldpasswrd">', $txt['current_password'], ': </label></strong><br>
@@ -1614,18 +1694,21 @@  discard block
 block discarded – undo
1614 1694
 						<input type="password" name="oldpasswrd" id="oldpasswrd" size="20">
1615 1695
 					</dd>
1616 1696
 				</dl>';
1697
+	}
1617 1698
 
1618 1699
 	// The button shouldn't say "Change profile" unless we're changing the profile...
1619
-	if (!empty($context['submit_button_text']))
1620
-		echo '
1700
+	if (!empty($context['submit_button_text'])) {
1701
+			echo '
1621 1702
 				<input type="submit" name="save" value="', $context['submit_button_text'], '" class="button floatright">';
1622
-	else
1623
-		echo '
1703
+	} else {
1704
+			echo '
1624 1705
 				<input type="submit" name="save" value="', $txt['change_profile'], '" class="button floatright">';
1706
+	}
1625 1707
 
1626
-	if (!empty($context['token_check']))
1627
-		echo '
1708
+	if (!empty($context['token_check'])) {
1709
+			echo '
1628 1710
 				<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
1711
+	}
1629 1712
 
1630 1713
 	echo '
1631 1714
 				<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -1635,10 +1718,11 @@  discard block
 block discarded – undo
1635 1718
 		</form>';
1636 1719
 
1637 1720
 	// Any final spellchecking stuff?
1638
-	if (!empty($context['show_spellchecking']))
1639
-		echo '
1721
+	if (!empty($context['show_spellchecking'])) {
1722
+			echo '
1640 1723
 		<form name="spell_form" id="spell_form" method="post" accept-charset="', $context['character_set'], '" target="spellWindow" action="', $scripturl, '?action=spellcheck"><input type="hidden" name="spellstring" value=""></form>';
1641
-}
1724
+	}
1725
+	}
1642 1726
 
1643 1727
 /**
1644 1728
  * Personal Message settings.
@@ -1675,10 +1759,11 @@  discard block
 block discarded – undo
1675 1759
 						<select name="pm_receive_from" id="pm_receive_from">
1676 1760
 							<option value="0"', empty($context['receive_from']) || (empty($modSettings['enable_buddylist']) && $context['receive_from'] < 3) ? ' selected' : '', '>', $txt['pm_receive_from_everyone'], '</option>';
1677 1761
 
1678
-	if (!empty($modSettings['enable_buddylist']))
1679
-		echo '
1762
+	if (!empty($modSettings['enable_buddylist'])) {
1763
+			echo '
1680 1764
 							<option value="1"', !empty($context['receive_from']) && $context['receive_from'] == 1 ? ' selected' : '', '>', $txt['pm_receive_from_ignore'], '</option>
1681 1765
 							<option value="2"', !empty($context['receive_from']) && $context['receive_from'] == 2 ? ' selected' : '', '>', $txt['pm_receive_from_buddies'], '</option>';
1766
+	}
1682 1767
 
1683 1768
 	echo '
1684 1769
 							<option value="3"', !empty($context['receive_from']) && $context['receive_from'] > 2 ? ' selected' : '', '>', $txt['pm_receive_from_admins'], '</option>
@@ -1721,11 +1806,12 @@  discard block
 block discarded – undo
1721 1806
 		if (empty($setting) || !is_array($setting))
1722 1807
 		{
1723 1808
 			// Insert a separator (unless this is the first item in the list)
1724
-			if ($i !== $first_option_key)
1725
-				echo '
1809
+			if ($i !== $first_option_key) {
1810
+							echo '
1726 1811
 				</dl>
1727 1812
 				<hr>
1728 1813
 				<dl class="settings">';
1814
+			}
1729 1815
 
1730 1816
 			// Should we give a name to this section?
1731 1817
 			if (is_string($setting) && !empty($setting))
@@ -1734,69 +1820,67 @@  discard block
 block discarded – undo
1734 1820
 				echo '
1735 1821
 					<dt><strong>' . $setting . '</strong></dt>
1736 1822
 					<dd></dd>';
1823
+			} else {
1824
+							$titled_section = false;
1737 1825
 			}
1738
-			else
1739
-				$titled_section = false;
1740 1826
 
1741 1827
 			continue;
1742 1828
 		}
1743 1829
 
1744 1830
 		// Is this disabled?
1745
-		if ($setting['id'] == 'calendar_start_day' && empty($modSettings['cal_enabled']))
1746
-			continue;
1747
-
1748
-		elseif (($setting['id'] == 'topics_per_page' || $setting['id'] == 'messages_per_page') && !empty($modSettings['disableCustomPerPage']))
1749
-			continue;
1750
-
1751
-		elseif ($setting['id'] == 'show_no_censored' && empty($modSettings['allow_no_censored']))
1752
-			continue;
1753
-
1754
-		elseif ($setting['id'] == 'posts_apply_ignore_list' && empty($modSettings['enable_buddylist']))
1755
-			continue;
1756
-
1757
-		elseif ($setting['id'] == 'wysiwyg_default' && !empty($modSettings['disable_wysiwyg']))
1758
-			continue;
1759
-
1760
-		elseif ($setting['id'] == 'drafts_autosave_enabled' && (empty($modSettings['drafts_autosave_enabled']) || (empty($modSettings['drafts_post_enabled']) && empty($modSettings['drafts_pm_enabled']))))
1761
-			continue;
1762
-
1763
-		elseif ($setting['id'] == 'drafts_show_saved_enabled' && (empty($modSettings['drafts_show_saved_enabled']) || (empty($modSettings['drafts_post_enabled']) && empty($modSettings['drafts_pm_enabled']))))
1764
-			continue;
1831
+		if ($setting['id'] == 'calendar_start_day' && empty($modSettings['cal_enabled'])) {
1832
+					continue;
1833
+		} elseif (($setting['id'] == 'topics_per_page' || $setting['id'] == 'messages_per_page') && !empty($modSettings['disableCustomPerPage'])) {
1834
+					continue;
1835
+		} elseif ($setting['id'] == 'show_no_censored' && empty($modSettings['allow_no_censored'])) {
1836
+					continue;
1837
+		} elseif ($setting['id'] == 'posts_apply_ignore_list' && empty($modSettings['enable_buddylist'])) {
1838
+					continue;
1839
+		} elseif ($setting['id'] == 'wysiwyg_default' && !empty($modSettings['disable_wysiwyg'])) {
1840
+					continue;
1841
+		} elseif ($setting['id'] == 'drafts_autosave_enabled' && (empty($modSettings['drafts_autosave_enabled']) || (empty($modSettings['drafts_post_enabled']) && empty($modSettings['drafts_pm_enabled'])))) {
1842
+					continue;
1843
+		} elseif ($setting['id'] == 'drafts_show_saved_enabled' && (empty($modSettings['drafts_show_saved_enabled']) || (empty($modSettings['drafts_post_enabled']) && empty($modSettings['drafts_pm_enabled'])))) {
1844
+					continue;
1845
+		}
1765 1846
 
1766 1847
 		// Some of these may not be set...  Set to defaults here
1767 1848
 		$opts = array('topics_per_page', 'messages_per_page', 'display_quick_mod');
1768
-		if (in_array($setting['id'], $opts) && !isset($context['member']['options'][$setting['id']]))
1769
-			$context['member']['options'][$setting['id']] = 0;
1770
-
1771
-		if (!isset($setting['type']) || $setting['type'] == 'bool')
1772
-			$setting['type'] = 'checkbox';
1773
-
1774
-		elseif ($setting['type'] == 'int' || $setting['type'] == 'integer')
1775
-			$setting['type'] = 'number';
1849
+		if (in_array($setting['id'], $opts) && !isset($context['member']['options'][$setting['id']])) {
1850
+					$context['member']['options'][$setting['id']] = 0;
1851
+		}
1776 1852
 
1777
-		elseif ($setting['type'] == 'string')
1778
-			$setting['type'] = 'text';
1853
+		if (!isset($setting['type']) || $setting['type'] == 'bool') {
1854
+					$setting['type'] = 'checkbox';
1855
+		} elseif ($setting['type'] == 'int' || $setting['type'] == 'integer') {
1856
+					$setting['type'] = 'number';
1857
+		} elseif ($setting['type'] == 'string') {
1858
+					$setting['type'] = 'text';
1859
+		}
1779 1860
 
1780
-		if (isset($setting['options']))
1781
-			$setting['type'] = 'list';
1861
+		if (isset($setting['options'])) {
1862
+					$setting['type'] = 'list';
1863
+		}
1782 1864
 
1783 1865
 		echo '
1784 1866
 					<dt>
1785 1867
 						<label for="', $setting['id'], '">', !$titled_section ? '<strong>' : '', $setting['label'], !$titled_section ? '</strong>' : '', '</label>';
1786 1868
 
1787
-		if (isset($setting['description']))
1788
-			echo '
1869
+		if (isset($setting['description'])) {
1870
+					echo '
1789 1871
 						<br>
1790 1872
 						<span class="smalltext">', $setting['description'], '</span>';
1873
+		}
1791 1874
 		echo '
1792 1875
 					</dt>
1793 1876
 					<dd>';
1794 1877
 
1795 1878
 		// Display checkbox options
1796
-		if ($setting['type'] == 'checkbox')
1797
-			echo '
1879
+		if ($setting['type'] == 'checkbox') {
1880
+					echo '
1798 1881
 						<input type="hidden" name="default_options[' . $setting['id'] . ']" value="0">
1799 1882
 						<input type="checkbox" name="default_options[', $setting['id'], ']" id="', $setting['id'], '"', !empty($context['member']['options'][$setting['id']]) ? ' checked' : '', ' value="1">';
1883
+		}
1800 1884
 
1801 1885
 		// How about selection lists, we all love them
1802 1886
 		elseif ($setting['type'] == 'list')
@@ -1804,9 +1888,10 @@  discard block
 block discarded – undo
1804 1888
 			echo '
1805 1889
 						<select name="default_options[', $setting['id'], ']" id="', $setting['id'], '"', '>';
1806 1890
 
1807
-			foreach ($setting['options'] as $value => $label)
1808
-				echo '
1891
+			foreach ($setting['options'] as $value => $label) {
1892
+							echo '
1809 1893
 							<option value="', $value, '"', $value == $context['member']['options'][$setting['id']] ? ' selected' : '', '>', $label, '</option>';
1894
+			}
1810 1895
 
1811 1896
 			echo '
1812 1897
 						</select>';
@@ -1822,14 +1907,13 @@  discard block
 block discarded – undo
1822 1907
 
1823 1908
 				echo '
1824 1909
 						<input type="number"', $min . $max . $step;
1825
-			}
1826
-			elseif (isset($setting['type']) && $setting['type'] == 'url')
1827
-				echo'
1910
+			} elseif (isset($setting['type']) && $setting['type'] == 'url') {
1911
+							echo'
1828 1912
 						<input type="url"';
1829
-
1830
-			else
1831
-				echo '
1913
+			} else {
1914
+							echo '
1832 1915
 						<input type="text"';
1916
+			}
1833 1917
 
1834 1918
 			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"' : '', '>';
1835 1919
 		}
@@ -1866,8 +1950,8 @@  discard block
 block discarded – undo
1866 1950
 				<dl class="settings">';
1867 1951
 
1868 1952
 	// Allow notification on announcements to be disabled?
1869
-	if (!empty($modSettings['allow_disableAnnounce']))
1870
-		echo '
1953
+	if (!empty($modSettings['allow_disableAnnounce'])) {
1954
+			echo '
1871 1955
 					<dt>
1872 1956
 						<label for="notify_announcements">', $txt['notify_important_email'], '</label>
1873 1957
 					</dt>
@@ -1875,15 +1959,17 @@  discard block
 block discarded – undo
1875 1959
 						<input type="hidden" name="notify_announcements" value="0">
1876 1960
 						<input type="checkbox" id="notify_announcements" name="notify_announcements" value="1"', !empty($context['member']['notify_announcements']) ? ' checked' : '', '>
1877 1961
 					</dd>';
1962
+	}
1878 1963
 
1879
-	if (!empty($modSettings['enable_ajax_alerts']))
1880
-		echo '
1964
+	if (!empty($modSettings['enable_ajax_alerts'])) {
1965
+			echo '
1881 1966
 					<dt>
1882 1967
 						<label for="notify_send_body">', $txt['notify_alert_timeout'], '</label>
1883 1968
 					</dt>
1884 1969
 					<dd>
1885 1970
 						<input type="number" size="4" id="notify_alert_timeout" name="opt_alert_timeout" min="0" value="', $context['member']['alert_timeout'], '">
1886 1971
 					</dd>';
1972
+	}
1887 1973
 
1888 1974
 	echo '
1889 1975
 				</dl>
@@ -1915,9 +2001,10 @@  discard block
 block discarded – undo
1915 2001
 
1916 2002
 				$label = $txt['alert_opt_' . $opts[1]];
1917 2003
 				$label_pos = isset($opts['label']) ? $opts['label'] : '';
1918
-				if ($label_pos == 'before')
1919
-					echo '
2004
+				if ($label_pos == 'before') {
2005
+									echo '
1920 2006
 						<label for="opt_', $opts[1], '">', $label, '</label>';
2007
+				}
1921 2008
 
1922 2009
 				$this_value = isset($context['alert_prefs'][$opts[1]]) ? $context['alert_prefs'][$opts[1]] : 0;
1923 2010
 				switch ($opts[0])
@@ -1931,17 +2018,19 @@  discard block
 block discarded – undo
1931 2018
 						echo '
1932 2019
 						<select name="opt_', $opts[1], '" id="opt_', $opts[1], '">';
1933 2020
 
1934
-						foreach ($opts['opts'] as $k => $v)
1935
-							echo '
2021
+						foreach ($opts['opts'] as $k => $v) {
2022
+													echo '
1936 2023
 							<option value="', $k, '"', $this_value == $k ? ' selected' : '', '>', $v, '</option>';
2024
+						}
1937 2025
 						echo '
1938 2026
 						</select>';
1939 2027
 						break;
1940 2028
 				}
1941 2029
 
1942
-				if ($label_pos == 'after')
1943
-					echo '
2030
+				if ($label_pos == 'after') {
2031
+									echo '
1944 2032
 						<label for="opt_', $opts[1], '">', $label, '</label>';
2033
+				}
1945 2034
 
1946 2035
 				echo '
1947 2036
 					</td>
@@ -2058,11 +2147,12 @@  discard block
 block discarded – undo
2058 2147
 			<p class="information">', $txt['groupMembership_info'], '</p>';
2059 2148
 
2060 2149
 	// Do we have an update message?
2061
-	if (!empty($context['update_message']))
2062
-		echo '
2150
+	if (!empty($context['update_message'])) {
2151
+			echo '
2063 2152
 			<div class="infobox">
2064 2153
 				', $context['update_message'], '.
2065 2154
 			</div>';
2155
+	}
2066 2156
 
2067 2157
 	echo '
2068 2158
 			<div id="groups">';
@@ -2084,8 +2174,7 @@  discard block
 block discarded – undo
2084 2174
 						</div>
2085 2175
 					</div>
2086 2176
 				</div><!-- .groupmembership -->';
2087
-	}
2088
-	else
2177
+	} else
2089 2178
 	{
2090 2179
 		echo '
2091 2180
 				<div class="title_bar">
@@ -2097,27 +2186,30 @@  discard block
 block discarded – undo
2097 2186
 			echo '
2098 2187
 				<div class="windowbg" id="primdiv_', $group['id'], '">';
2099 2188
 
2100
-				if ($context['can_edit_primary'])
2101
-					echo '
2189
+				if ($context['can_edit_primary']) {
2190
+									echo '
2102 2191
 					<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', '>';
2192
+				}
2103 2193
 
2104 2194
 				echo '
2105 2195
 					<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>';
2106 2196
 
2107 2197
 				// Can they leave their group?
2108
-				if ($group['can_leave'])
2109
-					echo '
2198
+				if ($group['can_leave']) {
2199
+									echo '
2110 2200
 					<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>';
2201
+				}
2111 2202
 
2112 2203
 				echo '
2113 2204
 				</div><!-- .windowbg -->';
2114 2205
 		}
2115 2206
 
2116
-		if ($context['can_edit_primary'])
2117
-			echo '
2207
+		if ($context['can_edit_primary']) {
2208
+					echo '
2118 2209
 				<div class="padding righttext">
2119 2210
 					<input type="submit" value="', $txt['make_primary'], '" class="button">
2120 2211
 				</div>';
2212
+		}
2121 2213
 
2122 2214
 		// Any groups they can join?
2123 2215
 		if (!empty($context['groups']['available']))
@@ -2133,17 +2225,16 @@  discard block
 block discarded – undo
2133 2225
 				<div class="windowbg">
2134 2226
 					<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>' : ''), '';
2135 2227
 
2136
-				if ($group['type'] == 3)
2137
-					echo '
2228
+				if ($group['type'] == 3) {
2229
+									echo '
2138 2230
 					<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>';
2139
-
2140
-				elseif ($group['type'] == 2 && $group['pending'])
2141
-					echo '
2231
+				} elseif ($group['type'] == 2 && $group['pending']) {
2232
+									echo '
2142 2233
 					<span class="floatright">', $txt['approval_pending'], '</span>';
2143
-
2144
-				elseif ($group['type'] == 2)
2145
-					echo '
2234
+				} elseif ($group['type'] == 2) {
2235
+									echo '
2146 2236
 					<a href="', $scripturl, '?action=profile;u=', $context['id_member'], ';area=groupmembership;request=', $group['id'], '" class="button floatright">', $txt['request_group'], '</a>';
2237
+				}
2147 2238
 
2148 2239
 				echo '
2149 2240
 				</div><!-- .windowbg -->';
@@ -2166,9 +2257,10 @@  discard block
 block discarded – undo
2166 2257
 
2167 2258
 						prevDiv.className = "windowbg";
2168 2259
 					}';
2169
-		if (isset($context['groups']['member'][$context['primary_group']]))
2170
-			echo '
2260
+		if (isset($context['groups']['member'][$context['primary_group']])) {
2261
+					echo '
2171 2262
 					highlightSelected("primdiv_' . $context['primary_group'] . '");';
2263
+		}
2172 2264
 
2173 2265
 		echo '
2174 2266
 				</script>';
@@ -2177,9 +2269,10 @@  discard block
 block discarded – undo
2177 2269
 	echo '
2178 2270
 			</div><!-- #groups -->';
2179 2271
 
2180
-	if (!empty($context['token_check']))
2181
-		echo '
2272
+	if (!empty($context['token_check'])) {
2273
+			echo '
2182 2274
 			<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
2275
+	}
2183 2276
 
2184 2277
 	echo '
2185 2278
 			<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -2227,14 +2320,15 @@  discard block
 block discarded – undo
2227 2320
 
2228 2321
 		foreach ($category['boards'] as $board)
2229 2322
 		{
2230
-			if ($i == $limit)
2231
-				echo '
2323
+			if ($i == $limit) {
2324
+							echo '
2232 2325
 						</ul>
2233 2326
 					</li>
2234 2327
 				</ul>
2235 2328
 				<ul class="ignoreboards floatright">
2236 2329
 					<li class="category">
2237 2330
 						<ul>';
2331
+			}
2238 2332
 
2239 2333
 			echo '
2240 2334
 							<li class="board" style="margin-', $context['right_to_left'] ? 'right' : 'left', ': ', $board['child_level'], 'em;">
@@ -2280,10 +2374,11 @@  discard block
 block discarded – undo
2280 2374
 
2281 2375
 	// Work out the starting color.
2282 2376
 	$context['current_color'] = $context['colors'][0];
2283
-	foreach ($context['colors'] as $limit => $color)
2284
-		if ($context['member']['warning'] >= $limit)
2377
+	foreach ($context['colors'] as $limit => $color) {
2378
+			if ($context['member']['warning'] >= $limit)
2285 2379
 			$context['current_color'] = $color;
2286
-}
2380
+	}
2381
+	}
2287 2382
 
2288 2383
 // Show all warnings of a user?
2289 2384
 function template_viewWarning()
@@ -2322,14 +2417,15 @@  discard block
 block discarded – undo
2322 2417
 				</dd>';
2323 2418
 
2324 2419
 	// There's some impact of this?
2325
-	if (!empty($context['level_effects'][$context['current_level']]))
2326
-		echo '
2420
+	if (!empty($context['level_effects'][$context['current_level']])) {
2421
+			echo '
2327 2422
 				<dt>
2328 2423
 					<strong>', $txt['profile_viewwarning_impact'], ':</strong>
2329 2424
 				</dt>
2330 2425
 				<dd>
2331 2426
 					', $context['level_effects'][$context['current_level']], '
2332 2427
 				</dd>';
2428
+	}
2333 2429
 
2334 2430
 	echo '
2335 2431
 			</dl>
@@ -2367,10 +2463,11 @@  discard block
 block discarded – undo
2367 2463
 
2368 2464
 			// Otherwise see what we can do...';
2369 2465
 
2370
-	foreach ($context['notification_templates'] as $k => $type)
2371
-		echo '
2466
+	foreach ($context['notification_templates'] as $k => $type) {
2467
+			echo '
2372 2468
 			if (index == ', $k, ')
2373 2469
 				document.getElementById(\'warn_body\').value = "', strtr($type['body'], array('"' => "'", "\n" => '\\n', "\r" => '')), '";';
2470
+	}
2374 2471
 
2375 2472
 	echo '
2376 2473
 		}
@@ -2380,10 +2477,11 @@  discard block
 block discarded – undo
2380 2477
 			// Also set the right effect.
2381 2478
 			effectText = "";';
2382 2479
 
2383
-	foreach ($context['level_effects'] as $limit => $text)
2384
-		echo '
2480
+	foreach ($context['level_effects'] as $limit => $text) {
2481
+			echo '
2385 2482
 			if (slideAmount >= ', $limit, ')
2386 2483
 				effectText = "', $text, '";';
2484
+	}
2387 2485
 
2388 2486
 	echo '
2389 2487
 			setInnerHTML(document.getElementById(\'cur_level_div\'), slideAmount + \'% (\' + effectText + \')\');
@@ -2398,32 +2496,35 @@  discard block
 block discarded – undo
2398 2496
 			</h3>
2399 2497
 		</div>';
2400 2498
 
2401
-	if (!$context['user']['is_owner'])
2402
-		echo '
2499
+	if (!$context['user']['is_owner']) {
2500
+			echo '
2403 2501
 		<p class="information">', $txt['profile_warning_desc'], '</p>';
2502
+	}
2404 2503
 
2405 2504
 	echo '
2406 2505
 		<div class="windowbg">
2407 2506
 			<dl class="settings">';
2408 2507
 
2409
-	if (!$context['user']['is_owner'])
2410
-		echo '
2508
+	if (!$context['user']['is_owner']) {
2509
+			echo '
2411 2510
 				<dt>
2412 2511
 					<strong>', $txt['profile_warning_name'], ':</strong>
2413 2512
 				</dt>
2414 2513
 				<dd>
2415 2514
 					<strong>', $context['member']['name'], '</strong>
2416 2515
 				</dd>';
2516
+	}
2417 2517
 
2418 2518
 	echo '
2419 2519
 				<dt>
2420 2520
 					<strong>', $txt['profile_warning_level'], ':</strong>';
2421 2521
 
2422 2522
 	// Is there only so much they can apply?
2423
-	if ($context['warning_limit'])
2424
-		echo '
2523
+	if ($context['warning_limit']) {
2524
+			echo '
2425 2525
 					<br>
2426 2526
 					<span class="smalltext">', sprintf($txt['profile_warning_limit_attribute'], $context['warning_limit']), '</span>';
2527
+	}
2427 2528
 
2428 2529
 	echo '
2429 2530
 				</dt>
@@ -2478,9 +2579,10 @@  discard block
 block discarded – undo
2478 2579
 						<option value="-1">', $txt['profile_warning_notify_template'], '</option>
2479 2580
 						<option value="-1" disabled>------------------------------</option>';
2480 2581
 
2481
-		foreach ($context['notification_templates'] as $id_template => $template)
2482
-			echo '
2582
+		foreach ($context['notification_templates'] as $id_template => $template) {
2583
+					echo '
2483 2584
 						<option value="', $id_template, '">', $template['title'], '</option>';
2585
+		}
2484 2586
 
2485 2587
 		echo '
2486 2588
 					</select>
@@ -2493,9 +2595,10 @@  discard block
 block discarded – undo
2493 2595
 			</dl>
2494 2596
 			<div class="righttext">';
2495 2597
 
2496
-	if (!empty($context['token_check']))
2497
-		echo '
2598
+	if (!empty($context['token_check'])) {
2599
+			echo '
2498 2600
 				<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
2601
+	}
2499 2602
 
2500 2603
 	echo '
2501 2604
 				<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -2511,8 +2614,8 @@  discard block
 block discarded – undo
2511 2614
 	echo '
2512 2615
 	<script>';
2513 2616
 
2514
-	if (!$context['user']['is_owner'])
2515
-		echo '
2617
+	if (!$context['user']['is_owner']) {
2618
+			echo '
2516 2619
 		modifyWarnNotify();
2517 2620
 		$(document).ready(function() {
2518 2621
 			$("#preview_button").click(function() {
@@ -2551,6 +2654,7 @@  discard block
 block discarded – undo
2551 2654
 			});
2552 2655
 			return false;
2553 2656
 		}';
2657
+	}
2554 2658
 
2555 2659
 	echo '
2556 2660
 	</script>';
@@ -2573,17 +2677,19 @@  discard block
 block discarded – undo
2573 2677
 			</div>';
2574 2678
 
2575 2679
 	// If deleting another account give them a lovely info box.
2576
-	if (!$context['user']['is_owner'])
2577
-		echo '
2680
+	if (!$context['user']['is_owner']) {
2681
+			echo '
2578 2682
 			<p class="information">', $txt['deleteAccount_desc'], '</p>';
2683
+	}
2579 2684
 
2580 2685
 	echo '
2581 2686
 			<div class="windowbg2">';
2582 2687
 
2583 2688
 	// If they are deleting their account AND the admin needs to approve it - give them another piece of info ;)
2584
-	if ($context['needs_approval'])
2585
-		echo '
2689
+	if ($context['needs_approval']) {
2690
+			echo '
2586 2691
 				<div class="errorbox">', $txt['deleteAccount_approval'], '</div>';
2692
+	}
2587 2693
 
2588 2694
 	// If the user is deleting their own account warn them first - and require a password!
2589 2695
 	if ($context['user']['is_owner'])
@@ -2595,9 +2701,10 @@  discard block
 block discarded – undo
2595 2701
 					<input type="password" name="oldpasswrd" size="20">
2596 2702
 					<input type="submit" value="', $txt['yes'], '" class="button">';
2597 2703
 
2598
-		if (!empty($context['token_check']))
2599
-			echo '
2704
+		if (!empty($context['token_check'])) {
2705
+					echo '
2600 2706
 					<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
2707
+		}
2601 2708
 
2602 2709
 		echo '
2603 2710
 					<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -2627,10 +2734,11 @@  discard block
 block discarded – undo
2627 2734
 						<option value="topics">', $txt['deleteAccount_topics'], '</option>
2628 2735
 					</select>';
2629 2736
 
2630
-			if ($context['show_perma_delete'])
2631
-				echo '
2737
+			if ($context['show_perma_delete']) {
2738
+							echo '
2632 2739
 					<br>
2633 2740
 					<label for="perma_delete"><input type="checkbox" name="perma_delete" id="perma_delete" value="1">', $txt['deleteAccount_permanent'], ':</label>';
2741
+			}
2634 2742
 
2635 2743
 			echo '
2636 2744
 				</div>';
@@ -2643,9 +2751,10 @@  discard block
 block discarded – undo
2643 2751
 				<div>
2644 2752
 					<input type="submit" value="', $txt['delete'], '" class="button">';
2645 2753
 
2646
-		if (!empty($context['token_check']))
2647
-			echo '
2754
+		if (!empty($context['token_check'])) {
2755
+					echo '
2648 2756
 				<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
2757
+		}
2649 2758
 
2650 2759
 		echo '
2651 2760
 					<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -2671,8 +2780,8 @@  discard block
 block discarded – undo
2671 2780
 					<hr>';
2672 2781
 
2673 2782
 	// Only show the password box if it's actually needed.
2674
-	if ($context['require_password'])
2675
-		echo '
2783
+	if ($context['require_password']) {
2784
+			echo '
2676 2785
 					<dl class="settings">
2677 2786
 						<dt>
2678 2787
 							<strong', isset($context['modify_error']['bad_password']) || isset($context['modify_error']['no_password']) ? ' class="error"' : '', '>', $txt['current_password'], ': </strong><br>
@@ -2682,13 +2791,15 @@  discard block
 block discarded – undo
2682 2791
 							<input type="password" name="oldpasswrd" size="20">
2683 2792
 						</dd>
2684 2793
 					</dl>';
2794
+	}
2685 2795
 
2686 2796
 	echo '
2687 2797
 					<div class="righttext">';
2688 2798
 
2689
-	if (!empty($context['token_check']))
2690
-		echo '
2799
+	if (!empty($context['token_check'])) {
2800
+			echo '
2691 2801
 						<input type="hidden" name="', $context[$context['token_check'] . '_token_var'], '" value="', $context[$context['token_check'] . '_token'], '">';
2802
+	}
2692 2803
 
2693 2804
 	echo '
2694 2805
 						<input type="submit" value="', $txt['change_profile'], '" class="button">
@@ -2715,9 +2826,10 @@  discard block
 block discarded – undo
2715 2826
 			<ul id="list_errors">';
2716 2827
 
2717 2828
 		// Cycle through each error and display an error message.
2718
-		foreach ($context['post_errors'] as $error)
2719
-			echo '
2829
+		foreach ($context['post_errors'] as $error) {
2830
+					echo '
2720 2831
 				<li>', isset($txt['profile_error_' . $error]) ? $txt['profile_error_' . $error] : $error, '</li>';
2832
+		}
2721 2833
 
2722 2834
 		echo '
2723 2835
 			</ul>';
@@ -2743,12 +2855,13 @@  discard block
 block discarded – undo
2743 2855
 								<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;"' : ''), '>';
2744 2856
 
2745 2857
 	// Fill the select box with all primary member groups that can be assigned to a member.
2746
-	foreach ($context['member_groups'] as $member_group)
2747
-		if (!empty($member_group['can_be_primary']))
2858
+	foreach ($context['member_groups'] as $member_group) {
2859
+			if (!empty($member_group['can_be_primary']))
2748 2860
 			echo '
2749 2861
 									<option value="', $member_group['id'], '"', $member_group['is_primary'] ? ' selected' : '', '>
2750 2862
 										', $member_group['name'], '
2751 2863
 									</option>';
2864
+	}
2752 2865
 
2753 2866
 	echo '
2754 2867
 								</select>
@@ -2761,10 +2874,11 @@  discard block
 block discarded – undo
2761 2874
 									<input type="hidden" name="additional_groups[]" value="0">';
2762 2875
 
2763 2876
 	// For each membergroup show a checkbox so members can be assigned to more than one group.
2764
-	foreach ($context['member_groups'] as $member_group)
2765
-		if ($member_group['can_be_additional'])
2877
+	foreach ($context['member_groups'] as $member_group) {
2878
+			if ($member_group['can_be_additional'])
2766 2879
 			echo '
2767 2880
 									<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>';
2881
+	}
2768 2882
 
2769 2883
 	echo '
2770 2884
 								</span>
@@ -2824,9 +2938,10 @@  discard block
 block discarded – undo
2824 2938
 								<span class="smalltext">', $txt['sig_info'], '</span><br>
2825 2939
 								<br>';
2826 2940
 
2827
-	if ($context['show_spellchecking'])
2828
-		echo '
2941
+	if ($context['show_spellchecking']) {
2942
+			echo '
2829 2943
 								<input type="button" value="', $txt['spell_check'], '" onclick="spellCheck(\'creator\', \'signature\');" class="button">';
2944
+	}
2830 2945
 
2831 2946
 	echo '
2832 2947
 							</dt>
@@ -2834,17 +2949,20 @@  discard block
 block discarded – undo
2834 2949
 								<textarea class="editor" onkeyup="calcCharLeft();" id="signature" name="signature" rows="5" cols="50">', $context['member']['signature'], '</textarea><br>';
2835 2950
 
2836 2951
 	// If there is a limit at all!
2837
-	if (!empty($context['signature_limits']['max_length']))
2838
-		echo '
2952
+	if (!empty($context['signature_limits']['max_length'])) {
2953
+			echo '
2839 2954
 								<span class="smalltext">', sprintf($txt['max_sig_characters'], $context['signature_limits']['max_length']), ' <span id="signatureLeft">', $context['signature_limits']['max_length'], '</span></span><br>';
2955
+	}
2840 2956
 
2841
-	if (!empty($context['show_preview_button']))
2842
-		echo '
2957
+	if (!empty($context['show_preview_button'])) {
2958
+			echo '
2843 2959
 								<input type="button" name="preview_signature" id="preview_button" value="', $txt['preview_signature'], '" class="button floatright">';
2960
+	}
2844 2961
 
2845
-	if ($context['signature_warning'])
2846
-		echo '
2962
+	if ($context['signature_warning']) {
2963
+			echo '
2847 2964
 								<span class="smalltext">', $context['signature_warning'], '</span>';
2965
+	}
2848 2966
 
2849 2967
 	// Some javascript used to count how many characters have been used so far in the signature.
2850 2968
 	echo '
@@ -2889,9 +3007,10 @@  discard block
 block discarded – undo
2889 3007
 										<select name="cat" id="cat" size="10" onchange="changeSel(\'\');" onfocus="selectRadioByName(document.forms.creator.avatar_choice, \'server_stored\');">';
2890 3008
 
2891 3009
 		// This lists all the file categories.
2892
-		foreach ($context['avatars'] as $avatar)
2893
-			echo '
3010
+		foreach ($context['avatars'] as $avatar) {
3011
+					echo '
2894 3012
 											<option value="', $avatar['filename'] . ($avatar['is_dir'] ? '/' : ''), '"', ($avatar['checked'] ? ' selected' : ''), '>', $avatar['name'], '</option>';
3013
+		}
2895 3014
 
2896 3015
 		echo '
2897 3016
 										</select>
@@ -2923,20 +3042,22 @@  discard block
 block discarded – undo
2923 3042
 	}
2924 3043
 
2925 3044
 	// If the user can link to an off server avatar, show them a box to input the address.
2926
-	if (!empty($context['member']['avatar']['allow_external']))
2927
-		echo '
3045
+	if (!empty($context['member']['avatar']['allow_external'])) {
3046
+			echo '
2928 3047
 								<div id="avatar_external">
2929 3048
 									<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') : '', '
2930 3049
 									<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);">
2931 3050
 								</div>';
3051
+	}
2932 3052
 
2933 3053
 	// If the user is able to upload avatars to the server show them an upload box.
2934
-	if (!empty($context['member']['avatar']['allow_upload']))
2935
-		echo '
3054
+	if (!empty($context['member']['avatar']['allow_upload'])) {
3055
+			echo '
2936 3056
 								<div id="avatar_upload">
2937 3057
 									<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'), '
2938 3058
 									', (!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'] . '">' : ''), '
2939 3059
 								</div>';
3060
+	}
2940 3061
 
2941 3062
 	// if the user is able to use Gravatar avatars show then the image preview
2942 3063
 	if (!empty($context['member']['avatar']['allow_gravatar']))
@@ -2945,16 +3066,17 @@  discard block
 block discarded – undo
2945 3066
 								<div id="avatar_gravatar">
2946 3067
 									<img src="' . $context['member']['avatar']['href'] . '" alt="">';
2947 3068
 
2948
-		if (empty($modSettings['gravatarAllowExtraEmail']))
2949
-			echo '
3069
+		if (empty($modSettings['gravatarAllowExtraEmail'])) {
3070
+					echo '
2950 3071
 									<div class="smalltext">', $txt['gravatar_noAlternateEmail'], '</div>';
2951
-		else
3072
+		} else
2952 3073
 		{
2953 3074
 			// Depending on other stuff, the stored value here might have some odd things in it from other areas.
2954
-			if ($context['member']['avatar']['external'] == $context['member']['email'])
2955
-				$textbox_value = '';
2956
-			else
2957
-				$textbox_value = $context['member']['avatar']['external'];
3075
+			if ($context['member']['avatar']['external'] == $context['member']['email']) {
3076
+							$textbox_value = '';
3077
+			} else {
3078
+							$textbox_value = $context['member']['avatar']['external'];
3079
+			}
2958 3080
 
2959 3081
 			echo '
2960 3082
 									<div class="smalltext">', $txt['gravatar_alternateEmail'], '</div>
@@ -3026,8 +3148,9 @@  discard block
 block discarded – undo
3026 3148
 	$h = !empty($modSettings['avatar_max_height_' . $type]) ? comma_format($modSettings['avatar_max_height_' . $type]) : 0;
3027 3149
 
3028 3150
 	$suffix = (!empty($w) ? 'w' : '') . (!empty($h) ? 'h' : '');
3029
-	if (empty($suffix))
3030
-		return;
3151
+	if (empty($suffix)) {
3152
+			return;
3153
+	}
3031 3154
 
3032 3155
 	echo '
3033 3156
 								<div class="smalltext">', sprintf($txt['avatar_max_size_' . $suffix], $w, $h), '</div>';
@@ -3052,9 +3175,10 @@  discard block
 block discarded – undo
3052 3175
 								<select name="easyformat" id="easyformat" onchange="document.forms.creator.time_format.value = this.options[this.selectedIndex].value;">';
3053 3176
 
3054 3177
 	// Help the user by showing a list of common time formats.
3055
-	foreach ($context['easy_timeformats'] as $time_format)
3056
-		echo '
3178
+	foreach ($context['easy_timeformats'] as $time_format) {
3179
+			echo '
3057 3180
 									<option value="', $time_format['format'], '"', $time_format['format'] == $context['member']['time_format'] ? ' selected' : '', '>', $time_format['title'], '</option>';
3181
+	}
3058 3182
 
3059 3183
 	echo '
3060 3184
 								</select>
@@ -3092,9 +3216,10 @@  discard block
 block discarded – undo
3092 3216
 							<dd>
3093 3217
 								<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\';">';
3094 3218
 
3095
-	foreach ($context['smiley_sets'] as $set)
3096
-		echo '
3219
+	foreach ($context['smiley_sets'] as $set) {
3220
+			echo '
3097 3221
 									<option value="', $set['id'], '"', $set['selected'] ? ' selected' : '', '>', $set['name'], '</option>';
3222
+	}
3098 3223
 
3099 3224
 	echo '
3100 3225
 								</select>
@@ -3146,10 +3271,11 @@  discard block
 block discarded – undo
3146 3271
 										<img src="', $context['tfa_qr_url'], '" alt="">
3147 3272
 									</div>';
3148 3273
 
3149
-	if (!empty($context['from_ajax']))
3150
-		echo '
3274
+	if (!empty($context['from_ajax'])) {
3275
+			echo '
3151 3276
 					<br>
3152 3277
 					<a href="javascript:self.close();"></a>';
3278
+	}
3153 3279
 
3154 3280
 	echo '
3155 3281
 				</div>
@@ -3189,17 +3315,16 @@  discard block
 block discarded – undo
3189 3315
 							</dt>
3190 3316
 							<dd>';
3191 3317
 
3192
-	if (!$context['tfa_enabled'] && $context['user']['is_owner'])
3193
-		echo '
3318
+	if (!$context['tfa_enabled'] && $context['user']['is_owner']) {
3319
+			echo '
3194 3320
 								<a href="', !empty($modSettings['force_ssl']) ? strtr($scripturl, array('http://' => 'https://')) : $scripturl, '?action=profile;area=tfasetup" id="enable_tfa">', $txt['tfa_profile_enable'], '</a>';
3195
-
3196
-	elseif (!$context['tfa_enabled'])
3197
-		echo '
3321
+	} elseif (!$context['tfa_enabled']) {
3322
+			echo '
3198 3323
 								', $txt['tfa_profile_disabled'];
3199
-
3200
-	else
3201
-		echo '
3324
+	} else {
3325
+			echo '
3202 3326
 								', sprintf($txt['tfa_profile_enabled'], $scripturl . '?action=profile;u=' . $context['id_member'] . ';area=tfasetup;disable');
3327
+	}
3203 3328
 
3204 3329
 	echo '
3205 3330
 							</dd>';
Please login to merge, or discard this patch.
Sources/DbExtra-mysql.php 1 patch
Braces   +72 added lines, -51 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 4
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	die('No direct access...');
18
+}
18 19
 
19 20
 /**
20 21
  * Add the functions implemented in this file to the $smcFunc array.
@@ -23,8 +24,8 @@  discard block
 block discarded – undo
23 24
 {
24 25
 	global $smcFunc;
25 26
 
26
-	if (!isset($smcFunc['db_backup_table']) || $smcFunc['db_backup_table'] != 'smf_db_backup_table')
27
-		$smcFunc += array(
27
+	if (!isset($smcFunc['db_backup_table']) || $smcFunc['db_backup_table'] != 'smf_db_backup_table') {
28
+			$smcFunc += array(
28 29
 			'db_backup_table' => 'smf_db_backup_table',
29 30
 			'db_optimize_table' => 'smf_db_optimize_table',
30 31
 			'db_table_sql' => 'smf_db_table_sql',
@@ -33,7 +34,8 @@  discard block
 block discarded – undo
33 34
 			'db_get_vendor' => 'smf_db_get_vendor',
34 35
 			'db_allow_persistent' => 'smf_db_allow_persistent',
35 36
 		);
36
-}
37
+	}
38
+	}
37 39
 
38 40
 /**
39 41
  * Backup $table to $backup_table.
@@ -75,8 +77,9 @@  discard block
 block discarded – undo
75 77
 			));
76 78
 
77 79
 		// Old school or no school?
78
-		if ($request)
79
-			return $request;
80
+		if ($request) {
81
+					return $request;
82
+		}
80 83
 	}
81 84
 
82 85
 	// At this point, the quick method failed.
@@ -100,8 +103,9 @@  discard block
 block discarded – undo
100 103
 	foreach ($create as $k => $l)
101 104
 	{
102 105
 		// Get the name of the auto_increment column.
103
-		if (strpos($l, 'auto_increment'))
104
-			$auto_inc = trim($l);
106
+		if (strpos($l, 'auto_increment')) {
107
+					$auto_inc = trim($l);
108
+		}
105 109
 
106 110
 		// For the engine type, see if we can work out what it is.
107 111
 		if (strpos($l, 'ENGINE') !== false || strpos($l, 'TYPE') !== false)
@@ -109,30 +113,36 @@  discard block
 block discarded – undo
109 113
 			// Extract the engine type.
110 114
 			preg_match('~(ENGINE|TYPE)=(\w+)(\sDEFAULT)?(\sCHARSET=(\w+))?(\sCOLLATE=(\w+))?~', $l, $match);
111 115
 
112
-			if (!empty($match[1]))
113
-				$engine = $match[1];
116
+			if (!empty($match[1])) {
117
+							$engine = $match[1];
118
+			}
114 119
 
115
-			if (!empty($match[2]))
116
-				$engine = $match[2];
120
+			if (!empty($match[2])) {
121
+							$engine = $match[2];
122
+			}
117 123
 
118
-			if (!empty($match[5]))
119
-				$charset = $match[5];
124
+			if (!empty($match[5])) {
125
+							$charset = $match[5];
126
+			}
120 127
 
121
-			if (!empty($match[7]))
122
-				$collate = $match[7];
128
+			if (!empty($match[7])) {
129
+							$collate = $match[7];
130
+			}
123 131
 		}
124 132
 
125 133
 		// Skip everything but keys...
126
-		if (strpos($l, 'KEY') === false)
127
-			unset($create[$k]);
134
+		if (strpos($l, 'KEY') === false) {
135
+					unset($create[$k]);
136
+		}
128 137
 	}
129 138
 
130
-	if (!empty($create))
131
-		$create = '(
139
+	if (!empty($create)) {
140
+			$create = '(
132 141
 			' . implode('
133 142
 			', $create) . ')';
134
-	else
135
-		$create = '';
143
+	} else {
144
+			$create = '';
145
+	}
136 146
 
137 147
 	$request = $smcFunc['db_query']('', '
138 148
 		CREATE TABLE {raw:backup_table} {raw:create}
@@ -151,8 +161,9 @@  discard block
 block discarded – undo
151 161
 
152 162
 	if ($auto_inc != '')
153 163
 	{
154
-		if (preg_match('~\`(.+?)\`\s~', $auto_inc, $match) != 0 && substr($auto_inc, -1, 1) == ',')
155
-			$auto_inc = substr($auto_inc, 0, -1);
164
+		if (preg_match('~\`(.+?)\`\s~', $auto_inc, $match) != 0 && substr($auto_inc, -1, 1) == ',') {
165
+					$auto_inc = substr($auto_inc, 0, -1);
166
+		}
156 167
 
157 168
 		$smcFunc['db_query']('', '
158 169
 			ALTER TABLE {raw:backup_table}
@@ -196,8 +207,9 @@  discard block
 block discarded – undo
196 207
 				'table' => $table,
197 208
 			)
198 209
 		);
199
-	if (!$request)
200
-		return -1;
210
+	if (!$request) {
211
+			return -1;
212
+	}
201 213
 
202 214
 	// How much left?
203 215
 	$request = $smcFunc['db_query']('', '
@@ -240,8 +252,9 @@  discard block
 block discarded – undo
240 252
 		)
241 253
 	);
242 254
 	$tables = array();
243
-	while ($row = $smcFunc['db_fetch_row']($request))
244
-		$tables[] = $row[0];
255
+	while ($row = $smcFunc['db_fetch_row']($request)) {
256
+			$tables[] = $row[0];
257
+	}
245 258
 	$smcFunc['db_free_result']($request);
246 259
 
247 260
 	return $tables;
@@ -285,8 +298,9 @@  discard block
 block discarded – undo
285 298
 		if (!empty($row['Default']) || $row['Null'] !== 'YES')
286 299
 		{
287 300
 			// Make a special case of auto-timestamp.
288
-			if ($row['Default'] == 'CURRENT_TIMESTAMP')
289
-				$schema_create .= ' /*!40102 NOT NULL default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP */';
301
+			if ($row['Default'] == 'CURRENT_TIMESTAMP') {
302
+							$schema_create .= ' /*!40102 NOT NULL default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP */';
303
+			}
290 304
 			// Text shouldn't have a default.
291 305
 			elseif ($row['Default'] !== null)
292 306
 			{
@@ -321,14 +335,16 @@  discard block
 block discarded – undo
321 335
 		$row['Key_name'] = $row['Key_name'] == 'PRIMARY' ? 'PRIMARY KEY' : (empty($row['Non_unique']) ? 'UNIQUE ' : ($row['Comment'] == 'FULLTEXT' || (isset($row['Index_type']) && $row['Index_type'] == 'FULLTEXT') ? 'FULLTEXT ' : 'KEY ')) . '`' . $row['Key_name'] . '`';
322 336
 
323 337
 		// Is this the first column in the index?
324
-		if (empty($indexes[$row['Key_name']]))
325
-			$indexes[$row['Key_name']] = array();
338
+		if (empty($indexes[$row['Key_name']])) {
339
+					$indexes[$row['Key_name']] = array();
340
+		}
326 341
 
327 342
 		// A sub part, like only indexing 15 characters of a varchar.
328
-		if (!empty($row['Sub_part']))
329
-			$indexes[$row['Key_name']][$row['Seq_in_index']] = '`' . $row['Column_name'] . '`(' . $row['Sub_part'] . ')';
330
-		else
331
-			$indexes[$row['Key_name']][$row['Seq_in_index']] = '`' . $row['Column_name'] . '`';
343
+		if (!empty($row['Sub_part'])) {
344
+					$indexes[$row['Key_name']][$row['Seq_in_index']] = '`' . $row['Column_name'] . '`(' . $row['Sub_part'] . ')';
345
+		} else {
346
+					$indexes[$row['Key_name']][$row['Seq_in_index']] = '`' . $row['Column_name'] . '`';
347
+		}
332 348
 	}
333 349
 	$smcFunc['db_free_result']($result);
334 350
 
@@ -366,8 +382,9 @@  discard block
 block discarded – undo
366 382
 {
367 383
 	static $ver;
368 384
 
369
-	if (!empty($ver))
370
-		return $ver;
385
+	if (!empty($ver)) {
386
+			return $ver;
387
+	}
371 388
 
372 389
 	global $smcFunc;
373 390
 
@@ -392,8 +409,9 @@  discard block
 block discarded – undo
392 409
 	global $smcFunc;
393 410
 	static $db_type;
394 411
 
395
-	if (!empty($db_type))
396
-		return $db_type;
412
+	if (!empty($db_type)) {
413
+			return $db_type;
414
+	}
397 415
 
398 416
 	$request = $smcFunc['db_query']('', 'SELECT @@version_comment');
399 417
 	list ($comment) = $smcFunc['db_fetch_row']($request);
@@ -402,13 +420,15 @@  discard block
 block discarded – undo
402 420
 	// Skip these if we don't have a comment.
403 421
 	if (!empty($comment))
404 422
 	{
405
-		if (stripos($comment, 'percona') !== false)
406
-			return 'Percona';
407
-		if (stripos($comment, 'mariadb') !== false)
408
-			return 'MariaDB';
423
+		if (stripos($comment, 'percona') !== false) {
424
+					return 'Percona';
425
+		}
426
+		if (stripos($comment, 'mariadb') !== false) {
427
+					return 'MariaDB';
428
+		}
429
+	} else {
430
+			return 'fail';
409 431
 	}
410
-	else
411
-		return 'fail';
412 432
 
413 433
 	return 'MySQL';
414 434
 }
@@ -421,10 +441,11 @@  discard block
 block discarded – undo
421 441
 function smf_db_allow_persistent()
422 442
 {
423 443
 	$value = ini_get('mysqli.allow_persistent');
424
-	if (strtolower($value) == 'on' || strtolower($value) == 'true' || $value == '1')
425
-		return true;
426
-	else
427
-		return false;
428
-}
444
+	if (strtolower($value) == 'on' || strtolower($value) == 'true' || $value == '1') {
445
+			return true;
446
+	} else {
447
+			return false;
448
+	}
449
+	}
429 450
 
430 451
 ?>
431 452
\ No newline at end of file
Please login to merge, or discard this patch.
Sources/ManageMembergroups.php 1 patch
Braces   +128 added lines, -88 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 4
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	die('No direct access...');
18
+}
18 19
 
19 20
 
20 21
 /**
@@ -44,8 +45,9 @@  discard block
 block discarded – undo
44 45
 	$_REQUEST['sa'] = isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']]) ? $_REQUEST['sa'] : (allowedTo('manage_membergroups') ? 'index' : 'settings');
45 46
 
46 47
 	// Is it elsewhere?
47
-	if (isset($subActions[$_REQUEST['sa']][2]))
48
-		require_once($sourcedir . '/' . $subActions[$_REQUEST['sa']][2]);
48
+	if (isset($subActions[$_REQUEST['sa']][2])) {
49
+			require_once($sourcedir . '/' . $subActions[$_REQUEST['sa']][2]);
50
+	}
49 51
 
50 52
 	// Do the permission check, you might not be allowed her.
51 53
 	isAllowedTo($subActions[$_REQUEST['sa']][1]);
@@ -104,19 +106,20 @@  discard block
 block discarded – undo
104 106
 					'function' => function($rowData) use ($scripturl)
105 107
 					{
106 108
 						// Since the moderator group has no explicit members, no link is needed.
107
-						if ($rowData['id_group'] == 3)
108
-							$group_name = $rowData['group_name'];
109
-						else
109
+						if ($rowData['id_group'] == 3) {
110
+													$group_name = $rowData['group_name'];
111
+						} else
110 112
 						{
111 113
 							$color_style = empty($rowData['online_color']) ? '' : sprintf(' style="color: %1$s;"', $rowData['online_color']);
112 114
 							$group_name = sprintf('<a href="%1$s?action=admin;area=membergroups;sa=members;group=%2$d"%3$s>%4$s</a>', $scripturl, $rowData['id_group'], $color_style, $rowData['group_name']);
113 115
 						}
114 116
 
115 117
 						// Add a help option for moderator and administrator.
116
-						if ($rowData['id_group'] == 1)
117
-							$group_name .= sprintf(' (<a href="%1$s?action=helpadmin;help=membergroup_administrator" onclick="return reqOverlayDiv(this.href);">?</a>)', $scripturl);
118
-						elseif ($rowData['id_group'] == 3)
119
-							$group_name .= sprintf(' (<a href="%1$s?action=helpadmin;help=membergroup_moderator" onclick="return reqOverlayDiv(this.href);">?</a>)', $scripturl);
118
+						if ($rowData['id_group'] == 1) {
119
+													$group_name .= sprintf(' (<a href="%1$s?action=helpadmin;help=membergroup_administrator" onclick="return reqOverlayDiv(this.href);">?</a>)', $scripturl);
120
+						} elseif ($rowData['id_group'] == 3) {
121
+													$group_name .= sprintf(' (<a href="%1$s?action=helpadmin;help=membergroup_moderator" onclick="return reqOverlayDiv(this.href);">?</a>)', $scripturl);
122
+						}
120 123
 
121 124
 						return $group_name;
122 125
 					},
@@ -329,12 +332,14 @@  discard block
 block discarded – undo
329 332
 		call_integration_hook('integrate_add_membergroup', array($id_group, $postCountBasedGroup));
330 333
 
331 334
 		// Update the post groups now, if this is a post group!
332
-		if (isset($_POST['min_posts']))
333
-			updateStats('postgroups');
335
+		if (isset($_POST['min_posts'])) {
336
+					updateStats('postgroups');
337
+		}
334 338
 
335 339
 		// You cannot set permissions for post groups if they are disabled.
336
-		if ($postCountBasedGroup && empty($modSettings['permission_enable_postgroups']))
337
-			$_POST['perm_type'] = '';
340
+		if ($postCountBasedGroup && empty($modSettings['permission_enable_postgroups'])) {
341
+					$_POST['perm_type'] = '';
342
+		}
338 343
 
339 344
 		if ($_POST['perm_type'] == 'predefined')
340 345
 		{
@@ -364,8 +369,9 @@  discard block
 block discarded – undo
364 369
 				$smcFunc['db_free_result']($request);
365 370
 
366 371
 				// Protected groups are... well, protected!
367
-				if ($copy_type == 1)
368
-					fatal_lang_error('membergroup_does_not_exist');
372
+				if ($copy_type == 1) {
373
+									fatal_lang_error('membergroup_does_not_exist');
374
+				}
369 375
 			}
370 376
 
371 377
 			// Don't allow copying of a real priviledged person!
@@ -383,18 +389,20 @@  discard block
 block discarded – undo
383 389
 			$inserts = array();
384 390
 			while ($row = $smcFunc['db_fetch_assoc']($request))
385 391
 			{
386
-				if (empty($context['illegal_permissions']) || !in_array($row['permission'], $context['illegal_permissions']))
387
-					$inserts[] = array($id_group, $row['permission'], $row['add_deny']);
392
+				if (empty($context['illegal_permissions']) || !in_array($row['permission'], $context['illegal_permissions'])) {
393
+									$inserts[] = array($id_group, $row['permission'], $row['add_deny']);
394
+				}
388 395
 			}
389 396
 			$smcFunc['db_free_result']($request);
390 397
 
391
-			if (!empty($inserts))
392
-				$smcFunc['db_insert']('insert',
398
+			if (!empty($inserts)) {
399
+							$smcFunc['db_insert']('insert',
393 400
 					'{db_prefix}permissions',
394 401
 					array('id_group' => 'int', 'permission' => 'string', 'add_deny' => 'int'),
395 402
 					$inserts,
396 403
 					array('id_group', 'permission')
397 404
 				);
405
+			}
398 406
 
399 407
 			$request = $smcFunc['db_query']('', '
400 408
 				SELECT id_profile, permission, add_deny
@@ -405,17 +413,19 @@  discard block
 block discarded – undo
405 413
 				)
406 414
 			);
407 415
 			$inserts = array();
408
-			while ($row = $smcFunc['db_fetch_assoc']($request))
409
-				$inserts[] = array($id_group, $row['id_profile'], $row['permission'], $row['add_deny']);
416
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
417
+							$inserts[] = array($id_group, $row['id_profile'], $row['permission'], $row['add_deny']);
418
+			}
410 419
 			$smcFunc['db_free_result']($request);
411 420
 
412
-			if (!empty($inserts))
413
-				$smcFunc['db_insert']('insert',
421
+			if (!empty($inserts)) {
422
+							$smcFunc['db_insert']('insert',
414 423
 					'{db_prefix}board_permissions',
415 424
 					array('id_group' => 'int', 'id_profile' => 'int', 'permission' => 'string', 'add_deny' => 'int'),
416 425
 					$inserts,
417 426
 					array('id_group', 'id_profile', 'permission')
418 427
 				);
428
+			}
419 429
 
420 430
 			// Also get some membergroup information if we're copying and not copying from guests...
421 431
 			if ($copy_id > 0 && $_POST['perm_type'] == 'copy')
@@ -468,14 +478,15 @@  discard block
 block discarded – undo
468 478
 		$changed_boards['allow'] = array();
469 479
 		$changed_boards['deny'] = array();
470 480
 		$changed_boards['ignore'] = array();
471
-		foreach ($accesses as $group_id => $action)
472
-			$changed_boards[$action][] = (int) $group_id;
481
+		foreach ($accesses as $group_id => $action) {
482
+					$changed_boards[$action][] = (int) $group_id;
483
+		}
473 484
 
474 485
 		foreach (array('allow', 'deny') as $board_action)
475 486
 		{
476 487
 			// Only do this if they have special access requirements.
477
-			if (!empty($changed_boards[$board_action]))
478
-				$smcFunc['db_query']('', '
488
+			if (!empty($changed_boards[$board_action])) {
489
+							$smcFunc['db_query']('', '
479 490
 					UPDATE {db_prefix}boards
480 491
 					SET {raw:column} = CASE WHEN {raw:column} = {string:blank_string} THEN {string:group_id_string} ELSE CONCAT({raw:column}, {string:comma_group}) END
481 492
 					WHERE id_board IN ({array_int:board_list})',
@@ -487,11 +498,13 @@  discard block
 block discarded – undo
487 498
 						'column' => $board_action == 'allow' ? 'member_groups' : 'deny_member_groups',
488 499
 					)
489 500
 				);
501
+			}
490 502
 		}
491 503
 
492 504
 		// If this is joinable then set it to show group membership in people's profiles.
493
-		if (empty($modSettings['show_group_membership']) && $_POST['group_type'] > 1)
494
-			updateSettings(array('show_group_membership' => 1));
505
+		if (empty($modSettings['show_group_membership']) && $_POST['group_type'] > 1) {
506
+					updateSettings(array('show_group_membership' => 1));
507
+		}
495 508
 
496 509
 		// Rebuild the group cache.
497 510
 		updateSettings(array(
@@ -512,8 +525,9 @@  discard block
 block discarded – undo
512 525
 	$context['undefined_group'] = !isset($_REQUEST['postgroup']) && !isset($_REQUEST['generalgroup']);
513 526
 	$context['allow_protected'] = allowedTo('admin_forum');
514 527
 
515
-	if (!empty($modSettings['deny_boards_access']))
516
-		loadLanguage('ManagePermissions');
528
+	if (!empty($modSettings['deny_boards_access'])) {
529
+			loadLanguage('ManagePermissions');
530
+	}
517 531
 
518 532
 	$result = $smcFunc['db_query']('', '
519 533
 		SELECT id_group, group_name
@@ -530,11 +544,12 @@  discard block
 block discarded – undo
530 544
 		)
531 545
 	);
532 546
 	$context['groups'] = array();
533
-	while ($row = $smcFunc['db_fetch_assoc']($result))
534
-		$context['groups'][] = array(
547
+	while ($row = $smcFunc['db_fetch_assoc']($result)) {
548
+			$context['groups'][] = array(
535 549
 			'id' => $row['id_group'],
536 550
 			'name' => $row['group_name']
537 551
 		);
552
+	}
538 553
 	$smcFunc['db_free_result']($result);
539 554
 
540 555
 	$request = $smcFunc['db_query']('', '
@@ -551,12 +566,13 @@  discard block
 block discarded – undo
551 566
 	while ($row = $smcFunc['db_fetch_assoc']($request))
552 567
 	{
553 568
 		// This category hasn't been set up yet..
554
-		if (!isset($context['categories'][$row['id_cat']]))
555
-			$context['categories'][$row['id_cat']] = array(
569
+		if (!isset($context['categories'][$row['id_cat']])) {
570
+					$context['categories'][$row['id_cat']] = array(
556 571
 				'id' => $row['id_cat'],
557 572
 				'name' => $row['cat_name'],
558 573
 				'boards' => array()
559 574
 			);
575
+		}
560 576
 
561 577
 		// Set this board up, and let the template know when it's a child.  (indent them..)
562 578
 		$context['categories'][$row['id_cat']]['boards'][$row['id_board']] = array(
@@ -604,8 +620,9 @@  discard block
 block discarded – undo
604 620
 	require_once($sourcedir . '/Subs-Membergroups.php');
605 621
 	$result = deleteMembergroups((int) $_REQUEST['group']);
606 622
 	// Need to throw a warning if it went wrong, but this is the only one we have a message for...
607
-	if ($result === 'group_cannot_delete_sub')
608
-		fatal_lang_error('membergroups_cannot_delete_paid', false);
623
+	if ($result === 'group_cannot_delete_sub') {
624
+			fatal_lang_error('membergroups_cannot_delete_paid', false);
625
+	}
609 626
 
610 627
 	// Go back to the membergroup index.
611 628
 	redirectexit('action=admin;area=membergroups;');
@@ -627,8 +644,9 @@  discard block
 block discarded – undo
627 644
 
628 645
 	$_REQUEST['group'] = isset($_REQUEST['group']) && $_REQUEST['group'] > 0 ? (int) $_REQUEST['group'] : 0;
629 646
 
630
-	if (!empty($modSettings['deny_boards_access']))
631
-		loadLanguage('ManagePermissions');
647
+	if (!empty($modSettings['deny_boards_access'])) {
648
+			loadLanguage('ManagePermissions');
649
+	}
632 650
 
633 651
 	// Make sure this group is editable.
634 652
 	if (!empty($_REQUEST['group']))
@@ -650,8 +668,9 @@  discard block
 block discarded – undo
650 668
 	}
651 669
 
652 670
 	// Now, do we have a valid id?
653
-	if (empty($_REQUEST['group']))
654
-		fatal_lang_error('membergroup_does_not_exist', false);
671
+	if (empty($_REQUEST['group'])) {
672
+			fatal_lang_error('membergroup_does_not_exist', false);
673
+	}
655 674
 
656 675
 	// People who can manage boards are a bit special.
657 676
 	require_once($sourcedir . '/Subs-Members.php');
@@ -682,8 +701,9 @@  discard block
 block discarded – undo
682 701
 		require_once($sourcedir . '/Subs-Membergroups.php');
683 702
 		$result = deleteMembergroups($_REQUEST['group']);
684 703
 		// Need to throw a warning if it went wrong, but this is the only one we have a message for...
685
-		if ($result === 'group_cannot_delete_sub')
686
-			fatal_lang_error('membergroups_cannot_delete_paid', false);
704
+		if ($result === 'group_cannot_delete_sub') {
705
+					fatal_lang_error('membergroups_cannot_delete_paid', false);
706
+		}
687 707
 
688 708
 		redirectexit('action=admin;area=membergroups;');
689 709
 	}
@@ -760,16 +780,18 @@  discard block
 block discarded – undo
760 780
 				$request = $smcFunc['db_query']('', '
761 781
 					SELECT id_board
762 782
 					FROM {db_prefix}boards');
763
-				while ($row = $smcFunc['db_fetch_assoc']($request))
764
-					$accesses[(int) $row['id_board']] = 'allow';
783
+				while ($row = $smcFunc['db_fetch_assoc']($request)) {
784
+									$accesses[(int) $row['id_board']] = 'allow';
785
+				}
765 786
 				$smcFunc['db_free_result']($request);
766 787
 			}
767 788
 
768 789
 			$changed_boards['allow'] = array();
769 790
 			$changed_boards['deny'] = array();
770 791
 			$changed_boards['ignore'] = array();
771
-			foreach ($accesses as $group_id => $action)
772
-				$changed_boards[$action][] = (int) $group_id;
792
+			foreach ($accesses as $group_id => $action) {
793
+							$changed_boards[$action][] = (int) $group_id;
794
+			}
773 795
 
774 796
 			foreach (array('allow', 'deny') as $board_action)
775 797
 			{
@@ -785,8 +807,8 @@  discard block
 block discarded – undo
785 807
 						'column' => $board_action == 'allow' ? 'member_groups' : 'deny_member_groups',
786 808
 					)
787 809
 				);
788
-				while ($row = $smcFunc['db_fetch_assoc']($request))
789
-					$smcFunc['db_query']('', '
810
+				while ($row = $smcFunc['db_fetch_assoc']($request)) {
811
+									$smcFunc['db_query']('', '
790 812
 						UPDATE {db_prefix}boards
791 813
 						SET {raw:column} = {string:member_group_access}
792 814
 						WHERE id_board = {int:current_board}',
@@ -796,11 +818,12 @@  discard block
 block discarded – undo
796 818
 							'column' => $board_action == 'allow' ? 'member_groups' : 'deny_member_groups',
797 819
 						)
798 820
 					);
821
+				}
799 822
 				$smcFunc['db_free_result']($request);
800 823
 
801 824
 				// Add the membergroup to all boards that hadn't been set yet.
802
-				if (!empty($changed_boards[$board_action]))
803
-					$smcFunc['db_query']('', '
825
+				if (!empty($changed_boards[$board_action])) {
826
+									$smcFunc['db_query']('', '
804 827
 						UPDATE {db_prefix}boards
805 828
 						SET {raw:column} = CASE WHEN {raw:column} = {string:blank_string} THEN {string:group_id_string} ELSE CONCAT({raw:column}, {string:comma_group}) END
806 829
 						WHERE id_board IN ({array_int:board_list})
@@ -814,6 +837,7 @@  discard block
 block discarded – undo
814 837
 							'column' => $board_action == 'allow' ? 'member_groups' : 'deny_member_groups',
815 838
 						)
816 839
 					);
840
+				}
817 841
 			}
818 842
 		}
819 843
 
@@ -839,12 +863,14 @@  discard block
 block discarded – undo
839 863
 				)
840 864
 			);
841 865
 			$updates = array();
842
-			while ($row = $smcFunc['db_fetch_assoc']($request))
843
-				$updates[$row['additional_groups']][] = $row['id_member'];
866
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
867
+							$updates[$row['additional_groups']][] = $row['id_member'];
868
+			}
844 869
 			$smcFunc['db_free_result']($request);
845 870
 
846
-			foreach ($updates as $additional_groups => $memberArray)
847
-				updateMemberData($memberArray, array('additional_groups' => implode(',', array_diff(explode(',', $additional_groups), array((int) $_REQUEST['group'])))));
871
+			foreach ($updates as $additional_groups => $memberArray) {
872
+							updateMemberData($memberArray, array('additional_groups' => implode(',', array_diff(explode(',', $additional_groups), array((int) $_REQUEST['group'])))));
873
+			}
848 874
 
849 875
 			// Sorry, but post groups can't moderate boards
850 876
 			$smcFunc['db_query']('', '
@@ -854,8 +880,7 @@  discard block
 block discarded – undo
854 880
 					'current_group' => (int) $_REQUEST['group'],
855 881
 				)
856 882
 			);
857
-		}
858
-		elseif ($_REQUEST['group'] != 3)
883
+		} elseif ($_REQUEST['group'] != 3)
859 884
 		{
860 885
 			// Making it a hidden group? If so remove everyone with it as primary group (Actually, just make them additional).
861 886
 			if ($_POST['group_hidden'] == 2)
@@ -870,8 +895,9 @@  discard block
 block discarded – undo
870 895
 					)
871 896
 				);
872 897
 				$updates = array();
873
-				while ($row = $smcFunc['db_fetch_assoc']($request))
874
-					$updates[$row['additional_groups']][] = $row['id_member'];
898
+				while ($row = $smcFunc['db_fetch_assoc']($request)) {
899
+									$updates[$row['additional_groups']][] = $row['id_member'];
900
+				}
875 901
 				$smcFunc['db_free_result']($request);
876 902
 
877 903
 				foreach ($updates as $additional_groups => $memberArray)
@@ -913,8 +939,9 @@  discard block
 block discarded – undo
913 939
 			$smcFunc['db_free_result']($request);
914 940
 
915 941
 			// Do we need to update the setting?
916
-			if ((empty($modSettings['show_group_membership']) && $have_joinable) || (!empty($modSettings['show_group_membership']) && !$have_joinable))
917
-				updateSettings(array('show_group_membership' => $have_joinable ? 1 : 0));
942
+			if ((empty($modSettings['show_group_membership']) && $have_joinable) || (!empty($modSettings['show_group_membership']) && !$have_joinable)) {
943
+							updateSettings(array('show_group_membership' => $have_joinable ? 1 : 0));
944
+			}
918 945
 		}
919 946
 
920 947
 		// Do we need to set inherited permissions?
@@ -947,8 +974,9 @@  discard block
 block discarded – undo
947 974
 				{
948 975
 					$moderators[$k] = trim($moderators[$k]);
949 976
 
950
-					if (strlen($moderators[$k]) == 0)
951
-						unset($moderators[$k]);
977
+					if (strlen($moderators[$k]) == 0) {
978
+											unset($moderators[$k]);
979
+					}
952 980
 				}
953 981
 
954 982
 				// Find all the id_member's for the member_name's in the list.
@@ -964,8 +992,9 @@  discard block
 block discarded – undo
964 992
 							'count' => count($moderators),
965 993
 						)
966 994
 					);
967
-					while ($row = $smcFunc['db_fetch_assoc']($request))
968
-						$group_moderators[] = $row['id_member'];
995
+					while ($row = $smcFunc['db_fetch_assoc']($request)) {
996
+											$group_moderators[] = $row['id_member'];
997
+					}
969 998
 					$smcFunc['db_free_result']($request);
970 999
 				}
971 1000
 			}
@@ -973,8 +1002,9 @@  discard block
 block discarded – undo
973 1002
 			if (!empty($_POST['moderator_list']))
974 1003
 			{
975 1004
 				$moderators = array();
976
-				foreach ($_POST['moderator_list'] as $moderator)
977
-					$moderators[] = (int) $moderator;
1005
+				foreach ($_POST['moderator_list'] as $moderator) {
1006
+									$moderators[] = (int) $moderator;
1007
+				}
978 1008
 
979 1009
 				if (!empty($moderators))
980 1010
 				{
@@ -988,8 +1018,9 @@  discard block
 block discarded – undo
988 1018
 							'num_moderators' => count($moderators),
989 1019
 						)
990 1020
 					);
991
-					while ($row = $smcFunc['db_fetch_assoc']($request))
992
-						$group_moderators[] = $row['id_member'];
1021
+					while ($row = $smcFunc['db_fetch_assoc']($request)) {
1022
+											$group_moderators[] = $row['id_member'];
1023
+					}
993 1024
 					$smcFunc['db_free_result']($request);
994 1025
 				}
995 1026
 			}
@@ -1001,8 +1032,9 @@  discard block
 block discarded – undo
1001 1032
 			if (!empty($group_moderators))
1002 1033
 			{
1003 1034
 				$mod_insert = array();
1004
-				foreach ($group_moderators as $moderator)
1005
-					$mod_insert[] = array($_REQUEST['group'], $moderator);
1035
+				foreach ($group_moderators as $moderator) {
1036
+									$mod_insert[] = array($_REQUEST['group'], $moderator);
1037
+				}
1006 1038
 
1007 1039
 				$smcFunc['db_insert']('insert',
1008 1040
 					'{db_prefix}group_moderators',
@@ -1036,8 +1068,9 @@  discard block
 block discarded – undo
1036 1068
 			'current_group' => (int) $_REQUEST['group'],
1037 1069
 		)
1038 1070
 	);
1039
-	if ($smcFunc['db_num_rows']($request) == 0)
1040
-		fatal_lang_error('membergroup_does_not_exist', false);
1071
+	if ($smcFunc['db_num_rows']($request) == 0) {
1072
+			fatal_lang_error('membergroup_does_not_exist', false);
1073
+	}
1041 1074
 	$row = $smcFunc['db_fetch_assoc']($request);
1042 1075
 	$smcFunc['db_free_result']($request);
1043 1076
 
@@ -1074,14 +1107,16 @@  discard block
 block discarded – undo
1074 1107
 		)
1075 1108
 	);
1076 1109
 	$context['group']['moderators'] = array();
1077
-	while ($row = $smcFunc['db_fetch_assoc']($request))
1078
-		$context['group']['moderators'][$row['id_member']] = $row['real_name'];
1110
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1111
+			$context['group']['moderators'][$row['id_member']] = $row['real_name'];
1112
+	}
1079 1113
 	$smcFunc['db_free_result']($request);
1080 1114
 
1081 1115
 	$context['group']['moderator_list'] = empty($context['group']['moderators']) ? '' : '&quot;' . implode('&quot;, &quot;', $context['group']['moderators']) . '&quot;';
1082 1116
 
1083
-	if (!empty($context['group']['moderators']))
1084
-		list ($context['group']['last_moderator_id']) = array_slice(array_keys($context['group']['moderators']), -1);
1117
+	if (!empty($context['group']['moderators'])) {
1118
+			list ($context['group']['last_moderator_id']) = array_slice(array_keys($context['group']['moderators']), -1);
1119
+	}
1085 1120
 
1086 1121
 	// Get a list of boards this membergroup is allowed to see.
1087 1122
 	$context['boards'] = array();
@@ -1101,12 +1136,13 @@  discard block
 block discarded – undo
1101 1136
 		while ($row = $smcFunc['db_fetch_assoc']($request))
1102 1137
 		{
1103 1138
 			// This category hasn't been set up yet..
1104
-			if (!isset($context['categories'][$row['id_cat']]))
1105
-				$context['categories'][$row['id_cat']] = array(
1139
+			if (!isset($context['categories'][$row['id_cat']])) {
1140
+							$context['categories'][$row['id_cat']] = array(
1106 1141
 					'id' => $row['id_cat'],
1107 1142
 					'name' => $row['cat_name'],
1108 1143
 					'boards' => array()
1109 1144
 				);
1145
+			}
1110 1146
 
1111 1147
 			// Set this board up, and let the template know when it's a child.  (indent them..)
1112 1148
 			$context['categories'][$row['id_cat']]['boards'][$row['id_board']] = array(
@@ -1154,19 +1190,22 @@  discard block
 block discarded – undo
1154 1190
 				$image_info = getimagesize($settings['default_theme_dir'] . '/images/membericons/' . $value);
1155 1191
 
1156 1192
 				// If this is bigger than 128 in width or 32 in height, skip this one.
1157
-				if ($image_info == false || $image_info[0] > 128 || $image_info[1] > 32)
1158
-					continue;
1193
+				if ($image_info == false || $image_info[0] > 128 || $image_info[1] > 32) {
1194
+									continue;
1195
+				}
1159 1196
 
1160 1197
 				// Else it's valid. Add it in.
1161
-				else
1162
-					$context['possible_icons'][] = $value;
1198
+				else {
1199
+									$context['possible_icons'][] = $value;
1200
+				}
1163 1201
 			}
1164 1202
 		}
1165 1203
 	}
1166 1204
 
1167 1205
 	// Insert our JS, if we have possible icons.
1168
-	if (!empty($context['possible_icons']))
1169
-		loadJavaScriptFile('icondropdown.js', array('validate' => true, 'minimize' => true), 'smf_icondropdown');
1206
+	if (!empty($context['possible_icons'])) {
1207
+			loadJavaScriptFile('icondropdown.js', array('validate' => true, 'minimize' => true), 'smf_icondropdown');
1208
+	}
1170 1209
 
1171 1210
 	loadJavaScriptFile('suggest.js', array('defer' => false, 'minimize' => true), 'smf_suggest');
1172 1211
 
@@ -1188,8 +1227,9 @@  discard block
 block discarded – undo
1188 1227
 		)
1189 1228
 	);
1190 1229
 	$context['inheritable_groups'] = array();
1191
-	while ($row = $smcFunc['db_fetch_assoc']($request))
1192
-		$context['inheritable_groups'][$row['id_group']] = $row['group_name'];
1230
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1231
+			$context['inheritable_groups'][$row['id_group']] = $row['group_name'];
1232
+	}
1193 1233
 	$smcFunc['db_free_result']($request);
1194 1234
 
1195 1235
 	call_integration_hook('integrate_view_membergroup');
Please login to merge, or discard this patch.
Sources/Groups.php 1 patch
Braces   +80 added lines, -59 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 4
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	die('No direct access...');
18
+}
18 19
 
19 20
 /**
20 21
  * Entry point function, permission checks, admin bars, etc.
@@ -99,27 +100,27 @@  discard block
 block discarded – undo
99 100
 					'function' => function($rowData) use ($scripturl)
100 101
 					{
101 102
 						// Since the moderator group has no explicit members, no link is needed.
102
-						if ($rowData['id_group'] == 3)
103
-							$group_name = $rowData['group_name'];
104
-						else
103
+						if ($rowData['id_group'] == 3) {
104
+													$group_name = $rowData['group_name'];
105
+						} else
105 106
 						{
106 107
 							$color_style = empty($rowData['online_color']) ? '' : sprintf(' style="color: %1$s;"', $rowData['online_color']);
107 108
 
108 109
 							if (allowedTo('manage_membergroups'))
109 110
 							{
110 111
 								$group_name = sprintf('<a href="%1$s?action=admin;area=membergroups;sa=members;group=%2$d"%3$s>%4$s</a>', $scripturl, $rowData['id_group'], $color_style, $rowData['group_name']);
111
-							}
112
-							else
112
+							} else
113 113
 							{
114 114
 								$group_name = sprintf('<a href="%1$s?action=groups;sa=members;group=%2$d"%3$s>%4$s</a>', $scripturl, $rowData['id_group'], $color_style, $rowData['group_name']);
115 115
 							}
116 116
 						}
117 117
 
118 118
 						// Add a help option for moderator and administrator.
119
-						if ($rowData['id_group'] == 1)
120
-							$group_name .= sprintf(' (<a href="%1$s?action=helpadmin;help=membergroup_administrator" onclick="return reqOverlayDiv(this.href);">?</a>)', $scripturl);
121
-						elseif ($rowData['id_group'] == 3)
122
-							$group_name .= sprintf(' (<a href="%1$s?action=helpadmin;help=membergroup_moderator" onclick="return reqOverlayDiv(this.href);">?</a>)', $scripturl);
119
+						if ($rowData['id_group'] == 1) {
120
+													$group_name .= sprintf(' (<a href="%1$s?action=helpadmin;help=membergroup_administrator" onclick="return reqOverlayDiv(this.href);">?</a>)', $scripturl);
121
+						} elseif ($rowData['id_group'] == 3) {
122
+													$group_name .= sprintf(' (<a href="%1$s?action=helpadmin;help=membergroup_moderator" onclick="return reqOverlayDiv(this.href);">?</a>)', $scripturl);
123
+						}
123 124
 
124 125
 						return $group_name;
125 126
 					},
@@ -198,8 +199,9 @@  discard block
 block discarded – undo
198 199
 	$_REQUEST['group'] = isset($_REQUEST['group']) ? (int) $_REQUEST['group'] : 0;
199 200
 
200 201
 	// No browsing of guests, membergroup 0 or moderators.
201
-	if (in_array($_REQUEST['group'], array(-1, 0, 3)))
202
-		fatal_lang_error('membergroup_does_not_exist', false);
202
+	if (in_array($_REQUEST['group'], array(-1, 0, 3))) {
203
+			fatal_lang_error('membergroup_does_not_exist', false);
204
+	}
203 205
 
204 206
 	// Load up the group details.
205 207
 	$request = $smcFunc['db_query']('', '
@@ -214,8 +216,9 @@  discard block
 block discarded – undo
214 216
 		)
215 217
 	);
216 218
 	// Doesn't exist?
217
-	if ($smcFunc['db_num_rows']($request) == 0)
218
-		fatal_lang_error('membergroup_does_not_exist', false);
219
+	if ($smcFunc['db_num_rows']($request) == 0) {
220
+			fatal_lang_error('membergroup_does_not_exist', false);
221
+	}
219 222
 	$context['group'] = $smcFunc['db_fetch_assoc']($request);
220 223
 	$smcFunc['db_free_result']($request);
221 224
 
@@ -248,21 +251,25 @@  discard block
 block discarded – undo
248 251
 			'name' => $row['real_name']
249 252
 		);
250 253
 
251
-		if ($user_info['id'] == $row['id_member'] && $context['group']['group_type'] != 1)
252
-			$context['group']['can_moderate'] = true;
254
+		if ($user_info['id'] == $row['id_member'] && $context['group']['group_type'] != 1) {
255
+					$context['group']['can_moderate'] = true;
256
+		}
253 257
 	}
254 258
 	$smcFunc['db_free_result']($request);
255 259
 
256 260
 	// If this group is hidden then it can only "exists" if the user can moderate it!
257
-	if ($context['group']['hidden'] && !$context['group']['can_moderate'])
258
-		fatal_lang_error('membergroup_does_not_exist', false);
261
+	if ($context['group']['hidden'] && !$context['group']['can_moderate']) {
262
+			fatal_lang_error('membergroup_does_not_exist', false);
263
+	}
259 264
 
260 265
 	// You can only assign membership if you are the moderator and/or can manage groups!
261
-	if (!$context['group']['can_moderate'])
262
-		$context['group']['assignable'] = 0;
266
+	if (!$context['group']['can_moderate']) {
267
+			$context['group']['assignable'] = 0;
268
+	}
263 269
 	// Non-admins cannot assign admins.
264
-	elseif ($context['group']['id'] == 1 && !allowedTo('admin_forum'))
265
-		$context['group']['assignable'] = 0;
270
+	elseif ($context['group']['id'] == 1 && !allowedTo('admin_forum')) {
271
+			$context['group']['assignable'] = 0;
272
+	}
266 273
 
267 274
 	// Removing member from group?
268 275
 	if (isset($_POST['remove']) && !empty($_REQUEST['rem']) && is_array($_REQUEST['rem']) && $context['group']['assignable'])
@@ -271,8 +278,9 @@  discard block
 block discarded – undo
271 278
 		validateToken('mod-mgm');
272 279
 
273 280
 		// Make sure we're dealing with integers only.
274
-		foreach ($_REQUEST['rem'] as $key => $group)
275
-			$_REQUEST['rem'][$key] = (int) $group;
281
+		foreach ($_REQUEST['rem'] as $key => $group) {
282
+					$_REQUEST['rem'][$key] = (int) $group;
283
+		}
276 284
 
277 285
 		require_once($sourcedir . '/Subs-Membergroups.php');
278 286
 		removeMembersFromGroups($_REQUEST['rem'], $_REQUEST['group'], true);
@@ -295,16 +303,18 @@  discard block
 block discarded – undo
295 303
 		{
296 304
 			$member_names[$index] = trim($smcFunc['strtolower']($member_names[$index]));
297 305
 
298
-			if (strlen($member_names[$index]) == 0)
299
-				unset($member_names[$index]);
306
+			if (strlen($member_names[$index]) == 0) {
307
+							unset($member_names[$index]);
308
+			}
300 309
 		}
301 310
 
302 311
 		// Any passed by ID?
303 312
 		$member_ids = array();
304
-		if (!empty($_REQUEST['member_add']))
305
-			foreach ($_REQUEST['member_add'] as $id)
313
+		if (!empty($_REQUEST['member_add'])) {
314
+					foreach ($_REQUEST['member_add'] as $id)
306 315
 				if ($id > 0)
307 316
 					$member_ids[] = (int) $id;
317
+		}
308 318
 
309 319
 		// Construct the query pelements.
310 320
 		if (!empty($member_ids))
@@ -332,8 +342,9 @@  discard block
 block discarded – undo
332 342
 					'id_group' => $_REQUEST['group'],
333 343
 				))
334 344
 			);
335
-			while ($row = $smcFunc['db_fetch_assoc']($request))
336
-				$members[] = $row['id_member'];
345
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
346
+							$members[] = $row['id_member'];
347
+			}
337 348
 			$smcFunc['db_free_result']($request);
338 349
 		}
339 350
 
@@ -372,10 +383,11 @@  discard block
 block discarded – undo
372 383
 	$context['sort_direction'] = isset($_REQUEST['desc']) ? 'down' : 'up';
373 384
 
374 385
 	// The where on the query is interesting. Non-moderators should only see people who are in this group as primary.
375
-	if ($context['group']['can_moderate'])
376
-		$where = $context['group']['is_post_group'] ? 'id_post_group = {int:group}' : 'id_group = {int:group} OR FIND_IN_SET({int:group}, additional_groups) != 0';
377
-	else
378
-		$where = $context['group']['is_post_group'] ? 'id_post_group = {int:group}' : 'id_group = {int:group}';
386
+	if ($context['group']['can_moderate']) {
387
+			$where = $context['group']['is_post_group'] ? 'id_post_group = {int:group}' : 'id_group = {int:group} OR FIND_IN_SET({int:group}, additional_groups) != 0';
388
+	} else {
389
+			$where = $context['group']['is_post_group'] ? 'id_post_group = {int:group}' : 'id_group = {int:group}';
390
+	}
379 391
 
380 392
 	// Count members of the group.
381 393
 	$request = $smcFunc['db_query']('', '
@@ -416,8 +428,9 @@  discard block
 block discarded – undo
416 428
 		$last_online = empty($row['last_login']) ? $txt['never'] : timeformat($row['last_login']);
417 429
 
418 430
 		// Italicize the online note if they aren't activated.
419
-		if ($row['is_activated'] % 10 != 1)
420
-			$last_online = '<em title="' . $txt['not_activated'] . '">' . $last_online . '</em>';
431
+		if ($row['is_activated'] % 10 != 1) {
432
+					$last_online = '<em title="' . $txt['not_activated'] . '">' . $last_online . '</em>';
433
+		}
421 434
 
422 435
 		$context['members'][] = array(
423 436
 			'id' => $row['id_member'],
@@ -437,9 +450,10 @@  discard block
 block discarded – undo
437 450
 	$context['page_title'] = $txt['membergroups_members_title'] . ': ' . $context['group']['name'];
438 451
 	createToken('mod-mgm');
439 452
 
440
-	if ($context['group']['assignable'])
441
-		loadJavaScriptFile('suggest.js', array('defer' => false, 'minimize' => true), 'smf_suggest');
442
-}
453
+	if ($context['group']['assignable']) {
454
+			loadJavaScriptFile('suggest.js', array('defer' => false, 'minimize' => true), 'smf_suggest');
455
+	}
456
+	}
443 457
 
444 458
 /**
445 459
  * Show and manage all group requests.
@@ -453,16 +467,18 @@  discard block
 block discarded – undo
453 467
 	$context['sub_template'] = 'show_list';
454 468
 
455 469
 	// Verify we can be here.
456
-	if ($user_info['mod_cache']['gq'] == '0=1')
457
-		isAllowedTo('manage_membergroups');
470
+	if ($user_info['mod_cache']['gq'] == '0=1') {
471
+			isAllowedTo('manage_membergroups');
472
+	}
458 473
 
459 474
 	// Normally, we act normally...
460 475
 	$where = ($user_info['mod_cache']['gq'] == '1=1' || $user_info['mod_cache']['gq'] == '0=1' ? $user_info['mod_cache']['gq'] : 'lgr.' . $user_info['mod_cache']['gq']);
461 476
 
462
-	if (isset($_GET['closed']))
463
-		$where .= ' AND lgr.status != {int:status_open}';
464
-	else
465
-		$where .= ' AND lgr.status = {int:status_open}';
477
+	if (isset($_GET['closed'])) {
478
+			$where .= ' AND lgr.status != {int:status_open}';
479
+	} else {
480
+			$where .= ' AND lgr.status = {int:status_open}';
481
+	}
466 482
 
467 483
 	$where_parameters = array(
468 484
 		'status_open' => 0,
@@ -475,8 +491,9 @@  discard block
 block discarded – undo
475 491
 		validateToken('mod-gr');
476 492
 
477 493
 		// Clean the values.
478
-		foreach ($_POST['groupr'] as $k => $request)
479
-			$_POST['groupr'][$k] = (int) $request;
494
+		foreach ($_POST['groupr'] as $k => $request) {
495
+					$_POST['groupr'][$k] = (int) $request;
496
+		}
480 497
 
481 498
 		$log_changes = array();
482 499
 
@@ -513,8 +530,8 @@  discard block
 block discarded – undo
513 530
 			$request_list = array();
514 531
 			while ($row = $smcFunc['db_fetch_assoc']($request))
515 532
 			{
516
-				if (!isset($log_changes[$row['id_request']]))
517
-					$log_changes[$row['id_request']] = array(
533
+				if (!isset($log_changes[$row['id_request']])) {
534
+									$log_changes[$row['id_request']] = array(
518 535
 						'id_request' => $row['id_request'],
519 536
 						'status' => $_POST['req_action'] == 'approve' ? 1 : 2, // 1 = approved, 2 = rejected
520 537
 						'id_member_acted' => $user_info['id'],
@@ -522,6 +539,7 @@  discard block
 block discarded – undo
522 539
 						'time_acted' => time(),
523 540
 						'act_reason' => $_POST['req_action'] != 'approve' && !empty($_POST['groupreason']) && !empty($_POST['groupreason'][$row['id_request']]) ? $smcFunc['htmlspecialchars']($_POST['groupreason'][$row['id_request']], ENT_QUOTES) : '',
524 541
 					);
542
+				}
525 543
 				$request_list[] = $row['id_request'];
526 544
 			}
527 545
 			$smcFunc['db_free_result']($request);
@@ -744,21 +762,24 @@  discard block
 block discarded – undo
744 762
 	$group_requests = array();
745 763
 	while ($row = $smcFunc['db_fetch_assoc']($request))
746 764
 	{
747
-		if (empty($row['reason']))
748
-			$reason = '<em>(' . $txt['mc_groupr_no_reason'] . ')</em>';
749
-		else
750
-			$reason = censorText($row['reason']);
765
+		if (empty($row['reason'])) {
766
+					$reason = '<em>(' . $txt['mc_groupr_no_reason'] . ')</em>';
767
+		} else {
768
+					$reason = censorText($row['reason']);
769
+		}
751 770
 
752 771
 		if (isset($_GET['closed']))
753 772
 		{
754
-			if ($row['status'] == 1)
755
-				$reason .= '<br><br><strong>' . $txt['mc_groupr_approved'] . '</strong>';
756
-			elseif ($row['status'] == 2)
757
-				$reason .= '<br><br><strong>' . $txt['mc_groupr_rejected'] . '</strong>';
773
+			if ($row['status'] == 1) {
774
+							$reason .= '<br><br><strong>' . $txt['mc_groupr_approved'] . '</strong>';
775
+			} elseif ($row['status'] == 2) {
776
+							$reason .= '<br><br><strong>' . $txt['mc_groupr_rejected'] . '</strong>';
777
+			}
758 778
 
759 779
 				$reason .= ' (' . timeformat($row['time_acted']) . ')';
760
-			if (!empty($row['act_reason']))
761
-				$reason .= '<br><br>' . censorText($row['act_reason']);
780
+			if (!empty($row['act_reason'])) {
781
+							$reason .= '<br><br>' . censorText($row['act_reason']);
782
+			}
762 783
 		}
763 784
 
764 785
 		$group_requests[] = array(
Please login to merge, or discard this patch.
Sources/ManageBoards.php 1 patch
Braces   +147 added lines, -114 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 4
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	die('No direct access...');
18
+}
18 19
 
19 20
 /**
20 21
  * The main dispatcher; doesn't do anything, just delegates.
@@ -92,18 +93,19 @@  discard block
 block discarded – undo
92 93
 		checkSession('get');
93 94
 		validateToken('admin-bm-' . (int) $_REQUEST['src_board'], 'request');
94 95
 
95
-		if ($_REQUEST['move_to'] === 'top')
96
-			$boardOptions = array(
96
+		if ($_REQUEST['move_to'] === 'top') {
97
+					$boardOptions = array(
97 98
 				'move_to' => $_REQUEST['move_to'],
98 99
 				'target_category' => (int) $_REQUEST['target_cat'],
99 100
 				'move_first_child' => true,
100 101
 			);
101
-		else
102
-			$boardOptions = array(
102
+		} else {
103
+					$boardOptions = array(
103 104
 				'move_to' => $_REQUEST['move_to'],
104 105
 				'target_board' => (int) $_REQUEST['target_board'],
105 106
 				'move_first_child' => true,
106 107
 			);
108
+		}
107 109
 		modifyBoard((int) $_REQUEST['src_board'], $boardOptions);
108 110
 	}
109 111
 
@@ -148,15 +150,16 @@  discard block
 block discarded – undo
148 150
 			$security = $context['session_var'] . '=' . $context['session_id'] . ';' . $context['admin-bm-' . $context['move_board'] . '_token_var'] . '=' . $context['admin-bm-' . $context['move_board'] . '_token'];
149 151
 			foreach ($boardList[$catid] as $boardid)
150 152
 			{
151
-				if (!isset($context['categories'][$catid]['move_link']))
152
-					$context['categories'][$catid]['move_link'] = array(
153
+				if (!isset($context['categories'][$catid]['move_link'])) {
154
+									$context['categories'][$catid]['move_link'] = array(
153 155
 						'child_level' => 0,
154 156
 						'label' => $txt['mboards_order_before'] . ' \'' . $smcFunc['htmlspecialchars']($boards[$boardid]['name']) . '\'',
155 157
 						'href' => $scripturl . '?action=admin;area=manageboards;sa=move;src_board=' . $context['move_board'] . ';target_board=' . $boardid . ';move_to=before;' . $security,
156 158
 					);
159
+				}
157 160
 
158
-				if (!$context['categories'][$catid]['boards'][$boardid]['move'])
159
-				$context['categories'][$catid]['boards'][$boardid]['move_links'] = array(
161
+				if (!$context['categories'][$catid]['boards'][$boardid]['move']) {
162
+								$context['categories'][$catid]['boards'][$boardid]['move_links'] = array(
160 163
 					array(
161 164
 						'child_level' => $boards[$boardid]['level'],
162 165
 						'label' => $txt['mboards_order_after'] . '\'' . $smcFunc['htmlspecialchars']($boards[$boardid]['name']) . '\'',
@@ -170,34 +173,39 @@  discard block
 block discarded – undo
170 173
 						'class' => 'here',
171 174
 					),
172 175
 				);
176
+				}
173 177
 
174 178
 				$difference = $boards[$boardid]['level'] - $prev_child_level;
175
-				if ($difference == 1)
176
-					array_push($stack, !empty($context['categories'][$catid]['boards'][$prev_board]['move_links']) ? array_shift($context['categories'][$catid]['boards'][$prev_board]['move_links']) : null);
177
-				elseif ($difference < 0)
179
+				if ($difference == 1) {
180
+									array_push($stack, !empty($context['categories'][$catid]['boards'][$prev_board]['move_links']) ? array_shift($context['categories'][$catid]['boards'][$prev_board]['move_links']) : null);
181
+				} elseif ($difference < 0)
178 182
 				{
179
-					if (empty($context['categories'][$catid]['boards'][$prev_board]['move_links']))
180
-						$context['categories'][$catid]['boards'][$prev_board]['move_links'] = array();
181
-					for ($i = 0; $i < -$difference; $i++)
182
-						if (($temp = array_pop($stack)) != null)
183
+					if (empty($context['categories'][$catid]['boards'][$prev_board]['move_links'])) {
184
+											$context['categories'][$catid]['boards'][$prev_board]['move_links'] = array();
185
+					}
186
+					for ($i = 0; $i < -$difference; $i++) {
187
+											if (($temp = array_pop($stack)) != null)
183 188
 							array_unshift($context['categories'][$catid]['boards'][$prev_board]['move_links'], $temp);
189
+					}
184 190
 				}
185 191
 
186 192
 				$prev_board = $boardid;
187 193
 				$prev_child_level = $boards[$boardid]['level'];
188 194
 
189 195
 			}
190
-			if (!empty($stack) && !empty($context['categories'][$catid]['boards'][$prev_board]['move_links']))
191
-				$context['categories'][$catid]['boards'][$prev_board]['move_links'] = array_merge($stack, $context['categories'][$catid]['boards'][$prev_board]['move_links']);
192
-			elseif (!empty($stack))
193
-				$context['categories'][$catid]['boards'][$prev_board]['move_links'] = $stack;
196
+			if (!empty($stack) && !empty($context['categories'][$catid]['boards'][$prev_board]['move_links'])) {
197
+							$context['categories'][$catid]['boards'][$prev_board]['move_links'] = array_merge($stack, $context['categories'][$catid]['boards'][$prev_board]['move_links']);
198
+			} elseif (!empty($stack)) {
199
+							$context['categories'][$catid]['boards'][$prev_board]['move_links'] = $stack;
200
+			}
194 201
 
195
-			if (empty($boardList[$catid]))
196
-				$context['categories'][$catid]['move_link'] = array(
202
+			if (empty($boardList[$catid])) {
203
+							$context['categories'][$catid]['move_link'] = array(
197 204
 					'child_level' => 0,
198 205
 					'label' => $txt['mboards_order_before'] . ' \'' . $smcFunc['htmlspecialchars']($tree['node']['name']) . '\'',
199 206
 					'href' => $scripturl . '?action=admin;area=manageboards;sa=move;src_board=' . $context['move_board'] . ';target_cat=' . $catid . ';move_to=top;' . $security,
200 207
 				);
208
+			}
201 209
 		}
202 210
 	}
203 211
 
@@ -253,9 +261,9 @@  discard block
 block discarded – undo
253 261
 		);
254 262
 	}
255 263
 	// Category doesn't exist, man... sorry.
256
-	elseif (!isset($cat_tree[$_REQUEST['cat']]))
257
-		redirectexit('action=admin;area=manageboards');
258
-	else
264
+	elseif (!isset($cat_tree[$_REQUEST['cat']])) {
265
+			redirectexit('action=admin;area=manageboards');
266
+	} else
259 267
 	{
260 268
 		$context['category'] = array(
261 269
 			'id' => $_REQUEST['cat'],
@@ -267,30 +275,31 @@  discard block
 block discarded – undo
267 275
 			'is_empty' => empty($cat_tree[$_REQUEST['cat']]['children'])
268 276
 		);
269 277
 
270
-		foreach ($boardList[$_REQUEST['cat']] as $child_board)
271
-			$context['category']['children'][] = str_repeat('-', $boards[$child_board]['level']) . ' ' . $boards[$child_board]['name'];
278
+		foreach ($boardList[$_REQUEST['cat']] as $child_board) {
279
+					$context['category']['children'][] = str_repeat('-', $boards[$child_board]['level']) . ' ' . $boards[$child_board]['name'];
280
+		}
272 281
 	}
273 282
 
274 283
 	$prevCat = 0;
275 284
 	foreach ($cat_tree as $catid => $tree)
276 285
 	{
277
-		if ($catid == $_REQUEST['cat'] && $prevCat > 0)
278
-			$context['category_order'][$prevCat]['selected'] = true;
279
-		elseif ($catid != $_REQUEST['cat'])
280
-			$context['category_order'][$catid] = array(
286
+		if ($catid == $_REQUEST['cat'] && $prevCat > 0) {
287
+					$context['category_order'][$prevCat]['selected'] = true;
288
+		} elseif ($catid != $_REQUEST['cat']) {
289
+					$context['category_order'][$catid] = array(
281 290
 				'id' => $catid,
282 291
 				'name' => $txt['mboards_order_after'] . $tree['node']['name'],
283 292
 				'selected' => false,
284 293
 				'true_name' => $tree['node']['name']
285 294
 			);
295
+		}
286 296
 		$prevCat = $catid;
287 297
 	}
288 298
 	if (!isset($_REQUEST['delete']))
289 299
 	{
290 300
 		$context['sub_template'] = 'modify_category';
291 301
 		$context['page_title'] = $_REQUEST['sa'] == 'newcat' ? $txt['mboards_new_cat_name'] : $txt['catEdit'];
292
-	}
293
-	else
302
+	} else
294 303
 	{
295 304
 		$context['sub_template'] = 'confirm_category_delete';
296 305
 		$context['page_title'] = $txt['mboards_delete_cat'];
@@ -327,8 +336,9 @@  discard block
 block discarded – undo
327 336
 	{
328 337
 		$catOptions = array();
329 338
 
330
-		if (isset($_POST['cat_order']))
331
-			$catOptions['move_after'] = (int) $_POST['cat_order'];
339
+		if (isset($_POST['cat_order'])) {
340
+					$catOptions['move_after'] = (int) $_POST['cat_order'];
341
+		}
332 342
 
333 343
 		// Change "This & That" to "This &amp; That" but don't change "&cent" to "&amp;cent;"...
334 344
 		$catOptions['cat_name'] = parse_bbc($smcFunc['htmlspecialchars']($_POST['cat_name']), false, '', $context['description_allowed_tags']);
@@ -336,10 +346,11 @@  discard block
 block discarded – undo
336 346
 
337 347
 		$catOptions['is_collapsible'] = isset($_POST['collapse']);
338 348
 
339
-		if (isset($_POST['add']))
340
-			createCategory($catOptions);
341
-		else
342
-			modifyCategory($_POST['cat'], $catOptions);
349
+		if (isset($_POST['add'])) {
350
+					createCategory($catOptions);
351
+		} else {
352
+					modifyCategory($_POST['cat'], $catOptions);
353
+		}
343 354
 	}
344 355
 	// If they want to delete - first give them confirmation.
345 356
 	elseif (isset($_POST['delete']) && !isset($_POST['confirmation']) && !isset($_POST['empty']))
@@ -353,13 +364,14 @@  discard block
 block discarded – undo
353 364
 		// First off - check if we are moving all the current boards first - before we start deleting!
354 365
 		if (isset($_POST['delete_action']) && $_POST['delete_action'] == 1)
355 366
 		{
356
-			if (empty($_POST['cat_to']))
357
-				fatal_lang_error('mboards_delete_error');
367
+			if (empty($_POST['cat_to'])) {
368
+							fatal_lang_error('mboards_delete_error');
369
+			}
358 370
 
359 371
 			deleteCategories(array($_POST['cat']), (int) $_POST['cat_to']);
372
+		} else {
373
+					deleteCategories(array($_POST['cat']));
360 374
 		}
361
-		else
362
-			deleteCategories(array($_POST['cat']));
363 375
 	}
364 376
 
365 377
 	redirectexit('action=admin;area=manageboards');
@@ -404,8 +416,9 @@  discard block
 block discarded – undo
404 416
 	if ($_REQUEST['sa'] == 'newboard')
405 417
 	{
406 418
 		// Category doesn't exist, man... sorry.
407
-		if (empty($_REQUEST['cat']))
408
-			redirectexit('action=admin;area=manageboards');
419
+		if (empty($_REQUEST['cat'])) {
420
+					redirectexit('action=admin;area=manageboards');
421
+		}
409 422
 
410 423
 		// Some things that need to be setup for a new board.
411 424
 		$curBoard = array(
@@ -429,8 +442,7 @@  discard block
 block discarded – undo
429 442
 			'category' => (int) $_REQUEST['cat'],
430 443
 			'no_children' => true,
431 444
 		);
432
-	}
433
-	else
445
+	} else
434 446
 	{
435 447
 		// Just some easy shortcuts.
436 448
 		$curBoard = &$boards[$_REQUEST['boardid']];
@@ -478,8 +490,9 @@  discard block
 block discarded – undo
478 490
 	);
479 491
 	while ($row = $smcFunc['db_fetch_assoc']($request))
480 492
 	{
481
-		if ($_REQUEST['sa'] == 'newboard' && $row['min_posts'] == -1)
482
-			$curBoard['member_groups'][] = $row['id_group'];
493
+		if ($_REQUEST['sa'] == 'newboard' && $row['min_posts'] == -1) {
494
+					$curBoard['member_groups'][] = $row['id_group'];
495
+		}
483 496
 
484 497
 		$context['groups'][(int) $row['id_group']] = array(
485 498
 			'id' => $row['id_group'],
@@ -492,8 +505,9 @@  discard block
 block discarded – undo
492 505
 	$smcFunc['db_free_result']($request);
493 506
 
494 507
 	// Category doesn't exist, man... sorry.
495
-	if (!isset($boardList[$curBoard['category']]))
496
-		redirectexit('action=admin;area=manageboards');
508
+	if (!isset($boardList[$curBoard['category']])) {
509
+			redirectexit('action=admin;area=manageboards');
510
+	}
497 511
 
498 512
 	foreach ($boardList[$curBoard['category']] as $boardid)
499 513
 	{
@@ -507,8 +521,7 @@  discard block
 block discarded – undo
507 521
 				'is_child' => false,
508 522
 				'selected' => true
509 523
 			);
510
-		}
511
-		else
524
+		} else
512 525
 		{
513 526
 			$context['board_order'][] = array(
514 527
 				'id' => $boardid,
@@ -525,19 +538,21 @@  discard block
 block discarded – undo
525 538
 		$context['can_move_children'] = false;
526 539
 		$context['children'] = $boards[$_REQUEST['boardid']]['tree']['children'];
527 540
 
528
-		foreach ($context['board_order'] as $lBoard)
529
-			if ($lBoard['is_child'] == false && $lBoard['selected'] == false)
541
+		foreach ($context['board_order'] as $lBoard) {
542
+					if ($lBoard['is_child'] == false && $lBoard['selected'] == false)
530 543
 				$context['can_move_children'] = true;
544
+		}
531 545
 	}
532 546
 
533 547
 	// Get other available categories.
534 548
 	$context['categories'] = array();
535
-	foreach ($cat_tree as $catID => $tree)
536
-		$context['categories'][] = array(
549
+	foreach ($cat_tree as $catID => $tree) {
550
+			$context['categories'][] = array(
537 551
 			'id' => $catID == $curBoard['category'] ? 0 : $catID,
538 552
 			'name' => $tree['node']['name'],
539 553
 			'selected' => $catID == $curBoard['category']
540 554
 		);
555
+	}
541 556
 
542 557
 	$request = $smcFunc['db_query']('', '
543 558
 		SELECT mem.id_member, mem.real_name
@@ -549,14 +564,16 @@  discard block
 block discarded – undo
549 564
 		)
550 565
 	);
551 566
 	$context['board']['moderators'] = array();
552
-	while ($row = $smcFunc['db_fetch_assoc']($request))
553
-		$context['board']['moderators'][$row['id_member']] = $row['real_name'];
567
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
568
+			$context['board']['moderators'][$row['id_member']] = $row['real_name'];
569
+	}
554 570
 	$smcFunc['db_free_result']($request);
555 571
 
556 572
 	$context['board']['moderator_list'] = empty($context['board']['moderators']) ? '' : '&quot;' . implode('&quot;, &quot;', $context['board']['moderators']) . '&quot;';
557 573
 
558
-	if (!empty($context['board']['moderators']))
559
-		list ($context['board']['last_moderator_id']) = array_slice(array_keys($context['board']['moderators']), -1);
574
+	if (!empty($context['board']['moderators'])) {
575
+			list ($context['board']['last_moderator_id']) = array_slice(array_keys($context['board']['moderators']), -1);
576
+	}
560 577
 
561 578
 	// Get all the groups assigned as moderators
562 579
 	$request = $smcFunc['db_query']('', '
@@ -568,14 +585,16 @@  discard block
 block discarded – undo
568 585
 		)
569 586
 	);
570 587
 	$context['board']['moderator_groups'] = array();
571
-	while ($row = $smcFunc['db_fetch_assoc']($request))
572
-		$context['board']['moderator_groups'][$row['id_group']] = $context['groups'][$row['id_group']]['name'];
588
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
589
+			$context['board']['moderator_groups'][$row['id_group']] = $context['groups'][$row['id_group']]['name'];
590
+	}
573 591
 	$smcFunc['db_free_result']($request);
574 592
 
575 593
 	$context['board']['moderator_groups_list'] = empty($context['board']['moderator_groups']) ? '' : '&quot;' . implode('&quot;, &qout;', $context['board']['moderator_groups']) . '&quot;';
576 594
 
577
-	if (!empty($context['board']['moderator_groups']))
578
-		list ($context['board']['last_moderator_group_id']) = array_slice(array_keys($context['board']['moderator_groups']), -1);
595
+	if (!empty($context['board']['moderator_groups'])) {
596
+			list ($context['board']['last_moderator_group_id']) = array_slice(array_keys($context['board']['moderator_groups']), -1);
597
+	}
579 598
 
580 599
 	// Get all the themes...
581 600
 	$request = $smcFunc['db_query']('', '
@@ -587,8 +606,9 @@  discard block
 block discarded – undo
587 606
 		)
588 607
 	);
589 608
 	$context['themes'] = array();
590
-	while ($row = $smcFunc['db_fetch_assoc']($request))
591
-		$context['themes'][] = $row;
609
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
610
+			$context['themes'][] = $row;
611
+	}
592 612
 	$smcFunc['db_free_result']($request);
593 613
 
594 614
 	if (!isset($_REQUEST['delete']))
@@ -596,8 +616,7 @@  discard block
 block discarded – undo
596 616
 		$context['sub_template'] = 'modify_board';
597 617
 		$context['page_title'] = $txt['boardsEdit'];
598 618
 		loadJavaScriptFile('suggest.js', array('defer' => false, 'minimize' => true), 'smf_suggest');
599
-	}
600
-	else
619
+	} else
601 620
 	{
602 621
 		$context['sub_template'] = 'confirm_board_delete';
603 622
 		$context['page_title'] = $txt['mboards_delete_board'];
@@ -641,8 +660,9 @@  discard block
 block discarded – undo
641 660
 		// Change the boardorder of this board?
642 661
 		elseif (!empty($_POST['placement']) && !empty($_POST['board_order']))
643 662
 		{
644
-			if (!in_array($_POST['placement'], array('before', 'after', 'child')))
645
-				fatal_lang_error('mangled_post', false);
663
+			if (!in_array($_POST['placement'], array('before', 'after', 'child'))) {
664
+							fatal_lang_error('mangled_post', false);
665
+			}
646 666
 
647 667
 			$boardOptions['move_to'] = $_POST['placement'];
648 668
 			$boardOptions['target_board'] = (int) $_POST['board_order'];
@@ -655,13 +675,14 @@  discard block
 block discarded – undo
655 675
 		$boardOptions['access_groups'] = array();
656 676
 		$boardOptions['deny_groups'] = array();
657 677
 
658
-		if (!empty($_POST['groups']))
659
-			foreach ($_POST['groups'] as $group => $action)
678
+		if (!empty($_POST['groups'])) {
679
+					foreach ($_POST['groups'] as $group => $action)
660 680
 			{
661 681
 				if ($action == 'allow')
662 682
 					$boardOptions['access_groups'][] = (int) $group;
663
-				elseif ($action == 'deny')
664
-					$boardOptions['deny_groups'][] = (int) $group;
683
+		} elseif ($action == 'deny') {
684
+									$boardOptions['deny_groups'][] = (int) $group;
685
+				}
665 686
 			}
666 687
 
667 688
 		// People with manage-boards are special.
@@ -673,8 +694,9 @@  discard block
 block discarded – undo
673 694
 		// Secondly, make sure those with super cow powers (like apt-get, or in this case manage boards) are upgraded.
674 695
 		$boardOptions['access_groups'] = array_unique(array_merge($boardOptions['access_groups'], $board_managers));
675 696
 
676
-		if (strlen(implode(',', $boardOptions['access_groups'])) > 255 || strlen(implode(',', $boardOptions['deny_groups'])) > 255)
677
-			fatal_lang_error('too_many_groups', false);
697
+		if (strlen(implode(',', $boardOptions['access_groups'])) > 255 || strlen(implode(',', $boardOptions['deny_groups'])) > 255) {
698
+					fatal_lang_error('too_many_groups', false);
699
+		}
678 700
 
679 701
 		// Do not allow HTML tags. Parse the string.
680 702
 		$boardOptions['board_name'] = parse_bbc($smcFunc['htmlspecialchars']($_POST['board_name']), false, '', $context['description_allowed_tags']);
@@ -685,8 +707,9 @@  discard block
 block discarded – undo
685 707
 		if (isset($_POST['moderator_list']) && is_array($_POST['moderator_list']))
686 708
 		{
687 709
 			$moderators = array();
688
-			foreach ($_POST['moderator_list'] as $moderator)
689
-				$moderators[(int) $moderator] = (int) $moderator;
710
+			foreach ($_POST['moderator_list'] as $moderator) {
711
+							$moderators[(int) $moderator] = (int) $moderator;
712
+			}
690 713
 			$boardOptions['moderators'] = $moderators;
691 714
 		}
692 715
 
@@ -695,8 +718,9 @@  discard block
 block discarded – undo
695 718
 		if (isset($_POST['moderator_group_list']) && is_array($_POST['moderator_group_list']))
696 719
 		{
697 720
 			$moderator_groups = array();
698
-			foreach ($_POST['moderator_group_list'] as $moderator_group)
699
-				$moderator_groups[(int) $moderator_group] = (int) $moderator_group;
721
+			foreach ($_POST['moderator_group_list'] as $moderator_group) {
722
+							$moderator_groups[(int) $moderator_group] = (int) $moderator_group;
723
+			}
700 724
 			$boardOptions['moderator_groups'] = $moderator_groups;
701 725
 		}
702 726
 
@@ -722,56 +746,62 @@  discard block
 block discarded – undo
722 746
 			$smcFunc['db_free_result']($request);
723 747
 
724 748
 			// If we're turning redirection on check the board doesn't have posts in it - if it does don't make it a redirection board.
725
-			if ($boardOptions['redirect'] && empty($oldRedirect) && $numPosts)
726
-				unset($boardOptions['redirect']);
749
+			if ($boardOptions['redirect'] && empty($oldRedirect) && $numPosts) {
750
+							unset($boardOptions['redirect']);
751
+			}
727 752
 			// Reset the redirection count when switching on/off.
728
-			elseif (empty($boardOptions['redirect']) != empty($oldRedirect))
729
-				$boardOptions['num_posts'] = 0;
753
+			elseif (empty($boardOptions['redirect']) != empty($oldRedirect)) {
754
+							$boardOptions['num_posts'] = 0;
755
+			}
730 756
 			// Resetting the count?
731
-			elseif ($boardOptions['redirect'] && !empty($_POST['reset_redirect']))
732
-				$boardOptions['num_posts'] = 0;
757
+			elseif ($boardOptions['redirect'] && !empty($_POST['reset_redirect'])) {
758
+							$boardOptions['num_posts'] = 0;
759
+			}
733 760
 		}
734 761
 
735 762
 		// Create a new board...
736 763
 		if (isset($_POST['add']))
737 764
 		{
738 765
 			// New boards by default go to the bottom of the category.
739
-			if (empty($_POST['new_cat']))
740
-				$boardOptions['target_category'] = (int) $_POST['cur_cat'];
741
-			if (!isset($boardOptions['move_to']))
742
-				$boardOptions['move_to'] = 'bottom';
766
+			if (empty($_POST['new_cat'])) {
767
+							$boardOptions['target_category'] = (int) $_POST['cur_cat'];
768
+			}
769
+			if (!isset($boardOptions['move_to'])) {
770
+							$boardOptions['move_to'] = 'bottom';
771
+			}
743 772
 
744 773
 			createBoard($boardOptions);
745 774
 		}
746 775
 
747 776
 		// ...or update an existing board.
748
-		else
749
-			modifyBoard($_POST['boardid'], $boardOptions);
750
-	}
751
-	elseif (isset($_POST['delete']) && !isset($_POST['confirmation']) && !isset($_POST['no_children']))
777
+		else {
778
+					modifyBoard($_POST['boardid'], $boardOptions);
779
+		}
780
+	} elseif (isset($_POST['delete']) && !isset($_POST['confirmation']) && !isset($_POST['no_children']))
752 781
 	{
753 782
 		EditBoard();
754 783
 		return;
755
-	}
756
-	elseif (isset($_POST['delete']))
784
+	} elseif (isset($_POST['delete']))
757 785
 	{
758 786
 		// First off - check if we are moving all the current child boards first - before we start deleting!
759 787
 		if (isset($_POST['delete_action']) && $_POST['delete_action'] == 1)
760 788
 		{
761
-			if (empty($_POST['board_to']))
762
-				fatal_lang_error('mboards_delete_board_error');
789
+			if (empty($_POST['board_to'])) {
790
+							fatal_lang_error('mboards_delete_board_error');
791
+			}
763 792
 
764 793
 			deleteBoards(array($_POST['boardid']), (int) $_POST['board_to']);
794
+		} else {
795
+					deleteBoards(array($_POST['boardid']), 0);
765 796
 		}
766
-		else
767
-			deleteBoards(array($_POST['boardid']), 0);
768 797
 	}
769 798
 
770
-	if (isset($_REQUEST['rid']) && $_REQUEST['rid'] == 'permissions')
771
-		redirectexit('action=admin;area=permissions;sa=board;' . $context['session_var'] . '=' . $context['session_id']);
772
-	else
773
-		redirectexit('action=admin;area=manageboards');
774
-}
799
+	if (isset($_REQUEST['rid']) && $_REQUEST['rid'] == 'permissions') {
800
+			redirectexit('action=admin;area=permissions;sa=board;' . $context['session_var'] . '=' . $context['session_id']);
801
+	} else {
802
+			redirectexit('action=admin;area=manageboards');
803
+	}
804
+	}
775 805
 
776 806
 /**
777 807
  * Used to retrieve data for modifying a board category
@@ -808,8 +838,9 @@  discard block
 block discarded – undo
808 838
 	$smcFunc['db_free_result']($request);
809 839
 
810 840
 	// This would probably never happen, but just to be sure.
811
-	if ($cat .= $allowed_sa[1])
812
-		die(str_replace(',', ' to', $cat));
841
+	if ($cat .= $allowed_sa[1]) {
842
+			die(str_replace(',', ' to', $cat));
843
+	}
813 844
 
814 845
 	redirectexit();
815 846
 }
@@ -835,8 +866,9 @@  discard block
 block discarded – undo
835 866
 			'empty_string' => '',
836 867
 		)
837 868
 	);
838
-	while ($row = $smcFunc['db_fetch_assoc']($request))
839
-		$recycle_boards[$row['id_board']] = $row['cat_name'] . ' - ' . $row['board_name'];
869
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
870
+			$recycle_boards[$row['id_board']] = $row['cat_name'] . ' - ' . $row['board_name'];
871
+	}
840 872
 	$smcFunc['db_free_result']($request);
841 873
 
842 874
 	if (!empty($recycle_boards))
@@ -844,9 +876,9 @@  discard block
 block discarded – undo
844 876
 		require_once($sourcedir . '/Subs-Boards.php');
845 877
 		sortBoards($recycle_boards);
846 878
 		$recycle_boards = array('') + $recycle_boards;
879
+	} else {
880
+			$recycle_boards = array('');
847 881
 	}
848
-	else
849
-		$recycle_boards = array('');
850 882
 
851 883
 	// Here and the board settings...
852 884
 	$config_vars = array(
@@ -864,8 +896,9 @@  discard block
 block discarded – undo
864 896
 
865 897
 	call_integration_hook('integrate_modify_board_settings', array(&$config_vars));
866 898
 
867
-	if ($return_config)
868
-		return $config_vars;
899
+	if ($return_config) {
900
+			return $config_vars;
901
+	}
869 902
 
870 903
 	// Needed for the settings template.
871 904
 	require_once($sourcedir . '/ManageServer.php');
Please login to merge, or discard this patch.
Sources/Admin.php 1 patch
Braces   +75 added lines, -52 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 4
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	die('No direct access...');
18
+}
18 19
 
19 20
 /**
20 21
  * The main admin handling function.<br>
@@ -444,8 +445,9 @@  discard block
 block discarded – undo
444 445
 		foreach ($admin_includes as $include)
445 446
 		{
446 447
 			$include = strtr(trim($include), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir, '$themedir' => $settings['theme_dir']));
447
-			if (file_exists($include))
448
-				require_once($include);
448
+			if (file_exists($include)) {
449
+							require_once($include);
450
+			}
449 451
 		}
450 452
 	}
451 453
 
@@ -457,24 +459,27 @@  discard block
 block discarded – undo
457 459
 	unset($admin_areas);
458 460
 
459 461
 	// Nothing valid?
460
-	if ($admin_include_data == false)
461
-		fatal_lang_error('no_access', false);
462
+	if ($admin_include_data == false) {
463
+			fatal_lang_error('no_access', false);
464
+	}
462 465
 
463 466
 	// Build the link tree.
464 467
 	$context['linktree'][] = array(
465 468
 		'url' => $scripturl . '?action=admin',
466 469
 		'name' => $txt['admin_center'],
467 470
 	);
468
-	if (isset($admin_include_data['current_area']) && $admin_include_data['current_area'] != 'index')
469
-		$context['linktree'][] = array(
471
+	if (isset($admin_include_data['current_area']) && $admin_include_data['current_area'] != 'index') {
472
+			$context['linktree'][] = array(
470 473
 			'url' => $scripturl . '?action=admin;area=' . $admin_include_data['current_area'] . ';' . $context['session_var'] . '=' . $context['session_id'],
471 474
 			'name' => $admin_include_data['label'],
472 475
 		);
473
-	if (!empty($admin_include_data['current_subsection']) && $admin_include_data['subsections'][$admin_include_data['current_subsection']][0] != $admin_include_data['label'])
474
-		$context['linktree'][] = array(
476
+	}
477
+	if (!empty($admin_include_data['current_subsection']) && $admin_include_data['subsections'][$admin_include_data['current_subsection']][0] != $admin_include_data['label']) {
478
+			$context['linktree'][] = array(
475 479
 			'url' => $scripturl . '?action=admin;area=' . $admin_include_data['current_area'] . ';sa=' . $admin_include_data['current_subsection'] . ';' . $context['session_var'] . '=' . $context['session_id'],
476 480
 			'name' => $admin_include_data['subsections'][$admin_include_data['current_subsection']][0],
477 481
 		);
482
+	}
478 483
 
479 484
 	// Make a note of the Unique ID for this menu.
480 485
 	$context['admin_menu_id'] = $context['max_menu_id'];
@@ -484,16 +489,18 @@  discard block
 block discarded – undo
484 489
 	$context['admin_area'] = $admin_include_data['current_area'];
485 490
 
486 491
 	// Now - finally - call the right place!
487
-	if (isset($admin_include_data['file']))
488
-		require_once($sourcedir . '/' . $admin_include_data['file']);
492
+	if (isset($admin_include_data['file'])) {
493
+			require_once($sourcedir . '/' . $admin_include_data['file']);
494
+	}
489 495
 
490 496
 	// Get the right callable.
491 497
 	$call = call_helper($admin_include_data['function'], true);
492 498
 
493 499
 	// Is it valid?
494
-	if (!empty($call))
495
-		call_user_func($call);
496
-}
500
+	if (!empty($call)) {
501
+			call_user_func($call);
502
+	}
503
+	}
497 504
 
498 505
 /**
499 506
  * The main administration section.
@@ -547,13 +554,14 @@  discard block
 block discarded – undo
547 554
 
548 555
 	$context['sub_template'] = $context['admin_area'] == 'credits' ? 'credits' : 'admin';
549 556
 	$context['page_title'] = $context['admin_area'] == 'credits' ? $txt['support_credits_title'] : $txt['admin_center'];
550
-	if ($context['admin_area'] != 'credits')
551
-		$context[$context['admin_menu_name']]['tab_data'] = array(
557
+	if ($context['admin_area'] != 'credits') {
558
+			$context[$context['admin_menu_name']]['tab_data'] = array(
552 559
 			'title' => $txt['admin_center'],
553 560
 			'help' => '',
554 561
 			'description' => '<strong>' . $txt['hello_guest'] . ' ' . $context['user']['name'] . '!</strong>
555 562
 						' . sprintf($txt['admin_main_welcome'], $txt['admin_center'], $txt['help'], $txt['help']),
556 563
 		);
564
+	}
557 565
 
558 566
 	// Lastly, fill in the blanks in the support resources paragraphs.
559 567
 	$txt['support_resources_p1'] = sprintf($txt['support_resources_p1'],
@@ -571,9 +579,10 @@  discard block
 block discarded – undo
571 579
 		'https://www.simplemachines.org/redirect/customize_support'
572 580
 	);
573 581
 
574
-	if ($context['admin_area'] == 'admin')
575
-		loadJavaScriptFile('admin.js', array('defer' => false, 'minimize' => true), 'smf_admin');
576
-}
582
+	if ($context['admin_area'] == 'admin') {
583
+			loadJavaScriptFile('admin.js', array('defer' => false, 'minimize' => true), 'smf_admin');
584
+	}
585
+	}
577 586
 
578 587
 /**
579 588
  * Get one of the admin information files from Simple Machines.
@@ -584,8 +593,9 @@  discard block
 block discarded – undo
584 593
 
585 594
 	setMemoryLimit('32M');
586 595
 
587
-	if (empty($_REQUEST['filename']) || !is_string($_REQUEST['filename']))
588
-		fatal_lang_error('no_access', false);
596
+	if (empty($_REQUEST['filename']) || !is_string($_REQUEST['filename'])) {
597
+			fatal_lang_error('no_access', false);
598
+	}
589 599
 
590 600
 	// Strip off the forum cache part or we won't find it...
591 601
 	$_REQUEST['filename'] = str_replace($modSettings['browser_cache'], '', $_REQUEST['filename']);
@@ -600,27 +610,30 @@  discard block
 block discarded – undo
600 610
 		)
601 611
 	);
602 612
 
603
-	if ($smcFunc['db_num_rows']($request) == 0)
604
-		fatal_lang_error('admin_file_not_found', true, array($_REQUEST['filename']), 404);
613
+	if ($smcFunc['db_num_rows']($request) == 0) {
614
+			fatal_lang_error('admin_file_not_found', true, array($_REQUEST['filename']), 404);
615
+	}
605 616
 
606 617
 	list ($file_data, $filetype) = $smcFunc['db_fetch_row']($request);
607 618
 	$smcFunc['db_free_result']($request);
608 619
 
609 620
 	// @todo Temp
610 621
 	// Figure out if sesc is still being used.
611
-	if (strpos($file_data, ';sesc=') !== false && $filetype == 'text/javascript')
612
-		$file_data = '
622
+	if (strpos($file_data, ';sesc=') !== false && $filetype == 'text/javascript') {
623
+			$file_data = '
613 624
 if (!(\'smfForum_sessionvar\' in window))
614 625
 	window.smfForum_sessionvar = \'sesc\';
615 626
 ' . strtr($file_data, array(';sesc=' => ';\' + window.smfForum_sessionvar + \'='));
627
+	}
616 628
 
617 629
 	$context['template_layers'] = array();
618 630
 	// Lets make sure we aren't going to output anything nasty.
619 631
 	@ob_end_clean();
620
-	if (!empty($modSettings['enableCompressedOutput']))
621
-		@ob_start('ob_gzhandler');
622
-	else
623
-		@ob_start();
632
+	if (!empty($modSettings['enableCompressedOutput'])) {
633
+			@ob_start('ob_gzhandler');
634
+	} else {
635
+			@ob_start();
636
+	}
624 637
 
625 638
 	// Make sure they know what type of file we are.
626 639
 	header('content-type: ' . $filetype);
@@ -660,11 +673,12 @@  discard block
 block discarded – undo
660 673
 		updateAdminPreferences();
661 674
 	}
662 675
 
663
-	if (trim($context['search_term']) == '')
664
-		$context['search_results'] = array();
665
-	else
666
-		call_helper($subActions[$context['search_type']]);
667
-}
676
+	if (trim($context['search_term']) == '') {
677
+			$context['search_results'] = array();
678
+	} else {
679
+			call_helper($subActions[$context['search_type']]);
680
+	}
681
+	}
668 682
 
669 683
 /**
670 684
  * A complicated but relatively quick internal search.
@@ -728,8 +742,9 @@  discard block
 block discarded – undo
728 742
 
729 743
 	loadLanguage(implode('+', $language_files));
730 744
 
731
-	foreach ($include_files as $file)
732
-		require_once($sourcedir . '/' . $file . '.php');
745
+	foreach ($include_files as $file) {
746
+			require_once($sourcedir . '/' . $file . '.php');
747
+	}
733 748
 
734 749
 	/* This is the huge array that defines everything... it's a huge array of items formatted as follows:
735 750
 		0 = Language index (Can be array of indexes) to search through for this setting.
@@ -753,11 +768,12 @@  discard block
 block discarded – undo
753 768
 		foreach ($section['areas'] as $menu_key => $menu_item)
754 769
 		{
755 770
 			$search_data['sections'][] = array($menu_item['label'], 'area=' . $menu_key);
756
-			if (!empty($menu_item['subsections']))
757
-				foreach ($menu_item['subsections'] as $key => $sublabel)
771
+			if (!empty($menu_item['subsections'])) {
772
+							foreach ($menu_item['subsections'] as $key => $sublabel)
758 773
 				{
759 774
 					if (isset($sublabel['label']))
760 775
 						$search_data['sections'][] = array($sublabel['label'], 'area=' . $menu_key . ';sa=' . $key);
776
+			}
761 777
 				}
762 778
 		}
763 779
 	}
@@ -767,9 +783,10 @@  discard block
 block discarded – undo
767 783
 		// Get a list of their variables.
768 784
 		$config_vars = $setting_area[0](true);
769 785
 
770
-		foreach ($config_vars as $var)
771
-			if (!empty($var[1]) && !in_array($var[0], array('permissions', 'switch', 'desc')))
786
+		foreach ($config_vars as $var) {
787
+					if (!empty($var[1]) && !in_array($var[0], array('permissions', 'switch', 'desc')))
772 788
 				$search_data['settings'][] = array($var[(isset($var[2]) && in_array($var[2], array('file', 'db'))) ? 0 : 1], $setting_area[1], 'alttxt' => (isset($var[2]) && in_array($var[2], array('file', 'db'))) || isset($var[3]) ? (in_array($var[2], array('file', 'db')) ? $var[1] : $var[3]) : '');
789
+		}
773 790
 	}
774 791
 
775 792
 	$context['page_title'] = $txt['admin_search_results'];
@@ -782,8 +799,9 @@  discard block
 block discarded – undo
782 799
 		foreach ($data as $item)
783 800
 		{
784 801
 			$found = false;
785
-			if (!is_array($item[0]))
786
-				$item[0] = array($item[0]);
802
+			if (!is_array($item[0])) {
803
+							$item[0] = array($item[0]);
804
+			}
787 805
 			foreach ($item[0] as $term)
788 806
 			{
789 807
 				if (stripos($term, $search_term) !== false || (isset($txt[$term]) && stripos($txt[$term], $search_term) !== false) || (isset($txt['setting_' . $term]) && stripos($txt['setting_' . $term], $search_term) !== false))
@@ -841,8 +859,9 @@  discard block
 block discarded – undo
841 859
 	$postVars = explode(' ', $context['search_term']);
842 860
 
843 861
 	// Encode the search data.
844
-	foreach ($postVars as $k => $v)
845
-		$postVars[$k] = urlencode($v);
862
+	foreach ($postVars as $k => $v) {
863
+			$postVars[$k] = urlencode($v);
864
+	}
846 865
 
847 866
 	// This is what we will send.
848 867
 	$postVars = implode('+', $postVars);
@@ -853,8 +872,9 @@  discard block
 block discarded – undo
853 872
 	$search_results = fetch_web_data($context['doc_apiurl'] . '?action=query&list=search&srprop=timestamp|snippet&format=xml&srwhat=text&srsearch=' . $postVars);
854 873
 
855 874
 	// If we didn't get any xml back we are in trouble - perhaps the doc site is overloaded?
856
-	if (!$search_results || preg_match('~<' . '\?xml\sversion="\d+\.\d+"\?' . '>\s*(<api>.+?</api>)~is', $search_results, $matches) != true)
857
-		fatal_lang_error('cannot_connect_doc_site');
875
+	if (!$search_results || preg_match('~<' . '\?xml\sversion="\d+\.\d+"\?' . '>\s*(<api>.+?</api>)~is', $search_results, $matches) != true) {
876
+			fatal_lang_error('cannot_connect_doc_site');
877
+	}
858 878
 
859 879
 	$search_results = $matches[1];
860 880
 
@@ -866,8 +886,9 @@  discard block
 block discarded – undo
866 886
 	$results = new xmlArray($search_results, false);
867 887
 
868 888
 	// Move through the api layer.
869
-	if (!$results->exists('api'))
870
-		fatal_lang_error('cannot_connect_doc_site');
889
+	if (!$results->exists('api')) {
890
+			fatal_lang_error('cannot_connect_doc_site');
891
+	}
871 892
 
872 893
 	// Are there actually some results?
873 894
 	if ($results->exists('api/query/search/p'))
@@ -903,8 +924,9 @@  discard block
 block discarded – undo
903 924
 	);
904 925
 
905 926
 	// If it's not got a sa set it must have come here for first time, pretend error log should be reversed.
906
-	if (!isset($_REQUEST['sa']))
907
-		$_REQUEST['desc'] = true;
927
+	if (!isset($_REQUEST['sa'])) {
928
+			$_REQUEST['desc'] = true;
929
+	}
908 930
 
909 931
 	// Setup some tab stuff.
910 932
 	$context[$context['admin_menu_name']]['tab_data'] = array(
@@ -954,9 +976,10 @@  discard block
 block discarded – undo
954 976
 	unset($_SESSION['admin_time']);
955 977
 
956 978
 	// Clean any admin tokens as well.
957
-	foreach ($_SESSION['token'] as $key => $token)
958
-		if (strpos($key, '-admin') !== false)
979
+	foreach ($_SESSION['token'] as $key => $token) {
980
+			if (strpos($key, '-admin') !== false)
959 981
 			unset($_SESSION['token'][$key]);
982
+	}
960 983
 
961 984
 	redirectexit();
962 985
 }
Please login to merge, or discard this patch.
Sources/Profile.php 1 patch
Braces   +158 added lines, -120 removed lines patch added patch discarded remove patch
@@ -15,8 +15,9 @@  discard block
 block discarded – undo
15 15
  * @version 2.1 Beta 4
16 16
  */
17 17
 
18
-if (!defined('SMF'))
18
+if (!defined('SMF')) {
19 19
 	die('No direct access...');
20
+}
20 21
 
21 22
 /**
22 23
  * The main designating function for modifying profiles. Loads up info, determins what to do, etc.
@@ -29,18 +30,21 @@  discard block
 block discarded – undo
29 30
 	global $modSettings, $memberContext, $profile_vars, $post_errors, $smcFunc;
30 31
 
31 32
 	// Don't reload this as we may have processed error strings.
32
-	if (empty($post_errors))
33
-		loadLanguage('Profile+Drafts');
33
+	if (empty($post_errors)) {
34
+			loadLanguage('Profile+Drafts');
35
+	}
34 36
 	loadTemplate('Profile');
35 37
 
36 38
 	require_once($sourcedir . '/Subs-Menu.php');
37 39
 
38 40
 	// Did we get the user by name...
39
-	if (isset($_REQUEST['user']))
40
-		$memberResult = loadMemberData($_REQUEST['user'], true, 'profile');
41
+	if (isset($_REQUEST['user'])) {
42
+			$memberResult = loadMemberData($_REQUEST['user'], true, 'profile');
43
+	}
41 44
 	// ... or by id_member?
42
-	elseif (!empty($_REQUEST['u']))
43
-		$memberResult = loadMemberData((int) $_REQUEST['u'], false, 'profile');
45
+	elseif (!empty($_REQUEST['u'])) {
46
+			$memberResult = loadMemberData((int) $_REQUEST['u'], false, 'profile');
47
+	}
44 48
 	// If it was just ?action=profile, edit your own profile, but only if you're not a guest.
45 49
 	else
46 50
 	{
@@ -50,8 +54,9 @@  discard block
 block discarded – undo
50 54
 	}
51 55
 
52 56
 	// Check if loadMemberData() has returned a valid result.
53
-	if (!$memberResult)
54
-		fatal_lang_error('not_a_user', false, 404);
57
+	if (!$memberResult) {
58
+			fatal_lang_error('not_a_user', false, 404);
59
+	}
55 60
 
56 61
 	// If all went well, we have a valid member ID!
57 62
 	list ($memID) = $memberResult;
@@ -67,8 +72,9 @@  discard block
 block discarded – undo
67 72
 
68 73
 	// Group management isn't actually a permission. But we need it to be for this, so we need a phantom permission.
69 74
 	// And we care about what the current user can do, not what the user whose profile it is.
70
-	if ($user_info['mod_cache']['gq'] != '0=1')
71
-		$user_info['permissions'][] = 'approve_group_requests';
75
+	if ($user_info['mod_cache']['gq'] != '0=1') {
76
+			$user_info['permissions'][] = 'approve_group_requests';
77
+	}
72 78
 
73 79
 	// If paid subscriptions are enabled, make sure we actually have at least one subscription available...
74 80
 	$context['subs_available'] = false;
@@ -436,21 +442,25 @@  discard block
 block discarded – undo
436 442
 		foreach ($section['areas'] as $area_id => $area)
437 443
 		{
438 444
 			// If it said no permissions that meant it wasn't valid!
439
-			if (empty($area['permission'][$context['user']['is_owner'] ? 'own' : 'any']))
440
-				$profile_areas[$section_id]['areas'][$area_id]['enabled'] = false;
445
+			if (empty($area['permission'][$context['user']['is_owner'] ? 'own' : 'any'])) {
446
+							$profile_areas[$section_id]['areas'][$area_id]['enabled'] = false;
447
+			}
441 448
 			// Otherwise pick the right set.
442
-			else
443
-				$profile_areas[$section_id]['areas'][$area_id]['permission'] = $area['permission'][$context['user']['is_owner'] ? 'own' : 'any'];
449
+			else {
450
+							$profile_areas[$section_id]['areas'][$area_id]['permission'] = $area['permission'][$context['user']['is_owner'] ? 'own' : 'any'];
451
+			}
444 452
 
445 453
 			// Password required in most cases
446
-			if (!empty($area['password']))
447
-				$context['password_areas'][] = $area_id;
454
+			if (!empty($area['password'])) {
455
+							$context['password_areas'][] = $area_id;
456
+			}
448 457
 		}
449 458
 	}
450 459
 
451 460
 	// Is there an updated message to show?
452
-	if (isset($_GET['updated']))
453
-		$context['profile_updated'] = $txt['profile_updated_own'];
461
+	if (isset($_GET['updated'])) {
462
+			$context['profile_updated'] = $txt['profile_updated_own'];
463
+	}
454 464
 
455 465
 	// Set a few options for the menu.
456 466
 	$menuOptions = array(
@@ -465,8 +475,9 @@  discard block
 block discarded – undo
465 475
 	$profile_include_data = createMenu($profile_areas, $menuOptions);
466 476
 
467 477
 	// No menu means no access.
468
-	if (!$profile_include_data && (!$user_info['is_guest'] || validateSession()))
469
-		fatal_lang_error('no_access', false);
478
+	if (!$profile_include_data && (!$user_info['is_guest'] || validateSession())) {
479
+			fatal_lang_error('no_access', false);
480
+	}
470 481
 
471 482
 	// Make a note of the Unique ID for this menu.
472 483
 	$context['profile_menu_id'] = $context['max_menu_id'];
@@ -492,8 +503,9 @@  discard block
 block discarded – undo
492 503
 			if ($current_area == $area_id)
493 504
 			{
494 505
 				// This can't happen - but is a security check.
495
-				if ((isset($section['enabled']) && $section['enabled'] == false) || (isset($area['enabled']) && $area['enabled'] == false))
496
-					fatal_lang_error('no_access', false);
506
+				if ((isset($section['enabled']) && $section['enabled'] == false) || (isset($area['enabled']) && $area['enabled'] == false)) {
507
+									fatal_lang_error('no_access', false);
508
+				}
497 509
 
498 510
 				// Are we saving data in a valid area?
499 511
 				if (isset($area['sc']) && (isset($_REQUEST['save']) || $context['do_preview']))
@@ -512,12 +524,14 @@  discard block
 block discarded – undo
512 524
 				}
513 525
 
514 526
 				// Does this require session validating?
515
-				if (!empty($area['validate']) || (isset($_REQUEST['save']) && !$context['user']['is_owner']))
516
-					$security_checks['validate'] = true;
527
+				if (!empty($area['validate']) || (isset($_REQUEST['save']) && !$context['user']['is_owner'])) {
528
+									$security_checks['validate'] = true;
529
+				}
517 530
 
518 531
 				// Permissions for good measure.
519
-				if (!empty($profile_include_data['permission']))
520
-					$security_checks['permission'] = $profile_include_data['permission'];
532
+				if (!empty($profile_include_data['permission'])) {
533
+									$security_checks['permission'] = $profile_include_data['permission'];
534
+				}
521 535
 
522 536
 				// Either way got something.
523 537
 				$found_area = true;
@@ -526,21 +540,26 @@  discard block
 block discarded – undo
526 540
 	}
527 541
 
528 542
 	// Oh dear, some serious security lapse is going on here... we'll put a stop to that!
529
-	if (!$found_area)
530
-		fatal_lang_error('no_access', false);
543
+	if (!$found_area) {
544
+			fatal_lang_error('no_access', false);
545
+	}
531 546
 
532 547
 	// Release this now.
533 548
 	unset($profile_areas);
534 549
 
535 550
 	// Now the context is setup have we got any security checks to carry out additional to that above?
536
-	if (isset($security_checks['session']))
537
-		checkSession($security_checks['session']);
538
-	if (isset($security_checks['validate']))
539
-		validateSession();
540
-	if (isset($security_checks['validateToken']))
541
-		validateToken($token_name, $token_type);
542
-	if (isset($security_checks['permission']))
543
-		isAllowedTo($security_checks['permission']);
551
+	if (isset($security_checks['session'])) {
552
+			checkSession($security_checks['session']);
553
+	}
554
+	if (isset($security_checks['validate'])) {
555
+			validateSession();
556
+	}
557
+	if (isset($security_checks['validateToken'])) {
558
+			validateToken($token_name, $token_type);
559
+	}
560
+	if (isset($security_checks['permission'])) {
561
+			isAllowedTo($security_checks['permission']);
562
+	}
544 563
 
545 564
 	// Create a token if needed.
546 565
 	if (isset($security_checks['needsToken']) || isset($security_checks['validateToken']))
@@ -550,8 +569,9 @@  discard block
 block discarded – undo
550 569
 	}
551 570
 
552 571
 	// File to include?
553
-	if (isset($profile_include_data['file']))
554
-		require_once($sourcedir . '/' . $profile_include_data['file']);
572
+	if (isset($profile_include_data['file'])) {
573
+			require_once($sourcedir . '/' . $profile_include_data['file']);
574
+	}
555 575
 
556 576
 	// Build the link tree.
557 577
 	$context['linktree'][] = array(
@@ -559,17 +579,19 @@  discard block
 block discarded – undo
559 579
 		'name' => sprintf($txt['profile_of_username'], $context['member']['name']),
560 580
 	);
561 581
 
562
-	if (!empty($profile_include_data['label']))
563
-		$context['linktree'][] = array(
582
+	if (!empty($profile_include_data['label'])) {
583
+			$context['linktree'][] = array(
564 584
 			'url' => $scripturl . '?action=profile' . ($memID != $user_info['id'] ? ';u=' . $memID : '') . ';area=' . $profile_include_data['current_area'],
565 585
 			'name' => $profile_include_data['label'],
566 586
 		);
587
+	}
567 588
 
568
-	if (!empty($profile_include_data['current_subsection']) && $profile_include_data['subsections'][$profile_include_data['current_subsection']][0] != $profile_include_data['label'])
569
-		$context['linktree'][] = array(
589
+	if (!empty($profile_include_data['current_subsection']) && $profile_include_data['subsections'][$profile_include_data['current_subsection']][0] != $profile_include_data['label']) {
590
+			$context['linktree'][] = array(
570 591
 			'url' => $scripturl . '?action=profile' . ($memID != $user_info['id'] ? ';u=' . $memID : '') . ';area=' . $profile_include_data['current_area'] . ';sa=' . $profile_include_data['current_subsection'],
571 592
 			'name' => $profile_include_data['subsections'][$profile_include_data['current_subsection']][0],
572 593
 		);
594
+	}
573 595
 
574 596
 	// Set the template for this area and add the profile layer.
575 597
 	$context['sub_template'] = $profile_include_data['function'];
@@ -595,12 +617,14 @@  discard block
 block discarded – undo
595 617
 		if ($check_password)
596 618
 		{
597 619
 			// Check to ensure we're forcing SSL for authentication
598
-			if (!empty($modSettings['force_ssl']) && empty($maintenance) && !httpsOn())
599
-				fatal_lang_error('login_ssl_required');
620
+			if (!empty($modSettings['force_ssl']) && empty($maintenance) && !httpsOn()) {
621
+							fatal_lang_error('login_ssl_required');
622
+			}
600 623
 
601 624
 			// You didn't even enter a password!
602
-			if (trim($_POST['oldpasswrd']) == '')
603
-				$post_errors[] = 'no_password';
625
+			if (trim($_POST['oldpasswrd']) == '') {
626
+							$post_errors[] = 'no_password';
627
+			}
604 628
 
605 629
 			// Since the password got modified due to all the $_POST cleaning, lets undo it so we can get the correct password
606 630
 			$_POST['oldpasswrd'] = un_htmlspecialchars($_POST['oldpasswrd']);
@@ -609,42 +633,43 @@  discard block
 block discarded – undo
609 633
 			$good_password = in_array(true, call_integration_hook('integrate_verify_password', array($cur_profile['member_name'], $_POST['oldpasswrd'], false)), true);
610 634
 
611 635
 			// Bad password!!!
612
-			if (!$good_password && !hash_verify_password($user_profile[$memID]['member_name'], un_htmlspecialchars(stripslashes($_POST['oldpasswrd'])), $user_info['passwd']))
613
-				$post_errors[] = 'bad_password';
636
+			if (!$good_password && !hash_verify_password($user_profile[$memID]['member_name'], un_htmlspecialchars(stripslashes($_POST['oldpasswrd'])), $user_info['passwd'])) {
637
+							$post_errors[] = 'bad_password';
638
+			}
614 639
 
615 640
 			// Warn other elements not to jump the gun and do custom changes!
616
-			if (in_array('bad_password', $post_errors))
617
-				$context['password_auth_failed'] = true;
641
+			if (in_array('bad_password', $post_errors)) {
642
+							$context['password_auth_failed'] = true;
643
+			}
618 644
 		}
619 645
 
620 646
 		// Change the IP address in the database.
621
-		if ($context['user']['is_owner'])
622
-			$profile_vars['member_ip'] = $user_info['ip'];
647
+		if ($context['user']['is_owner']) {
648
+					$profile_vars['member_ip'] = $user_info['ip'];
649
+		}
623 650
 
624 651
 		// Now call the sub-action function...
625 652
 		if ($current_area == 'activateaccount')
626 653
 		{
627
-			if (empty($post_errors))
628
-				activateAccount($memID);
629
-		}
630
-		elseif ($current_area == 'deleteaccount')
654
+			if (empty($post_errors)) {
655
+							activateAccount($memID);
656
+			}
657
+		} elseif ($current_area == 'deleteaccount')
631 658
 		{
632 659
 			if (empty($post_errors))
633 660
 			{
634 661
 				deleteAccount2($memID);
635 662
 				redirectexit();
636 663
 			}
637
-		}
638
-		elseif ($current_area == 'groupmembership' && empty($post_errors))
664
+		} elseif ($current_area == 'groupmembership' && empty($post_errors))
639 665
 		{
640 666
 			$msg = groupMembership2($profile_vars, $post_errors, $memID);
641 667
 
642 668
 			// Whatever we've done, we have nothing else to do here...
643 669
 			redirectexit('action=profile' . ($context['user']['is_owner'] ? '' : ';u=' . $memID) . ';area=groupmembership' . (!empty($msg) ? ';msg=' . $msg : ''));
644
-		}
645
-		elseif (in_array($current_area, array('account', 'forumprofile', 'theme')))
646
-			saveProfileFields();
647
-		else
670
+		} elseif (in_array($current_area, array('account', 'forumprofile', 'theme'))) {
671
+					saveProfileFields();
672
+		} else
648 673
 		{
649 674
 			$force_redirect = true;
650 675
 			// Ensure we include this.
@@ -660,34 +685,36 @@  discard block
 block discarded – undo
660 685
 			// Load the language file so we can give a nice explanation of the errors.
661 686
 			loadLanguage('Errors');
662 687
 			$context['post_errors'] = $post_errors;
663
-		}
664
-		elseif (!empty($profile_vars))
688
+		} elseif (!empty($profile_vars))
665 689
 		{
666 690
 			// If we've changed the password, notify any integration that may be listening in.
667
-			if (isset($profile_vars['passwd']))
668
-				call_integration_hook('integrate_reset_pass', array($cur_profile['member_name'], $cur_profile['member_name'], $_POST['passwrd2']));
691
+			if (isset($profile_vars['passwd'])) {
692
+							call_integration_hook('integrate_reset_pass', array($cur_profile['member_name'], $cur_profile['member_name'], $_POST['passwrd2']));
693
+			}
669 694
 
670 695
 			updateMemberData($memID, $profile_vars);
671 696
 
672 697
 			// What if this is the newest member?
673
-			if ($modSettings['latestMember'] == $memID)
674
-				updateStats('member');
675
-			elseif (isset($profile_vars['real_name']))
676
-				updateSettings(array('memberlist_updated' => time()));
698
+			if ($modSettings['latestMember'] == $memID) {
699
+							updateStats('member');
700
+			} elseif (isset($profile_vars['real_name'])) {
701
+							updateSettings(array('memberlist_updated' => time()));
702
+			}
677 703
 
678 704
 			// If the member changed his/her birthdate, update calendar statistics.
679
-			if (isset($profile_vars['birthdate']) || isset($profile_vars['real_name']))
680
-				updateSettings(array(
705
+			if (isset($profile_vars['birthdate']) || isset($profile_vars['real_name'])) {
706
+							updateSettings(array(
681 707
 					'calendar_updated' => time(),
682 708
 				));
709
+			}
683 710
 
684 711
 			// Anything worth logging?
685 712
 			if (!empty($context['log_changes']) && !empty($modSettings['modlog_enabled']))
686 713
 			{
687 714
 				$log_changes = array();
688 715
 				require_once($sourcedir . '/Logging.php');
689
-				foreach ($context['log_changes'] as $k => $v)
690
-					$log_changes[] = array(
716
+				foreach ($context['log_changes'] as $k => $v) {
717
+									$log_changes[] = array(
691 718
 						'action' => $k,
692 719
 						'log_type' => 'user',
693 720
 						'extra' => array_merge($v, array(
@@ -695,14 +722,16 @@  discard block
 block discarded – undo
695 722
 							'member_affected' => $memID,
696 723
 						)),
697 724
 					);
725
+				}
698 726
 
699 727
 				logActions($log_changes);
700 728
 			}
701 729
 
702 730
 			// Have we got any post save functions to execute?
703
-			if (!empty($context['profile_execute_on_save']))
704
-				foreach ($context['profile_execute_on_save'] as $saveFunc)
731
+			if (!empty($context['profile_execute_on_save'])) {
732
+							foreach ($context['profile_execute_on_save'] as $saveFunc)
705 733
 					$saveFunc();
734
+			}
706 735
 
707 736
 			// Let them know it worked!
708 737
 			$context['profile_updated'] = $context['user']['is_owner'] ? $txt['profile_updated_own'] : sprintf($txt['profile_updated_else'], $cur_profile['member_name']);
@@ -716,27 +745,31 @@  discard block
 block discarded – undo
716 745
 	if (!empty($post_errors))
717 746
 	{
718 747
 		// Set all the errors so the template knows what went wrong.
719
-		foreach ($post_errors as $error_type)
720
-			$context['modify_error'][$error_type] = true;
748
+		foreach ($post_errors as $error_type) {
749
+					$context['modify_error'][$error_type] = true;
750
+		}
721 751
 	}
722 752
 	// If it's you then we should redirect upon save.
723
-	elseif (!empty($profile_vars) && $context['user']['is_owner'] && !$context['do_preview'])
724
-		redirectexit('action=profile;area=' . $current_area . (!empty($current_sa) ? ';sa=' . $current_sa : '') . ';updated');
725
-	elseif (!empty($force_redirect))
726
-		redirectexit('action=profile' . ($context['user']['is_owner'] ? '' : ';u=' . $memID) . ';area=' . $current_area);
753
+	elseif (!empty($profile_vars) && $context['user']['is_owner'] && !$context['do_preview']) {
754
+			redirectexit('action=profile;area=' . $current_area . (!empty($current_sa) ? ';sa=' . $current_sa : '') . ';updated');
755
+	} elseif (!empty($force_redirect)) {
756
+			redirectexit('action=profile' . ($context['user']['is_owner'] ? '' : ';u=' . $memID) . ';area=' . $current_area);
757
+	}
727 758
 
728 759
 
729 760
 	// Get the right callable.
730 761
 	$call = call_helper($profile_include_data['function'], true);
731 762
 
732 763
 	// Is it valid?
733
-	if (!empty($call))
734
-		call_user_func($call, $memID);
764
+	if (!empty($call)) {
765
+			call_user_func($call, $memID);
766
+	}
735 767
 
736 768
 	// Set the page title if it's not already set...
737
-	if (!isset($context['page_title']))
738
-		$context['page_title'] = $txt['profile'] . (isset($txt[$current_area]) ? ' - ' . $txt[$current_area] : '');
739
-}
769
+	if (!isset($context['page_title'])) {
770
+			$context['page_title'] = $txt['profile'] . (isset($txt[$current_area]) ? ' - ' . $txt[$current_area] : '');
771
+	}
772
+	}
740 773
 
741 774
 /**
742 775
  * Set up the requirements for the profile popup - the area that is shown as the popup menu for the current user.
@@ -859,16 +892,18 @@  discard block
 block discarded – undo
859 892
 	if (!allowedTo('admin_forum') && $area != 'register')
860 893
 	{
861 894
 		// If it's the owner they can see two types of private fields, regardless.
862
-		if ($memID == $user_info['id'])
863
-			$where .= $area == 'summary' ? ' AND private < 3' : ' AND (private = 0 OR private = 2)';
864
-		else
865
-			$where .= $area == 'summary' ? ' AND private < 2' : ' AND private = 0';
895
+		if ($memID == $user_info['id']) {
896
+					$where .= $area == 'summary' ? ' AND private < 3' : ' AND (private = 0 OR private = 2)';
897
+		} else {
898
+					$where .= $area == 'summary' ? ' AND private < 2' : ' AND private = 0';
899
+		}
866 900
 	}
867 901
 
868
-	if ($area == 'register')
869
-		$where .= ' AND show_reg != 0';
870
-	elseif ($area != 'summary')
871
-		$where .= ' AND show_profile = {string:area}';
902
+	if ($area == 'register') {
903
+			$where .= ' AND show_reg != 0';
904
+	} elseif ($area != 'summary') {
905
+			$where .= ' AND show_profile = {string:area}';
906
+	}
872 907
 
873 908
 	// Load all the relevant fields - and data.
874 909
 	$request = $smcFunc['db_query']('', '
@@ -893,8 +928,9 @@  discard block
 block discarded – undo
893 928
 			$fieldOptions = explode(',', $row['field_options']);
894 929
 			foreach ($fieldOptions as $k => $v)
895 930
 			{
896
-				if (empty($currentKey))
897
-					$currentKey = $v === $value ? $k : 0;
931
+				if (empty($currentKey)) {
932
+									$currentKey = $v === $value ? $k : 0;
933
+				}
898 934
 			}
899 935
 		}
900 936
 
@@ -906,13 +942,15 @@  discard block
 block discarded – undo
906 942
 		if (isset($_POST['customfield']) && isset($_POST['customfield'][$row['col_name']]))
907 943
 		{
908 944
 			$value = $smcFunc['htmlspecialchars']($_POST['customfield'][$row['col_name']]);
909
-			if (in_array($row['field_type'], array('select', 'radio')))
910
-					$value = ($options = explode(',', $row['field_options'])) && isset($options[$value]) ? $options[$value] : '';
945
+			if (in_array($row['field_type'], array('select', 'radio'))) {
946
+								$value = ($options = explode(',', $row['field_options'])) && isset($options[$value]) ? $options[$value] : '';
947
+			}
911 948
 		}
912 949
 
913 950
 		// Don't show the "disabled" option for the "gender" field if we are on the "summary" area.
914
-		if ($area == 'summary' && $row['col_name'] == 'cust_gender' && $value == 'None')
915
-			continue;
951
+		if ($area == 'summary' && $row['col_name'] == 'cust_gender' && $value == 'None') {
952
+					continue;
953
+		}
916 954
 
917 955
 		// HTML for the input form.
918 956
 		$output_html = $value;
@@ -921,8 +959,7 @@  discard block
 block discarded – undo
921 959
 			$true = (!$exists && $row['default_value']) || $value;
922 960
 			$input_html = '<input type="checkbox" name="customfield[' . $row['col_name'] . ']" id="customfield[' . $row['col_name'] . ']"' . ($true ? ' checked' : '') . '>';
923 961
 			$output_html = $true ? $txt['yes'] : $txt['no'];
924
-		}
925
-		elseif ($row['field_type'] == 'select')
962
+		} elseif ($row['field_type'] == 'select')
926 963
 		{
927 964
 			$input_html = '<select name="customfield[' . $row['col_name'] . ']" id="customfield[' . $row['col_name'] . ']"><option value="-1"></option>';
928 965
 			$options = explode(',', $row['field_options']);
@@ -930,13 +967,13 @@  discard block
 block discarded – undo
930 967
 			{
931 968
 				$true = (!$exists && $row['default_value'] == $v) || $value == $v;
932 969
 				$input_html .= '<option value="' . $k . '"' . ($true ? ' selected' : '') . '>' . $v . '</option>';
933
-				if ($true)
934
-					$output_html = $v;
970
+				if ($true) {
971
+									$output_html = $v;
972
+				}
935 973
 			}
936 974
 
937 975
 			$input_html .= '</select>';
938
-		}
939
-		elseif ($row['field_type'] == 'radio')
976
+		} elseif ($row['field_type'] == 'radio')
940 977
 		{
941 978
 			$input_html = '<fieldset>';
942 979
 			$options = explode(',', $row['field_options']);
@@ -944,37 +981,38 @@  discard block
 block discarded – undo
944 981
 			{
945 982
 				$true = (!$exists && $row['default_value'] == $v) || $value == $v;
946 983
 				$input_html .= '<label for="customfield_' . $row['col_name'] . '_' . $k . '"><input type="radio" name="customfield[' . $row['col_name'] . ']" id="customfield_' . $row['col_name'] . '_' . $k . '" value="' . $k . '"' . ($true ? ' checked' : '') . '>' . $v . '</label><br>';
947
-				if ($true)
948
-					$output_html = $v;
984
+				if ($true) {
985
+									$output_html = $v;
986
+				}
949 987
 			}
950 988
 			$input_html .= '</fieldset>';
951
-		}
952
-		elseif ($row['field_type'] == 'text')
989
+		} elseif ($row['field_type'] == 'text')
953 990
 		{
954 991
 			$input_html = '<input type="text" name="customfield[' . $row['col_name'] . ']" id="customfield[' . $row['col_name'] . ']"' . ($row['field_length'] != 0 ? ' maxlength="' . $row['field_length'] . '"' : '') . ' size="' . ($row['field_length'] == 0 || $row['field_length'] >= 50 ? 50 : ($row['field_length'] > 30 ? 30 : ($row['field_length'] > 10 ? 20 : 10))) . '" value="' . un_htmlspecialchars($value) . '"' . ($row['show_reg'] == 2 ? ' required' : '') . '>';
955
-		}
956
-		else
992
+		} else
957 993
 		{
958 994
 			@list ($rows, $cols) = @explode(',', $row['default_value']);
959 995
 			$input_html = '<textarea name="customfield[' . $row['col_name'] . ']" id="customfield[' . $row['col_name'] . ']"' . (!empty($rows) ? ' rows="' . $rows . '"' : '') . (!empty($cols) ? ' cols="' . $cols . '"' : '') . ($row['show_reg'] == 2 ? ' required' : '') . '>' . un_htmlspecialchars($value) . '</textarea>';
960 996
 		}
961 997
 
962 998
 		// Parse BBCode
963
-		if ($row['bbc'])
964
-			$output_html = parse_bbc($output_html);
965
-		elseif ($row['field_type'] == 'textarea')
966
-			// Allow for newlines at least
999
+		if ($row['bbc']) {
1000
+					$output_html = parse_bbc($output_html);
1001
+		} elseif ($row['field_type'] == 'textarea') {
1002
+					// Allow for newlines at least
967 1003
 			$output_html = strtr($output_html, array("\n" => '<br>'));
1004
+		}
968 1005
 
969 1006
 		// Enclosing the user input within some other text?
970
-		if (!empty($row['enclose']) && !empty($output_html))
971
-			$output_html = strtr($row['enclose'], array(
1007
+		if (!empty($row['enclose']) && !empty($output_html)) {
1008
+					$output_html = strtr($row['enclose'], array(
972 1009
 				'{SCRIPTURL}' => $scripturl,
973 1010
 				'{IMAGES_URL}' => $settings['images_url'],
974 1011
 				'{DEFAULT_IMAGES_URL}' => $settings['default_images_url'],
975 1012
 				'{INPUT}' => un_htmlspecialchars($output_html),
976 1013
 				'{KEY}' => $currentKey
977 1014
 			));
1015
+		}
978 1016
 
979 1017
 		$context['custom_fields'][] = array(
980 1018
 			'name' => $row['field_name'],
Please login to merge, or discard this patch.
Sources/Class-Punycode.php 3 patches
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.
Braces   +2 added lines, -1 removed lines patch added patch discarded remove patch
@@ -18,8 +18,9 @@
 block discarded – undo
18 18
  * @version 2.1 Beta 4
19 19
  */
20 20
 
21
-if (!defined('SMF'))
21
+if (!defined('SMF')) {
22 22
     die('No direct access...');
23
+}
23 24
 
24 25
 /**
25 26
  * Punycode implementation as described in RFC 3492
Please login to merge, or discard this patch.
Indentation   +327 added lines, -327 removed lines patch added patch discarded remove patch
@@ -19,7 +19,7 @@  discard block
 block discarded – undo
19 19
  */
20 20
 
21 21
 if (!defined('SMF'))
22
-    die('No direct access...');
22
+	die('No direct access...');
23 23
 
24 24
 /**
25 25
  * Punycode implementation as described in RFC 3492
@@ -28,332 +28,332 @@  discard block
 block discarded – undo
28 28
  */
29 29
 class Punycode
30 30
 {
31
-    /**
32
-     * Bootstring parameter values
33
-     *
34
-     */
35
-    const BASE         = 36;
36
-    const TMIN         = 1;
37
-    const TMAX         = 26;
38
-    const SKEW         = 38;
39
-    const DAMP         = 700;
40
-    const INITIAL_BIAS = 72;
41
-    const INITIAL_N    = 128;
42
-    const PREFIX       = 'xn--';
43
-    const DELIMITER    = '-';
44
-
45
-    /**
46
-     * Encode table
47
-     *
48
-     * @param array
49
-     */
50
-    protected static $encodeTable = array(
51
-        'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
52
-        'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
53
-        'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
54
-    );
55
-
56
-    /**
57
-     * Decode table
58
-     *
59
-     * @param array
60
-     */
61
-    protected static $decodeTable = array(
62
-        'a' =>  0, 'b' =>  1, 'c' =>  2, 'd' =>  3, 'e' =>  4, 'f' =>  5,
63
-        'g' =>  6, 'h' =>  7, 'i' =>  8, 'j' =>  9, 'k' => 10, 'l' => 11,
64
-        'm' => 12, 'n' => 13, 'o' => 14, 'p' => 15, 'q' => 16, 'r' => 17,
65
-        's' => 18, 't' => 19, 'u' => 20, 'v' => 21, 'w' => 22, 'x' => 23,
66
-        'y' => 24, 'z' => 25, '0' => 26, '1' => 27, '2' => 28, '3' => 29,
67
-        '4' => 30, '5' => 31, '6' => 32, '7' => 33, '8' => 34, '9' => 35
68
-    );
69
-
70
-    /**
71
-     * Character encoding
72
-     *
73
-     * @param string
74
-     */
75
-    protected $encoding;
76
-
77
-    /**
78
-     * Constructor
79
-     *
80
-     * @param string $encoding Character encoding
81
-     */
82
-    public function __construct($encoding = 'UTF-8')
83
-    {
84
-        $this->encoding = $encoding;
85
-    }
86
-
87
-    /**
88
-     * Encode a domain to its Punycode version
89
-     *
90
-     * @param string $input Domain name in Unicode to be encoded
91
-     * @return string Punycode representation in ASCII
92
-     */
93
-    public function encode($input)
94
-    {
95
-        $input = mb_strtolower($input, $this->encoding);
96
-        $parts = explode('.', $input);
97
-        foreach ($parts as &$part) {
98
-            $part = $this->encodePart($part);
99
-        }
100
-        $output = implode('.', $parts);
101
-        $length = strlen($output);
102
-
103
-        return $output;
104
-    }
105
-
106
-    /**
107
-     * Encode a part of a domain name, such as tld, to its Punycode version
108
-     *
109
-     * @param string $input Part of a domain name
110
-     * @return string Punycode representation of a domain part
111
-     */
112
-    protected function encodePart($input)
113
-    {
114
-        $codePoints = $this->listCodePoints($input);
115
-
116
-        $n = static::INITIAL_N;
117
-        $bias = static::INITIAL_BIAS;
118
-        $delta = 0;
119
-        $h = $b = count($codePoints['basic']);
120
-
121
-        $output = '';
122
-        foreach ($codePoints['basic'] as $code) {
123
-            $output .= $this->codePointToChar($code);
124
-        }
125
-        if ($input === $output) {
126
-            return $output;
127
-        }
128
-        if ($b > 0) {
129
-            $output .= static::DELIMITER;
130
-        }
131
-
132
-        $codePoints['nonBasic'] = array_unique($codePoints['nonBasic']);
133
-        sort($codePoints['nonBasic']);
134
-
135
-        $i = 0;
136
-        $length = mb_strlen($input, $this->encoding);
137
-        while ($h < $length) {
138
-            $m = $codePoints['nonBasic'][$i++];
139
-            $delta = $delta + ($m - $n) * ($h + 1);
140
-            $n = $m;
141
-
142
-            foreach ($codePoints['all'] as $c) {
143
-                if ($c < $n || $c < static::INITIAL_N) {
144
-                    $delta++;
145
-                }
146
-                if ($c === $n) {
147
-                    $q = $delta;
148
-                    for ($k = static::BASE;; $k += static::BASE) {
149
-                        $t = $this->calculateThreshold($k, $bias);
150
-                        if ($q < $t) {
151
-                            break;
152
-                        }
153
-
154
-                        $code = $t + (($q - $t) % (static::BASE - $t));
155
-                        $output .= static::$encodeTable[$code];
156
-
157
-                        $q = ($q - $t) / (static::BASE - $t);
158
-                    }
159
-
160
-                    $output .= static::$encodeTable[$q];
161
-                    $bias = $this->adapt($delta, $h + 1, ($h === $b));
162
-                    $delta = 0;
163
-                    $h++;
164
-                }
165
-            }
166
-
167
-            $delta++;
168
-            $n++;
169
-        }
170
-        $out = static::PREFIX . $output;
171
-
172
-        return $out;
173
-    }
174
-
175
-    /**
176
-     * Decode a Punycode domain name to its Unicode counterpart
177
-     *
178
-     * @param string $input Domain name in Punycode
179
-     * @return string Unicode domain name
180
-     */
181
-    public function decode($input)
182
-    {
183
-        $input = strtolower($input);
184
-        $parts = explode('.', $input);
185
-        foreach ($parts as &$part) {
186
-            if (strpos($part, static::PREFIX) !== 0) {
187
-                continue;
188
-            }
189
-
190
-            $part = substr($part, strlen(static::PREFIX));
191
-            $part = $this->decodePart($part);
192
-        }
193
-        $output = implode('.', $parts);
194
-
195
-        return $output;
196
-    }
197
-
198
-    /**
199
-     * Decode a part of domain name, such as tld
200
-     *
201
-     * @param string $input Part of a domain name
202
-     * @return string Unicode domain part
203
-     */
204
-    protected function decodePart($input)
205
-    {
206
-        $n = static::INITIAL_N;
207
-        $i = 0;
208
-        $bias = static::INITIAL_BIAS;
209
-        $output = '';
210
-
211
-        $pos = strrpos($input, static::DELIMITER);
212
-        if ($pos !== false) {
213
-            $output = substr($input, 0, $pos++);
214
-        } else {
215
-            $pos = 0;
216
-        }
217
-
218
-        $outputLength = strlen($output);
219
-        $inputLength = strlen($input);
220
-        while ($pos < $inputLength) {
221
-            $oldi = $i;
222
-            $w = 1;
223
-
224
-            for ($k = static::BASE;; $k += static::BASE) {
225
-                $digit = static::$decodeTable[$input[$pos++]];
226
-                $i = $i + ($digit * $w);
227
-                $t = $this->calculateThreshold($k, $bias);
228
-
229
-                if ($digit < $t) {
230
-                    break;
231
-                }
232
-
233
-                $w = $w * (static::BASE - $t);
234
-            }
235
-
236
-            $bias = $this->adapt($i - $oldi, ++$outputLength, ($oldi === 0));
237
-            $n = $n + (int) ($i / $outputLength);
238
-            $i = $i % ($outputLength);
239
-            $output = mb_substr($output, 0, $i, $this->encoding) . $this->codePointToChar($n) . mb_substr($output, $i, $outputLength - 1, $this->encoding);
240
-
241
-            $i++;
242
-        }
243
-
244
-        return $output;
245
-    }
246
-
247
-    /**
248
-     * Calculate the bias threshold to fall between TMIN and TMAX
249
-     *
250
-     * @param integer $k
251
-     * @param integer $bias
252
-     * @return integer
253
-     */
254
-    protected function calculateThreshold($k, $bias)
255
-    {
256
-        if ($k <= $bias + static::TMIN) {
257
-            return static::TMIN;
258
-        } elseif ($k >= $bias + static::TMAX) {
259
-            return static::TMAX;
260
-        }
261
-        return $k - $bias;
262
-    }
263
-
264
-    /**
265
-     * Bias adaptation
266
-     *
267
-     * @param integer $delta
268
-     * @param integer $numPoints
269
-     * @param boolean $firstTime
270
-     * @return integer
271
-     */
272
-    protected function adapt($delta, $numPoints, $firstTime)
273
-    {
274
-        $delta = (int) (
275
-            ($firstTime)
276
-                ? $delta / static::DAMP
277
-                : $delta / 2
278
-            );
279
-        $delta += (int) ($delta / $numPoints);
280
-
281
-        $k = 0;
282
-        while ($delta > ((static::BASE - static::TMIN) * static::TMAX) / 2) {
283
-            $delta = (int) ($delta / (static::BASE - static::TMIN));
284
-            $k = $k + static::BASE;
285
-        }
286
-        $k = $k + (int) (((static::BASE - static::TMIN + 1) * $delta) / ($delta + static::SKEW));
287
-
288
-        return $k;
289
-    }
290
-
291
-    /**
292
-     * List code points for a given input
293
-     *
294
-     * @param string $input
295
-     * @return array Multi-dimension array with basic, non-basic and aggregated code points
296
-     */
297
-    protected function listCodePoints($input)
298
-    {
299
-        $codePoints = array(
300
-            'all'      => array(),
301
-            'basic'    => array(),
302
-            'nonBasic' => array(),
303
-        );
304
-
305
-        $length = mb_strlen($input, $this->encoding);
306
-        for ($i = 0; $i < $length; $i++) {
307
-            $char = mb_substr($input, $i, 1, $this->encoding);
308
-            $code = $this->charToCodePoint($char);
309
-            if ($code < 128) {
310
-                $codePoints['all'][] = $codePoints['basic'][] = $code;
311
-            } else {
312
-                $codePoints['all'][] = $codePoints['nonBasic'][] = $code;
313
-            }
314
-        }
315
-
316
-        return $codePoints;
317
-    }
318
-
319
-    /**
320
-     * Convert a single or multi-byte character to its code point
321
-     *
322
-     * @param string $char
323
-     * @return integer
324
-     */
325
-    protected function charToCodePoint($char)
326
-    {
327
-        $code = ord($char[0]);
328
-        if ($code < 128) {
329
-            return $code;
330
-        } elseif ($code < 224) {
331
-            return (($code - 192) * 64) + (ord($char[1]) - 128);
332
-        } elseif ($code < 240) {
333
-            return (($code - 224) * 4096) + ((ord($char[1]) - 128) * 64) + (ord($char[2]) - 128);
334
-        } else {
335
-            return (($code - 240) * 262144) + ((ord($char[1]) - 128) * 4096) + ((ord($char[2]) - 128) * 64) + (ord($char[3]) - 128);
336
-        }
337
-    }
338
-
339
-    /**
340
-     * Convert a code point to its single or multi-byte character
341
-     *
342
-     * @param integer $code
343
-     * @return string
344
-     */
345
-    protected function codePointToChar($code)
346
-    {
347
-        if ($code <= 0x7F) {
348
-            return chr($code);
349
-        } elseif ($code <= 0x7FF) {
350
-            return chr(($code >> 6) + 192) . chr(($code & 63) + 128);
351
-        } elseif ($code <= 0xFFFF) {
352
-            return chr(($code >> 12) + 224) . chr((($code >> 6) & 63) + 128) . chr(($code & 63) + 128);
353
-        } else {
354
-            return chr(($code >> 18) + 240) . chr((($code >> 12) & 63) + 128) . chr((($code >> 6) & 63) + 128) . chr(($code & 63) + 128);
355
-        }
356
-    }
31
+	/**
32
+	 * Bootstring parameter values
33
+	 *
34
+	 */
35
+	const BASE         = 36;
36
+	const TMIN         = 1;
37
+	const TMAX         = 26;
38
+	const SKEW         = 38;
39
+	const DAMP         = 700;
40
+	const INITIAL_BIAS = 72;
41
+	const INITIAL_N    = 128;
42
+	const PREFIX       = 'xn--';
43
+	const DELIMITER    = '-';
44
+
45
+	/**
46
+	 * Encode table
47
+	 *
48
+	 * @param array
49
+	 */
50
+	protected static $encodeTable = array(
51
+		'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
52
+		'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
53
+		'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
54
+	);
55
+
56
+	/**
57
+	 * Decode table
58
+	 *
59
+	 * @param array
60
+	 */
61
+	protected static $decodeTable = array(
62
+		'a' =>  0, 'b' =>  1, 'c' =>  2, 'd' =>  3, 'e' =>  4, 'f' =>  5,
63
+		'g' =>  6, 'h' =>  7, 'i' =>  8, 'j' =>  9, 'k' => 10, 'l' => 11,
64
+		'm' => 12, 'n' => 13, 'o' => 14, 'p' => 15, 'q' => 16, 'r' => 17,
65
+		's' => 18, 't' => 19, 'u' => 20, 'v' => 21, 'w' => 22, 'x' => 23,
66
+		'y' => 24, 'z' => 25, '0' => 26, '1' => 27, '2' => 28, '3' => 29,
67
+		'4' => 30, '5' => 31, '6' => 32, '7' => 33, '8' => 34, '9' => 35
68
+	);
69
+
70
+	/**
71
+	 * Character encoding
72
+	 *
73
+	 * @param string
74
+	 */
75
+	protected $encoding;
76
+
77
+	/**
78
+	 * Constructor
79
+	 *
80
+	 * @param string $encoding Character encoding
81
+	 */
82
+	public function __construct($encoding = 'UTF-8')
83
+	{
84
+		$this->encoding = $encoding;
85
+	}
86
+
87
+	/**
88
+	 * Encode a domain to its Punycode version
89
+	 *
90
+	 * @param string $input Domain name in Unicode to be encoded
91
+	 * @return string Punycode representation in ASCII
92
+	 */
93
+	public function encode($input)
94
+	{
95
+		$input = mb_strtolower($input, $this->encoding);
96
+		$parts = explode('.', $input);
97
+		foreach ($parts as &$part) {
98
+			$part = $this->encodePart($part);
99
+		}
100
+		$output = implode('.', $parts);
101
+		$length = strlen($output);
102
+
103
+		return $output;
104
+	}
105
+
106
+	/**
107
+	 * Encode a part of a domain name, such as tld, to its Punycode version
108
+	 *
109
+	 * @param string $input Part of a domain name
110
+	 * @return string Punycode representation of a domain part
111
+	 */
112
+	protected function encodePart($input)
113
+	{
114
+		$codePoints = $this->listCodePoints($input);
115
+
116
+		$n = static::INITIAL_N;
117
+		$bias = static::INITIAL_BIAS;
118
+		$delta = 0;
119
+		$h = $b = count($codePoints['basic']);
120
+
121
+		$output = '';
122
+		foreach ($codePoints['basic'] as $code) {
123
+			$output .= $this->codePointToChar($code);
124
+		}
125
+		if ($input === $output) {
126
+			return $output;
127
+		}
128
+		if ($b > 0) {
129
+			$output .= static::DELIMITER;
130
+		}
131
+
132
+		$codePoints['nonBasic'] = array_unique($codePoints['nonBasic']);
133
+		sort($codePoints['nonBasic']);
134
+
135
+		$i = 0;
136
+		$length = mb_strlen($input, $this->encoding);
137
+		while ($h < $length) {
138
+			$m = $codePoints['nonBasic'][$i++];
139
+			$delta = $delta + ($m - $n) * ($h + 1);
140
+			$n = $m;
141
+
142
+			foreach ($codePoints['all'] as $c) {
143
+				if ($c < $n || $c < static::INITIAL_N) {
144
+					$delta++;
145
+				}
146
+				if ($c === $n) {
147
+					$q = $delta;
148
+					for ($k = static::BASE;; $k += static::BASE) {
149
+						$t = $this->calculateThreshold($k, $bias);
150
+						if ($q < $t) {
151
+							break;
152
+						}
153
+
154
+						$code = $t + (($q - $t) % (static::BASE - $t));
155
+						$output .= static::$encodeTable[$code];
156
+
157
+						$q = ($q - $t) / (static::BASE - $t);
158
+					}
159
+
160
+					$output .= static::$encodeTable[$q];
161
+					$bias = $this->adapt($delta, $h + 1, ($h === $b));
162
+					$delta = 0;
163
+					$h++;
164
+				}
165
+			}
166
+
167
+			$delta++;
168
+			$n++;
169
+		}
170
+		$out = static::PREFIX . $output;
171
+
172
+		return $out;
173
+	}
174
+
175
+	/**
176
+	 * Decode a Punycode domain name to its Unicode counterpart
177
+	 *
178
+	 * @param string $input Domain name in Punycode
179
+	 * @return string Unicode domain name
180
+	 */
181
+	public function decode($input)
182
+	{
183
+		$input = strtolower($input);
184
+		$parts = explode('.', $input);
185
+		foreach ($parts as &$part) {
186
+			if (strpos($part, static::PREFIX) !== 0) {
187
+				continue;
188
+			}
189
+
190
+			$part = substr($part, strlen(static::PREFIX));
191
+			$part = $this->decodePart($part);
192
+		}
193
+		$output = implode('.', $parts);
194
+
195
+		return $output;
196
+	}
197
+
198
+	/**
199
+	 * Decode a part of domain name, such as tld
200
+	 *
201
+	 * @param string $input Part of a domain name
202
+	 * @return string Unicode domain part
203
+	 */
204
+	protected function decodePart($input)
205
+	{
206
+		$n = static::INITIAL_N;
207
+		$i = 0;
208
+		$bias = static::INITIAL_BIAS;
209
+		$output = '';
210
+
211
+		$pos = strrpos($input, static::DELIMITER);
212
+		if ($pos !== false) {
213
+			$output = substr($input, 0, $pos++);
214
+		} else {
215
+			$pos = 0;
216
+		}
217
+
218
+		$outputLength = strlen($output);
219
+		$inputLength = strlen($input);
220
+		while ($pos < $inputLength) {
221
+			$oldi = $i;
222
+			$w = 1;
223
+
224
+			for ($k = static::BASE;; $k += static::BASE) {
225
+				$digit = static::$decodeTable[$input[$pos++]];
226
+				$i = $i + ($digit * $w);
227
+				$t = $this->calculateThreshold($k, $bias);
228
+
229
+				if ($digit < $t) {
230
+					break;
231
+				}
232
+
233
+				$w = $w * (static::BASE - $t);
234
+			}
235
+
236
+			$bias = $this->adapt($i - $oldi, ++$outputLength, ($oldi === 0));
237
+			$n = $n + (int) ($i / $outputLength);
238
+			$i = $i % ($outputLength);
239
+			$output = mb_substr($output, 0, $i, $this->encoding) . $this->codePointToChar($n) . mb_substr($output, $i, $outputLength - 1, $this->encoding);
240
+
241
+			$i++;
242
+		}
243
+
244
+		return $output;
245
+	}
246
+
247
+	/**
248
+	 * Calculate the bias threshold to fall between TMIN and TMAX
249
+	 *
250
+	 * @param integer $k
251
+	 * @param integer $bias
252
+	 * @return integer
253
+	 */
254
+	protected function calculateThreshold($k, $bias)
255
+	{
256
+		if ($k <= $bias + static::TMIN) {
257
+			return static::TMIN;
258
+		} elseif ($k >= $bias + static::TMAX) {
259
+			return static::TMAX;
260
+		}
261
+		return $k - $bias;
262
+	}
263
+
264
+	/**
265
+	 * Bias adaptation
266
+	 *
267
+	 * @param integer $delta
268
+	 * @param integer $numPoints
269
+	 * @param boolean $firstTime
270
+	 * @return integer
271
+	 */
272
+	protected function adapt($delta, $numPoints, $firstTime)
273
+	{
274
+		$delta = (int) (
275
+			($firstTime)
276
+				? $delta / static::DAMP
277
+				: $delta / 2
278
+			);
279
+		$delta += (int) ($delta / $numPoints);
280
+
281
+		$k = 0;
282
+		while ($delta > ((static::BASE - static::TMIN) * static::TMAX) / 2) {
283
+			$delta = (int) ($delta / (static::BASE - static::TMIN));
284
+			$k = $k + static::BASE;
285
+		}
286
+		$k = $k + (int) (((static::BASE - static::TMIN + 1) * $delta) / ($delta + static::SKEW));
287
+
288
+		return $k;
289
+	}
290
+
291
+	/**
292
+	 * List code points for a given input
293
+	 *
294
+	 * @param string $input
295
+	 * @return array Multi-dimension array with basic, non-basic and aggregated code points
296
+	 */
297
+	protected function listCodePoints($input)
298
+	{
299
+		$codePoints = array(
300
+			'all'      => array(),
301
+			'basic'    => array(),
302
+			'nonBasic' => array(),
303
+		);
304
+
305
+		$length = mb_strlen($input, $this->encoding);
306
+		for ($i = 0; $i < $length; $i++) {
307
+			$char = mb_substr($input, $i, 1, $this->encoding);
308
+			$code = $this->charToCodePoint($char);
309
+			if ($code < 128) {
310
+				$codePoints['all'][] = $codePoints['basic'][] = $code;
311
+			} else {
312
+				$codePoints['all'][] = $codePoints['nonBasic'][] = $code;
313
+			}
314
+		}
315
+
316
+		return $codePoints;
317
+	}
318
+
319
+	/**
320
+	 * Convert a single or multi-byte character to its code point
321
+	 *
322
+	 * @param string $char
323
+	 * @return integer
324
+	 */
325
+	protected function charToCodePoint($char)
326
+	{
327
+		$code = ord($char[0]);
328
+		if ($code < 128) {
329
+			return $code;
330
+		} elseif ($code < 224) {
331
+			return (($code - 192) * 64) + (ord($char[1]) - 128);
332
+		} elseif ($code < 240) {
333
+			return (($code - 224) * 4096) + ((ord($char[1]) - 128) * 64) + (ord($char[2]) - 128);
334
+		} else {
335
+			return (($code - 240) * 262144) + ((ord($char[1]) - 128) * 4096) + ((ord($char[2]) - 128) * 64) + (ord($char[3]) - 128);
336
+		}
337
+	}
338
+
339
+	/**
340
+	 * Convert a code point to its single or multi-byte character
341
+	 *
342
+	 * @param integer $code
343
+	 * @return string
344
+	 */
345
+	protected function codePointToChar($code)
346
+	{
347
+		if ($code <= 0x7F) {
348
+			return chr($code);
349
+		} elseif ($code <= 0x7FF) {
350
+			return chr(($code >> 6) + 192) . chr(($code & 63) + 128);
351
+		} elseif ($code <= 0xFFFF) {
352
+			return chr(($code >> 12) + 224) . chr((($code >> 6) & 63) + 128) . chr(($code & 63) + 128);
353
+		} else {
354
+			return chr(($code >> 18) + 240) . chr((($code >> 12) & 63) + 128) . chr((($code >> 6) & 63) + 128) . chr(($code & 63) + 128);
355
+		}
356
+	}
357 357
 }
358 358
 
359 359
 ?>
360 360
\ No newline at end of file
Please login to merge, or discard this patch.
Sources/Packages.php 1 patch
Braces   +593 added lines, -480 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 4
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	die('No direct access...');
18
+}
18 19
 
19 20
 /**
20 21
  * This is the notoriously defunct package manager..... :/.
@@ -57,10 +58,11 @@  discard block
 block discarded – undo
57 58
 	);
58 59
 
59 60
 	// Work out exactly who it is we are calling.
60
-	if (isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']]))
61
-		$context['sub_action'] = $_REQUEST['sa'];
62
-	else
63
-		$context['sub_action'] = 'browse';
61
+	if (isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']])) {
62
+			$context['sub_action'] = $_REQUEST['sa'];
63
+	} else {
64
+			$context['sub_action'] = 'browse';
65
+	}
64 66
 
65 67
 	// Set up some tabs...
66 68
 	$context[$context['admin_menu_name']]['tab_data'] = array(
@@ -82,8 +84,9 @@  discard block
 block discarded – undo
82 84
 		),
83 85
 	);
84 86
 
85
-	if ($context['sub_action'] == 'browse')
86
-		loadJavaScriptFile('suggest.js', array('defer' => false, 'minimize' => true), 'smf_suggest');
87
+	if ($context['sub_action'] == 'browse') {
88
+			loadJavaScriptFile('suggest.js', array('defer' => false, 'minimize' => true), 'smf_suggest');
89
+	}
87 90
 
88 91
 	call_integration_hook('integrate_manage_packages', array(&$subActions));
89 92
 
@@ -99,8 +102,9 @@  discard block
 block discarded – undo
99 102
 	global $boarddir, $txt, $context, $scripturl, $sourcedir, $packagesdir, $modSettings, $smcFunc, $settings;
100 103
 
101 104
 	// You have to specify a file!!
102
-	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '')
103
-		redirectexit('action=admin;area=packages');
105
+	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '') {
106
+			redirectexit('action=admin;area=packages');
107
+	}
104 108
 	$context['filename'] = preg_replace('~[\.]+~', '.', $_REQUEST['package']);
105 109
 
106 110
 	// Do we have an existing id, for uninstalls and the like.
@@ -112,8 +116,9 @@  discard block
 block discarded – undo
112 116
 	create_chmod_control();
113 117
 
114 118
 	// Make sure temp directory exists and is empty.
115
-	if (file_exists($packagesdir . '/temp'))
116
-		deltree($packagesdir . '/temp', false);
119
+	if (file_exists($packagesdir . '/temp')) {
120
+			deltree($packagesdir . '/temp', false);
121
+	}
117 122
 
118 123
 	if (!mktree($packagesdir . '/temp', 0755))
119 124
 	{
@@ -124,8 +129,9 @@  discard block
 block discarded – undo
124 129
 			create_chmod_control(array($packagesdir . '/temp/delme.tmp'), array('destination_url' => $scripturl . '?action=admin;area=packages;sa=' . $_REQUEST['sa'] . ';package=' . $_REQUEST['package'], 'crash_on_error' => true));
125 130
 
126 131
 			deltree($packagesdir . '/temp', false);
127
-			if (!mktree($packagesdir . '/temp', 0777))
128
-				fatal_lang_error('package_cant_download', false);
132
+			if (!mktree($packagesdir . '/temp', 0777)) {
133
+							fatal_lang_error('package_cant_download', false);
134
+			}
129 135
 		}
130 136
 	}
131 137
 
@@ -151,25 +157,26 @@  discard block
 block discarded – undo
151 157
 	{
152 158
 		$context['extracted_files'] = read_tgz_file($packagesdir . '/' . $context['filename'], $packagesdir . '/temp');
153 159
 
154
-		if ($context['extracted_files'] && !file_exists($packagesdir . '/temp/package-info.xml'))
155
-			foreach ($context['extracted_files'] as $file)
160
+		if ($context['extracted_files'] && !file_exists($packagesdir . '/temp/package-info.xml')) {
161
+					foreach ($context['extracted_files'] as $file)
156 162
 				if (basename($file['filename']) == 'package-info.xml')
157 163
 				{
158 164
 					$context['base_path'] = dirname($file['filename']) . '/';
165
+		}
159 166
 					break;
160 167
 				}
161 168
 
162
-		if (!isset($context['base_path']))
163
-			$context['base_path'] = '';
164
-	}
165
-	elseif (is_dir($packagesdir . '/' . $context['filename']))
169
+		if (!isset($context['base_path'])) {
170
+					$context['base_path'] = '';
171
+		}
172
+	} elseif (is_dir($packagesdir . '/' . $context['filename']))
166 173
 	{
167 174
 		copytree($packagesdir . '/' . $context['filename'], $packagesdir . '/temp');
168 175
 		$context['extracted_files'] = listtree($packagesdir . '/temp');
169 176
 		$context['base_path'] = '';
177
+	} else {
178
+			fatal_lang_error('no_access', false);
170 179
 	}
171
-	else
172
-		fatal_lang_error('no_access', false);
173 180
 
174 181
 	// Load up any custom themes we may want to install into...
175 182
 	$request = $smcFunc['db_query']('', '
@@ -185,15 +192,17 @@  discard block
 block discarded – undo
185 192
 		)
186 193
 	);
187 194
 	$theme_paths = array();
188
-	while ($row = $smcFunc['db_fetch_assoc']($request))
189
-		$theme_paths[$row['id_theme']][$row['variable']] = $row['value'];
195
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
196
+			$theme_paths[$row['id_theme']][$row['variable']] = $row['value'];
197
+	}
190 198
 	$smcFunc['db_free_result']($request);
191 199
 
192 200
 	// Get the package info...
193 201
 	$packageInfo = getPackageInfo($context['filename']);
194 202
 
195
-	if (!is_array($packageInfo))
196
-		fatal_lang_error($packageInfo);
203
+	if (!is_array($packageInfo)) {
204
+			fatal_lang_error($packageInfo);
205
+	}
197 206
 
198 207
 	$packageInfo['filename'] = $context['filename'];
199 208
 	$context['package_name'] = isset($packageInfo['name']) ? $packageInfo['name'] : $context['filename'];
@@ -227,18 +236,19 @@  discard block
 block discarded – undo
227 236
 	$smcFunc['db_free_result']($request);
228 237
 
229 238
 	$context['database_changes'] = array();
230
-	if (isset($packageInfo['uninstall']['database']))
231
-		$context['database_changes'][] = $txt['execute_database_changes'] . ' - ' . $packageInfo['uninstall']['database'];
232
-	elseif (!empty($db_changes))
239
+	if (isset($packageInfo['uninstall']['database'])) {
240
+			$context['database_changes'][] = $txt['execute_database_changes'] . ' - ' . $packageInfo['uninstall']['database'];
241
+	} elseif (!empty($db_changes))
233 242
 	{
234 243
 		foreach ($db_changes as $change)
235 244
 		{
236
-			if (isset($change[2]) && isset($txt['package_db_' . $change[0]]))
237
-				$context['database_changes'][] = sprintf($txt['package_db_' . $change[0]], $change[1], $change[2]);
238
-			elseif (isset($txt['package_db_' . $change[0]]))
239
-				$context['database_changes'][] = sprintf($txt['package_db_' . $change[0]], $change[1]);
240
-			else
241
-				$context['database_changes'][] = $change[0] . '-' . $change[1] . (isset($change[2]) ? '-' . $change[2] : '');
245
+			if (isset($change[2]) && isset($txt['package_db_' . $change[0]])) {
246
+							$context['database_changes'][] = sprintf($txt['package_db_' . $change[0]], $change[1], $change[2]);
247
+			} elseif (isset($txt['package_db_' . $change[0]])) {
248
+							$context['database_changes'][] = sprintf($txt['package_db_' . $change[0]], $change[1]);
249
+			} else {
250
+							$context['database_changes'][] = $change[0] . '-' . $change[1] . (isset($change[2]) ? '-' . $change[2] : '');
251
+			}
242 252
 		}
243 253
 	}
244 254
 
@@ -265,31 +275,33 @@  discard block
 block discarded – undo
265 275
 		$context['themes_locked'] = true;
266 276
 
267 277
 		// Only let them uninstall themes it was installed into.
268
-		foreach ($theme_paths as $id => $data)
269
-			if ($id != 1 && !in_array($id, $old_themes))
278
+		foreach ($theme_paths as $id => $data) {
279
+					if ($id != 1 && !in_array($id, $old_themes))
270 280
 				unset($theme_paths[$id]);
271
-	}
272
-	elseif (isset($old_version) && $old_version != $packageInfo['version'])
281
+		}
282
+	} elseif (isset($old_version) && $old_version != $packageInfo['version'])
273 283
 	{
274 284
 		// Look for an upgrade...
275 285
 		$actions = parsePackageInfo($packageInfo['xml'], true, 'upgrade', $old_version);
276 286
 
277 287
 		// There was no upgrade....
278
-		if (empty($actions))
279
-			$context['is_installed'] = true;
280
-		else
288
+		if (empty($actions)) {
289
+					$context['is_installed'] = true;
290
+		} else
281 291
 		{
282 292
 			// Otherwise they can only upgrade themes from the first time around.
283
-			foreach ($theme_paths as $id => $data)
284
-				if ($id != 1 && !in_array($id, $old_themes))
293
+			foreach ($theme_paths as $id => $data) {
294
+							if ($id != 1 && !in_array($id, $old_themes))
285 295
 					unset($theme_paths[$id]);
296
+			}
286 297
 		}
298
+	} elseif (isset($old_version) && $old_version == $packageInfo['version']) {
299
+			$context['is_installed'] = true;
287 300
 	}
288
-	elseif (isset($old_version) && $old_version == $packageInfo['version'])
289
-		$context['is_installed'] = true;
290 301
 
291
-	if (!isset($old_version) || $context['is_installed'])
292
-		$actions = parsePackageInfo($packageInfo['xml'], true, 'install');
302
+	if (!isset($old_version) || $context['is_installed']) {
303
+			$actions = parsePackageInfo($packageInfo['xml'], true, 'install');
304
+	}
293 305
 
294 306
 	$context['actions'] = array();
295 307
 	$context['ftp_needed'] = false;
@@ -297,8 +309,9 @@  discard block
 block discarded – undo
297 309
 	$chmod_files = array();
298 310
 
299 311
 	// no actions found, return so we can display an error
300
-	if (empty($actions))
301
-		return;
312
+	if (empty($actions)) {
313
+			return;
314
+	}
302 315
 
303 316
 	// This will hold data about anything that can be installed in other themes.
304 317
 	$themeFinds = array(
@@ -317,14 +330,14 @@  discard block
 block discarded – undo
317 330
 		{
318 331
 			$chmod_files[] = $action['filename'];
319 332
 			continue;
320
-		}
321
-		elseif ($action['type'] == 'readme' || $action['type'] == 'license')
333
+		} elseif ($action['type'] == 'readme' || $action['type'] == 'license')
322 334
 		{
323 335
 			$type = 'package_' . $action['type'];
324
-			if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename']))
325
-				$context[$type] = $smcFunc['htmlspecialchars'](trim(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), "\n\r"));
326
-			elseif (file_exists($action['filename']))
327
-				$context[$type] = $smcFunc['htmlspecialchars'](trim(file_get_contents($action['filename']), "\n\r"));
336
+			if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename'])) {
337
+							$context[$type] = $smcFunc['htmlspecialchars'](trim(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), "\n\r"));
338
+			} elseif (file_exists($action['filename'])) {
339
+							$context[$type] = $smcFunc['htmlspecialchars'](trim(file_get_contents($action['filename']), "\n\r"));
340
+			}
328 341
 
329 342
 			if (!empty($action['parse_bbc']))
330 343
 			{
@@ -332,24 +345,24 @@  discard block
 block discarded – undo
332 345
 				$context[$type] = preg_replace('~\[[/]?html\]~i', '', $context[$type]);
333 346
 				preparsecode($context[$type]);
334 347
 				$context[$type] = parse_bbc($context[$type]);
348
+			} else {
349
+							$context[$type] = nl2br($context[$type]);
335 350
 			}
336
-			else
337
-				$context[$type] = nl2br($context[$type]);
338 351
 
339 352
 			continue;
340 353
 		}
341 354
 		// Don't show redirects.
342
-		elseif ($action['type'] == 'redirect')
343
-			continue;
344
-		elseif ($action['type'] == 'error')
355
+		elseif ($action['type'] == 'redirect') {
356
+					continue;
357
+		} elseif ($action['type'] == 'error')
345 358
 		{
346 359
 			$context['has_failure'] = true;
347
-			if (isset($action['error_msg']) && isset($action['error_var']))
348
-				$context['failure_details'] = sprintf($txt['package_will_fail_' . $action['error_msg']], $action['error_var']);
349
-			elseif (isset($action['error_msg']))
350
-				$context['failure_details'] = isset($txt['package_will_fail_' . $action['error_msg']]) ? $txt['package_will_fail_' . $action['error_msg']] : $action['error_msg'];
351
-		}
352
-		elseif ($action['type'] == 'modification')
360
+			if (isset($action['error_msg']) && isset($action['error_var'])) {
361
+							$context['failure_details'] = sprintf($txt['package_will_fail_' . $action['error_msg']], $action['error_var']);
362
+			} elseif (isset($action['error_msg'])) {
363
+							$context['failure_details'] = isset($txt['package_will_fail_' . $action['error_msg']]) ? $txt['package_will_fail_' . $action['error_msg']] : $action['error_msg'];
364
+			}
365
+		} elseif ($action['type'] == 'modification')
353 366
 		{
354 367
 			if (!file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename']))
355 368
 			{
@@ -361,51 +374,53 @@  discard block
 block discarded – undo
361 374
 					'description' => $txt['package_action_missing'],
362 375
 					'failed' => true,
363 376
 				);
364
-			}
365
-			else
377
+			} else
366 378
 			{
367
-				if ($action['boardmod'])
368
-					$mod_actions = parseBoardMod(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), true, $action['reverse'], $theme_paths);
369
-				else
370
-					$mod_actions = parseModification(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), true, $action['reverse'], $theme_paths);
379
+				if ($action['boardmod']) {
380
+									$mod_actions = parseBoardMod(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), true, $action['reverse'], $theme_paths);
381
+				} else {
382
+									$mod_actions = parseModification(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), true, $action['reverse'], $theme_paths);
383
+				}
371 384
 
372
-				if (count($mod_actions) == 1 && isset($mod_actions[0]) && $mod_actions[0]['type'] == 'error' && $mod_actions[0]['filename'] == '-')
373
-					$mod_actions[0]['filename'] = $action['filename'];
385
+				if (count($mod_actions) == 1 && isset($mod_actions[0]) && $mod_actions[0]['type'] == 'error' && $mod_actions[0]['filename'] == '-') {
386
+									$mod_actions[0]['filename'] = $action['filename'];
387
+				}
374 388
 
375 389
 				foreach ($mod_actions as $key => $mod_action)
376 390
 				{
377 391
 					// Lets get the last section of the file name.
378
-					if (isset($mod_action['filename']) && substr($mod_action['filename'], -13) != '.template.php')
379
-						$actual_filename = strtolower(substr(strrchr($mod_action['filename'], '/'), 1) . '||' . $action['filename']);
380
-					elseif (isset($mod_action['filename']) && preg_match('~([\w]*)/([\w]*)\.template\.php$~', $mod_action['filename'], $matches))
381
-						$actual_filename = strtolower($matches[1] . '/' . $matches[2] . '.template.php' . '||' . $action['filename']);
382
-					else
383
-						$actual_filename = $key;
384
-
385
-					if ($mod_action['type'] == 'opened')
386
-						$failed = false;
387
-					elseif ($mod_action['type'] == 'failure')
392
+					if (isset($mod_action['filename']) && substr($mod_action['filename'], -13) != '.template.php') {
393
+											$actual_filename = strtolower(substr(strrchr($mod_action['filename'], '/'), 1) . '||' . $action['filename']);
394
+					} elseif (isset($mod_action['filename']) && preg_match('~([\w]*)/([\w]*)\.template\.php$~', $mod_action['filename'], $matches)) {
395
+											$actual_filename = strtolower($matches[1] . '/' . $matches[2] . '.template.php' . '||' . $action['filename']);
396
+					} else {
397
+											$actual_filename = $key;
398
+					}
399
+
400
+					if ($mod_action['type'] == 'opened') {
401
+											$failed = false;
402
+					} elseif ($mod_action['type'] == 'failure')
388 403
 					{
389
-						if (empty($mod_action['is_custom']))
390
-							$context['has_failure'] = true;
404
+						if (empty($mod_action['is_custom'])) {
405
+													$context['has_failure'] = true;
406
+						}
391 407
 						$failed = true;
392
-					}
393
-					elseif ($mod_action['type'] == 'chmod')
408
+					} elseif ($mod_action['type'] == 'chmod')
394 409
 					{
395 410
 						$chmod_files[] = $mod_action['filename'];
396
-					}
397
-					elseif ($mod_action['type'] == 'saved')
411
+					} elseif ($mod_action['type'] == 'saved')
398 412
 					{
399 413
 						if (!empty($mod_action['is_custom']))
400 414
 						{
401
-							if (!isset($context['theme_actions'][$mod_action['is_custom']]))
402
-								$context['theme_actions'][$mod_action['is_custom']] = array(
415
+							if (!isset($context['theme_actions'][$mod_action['is_custom']])) {
416
+															$context['theme_actions'][$mod_action['is_custom']] = array(
403 417
 									'name' => $theme_paths[$mod_action['is_custom']]['name'],
404 418
 									'actions' => array(),
405 419
 									'has_failure' => $failed,
406 420
 								);
407
-							else
408
-								$context['theme_actions'][$mod_action['is_custom']]['has_failure'] |= $failed;
421
+							} else {
422
+															$context['theme_actions'][$mod_action['is_custom']]['has_failure'] |= $failed;
423
+							}
409 424
 
410 425
 							$context['theme_actions'][$mod_action['is_custom']]['actions'][$actual_filename] = array(
411 426
 								'type' => $txt['execute_modification'],
@@ -413,8 +428,7 @@  discard block
 block discarded – undo
413 428
 								'description' => $failed ? $txt['package_action_failure'] : $txt['package_action_success'],
414 429
 								'failed' => $failed,
415 430
 							);
416
-						}
417
-						elseif (!isset($context['actions'][$actual_filename]))
431
+						} elseif (!isset($context['actions'][$actual_filename]))
418 432
 						{
419 433
 							$context['actions'][$actual_filename] = array(
420 434
 								'type' => $txt['execute_modification'],
@@ -422,22 +436,19 @@  discard block
 block discarded – undo
422 436
 								'description' => $failed ? $txt['package_action_failure'] : $txt['package_action_success'],
423 437
 								'failed' => $failed,
424 438
 							);
425
-						}
426
-						else
439
+						} else
427 440
 						{
428 441
 								$context['actions'][$actual_filename]['failed'] |= $failed;
429 442
 								$context['actions'][$actual_filename]['description'] = $context['actions'][$actual_filename]['failed'] ? $txt['package_action_failure'] : $txt['package_action_success'];
430 443
 						}
431
-					}
432
-					elseif ($mod_action['type'] == 'skipping')
444
+					} elseif ($mod_action['type'] == 'skipping')
433 445
 					{
434 446
 						$context['actions'][$actual_filename] = array(
435 447
 							'type' => $txt['execute_modification'],
436 448
 							'action' => $smcFunc['htmlspecialchars'](strtr($mod_action['filename'], array($boarddir => '.'))),
437 449
 							'description' => $txt['package_action_skipping']
438 450
 						);
439
-					}
440
-					elseif ($mod_action['type'] == 'missing' && empty($mod_action['is_custom']))
451
+					} elseif ($mod_action['type'] == 'missing' && empty($mod_action['is_custom']))
441 452
 					{
442 453
 						$context['has_failure'] = true;
443 454
 						$context['actions'][$actual_filename] = array(
@@ -446,32 +457,33 @@  discard block
 block discarded – undo
446 457
 							'description' => $txt['package_action_missing'],
447 458
 							'failed' => true,
448 459
 						);
449
-					}
450
-					elseif ($mod_action['type'] == 'error')
451
-						$context['actions'][$actual_filename] = array(
460
+					} elseif ($mod_action['type'] == 'error') {
461
+											$context['actions'][$actual_filename] = array(
452 462
 							'type' => $txt['execute_modification'],
453 463
 							'action' => $smcFunc['htmlspecialchars'](strtr($mod_action['filename'], array($boarddir => '.'))),
454 464
 							'description' => $txt['package_action_error'],
455 465
 							'failed' => true,
456 466
 						);
467
+					}
457 468
 				}
458 469
 
459 470
 				// We need to loop again just to get the operations down correctly.
460 471
 				foreach ($mod_actions as $operation_key => $mod_action)
461 472
 				{
462 473
 					// Lets get the last section of the file name.
463
-					if (isset($mod_action['filename']) && substr($mod_action['filename'], -13) != '.template.php')
464
-						$actual_filename = strtolower(substr(strrchr($mod_action['filename'], '/'), 1) . '||' . $action['filename']);
465
-					elseif (isset($mod_action['filename']) && preg_match('~([\w]*)/([\w]*)\.template\.php$~', $mod_action['filename'], $matches))
466
-						$actual_filename = strtolower($matches[1] . '/' . $matches[2] . '.template.php' . '||' . $action['filename']);
467
-					else
468
-						$actual_filename = $key;
474
+					if (isset($mod_action['filename']) && substr($mod_action['filename'], -13) != '.template.php') {
475
+											$actual_filename = strtolower(substr(strrchr($mod_action['filename'], '/'), 1) . '||' . $action['filename']);
476
+					} elseif (isset($mod_action['filename']) && preg_match('~([\w]*)/([\w]*)\.template\.php$~', $mod_action['filename'], $matches)) {
477
+											$actual_filename = strtolower($matches[1] . '/' . $matches[2] . '.template.php' . '||' . $action['filename']);
478
+					} else {
479
+											$actual_filename = $key;
480
+					}
469 481
 
470 482
 					// We just need it for actual parse changes.
471 483
 					if (!in_array($mod_action['type'], array('error', 'result', 'opened', 'saved', 'end', 'missing', 'skipping', 'chmod')))
472 484
 					{
473
-						if (empty($mod_action['is_custom']))
474
-							$context['actions'][$actual_filename]['operations'][] = array(
485
+						if (empty($mod_action['is_custom'])) {
486
+													$context['actions'][$actual_filename]['operations'][] = array(
475 487
 								'type' => $txt['execute_modification'],
476 488
 								'action' => $smcFunc['htmlspecialchars'](strtr($mod_action['filename'], array($boarddir => '.'))),
477 489
 								'description' => $mod_action['failed'] ? $txt['package_action_failure'] : $txt['package_action_success'],
@@ -482,10 +494,11 @@  discard block
 block discarded – undo
482 494
 								'failed' => $mod_action['failed'],
483 495
 								'ignore_failure' => !empty($mod_action['ignore_failure']),
484 496
 							);
497
+						}
485 498
 
486 499
 						// Themes are under the saved type.
487
-						if (isset($mod_action['is_custom']) && isset($context['theme_actions'][$mod_action['is_custom']]))
488
-							$context['theme_actions'][$mod_action['is_custom']]['actions'][$actual_filename]['operations'][] = array(
500
+						if (isset($mod_action['is_custom']) && isset($context['theme_actions'][$mod_action['is_custom']])) {
501
+													$context['theme_actions'][$mod_action['is_custom']]['actions'][$actual_filename]['operations'][] = array(
489 502
 								'type' => $txt['execute_modification'],
490 503
 								'action' => $smcFunc['htmlspecialchars'](strtr($mod_action['filename'], array($boarddir => '.'))),
491 504
 								'description' => $mod_action['failed'] ? $txt['package_action_failure'] : $txt['package_action_success'],
@@ -496,59 +509,55 @@  discard block
 block discarded – undo
496 509
 								'failed' => $mod_action['failed'],
497 510
 								'ignore_failure' => !empty($mod_action['ignore_failure']),
498 511
 							);
512
+						}
499 513
 					}
500 514
 				}
501 515
 			}
502
-		}
503
-		elseif ($action['type'] == 'code')
516
+		} elseif ($action['type'] == 'code')
504 517
 		{
505 518
 			$thisAction = array(
506 519
 				'type' => $txt['execute_code'],
507 520
 				'action' => $smcFunc['htmlspecialchars']($action['filename']),
508 521
 			);
509
-		}
510
-		elseif ($action['type'] == 'database')
522
+		} elseif ($action['type'] == 'database')
511 523
 		{
512 524
 			$thisAction = array(
513 525
 				'type' => $txt['execute_database_changes'],
514 526
 				'action' => $smcFunc['htmlspecialchars']($action['filename']),
515 527
 			);
516
-		}
517
-		elseif (in_array($action['type'], array('create-dir', 'create-file')))
528
+		} elseif (in_array($action['type'], array('create-dir', 'create-file')))
518 529
 		{
519 530
 			$thisAction = array(
520 531
 				'type' => $txt['package_create'] . ' ' . ($action['type'] == 'create-dir' ? $txt['package_tree'] : $txt['package_file']),
521 532
 				'action' => $smcFunc['htmlspecialchars'](strtr($action['destination'], array($boarddir => '.')))
522 533
 			);
523
-		}
524
-		elseif ($action['type'] == 'hook')
534
+		} elseif ($action['type'] == 'hook')
525 535
 		{
526 536
 			$action['description'] = !isset($action['hook'], $action['function']) ? $txt['package_action_failure'] : $txt['package_action_success'];
527 537
 
528
-			if (!isset($action['hook'], $action['function']))
529
-				$context['has_failure'] = true;
538
+			if (!isset($action['hook'], $action['function'])) {
539
+							$context['has_failure'] = true;
540
+			}
530 541
 
531 542
 			$thisAction = array(
532 543
 				'type' => $action['reverse'] ? $txt['execute_hook_remove'] : $txt['execute_hook_add'],
533 544
 				'action' => sprintf($txt['execute_hook_action' . ($action['reverse'] ? '_inverse' : '')], $smcFunc['htmlspecialchars']($action['hook'])),
534 545
 			);
535
-		}
536
-		elseif ($action['type'] == 'credits')
546
+		} elseif ($action['type'] == 'credits')
537 547
 		{
538 548
 			$thisAction = array(
539 549
 				'type' => $txt['execute_credits_add'],
540 550
 				'action' => sprintf($txt['execute_credits_action'], $smcFunc['htmlspecialchars']($action['title'])),
541 551
 			);
542
-		}
543
-		elseif ($action['type'] == 'requires')
552
+		} elseif ($action['type'] == 'requires')
544 553
 		{
545 554
 			$installed = false;
546 555
 			$version = true;
547 556
 
548 557
 			// package missing required values?
549
-			if (!isset($action['id']))
550
-				$context['has_failure'] = true;
551
-			else
558
+			if (!isset($action['id'])) {
559
+							$context['has_failure'] = true;
560
+			} else
552 561
 			{
553 562
 				// See if this dependancy is installed
554 563
 				$request = $smcFunc['db_query']('', '
@@ -564,8 +573,9 @@  discard block
 block discarded – undo
564 573
 					)
565 574
 				);
566 575
 				$installed = ($smcFunc['db_num_rows']($request) !== 0);
567
-				if ($installed)
568
-					list ($version) = $smcFunc['db_fetch_row']($request);
576
+				if ($installed) {
577
+									list ($version) = $smcFunc['db_fetch_row']($request);
578
+				}
569 579
 				$smcFunc['db_free_result']($request);
570 580
 
571 581
 				// do a version level check (if requested) in the most basic way
@@ -580,8 +590,7 @@  discard block
 block discarded – undo
580 590
 				'type' => $txt['package_requires'],
581 591
 				'action' => $txt['package_check_for'] . ' ' . $action['id'] . (isset($action['version']) ? (' / ' . ($version ? $action['version'] : '<span class="error">' . $action['version'] . '</span>')) : ''),
582 592
 			);
583
-		}
584
-		elseif (in_array($action['type'], array('require-dir', 'require-file')))
593
+		} elseif (in_array($action['type'], array('require-dir', 'require-file')))
585 594
 		{
586 595
 			// Do this one...
587 596
 			$thisAction = array(
@@ -595,26 +604,29 @@  discard block
 block discarded – undo
595 604
 				// Is the action already stated?
596 605
 				$theme_action = !empty($action['theme_action']) && in_array($action['theme_action'], array('no', 'yes', 'auto')) ? $action['theme_action'] : 'auto';
597 606
 				// If it's not auto do we think we have something we can act upon?
598
-				if ($theme_action != 'auto' && !in_array($matches[1], array('languagedir', 'languages_dir', 'imagesdir', 'themedir')))
599
-					$theme_action = '';
607
+				if ($theme_action != 'auto' && !in_array($matches[1], array('languagedir', 'languages_dir', 'imagesdir', 'themedir'))) {
608
+									$theme_action = '';
609
+				}
600 610
 				// ... or if it's auto do we even want to do anything?
601
-				elseif ($theme_action == 'auto' && $matches[1] != 'imagesdir')
602
-					$theme_action = '';
611
+				elseif ($theme_action == 'auto' && $matches[1] != 'imagesdir') {
612
+									$theme_action = '';
613
+				}
603 614
 
604 615
 				// So, we still want to do something?
605
-				if ($theme_action != '')
606
-					$themeFinds['candidates'][] = $action;
616
+				if ($theme_action != '') {
617
+									$themeFinds['candidates'][] = $action;
618
+				}
607 619
 				// Otherwise is this is going into another theme record it.
608
-				elseif ($matches[1] == 'themes_dir')
609
-					$themeFinds['other_themes'][] = strtolower(strtr(parse_path($action['unparsed_destination']), array('\\' => '/')) . '/' . basename($action['filename']));
620
+				elseif ($matches[1] == 'themes_dir') {
621
+									$themeFinds['other_themes'][] = strtolower(strtr(parse_path($action['unparsed_destination']), array('\\' => '/')) . '/' . basename($action['filename']));
622
+				}
610 623
 			}
611
-		}
612
-		elseif (in_array($action['type'], array('move-dir', 'move-file')))
613
-			$thisAction = array(
624
+		} elseif (in_array($action['type'], array('move-dir', 'move-file'))) {
625
+					$thisAction = array(
614 626
 				'type' => $txt['package_move'] . ' ' . ($action['type'] == 'move-dir' ? $txt['package_tree'] : $txt['package_file']),
615 627
 				'action' => $smcFunc['htmlspecialchars'](strtr($action['source'], array($boarddir => '.'))) . ' => ' . $smcFunc['htmlspecialchars'](strtr($action['destination'], array($boarddir => '.')))
616 628
 			);
617
-		elseif (in_array($action['type'], array('remove-dir', 'remove-file')))
629
+		} elseif (in_array($action['type'], array('remove-dir', 'remove-file')))
618 630
 		{
619 631
 			$thisAction = array(
620 632
 				'type' => $txt['package_delete'] . ' ' . ($action['type'] == 'remove-dir' ? $txt['package_tree'] : $txt['package_file']),
@@ -629,30 +641,36 @@  discard block
 block discarded – undo
629 641
 				$action['unparsed_destination'] = $action['unparsed_filename'];
630 642
 
631 643
 				// If it's not auto do we think we have something we can act upon?
632
-				if ($theme_action != 'auto' && !in_array($matches[1], array('languagedir', 'languages_dir', 'imagesdir', 'themedir')))
633
-					$theme_action = '';
644
+				if ($theme_action != 'auto' && !in_array($matches[1], array('languagedir', 'languages_dir', 'imagesdir', 'themedir'))) {
645
+									$theme_action = '';
646
+				}
634 647
 				// ... or if it's auto do we even want to do anything?
635
-				elseif ($theme_action == 'auto' && $matches[1] != 'imagesdir')
636
-					$theme_action = '';
648
+				elseif ($theme_action == 'auto' && $matches[1] != 'imagesdir') {
649
+									$theme_action = '';
650
+				}
637 651
 
638 652
 				// So, we still want to do something?
639
-				if ($theme_action != '')
640
-					$themeFinds['candidates'][] = $action;
653
+				if ($theme_action != '') {
654
+									$themeFinds['candidates'][] = $action;
655
+				}
641 656
 				// Otherwise is this is going into another theme record it.
642
-				elseif ($matches[1] == 'themes_dir')
643
-					$themeFinds['other_themes'][] = strtolower(strtr(parse_path($action['unparsed_filename']), array('\\' => '/')) . '/' . basename($action['filename']));
657
+				elseif ($matches[1] == 'themes_dir') {
658
+									$themeFinds['other_themes'][] = strtolower(strtr(parse_path($action['unparsed_filename']), array('\\' => '/')) . '/' . basename($action['filename']));
659
+				}
644 660
 			}
645 661
 		}
646 662
 
647
-		if (empty($thisAction))
648
-			continue;
663
+		if (empty($thisAction)) {
664
+					continue;
665
+		}
649 666
 
650 667
 		if (!in_array($action['type'], array('hook', 'credits')))
651 668
 		{
652
-			if ($context['uninstalling'])
653
-				$file = in_array($action['type'], array('remove-dir', 'remove-file')) ? $action['filename'] : $packagesdir . '/temp/' . $context['base_path'] . $action['filename'];
654
-			else
655
-				$file = $packagesdir . '/temp/' . $context['base_path'] . $action['filename'];
669
+			if ($context['uninstalling']) {
670
+							$file = in_array($action['type'], array('remove-dir', 'remove-file')) ? $action['filename'] : $packagesdir . '/temp/' . $context['base_path'] . $action['filename'];
671
+			} else {
672
+							$file = $packagesdir . '/temp/' . $context['base_path'] . $action['filename'];
673
+			}
656 674
 		}
657 675
 
658 676
 		// Don't fail if a file/directory we're trying to create doesn't exist...
@@ -667,8 +685,9 @@  discard block
 block discarded – undo
667 685
 		}
668 686
 
669 687
 		// @todo None given?
670
-		if (empty($thisAction['description']))
671
-			$thisAction['description'] = isset($action['description']) ? $action['description'] : '';
688
+		if (empty($thisAction['description'])) {
689
+					$thisAction['description'] = isset($action['description']) ? $action['description'] : '';
690
+		}
672 691
 
673 692
 		$context['actions'][] = $thisAction;
674 693
 	}
@@ -681,18 +700,21 @@  discard block
 block discarded – undo
681 700
 			// Get the part of the file we'll be dealing with.
682 701
 			preg_match('~^\$(languagedir|languages_dir|imagesdir|themedir)(\\|/)*(.+)*~i', $action_data['unparsed_destination'], $matches);
683 702
 
684
-			if ($matches[1] == 'imagesdir')
685
-				$path = '/' . basename($settings['default_images_url']);
686
-			elseif ($matches[1] == 'languagedir' || $matches[1] == 'languages_dir')
687
-				$path = '/languages';
688
-			else
689
-				$path = '';
703
+			if ($matches[1] == 'imagesdir') {
704
+							$path = '/' . basename($settings['default_images_url']);
705
+			} elseif ($matches[1] == 'languagedir' || $matches[1] == 'languages_dir') {
706
+							$path = '/languages';
707
+			} else {
708
+							$path = '';
709
+			}
690 710
 
691
-			if (!empty($matches[3]))
692
-				$path .= $matches[3];
711
+			if (!empty($matches[3])) {
712
+							$path .= $matches[3];
713
+			}
693 714
 
694
-			if (!$context['uninstalling'])
695
-				$path .= '/' . basename($action_data['filename']);
715
+			if (!$context['uninstalling']) {
716
+							$path .= '/' . basename($action_data['filename']);
717
+			}
696 718
 
697 719
 			// Loop through each custom theme to note it's candidacy!
698 720
 			foreach ($theme_paths as $id => $theme_data)
@@ -708,36 +730,40 @@  discard block
 block discarded – undo
708 730
 						if (!mktree(dirname($real_path), false))
709 731
 						{
710 732
 							$temp = dirname($real_path);
711
-							while (!file_exists($temp) && strlen($temp) > 1)
712
-								$temp = dirname($temp);
733
+							while (!file_exists($temp) && strlen($temp) > 1) {
734
+															$temp = dirname($temp);
735
+							}
713 736
 							$chmod_files[] = $temp;
714 737
 						}
715 738
 
716
-						if ($action_data['type'] == 'require-dir' && !is_writable($real_path) && (file_exists($real_path) || !is_writable(dirname($real_path))))
717
-							$chmod_files[] = $real_path;
739
+						if ($action_data['type'] == 'require-dir' && !is_writable($real_path) && (file_exists($real_path) || !is_writable(dirname($real_path)))) {
740
+													$chmod_files[] = $real_path;
741
+						}
718 742
 
719
-						if (!isset($context['theme_actions'][$id]))
720
-							$context['theme_actions'][$id] = array(
743
+						if (!isset($context['theme_actions'][$id])) {
744
+													$context['theme_actions'][$id] = array(
721 745
 								'name' => $theme_data['name'],
722 746
 								'actions' => array(),
723 747
 							);
748
+						}
724 749
 
725
-						if ($context['uninstalling'])
726
-							$context['theme_actions'][$id]['actions'][] = array(
750
+						if ($context['uninstalling']) {
751
+													$context['theme_actions'][$id]['actions'][] = array(
727 752
 								'type' => $txt['package_delete'] . ' ' . ($action_data['type'] == 'require-dir' ? $txt['package_tree'] : $txt['package_file']),
728 753
 								'action' => strtr($real_path, array('\\' => '/', $boarddir => '.')),
729 754
 								'description' => '',
730 755
 								'value' => base64_encode($smcFunc['json_encode'](array('type' => $action_data['type'], 'orig' => $action_data['filename'], 'future' => $real_path, 'id' => $id))),
731 756
 								'not_mod' => true,
732 757
 							);
733
-						else
734
-							$context['theme_actions'][$id]['actions'][] = array(
758
+						} else {
759
+													$context['theme_actions'][$id]['actions'][] = array(
735 760
 								'type' => $txt['package_extract'] . ' ' . ($action_data['type'] == 'require-dir' ? $txt['package_tree'] : $txt['package_file']),
736 761
 								'action' => strtr($real_path, array('\\' => '/', $boarddir => '.')),
737 762
 								'description' => '',
738 763
 								'value' => base64_encode($smcFunc['json_encode'](array('type' => $action_data['type'], 'orig' => $action_data['destination'], 'future' => $real_path, 'id' => $id))),
739 764
 								'not_mod' => true,
740 765
 							);
766
+						}
741 767
 					}
742 768
 				}
743 769
 			}
@@ -747,8 +773,9 @@  discard block
 block discarded – undo
747 773
 	// Trash the cache... which will also check permissions for us!
748 774
 	package_flush_cache(true);
749 775
 
750
-	if (file_exists($packagesdir . '/temp'))
751
-		deltree($packagesdir . '/temp');
776
+	if (file_exists($packagesdir . '/temp')) {
777
+			deltree($packagesdir . '/temp');
778
+	}
752 779
 
753 780
 	if (!empty($chmod_files))
754 781
 	{
@@ -773,8 +800,9 @@  discard block
 block discarded – undo
773 800
 	checkSession();
774 801
 
775 802
 	// If there's no file, what are we installing?
776
-	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '')
777
-		redirectexit('action=admin;area=packages');
803
+	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '') {
804
+			redirectexit('action=admin;area=packages');
805
+	}
778 806
 	$context['filename'] = $_REQUEST['package'];
779 807
 
780 808
 	// If this is an uninstall, we'll have an id.
@@ -795,51 +823,55 @@  discard block
 block discarded – undo
795 823
 
796 824
 	$context['sub_template'] = 'extract_package';
797 825
 
798
-	if (!file_exists($packagesdir . '/' . $context['filename']))
799
-		fatal_lang_error('package_no_file', false);
826
+	if (!file_exists($packagesdir . '/' . $context['filename'])) {
827
+			fatal_lang_error('package_no_file', false);
828
+	}
800 829
 
801 830
 	// Load up the package FTP information?
802 831
 	create_chmod_control(array(), array('destination_url' => $scripturl . '?action=admin;area=packages;sa=' . $_REQUEST['sa'] . ';package=' . $_REQUEST['package']));
803 832
 
804 833
 	// Make sure temp directory exists and is empty!
805
-	if (file_exists($packagesdir . '/temp'))
806
-		deltree($packagesdir . '/temp', false);
807
-	else
808
-		mktree($packagesdir . '/temp', 0777);
834
+	if (file_exists($packagesdir . '/temp')) {
835
+			deltree($packagesdir . '/temp', false);
836
+	} else {
837
+			mktree($packagesdir . '/temp', 0777);
838
+	}
809 839
 
810 840
 	// Let the unpacker do the work.
811 841
 	if (is_file($packagesdir . '/' . $context['filename']))
812 842
 	{
813 843
 		$context['extracted_files'] = read_tgz_file($packagesdir . '/' . $context['filename'], $packagesdir . '/temp');
814 844
 
815
-		if (!file_exists($packagesdir . '/temp/package-info.xml'))
816
-			foreach ($context['extracted_files'] as $file)
845
+		if (!file_exists($packagesdir . '/temp/package-info.xml')) {
846
+					foreach ($context['extracted_files'] as $file)
817 847
 				if (basename($file['filename']) == 'package-info.xml')
818 848
 				{
819 849
 					$context['base_path'] = dirname($file['filename']) . '/';
850
+		}
820 851
 					break;
821 852
 				}
822 853
 
823
-		if (!isset($context['base_path']))
824
-			$context['base_path'] = '';
825
-	}
826
-	elseif (is_dir($packagesdir . '/' . $context['filename']))
854
+		if (!isset($context['base_path'])) {
855
+					$context['base_path'] = '';
856
+		}
857
+	} elseif (is_dir($packagesdir . '/' . $context['filename']))
827 858
 	{
828 859
 		copytree($packagesdir . '/' . $context['filename'], $packagesdir . '/temp');
829 860
 		$context['extracted_files'] = listtree($packagesdir . '/temp');
830 861
 		$context['base_path'] = '';
862
+	} else {
863
+			fatal_lang_error('no_access', false);
831 864
 	}
832
-	else
833
-		fatal_lang_error('no_access', false);
834 865
 
835 866
 	// Are we installing this into any custom themes?
836 867
 	$custom_themes = array(1);
837 868
 	$known_themes = explode(',', $modSettings['knownThemes']);
838 869
 	if (!empty($_POST['custom_theme']))
839 870
 	{
840
-		foreach ($_POST['custom_theme'] as $tid)
841
-			if (in_array($tid, $known_themes))
871
+		foreach ($_POST['custom_theme'] as $tid) {
872
+					if (in_array($tid, $known_themes))
842 873
 				$custom_themes[] = (int) $tid;
874
+		}
843 875
 	}
844 876
 
845 877
 	// Now load up the paths of the themes that we need to know about.
@@ -856,8 +888,9 @@  discard block
 block discarded – undo
856 888
 	);
857 889
 	$theme_paths = array();
858 890
 	$themes_installed = array(1);
859
-	while ($row = $smcFunc['db_fetch_assoc']($request))
860
-		$theme_paths[$row['id_theme']][$row['variable']] = $row['value'];
891
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
892
+			$theme_paths[$row['id_theme']][$row['variable']] = $row['value'];
893
+	}
861 894
 	$smcFunc['db_free_result']($request);
862 895
 
863 896
 	// Are there any theme copying that we want to take place?
@@ -869,11 +902,13 @@  discard block
 block discarded – undo
869 902
 	{
870 903
 		foreach ($_POST['theme_changes'] as $change)
871 904
 		{
872
-			if (empty($change))
873
-				continue;
905
+			if (empty($change)) {
906
+							continue;
907
+			}
874 908
 			$theme_data = $smcFunc['json_decode'](base64_decode($change), true);
875
-			if (empty($theme_data['type']))
876
-				continue;
909
+			if (empty($theme_data['type'])) {
910
+							continue;
911
+			}
877 912
 
878 913
 			$themes_installed[] = $theme_data['id'];
879 914
 			$context['theme_copies'][$theme_data['type']][$theme_data['orig']][] = $theme_data['future'];
@@ -882,8 +917,9 @@  discard block
 block discarded – undo
882 917
 
883 918
 	// Get the package info...
884 919
 	$packageInfo = getPackageInfo($context['filename']);
885
-	if (!is_array($packageInfo))
886
-		fatal_lang_error($packageInfo);
920
+	if (!is_array($packageInfo)) {
921
+			fatal_lang_error($packageInfo);
922
+	}
887 923
 
888 924
 	$packageInfo['filename'] = $context['filename'];
889 925
 
@@ -895,8 +931,9 @@  discard block
 block discarded – undo
895 931
 	{
896 932
 		$_SESSION['last_backup_for'] = $context['filename'] . ($context['uninstalling'] ? '$$' : '$');
897 933
 		$result = package_create_backup(($context['uninstalling'] ? 'backup_' : 'before_') . strtok($context['filename'], '.'));
898
-		if (!$result)
899
-			fatal_lang_error('could_not_package_backup', false);
934
+		if (!$result) {
935
+					fatal_lang_error('could_not_package_backup', false);
936
+		}
900 937
 	}
901 938
 
902 939
 	// The mod isn't installed.... unless proven otherwise.
@@ -936,35 +973,38 @@  discard block
 block discarded – undo
936 973
 		$install_log = parsePackageInfo($packageInfo['xml'], false, 'uninstall');
937 974
 
938 975
 		// Gadzooks!  There's no uninstaller at all!?
939
-		if (empty($install_log))
940
-			fatal_lang_error('package_uninstall_cannot', false);
976
+		if (empty($install_log)) {
977
+					fatal_lang_error('package_uninstall_cannot', false);
978
+		}
941 979
 
942 980
 		// They can only uninstall from what it was originally installed into.
943
-		foreach ($theme_paths as $id => $data)
944
-			if ($id != 1 && !in_array($id, $old_themes))
981
+		foreach ($theme_paths as $id => $data) {
982
+					if ($id != 1 && !in_array($id, $old_themes))
945 983
 				unset($theme_paths[$id]);
946
-	}
947
-	elseif (isset($old_version) && $old_version != $packageInfo['version'])
984
+		}
985
+	} elseif (isset($old_version) && $old_version != $packageInfo['version'])
948 986
 	{
949 987
 		// Look for an upgrade...
950 988
 		$install_log = parsePackageInfo($packageInfo['xml'], false, 'upgrade', $old_version);
951 989
 
952 990
 		// There was no upgrade....
953
-		if (empty($install_log))
954
-			$context['is_installed'] = true;
955
-		else
991
+		if (empty($install_log)) {
992
+					$context['is_installed'] = true;
993
+		} else
956 994
 		{
957 995
 			// Upgrade previous themes only!
958
-			foreach ($theme_paths as $id => $data)
959
-				if ($id != 1 && !in_array($id, $old_themes))
996
+			foreach ($theme_paths as $id => $data) {
997
+							if ($id != 1 && !in_array($id, $old_themes))
960 998
 					unset($theme_paths[$id]);
999
+			}
961 1000
 		}
1001
+	} elseif (isset($old_version) && $old_version == $packageInfo['version']) {
1002
+			$context['is_installed'] = true;
962 1003
 	}
963
-	elseif (isset($old_version) && $old_version == $packageInfo['version'])
964
-		$context['is_installed'] = true;
965 1004
 
966
-	if (!isset($old_version) || $context['is_installed'])
967
-		$install_log = parsePackageInfo($packageInfo['xml'], false, 'install');
1005
+	if (!isset($old_version) || $context['is_installed']) {
1006
+			$install_log = parsePackageInfo($packageInfo['xml'], false, 'install');
1007
+	}
968 1008
 
969 1009
 	$context['install_finished'] = false;
970 1010
 
@@ -981,37 +1021,39 @@  discard block
 block discarded – undo
981 1021
 
982 1022
 			if ($action['type'] == 'modification' && !empty($action['filename']))
983 1023
 			{
984
-				if ($action['boardmod'])
985
-					$mod_actions = parseBoardMod(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), false, $action['reverse'], $theme_paths);
986
-				else
987
-					$mod_actions = parseModification(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), false, $action['reverse'], $theme_paths);
1024
+				if ($action['boardmod']) {
1025
+									$mod_actions = parseBoardMod(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), false, $action['reverse'], $theme_paths);
1026
+				} else {
1027
+									$mod_actions = parseModification(file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $action['filename']), false, $action['reverse'], $theme_paths);
1028
+				}
988 1029
 
989 1030
 				// Any errors worth noting?
990 1031
 				foreach ($mod_actions as $key => $modAction)
991 1032
 				{
992
-					if ($modAction['type'] == 'failure')
993
-						$failed_steps[] = array(
1033
+					if ($modAction['type'] == 'failure') {
1034
+											$failed_steps[] = array(
994 1035
 							'file' => $modAction['filename'],
995 1036
 							'large_step' => $failed_count,
996 1037
 							'sub_step' => $key,
997 1038
 							'theme' => 1,
998 1039
 						);
1040
+					}
999 1041
 
1000 1042
 					// Gather the themes we installed into.
1001
-					if (!empty($modAction['is_custom']))
1002
-						$themes_installed[] = $modAction['is_custom'];
1043
+					if (!empty($modAction['is_custom'])) {
1044
+											$themes_installed[] = $modAction['is_custom'];
1045
+					}
1003 1046
 				}
1004
-			}
1005
-			elseif ($action['type'] == 'code' && !empty($action['filename']))
1047
+			} elseif ($action['type'] == 'code' && !empty($action['filename']))
1006 1048
 			{
1007 1049
 				// This is just here as reference for what is available.
1008 1050
 				global $txt, $boarddir, $sourcedir, $modSettings, $context, $settings, $forum_version, $smcFunc;
1009 1051
 
1010 1052
 				// Now include the file and be done with it ;).
1011
-				if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename']))
1012
-					require($packagesdir . '/temp/' . $context['base_path'] . $action['filename']);
1013
-			}
1014
-			elseif ($action['type'] == 'credits')
1053
+				if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename'])) {
1054
+									require($packagesdir . '/temp/' . $context['base_path'] . $action['filename']);
1055
+				}
1056
+			} elseif ($action['type'] == 'credits')
1015 1057
 			{
1016 1058
 				// Time to build the billboard
1017 1059
 				$credits_tag = array(
@@ -1021,13 +1063,13 @@  discard block
 block discarded – undo
1021 1063
 					'copyright' => $action['copyright'],
1022 1064
 					'title' => $action['title'],
1023 1065
 				);
1024
-			}
1025
-			elseif ($action['type'] == 'hook' && isset($action['hook'], $action['function']))
1066
+			} elseif ($action['type'] == 'hook' && isset($action['hook'], $action['function']))
1026 1067
 			{
1027
-				if ($action['reverse'])
1028
-					remove_integration_function($action['hook'], $action['function'], true, $action['include_file'], $action['object']);
1029
-				else
1030
-					add_integration_function($action['hook'], $action['function'], true, $action['include_file'], $action['object']);
1068
+				if ($action['reverse']) {
1069
+									remove_integration_function($action['hook'], $action['function'], true, $action['include_file'], $action['object']);
1070
+				} else {
1071
+									add_integration_function($action['hook'], $action['function'], true, $action['include_file'], $action['object']);
1072
+				}
1031 1073
 			}
1032 1074
 			// Only do the database changes on uninstall if requested.
1033 1075
 			elseif ($action['type'] == 'database' && !empty($action['filename']) && (!$context['uninstalling'] || !empty($_POST['do_db_changes'])))
@@ -1040,8 +1082,9 @@  discard block
 block discarded – undo
1040 1082
 				db_extend('packages');
1041 1083
 
1042 1084
 				// Let the file work its magic ;)
1043
-				if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename']))
1044
-					require($packagesdir . '/temp/' . $context['base_path'] . $action['filename']);
1085
+				if (file_exists($packagesdir . '/temp/' . $context['base_path'] . $action['filename'])) {
1086
+									require($packagesdir . '/temp/' . $context['base_path'] . $action['filename']);
1087
+				}
1045 1088
 			}
1046 1089
 			// Handle a redirect...
1047 1090
 			elseif ($action['type'] == 'redirect' && !empty($action['redirect_url']))
@@ -1123,8 +1166,9 @@  discard block
 block discarded – undo
1123 1166
 			reloadSettings();
1124 1167
 
1125 1168
 			// Any db changes from older version?
1126
-			if (!empty($old_db_changes))
1127
-				$db_package_log = empty($db_package_log) ? $old_db_changes : array_merge($old_db_changes, $db_package_log);
1169
+			if (!empty($old_db_changes)) {
1170
+							$db_package_log = empty($db_package_log) ? $old_db_changes : array_merge($old_db_changes, $db_package_log);
1171
+			}
1128 1172
 
1129 1173
 			// If there are some database changes we might want to remove then filter them out.
1130 1174
 			if (!empty($db_package_log))
@@ -1140,22 +1184,24 @@  discard block
 block discarded – undo
1140 1184
 				 */
1141 1185
 				function sort_table_first($a, $b)
1142 1186
 				{
1143
-					if ($a[0] == $b[0])
1144
-						return 0;
1187
+					if ($a[0] == $b[0]) {
1188
+											return 0;
1189
+					}
1145 1190
 					return $a[0] == 'remove_table' ? -1 : 1;
1146 1191
 				}
1147 1192
 				usort($db_package_log, 'sort_table_first');
1148 1193
 				foreach ($db_package_log as $k => $log)
1149 1194
 				{
1150
-					if ($log[0] == 'remove_table')
1151
-						$tables[] = $log[1];
1152
-					elseif (in_array($log[1], $tables))
1153
-						unset($db_package_log[$k]);
1195
+					if ($log[0] == 'remove_table') {
1196
+											$tables[] = $log[1];
1197
+					} elseif (in_array($log[1], $tables)) {
1198
+											unset($db_package_log[$k]);
1199
+					}
1154 1200
 				}
1155 1201
 				$db_changes = $smcFunc['json_encode']($db_package_log);
1202
+			} else {
1203
+							$db_changes = '';
1156 1204
 			}
1157
-			else
1158
-				$db_changes = '';
1159 1205
 
1160 1206
 			// What themes did we actually install?
1161 1207
 			$themes_installed = array_unique($themes_installed);
@@ -1204,18 +1250,20 @@  discard block
 block discarded – undo
1204 1250
 
1205 1251
 		foreach ($db_changes as $change)
1206 1252
 		{
1207
-			if ($change[0] == 'remove_table' && isset($change[1]))
1208
-				$smcFunc['db_drop_table']($change[1]);
1209
-			elseif ($change[0] == 'remove_column' && isset($change[2]))
1210
-				$smcFunc['db_remove_column']($change[1], $change[2]);
1211
-			elseif ($change[0] == 'remove_index' && isset($change[2]))
1212
-				$smcFunc['db_remove_index']($change[1], $change[2]);
1253
+			if ($change[0] == 'remove_table' && isset($change[1])) {
1254
+							$smcFunc['db_drop_table']($change[1]);
1255
+			} elseif ($change[0] == 'remove_column' && isset($change[2])) {
1256
+							$smcFunc['db_remove_column']($change[1], $change[2]);
1257
+			} elseif ($change[0] == 'remove_index' && isset($change[2])) {
1258
+							$smcFunc['db_remove_index']($change[1], $change[2]);
1259
+			}
1213 1260
 		}
1214 1261
 	}
1215 1262
 
1216 1263
 	// Clean house... get rid of the evidence ;).
1217
-	if (file_exists($packagesdir . '/temp'))
1218
-		deltree($packagesdir . '/temp');
1264
+	if (file_exists($packagesdir . '/temp')) {
1265
+			deltree($packagesdir . '/temp');
1266
+	}
1219 1267
 
1220 1268
 	// Log what we just did.
1221 1269
 	logAction($context['uninstalling'] ? 'uninstall_package' : (!empty($is_upgrade) ? 'upgrade_package' : 'install_package'), array('package' => $smcFunc['htmlspecialchars']($packageInfo['name']), 'version' => $smcFunc['htmlspecialchars']($packageInfo['version'])), 'admin');
@@ -1238,8 +1286,9 @@  discard block
 block discarded – undo
1238 1286
 	require_once($sourcedir . '/Subs-Package.php');
1239 1287
 
1240 1288
 	// No package?  Show him or her the door.
1241
-	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '')
1242
-		redirectexit('action=admin;area=packages');
1289
+	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '') {
1290
+			redirectexit('action=admin;area=packages');
1291
+	}
1243 1292
 
1244 1293
 	$context['linktree'][] = array(
1245 1294
 		'url' => $scripturl . '?action=admin;area=packages;sa=list;package=' . $_REQUEST['package'],
@@ -1252,11 +1301,12 @@  discard block
 block discarded – undo
1252 1301
 	$context['filename'] = $_REQUEST['package'];
1253 1302
 
1254 1303
 	// Let the unpacker do the work.
1255
-	if (is_file($packagesdir . '/' . $context['filename']))
1256
-		$context['files'] = read_tgz_file($packagesdir . '/' . $context['filename'], null);
1257
-	elseif (is_dir($packagesdir . '/' . $context['filename']))
1258
-		$context['files'] = listtree($packagesdir . '/' . $context['filename']);
1259
-}
1304
+	if (is_file($packagesdir . '/' . $context['filename'])) {
1305
+			$context['files'] = read_tgz_file($packagesdir . '/' . $context['filename'], null);
1306
+	} elseif (is_dir($packagesdir . '/' . $context['filename'])) {
1307
+			$context['files'] = listtree($packagesdir . '/' . $context['filename']);
1308
+	}
1309
+	}
1260 1310
 
1261 1311
 /**
1262 1312
  * Display one of the files in a package.
@@ -1268,22 +1318,25 @@  discard block
 block discarded – undo
1268 1318
 	require_once($sourcedir . '/Subs-Package.php');
1269 1319
 
1270 1320
 	// No package?  Show him or her the door.
1271
-	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '')
1272
-		redirectexit('action=admin;area=packages');
1321
+	if (!isset($_REQUEST['package']) || $_REQUEST['package'] == '') {
1322
+			redirectexit('action=admin;area=packages');
1323
+	}
1273 1324
 
1274 1325
 	// No file?  Show him or her the door.
1275
-	if (!isset($_REQUEST['file']) || $_REQUEST['file'] == '')
1276
-		redirectexit('action=admin;area=packages');
1326
+	if (!isset($_REQUEST['file']) || $_REQUEST['file'] == '') {
1327
+			redirectexit('action=admin;area=packages');
1328
+	}
1277 1329
 
1278 1330
 	$_REQUEST['package'] = preg_replace('~[\.]+~', '.', strtr($_REQUEST['package'], array('/' => '_', '\\' => '_')));
1279 1331
 	$_REQUEST['file'] = preg_replace('~[\.]+~', '.', $_REQUEST['file']);
1280 1332
 
1281 1333
 	if (isset($_REQUEST['raw']))
1282 1334
 	{
1283
-		if (is_file($packagesdir . '/' . $_REQUEST['package']))
1284
-			echo read_tgz_file($packagesdir . '/' . $_REQUEST['package'], $_REQUEST['file'], true);
1285
-		elseif (is_dir($packagesdir . '/' . $_REQUEST['package']))
1286
-			echo file_get_contents($packagesdir . '/' . $_REQUEST['package'] . '/' . $_REQUEST['file']);
1335
+		if (is_file($packagesdir . '/' . $_REQUEST['package'])) {
1336
+					echo read_tgz_file($packagesdir . '/' . $_REQUEST['package'], $_REQUEST['file'], true);
1337
+		} elseif (is_dir($packagesdir . '/' . $_REQUEST['package'])) {
1338
+					echo file_get_contents($packagesdir . '/' . $_REQUEST['package'] . '/' . $_REQUEST['file']);
1339
+		}
1287 1340
 
1288 1341
 		obExit(false);
1289 1342
 	}
@@ -1300,17 +1353,19 @@  discard block
 block discarded – undo
1300 1353
 	$context['filename'] = $_REQUEST['file'];
1301 1354
 
1302 1355
 	// Let the unpacker do the work.... but make sure we handle images properly.
1303
-	if (in_array(strtolower(strrchr($_REQUEST['file'], '.')), array('.bmp', '.gif', '.jpeg', '.jpg', '.png')))
1304
-		$context['filedata'] = '<img src="' . $scripturl . '?action=admin;area=packages;sa=examine;package=' . $_REQUEST['package'] . ';file=' . $_REQUEST['file'] . ';raw" alt="' . $_REQUEST['file'] . '">';
1305
-	else
1356
+	if (in_array(strtolower(strrchr($_REQUEST['file'], '.')), array('.bmp', '.gif', '.jpeg', '.jpg', '.png'))) {
1357
+			$context['filedata'] = '<img src="' . $scripturl . '?action=admin;area=packages;sa=examine;package=' . $_REQUEST['package'] . ';file=' . $_REQUEST['file'] . ';raw" alt="' . $_REQUEST['file'] . '">';
1358
+	} else
1306 1359
 	{
1307
-		if (is_file($packagesdir . '/' . $_REQUEST['package']))
1308
-			$context['filedata'] = $smcFunc['htmlspecialchars'](read_tgz_file($packagesdir . '/' . $_REQUEST['package'], $_REQUEST['file'], true));
1309
-		elseif (is_dir($packagesdir . '/' . $_REQUEST['package']))
1310
-			$context['filedata'] = $smcFunc['htmlspecialchars'](file_get_contents($packagesdir . '/' . $_REQUEST['package'] . '/' . $_REQUEST['file']));
1360
+		if (is_file($packagesdir . '/' . $_REQUEST['package'])) {
1361
+					$context['filedata'] = $smcFunc['htmlspecialchars'](read_tgz_file($packagesdir . '/' . $_REQUEST['package'], $_REQUEST['file'], true));
1362
+		} elseif (is_dir($packagesdir . '/' . $_REQUEST['package'])) {
1363
+					$context['filedata'] = $smcFunc['htmlspecialchars'](file_get_contents($packagesdir . '/' . $_REQUEST['package'] . '/' . $_REQUEST['file']));
1364
+		}
1311 1365
 
1312
-		if (strtolower(strrchr($_REQUEST['file'], '.')) == '.php')
1313
-			$context['filedata'] = highlight_php_code($context['filedata']);
1366
+		if (strtolower(strrchr($_REQUEST['file'], '.')) == '.php') {
1367
+					$context['filedata'] = highlight_php_code($context['filedata']);
1368
+		}
1314 1369
 	}
1315 1370
 }
1316 1371
 
@@ -1325,8 +1380,9 @@  discard block
 block discarded – undo
1325 1380
 	checkSession('get');
1326 1381
 
1327 1382
 	// Ack, don't allow deletion of arbitrary files here, could become a security hole somehow!
1328
-	if (!isset($_GET['package']) || $_GET['package'] == 'index.php' || $_GET['package'] == 'backups')
1329
-		redirectexit('action=admin;area=packages;sa=browse');
1383
+	if (!isset($_GET['package']) || $_GET['package'] == 'index.php' || $_GET['package'] == 'backups') {
1384
+			redirectexit('action=admin;area=packages;sa=browse');
1385
+	}
1330 1386
 	$_GET['package'] = preg_replace('~[\.]+~', '.', strtr($_GET['package'], array('/' => '_', '\\' => '_')));
1331 1387
 
1332 1388
 	// Can't delete what's not there.
@@ -1334,9 +1390,9 @@  discard block
 block discarded – undo
1334 1390
 	{
1335 1391
 		create_chmod_control(array($packagesdir . '/' . $_GET['package']), array('destination_url' => $scripturl . '?action=admin;area=packages;sa=remove;package=' . $_GET['package'], 'crash_on_error' => true));
1336 1392
 
1337
-		if (is_dir($packagesdir . '/' . $_GET['package']))
1338
-			deltree($packagesdir . '/' . $_GET['package']);
1339
-		else
1393
+		if (is_dir($packagesdir . '/' . $_GET['package'])) {
1394
+					deltree($packagesdir . '/' . $_GET['package']);
1395
+		} else
1340 1396
 		{
1341 1397
 			smf_chmod($packagesdir . '/' . $_GET['package'], 0777);
1342 1398
 			unlink($packagesdir . '/' . $_GET['package']);
@@ -1384,8 +1440,9 @@  discard block
 block discarded – undo
1384 1440
 					'data' => array(
1385 1441
 						'function' => function($package_md5) use ($type, &$context)
1386 1442
 						{
1387
-							if (isset($context['available_' . $type . ''][$package_md5]))
1388
-								return $context['available_' . $type . ''][$package_md5]['sort_id'];
1443
+							if (isset($context['available_' . $type . ''][$package_md5])) {
1444
+															return $context['available_' . $type . ''][$package_md5]['sort_id'];
1445
+							}
1389 1446
 						},
1390 1447
 					),
1391 1448
 					'sort' => array(
@@ -1401,8 +1458,9 @@  discard block
 block discarded – undo
1401 1458
 					'data' => array(
1402 1459
 						'function' => function($package_md5) use ($type, &$context)
1403 1460
 						{
1404
-							if (isset($context['available_' . $type . ''][$package_md5]))
1405
-								return $context['available_' . $type . ''][$package_md5]['name'];
1461
+							if (isset($context['available_' . $type . ''][$package_md5])) {
1462
+															return $context['available_' . $type . ''][$package_md5]['name'];
1463
+							}
1406 1464
 						},
1407 1465
 					),
1408 1466
 					'sort' => array(
@@ -1417,8 +1475,9 @@  discard block
 block discarded – undo
1417 1475
 					'data' => array(
1418 1476
 						'function' => function($package_md5) use ($type, &$context)
1419 1477
 						{
1420
-							if (isset($context['available_' . $type . ''][$package_md5]))
1421
-								return $context['available_' . $type . ''][$package_md5]['version'];
1478
+							if (isset($context['available_' . $type . ''][$package_md5])) {
1479
+															return $context['available_' . $type . ''][$package_md5]['version'];
1480
+							}
1422 1481
 						},
1423 1482
 					),
1424 1483
 					'sort' => array(
@@ -1433,8 +1492,9 @@  discard block
 block discarded – undo
1433 1492
 					'data' => array(
1434 1493
 						'function' => function($package_md5) use ($type, $txt, &$context)
1435 1494
 						{
1436
-							if (isset($context['available_' . $type . ''][$package_md5]))
1437
-								return !empty($context['available_' . $type . ''][$package_md5]['time_installed']) ? timeformat($context['available_' . $type . ''][$package_md5]['time_installed']) : $txt['not_applicable'];
1495
+							if (isset($context['available_' . $type . ''][$package_md5])) {
1496
+															return !empty($context['available_' . $type . ''][$package_md5]['time_installed']) ? timeformat($context['available_' . $type . ''][$package_md5]['time_installed']) : $txt['not_applicable'];
1497
+							}
1438 1498
 						},
1439 1499
 						'class' => 'smalltext',
1440 1500
 					),
@@ -1450,28 +1510,30 @@  discard block
 block discarded – undo
1450 1510
 					'data' => array(
1451 1511
 						'function' => function($package_md5) use ($type, &$context, $scripturl, $txt)
1452 1512
 						{
1453
-							if (!isset($context['available_' . $type . ''][$package_md5]))
1454
-								return '';
1513
+							if (!isset($context['available_' . $type . ''][$package_md5])) {
1514
+															return '';
1515
+							}
1455 1516
 
1456 1517
 							// Rewrite shortcut
1457 1518
 							$package = $context['available_' . $type . ''][$package_md5];
1458 1519
 							$return = '';
1459 1520
 
1460
-							if ($package['can_uninstall'])
1461
-								$return = '
1521
+							if ($package['can_uninstall']) {
1522
+															$return = '
1462 1523
 									<a href="' . $scripturl . '?action=admin;area=packages;sa=uninstall;package=' . $package['filename'] . ';pid=' . $package['installed_id'] . '" class="button">' . $txt['uninstall'] . '</a>';
1463
-							elseif ($package['can_emulate_uninstall'])
1464
-								$return = '
1524
+							} elseif ($package['can_emulate_uninstall']) {
1525
+															$return = '
1465 1526
 									<a href="' . $scripturl . '?action=admin;area=packages;sa=uninstall;ve=' . $package['can_emulate_uninstall'] . ';package=' . $package['filename'] . ';pid=' . $package['installed_id'] . '" class="button">' . $txt['package_emulate_uninstall'] . ' ' . $package['can_emulate_uninstall'] . '</a>';
1466
-							elseif ($package['can_upgrade'])
1467
-								$return = '
1527
+							} elseif ($package['can_upgrade']) {
1528
+															$return = '
1468 1529
 									<a href="' . $scripturl . '?action=admin;area=packages;sa=install;package=' . $package['filename'] . '" class="button">' . $txt['package_upgrade'] . '</a>';
1469
-							elseif ($package['can_install'])
1470
-								$return = '
1530
+							} elseif ($package['can_install']) {
1531
+															$return = '
1471 1532
 									<a href="' . $scripturl . '?action=admin;area=packages;sa=install;package=' . $package['filename'] . '" class="button">' . $txt['install_mod'] . '</a>';
1472
-							elseif ($package['can_emulate_install'])
1473
-								$return = '
1533
+							} elseif ($package['can_emulate_install']) {
1534
+															$return = '
1474 1535
 									<a href="' . $scripturl . '?action=admin;area=packages;sa=install;ve=' . $package['can_emulate_install'] . ';package=' . $package['filename'] . '" class="button">' . $txt['package_emulate_install'] . ' ' . $package['can_emulate_install'] . '</a>';
1536
+							}
1475 1537
 
1476 1538
 							return $return . '
1477 1539
 									<a href="' . $scripturl . '?action=admin;area=packages;sa=list;package=' . $package['filename'] . '" class="button">' . $txt['list_files'] . '</a>
@@ -1536,12 +1598,14 @@  discard block
 block discarded – undo
1536 1598
 	static $packages, $installed_mods;
1537 1599
 
1538 1600
 	// Start things up
1539
-	if (!isset($packages[$params]))
1540
-		$packages[$params] = array();
1601
+	if (!isset($packages[$params])) {
1602
+			$packages[$params] = array();
1603
+	}
1541 1604
 
1542 1605
 	// We need the packages directory to be writable for this.
1543
-	if (!@is_writable($packagesdir))
1544
-		create_chmod_control(array($packagesdir), array('destination_url' => $scripturl . '?action=admin;area=packages', 'crash_on_error' => true));
1606
+	if (!@is_writable($packagesdir)) {
1607
+			create_chmod_control(array($packagesdir), array('destination_url' => $scripturl . '?action=admin;area=packages', 'crash_on_error' => true));
1608
+	}
1545 1609
 
1546 1610
 	$the_version = strtr($forum_version, array('SMF ' => ''));
1547 1611
 
@@ -1549,41 +1613,44 @@  discard block
 block discarded – undo
1549 1613
 	if (isset($_GET['version_emulate']) && strtr($_GET['version_emulate'], array('SMF ' => '')) == $the_version)
1550 1614
 	{
1551 1615
 		unset($_SESSION['version_emulate']);
1552
-	}
1553
-	elseif (isset($_GET['version_emulate']))
1616
+	} elseif (isset($_GET['version_emulate']))
1554 1617
 	{
1555
-		if (($_GET['version_emulate'] === 0 || $_GET['version_emulate'] === $forum_version) && isset($_SESSION['version_emulate']))
1556
-			unset($_SESSION['version_emulate']);
1557
-		elseif ($_GET['version_emulate'] !== 0)
1558
-			$_SESSION['version_emulate'] = strtr($_GET['version_emulate'], array('-' => ' ', '+' => ' ', 'SMF ' => ''));
1618
+		if (($_GET['version_emulate'] === 0 || $_GET['version_emulate'] === $forum_version) && isset($_SESSION['version_emulate'])) {
1619
+					unset($_SESSION['version_emulate']);
1620
+		} elseif ($_GET['version_emulate'] !== 0) {
1621
+					$_SESSION['version_emulate'] = strtr($_GET['version_emulate'], array('-' => ' ', '+' => ' ', 'SMF ' => ''));
1622
+		}
1559 1623
 	}
1560 1624
 	if (!empty($_SESSION['version_emulate']))
1561 1625
 	{
1562 1626
 		$context['forum_version'] = 'SMF ' . $_SESSION['version_emulate'];
1563 1627
 		$the_version = $_SESSION['version_emulate'];
1564 1628
 	}
1565
-	if (isset($_SESSION['single_version_emulate']))
1566
-		unset($_SESSION['single_version_emulate']);
1629
+	if (isset($_SESSION['single_version_emulate'])) {
1630
+			unset($_SESSION['single_version_emulate']);
1631
+	}
1567 1632
 
1568 1633
 	if (empty($installed_mods))
1569 1634
 	{
1570 1635
 		$instmods = loadInstalledPackages();
1571 1636
 		$installed_mods = array();
1572 1637
 		// Look through the list of installed mods...
1573
-		foreach ($instmods as $installed_mod)
1574
-			$installed_mods[$installed_mod['package_id']] = array(
1638
+		foreach ($instmods as $installed_mod) {
1639
+					$installed_mods[$installed_mod['package_id']] = array(
1575 1640
 				'id' => $installed_mod['id'],
1576 1641
 				'version' => $installed_mod['version'],
1577 1642
 				'time_installed' => $installed_mod['time_installed'],
1578 1643
 			);
1644
+		}
1579 1645
 
1580 1646
 		// Get a list of all the ids installed, so the latest packages won't include already installed ones.
1581 1647
 		$context['installed_mods'] = array_keys($installed_mods);
1582 1648
 	}
1583 1649
 
1584
-	if (empty($packages))
1585
-		foreach ($context['modification_types'] as $type)
1650
+	if (empty($packages)) {
1651
+			foreach ($context['modification_types'] as $type)
1586 1652
 			$packages[$type] = array();
1653
+	}
1587 1654
 
1588 1655
 	if ($dir = @opendir($packagesdir))
1589 1656
 	{
@@ -1599,50 +1666,56 @@  discard block
 block discarded – undo
1599 1666
 
1600 1667
 		while ($package = readdir($dir))
1601 1668
 		{
1602
-			if ($package == '.' || $package == '..' || $package == 'temp' || (!(is_dir($packagesdir . '/' . $package) && file_exists($packagesdir . '/' . $package . '/package-info.xml')) && substr(strtolower($package), -7) != '.tar.gz' && substr(strtolower($package), -4) != '.tgz' && substr(strtolower($package), -4) != '.zip'))
1603
-				continue;
1669
+			if ($package == '.' || $package == '..' || $package == 'temp' || (!(is_dir($packagesdir . '/' . $package) && file_exists($packagesdir . '/' . $package . '/package-info.xml')) && substr(strtolower($package), -7) != '.tar.gz' && substr(strtolower($package), -4) != '.tgz' && substr(strtolower($package), -4) != '.zip')) {
1670
+							continue;
1671
+			}
1604 1672
 
1605 1673
 			$skip = false;
1606
-			foreach ($context['modification_types'] as $type)
1607
-				if (isset($context['available_' . $type][md5($package)]))
1674
+			foreach ($context['modification_types'] as $type) {
1675
+							if (isset($context['available_' . $type][md5($package)]))
1608 1676
 					$skip = true;
1677
+			}
1609 1678
 
1610
-			if ($skip)
1611
-				continue;
1679
+			if ($skip) {
1680
+							continue;
1681
+			}
1612 1682
 
1613 1683
 			// Skip directories or files that are named the same.
1614 1684
 			if (is_dir($packagesdir . '/' . $package))
1615 1685
 			{
1616
-				if (in_array($package, $dirs))
1617
-					continue;
1686
+				if (in_array($package, $dirs)) {
1687
+									continue;
1688
+				}
1618 1689
 				$dirs[] = $package;
1619
-			}
1620
-			elseif (substr(strtolower($package), -7) == '.tar.gz')
1690
+			} elseif (substr(strtolower($package), -7) == '.tar.gz')
1621 1691
 			{
1622
-				if (in_array(substr($package, 0, -7), $dirs))
1623
-					continue;
1692
+				if (in_array(substr($package, 0, -7), $dirs)) {
1693
+									continue;
1694
+				}
1624 1695
 				$dirs[] = substr($package, 0, -7);
1625
-			}
1626
-			elseif (substr(strtolower($package), -4) == '.zip' || substr(strtolower($package), -4) == '.tgz')
1696
+			} elseif (substr(strtolower($package), -4) == '.zip' || substr(strtolower($package), -4) == '.tgz')
1627 1697
 			{
1628
-				if (in_array(substr($package, 0, -4), $dirs))
1629
-					continue;
1698
+				if (in_array(substr($package, 0, -4), $dirs)) {
1699
+									continue;
1700
+				}
1630 1701
 				$dirs[] = substr($package, 0, -4);
1631 1702
 			}
1632 1703
 
1633 1704
 			$packageInfo = getPackageInfo($package);
1634
-			if (!is_array($packageInfo))
1635
-				continue;
1705
+			if (!is_array($packageInfo)) {
1706
+							continue;
1707
+			}
1636 1708
 
1637 1709
 			if (!empty($packageInfo))
1638 1710
 			{
1639 1711
 				$packageInfo['installed_id'] = isset($installed_mods[$packageInfo['id']]) ? $installed_mods[$packageInfo['id']]['id'] : 0;
1640 1712
 				$packageInfo['time_installed'] = isset($installed_mods[$packageInfo['id']]) ? $installed_mods[$packageInfo['id']]['time_installed'] : 0;
1641 1713
 
1642
-				if (!isset($sort_id[$packageInfo['type']]))
1643
-					$packageInfo['sort_id'] = $sort_id['unknown'];
1644
-				else
1645
-					$packageInfo['sort_id'] = $sort_id[$packageInfo['type']];
1714
+				if (!isset($sort_id[$packageInfo['type']])) {
1715
+									$packageInfo['sort_id'] = $sort_id['unknown'];
1716
+				} else {
1717
+									$packageInfo['sort_id'] = $sort_id[$packageInfo['type']];
1718
+				}
1646 1719
 
1647 1720
 				$packageInfo['is_installed'] = isset($installed_mods[$packageInfo['id']]);
1648 1721
 				$packageInfo['is_current'] = $packageInfo['is_installed'] && ($installed_mods[$packageInfo['id']]['version'] == $packageInfo['version']);
@@ -1691,10 +1764,11 @@  discard block
 block discarded – undo
1691 1764
 					foreach ($upgrades as $upgrade)
1692 1765
 					{
1693 1766
 						// Even if it is for this SMF, is it for the installed version of the mod?
1694
-						if (!$upgrade->exists('@for') || matchPackageVersion($the_version, $upgrade->fetch('@for')))
1695
-							if (!$upgrade->exists('@from') || matchPackageVersion($installed_mods[$packageInfo['id']]['version'], $upgrade->fetch('@from')))
1767
+						if (!$upgrade->exists('@for') || matchPackageVersion($the_version, $upgrade->fetch('@for'))) {
1768
+													if (!$upgrade->exists('@from') || matchPackageVersion($installed_mods[$packageInfo['id']]['version'], $upgrade->fetch('@from')))
1696 1769
 							{
1697 1770
 								$packageInfo['can_upgrade'] = true;
1771
+						}
1698 1772
 								break;
1699 1773
 							}
1700 1774
 					}
@@ -1771,10 +1845,11 @@  discard block
 block discarded – undo
1771 1845
 
1772 1846
 	if (isset($_GET['type']) && $_GET['type'] == $params)
1773 1847
 	{
1774
-		if (isset($_GET['desc']))
1775
-			krsort($packages[$params]);
1776
-		else
1777
-			ksort($packages[$params]);
1848
+		if (isset($_GET['desc'])) {
1849
+					krsort($packages[$params]);
1850
+		} else {
1851
+					ksort($packages[$params]);
1852
+		}
1778 1853
 	}
1779 1854
 
1780 1855
 	return $packages[$params];
@@ -1803,10 +1878,11 @@  discard block
 block discarded – undo
1803 1878
 		redirectexit('action=admin;area=packages;sa=options');
1804 1879
 	}
1805 1880
 
1806
-	if (preg_match('~^/home\d*/([^/]+?)/public_html~', $_SERVER['DOCUMENT_ROOT'], $match))
1807
-		$default_username = $match[1];
1808
-	else
1809
-		$default_username = '';
1881
+	if (preg_match('~^/home\d*/([^/]+?)/public_html~', $_SERVER['DOCUMENT_ROOT'], $match)) {
1882
+			$default_username = $match[1];
1883
+	} else {
1884
+			$default_username = '';
1885
+	}
1810 1886
 
1811 1887
 	$context['page_title'] = $txt['package_settings'];
1812 1888
 	$context['sub_template'] = 'install_options';
@@ -1835,8 +1911,9 @@  discard block
 block discarded – undo
1835 1911
 	isAllowedTo('admin_forum');
1836 1912
 
1837 1913
 	// We need to know the operation key for the search and replace, mod file looking at, is it a board mod?
1838
-	if (!isset($_REQUEST['operation_key'], $_REQUEST['filename']) && !is_numeric($_REQUEST['operation_key']))
1839
-		fatal_lang_error('operation_invalid', 'general');
1914
+	if (!isset($_REQUEST['operation_key'], $_REQUEST['filename']) && !is_numeric($_REQUEST['operation_key'])) {
1915
+			fatal_lang_error('operation_invalid', 'general');
1916
+	}
1840 1917
 
1841 1918
 	// Load the required file.
1842 1919
 	require_once($sourcedir . '/Subs-Package.php');
@@ -1852,18 +1929,19 @@  discard block
 block discarded – undo
1852 1929
 	{
1853 1930
 		$context['extracted_files'] = read_tgz_file($packagesdir . '/' . $context['filename'], $packagesdir . '/temp');
1854 1931
 
1855
-		if ($context['extracted_files'] && !file_exists($packagesdir . '/temp/package-info.xml'))
1856
-			foreach ($context['extracted_files'] as $file)
1932
+		if ($context['extracted_files'] && !file_exists($packagesdir . '/temp/package-info.xml')) {
1933
+					foreach ($context['extracted_files'] as $file)
1857 1934
 				if (basename($file['filename']) == 'package-info.xml')
1858 1935
 				{
1859 1936
 					$context['base_path'] = dirname($file['filename']) . '/';
1937
+		}
1860 1938
 					break;
1861 1939
 				}
1862 1940
 
1863
-		if (!isset($context['base_path']))
1864
-			$context['base_path'] = '';
1865
-	}
1866
-	elseif (is_dir($packagesdir . '/' . $context['filename']))
1941
+		if (!isset($context['base_path'])) {
1942
+					$context['base_path'] = '';
1943
+		}
1944
+	} elseif (is_dir($packagesdir . '/' . $context['filename']))
1867 1945
 	{
1868 1946
 		copytree($packagesdir . '/' . $context['filename'], $packagesdir . '/temp');
1869 1947
 		$context['extracted_files'] = listtree($packagesdir . '/temp');
@@ -1884,8 +1962,9 @@  discard block
 block discarded – undo
1884 1962
 		)
1885 1963
 	);
1886 1964
 	$theme_paths = array();
1887
-	while ($row = $smcFunc['db_fetch_assoc']($request))
1888
-		$theme_paths[$row['id_theme']][$row['variable']] = $row['value'];
1965
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1966
+			$theme_paths[$row['id_theme']][$row['variable']] = $row['value'];
1967
+	}
1889 1968
 	$smcFunc['db_free_result']($request);
1890 1969
 
1891 1970
 	// If we're viewing uninstall operations, only consider themes that
@@ -1910,19 +1989,21 @@  discard block
 block discarded – undo
1910 1989
 				list ($old_themes) = $smcFunc['db_fetch_row']($request);
1911 1990
 				$old_themes = explode(',', $old_themes);
1912 1991
 
1913
-				foreach ($theme_paths as $id => $data)
1914
-					if ($id != 1 && !in_array($id, $old_themes))
1992
+				foreach ($theme_paths as $id => $data) {
1993
+									if ($id != 1 && !in_array($id, $old_themes))
1915 1994
 						unset($theme_paths[$id]);
1995
+				}
1916 1996
 			}
1917 1997
 			$smcFunc['db_free_result']($request);
1918 1998
 		}
1919 1999
 	}
1920 2000
 
1921 2001
 	// Boardmod?
1922
-	if (isset($_REQUEST['boardmod']))
1923
-		$mod_actions = parseBoardMod(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $_REQUEST['filename']), true, $reverse, $theme_paths);
1924
-	else
1925
-		$mod_actions = parseModification(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $_REQUEST['filename']), true, $reverse, $theme_paths);
2002
+	if (isset($_REQUEST['boardmod'])) {
2003
+			$mod_actions = parseBoardMod(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $_REQUEST['filename']), true, $reverse, $theme_paths);
2004
+	} else {
2005
+			$mod_actions = parseModification(@file_get_contents($packagesdir . '/temp/' . $context['base_path'] . $_REQUEST['filename']), true, $reverse, $theme_paths);
2006
+	}
1926 2007
 
1927 2008
 	// Ok lets get the content of the file.
1928 2009
 	$context['operations'] = array(
@@ -1978,9 +2059,9 @@  discard block
 block discarded – undo
1978 2059
 			'path' => $detect_path,
1979 2060
 			'form_elements_only' => true,
1980 2061
 		);
2062
+	} else {
2063
+			$context['ftp_connected'] = true;
1981 2064
 	}
1982
-	else
1983
-		$context['ftp_connected'] = true;
1984 2065
 
1985 2066
 	// Define the template.
1986 2067
 	$context['page_title'] = $txt['package_file_perms'];
@@ -2093,17 +2174,18 @@  discard block
 block discarded – undo
2093 2174
 	{
2094 2175
 		unset($context['file_tree'][strtr($boarddir, array('\\' => '/'))]['contents']['attachments']);
2095 2176
 
2096
-		if (!is_array($modSettings['attachmentUploadDir']))
2097
-			$modSettings['attachmentUploadDir'] = $smcFunc['json_decode']($modSettings['attachmentUploadDir'], true);
2177
+		if (!is_array($modSettings['attachmentUploadDir'])) {
2178
+					$modSettings['attachmentUploadDir'] = $smcFunc['json_decode']($modSettings['attachmentUploadDir'], true);
2179
+		}
2098 2180
 
2099 2181
 		// @todo Should we suggest non-current directories be read only?
2100
-		foreach ($modSettings['attachmentUploadDir'] as $dir)
2101
-			$context['file_tree'][strtr($dir, array('\\' => '/'))] = array(
2182
+		foreach ($modSettings['attachmentUploadDir'] as $dir) {
2183
+					$context['file_tree'][strtr($dir, array('\\' => '/'))] = array(
2102 2184
 			'type' => 'dir',
2103 2185
 			'writable_on' => 'restrictive',
2104 2186
 		);
2105
-	}
2106
-	elseif (substr($modSettings['attachmentUploadDir'], 0, strlen($boarddir)) != $boarddir)
2187
+		}
2188
+	} elseif (substr($modSettings['attachmentUploadDir'], 0, strlen($boarddir)) != $boarddir)
2107 2189
 	{
2108 2190
 		unset($context['file_tree'][strtr($boarddir, array('\\' => '/'))]['contents']['attachments']);
2109 2191
 		$context['file_tree'][strtr($modSettings['attachmentUploadDir'], array('\\' => '/'))] = array(
@@ -2153,8 +2235,8 @@  discard block
 block discarded – undo
2153 2235
 	);
2154 2236
 	while ($row = $smcFunc['db_fetch_assoc']($request))
2155 2237
 	{
2156
-		if (substr(strtolower(strtr($row['value'], array('\\' => '/'))), 0, strlen($boarddir) + 7) == strtolower(strtr($boarddir, array('\\' => '/')) . '/Themes'))
2157
-			$context['file_tree'][strtr($boarddir, array('\\' => '/'))]['contents']['Themes']['contents'][substr($row['value'], strlen($boarddir) + 8)] = array(
2238
+		if (substr(strtolower(strtr($row['value'], array('\\' => '/'))), 0, strlen($boarddir) + 7) == strtolower(strtr($boarddir, array('\\' => '/')) . '/Themes')) {
2239
+					$context['file_tree'][strtr($boarddir, array('\\' => '/'))]['contents']['Themes']['contents'][substr($row['value'], strlen($boarddir) + 8)] = array(
2158 2240
 				'type' => 'dir_recursive',
2159 2241
 				'list_contents' => true,
2160 2242
 				'contents' => array(
@@ -2164,7 +2246,7 @@  discard block
 block discarded – undo
2164 2246
 					),
2165 2247
 				),
2166 2248
 			);
2167
-		else
2249
+		} else
2168 2250
 		{
2169 2251
 			$context['file_tree'][strtr($row['value'], array('\\' => '/'))] = array(
2170 2252
 				'type' => 'dir_recursive',
@@ -2181,28 +2263,33 @@  discard block
 block discarded – undo
2181 2263
 	$smcFunc['db_free_result']($request);
2182 2264
 
2183 2265
 	// If we're submitting then let's move on to another function to keep things cleaner..
2184
-	if (isset($_POST['action_changes']))
2185
-		return PackagePermissionsAction();
2266
+	if (isset($_POST['action_changes'])) {
2267
+			return PackagePermissionsAction();
2268
+	}
2186 2269
 
2187 2270
 	$context['look_for'] = array();
2188 2271
 	// Are we looking for a particular tree - normally an expansion?
2189
-	if (!empty($_REQUEST['find']))
2190
-		$context['look_for'][] = base64_decode($_REQUEST['find']);
2272
+	if (!empty($_REQUEST['find'])) {
2273
+			$context['look_for'][] = base64_decode($_REQUEST['find']);
2274
+	}
2191 2275
 	// Only that tree?
2192 2276
 	$context['only_find'] = isset($_GET['xml']) && !empty($_REQUEST['onlyfind']) ? $_REQUEST['onlyfind'] : '';
2193
-	if ($context['only_find'])
2194
-		$context['look_for'][] = $context['only_find'];
2277
+	if ($context['only_find']) {
2278
+			$context['look_for'][] = $context['only_find'];
2279
+	}
2195 2280
 
2196 2281
 	// Have we got a load of back-catalogue trees to expand from a submit etc?
2197 2282
 	if (!empty($_GET['back_look']))
2198 2283
 	{
2199 2284
 		$potententialTrees = $smcFunc['json_decode'](base64_decode($_GET['back_look']), true);
2200
-		foreach ($potententialTrees as $tree)
2201
-			$context['look_for'][] = $tree;
2285
+		foreach ($potententialTrees as $tree) {
2286
+					$context['look_for'][] = $tree;
2287
+		}
2202 2288
 	}
2203 2289
 	// ... maybe posted?
2204
-	if (!empty($_POST['back_look']))
2205
-		$context['only_find'] = array_merge($context['only_find'], $_POST['back_look']);
2290
+	if (!empty($_POST['back_look'])) {
2291
+			$context['only_find'] = array_merge($context['only_find'], $_POST['back_look']);
2292
+	}
2206 2293
 
2207 2294
 	$context['back_look_data'] = base64_encode($smcFunc['json_encode'](array_slice($context['look_for'], 0, 15)));
2208 2295
 
@@ -2241,9 +2328,9 @@  discard block
 block discarded – undo
2241 2328
 				'chmod' => @is_writable($path),
2242 2329
 				'perms' => @fileperms($path),
2243 2330
 			);
2331
+		} else {
2332
+					unset($context['file_tree'][$path]);
2244 2333
 		}
2245
-		else
2246
-			unset($context['file_tree'][$path]);
2247 2334
 	}
2248 2335
 
2249 2336
 	// Is this actually xml?
@@ -2267,22 +2354,25 @@  discard block
 block discarded – undo
2267 2354
 	global $context;
2268 2355
 
2269 2356
 	$isLikelyPath = false;
2270
-	foreach ($context['look_for'] as $possiblePath)
2271
-		if (substr($possiblePath, 0, strlen($path)) == $path)
2357
+	foreach ($context['look_for'] as $possiblePath) {
2358
+			if (substr($possiblePath, 0, strlen($path)) == $path)
2272 2359
 			$isLikelyPath = true;
2360
+	}
2273 2361
 
2274 2362
 	// Is this where we stop?
2275
-	if (isset($_GET['xml']) && !empty($context['look_for']) && !$isLikelyPath)
2276
-		return;
2277
-	elseif ($level > $context['default_level'] && !$isLikelyPath)
2278
-		return;
2363
+	if (isset($_GET['xml']) && !empty($context['look_for']) && !$isLikelyPath) {
2364
+			return;
2365
+	} elseif ($level > $context['default_level'] && !$isLikelyPath) {
2366
+			return;
2367
+	}
2279 2368
 
2280 2369
 	// Are we actually interested in saving this data?
2281 2370
 	$save_data = empty($context['only_find']) || $context['only_find'] == $path;
2282 2371
 
2283 2372
 	// @todo Shouldn't happen - but better error message?
2284
-	if (!is_dir($path))
2285
-		fatal_lang_error('no_access', false);
2373
+	if (!is_dir($path)) {
2374
+			fatal_lang_error('no_access', false);
2375
+	}
2286 2376
 
2287 2377
 	// This is where we put stuff we've found for sorting.
2288 2378
 	$foundData = array(
@@ -2297,11 +2387,13 @@  discard block
 block discarded – undo
2297 2387
 		if (is_file($path . '/' . $entry))
2298 2388
 		{
2299 2389
 			// Are we listing PHP files in this directory?
2300
-			if ($save_data && !empty($data['list_contents']) && substr($entry, -4) == '.php')
2301
-				$foundData['files'][$entry] = true;
2390
+			if ($save_data && !empty($data['list_contents']) && substr($entry, -4) == '.php') {
2391
+							$foundData['files'][$entry] = true;
2392
+			}
2302 2393
 			// A file we were looking for.
2303
-			elseif ($save_data && isset($data['contents'][$entry]))
2304
-				$foundData['files'][$entry] = true;
2394
+			elseif ($save_data && isset($data['contents'][$entry])) {
2395
+							$foundData['files'][$entry] = true;
2396
+			}
2305 2397
 		}
2306 2398
 		// It's a directory - we're interested one way or another, probably...
2307 2399
 		elseif ($entry != '.' && $entry != '..')
@@ -2309,32 +2401,36 @@  discard block
 block discarded – undo
2309 2401
 			// Going further?
2310 2402
 			if ((!empty($data['type']) && $data['type'] == 'dir_recursive') || (isset($data['contents'][$entry]) && (!empty($data['contents'][$entry]['list_contents']) || (!empty($data['contents'][$entry]['type']) && $data['contents'][$entry]['type'] == 'dir_recursive'))))
2311 2403
 			{
2312
-				if (!isset($data['contents'][$entry]))
2313
-					$foundData['folders'][$entry] = 'dir_recursive';
2314
-				else
2315
-					$foundData['folders'][$entry] = true;
2404
+				if (!isset($data['contents'][$entry])) {
2405
+									$foundData['folders'][$entry] = 'dir_recursive';
2406
+				} else {
2407
+									$foundData['folders'][$entry] = true;
2408
+				}
2316 2409
 
2317 2410
 				// If this wasn't expected inherit the recusiveness...
2318
-				if (!isset($data['contents'][$entry]))
2319
-					// We need to do this as we will be going all recursive.
2411
+				if (!isset($data['contents'][$entry])) {
2412
+									// We need to do this as we will be going all recursive.
2320 2413
 					$data['contents'][$entry] = array(
2321 2414
 						'type' => 'dir_recursive',
2322 2415
 					);
2416
+				}
2323 2417
 
2324 2418
 				// Actually do the recursive stuff...
2325 2419
 				fetchPerms__recursive($path . '/' . $entry, $data['contents'][$entry], $level + 1);
2326 2420
 			}
2327 2421
 			// Maybe it is a folder we are not descending into.
2328
-			elseif (isset($data['contents'][$entry]))
2329
-				$foundData['folders'][$entry] = true;
2422
+			elseif (isset($data['contents'][$entry])) {
2423
+							$foundData['folders'][$entry] = true;
2424
+			}
2330 2425
 			// Otherwise we stop here.
2331 2426
 		}
2332 2427
 	}
2333 2428
 	closedir($dh);
2334 2429
 
2335 2430
 	// Nothing to see here?
2336
-	if (!$save_data)
2337
-		return;
2431
+	if (!$save_data) {
2432
+			return;
2433
+	}
2338 2434
 
2339 2435
 	// Now actually add the data, starting with the folders.
2340 2436
 	ksort($foundData['folders']);
@@ -2346,8 +2442,9 @@  discard block
 block discarded – undo
2346 2442
 				'perms' => @fileperms($path . '/' . $folder),
2347 2443
 			),
2348 2444
 		);
2349
-		if ($type !== true)
2350
-			$additional_data['type'] = $type;
2445
+		if ($type !== true) {
2446
+					$additional_data['type'] = $type;
2447
+		}
2351 2448
 
2352 2449
 		// If there's an offset ignore any folders in XML mode.
2353 2450
 		if (isset($_GET['xml']) && $context['file_offset'] == 0)
@@ -2366,13 +2463,13 @@  discard block
 block discarded – undo
2366 2463
 				),
2367 2464
 				'value' => $folder,
2368 2465
 			);
2369
-		}
2370
-		elseif (!isset($_GET['xml']))
2466
+		} elseif (!isset($_GET['xml']))
2371 2467
 		{
2372
-			if (isset($data['contents'][$folder]))
2373
-				$data['contents'][$folder] = array_merge($data['contents'][$folder], $additional_data);
2374
-			else
2375
-				$data['contents'][$folder] = $additional_data;
2468
+			if (isset($data['contents'][$folder])) {
2469
+							$data['contents'][$folder] = array_merge($data['contents'][$folder], $additional_data);
2470
+			} else {
2471
+							$data['contents'][$folder] = $additional_data;
2472
+			}
2376 2473
 		}
2377 2474
 	}
2378 2475
 
@@ -2384,11 +2481,13 @@  discard block
 block discarded – undo
2384 2481
 		$counter++;
2385 2482
 
2386 2483
 		// Have we reached our offset?
2387
-		if ($context['file_offset'] > $counter)
2388
-			continue;
2484
+		if ($context['file_offset'] > $counter) {
2485
+					continue;
2486
+		}
2389 2487
 		// Gone too far?
2390
-		if ($counter > ($context['file_offset'] + $context['file_limit']))
2391
-			continue;
2488
+		if ($counter > ($context['file_offset'] + $context['file_limit'])) {
2489
+					continue;
2490
+		}
2392 2491
 
2393 2492
 		$additional_data = array(
2394 2493
 			'perms' => array(
@@ -2414,13 +2513,13 @@  discard block
 block discarded – undo
2414 2513
 				),
2415 2514
 				'value' => $file,
2416 2515
 			);
2417
-		}
2418
-		elseif ($counter != ($context['file_offset'] + $context['file_limit']))
2516
+		} elseif ($counter != ($context['file_offset'] + $context['file_limit']))
2419 2517
 		{
2420
-			if (isset($data['contents'][$file]))
2421
-				$data['contents'][$file] = array_merge($data['contents'][$file], $additional_data);
2422
-			else
2423
-				$data['contents'][$file] = $additional_data;
2518
+			if (isset($data['contents'][$file])) {
2519
+							$data['contents'][$file] = array_merge($data['contents'][$file], $additional_data);
2520
+			} else {
2521
+							$data['contents'][$file] = $additional_data;
2522
+			}
2424 2523
 		}
2425 2524
 	}
2426 2525
 }
@@ -2442,8 +2541,9 @@  discard block
 block discarded – undo
2442 2541
 	$context['back_look_data'] = isset($_POST['back_look']) ? $_POST['back_look'] : array();
2443 2542
 
2444 2543
 	// Skipping use of FTP?
2445
-	if (empty($package_ftp))
2446
-		$context['skip_ftp'] = true;
2544
+	if (empty($package_ftp)) {
2545
+			$context['skip_ftp'] = true;
2546
+	}
2447 2547
 
2448 2548
 	// We'll start off in a good place, security. Make sure that if we're dealing with individual files that they seem in the right place.
2449 2549
 	if ($context['method'] == 'individual')
@@ -2453,8 +2553,9 @@  discard block
 block discarded – undo
2453 2553
 		$context['custom_value'] = (int) $_POST['custom_value'];
2454 2554
 
2455 2555
 		// Continuing?
2456
-		if (isset($_POST['toProcess']))
2457
-			$_POST['permStatus'] = $smcFunc['json_decode'](base64_decode($_POST['toProcess']), true);
2556
+		if (isset($_POST['toProcess'])) {
2557
+					$_POST['permStatus'] = $smcFunc['json_decode'](base64_decode($_POST['toProcess']), true);
2558
+		}
2458 2559
 
2459 2560
 		if (isset($_POST['permStatus']))
2460 2561
 		{
@@ -2463,22 +2564,27 @@  discard block
 block discarded – undo
2463 2564
 			foreach ($_POST['permStatus'] as $path => $status)
2464 2565
 			{
2465 2566
 				// Nothing to see here?
2466
-				if ($status == 'no_change')
2467
-					continue;
2567
+				if ($status == 'no_change') {
2568
+									continue;
2569
+				}
2468 2570
 				$legal = false;
2469
-				foreach ($legal_roots as $root)
2470
-					if (substr($path, 0, strlen($root)) == $root)
2571
+				foreach ($legal_roots as $root) {
2572
+									if (substr($path, 0, strlen($root)) == $root)
2471 2573
 						$legal = true;
2574
+				}
2472 2575
 
2473
-				if (!$legal)
2474
-					continue;
2576
+				if (!$legal) {
2577
+									continue;
2578
+				}
2475 2579
 
2476 2580
 				// Check it exists.
2477
-				if (!file_exists($path))
2478
-					continue;
2581
+				if (!file_exists($path)) {
2582
+									continue;
2583
+				}
2479 2584
 
2480
-				if ($status == 'custom')
2481
-					$validate_custom = true;
2585
+				if ($status == 'custom') {
2586
+									$validate_custom = true;
2587
+				}
2482 2588
 
2483 2589
 				// Now add it.
2484 2590
 				$context['to_process'][$path] = $status;
@@ -2488,17 +2594,20 @@  discard block
 block discarded – undo
2488 2594
 			// Make sure the chmod status is valid?
2489 2595
 			if ($validate_custom)
2490 2596
 			{
2491
-				if (preg_match('~^[4567][4567][4567]$~', $context['custom_value']) == false)
2492
-					fatal_error($txt['chmod_value_invalid']);
2597
+				if (preg_match('~^[4567][4567][4567]$~', $context['custom_value']) == false) {
2598
+									fatal_error($txt['chmod_value_invalid']);
2599
+				}
2493 2600
 			}
2494 2601
 
2495 2602
 			// Nothing to do?
2496
-			if (empty($context['to_process']))
2497
-				redirectexit('action=admin;area=packages;sa=perms' . (!empty($context['back_look_data']) ? ';back_look=' . base64_encode($smcFunc['json_encode']($context['back_look_data'])) : '') . ';' . $context['session_var'] . '=' . $context['session_id']);
2603
+			if (empty($context['to_process'])) {
2604
+							redirectexit('action=admin;area=packages;sa=perms' . (!empty($context['back_look_data']) ? ';back_look=' . base64_encode($smcFunc['json_encode']($context['back_look_data'])) : '') . ';' . $context['session_var'] . '=' . $context['session_id']);
2605
+			}
2498 2606
 		}
2499 2607
 		// Should never get here,
2500
-		else
2501
-			fatal_lang_error('no_access', false);
2608
+		else {
2609
+					fatal_lang_error('no_access', false);
2610
+		}
2502 2611
 
2503 2612
 		// Setup the custom value.
2504 2613
 		$custom_value = octdec('0' . $context['custom_value']);
@@ -2506,18 +2615,18 @@  discard block
 block discarded – undo
2506 2615
 		// Start processing items.
2507 2616
 		foreach ($context['to_process'] as $path => $status)
2508 2617
 		{
2509
-			if (in_array($status, array('execute', 'writable', 'read')))
2510
-				package_chmod($path, $status);
2511
-			elseif ($status == 'custom' && !empty($custom_value))
2618
+			if (in_array($status, array('execute', 'writable', 'read'))) {
2619
+							package_chmod($path, $status);
2620
+			} elseif ($status == 'custom' && !empty($custom_value))
2512 2621
 			{
2513 2622
 				// Use FTP if we have it.
2514 2623
 				if (!empty($package_ftp) && !empty($_SESSION['pack_ftp']))
2515 2624
 				{
2516 2625
 					$ftp_file = strtr($path, array($_SESSION['pack_ftp']['root'] => ''));
2517 2626
 					$package_ftp->chmod($ftp_file, $custom_value);
2627
+				} else {
2628
+									smf_chmod($path, $custom_value);
2518 2629
 				}
2519
-				else
2520
-					smf_chmod($path, $custom_value);
2521 2630
 			}
2522 2631
 
2523 2632
 			// This fish is fried...
@@ -2601,23 +2710,27 @@  discard block
 block discarded – undo
2601 2710
 			{
2602 2711
 				global $context;
2603 2712
 
2604
-				if (!empty($data['writable_on']))
2605
-					if ($context['predefined_type'] == 'standard' || $data['writable_on'] == 'restrictive')
2713
+				if (!empty($data['writable_on'])) {
2714
+									if ($context['predefined_type'] == 'standard' || $data['writable_on'] == 'restrictive')
2606 2715
 						$context['special_files'][$path] = 1;
2716
+				}
2607 2717
 
2608
-				if (!empty($data['contents']))
2609
-					foreach ($data['contents'] as $name => $contents)
2718
+				if (!empty($data['contents'])) {
2719
+									foreach ($data['contents'] as $name => $contents)
2610 2720
 						build_special_files__recursive($path . '/' . $name, $contents);
2721
+				}
2611 2722
 			}
2612 2723
 
2613
-			foreach ($context['file_tree'] as $path => $data)
2614
-				build_special_files__recursive($path, $data);
2724
+			foreach ($context['file_tree'] as $path => $data) {
2725
+							build_special_files__recursive($path, $data);
2726
+			}
2615 2727
 		}
2616 2728
 		// Free doesn't need special files.
2617
-		elseif ($context['predefined_type'] == 'free')
2618
-			$context['special_files'] = array();
2619
-		else
2620
-			$context['special_files'] = $smcFunc['json_decode'](base64_decode($_POST['specialFiles']), true);
2729
+		elseif ($context['predefined_type'] == 'free') {
2730
+					$context['special_files'] = array();
2731
+		} else {
2732
+					$context['special_files'] = $smcFunc['json_decode'](base64_decode($_POST['specialFiles']), true);
2733
+		}
2621 2734
 
2622 2735
 		// Now we definitely know where we are, we need to go through again doing the chmod!
2623 2736
 		foreach ($context['directory_list'] as $path => $dummy)
Please login to merge, or discard this patch.