Completed
Push — release-2.1 ( 65d689...40be7d )
by Jeremy
14s
created
Sources/Register.php 1 patch
Braces   +182 added lines, -132 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
  * Begin the registration process.
@@ -29,19 +30,23 @@  discard block
 block discarded – undo
29 30
 	global $language, $scripturl, $smcFunc, $sourcedir, $cur_profile;
30 31
 
31 32
 	// Is this an incoming AJAX check?
32
-	if (isset($_GET['sa']) && $_GET['sa'] == 'usernamecheck')
33
-		return RegisterCheckUsername();
33
+	if (isset($_GET['sa']) && $_GET['sa'] == 'usernamecheck') {
34
+			return RegisterCheckUsername();
35
+	}
34 36
 
35 37
 	// Check if the administrator has it disabled.
36
-	if (!empty($modSettings['registration_method']) && $modSettings['registration_method'] == '3')
37
-		fatal_lang_error('registration_disabled', false);
38
+	if (!empty($modSettings['registration_method']) && $modSettings['registration_method'] == '3') {
39
+			fatal_lang_error('registration_disabled', false);
40
+	}
38 41
 
39 42
 	// If this user is an admin - redirect them to the admin registration page.
40
-	if (allowedTo('moderate_forum') && !$user_info['is_guest'])
41
-		redirectexit('action=admin;area=regcenter;sa=register');
43
+	if (allowedTo('moderate_forum') && !$user_info['is_guest']) {
44
+			redirectexit('action=admin;area=regcenter;sa=register');
45
+	}
42 46
 	// You are not a guest, so you are a member - and members don't get to register twice!
43
-	elseif (empty($user_info['is_guest']))
44
-		redirectexit();
47
+	elseif (empty($user_info['is_guest'])) {
48
+			redirectexit();
49
+	}
45 50
 
46 51
 	loadLanguage('Login');
47 52
 	loadTemplate('Register');
@@ -82,16 +87,18 @@  discard block
 block discarded – undo
82 87
 		}
83 88
 	}
84 89
 	// Make sure they don't squeeze through without agreeing.
85
-	elseif ($current_step > 1 && $context['require_agreement'] && !$context['registration_passed_agreement'])
86
-		$current_step = 1;
90
+	elseif ($current_step > 1 && $context['require_agreement'] && !$context['registration_passed_agreement']) {
91
+			$current_step = 1;
92
+	}
87 93
 
88 94
 	// Show the user the right form.
89 95
 	$context['sub_template'] = $current_step == 1 ? 'registration_agreement' : 'registration_form';
90 96
 	$context['page_title'] = $current_step == 1 ? $txt['registration_agreement'] : $txt['registration_form'];
91 97
 
92 98
 	// Kinda need this.
93
-	if ($context['sub_template'] == 'registration_form')
94
-		loadJavaScriptFile('register.js', array('defer' => false, 'minimize' => true), 'smf_register');
99
+	if ($context['sub_template'] == 'registration_form') {
100
+			loadJavaScriptFile('register.js', array('defer' => false, 'minimize' => true), 'smf_register');
101
+	}
95 102
 
96 103
 	// Add the register chain to the link tree.
97 104
 	$context['linktree'][] = array(
@@ -100,24 +107,26 @@  discard block
 block discarded – undo
100 107
 	);
101 108
 
102 109
 	// Prepare the time gate! Do it like so, in case later steps want to reset the limit for any reason, but make sure the time is the current one.
103
-	if (!isset($_SESSION['register']))
104
-		$_SESSION['register'] = array(
110
+	if (!isset($_SESSION['register'])) {
111
+			$_SESSION['register'] = array(
105 112
 			'timenow' => time(),
106 113
 			'limit' => 10, // minimum number of seconds required on this page for registration
107 114
 		);
108
-	else
109
-		$_SESSION['register']['timenow'] = time();
115
+	} else {
116
+			$_SESSION['register']['timenow'] = time();
117
+	}
110 118
 
111 119
 	// If you have to agree to the agreement, it needs to be fetched from the file.
112 120
 	if ($context['require_agreement'])
113 121
 	{
114 122
 		// Have we got a localized one?
115
-		if (file_exists($boarddir . '/agreement.' . $user_info['language'] . '.txt'))
116
-			$context['agreement'] = parse_bbc(file_get_contents($boarddir . '/agreement.' . $user_info['language'] . '.txt'), true, 'agreement_' . $user_info['language']);
117
-		elseif (file_exists($boarddir . '/agreement.txt'))
118
-			$context['agreement'] = parse_bbc(file_get_contents($boarddir . '/agreement.txt'), true, 'agreement');
119
-		else
120
-			$context['agreement'] = '';
123
+		if (file_exists($boarddir . '/agreement.' . $user_info['language'] . '.txt')) {
124
+					$context['agreement'] = parse_bbc(file_get_contents($boarddir . '/agreement.' . $user_info['language'] . '.txt'), true, 'agreement_' . $user_info['language']);
125
+		} elseif (file_exists($boarddir . '/agreement.txt')) {
126
+					$context['agreement'] = parse_bbc(file_get_contents($boarddir . '/agreement.txt'), true, 'agreement');
127
+		} else {
128
+					$context['agreement'] = '';
129
+		}
121 130
 
122 131
 		// Nothing to show, lets disable registration and inform the admin of this error
123 132
 		if (empty($context['agreement']))
@@ -133,8 +142,9 @@  discard block
 block discarded – undo
133 142
 		$selectedLanguage = empty($_SESSION['language']) ? $language : $_SESSION['language'];
134 143
 
135 144
 		// Do we have any languages?
136
-		if (empty($context['languages']))
137
-			getLanguages();
145
+		if (empty($context['languages'])) {
146
+					getLanguages();
147
+		}
138 148
 
139 149
 		// Try to find our selected language.
140 150
 		foreach ($context['languages'] as $key => $lang)
@@ -142,8 +152,9 @@  discard block
 block discarded – undo
142 152
 			$context['languages'][$key]['name'] = strtr($lang['name'], array('-utf8' => ''));
143 153
 
144 154
 			// Found it!
145
-			if ($selectedLanguage == $lang['filename'])
146
-				$context['languages'][$key]['selected'] = true;
155
+			if ($selectedLanguage == $lang['filename']) {
156
+							$context['languages'][$key]['selected'] = true;
157
+			}
147 158
 		}
148 159
 	}
149 160
 
@@ -170,16 +181,19 @@  discard block
 block discarded – undo
170 181
 		if (in_array('website', $reg_fields))
171 182
 		{
172 183
 			unset($reg_fields['website']);
173
-			if (isset($_POST['website_title']))
174
-				$cur_profile['website_title'] = $smcFunc['htmlspecialchars']($_POST['website_title']);
175
-			if (isset($_POST['website_url']))
176
-				$cur_profile['website_url'] = $smcFunc['htmlspecialchars']($_POST['website_url']);
184
+			if (isset($_POST['website_title'])) {
185
+							$cur_profile['website_title'] = $smcFunc['htmlspecialchars']($_POST['website_title']);
186
+			}
187
+			if (isset($_POST['website_url'])) {
188
+							$cur_profile['website_url'] = $smcFunc['htmlspecialchars']($_POST['website_url']);
189
+			}
177 190
 		}
178 191
 
179 192
 		// We might have had some submissions on this front - go check.
180
-		foreach ($reg_fields as $field)
181
-			if (isset($_POST[$field]))
193
+		foreach ($reg_fields as $field) {
194
+					if (isset($_POST[$field]))
182 195
 				$cur_profile[$field] = $smcFunc['htmlspecialchars']($_POST[$field]);
196
+		}
183 197
 
184 198
 		// Load all the fields in question.
185 199
 		setupProfileContext($reg_fields);
@@ -196,8 +210,9 @@  discard block
 block discarded – undo
196 210
 		$context['visual_verification_id'] = $verificationOptions['id'];
197 211
 	}
198 212
 	// Otherwise we have nothing to show.
199
-	else
200
-		$context['visual_verification'] = false;
213
+	else {
214
+			$context['visual_verification'] = false;
215
+	}
201 216
 
202 217
 
203 218
 	$context += array(
@@ -208,8 +223,9 @@  discard block
 block discarded – undo
208 223
 
209 224
 	// Were there any errors?
210 225
 	$context['registration_errors'] = array();
211
-	if (!empty($reg_errors))
212
-		$context['registration_errors'] = $reg_errors;
226
+	if (!empty($reg_errors)) {
227
+			$context['registration_errors'] = $reg_errors;
228
+	}
213 229
 
214 230
 	createToken('register');
215 231
 }
@@ -226,27 +242,32 @@  discard block
 block discarded – undo
226 242
 	validateToken('register');
227 243
 
228 244
 	// Check to ensure we're forcing SSL for authentication
229
-	if (!empty($modSettings['force_ssl']) && empty($maintenance) && !httpsOn())
230
-		fatal_lang_error('register_ssl_required');
245
+	if (!empty($modSettings['force_ssl']) && empty($maintenance) && !httpsOn()) {
246
+			fatal_lang_error('register_ssl_required');
247
+	}
231 248
 
232 249
 	// Start collecting together any errors.
233 250
 	$reg_errors = array();
234 251
 
235 252
 	// You can't register if it's disabled.
236
-	if (!empty($modSettings['registration_method']) && $modSettings['registration_method'] == 3)
237
-		fatal_lang_error('registration_disabled', false);
253
+	if (!empty($modSettings['registration_method']) && $modSettings['registration_method'] == 3) {
254
+			fatal_lang_error('registration_disabled', false);
255
+	}
238 256
 
239 257
 	// Well, if you don't agree, you can't register.
240
-	if (!empty($modSettings['requireAgreement']) && empty($_SESSION['registration_agreed']))
241
-		redirectexit();
258
+	if (!empty($modSettings['requireAgreement']) && empty($_SESSION['registration_agreed'])) {
259
+			redirectexit();
260
+	}
242 261
 
243 262
 	// Make sure they came from *somewhere*, have a session.
244
-	if (!isset($_SESSION['old_url']))
245
-		redirectexit('action=signup');
263
+	if (!isset($_SESSION['old_url'])) {
264
+			redirectexit('action=signup');
265
+	}
246 266
 
247 267
 	// If we don't require an agreement, we need a extra check for coppa.
248
-	if (empty($modSettings['requireAgreement']) && !empty($modSettings['coppaAge']))
249
-		$_SESSION['skip_coppa'] = !empty($_POST['accept_agreement']);
268
+	if (empty($modSettings['requireAgreement']) && !empty($modSettings['coppaAge'])) {
269
+			$_SESSION['skip_coppa'] = !empty($_POST['accept_agreement']);
270
+	}
250 271
 	// Are they under age, and under age users are banned?
251 272
 	if (!empty($modSettings['coppaAge']) && empty($modSettings['coppaType']) && empty($_SESSION['skip_coppa']))
252 273
 	{
@@ -255,8 +276,9 @@  discard block
 block discarded – undo
255 276
 	}
256 277
 
257 278
 	// Check the time gate for miscreants. First make sure they came from somewhere that actually set it up.
258
-	if (empty($_SESSION['register']['timenow']) || empty($_SESSION['register']['limit']))
259
-		redirectexit('action=signup');
279
+	if (empty($_SESSION['register']['timenow']) || empty($_SESSION['register']['limit'])) {
280
+			redirectexit('action=signup');
281
+	}
260 282
 	// Failing that, check the time on it.
261 283
 	if (time() - $_SESSION['register']['timenow'] < $_SESSION['register']['limit'])
262 284
 	{
@@ -276,8 +298,9 @@  discard block
 block discarded – undo
276 298
 		if (is_array($context['visual_verification']))
277 299
 		{
278 300
 			loadLanguage('Errors');
279
-			foreach ($context['visual_verification'] as $error)
280
-				$reg_errors[] = $txt['error_' . $error];
301
+			foreach ($context['visual_verification'] as $error) {
302
+							$reg_errors[] = $txt['error_' . $error];
303
+			}
281 304
 		}
282 305
 	}
283 306
 
@@ -286,14 +309,16 @@  discard block
 block discarded – undo
286 309
 		if (!is_array($_POST[$key]))
287 310
 		{
288 311
 			// For UTF-8, replace any kind of space with a normal space, and remove any kind of control character (incl. "\n" and "\r"), then trim.
289
-			if ($context['utf8'])
290
-				$_POST[$key] = $smcFunc['htmltrim'](preg_replace(array('~\p{Z}+~u', '~\p{C}+~u'), array(' ', ''), $_POST[$key]));
312
+			if ($context['utf8']) {
313
+							$_POST[$key] = $smcFunc['htmltrim'](preg_replace(array('~\p{Z}+~u', '~\p{C}+~u'), array(' ', ''), $_POST[$key]));
314
+			}
291 315
 			// Otherwise, just remove "\n" and "\r", then trim.
292
-			else
293
-				$_POST[$key] = $smcFunc['htmltrim'](str_replace(array("\n", "\r"), '', $_POST[$key]));
316
+			else {
317
+							$_POST[$key] = $smcFunc['htmltrim'](str_replace(array("\n", "\r"), '', $_POST[$key]));
318
+			}
319
+		} else {
320
+					$_POST[$key] = htmltrim__recursive($_POST[$key]);
294 321
 		}
295
-		else
296
-			$_POST[$key] = htmltrim__recursive($_POST[$key]);
297 322
 	}
298 323
 
299 324
 	// Collect all extra registration fields someone might have filled in.
@@ -328,13 +353,15 @@  discard block
 block discarded – undo
328 353
 			$possible_strings = array_merge(array('website_url', 'website_title'), $possible_strings);
329 354
 
330 355
 			// Make sure their website URL is squeaky clean
331
-			if (isset($_POST['website_url']))
332
-				$_POST['website_url'] = (string) validate_iri(sanitize_iri($_POST['website_url']));
356
+			if (isset($_POST['website_url'])) {
357
+							$_POST['website_url'] = (string) validate_iri(sanitize_iri($_POST['website_url']));
358
+			}
333 359
 		}
334 360
 	}
335 361
 
336
-	if (isset($_POST['secret_answer']) && $_POST['secret_answer'] != '')
337
-		$_POST['secret_answer'] = md5($_POST['secret_answer']);
362
+	if (isset($_POST['secret_answer']) && $_POST['secret_answer'] != '') {
363
+			$_POST['secret_answer'] = md5($_POST['secret_answer']);
364
+	}
338 365
 
339 366
 	// Needed for isReservedName() and registerMember().
340 367
 	require_once($sourcedir . '/Subs-Members.php');
@@ -343,8 +370,9 @@  discard block
 block discarded – undo
343 370
 	if (isset($_POST['real_name']))
344 371
 	{
345 372
 		// Are you already allowed to edit the displayed name?
346
-		if (allowedTo('profile_displayed_name') || allowedTo('moderate_forum'))
347
-			$canEditDisplayName = true;
373
+		if (allowedTo('profile_displayed_name') || allowedTo('moderate_forum')) {
374
+					$canEditDisplayName = true;
375
+		}
348 376
 
349 377
 		// If you are a guest, will you be allowed to once you register?
350 378
 		else
@@ -363,32 +391,37 @@  discard block
 block discarded – undo
363 391
 		}
364 392
 
365 393
 		// Only set it if you can and if we are sure it is good
366
-		if ($canEditDisplayName && $smcFunc['htmltrim']($_POST['real_name']) != '' && !isReservedName($_POST['real_name']) && $smcFunc['strlen']($_POST['real_name']) < 60)
367
-				$possible_strings[] = 'real_name';
394
+		if ($canEditDisplayName && $smcFunc['htmltrim']($_POST['real_name']) != '' && !isReservedName($_POST['real_name']) && $smcFunc['strlen']($_POST['real_name']) < 60) {
395
+						$possible_strings[] = 'real_name';
396
+		}
368 397
 	}
369 398
 
370 399
 	// Handle a string as a birthdate...
371
-	if (isset($_POST['birthdate']) && $_POST['birthdate'] != '')
372
-		$_POST['birthdate'] = strftime('%Y-%m-%d', strtotime($_POST['birthdate']));
400
+	if (isset($_POST['birthdate']) && $_POST['birthdate'] != '') {
401
+			$_POST['birthdate'] = strftime('%Y-%m-%d', strtotime($_POST['birthdate']));
402
+	}
373 403
 	// Or birthdate parts...
374
-	elseif (!empty($_POST['bday1']) && !empty($_POST['bday2']))
375
-		$_POST['birthdate'] = sprintf('%04d-%02d-%02d', empty($_POST['bday3']) ? 0 : (int) $_POST['bday3'], (int) $_POST['bday1'], (int) $_POST['bday2']);
404
+	elseif (!empty($_POST['bday1']) && !empty($_POST['bday2'])) {
405
+			$_POST['birthdate'] = sprintf('%04d-%02d-%02d', empty($_POST['bday3']) ? 0 : (int) $_POST['bday3'], (int) $_POST['bday1'], (int) $_POST['bday2']);
406
+	}
376 407
 
377 408
 	// Validate the passed language file.
378 409
 	if (isset($_POST['lngfile']) && !empty($modSettings['userLanguage']))
379 410
 	{
380 411
 		// Do we have any languages?
381
-		if (empty($context['languages']))
382
-			getLanguages();
412
+		if (empty($context['languages'])) {
413
+					getLanguages();
414
+		}
383 415
 
384 416
 		// Did we find it?
385
-		if (isset($context['languages'][$_POST['lngfile']]))
386
-			$_SESSION['language'] = $_POST['lngfile'];
387
-		else
417
+		if (isset($context['languages'][$_POST['lngfile']])) {
418
+					$_SESSION['language'] = $_POST['lngfile'];
419
+		} else {
420
+					unset($_POST['lngfile']);
421
+		}
422
+	} else {
388 423
 			unset($_POST['lngfile']);
389 424
 	}
390
-	else
391
-		unset($_POST['lngfile']);
392 425
 
393 426
 	// Set the options needed for registration.
394 427
 	$regOptions = array(
@@ -408,22 +441,27 @@  discard block
 block discarded – undo
408 441
 	);
409 442
 
410 443
 	// Include the additional options that might have been filled in.
411
-	foreach ($possible_strings as $var)
412
-		if (isset($_POST[$var]))
444
+	foreach ($possible_strings as $var) {
445
+			if (isset($_POST[$var]))
413 446
 			$regOptions['extra_register_vars'][$var] = $smcFunc['htmlspecialchars']($_POST[$var], ENT_QUOTES);
414
-	foreach ($possible_ints as $var)
415
-		if (isset($_POST[$var]))
447
+	}
448
+	foreach ($possible_ints as $var) {
449
+			if (isset($_POST[$var]))
416 450
 			$regOptions['extra_register_vars'][$var] = (int) $_POST[$var];
417
-	foreach ($possible_floats as $var)
418
-		if (isset($_POST[$var]))
451
+	}
452
+	foreach ($possible_floats as $var) {
453
+			if (isset($_POST[$var]))
419 454
 			$regOptions['extra_register_vars'][$var] = (float) $_POST[$var];
420
-	foreach ($possible_bools as $var)
421
-		if (isset($_POST[$var]))
455
+	}
456
+	foreach ($possible_bools as $var) {
457
+			if (isset($_POST[$var]))
422 458
 			$regOptions['extra_register_vars'][$var] = empty($_POST[$var]) ? 0 : 1;
459
+	}
423 460
 
424 461
 	// Registration options are always default options...
425
-	if (isset($_POST['default_options']))
426
-		$_POST['options'] = isset($_POST['options']) ? $_POST['options'] + $_POST['default_options'] : $_POST['default_options'];
462
+	if (isset($_POST['default_options'])) {
463
+			$_POST['options'] = isset($_POST['options']) ? $_POST['options'] + $_POST['default_options'] : $_POST['default_options'];
464
+	}
427 465
 	$regOptions['theme_vars'] = isset($_POST['options']) && is_array($_POST['options']) ? $_POST['options'] : array();
428 466
 
429 467
 	// Make sure they are clean, dammit!
@@ -443,12 +481,14 @@  discard block
 block discarded – undo
443 481
 	while ($row = $smcFunc['db_fetch_assoc']($request))
444 482
 	{
445 483
 		// Don't allow overriding of the theme variables.
446
-		if (isset($regOptions['theme_vars'][$row['col_name']]))
447
-			unset($regOptions['theme_vars'][$row['col_name']]);
484
+		if (isset($regOptions['theme_vars'][$row['col_name']])) {
485
+					unset($regOptions['theme_vars'][$row['col_name']]);
486
+		}
448 487
 
449 488
 		// Not actually showing it then?
450
-		if (!$row['show_reg'])
451
-			continue;
489
+		if (!$row['show_reg']) {
490
+					continue;
491
+		}
452 492
 
453 493
 		// Prepare the value!
454 494
 		$value = isset($_POST['customfield'][$row['col_name']]) ? trim($_POST['customfield'][$row['col_name']]) : '';
@@ -457,24 +497,27 @@  discard block
 block discarded – undo
457 497
 		if (!in_array($row['field_type'], array('check', 'select', 'radio')))
458 498
 		{
459 499
 			// Is it too long?
460
-			if ($row['field_length'] && $row['field_length'] < $smcFunc['strlen']($value))
461
-				$custom_field_errors[] = array('custom_field_too_long', array($row['field_name'], $row['field_length']));
500
+			if ($row['field_length'] && $row['field_length'] < $smcFunc['strlen']($value)) {
501
+							$custom_field_errors[] = array('custom_field_too_long', array($row['field_name'], $row['field_length']));
502
+			}
462 503
 
463 504
 			// Any masks to apply?
464 505
 			if ($row['field_type'] == 'text' && !empty($row['mask']) && $row['mask'] != 'none')
465 506
 			{
466
-				if ($row['mask'] == 'email' && (!filter_var($value, FILTER_VALIDATE_EMAIL) || strlen($value) > 255))
467
-					$custom_field_errors[] = array('custom_field_invalid_email', array($row['field_name']));
468
-				elseif ($row['mask'] == 'number' && preg_match('~[^\d]~', $value))
469
-					$custom_field_errors[] = array('custom_field_not_number', array($row['field_name']));
470
-				elseif (substr($row['mask'], 0, 5) == 'regex' && trim($value) != '' && preg_match(substr($row['mask'], 5), $value) === 0)
471
-					$custom_field_errors[] = array('custom_field_inproper_format', array($row['field_name']));
507
+				if ($row['mask'] == 'email' && (!filter_var($value, FILTER_VALIDATE_EMAIL) || strlen($value) > 255)) {
508
+									$custom_field_errors[] = array('custom_field_invalid_email', array($row['field_name']));
509
+				} elseif ($row['mask'] == 'number' && preg_match('~[^\d]~', $value)) {
510
+									$custom_field_errors[] = array('custom_field_not_number', array($row['field_name']));
511
+				} elseif (substr($row['mask'], 0, 5) == 'regex' && trim($value) != '' && preg_match(substr($row['mask'], 5), $value) === 0) {
512
+									$custom_field_errors[] = array('custom_field_inproper_format', array($row['field_name']));
513
+				}
472 514
 			}
473 515
 		}
474 516
 
475 517
 		// Is this required but not there?
476
-		if (trim($value) == '' && $row['show_reg'] > 1)
477
-			$custom_field_errors[] = array('custom_field_empty', array($row['field_name']));
518
+		if (trim($value) == '' && $row['show_reg'] > 1) {
519
+					$custom_field_errors[] = array('custom_field_empty', array($row['field_name']));
520
+		}
478 521
 	}
479 522
 	$smcFunc['db_free_result']($request);
480 523
 
@@ -482,8 +525,9 @@  discard block
 block discarded – undo
482 525
 	if (!empty($custom_field_errors))
483 526
 	{
484 527
 		loadLanguage('Errors');
485
-		foreach ($custom_field_errors as $error)
486
-			$reg_errors[] = vsprintf($txt['error_' . $error[0]], $error[1]);
528
+		foreach ($custom_field_errors as $error) {
529
+					$reg_errors[] = vsprintf($txt['error_' . $error[0]], $error[1]);
530
+		}
487 531
 	}
488 532
 
489 533
 	// Lets check for other errors before trying to register the member.
@@ -528,8 +572,9 @@  discard block
 block discarded – undo
528 572
 	}
529 573
 
530 574
 	// If COPPA has been selected then things get complicated, setup the template.
531
-	if (!empty($modSettings['coppaAge']) && empty($_SESSION['skip_coppa']))
532
-		redirectexit('action=coppa;member=' . $memberID);
575
+	if (!empty($modSettings['coppaAge']) && empty($_SESSION['skip_coppa'])) {
576
+			redirectexit('action=coppa;member=' . $memberID);
577
+	}
533 578
 	// Basic template variable setup.
534 579
 	elseif (!empty($modSettings['registration_method']))
535 580
 	{
@@ -541,8 +586,7 @@  discard block
 block discarded – undo
541 586
 			'sub_template' => 'after',
542 587
 			'description' => $modSettings['registration_method'] == 2 ? $txt['approval_after_registration'] : $txt['activate_after_registration']
543 588
 		);
544
-	}
545
-	else
589
+	} else
546 590
 	{
547 591
 		call_integration_hook('integrate_activate', array($regOptions['username']));
548 592
 
@@ -562,16 +606,18 @@  discard block
 block discarded – undo
562 606
 	global $context, $txt, $modSettings, $scripturl, $sourcedir, $smcFunc, $language, $user_info;
563 607
 
564 608
 	// Logged in users should not bother to activate their accounts
565
-	if (!empty($user_info['id']))
566
-		redirectexit();
609
+	if (!empty($user_info['id'])) {
610
+			redirectexit();
611
+	}
567 612
 
568 613
 	loadLanguage('Login');
569 614
 	loadTemplate('Login');
570 615
 
571 616
 	if (empty($_REQUEST['u']) && empty($_POST['user']))
572 617
 	{
573
-		if (empty($modSettings['registration_method']) || $modSettings['registration_method'] == '3')
574
-			fatal_lang_error('no_access', false);
618
+		if (empty($modSettings['registration_method']) || $modSettings['registration_method'] == '3') {
619
+					fatal_lang_error('no_access', false);
620
+		}
575 621
 
576 622
 		$context['member_id'] = 0;
577 623
 		$context['sub_template'] = 'resend';
@@ -611,11 +657,13 @@  discard block
 block discarded – undo
611 657
 	// Change their email address? (they probably tried a fake one first :P.)
612 658
 	if (isset($_POST['new_email'], $_REQUEST['passwd']) && hash_password($row['member_name'], $_REQUEST['passwd']) == $row['passwd'] && ($row['is_activated'] == 0 || $row['is_activated'] == 2))
613 659
 	{
614
-		if (empty($modSettings['registration_method']) || $modSettings['registration_method'] == 3)
615
-			fatal_lang_error('no_access', false);
660
+		if (empty($modSettings['registration_method']) || $modSettings['registration_method'] == 3) {
661
+					fatal_lang_error('no_access', false);
662
+		}
616 663
 
617
-		if (!filter_var($_POST['new_email'], FILTER_VALIDATE_EMAIL))
618
-			fatal_error(sprintf($txt['valid_email_needed'], $smcFunc['htmlspecialchars']($_POST['new_email'])), false);
664
+		if (!filter_var($_POST['new_email'], FILTER_VALIDATE_EMAIL)) {
665
+					fatal_error(sprintf($txt['valid_email_needed'], $smcFunc['htmlspecialchars']($_POST['new_email'])), false);
666
+		}
619 667
 
620 668
 		// Make sure their email isn't banned.
621 669
 		isBannedEmail($_POST['new_email'], 'cannot_register', $txt['ban_register_prohibited']);
@@ -631,8 +679,9 @@  discard block
 block discarded – undo
631 679
 			)
632 680
 		);
633 681
 
634
-		if ($smcFunc['db_num_rows']($request) != 0)
635
-			fatal_lang_error('email_in_use', false, array($smcFunc['htmlspecialchars']($_POST['new_email'])));
682
+		if ($smcFunc['db_num_rows']($request) != 0) {
683
+					fatal_lang_error('email_in_use', false, array($smcFunc['htmlspecialchars']($_POST['new_email'])));
684
+		}
636 685
 		$smcFunc['db_free_result']($request);
637 686
 
638 687
 		updateMemberData($row['id_member'], array('email_address' => $_POST['new_email']));
@@ -670,9 +719,9 @@  discard block
 block discarded – undo
670 719
 	// Quit if this code is not right.
671 720
 	if (empty($_REQUEST['code']) || $row['validation_code'] != $_REQUEST['code'])
672 721
 	{
673
-		if (!empty($row['is_activated']))
674
-			fatal_lang_error('already_activated', false);
675
-		elseif ($row['validation_code'] == '')
722
+		if (!empty($row['is_activated'])) {
723
+					fatal_lang_error('already_activated', false);
724
+		} elseif ($row['validation_code'] == '')
676 725
 		{
677 726
 			loadLanguage('Profile');
678 727
 			fatal_error(sprintf($txt['registration_not_approved'], $scripturl . '?action=activate;user=' . $row['member_name']), false);
@@ -722,8 +771,9 @@  discard block
 block discarded – undo
722 771
 	loadTemplate('Register');
723 772
 
724 773
 	// No User ID??
725
-	if (!isset($_GET['member']))
726
-		fatal_lang_error('no_access', false);
774
+	if (!isset($_GET['member'])) {
775
+			fatal_lang_error('no_access', false);
776
+	}
727 777
 
728 778
 	// Get the user details...
729 779
 	$request = $smcFunc['db_query']('', '
@@ -736,8 +786,9 @@  discard block
 block discarded – undo
736 786
 			'is_coppa' => 5,
737 787
 		)
738 788
 	);
739
-	if ($smcFunc['db_num_rows']($request) == 0)
740
-		fatal_lang_error('no_access', false);
789
+	if ($smcFunc['db_num_rows']($request) == 0) {
790
+			fatal_lang_error('no_access', false);
791
+	}
741 792
 	list ($username) = $smcFunc['db_fetch_row']($request);
742 793
 	$smcFunc['db_free_result']($request);
743 794
 
@@ -775,8 +826,7 @@  discard block
 block discarded – undo
775 826
 			echo $data;
776 827
 			obExit(false);
777 828
 		}
778
-	}
779
-	else
829
+	} else
780 830
 	{
781 831
 		$context += array(
782 832
 			'page_title' => $txt['coppa_title'],
@@ -829,8 +879,9 @@  discard block
 block discarded – undo
829 879
 	{
830 880
 		require_once($sourcedir . '/Subs-Graphics.php');
831 881
 
832
-		if (in_array('gd', get_loaded_extensions()) && !showCodeImage($code))
833
-			send_http_status(400);
882
+		if (in_array('gd', get_loaded_extensions()) && !showCodeImage($code)) {
883
+					send_http_status(400);
884
+		}
834 885
 
835 886
 		// Otherwise just show a pre-defined letter.
836 887
 		elseif (isset($_REQUEST['letter']))
@@ -848,14 +899,13 @@  discard block
 block discarded – undo
848 899
 			header('content-type: image/gif');
849 900
 			die("\x47\x49\x46\x38\x39\x61\x01\x00\x01\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x21\xF9\x04\x01\x00\x00\x00\x00\x2C\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02\x44\x01\x00\x3B");
850 901
 		}
851
-	}
852
-
853
-	elseif ($_REQUEST['format'] === '.wav')
902
+	} elseif ($_REQUEST['format'] === '.wav')
854 903
 	{
855 904
 		require_once($sourcedir . '/Subs-Sound.php');
856 905
 
857
-		if (!createWaveFile($code))
858
-			send_http_status(400);
906
+		if (!createWaveFile($code)) {
907
+					send_http_status(400);
908
+		}
859 909
 	}
860 910
 
861 911
 	// We all die one day...
Please login to merge, or discard this patch.
Sources/Subs-Sound.php 1 patch
Braces   +32 added lines, -20 removed lines patch added patch discarded remove patch
@@ -15,8 +15,9 @@  discard block
 block discarded – undo
15 15
  * @version 2.1 Beta 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
  * Creates a wave file that spells the letters of $word.
@@ -32,8 +33,9 @@  discard block
 block discarded – undo
32 33
 	global $settings, $user_info;
33 34
 
34 35
 	// Allow max 2 requests per 20 seconds.
35
-	if (($ip = cache_get_data('wave_file/' . $user_info['ip'], 20)) > 2 || ($ip2 = cache_get_data('wave_file/' . $user_info['ip2'], 20)) > 2)
36
-		die(send_http_status(400));
36
+	if (($ip = cache_get_data('wave_file/' . $user_info['ip'], 20)) > 2 || ($ip2 = cache_get_data('wave_file/' . $user_info['ip2'], 20)) > 2) {
37
+			die(send_http_status(400));
38
+	}
37 39
 	cache_put_data('wave_file/' . $user_info['ip'], $ip ? $ip + 1 : 1, 20);
38 40
 	cache_put_data('wave_file/' . $user_info['ip2'], $ip2 ? $ip2 + 1 : 1, 20);
39 41
 
@@ -42,16 +44,19 @@  discard block
 block discarded – undo
42 44
 	mt_srand(end($tmp));
43 45
 
44 46
 	// Try to see if there's a sound font in the user's language.
45
-	if (file_exists($settings['default_theme_dir'] . '/fonts/sound/a.' . $user_info['language'] . '.wav'))
46
-		$sound_language = $user_info['language'];
47
+	if (file_exists($settings['default_theme_dir'] . '/fonts/sound/a.' . $user_info['language'] . '.wav')) {
48
+			$sound_language = $user_info['language'];
49
+	}
47 50
 
48 51
 	// English should be there.
49
-	elseif (file_exists($settings['default_theme_dir'] . '/fonts/sound/a.english.wav'))
50
-		$sound_language = 'english';
52
+	elseif (file_exists($settings['default_theme_dir'] . '/fonts/sound/a.english.wav')) {
53
+			$sound_language = 'english';
54
+	}
51 55
 
52 56
 	// Guess not...
53
-	else
54
-		return false;
57
+	else {
58
+			return false;
59
+	}
55 60
 
56 61
 	// File names are in lower case so lets make sure that we are only using a lower case string
57 62
 	$word = strtolower($word);
@@ -61,20 +66,25 @@  discard block
 block discarded – undo
61 66
 	for ($i = 0; $i < strlen($word); $i++)
62 67
 	{
63 68
 		$sound_letter = implode('', file($settings['default_theme_dir'] . '/fonts/sound/' . $word{$i} . '.' . $sound_language . '.wav'));
64
-		if (strpos($sound_letter, 'data') === false)
65
-			return false;
69
+		if (strpos($sound_letter, 'data') === false) {
70
+					return false;
71
+		}
66 72
 
67 73
 		$sound_letter = substr($sound_letter, strpos($sound_letter, 'data') + 8);
68 74
 		switch ($word{$i} === 's' ? 0 : mt_rand(0, 2))
69 75
 		{
70
-			case 0 : for ($j = 0, $n = strlen($sound_letter); $j < $n; $j++)
71
-					for ($k = 0, $m = round(mt_rand(15, 25) / 10); $k < $m; $k++)
72
-						$sound_word .= $word{$i} === 's' ? $sound_letter{$j} : chr(mt_rand(max(ord($sound_letter{$j}) - 1, 0x00), min(ord($sound_letter{$j}) + 1, 0xFF)));
76
+			case 0 : for ($j = 0, $n = strlen($sound_letter); $j < $n; $j++) {
77
+								for ($k = 0, $m = round(mt_rand(15, 25) / 10);
78
+			}
79
+			$k < $m; $k++) {
80
+											$sound_word .= $word{$i} === 's' ? $sound_letter{$j} : chr(mt_rand(max(ord($sound_letter{$j}) - 1, 0x00), min(ord($sound_letter{$j}) + 1, 0xFF)));
81
+					}
73 82
 			break;
74 83
 
75 84
 			case 1:
76
-				for ($j = 0, $n = strlen($sound_letter) - 1; $j < $n; $j += 2)
77
-					$sound_word .= (mt_rand(0, 3) == 0 ? '' : $sound_letter{$j}) . (mt_rand(0, 3) === 0 ? $sound_letter{$j + 1} : $sound_letter{$j}) . (mt_rand(0, 3) === 0 ? $sound_letter{$j} : $sound_letter{$j + 1}) . $sound_letter{$j + 1} . (mt_rand(0, 3) == 0 ? $sound_letter{$j + 1} : '');
85
+				for ($j = 0, $n = strlen($sound_letter) - 1; $j < $n; $j += 2) {
86
+									$sound_word .= (mt_rand(0, 3) == 0 ? '' : $sound_letter{$j}) . (mt_rand(0, 3) === 0 ? $sound_letter{$j + 1} : $sound_letter{$j}) . (mt_rand(0, 3) === 0 ? $sound_letter{$j} : $sound_letter{$j + 1}) . $sound_letter{$j + 1} . (mt_rand(0, 3) == 0 ? $sound_letter{$j + 1} : '');
87
+				}
78 88
 				$sound_word .= str_repeat($sound_letter{$n}, 2);
79 89
 			break;
80 90
 
@@ -82,10 +92,12 @@  discard block
 block discarded – undo
82 92
 				$shift = 0;
83 93
 				for ($j = 0, $n = strlen($sound_letter); $j < $n; $j++)
84 94
 				{
85
-					if (mt_rand(0, 10) === 0)
86
-						$shift += mt_rand(-3, 3);
87
-					for ($k = 0, $m = round(mt_rand(15, 25) / 10); $k < $m; $k++)
88
-						$sound_word .= chr(min(max(ord($sound_letter{$j}) + $shift, 0x00), 0xFF));
95
+					if (mt_rand(0, 10) === 0) {
96
+											$shift += mt_rand(-3, 3);
97
+					}
98
+					for ($k = 0, $m = round(mt_rand(15, 25) / 10); $k < $m; $k++) {
99
+											$sound_word .= chr(min(max(ord($sound_letter{$j}) + $shift, 0x00), 0xFF));
100
+					}
89 101
 				}
90 102
 			break;
91 103
 		}
Please login to merge, or discard this patch.
Sources/ShowAttachments.php 1 patch
Braces   +59 added lines, -52 removed lines patch added patch discarded remove patch
@@ -13,8 +13,9 @@  discard block
 block discarded – undo
13 13
  * @version 2.1 Beta 4
14 14
  */
15 15
 
16
-if (!defined('SMF'))
16
+if (!defined('SMF')) {
17 17
 	die('No direct access...');
18
+}
18 19
 
19 20
 /**
20 21
  * Downloads an avatar or attachment based on $_GET['attach'], and increments the download count.
@@ -40,11 +41,11 @@  discard block
 block discarded – undo
40 41
 
41 42
 	if (!empty($modSettings['enableCompressedOutput']) && !headers_sent() && ob_get_length() == 0)
42 43
 	{
43
-		if (@ini_get('zlib.output_compression') == '1' || @ini_get('output_handler') == 'ob_gzhandler')
44
-			$modSettings['enableCompressedOutput'] = 0;
45
-
46
-		else
47
-			ob_start('ob_gzhandler');
44
+		if (@ini_get('zlib.output_compression') == '1' || @ini_get('output_handler') == 'ob_gzhandler') {
45
+					$modSettings['enableCompressedOutput'] = 0;
46
+		} else {
47
+					ob_start('ob_gzhandler');
48
+		}
48 49
 	}
49 50
 
50 51
 	if (empty($modSettings['enableCompressedOutput']))
@@ -76,8 +77,9 @@  discard block
 block discarded – undo
76 77
 	}
77 78
 
78 79
 	// Use cache when possible.
79
-	if (($cache = cache_get_data('attachment_lookup_id-' . $attachId)) != null)
80
-		list($file, $thumbFile) = $cache;
80
+	if (($cache = cache_get_data('attachment_lookup_id-' . $attachId)) != null) {
81
+			list($file, $thumbFile) = $cache;
82
+	}
81 83
 
82 84
 	// Get the info from the DB.
83 85
 	if (empty($file) || empty($thumbFile) && !empty($file['id_thumb']))
@@ -85,10 +87,9 @@  discard block
 block discarded – undo
85 87
 		// Do we have a hook wanting to use our attachment system? We use $attachRequest to prevent accidental usage of $request.
86 88
 		$attachRequest = null;
87 89
 		call_integration_hook('integrate_download_request', array(&$attachRequest));
88
-		if (!is_null($attachRequest) && $smcFunc['db_is_resource']($attachRequest))
89
-			$request = $attachRequest;
90
-
91
-		else
90
+		if (!is_null($attachRequest) && $smcFunc['db_is_resource']($attachRequest)) {
91
+					$request = $attachRequest;
92
+		} else
92 93
 		{
93 94
 			// Make sure this attachment is on this board and load its info while we are at it.
94 95
 			$request = $smcFunc['db_query']('', '
@@ -181,13 +182,15 @@  discard block
 block discarded – undo
181 182
 		}
182 183
 
183 184
 		// Cache it.
184
-		if (!empty($file) || !empty($thumbFile))
185
-			cache_put_data('attachment_lookup_id-' . $file['id_attach'], array($file, $thumbFile), mt_rand(850, 900));
185
+		if (!empty($file) || !empty($thumbFile)) {
186
+					cache_put_data('attachment_lookup_id-' . $file['id_attach'], array($file, $thumbFile), mt_rand(850, 900));
187
+		}
186 188
 	}
187 189
 
188 190
 	// Replace the normal file with its thumbnail if it has one!
189
-	if (!empty($showThumb) && !empty($thumbFile))
190
-		$file = $thumbFile;
191
+	if (!empty($showThumb) && !empty($thumbFile)) {
192
+			$file = $thumbFile;
193
+	}
191 194
 
192 195
 	// No point in a nicer message, because this is supposed to be an attachment anyway...
193 196
 	if (!file_exists($file['filePath']))
@@ -237,8 +240,8 @@  discard block
 block discarded – undo
237 240
 	}
238 241
 
239 242
 	// Update the download counter (unless it's a thumbnail or resuming an incomplete download).
240
-	if ($file['attachment_type'] != 3 && empty($showThumb) && $range === 0)
241
-		$smcFunc['db_query']('', '
243
+	if ($file['attachment_type'] != 3 && empty($showThumb) && $range === 0) {
244
+			$smcFunc['db_query']('', '
242 245
 			UPDATE {db_prefix}attachments
243 246
 			SET downloads = downloads + 1
244 247
 			WHERE id_attach = {int:id_attach}',
@@ -246,12 +249,14 @@  discard block
 block discarded – undo
246 249
 				'id_attach' => $attachId,
247 250
 			)
248 251
 		);
252
+	}
249 253
 
250 254
 	// Send the attachment headers.
251 255
 	header('pragma: ');
252 256
 
253
-	if (!isBrowser('gecko'))
254
-		header('content-transfer-encoding: binary');
257
+	if (!isBrowser('gecko')) {
258
+			header('content-transfer-encoding: binary');
259
+	}
255 260
 
256 261
 	header('expires: ' . gmdate('D, d M Y H:i:s', time() + 525600 * 60) . ' GMT');
257 262
 	header('last-modified: ' . gmdate('D, d M Y H:i:s', filemtime($file['filePath'])) . ' GMT');
@@ -260,18 +265,19 @@  discard block
 block discarded – undo
260 265
 	header('etag: ' . $eTag);
261 266
 
262 267
 	// Make sure the mime type warrants an inline display.
263
-	if (isset($_REQUEST['image']) && !empty($file['mime_type']) && strpos($file['mime_type'], 'image/') !== 0)
264
-		unset($_REQUEST['image']);
268
+	if (isset($_REQUEST['image']) && !empty($file['mime_type']) && strpos($file['mime_type'], 'image/') !== 0) {
269
+			unset($_REQUEST['image']);
270
+	}
265 271
 
266 272
 	// Does this have a mime type?
267
-	elseif (!empty($file['mime_type']) && (isset($_REQUEST['image']) || !in_array($file['fileext'], array('jpg', 'gif', 'jpeg', 'x-ms-bmp', 'png', 'psd', 'tiff', 'iff'))))
268
-		header('content-type: ' . strtr($file['mime_type'], array('image/bmp' => 'image/x-ms-bmp')));
269
-
270
-	else
273
+	elseif (!empty($file['mime_type']) && (isset($_REQUEST['image']) || !in_array($file['fileext'], array('jpg', 'gif', 'jpeg', 'x-ms-bmp', 'png', 'psd', 'tiff', 'iff')))) {
274
+			header('content-type: ' . strtr($file['mime_type'], array('image/bmp' => 'image/x-ms-bmp')));
275
+	} else
271 276
 	{
272 277
 		header('content-type: ' . (isBrowser('ie') || isBrowser('opera') ? 'application/octetstream' : 'application/octet-stream'));
273
-		if (isset($_REQUEST['image']))
274
-			unset($_REQUEST['image']);
278
+		if (isset($_REQUEST['image'])) {
279
+					unset($_REQUEST['image']);
280
+		}
275 281
 	}
276 282
 
277 283
 	// Convert the file to UTF-8, cuz most browsers dig that.
@@ -279,24 +285,22 @@  discard block
 block discarded – undo
279 285
 	$disposition = !isset($_REQUEST['image']) ? 'attachment' : 'inline';
280 286
 
281 287
 	// Different browsers like different standards...
282
-	if (isBrowser('firefox'))
283
-		header('content-disposition: ' . $disposition . '; filename*=UTF-8\'\'' . rawurlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)));
284
-
285
-	elseif (isBrowser('opera'))
286
-		header('content-disposition: ' . $disposition . '; filename="' . preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name) . '"');
287
-
288
-	elseif (isBrowser('ie'))
289
-		header('content-disposition: ' . $disposition . '; filename="' . urlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)) . '"');
290
-
291
-	else
292
-		header('content-disposition: ' . $disposition . '; filename="' . $utf8name . '"');
288
+	if (isBrowser('firefox')) {
289
+			header('content-disposition: ' . $disposition . '; filename*=UTF-8\'\'' . rawurlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)));
290
+	} elseif (isBrowser('opera')) {
291
+			header('content-disposition: ' . $disposition . '; filename="' . preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name) . '"');
292
+	} elseif (isBrowser('ie')) {
293
+			header('content-disposition: ' . $disposition . '; filename="' . urlencode(preg_replace_callback('~&#(\d{3,8});~', 'fixchar__callback', $utf8name)) . '"');
294
+	} else {
295
+			header('content-disposition: ' . $disposition . '; filename="' . $utf8name . '"');
296
+	}
293 297
 
294 298
 	// If this has an "image extension" - but isn't actually an image - then ensure it isn't cached cause of silly IE.
295
-	if (!isset($_REQUEST['image']) && in_array($file['fileext'], array('gif', 'jpg', 'bmp', 'png', 'jpeg', 'tiff')))
296
-		header('cache-control: no-cache');
297
-
298
-	else
299
-		header('cache-control: max-age=' . (525600 * 60) . ', private');
299
+	if (!isset($_REQUEST['image']) && in_array($file['fileext'], array('gif', 'jpg', 'bmp', 'png', 'jpeg', 'tiff'))) {
300
+			header('cache-control: no-cache');
301
+	} else {
302
+			header('cache-control: max-age=' . (525600 * 60) . ', private');
303
+	}
300 304
 
301 305
 	// Multipart and resuming support
302 306
 	if (isset($_SERVER['HTTP_RANGE']))
@@ -304,9 +308,9 @@  discard block
 block discarded – undo
304 308
 		send_http_status(206);
305 309
 		header("content-length: $new_length");
306 310
 		header("content-range: bytes $range-$range_end/$size");
311
+	} else {
312
+			header("content-length: " . $size);
307 313
 	}
308
-	else
309
-		header("content-length: " . $size);
310 314
 
311 315
 
312 316
 	// Try to buy some time...
@@ -315,8 +319,9 @@  discard block
 block discarded – undo
315 319
 	// For multipart/resumable downloads, send the requested chunk(s) of the file
316 320
 	if (isset($_SERVER['HTTP_RANGE']))
317 321
 	{
318
-		while (@ob_get_level() > 0)
319
-			@ob_end_clean();
322
+		while (@ob_get_level() > 0) {
323
+					@ob_end_clean();
324
+		}
320 325
 
321 326
 		// 40 kilobytes is a good-ish amount
322 327
 		$chunksize = 40 * 1024;
@@ -340,8 +345,9 @@  discard block
 block discarded – undo
340 345
 	elseif ($size > 4194304)
341 346
 	{
342 347
 		// Forcibly end any output buffering going on.
343
-		while (@ob_get_level() > 0)
344
-			@ob_end_clean();
348
+		while (@ob_get_level() > 0) {
349
+					@ob_end_clean();
350
+		}
345 351
 
346 352
 		$fp = fopen($file['filePath'], 'rb');
347 353
 		while (!feof($fp))
@@ -353,8 +359,9 @@  discard block
 block discarded – undo
353 359
 	}
354 360
 
355 361
 	// On some of the less-bright hosts, readfile() is disabled.  It's just a faster, more byte safe, version of what's in the if.
356
-	elseif (@readfile($file['filePath']) === null)
357
-		echo file_get_contents($file['filePath']);
362
+	elseif (@readfile($file['filePath']) === null) {
363
+			echo file_get_contents($file['filePath']);
364
+	}
358 365
 
359 366
 	die();
360 367
 }
Please login to merge, or discard this patch.
Sources/Search.php 1 patch
Braces   +420 added lines, -311 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
 // This defines two version types for checking the API's are compatible with this version of SMF.
20 21
 $GLOBALS['search_versions'] = array(
@@ -39,8 +40,9 @@  discard block
 block discarded – undo
39 40
 	global $txt, $scripturl, $modSettings, $user_info, $context, $smcFunc, $sourcedir;
40 41
 
41 42
 	// Is the load average too high to allow searching just now?
42
-	if (!empty($context['load_average']) && !empty($modSettings['loadavg_search']) && $context['load_average'] >= $modSettings['loadavg_search'])
43
-		fatal_lang_error('loadavg_search_disabled', false);
43
+	if (!empty($context['load_average']) && !empty($modSettings['loadavg_search']) && $context['load_average'] >= $modSettings['loadavg_search']) {
44
+			fatal_lang_error('loadavg_search_disabled', false);
45
+	}
44 46
 
45 47
 	loadLanguage('Search');
46 48
 	// Don't load this in XML mode.
@@ -88,23 +90,30 @@  discard block
 block discarded – undo
88 90
 			@list ($k, $v) = explode('|\'|', $data);
89 91
 			$context['search_params'][$k] = $v;
90 92
 		}
91
-		if (isset($context['search_params']['brd']))
92
-			$context['search_params']['brd'] = $context['search_params']['brd'] == '' ? array() : explode(',', $context['search_params']['brd']);
93
+		if (isset($context['search_params']['brd'])) {
94
+					$context['search_params']['brd'] = $context['search_params']['brd'] == '' ? array() : explode(',', $context['search_params']['brd']);
95
+		}
93 96
 	}
94 97
 
95
-	if (isset($_REQUEST['search']))
96
-		$context['search_params']['search'] = un_htmlspecialchars($_REQUEST['search']);
98
+	if (isset($_REQUEST['search'])) {
99
+			$context['search_params']['search'] = un_htmlspecialchars($_REQUEST['search']);
100
+	}
97 101
 
98
-	if (isset($context['search_params']['search']))
99
-		$context['search_params']['search'] = $smcFunc['htmlspecialchars']($context['search_params']['search']);
100
-	if (isset($context['search_params']['userspec']))
101
-		$context['search_params']['userspec'] = $smcFunc['htmlspecialchars']($context['search_params']['userspec']);
102
-	if (!empty($context['search_params']['searchtype']))
103
-		$context['search_params']['searchtype'] = 2;
104
-	if (!empty($context['search_params']['minage']))
105
-		$context['search_params']['minage'] = (int) $context['search_params']['minage'];
106
-	if (!empty($context['search_params']['maxage']))
107
-		$context['search_params']['maxage'] = (int) $context['search_params']['maxage'];
102
+	if (isset($context['search_params']['search'])) {
103
+			$context['search_params']['search'] = $smcFunc['htmlspecialchars']($context['search_params']['search']);
104
+	}
105
+	if (isset($context['search_params']['userspec'])) {
106
+			$context['search_params']['userspec'] = $smcFunc['htmlspecialchars']($context['search_params']['userspec']);
107
+	}
108
+	if (!empty($context['search_params']['searchtype'])) {
109
+			$context['search_params']['searchtype'] = 2;
110
+	}
111
+	if (!empty($context['search_params']['minage'])) {
112
+			$context['search_params']['minage'] = (int) $context['search_params']['minage'];
113
+	}
114
+	if (!empty($context['search_params']['maxage'])) {
115
+			$context['search_params']['maxage'] = (int) $context['search_params']['maxage'];
116
+	}
108 117
 
109 118
 	$context['search_params']['show_complete'] = !empty($context['search_params']['show_complete']);
110 119
 	$context['search_params']['subject_only'] = !empty($context['search_params']['subject_only']);
@@ -116,11 +125,13 @@  discard block
 block discarded – undo
116 125
 		$context['search_errors']['messages'] = array();
117 126
 		foreach ($context['search_errors'] as $search_error => $dummy)
118 127
 		{
119
-			if ($search_error === 'messages')
120
-				continue;
128
+			if ($search_error === 'messages') {
129
+							continue;
130
+			}
121 131
 
122
-			if ($search_error == 'string_too_long')
123
-				$txt['error_string_too_long'] = sprintf($txt['error_string_too_long'], $context['search_string_limit']);
132
+			if ($search_error == 'string_too_long') {
133
+							$txt['error_string_too_long'] = sprintf($txt['error_string_too_long'], $context['search_string_limit']);
134
+			}
124 135
 
125 136
 			$context['search_errors']['messages'][] = $txt['error_' . $search_error];
126 137
 		}
@@ -143,12 +154,13 @@  discard block
 block discarded – undo
143 154
 	while ($row = $smcFunc['db_fetch_assoc']($request))
144 155
 	{
145 156
 		// This category hasn't been set up yet..
146
-		if (!isset($context['categories'][$row['id_cat']]))
147
-			$context['categories'][$row['id_cat']] = array(
157
+		if (!isset($context['categories'][$row['id_cat']])) {
158
+					$context['categories'][$row['id_cat']] = array(
148 159
 				'id' => $row['id_cat'],
149 160
 				'name' => $row['cat_name'],
150 161
 				'boards' => array()
151 162
 			);
163
+		}
152 164
 
153 165
 		// Set this board up, and let the template know when it's a child.  (indent them..)
154 166
 		$context['categories'][$row['id_cat']]['boards'][$row['id_board']] = array(
@@ -159,8 +171,9 @@  discard block
 block discarded – undo
159 171
 		);
160 172
 
161 173
 		// If a board wasn't checked that probably should have been ensure the board selection is selected, yo!
162
-		if (!$context['categories'][$row['id_cat']]['boards'][$row['id_board']]['selected'] && (empty($modSettings['recycle_enable']) || $row['id_board'] != $modSettings['recycle_board']))
163
-			$context['boards_check_all'] = false;
174
+		if (!$context['categories'][$row['id_cat']]['boards'][$row['id_board']]['selected'] && (empty($modSettings['recycle_enable']) || $row['id_board'] != $modSettings['recycle_board'])) {
175
+					$context['boards_check_all'] = false;
176
+		}
164 177
 	}
165 178
 	$smcFunc['db_free_result']($request);
166 179
 
@@ -182,18 +195,20 @@  discard block
 block discarded – undo
182 195
 	}
183 196
 
184 197
 	$max_boards = ceil(count($temp_boards) / 2);
185
-	if ($max_boards == 1)
186
-		$max_boards = 2;
198
+	if ($max_boards == 1) {
199
+			$max_boards = 2;
200
+	}
187 201
 
188 202
 	// Now, alternate them so they can be shown left and right ;).
189 203
 	$context['board_columns'] = array();
190 204
 	for ($i = 0; $i < $max_boards; $i++)
191 205
 	{
192 206
 		$context['board_columns'][] = $temp_boards[$i];
193
-		if (isset($temp_boards[$i + $max_boards]))
194
-			$context['board_columns'][] = $temp_boards[$i + $max_boards];
195
-		else
196
-			$context['board_columns'][] = array();
207
+		if (isset($temp_boards[$i + $max_boards])) {
208
+					$context['board_columns'][] = $temp_boards[$i + $max_boards];
209
+		} else {
210
+					$context['board_columns'][] = array();
211
+		}
197 212
 	}
198 213
 
199 214
 	if (!empty($_REQUEST['topic']))
@@ -225,8 +240,9 @@  discard block
 block discarded – undo
225 240
 			)
226 241
 		);
227 242
 
228
-		if ($smcFunc['db_num_rows']($request) == 0)
229
-			fatal_lang_error('topic_gone', false);
243
+		if ($smcFunc['db_num_rows']($request) == 0) {
244
+					fatal_lang_error('topic_gone', false);
245
+		}
230 246
 
231 247
 		list ($context['search_topic']['subject']) = $smcFunc['db_fetch_row']($request);
232 248
 		$smcFunc['db_free_result']($request);
@@ -256,11 +272,13 @@  discard block
 block discarded – undo
256 272
 	global $excludedWords, $participants, $smcFunc;
257 273
 
258 274
 	// if comming from the quick search box, and we want to search on members, well we need to do that ;)
259
-	if (isset($_REQUEST['search_selection']) && $_REQUEST['search_selection'] === 'members')
260
-		redirectexit($scripturl . '?action=mlist;sa=search;fields=name,email;search=' . urlencode($_REQUEST['search']));
275
+	if (isset($_REQUEST['search_selection']) && $_REQUEST['search_selection'] === 'members') {
276
+			redirectexit($scripturl . '?action=mlist;sa=search;fields=name,email;search=' . urlencode($_REQUEST['search']));
277
+	}
261 278
 
262
-	if (!empty($context['load_average']) && !empty($modSettings['loadavg_search']) && $context['load_average'] >= $modSettings['loadavg_search'])
263
-		fatal_lang_error('loadavg_search_disabled', false);
279
+	if (!empty($context['load_average']) && !empty($modSettings['loadavg_search']) && $context['load_average'] >= $modSettings['loadavg_search']) {
280
+			fatal_lang_error('loadavg_search_disabled', false);
281
+	}
264 282
 
265 283
 	// No, no, no... this is a bit hard on the server, so don't you go prefetching it!
266 284
 	if (isset($_SERVER['HTTP_X_MOZ']) && $_SERVER['HTTP_X_MOZ'] == 'prefetch')
@@ -307,8 +325,9 @@  discard block
 block discarded – undo
307 325
 	}
308 326
 
309 327
 	// Zero weight.  Weightless :P.
310
-	if (empty($weight_total))
311
-		fatal_lang_error('search_invalid_weights');
328
+	if (empty($weight_total)) {
329
+			fatal_lang_error('search_invalid_weights');
330
+	}
312 331
 
313 332
 	// These vars don't require an interface, they're just here for tweaking.
314 333
 	$recentPercentage = 0.30;
@@ -326,11 +345,13 @@  discard block
 block discarded – undo
326 345
 	$context['search_string_limit'] = 100;
327 346
 
328 347
 	loadLanguage('Search');
329
-	if (!isset($_REQUEST['xml']))
330
-		loadTemplate('Search');
348
+	if (!isset($_REQUEST['xml'])) {
349
+			loadTemplate('Search');
350
+	}
331 351
 	//If we're doing XML we need to use the results template regardless really.
332
-	else
333
-		$context['sub_template'] = 'results';
352
+	else {
353
+			$context['sub_template'] = 'results';
354
+	}
334 355
 
335 356
 	// Are you allowed?
336 357
 	isAllowedTo('search_posts');
@@ -363,34 +384,39 @@  discard block
 block discarded – undo
363 384
 			$search_params[$k] = $v;
364 385
 		}
365 386
 
366
-		if (isset($search_params['brd']))
367
-			$search_params['brd'] = empty($search_params['brd']) ? array() : explode(',', $search_params['brd']);
387
+		if (isset($search_params['brd'])) {
388
+					$search_params['brd'] = empty($search_params['brd']) ? array() : explode(',', $search_params['brd']);
389
+		}
368 390
 	}
369 391
 
370 392
 	// Store whether simple search was used (needed if the user wants to do another query).
371
-	if (!isset($search_params['advanced']))
372
-		$search_params['advanced'] = empty($_REQUEST['advanced']) ? 0 : 1;
393
+	if (!isset($search_params['advanced'])) {
394
+			$search_params['advanced'] = empty($_REQUEST['advanced']) ? 0 : 1;
395
+	}
373 396
 
374 397
 	// 1 => 'allwords' (default, don't set as param) / 2 => 'anywords'.
375
-	if (!empty($search_params['searchtype']) || (!empty($_REQUEST['searchtype']) && $_REQUEST['searchtype'] == 2))
376
-		$search_params['searchtype'] = 2;
398
+	if (!empty($search_params['searchtype']) || (!empty($_REQUEST['searchtype']) && $_REQUEST['searchtype'] == 2)) {
399
+			$search_params['searchtype'] = 2;
400
+	}
377 401
 
378 402
 	// Minimum age of messages. Default to zero (don't set param in that case).
379
-	if (!empty($search_params['minage']) || (!empty($_REQUEST['minage']) && $_REQUEST['minage'] > 0))
380
-		$search_params['minage'] = !empty($search_params['minage']) ? (int) $search_params['minage'] : (int) $_REQUEST['minage'];
403
+	if (!empty($search_params['minage']) || (!empty($_REQUEST['minage']) && $_REQUEST['minage'] > 0)) {
404
+			$search_params['minage'] = !empty($search_params['minage']) ? (int) $search_params['minage'] : (int) $_REQUEST['minage'];
405
+	}
381 406
 
382 407
 	// Maximum age of messages. Default to infinite (9999 days: param not set).
383
-	if (!empty($search_params['maxage']) || (!empty($_REQUEST['maxage']) && $_REQUEST['maxage'] < 9999))
384
-		$search_params['maxage'] = !empty($search_params['maxage']) ? (int) $search_params['maxage'] : (int) $_REQUEST['maxage'];
408
+	if (!empty($search_params['maxage']) || (!empty($_REQUEST['maxage']) && $_REQUEST['maxage'] < 9999)) {
409
+			$search_params['maxage'] = !empty($search_params['maxage']) ? (int) $search_params['maxage'] : (int) $_REQUEST['maxage'];
410
+	}
385 411
 
386 412
 	// Searching a specific topic?
387 413
 	if (!empty($_REQUEST['topic']) || (!empty($_REQUEST['search_selection']) && $_REQUEST['search_selection'] == 'topic'))
388 414
 	{
389 415
 		$search_params['topic'] = empty($_REQUEST['search_selection']) ? (int) $_REQUEST['topic'] : (isset($_REQUEST['sd_topic']) ? (int) $_REQUEST['sd_topic'] : '');
390 416
 		$search_params['show_complete'] = true;
417
+	} elseif (!empty($search_params['topic'])) {
418
+			$search_params['topic'] = (int) $search_params['topic'];
391 419
 	}
392
-	elseif (!empty($search_params['topic']))
393
-		$search_params['topic'] = (int) $search_params['topic'];
394 420
 
395 421
 	if (!empty($search_params['minage']) || !empty($search_params['maxage']))
396 422
 	{
@@ -408,19 +434,21 @@  discard block
 block discarded – undo
408 434
 			)
409 435
 		);
410 436
 		list ($minMsgID, $maxMsgID) = $smcFunc['db_fetch_row']($request);
411
-		if ($minMsgID < 0 || $maxMsgID < 0)
412
-			$context['search_errors']['no_messages_in_time_frame'] = true;
437
+		if ($minMsgID < 0 || $maxMsgID < 0) {
438
+					$context['search_errors']['no_messages_in_time_frame'] = true;
439
+		}
413 440
 		$smcFunc['db_free_result']($request);
414 441
 	}
415 442
 
416 443
 	// Default the user name to a wildcard matching every user (*).
417
-	if (!empty($search_params['userspec']) || (!empty($_REQUEST['userspec']) && $_REQUEST['userspec'] != '*'))
418
-		$search_params['userspec'] = isset($search_params['userspec']) ? $search_params['userspec'] : $_REQUEST['userspec'];
444
+	if (!empty($search_params['userspec']) || (!empty($_REQUEST['userspec']) && $_REQUEST['userspec'] != '*')) {
445
+			$search_params['userspec'] = isset($search_params['userspec']) ? $search_params['userspec'] : $_REQUEST['userspec'];
446
+	}
419 447
 
420 448
 	// If there's no specific user, then don't mention it in the main query.
421
-	if (empty($search_params['userspec']))
422
-		$userQuery = '';
423
-	else
449
+	if (empty($search_params['userspec'])) {
450
+			$userQuery = '';
451
+	} else
424 452
 	{
425 453
 		$userString = strtr($smcFunc['htmlspecialchars']($search_params['userspec'], ENT_QUOTES), array('&quot;' => '"'));
426 454
 		$userString = strtr($userString, array('%' => '\%', '_' => '\_', '*' => '%', '?' => '_'));
@@ -432,19 +460,21 @@  discard block
 block discarded – undo
432 460
 		{
433 461
 			$possible_users[$k] = trim($possible_users[$k]);
434 462
 
435
-			if (strlen($possible_users[$k]) == 0)
436
-				unset($possible_users[$k]);
463
+			if (strlen($possible_users[$k]) == 0) {
464
+							unset($possible_users[$k]);
465
+			}
437 466
 		}
438 467
 
439 468
 		// Create a list of database-escaped search names.
440 469
 		$realNameMatches = array();
441
-		foreach ($possible_users as $possible_user)
442
-			$realNameMatches[] = $smcFunc['db_quote'](
470
+		foreach ($possible_users as $possible_user) {
471
+					$realNameMatches[] = $smcFunc['db_quote'](
443 472
 				'{string:possible_user}',
444 473
 				array(
445 474
 					'possible_user' => $possible_user
446 475
 				)
447 476
 			);
477
+		}
448 478
 
449 479
 		// Retrieve a list of possible members.
450 480
 		$request = $smcFunc['db_query']('', '
@@ -456,9 +486,9 @@  discard block
 block discarded – undo
456 486
 			)
457 487
 		);
458 488
 		// Simply do nothing if there're too many members matching the criteria.
459
-		if ($smcFunc['db_num_rows']($request) > $maxMembersToSearch)
460
-			$userQuery = '';
461
-		elseif ($smcFunc['db_num_rows']($request) == 0)
489
+		if ($smcFunc['db_num_rows']($request) > $maxMembersToSearch) {
490
+					$userQuery = '';
491
+		} elseif ($smcFunc['db_num_rows']($request) == 0)
462 492
 		{
463 493
 			$userQuery = $smcFunc['db_quote'](
464 494
 				'm.id_member = {int:id_member_guest} AND ({raw:match_possible_guest_names})',
@@ -467,12 +497,12 @@  discard block
 block discarded – undo
467 497
 					'match_possible_guest_names' => 'm.poster_name LIKE ' . implode(' OR m.poster_name LIKE ', $realNameMatches),
468 498
 				)
469 499
 			);
470
-		}
471
-		else
500
+		} else
472 501
 		{
473 502
 			$memberlist = array();
474
-			while ($row = $smcFunc['db_fetch_assoc']($request))
475
-				$memberlist[] = $row['id_member'];
503
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
504
+							$memberlist[] = $row['id_member'];
505
+			}
476 506
 			$userQuery = $smcFunc['db_quote'](
477 507
 				'(m.id_member IN ({array_int:matched_members}) OR (m.id_member = {int:id_member_guest} AND ({raw:match_possible_guest_names})))',
478 508
 				array(
@@ -486,22 +516,25 @@  discard block
 block discarded – undo
486 516
 	}
487 517
 
488 518
 	// If the boards were passed by URL (params=), temporarily put them back in $_REQUEST.
489
-	if (!empty($search_params['brd']) && is_array($search_params['brd']))
490
-		$_REQUEST['brd'] = $search_params['brd'];
519
+	if (!empty($search_params['brd']) && is_array($search_params['brd'])) {
520
+			$_REQUEST['brd'] = $search_params['brd'];
521
+	}
491 522
 
492 523
 	// Ensure that brd is an array.
493 524
 	if ((!empty($_REQUEST['brd']) && !is_array($_REQUEST['brd'])) || (!empty($_REQUEST['search_selection']) && $_REQUEST['search_selection'] == 'board'))
494 525
 	{
495
-		if (!empty($_REQUEST['brd']))
496
-			$_REQUEST['brd'] = strpos($_REQUEST['brd'], ',') !== false ? explode(',', $_REQUEST['brd']) : array($_REQUEST['brd']);
497
-		else
498
-			$_REQUEST['brd'] = isset($_REQUEST['sd_brd']) ? array($_REQUEST['sd_brd']) : array();
526
+		if (!empty($_REQUEST['brd'])) {
527
+					$_REQUEST['brd'] = strpos($_REQUEST['brd'], ',') !== false ? explode(',', $_REQUEST['brd']) : array($_REQUEST['brd']);
528
+		} else {
529
+					$_REQUEST['brd'] = isset($_REQUEST['sd_brd']) ? array($_REQUEST['sd_brd']) : array();
530
+		}
499 531
 	}
500 532
 
501 533
 	// Make sure all boards are integers.
502
-	if (!empty($_REQUEST['brd']))
503
-		foreach ($_REQUEST['brd'] as $id => $brd)
534
+	if (!empty($_REQUEST['brd'])) {
535
+			foreach ($_REQUEST['brd'] as $id => $brd)
504 536
 			$_REQUEST['brd'][$id] = (int) $brd;
537
+	}
505 538
 
506 539
 	// Special case for boards: searching just one topic?
507 540
 	if (!empty($search_params['topic']))
@@ -520,17 +553,18 @@  discard block
 block discarded – undo
520 553
 			)
521 554
 		);
522 555
 
523
-		if ($smcFunc['db_num_rows']($request) == 0)
524
-			fatal_lang_error('topic_gone', false);
556
+		if ($smcFunc['db_num_rows']($request) == 0) {
557
+					fatal_lang_error('topic_gone', false);
558
+		}
525 559
 
526 560
 		$search_params['brd'] = array();
527 561
 		list ($search_params['brd'][0]) = $smcFunc['db_fetch_row']($request);
528 562
 		$smcFunc['db_free_result']($request);
529 563
 	}
530 564
 	// Select all boards you've selected AND are allowed to see.
531
-	elseif ($user_info['is_admin'] && (!empty($search_params['advanced']) || !empty($_REQUEST['brd'])))
532
-		$search_params['brd'] = empty($_REQUEST['brd']) ? array() : $_REQUEST['brd'];
533
-	else
565
+	elseif ($user_info['is_admin'] && (!empty($search_params['advanced']) || !empty($_REQUEST['brd']))) {
566
+			$search_params['brd'] = empty($_REQUEST['brd']) ? array() : $_REQUEST['brd'];
567
+	} else
534 568
 	{
535 569
 		$see_board = empty($search_params['advanced']) ? 'query_wanna_see_board' : 'query_see_board';
536 570
 		$request = $smcFunc['db_query']('', '
@@ -548,19 +582,22 @@  discard block
 block discarded – undo
548 582
 			)
549 583
 		);
550 584
 		$search_params['brd'] = array();
551
-		while ($row = $smcFunc['db_fetch_assoc']($request))
552
-			$search_params['brd'][] = $row['id_board'];
585
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
586
+					$search_params['brd'][] = $row['id_board'];
587
+		}
553 588
 		$smcFunc['db_free_result']($request);
554 589
 
555 590
 		// This error should pro'bly only happen for hackers.
556
-		if (empty($search_params['brd']))
557
-			$context['search_errors']['no_boards_selected'] = true;
591
+		if (empty($search_params['brd'])) {
592
+					$context['search_errors']['no_boards_selected'] = true;
593
+		}
558 594
 	}
559 595
 
560 596
 	if (count($search_params['brd']) != 0)
561 597
 	{
562
-		foreach ($search_params['brd'] as $k => $v)
563
-			$search_params['brd'][$k] = (int) $v;
598
+		foreach ($search_params['brd'] as $k => $v) {
599
+					$search_params['brd'][$k] = (int) $v;
600
+		}
564 601
 
565 602
 		// If we've selected all boards, this parameter can be left empty.
566 603
 		$request = $smcFunc['db_query']('', '
@@ -574,15 +611,16 @@  discard block
 block discarded – undo
574 611
 		list ($num_boards) = $smcFunc['db_fetch_row']($request);
575 612
 		$smcFunc['db_free_result']($request);
576 613
 
577
-		if (count($search_params['brd']) == $num_boards)
614
+		if (count($search_params['brd']) == $num_boards) {
615
+					$boardQuery = '';
616
+		} elseif (count($search_params['brd']) == $num_boards - 1 && !empty($modSettings['recycle_board']) && !in_array($modSettings['recycle_board'], $search_params['brd'])) {
617
+					$boardQuery = '!= ' . $modSettings['recycle_board'];
618
+		} else {
619
+					$boardQuery = 'IN (' . implode(', ', $search_params['brd']) . ')';
620
+		}
621
+	} else {
578 622
 			$boardQuery = '';
579
-		elseif (count($search_params['brd']) == $num_boards - 1 && !empty($modSettings['recycle_board']) && !in_array($modSettings['recycle_board'], $search_params['brd']))
580
-			$boardQuery = '!= ' . $modSettings['recycle_board'];
581
-		else
582
-			$boardQuery = 'IN (' . implode(', ', $search_params['brd']) . ')';
583 623
 	}
584
-	else
585
-		$boardQuery = '';
586 624
 
587 625
 	$search_params['show_complete'] = !empty($search_params['show_complete']) || !empty($_REQUEST['show_complete']);
588 626
 	$search_params['subject_only'] = !empty($search_params['subject_only']) || !empty($_REQUEST['subject_only']);
@@ -596,11 +634,13 @@  discard block
 block discarded – undo
596 634
 		'id_msg',
597 635
 	);
598 636
 	call_integration_hook('integrate_search_sort_columns', array(&$sort_columns));
599
-	if (empty($search_params['sort']) && !empty($_REQUEST['sort']))
600
-		list ($search_params['sort'], $search_params['sort_dir']) = array_pad(explode('|', $_REQUEST['sort']), 2, '');
637
+	if (empty($search_params['sort']) && !empty($_REQUEST['sort'])) {
638
+			list ($search_params['sort'], $search_params['sort_dir']) = array_pad(explode('|', $_REQUEST['sort']), 2, '');
639
+	}
601 640
 	$search_params['sort'] = !empty($search_params['sort']) && in_array($search_params['sort'], $sort_columns) ? $search_params['sort'] : 'relevance';
602
-	if (!empty($search_params['topic']) && $search_params['sort'] === 'num_replies')
603
-		$search_params['sort'] = 'id_msg';
641
+	if (!empty($search_params['topic']) && $search_params['sort'] === 'num_replies') {
642
+			$search_params['sort'] = 'id_msg';
643
+	}
604 644
 
605 645
 	// Sorting direction: descending unless stated otherwise.
606 646
 	$search_params['sort_dir'] = !empty($search_params['sort_dir']) && $search_params['sort_dir'] == 'asc' ? 'asc' : 'desc';
@@ -624,17 +664,19 @@  discard block
 block discarded – undo
624 664
 	// What are we searching for?
625 665
 	if (empty($search_params['search']))
626 666
 	{
627
-		if (isset($_GET['search']))
628
-			$search_params['search'] = un_htmlspecialchars($_GET['search']);
629
-		elseif (isset($_POST['search']))
630
-			$search_params['search'] = $_POST['search'];
631
-		else
632
-			$search_params['search'] = '';
667
+		if (isset($_GET['search'])) {
668
+					$search_params['search'] = un_htmlspecialchars($_GET['search']);
669
+		} elseif (isset($_POST['search'])) {
670
+					$search_params['search'] = $_POST['search'];
671
+		} else {
672
+					$search_params['search'] = '';
673
+		}
633 674
 	}
634 675
 
635 676
 	// Nothing??
636
-	if (!isset($search_params['search']) || $search_params['search'] == '')
637
-		$context['search_errors']['invalid_search_string'] = true;
677
+	if (!isset($search_params['search']) || $search_params['search'] == '') {
678
+			$context['search_errors']['invalid_search_string'] = true;
679
+	}
638 680
 	// Too long?
639 681
 	elseif ($smcFunc['strlen']($search_params['search']) > $context['search_string_limit'])
640 682
 	{
@@ -648,8 +690,9 @@  discard block
 block discarded – undo
648 690
 	$stripped_query = un_htmlspecialchars($smcFunc['strtolower']($stripped_query));
649 691
 
650 692
 	// This (hidden) setting will do fulltext searching in the most basic way.
651
-	if (!empty($modSettings['search_simple_fulltext']))
652
-		$stripped_query = strtr($stripped_query, array('"' => ''));
693
+	if (!empty($modSettings['search_simple_fulltext'])) {
694
+			$stripped_query = strtr($stripped_query, array('"' => ''));
695
+	}
653 696
 
654 697
 	$no_regexp = preg_match('~&#(?:\d{1,7}|x[0-9a-fA-F]{1,6});~', $stripped_query) === 1;
655 698
 
@@ -672,8 +715,9 @@  discard block
 block discarded – undo
672 715
 	{
673 716
 		if ($word === '-')
674 717
 		{
675
-			if (($word = trim($phraseArray[$index], '-_\' ')) !== '' && !in_array($word, $blacklisted_words))
676
-				$excludedWords[] = $word;
718
+			if (($word = trim($phraseArray[$index], '-_\' ')) !== '' && !in_array($word, $blacklisted_words)) {
719
+							$excludedWords[] = $word;
720
+			}
677 721
 			unset($phraseArray[$index]);
678 722
 		}
679 723
 	}
@@ -683,8 +727,9 @@  discard block
 block discarded – undo
683 727
 	{
684 728
 		if (strpos(trim($word), '-') === 0)
685 729
 		{
686
-			if (($word = trim($word, '-_\' ')) !== '' && !in_array($word, $blacklisted_words))
687
-				$excludedWords[] = $word;
730
+			if (($word = trim($word, '-_\' ')) !== '' && !in_array($word, $blacklisted_words)) {
731
+							$excludedWords[] = $word;
732
+			}
688 733
 			unset($wordArray[$index]);
689 734
 		}
690 735
 	}
@@ -697,8 +742,9 @@  discard block
 block discarded – undo
697 742
 	foreach ($searchArray as $index => $value)
698 743
 	{
699 744
 		// Skip anything practically empty.
700
-		if (($searchArray[$index] = trim($value, '-_\' ')) === '')
701
-			unset($searchArray[$index]);
745
+		if (($searchArray[$index] = trim($value, '-_\' ')) === '') {
746
+					unset($searchArray[$index]);
747
+		}
702 748
 		// Skip blacklisted words. Make sure to note we skipped them in case we end up with nothing.
703 749
 		elseif (in_array($searchArray[$index], $blacklisted_words))
704 750
 		{
@@ -716,31 +762,37 @@  discard block
 block discarded – undo
716 762
 
717 763
 	// Create an array of replacements for highlighting.
718 764
 	$context['mark'] = array();
719
-	foreach ($searchArray as $word)
720
-		$context['mark'][$word] = '<strong class="highlight">' . $word . '</strong>';
765
+	foreach ($searchArray as $word) {
766
+			$context['mark'][$word] = '<strong class="highlight">' . $word . '</strong>';
767
+	}
721 768
 
722 769
 	// Initialize two arrays storing the words that have to be searched for.
723 770
 	$orParts = array();
724 771
 	$searchWords = array();
725 772
 
726 773
 	// Make sure at least one word is being searched for.
727
-	if (empty($searchArray))
728
-		$context['search_errors']['invalid_search_string' . (!empty($foundBlackListedWords) ? '_blacklist' : '')] = true;
774
+	if (empty($searchArray)) {
775
+			$context['search_errors']['invalid_search_string' . (!empty($foundBlackListedWords) ? '_blacklist' : '')] = true;
776
+	}
729 777
 	// All words/sentences must match.
730
-	elseif (empty($search_params['searchtype']))
731
-		$orParts[0] = $searchArray;
778
+	elseif (empty($search_params['searchtype'])) {
779
+			$orParts[0] = $searchArray;
780
+	}
732 781
 	// Any word/sentence must match.
733
-	else
734
-		foreach ($searchArray as $index => $value)
782
+	else {
783
+			foreach ($searchArray as $index => $value)
735 784
 			$orParts[$index] = array($value);
785
+	}
736 786
 
737 787
 	// Don't allow duplicate error messages if one string is too short.
738
-	if (isset($context['search_errors']['search_string_small_words'], $context['search_errors']['invalid_search_string']))
739
-		unset($context['search_errors']['invalid_search_string']);
788
+	if (isset($context['search_errors']['search_string_small_words'], $context['search_errors']['invalid_search_string'])) {
789
+			unset($context['search_errors']['invalid_search_string']);
790
+	}
740 791
 	// Make sure the excluded words are in all or-branches.
741
-	foreach ($orParts as $orIndex => $andParts)
742
-		foreach ($excludedWords as $word)
792
+	foreach ($orParts as $orIndex => $andParts) {
793
+			foreach ($excludedWords as $word)
743 794
 			$orParts[$orIndex][] = $word;
795
+	}
744 796
 
745 797
 	// Determine the or-branches and the fulltext search words.
746 798
 	foreach ($orParts as $orIndex => $andParts)
@@ -754,8 +806,9 @@  discard block
 block discarded – undo
754 806
 		);
755 807
 
756 808
 		// Sort the indexed words (large words -> small words -> excluded words).
757
-		if ($searchAPI->supportsMethod('searchSort'))
758
-			usort($orParts[$orIndex], 'searchSort');
809
+		if ($searchAPI->supportsMethod('searchSort')) {
810
+					usort($orParts[$orIndex], 'searchSort');
811
+		}
759 812
 
760 813
 		foreach ($orParts[$orIndex] as $word)
761 814
 		{
@@ -767,15 +820,17 @@  discard block
 block discarded – undo
767 820
 			if (!$is_excluded || count($subjectWords) === 1)
768 821
 			{
769 822
 				$searchWords[$orIndex]['subject_words'] = array_merge($searchWords[$orIndex]['subject_words'], $subjectWords);
770
-				if ($is_excluded)
771
-					$excludedSubjectWords = array_merge($excludedSubjectWords, $subjectWords);
823
+				if ($is_excluded) {
824
+									$excludedSubjectWords = array_merge($excludedSubjectWords, $subjectWords);
825
+				}
826
+			} else {
827
+							$excludedPhrases[] = $word;
772 828
 			}
773
-			else
774
-				$excludedPhrases[] = $word;
775 829
 
776 830
 			// Have we got indexes to prepare?
777
-			if ($searchAPI->supportsMethod('prepareIndexes'))
778
-				$searchAPI->prepareIndexes($word, $searchWords[$orIndex], $excludedIndexWords, $is_excluded);
831
+			if ($searchAPI->supportsMethod('prepareIndexes')) {
832
+							$searchAPI->prepareIndexes($word, $searchWords[$orIndex], $excludedIndexWords, $is_excluded);
833
+			}
779 834
 		}
780 835
 
781 836
 		// Search_force_index requires all AND parts to have at least one fulltext word.
@@ -783,8 +838,7 @@  discard block
 block discarded – undo
783 838
 		{
784 839
 			$context['search_errors']['query_not_specific_enough'] = true;
785 840
 			break;
786
-		}
787
-		elseif ($search_params['subject_only'] && empty($searchWords[$orIndex]['subject_words']) && empty($excludedSubjectWords))
841
+		} elseif ($search_params['subject_only'] && empty($searchWords[$orIndex]['subject_words']) && empty($excludedSubjectWords))
788 842
 		{
789 843
 			$context['search_errors']['query_not_specific_enough'] = true;
790 844
 			break;
@@ -812,8 +866,9 @@  discard block
 block discarded – undo
812 866
 		$found_misspelling = false;
813 867
 		foreach ($searchArray as $word)
814 868
 		{
815
-			if (empty($link))
816
-				continue;
869
+			if (empty($link)) {
870
+							continue;
871
+			}
817 872
 
818 873
 			// Don't check phrases.
819 874
 			if (preg_match('~^\w+$~', $word) === 0)
@@ -828,8 +883,7 @@  discard block
 block discarded – undo
828 883
 				$did_you_mean['search'][] = $word;
829 884
 				$did_you_mean['display'][] = $smcFunc['htmlspecialchars']($word);
830 885
 				continue;
831
-			}
832
-			elseif (spell_check($link, $word))
886
+			} elseif (spell_check($link, $word))
833 887
 			{
834 888
 				$did_you_mean['search'][] = $word;
835 889
 				$did_you_mean['display'][] = $smcFunc['htmlspecialchars']($word);
@@ -840,11 +894,13 @@  discard block
 block discarded – undo
840 894
 			foreach ($suggestions as $i => $s)
841 895
 			{
842 896
 				// Search is case insensitive.
843
-				if ($smcFunc['strtolower']($s) == $smcFunc['strtolower']($word))
844
-					unset($suggestions[$i]);
897
+				if ($smcFunc['strtolower']($s) == $smcFunc['strtolower']($word)) {
898
+									unset($suggestions[$i]);
899
+				}
845 900
 				// Plus, don't suggest something the user thinks is rude!
846
-				elseif ($suggestions[$i] != censorText($s))
847
-					unset($suggestions[$i]);
901
+				elseif ($suggestions[$i] != censorText($s)) {
902
+									unset($suggestions[$i]);
903
+				}
848 904
 			}
849 905
 
850 906
 			// Anything found?  If so, correct it!
@@ -854,8 +910,7 @@  discard block
 block discarded – undo
854 910
 				$did_you_mean['search'][] = $suggestions[0];
855 911
 				$did_you_mean['display'][] = '<em><strong>' . $smcFunc['htmlspecialchars']($suggestions[0]) . '</strong></em>';
856 912
 				$found_misspelling = true;
857
-			}
858
-			else
913
+			} else
859 914
 			{
860 915
 				$did_you_mean['search'][] = $word;
861 916
 				$did_you_mean['display'][] = $smcFunc['htmlspecialchars']($word);
@@ -872,8 +927,7 @@  discard block
 block discarded – undo
872 927
 				{
873 928
 					$temp_excluded['search'][] = '-"' . $word . '"';
874 929
 					$temp_excluded['display'][] = '-&quot;' . $smcFunc['htmlspecialchars']($word) . '&quot;';
875
-				}
876
-				else
930
+				} else
877 931
 				{
878 932
 					$temp_excluded['search'][] = '-' . $word;
879 933
 					$temp_excluded['display'][] = '-' . $smcFunc['htmlspecialchars']($word);
@@ -885,11 +939,13 @@  discard block
 block discarded – undo
885 939
 
886 940
 			$temp_params = $search_params;
887 941
 			$temp_params['search'] = implode(' ', $did_you_mean['search']);
888
-			if (isset($temp_params['brd']))
889
-				$temp_params['brd'] = implode(',', $temp_params['brd']);
942
+			if (isset($temp_params['brd'])) {
943
+							$temp_params['brd'] = implode(',', $temp_params['brd']);
944
+			}
890 945
 			$context['params'] = array();
891
-			foreach ($temp_params as $k => $v)
892
-				$context['did_you_mean_params'][] = $k . '|\'|' . $v;
946
+			foreach ($temp_params as $k => $v) {
947
+							$context['did_you_mean_params'][] = $k . '|\'|' . $v;
948
+			}
893 949
 			$context['did_you_mean_params'] = base64_encode(implode('|"|', $context['did_you_mean_params']));
894 950
 			$context['did_you_mean'] = implode(' ', $did_you_mean['display']);
895 951
 		}
@@ -897,18 +953,20 @@  discard block
 block discarded – undo
897 953
 
898 954
 	// Let the user adjust the search query, should they wish?
899 955
 	$context['search_params'] = $search_params;
900
-	if (isset($context['search_params']['search']))
901
-		$context['search_params']['search'] = $smcFunc['htmlspecialchars']($context['search_params']['search']);
902
-	if (isset($context['search_params']['userspec']))
903
-		$context['search_params']['userspec'] = $smcFunc['htmlspecialchars']($context['search_params']['userspec']);
956
+	if (isset($context['search_params']['search'])) {
957
+			$context['search_params']['search'] = $smcFunc['htmlspecialchars']($context['search_params']['search']);
958
+	}
959
+	if (isset($context['search_params']['userspec'])) {
960
+			$context['search_params']['userspec'] = $smcFunc['htmlspecialchars']($context['search_params']['userspec']);
961
+	}
904 962
 
905 963
 	// Do we have captcha enabled?
906 964
 	if ($user_info['is_guest'] && !empty($modSettings['search_enable_captcha']) && empty($_SESSION['ss_vv_passed']) && (empty($_SESSION['last_ss']) || $_SESSION['last_ss'] != $search_params['search']))
907 965
 	{
908 966
 		// If we come from another search box tone down the error...
909
-		if (!isset($_REQUEST['search_vv']))
910
-			$context['search_errors']['need_verification_code'] = true;
911
-		else
967
+		if (!isset($_REQUEST['search_vv'])) {
968
+					$context['search_errors']['need_verification_code'] = true;
969
+		} else
912 970
 		{
913 971
 			require_once($sourcedir . '/Subs-Editor.php');
914 972
 			$verificationOptions = array(
@@ -918,12 +976,14 @@  discard block
 block discarded – undo
918 976
 
919 977
 			if (is_array($context['require_verification']))
920 978
 			{
921
-				foreach ($context['require_verification'] as $error)
922
-					$context['search_errors'][$error] = true;
979
+				foreach ($context['require_verification'] as $error) {
980
+									$context['search_errors'][$error] = true;
981
+				}
923 982
 			}
924 983
 			// Don't keep asking for it - they've proven themselves worthy.
925
-			else
926
-				$_SESSION['ss_vv_passed'] = true;
984
+			else {
985
+							$_SESSION['ss_vv_passed'] = true;
986
+			}
927 987
 		}
928 988
 	}
929 989
 
@@ -931,19 +991,22 @@  discard block
 block discarded – undo
931 991
 
932 992
 	// All search params have been checked, let's compile them to a single string... made less simple by PHP 4.3.9 and below.
933 993
 	$temp_params = $search_params;
934
-	if (isset($temp_params['brd']))
935
-		$temp_params['brd'] = implode(',', $temp_params['brd']);
994
+	if (isset($temp_params['brd'])) {
995
+			$temp_params['brd'] = implode(',', $temp_params['brd']);
996
+	}
936 997
 	$context['params'] = array();
937
-	foreach ($temp_params as $k => $v)
938
-		$context['params'][] = $k . '|\'|' . $v;
998
+	foreach ($temp_params as $k => $v) {
999
+			$context['params'][] = $k . '|\'|' . $v;
1000
+	}
939 1001
 
940 1002
 	if (!empty($context['params']))
941 1003
 	{
942 1004
 		// Due to old IE's 2083 character limit, we have to compress long search strings
943 1005
 		$params = @gzcompress(implode('|"|', $context['params']));
944 1006
 		// Gzcompress failed, use try non-gz
945
-		if (empty($params))
946
-			$params = implode('|"|', $context['params']);
1007
+		if (empty($params)) {
1008
+					$params = implode('|"|', $context['params']);
1009
+		}
947 1010
 		// Base64 encode, then replace +/= with uri safe ones that can be reverted
948 1011
 		$context['params'] = str_replace(array('+', '/', '='), array('-', '_', '.'), base64_encode($params));
949 1012
 	}
@@ -969,8 +1032,9 @@  discard block
 block discarded – undo
969 1032
 	}
970 1033
 
971 1034
 	// Spam me not, Spam-a-lot?
972
-	if (empty($_SESSION['last_ss']) || $_SESSION['last_ss'] != $search_params['search'])
973
-		spamProtection('search');
1035
+	if (empty($_SESSION['last_ss']) || $_SESSION['last_ss'] != $search_params['search']) {
1036
+			spamProtection('search');
1037
+	}
974 1038
 	// Store the last search string to allow pages of results to be browsed.
975 1039
 	$_SESSION['last_ss'] = $search_params['search'];
976 1040
 
@@ -1007,8 +1071,9 @@  discard block
 block discarded – undo
1007 1071
 				)
1008 1072
 			);
1009 1073
 
1010
-			if ($smcFunc['db_num_rows']($request) === 0)
1011
-				$update_cache = true;	
1074
+			if ($smcFunc['db_num_rows']($request) === 0) {
1075
+							$update_cache = true;
1076
+			}
1012 1077
 		}
1013 1078
 
1014 1079
 		if ($update_cache)
@@ -1047,8 +1112,9 @@  discard block
 block discarded – undo
1047 1112
 						'where' => array(),
1048 1113
 					);
1049 1114
 
1050
-					if ($modSettings['postmod_active'])
1051
-						$subject_query['where'][] = 't.approved = {int:is_approved}';
1115
+					if ($modSettings['postmod_active']) {
1116
+											$subject_query['where'][] = 't.approved = {int:is_approved}';
1117
+					}
1052 1118
 
1053 1119
 					$numTables = 0;
1054 1120
 					$prev_join = 0;
@@ -1060,8 +1126,7 @@  discard block
 block discarded – undo
1060 1126
 						{
1061 1127
 							$subject_query['left_join'][] = '{db_prefix}log_search_subjects AS subj' . $numTables . ' ON (subj' . $numTables . '.word ' . (empty($modSettings['search_match_words']) ? 'LIKE {string:subject_words_' . $numTables . '_wild}' : '= {string:subject_words_' . $numTables . '}') . ' AND subj' . $numTables . '.id_topic = t.id_topic)';
1062 1128
 							$subject_query['where'][] = '(subj' . $numTables . '.word IS NULL)';
1063
-						}
1064
-						else
1129
+						} else
1065 1130
 						{
1066 1131
 							$subject_query['inner_join'][] = '{db_prefix}log_search_subjects AS subj' . $numTables . ' ON (subj' . $numTables . '.id_topic = ' . ($prev_join === 0 ? 't' : 'subj' . $prev_join) . '.id_topic)';
1067 1132
 							$subject_query['where'][] = 'subj' . $numTables . '.word ' . (empty($modSettings['search_match_words']) ? 'LIKE {string:subject_words_' . $numTables . '_wild}' : '= {string:subject_words_' . $numTables . '}');
@@ -1079,14 +1144,18 @@  discard block
 block discarded – undo
1079 1144
 						}
1080 1145
 						$subject_query['where'][] = $userQuery;
1081 1146
 					}
1082
-					if (!empty($search_params['topic']))
1083
-						$subject_query['where'][] = 't.id_topic = ' . $search_params['topic'];
1084
-					if (!empty($minMsgID))
1085
-						$subject_query['where'][] = 't.id_first_msg >= ' . $minMsgID;
1086
-					if (!empty($maxMsgID))
1087
-						$subject_query['where'][] = 't.id_last_msg <= ' . $maxMsgID;
1088
-					if (!empty($boardQuery))
1089
-						$subject_query['where'][] = 't.id_board ' . $boardQuery;
1147
+					if (!empty($search_params['topic'])) {
1148
+											$subject_query['where'][] = 't.id_topic = ' . $search_params['topic'];
1149
+					}
1150
+					if (!empty($minMsgID)) {
1151
+											$subject_query['where'][] = 't.id_first_msg >= ' . $minMsgID;
1152
+					}
1153
+					if (!empty($maxMsgID)) {
1154
+											$subject_query['where'][] = 't.id_last_msg <= ' . $maxMsgID;
1155
+					}
1156
+					if (!empty($boardQuery)) {
1157
+											$subject_query['where'][] = 't.id_board ' . $boardQuery;
1158
+					}
1090 1159
 					if (!empty($excludedPhrases))
1091 1160
 					{
1092 1161
 						if ($subject_query['from'] != '{db_prefix}messages AS m')
@@ -1106,8 +1175,9 @@  discard block
 block discarded – undo
1106 1175
 					foreach ($weight_factors as $type => $value)
1107 1176
 					{
1108 1177
 						$relevance .= $weight[$type];
1109
-						if (!empty($value['results']))
1110
-							$relevance .= ' * ' . $value['results'];
1178
+						if (!empty($value['results'])) {
1179
+													$relevance .= ' * ' . $value['results'];
1180
+						}
1111 1181
 						$relevance .= ' + ';
1112 1182
 					}
1113 1183
 					$relevance = substr($relevance, 0, -3) . ') / ' . $weight_total . ' AS relevance';
@@ -1145,20 +1215,23 @@  discard block
 block discarded – undo
1145 1215
 						while ($row = $smcFunc['db_fetch_row']($ignoreRequest))
1146 1216
 						{
1147 1217
 							// No duplicates!
1148
-							if (isset($inserts[$row[1]]))
1149
-								continue;
1218
+							if (isset($inserts[$row[1]])) {
1219
+															continue;
1220
+							}
1150 1221
 
1151
-							foreach ($row as $key => $value)
1152
-								$inserts[$row[1]][] = (int) $row[$key];
1222
+							foreach ($row as $key => $value) {
1223
+															$inserts[$row[1]][] = (int) $row[$key];
1224
+							}
1153 1225
 						}
1154 1226
 						$smcFunc['db_free_result']($ignoreRequest);
1155 1227
 						$numSubjectResults = count($inserts);
1228
+					} else {
1229
+											$numSubjectResults += $smcFunc['db_affected_rows']();
1156 1230
 					}
1157
-					else
1158
-						$numSubjectResults += $smcFunc['db_affected_rows']();
1159 1231
 
1160
-					if (!empty($modSettings['search_max_results']) && $numSubjectResults >= $modSettings['search_max_results'])
1161
-						break;
1232
+					if (!empty($modSettings['search_max_results']) && $numSubjectResults >= $modSettings['search_max_results']) {
1233
+											break;
1234
+					}
1162 1235
 				}
1163 1236
 
1164 1237
 				// If there's data to be inserted for non-IGNORE databases do it here!
@@ -1173,8 +1246,7 @@  discard block
 block discarded – undo
1173 1246
 				}
1174 1247
 
1175 1248
 				$_SESSION['search_cache']['num_results'] = $numSubjectResults;
1176
-			}
1177
-			else
1249
+			} else
1178 1250
 			{
1179 1251
 				$main_query = array(
1180 1252
 					'select' => array(
@@ -1206,8 +1278,7 @@  discard block
 block discarded – undo
1206 1278
 					$main_query['weights'] = $weight_factors;
1207 1279
 
1208 1280
 					$main_query['group_by'][] = 't.id_topic';
1209
-				}
1210
-				else
1281
+				} else
1211 1282
 				{
1212 1283
 					// This is outrageous!
1213 1284
 					$main_query['select']['id_topic'] = 'm.id_msg AS id_topic';
@@ -1228,8 +1299,9 @@  discard block
 block discarded – undo
1228 1299
 						$main_query['where'][] = 't.id_topic = {int:topic}';
1229 1300
 						$main_query['parameters']['topic'] = $search_params['topic'];
1230 1301
 					}
1231
-					if (!empty($search_params['show_complete']))
1232
-						$main_query['group_by'][] = 'm.id_msg, t.id_first_msg, t.id_last_msg';
1302
+					if (!empty($search_params['show_complete'])) {
1303
+											$main_query['group_by'][] = 'm.id_msg, t.id_first_msg, t.id_last_msg';
1304
+					}
1233 1305
 				}
1234 1306
 
1235 1307
 				// *** Get the subject results.
@@ -1254,14 +1326,15 @@  discard block
 block discarded – undo
1254 1326
 					) !== false;
1255 1327
 
1256 1328
 					// Clean up some previous cache.
1257
-					if (!$createTemporary)
1258
-						$smcFunc['db_search_query']('delete_log_search_topics', '
1329
+					if (!$createTemporary) {
1330
+											$smcFunc['db_search_query']('delete_log_search_topics', '
1259 1331
 							DELETE FROM {db_prefix}log_search_topics
1260 1332
 							WHERE id_search = {int:search_id}',
1261 1333
 							array(
1262 1334
 								'search_id' => $_SESSION['search_cache']['id_search'],
1263 1335
 							)
1264 1336
 						);
1337
+					}
1265 1338
 
1266 1339
 					foreach ($searchWords as $orIndex => $words)
1267 1340
 					{
@@ -1293,8 +1366,7 @@  discard block
 block discarded – undo
1293 1366
 								$subject_query['where'][] = '(subj' . $numTables . '.word IS NULL)';
1294 1367
 								$subject_query['where'][] = 'm.body NOT ' . (empty($modSettings['search_match_words']) || $no_regexp ? ' LIKE ' : ' RLIKE ') . '{string:body_not_' . $count . '}';
1295 1368
 								$subject_query['params']['body_not_' . $count++] = empty($modSettings['search_match_words']) || $no_regexp ? '%' . strtr($subjectWord, array('_' => '\\_', '%' => '\\%')) . '%' : '[[:<:]]' . addcslashes(preg_replace(array('/([\[\]$.+*?|{}()])/'), array('[$1]'), $subjectWord), '\\\'') . '[[:>:]]';
1296
-							}
1297
-							else
1369
+							} else
1298 1370
 							{
1299 1371
 								$subject_query['inner_join'][] = '{db_prefix}log_search_subjects AS subj' . $numTables . ' ON (subj' . $numTables . '.id_topic = ' . ($prev_join === 0 ? 't' : 'subj' . $prev_join) . '.id_topic)';
1300 1372
 								$subject_query['where'][] = 'subj' . $numTables . '.word LIKE {string:subject_like_' . $count . '}';
@@ -1349,8 +1421,9 @@  discard block
 block discarded – undo
1349 1421
 						call_integration_hook('integrate_subject_search_query', array(&$subject_query));
1350 1422
 
1351 1423
 						// Nothing to search for?
1352
-						if (empty($subject_query['where']))
1353
-							continue;
1424
+						if (empty($subject_query['where'])) {
1425
+													continue;
1426
+						}
1354 1427
 
1355 1428
 						$ignoreRequest = $smcFunc['db_search_query']('insert_log_search_topics', ($smcFunc['db_support_ignore'] ? ( '
1356 1429
 							INSERT IGNORE INTO {db_prefix}' . ($createTemporary ? 'tmp_' : '') . 'log_search_topics
@@ -1373,19 +1446,21 @@  discard block
 block discarded – undo
1373 1446
 							{
1374 1447
 								$ind = $createTemporary ? 0 : 1;
1375 1448
 								// No duplicates!
1376
-								if (isset($inserts[$row[$ind]]))
1377
-									continue;
1449
+								if (isset($inserts[$row[$ind]])) {
1450
+																	continue;
1451
+								}
1378 1452
 
1379 1453
 								$inserts[$row[$ind]] = $row;
1380 1454
 							}
1381 1455
 							$smcFunc['db_free_result']($ignoreRequest);
1382 1456
 							$numSubjectResults = count($inserts);
1457
+						} else {
1458
+													$numSubjectResults += $smcFunc['db_affected_rows']();
1383 1459
 						}
1384
-						else
1385
-							$numSubjectResults += $smcFunc['db_affected_rows']();
1386 1460
 
1387
-						if (!empty($modSettings['search_max_results']) && $numSubjectResults >= $modSettings['search_max_results'])
1388
-							break;
1461
+						if (!empty($modSettings['search_max_results']) && $numSubjectResults >= $modSettings['search_max_results']) {
1462
+													break;
1463
+						}
1389 1464
 					}
1390 1465
 
1391 1466
 					// Got some non-MySQL data to plonk in?
@@ -1403,8 +1478,9 @@  discard block
 block discarded – undo
1403 1478
 					{
1404 1479
 						$main_query['weights']['subject']['search'] = 'CASE WHEN MAX(lst.id_topic) IS NULL THEN 0 ELSE 1 END';
1405 1480
 						$main_query['left_join'][] = '{db_prefix}' . ($createTemporary ? 'tmp_' : '') . 'log_search_topics AS lst ON (' . ($createTemporary ? '' : 'lst.id_search = {int:id_search} AND ') . 'lst.id_topic = t.id_topic)';
1406
-						if (!$createTemporary)
1407
-							$main_query['parameters']['id_search'] = $_SESSION['search_cache']['id_search'];
1481
+						if (!$createTemporary) {
1482
+													$main_query['parameters']['id_search'] = $_SESSION['search_cache']['id_search'];
1483
+						}
1408 1484
 					}
1409 1485
 				}
1410 1486
 
@@ -1430,14 +1506,15 @@  discard block
 block discarded – undo
1430 1506
 					) !== false;
1431 1507
 
1432 1508
 					// Clear, all clear!
1433
-					if (!$createTemporary)
1434
-						$smcFunc['db_search_query']('delete_log_search_messages', '
1509
+					if (!$createTemporary) {
1510
+											$smcFunc['db_search_query']('delete_log_search_messages', '
1435 1511
 							DELETE FROM {db_prefix}log_search_messages
1436 1512
 							WHERE id_search = {int:id_search}',
1437 1513
 							array(
1438 1514
 								'id_search' => $_SESSION['search_cache']['id_search'],
1439 1515
 							)
1440 1516
 						);
1517
+					}
1441 1518
 
1442 1519
 					foreach ($searchWords as $orIndex => $words)
1443 1520
 					{
@@ -1471,19 +1548,21 @@  discard block
 block discarded – undo
1471 1548
 								while ($row = $smcFunc['db_fetch_row']($ignoreRequest))
1472 1549
 								{
1473 1550
 									// No duplicates!
1474
-									if (isset($inserts[$row[0]]))
1475
-										continue;
1551
+									if (isset($inserts[$row[0]])) {
1552
+																			continue;
1553
+									}
1476 1554
 
1477 1555
 									$inserts[$row[0]] = $row;
1478 1556
 								}
1479 1557
 								$smcFunc['db_free_result']($ignoreRequest);
1480 1558
 								$indexedResults = count($inserts);
1559
+							} else {
1560
+															$indexedResults += $smcFunc['db_affected_rows']();
1481 1561
 							}
1482
-							else
1483
-								$indexedResults += $smcFunc['db_affected_rows']();
1484 1562
 
1485
-							if (!empty($maxMessageResults) && $indexedResults >= $maxMessageResults)
1486
-								break;
1563
+							if (!empty($maxMessageResults) && $indexedResults >= $maxMessageResults) {
1564
+															break;
1565
+							}
1487 1566
 						}
1488 1567
 					}
1489 1568
 
@@ -1503,8 +1582,7 @@  discard block
 block discarded – undo
1503 1582
 						$context['search_errors']['query_not_specific_enough'] = true;
1504 1583
 						$_REQUEST['params'] = $context['params'];
1505 1584
 						return PlushSearch1();
1506
-					}
1507
-					elseif (!empty($indexedResults))
1585
+					} elseif (!empty($indexedResults))
1508 1586
 					{
1509 1587
 						$main_query['inner_join'][] = '{db_prefix}' . ($createTemporary ? 'tmp_' : '') . 'log_search_messages AS lsm ON (lsm.id_msg = m.id_msg)';
1510 1588
 						if (!$createTemporary)
@@ -1526,15 +1604,18 @@  discard block
 block discarded – undo
1526 1604
 						foreach ($words['all_words'] as $regularWord)
1527 1605
 						{
1528 1606
 							$where[] = 'm.body' . (in_array($regularWord, $excludedWords) ? ' NOT' : '') . (empty($modSettings['search_match_words']) || $no_regexp ? ' LIKE ' : ' RLIKE ') . '{string:all_word_body_' . $count . '}';
1529
-							if (in_array($regularWord, $excludedWords))
1530
-								$where[] = 'm.subject NOT' . (empty($modSettings['search_match_words']) || $no_regexp ? ' LIKE ' : ' RLIKE ') . '{string:all_word_body_' . $count . '}';
1607
+							if (in_array($regularWord, $excludedWords)) {
1608
+															$where[] = 'm.subject NOT' . (empty($modSettings['search_match_words']) || $no_regexp ? ' LIKE ' : ' RLIKE ') . '{string:all_word_body_' . $count . '}';
1609
+							}
1531 1610
 							$main_query['parameters']['all_word_body_' . $count++] = empty($modSettings['search_match_words']) || $no_regexp ? '%' . strtr($regularWord, array('_' => '\\_', '%' => '\\%')) . '%' : '[[:<:]]' . addcslashes(preg_replace(array('/([\[\]$.+*?|{}()])/'), array('[$1]'), $regularWord), '\\\'') . '[[:>:]]';
1532 1611
 						}
1533
-						if (!empty($where))
1534
-							$orWhere[] = count($where) > 1 ? '(' . implode(' AND ', $where) . ')' : $where[0];
1612
+						if (!empty($where)) {
1613
+													$orWhere[] = count($where) > 1 ? '(' . implode(' AND ', $where) . ')' : $where[0];
1614
+						}
1615
+					}
1616
+					if (!empty($orWhere)) {
1617
+											$main_query['where'][] = count($orWhere) > 1 ? '(' . implode(' OR ', $orWhere) . ')' : $orWhere[0];
1535 1618
 					}
1536
-					if (!empty($orWhere))
1537
-						$main_query['where'][] = count($orWhere) > 1 ? '(' . implode(' OR ', $orWhere) . ')' : $orWhere[0];
1538 1619
 
1539 1620
 					if (!empty($userQuery))
1540 1621
 					{
@@ -1572,8 +1653,9 @@  discard block
 block discarded – undo
1572 1653
 					foreach ($main_query['weights'] as $type => $value)
1573 1654
 					{
1574 1655
 						$relevance .= $weight[$type];
1575
-						if (!empty($value['search']))
1576
-							$relevance .= ' * ' . $value['search'];
1656
+						if (!empty($value['search'])) {
1657
+													$relevance .= ' * ' . $value['search'];
1658
+						}
1577 1659
 						$relevance .= ' + ';
1578 1660
 						$new_weight_total += $weight[$type];
1579 1661
 					}
@@ -1604,11 +1686,13 @@  discard block
 block discarded – undo
1604 1686
 						while ($row = $smcFunc['db_fetch_row']($ignoreRequest))
1605 1687
 						{
1606 1688
 							// No duplicates!
1607
-							if (isset($inserts[$row[2]]))
1608
-								continue;
1689
+							if (isset($inserts[$row[2]])) {
1690
+															continue;
1691
+							}
1609 1692
 
1610
-							foreach ($row as $key => $value)
1611
-								$inserts[$row[2]][] = (int) $row[$key];
1693
+							foreach ($row as $key => $value) {
1694
+															$inserts[$row[2]][] = (int) $row[$key];
1695
+							}
1612 1696
 						}
1613 1697
 						$smcFunc['db_free_result']($ignoreRequest);
1614 1698
 
@@ -1616,8 +1700,9 @@  discard block
 block discarded – undo
1616 1700
 						if (!empty($inserts))
1617 1701
 						{
1618 1702
 							$query_columns = array();
1619
-							foreach ($main_query['select'] as $k => $v)
1620
-								$query_columns[$k] = 'int';
1703
+							foreach ($main_query['select'] as $k => $v) {
1704
+															$query_columns[$k] = 'int';
1705
+							}
1621 1706
 
1622 1707
 							$smcFunc['db_insert']('',
1623 1708
 								'{db_prefix}log_search_results',
@@ -1627,21 +1712,23 @@  discard block
 block discarded – undo
1627 1712
 							);
1628 1713
 						}
1629 1714
 						$_SESSION['search_cache']['num_results'] += count($inserts);
1715
+					} else {
1716
+											$_SESSION['search_cache']['num_results'] = $smcFunc['db_affected_rows']();
1630 1717
 					}
1631
-					else
1632
-						$_SESSION['search_cache']['num_results'] = $smcFunc['db_affected_rows']();
1633 1718
 				}
1634 1719
 
1635 1720
 				// Insert subject-only matches.
1636 1721
 				if ($_SESSION['search_cache']['num_results'] < $modSettings['search_max_results'] && $numSubjectResults !== 0)
1637 1722
 				{
1638 1723
 					$relevance = '1000 * (';
1639
-					foreach ($weight_factors as $type => $value)
1640
-						if (isset($value['results']))
1724
+					foreach ($weight_factors as $type => $value) {
1725
+											if (isset($value['results']))
1641 1726
 						{
1642 1727
 							$relevance .= $weight[$type];
1643
-							if (!empty($value['results']))
1644
-								$relevance .= ' * ' . $value['results'];
1728
+					}
1729
+							if (!empty($value['results'])) {
1730
+															$relevance .= ' * ' . $value['results'];
1731
+							}
1645 1732
 							$relevance .= ' + ';
1646 1733
 						}
1647 1734
 					$relevance = substr($relevance, 0, -3) . ') / ' . $weight_total . ' AS relevance';
@@ -1675,8 +1762,9 @@  discard block
 block discarded – undo
1675 1762
 						while ($row = $smcFunc['db_fetch_row']($ignoreRequest))
1676 1763
 						{
1677 1764
 							// No duplicates!
1678
-							if (isset($usedIDs[$row[1]]))
1679
-								continue;
1765
+							if (isset($usedIDs[$row[1]])) {
1766
+															continue;
1767
+							}
1680 1768
 
1681 1769
 							$usedIDs[$row[1]] = true;
1682 1770
 							$inserts[] = $row;
@@ -1694,12 +1782,12 @@  discard block
 block discarded – undo
1694 1782
 							);
1695 1783
 						}
1696 1784
 						$_SESSION['search_cache']['num_results'] += count($inserts);
1785
+					} else {
1786
+											$_SESSION['search_cache']['num_results'] += $smcFunc['db_affected_rows']();
1697 1787
 					}
1698
-					else
1699
-						$_SESSION['search_cache']['num_results'] += $smcFunc['db_affected_rows']();
1788
+				} elseif ($_SESSION['search_cache']['num_results'] == -1) {
1789
+									$_SESSION['search_cache']['num_results'] = 0;
1700 1790
 				}
1701
-				elseif ($_SESSION['search_cache']['num_results'] == -1)
1702
-					$_SESSION['search_cache']['num_results'] = 0;
1703 1791
 			}
1704 1792
 		}
1705 1793
 
@@ -1769,14 +1857,16 @@  discard block
 block discarded – undo
1769 1857
 			)
1770 1858
 		);
1771 1859
 		$posters = array();
1772
-		while ($row = $smcFunc['db_fetch_assoc']($request))
1773
-			$posters[] = $row['id_member'];
1860
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
1861
+					$posters[] = $row['id_member'];
1862
+		}
1774 1863
 		$smcFunc['db_free_result']($request);
1775 1864
 
1776 1865
 		call_integration_hook('integrate_search_message_list', array(&$msg_list, &$posters));
1777 1866
 
1778
-		if (!empty($posters))
1779
-			loadMemberData(array_unique($posters));
1867
+		if (!empty($posters)) {
1868
+					loadMemberData(array_unique($posters));
1869
+		}
1780 1870
 
1781 1871
 		// Get the messages out for the callback - select enough that it can be made to look just like Display.
1782 1872
 		$messages_request = $smcFunc['db_query']('', '
@@ -1809,8 +1899,9 @@  discard block
 block discarded – undo
1809 1899
 		);
1810 1900
 
1811 1901
 		// If there are no results that means the things in the cache got deleted, so pretend we have no topics anymore.
1812
-		if ($smcFunc['db_num_rows']($messages_request) == 0)
1813
-			$context['topics'] = array();
1902
+		if ($smcFunc['db_num_rows']($messages_request) == 0) {
1903
+					$context['topics'] = array();
1904
+		}
1814 1905
 
1815 1906
 		// If we want to know who participated in what then load this now.
1816 1907
 		if (!empty($modSettings['enableParticipation']) && !$user_info['is_guest'])
@@ -1828,8 +1919,9 @@  discard block
 block discarded – undo
1828 1919
 					'limit' => count($participants),
1829 1920
 				)
1830 1921
 			);
1831
-			while ($row = $smcFunc['db_fetch_assoc']($result))
1832
-				$participants[$row['id_topic']] = true;
1922
+			while ($row = $smcFunc['db_fetch_assoc']($result)) {
1923
+							$participants[$row['id_topic']] = true;
1924
+			}
1833 1925
 			$smcFunc['db_free_result']($result);
1834 1926
 		}
1835 1927
 	}
@@ -1838,15 +1930,17 @@  discard block
 block discarded – undo
1838 1930
 	$context['page_index'] = constructPageIndex($scripturl . '?action=search2;params=' . $context['params'], $_REQUEST['start'], $num_results, $modSettings['search_results_per_page'], false);
1839 1931
 
1840 1932
 	// Consider the search complete!
1841
-	if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2)
1842
-		cache_put_data('search_start:' . ($user_info['is_guest'] ? $user_info['ip'] : $user_info['id']), null, 90);
1933
+	if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) {
1934
+			cache_put_data('search_start:' . ($user_info['is_guest'] ? $user_info['ip'] : $user_info['id']), null, 90);
1935
+	}
1843 1936
 
1844 1937
 	$context['key_words'] = &$searchArray;
1845 1938
 
1846 1939
 	// Setup the default topic icons... for checking they exist and the like!
1847 1940
 	$context['icon_sources'] = array();
1848
-	foreach ($context['stable_icons'] as $icon)
1849
-		$context['icon_sources'][$icon] = 'images_url';
1941
+	foreach ($context['stable_icons'] as $icon) {
1942
+			$context['icon_sources'][$icon] = 'images_url';
1943
+	}
1850 1944
 
1851 1945
 	$context['sub_template'] = 'results';
1852 1946
 	$context['page_title'] = $txt['search_results'];
@@ -1877,26 +1971,31 @@  discard block
 block discarded – undo
1877 1971
 	global $boards_can, $participants, $smcFunc;
1878 1972
 	static $recycle_board = null;
1879 1973
 
1880
-	if ($recycle_board === null)
1881
-		$recycle_board = !empty($modSettings['recycle_enable']) && !empty($modSettings['recycle_board']) ? (int) $modSettings['recycle_board'] : 0;
1974
+	if ($recycle_board === null) {
1975
+			$recycle_board = !empty($modSettings['recycle_enable']) && !empty($modSettings['recycle_board']) ? (int) $modSettings['recycle_board'] : 0;
1976
+	}
1882 1977
 
1883 1978
 	// Remember which message this is.  (ie. reply #83)
1884 1979
 	static $counter = null;
1885
-	if ($counter == null || $reset)
1886
-		$counter = $_REQUEST['start'] + 1;
1980
+	if ($counter == null || $reset) {
1981
+			$counter = $_REQUEST['start'] + 1;
1982
+	}
1887 1983
 
1888 1984
 	// If the query returned false, bail.
1889
-	if ($messages_request == false)
1890
-		return false;
1985
+	if ($messages_request == false) {
1986
+			return false;
1987
+	}
1891 1988
 
1892 1989
 	// Start from the beginning...
1893
-	if ($reset)
1894
-		return @$smcFunc['db_data_seek']($messages_request, 0);
1990
+	if ($reset) {
1991
+			return @$smcFunc['db_data_seek']($messages_request, 0);
1992
+	}
1895 1993
 
1896 1994
 	// Attempt to get the next message.
1897 1995
 	$message = $smcFunc['db_fetch_assoc']($messages_request);
1898
-	if (!$message)
1899
-		return false;
1996
+	if (!$message) {
1997
+			return false;
1998
+	}
1900 1999
 
1901 2000
 	// Can't have an empty subject can we?
1902 2001
 	$message['subject'] = $message['subject'] != '' ? $message['subject'] : $txt['no_subject'];
@@ -1935,9 +2034,9 @@  discard block
 block discarded – undo
1935 2034
 
1936 2035
 		if ($smcFunc['strlen']($message['body']) > $charLimit)
1937 2036
 		{
1938
-			if (empty($context['key_words']))
1939
-				$message['body'] = $smcFunc['substr']($message['body'], 0, $charLimit) . '<strong>...</strong>';
1940
-			else
2037
+			if (empty($context['key_words'])) {
2038
+							$message['body'] = $smcFunc['substr']($message['body'], 0, $charLimit) . '<strong>...</strong>';
2039
+			} else
1941 2040
 			{
1942 2041
 				$matchString = '';
1943 2042
 				$force_partial_word = false;
@@ -1946,18 +2045,20 @@  discard block
 block discarded – undo
1946 2045
 					$keyword = un_htmlspecialchars($keyword);
1947 2046
 					$keyword = preg_replace_callback('~(&amp;#(\d{1,7}|x[0-9a-fA-F]{1,6});)~', 'entity_fix__callback', strtr($keyword, array('\\\'' => '\'', '&' => '&amp;')));
1948 2047
 
1949
-					if (preg_match('~[\'\.,/@%&;:(){}\[\]_\-+\\\\]$~', $keyword) != 0 || preg_match('~^[\'\.,/@%&;:(){}\[\]_\-+\\\\]~', $keyword) != 0)
1950
-						$force_partial_word = true;
2048
+					if (preg_match('~[\'\.,/@%&;:(){}\[\]_\-+\\\\]$~', $keyword) != 0 || preg_match('~^[\'\.,/@%&;:(){}\[\]_\-+\\\\]~', $keyword) != 0) {
2049
+											$force_partial_word = true;
2050
+					}
1951 2051
 					$matchString .= strtr(preg_quote($keyword, '/'), array('\*' => '.+?')) . '|';
1952 2052
 				}
1953 2053
 				$matchString = un_htmlspecialchars(substr($matchString, 0, -1));
1954 2054
 
1955 2055
 				$message['body'] = un_htmlspecialchars(strtr($message['body'], array('&nbsp;' => ' ', '<br>' => "\n", '&#91;' => '[', '&#93;' => ']', '&#58;' => ':', '&#64;' => '@')));
1956 2056
 
1957
-				if (empty($modSettings['search_method']) || $force_partial_word)
1958
-					preg_match_all('/([^\s\W]{' . $charLimit . '}[\s\W]|[\s\W].{0,' . $charLimit . '}?|^)(' . $matchString . ')(.{0,' . $charLimit . '}[\s\W]|[^\s\W]{0,' . $charLimit . '})/is' . ($context['utf8'] ? 'u' : ''), $message['body'], $matches);
1959
-				else
1960
-					preg_match_all('/([^\s\W]{' . $charLimit . '}[\s\W]|[\s\W].{0,' . $charLimit . '}?[\s\W]|^)(' . $matchString . ')([\s\W].{0,' . $charLimit . '}[\s\W]|[\s\W][^\s\W]{0,' . $charLimit . '})/is' . ($context['utf8'] ? 'u' : ''), $message['body'], $matches);
2057
+				if (empty($modSettings['search_method']) || $force_partial_word) {
2058
+									preg_match_all('/([^\s\W]{' . $charLimit . '}[\s\W]|[\s\W].{0,' . $charLimit . '}?|^)(' . $matchString . ')(.{0,' . $charLimit . '}[\s\W]|[^\s\W]{0,' . $charLimit . '})/is' . ($context['utf8'] ? 'u' : ''), $message['body'], $matches);
2059
+				} else {
2060
+									preg_match_all('/([^\s\W]{' . $charLimit . '}[\s\W]|[\s\W].{0,' . $charLimit . '}?[\s\W]|^)(' . $matchString . ')([\s\W].{0,' . $charLimit . '}[\s\W]|[\s\W][^\s\W]{0,' . $charLimit . '})/is' . ($context['utf8'] ? 'u' : ''), $message['body'], $matches);
2061
+				}
1961 2062
 
1962 2063
 				$message['body'] = '';
1963 2064
 				foreach ($matches[0] as $index => $match)
@@ -1970,8 +2071,7 @@  discard block
 block discarded – undo
1970 2071
 			// Re-fix the international characters.
1971 2072
 			$message['body'] = preg_replace_callback('~(&amp;#(\d{1,7}|x[0-9a-fA-F]{1,6});)~', 'entity_fix__callback', $message['body']);
1972 2073
 		}
1973
-	}
1974
-	else
2074
+	} else
1975 2075
 	{
1976 2076
 		// Run BBC interpreter on the message.
1977 2077
 		$message['body'] = parse_bbc($message['body'], $message['smileys_enabled'], $message['id_msg']);
@@ -1990,21 +2090,26 @@  discard block
 block discarded – undo
1990 2090
 	// Sadly, we need to check the icon ain't broke.
1991 2091
 	if (!empty($modSettings['messageIconChecks_enable']))
1992 2092
 	{
1993
-		if (!isset($context['icon_sources'][$message['first_icon']]))
1994
-			$context['icon_sources'][$message['first_icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $message['first_icon'] . '.png') ? 'images_url' : 'default_images_url';
1995
-		if (!isset($context['icon_sources'][$message['last_icon']]))
1996
-			$context['icon_sources'][$message['last_icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $message['last_icon'] . '.png') ? 'images_url' : 'default_images_url';
1997
-		if (!isset($context['icon_sources'][$message['icon']]))
1998
-			$context['icon_sources'][$message['icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $message['icon'] . '.png') ? 'images_url' : 'default_images_url';
1999
-	}
2000
-	else
2093
+		if (!isset($context['icon_sources'][$message['first_icon']])) {
2094
+					$context['icon_sources'][$message['first_icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $message['first_icon'] . '.png') ? 'images_url' : 'default_images_url';
2095
+		}
2096
+		if (!isset($context['icon_sources'][$message['last_icon']])) {
2097
+					$context['icon_sources'][$message['last_icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $message['last_icon'] . '.png') ? 'images_url' : 'default_images_url';
2098
+		}
2099
+		if (!isset($context['icon_sources'][$message['icon']])) {
2100
+					$context['icon_sources'][$message['icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $message['icon'] . '.png') ? 'images_url' : 'default_images_url';
2101
+		}
2102
+	} else
2001 2103
 	{
2002
-		if (!isset($context['icon_sources'][$message['first_icon']]))
2003
-			$context['icon_sources'][$message['first_icon']] = 'images_url';
2004
-		if (!isset($context['icon_sources'][$message['last_icon']]))
2005
-			$context['icon_sources'][$message['last_icon']] = 'images_url';
2006
-		if (!isset($context['icon_sources'][$message['icon']]))
2007
-			$context['icon_sources'][$message['icon']] = 'images_url';
2104
+		if (!isset($context['icon_sources'][$message['first_icon']])) {
2105
+					$context['icon_sources'][$message['first_icon']] = 'images_url';
2106
+		}
2107
+		if (!isset($context['icon_sources'][$message['last_icon']])) {
2108
+					$context['icon_sources'][$message['last_icon']] = 'images_url';
2109
+		}
2110
+		if (!isset($context['icon_sources'][$message['icon']])) {
2111
+					$context['icon_sources'][$message['icon']] = 'images_url';
2112
+		}
2008 2113
 	}
2009 2114
 
2010 2115
 	// Do we have quote tag enabled?
@@ -2014,12 +2119,14 @@  discard block
 block discarded – undo
2014 2119
 	$colorClass = 'windowbg';
2015 2120
 
2016 2121
 	// Sticky topics should get a different color, too.
2017
-	if ($message['is_sticky'])
2018
-		$colorClass .= ' sticky';
2122
+	if ($message['is_sticky']) {
2123
+			$colorClass .= ' sticky';
2124
+	}
2019 2125
 
2020 2126
 	// Locked topics get special treatment as well.
2021
-	if ($message['locked'])
2022
-		$colorClass .= ' locked';
2127
+	if ($message['locked']) {
2128
+			$colorClass .= ' locked';
2129
+	}
2023 2130
 
2024 2131
 	$output = array_merge($context['topics'][$message['id_msg']], array(
2025 2132
 		'id' => $message['id_topic'],
@@ -2113,8 +2220,9 @@  discard block
 block discarded – undo
2113 2220
 		$query = strtr($smcFunc['htmlspecialchars']($query), array('\\\'' => '\''));
2114 2221
 
2115 2222
 		// Highlighting empty strings would make a terrible mess...
2116
-		if (strlen($query) == 0)
2117
-			continue;
2223
+		if (strlen($query) == 0) {
2224
+					continue;
2225
+		}
2118 2226
 
2119 2227
 		$body_highlighted = preg_replace_callback('/((<[^>]*)|' . preg_quote(strtr($query, array('\'' => '&#039;')), '/') . ')/i' . ($context['utf8'] ? 'u' : ''), function ($m)
2120 2228
 		{
@@ -2167,8 +2275,9 @@  discard block
 block discarded – undo
2167 2275
 
2168 2276
 	// Load up the search API we are going to use.
2169 2277
 	$modSettings['search_index'] = empty($modSettings['search_index']) ? 'standard' : $modSettings['search_index'];
2170
-	if (!file_exists($sourcedir . '/SearchAPI-' . ucwords($modSettings['search_index']) . '.php'))
2171
-		fatal_lang_error('search_api_missing');
2278
+	if (!file_exists($sourcedir . '/SearchAPI-' . ucwords($modSettings['search_index']) . '.php')) {
2279
+			fatal_lang_error('search_api_missing');
2280
+	}
2172 2281
 	require_once($sourcedir . '/SearchAPI-' . ucwords($modSettings['search_index']) . '.php');
2173 2282
 
2174 2283
 	// Create an instance of the search API and check it is valid for this version of SMF.
Please login to merge, or discard this patch.
Sources/Subs-Package.php 1 patch
Braces   +799 added lines, -624 removed lines patch added patch discarded remove patch
@@ -16,8 +16,9 @@  discard block
 block discarded – undo
16 16
  * @version 2.1 Beta 4
17 17
  */
18 18
 
19
-if (!defined('SMF'))
19
+if (!defined('SMF')) {
20 20
 	die('No direct access...');
21
+}
21 22
 
22 23
 /**
23 24
  * Reads a .tar.gz file, filename, in and extracts file(s) from it.
@@ -67,47 +68,53 @@  discard block
 block discarded – undo
67 68
 	loadLanguage('Packages');
68 69
 
69 70
 	// This function sorta needs gzinflate!
70
-	if (!function_exists('gzinflate'))
71
-		fatal_lang_error('package_no_zlib', 'critical');
71
+	if (!function_exists('gzinflate')) {
72
+			fatal_lang_error('package_no_zlib', 'critical');
73
+	}
72 74
 
73 75
 	if (substr($gzfilename, 0, 7) == 'http://' || substr($gzfilename, 0, 8) == 'https://')
74 76
 	{
75 77
 		$data = fetch_web_data($gzfilename);
76 78
 
77
-		if ($data === false)
78
-			return false;
79
-	}
80
-	else
79
+		if ($data === false) {
80
+					return false;
81
+		}
82
+	} else
81 83
 	{
82 84
 		$data = @file_get_contents($gzfilename);
83 85
 
84
-		if ($data === false)
85
-			return false;
86
+		if ($data === false) {
87
+					return false;
88
+		}
86 89
 	}
87 90
 
88 91
 	umask(0);
89
-	if (!$single_file && $destination !== null && !file_exists($destination))
90
-		mktree($destination, 0777);
92
+	if (!$single_file && $destination !== null && !file_exists($destination)) {
93
+			mktree($destination, 0777);
94
+	}
91 95
 
92 96
 	// No signature?
93
-	if (strlen($data) < 2)
94
-		return false;
97
+	if (strlen($data) < 2) {
98
+			return false;
99
+	}
95 100
 
96 101
 	$id = unpack('H2a/H2b', substr($data, 0, 2));
97 102
 	if (strtolower($id['a'] . $id['b']) != '1f8b')
98 103
 	{
99 104
 		// Okay, this ain't no tar.gz, but maybe it's a zip file.
100
-		if (substr($data, 0, 2) == 'PK')
101
-			return read_zip_file($gzfilename, $destination, $single_file, $overwrite, $files_to_extract);
102
-		else
103
-			return false;
105
+		if (substr($data, 0, 2) == 'PK') {
106
+					return read_zip_file($gzfilename, $destination, $single_file, $overwrite, $files_to_extract);
107
+		} else {
108
+					return false;
109
+		}
104 110
 	}
105 111
 
106 112
 	$flags = unpack('Ct/Cf', substr($data, 2, 2));
107 113
 
108 114
 	// Not deflate!
109
-	if ($flags['t'] != 8)
110
-		return false;
115
+	if ($flags['t'] != 8) {
116
+			return false;
117
+	}
111 118
 	$flags = $flags['f'];
112 119
 
113 120
 	$offset = 10;
@@ -117,18 +124,21 @@  discard block
 block discarded – undo
117 124
 	// @todo Might be mussed.
118 125
 	if ($flags & 12)
119 126
 	{
120
-		while ($flags & 8 && $data{$offset++} != "\0")
121
-			continue;
122
-		while ($flags & 4 && $data{$offset++} != "\0")
123
-			continue;
127
+		while ($flags & 8 && $data{$offset++} != "\0") {
128
+					continue;
129
+		}
130
+		while ($flags & 4 && $data{$offset++} != "\0") {
131
+					continue;
132
+		}
124 133
 	}
125 134
 
126 135
 	$crc = unpack('Vcrc32/Visize', substr($data, strlen($data) - 8, 8));
127 136
 	$data = @gzinflate(substr($data, $offset, strlen($data) - 8 - $offset));
128 137
 
129 138
 	// smf_crc32 and crc32 may not return the same results, so we accept either.
130
-	if ($crc['crc32'] != smf_crc32($data) && $crc['crc32'] != crc32($data))
131
-		return false;
139
+	if ($crc['crc32'] != smf_crc32($data) && $crc['crc32'] != crc32($data)) {
140
+			return false;
141
+	}
132 142
 
133 143
 	$blocks = strlen($data) / 512 - 1;
134 144
 	$offset = 0;
@@ -149,83 +159,98 @@  discard block
 block discarded – undo
149 159
 
150 160
 		foreach ($current as $k => $v)
151 161
 		{
152
-			if (in_array($k, $octdec))
153
-				$current[$k] = octdec(trim($v));
154
-			else
155
-				$current[$k] = trim($v);
162
+			if (in_array($k, $octdec)) {
163
+							$current[$k] = octdec(trim($v));
164
+			} else {
165
+							$current[$k] = trim($v);
166
+			}
156 167
 		}
157 168
 
158
-		if ($current['type'] == 5 && substr($current['filename'], -1) != '/')
159
-			$current['filename'] .= '/';
169
+		if ($current['type'] == 5 && substr($current['filename'], -1) != '/') {
170
+					$current['filename'] .= '/';
171
+		}
160 172
 
161 173
 		$checksum = 256;
162
-		for ($i = 0; $i < 148; $i++)
163
-			$checksum += ord($header{$i});
164
-		for ($i = 156; $i < 512; $i++)
165
-			$checksum += ord($header{$i});
174
+		for ($i = 0; $i < 148; $i++) {
175
+					$checksum += ord($header{$i});
176
+		}
177
+		for ($i = 156; $i < 512; $i++) {
178
+					$checksum += ord($header{$i});
179
+		}
166 180
 
167
-		if ($current['checksum'] != $checksum)
168
-			break;
181
+		if ($current['checksum'] != $checksum) {
182
+					break;
183
+		}
169 184
 
170 185
 		$size = ceil($current['size'] / 512);
171 186
 		$current['data'] = substr($data, ++$offset << 9, $current['size']);
172 187
 		$offset += $size;
173 188
 
174 189
 		// Not a directory and doesn't exist already...
175
-		if (substr($current['filename'], -1, 1) != '/' && !file_exists($destination . '/' . $current['filename']))
176
-			$write_this = true;
190
+		if (substr($current['filename'], -1, 1) != '/' && !file_exists($destination . '/' . $current['filename'])) {
191
+					$write_this = true;
192
+		}
177 193
 		// File exists... check if it is newer.
178
-		elseif (substr($current['filename'], -1, 1) != '/')
179
-			$write_this = $overwrite || filemtime($destination . '/' . $current['filename']) < $current['mtime'];
194
+		elseif (substr($current['filename'], -1, 1) != '/') {
195
+					$write_this = $overwrite || filemtime($destination . '/' . $current['filename']) < $current['mtime'];
196
+		}
180 197
 		// Folder... create.
181 198
 		elseif ($destination !== null && !$single_file)
182 199
 		{
183 200
 			// Protect from accidental parent directory writing...
184 201
 			$current['filename'] = strtr($current['filename'], array('../' => '', '/..' => ''));
185 202
 
186
-			if (!file_exists($destination . '/' . $current['filename']))
187
-				mktree($destination . '/' . $current['filename'], 0777);
203
+			if (!file_exists($destination . '/' . $current['filename'])) {
204
+							mktree($destination . '/' . $current['filename'], 0777);
205
+			}
188 206
 			$write_this = false;
207
+		} else {
208
+					$write_this = false;
189 209
 		}
190
-		else
191
-			$write_this = false;
192 210
 
193 211
 		if ($write_this && $destination !== null)
194 212
 		{
195
-			if (strpos($current['filename'], '/') !== false && !$single_file)
196
-				mktree($destination . '/' . dirname($current['filename']), 0777);
213
+			if (strpos($current['filename'], '/') !== false && !$single_file) {
214
+							mktree($destination . '/' . dirname($current['filename']), 0777);
215
+			}
197 216
 
198 217
 			// Is this the file we're looking for?
199
-			if ($single_file && ($destination == $current['filename'] || $destination == '*/' . basename($current['filename'])))
200
-				return $current['data'];
218
+			if ($single_file && ($destination == $current['filename'] || $destination == '*/' . basename($current['filename']))) {
219
+							return $current['data'];
220
+			}
201 221
 			// If we're looking for another file, keep going.
202
-			elseif ($single_file)
203
-				continue;
222
+			elseif ($single_file) {
223
+							continue;
224
+			}
204 225
 			// Looking for restricted files?
205
-			elseif ($files_to_extract !== null && !in_array($current['filename'], $files_to_extract))
206
-				continue;
226
+			elseif ($files_to_extract !== null && !in_array($current['filename'], $files_to_extract)) {
227
+							continue;
228
+			}
207 229
 
208 230
 			package_put_contents($destination . '/' . $current['filename'], $current['data']);
209 231
 		}
210 232
 
211
-		if (substr($current['filename'], -1, 1) != '/')
212
-			$return[] = array(
233
+		if (substr($current['filename'], -1, 1) != '/') {
234
+					$return[] = array(
213 235
 				'filename' => $current['filename'],
214 236
 				'md5' => md5($current['data']),
215 237
 				'preview' => substr($current['data'], 0, 100),
216 238
 				'size' => $current['size'],
217 239
 				'skipped' => false
218 240
 			);
241
+		}
219 242
 	}
220 243
 
221
-	if ($destination !== null && !$single_file)
222
-		package_flush_cache();
244
+	if ($destination !== null && !$single_file) {
245
+			package_flush_cache();
246
+	}
223 247
 
224
-	if ($single_file)
225
-		return false;
226
-	else
227
-		return $return;
228
-}
248
+	if ($single_file) {
249
+			return false;
250
+	} else {
251
+			return $return;
252
+	}
253
+	}
229 254
 
230 255
 /**
231 256
  * Extract zip data. A functional copy of {@list read_zip_data()}.
@@ -247,9 +272,10 @@  discard block
 block discarded – undo
247 272
 		$return = array();
248 273
 
249 274
 		// Some hosted unix platforms require an extension; win may have .tmp & that works ok
250
-		if (!in_array(strtolower(pathinfo($file, PATHINFO_EXTENSION)), array('zip', 'tmp')))
251
-			if (@rename($file, $file . '.zip'))
275
+		if (!in_array(strtolower(pathinfo($file, PATHINFO_EXTENSION)), array('zip', 'tmp'))) {
276
+					if (@rename($file, $file . '.zip'))
252 277
 				$file = $file . '.zip';
278
+		}
253 279
 
254 280
 		// Phar doesn't handle open_basedir restrictions very well and throws a PHP Warning. Ignore that.
255 281
 		set_error_handler(function($errno, $errstr, $errfile, $errline)
@@ -258,8 +284,9 @@  discard block
 block discarded – undo
258 284
 				if (0 === error_reporting()) {
259 285
 					return false;
260 286
 				}
261
-				if (strpos($errstr, 'PharData::__construct(): open_basedir') === false)
262
-					log_error($errstr, 'general', $errfile, $errline);
287
+				if (strpos($errstr, 'PharData::__construct(): open_basedir') === false) {
288
+									log_error($errstr, 'general', $errfile, $errline);
289
+				}
263 290
 			}
264 291
 		);
265 292
 		$archive = new PharData($file, RecursiveIteratorIterator::SELF_FIRST, null, Phar::ZIP);
@@ -272,65 +299,74 @@  discard block
 block discarded – undo
272 299
 			{
273 300
 				$i = $iterator->getSubPathname();
274 301
 				// If this is a file, and it doesn't exist.... happy days!
275
-				if (substr($i, -1) != '/' && !file_exists($destination . '/' . $i))
276
-					$write_this = true;
302
+				if (substr($i, -1) != '/' && !file_exists($destination . '/' . $i)) {
303
+									$write_this = true;
304
+				}
277 305
 				// If the file exists, we may not want to overwrite it.
278
-				elseif (substr($i, -1) != '/')
279
-					$write_this = $overwrite;
280
-				else
281
-					$write_this = false;
306
+				elseif (substr($i, -1) != '/') {
307
+									$write_this = $overwrite;
308
+				} else {
309
+									$write_this = false;
310
+				}
282 311
 
283 312
 				// Get the actual compressed data.
284
-				if (!$file_info->isDir())
285
-					$file_data = file_get_contents($file_info);
286
-				elseif ($destination !== null && !$single_file)
313
+				if (!$file_info->isDir()) {
314
+									$file_data = file_get_contents($file_info);
315
+				} elseif ($destination !== null && !$single_file)
287 316
 				{
288 317
 					// Folder... create.
289
-					if (!file_exists($destination . '/' . $i))
290
-						mktree($destination . '/' . $i, 0777);
318
+					if (!file_exists($destination . '/' . $i)) {
319
+											mktree($destination . '/' . $i, 0777);
320
+					}
291 321
 					$file_data = null;
322
+				} else {
323
+									$file_data = null;
292 324
 				}
293
-				else
294
-					$file_data = null;
295 325
 
296 326
 				// Okay!  We can write this file, looks good from here...
297 327
 				if ($write_this && $destination !== null)
298 328
 				{
299
-					if (!$single_file && !is_dir($destination . '/' . dirname($i)))
300
-						mktree($destination . '/' . dirname($i), 0777);
329
+					if (!$single_file && !is_dir($destination . '/' . dirname($i))) {
330
+											mktree($destination . '/' . dirname($i), 0777);
331
+					}
301 332
 
302 333
 					// If we're looking for a specific file, and this is it... ka-bam, baby.
303
-					if ($single_file && ($destination == $i || $destination == '*/' . basename($i)))
304
-						return $file_data;
334
+					if ($single_file && ($destination == $i || $destination == '*/' . basename($i))) {
335
+											return $file_data;
336
+					}
305 337
 					// Oh?  Another file.  Fine.  You don't like this file, do you?  I know how it is.  Yeah... just go away.  No, don't apologize.  I know this file's just not *good enough* for you.
306
-					elseif ($single_file)
307
-						continue;
338
+					elseif ($single_file) {
339
+											continue;
340
+					}
308 341
 					// Don't really want this?
309
-					elseif ($files_to_extract !== null && !in_array($i, $files_to_extract))
310
-						continue;
342
+					elseif ($files_to_extract !== null && !in_array($i, $files_to_extract)) {
343
+											continue;
344
+					}
311 345
 
312 346
 					package_put_contents($destination . '/' . $i, $file_data);
313 347
 				}
314 348
 
315
-				if (substr($i, -1, 1) != '/')
316
-					$return[] = array(
349
+				if (substr($i, -1, 1) != '/') {
350
+									$return[] = array(
317 351
 						'filename' => $i,
318 352
 						'md5' => md5($file_data),
319 353
 						'preview' => substr($file_data, 0, 100),
320 354
 						'size' => strlen($file_data),
321 355
 						'skipped' => false
322 356
 					);
357
+				}
323 358
 			}
324 359
 
325
-		if ($destination !== null && !$single_file)
326
-			package_flush_cache();
360
+		if ($destination !== null && !$single_file) {
361
+					package_flush_cache();
362
+		}
327 363
 
328
-		if ($single_file)
329
-			return false;
330
-		else
331
-			return $return;
332
-	}
333
-	catch (Exception $e)
364
+		if ($single_file) {
365
+					return false;
366
+		} else {
367
+					return $return;
368
+		}
369
+	} catch (Exception $e)
334 370
 	{
335 371
 		log_error($e->getMessage(), 'general', $e->getFile(), $e->getLine());
336 372
 		return false;
@@ -353,13 +389,15 @@  discard block
 block discarded – undo
353 389
 function read_zip_data($data, $destination, $single_file = false, $overwrite = false, $files_to_extract = null)
354 390
 {
355 391
 	umask(0);
356
-	if ($destination !== null && !file_exists($destination) && !$single_file)
357
-		mktree($destination, 0777);
392
+	if ($destination !== null && !file_exists($destination) && !$single_file) {
393
+			mktree($destination, 0777);
394
+	}
358 395
 
359 396
 	// Look for the end of directory signature 0x06054b50
360 397
 	$data_ecr = explode("\x50\x4b\x05\x06", $data);
361
-	if (!isset($data_ecr[1]))
362
-		return false;
398
+	if (!isset($data_ecr[1])) {
399
+			return false;
400
+	}
363 401
 
364 402
 	$return = array();
365 403
 
@@ -374,8 +412,9 @@  discard block
 block discarded – undo
374 412
 	array_shift($file_sections);
375 413
 
376 414
 	// sections and count from the signature must match or the zip file is bad
377
-	if (count($file_sections) != $zip_info['files'])
378
-		return false;
415
+	if (count($file_sections) != $zip_info['files']) {
416
+			return false;
417
+	}
379 418
 
380 419
 	// go though each file in the archive
381 420
 	foreach ($file_sections as $data)
@@ -397,68 +436,79 @@  discard block
 block discarded – undo
397 436
 		}
398 437
 
399 438
 		// If this is a file, and it doesn't exist.... happy days!
400
-		if (substr($file_info['filename'], -1) != '/' && !file_exists($destination . '/' . $file_info['filename']))
401
-			$write_this = true;
439
+		if (substr($file_info['filename'], -1) != '/' && !file_exists($destination . '/' . $file_info['filename'])) {
440
+					$write_this = true;
441
+		}
402 442
 		// If the file exists, we may not want to overwrite it.
403
-		elseif (substr($file_info['filename'], -1) != '/')
404
-			$write_this = $overwrite;
443
+		elseif (substr($file_info['filename'], -1) != '/') {
444
+					$write_this = $overwrite;
445
+		}
405 446
 		// This is a directory, so we're gonna want to create it. (probably...)
406 447
 		elseif ($destination !== null && !$single_file)
407 448
 		{
408 449
 			// Just a little accident prevention, don't mind me.
409 450
 			$file_info['filename'] = strtr($file_info['filename'], array('../' => '', '/..' => ''));
410 451
 
411
-			if (!file_exists($destination . '/' . $file_info['filename']))
412
-				mktree($destination . '/' . $file_info['filename'], 0777);
452
+			if (!file_exists($destination . '/' . $file_info['filename'])) {
453
+							mktree($destination . '/' . $file_info['filename'], 0777);
454
+			}
413 455
 			$write_this = false;
456
+		} else {
457
+					$write_this = false;
414 458
 		}
415
-		else
416
-			$write_this = false;
417 459
 
418 460
 		// Get the actual compressed data.
419 461
 		$file_info['data'] = substr($data, 26 + $file_info['filename_length'] + $file_info['extrafield_length']);
420 462
 
421 463
 		// Only inflate it if we need to ;)
422
-		if (!empty($file_info['compress_method']) || ($file_info['compressed_size'] != $file_info['size']))
423
-			$file_info['data'] = gzinflate($file_info['data']);
464
+		if (!empty($file_info['compress_method']) || ($file_info['compressed_size'] != $file_info['size'])) {
465
+					$file_info['data'] = gzinflate($file_info['data']);
466
+		}
424 467
 
425 468
 		// Okay!  We can write this file, looks good from here...
426 469
 		if ($write_this && $destination !== null)
427 470
 		{
428
-			if ((strpos($file_info['filename'], '/') !== false && !$single_file) || (!$single_file && !is_dir($file_info['dir'])))
429
-				mktree($file_info['dir'], 0777);
471
+			if ((strpos($file_info['filename'], '/') !== false && !$single_file) || (!$single_file && !is_dir($file_info['dir']))) {
472
+							mktree($file_info['dir'], 0777);
473
+			}
430 474
 
431 475
 			// If we're looking for a specific file, and this is it... ka-bam, baby.
432
-			if ($single_file && ($destination == $file_info['filename'] || $destination == '*/' . basename($file_info['filename'])))
433
-				return $file_info['data'];
476
+			if ($single_file && ($destination == $file_info['filename'] || $destination == '*/' . basename($file_info['filename']))) {
477
+							return $file_info['data'];
478
+			}
434 479
 			// Oh?  Another file.  Fine.  You don't like this file, do you?  I know how it is.  Yeah... just go away.  No, don't apologize.  I know this file's just not *good enough* for you.
435
-			elseif ($single_file)
436
-				continue;
480
+			elseif ($single_file) {
481
+							continue;
482
+			}
437 483
 			// Don't really want this?
438
-			elseif ($files_to_extract !== null && !in_array($file_info['filename'], $files_to_extract))
439
-				continue;
484
+			elseif ($files_to_extract !== null && !in_array($file_info['filename'], $files_to_extract)) {
485
+							continue;
486
+			}
440 487
 
441 488
 			package_put_contents($destination . '/' . $file_info['filename'], $file_info['data']);
442 489
 		}
443 490
 
444
-		if (substr($file_info['filename'], -1, 1) != '/')
445
-			$return[] = array(
491
+		if (substr($file_info['filename'], -1, 1) != '/') {
492
+					$return[] = array(
446 493
 				'filename' => $file_info['filename'],
447 494
 				'md5' => md5($file_info['data']),
448 495
 				'preview' => substr($file_info['data'], 0, 100),
449 496
 				'size' => $file_info['size'],
450 497
 				'skipped' => false
451 498
 			);
499
+		}
452 500
 	}
453 501
 
454
-	if ($destination !== null && !$single_file)
455
-		package_flush_cache();
502
+	if ($destination !== null && !$single_file) {
503
+			package_flush_cache();
504
+	}
456 505
 
457
-	if ($single_file)
458
-		return false;
459
-	else
460
-		return $return;
461
-}
506
+	if ($single_file) {
507
+			return false;
508
+	} else {
509
+			return $return;
510
+	}
511
+	}
462 512
 
463 513
 /**
464 514
  * Checks the existence of a remote file since file_exists() does not do remote.
@@ -470,14 +520,16 @@  discard block
 block discarded – undo
470 520
 {
471 521
 	$a_url = parse_url($url);
472 522
 
473
-	if (!isset($a_url['scheme']))
474
-		return false;
523
+	if (!isset($a_url['scheme'])) {
524
+			return false;
525
+	}
475 526
 
476 527
 	// Attempt to connect...
477 528
 	$temp = '';
478 529
 	$fid = fsockopen($a_url['host'], !isset($a_url['port']) ? 80 : $a_url['port'], $temp, $temp, 8);
479
-	if (!$fid)
480
-		return false;
530
+	if (!$fid) {
531
+			return false;
532
+	}
481 533
 
482 534
 	fputs($fid, 'HEAD ' . $a_url['path'] . ' HTTP/1.0' . "\r\n" . 'Host: ' . $a_url['host'] . "\r\n\r\n");
483 535
 	$head = fread($fid, 1024);
@@ -512,8 +564,9 @@  discard block
 block discarded – undo
512 564
 	while ($row = $smcFunc['db_fetch_assoc']($request))
513 565
 	{
514 566
 		// Already found this? If so don't add it twice!
515
-		if (in_array($row['package_id'], $found))
516
-			continue;
567
+		if (in_array($row['package_id'], $found)) {
568
+					continue;
569
+		}
517 570
 
518 571
 		$found[] = $row['package_id'];
519 572
 
@@ -548,19 +601,21 @@  discard block
 block discarded – undo
548 601
 	global $sourcedir, $packagesdir;
549 602
 
550 603
 	// Extract package-info.xml from downloaded file. (*/ is used because it could be in any directory.)
551
-	if (strpos($gzfilename, 'http://') !== false || strpos($gzfilename, 'https://') !== false)
552
-		$packageInfo = read_tgz_data($gzfilename, 'package-info.xml', true);
553
-	else
604
+	if (strpos($gzfilename, 'http://') !== false || strpos($gzfilename, 'https://') !== false) {
605
+			$packageInfo = read_tgz_data($gzfilename, 'package-info.xml', true);
606
+	} else
554 607
 	{
555
-		if (!file_exists($packagesdir . '/' . $gzfilename))
556
-			return 'package_get_error_not_found';
608
+		if (!file_exists($packagesdir . '/' . $gzfilename)) {
609
+					return 'package_get_error_not_found';
610
+		}
557 611
 
558
-		if (is_file($packagesdir . '/' . $gzfilename))
559
-			$packageInfo = read_tgz_file($packagesdir . '/' . $gzfilename, '*/package-info.xml', true);
560
-		elseif (file_exists($packagesdir . '/' . $gzfilename . '/package-info.xml'))
561
-			$packageInfo = file_get_contents($packagesdir . '/' . $gzfilename . '/package-info.xml');
562
-		else
563
-			return 'package_get_error_missing_xml';
612
+		if (is_file($packagesdir . '/' . $gzfilename)) {
613
+					$packageInfo = read_tgz_file($packagesdir . '/' . $gzfilename, '*/package-info.xml', true);
614
+		} elseif (file_exists($packagesdir . '/' . $gzfilename . '/package-info.xml')) {
615
+					$packageInfo = file_get_contents($packagesdir . '/' . $gzfilename . '/package-info.xml');
616
+		} else {
617
+					return 'package_get_error_missing_xml';
618
+		}
564 619
 	}
565 620
 
566 621
 	// Nothing?
@@ -568,10 +623,11 @@  discard block
 block discarded – undo
568 623
 	{
569 624
 		// Perhaps they are trying to install a theme, lets tell them nicely this is the wrong function
570 625
 		$packageInfo = read_tgz_file($packagesdir . '/' . $gzfilename, '*/theme_info.xml', true);
571
-		if (!empty($packageInfo))
572
-			return 'package_get_error_is_theme';
573
-		else
574
-			return 'package_get_error_is_zero';
626
+		if (!empty($packageInfo)) {
627
+					return 'package_get_error_is_theme';
628
+		} else {
629
+					return 'package_get_error_is_zero';
630
+		}
575 631
 	}
576 632
 
577 633
 	// Parse package-info.xml into an xmlArray.
@@ -579,8 +635,9 @@  discard block
 block discarded – undo
579 635
 	$packageInfo = new xmlArray($packageInfo);
580 636
 
581 637
 	// @todo Error message of some sort?
582
-	if (!$packageInfo->exists('package-info[0]'))
583
-		return 'package_get_error_packageinfo_corrupt';
638
+	if (!$packageInfo->exists('package-info[0]')) {
639
+			return 'package_get_error_packageinfo_corrupt';
640
+	}
584 641
 
585 642
 	$packageInfo = $packageInfo->path('package-info[0]');
586 643
 
@@ -599,8 +656,9 @@  discard block
 block discarded – undo
599 656
 		}
600 657
 	}
601 658
 
602
-	if (!isset($package['type']))
603
-		$package['type'] = 'modification';
659
+	if (!isset($package['type'])) {
660
+			$package['type'] = 'modification';
661
+	}
604 662
 
605 663
 	return $package;
606 664
 }
@@ -653,15 +711,14 @@  discard block
 block discarded – undo
653 711
 					{
654 712
 						$ftp_file = strtr($file, array($_SESSION['pack_ftp']['root'] => ''));
655 713
 						$package_ftp->chmod($ftp_file, $perms);
714
+					} else {
715
+											smf_chmod($file, $perms);
656 716
 					}
657
-					else
658
-						smf_chmod($file, $perms);
659 717
 
660 718
 					$new_permissions = @fileperms($file);
661 719
 					$result = $new_permissions == $perms ? 'success' : 'failure';
662 720
 					unset($_SESSION['pack_ftp']['original_perms'][$file]);
663
-				}
664
-				elseif ($do_change)
721
+				} elseif ($do_change)
665 722
 				{
666 723
 					$new_permissions = '';
667 724
 					$result = 'skipped';
@@ -777,8 +834,7 @@  discard block
 block discarded – undo
777 834
 
778 835
 			$context['sub_template'] = 'show_list';
779 836
 			$context['default_list'] = 'restore_file_permissions';
780
-		}
781
-		else
837
+		} else
782 838
 		{
783 839
 			unset($listOptions['columns']['result']);
784 840
 		}
@@ -788,12 +844,14 @@  discard block
 block discarded – undo
788 844
 		createList($listOptions);
789 845
 
790 846
 		// If we just restored permissions then whereever we are, we are now done and dusted.
791
-		if (!empty($_POST['restore_perms']))
792
-			obExit();
847
+		if (!empty($_POST['restore_perms'])) {
848
+					obExit();
849
+		}
793 850
 	}
794 851
 	// Otherwise, it's entirely irrelevant?
795
-	elseif ($restore_write_status)
796
-		return true;
852
+	elseif ($restore_write_status) {
853
+			return true;
854
+	}
797 855
 
798 856
 	// This is where we report what we got up to.
799 857
 	$return_data = array(
@@ -831,11 +889,12 @@  discard block
 block discarded – undo
831 889
 			if (!in_array($_POST['ftp_path'], array('', '/')))
832 890
 			{
833 891
 				$ftp_root = strtr($boarddir, array($_POST['ftp_path'] => ''));
834
-				if (substr($ftp_root, -1) == '/' && ($_POST['ftp_path'] == '' || substr($_POST['ftp_path'], 0, 1) == '/'))
835
-					$ftp_root = substr($ftp_root, 0, -1);
892
+				if (substr($ftp_root, -1) == '/' && ($_POST['ftp_path'] == '' || substr($_POST['ftp_path'], 0, 1) == '/')) {
893
+									$ftp_root = substr($ftp_root, 0, -1);
894
+				}
895
+			} else {
896
+							$ftp_root = $boarddir;
836 897
 			}
837
-			else
838
-				$ftp_root = $boarddir;
839 898
 
840 899
 			$_SESSION['pack_ftp'] = array(
841 900
 				'server' => $_POST['ftp_server'],
@@ -847,8 +906,9 @@  discard block
 block discarded – undo
847 906
 				'connected' => true,
848 907
 			);
849 908
 
850
-			if (!isset($modSettings['package_path']) || $modSettings['package_path'] != $_POST['ftp_path'])
851
-				updateSettings(array('package_path' => $_POST['ftp_path']));
909
+			if (!isset($modSettings['package_path']) || $modSettings['package_path'] != $_POST['ftp_path']) {
910
+							updateSettings(array('package_path' => $_POST['ftp_path']));
911
+			}
852 912
 
853 913
 			// This is now the primary connection.
854 914
 			$package_ftp = $ftp;
@@ -861,12 +921,13 @@  discard block
 block discarded – undo
861 921
 		foreach ($chmodFiles as $k => $file)
862 922
 		{
863 923
 			// Sometimes this can somehow happen maybe?
864
-			if (empty($file))
865
-				unset($chmodFiles[$k]);
924
+			if (empty($file)) {
925
+							unset($chmodFiles[$k]);
926
+			}
866 927
 			// Already writable?
867
-			elseif (@is_writable($file))
868
-				$return_data['files']['writable'][] = $file;
869
-			else
928
+			elseif (@is_writable($file)) {
929
+							$return_data['files']['writable'][] = $file;
930
+			} else
870 931
 			{
871 932
 				// Now try to change that.
872 933
 				$return_data['files'][package_chmod($file, 'writable', true) ? 'writable' : 'notwritable'][] = $file;
@@ -883,19 +944,21 @@  discard block
 block discarded – undo
883 944
 			{
884 945
 				require_once($sourcedir . '/Class-Package.php');
885 946
 				$ftp = new ftp_connection(null);
947
+			} elseif ($ftp->error !== false && !isset($ftp_error)) {
948
+							$ftp_error = $ftp->last_message === null ? '' : $ftp->last_message;
886 949
 			}
887
-			elseif ($ftp->error !== false && !isset($ftp_error))
888
-				$ftp_error = $ftp->last_message === null ? '' : $ftp->last_message;
889 950
 
890 951
 			list ($username, $detect_path, $found_path) = $ftp->detect_path($boarddir);
891 952
 
892
-			if ($found_path)
893
-				$_POST['ftp_path'] = $detect_path;
894
-			elseif (!isset($_POST['ftp_path']))
895
-				$_POST['ftp_path'] = isset($modSettings['package_path']) ? $modSettings['package_path'] : $detect_path;
953
+			if ($found_path) {
954
+							$_POST['ftp_path'] = $detect_path;
955
+			} elseif (!isset($_POST['ftp_path'])) {
956
+							$_POST['ftp_path'] = isset($modSettings['package_path']) ? $modSettings['package_path'] : $detect_path;
957
+			}
896 958
 
897
-			if (!isset($_POST['ftp_username']))
898
-				$_POST['ftp_username'] = $username;
959
+			if (!isset($_POST['ftp_username'])) {
960
+							$_POST['ftp_username'] = $username;
961
+			}
899 962
 		}
900 963
 
901 964
 		$context['package_ftp'] = array(
@@ -908,8 +971,9 @@  discard block
 block discarded – undo
908 971
 		);
909 972
 
910 973
 		// Which files failed?
911
-		if (!isset($context['notwritable_files']))
912
-			$context['notwritable_files'] = array();
974
+		if (!isset($context['notwritable_files'])) {
975
+					$context['notwritable_files'] = array();
976
+		}
913 977
 		$context['notwritable_files'] = array_merge($context['notwritable_files'], $return_data['files']['notwritable']);
914 978
 
915 979
 		// Sent here to die?
@@ -942,40 +1006,48 @@  discard block
 block discarded – undo
942 1006
 		foreach ($files as $k => $file)
943 1007
 		{
944 1008
 			// If this file doesn't exist, then we actually want to look at the directory, no?
945
-			if (!file_exists($file))
946
-				$file = dirname($file);
1009
+			if (!file_exists($file)) {
1010
+							$file = dirname($file);
1011
+			}
947 1012
 
948 1013
 			// This looks odd, but it's an attempt to work around PHP suExec.
949
-			if (!@is_writable($file))
950
-				smf_chmod($file, 0755);
951
-			if (!@is_writable($file))
952
-				smf_chmod($file, 0777);
953
-			if (!@is_writable(dirname($file)))
954
-				smf_chmod($file, 0755);
955
-			if (!@is_writable(dirname($file)))
956
-				smf_chmod($file, 0777);
1014
+			if (!@is_writable($file)) {
1015
+							smf_chmod($file, 0755);
1016
+			}
1017
+			if (!@is_writable($file)) {
1018
+							smf_chmod($file, 0777);
1019
+			}
1020
+			if (!@is_writable(dirname($file))) {
1021
+							smf_chmod($file, 0755);
1022
+			}
1023
+			if (!@is_writable(dirname($file))) {
1024
+							smf_chmod($file, 0777);
1025
+			}
957 1026
 
958 1027
 			$fp = is_dir($file) ? @opendir($file) : @fopen($file, 'rb');
959 1028
 			if (@is_writable($file) && $fp)
960 1029
 			{
961 1030
 				unset($files[$k]);
962
-				if (!is_dir($file))
963
-					fclose($fp);
964
-				else
965
-					closedir($fp);
1031
+				if (!is_dir($file)) {
1032
+									fclose($fp);
1033
+				} else {
1034
+									closedir($fp);
1035
+				}
966 1036
 			}
967 1037
 		}
968 1038
 
969 1039
 		// No FTP required!
970
-		if (empty($files))
971
-			return array();
1040
+		if (empty($files)) {
1041
+					return array();
1042
+		}
972 1043
 	}
973 1044
 
974 1045
 	// They've opted to not use FTP, and try anyway.
975 1046
 	if (isset($_SESSION['pack_ftp']) && $_SESSION['pack_ftp'] == false)
976 1047
 	{
977
-		if ($files === null)
978
-			return array();
1048
+		if ($files === null) {
1049
+					return array();
1050
+		}
979 1051
 
980 1052
 		foreach ($files as $k => $file)
981 1053
 		{
@@ -987,26 +1059,29 @@  discard block
 block discarded – undo
987 1059
 				smf_chmod($file, 0755);
988 1060
 			}
989 1061
 
990
-			if (!@is_writable($file))
991
-				smf_chmod($file, 0777);
992
-			if (!@is_writable(dirname($file)))
993
-				smf_chmod(dirname($file), 0777);
1062
+			if (!@is_writable($file)) {
1063
+							smf_chmod($file, 0777);
1064
+			}
1065
+			if (!@is_writable(dirname($file))) {
1066
+							smf_chmod(dirname($file), 0777);
1067
+			}
994 1068
 
995
-			if (@is_writable($file))
996
-				unset($files[$k]);
1069
+			if (@is_writable($file)) {
1070
+							unset($files[$k]);
1071
+			}
997 1072
 		}
998 1073
 
999 1074
 		return $files;
1000
-	}
1001
-	elseif (isset($_SESSION['pack_ftp']))
1075
+	} elseif (isset($_SESSION['pack_ftp']))
1002 1076
 	{
1003 1077
 		// Load the file containing the ftp_connection class.
1004 1078
 		require_once($sourcedir . '/Class-Package.php');
1005 1079
 
1006 1080
 		$package_ftp = new ftp_connection($_SESSION['pack_ftp']['server'], $_SESSION['pack_ftp']['port'], $_SESSION['pack_ftp']['username'], package_crypt($_SESSION['pack_ftp']['password']));
1007 1081
 
1008
-		if ($files === null)
1009
-			return array();
1082
+		if ($files === null) {
1083
+					return array();
1084
+		}
1010 1085
 
1011 1086
 		foreach ($files as $k => $file)
1012 1087
 		{
@@ -1020,13 +1095,16 @@  discard block
 block discarded – undo
1020 1095
 				$package_ftp->chmod($ftp_file, 0755);
1021 1096
 			}
1022 1097
 
1023
-			if (!@is_writable($file))
1024
-				$package_ftp->chmod($ftp_file, 0777);
1025
-			if (!@is_writable(dirname($file)))
1026
-				$package_ftp->chmod(dirname($ftp_file), 0777);
1098
+			if (!@is_writable($file)) {
1099
+							$package_ftp->chmod($ftp_file, 0777);
1100
+			}
1101
+			if (!@is_writable(dirname($file))) {
1102
+							$package_ftp->chmod(dirname($ftp_file), 0777);
1103
+			}
1027 1104
 
1028
-			if (@is_writable($file))
1029
-				unset($files[$k]);
1105
+			if (@is_writable($file)) {
1106
+							unset($files[$k]);
1107
+			}
1030 1108
 		}
1031 1109
 
1032 1110
 		return $files;
@@ -1038,8 +1116,7 @@  discard block
 block discarded – undo
1038 1116
 
1039 1117
 		$files = packageRequireFTP($destination_url, $files, $return);
1040 1118
 		return $files;
1041
-	}
1042
-	elseif (isset($_POST['ftp_username']))
1119
+	} elseif (isset($_POST['ftp_username']))
1043 1120
 	{
1044 1121
 		require_once($sourcedir . '/Class-Package.php');
1045 1122
 		$ftp = new ftp_connection($_POST['ftp_server'], $_POST['ftp_port'], $_POST['ftp_username'], $_POST['ftp_password']);
@@ -1061,19 +1138,21 @@  discard block
 block discarded – undo
1061 1138
 		{
1062 1139
 			require_once($sourcedir . '/Class-Package.php');
1063 1140
 			$ftp = new ftp_connection(null);
1141
+		} elseif ($ftp->error !== false && !isset($ftp_error)) {
1142
+					$ftp_error = $ftp->last_message === null ? '' : $ftp->last_message;
1064 1143
 		}
1065
-		elseif ($ftp->error !== false && !isset($ftp_error))
1066
-			$ftp_error = $ftp->last_message === null ? '' : $ftp->last_message;
1067 1144
 
1068 1145
 		list ($username, $detect_path, $found_path) = $ftp->detect_path($boarddir);
1069 1146
 
1070
-		if ($found_path)
1071
-			$_POST['ftp_path'] = $detect_path;
1072
-		elseif (!isset($_POST['ftp_path']))
1073
-			$_POST['ftp_path'] = isset($modSettings['package_path']) ? $modSettings['package_path'] : $detect_path;
1147
+		if ($found_path) {
1148
+					$_POST['ftp_path'] = $detect_path;
1149
+		} elseif (!isset($_POST['ftp_path'])) {
1150
+					$_POST['ftp_path'] = isset($modSettings['package_path']) ? $modSettings['package_path'] : $detect_path;
1151
+		}
1074 1152
 
1075
-		if (!isset($_POST['ftp_username']))
1076
-			$_POST['ftp_username'] = $username;
1153
+		if (!isset($_POST['ftp_username'])) {
1154
+					$_POST['ftp_username'] = $username;
1155
+		}
1077 1156
 
1078 1157
 		$context['package_ftp'] = array(
1079 1158
 			'server' => isset($_POST['ftp_server']) ? $_POST['ftp_server'] : (isset($modSettings['package_server']) ? $modSettings['package_server'] : 'localhost'),
@@ -1085,23 +1164,24 @@  discard block
 block discarded – undo
1085 1164
 		);
1086 1165
 
1087 1166
 		// If we're returning dump out here.
1088
-		if ($return)
1089
-			return $files;
1167
+		if ($return) {
1168
+					return $files;
1169
+		}
1090 1170
 
1091 1171
 		$context['page_title'] = $txt['package_ftp_necessary'];
1092 1172
 		$context['sub_template'] = 'ftp_required';
1093 1173
 		obExit();
1094
-	}
1095
-	else
1174
+	} else
1096 1175
 	{
1097 1176
 		if (!in_array($_POST['ftp_path'], array('', '/')))
1098 1177
 		{
1099 1178
 			$ftp_root = strtr($boarddir, array($_POST['ftp_path'] => ''));
1100
-			if (substr($ftp_root, -1) == '/' && ($_POST['ftp_path'] == '' || $_POST['ftp_path'][0] == '/'))
1101
-				$ftp_root = substr($ftp_root, 0, -1);
1179
+			if (substr($ftp_root, -1) == '/' && ($_POST['ftp_path'] == '' || $_POST['ftp_path'][0] == '/')) {
1180
+							$ftp_root = substr($ftp_root, 0, -1);
1181
+			}
1182
+		} else {
1183
+					$ftp_root = $boarddir;
1102 1184
 		}
1103
-		else
1104
-			$ftp_root = $boarddir;
1105 1185
 
1106 1186
 		$_SESSION['pack_ftp'] = array(
1107 1187
 			'server' => $_POST['ftp_server'],
@@ -1112,8 +1192,9 @@  discard block
 block discarded – undo
1112 1192
 			'root' => $ftp_root,
1113 1193
 		);
1114 1194
 
1115
-		if (!isset($modSettings['package_path']) || $modSettings['package_path'] != $_POST['ftp_path'])
1116
-			updateSettings(array('package_path' => $_POST['ftp_path']));
1195
+		if (!isset($modSettings['package_path']) || $modSettings['package_path'] != $_POST['ftp_path']) {
1196
+					updateSettings(array('package_path' => $_POST['ftp_path']));
1197
+		}
1117 1198
 
1118 1199
 		$files = packageRequireFTP($destination_url, $files, $return);
1119 1200
 	}
@@ -1141,16 +1222,18 @@  discard block
 block discarded – undo
1141 1222
 	global $packagesdir, $forum_version, $context, $temp_path, $language, $smcFunc;
1142 1223
 
1143 1224
 	// Mayday!  That action doesn't exist!!
1144
-	if (empty($packageXML) || !$packageXML->exists($method))
1145
-		return array();
1225
+	if (empty($packageXML) || !$packageXML->exists($method)) {
1226
+			return array();
1227
+	}
1146 1228
 
1147 1229
 	// We haven't found the package script yet...
1148 1230
 	$script = false;
1149 1231
 	$the_version = strtr($forum_version, array('SMF ' => ''));
1150 1232
 
1151 1233
 	// Emulation support...
1152
-	if (!empty($_SESSION['version_emulate']))
1153
-		$the_version = $_SESSION['version_emulate'];
1234
+	if (!empty($_SESSION['version_emulate'])) {
1235
+			$the_version = $_SESSION['version_emulate'];
1236
+	}
1154 1237
 
1155 1238
 	// Single package emulation
1156 1239
 	if (!empty($_REQUEST['ve']) && !empty($_REQUEST['package']))
@@ -1158,8 +1241,9 @@  discard block
 block discarded – undo
1158 1241
 		$the_version = $_REQUEST['ve'];
1159 1242
 		$_SESSION['single_version_emulate'][$_REQUEST['package']] = $the_version;
1160 1243
 	}
1161
-	if (!empty($_REQUEST['package']) && (!empty($_SESSION['single_version_emulate'][$_REQUEST['package']])))
1162
-		$the_version = $_SESSION['single_version_emulate'][$_REQUEST['package']];
1244
+	if (!empty($_REQUEST['package']) && (!empty($_SESSION['single_version_emulate'][$_REQUEST['package']]))) {
1245
+			$the_version = $_SESSION['single_version_emulate'][$_REQUEST['package']];
1246
+	}
1163 1247
 
1164 1248
 	// Get all the versions of this method and find the right one.
1165 1249
 	$these_methods = $packageXML->set($method);
@@ -1169,16 +1253,18 @@  discard block
 block discarded – undo
1169 1253
 		if ($this_method->exists('@for'))
1170 1254
 		{
1171 1255
 			// Don't keep going if this won't work for this version of SMF.
1172
-			if (!matchPackageVersion($the_version, $this_method->fetch('@for')))
1173
-				continue;
1256
+			if (!matchPackageVersion($the_version, $this_method->fetch('@for'))) {
1257
+							continue;
1258
+			}
1174 1259
 		}
1175 1260
 
1176 1261
 		// Upgrades may go from a certain old version of the mod.
1177 1262
 		if ($method == 'upgrade' && $this_method->exists('@from'))
1178 1263
 		{
1179 1264
 			// Well, this is for the wrong old version...
1180
-			if (!matchPackageVersion($previous_version, $this_method->fetch('@from')))
1181
-				continue;
1265
+			if (!matchPackageVersion($previous_version, $this_method->fetch('@from'))) {
1266
+							continue;
1267
+			}
1182 1268
 		}
1183 1269
 
1184 1270
 		// We've found it!
@@ -1187,8 +1273,9 @@  discard block
 block discarded – undo
1187 1273
 	}
1188 1274
 
1189 1275
 	// Bad news, a matching script wasn't found!
1190
-	if (!($script instanceof xmlArray))
1191
-		return array();
1276
+	if (!($script instanceof xmlArray)) {
1277
+			return array();
1278
+	}
1192 1279
 
1193 1280
 	// Find all the actions in this method - in theory, these should only be allowed actions. (* means all.)
1194 1281
 	$actions = $script->set('*');
@@ -1217,12 +1304,12 @@  discard block
 block discarded – undo
1217 1304
 					if ((isset($_REQUEST['readme']) && $action->fetch('@lang') == $_REQUEST['readme']) || (isset($_REQUEST['license']) && $action->fetch('@lang') == $_REQUEST['license']) || (!isset($_REQUEST['readme']) && $action->fetch('@lang') == $language) || (!isset($_REQUEST['license']) && $action->fetch('@lang') == $language))
1218 1305
 					{
1219 1306
 						// In case the user put the blocks in the wrong order.
1220
-						if (isset($context[$type]['selected']) && $context[$type]['selected'] == 'default')
1221
-							$context[$type][] = 'default';
1307
+						if (isset($context[$type]['selected']) && $context[$type]['selected'] == 'default') {
1308
+													$context[$type][] = 'default';
1309
+						}
1222 1310
 
1223 1311
 						$context[$type]['selected'] = $smcFunc['htmlspecialchars']($action->fetch('@lang'));
1224
-					}
1225
-					else
1312
+					} else
1226 1313
 					{
1227 1314
 						// We don't want this now, but we'll allow the user to select to read it.
1228 1315
 						$context[$type][] = $smcFunc['htmlspecialchars']($action->fetch('@lang'));
@@ -1237,9 +1324,9 @@  discard block
 block discarded – undo
1237 1324
 					{
1238 1325
 						$context[$type][] = 'default';
1239 1326
 						continue;
1327
+					} else {
1328
+											$context[$type]['selected'] = 'default';
1240 1329
 					}
1241
-					else
1242
-						$context[$type]['selected'] = 'default';
1243 1330
 				}
1244 1331
 			}
1245 1332
 
@@ -1249,9 +1336,9 @@  discard block
 block discarded – undo
1249 1336
 				$filename = $temp_path . '$auto_' . $temp_auto++ . (in_array($actionType, array('readme', 'redirect', 'license')) ? '.txt' : ($actionType == 'code' || $actionType == 'database' ? '.php' : '.mod'));
1250 1337
 				package_put_contents($filename, $action->fetch('.'));
1251 1338
 				$filename = strtr($filename, array($temp_path => ''));
1339
+			} else {
1340
+							$filename = $action->fetch('.');
1252 1341
 			}
1253
-			else
1254
-				$filename = $action->fetch('.');
1255 1342
 
1256 1343
 			$return[] = array(
1257 1344
 				'type' => $actionType,
@@ -1266,8 +1353,7 @@  discard block
 block discarded – undo
1266 1353
 			);
1267 1354
 
1268 1355
 			continue;
1269
-		}
1270
-		elseif ($actionType == 'hook')
1356
+		} elseif ($actionType == 'hook')
1271 1357
 		{
1272 1358
 			$return[] = array(
1273 1359
 				'type' => $actionType,
@@ -1279,16 +1365,16 @@  discard block
 block discarded – undo
1279 1365
 				'description' => '',
1280 1366
 			);
1281 1367
 			continue;
1282
-		}
1283
-		elseif ($actionType == 'credits')
1368
+		} elseif ($actionType == 'credits')
1284 1369
 		{
1285 1370
 			// quick check of any supplied url
1286 1371
 			$url = $action->exists('@url') ? $action->fetch('@url') : '';
1287 1372
 			if (strlen(trim($url)) > 0 && substr($url, 0, 7) !== 'http://' && substr($url, 0, 8) !== 'https://')
1288 1373
 			{
1289 1374
 				$url = 'http://' . $url;
1290
-				if (strlen($url) < 8 || (substr($url, 0, 7) !== 'http://' && substr($url, 0, 8) !== 'https://'))
1291
-					$url = '';
1375
+				if (strlen($url) < 8 || (substr($url, 0, 7) !== 'http://' && substr($url, 0, 8) !== 'https://')) {
1376
+									$url = '';
1377
+				}
1292 1378
 			}
1293 1379
 
1294 1380
 			$return[] = array(
@@ -1300,8 +1386,7 @@  discard block
 block discarded – undo
1300 1386
 				'title' => $action->fetch('.'),
1301 1387
 			);
1302 1388
 			continue;
1303
-		}
1304
-		elseif ($actionType == 'requires')
1389
+		} elseif ($actionType == 'requires')
1305 1390
 		{
1306 1391
 			$return[] = array(
1307 1392
 				'type' => $actionType,
@@ -1310,14 +1395,12 @@  discard block
 block discarded – undo
1310 1395
 				'description' => '',
1311 1396
 			);
1312 1397
 			continue;
1313
-		}
1314
-		elseif ($actionType == 'error')
1398
+		} elseif ($actionType == 'error')
1315 1399
 		{
1316 1400
 			$return[] = array(
1317 1401
 				'type' => 'error',
1318 1402
 			);
1319
-		}
1320
-		elseif (in_array($actionType, array('require-file', 'remove-file', 'require-dir', 'remove-dir', 'move-file', 'move-dir', 'create-file', 'create-dir')))
1403
+		} elseif (in_array($actionType, array('require-file', 'remove-file', 'require-dir', 'remove-dir', 'move-file', 'move-dir', 'create-file', 'create-dir')))
1321 1404
 		{
1322 1405
 			$this_action = &$return[];
1323 1406
 			$this_action = array(
@@ -1331,8 +1414,7 @@  discard block
 block discarded – undo
1331 1414
 			{
1332 1415
 				$this_action['unparsed_destination'] = $action->fetch('@destination');
1333 1416
 				$this_action['destination'] = parse_path($action->fetch('@destination')) . '/' . basename($this_action['filename']);
1334
-			}
1335
-			else
1417
+			} else
1336 1418
 			{
1337 1419
 				$this_action['unparsed_filename'] = $this_action['filename'];
1338 1420
 				$this_action['filename'] = parse_path($this_action['filename']);
@@ -1341,10 +1423,11 @@  discard block
 block discarded – undo
1341 1423
 			// If we're moving or requiring (copying) a file.
1342 1424
 			if (substr($actionType, 0, 4) == 'move' || substr($actionType, 0, 7) == 'require')
1343 1425
 			{
1344
-				if ($action->exists('@from'))
1345
-					$this_action['source'] = parse_path($action->fetch('@from'));
1346
-				else
1347
-					$this_action['source'] = $temp_path . $this_action['filename'];
1426
+				if ($action->exists('@from')) {
1427
+									$this_action['source'] = parse_path($action->fetch('@from'));
1428
+				} else {
1429
+									$this_action['source'] = $temp_path . $this_action['filename'];
1430
+				}
1348 1431
 			}
1349 1432
 
1350 1433
 			// Check if these things can be done. (chmod's etc.)
@@ -1353,22 +1436,23 @@  discard block
 block discarded – undo
1353 1436
 				if (!mktree($this_action['destination'], false))
1354 1437
 				{
1355 1438
 					$temp = $this_action['destination'];
1356
-					while (!file_exists($temp) && strlen($temp) > 1)
1357
-						$temp = dirname($temp);
1439
+					while (!file_exists($temp) && strlen($temp) > 1) {
1440
+											$temp = dirname($temp);
1441
+					}
1358 1442
 
1359 1443
 					$return[] = array(
1360 1444
 						'type' => 'chmod',
1361 1445
 						'filename' => $temp
1362 1446
 					);
1363 1447
 				}
1364
-			}
1365
-			elseif ($actionType == 'create-file')
1448
+			} elseif ($actionType == 'create-file')
1366 1449
 			{
1367 1450
 				if (!mktree(dirname($this_action['destination']), false))
1368 1451
 				{
1369 1452
 					$temp = dirname($this_action['destination']);
1370
-					while (!file_exists($temp) && strlen($temp) > 1)
1371
-						$temp = dirname($temp);
1453
+					while (!file_exists($temp) && strlen($temp) > 1) {
1454
+											$temp = dirname($temp);
1455
+					}
1372 1456
 
1373 1457
 					$return[] = array(
1374 1458
 						'type' => 'chmod',
@@ -1376,36 +1460,38 @@  discard block
 block discarded – undo
1376 1460
 					);
1377 1461
 				}
1378 1462
 
1379
-				if (!is_writable($this_action['destination']) && (file_exists($this_action['destination']) || !is_writable(dirname($this_action['destination']))))
1380
-					$return[] = array(
1463
+				if (!is_writable($this_action['destination']) && (file_exists($this_action['destination']) || !is_writable(dirname($this_action['destination'])))) {
1464
+									$return[] = array(
1381 1465
 						'type' => 'chmod',
1382 1466
 						'filename' => $this_action['destination']
1383 1467
 					);
1384
-			}
1385
-			elseif ($actionType == 'require-dir')
1468
+				}
1469
+			} elseif ($actionType == 'require-dir')
1386 1470
 			{
1387 1471
 				if (!mktree($this_action['destination'], false))
1388 1472
 				{
1389 1473
 					$temp = $this_action['destination'];
1390
-					while (!file_exists($temp) && strlen($temp) > 1)
1391
-						$temp = dirname($temp);
1474
+					while (!file_exists($temp) && strlen($temp) > 1) {
1475
+											$temp = dirname($temp);
1476
+					}
1392 1477
 
1393 1478
 					$return[] = array(
1394 1479
 						'type' => 'chmod',
1395 1480
 						'filename' => $temp
1396 1481
 					);
1397 1482
 				}
1398
-			}
1399
-			elseif ($actionType == 'require-file')
1483
+			} elseif ($actionType == 'require-file')
1400 1484
 			{
1401
-				if ($action->exists('@theme'))
1402
-					$this_action['theme_action'] = $action->fetch('@theme');
1485
+				if ($action->exists('@theme')) {
1486
+									$this_action['theme_action'] = $action->fetch('@theme');
1487
+				}
1403 1488
 
1404 1489
 				if (!mktree(dirname($this_action['destination']), false))
1405 1490
 				{
1406 1491
 					$temp = dirname($this_action['destination']);
1407
-					while (!file_exists($temp) && strlen($temp) > 1)
1408
-						$temp = dirname($temp);
1492
+					while (!file_exists($temp) && strlen($temp) > 1) {
1493
+											$temp = dirname($temp);
1494
+					}
1409 1495
 
1410 1496
 					$return[] = array(
1411 1497
 						'type' => 'chmod',
@@ -1413,19 +1499,20 @@  discard block
 block discarded – undo
1413 1499
 					);
1414 1500
 				}
1415 1501
 
1416
-				if (!is_writable($this_action['destination']) && (file_exists($this_action['destination']) || !is_writable(dirname($this_action['destination']))))
1417
-					$return[] = array(
1502
+				if (!is_writable($this_action['destination']) && (file_exists($this_action['destination']) || !is_writable(dirname($this_action['destination'])))) {
1503
+									$return[] = array(
1418 1504
 						'type' => 'chmod',
1419 1505
 						'filename' => $this_action['destination']
1420 1506
 					);
1421
-			}
1422
-			elseif ($actionType == 'move-dir' || $actionType == 'move-file')
1507
+				}
1508
+			} elseif ($actionType == 'move-dir' || $actionType == 'move-file')
1423 1509
 			{
1424 1510
 				if (!mktree(dirname($this_action['destination']), false))
1425 1511
 				{
1426 1512
 					$temp = dirname($this_action['destination']);
1427
-					while (!file_exists($temp) && strlen($temp) > 1)
1428
-						$temp = dirname($temp);
1513
+					while (!file_exists($temp) && strlen($temp) > 1) {
1514
+											$temp = dirname($temp);
1515
+					}
1429 1516
 
1430 1517
 					$return[] = array(
1431 1518
 						'type' => 'chmod',
@@ -1433,30 +1520,30 @@  discard block
 block discarded – undo
1433 1520
 					);
1434 1521
 				}
1435 1522
 
1436
-				if (!is_writable($this_action['destination']) && (file_exists($this_action['destination']) || !is_writable(dirname($this_action['destination']))))
1437
-					$return[] = array(
1523
+				if (!is_writable($this_action['destination']) && (file_exists($this_action['destination']) || !is_writable(dirname($this_action['destination'])))) {
1524
+									$return[] = array(
1438 1525
 						'type' => 'chmod',
1439 1526
 						'filename' => $this_action['destination']
1440 1527
 					);
1441
-			}
1442
-			elseif ($actionType == 'remove-dir')
1528
+				}
1529
+			} elseif ($actionType == 'remove-dir')
1443 1530
 			{
1444
-				if (!is_writable($this_action['filename']) && file_exists($this_action['filename']))
1445
-					$return[] = array(
1531
+				if (!is_writable($this_action['filename']) && file_exists($this_action['filename'])) {
1532
+									$return[] = array(
1446 1533
 						'type' => 'chmod',
1447 1534
 						'filename' => $this_action['filename']
1448 1535
 					);
1449
-			}
1450
-			elseif ($actionType == 'remove-file')
1536
+				}
1537
+			} elseif ($actionType == 'remove-file')
1451 1538
 			{
1452
-				if (!is_writable($this_action['filename']) && file_exists($this_action['filename']))
1453
-					$return[] = array(
1539
+				if (!is_writable($this_action['filename']) && file_exists($this_action['filename'])) {
1540
+									$return[] = array(
1454 1541
 						'type' => 'chmod',
1455 1542
 						'filename' => $this_action['filename']
1456 1543
 					);
1544
+				}
1457 1545
 			}
1458
-		}
1459
-		else
1546
+		} else
1460 1547
 		{
1461 1548
 			$return[] = array(
1462 1549
 				'type' => 'error',
@@ -1467,8 +1554,9 @@  discard block
 block discarded – undo
1467 1554
 	}
1468 1555
 
1469 1556
 	// Only testing - just return a list of things to be done.
1470
-	if ($testing_only)
1471
-		return $return;
1557
+	if ($testing_only) {
1558
+			return $return;
1559
+	}
1472 1560
 
1473 1561
 	umask(0);
1474 1562
 
@@ -1476,78 +1564,81 @@  discard block
 block discarded – undo
1476 1564
 	$not_done = array(array('type' => '!'));
1477 1565
 	foreach ($return as $action)
1478 1566
 	{
1479
-		if (in_array($action['type'], array('modification', 'code', 'database', 'redirect', 'hook', 'credits')))
1480
-			$not_done[] = $action;
1567
+		if (in_array($action['type'], array('modification', 'code', 'database', 'redirect', 'hook', 'credits'))) {
1568
+					$not_done[] = $action;
1569
+		}
1481 1570
 
1482 1571
 		if ($action['type'] == 'create-dir')
1483 1572
 		{
1484
-			if (!mktree($action['destination'], 0755) || !is_writable($action['destination']))
1485
-				$failure |= !mktree($action['destination'], 0777);
1486
-		}
1487
-		elseif ($action['type'] == 'create-file')
1573
+			if (!mktree($action['destination'], 0755) || !is_writable($action['destination'])) {
1574
+							$failure |= !mktree($action['destination'], 0777);
1575
+			}
1576
+		} elseif ($action['type'] == 'create-file')
1488 1577
 		{
1489
-			if (!mktree(dirname($action['destination']), 0755) || !is_writable(dirname($action['destination'])))
1490
-				$failure |= !mktree(dirname($action['destination']), 0777);
1578
+			if (!mktree(dirname($action['destination']), 0755) || !is_writable(dirname($action['destination']))) {
1579
+							$failure |= !mktree(dirname($action['destination']), 0777);
1580
+			}
1491 1581
 
1492 1582
 			// Create an empty file.
1493 1583
 			package_put_contents($action['destination'], package_get_contents($action['source']), $testing_only);
1494 1584
 
1495
-			if (!file_exists($action['destination']))
1496
-				$failure = true;
1497
-		}
1498
-		elseif ($action['type'] == 'require-dir')
1585
+			if (!file_exists($action['destination'])) {
1586
+							$failure = true;
1587
+			}
1588
+		} elseif ($action['type'] == 'require-dir')
1499 1589
 		{
1500 1590
 			copytree($action['source'], $action['destination']);
1501 1591
 			// Any other theme folders?
1502
-			if (!empty($context['theme_copies']) && !empty($context['theme_copies'][$action['type']][$action['destination']]))
1503
-				foreach ($context['theme_copies'][$action['type']][$action['destination']] as $theme_destination)
1592
+			if (!empty($context['theme_copies']) && !empty($context['theme_copies'][$action['type']][$action['destination']])) {
1593
+							foreach ($context['theme_copies'][$action['type']][$action['destination']] as $theme_destination)
1504 1594
 					copytree($action['source'], $theme_destination);
1505
-		}
1506
-		elseif ($action['type'] == 'require-file')
1595
+			}
1596
+		} elseif ($action['type'] == 'require-file')
1507 1597
 		{
1508
-			if (!mktree(dirname($action['destination']), 0755) || !is_writable(dirname($action['destination'])))
1509
-				$failure |= !mktree(dirname($action['destination']), 0777);
1598
+			if (!mktree(dirname($action['destination']), 0755) || !is_writable(dirname($action['destination']))) {
1599
+							$failure |= !mktree(dirname($action['destination']), 0777);
1600
+			}
1510 1601
 
1511 1602
 			package_put_contents($action['destination'], package_get_contents($action['source']), $testing_only);
1512 1603
 
1513 1604
 			$failure |= !copy($action['source'], $action['destination']);
1514 1605
 
1515 1606
 			// Any other theme files?
1516
-			if (!empty($context['theme_copies']) && !empty($context['theme_copies'][$action['type']][$action['destination']]))
1517
-				foreach ($context['theme_copies'][$action['type']][$action['destination']] as $theme_destination)
1607
+			if (!empty($context['theme_copies']) && !empty($context['theme_copies'][$action['type']][$action['destination']])) {
1608
+							foreach ($context['theme_copies'][$action['type']][$action['destination']] as $theme_destination)
1518 1609
 				{
1519 1610
 					if (!mktree(dirname($theme_destination), 0755) || !is_writable(dirname($theme_destination)))
1520 1611
 						$failure |= !mktree(dirname($theme_destination), 0777);
1612
+			}
1521 1613
 
1522 1614
 					package_put_contents($theme_destination, package_get_contents($action['source']), $testing_only);
1523 1615
 
1524 1616
 					$failure |= !copy($action['source'], $theme_destination);
1525 1617
 				}
1526
-		}
1527
-		elseif ($action['type'] == 'move-file')
1618
+		} elseif ($action['type'] == 'move-file')
1528 1619
 		{
1529
-			if (!mktree(dirname($action['destination']), 0755) || !is_writable(dirname($action['destination'])))
1530
-				$failure |= !mktree(dirname($action['destination']), 0777);
1620
+			if (!mktree(dirname($action['destination']), 0755) || !is_writable(dirname($action['destination']))) {
1621
+							$failure |= !mktree(dirname($action['destination']), 0777);
1622
+			}
1531 1623
 
1532 1624
 			$failure |= !rename($action['source'], $action['destination']);
1533
-		}
1534
-		elseif ($action['type'] == 'move-dir')
1625
+		} elseif ($action['type'] == 'move-dir')
1535 1626
 		{
1536
-			if (!mktree($action['destination'], 0755) || !is_writable($action['destination']))
1537
-				$failure |= !mktree($action['destination'], 0777);
1627
+			if (!mktree($action['destination'], 0755) || !is_writable($action['destination'])) {
1628
+							$failure |= !mktree($action['destination'], 0777);
1629
+			}
1538 1630
 
1539 1631
 			$failure |= !rename($action['source'], $action['destination']);
1540
-		}
1541
-		elseif ($action['type'] == 'remove-dir')
1632
+		} elseif ($action['type'] == 'remove-dir')
1542 1633
 		{
1543 1634
 			deltree($action['filename']);
1544 1635
 
1545 1636
 			// Any other theme folders?
1546
-			if (!empty($context['theme_copies']) && !empty($context['theme_copies'][$action['type']][$action['filename']]))
1547
-				foreach ($context['theme_copies'][$action['type']][$action['filename']] as $theme_destination)
1637
+			if (!empty($context['theme_copies']) && !empty($context['theme_copies'][$action['type']][$action['filename']])) {
1638
+							foreach ($context['theme_copies'][$action['type']][$action['filename']] as $theme_destination)
1548 1639
 					deltree($theme_destination);
1549
-		}
1550
-		elseif ($action['type'] == 'remove-file')
1640
+			}
1641
+		} elseif ($action['type'] == 'remove-file')
1551 1642
 		{
1552 1643
 			// Make sure the file exists before deleting it.
1553 1644
 			if (file_exists($action['filename']))
@@ -1556,16 +1647,18 @@  discard block
 block discarded – undo
1556 1647
 				$failure |= !unlink($action['filename']);
1557 1648
 			}
1558 1649
 			// The file that was supposed to be deleted couldn't be found.
1559
-			else
1560
-				$failure = true;
1650
+			else {
1651
+							$failure = true;
1652
+			}
1561 1653
 
1562 1654
 			// Any other theme folders?
1563
-			if (!empty($context['theme_copies']) && !empty($context['theme_copies'][$action['type']][$action['filename']]))
1564
-				foreach ($context['theme_copies'][$action['type']][$action['filename']] as $theme_destination)
1655
+			if (!empty($context['theme_copies']) && !empty($context['theme_copies'][$action['type']][$action['filename']])) {
1656
+							foreach ($context['theme_copies'][$action['type']][$action['filename']] as $theme_destination)
1565 1657
 					if (file_exists($theme_destination))
1566 1658
 						$failure |= !unlink($theme_destination);
1567
-					else
1568
-						$failure = true;
1659
+			} else {
1660
+											$failure = true;
1661
+					}
1569 1662
 		}
1570 1663
 	}
1571 1664
 
@@ -1587,8 +1680,9 @@  discard block
 block discarded – undo
1587 1680
 {
1588 1681
 	static $near_version = 0;
1589 1682
 
1590
-	if ($reset)
1591
-		$near_version = 0;
1683
+	if ($reset) {
1684
+			$near_version = 0;
1685
+	}
1592 1686
 
1593 1687
 	// Normalize the $versions while we remove our previous Doh!
1594 1688
 	$versions = explode(',', str_replace(array(' ', '2.0rc1-1'), array('', '2.0rc1.1'), strtolower($versions)));
@@ -1597,16 +1691,19 @@  discard block
 block discarded – undo
1597 1691
 	foreach ($versions as $for)
1598 1692
 	{
1599 1693
 		// Adjust for those wild cards
1600
-		if (strpos($for, '*') !== false)
1601
-			$for = str_replace('*', '0dev0', $for) . '-' . str_replace('*', '999', $for);
1694
+		if (strpos($for, '*') !== false) {
1695
+					$for = str_replace('*', '0dev0', $for) . '-' . str_replace('*', '999', $for);
1696
+		}
1602 1697
 
1603 1698
 		// If we have a range, grab the lower value, done this way so it looks normal-er to the user e.g. 2.0 vs 2.0.99
1604
-		if (strpos($for, '-') !== false)
1605
-			list ($for, $higher) = explode('-', $for);
1699
+		if (strpos($for, '-') !== false) {
1700
+					list ($for, $higher) = explode('-', $for);
1701
+		}
1606 1702
 
1607 1703
 		// Do the compare, if the for is greater, than what we have but not greater than what we are running .....
1608
-		if (compareVersions($near_version, $for) === -1 && compareVersions($for, $the_version) !== 1)
1609
-			$near_version = $for;
1704
+		if (compareVersions($near_version, $for) === -1 && compareVersions($for, $the_version) !== 1) {
1705
+					$near_version = $for;
1706
+		}
1610 1707
 	}
1611 1708
 
1612 1709
 	return !empty($near_version) ? $near_version : false;
@@ -1629,15 +1726,17 @@  discard block
 block discarded – undo
1629 1726
 	$versions = explode(',', str_replace(array(' ', '2.0rc1-1'), array('', '2.0rc1.1'), strtolower($versions)));
1630 1727
 
1631 1728
 	// Perhaps we do accept anything?
1632
-	if (in_array('all', $versions))
1633
-		return true;
1729
+	if (in_array('all', $versions)) {
1730
+			return true;
1731
+	}
1634 1732
 
1635 1733
 	// Loop through each version.
1636 1734
 	foreach ($versions as $for)
1637 1735
 	{
1638 1736
 		// Wild card spotted?
1639
-		if (strpos($for, '*') !== false)
1640
-			$for = str_replace('*', '0dev0', $for) . '-' . str_replace('*', '999', $for);
1737
+		if (strpos($for, '*') !== false) {
1738
+					$for = str_replace('*', '0dev0', $for) . '-' . str_replace('*', '999', $for);
1739
+		}
1641 1740
 
1642 1741
 		// Do we have a range?
1643 1742
 		if (strpos($for, '-') !== false)
@@ -1645,12 +1744,14 @@  discard block
 block discarded – undo
1645 1744
 			list ($lower, $upper) = explode('-', $for);
1646 1745
 
1647 1746
 			// Compare the version against lower and upper bounds.
1648
-			if (compareVersions($version, $lower) > -1 && compareVersions($version, $upper) < 1)
1649
-				return true;
1747
+			if (compareVersions($version, $lower) > -1 && compareVersions($version, $upper) < 1) {
1748
+							return true;
1749
+			}
1650 1750
 		}
1651 1751
 		// Otherwise check if they are equal...
1652
-		elseif (compareVersions($version, $for) === 0)
1653
-			return true;
1752
+		elseif (compareVersions($version, $for) === 0) {
1753
+					return true;
1754
+		}
1654 1755
 	}
1655 1756
 
1656 1757
 	return false;
@@ -1690,12 +1791,14 @@  discard block
 block discarded – undo
1690 1791
 	}
1691 1792
 
1692 1793
 	// Are they the same, perhaps?
1693
-	if ($versions[1] === $versions[2])
1694
-		return 0;
1794
+	if ($versions[1] === $versions[2]) {
1795
+			return 0;
1796
+	}
1695 1797
 
1696 1798
 	// Get version numbering categories...
1697
-	if (!isset($categories))
1698
-		$categories = array_keys($versions[1]);
1799
+	if (!isset($categories)) {
1800
+			$categories = array_keys($versions[1]);
1801
+	}
1699 1802
 
1700 1803
 	// Loop through each category.
1701 1804
 	foreach ($categories as $category)
@@ -1705,13 +1808,15 @@  discard block
 block discarded – undo
1705 1808
 		{
1706 1809
 			// Dev builds are a problematic exception.
1707 1810
 			// (stable) dev < (stable) but (unstable) dev = (unstable)
1708
-			if ($category == 'type')
1709
-				return $versions[1][$category] > $versions[2][$category] ? ($versions[1]['dev'] ? -1 : 1) : ($versions[2]['dev'] ? 1 : -1);
1710
-			elseif ($category == 'dev')
1711
-				return $versions[1]['dev'] ? ($versions[2]['type'] == 'stable' ? -1 : 0) : ($versions[1]['type'] == 'stable' ? 1 : 0);
1811
+			if ($category == 'type') {
1812
+							return $versions[1][$category] > $versions[2][$category] ? ($versions[1]['dev'] ? -1 : 1) : ($versions[2]['dev'] ? 1 : -1);
1813
+			} elseif ($category == 'dev') {
1814
+							return $versions[1]['dev'] ? ($versions[2]['type'] == 'stable' ? -1 : 0) : ($versions[1]['type'] == 'stable' ? 1 : 0);
1815
+			}
1712 1816
 			// Otherwise a simple comparison.
1713
-			else
1714
-				return $versions[1][$category] > $versions[2][$category] ? 1 : -1;
1817
+			else {
1818
+							return $versions[1][$category] > $versions[2][$category] ? 1 : -1;
1819
+			}
1715 1820
 		}
1716 1821
 	}
1717 1822
 
@@ -1745,11 +1850,13 @@  discard block
 block discarded – undo
1745 1850
 	);
1746 1851
 
1747 1852
 	// do we parse in a package directory?
1748
-	if (!empty($temp_path))
1749
-		$dirs['$package'] = $temp_path;
1853
+	if (!empty($temp_path)) {
1854
+			$dirs['$package'] = $temp_path;
1855
+	}
1750 1856
 
1751
-	if (strlen($path) == 0)
1752
-		trigger_error('parse_path(): There should never be an empty filename', E_USER_ERROR);
1857
+	if (strlen($path) == 0) {
1858
+			trigger_error('parse_path(): There should never be an empty filename', E_USER_ERROR);
1859
+	}
1753 1860
 
1754 1861
 	return strtr($path, $dirs);
1755 1862
 }
@@ -1766,8 +1873,9 @@  discard block
 block discarded – undo
1766 1873
 	/** @var ftp_connection $package_ftp */
1767 1874
 	global $package_ftp;
1768 1875
 
1769
-	if (!file_exists($dir))
1770
-		return;
1876
+	if (!file_exists($dir)) {
1877
+			return;
1878
+	}
1771 1879
 
1772 1880
 	$current_dir = @opendir($dir);
1773 1881
 	if ($current_dir == false)
@@ -1775,8 +1883,9 @@  discard block
 block discarded – undo
1775 1883
 		if ($delete_dir && isset($package_ftp))
1776 1884
 		{
1777 1885
 			$ftp_file = strtr($dir, array($_SESSION['pack_ftp']['root'] => ''));
1778
-			if (!is_dir($dir))
1779
-				$package_ftp->chmod($ftp_file, 0777);
1886
+			if (!is_dir($dir)) {
1887
+							$package_ftp->chmod($ftp_file, 0777);
1888
+			}
1780 1889
 			$package_ftp->unlink($ftp_file);
1781 1890
 		}
1782 1891
 
@@ -1785,26 +1894,28 @@  discard block
 block discarded – undo
1785 1894
 
1786 1895
 	while ($entryname = readdir($current_dir))
1787 1896
 	{
1788
-		if (in_array($entryname, array('.', '..')))
1789
-			continue;
1897
+		if (in_array($entryname, array('.', '..'))) {
1898
+					continue;
1899
+		}
1790 1900
 
1791
-		if (is_dir($dir . '/' . $entryname))
1792
-			deltree($dir . '/' . $entryname);
1793
-		else
1901
+		if (is_dir($dir . '/' . $entryname)) {
1902
+					deltree($dir . '/' . $entryname);
1903
+		} else
1794 1904
 		{
1795 1905
 			// Here, 755 doesn't really matter since we're deleting it anyway.
1796 1906
 			if (isset($package_ftp))
1797 1907
 			{
1798 1908
 				$ftp_file = strtr($dir . '/' . $entryname, array($_SESSION['pack_ftp']['root'] => ''));
1799 1909
 
1800
-				if (!is_writable($dir . '/' . $entryname))
1801
-					$package_ftp->chmod($ftp_file, 0777);
1910
+				if (!is_writable($dir . '/' . $entryname)) {
1911
+									$package_ftp->chmod($ftp_file, 0777);
1912
+				}
1802 1913
 				$package_ftp->unlink($ftp_file);
1803
-			}
1804
-			else
1914
+			} else
1805 1915
 			{
1806
-				if (!is_writable($dir . '/' . $entryname))
1807
-					smf_chmod($dir . '/' . $entryname, 0777);
1916
+				if (!is_writable($dir . '/' . $entryname)) {
1917
+									smf_chmod($dir . '/' . $entryname, 0777);
1918
+				}
1808 1919
 				unlink($dir . '/' . $entryname);
1809 1920
 			}
1810 1921
 		}
@@ -1817,14 +1928,15 @@  discard block
 block discarded – undo
1817 1928
 		if (isset($package_ftp))
1818 1929
 		{
1819 1930
 			$ftp_file = strtr($dir, array($_SESSION['pack_ftp']['root'] => ''));
1820
-			if (!is_writable($dir . '/' . $entryname))
1821
-				$package_ftp->chmod($ftp_file, 0777);
1931
+			if (!is_writable($dir . '/' . $entryname)) {
1932
+							$package_ftp->chmod($ftp_file, 0777);
1933
+			}
1822 1934
 			$package_ftp->unlink($ftp_file);
1823
-		}
1824
-		else
1935
+		} else
1825 1936
 		{
1826
-			if (!is_writable($dir))
1827
-				smf_chmod($dir, 0777);
1937
+			if (!is_writable($dir)) {
1938
+							smf_chmod($dir, 0777);
1939
+			}
1828 1940
 			@rmdir($dir);
1829 1941
 		}
1830 1942
 	}
@@ -1847,10 +1959,11 @@  discard block
 block discarded – undo
1847 1959
 	{
1848 1960
 		if (!is_writable($strPath) && $mode !== false)
1849 1961
 		{
1850
-			if (isset($package_ftp))
1851
-				$package_ftp->chmod(strtr($strPath, array($_SESSION['pack_ftp']['root'] => '')), $mode);
1852
-			else
1853
-				smf_chmod($strPath, $mode);
1962
+			if (isset($package_ftp)) {
1963
+							$package_ftp->chmod(strtr($strPath, array($_SESSION['pack_ftp']['root'] => '')), $mode);
1964
+			} else {
1965
+							smf_chmod($strPath, $mode);
1966
+			}
1854 1967
 		}
1855 1968
 
1856 1969
 		$test = @opendir($strPath);
@@ -1858,36 +1971,37 @@  discard block
 block discarded – undo
1858 1971
 		{
1859 1972
 			closedir($test);
1860 1973
 			return is_writable($strPath);
1974
+		} else {
1975
+					return false;
1861 1976
 		}
1862
-		else
1863
-			return false;
1864 1977
 	}
1865 1978
 	// Is this an invalid path and/or we can't make the directory?
1866
-	if ($strPath == dirname($strPath) || !mktree(dirname($strPath), $mode))
1867
-		return false;
1979
+	if ($strPath == dirname($strPath) || !mktree(dirname($strPath), $mode)) {
1980
+			return false;
1981
+	}
1868 1982
 
1869 1983
 	if (!is_writable(dirname($strPath)) && $mode !== false)
1870 1984
 	{
1871
-		if (isset($package_ftp))
1872
-			$package_ftp->chmod(dirname(strtr($strPath, array($_SESSION['pack_ftp']['root'] => ''))), $mode);
1873
-		else
1874
-			smf_chmod(dirname($strPath), $mode);
1985
+		if (isset($package_ftp)) {
1986
+					$package_ftp->chmod(dirname(strtr($strPath, array($_SESSION['pack_ftp']['root'] => ''))), $mode);
1987
+		} else {
1988
+					smf_chmod(dirname($strPath), $mode);
1989
+		}
1875 1990
 	}
1876 1991
 
1877
-	if ($mode !== false && isset($package_ftp))
1878
-		return $package_ftp->create_dir(strtr($strPath, array($_SESSION['pack_ftp']['root'] => '')));
1879
-	elseif ($mode === false)
1992
+	if ($mode !== false && isset($package_ftp)) {
1993
+			return $package_ftp->create_dir(strtr($strPath, array($_SESSION['pack_ftp']['root'] => '')));
1994
+	} elseif ($mode === false)
1880 1995
 	{
1881 1996
 		$test = @opendir(dirname($strPath));
1882 1997
 		if ($test)
1883 1998
 		{
1884 1999
 			closedir($test);
1885 2000
 			return true;
2001
+		} else {
2002
+					return false;
1886 2003
 		}
1887
-		else
1888
-			return false;
1889
-	}
1890
-	else
2004
+	} else
1891 2005
 	{
1892 2006
 		@mkdir($strPath, $mode);
1893 2007
 		$test = @opendir($strPath);
@@ -1895,9 +2009,9 @@  discard block
 block discarded – undo
1895 2009
 		{
1896 2010
 			closedir($test);
1897 2011
 			return true;
2012
+		} else {
2013
+					return false;
1898 2014
 		}
1899
-		else
1900
-			return false;
1901 2015
 	}
1902 2016
 }
1903 2017
 
@@ -1913,39 +2027,46 @@  discard block
 block discarded – undo
1913 2027
 	/** @var ftp_connection $package_ftp */
1914 2028
 	global $package_ftp;
1915 2029
 
1916
-	if (!file_exists($destination) || !is_writable($destination))
1917
-		mktree($destination, 0755);
1918
-	if (!is_writable($destination))
1919
-		mktree($destination, 0777);
2030
+	if (!file_exists($destination) || !is_writable($destination)) {
2031
+			mktree($destination, 0755);
2032
+	}
2033
+	if (!is_writable($destination)) {
2034
+			mktree($destination, 0777);
2035
+	}
1920 2036
 
1921 2037
 	$current_dir = opendir($source);
1922
-	if ($current_dir == false)
1923
-		return;
2038
+	if ($current_dir == false) {
2039
+			return;
2040
+	}
1924 2041
 
1925 2042
 	while ($entryname = readdir($current_dir))
1926 2043
 	{
1927
-		if (in_array($entryname, array('.', '..')))
1928
-			continue;
2044
+		if (in_array($entryname, array('.', '..'))) {
2045
+					continue;
2046
+		}
1929 2047
 
1930
-		if (isset($package_ftp))
1931
-			$ftp_file = strtr($destination . '/' . $entryname, array($_SESSION['pack_ftp']['root'] => ''));
2048
+		if (isset($package_ftp)) {
2049
+					$ftp_file = strtr($destination . '/' . $entryname, array($_SESSION['pack_ftp']['root'] => ''));
2050
+		}
1932 2051
 
1933 2052
 		if (is_file($source . '/' . $entryname))
1934 2053
 		{
1935
-			if (isset($package_ftp) && !file_exists($destination . '/' . $entryname))
1936
-				$package_ftp->create_file($ftp_file);
1937
-			elseif (!file_exists($destination . '/' . $entryname))
1938
-				@touch($destination . '/' . $entryname);
2054
+			if (isset($package_ftp) && !file_exists($destination . '/' . $entryname)) {
2055
+							$package_ftp->create_file($ftp_file);
2056
+			} elseif (!file_exists($destination . '/' . $entryname)) {
2057
+							@touch($destination . '/' . $entryname);
2058
+			}
1939 2059
 		}
1940 2060
 
1941 2061
 		package_chmod($destination . '/' . $entryname);
1942 2062
 
1943
-		if (is_dir($source . '/' . $entryname))
1944
-			copytree($source . '/' . $entryname, $destination . '/' . $entryname);
1945
-		elseif (file_exists($destination . '/' . $entryname))
1946
-			package_put_contents($destination . '/' . $entryname, package_get_contents($source . '/' . $entryname));
1947
-		else
1948
-			copy($source . '/' . $entryname, $destination . '/' . $entryname);
2063
+		if (is_dir($source . '/' . $entryname)) {
2064
+					copytree($source . '/' . $entryname, $destination . '/' . $entryname);
2065
+		} elseif (file_exists($destination . '/' . $entryname)) {
2066
+					package_put_contents($destination . '/' . $entryname, package_get_contents($source . '/' . $entryname));
2067
+		} else {
2068
+					copy($source . '/' . $entryname, $destination . '/' . $entryname);
2069
+		}
1949 2070
 	}
1950 2071
 
1951 2072
 	closedir($current_dir);
@@ -1963,21 +2084,24 @@  discard block
 block discarded – undo
1963 2084
 	$data = array();
1964 2085
 
1965 2086
 	$dir = @dir($path . $sub_path);
1966
-	if (!$dir)
1967
-		return array();
2087
+	if (!$dir) {
2088
+			return array();
2089
+	}
1968 2090
 	while ($entry = $dir->read())
1969 2091
 	{
1970
-		if ($entry == '.' || $entry == '..')
1971
-			continue;
2092
+		if ($entry == '.' || $entry == '..') {
2093
+					continue;
2094
+		}
1972 2095
 
1973
-		if (is_dir($path . $sub_path . '/' . $entry))
1974
-			$data = array_merge($data, listtree($path, $sub_path . '/' . $entry));
1975
-		else
1976
-			$data[] = array(
2096
+		if (is_dir($path . $sub_path . '/' . $entry)) {
2097
+					$data = array_merge($data, listtree($path, $sub_path . '/' . $entry));
2098
+		} else {
2099
+					$data[] = array(
1977 2100
 				'filename' => $sub_path == '' ? $entry : $sub_path . '/' . $entry,
1978 2101
 				'size' => filesize($path . $sub_path . '/' . $entry),
1979 2102
 				'skipped' => false,
1980 2103
 			);
2104
+		}
1981 2105
 	}
1982 2106
 	$dir->close();
1983 2107
 
@@ -2032,8 +2156,9 @@  discard block
 block discarded – undo
2032 2156
 		{
2033 2157
 			// If this filename is relative, if so take a guess at what it should be.
2034 2158
 			$real_filename = $filename;
2035
-			if (strpos($filename, 'Themes') === 0)
2036
-				$real_filename = $boarddir . '/' . $filename;
2159
+			if (strpos($filename, 'Themes') === 0) {
2160
+							$real_filename = $boarddir . '/' . $filename;
2161
+			}
2037 2162
 
2038 2163
 			if (strpos($real_filename, $theme['theme_dir']) === 0)
2039 2164
 			{
@@ -2052,8 +2177,9 @@  discard block
 block discarded – undo
2052 2177
 		foreach ($theme_paths as $id => $theme)
2053 2178
 		{
2054 2179
 			// Default is getting done anyway, so no need for involvement here.
2055
-			if ($id == 1)
2056
-				continue;
2180
+			if ($id == 1) {
2181
+							continue;
2182
+			}
2057 2183
 
2058 2184
 			// For every template, do we want it? Yea, no, maybe?
2059 2185
 			foreach ($template_changes[1] as $index => $template_file)
@@ -2076,8 +2202,9 @@  discard block
 block discarded – undo
2076 2202
 		);
2077 2203
 
2078 2204
 		// Sometimes though, we have some additional files for other themes, if we have add them to the mix.
2079
-		if (isset($custom_themes_add[$files_to_change[1]]))
2080
-			$files_to_change += $custom_themes_add[$files_to_change[1]];
2205
+		if (isset($custom_themes_add[$files_to_change[1]])) {
2206
+					$files_to_change += $custom_themes_add[$files_to_change[1]];
2207
+		}
2081 2208
 
2082 2209
 		// Now, loop through all the files we're changing, and, well, change them ;)
2083 2210
 		foreach ($files_to_change as $theme => $working_file)
@@ -2111,11 +2238,13 @@  discard block
 block discarded – undo
2111 2238
 				continue;
2112 2239
 			}
2113 2240
 			// Okay, we're creating this file then...?
2114
-			elseif (!file_exists($working_file))
2115
-				$working_data = '';
2241
+			elseif (!file_exists($working_file)) {
2242
+							$working_data = '';
2243
+			}
2116 2244
 			// Phew, it exists!  Load 'er up!
2117
-			else
2118
-				$working_data = str_replace("\r", '', package_get_contents($working_file));
2245
+			else {
2246
+							$working_data = str_replace("\r", '', package_get_contents($working_file));
2247
+			}
2119 2248
 
2120 2249
 			$actions[] = array(
2121 2250
 				'type' => 'opened',
@@ -2136,8 +2265,8 @@  discard block
 block discarded – undo
2136 2265
 
2137 2266
 				// Grab all search items of this operation (in most cases just 1).
2138 2267
 				$searches = $operation->set('search');
2139
-				foreach ($searches as $i => $search)
2140
-					$actual_operation['searches'][] = array(
2268
+				foreach ($searches as $i => $search) {
2269
+									$actual_operation['searches'][] = array(
2141 2270
 						'position' => $search->exists('@position') && in_array(trim($search->fetch('@position')), array('before', 'after', 'replace', 'end')) ? trim($search->fetch('@position')) : 'replace',
2142 2271
 						'is_reg_exp' => $search->exists('@regexp') && trim($search->fetch('@regexp')) === 'true',
2143 2272
 						'loose_whitespace' => $search->exists('@whitespace') && trim($search->fetch('@whitespace')) === 'loose',
@@ -2146,6 +2275,7 @@  discard block
 block discarded – undo
2146 2275
 						'preg_search' => '',
2147 2276
 						'preg_replace' => '',
2148 2277
 					);
2278
+				}
2149 2279
 
2150 2280
 				// At least one search should be defined.
2151 2281
 				if (empty($actual_operation['searches']))
@@ -2169,30 +2299,32 @@  discard block
 block discarded – undo
2169 2299
 						// Reverse modification of regular expressions are not allowed.
2170 2300
 						if ($search['is_reg_exp'])
2171 2301
 						{
2172
-							if ($actual_operation['error'] === 'fatal')
2173
-								$actions[] = array(
2302
+							if ($actual_operation['error'] === 'fatal') {
2303
+															$actions[] = array(
2174 2304
 									'type' => 'failure',
2175 2305
 									'filename' => $working_file,
2176 2306
 									'search' => $search['search'],
2177 2307
 									'is_custom' => $theme > 1 ? $theme : 0,
2178 2308
 								);
2309
+							}
2179 2310
 
2180 2311
 							// Continue to the next operation.
2181 2312
 							continue 2;
2182 2313
 						}
2183 2314
 
2184 2315
 						// The replacement is now the search subject...
2185
-						if ($search['position'] === 'replace' || $search['position'] === 'end')
2186
-							$actual_operation['searches'][$i]['search'] = $search['add'];
2187
-						else
2316
+						if ($search['position'] === 'replace' || $search['position'] === 'end') {
2317
+													$actual_operation['searches'][$i]['search'] = $search['add'];
2318
+						} else
2188 2319
 						{
2189 2320
 							// Reversing a before/after modification becomes a replacement.
2190 2321
 							$actual_operation['searches'][$i]['position'] = 'replace';
2191 2322
 
2192
-							if ($search['position'] === 'before')
2193
-								$actual_operation['searches'][$i]['search'] .= $search['add'];
2194
-							elseif ($search['position'] === 'after')
2195
-								$actual_operation['searches'][$i]['search'] = $search['add'] . $search['search'];
2323
+							if ($search['position'] === 'before') {
2324
+															$actual_operation['searches'][$i]['search'] .= $search['add'];
2325
+							} elseif ($search['position'] === 'after') {
2326
+															$actual_operation['searches'][$i]['search'] = $search['add'] . $search['search'];
2327
+							}
2196 2328
 						}
2197 2329
 
2198 2330
 						// ...and the search subject is now the replacement.
@@ -2220,16 +2352,17 @@  discard block
 block discarded – undo
2220 2352
 				foreach ($actual_operation['searches'] as $i => $search)
2221 2353
 				{
2222 2354
 					// Not much needed if the search subject is already a regexp.
2223
-					if ($search['is_reg_exp'])
2224
-						$actual_operation['searches'][$i]['preg_search'] = $search['search'];
2225
-					else
2355
+					if ($search['is_reg_exp']) {
2356
+											$actual_operation['searches'][$i]['preg_search'] = $search['search'];
2357
+					} else
2226 2358
 					{
2227 2359
 						// Make the search subject fit into a regular expression.
2228 2360
 						$actual_operation['searches'][$i]['preg_search'] = preg_quote($search['search'], '~');
2229 2361
 
2230 2362
 						// Using 'loose', a random amount of tabs and spaces may be used.
2231
-						if ($search['loose_whitespace'])
2232
-							$actual_operation['searches'][$i]['preg_search'] = preg_replace('~[ \t]+~', '[ \t]+', $actual_operation['searches'][$i]['preg_search']);
2363
+						if ($search['loose_whitespace']) {
2364
+													$actual_operation['searches'][$i]['preg_search'] = preg_replace('~[ \t]+~', '[ \t]+', $actual_operation['searches'][$i]['preg_search']);
2365
+						}
2233 2366
 					}
2234 2367
 
2235 2368
 					// Shuzzup.  This is done so we can safely use a regular expression. ($0 is bad!!)
@@ -2255,8 +2388,7 @@  discard block
 block discarded – undo
2255 2388
 						if ($undo)
2256 2389
 						{
2257 2390
 							$actual_operation['searches'][$i]['preg_replace'] = '';
2258
-						}
2259
-						else
2391
+						} else
2260 2392
 						{
2261 2393
 							$actual_operation['searches'][$i]['preg_search'] = '(\\n\\?\\>)?$';
2262 2394
 							$actual_operation['searches'][$i]['preg_replace'] .= '$1';
@@ -2303,8 +2435,9 @@  discard block
 block discarded – undo
2303 2435
 					}
2304 2436
 
2305 2437
 					// Replace it into nothing? That's not an option...unless it's an undoing end.
2306
-					if ($search['add'] === '' && ($search['position'] !== 'end' || !$undo))
2307
-						continue;
2438
+					if ($search['add'] === '' && ($search['position'] !== 'end' || !$undo)) {
2439
+											continue;
2440
+					}
2308 2441
 
2309 2442
 					// Finally, we're doing some replacements.
2310 2443
 					$working_data = preg_replace('~' . $actual_operation['searches'][$i]['preg_search'] . '~s', $actual_operation['searches'][$i]['preg_replace'], $working_data, 1);
@@ -2329,22 +2462,25 @@  discard block
 block discarded – undo
2329 2462
 
2330 2463
 			package_chmod($working_file);
2331 2464
 
2332
-			if ((file_exists($working_file) && !is_writable($working_file)) || (!file_exists($working_file) && !is_writable(dirname($working_file))))
2333
-				$actions[] = array(
2465
+			if ((file_exists($working_file) && !is_writable($working_file)) || (!file_exists($working_file) && !is_writable(dirname($working_file)))) {
2466
+							$actions[] = array(
2334 2467
 					'type' => 'chmod',
2335 2468
 					'filename' => $working_file
2336 2469
 				);
2470
+			}
2337 2471
 
2338
-			if (basename($working_file) == 'Settings_bak.php')
2339
-				continue;
2472
+			if (basename($working_file) == 'Settings_bak.php') {
2473
+							continue;
2474
+			}
2340 2475
 
2341 2476
 			if (!$testing && !empty($modSettings['package_make_backups']) && file_exists($working_file))
2342 2477
 			{
2343 2478
 				// No, no, not Settings.php!
2344
-				if (basename($working_file) == 'Settings.php')
2345
-					@copy($working_file, dirname($working_file) . '/Settings_bak.php');
2346
-				else
2347
-					@copy($working_file, $working_file . '~');
2479
+				if (basename($working_file) == 'Settings.php') {
2480
+									@copy($working_file, dirname($working_file) . '/Settings_bak.php');
2481
+				} else {
2482
+									@copy($working_file, $working_file . '~');
2483
+				}
2348 2484
 			}
2349 2485
 
2350 2486
 			// Always call this, even if in testing, because it won't really be written in testing mode.
@@ -2411,8 +2547,9 @@  discard block
 block discarded – undo
2411 2547
 		if ($code_match[1] != 'edit file' && $code_match[1] != 'file')
2412 2548
 		{
2413 2549
 			// It's a step, let's add that to the current steps.
2414
-			if (isset($temp_changes[$step_counter]))
2415
-				$temp_changes[$step_counter]['changes'][] = $code_match[0];
2550
+			if (isset($temp_changes[$step_counter])) {
2551
+							$temp_changes[$step_counter]['changes'][] = $code_match[0];
2552
+			}
2416 2553
 			continue;
2417 2554
 		}
2418 2555
 
@@ -2429,11 +2566,13 @@  discard block
 block discarded – undo
2429 2566
 		foreach ($theme_paths as $id => $theme)
2430 2567
 		{
2431 2568
 			// If this filename is relative, if so take a guess at what it should be.
2432
-			if (strpos($filename, 'Themes') === 0)
2433
-				$filename = $boarddir . '/' . $filename;
2569
+			if (strpos($filename, 'Themes') === 0) {
2570
+							$filename = $boarddir . '/' . $filename;
2571
+			}
2434 2572
 
2435
-			if (strpos($filename, $theme['theme_dir']) === 0)
2436
-				$template_changes[$id][$counter] = substr($filename, strlen($theme['theme_dir']) + 1);
2573
+			if (strpos($filename, $theme['theme_dir']) === 0) {
2574
+							$template_changes[$id][$counter] = substr($filename, strlen($theme['theme_dir']) + 1);
2575
+			}
2437 2576
 		}
2438 2577
 	}
2439 2578
 
@@ -2446,8 +2585,9 @@  discard block
 block discarded – undo
2446 2585
 		foreach ($theme_paths as $id => $theme)
2447 2586
 		{
2448 2587
 			// Don't do default, it means nothing to me.
2449
-			if ($id == 1)
2450
-				continue;
2588
+			if ($id == 1) {
2589
+							continue;
2590
+			}
2451 2591
 
2452 2592
 			// Now, for each file do we need to edit it?
2453 2593
 			foreach ($template_changes[1] as $pos => $template_file)
@@ -2483,32 +2623,36 @@  discard block
 block discarded – undo
2483 2623
 				package_chmod($working_file);
2484 2624
 
2485 2625
 				// Don't even dare.
2486
-				if (basename($working_file) == 'Settings_bak.php')
2487
-					continue;
2626
+				if (basename($working_file) == 'Settings_bak.php') {
2627
+									continue;
2628
+				}
2488 2629
 
2489
-				if (!is_writable($working_file))
2490
-					$actions[] = array(
2630
+				if (!is_writable($working_file)) {
2631
+									$actions[] = array(
2491 2632
 						'type' => 'chmod',
2492 2633
 						'filename' => $working_file
2493 2634
 					);
2635
+				}
2494 2636
 
2495 2637
 				if (!$testing && !empty($modSettings['package_make_backups']) && file_exists($working_file))
2496 2638
 				{
2497
-					if (basename($working_file) == 'Settings.php')
2498
-						@copy($working_file, dirname($working_file) . '/Settings_bak.php');
2499
-					else
2500
-						@copy($working_file, $working_file . '~');
2639
+					if (basename($working_file) == 'Settings.php') {
2640
+											@copy($working_file, dirname($working_file) . '/Settings_bak.php');
2641
+					} else {
2642
+											@copy($working_file, $working_file . '~');
2643
+					}
2501 2644
 				}
2502 2645
 
2503 2646
 				package_put_contents($working_file, $working_data, $testing);
2504 2647
 			}
2505 2648
 
2506
-			if ($working_file !== null)
2507
-				$actions[] = array(
2649
+			if ($working_file !== null) {
2650
+							$actions[] = array(
2508 2651
 					'type' => 'saved',
2509 2652
 					'filename' => $working_file,
2510 2653
 					'is_custom' => $is_custom,
2511 2654
 				);
2655
+			}
2512 2656
 
2513 2657
 			// Is this "now working on" file a theme specific one?
2514 2658
 			$is_custom = isset($theme_id_ref[$counter - 1]) ? $theme_id_ref[$counter - 1] : 0;
@@ -2527,10 +2671,11 @@  discard block
 block discarded – undo
2527 2671
 			{
2528 2672
 				$places_to_check = array($boarddir, $sourcedir, $settings['default_theme_dir'], $settings['default_theme_dir'] . '/languages');
2529 2673
 
2530
-				foreach ($places_to_check as $place)
2531
-					if (file_exists($place . '/' . $working_file))
2674
+				foreach ($places_to_check as $place) {
2675
+									if (file_exists($place . '/' . $working_file))
2532 2676
 					{
2533 2677
 						$working_file = $place . '/' . $working_file;
2678
+				}
2534 2679
 						break;
2535 2680
 					}
2536 2681
 			}
@@ -2544,8 +2689,7 @@  discard block
 block discarded – undo
2544 2689
 					'type' => 'opened',
2545 2690
 					'filename' => $working_file
2546 2691
 				);
2547
-			}
2548
-			else
2692
+			} else
2549 2693
 			{
2550 2694
 				$actions[] = array(
2551 2695
 					'type' => 'missing',
@@ -2581,11 +2725,13 @@  discard block
 block discarded – undo
2581 2725
 			$replace_with = $code_match[2];
2582 2726
 
2583 2727
 			// Add this afterward...
2584
-			if ($code_match[1] == 'add' || $code_match[1] == 'add after')
2585
-				$replace_with = $working_search . "\n" . $replace_with;
2728
+			if ($code_match[1] == 'add' || $code_match[1] == 'add after') {
2729
+							$replace_with = $working_search . "\n" . $replace_with;
2730
+			}
2586 2731
 			// Add this beforehand.
2587
-			elseif ($code_match[1] == 'before' || $code_match[1] == 'add before' || $code_match[1] == 'above' || $code_match[1] == 'add above')
2588
-				$replace_with .= "\n" . $working_search;
2732
+			elseif ($code_match[1] == 'before' || $code_match[1] == 'add before' || $code_match[1] == 'above' || $code_match[1] == 'add above') {
2733
+							$replace_with .= "\n" . $working_search;
2734
+			}
2589 2735
 			// Otherwise.. replace with $replace_with ;).
2590 2736
 		}
2591 2737
 
@@ -2648,29 +2794,32 @@  discard block
 block discarded – undo
2648 2794
 	{
2649 2795
 		package_chmod($working_file);
2650 2796
 
2651
-		if (!is_writable($working_file))
2652
-			$actions[] = array(
2797
+		if (!is_writable($working_file)) {
2798
+					$actions[] = array(
2653 2799
 				'type' => 'chmod',
2654 2800
 				'filename' => $working_file
2655 2801
 			);
2802
+		}
2656 2803
 
2657 2804
 		if (!$testing && !empty($modSettings['package_make_backups']) && file_exists($working_file))
2658 2805
 		{
2659
-			if (basename($working_file) == 'Settings.php')
2660
-				@copy($working_file, dirname($working_file) . '/Settings_bak.php');
2661
-			else
2662
-				@copy($working_file, $working_file . '~');
2806
+			if (basename($working_file) == 'Settings.php') {
2807
+							@copy($working_file, dirname($working_file) . '/Settings_bak.php');
2808
+			} else {
2809
+							@copy($working_file, $working_file . '~');
2810
+			}
2663 2811
 		}
2664 2812
 
2665 2813
 		package_put_contents($working_file, $working_data, $testing);
2666 2814
 	}
2667 2815
 
2668
-	if ($working_file !== null)
2669
-		$actions[] = array(
2816
+	if ($working_file !== null) {
2817
+			$actions[] = array(
2670 2818
 			'type' => 'saved',
2671 2819
 			'filename' => $working_file,
2672 2820
 			'is_custom' => $is_custom,
2673 2821
 		);
2822
+	}
2674 2823
 
2675 2824
 	$actions[] = array(
2676 2825
 		'type' => 'result',
@@ -2695,17 +2844,19 @@  discard block
 block discarded – undo
2695 2844
 		$mem_check = setMemoryLimit('128M');
2696 2845
 
2697 2846
 		// Windows doesn't seem to care about the memory_limit.
2698
-		if (!empty($modSettings['package_disable_cache']) || $mem_check || stripos(PHP_OS, 'win') !== false)
2699
-			$package_cache = array();
2700
-		else
2701
-			$package_cache = false;
2847
+		if (!empty($modSettings['package_disable_cache']) || $mem_check || stripos(PHP_OS, 'win') !== false) {
2848
+					$package_cache = array();
2849
+		} else {
2850
+					$package_cache = false;
2851
+		}
2702 2852
 	}
2703 2853
 
2704
-	if (strpos($filename, 'Packages/') !== false || $package_cache === false || !isset($package_cache[$filename]))
2705
-		return file_get_contents($filename);
2706
-	else
2707
-		return $package_cache[$filename];
2708
-}
2854
+	if (strpos($filename, 'Packages/') !== false || $package_cache === false || !isset($package_cache[$filename])) {
2855
+			return file_get_contents($filename);
2856
+	} else {
2857
+			return $package_cache[$filename];
2858
+	}
2859
+	}
2709 2860
 
2710 2861
 /**
2711 2862
  * Writes data to a file, almost exactly like the file_put_contents() function.
@@ -2729,19 +2880,22 @@  discard block
 block discarded – undo
2729 2880
 		// Try to increase the memory limit - we don't want to run out of ram!
2730 2881
 		$mem_check = setMemoryLimit('128M');
2731 2882
 
2732
-		if (!empty($modSettings['package_disable_cache']) || $mem_check || stripos(PHP_OS, 'win') !== false)
2733
-			$package_cache = array();
2734
-		else
2735
-			$package_cache = false;
2883
+		if (!empty($modSettings['package_disable_cache']) || $mem_check || stripos(PHP_OS, 'win') !== false) {
2884
+					$package_cache = array();
2885
+		} else {
2886
+					$package_cache = false;
2887
+		}
2736 2888
 	}
2737 2889
 
2738
-	if (isset($package_ftp))
2739
-		$ftp_file = strtr($filename, array($_SESSION['pack_ftp']['root'] => ''));
2890
+	if (isset($package_ftp)) {
2891
+			$ftp_file = strtr($filename, array($_SESSION['pack_ftp']['root'] => ''));
2892
+	}
2740 2893
 
2741
-	if (!file_exists($filename) && isset($package_ftp))
2742
-		$package_ftp->create_file($ftp_file);
2743
-	elseif (!file_exists($filename))
2744
-		@touch($filename);
2894
+	if (!file_exists($filename) && isset($package_ftp)) {
2895
+			$package_ftp->create_file($ftp_file);
2896
+	} elseif (!file_exists($filename)) {
2897
+			@touch($filename);
2898
+	}
2745 2899
 
2746 2900
 	package_chmod($filename);
2747 2901
 
@@ -2750,22 +2904,23 @@  discard block
 block discarded – undo
2750 2904
 		$fp = @fopen($filename, in_array(substr($filename, -3), $text_filetypes) ? 'w' : 'wb');
2751 2905
 
2752 2906
 		// We should show an error message or attempt a rollback, no?
2753
-		if (!$fp)
2754
-			return false;
2907
+		if (!$fp) {
2908
+					return false;
2909
+		}
2755 2910
 
2756 2911
 		fwrite($fp, $data);
2757 2912
 		fclose($fp);
2758
-	}
2759
-	elseif (strpos($filename, 'Packages/') !== false || $package_cache === false)
2760
-		return strlen($data);
2761
-	else
2913
+	} elseif (strpos($filename, 'Packages/') !== false || $package_cache === false) {
2914
+			return strlen($data);
2915
+	} else
2762 2916
 	{
2763 2917
 		$package_cache[$filename] = $data;
2764 2918
 
2765 2919
 		// Permission denied, eh?
2766 2920
 		$fp = @fopen($filename, 'r+');
2767
-		if (!$fp)
2768
-			return false;
2921
+		if (!$fp) {
2922
+					return false;
2923
+		}
2769 2924
 		fclose($fp);
2770 2925
 	}
2771 2926
 
@@ -2783,19 +2938,22 @@  discard block
 block discarded – undo
2783 2938
 	global $package_ftp, $package_cache;
2784 2939
 	static $text_filetypes = array('php', 'txt', '.js', 'css', 'vbs', 'tml', 'htm');
2785 2940
 
2786
-	if (empty($package_cache))
2787
-		return;
2941
+	if (empty($package_cache)) {
2942
+			return;
2943
+	}
2788 2944
 
2789 2945
 	// First, let's check permissions!
2790 2946
 	foreach ($package_cache as $filename => $data)
2791 2947
 	{
2792
-		if (isset($package_ftp))
2793
-			$ftp_file = strtr($filename, array($_SESSION['pack_ftp']['root'] => ''));
2948
+		if (isset($package_ftp)) {
2949
+					$ftp_file = strtr($filename, array($_SESSION['pack_ftp']['root'] => ''));
2950
+		}
2794 2951
 
2795
-		if (!file_exists($filename) && isset($package_ftp))
2796
-			$package_ftp->create_file($ftp_file);
2797
-		elseif (!file_exists($filename))
2798
-			@touch($filename);
2952
+		if (!file_exists($filename) && isset($package_ftp)) {
2953
+					$package_ftp->create_file($ftp_file);
2954
+		} elseif (!file_exists($filename)) {
2955
+					@touch($filename);
2956
+		}
2799 2957
 
2800 2958
 		$result = package_chmod($filename);
2801 2959
 
@@ -2849,8 +3007,9 @@  discard block
 block discarded – undo
2849 3007
 	/** @var ftp_connection $package_ftp */
2850 3008
 	global $package_ftp;
2851 3009
 
2852
-	if (file_exists($filename) && is_writable($filename) && $perm_state == 'writable')
2853
-		return true;
3010
+	if (file_exists($filename) && is_writable($filename) && $perm_state == 'writable') {
3011
+			return true;
3012
+	}
2854 3013
 
2855 3014
 	// Start off checking without FTP.
2856 3015
 	if (!isset($package_ftp) || $package_ftp === false)
@@ -2872,8 +3031,7 @@  discard block
 block discarded – undo
2872 3031
 
2873 3032
 				// Keep track of the writable status here.
2874 3033
 				$file_permissions = @fileperms($chmod_file);
2875
-			}
2876
-			else
3034
+			} else
2877 3035
 			{
2878 3036
 				// This looks odd, but it's an attempt to work around PHP suExec.
2879 3037
 				if (!file_exists($chmod_file) && $perm_state == 'writable')
@@ -2883,24 +3041,28 @@  discard block
 block discarded – undo
2883 3041
 					mktree(dirname($chmod_file), 0755);
2884 3042
 					@touch($chmod_file);
2885 3043
 					smf_chmod($chmod_file, 0755);
3044
+				} else {
3045
+									$file_permissions = @fileperms($chmod_file);
2886 3046
 				}
2887
-				else
2888
-					$file_permissions = @fileperms($chmod_file);
2889 3047
 			}
2890 3048
 
2891 3049
 			// This looks odd, but it's another attempt to work around PHP suExec.
2892
-			if ($perm_state != 'writable')
2893
-				smf_chmod($chmod_file, $perm_state == 'execute' ? 0755 : 0644);
2894
-			else
3050
+			if ($perm_state != 'writable') {
3051
+							smf_chmod($chmod_file, $perm_state == 'execute' ? 0755 : 0644);
3052
+			} else
2895 3053
 			{
2896
-				if (!@is_writable($chmod_file))
2897
-					smf_chmod($chmod_file, 0755);
2898
-				if (!@is_writable($chmod_file))
2899
-					smf_chmod($chmod_file, 0777);
2900
-				if (!@is_writable(dirname($chmod_file)))
2901
-					smf_chmod($chmod_file, 0755);
2902
-				if (!@is_writable(dirname($chmod_file)))
2903
-					smf_chmod($chmod_file, 0777);
3054
+				if (!@is_writable($chmod_file)) {
3055
+									smf_chmod($chmod_file, 0755);
3056
+				}
3057
+				if (!@is_writable($chmod_file)) {
3058
+									smf_chmod($chmod_file, 0777);
3059
+				}
3060
+				if (!@is_writable(dirname($chmod_file))) {
3061
+									smf_chmod($chmod_file, 0755);
3062
+				}
3063
+				if (!@is_writable(dirname($chmod_file))) {
3064
+									smf_chmod($chmod_file, 0777);
3065
+				}
2904 3066
 			}
2905 3067
 
2906 3068
 			// The ultimate writable test.
@@ -2909,20 +3071,22 @@  discard block
 block discarded – undo
2909 3071
 				$fp = is_dir($chmod_file) ? @opendir($chmod_file) : @fopen($chmod_file, 'rb');
2910 3072
 				if (@is_writable($chmod_file) && $fp)
2911 3073
 				{
2912
-					if (!is_dir($chmod_file))
2913
-						fclose($fp);
2914
-					else
2915
-						closedir($fp);
3074
+					if (!is_dir($chmod_file)) {
3075
+											fclose($fp);
3076
+					} else {
3077
+											closedir($fp);
3078
+					}
2916 3079
 
2917 3080
 					// It worked!
2918
-					if ($track_change)
2919
-						$_SESSION['pack_ftp']['original_perms'][$chmod_file] = $file_permissions;
3081
+					if ($track_change) {
3082
+											$_SESSION['pack_ftp']['original_perms'][$chmod_file] = $file_permissions;
3083
+					}
2920 3084
 
2921 3085
 					return true;
2922 3086
 				}
3087
+			} elseif ($perm_state != 'writable' && isset($_SESSION['pack_ftp']['original_perms'][$chmod_file])) {
3088
+							unset($_SESSION['pack_ftp']['original_perms'][$chmod_file]);
2923 3089
 			}
2924
-			elseif ($perm_state != 'writable' && isset($_SESSION['pack_ftp']['original_perms'][$chmod_file]))
2925
-				unset($_SESSION['pack_ftp']['original_perms'][$chmod_file]);
2926 3090
 		}
2927 3091
 
2928 3092
 		// If we're here we're a failure.
@@ -2941,31 +3105,33 @@  discard block
 block discarded – undo
2941 3105
 			mktree(dirname($filename), 0755);
2942 3106
 			$package_ftp->create_file($ftp_file);
2943 3107
 			$package_ftp->chmod($ftp_file, 0755);
3108
+		} else {
3109
+					$file_permissions = @fileperms($filename);
2944 3110
 		}
2945
-		else
2946
-			$file_permissions = @fileperms($filename);
2947 3111
 
2948 3112
 		if ($perm_state != 'writable')
2949 3113
 		{
2950 3114
 			$package_ftp->chmod($ftp_file, $perm_state == 'execute' ? 0755 : 0644);
2951
-		}
2952
-		else
3115
+		} else
2953 3116
 		{
2954
-			if (!@is_writable($filename))
2955
-				$package_ftp->chmod($ftp_file, 0777);
2956
-			if (!@is_writable(dirname($filename)))
2957
-				$package_ftp->chmod(dirname($ftp_file), 0777);
3117
+			if (!@is_writable($filename)) {
3118
+							$package_ftp->chmod($ftp_file, 0777);
3119
+			}
3120
+			if (!@is_writable(dirname($filename))) {
3121
+							$package_ftp->chmod(dirname($ftp_file), 0777);
3122
+			}
2958 3123
 		}
2959 3124
 
2960 3125
 		if (@is_writable($filename))
2961 3126
 		{
2962
-			if ($track_change)
2963
-				$_SESSION['pack_ftp']['original_perms'][$filename] = $file_permissions;
3127
+			if ($track_change) {
3128
+							$_SESSION['pack_ftp']['original_perms'][$filename] = $file_permissions;
3129
+			}
2964 3130
 
2965 3131
 			return true;
3132
+		} elseif ($perm_state != 'writable' && isset($_SESSION['pack_ftp']['original_perms'][$filename])) {
3133
+					unset($_SESSION['pack_ftp']['original_perms'][$filename]);
2966 3134
 		}
2967
-		elseif ($perm_state != 'writable' && isset($_SESSION['pack_ftp']['original_perms'][$filename]))
2968
-			unset($_SESSION['pack_ftp']['original_perms'][$filename]);
2969 3135
 	}
2970 3136
 
2971 3137
 	// Oh dear, we failed if we get here.
@@ -2983,11 +3149,13 @@  discard block
 block discarded – undo
2983 3149
 	$n = strlen($pass);
2984 3150
 
2985 3151
 	$salt = session_id();
2986
-	while (strlen($salt) < $n)
2987
-		$salt .= session_id();
3152
+	while (strlen($salt) < $n) {
3153
+			$salt .= session_id();
3154
+	}
2988 3155
 
2989
-	for ($i = 0; $i < $n; $i++)
2990
-		$pass{$i} = chr(ord($pass{$i}) ^ (ord($salt{$i}) - 32));
3156
+	for ($i = 0; $i < $n; $i++) {
3157
+			$pass{$i} = chr(ord($pass{$i}) ^ (ord($salt{$i}) - 32));
3158
+	}
2991 3159
 
2992 3160
 	return $pass;
2993 3161
 }
@@ -3006,8 +3174,9 @@  discard block
 block discarded – undo
3006 3174
 	$base_files = array('index.php', 'SSI.php', 'agreement.txt', 'cron.php', 'ssi_examples.php', 'ssi_examples.shtml', 'subscriptions.php');
3007 3175
 	foreach ($base_files as $file)
3008 3176
 	{
3009
-		if (file_exists($boarddir . '/' . $file))
3010
-			$files[empty($_REQUEST['use_full_paths']) ? $file : $boarddir . '/' . $file] = $boarddir . '/' . $file;
3177
+		if (file_exists($boarddir . '/' . $file)) {
3178
+					$files[empty($_REQUEST['use_full_paths']) ? $file : $boarddir . '/' . $file] = $boarddir . '/' . $file;
3179
+		}
3011 3180
 	}
3012 3181
 
3013 3182
 	$dirs = array(
@@ -3024,8 +3193,9 @@  discard block
 block discarded – undo
3024 3193
 			'theme_dir' => 'theme_dir',
3025 3194
 		)
3026 3195
 	);
3027
-	while ($row = $smcFunc['db_fetch_assoc']($request))
3028
-		$dirs[$row['value']] = empty($_REQUEST['use_full_paths']) ? 'Themes/' . basename($row['value']) . '/' : strtr($row['value'] . '/', '\\', '/');
3196
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
3197
+			$dirs[$row['value']] = empty($_REQUEST['use_full_paths']) ? 'Themes/' . basename($row['value']) . '/' : strtr($row['value'] . '/', '\\', '/');
3198
+	}
3029 3199
 	$smcFunc['db_free_result']($request);
3030 3200
 
3031 3201
 	try
@@ -3040,11 +3210,13 @@  discard block
 block discarded – undo
3040 3210
 
3041 3211
 			foreach ($iter as $entry => $dir)
3042 3212
 			{
3043
-				if ($dir->isDir())
3044
-					continue;
3213
+				if ($dir->isDir()) {
3214
+									continue;
3215
+				}
3045 3216
 
3046
-				if (preg_match('~^(\.{1,2}|CVS|backup.*|help|images|.*\~)$~', $entry) != 0)
3047
-					continue;
3217
+				if (preg_match('~^(\.{1,2}|CVS|backup.*|help|images|.*\~)$~', $entry) != 0) {
3218
+									continue;
3219
+				}
3048 3220
 
3049 3221
 				$files[empty($_REQUEST['use_full_paths']) ? str_replace(realpath($boarddir), '', $entry) : $entry] = $entry;
3050 3222
 			}
@@ -3052,10 +3224,12 @@  discard block
 block discarded – undo
3052 3224
 		$obj = new ArrayObject($files);
3053 3225
 		$iterator = $obj->getIterator();
3054 3226
 
3055
-		if (!file_exists($packagesdir . '/backups'))
3056
-			mktree($packagesdir . '/backups', 0777);
3057
-		if (!is_writable($packagesdir . '/backups'))
3058
-			package_chmod($packagesdir . '/backups');
3227
+		if (!file_exists($packagesdir . '/backups')) {
3228
+					mktree($packagesdir . '/backups', 0777);
3229
+		}
3230
+		if (!is_writable($packagesdir . '/backups')) {
3231
+					package_chmod($packagesdir . '/backups');
3232
+		}
3059 3233
 		$output_file = $packagesdir . '/backups/' . strftime('%Y-%m-%d_') . preg_replace('~[$\\\\/:<>|?*"\']~', '', $id);
3060 3234
 		$output_ext = '.tar';
3061 3235
 		$output_ext_target = '.tar.gz';
@@ -3063,16 +3237,18 @@  discard block
 block discarded – undo
3063 3237
 		if (file_exists($output_file . $output_ext_target))
3064 3238
 		{
3065 3239
 			$i = 2;
3066
-			while (file_exists($output_file . '_' . $i . $output_ext_target))
3067
-				$i++;
3240
+			while (file_exists($output_file . '_' . $i . $output_ext_target)) {
3241
+							$i++;
3242
+			}
3068 3243
 			$output_file = $output_file . '_' . $i . $output_ext;
3244
+		} else {
3245
+					$output_file .= $output_ext;
3069 3246
 		}
3070
-		else
3071
-			$output_file .= $output_ext;
3072 3247
 
3073 3248
 		@set_time_limit(300);
3074
-		if (function_exists('apache_reset_timeout'))
3075
-			@apache_reset_timeout();
3249
+		if (function_exists('apache_reset_timeout')) {
3250
+					@apache_reset_timeout();
3251
+		}
3076 3252
 
3077 3253
 		$a = new PharData($output_file);
3078 3254
 		$a->buildFromIterator($iterator);
@@ -3084,8 +3260,7 @@  discard block
 block discarded – undo
3084 3260
 		 */
3085 3261
 		unset($a);
3086 3262
 		unlink($output_file);
3087
-	}
3088
-	catch (Exception $e)
3263
+	} catch (Exception $e)
3089 3264
 	{
3090 3265
 		log_error($e->getMessage(), 'backup');
3091 3266
 
Please login to merge, or discard this patch.
Sources/Profile-View.php 1 patch
Braces   +313 added lines, -229 removed lines patch added patch discarded remove patch
@@ -11,8 +11,9 @@  discard block
 block discarded – undo
11 11
  * @version 2.1 Beta 4
12 12
  */
13 13
 
14
-if (!defined('SMF'))
14
+if (!defined('SMF')) {
15 15
 	die('No direct access...');
16
+}
16 17
 
17 18
 /**
18 19
  * View a summary.
@@ -23,8 +24,9 @@  discard block
 block discarded – undo
23 24
 	global $context, $memberContext, $txt, $modSettings, $user_profile, $sourcedir, $scripturl, $smcFunc;
24 25
 
25 26
 	// Attempt to load the member's profile data.
26
-	if (!loadMemberContext($memID) || !isset($memberContext[$memID]))
27
-		fatal_lang_error('not_a_user', false, 404);
27
+	if (!loadMemberContext($memID) || !isset($memberContext[$memID])) {
28
+			fatal_lang_error('not_a_user', false, 404);
29
+	}
28 30
 
29 31
 	// Set up the stuff and load the user.
30 32
 	$context += array(
@@ -49,19 +51,21 @@  discard block
 block discarded – undo
49 51
 
50 52
 	// See if they have broken any warning levels...
51 53
 	list ($modSettings['warning_enable'], $modSettings['user_limit']) = explode(',', $modSettings['warning_settings']);
52
-	if (!empty($modSettings['warning_mute']) && $modSettings['warning_mute'] <= $context['member']['warning'])
53
-		$context['warning_status'] = $txt['profile_warning_is_muted'];
54
-	elseif (!empty($modSettings['warning_moderate']) && $modSettings['warning_moderate'] <= $context['member']['warning'])
55
-		$context['warning_status'] = $txt['profile_warning_is_moderation'];
56
-	elseif (!empty($modSettings['warning_watch']) && $modSettings['warning_watch'] <= $context['member']['warning'])
57
-		$context['warning_status'] = $txt['profile_warning_is_watch'];
54
+	if (!empty($modSettings['warning_mute']) && $modSettings['warning_mute'] <= $context['member']['warning']) {
55
+			$context['warning_status'] = $txt['profile_warning_is_muted'];
56
+	} elseif (!empty($modSettings['warning_moderate']) && $modSettings['warning_moderate'] <= $context['member']['warning']) {
57
+			$context['warning_status'] = $txt['profile_warning_is_moderation'];
58
+	} elseif (!empty($modSettings['warning_watch']) && $modSettings['warning_watch'] <= $context['member']['warning']) {
59
+			$context['warning_status'] = $txt['profile_warning_is_watch'];
60
+	}
58 61
 
59 62
 	// They haven't even been registered for a full day!?
60 63
 	$days_registered = (int) ((time() - $user_profile[$memID]['date_registered']) / (3600 * 24));
61
-	if (empty($user_profile[$memID]['date_registered']) || $days_registered < 1)
62
-		$context['member']['posts_per_day'] = $txt['not_applicable'];
63
-	else
64
-		$context['member']['posts_per_day'] = comma_format($context['member']['real_posts'] / $days_registered, 3);
64
+	if (empty($user_profile[$memID]['date_registered']) || $days_registered < 1) {
65
+			$context['member']['posts_per_day'] = $txt['not_applicable'];
66
+	} else {
67
+			$context['member']['posts_per_day'] = comma_format($context['member']['real_posts'] / $days_registered, 3);
68
+	}
65 69
 
66 70
 	// Set the age...
67 71
 	if (empty($context['member']['birth_date']) || substr($context['member']['birth_date'], 0, 4) < 1002)
@@ -70,8 +74,7 @@  discard block
 block discarded – undo
70 74
 			'age' => $txt['not_applicable'],
71 75
 			'today_is_birthday' => false
72 76
 		);
73
-	}
74
-	else
77
+	} else
75 78
 	{
76 79
 		list ($birth_year, $birth_month, $birth_day) = sscanf($context['member']['birth_date'], '%d-%d-%d');
77 80
 		$datearray = getdate(forum_time());
@@ -84,15 +87,16 @@  discard block
 block discarded – undo
84 87
 	if (allowedTo('moderate_forum'))
85 88
 	{
86 89
 		// Make sure it's a valid ip address; otherwise, don't bother...
87
-		if (preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $memberContext[$memID]['ip']) == 1 && empty($modSettings['disableHostnameLookup']))
88
-			$context['member']['hostname'] = host_from_ip($memberContext[$memID]['ip']);
89
-		else
90
-			$context['member']['hostname'] = '';
90
+		if (preg_match('/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/', $memberContext[$memID]['ip']) == 1 && empty($modSettings['disableHostnameLookup'])) {
91
+					$context['member']['hostname'] = host_from_ip($memberContext[$memID]['ip']);
92
+		} else {
93
+					$context['member']['hostname'] = '';
94
+		}
91 95
 
92 96
 		$context['can_see_ip'] = true;
97
+	} else {
98
+			$context['can_see_ip'] = false;
93 99
 	}
94
-	else
95
-		$context['can_see_ip'] = false;
96 100
 
97 101
 	// Are they hidden?
98 102
 	$context['member']['is_hidden'] = empty($user_profile[$memID]['show_online']);
@@ -103,8 +107,9 @@  discard block
 block discarded – undo
103 107
 		include_once($sourcedir . '/Who.php');
104 108
 		$action = determineActions($user_profile[$memID]['url']);
105 109
 
106
-		if ($action !== false)
107
-			$context['member']['action'] = $action;
110
+		if ($action !== false) {
111
+					$context['member']['action'] = $action;
112
+		}
108 113
 	}
109 114
 
110 115
 	// If the user is awaiting activation, and the viewer has permission - setup some activation context messages.
@@ -133,9 +138,10 @@  discard block
 block discarded – undo
133 138
 		list ($sig_limits, $sig_bbc) = explode(':', $modSettings['signature_settings']);
134 139
 		$sig_limits = explode(',', $sig_limits);
135 140
 
136
-		if (!empty($sig_limits[5]) || !empty($sig_limits[6]))
137
-			addInlineCss('
141
+		if (!empty($sig_limits[5]) || !empty($sig_limits[6])) {
142
+					addInlineCss('
138 143
 	.signature img { ' . (!empty($sig_limits[5]) ? 'max-width: ' . (int) $sig_limits[5] . 'px; ' : '') . (!empty($sig_limits[6]) ? 'max-height: ' . (int) $sig_limits[6] . 'px; ' : '') . '}');
144
+		}
139 145
 	}
140 146
 
141 147
 	// How about, are they banned?
@@ -178,13 +184,15 @@  discard block
 block discarded – undo
178 184
 		{
179 185
 			// Work out what restrictions we actually have.
180 186
 			$ban_restrictions = array();
181
-			foreach (array('access', 'login', 'post') as $type)
182
-				if ($row['cannot_' . $type])
187
+			foreach (array('access', 'login', 'post') as $type) {
188
+							if ($row['cannot_' . $type])
183 189
 					$ban_restrictions[] = $txt['ban_type_' . $type];
190
+			}
184 191
 
185 192
 			// No actual ban in place?
186
-			if (empty($ban_restrictions))
187
-				continue;
193
+			if (empty($ban_restrictions)) {
194
+							continue;
195
+			}
188 196
 
189 197
 			// Prepare the link for context.
190 198
 			$ban_explanation = sprintf($txt['user_cannot_due_to'], implode(', ', $ban_restrictions), '<a href="' . $scripturl . '?action=admin;area=ban;sa=edit;bg=' . $row['id_ban_group'] . '">' . $row['name'] . '</a>');
@@ -206,9 +214,10 @@  discard block
 block discarded – undo
206 214
 	$context['print_custom_fields'] = array();
207 215
 
208 216
 	// Any custom profile fields?
209
-	if (!empty($context['custom_fields']))
210
-		foreach ($context['custom_fields'] as $custom)
217
+	if (!empty($context['custom_fields'])) {
218
+			foreach ($context['custom_fields'] as $custom)
211 219
 			$context['print_custom_fields'][$context['cust_profile_fields_placement'][$custom['placement']]][] = $custom;
220
+	}
212 221
 
213 222
 }
214 223
 
@@ -233,8 +242,9 @@  discard block
 block discarded – undo
233 242
 	// are we someone else?
234 243
 	if (empty($user_info) || $user_info['id'] != $memID)
235 244
 	{
236
-		if (empty($user_profile[$memID]))
237
-			loadMemberData($memID, false, 'profile');
245
+		if (empty($user_profile[$memID])) {
246
+					loadMemberData($memID, false, 'profile');
247
+		}
238 248
 		$user_info = $user_profile[$memID];
239 249
 	}
240 250
 
@@ -265,16 +275,18 @@  discard block
 block discarded – undo
265 275
 		$row['extra'] = !empty($row['extra']) ? $smcFunc['json_decode']($row['extra'], true) : array();
266 276
 		$alerts[$id_alert] = $row;
267 277
 
268
-		if (!empty($row['sender_id']))
269
-			$senders[] = $row['sender_id'];
278
+		if (!empty($row['sender_id'])) {
279
+					$senders[] = $row['sender_id'];
280
+		}
270 281
 	}
271 282
 	$smcFunc['db_free_result']($request);
272 283
 
273 284
 	if($withSender)
274 285
 	{
275 286
 		$senders = loadMemberData($senders);
276
-		foreach ($senders as $member)
277
-			loadMemberContext($member);
287
+		foreach ($senders as $member) {
288
+					loadMemberContext($member);
289
+		}
278 290
 	}
279 291
 
280 292
 	// Now go through and actually make with the text.
@@ -289,12 +301,15 @@  discard block
 block discarded – undo
289 301
 	$msgs = array();
290 302
 	foreach ($alerts as $id_alert => $alert)
291 303
 	{
292
-		if (isset($alert['extra']['board']))
293
-			$boards[$alert['extra']['board']] = $txt['board_na'];
294
-		if (isset($alert['extra']['topic']))
295
-			$topics[$alert['extra']['topic']] = $txt['topic_na'];
296
-		if ($alert['content_type'] == 'msg')
297
-			$msgs[$alert['content_id']] = $txt['topic_na'];
304
+		if (isset($alert['extra']['board'])) {
305
+					$boards[$alert['extra']['board']] = $txt['board_na'];
306
+		}
307
+		if (isset($alert['extra']['topic'])) {
308
+					$topics[$alert['extra']['topic']] = $txt['topic_na'];
309
+		}
310
+		if ($alert['content_type'] == 'msg') {
311
+					$msgs[$alert['content_id']] = $txt['topic_na'];
312
+		}
298 313
 	}
299 314
 
300 315
 	// Having figured out what boards etc. there are, let's now get the names of them if we can see them. If not, there's already a fallback set up.
@@ -309,8 +324,9 @@  discard block
 block discarded – undo
309 324
 				'boards' => array_keys($boards),
310 325
 			)
311 326
 		);
312
-		while ($row = $smcFunc['db_fetch_assoc']($request))
313
-			$boards[$row['id_board']] = '<a href="' . $scripturl . '?board=' . $row['id_board'] . '.0">' . $row['name'] . '</a>';
327
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
328
+					$boards[$row['id_board']] = '<a href="' . $scripturl . '?board=' . $row['id_board'] . '.0">' . $row['name'] . '</a>';
329
+		}
314 330
 	}
315 331
 	if (!empty($topics))
316 332
 	{
@@ -325,8 +341,9 @@  discard block
 block discarded – undo
325 341
 				'topics' => array_keys($topics),
326 342
 			)
327 343
 		);
328
-		while ($row = $smcFunc['db_fetch_assoc']($request))
329
-			$topics[$row['id_topic']] = '<a href="' . $scripturl . '?topic=' . $row['id_topic'] . '.0">' . $row['subject'] . '</a>';
344
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
345
+					$topics[$row['id_topic']] = '<a href="' . $scripturl . '?topic=' . $row['id_topic'] . '.0">' . $row['subject'] . '</a>';
346
+		}
330 347
 	}
331 348
 	if (!empty($msgs))
332 349
 	{
@@ -341,44 +358,51 @@  discard block
 block discarded – undo
341 358
 				'msgs' => array_keys($msgs),
342 359
 			)
343 360
 		);
344
-		while ($row = $smcFunc['db_fetch_assoc']($request))
345
-			$msgs[$row['id_msg']] = '<a href="' . $scripturl . '?topic=' . $row['id_topic'] . '.msg' . $row['id_msg'] . '#msg' . $row['id_msg'] . '">' . $row['subject'] . '</a>';
361
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
362
+					$msgs[$row['id_msg']] = '<a href="' . $scripturl . '?topic=' . $row['id_topic'] . '.msg' . $row['id_msg'] . '#msg' . $row['id_msg'] . '">' . $row['subject'] . '</a>';
363
+		}
346 364
 	}
347 365
 
348 366
 	// Now to go back through the alerts, reattach this extra information and then try to build the string out of it (if a hook didn't already)
349 367
 	foreach ($alerts as $id_alert => $alert)
350 368
 	{
351
-		if (!empty($alert['text']))
352
-			continue;
353
-		if (isset($alert['extra']['board']))
354
-			if ($boards[$alert['extra']['board']] == $txt['board_na'])
369
+		if (!empty($alert['text'])) {
370
+					continue;
371
+		}
372
+		if (isset($alert['extra']['board'])) {
373
+					if ($boards[$alert['extra']['board']] == $txt['board_na'])
355 374
 			{
356 375
 				unset($alerts[$id_alert]);
376
+		}
357 377
 				continue;
378
+			} else {
379
+							$alerts[$id_alert]['extra']['board_msg'] = $boards[$alert['extra']['board']];
358 380
 			}
359
-			else
360
-				$alerts[$id_alert]['extra']['board_msg'] = $boards[$alert['extra']['board']];
361
-		if (isset($alert['extra']['topic']))
362
-			if ($alert['extra']['topic'] == $txt['topic_na'])
381
+		if (isset($alert['extra']['topic'])) {
382
+					if ($alert['extra']['topic'] == $txt['topic_na'])
363 383
 			{
364 384
 				unset($alerts[$id_alert]);
385
+		}
365 386
 				continue;
387
+			} else {
388
+							$alerts[$id_alert]['extra']['topic_msg'] = $topics[$alert['extra']['topic']];
366 389
 			}
367
-			else
368
-				$alerts[$id_alert]['extra']['topic_msg'] = $topics[$alert['extra']['topic']];
369
-		if ($alert['content_type'] == 'msg')
370
-			if ($msgs[$alert['content_id']] == $txt['topic_na'])
390
+		if ($alert['content_type'] == 'msg') {
391
+					if ($msgs[$alert['content_id']] == $txt['topic_na'])
371 392
 			{
372 393
 				unset($alerts[$id_alert]);
394
+		}
373 395
 				continue;
396
+			} else {
397
+							$alerts[$id_alert]['extra']['msg_msg'] = $msgs[$alert['content_id']];
374 398
 			}
375
-			else
376
-				$alerts[$id_alert]['extra']['msg_msg'] = $msgs[$alert['content_id']];
377
-		if ($alert['content_type'] == 'profile')
378
-			$alerts[$id_alert]['extra']['profile_msg'] = '<a href="' . $scripturl . '?action=profile;u=' . $alerts[$id_alert]['content_id'] . '">' . $alerts[$id_alert]['extra']['user_name'] . '</a>';
399
+		if ($alert['content_type'] == 'profile') {
400
+					$alerts[$id_alert]['extra']['profile_msg'] = '<a href="' . $scripturl . '?action=profile;u=' . $alerts[$id_alert]['content_id'] . '">' . $alerts[$id_alert]['extra']['user_name'] . '</a>';
401
+		}
379 402
 
380
-		if (!empty($memberContext[$alert['sender_id']]))
381
-			$alerts[$id_alert]['sender'] = &$memberContext[$alert['sender_id']];
403
+		if (!empty($memberContext[$alert['sender_id']])) {
404
+					$alerts[$id_alert]['sender'] = &$memberContext[$alert['sender_id']];
405
+		}
382 406
 
383 407
 		$string = 'alert_' . $alert['content_type'] . '_' . $alert['content_action'];
384 408
 		if (isset($txt[$string]))
@@ -428,8 +452,8 @@  discard block
 block discarded – undo
428 452
 	$context['pagination'] = constructPageIndex($scripturl . '?action=profile;area=showalerts;u=' . $memID, $start, $count, $maxIndex, false);
429 453
 
430 454
 	// Set some JavaScript for checking all alerts at once.
431
-	if ($context['showCheckboxes'])
432
-		addInlineJavaScript('
455
+	if ($context['showCheckboxes']) {
456
+			addInlineJavaScript('
433 457
 		$(function(){
434 458
 			$(\'#select_all\').on(\'change\', function() {
435 459
 				var checkboxes = $(\'ul.quickbuttons\').find(\':checkbox\');
@@ -441,6 +465,7 @@  discard block
 block discarded – undo
441 465
 				}
442 466
 			});
443 467
 		});', true);
468
+	}
444 469
 
445 470
 	// Set a nice message.
446 471
 	if (!empty($_SESSION['update_message']))
@@ -472,11 +497,11 @@  discard block
 block discarded – undo
472 497
 		checkSession('request');
473 498
 
474 499
 		// Call it!
475
-		if ($action == 'remove')
476
-			alert_delete($toMark, $memID);
477
-
478
-		else
479
-			alert_mark($memID, $toMark, $action == 'read' ? 1 : 0);
500
+		if ($action == 'remove') {
501
+					alert_delete($toMark, $memID);
502
+		} else {
503
+					alert_mark($memID, $toMark, $action == 'read' ? 1 : 0);
504
+		}
480 505
 
481 506
 		// Set a nice update message.
482 507
 		$_SESSION['update_message'] = true;
@@ -526,23 +551,27 @@  discard block
 block discarded – undo
526 551
 	);
527 552
 
528 553
 	// Set the page title
529
-	if (isset($_GET['sa']) && array_key_exists($_GET['sa'], $title))
530
-		$context['page_title'] = $txt['show' . $title[$_GET['sa']]];
531
-	else
532
-		$context['page_title'] = $txt['showPosts'];
554
+	if (isset($_GET['sa']) && array_key_exists($_GET['sa'], $title)) {
555
+			$context['page_title'] = $txt['show' . $title[$_GET['sa']]];
556
+	} else {
557
+			$context['page_title'] = $txt['showPosts'];
558
+	}
533 559
 
534 560
 	$context['page_title'] .= ' - ' . $user_profile[$memID]['real_name'];
535 561
 
536 562
 	// Is the load average too high to allow searching just now?
537
-	if (!empty($context['load_average']) && !empty($modSettings['loadavg_show_posts']) && $context['load_average'] >= $modSettings['loadavg_show_posts'])
538
-		fatal_lang_error('loadavg_show_posts_disabled', false);
563
+	if (!empty($context['load_average']) && !empty($modSettings['loadavg_show_posts']) && $context['load_average'] >= $modSettings['loadavg_show_posts']) {
564
+			fatal_lang_error('loadavg_show_posts_disabled', false);
565
+	}
539 566
 
540 567
 	// If we're specifically dealing with attachments use that function!
541
-	if (isset($_GET['sa']) && $_GET['sa'] == 'attach')
542
-		return showAttachments($memID);
568
+	if (isset($_GET['sa']) && $_GET['sa'] == 'attach') {
569
+			return showAttachments($memID);
570
+	}
543 571
 	// Instead, if we're dealing with unwatched topics (and the feature is enabled) use that other function.
544
-	elseif (isset($_GET['sa']) && $_GET['sa'] == 'unwatchedtopics')
545
-		return showUnwatched($memID);
572
+	elseif (isset($_GET['sa']) && $_GET['sa'] == 'unwatchedtopics') {
573
+			return showUnwatched($memID);
574
+	}
546 575
 
547 576
 	// Are we just viewing topics?
548 577
 	$context['is_topics'] = isset($_GET['sa']) && $_GET['sa'] == 'topics' ? true : false;
@@ -565,27 +594,30 @@  discard block
 block discarded – undo
565 594
 		$smcFunc['db_free_result']($request);
566 595
 
567 596
 		// Trying to remove a message that doesn't exist.
568
-		if (empty($info))
569
-			redirectexit('action=profile;u=' . $memID . ';area=showposts;start=' . $_GET['start']);
597
+		if (empty($info)) {
598
+					redirectexit('action=profile;u=' . $memID . ';area=showposts;start=' . $_GET['start']);
599
+		}
570 600
 
571 601
 		// We can be lazy, since removeMessage() will check the permissions for us.
572 602
 		require_once($sourcedir . '/RemoveTopic.php');
573 603
 		removeMessage((int) $_GET['delete']);
574 604
 
575 605
 		// Add it to the mod log.
576
-		if (allowedTo('delete_any') && (!allowedTo('delete_own') || $info[1] != $user_info['id']))
577
-			logAction('delete', array('topic' => $info[2], 'subject' => $info[0], 'member' => $info[1], 'board' => $info[3]));
606
+		if (allowedTo('delete_any') && (!allowedTo('delete_own') || $info[1] != $user_info['id'])) {
607
+					logAction('delete', array('topic' => $info[2], 'subject' => $info[0], 'member' => $info[1], 'board' => $info[3]));
608
+		}
578 609
 
579 610
 		// Back to... where we are now ;).
580 611
 		redirectexit('action=profile;u=' . $memID . ';area=showposts;start=' . $_GET['start']);
581 612
 	}
582 613
 
583 614
 	// Default to 10.
584
-	if (empty($_REQUEST['viewscount']) || !is_numeric($_REQUEST['viewscount']))
585
-		$_REQUEST['viewscount'] = '10';
615
+	if (empty($_REQUEST['viewscount']) || !is_numeric($_REQUEST['viewscount'])) {
616
+			$_REQUEST['viewscount'] = '10';
617
+	}
586 618
 
587
-	if ($context['is_topics'])
588
-		$request = $smcFunc['db_query']('', '
619
+	if ($context['is_topics']) {
620
+			$request = $smcFunc['db_query']('', '
589 621
 			SELECT COUNT(*)
590 622
 			FROM {db_prefix}topics AS t' . ($user_info['query_see_board'] == '1=1' ? '' : '
591 623
 				INNER JOIN {db_prefix}boards AS b ON (b.id_board = t.id_board AND {query_see_board})') . '
@@ -598,8 +630,8 @@  discard block
 block discarded – undo
598 630
 				'board' => $board,
599 631
 			)
600 632
 		);
601
-	else
602
-		$request = $smcFunc['db_query']('', '
633
+	} else {
634
+			$request = $smcFunc['db_query']('', '
603 635
 			SELECT COUNT(*)
604 636
 			FROM {db_prefix}messages AS m' . ($user_info['query_see_board'] == '1=1' ? '' : '
605 637
 				INNER JOIN {db_prefix}boards AS b ON (b.id_board = m.id_board AND {query_see_board})') . '
@@ -612,6 +644,7 @@  discard block
 block discarded – undo
612 644
 				'board' => $board,
613 645
 			)
614 646
 		);
647
+	}
615 648
 	list ($msgCount) = $smcFunc['db_fetch_row']($request);
616 649
 	$smcFunc['db_free_result']($request);
617 650
 
@@ -632,10 +665,11 @@  discard block
 block discarded – undo
632 665
 
633 666
 	$range_limit = '';
634 667
 
635
-	if ($context['is_topics'])
636
-		$maxPerPage = empty($modSettings['disableCustomPerPage']) && !empty($options['topics_per_page']) ? $options['topics_per_page'] : $modSettings['defaultMaxTopics'];
637
-	else
638
-		$maxPerPage = empty($modSettings['disableCustomPerPage']) && !empty($options['messages_per_page']) ? $options['messages_per_page'] : $modSettings['defaultMaxMessages'];
668
+	if ($context['is_topics']) {
669
+			$maxPerPage = empty($modSettings['disableCustomPerPage']) && !empty($options['topics_per_page']) ? $options['topics_per_page'] : $modSettings['defaultMaxTopics'];
670
+	} else {
671
+			$maxPerPage = empty($modSettings['disableCustomPerPage']) && !empty($options['messages_per_page']) ? $options['messages_per_page'] : $modSettings['defaultMaxMessages'];
672
+	}
639 673
 
640 674
 	$maxIndex = $maxPerPage;
641 675
 
@@ -661,9 +695,9 @@  discard block
 block discarded – undo
661 695
 		{
662 696
 			$margin *= 5;
663 697
 			$range_limit = $reverse ? 't.id_first_msg < ' . ($min_msg_member + $margin) : 't.id_first_msg > ' . ($max_msg_member - $margin);
698
+		} else {
699
+					$range_limit = $reverse ? 'm.id_msg < ' . ($min_msg_member + $margin) : 'm.id_msg > ' . ($max_msg_member - $margin);
664 700
 		}
665
-		else
666
-			$range_limit = $reverse ? 'm.id_msg < ' . ($min_msg_member + $margin) : 'm.id_msg > ' . ($max_msg_member - $margin);
667 701
 	}
668 702
 
669 703
 	// Find this user's posts.  The left join on categories somehow makes this faster, weird as it looks.
@@ -695,8 +729,7 @@  discard block
 block discarded – undo
695 729
 					'max' => $maxIndex,
696 730
 				)
697 731
 			);
698
-		}
699
-		else
732
+		} else
700 733
 		{
701 734
 			$request = $smcFunc['db_query']('', '
702 735
 				SELECT
@@ -725,8 +758,9 @@  discard block
 block discarded – undo
725 758
 		}
726 759
 
727 760
 		// Make sure we quit this loop.
728
-		if ($smcFunc['db_num_rows']($request) === $maxIndex || $looped || $range_limit == '')
729
-			break;
761
+		if ($smcFunc['db_num_rows']($request) === $maxIndex || $looped || $range_limit == '') {
762
+					break;
763
+		}
730 764
 		$looped = true;
731 765
 		$range_limit = '';
732 766
 	}
@@ -770,19 +804,21 @@  discard block
 block discarded – undo
770 804
 			'css_class' => $row['approved'] ? 'windowbg' : 'approvebg',
771 805
 		);
772 806
 
773
-		if ($user_info['id'] == $row['id_member_started'])
774
-			$board_ids['own'][$row['id_board']][] = $counter;
807
+		if ($user_info['id'] == $row['id_member_started']) {
808
+					$board_ids['own'][$row['id_board']][] = $counter;
809
+		}
775 810
 		$board_ids['any'][$row['id_board']][] = $counter;
776 811
 	}
777 812
 	$smcFunc['db_free_result']($request);
778 813
 
779 814
 	// All posts were retrieved in reverse order, get them right again.
780
-	if ($reverse)
781
-		$context['posts'] = array_reverse($context['posts'], true);
815
+	if ($reverse) {
816
+			$context['posts'] = array_reverse($context['posts'], true);
817
+	}
782 818
 
783 819
 	// These are all the permissions that are different from board to board..
784
-	if ($context['is_topics'])
785
-		$permissions = array(
820
+	if ($context['is_topics']) {
821
+			$permissions = array(
786 822
 			'own' => array(
787 823
 				'post_reply_own' => 'can_reply',
788 824
 			),
@@ -790,8 +826,8 @@  discard block
 block discarded – undo
790 826
 				'post_reply_any' => 'can_reply',
791 827
 			)
792 828
 		);
793
-	else
794
-		$permissions = array(
829
+	} else {
830
+			$permissions = array(
795 831
 			'own' => array(
796 832
 				'post_reply_own' => 'can_reply',
797 833
 				'delete_own' => 'can_delete',
@@ -801,6 +837,7 @@  discard block
 block discarded – undo
801 837
 				'delete_any' => 'can_delete',
802 838
 			)
803 839
 		);
840
+	}
804 841
 
805 842
 	// For every permission in the own/any lists...
806 843
 	foreach ($permissions as $type => $list)
@@ -811,19 +848,22 @@  discard block
 block discarded – undo
811 848
 			$boards = boardsAllowedTo($permission);
812 849
 
813 850
 			// Hmm, they can do it on all boards, can they?
814
-			if (!empty($boards) && $boards[0] == 0)
815
-				$boards = array_keys($board_ids[$type]);
851
+			if (!empty($boards) && $boards[0] == 0) {
852
+							$boards = array_keys($board_ids[$type]);
853
+			}
816 854
 
817 855
 			// Now go through each board they can do the permission on.
818 856
 			foreach ($boards as $board_id)
819 857
 			{
820 858
 				// There aren't any posts displayed from this board.
821
-				if (!isset($board_ids[$type][$board_id]))
822
-					continue;
859
+				if (!isset($board_ids[$type][$board_id])) {
860
+									continue;
861
+				}
823 862
 
824 863
 				// Set the permission to true ;).
825
-				foreach ($board_ids[$type][$board_id] as $counter)
826
-					$context['posts'][$counter][$allowed] = true;
864
+				foreach ($board_ids[$type][$board_id] as $counter) {
865
+									$context['posts'][$counter][$allowed] = true;
866
+				}
827 867
 			}
828 868
 		}
829 869
 	}
@@ -854,8 +894,9 @@  discard block
 block discarded – undo
854 894
 	$boardsAllowed = boardsAllowedTo('view_attachments');
855 895
 
856 896
 	// Make sure we can't actually see anything...
857
-	if (empty($boardsAllowed))
858
-		$boardsAllowed = array(-1);
897
+	if (empty($boardsAllowed)) {
898
+			$boardsAllowed = array(-1);
899
+	}
859 900
 
860 901
 	require_once($sourcedir . '/Subs-List.php');
861 902
 
@@ -1006,8 +1047,8 @@  discard block
 block discarded – undo
1006 1047
 		)
1007 1048
 	);
1008 1049
 	$attachments = array();
1009
-	while ($row = $smcFunc['db_fetch_assoc']($request))
1010
-		$attachments[] = array(
1050
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1051
+			$attachments[] = array(
1011 1052
 			'id' => $row['id_attach'],
1012 1053
 			'filename' => $row['filename'],
1013 1054
 			'downloads' => $row['downloads'],
@@ -1019,6 +1060,7 @@  discard block
 block discarded – undo
1019 1060
 			'board_name' => $row['name'],
1020 1061
 			'approved' => $row['approved'],
1021 1062
 		);
1063
+	}
1022 1064
 
1023 1065
 	$smcFunc['db_free_result']($request);
1024 1066
 
@@ -1073,8 +1115,9 @@  discard block
 block discarded – undo
1073 1115
 	global $txt, $user_info, $scripturl, $modSettings, $context, $sourcedir;
1074 1116
 
1075 1117
 	// Only the owner can see the list (if the function is enabled of course)
1076
-	if ($user_info['id'] != $memID)
1077
-		return;
1118
+	if ($user_info['id'] != $memID) {
1119
+			return;
1120
+	}
1078 1121
 
1079 1122
 	require_once($sourcedir . '/Subs-List.php');
1080 1123
 
@@ -1220,8 +1263,9 @@  discard block
 block discarded – undo
1220 1263
 	);
1221 1264
 
1222 1265
 	$topics = array();
1223
-	while ($row = $smcFunc['db_fetch_assoc']($request))
1224
-		$topics[] = $row['id_topic'];
1266
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1267
+			$topics[] = $row['id_topic'];
1268
+	}
1225 1269
 
1226 1270
 	$smcFunc['db_free_result']($request);
1227 1271
 
@@ -1241,8 +1285,9 @@  discard block
 block discarded – undo
1241 1285
 				'topics' => $topics,
1242 1286
 			)
1243 1287
 		);
1244
-		while ($row = $smcFunc['db_fetch_assoc']($request))
1245
-			$topicsInfo[] = $row;
1288
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
1289
+					$topicsInfo[] = $row;
1290
+		}
1246 1291
 		$smcFunc['db_free_result']($request);
1247 1292
 	}
1248 1293
 
@@ -1290,8 +1335,9 @@  discard block
 block discarded – undo
1290 1335
 	$context['page_title'] = $txt['statPanel_showStats'] . ' ' . $user_profile[$memID]['real_name'];
1291 1336
 
1292 1337
 	// Is the load average too high to allow searching just now?
1293
-	if (!empty($context['load_average']) && !empty($modSettings['loadavg_userstats']) && $context['load_average'] >= $modSettings['loadavg_userstats'])
1294
-		fatal_lang_error('loadavg_userstats_disabled', false);
1338
+	if (!empty($context['load_average']) && !empty($modSettings['loadavg_userstats']) && $context['load_average'] >= $modSettings['loadavg_userstats']) {
1339
+			fatal_lang_error('loadavg_userstats_disabled', false);
1340
+	}
1295 1341
 
1296 1342
 	// General user statistics.
1297 1343
 	$timeDays = floor($user_profile[$memID]['total_time_logged_in'] / 86400);
@@ -1434,11 +1480,13 @@  discard block
 block discarded – undo
1434 1480
 	}
1435 1481
 	$smcFunc['db_free_result']($result);
1436 1482
 
1437
-	if ($maxPosts > 0)
1438
-		for ($hour = 0; $hour < 24; $hour++)
1483
+	if ($maxPosts > 0) {
1484
+			for ($hour = 0;
1485
+	}
1486
+	$hour < 24; $hour++)
1439 1487
 		{
1440
-			if (!isset($context['posts_by_time'][$hour]))
1441
-				$context['posts_by_time'][$hour] = array(
1488
+			if (!isset($context['posts_by_time'][$hour])) {
1489
+							$context['posts_by_time'][$hour] = array(
1442 1490
 					'hour' => $hour,
1443 1491
 					'hour_format' => stripos($user_info['time_format'], '%p') === false ? $hour : date('g a', mktime($hour)),
1444 1492
 					'posts' => 0,
@@ -1446,7 +1494,7 @@  discard block
 block discarded – undo
1446 1494
 					'relative_percent' => 0,
1447 1495
 					'is_last' => $hour == 23,
1448 1496
 				);
1449
-			else
1497
+			} else
1450 1498
 			{
1451 1499
 				$context['posts_by_time'][$hour]['posts_percent'] = round(($context['posts_by_time'][$hour]['posts'] * 100) / $realPosts);
1452 1500
 				$context['posts_by_time'][$hour]['relative_percent'] = round(($context['posts_by_time'][$hour]['posts'] * 100) / $maxPosts);
@@ -1479,8 +1527,9 @@  discard block
 block discarded – undo
1479 1527
 
1480 1528
 	foreach ($subActions as $sa => $action)
1481 1529
 	{
1482
-		if (!allowedTo($action[2]))
1483
-			unset($subActions[$sa]);
1530
+		if (!allowedTo($action[2])) {
1531
+					unset($subActions[$sa]);
1532
+		}
1484 1533
 	}
1485 1534
 
1486 1535
 	// Create the tabs for the template.
@@ -1498,15 +1547,18 @@  discard block
 block discarded – undo
1498 1547
 	);
1499 1548
 
1500 1549
 	// Moderation must be on to track edits.
1501
-	if (empty($modSettings['userlog_enabled']))
1502
-		unset($context[$context['profile_menu_name']]['tab_data']['edits'], $subActions['edits']);
1550
+	if (empty($modSettings['userlog_enabled'])) {
1551
+			unset($context[$context['profile_menu_name']]['tab_data']['edits'], $subActions['edits']);
1552
+	}
1503 1553
 
1504 1554
 	// Group requests must be active to show it...
1505
-	if (empty($modSettings['show_group_membership']))
1506
-		unset($context[$context['profile_menu_name']]['tab_data']['groupreq'], $subActions['groupreq']);
1555
+	if (empty($modSettings['show_group_membership'])) {
1556
+			unset($context[$context['profile_menu_name']]['tab_data']['groupreq'], $subActions['groupreq']);
1557
+	}
1507 1558
 
1508
-	if (empty($subActions))
1509
-		fatal_lang_error('no_access', false);
1559
+	if (empty($subActions)) {
1560
+			fatal_lang_error('no_access', false);
1561
+	}
1510 1562
 
1511 1563
 	$keys = array_keys($subActions);
1512 1564
 	$default = array_shift($keys);
@@ -1519,9 +1571,10 @@  discard block
 block discarded – undo
1519 1571
 	$context['sub_template'] = $subActions[$context['tracking_area']][0];
1520 1572
 	$call = call_helper($subActions[$context['tracking_area']][0], true);
1521 1573
 
1522
-	if (!empty($call))
1523
-		call_user_func($call, $memID);
1524
-}
1574
+	if (!empty($call)) {
1575
+			call_user_func($call, $memID);
1576
+	}
1577
+	}
1525 1578
 
1526 1579
 /**
1527 1580
  * Handles tracking a user's activity
@@ -1537,8 +1590,9 @@  discard block
 block discarded – undo
1537 1590
 	isAllowedTo('moderate_forum');
1538 1591
 
1539 1592
 	$context['last_ip'] = $user_profile[$memID]['member_ip'];
1540
-	if ($context['last_ip'] != $user_profile[$memID]['member_ip2'])
1541
-		$context['last_ip2'] = $user_profile[$memID]['member_ip2'];
1593
+	if ($context['last_ip'] != $user_profile[$memID]['member_ip2']) {
1594
+			$context['last_ip2'] = $user_profile[$memID]['member_ip2'];
1595
+	}
1542 1596
 	$context['member']['name'] = $user_profile[$memID]['real_name'];
1543 1597
 
1544 1598
 	// Set the options for the list component.
@@ -1705,8 +1759,9 @@  discard block
 block discarded – undo
1705 1759
 			)
1706 1760
 		);
1707 1761
 		$message_members = array();
1708
-		while ($row = $smcFunc['db_fetch_assoc']($request))
1709
-			$message_members[] = $row['id_member'];
1762
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
1763
+					$message_members[] = $row['id_member'];
1764
+		}
1710 1765
 		$smcFunc['db_free_result']($request);
1711 1766
 
1712 1767
 		// Fetch their names, cause of the GROUP BY doesn't like giving us that normally.
@@ -1721,8 +1776,9 @@  discard block
 block discarded – undo
1721 1776
 					'ip_list' => $ips,
1722 1777
 				)
1723 1778
 			);
1724
-			while ($row = $smcFunc['db_fetch_assoc']($request))
1725
-				$context['members_in_range'][$row['id_member']] = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>';
1779
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
1780
+							$context['members_in_range'][$row['id_member']] = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>';
1781
+			}
1726 1782
 			$smcFunc['db_free_result']($request);
1727 1783
 		}
1728 1784
 
@@ -1736,8 +1792,9 @@  discard block
 block discarded – undo
1736 1792
 				'ip_list' => $ips,
1737 1793
 			)
1738 1794
 		);
1739
-		while ($row = $smcFunc['db_fetch_assoc']($request))
1740
-			$context['members_in_range'][$row['id_member']] = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>';
1795
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
1796
+					$context['members_in_range'][$row['id_member']] = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>';
1797
+		}
1741 1798
 		$smcFunc['db_free_result']($request);
1742 1799
 	}
1743 1800
 }
@@ -1797,8 +1854,8 @@  discard block
 block discarded – undo
1797 1854
 		))
1798 1855
 	);
1799 1856
 	$error_messages = array();
1800
-	while ($row = $smcFunc['db_fetch_assoc']($request))
1801
-		$error_messages[] = array(
1857
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1858
+			$error_messages[] = array(
1802 1859
 			'ip' => inet_dtop($row['ip']),
1803 1860
 			'member_link' => $row['id_member'] > 0 ? '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['display_name'] . '</a>' : $row['display_name'],
1804 1861
 			'message' => strtr($row['message'], array('&lt;span class=&quot;remove&quot;&gt;' => '', '&lt;/span&gt;' => '')),
@@ -1806,6 +1863,7 @@  discard block
 block discarded – undo
1806 1863
 			'time' => timeformat($row['log_time']),
1807 1864
 			'timestamp' => forum_time(true, $row['log_time']),
1808 1865
 		);
1866
+	}
1809 1867
 	$smcFunc['db_free_result']($request);
1810 1868
 
1811 1869
 	return $error_messages;
@@ -1868,8 +1926,8 @@  discard block
 block discarded – undo
1868 1926
 		))
1869 1927
 	);
1870 1928
 	$messages = array();
1871
-	while ($row = $smcFunc['db_fetch_assoc']($request))
1872
-		$messages[] = array(
1929
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1930
+			$messages[] = array(
1873 1931
 			'ip' => inet_dtop($row['poster_ip']),
1874 1932
 			'member_link' => empty($row['id_member']) ? $row['display_name'] : '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['display_name'] . '</a>',
1875 1933
 			'board' => array(
@@ -1882,6 +1940,7 @@  discard block
 block discarded – undo
1882 1940
 			'time' => timeformat($row['poster_time']),
1883 1941
 			'timestamp' => forum_time(true, $row['poster_time'])
1884 1942
 		);
1943
+	}
1885 1944
 	$smcFunc['db_free_result']($request);
1886 1945
 
1887 1946
 	return $messages;
@@ -1908,19 +1967,20 @@  discard block
 block discarded – undo
1908 1967
 		$context['sub_template'] = 'trackIP';
1909 1968
 		$context['page_title'] = $txt['profile'];
1910 1969
 		$context['base_url'] = $scripturl . '?action=trackip';
1911
-	}
1912
-	else
1970
+	} else
1913 1971
 	{
1914 1972
 		$context['ip'] = ip2range($user_profile[$memID]['member_ip']);
1915 1973
 		$context['base_url'] = $scripturl . '?action=profile;area=tracking;sa=ip;u=' . $memID;
1916 1974
 	}
1917 1975
 
1918 1976
 	// Searching?
1919
-	if (isset($_REQUEST['searchip']))
1920
-		$context['ip'] = ip2range(trim($_REQUEST['searchip']));
1977
+	if (isset($_REQUEST['searchip'])) {
1978
+			$context['ip'] = ip2range(trim($_REQUEST['searchip']));
1979
+	}
1921 1980
 
1922
-	if (count($context['ip']) !== 2)
1923
-		fatal_lang_error('invalid_tracking_ip', false);
1981
+	if (count($context['ip']) !== 2) {
1982
+			fatal_lang_error('invalid_tracking_ip', false);
1983
+	}
1924 1984
 
1925 1985
 	$ip_string = array('{inet:ip_address_low}','{inet:ip_address_high}');
1926 1986
 	$fields = array(
@@ -1930,13 +1990,15 @@  discard block
 block discarded – undo
1930 1990
 
1931 1991
 	$ip_var = $context['ip'];
1932 1992
 
1933
-	if ($context['ip']['low'] !==  $context['ip']['high'])
1934
-		$context['ip'] = $context['ip']['low'] . ' - ' . $context['ip']['high'];
1935
-	else
1936
-		$context['ip'] = $context['ip']['low'];
1993
+	if ($context['ip']['low'] !==  $context['ip']['high']) {
1994
+			$context['ip'] = $context['ip']['low'] . ' - ' . $context['ip']['high'];
1995
+	} else {
1996
+			$context['ip'] = $context['ip']['low'];
1997
+	}
1937 1998
 
1938
-	if (empty($context['tracking_area']))
1939
-		$context['page_title'] = $txt['trackIP'] . ' - ' . $context['ip'];
1999
+	if (empty($context['tracking_area'])) {
2000
+			$context['page_title'] = $txt['trackIP'] . ' - ' . $context['ip'];
2001
+	}
1940 2002
 
1941 2003
 	$request = $smcFunc['db_query']('', '
1942 2004
 		SELECT id_member, real_name AS display_name, member_ip
@@ -1945,8 +2007,9 @@  discard block
 block discarded – undo
1945 2007
 		$fields
1946 2008
 	);
1947 2009
 	$context['ips'] = array();
1948
-	while ($row = $smcFunc['db_fetch_assoc']($request))
1949
-		$context['ips'][inet_dtop($row['member_ip'])][] = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['display_name'] . '</a>';
2010
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
2011
+			$context['ips'][inet_dtop($row['member_ip'])][] = '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['display_name'] . '</a>';
2012
+	}
1950 2013
 	$smcFunc['db_free_result']($request);
1951 2014
 
1952 2015
 	ksort($context['ips']);
@@ -2176,10 +2239,11 @@  discard block
 block discarded – undo
2176 2239
 	// Gonna want this for the list.
2177 2240
 	require_once($sourcedir . '/Subs-List.php');
2178 2241
 
2179
-	if ($memID == 0)
2180
-		$context['base_url'] = $scripturl . '?action=trackip';
2181
-	else
2182
-		$context['base_url'] = $scripturl . '?action=profile;area=tracking;sa=ip;u=' . $memID;
2242
+	if ($memID == 0) {
2243
+			$context['base_url'] = $scripturl . '?action=trackip';
2244
+	} else {
2245
+			$context['base_url'] = $scripturl . '?action=profile;area=tracking;sa=ip;u=' . $memID;
2246
+	}
2183 2247
 
2184 2248
 	// Start with the user messages.
2185 2249
 	$listOptions = array(
@@ -2289,12 +2353,13 @@  discard block
 block discarded – undo
2289 2353
 		)
2290 2354
 	);
2291 2355
 	$logins = array();
2292
-	while ($row = $smcFunc['db_fetch_assoc']($request))
2293
-		$logins[] = array(
2356
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
2357
+			$logins[] = array(
2294 2358
 			'time' => timeformat($row['time']),
2295 2359
 			'ip' => inet_dtop($row['ip']),
2296 2360
 			'ip2' => inet_dtop($row['ip2']),
2297 2361
 		);
2362
+	}
2298 2363
 	$smcFunc['db_free_result']($request);
2299 2364
 
2300 2365
 	return $logins;
@@ -2319,11 +2384,12 @@  discard block
 block discarded – undo
2319 2384
 		)
2320 2385
 	);
2321 2386
 	$context['custom_field_titles'] = array();
2322
-	while ($row = $smcFunc['db_fetch_assoc']($request))
2323
-		$context['custom_field_titles']['customfield_' . $row['col_name']] = array(
2387
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
2388
+			$context['custom_field_titles']['customfield_' . $row['col_name']] = array(
2324 2389
 			'title' => $row['field_name'],
2325 2390
 			'parse_bbc' => $row['bbc'],
2326 2391
 		);
2392
+	}
2327 2393
 	$smcFunc['db_free_result']($request);
2328 2394
 
2329 2395
 	// Set the options for the error lists.
@@ -2462,19 +2528,22 @@  discard block
 block discarded – undo
2462 2528
 	while ($row = $smcFunc['db_fetch_assoc']($request))
2463 2529
 	{
2464 2530
 		$extra = $smcFunc['json_decode']($row['extra'], true);
2465
-		if (!empty($extra['applicator']))
2466
-			$members[] = $extra['applicator'];
2531
+		if (!empty($extra['applicator'])) {
2532
+					$members[] = $extra['applicator'];
2533
+		}
2467 2534
 
2468 2535
 		// Work out what the name of the action is.
2469
-		if (isset($txt['trackEdit_action_' . $row['action']]))
2470
-			$action_text = $txt['trackEdit_action_' . $row['action']];
2471
-		elseif (isset($txt[$row['action']]))
2472
-			$action_text = $txt[$row['action']];
2536
+		if (isset($txt['trackEdit_action_' . $row['action']])) {
2537
+					$action_text = $txt['trackEdit_action_' . $row['action']];
2538
+		} elseif (isset($txt[$row['action']])) {
2539
+					$action_text = $txt[$row['action']];
2540
+		}
2473 2541
 		// Custom field?
2474
-		elseif (isset($context['custom_field_titles'][$row['action']]))
2475
-			$action_text = $context['custom_field_titles'][$row['action']]['title'];
2476
-		else
2477
-			$action_text = $row['action'];
2542
+		elseif (isset($context['custom_field_titles'][$row['action']])) {
2543
+					$action_text = $context['custom_field_titles'][$row['action']]['title'];
2544
+		} else {
2545
+					$action_text = $row['action'];
2546
+		}
2478 2547
 
2479 2548
 		// Parse BBC?
2480 2549
 		$parse_bbc = isset($context['custom_field_titles'][$row['action']]) && $context['custom_field_titles'][$row['action']]['parse_bbc'] ? true : false;
@@ -2506,13 +2575,15 @@  discard block
 block discarded – undo
2506 2575
 			)
2507 2576
 		);
2508 2577
 		$members = array();
2509
-		while ($row = $smcFunc['db_fetch_assoc']($request))
2510
-			$members[$row['id_member']] = $row['real_name'];
2578
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
2579
+					$members[$row['id_member']] = $row['real_name'];
2580
+		}
2511 2581
 		$smcFunc['db_free_result']($request);
2512 2582
 
2513
-		foreach ($edits as $key => $value)
2514
-			if (isset($members[$value['id_member']]))
2583
+		foreach ($edits as $key => $value) {
2584
+					if (isset($members[$value['id_member']]))
2515 2585
 				$edits[$key]['member_link'] = '<a href="' . $scripturl . '?action=profile;u=' . $value['id_member'] . '">' . $members[$value['id_member']] . '</a>';
2586
+		}
2516 2587
 	}
2517 2588
 
2518 2589
 	return $edits;
@@ -2713,10 +2784,11 @@  discard block
 block discarded – undo
2713 2784
 	$context['board'] = $board;
2714 2785
 
2715 2786
 	// Determine which groups this user is in.
2716
-	if (empty($user_profile[$memID]['additional_groups']))
2717
-		$curGroups = array();
2718
-	else
2719
-		$curGroups = explode(',', $user_profile[$memID]['additional_groups']);
2787
+	if (empty($user_profile[$memID]['additional_groups'])) {
2788
+			$curGroups = array();
2789
+	} else {
2790
+			$curGroups = explode(',', $user_profile[$memID]['additional_groups']);
2791
+	}
2720 2792
 	$curGroups[] = $user_profile[$memID]['id_group'];
2721 2793
 	$curGroups[] = $user_profile[$memID]['id_post_group'];
2722 2794
 
@@ -2736,28 +2808,30 @@  discard block
 block discarded – undo
2736 2808
 	$context['no_access_boards'] = array();
2737 2809
 	while ($row = $smcFunc['db_fetch_assoc']($request))
2738 2810
 	{
2739
-		if (count(array_intersect($curGroups, explode(',', $row['member_groups']))) === 0 && !$row['is_mod'])
2740
-			$context['no_access_boards'][] = array(
2811
+		if (count(array_intersect($curGroups, explode(',', $row['member_groups']))) === 0 && !$row['is_mod']) {
2812
+					$context['no_access_boards'][] = array(
2741 2813
 				'id' => $row['id_board'],
2742 2814
 				'name' => $row['name'],
2743 2815
 				'is_last' => false,
2744 2816
 			);
2745
-		elseif ($row['id_profile'] != 1 || $row['is_mod'])
2746
-			$context['boards'][$row['id_board']] = array(
2817
+		} elseif ($row['id_profile'] != 1 || $row['is_mod']) {
2818
+					$context['boards'][$row['id_board']] = array(
2747 2819
 				'id' => $row['id_board'],
2748 2820
 				'name' => $row['name'],
2749 2821
 				'selected' => $board == $row['id_board'],
2750 2822
 				'profile' => $row['id_profile'],
2751 2823
 				'profile_name' => $context['profiles'][$row['id_profile']]['name'],
2752 2824
 			);
2825
+		}
2753 2826
 	}
2754 2827
 	$smcFunc['db_free_result']($request);
2755 2828
 
2756 2829
 	require_once($sourcedir . '/Subs-Boards.php');
2757 2830
 	sortBoards($context['boards']);
2758 2831
 
2759
-	if (!empty($context['no_access_boards']))
2760
-		$context['no_access_boards'][count($context['no_access_boards']) - 1]['is_last'] = true;
2832
+	if (!empty($context['no_access_boards'])) {
2833
+			$context['no_access_boards'][count($context['no_access_boards']) - 1]['is_last'] = true;
2834
+	}
2761 2835
 
2762 2836
 	$context['member']['permissions'] = array(
2763 2837
 		'general' => array(),
@@ -2766,8 +2840,9 @@  discard block
 block discarded – undo
2766 2840
 
2767 2841
 	// If you're an admin we know you can do everything, we might as well leave.
2768 2842
 	$context['member']['has_all_permissions'] = in_array(1, $curGroups);
2769
-	if ($context['member']['has_all_permissions'])
2770
-		return;
2843
+	if ($context['member']['has_all_permissions']) {
2844
+			return;
2845
+	}
2771 2846
 
2772 2847
 	$denied = array();
2773 2848
 
@@ -2786,21 +2861,24 @@  discard block
 block discarded – undo
2786 2861
 	while ($row = $smcFunc['db_fetch_assoc']($result))
2787 2862
 	{
2788 2863
 		// We don't know about this permission, it doesn't exist :P.
2789
-		if (!isset($txt['permissionname_' . $row['permission']]))
2790
-			continue;
2864
+		if (!isset($txt['permissionname_' . $row['permission']])) {
2865
+					continue;
2866
+		}
2791 2867
 
2792
-		if (empty($row['add_deny']))
2793
-			$denied[] = $row['permission'];
2868
+		if (empty($row['add_deny'])) {
2869
+					$denied[] = $row['permission'];
2870
+		}
2794 2871
 
2795 2872
 		// Permissions that end with _own or _any consist of two parts.
2796
-		if (in_array(substr($row['permission'], -4), array('_own', '_any')) && isset($txt['permissionname_' . substr($row['permission'], 0, -4)]))
2797
-			$name = $txt['permissionname_' . substr($row['permission'], 0, -4)] . ' - ' . $txt['permissionname_' . $row['permission']];
2798
-		else
2799
-			$name = $txt['permissionname_' . $row['permission']];
2873
+		if (in_array(substr($row['permission'], -4), array('_own', '_any')) && isset($txt['permissionname_' . substr($row['permission'], 0, -4)])) {
2874
+					$name = $txt['permissionname_' . substr($row['permission'], 0, -4)] . ' - ' . $txt['permissionname_' . $row['permission']];
2875
+		} else {
2876
+					$name = $txt['permissionname_' . $row['permission']];
2877
+		}
2800 2878
 
2801 2879
 		// Add this permission if it doesn't exist yet.
2802
-		if (!isset($context['member']['permissions']['general'][$row['permission']]))
2803
-			$context['member']['permissions']['general'][$row['permission']] = array(
2880
+		if (!isset($context['member']['permissions']['general'][$row['permission']])) {
2881
+					$context['member']['permissions']['general'][$row['permission']] = array(
2804 2882
 				'id' => $row['permission'],
2805 2883
 				'groups' => array(
2806 2884
 					'allowed' => array(),
@@ -2810,6 +2888,7 @@  discard block
 block discarded – undo
2810 2888
 				'is_denied' => false,
2811 2889
 				'is_global' => true,
2812 2890
 			);
2891
+		}
2813 2892
 
2814 2893
 		// Add the membergroup to either the denied or the allowed groups.
2815 2894
 		$context['member']['permissions']['general'][$row['permission']]['groups'][empty($row['add_deny']) ? 'denied' : 'allowed'][] = $row['id_group'] == 0 ? $txt['membergroups_members'] : $row['group_name'];
@@ -2843,18 +2922,20 @@  discard block
 block discarded – undo
2843 2922
 	while ($row = $smcFunc['db_fetch_assoc']($request))
2844 2923
 	{
2845 2924
 		// We don't know about this permission, it doesn't exist :P.
2846
-		if (!isset($txt['permissionname_' . $row['permission']]))
2847
-			continue;
2925
+		if (!isset($txt['permissionname_' . $row['permission']])) {
2926
+					continue;
2927
+		}
2848 2928
 
2849 2929
 		// The name of the permission using the format 'permission name' - 'own/any topic/event/etc.'.
2850
-		if (in_array(substr($row['permission'], -4), array('_own', '_any')) && isset($txt['permissionname_' . substr($row['permission'], 0, -4)]))
2851
-			$name = $txt['permissionname_' . substr($row['permission'], 0, -4)] . ' - ' . $txt['permissionname_' . $row['permission']];
2852
-		else
2853
-			$name = $txt['permissionname_' . $row['permission']];
2930
+		if (in_array(substr($row['permission'], -4), array('_own', '_any')) && isset($txt['permissionname_' . substr($row['permission'], 0, -4)])) {
2931
+					$name = $txt['permissionname_' . substr($row['permission'], 0, -4)] . ' - ' . $txt['permissionname_' . $row['permission']];
2932
+		} else {
2933
+					$name = $txt['permissionname_' . $row['permission']];
2934
+		}
2854 2935
 
2855 2936
 		// Create the structure for this permission.
2856
-		if (!isset($context['member']['permissions']['board'][$row['permission']]))
2857
-			$context['member']['permissions']['board'][$row['permission']] = array(
2937
+		if (!isset($context['member']['permissions']['board'][$row['permission']])) {
2938
+					$context['member']['permissions']['board'][$row['permission']] = array(
2858 2939
 				'id' => $row['permission'],
2859 2940
 				'groups' => array(
2860 2941
 					'allowed' => array(),
@@ -2864,6 +2945,7 @@  discard block
 block discarded – undo
2864 2945
 				'is_denied' => false,
2865 2946
 				'is_global' => empty($board),
2866 2947
 			);
2948
+		}
2867 2949
 
2868 2950
 		$context['member']['permissions']['board'][$row['permission']]['groups'][empty($row['add_deny']) ? 'denied' : 'allowed'][$row['id_group']] = $row['id_group'] == 0 ? $txt['membergroups_members'] : $row['group_name'];
2869 2951
 
@@ -2882,8 +2964,9 @@  discard block
 block discarded – undo
2882 2964
 	global $modSettings, $context, $sourcedir, $txt, $scripturl;
2883 2965
 
2884 2966
 	// Firstly, can we actually even be here?
2885
-	if (!($context['user']['is_owner'] && allowedTo('view_warning_own')) && !allowedTo('view_warning_any') && !allowedTo('issue_warning') && !allowedTo('moderate_forum'))
2886
-		fatal_lang_error('no_access', false);
2967
+	if (!($context['user']['is_owner'] && allowedTo('view_warning_own')) && !allowedTo('view_warning_any') && !allowedTo('issue_warning') && !allowedTo('moderate_forum')) {
2968
+			fatal_lang_error('no_access', false);
2969
+	}
2887 2970
 
2888 2971
 	// Make sure things which are disabled stay disabled.
2889 2972
 	$modSettings['warning_watch'] = !empty($modSettings['warning_watch']) ? $modSettings['warning_watch'] : 110;
@@ -2970,9 +3053,10 @@  discard block
 block discarded – undo
2970 3053
 		$modSettings['warning_mute'] => $txt['profile_warning_effect_own_muted'],
2971 3054
 	);
2972 3055
 	$context['current_level'] = 0;
2973
-	foreach ($context['level_effects'] as $limit => $dummy)
2974
-		if ($context['member']['warning'] >= $limit)
3056
+	foreach ($context['level_effects'] as $limit => $dummy) {
3057
+			if ($context['member']['warning'] >= $limit)
2975 3058
 			$context['current_level'] = $limit;
2976
-}
3059
+	}
3060
+	}
2977 3061
 
2978 3062
 ?>
2979 3063
\ No newline at end of file
Please login to merge, or discard this patch.
Themes/default/ManageMaintenance.template.php 1 patch
Braces   +42 added lines, -29 removed lines patch added patch discarded remove patch
@@ -18,11 +18,12 @@  discard block
 block discarded – undo
18 18
 	global $context, $txt, $scripturl, $modSettings;
19 19
 
20 20
 	// If maintenance has finished tell the user.
21
-	if (!empty($context['maintenance_finished']))
22
-		echo '
21
+	if (!empty($context['maintenance_finished'])) {
22
+			echo '
23 23
 	<div class="infobox">
24 24
 		', sprintf($txt['maintain_done'], $context['maintenance_finished']), '
25 25
 	</div>';
26
+	}
26 27
 
27 28
 	echo '
28 29
 	<div id="manage_maintenance">
@@ -39,8 +40,8 @@  discard block
 block discarded – undo
39 40
 		</div>';
40 41
 
41 42
 	// Show an option to convert the body column of the post table to MEDIUMTEXT or TEXT
42
-	if (isset($context['convert_to']))
43
-		echo '
43
+	if (isset($context['convert_to'])) {
44
+			echo '
44 45
 		<div class="cat_bar">
45 46
 			<h3 class="catbg">', $txt[$context['convert_to'] . '_title'], '</h3>
46 47
 		</div>
@@ -53,10 +54,11 @@  discard block
 block discarded – undo
53 54
 				<input type="hidden" name="', $context['admin-maint_token_var'], '" value="', $context['admin-maint_token'], '">
54 55
 			</form>
55 56
 		</div>';
57
+	}
56 58
 
57 59
 	// We might want to convert entities if we're on UTF-8.
58
-	if ($context['convert_entities'])
59
-		echo '
60
+	if ($context['convert_entities']) {
61
+			echo '
60 62
 		<div class="cat_bar">
61 63
 			<h3 class="catbg">', $txt['entity_convert_title'], '</h3>
62 64
 		</div>
@@ -68,6 +70,7 @@  discard block
 block discarded – undo
68 70
 				<input type="hidden" name="', $context['admin-maint_token_var'], '" value="', $context['admin-maint_token'], '">
69 71
 			</form>
70 72
 		</div>';
73
+	}
71 74
 
72 75
 	echo '
73 76
 	</div><!-- #manage_maintenance -->';
@@ -85,11 +88,12 @@  discard block
 block discarded – undo
85 88
 	<div id="manage_maintenance">';
86 89
 
87 90
 	// If maintenance has finished tell the user.
88
-	if (!empty($context['maintenance_finished']))
89
-		echo '
91
+	if (!empty($context['maintenance_finished'])) {
92
+			echo '
90 93
 		<div class="infobox">
91 94
 			', sprintf($txt['maintain_done'], $context['maintenance_finished']), '
92 95
 		</div>';
96
+	}
93 97
 
94 98
 	echo '
95 99
 		<div class="cat_bar">
@@ -221,11 +225,12 @@  discard block
 block discarded – undo
221 225
 	<div id="manage_maintenance">';
222 226
 
223 227
 	// If maintenance has finished, tell the user.
224
-	if (!empty($context['maintenance_finished']))
225
-		echo '
228
+	if (!empty($context['maintenance_finished'])) {
229
+			echo '
226 230
 		<div class="infobox">
227 231
 			', sprintf($txt['maintain_done'], $context['maintenance_finished']), '
228 232
 		</div>';
233
+	}
229 234
 
230 235
 	echo '
231 236
 		<div class="cat_bar">
@@ -287,9 +292,10 @@  discard block
 block discarded – undo
287 292
 				</p>
288 293
 				<div style="display: none;" id="membersPanel">';
289 294
 
290
-	foreach ($context['membergroups'] as $group)
291
-		echo '
295
+	foreach ($context['membergroups'] as $group) {
296
+			echo '
292 297
 					<label for="groups', $group['id'], '"><input type="checkbox" name="groups[', $group['id'], ']" id="groups', $group['id'], '" checked> ', $group['name'], '</label><br>';
298
+	}
293 299
 
294 300
 	echo '
295 301
 				</div>
@@ -333,11 +339,12 @@  discard block
 block discarded – undo
333 339
 	global $scripturl, $txt, $context, $settings, $modSettings;
334 340
 
335 341
 	// If maintenance has finished tell the user.
336
-	if (!empty($context['maintenance_finished']))
337
-		echo '
342
+	if (!empty($context['maintenance_finished'])) {
343
+			echo '
338 344
 	<div class="infobox">
339 345
 		', sprintf($txt['maintain_done'], $context['maintenance_finished']), '
340 346
 	</div>';
347
+	}
341 348
 
342 349
 	// Bit of javascript for showing which boards to prune in an otherwise hidden list.
343 350
 	echo '
@@ -405,21 +412,23 @@  discard block
 block discarded – undo
405 412
 								<ul>';
406 413
 
407 414
 		// Display a checkbox with every board.
408
-		foreach ($category['boards'] as $board)
409
-			echo '
415
+		foreach ($category['boards'] as $board) {
416
+					echo '
410 417
 									<li style="margin-', $context['right_to_left'] ? 'right' : 'left', ': ', $board['child_level'] * 1.5, 'em;">
411 418
 										<label for="boards_', $board['id'], '"><input type="checkbox" name="boards[', $board['id'], ']" id="boards_', $board['id'], '" checked>', $board['name'], '</label>
412 419
 									</li>';
420
+		}
413 421
 
414 422
 		echo '
415 423
 								</ul>
416 424
 							</fieldset>';
417 425
 
418 426
 		// Increase $i, and check if we're at the middle yet.
419
-		if (++$i == $middle)
420
-			echo '
427
+		if (++$i == $middle) {
428
+					echo '
421 429
 						</div><!-- .floatleft -->
422 430
 						<div class="floatright" style="width: 49%;">';
431
+		}
423 432
 	}
424 433
 
425 434
 	echo '
@@ -461,9 +470,10 @@  discard block
 block discarded – undo
461 470
 		echo '
462 471
 						<optgroup label="', $category['name'], '">';
463 472
 
464
-		foreach ($category['boards'] as $board)
465
-			echo '
473
+		foreach ($category['boards'] as $board) {
474
+					echo '
466 475
 							<option value="', $board['id'], '"> ', str_repeat('==', $board['child_level']), '=&gt;&nbsp;', $board['name'], '</option>';
476
+		}
467 477
 
468 478
 		echo '
469 479
 						</optgroup>';
@@ -481,9 +491,10 @@  discard block
 block discarded – undo
481 491
 		echo '
482 492
 						<optgroup label="', $category['name'], '">';
483 493
 
484
-		foreach ($category['boards'] as $board)
485
-			echo '
494
+		foreach ($category['boards'] as $board) {
495
+					echo '
486 496
 							<option value="', $board['id'], '"> ', str_repeat('==', $board['child_level']), '=&gt;&nbsp;', $board['name'], '</option>';
497
+		}
487 498
 
488 499
 		echo '
489 500
 						</optgroup>';
@@ -526,9 +537,10 @@  discard block
 block discarded – undo
526 537
 				', $txt['database_optimize_attempt'], '<br>';
527 538
 
528 539
 	// List each table being optimized...
529
-	foreach ($context['optimized_tables'] as $table)
530
-		echo '
540
+	foreach ($context['optimized_tables'] as $table) {
541
+			echo '
531 542
 				', sprintf($txt['database_optimizing'], $table['name'], $table['data_freed']), '<br>';
543
+	}
532 544
 
533 545
 	// How did we go?
534 546
 	echo '
@@ -588,13 +600,14 @@  discard block
 block discarded – undo
588 600
 				</li>
589 601
 			</ul>';
590 602
 
591
-		if (!empty($context['exceeding_messages_morethan']))
592
-			echo '
603
+		if (!empty($context['exceeding_messages_morethan'])) {
604
+					echo '
593 605
 			<p>', $context['exceeding_messages_morethan'], '</p>';
594
-	}
595
-	else
596
-		echo '
606
+		}
607
+	} else {
608
+			echo '
597 609
 			<p class="infobox">', $txt['convert_to_text'], '</p>';
610
+	}
598 611
 
599 612
 	echo '
600 613
 			<form action="', $scripturl, '?action=admin;area=maintain;sa=database;activity=convertmsgbody" method="post" accept-charset="', $context['character_set'], '">
Please login to merge, or discard this patch.
Sources/ManageMaintenance.php 1 patch
Braces   +279 added lines, -208 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
  * Main dispatcher, the maintenance access point.
@@ -95,14 +96,16 @@  discard block
 block discarded – undo
95 96
 	call_integration_hook('integrate_manage_maintenance', array(&$subActions));
96 97
 
97 98
 	// Yep, sub-action time!
98
-	if (isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']]))
99
-		$subAction = $_REQUEST['sa'];
100
-	else
101
-		$subAction = 'routine';
99
+	if (isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']])) {
100
+			$subAction = $_REQUEST['sa'];
101
+	} else {
102
+			$subAction = 'routine';
103
+	}
102 104
 
103 105
 	// Doing something special?
104
-	if (isset($_REQUEST['activity']) && isset($subActions[$subAction]['activities'][$_REQUEST['activity']]))
105
-		$activity = $_REQUEST['activity'];
106
+	if (isset($_REQUEST['activity']) && isset($subActions[$subAction]['activities'][$_REQUEST['activity']])) {
107
+			$activity = $_REQUEST['activity'];
108
+	}
106 109
 
107 110
 	// Set a few things.
108 111
 	$context['page_title'] = $txt['maintain_title'];
@@ -113,8 +116,9 @@  discard block
 block discarded – undo
113 116
 	call_helper($subActions[$subAction]['function']);
114 117
 
115 118
 	// Any special activity?
116
-	if (isset($activity))
117
-		call_helper($subActions[$subAction]['activities'][$activity]);
119
+	if (isset($activity)) {
120
+			call_helper($subActions[$subAction]['activities'][$activity]);
121
+	}
118 122
 
119 123
 	// Create a maintenance token.  Kinda hard to do it any other way.
120 124
 	createToken('admin-maint');
@@ -135,17 +139,19 @@  discard block
 block discarded – undo
135 139
 		db_extend('packages');
136 140
 
137 141
 		$colData = $smcFunc['db_list_columns']('{db_prefix}messages', true);
138
-		foreach ($colData as $column)
139
-			if ($column['name'] == 'body')
142
+		foreach ($colData as $column) {
143
+					if ($column['name'] == 'body')
140 144
 				$body_type = $column['type'];
145
+		}
141 146
 
142 147
 		$context['convert_to'] = $body_type == 'text' ? 'mediumtext' : 'text';
143 148
 		$context['convert_to_suggest'] = ($body_type != 'text' && !empty($modSettings['max_messageLength']) && $modSettings['max_messageLength'] < 65536);
144 149
 	}
145 150
 
146
-	if (isset($_GET['done']) && $_GET['done'] == 'convertentities')
147
-		$context['maintenance_finished'] = $txt['entity_convert_title'];
148
-}
151
+	if (isset($_GET['done']) && $_GET['done'] == 'convertentities') {
152
+			$context['maintenance_finished'] = $txt['entity_convert_title'];
153
+	}
154
+	}
149 155
 
150 156
 /**
151 157
  * Supporting function for the routine maintenance area.
@@ -154,9 +160,10 @@  discard block
 block discarded – undo
154 160
 {
155 161
 	global $context, $txt;
156 162
 
157
-	if (isset($_GET['done']) && $_GET['done'] == 'recount')
158
-		$context['maintenance_finished'] = $txt['maintain_recount'];
159
-}
163
+	if (isset($_GET['done']) && $_GET['done'] == 'recount') {
164
+			$context['maintenance_finished'] = $txt['maintain_recount'];
165
+	}
166
+	}
160 167
 
161 168
 /**
162 169
  * Supporting function for the members maintenance area.
@@ -187,8 +194,9 @@  discard block
 block discarded – undo
187 194
 	}
188 195
 	$smcFunc['db_free_result']($result);
189 196
 
190
-	if (isset($_GET['done']) && $_GET['done'] == 'recountposts')
191
-		$context['maintenance_finished'] = $txt['maintain_recountposts'];
197
+	if (isset($_GET['done']) && $_GET['done'] == 'recountposts') {
198
+			$context['maintenance_finished'] = $txt['maintain_recountposts'];
199
+	}
192 200
 
193 201
 	loadJavaScriptFile('suggest.js', array('defer' => false, 'minimize' => true), 'smf_suggest');
194 202
 }
@@ -214,11 +222,12 @@  discard block
 block discarded – undo
214 222
 	$context['categories'] = array();
215 223
 	while ($row = $smcFunc['db_fetch_assoc']($result))
216 224
 	{
217
-		if (!isset($context['categories'][$row['id_cat']]))
218
-			$context['categories'][$row['id_cat']] = array(
225
+		if (!isset($context['categories'][$row['id_cat']])) {
226
+					$context['categories'][$row['id_cat']] = array(
219 227
 				'name' => $row['cat_name'],
220 228
 				'boards' => array()
221 229
 			);
230
+		}
222 231
 
223 232
 		$context['categories'][$row['id_cat']]['boards'][$row['id_board']] = array(
224 233
 			'id' => $row['id_board'],
@@ -231,11 +240,12 @@  discard block
 block discarded – undo
231 240
 	require_once($sourcedir . '/Subs-Boards.php');
232 241
 	sortCategories($context['categories']);
233 242
 
234
-	if (isset($_GET['done']) && $_GET['done'] == 'purgeold')
235
-		$context['maintenance_finished'] = $txt['maintain_old'];
236
-	elseif (isset($_GET['done']) && $_GET['done'] == 'massmove')
237
-		$context['maintenance_finished'] = $txt['move_topics_maintenance'];
238
-}
243
+	if (isset($_GET['done']) && $_GET['done'] == 'purgeold') {
244
+			$context['maintenance_finished'] = $txt['maintain_old'];
245
+	} elseif (isset($_GET['done']) && $_GET['done'] == 'massmove') {
246
+			$context['maintenance_finished'] = $txt['move_topics_maintenance'];
247
+	}
248
+	}
239 249
 
240 250
 /**
241 251
  * Find and fix all errors on the forum.
@@ -343,15 +353,17 @@  discard block
 block discarded – undo
343 353
 	// Show me your badge!
344 354
 	isAllowedTo('admin_forum');
345 355
 
346
-	if ($db_type != 'mysql')
347
-		return;
356
+	if ($db_type != 'mysql') {
357
+			return;
358
+	}
348 359
 
349 360
 	db_extend('packages');
350 361
 
351 362
 	$colData = $smcFunc['db_list_columns']('{db_prefix}messages', true);
352
-	foreach ($colData as $column)
353
-		if ($column['name'] == 'body')
363
+	foreach ($colData as $column) {
364
+			if ($column['name'] == 'body')
354 365
 			$body_type = $column['type'];
366
+	}
355 367
 
356 368
 	$context['convert_to'] = $body_type == 'text' ? 'mediumtext' : 'text';
357 369
 
@@ -361,33 +373,36 @@  discard block
 block discarded – undo
361 373
 		validateToken('admin-maint');
362 374
 
363 375
 		// Make it longer so we can do their limit.
364
-		if ($body_type == 'text')
365
-			$smcFunc['db_change_column']('{db_prefix}messages', 'body', array('type' => 'mediumtext'));
376
+		if ($body_type == 'text') {
377
+					$smcFunc['db_change_column']('{db_prefix}messages', 'body', array('type' => 'mediumtext'));
378
+		}
366 379
 		// Shorten the column so we can have a bit (literally per record) less space occupied
367
-		else
368
-			$smcFunc['db_change_column']('{db_prefix}messages', 'body', array('type' => 'text'));
380
+		else {
381
+					$smcFunc['db_change_column']('{db_prefix}messages', 'body', array('type' => 'text'));
382
+		}
369 383
 
370 384
 		// 3rd party integrations may be interested in knowning about this.
371 385
 		call_integration_hook('integrate_convert_msgbody', array($body_type));
372 386
 
373 387
 		$colData = $smcFunc['db_list_columns']('{db_prefix}messages', true);
374
-		foreach ($colData as $column)
375
-			if ($column['name'] == 'body')
388
+		foreach ($colData as $column) {
389
+					if ($column['name'] == 'body')
376 390
 				$body_type = $column['type'];
391
+		}
377 392
 
378 393
 		$context['maintenance_finished'] = $txt[$context['convert_to'] . '_title'];
379 394
 		$context['convert_to'] = $body_type == 'text' ? 'mediumtext' : 'text';
380 395
 		$context['convert_to_suggest'] = ($body_type != 'text' && !empty($modSettings['max_messageLength']) && $modSettings['max_messageLength'] < 65536);
381 396
 
382 397
 		return;
383
-	}
384
-	elseif ($body_type != 'text' && (!isset($_POST['do_conversion']) || isset($_POST['cont'])))
398
+	} elseif ($body_type != 'text' && (!isset($_POST['do_conversion']) || isset($_POST['cont'])))
385 399
 	{
386 400
 		checkSession();
387
-		if (empty($_REQUEST['start']))
388
-			validateToken('admin-maint');
389
-		else
390
-			validateToken('admin-convertMsg');
401
+		if (empty($_REQUEST['start'])) {
402
+					validateToken('admin-maint');
403
+		} else {
404
+					validateToken('admin-convertMsg');
405
+		}
391 406
 
392 407
 		$context['page_title'] = $txt['not_done_title'];
393 408
 		$context['continue_post_data'] = '';
@@ -419,8 +434,9 @@  discard block
 block discarded – undo
419 434
 					'increment' => $increment - 1,
420 435
 				)
421 436
 			);
422
-			while ($row = $smcFunc['db_fetch_assoc']($request))
423
-				$id_msg_exceeding[] = $row['id_msg'];
437
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
438
+							$id_msg_exceeding[] = $row['id_msg'];
439
+			}
424 440
 			$smcFunc['db_free_result']($request);
425 441
 
426 442
 			$_REQUEST['start'] += $increment;
@@ -449,9 +465,9 @@  discard block
 block discarded – undo
449 465
 			{
450 466
 				$query_msg = array_slice($id_msg_exceeding, 0, 100);
451 467
 				$context['exceeding_messages_morethan'] = sprintf($txt['exceeding_messages_morethan'], count($id_msg_exceeding));
468
+			} else {
469
+							$query_msg = $id_msg_exceeding;
452 470
 			}
453
-			else
454
-				$query_msg = $id_msg_exceeding;
455 471
 
456 472
 			$context['exceeding_messages'] = array();
457 473
 			$request = $smcFunc['db_query']('', '
@@ -462,8 +478,9 @@  discard block
 block discarded – undo
462 478
 					'messages' => $query_msg,
463 479
 				)
464 480
 			);
465
-			while ($row = $smcFunc['db_fetch_assoc']($request))
466
-				$context['exceeding_messages'][] = '<a href="' . $scripturl . '?topic=' . $row['id_topic'] . '.msg' . $row['id_msg'] . '#msg' . $row['id_msg'] . '">' . $row['subject'] . '</a>';
481
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
482
+							$context['exceeding_messages'][] = '<a href="' . $scripturl . '?topic=' . $row['id_topic'] . '.msg' . $row['id_msg'] . '#msg' . $row['id_msg'] . '">' . $row['subject'] . '</a>';
483
+			}
467 484
 			$smcFunc['db_free_result']($request);
468 485
 		}
469 486
 	}
@@ -487,8 +504,9 @@  discard block
 block discarded – undo
487 504
 	isAllowedTo('admin_forum');
488 505
 
489 506
 	// Check to see if UTF-8 is currently the default character set.
490
-	if ($modSettings['global_character_set'] !== 'UTF-8')
491
-		fatal_lang_error('entity_convert_only_utf8');
507
+	if ($modSettings['global_character_set'] !== 'UTF-8') {
508
+			fatal_lang_error('entity_convert_only_utf8');
509
+	}
492 510
 
493 511
 	// Some starting values.
494 512
 	$context['table'] = empty($_REQUEST['table']) ? 0 : (int) $_REQUEST['table'];
@@ -550,13 +568,14 @@  discard block
 block discarded – undo
550 568
 		// Make sure we keep stuff unique!
551 569
 		$primary_keys = array();
552 570
 
553
-		if (function_exists('apache_reset_timeout'))
554
-			@apache_reset_timeout();
571
+		if (function_exists('apache_reset_timeout')) {
572
+					@apache_reset_timeout();
573
+		}
555 574
 
556 575
 		// Get a list of text columns.
557 576
 		$columns = array();
558
-		if ($db_type == 'postgresql')
559
-			$request = $smcFunc['db_query']('', '
577
+		if ($db_type == 'postgresql') {
578
+					$request = $smcFunc['db_query']('', '
560 579
 				SELECT column_name "Field", data_type "Type"
561 580
 				FROM information_schema.columns 
562 581
 				WHERE table_name = {string:cur_table}
@@ -565,21 +584,23 @@  discard block
 block discarded – undo
565 584
 					'cur_table' => $db_prefix.$cur_table,
566 585
 				)
567 586
 			);
568
-		else
569
-			$request = $smcFunc['db_query']('', '
587
+		} else {
588
+					$request = $smcFunc['db_query']('', '
570 589
 				SHOW FULL COLUMNS
571 590
 				FROM {db_prefix}{raw:cur_table}',
572 591
 				array(
573 592
 					'cur_table' => $cur_table,
574 593
 				)
575 594
 			);
576
-		while ($column_info = $smcFunc['db_fetch_assoc']($request))
577
-			if (strpos($column_info['Type'], 'text') !== false || strpos($column_info['Type'], 'char') !== false)
595
+		}
596
+		while ($column_info = $smcFunc['db_fetch_assoc']($request)) {
597
+					if (strpos($column_info['Type'], 'text') !== false || strpos($column_info['Type'], 'char') !== false)
578 598
 				$columns[] = strtolower($column_info['Field']);
599
+		}
579 600
 
580 601
 		// Get the column with the (first) primary key.
581
-		if ($db_type == 'postgresql')
582
-			$request = $smcFunc['db_query']('', '
602
+		if ($db_type == 'postgresql') {
603
+					$request = $smcFunc['db_query']('', '
583 604
 				SELECT a.attname "Column_name", \'PRIMARY\' "Key_name", attnum "Seq_in_index"
584 605
 				FROM   pg_index i
585 606
 				JOIN   pg_attribute a ON a.attrelid = i.indrelid
@@ -590,20 +611,22 @@  discard block
 block discarded – undo
590 611
 					'cur_table' => $db_prefix.$cur_table,
591 612
 				)
592 613
 			);
593
-		else
594
-			$request = $smcFunc['db_query']('', '
614
+		} else {
615
+					$request = $smcFunc['db_query']('', '
595 616
 				SHOW KEYS
596 617
 				FROM {db_prefix}{raw:cur_table}',
597 618
 				array(
598 619
 					'cur_table' => $cur_table,
599 620
 				)
600 621
 			);
622
+		}
601 623
 		while ($row = $smcFunc['db_fetch_assoc']($request))
602 624
 		{
603 625
 			if ($row['Key_name'] === 'PRIMARY')
604 626
 			{
605
-				if ((empty($primary_key) || $row['Seq_in_index'] == 1) && !in_array(strtolower($row['Column_name']), $columns))
606
-					$primary_key = $row['Column_name'];
627
+				if ((empty($primary_key) || $row['Seq_in_index'] == 1) && !in_array(strtolower($row['Column_name']), $columns)) {
628
+									$primary_key = $row['Column_name'];
629
+				}
607 630
 
608 631
 				$primary_keys[] = $row['Column_name'];
609 632
 			}
@@ -612,8 +635,9 @@  discard block
 block discarded – undo
612 635
 
613 636
 		// No primary key, no glory.
614 637
 		// Same for columns. Just to be sure we've work to do!
615
-		if (empty($primary_key) || empty($columns))
616
-			continue;
638
+		if (empty($primary_key) || empty($columns)) {
639
+					continue;
640
+		}
617 641
 
618 642
 		// Get the maximum value for the primary key.
619 643
 		$request = $smcFunc['db_query']('', '
@@ -627,8 +651,9 @@  discard block
 block discarded – undo
627 651
 		list($max_value) = $smcFunc['db_fetch_row']($request);
628 652
 		$smcFunc['db_free_result']($request);
629 653
 
630
-		if (empty($max_value))
631
-			continue;
654
+		if (empty($max_value)) {
655
+					continue;
656
+		}
632 657
 
633 658
 		while ($context['start'] <= $max_value)
634 659
 		{
@@ -652,10 +677,11 @@  discard block
 block discarded – undo
652 677
 			{
653 678
 				$insertion_variables = array();
654 679
 				$changes = array();
655
-				foreach ($row as $column_name => $column_value)
656
-					if ($column_name !== $primary_key && strpos($column_value, '&#') !== false)
680
+				foreach ($row as $column_name => $column_value) {
681
+									if ($column_name !== $primary_key && strpos($column_value, '&#') !== false)
657 682
 					{
658 683
 						$changes[] = $column_name . ' = {string:changes_' . $column_name . '}';
684
+				}
659 685
 						$insertion_variables['changes_' . $column_name] = preg_replace_callback('~&#(\d{1,5}|x[0-9a-fA-F]{1,4});~', 'fixchardb__callback', $column_value);
660 686
 					}
661 687
 
@@ -667,8 +693,8 @@  discard block
 block discarded – undo
667 693
 				}
668 694
 
669 695
 				// Update the row.
670
-				if (!empty($changes))
671
-					$smcFunc['db_query']('', '
696
+				if (!empty($changes)) {
697
+									$smcFunc['db_query']('', '
672 698
 						UPDATE {db_prefix}' . $cur_table . '
673 699
 						SET
674 700
 							' . implode(',
@@ -676,6 +702,7 @@  discard block
 block discarded – undo
676 702
 						WHERE ' . implode(' AND ', $where),
677 703
 						$insertion_variables
678 704
 					);
705
+				}
679 706
 			}
680 707
 			$smcFunc['db_free_result']($request);
681 708
 			$context['start'] += 500;
@@ -716,10 +743,11 @@  discard block
 block discarded – undo
716 743
 
717 744
 	checkSession('request');
718 745
 
719
-	if (!isset($_SESSION['optimized_tables']))
720
-		validateToken('admin-maint');
721
-	else
722
-		validateToken('admin-optimize', 'post', false);
746
+	if (!isset($_SESSION['optimized_tables'])) {
747
+			validateToken('admin-maint');
748
+	} else {
749
+			validateToken('admin-optimize', 'post', false);
750
+	}
723 751
 
724 752
 	ignore_user_abort(true);
725 753
 	db_extend();
@@ -735,13 +763,15 @@  discard block
 block discarded – undo
735 763
 	// Get a list of tables, as well as how many there are.
736 764
 	$temp_tables = $smcFunc['db_list_tables'](false, $real_prefix . '%');
737 765
 	$tables = array();
738
-	foreach ($temp_tables as $table)
739
-		$tables[] = array('table_name' => $table);
766
+	foreach ($temp_tables as $table) {
767
+			$tables[] = array('table_name' => $table);
768
+	}
740 769
 
741 770
 	// If there aren't any tables then I believe that would mean the world has exploded...
742 771
 	$context['num_tables'] = count($tables);
743
-	if ($context['num_tables'] == 0)
744
-		fatal_error('You appear to be running SMF in a flat file mode... fantastic!', false);
772
+	if ($context['num_tables'] == 0) {
773
+			fatal_error('You appear to be running SMF in a flat file mode... fantastic!', false);
774
+	}
745 775
 
746 776
 	$_REQUEST['start'] = empty($_REQUEST['start']) ? 0 : (int) $_REQUEST['start'];
747 777
 
@@ -752,8 +782,9 @@  discard block
 block discarded – undo
752 782
 	$_SESSION['optimized_tables'] = !empty($_SESSION['optimized_tables']) ? $_SESSION['optimized_tables'] : array();
753 783
 	for ($key = $_REQUEST['start']; $context['num_tables'] - 1; $key++)
754 784
 	{
755
-		if (empty($tables[$key]))
756
-			break;
785
+		if (empty($tables[$key])) {
786
+					break;
787
+		}
757 788
 
758 789
 		// Continue?
759 790
 		if (microtime(true) - $time_start > 10)
@@ -767,8 +798,9 @@  discard block
 block discarded – undo
767 798
 			createToken('admin-optimize');
768 799
 			$context['continue_post_data'] = '<input type="hidden" name="' . $context['admin-optimize_token_var'] . '" value="' . $context['admin-optimize_token'] . '">';
769 800
 
770
-			if (function_exists('apache_reset_timeout'))
771
-				apache_reset_timeout();
801
+			if (function_exists('apache_reset_timeout')) {
802
+							apache_reset_timeout();
803
+			}
772 804
 
773 805
 			return;
774 806
 		}
@@ -776,11 +808,12 @@  discard block
 block discarded – undo
776 808
 		// Optimize the table!  We use backticks here because it might be a custom table.
777 809
 		$data_freed = $smcFunc['db_optimize_table']($tables[$key]['table_name']);
778 810
 
779
-		if ($data_freed > 0)
780
-			$_SESSION['optimized_tables'][] = array(
811
+		if ($data_freed > 0) {
812
+					$_SESSION['optimized_tables'][] = array(
781 813
 				'name' => $tables[$key]['table_name'],
782 814
 				'data_freed' => $data_freed,
783 815
 			);
816
+		}
784 817
 	}
785 818
 
786 819
 	// Number of tables, etc...
@@ -815,10 +848,11 @@  discard block
 block discarded – undo
815 848
 	checkSession('request');
816 849
 
817 850
 	// validate the request or the loop
818
-	if (!isset($_REQUEST['step']))
819
-		validateToken('admin-maint');
820
-	else
821
-		validateToken('admin-boardrecount');
851
+	if (!isset($_REQUEST['step'])) {
852
+			validateToken('admin-maint');
853
+	} else {
854
+			validateToken('admin-boardrecount');
855
+	}
822 856
 
823 857
 	$context['page_title'] = $txt['not_done_title'];
824 858
 	$context['continue_post_data'] = '';
@@ -839,8 +873,9 @@  discard block
 block discarded – undo
839 873
 	$smcFunc['db_free_result']($request);
840 874
 
841 875
 	$increment = min(max(50, ceil($max_topics / 4)), 2000);
842
-	if (empty($_REQUEST['start']))
843
-		$_REQUEST['start'] = 0;
876
+	if (empty($_REQUEST['start'])) {
877
+			$_REQUEST['start'] = 0;
878
+	}
844 879
 
845 880
 	$total_steps = 8;
846 881
 
@@ -867,8 +902,8 @@  discard block
 block discarded – undo
867 902
 					'max_id' => $_REQUEST['start'] + $increment,
868 903
 				)
869 904
 			);
870
-			while ($row = $smcFunc['db_fetch_assoc']($request))
871
-				$smcFunc['db_query']('', '
905
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
906
+							$smcFunc['db_query']('', '
872 907
 					UPDATE {db_prefix}topics
873 908
 					SET num_replies = {int:num_replies}
874 909
 					WHERE id_topic = {int:id_topic}',
@@ -877,6 +912,7 @@  discard block
 block discarded – undo
877 912
 						'id_topic' => $row['id_topic'],
878 913
 					)
879 914
 				);
915
+			}
880 916
 			$smcFunc['db_free_result']($request);
881 917
 
882 918
 			// Recount unapproved messages
@@ -895,8 +931,8 @@  discard block
 block discarded – undo
895 931
 					'max_id' => $_REQUEST['start'] + $increment,
896 932
 				)
897 933
 			);
898
-			while ($row = $smcFunc['db_fetch_assoc']($request))
899
-				$smcFunc['db_query']('', '
934
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
935
+							$smcFunc['db_query']('', '
900 936
 					UPDATE {db_prefix}topics
901 937
 					SET unapproved_posts = {int:unapproved_posts}
902 938
 					WHERE id_topic = {int:id_topic}',
@@ -905,6 +941,7 @@  discard block
 block discarded – undo
905 941
 						'id_topic' => $row['id_topic'],
906 942
 					)
907 943
 				);
944
+			}
908 945
 			$smcFunc['db_free_result']($request);
909 946
 
910 947
 			$_REQUEST['start'] += $increment;
@@ -927,8 +964,8 @@  discard block
 block discarded – undo
927 964
 	// Update the post count of each board.
928 965
 	if ($_REQUEST['step'] <= 1)
929 966
 	{
930
-		if (empty($_REQUEST['start']))
931
-			$smcFunc['db_query']('', '
967
+		if (empty($_REQUEST['start'])) {
968
+					$smcFunc['db_query']('', '
932 969
 				UPDATE {db_prefix}boards
933 970
 				SET num_posts = {int:num_posts}
934 971
 				WHERE redirect = {string:redirect}',
@@ -937,6 +974,7 @@  discard block
 block discarded – undo
937 974
 					'redirect' => '',
938 975
 				)
939 976
 			);
977
+		}
940 978
 
941 979
 		while ($_REQUEST['start'] < $max_topics)
942 980
 		{
@@ -953,8 +991,8 @@  discard block
 block discarded – undo
953 991
 					'is_approved' => 1,
954 992
 				)
955 993
 			);
956
-			while ($row = $smcFunc['db_fetch_assoc']($request))
957
-				$smcFunc['db_query']('', '
994
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
995
+							$smcFunc['db_query']('', '
958 996
 					UPDATE {db_prefix}boards
959 997
 					SET num_posts = num_posts + {int:real_num_posts}
960 998
 					WHERE id_board = {int:id_board}',
@@ -963,6 +1001,7 @@  discard block
 block discarded – undo
963 1001
 						'real_num_posts' => $row['real_num_posts'],
964 1002
 					)
965 1003
 				);
1004
+			}
966 1005
 			$smcFunc['db_free_result']($request);
967 1006
 
968 1007
 			$_REQUEST['start'] += $increment;
@@ -985,14 +1024,15 @@  discard block
 block discarded – undo
985 1024
 	// Update the topic count of each board.
986 1025
 	if ($_REQUEST['step'] <= 2)
987 1026
 	{
988
-		if (empty($_REQUEST['start']))
989
-			$smcFunc['db_query']('', '
1027
+		if (empty($_REQUEST['start'])) {
1028
+					$smcFunc['db_query']('', '
990 1029
 				UPDATE {db_prefix}boards
991 1030
 				SET num_topics = {int:num_topics}',
992 1031
 				array(
993 1032
 					'num_topics' => 0,
994 1033
 				)
995 1034
 			);
1035
+		}
996 1036
 
997 1037
 		while ($_REQUEST['start'] < $max_topics)
998 1038
 		{
@@ -1009,8 +1049,8 @@  discard block
 block discarded – undo
1009 1049
 					'id_topic_max' => $_REQUEST['start'] + $increment,
1010 1050
 				)
1011 1051
 			);
1012
-			while ($row = $smcFunc['db_fetch_assoc']($request))
1013
-				$smcFunc['db_query']('', '
1052
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
1053
+							$smcFunc['db_query']('', '
1014 1054
 					UPDATE {db_prefix}boards
1015 1055
 					SET num_topics = num_topics + {int:real_num_topics}
1016 1056
 					WHERE id_board = {int:id_board}',
@@ -1019,6 +1059,7 @@  discard block
 block discarded – undo
1019 1059
 						'real_num_topics' => $row['real_num_topics'],
1020 1060
 					)
1021 1061
 				);
1062
+			}
1022 1063
 			$smcFunc['db_free_result']($request);
1023 1064
 
1024 1065
 			$_REQUEST['start'] += $increment;
@@ -1041,14 +1082,15 @@  discard block
 block discarded – undo
1041 1082
 	// Update the unapproved post count of each board.
1042 1083
 	if ($_REQUEST['step'] <= 3)
1043 1084
 	{
1044
-		if (empty($_REQUEST['start']))
1045
-			$smcFunc['db_query']('', '
1085
+		if (empty($_REQUEST['start'])) {
1086
+					$smcFunc['db_query']('', '
1046 1087
 				UPDATE {db_prefix}boards
1047 1088
 				SET unapproved_posts = {int:unapproved_posts}',
1048 1089
 				array(
1049 1090
 					'unapproved_posts' => 0,
1050 1091
 				)
1051 1092
 			);
1093
+		}
1052 1094
 
1053 1095
 		while ($_REQUEST['start'] < $max_topics)
1054 1096
 		{
@@ -1065,8 +1107,8 @@  discard block
 block discarded – undo
1065 1107
 					'is_approved' => 0,
1066 1108
 				)
1067 1109
 			);
1068
-			while ($row = $smcFunc['db_fetch_assoc']($request))
1069
-				$smcFunc['db_query']('', '
1110
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
1111
+							$smcFunc['db_query']('', '
1070 1112
 					UPDATE {db_prefix}boards
1071 1113
 					SET unapproved_posts = unapproved_posts + {int:unapproved_posts}
1072 1114
 					WHERE id_board = {int:id_board}',
@@ -1075,6 +1117,7 @@  discard block
 block discarded – undo
1075 1117
 						'unapproved_posts' => $row['real_unapproved_posts'],
1076 1118
 					)
1077 1119
 				);
1120
+			}
1078 1121
 			$smcFunc['db_free_result']($request);
1079 1122
 
1080 1123
 			$_REQUEST['start'] += $increment;
@@ -1097,14 +1140,15 @@  discard block
 block discarded – undo
1097 1140
 	// Update the unapproved topic count of each board.
1098 1141
 	if ($_REQUEST['step'] <= 4)
1099 1142
 	{
1100
-		if (empty($_REQUEST['start']))
1101
-			$smcFunc['db_query']('', '
1143
+		if (empty($_REQUEST['start'])) {
1144
+					$smcFunc['db_query']('', '
1102 1145
 				UPDATE {db_prefix}boards
1103 1146
 				SET unapproved_topics = {int:unapproved_topics}',
1104 1147
 				array(
1105 1148
 					'unapproved_topics' => 0,
1106 1149
 				)
1107 1150
 			);
1151
+		}
1108 1152
 
1109 1153
 		while ($_REQUEST['start'] < $max_topics)
1110 1154
 		{
@@ -1121,8 +1165,8 @@  discard block
 block discarded – undo
1121 1165
 					'id_topic_max' => $_REQUEST['start'] + $increment,
1122 1166
 				)
1123 1167
 			);
1124
-			while ($row = $smcFunc['db_fetch_assoc']($request))
1125
-				$smcFunc['db_query']('', '
1168
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
1169
+							$smcFunc['db_query']('', '
1126 1170
 					UPDATE {db_prefix}boards
1127 1171
 					SET unapproved_topics = unapproved_topics + {int:real_unapproved_topics}
1128 1172
 					WHERE id_board = {int:id_board}',
@@ -1131,6 +1175,7 @@  discard block
 block discarded – undo
1131 1175
 						'real_unapproved_topics' => $row['real_unapproved_topics'],
1132 1176
 					)
1133 1177
 				);
1178
+			}
1134 1179
 			$smcFunc['db_free_result']($request);
1135 1180
 
1136 1181
 			$_REQUEST['start'] += $increment;
@@ -1164,8 +1209,9 @@  discard block
 block discarded – undo
1164 1209
 				'is_not_deleted' => 0,
1165 1210
 			)
1166 1211
 		);
1167
-		while ($row = $smcFunc['db_fetch_assoc']($request))
1168
-			updateMemberData($row['id_member'], array('instant_messages' => $row['real_num']));
1212
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
1213
+					updateMemberData($row['id_member'], array('instant_messages' => $row['real_num']));
1214
+		}
1169 1215
 		$smcFunc['db_free_result']($request);
1170 1216
 
1171 1217
 		$request = $smcFunc['db_query']('', '
@@ -1180,8 +1226,9 @@  discard block
 block discarded – undo
1180 1226
 				'is_not_read' => 0,
1181 1227
 			)
1182 1228
 		);
1183
-		while ($row = $smcFunc['db_fetch_assoc']($request))
1184
-			updateMemberData($row['id_member'], array('unread_messages' => $row['real_num']));
1229
+		while ($row = $smcFunc['db_fetch_assoc']($request)) {
1230
+					updateMemberData($row['id_member'], array('unread_messages' => $row['real_num']));
1231
+		}
1185 1232
 		$smcFunc['db_free_result']($request);
1186 1233
 
1187 1234
 		if (microtime(true) - $time_start > 3)
@@ -1213,12 +1260,13 @@  discard block
 block discarded – undo
1213 1260
 				)
1214 1261
 			);
1215 1262
 			$boards = array();
1216
-			while ($row = $smcFunc['db_fetch_assoc']($request))
1217
-				$boards[$row['id_board']][] = $row['id_msg'];
1263
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
1264
+							$boards[$row['id_board']][] = $row['id_msg'];
1265
+			}
1218 1266
 			$smcFunc['db_free_result']($request);
1219 1267
 
1220
-			foreach ($boards as $board_id => $messages)
1221
-				$smcFunc['db_query']('', '
1268
+			foreach ($boards as $board_id => $messages) {
1269
+							$smcFunc['db_query']('', '
1222 1270
 					UPDATE {db_prefix}messages
1223 1271
 					SET id_board = {int:id_board}
1224 1272
 					WHERE id_msg IN ({array_int:id_msg_array})',
@@ -1227,6 +1275,7 @@  discard block
 block discarded – undo
1227 1275
 						'id_board' => $board_id,
1228 1276
 					)
1229 1277
 				);
1278
+			}
1230 1279
 
1231 1280
 			$_REQUEST['start'] += $increment;
1232 1281
 
@@ -1256,8 +1305,9 @@  discard block
 block discarded – undo
1256 1305
 		)
1257 1306
 	);
1258 1307
 	$realBoardCounts = array();
1259
-	while ($row = $smcFunc['db_fetch_assoc']($request))
1260
-		$realBoardCounts[$row['id_board']] = $row['local_last_msg'];
1308
+	while ($row = $smcFunc['db_fetch_assoc']($request)) {
1309
+			$realBoardCounts[$row['id_board']] = $row['local_last_msg'];
1310
+	}
1261 1311
 	$smcFunc['db_free_result']($request);
1262 1312
 
1263 1313
 	$request = $smcFunc['db_query']('', '
@@ -1277,18 +1327,20 @@  discard block
 block discarded – undo
1277 1327
 	krsort($resort_me);
1278 1328
 
1279 1329
 	$lastModifiedMsg = array();
1280
-	foreach ($resort_me as $rows)
1281
-		foreach ($rows as $row)
1330
+	foreach ($resort_me as $rows) {
1331
+			foreach ($rows as $row)
1282 1332
 		{
1283 1333
 			// The latest message is the latest of the current board and its children.
1284 1334
 			if (isset($lastModifiedMsg[$row['id_board']]))
1285 1335
 				$curLastModifiedMsg = max($row['local_last_msg'], $lastModifiedMsg[$row['id_board']]);
1286
-			else
1287
-				$curLastModifiedMsg = $row['local_last_msg'];
1336
+	}
1337
+			else {
1338
+							$curLastModifiedMsg = $row['local_last_msg'];
1339
+			}
1288 1340
 
1289 1341
 			// If what is and what should be the latest message differ, an update is necessary.
1290
-			if ($row['local_last_msg'] != $row['id_last_msg'] || $curLastModifiedMsg != $row['id_msg_updated'])
1291
-				$smcFunc['db_query']('', '
1342
+			if ($row['local_last_msg'] != $row['id_last_msg'] || $curLastModifiedMsg != $row['id_msg_updated']) {
1343
+							$smcFunc['db_query']('', '
1292 1344
 					UPDATE {db_prefix}boards
1293 1345
 					SET id_last_msg = {int:id_last_msg}, id_msg_updated = {int:id_msg_updated}
1294 1346
 					WHERE id_board = {int:id_board}',
@@ -1298,12 +1350,14 @@  discard block
 block discarded – undo
1298 1350
 						'id_board' => $row['id_board'],
1299 1351
 					)
1300 1352
 				);
1353
+			}
1301 1354
 
1302 1355
 			// Parent boards inherit the latest modified message of their children.
1303
-			if (isset($lastModifiedMsg[$row['id_parent']]))
1304
-				$lastModifiedMsg[$row['id_parent']] = max($row['local_last_msg'], $lastModifiedMsg[$row['id_parent']]);
1305
-			else
1306
-				$lastModifiedMsg[$row['id_parent']] = $row['local_last_msg'];
1356
+			if (isset($lastModifiedMsg[$row['id_parent']])) {
1357
+							$lastModifiedMsg[$row['id_parent']] = max($row['local_last_msg'], $lastModifiedMsg[$row['id_parent']]);
1358
+			} else {
1359
+							$lastModifiedMsg[$row['id_parent']] = $row['local_last_msg'];
1360
+			}
1307 1361
 		}
1308 1362
 
1309 1363
 	// Update all the basic statistics.
@@ -1375,8 +1429,9 @@  discard block
 block discarded – undo
1375 1429
 	require_once($sourcedir . '/Subs-Auth.php');
1376 1430
 	$members = findMembers($_POST['to']);
1377 1431
 
1378
-	if (empty($members))
1379
-		fatal_lang_error('reattribute_cannot_find_member');
1432
+	if (empty($members)) {
1433
+			fatal_lang_error('reattribute_cannot_find_member');
1434
+	}
1380 1435
 
1381 1436
 	$memID = array_shift($members);
1382 1437
 	$memID = $memID['id'];
@@ -1406,8 +1461,9 @@  discard block
 block discarded – undo
1406 1461
 		validateToken('admin-maint');
1407 1462
 
1408 1463
 		$groups = array();
1409
-		foreach ($_POST['groups'] as $id => $dummy)
1410
-			$groups[] = (int) $id;
1464
+		foreach ($_POST['groups'] as $id => $dummy) {
1465
+					$groups[] = (int) $id;
1466
+		}
1411 1467
 		$time_limit = (time() - ($_POST['maxdays'] * 24 * 3600));
1412 1468
 		$where_vars = array(
1413 1469
 			'time_limit' => $time_limit,
@@ -1416,9 +1472,9 @@  discard block
 block discarded – undo
1416 1472
 		{
1417 1473
 			$where = 'mem.date_registered < {int:time_limit} AND mem.is_activated = {int:is_activated}';
1418 1474
 			$where_vars['is_activated'] = 0;
1475
+		} else {
1476
+					$where = 'mem.last_login < {int:time_limit} AND (mem.last_login != 0 OR mem.date_registered < {int:time_limit})';
1419 1477
 		}
1420
-		else
1421
-			$where = 'mem.last_login < {int:time_limit} AND (mem.last_login != 0 OR mem.date_registered < {int:time_limit})';
1422 1478
 
1423 1479
 		// Need to get *all* groups then work out which (if any) we avoid.
1424 1480
 		$request = $smcFunc['db_query']('', '
@@ -1437,8 +1493,7 @@  discard block
 block discarded – undo
1437 1493
 				{
1438 1494
 					$where .= ' AND mem.id_post_group != {int:id_post_group_' . $row['id_group'] . '}';
1439 1495
 					$where_vars['id_post_group_' . $row['id_group']] = $row['id_group'];
1440
-				}
1441
-				else
1496
+				} else
1442 1497
 				{
1443 1498
 					$where .= ' AND mem.id_group != {int:id_group_' . $row['id_group'] . '} AND FIND_IN_SET({int:id_group_' . $row['id_group'] . '}, mem.additional_groups) = 0';
1444 1499
 					$where_vars['id_group_' . $row['id_group']] = $row['id_group'];
@@ -1465,8 +1520,9 @@  discard block
 block discarded – undo
1465 1520
 		$members = array();
1466 1521
 		while ($row = $smcFunc['db_fetch_assoc']($request))
1467 1522
 		{
1468
-			if (!$row['is_mod'] || !in_array(3, $groups))
1469
-				$members[] = $row['id_member'];
1523
+			if (!$row['is_mod'] || !in_array(3, $groups)) {
1524
+							$members[] = $row['id_member'];
1525
+			}
1470 1526
 		}
1471 1527
 		$smcFunc['db_free_result']($request);
1472 1528
 
@@ -1513,8 +1569,9 @@  discard block
 block discarded – undo
1513 1569
 		)
1514 1570
 	);
1515 1571
 
1516
-	while ($row = $smcFunc['db_fetch_row']($request))
1517
-		$drafts[] = (int) $row[0];
1572
+	while ($row = $smcFunc['db_fetch_row']($request)) {
1573
+			$drafts[] = (int) $row[0];
1574
+	}
1518 1575
 	$smcFunc['db_free_result']($request);
1519 1576
 
1520 1577
 	// If we have old drafts, remove them
@@ -1557,8 +1614,9 @@  discard block
 block discarded – undo
1557 1614
 	$sticky = isset($_POST['move_type_sticky']) || isset($_GET['sticky']);
1558 1615
 
1559 1616
 	// No boards then this is your stop.
1560
-	if (empty($id_board_from) || empty($id_board_to))
1561
-		return;
1617
+	if (empty($id_board_from) || empty($id_board_to)) {
1618
+			return;
1619
+	}
1562 1620
 
1563 1621
 	// The big WHERE clause
1564 1622
 	$conditions = 'WHERE t.id_board = {int:id_board_from}
@@ -1606,18 +1664,20 @@  discard block
 block discarded – undo
1606 1664
 		);
1607 1665
 		list ($total_topics) = $smcFunc['db_fetch_row']($request);
1608 1666
 		$smcFunc['db_free_result']($request);
1667
+	} else {
1668
+			$total_topics = (int) $_REQUEST['totaltopics'];
1609 1669
 	}
1610
-	else
1611
-		$total_topics = (int) $_REQUEST['totaltopics'];
1612 1670
 
1613 1671
 	// Seems like we need this here.
1614 1672
 	$context['continue_get_data'] = '?action=admin;area=maintain;sa=topics;activity=massmove;id_board_from=' . $id_board_from . ';id_board_to=' . $id_board_to . ';totaltopics=' . $total_topics . ';max_days=' . $max_days;
1615 1673
 
1616
-	if ($locked)
1617
-		$context['continue_get_data'] .= ';locked';
1674
+	if ($locked) {
1675
+			$context['continue_get_data'] .= ';locked';
1676
+	}
1618 1677
 
1619
-	if ($sticky)
1620
-		$context['continue_get_data'] .= ';sticky';
1678
+	if ($sticky) {
1679
+			$context['continue_get_data'] .= ';sticky';
1680
+	}
1621 1681
 
1622 1682
 	$context['continue_get_data'] .= ';start=' . $context['start'] . ';' . $context['session_var'] . '=' . $context['session_id'];
1623 1683
 
@@ -1638,8 +1698,9 @@  discard block
 block discarded – undo
1638 1698
 
1639 1699
 			// Get the ids.
1640 1700
 			$topics = array();
1641
-			while ($row = $smcFunc['db_fetch_assoc']($request))
1642
-				$topics[] = $row['id_topic'];
1701
+			while ($row = $smcFunc['db_fetch_assoc']($request)) {
1702
+							$topics[] = $row['id_topic'];
1703
+			}
1643 1704
 
1644 1705
 			// Just return if we don't have any topics left to move.
1645 1706
 			if (empty($topics))
@@ -1730,9 +1791,9 @@  discard block
 block discarded – undo
1730 1791
 		// save it so we don't do this again for this task
1731 1792
 		list ($_SESSION['total_members']) = $smcFunc['db_fetch_row']($request);
1732 1793
 		$smcFunc['db_free_result']($request);
1794
+	} else {
1795
+			validateToken('admin-recountposts');
1733 1796
 	}
1734
-	else
1735
-		validateToken('admin-recountposts');
1736 1797
 
1737 1798
 	// Lets get a group of members and determine their post count (from the boards that have post count enabled of course).
1738 1799
 	$request = $smcFunc['db_query']('', '
@@ -1778,8 +1839,9 @@  discard block
 block discarded – undo
1778 1839
 		createToken('admin-recountposts');
1779 1840
 		$context['continue_post_data'] = '<input type="hidden" name="' . $context['admin-recountposts_token_var'] . '" value="' . $context['admin-recountposts_token'] . '">';
1780 1841
 
1781
-		if (function_exists('apache_reset_timeout'))
1782
-			apache_reset_timeout();
1842
+		if (function_exists('apache_reset_timeout')) {
1843
+					apache_reset_timeout();
1844
+		}
1783 1845
 		return;
1784 1846
 	}
1785 1847
 
@@ -1865,10 +1927,9 @@  discard block
 block discarded – undo
1865 1927
 		checkSession('request');
1866 1928
 		validateToken('admin-hook', 'request');
1867 1929
 
1868
-		if ($_REQUEST['do'] == 'remove')
1869
-			remove_integration_function($_REQUEST['hook'], urldecode($_REQUEST['function']));
1870
-
1871
-		else
1930
+		if ($_REQUEST['do'] == 'remove') {
1931
+					remove_integration_function($_REQUEST['hook'], urldecode($_REQUEST['function']));
1932
+		} else
1872 1933
 		{
1873 1934
 			$function_remove = urldecode($_REQUEST['function']) . (($_REQUEST['do'] == 'disable') ? '' : '!');
1874 1935
 			$function_add = urldecode($_REQUEST['function']) . (($_REQUEST['do'] == 'disable') ? '!' : '');
@@ -1918,11 +1979,11 @@  discard block
 block discarded – undo
1918 1979
 						// Show a nice icon to indicate this is an instance.
1919 1980
 						$instance = (!empty($data['instance']) ? '<span class="generic_icons news" title="' . $txt['hooks_field_function_method'] . '"></span> ' : '');
1920 1981
 
1921
-						if (!empty($data['included_file']))
1922
-							return $instance . $txt['hooks_field_function'] . ': ' . $data['real_function'] . '<br>' . $txt['hooks_field_included_file'] . ': ' . $data['included_file'];
1923
-
1924
-						else
1925
-							return $instance . $data['real_function'];
1982
+						if (!empty($data['included_file'])) {
1983
+													return $instance . $txt['hooks_field_function'] . ': ' . $data['real_function'] . '<br>' . $txt['hooks_field_included_file'] . ': ' . $data['included_file'];
1984
+						} else {
1985
+													return $instance . $data['real_function'];
1986
+						}
1926 1987
 					},
1927 1988
 				),
1928 1989
 				'sort' =>  array(
@@ -1987,11 +2048,12 @@  discard block
 block discarded – undo
1987 2048
 		'data' => array(
1988 2049
 			'function' => function($data) use ($txt, $scripturl, $context)
1989 2050
 			{
1990
-				if (!$data['hook_exists'])
1991
-					return '
2051
+				if (!$data['hook_exists']) {
2052
+									return '
1992 2053
 					<a href="' . $scripturl . '?action=admin;area=maintain;sa=hooks;do=remove;hook=' . $data['hook_name'] . ';function=' . urlencode($data['function_name']) . $context['filter_url'] . ';' . $context['admin-hook_token_var'] . '=' . $context['admin-hook_token'] . ';' . $context['session_var'] . '=' . $context['session_id'] . '" data-confirm="' . $txt['quickmod_confirm'] . '" class="you_sure">
1993 2054
 						<span class="generic_icons delete" title="' . $txt['hooks_button_remove'] . '"></span>
1994 2055
 					</a>';
2056
+				}
1995 2057
 			},
1996 2058
 			'class' => 'centertext',
1997 2059
 		),
@@ -2026,10 +2088,11 @@  discard block
 block discarded – undo
2026 2088
 		{
2027 2089
 			if ($file != '.' && $file != '..')
2028 2090
 			{
2029
-				if (is_dir($dir_path . '/' . $file))
2030
-					$files = array_merge($files, get_files_recursive($dir_path . '/' . $file));
2031
-				else
2032
-					$files[] = array('dir' => $dir_path, 'name' => $file);
2091
+				if (is_dir($dir_path . '/' . $file)) {
2092
+									$files = array_merge($files, get_files_recursive($dir_path . '/' . $file));
2093
+				} else {
2094
+									$files[] = array('dir' => $dir_path, 'name' => $file);
2095
+				}
2033 2096
 			}
2034 2097
 		}
2035 2098
 	}
@@ -2078,16 +2141,16 @@  discard block
 block discarded – undo
2078 2141
 							// I need to know if there is at least one function called in this file.
2079 2142
 							$temp_data['include'][$hookParsedData['pureFunc']] = array('hook' => $hook, 'function' => $hookParsedData['pureFunc']);
2080 2143
 							unset($temp_hooks[$hook][$rawFunc]);
2081
-						}
2082
-						elseif (strpos(str_replace(' (', '(', $fc), 'function ' . trim($hookParsedData['pureFunc']) . '(') !== false)
2144
+						} elseif (strpos(str_replace(' (', '(', $fc), 'function ' . trim($hookParsedData['pureFunc']) . '(') !== false)
2083 2145
 						{
2084 2146
 							$hook_status[$hook][$hookParsedData['pureFunc']] = $hookParsedData;
2085 2147
 							$hook_status[$hook][$hookParsedData['pureFunc']]['exists'] = true;
2086 2148
 							$hook_status[$hook][$hookParsedData['pureFunc']]['in_file'] = (!empty($file['name']) ? $file['name'] : (!empty($hookParsedData['hookFile']) ? $hookParsedData['hookFile'] : ''));
2087 2149
 
2088 2150
 							// Does the hook has its own file?
2089
-							if (!empty($hookParsedData['hookFile']))
2090
-								$temp_data['include'][$hookParsedData['pureFunc']] = array('hook' => $hook, 'function' => $hookParsedData['pureFunc']);
2151
+							if (!empty($hookParsedData['hookFile'])) {
2152
+															$temp_data['include'][$hookParsedData['pureFunc']] = array('hook' => $hook, 'function' => $hookParsedData['pureFunc']);
2153
+							}
2091 2154
 
2092 2155
 							// I want to remember all the functions called within this file (to check later if they are enabled or disabled and decide if the integrare_*_include of that file can be disabled too)
2093 2156
 							$temp_data['function'][$file['name']][$hookParsedData['pureFunc']] = $hookParsedData['enabled'];
@@ -2114,15 +2177,17 @@  discard block
 block discarded – undo
2114 2177
 	$sort = array();
2115 2178
 	$hooks_filters = array();
2116 2179
 
2117
-	foreach ($hooks as $hook => $functions)
2118
-		$hooks_filters[] = '<option' . ($context['current_filter'] == $hook ? ' selected ' : '') . ' value="' . $hook . '">' . $hook . '</option>';
2180
+	foreach ($hooks as $hook => $functions) {
2181
+			$hooks_filters[] = '<option' . ($context['current_filter'] == $hook ? ' selected ' : '') . ' value="' . $hook . '">' . $hook . '</option>';
2182
+	}
2119 2183
 
2120
-	if (!empty($hooks_filters))
2121
-		$context['insert_after_template'] .= '
2184
+	if (!empty($hooks_filters)) {
2185
+			$context['insert_after_template'] .= '
2122 2186
 		<script>
2123 2187
 			var hook_name_header = document.getElementById(\'header_list_integration_hooks_hook_name\');
2124 2188
 			hook_name_header.innerHTML += ' . JavaScriptEscape('<select style="margin-left:15px;" onchange="window.location=(\'' . $scripturl . '?action=admin;area=maintain;sa=hooks\' + (this.value ? \';filter=\' + this.value : \'\'));"><option value="">' . $txt['hooks_reset_filter'] . '</option>' . implode('', $hooks_filters) . '</select>') . ';
2125 2189
 		</script>';
2190
+	}
2126 2191
 
2127 2192
 	$temp_data = array();
2128 2193
 	$id = 0;
@@ -2164,10 +2229,11 @@  discard block
 block discarded – undo
2164 2229
 
2165 2230
 	foreach ($temp_data as $data)
2166 2231
 	{
2167
-		if (++$counter < $start)
2168
-			continue;
2169
-		elseif ($counter == $start + $per_page)
2170
-			break;
2232
+		if (++$counter < $start) {
2233
+					continue;
2234
+		} elseif ($counter == $start + $per_page) {
2235
+					break;
2236
+		}
2171 2237
 
2172 2238
 		$hooks_data[] = $data;
2173 2239
 	}
@@ -2189,13 +2255,15 @@  discard block
 block discarded – undo
2189 2255
 	$hooks_count = 0;
2190 2256
 
2191 2257
 	$context['filter'] = false;
2192
-	if (isset($_GET['filter']))
2193
-		$context['filter'] = $_GET['filter'];
2258
+	if (isset($_GET['filter'])) {
2259
+			$context['filter'] = $_GET['filter'];
2260
+	}
2194 2261
 
2195 2262
 	foreach ($hooks as $hook => $functions)
2196 2263
 	{
2197
-		if (empty($context['filter']) || (!empty($context['filter']) && $context['filter'] == $hook))
2198
-			$hooks_count += count($functions);
2264
+		if (empty($context['filter']) || (!empty($context['filter']) && $context['filter'] == $hook)) {
2265
+					$hooks_count += count($functions);
2266
+		}
2199 2267
 	}
2200 2268
 
2201 2269
 	return $hooks_count;
@@ -2216,8 +2284,9 @@  discard block
 block discarded – undo
2216 2284
 		$integration_hooks = array();
2217 2285
 		foreach ($modSettings as $key => $value)
2218 2286
 		{
2219
-			if (!empty($value) && substr($key, 0, 10) === 'integrate_')
2220
-				$integration_hooks[$key] = explode(',', $value);
2287
+			if (!empty($value) && substr($key, 0, 10) === 'integrate_') {
2288
+							$integration_hooks[$key] = explode(',', $value);
2289
+			}
2221 2290
 		}
2222 2291
 	}
2223 2292
 
@@ -2248,8 +2317,9 @@  discard block
 block discarded – undo
2248 2317
 	);
2249 2318
 
2250 2319
 	// Meh...
2251
-	if (empty($rawData))
2252
-		return $hookData;
2320
+	if (empty($rawData)) {
2321
+			return $hookData;
2322
+	}
2253 2323
 
2254 2324
 	// For convenience purposes only!
2255 2325
 	$modFunc = $rawData;
@@ -2260,11 +2330,11 @@  discard block
 block discarded – undo
2260 2330
 		list ($hookData['hookFile'], $modFunc) = explode('|', $modFunc);
2261 2331
 
2262 2332
 		// Does the file exists? who knows!
2263
-		if (empty($settings['theme_dir']))
2264
-			$hookData['absPath'] = strtr(trim($hookData['hookFile']), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir));
2265
-
2266
-		else
2267
-			$hookData['absPath'] = strtr(trim($hookData['hookFile']), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir, '$themedir' => $settings['theme_dir']));
2333
+		if (empty($settings['theme_dir'])) {
2334
+					$hookData['absPath'] = strtr(trim($hookData['hookFile']), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir));
2335
+		} else {
2336
+					$hookData['absPath'] = strtr(trim($hookData['hookFile']), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir, '$themedir' => $settings['theme_dir']));
2337
+		}
2268 2338
 
2269 2339
 		$hookData['fileExists'] = file_exists($hookData['absPath']);
2270 2340
 		$hookData['hookFile'] = basename($hookData['hookFile']);
@@ -2289,11 +2359,10 @@  discard block
 block discarded – undo
2289 2359
 	{
2290 2360
 		list ($hookData['class'], $hookData['method']) = explode('::', $modFunc);
2291 2361
 		$hookData['pureFunc'] = $hookData['method'];
2362
+	} else {
2363
+			$hookData['pureFunc'] = $modFunc;
2292 2364
 	}
2293 2365
 
2294
-	else
2295
-		$hookData['pureFunc'] = $modFunc;
2296
-
2297 2366
 	return $hookData;
2298 2367
 }
2299 2368
 
@@ -2311,16 +2380,18 @@  discard block
 block discarded – undo
2311 2380
 function fixchardb__callback($matches)
2312 2381
 {
2313 2382
 	global $smcFunc;
2314
-	if (!isset($matches[1]))
2315
-		return '';
2383
+	if (!isset($matches[1])) {
2384
+			return '';
2385
+	}
2316 2386
 
2317 2387
 	$num = $matches[1][0] === 'x' ? hexdec(substr($matches[1], 1)) : (int) $matches[1];
2318 2388
 	
2319 2389
 	// it's to big for mb3?
2320
-	if ($num > 0xFFFF && !$smcFunc['db_mb4'])
2321
-		return $matches[0];
2322
-	else
2323
-		return fixchar__callback($matches);
2324
-}
2390
+	if ($num > 0xFFFF && !$smcFunc['db_mb4']) {
2391
+			return $matches[0];
2392
+	} else {
2393
+			return fixchar__callback($matches);
2394
+	}
2395
+	}
2325 2396
 
2326 2397
 ?>
2327 2398
\ No newline at end of file
Please login to merge, or discard this patch.
Themes/default/Register.template.php 1 patch
Braces   +90 added lines, -65 removed lines patch added patch discarded remove patch
@@ -28,14 +28,15 @@  discard block
 block discarded – undo
28 28
 			<div id="confirm_buttons">';
29 29
 
30 30
 	// Age restriction in effect?
31
-	if ($context['show_coppa'])
32
-		echo '
31
+	if ($context['show_coppa']) {
32
+			echo '
33 33
 				<input type="submit" name="accept_agreement" value="', $context['coppa_agree_above'], '" class="button"><br>
34 34
 				<br>
35 35
 				<input type="submit" name="accept_agreement_coppa" value="', $context['coppa_agree_below'], '" class="button">';
36
-	else
37
-		echo '
36
+	} else {
37
+			echo '
38 38
 				<input type="submit" name="accept_agreement" value="', $txt['agreement_agree'], '" class="button">';
39
+	}
39 40
 
40 41
 	echo '
41 42
 				<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '">
@@ -78,9 +79,10 @@  discard block
 block discarded – undo
78 79
 			<ul>';
79 80
 
80 81
 		// Cycle through each error and display an error message.
81
-		foreach ($context['registration_errors'] as $error)
82
-			echo '
82
+		foreach ($context['registration_errors'] as $error) {
83
+					echo '
83 84
 				<li>', $error, '</li>';
85
+		}
84 86
 
85 87
 		echo '
86 88
 			</ul>
@@ -149,14 +151,15 @@  discard block
 block discarded – undo
149 151
 		echo '
150 152
 					<dl class="register_form">';
151 153
 
152
-		foreach ($context['custom_fields'] as $field)
153
-			if ($field['show_reg'] > 1)
154
+		foreach ($context['custom_fields'] as $field) {
155
+					if ($field['show_reg'] > 1)
154 156
 				echo '
155 157
 						<dt>
156 158
 							<strong', !empty($field['is_error']) ? ' class="red"' : '', '>', $field['name'], ':</strong>
157 159
 							<span class="smalltext">', $field['desc'], '</span>
158 160
 						</dt>
159 161
 						<dd>', str_replace('name="', 'tabindex="' . $context['tabindex']++ . '" name="', $field['input_html']), '</dd>';
162
+		}
160 163
 
161 164
 		echo '
162 165
 					</dl>';
@@ -167,14 +170,15 @@  discard block
 block discarded – undo
167 170
 			</div><!-- .roundframe -->';
168 171
 
169 172
 	// If we have either of these, show the extra group.
170
-	if (!empty($context['profile_fields']) || !empty($context['custom_fields']))
171
-		echo '
173
+	if (!empty($context['profile_fields']) || !empty($context['custom_fields'])) {
174
+			echo '
172 175
 			<div class="title_bar">
173 176
 				<h3 class="titlebg">', $txt['additional_information'], '</h3>
174 177
 			</div>
175 178
 			<div class="roundframe noup">
176 179
 				<fieldset>
177 180
 					<dl class="register_form" id="custom_group">';
181
+	}
178 182
 
179 183
 	if (!empty($context['profile_fields']))
180 184
 	{
@@ -188,41 +192,45 @@  discard block
 block discarded – undo
188 192
 					$callback_func = 'template_profile_' . $field['callback_func'];
189 193
 					$callback_func();
190 194
 				}
191
-			}
192
-			else
195
+			} else
193 196
 			{
194 197
 				echo '
195 198
 						<dt>
196 199
 							<strong', !empty($field['is_error']) ? ' class="red"' : '', '>', $field['label'], ':</strong>';
197 200
 
198 201
 				// Does it have any subtext to show?
199
-				if (!empty($field['subtext']))
200
-					echo '
202
+				if (!empty($field['subtext'])) {
203
+									echo '
201 204
 							<span class="smalltext">', $field['subtext'], '</span>';
205
+				}
202 206
 
203 207
 				echo '
204 208
 						</dt>
205 209
 						<dd>';
206 210
 
207 211
 				// Want to put something infront of the box?
208
-				if (!empty($field['preinput']))
209
-					echo '
212
+				if (!empty($field['preinput'])) {
213
+									echo '
210 214
 							', $field['preinput'];
215
+				}
211 216
 
212 217
 				// What type of data are we showing?
213
-				if ($field['type'] == 'label')
214
-					echo '
218
+				if ($field['type'] == 'label') {
219
+									echo '
215 220
 							', $field['value'];
221
+				}
216 222
 
217 223
 				// Maybe it's a text box - very likely!
218
-				elseif (in_array($field['type'], array('int', 'float', 'text', 'password', 'url')))
219
-					echo '
224
+				elseif (in_array($field['type'], array('int', 'float', 'text', 'password', 'url'))) {
225
+									echo '
220 226
 							<input type="', $field['type'] == 'password' ? 'password' : 'text', '" name="', $key, '" id="', $key, '" size="', empty($field['size']) ? 30 : $field['size'], '" value="', $field['value'], '" tabindex="', $context['tabindex']++, '" ', $field['input_attr'], '>';
227
+				}
221 228
 
222 229
 				// You "checking" me out? ;)
223
-				elseif ($field['type'] == 'check')
224
-					echo '
230
+				elseif ($field['type'] == 'check') {
231
+									echo '
225 232
 							<input type="hidden" name="', $key, '" value="0"><input type="checkbox" name="', $key, '" id="', $key, '"', !empty($field['value']) ? ' checked' : '', ' value="1" tabindex="', $context['tabindex']++, '" ', $field['input_attr'], '>';
233
+				}
226 234
 
227 235
 				// Always fun - select boxes!
228 236
 				elseif ($field['type'] == 'select')
@@ -233,14 +241,16 @@  discard block
 block discarded – undo
233 241
 					if (isset($field['options']))
234 242
 					{
235 243
 						// Is this some code to generate the options?
236
-						if (!is_array($field['options']))
237
-							$field['options'] = eval($field['options']);
244
+						if (!is_array($field['options'])) {
245
+													$field['options'] = eval($field['options']);
246
+						}
238 247
 
239 248
 						// Assuming we now have some!
240
-						if (is_array($field['options']))
241
-							foreach ($field['options'] as $value => $name)
249
+						if (is_array($field['options'])) {
250
+													foreach ($field['options'] as $value => $name)
242 251
 								echo '
243 252
 								<option', is_numeric($value) ? ' value="" disabled' : ' value="' . $value . '"', $value === $field['value'] ? ' selected' : '', '>', $name, '</option>';
253
+						}
244 254
 					}
245 255
 
246 256
 					echo '
@@ -248,9 +258,10 @@  discard block
 block discarded – undo
248 258
 				}
249 259
 
250 260
 				// Something to end with?
251
-				if (!empty($field['postinput']))
252
-					echo '
261
+				if (!empty($field['postinput'])) {
262
+									echo '
253 263
 							', $field['postinput'];
264
+				}
254 265
 
255 266
 				echo '
256 267
 						</dd>';
@@ -261,25 +272,27 @@  discard block
 block discarded – undo
261 272
 	// Are there any custom fields?
262 273
 	if (!empty($context['custom_fields']))
263 274
 	{
264
-		foreach ($context['custom_fields'] as $field)
265
-			if ($field['show_reg'] < 2)
275
+		foreach ($context['custom_fields'] as $field) {
276
+					if ($field['show_reg'] < 2)
266 277
 				echo '
267 278
 						<dt>
268 279
 							<strong', !empty($field['is_error']) ? ' class="red"' : '', '>', $field['name'], ':</strong>
269 280
 							<span class="smalltext">', $field['desc'], '</span>
270 281
 						</dt>
271 282
 						<dd>', $field['input_html'], '</dd>';
283
+		}
272 284
 	}
273 285
 
274 286
 	// If we have either of these, close the list like a proper gent.
275
-	if (!empty($context['profile_fields']) || !empty($context['custom_fields']))
276
-		echo '
287
+	if (!empty($context['profile_fields']) || !empty($context['custom_fields'])) {
288
+			echo '
277 289
 					</dl>
278 290
 				</fieldset>
279 291
 			</div><!-- .roundframe -->';
292
+	}
280 293
 
281
-	if ($context['visual_verification'])
282
-		echo '
294
+	if ($context['visual_verification']) {
295
+			echo '
283 296
 			<div class="title_bar">
284 297
 				<h3 class="titlebg">', $txt['verification'], '</h3>
285 298
 			</div>
@@ -288,19 +301,21 @@  discard block
 block discarded – undo
288 301
 					', template_control_verification($context['visual_verification_id'], 'all'), '
289 302
 				</fieldset>
290 303
 			</div>';
304
+	}
291 305
 
292 306
 	echo '
293 307
 			<div id="confirm_buttons" class="flow_auto">';
294 308
 
295 309
 	// Age restriction in effect?
296
-	if (!$context['require_agreement'] && $context['show_coppa'])
297
-		echo '
310
+	if (!$context['require_agreement'] && $context['show_coppa']) {
311
+			echo '
298 312
 				<input type="submit" name="accept_agreement" value="', $context['coppa_agree_above'], '" class="button"><br>
299 313
 				<br>
300 314
 				<input type="submit" name="accept_agreement_coppa" value="', $context['coppa_agree_below'], '" class="button">';
301
-	else
302
-		echo '
315
+	} else {
316
+			echo '
303 317
 				<input type="submit" name="regSubmit" value="', $txt['register'], '" tabindex="', $context['tabindex']++, '" class="button">';
318
+	}
304 319
 
305 320
 	echo '
306 321
 			</div>
@@ -362,25 +377,28 @@  discard block
 block discarded – undo
362 377
 				<p>', $context['coppa']['many_options'] ? $txt['coppa_send_to_two_options'] : $txt['coppa_send_to_one_option'], '</p>';
363 378
 
364 379
 	// Can they send by post?
365
-	if (!empty($context['coppa']['post']))
366
-		echo '
380
+	if (!empty($context['coppa']['post'])) {
381
+			echo '
367 382
 				<h4>1) ', $txt['coppa_send_by_post'], '</h4>
368 383
 				<div class="coppa_contact">
369 384
 					', $context['coppa']['post'], '
370 385
 				</div>';
386
+	}
371 387
 
372 388
 	// Can they send by fax??
373
-	if (!empty($context['coppa']['fax']))
374
-		echo '
389
+	if (!empty($context['coppa']['fax'])) {
390
+			echo '
375 391
 				<h4>', !empty($context['coppa']['post']) ? '2' : '1', ') ', $txt['coppa_send_by_fax'], '</h4>
376 392
 				<div class="coppa_contact">
377 393
 					', $context['coppa']['fax'], '
378 394
 				</div>';
395
+	}
379 396
 
380 397
 	// Offer an alternative Phone Number?
381
-	if ($context['coppa']['phone'])
382
-		echo '
398
+	if ($context['coppa']['phone']) {
399
+			echo '
383 400
 				<p>', $context['coppa']['phone'], '</p>';
401
+	}
384 402
 
385 403
 	echo '
386 404
 			</div><!-- #coppa -->';
@@ -445,19 +463,20 @@  discard block
 block discarded – undo
445 463
 	<body style="margin: 1ex;">
446 464
 		<div class="windowbg description" style="text-align: center;">';
447 465
 
448
-	if (isBrowser('is_ie') || isBrowser('is_ie11'))
449
-		echo '
466
+	if (isBrowser('is_ie') || isBrowser('is_ie11')) {
467
+			echo '
450 468
 			<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" type="audio/x-wav">
451 469
 				<param name="AutoStart" value="1">
452 470
 				<param name="FileName" value="', $context['verification_sound_href'], '">
453 471
 			</object>';
454
-	else
455
-		echo '
472
+	} else {
473
+			echo '
456 474
 			<audio src="', $context['verification_sound_href'], '" controls>
457 475
 				<object type="audio/x-wav" data="', $context['verification_sound_href'], '">
458 476
 					<a href="', $context['verification_sound_href'], '" rel="nofollow">', $context['verification_sound_href'], '</a>
459 477
 				</object>
460 478
 			</audio>';
479
+	}
461 480
 
462 481
 	echo '
463 482
 			<br>
@@ -485,11 +504,12 @@  discard block
 block discarded – undo
485 504
 				</div>
486 505
 				<div id="register_screen" class="windowbg">';
487 506
 
488
-	if (!empty($context['registration_done']))
489
-		echo '
507
+	if (!empty($context['registration_done'])) {
508
+			echo '
490 509
 					<div class="infobox">
491 510
 						', $context['registration_done'], '
492 511
 					</div>';
512
+	}
493 513
 
494 514
 	echo '
495 515
 					<dl class="register_form" id="admin_register_form">
@@ -525,9 +545,10 @@  discard block
 block discarded – undo
525 545
 						<dd>
526 546
 							<select name="group" id="group_select" tabindex="', $context['tabindex']++, '">';
527 547
 
528
-		foreach ($context['member_groups'] as $id => $name)
529
-			echo '
548
+		foreach ($context['member_groups'] as $id => $name) {
549
+					echo '
530 550
 								<option value="', $id, '">', $name, '</option>';
551
+		}
531 552
 
532 553
 		echo '
533 554
 							</select>
@@ -535,8 +556,8 @@  discard block
 block discarded – undo
535 556
 	}
536 557
 
537 558
 	// If there is any field marked as required, show it here!
538
-	if (!empty($context['custom_fields_required']) && !empty($context['custom_fields']))
539
-		foreach ($context['custom_fields'] as $field)
559
+	if (!empty($context['custom_fields_required']) && !empty($context['custom_fields'])) {
560
+			foreach ($context['custom_fields'] as $field)
540 561
 			if ($field['show_reg'] > 1)
541 562
 				echo '
542 563
 						<dt>
@@ -546,6 +567,7 @@  discard block
 block discarded – undo
546 567
 						<dd>
547 568
 							', str_replace('name="', 'tabindex="' . $context['tabindex']++ . '" name="', $field['input_html']), '
548 569
 						</dd>';
570
+	}
549 571
 
550 572
 	echo '
551 573
 						<dt>
@@ -582,18 +604,19 @@  discard block
 block discarded – undo
582 604
 {
583 605
 	global $context, $scripturl, $txt;
584 606
 
585
-	if (!empty($context['saved_successful']))
586
-		echo '
607
+	if (!empty($context['saved_successful'])) {
608
+			echo '
587 609
 		<div class="infobox">', $txt['settings_saved'], '</div>';
588
-
589
-	elseif (!empty($context['could_not_save']))
590
-		echo '
610
+	} elseif (!empty($context['could_not_save'])) {
611
+			echo '
591 612
 		<div class="errorbox">', $txt['admin_agreement_not_saved'], '</div>';
613
+	}
592 614
 
593 615
 	// Warning for if the file isn't writable.
594
-	if (!empty($context['warning']))
595
-		echo '
616
+	if (!empty($context['warning'])) {
617
+			echo '
596 618
 		<div class="errorbox">', $context['warning'], '</div>';
619
+	}
597 620
 
598 621
 	// Just a big box to edit the text file ;)
599 622
 	echo '
@@ -615,9 +638,10 @@  discard block
 block discarded – undo
615 638
 						<strong>', $txt['admin_agreement_select_language'], ':</strong>
616 639
 						<select name="agree_lang" onchange="document.getElementById(\'change_reg\').submit();" tabindex="', $context['tabindex']++, '">';
617 640
 
618
-		foreach ($context['editable_agreements'] as $file => $name)
619
-			echo '
641
+		foreach ($context['editable_agreements'] as $file => $name) {
642
+					echo '
620 643
 							<option value="', $file, '"', $context['current_agreement'] == $file ? ' selected' : '', '>', $name, '</option>';
644
+		}
621 645
 
622 646
 		echo '
623 647
 						</select>
@@ -657,9 +681,10 @@  discard block
 block discarded – undo
657 681
 {
658 682
 	global $context, $scripturl, $txt;
659 683
 
660
-	if (!empty($context['saved_successful']))
661
-		echo '
684
+	if (!empty($context['saved_successful'])) {
685
+			echo '
662 686
 	<div class="infobox">', $txt['settings_saved'], '</div>';
687
+	}
663 688
 
664 689
 	echo '
665 690
 	<form id="admin_form_wrapper" action="', $scripturl, '?action=admin;area=regcenter" method="post" accept-charset="', $context['character_set'], '">
Please login to merge, or discard this patch.