@@ -14,8 +14,9 @@ discard block |
||
14 | 14 | * @version 2.1 Beta 4 |
15 | 15 | */ |
16 | 16 | |
17 | -if (!defined('SMF')) |
|
17 | +if (!defined('SMF')) { |
|
18 | 18 | die('No direct access...'); |
19 | +} |
|
19 | 20 | |
20 | 21 | /** |
21 | 22 | * Locks a topic... either by way of a moderator or the topic starter. |
@@ -32,8 +33,9 @@ discard block |
||
32 | 33 | global $topic, $user_info, $sourcedir, $board, $smcFunc; |
33 | 34 | |
34 | 35 | // Just quit if there's no topic to lock. |
35 | - if (empty($topic)) |
|
36 | - fatal_lang_error('not_a_topic', false); |
|
36 | + if (empty($topic)) { |
|
37 | + fatal_lang_error('not_a_topic', false); |
|
38 | + } |
|
37 | 39 | |
38 | 40 | checkSession('get'); |
39 | 41 | |
@@ -55,23 +57,28 @@ discard block |
||
55 | 57 | |
56 | 58 | // Can you lock topics here, mister? |
57 | 59 | $user_lock = !allowedTo('lock_any'); |
58 | - if ($user_lock && $starter == $user_info['id']) |
|
59 | - isAllowedTo('lock_own'); |
|
60 | - else |
|
61 | - isAllowedTo('lock_any'); |
|
60 | + if ($user_lock && $starter == $user_info['id']) { |
|
61 | + isAllowedTo('lock_own'); |
|
62 | + } else { |
|
63 | + isAllowedTo('lock_any'); |
|
64 | + } |
|
62 | 65 | |
63 | 66 | // Locking with high privileges. |
64 | - if ($locked == '0' && !$user_lock) |
|
65 | - $locked = '1'; |
|
67 | + if ($locked == '0' && !$user_lock) { |
|
68 | + $locked = '1'; |
|
69 | + } |
|
66 | 70 | // Locking with low privileges. |
67 | - elseif ($locked == '0') |
|
68 | - $locked = '2'; |
|
71 | + elseif ($locked == '0') { |
|
72 | + $locked = '2'; |
|
73 | + } |
|
69 | 74 | // Unlocking - make sure you don't unlock what you can't. |
70 | - elseif ($locked == '2' || ($locked == '1' && !$user_lock)) |
|
71 | - $locked = '0'; |
|
75 | + elseif ($locked == '2' || ($locked == '1' && !$user_lock)) { |
|
76 | + $locked = '0'; |
|
77 | + } |
|
72 | 78 | // You cannot unlock this! |
73 | - else |
|
74 | - fatal_lang_error('locked_by_admin', 'user'); |
|
79 | + else { |
|
80 | + fatal_lang_error('locked_by_admin', 'user'); |
|
81 | + } |
|
75 | 82 | |
76 | 83 | // Actually lock the topic in the database with the new value. |
77 | 84 | $smcFunc['db_query']('', ' |
@@ -85,8 +92,9 @@ discard block |
||
85 | 92 | ); |
86 | 93 | |
87 | 94 | // If they are allowed a "moderator" permission, log it in the moderator log. |
88 | - if (!$user_lock) |
|
89 | - logAction($locked ? 'lock' : 'unlock', array('topic' => $topic, 'board' => $board)); |
|
95 | + if (!$user_lock) { |
|
96 | + logAction($locked ? 'lock' : 'unlock', array('topic' => $topic, 'board' => $board)); |
|
97 | + } |
|
90 | 98 | // Notify people that this topic has been locked? |
91 | 99 | sendNotifications($topic, empty($locked) ? 'unlock' : 'lock'); |
92 | 100 | |
@@ -112,8 +120,9 @@ discard block |
||
112 | 120 | isAllowedTo('make_sticky'); |
113 | 121 | |
114 | 122 | // You can't sticky a board or something! |
115 | - if (empty($topic)) |
|
116 | - fatal_lang_error('not_a_topic', false); |
|
123 | + if (empty($topic)) { |
|
124 | + fatal_lang_error('not_a_topic', false); |
|
125 | + } |
|
117 | 126 | |
118 | 127 | checkSession('get'); |
119 | 128 | |
@@ -147,8 +156,9 @@ discard block |
||
147 | 156 | // Log this sticky action - always a moderator thing. |
148 | 157 | logAction(empty($is_sticky) ? 'sticky' : 'unsticky', array('topic' => $topic, 'board' => $board)); |
149 | 158 | // Notify people that this topic has been stickied? |
150 | - if (empty($is_sticky)) |
|
151 | - sendNotifications($topic, 'sticky'); |
|
159 | + if (empty($is_sticky)) { |
|
160 | + sendNotifications($topic, 'sticky'); |
|
161 | + } |
|
152 | 162 | |
153 | 163 | // Take them back to the now stickied topic. |
154 | 164 | redirectexit('topic=' . $topic . '.' . $_REQUEST['start'] . ';moderate'); |
@@ -13,8 +13,9 @@ discard block |
||
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 entry point for the admin search settings screen. |
@@ -107,11 +108,13 @@ discard block |
||
107 | 108 | // Perhaps the search method wants to add some settings? |
108 | 109 | require_once($sourcedir . '/Search.php'); |
109 | 110 | $searchAPI = findSearchAPI(); |
110 | - if (is_callable(array($searchAPI, 'searchSettings'))) |
|
111 | - call_user_func_array(array($searchAPI, 'searchSettings'), array(&$config_vars)); |
|
111 | + if (is_callable(array($searchAPI, 'searchSettings'))) { |
|
112 | + call_user_func_array(array($searchAPI, 'searchSettings'), array(&$config_vars)); |
|
113 | + } |
|
112 | 114 | |
113 | - if ($return_config) |
|
114 | - return $config_vars; |
|
115 | + if ($return_config) { |
|
116 | + return $config_vars; |
|
117 | + } |
|
115 | 118 | |
116 | 119 | $context['page_title'] = $txt['search_settings_title']; |
117 | 120 | $context['sub_template'] = 'show_settings'; |
@@ -126,8 +129,9 @@ discard block |
||
126 | 129 | |
127 | 130 | call_integration_hook('integrate_save_search_settings'); |
128 | 131 | |
129 | - if (empty($_POST['search_results_per_page'])) |
|
130 | - $_POST['search_results_per_page'] = !empty($modSettings['search_results_per_page']) ? $modSettings['search_results_per_page'] : $modSettings['defaultMaxMessages']; |
|
132 | + if (empty($_POST['search_results_per_page'])) { |
|
133 | + $_POST['search_results_per_page'] = !empty($modSettings['search_results_per_page']) ? $modSettings['search_results_per_page'] : $modSettings['defaultMaxMessages']; |
|
134 | + } |
|
131 | 135 | saveDBSettings($config_vars); |
132 | 136 | $_SESSION['adm-save'] = true; |
133 | 137 | redirectexit('action=admin;area=managesearch;sa=settings;' . $context['session_var'] . '=' . $context['session_id']); |
@@ -177,17 +181,20 @@ discard block |
||
177 | 181 | call_integration_hook('integrate_save_search_weights'); |
178 | 182 | |
179 | 183 | $changes = array(); |
180 | - foreach ($factors as $factor) |
|
181 | - $changes[$factor] = (int) $_POST[$factor]; |
|
184 | + foreach ($factors as $factor) { |
|
185 | + $changes[$factor] = (int) $_POST[$factor]; |
|
186 | + } |
|
182 | 187 | updateSettings($changes); |
183 | 188 | } |
184 | 189 | |
185 | 190 | $context['relative_weights'] = array('total' => 0); |
186 | - foreach ($factors as $factor) |
|
187 | - $context['relative_weights']['total'] += isset($modSettings[$factor]) ? $modSettings[$factor] : 0; |
|
191 | + foreach ($factors as $factor) { |
|
192 | + $context['relative_weights']['total'] += isset($modSettings[$factor]) ? $modSettings[$factor] : 0; |
|
193 | + } |
|
188 | 194 | |
189 | - foreach ($factors as $factor) |
|
190 | - $context['relative_weights'][$factor] = round(100 * (isset($modSettings[$factor]) ? $modSettings[$factor] : 0) / $context['relative_weights']['total'], 1); |
|
195 | + foreach ($factors as $factor) { |
|
196 | + $context['relative_weights'][$factor] = round(100 * (isset($modSettings[$factor]) ? $modSettings[$factor] : 0) / $context['relative_weights']['total'], 1); |
|
197 | + } |
|
191 | 198 | |
192 | 199 | createToken('admin-msw'); |
193 | 200 | } |
@@ -215,8 +222,9 @@ discard block |
||
215 | 222 | $context['search_apis'] = loadSearchAPIs(); |
216 | 223 | |
217 | 224 | // Detect whether a fulltext index is set. |
218 | - if ($context['supports_fulltext']) |
|
219 | - detectFulltextIndex(); |
|
225 | + if ($context['supports_fulltext']) { |
|
226 | + detectFulltextIndex(); |
|
227 | + } |
|
220 | 228 | |
221 | 229 | if (!empty($_REQUEST['sa']) && $_REQUEST['sa'] == 'createfulltext') |
222 | 230 | { |
@@ -240,8 +248,7 @@ discard block |
||
240 | 248 | 'language' => $language_ftx |
241 | 249 | ) |
242 | 250 | ); |
243 | - } |
|
244 | - else |
|
251 | + } else |
|
245 | 252 | { |
246 | 253 | // Make sure it's gone before creating it. |
247 | 254 | $smcFunc['db_query']('', ' |
@@ -261,8 +268,7 @@ discard block |
||
261 | 268 | } |
262 | 269 | |
263 | 270 | $context['fulltext_index'] = 'body'; |
264 | - } |
|
265 | - elseif (!empty($_REQUEST['sa']) && $_REQUEST['sa'] == 'removefulltext' && !empty($context['fulltext_index'])) |
|
271 | + } elseif (!empty($_REQUEST['sa']) && $_REQUEST['sa'] == 'removefulltext' && !empty($context['fulltext_index'])) |
|
266 | 272 | { |
267 | 273 | checkSession('get'); |
268 | 274 | validateToken('admin-msm', 'get'); |
@@ -279,12 +285,12 @@ discard block |
||
279 | 285 | $context['fulltext_index'] = ''; |
280 | 286 | |
281 | 287 | // Go back to the default search method. |
282 | - if (!empty($modSettings['search_index']) && $modSettings['search_index'] == 'fulltext') |
|
283 | - updateSettings(array( |
|
288 | + if (!empty($modSettings['search_index']) && $modSettings['search_index'] == 'fulltext') { |
|
289 | + updateSettings(array( |
|
284 | 290 | 'search_index' => '', |
285 | 291 | )); |
286 | - } |
|
287 | - elseif (!empty($_REQUEST['sa']) && $_REQUEST['sa'] == 'removecustom') |
|
292 | + } |
|
293 | + } elseif (!empty($_REQUEST['sa']) && $_REQUEST['sa'] == 'removecustom') |
|
288 | 294 | { |
289 | 295 | checkSession('get'); |
290 | 296 | validateToken('admin-msm', 'get'); |
@@ -306,12 +312,12 @@ discard block |
||
306 | 312 | )); |
307 | 313 | |
308 | 314 | // Go back to the default search method. |
309 | - if (!empty($modSettings['search_index']) && $modSettings['search_index'] == 'custom') |
|
310 | - updateSettings(array( |
|
315 | + if (!empty($modSettings['search_index']) && $modSettings['search_index'] == 'custom') { |
|
316 | + updateSettings(array( |
|
311 | 317 | 'search_index' => '', |
312 | 318 | )); |
313 | - } |
|
314 | - elseif (isset($_POST['save'])) |
|
319 | + } |
|
320 | + } elseif (isset($_POST['save'])) |
|
315 | 321 | { |
316 | 322 | checkSession(); |
317 | 323 | validateToken('admin-msmpost'); |
@@ -333,8 +339,8 @@ discard block |
||
333 | 339 | // Get some info about the messages table, to show its size and index size. |
334 | 340 | if ($db_type == 'mysql') |
335 | 341 | { |
336 | - if (preg_match('~^`(.+?)`\.(.+?)$~', $db_prefix, $match) !== 0) |
|
337 | - $request = $smcFunc['db_query']('', ' |
|
342 | + if (preg_match('~^`(.+?)`\.(.+?)$~', $db_prefix, $match) !== 0) { |
|
343 | + $request = $smcFunc['db_query']('', ' |
|
338 | 344 | SHOW TABLE STATUS |
339 | 345 | FROM {string:database_name} |
340 | 346 | LIKE {string:table_name}', |
@@ -343,14 +349,15 @@ discard block |
||
343 | 349 | 'table_name' => str_replace('_', '\_', $match[2]) . 'messages', |
344 | 350 | ) |
345 | 351 | ); |
346 | - else |
|
347 | - $request = $smcFunc['db_query']('', ' |
|
352 | + } else { |
|
353 | + $request = $smcFunc['db_query']('', ' |
|
348 | 354 | SHOW TABLE STATUS |
349 | 355 | LIKE {string:table_name}', |
350 | 356 | array( |
351 | 357 | 'table_name' => str_replace('_', '\_', $db_prefix) . 'messages', |
352 | 358 | ) |
353 | 359 | ); |
360 | + } |
|
354 | 361 | if ($request !== false && $smcFunc['db_num_rows']($request) == 1) |
355 | 362 | { |
356 | 363 | // Only do this if the user has permission to execute this query. |
@@ -362,8 +369,8 @@ discard block |
||
362 | 369 | } |
363 | 370 | |
364 | 371 | // Now check the custom index table, if it exists at all. |
365 | - if (preg_match('~^`(.+?)`\.(.+?)$~', $db_prefix, $match) !== 0) |
|
366 | - $request = $smcFunc['db_query']('', ' |
|
372 | + if (preg_match('~^`(.+?)`\.(.+?)$~', $db_prefix, $match) !== 0) { |
|
373 | + $request = $smcFunc['db_query']('', ' |
|
367 | 374 | SHOW TABLE STATUS |
368 | 375 | FROM {string:database_name} |
369 | 376 | LIKE {string:table_name}', |
@@ -372,14 +379,15 @@ discard block |
||
372 | 379 | 'table_name' => str_replace('_', '\_', $match[2]) . 'log_search_words', |
373 | 380 | ) |
374 | 381 | ); |
375 | - else |
|
376 | - $request = $smcFunc['db_query']('', ' |
|
382 | + } else { |
|
383 | + $request = $smcFunc['db_query']('', ' |
|
377 | 384 | SHOW TABLE STATUS |
378 | 385 | LIKE {string:table_name}', |
379 | 386 | array( |
380 | 387 | 'table_name' => str_replace('_', '\_', $db_prefix) . 'log_search_words', |
381 | 388 | ) |
382 | 389 | ); |
390 | + } |
|
383 | 391 | if ($request !== false && $smcFunc['db_num_rows']($request) == 1) |
384 | 392 | { |
385 | 393 | // Only do this if the user has permission to execute this query. |
@@ -388,8 +396,7 @@ discard block |
||
388 | 396 | $context['table_info']['custom_index_length'] = $row['Data_length'] + $row['Index_length']; |
389 | 397 | $smcFunc['db_free_result']($request); |
390 | 398 | } |
391 | - } |
|
392 | - elseif ($db_type == 'postgresql') |
|
399 | + } elseif ($db_type == 'postgresql') |
|
393 | 400 | { |
394 | 401 | // In order to report the sizes correctly we need to perform vacuum (optimize) on the tables we will be using. |
395 | 402 | //db_extend(); |
@@ -431,38 +438,38 @@ discard block |
||
431 | 438 | $context['table_info']['data_length'] = (int) $row['table_size']; |
432 | 439 | $context['table_info']['index_length'] = (int) $row['index_size']; |
433 | 440 | $context['table_info']['fulltext_length'] = (int) $row['index_size']; |
434 | - } |
|
435 | - elseif ($row['indexname'] == $db_prefix . 'log_search_words') |
|
441 | + } elseif ($row['indexname'] == $db_prefix . 'log_search_words') |
|
436 | 442 | { |
437 | 443 | $context['table_info']['index_length'] = (int) $row['index_size']; |
438 | 444 | $context['table_info']['custom_index_length'] = (int) $row['index_size']; |
439 | 445 | } |
440 | 446 | } |
441 | 447 | $smcFunc['db_free_result']($request); |
442 | - } |
|
443 | - else |
|
444 | - // Didn't work for some reason... |
|
448 | + } else { |
|
449 | + // Didn't work for some reason... |
|
445 | 450 | $context['table_info'] = array( |
446 | 451 | 'data_length' => $txt['not_applicable'], |
447 | 452 | 'index_length' => $txt['not_applicable'], |
448 | 453 | 'fulltext_length' => $txt['not_applicable'], |
449 | 454 | 'custom_index_length' => $txt['not_applicable'], |
450 | 455 | ); |
451 | - } |
|
452 | - else |
|
453 | - $context['table_info'] = array( |
|
456 | + } |
|
457 | + } else { |
|
458 | + $context['table_info'] = array( |
|
454 | 459 | 'data_length' => $txt['not_applicable'], |
455 | 460 | 'index_length' => $txt['not_applicable'], |
456 | 461 | 'fulltext_length' => $txt['not_applicable'], |
457 | 462 | 'custom_index_length' => $txt['not_applicable'], |
458 | 463 | ); |
464 | + } |
|
459 | 465 | |
460 | 466 | // Format the data and index length in kilobytes. |
461 | 467 | foreach ($context['table_info'] as $type => $size) |
462 | 468 | { |
463 | 469 | // If it's not numeric then just break. This database engine doesn't support size. |
464 | - if (!is_numeric($size)) |
|
465 | - break; |
|
470 | + if (!is_numeric($size)) { |
|
471 | + break; |
|
472 | + } |
|
466 | 473 | |
467 | 474 | $context['table_info'][$type] = comma_format($context['table_info'][$type] / 1024) . ' ' . $txt['search_method_kilobytes']; |
468 | 475 | } |
@@ -491,8 +498,9 @@ discard block |
||
491 | 498 | |
492 | 499 | // Scotty, we need more time... |
493 | 500 | @set_time_limit(600); |
494 | - if (function_exists('apache_reset_timeout')) |
|
495 | - @apache_reset_timeout(); |
|
501 | + if (function_exists('apache_reset_timeout')) { |
|
502 | + @apache_reset_timeout(); |
|
503 | + } |
|
496 | 504 | |
497 | 505 | $context[$context['admin_menu_name']]['current_subsection'] = 'method'; |
498 | 506 | $context['page_title'] = $txt['search_index_custom']; |
@@ -522,8 +530,7 @@ discard block |
||
522 | 530 | $context['start'] = (int) $context['index_settings']['resume_at']; |
523 | 531 | unset($context['index_settings']['resume_at']); |
524 | 532 | $context['step'] = 1; |
525 | - } |
|
526 | - else |
|
533 | + } else |
|
527 | 534 | { |
528 | 535 | $context['index_settings'] = array( |
529 | 536 | 'bytes_per_word' => isset($_REQUEST['bytes_per_word']) && isset($index_properties[$_REQUEST['bytes_per_word']]) ? (int) $_REQUEST['bytes_per_word'] : 2, |
@@ -532,12 +539,14 @@ discard block |
||
532 | 539 | $context['step'] = isset($_REQUEST['step']) ? (int) $_REQUEST['step'] : 0; |
533 | 540 | |
534 | 541 | // admin timeouts are painful when building these long indexes - but only if we actually have such things enabled |
535 | - if (empty($modSettings['securityDisable']) && $_SESSION['admin_time'] + 3300 < time() && $context['step'] >= 1) |
|
536 | - $_SESSION['admin_time'] = time(); |
|
542 | + if (empty($modSettings['securityDisable']) && $_SESSION['admin_time'] + 3300 < time() && $context['step'] >= 1) { |
|
543 | + $_SESSION['admin_time'] = time(); |
|
544 | + } |
|
537 | 545 | } |
538 | 546 | |
539 | - if ($context['step'] !== 0) |
|
540 | - checkSession('request'); |
|
547 | + if ($context['step'] !== 0) { |
|
548 | + checkSession('request'); |
|
549 | + } |
|
541 | 550 | |
542 | 551 | // Step 0: let the user determine how they like their index. |
543 | 552 | if ($context['step'] === 0) |
@@ -566,12 +575,14 @@ discard block |
||
566 | 575 | $smcFunc['db_create_word_search']($index_properties[$context['index_settings']['bytes_per_word']]['column_definition']); |
567 | 576 | |
568 | 577 | // Temporarily switch back to not using a search index. |
569 | - if (!empty($modSettings['search_index']) && $modSettings['search_index'] == 'custom') |
|
570 | - updateSettings(array('search_index' => '')); |
|
578 | + if (!empty($modSettings['search_index']) && $modSettings['search_index'] == 'custom') { |
|
579 | + updateSettings(array('search_index' => '')); |
|
580 | + } |
|
571 | 581 | |
572 | 582 | // Don't let simultanious processes be updating the search index. |
573 | - if (!empty($modSettings['search_custom_index_config'])) |
|
574 | - updateSettings(array('search_custom_index_config' => '')); |
|
583 | + if (!empty($modSettings['search_custom_index_config'])) { |
|
584 | + updateSettings(array('search_custom_index_config' => '')); |
|
585 | + } |
|
575 | 586 | } |
576 | 587 | |
577 | 588 | $num_messages = array( |
@@ -587,16 +598,16 @@ discard block |
||
587 | 598 | 'starting_id' => $context['start'], |
588 | 599 | ) |
589 | 600 | ); |
590 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
591 | - $num_messages[empty($row['todo']) ? 'done' : 'todo'] = $row['num_messages']; |
|
601 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
602 | + $num_messages[empty($row['todo']) ? 'done' : 'todo'] = $row['num_messages']; |
|
603 | + } |
|
592 | 604 | |
593 | 605 | if (empty($num_messages['todo'])) |
594 | 606 | { |
595 | 607 | $context['step'] = 2; |
596 | 608 | $context['percentage'] = 80; |
597 | 609 | $context['start'] = 0; |
598 | - } |
|
599 | - else |
|
610 | + } else |
|
600 | 611 | { |
601 | 612 | // Number of seconds before the next step. |
602 | 613 | $stop = time() + 3; |
@@ -637,21 +648,22 @@ discard block |
||
637 | 648 | |
638 | 649 | $context['start'] += $forced_break ? $number_processed : $messages_per_batch; |
639 | 650 | |
640 | - if (!empty($inserts)) |
|
641 | - $smcFunc['db_insert']('ignore', |
|
651 | + if (!empty($inserts)) { |
|
652 | + $smcFunc['db_insert']('ignore', |
|
642 | 653 | '{db_prefix}log_search_words', |
643 | 654 | array('id_word' => 'int', 'id_msg' => 'int'), |
644 | 655 | $inserts, |
645 | 656 | array('id_word', 'id_msg') |
646 | 657 | ); |
658 | + } |
|
647 | 659 | if ($num_messages['todo'] === 0) |
648 | 660 | { |
649 | 661 | $context['step'] = 2; |
650 | 662 | $context['start'] = 0; |
651 | 663 | break; |
664 | + } else { |
|
665 | + updateSettings(array('search_custom_index_resume' => json_encode(array_merge($context['index_settings'], array('resume_at' => $context['start']))))); |
|
652 | 666 | } |
653 | - else |
|
654 | - updateSettings(array('search_custom_index_resume' => json_encode(array_merge($context['index_settings'], array('resume_at' => $context['start']))))); |
|
655 | 667 | } |
656 | 668 | |
657 | 669 | // Since there are still two steps to go, 80% is the maximum here. |
@@ -662,9 +674,9 @@ discard block |
||
662 | 674 | // Step 2: removing the words that occur too often and are of no use. |
663 | 675 | elseif ($context['step'] === 2) |
664 | 676 | { |
665 | - if ($context['index_settings']['bytes_per_word'] < 4) |
|
666 | - $context['step'] = 3; |
|
667 | - else |
|
677 | + if ($context['index_settings']['bytes_per_word'] < 4) { |
|
678 | + $context['step'] = 3; |
|
679 | + } else |
|
668 | 680 | { |
669 | 681 | $stop_words = $context['start'] === 0 || empty($modSettings['search_stopwords']) ? array() : explode(',', $modSettings['search_stopwords']); |
670 | 682 | $stop = time() + 3; |
@@ -685,20 +697,22 @@ discard block |
||
685 | 697 | 'minimum_messages' => $max_messages, |
686 | 698 | ) |
687 | 699 | ); |
688 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
689 | - $stop_words[] = $row['id_word']; |
|
700 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
701 | + $stop_words[] = $row['id_word']; |
|
702 | + } |
|
690 | 703 | $smcFunc['db_free_result']($request); |
691 | 704 | |
692 | 705 | updateSettings(array('search_stopwords' => implode(',', $stop_words))); |
693 | 706 | |
694 | - if (!empty($stop_words)) |
|
695 | - $smcFunc['db_query']('', ' |
|
707 | + if (!empty($stop_words)) { |
|
708 | + $smcFunc['db_query']('', ' |
|
696 | 709 | DELETE FROM {db_prefix}log_search_words |
697 | 710 | WHERE id_word in ({array_int:stop_words})', |
698 | 711 | array( |
699 | 712 | 'stop_words' => $stop_words, |
700 | 713 | ) |
701 | 714 | ); |
715 | + } |
|
702 | 716 | |
703 | 717 | $context['start'] += $index_properties[$context['index_settings']['bytes_per_word']]['step_size']; |
704 | 718 | if ($context['start'] > $index_properties[$context['index_settings']['bytes_per_word']]['max_size']) |
@@ -759,8 +773,9 @@ discard block |
||
759 | 773 | $searchAPI = new $search_class_name(); |
760 | 774 | |
761 | 775 | // No Support? NEXT! |
762 | - if (!$searchAPI->is_supported) |
|
763 | - continue; |
|
776 | + if (!$searchAPI->is_supported) { |
|
777 | + continue; |
|
778 | + } |
|
764 | 779 | |
765 | 780 | $apis[$index_name] = array( |
766 | 781 | 'filename' => $file, |
@@ -807,10 +822,10 @@ discard block |
||
807 | 822 | 'messages_ftx' => $db_prefix . 'messages_ftx', |
808 | 823 | ) |
809 | 824 | ); |
810 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
811 | - $context['fulltext_index'][] = $row['indexname']; |
|
812 | - } |
|
813 | - else |
|
825 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
826 | + $context['fulltext_index'][] = $row['indexname']; |
|
827 | + } |
|
828 | + } else |
|
814 | 829 | { |
815 | 830 | $request = $smcFunc['db_query']('', ' |
816 | 831 | SHOW INDEX |
@@ -821,17 +836,19 @@ discard block |
||
821 | 836 | $context['fulltext_index'] = ''; |
822 | 837 | if ($request !== false || $smcFunc['db_num_rows']($request) != 0) |
823 | 838 | { |
824 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
825 | - if ($row['Column_name'] == 'body' && (isset($row['Index_type']) && $row['Index_type'] == 'FULLTEXT' || isset($row['Comment']) && $row['Comment'] == 'FULLTEXT')) |
|
839 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
840 | + if ($row['Column_name'] == 'body' && (isset($row['Index_type']) && $row['Index_type'] == 'FULLTEXT' || isset($row['Comment']) && $row['Comment'] == 'FULLTEXT')) |
|
826 | 841 | $context['fulltext_index'][] = $row['Key_name']; |
842 | + } |
|
827 | 843 | $smcFunc['db_free_result']($request); |
828 | 844 | |
829 | - if (is_array($context['fulltext_index'])) |
|
830 | - $context['fulltext_index'] = array_unique($context['fulltext_index']); |
|
845 | + if (is_array($context['fulltext_index'])) { |
|
846 | + $context['fulltext_index'] = array_unique($context['fulltext_index']); |
|
847 | + } |
|
831 | 848 | } |
832 | 849 | |
833 | - if (preg_match('~^`(.+?)`\.(.+?)$~', $db_prefix, $match) !== 0) |
|
834 | - $request = $smcFunc['db_query']('', ' |
|
850 | + if (preg_match('~^`(.+?)`\.(.+?)$~', $db_prefix, $match) !== 0) { |
|
851 | + $request = $smcFunc['db_query']('', ' |
|
835 | 852 | SHOW TABLE STATUS |
836 | 853 | FROM {string:database_name} |
837 | 854 | LIKE {string:table_name}', |
@@ -840,20 +857,22 @@ discard block |
||
840 | 857 | 'table_name' => str_replace('_', '\_', $match[2]) . 'messages', |
841 | 858 | ) |
842 | 859 | ); |
843 | - else |
|
844 | - $request = $smcFunc['db_query']('', ' |
|
860 | + } else { |
|
861 | + $request = $smcFunc['db_query']('', ' |
|
845 | 862 | SHOW TABLE STATUS |
846 | 863 | LIKE {string:table_name}', |
847 | 864 | array( |
848 | 865 | 'table_name' => str_replace('_', '\_', $db_prefix) . 'messages', |
849 | 866 | ) |
850 | 867 | ); |
868 | + } |
|
851 | 869 | |
852 | 870 | if ($request !== false) |
853 | 871 | { |
854 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
855 | - if (isset($row['Engine']) && strtolower($row['Engine']) != 'myisam' && !(strtolower($row['Engine']) == 'innodb' && version_compare($smcFunc['db_get_version'], '5.6.4', '>='))) |
|
872 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
873 | + if (isset($row['Engine']) && strtolower($row['Engine']) != 'myisam' && !(strtolower($row['Engine']) == 'innodb' && version_compare($smcFunc['db_get_version'], '5.6.4', '>='))) |
|
856 | 874 | $context['cannot_create_fulltext'] = true; |
875 | + } |
|
857 | 876 | $smcFunc['db_free_result']($request); |
858 | 877 | } |
859 | 878 | } |
@@ -18,8 +18,9 @@ discard block |
||
18 | 18 | * @version 2.1 Beta 4 |
19 | 19 | */ |
20 | 20 | |
21 | -if (!defined('SMF')) |
|
21 | +if (!defined('SMF')) { |
|
22 | 22 | die('No direct access...'); |
23 | +} |
|
23 | 24 | |
24 | 25 | /** |
25 | 26 | * downloads a file from a url and stores it locally for avatar use by id_member. |
@@ -44,8 +45,9 @@ discard block |
||
44 | 45 | $destName = 'avatar_' . $memID . '_' . time() . '.' . $ext; |
45 | 46 | |
46 | 47 | // Just making sure there is a non-zero member. |
47 | - if (empty($memID)) |
|
48 | - return false; |
|
48 | + if (empty($memID)) { |
|
49 | + return false; |
|
50 | + } |
|
49 | 51 | |
50 | 52 | require_once($sourcedir . '/ManageAttachments.php'); |
51 | 53 | removeAttachments(array('id_member' => $memID)); |
@@ -76,10 +78,11 @@ discard block |
||
76 | 78 | $destName = $modSettings['custom_avatar_dir'] . '/' . $destName . '.tmp'; |
77 | 79 | |
78 | 80 | // Resize it. |
79 | - if (!empty($modSettings['avatar_download_png'])) |
|
80 | - $success = resizeImageFile($url, $destName, $max_width, $max_height, 3); |
|
81 | - else |
|
82 | - $success = resizeImageFile($url, $destName, $max_width, $max_height); |
|
81 | + if (!empty($modSettings['avatar_download_png'])) { |
|
82 | + $success = resizeImageFile($url, $destName, $max_width, $max_height, 3); |
|
83 | + } else { |
|
84 | + $success = resizeImageFile($url, $destName, $max_width, $max_height); |
|
85 | + } |
|
83 | 86 | |
84 | 87 | // Remove the .tmp extension. |
85 | 88 | $destName = substr($destName, 0, -4); |
@@ -108,11 +111,10 @@ discard block |
||
108 | 111 | ) |
109 | 112 | ); |
110 | 113 | return true; |
114 | + } else { |
|
115 | + return false; |
|
111 | 116 | } |
112 | - else |
|
113 | - return false; |
|
114 | - } |
|
115 | - else |
|
117 | + } else |
|
116 | 118 | { |
117 | 119 | $smcFunc['db_query']('', ' |
118 | 120 | DELETE FROM {db_prefix}attachments |
@@ -144,17 +146,18 @@ discard block |
||
144 | 146 | $destName = $source . '_thumb.tmp'; |
145 | 147 | |
146 | 148 | // Do the actual resize. |
147 | - if (!empty($modSettings['attachment_thumb_png'])) |
|
148 | - $success = resizeImageFile($source, $destName, $max_width, $max_height, 3); |
|
149 | - else |
|
150 | - $success = resizeImageFile($source, $destName, $max_width, $max_height); |
|
149 | + if (!empty($modSettings['attachment_thumb_png'])) { |
|
150 | + $success = resizeImageFile($source, $destName, $max_width, $max_height, 3); |
|
151 | + } else { |
|
152 | + $success = resizeImageFile($source, $destName, $max_width, $max_height); |
|
153 | + } |
|
151 | 154 | |
152 | 155 | // Okay, we're done with the temporary stuff. |
153 | 156 | $destName = substr($destName, 0, -4); |
154 | 157 | |
155 | - if ($success && @rename($destName . '.tmp', $destName)) |
|
156 | - return true; |
|
157 | - else |
|
158 | + if ($success && @rename($destName . '.tmp', $destName)) { |
|
159 | + return true; |
|
160 | + } else |
|
158 | 161 | { |
159 | 162 | @unlink($destName . '.tmp'); |
160 | 163 | @touch($destName); |
@@ -176,18 +179,21 @@ discard block |
||
176 | 179 | { |
177 | 180 | if (!resizeImageFile($fileName, $fileName . '.tmp', null, null, $preferred_format)) |
178 | 181 | { |
179 | - if (file_exists($fileName . '.tmp')) |
|
180 | - unlink($fileName . '.tmp'); |
|
182 | + if (file_exists($fileName . '.tmp')) { |
|
183 | + unlink($fileName . '.tmp'); |
|
184 | + } |
|
181 | 185 | |
182 | 186 | return false; |
183 | 187 | } |
184 | 188 | |
185 | - if (!unlink($fileName)) |
|
186 | - return false; |
|
189 | + if (!unlink($fileName)) { |
|
190 | + return false; |
|
191 | + } |
|
187 | 192 | |
188 | - if (!rename($fileName . '.tmp', $fileName)) |
|
189 | - return false; |
|
190 | -} |
|
193 | + if (!rename($fileName . '.tmp', $fileName)) { |
|
194 | + return false; |
|
195 | + } |
|
196 | + } |
|
191 | 197 | |
192 | 198 | /** |
193 | 199 | * Searches through the file to see if there's potentially harmful non-binary content. |
@@ -200,8 +206,9 @@ discard block |
||
200 | 206 | function checkImageContents($fileName, $extensiveCheck = false) |
201 | 207 | { |
202 | 208 | $fp = fopen($fileName, 'rb'); |
203 | - if (!$fp) |
|
204 | - fatal_lang_error('attach_timeout'); |
|
209 | + if (!$fp) { |
|
210 | + fatal_lang_error('attach_timeout'); |
|
211 | + } |
|
205 | 212 | |
206 | 213 | $prev_chunk = ''; |
207 | 214 | while (!feof($fp)) |
@@ -218,8 +225,7 @@ discard block |
||
218 | 225 | fclose($fp); |
219 | 226 | return false; |
220 | 227 | } |
221 | - } |
|
222 | - else |
|
228 | + } else |
|
223 | 229 | { |
224 | 230 | // Check for potential infection - focus on clues for inline php & flash. |
225 | 231 | // Will result in significantly fewer false positives than the paranoid check. |
@@ -247,8 +253,9 @@ discard block |
||
247 | 253 | global $gd2; |
248 | 254 | |
249 | 255 | // Check to see if GD is installed and what version. |
250 | - if (($extensionFunctions = get_extension_funcs('gd')) === false) |
|
251 | - return false; |
|
256 | + if (($extensionFunctions = get_extension_funcs('gd')) === false) { |
|
257 | + return false; |
|
258 | + } |
|
252 | 259 | |
253 | 260 | // Also determine if GD2 is installed and store it in a global. |
254 | 261 | $gd2 = in_array('imagecreatetruecolor', $extensionFunctions) && function_exists('imagecreatetruecolor'); |
@@ -320,8 +327,9 @@ discard block |
||
320 | 327 | global $sourcedir; |
321 | 328 | |
322 | 329 | // Nothing to do without GD or IM/MW |
323 | - if (!checkGD() && !checkImagick() && !checkMagickWand()) |
|
324 | - return false; |
|
330 | + if (!checkGD() && !checkImagick() && !checkMagickWand()) { |
|
331 | + return false; |
|
332 | + } |
|
325 | 333 | |
326 | 334 | static $default_formats = array( |
327 | 335 | '1' => 'gif', |
@@ -343,38 +351,39 @@ discard block |
||
343 | 351 | fclose($fp_destination); |
344 | 352 | |
345 | 353 | $sizes = @getimagesize($destination); |
346 | - } |
|
347 | - elseif ($fp_destination) |
|
354 | + } elseif ($fp_destination) |
|
348 | 355 | { |
349 | 356 | $sizes = @getimagesize($source); |
350 | 357 | |
351 | 358 | $fp_source = fopen($source, 'rb'); |
352 | 359 | if ($fp_source !== false) |
353 | 360 | { |
354 | - while (!feof($fp_source)) |
|
355 | - fwrite($fp_destination, fread($fp_source, 8192)); |
|
361 | + while (!feof($fp_source)) { |
|
362 | + fwrite($fp_destination, fread($fp_source, 8192)); |
|
363 | + } |
|
356 | 364 | fclose($fp_source); |
365 | + } else { |
|
366 | + $sizes = array(-1, -1, -1); |
|
357 | 367 | } |
358 | - else |
|
359 | - $sizes = array(-1, -1, -1); |
|
360 | 368 | fclose($fp_destination); |
361 | 369 | } |
362 | 370 | // We can't get to the file. |
363 | - else |
|
364 | - $sizes = array(-1, -1, -1); |
|
371 | + else { |
|
372 | + $sizes = array(-1, -1, -1); |
|
373 | + } |
|
365 | 374 | |
366 | 375 | // See if we have -or- can get the needed memory for this operation |
367 | 376 | // ImageMagick isn't subject to PHP's memory limits :) |
368 | - if (!(checkIMagick() || checkMagickWand()) && checkGD() && !imageMemoryCheck($sizes)) |
|
369 | - return false; |
|
377 | + if (!(checkIMagick() || checkMagickWand()) && checkGD() && !imageMemoryCheck($sizes)) { |
|
378 | + return false; |
|
379 | + } |
|
370 | 380 | |
371 | 381 | // A known and supported format? |
372 | 382 | // @todo test PSD and gif. |
373 | 383 | if ((checkImagick() || checkMagickWand()) && isset($default_formats[$sizes[2]])) |
374 | 384 | { |
375 | 385 | return resizeImage(null, $destination, null, null, $max_width, $max_height, true, $preferred_format); |
376 | - } |
|
377 | - elseif (checkGD() && isset($default_formats[$sizes[2]]) && function_exists('imagecreatefrom' . $default_formats[$sizes[2]])) |
|
386 | + } elseif (checkGD() && isset($default_formats[$sizes[2]]) && function_exists('imagecreatefrom' . $default_formats[$sizes[2]])) |
|
378 | 387 | { |
379 | 388 | $imagecreatefrom = 'imagecreatefrom' . $default_formats[$sizes[2]]; |
380 | 389 | if ($src_img = @$imagecreatefrom($destination)) |
@@ -427,14 +436,14 @@ discard block |
||
427 | 436 | $dest_width = empty($max_width) ? $src_width : $max_width; |
428 | 437 | $dest_height = empty($max_height) ? $src_height : $max_height; |
429 | 438 | |
430 | - if ($default_formats[$preferred_format] == 'jpeg') |
|
431 | - $imagick->setCompressionQuality(!empty($modSettings['avatar_jpeg_quality']) ? $modSettings['avatar_jpeg_quality'] : 82); |
|
439 | + if ($default_formats[$preferred_format] == 'jpeg') { |
|
440 | + $imagick->setCompressionQuality(!empty($modSettings['avatar_jpeg_quality']) ? $modSettings['avatar_jpeg_quality'] : 82); |
|
441 | + } |
|
432 | 442 | |
433 | 443 | $imagick->setImageFormat($default_formats[$preferred_format]); |
434 | 444 | $imagick->resizeImage($dest_width, $dest_height, Imagick::FILTER_LANCZOS, 1, true); |
435 | 445 | $success = $imagick->writeImage($destName); |
436 | - } |
|
437 | - else |
|
446 | + } else |
|
438 | 447 | { |
439 | 448 | $magick_wand = newMagickWand(); |
440 | 449 | MagickReadImage($magick_wand, $destName); |
@@ -443,8 +452,9 @@ discard block |
||
443 | 452 | $dest_width = empty($max_width) ? $src_width : $max_width; |
444 | 453 | $dest_height = empty($max_height) ? $src_height : $max_height; |
445 | 454 | |
446 | - if ($default_formats[$preferred_format] == 'jpeg') |
|
447 | - MagickSetCompressionQuality($magick_wand, !empty($modSettings['avatar_jpeg_quality']) ? $modSettings['avatar_jpeg_quality'] : 82); |
|
455 | + if ($default_formats[$preferred_format] == 'jpeg') { |
|
456 | + MagickSetCompressionQuality($magick_wand, !empty($modSettings['avatar_jpeg_quality']) ? $modSettings['avatar_jpeg_quality'] : 82); |
|
457 | + } |
|
448 | 458 | |
449 | 459 | MagickSetImageFormat($magick_wand, $default_formats[$preferred_format]); |
450 | 460 | MagickResizeImage($magick_wand, $dest_width, $dest_height, MW_LanczosFilter, 1, true); |
@@ -452,8 +462,7 @@ discard block |
||
452 | 462 | } |
453 | 463 | |
454 | 464 | return !empty($success); |
455 | - } |
|
456 | - elseif (checkGD()) |
|
465 | + } elseif (checkGD()) |
|
457 | 466 | { |
458 | 467 | $success = false; |
459 | 468 | |
@@ -464,8 +473,7 @@ discard block |
||
464 | 473 | { |
465 | 474 | $dst_width = $max_width; |
466 | 475 | $dst_height = round($src_height * $max_width / $src_width); |
467 | - } |
|
468 | - elseif (!empty($max_height)) |
|
476 | + } elseif (!empty($max_height)) |
|
469 | 477 | { |
470 | 478 | $dst_width = round($src_width * $max_height / $src_height); |
471 | 479 | $dst_height = $max_height; |
@@ -483,44 +491,48 @@ discard block |
||
483 | 491 | if ((!empty($preferred_format)) && ($preferred_format == 3)) |
484 | 492 | { |
485 | 493 | imagealphablending($dst_img, false); |
486 | - if (function_exists('imagesavealpha')) |
|
487 | - imagesavealpha($dst_img, true); |
|
494 | + if (function_exists('imagesavealpha')) { |
|
495 | + imagesavealpha($dst_img, true); |
|
496 | + } |
|
488 | 497 | } |
498 | + } else { |
|
499 | + $dst_img = imagecreate($dst_width, $dst_height); |
|
489 | 500 | } |
490 | - else |
|
491 | - $dst_img = imagecreate($dst_width, $dst_height); |
|
492 | 501 | |
493 | 502 | // Resize it! |
494 | - if ($gd2) |
|
495 | - imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height); |
|
496 | - else |
|
497 | - imagecopyresamplebicubic($dst_img, $src_img, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height); |
|
503 | + if ($gd2) { |
|
504 | + imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height); |
|
505 | + } else { |
|
506 | + imagecopyresamplebicubic($dst_img, $src_img, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height); |
|
507 | + } |
|
508 | + } else { |
|
509 | + $dst_img = $src_img; |
|
498 | 510 | } |
499 | - else |
|
500 | - $dst_img = $src_img; |
|
511 | + } else { |
|
512 | + $dst_img = $src_img; |
|
501 | 513 | } |
502 | - else |
|
503 | - $dst_img = $src_img; |
|
504 | 514 | |
505 | 515 | // Save the image as ... |
506 | - if (!empty($preferred_format) && ($preferred_format == 3) && function_exists('imagepng')) |
|
507 | - $success = imagepng($dst_img, $destName); |
|
508 | - elseif (!empty($preferred_format) && ($preferred_format == 1) && function_exists('imagegif')) |
|
509 | - $success = imagegif($dst_img, $destName); |
|
510 | - elseif (function_exists('imagejpeg')) |
|
511 | - $success = imagejpeg($dst_img, $destName, !empty($modSettings['avatar_jpeg_quality']) ? $modSettings['avatar_jpeg_quality'] : 82); |
|
516 | + if (!empty($preferred_format) && ($preferred_format == 3) && function_exists('imagepng')) { |
|
517 | + $success = imagepng($dst_img, $destName); |
|
518 | + } elseif (!empty($preferred_format) && ($preferred_format == 1) && function_exists('imagegif')) { |
|
519 | + $success = imagegif($dst_img, $destName); |
|
520 | + } elseif (function_exists('imagejpeg')) { |
|
521 | + $success = imagejpeg($dst_img, $destName, !empty($modSettings['avatar_jpeg_quality']) ? $modSettings['avatar_jpeg_quality'] : 82); |
|
522 | + } |
|
512 | 523 | |
513 | 524 | // Free the memory. |
514 | 525 | imagedestroy($src_img); |
515 | - if ($dst_img != $src_img) |
|
516 | - imagedestroy($dst_img); |
|
526 | + if ($dst_img != $src_img) { |
|
527 | + imagedestroy($dst_img); |
|
528 | + } |
|
517 | 529 | |
518 | 530 | return $success; |
519 | - } |
|
520 | - else |
|
521 | - // Without GD, no image resizing at all. |
|
531 | + } else { |
|
532 | + // Without GD, no image resizing at all. |
|
522 | 533 | return false; |
523 | -} |
|
534 | + } |
|
535 | + } |
|
524 | 536 | |
525 | 537 | /** |
526 | 538 | * Copy image. |
@@ -574,8 +586,9 @@ discard block |
||
574 | 586 | $color = imagecolorresolve($dst_img, $red, $green, $blue); |
575 | 587 | if ($color == -1) |
576 | 588 | { |
577 | - if ($palsize++ < 256) |
|
578 | - imagecolorallocate($dst_img, $red, $green, $blue); |
|
589 | + if ($palsize++ < 256) { |
|
590 | + imagecolorallocate($dst_img, $red, $green, $blue); |
|
591 | + } |
|
579 | 592 | $color = imagecolorclosest($dst_img, $red, $green, $blue); |
580 | 593 | } |
581 | 594 | |
@@ -605,13 +618,15 @@ discard block |
||
605 | 618 | $header = unpack('vtype/Vsize/Vreserved/Voffset', fread($fp, 14)); |
606 | 619 | $info = unpack('Vsize/Vwidth/Vheight/vplanes/vbits/Vcompression/Vimagesize/Vxres/Vyres/Vncolor/Vcolorimportant', fread($fp, 40)); |
607 | 620 | |
608 | - if ($header['type'] != 0x4D42) |
|
609 | - return false; |
|
621 | + if ($header['type'] != 0x4D42) { |
|
622 | + return false; |
|
623 | + } |
|
610 | 624 | |
611 | - if ($gd2) |
|
612 | - $dst_img = imagecreatetruecolor($info['width'], $info['height']); |
|
613 | - else |
|
614 | - $dst_img = imagecreate($info['width'], $info['height']); |
|
625 | + if ($gd2) { |
|
626 | + $dst_img = imagecreatetruecolor($info['width'], $info['height']); |
|
627 | + } else { |
|
628 | + $dst_img = imagecreate($info['width'], $info['height']); |
|
629 | + } |
|
615 | 630 | |
616 | 631 | $palette_size = $header['offset'] - 54; |
617 | 632 | $info['ncolor'] = $palette_size / 4; |
@@ -637,8 +652,9 @@ discard block |
||
637 | 652 | fseek($fp, $header['offset'] + ($scan_line_size + $scan_line_align) * $l); |
638 | 653 | $scan_line = fread($fp, $scan_line_size); |
639 | 654 | |
640 | - if (strlen($scan_line) < $scan_line_size) |
|
641 | - continue; |
|
655 | + if (strlen($scan_line) < $scan_line_size) { |
|
656 | + continue; |
|
657 | + } |
|
642 | 658 | |
643 | 659 | if ($info['bits'] == 32) |
644 | 660 | { |
@@ -656,14 +672,14 @@ discard block |
||
656 | 672 | $color = imagecolorallocate($dst_img, $r, $g, $b); |
657 | 673 | |
658 | 674 | // Gah! Out of colors? Stupid GD 1... try anyhow. |
659 | - if ($color == -1) |
|
660 | - $color = imagecolorclosest($dst_img, $r, $g, $b); |
|
675 | + if ($color == -1) { |
|
676 | + $color = imagecolorclosest($dst_img, $r, $g, $b); |
|
677 | + } |
|
661 | 678 | } |
662 | 679 | |
663 | 680 | imagesetpixel($dst_img, $x, $y, $color); |
664 | 681 | } |
665 | - } |
|
666 | - elseif ($info['bits'] == 24) |
|
682 | + } elseif ($info['bits'] == 24) |
|
667 | 683 | { |
668 | 684 | $x = 0; |
669 | 685 | for ($j = 0; $j < $scan_line_size; $x++) |
@@ -678,14 +694,14 @@ discard block |
||
678 | 694 | $color = imagecolorallocate($dst_img, $r, $g, $b); |
679 | 695 | |
680 | 696 | // Gah! Out of colors? Stupid GD 1... try anyhow. |
681 | - if ($color == -1) |
|
682 | - $color = imagecolorclosest($dst_img, $r, $g, $b); |
|
697 | + if ($color == -1) { |
|
698 | + $color = imagecolorclosest($dst_img, $r, $g, $b); |
|
699 | + } |
|
683 | 700 | } |
684 | 701 | |
685 | 702 | imagesetpixel($dst_img, $x, $y, $color); |
686 | 703 | } |
687 | - } |
|
688 | - elseif ($info['bits'] == 16) |
|
704 | + } elseif ($info['bits'] == 16) |
|
689 | 705 | { |
690 | 706 | $x = 0; |
691 | 707 | for ($j = 0; $j < $scan_line_size; $x++) |
@@ -706,20 +722,20 @@ discard block |
||
706 | 722 | $color = imagecolorallocate($dst_img, $r, $g, $b); |
707 | 723 | |
708 | 724 | // Gah! Out of colors? Stupid GD 1... try anyhow. |
709 | - if ($color == -1) |
|
710 | - $color = imagecolorclosest($dst_img, $r, $g, $b); |
|
725 | + if ($color == -1) { |
|
726 | + $color = imagecolorclosest($dst_img, $r, $g, $b); |
|
727 | + } |
|
711 | 728 | } |
712 | 729 | |
713 | 730 | imagesetpixel($dst_img, $x, $y, $color); |
714 | 731 | } |
715 | - } |
|
716 | - elseif ($info['bits'] == 8) |
|
732 | + } elseif ($info['bits'] == 8) |
|
717 | 733 | { |
718 | 734 | $x = 0; |
719 | - for ($j = 0; $j < $scan_line_size; $x++) |
|
720 | - imagesetpixel($dst_img, $x, $y, $palette[ord($scan_line{$j++})]); |
|
721 | - } |
|
722 | - elseif ($info['bits'] == 4) |
|
735 | + for ($j = 0; $j < $scan_line_size; $x++) { |
|
736 | + imagesetpixel($dst_img, $x, $y, $palette[ord($scan_line{$j++})]); |
|
737 | + } |
|
738 | + } elseif ($info['bits'] == 4) |
|
723 | 739 | { |
724 | 740 | $x = 0; |
725 | 741 | for ($j = 0; $j < $scan_line_size; $x++) |
@@ -727,11 +743,11 @@ discard block |
||
727 | 743 | $byte = ord($scan_line{$j++}); |
728 | 744 | |
729 | 745 | imagesetpixel($dst_img, $x, $y, $palette[(int) ($byte / 16)]); |
730 | - if (++$x < $info['width']) |
|
731 | - imagesetpixel($dst_img, $x, $y, $palette[$byte & 15]); |
|
746 | + if (++$x < $info['width']) { |
|
747 | + imagesetpixel($dst_img, $x, $y, $palette[$byte & 15]); |
|
748 | + } |
|
732 | 749 | } |
733 | - } |
|
734 | - elseif ($info['bits'] == 1) |
|
750 | + } elseif ($info['bits'] == 1) |
|
735 | 751 | { |
736 | 752 | $x = 0; |
737 | 753 | for ($j = 0; $j < $scan_line_size; $x++) |
@@ -740,7 +756,9 @@ discard block |
||
740 | 756 | |
741 | 757 | imagesetpixel($dst_img, $x, $y, $palette[(($byte) & 128) != 0]); |
742 | 758 | for ($shift = 1; $shift < 8; $shift++) { |
743 | - if (++$x < $info['width']) imagesetpixel($dst_img, $x, $y, $palette[(($byte << $shift) & 128) != 0]); |
|
759 | + if (++$x < $info['width']) { |
|
760 | + imagesetpixel($dst_img, $x, $y, $palette[(($byte << $shift) & 128) != 0]); |
|
761 | + } |
|
744 | 762 | } |
745 | 763 | } |
746 | 764 | } |
@@ -764,15 +782,18 @@ discard block |
||
764 | 782 | */ |
765 | 783 | function gif_outputAsPng($gif, $lpszFileName, $background_color = -1) |
766 | 784 | { |
767 | - if (!isset($gif) || @get_class($gif) != 'cgif' || !$gif->loaded || $lpszFileName == '') |
|
768 | - return false; |
|
785 | + if (!isset($gif) || @get_class($gif) != 'cgif' || !$gif->loaded || $lpszFileName == '') { |
|
786 | + return false; |
|
787 | + } |
|
769 | 788 | |
770 | 789 | $fd = $gif->get_png_data($background_color); |
771 | - if (strlen($fd) <= 0) |
|
772 | - return false; |
|
790 | + if (strlen($fd) <= 0) { |
|
791 | + return false; |
|
792 | + } |
|
773 | 793 | |
774 | - if (!($fh = @fopen($lpszFileName, 'wb'))) |
|
775 | - return false; |
|
794 | + if (!($fh = @fopen($lpszFileName, 'wb'))) { |
|
795 | + return false; |
|
796 | + } |
|
776 | 797 | |
777 | 798 | @fwrite($fh, $fd, strlen($fd)); |
778 | 799 | @fflush($fh); |
@@ -799,8 +820,9 @@ discard block |
||
799 | 820 | // What type are we going to be doing? |
800 | 821 | $imageType = $modSettings['visual_verification_type']; |
801 | 822 | // Special case to allow the admin center to show samples. |
802 | - if ($user_info['is_admin'] && isset($_GET['type'])) |
|
803 | - $imageType = (int) $_GET['type']; |
|
823 | + if ($user_info['is_admin'] && isset($_GET['type'])) { |
|
824 | + $imageType = (int) $_GET['type']; |
|
825 | + } |
|
804 | 826 | |
805 | 827 | // Some quick references for what we do. |
806 | 828 | // Do we show no, low or high noise? |
@@ -834,25 +856,28 @@ discard block |
||
834 | 856 | $character_spacing = 1; |
835 | 857 | |
836 | 858 | // What color is the background - generally white unless we're on "hard". |
837 | - if ($simpleBGColor) |
|
838 | - $background_color = array(255, 255, 255); |
|
839 | - else |
|
840 | - $background_color = isset($settings['verification_background']) ? $settings['verification_background'] : array(236, 237, 243); |
|
859 | + if ($simpleBGColor) { |
|
860 | + $background_color = array(255, 255, 255); |
|
861 | + } else { |
|
862 | + $background_color = isset($settings['verification_background']) ? $settings['verification_background'] : array(236, 237, 243); |
|
863 | + } |
|
841 | 864 | |
842 | 865 | // The color of the characters shown (red, green, blue). |
843 | - if ($simpleFGColor) |
|
844 | - $foreground_color = array(0, 0, 0); |
|
845 | - else |
|
866 | + if ($simpleFGColor) { |
|
867 | + $foreground_color = array(0, 0, 0); |
|
868 | + } else |
|
846 | 869 | { |
847 | 870 | $foreground_color = array(64, 101, 136); |
848 | 871 | |
849 | 872 | // Has the theme author requested a custom color? |
850 | - if (isset($settings['verification_foreground'])) |
|
851 | - $foreground_color = $settings['verification_foreground']; |
|
873 | + if (isset($settings['verification_foreground'])) { |
|
874 | + $foreground_color = $settings['verification_foreground']; |
|
875 | + } |
|
852 | 876 | } |
853 | 877 | |
854 | - if (!is_dir($settings['default_theme_dir'] . '/fonts')) |
|
855 | - return false; |
|
878 | + if (!is_dir($settings['default_theme_dir'] . '/fonts')) { |
|
879 | + return false; |
|
880 | + } |
|
856 | 881 | |
857 | 882 | // Get a list of the available fonts. |
858 | 883 | $font_dir = dir($settings['default_theme_dir'] . '/fonts'); |
@@ -863,25 +888,28 @@ discard block |
||
863 | 888 | { |
864 | 889 | if (preg_match('~^(.+)\.gdf$~', $entry, $matches) === 1) |
865 | 890 | { |
866 | - if ($endian ^ (strpos($entry, '_end.gdf') === false)) |
|
867 | - $font_list[] = $entry; |
|
891 | + if ($endian ^ (strpos($entry, '_end.gdf') === false)) { |
|
892 | + $font_list[] = $entry; |
|
893 | + } |
|
894 | + } elseif (preg_match('~^(.+)\.ttf$~', $entry, $matches) === 1) { |
|
895 | + $ttfont_list[] = $entry; |
|
868 | 896 | } |
869 | - elseif (preg_match('~^(.+)\.ttf$~', $entry, $matches) === 1) |
|
870 | - $ttfont_list[] = $entry; |
|
871 | 897 | } |
872 | 898 | |
873 | - if (empty($font_list)) |
|
874 | - return false; |
|
899 | + if (empty($font_list)) { |
|
900 | + return false; |
|
901 | + } |
|
875 | 902 | |
876 | 903 | // For non-hard things don't even change fonts. |
877 | 904 | if (!$varyFonts) |
878 | 905 | { |
879 | 906 | $font_list = array($font_list[0]); |
880 | 907 | // Try use Screenge if we can - it looks good! |
881 | - if (in_array('AnonymousPro.ttf', $ttfont_list)) |
|
882 | - $ttfont_list = array('AnonymousPro.ttf'); |
|
883 | - else |
|
884 | - $ttfont_list = empty($ttfont_list) ? array() : array($ttfont_list[0]); |
|
908 | + if (in_array('AnonymousPro.ttf', $ttfont_list)) { |
|
909 | + $ttfont_list = array('AnonymousPro.ttf'); |
|
910 | + } else { |
|
911 | + $ttfont_list = empty($ttfont_list) ? array() : array($ttfont_list[0]); |
|
912 | + } |
|
885 | 913 | |
886 | 914 | } |
887 | 915 | |
@@ -899,14 +927,16 @@ discard block |
||
899 | 927 | } |
900 | 928 | |
901 | 929 | // Load all fonts and determine the maximum font height. |
902 | - foreach ($loaded_fonts as $font_index => $dummy) |
|
903 | - $loaded_fonts[$font_index] = imageloadfont($settings['default_theme_dir'] . '/fonts/' . $font_list[$font_index]); |
|
930 | + foreach ($loaded_fonts as $font_index => $dummy) { |
|
931 | + $loaded_fonts[$font_index] = imageloadfont($settings['default_theme_dir'] . '/fonts/' . $font_list[$font_index]); |
|
932 | + } |
|
904 | 933 | |
905 | 934 | // Determine the dimensions of each character. |
906 | - if ($imageType == 4 || $imageType == 5) |
|
907 | - $extra = 80; |
|
908 | - else |
|
909 | - $extra = 45; |
|
935 | + if ($imageType == 4 || $imageType == 5) { |
|
936 | + $extra = 80; |
|
937 | + } else { |
|
938 | + $extra = 45; |
|
939 | + } |
|
910 | 940 | |
911 | 941 | $total_width = $character_spacing * strlen($code) + $extra; |
912 | 942 | $max_height = 0; |
@@ -927,13 +957,15 @@ discard block |
||
927 | 957 | imagefilledrectangle($code_image, 0, 0, $total_width - 1, $max_height - 1, $bg_color); |
928 | 958 | |
929 | 959 | // Randomize the foreground color a little. |
930 | - for ($i = 0; $i < 3; $i++) |
|
931 | - $foreground_color[$i] = mt_rand(max($foreground_color[$i] - 3, 0), min($foreground_color[$i] + 3, 255)); |
|
960 | + for ($i = 0; $i < 3; $i++) { |
|
961 | + $foreground_color[$i] = mt_rand(max($foreground_color[$i] - 3, 0), min($foreground_color[$i] + 3, 255)); |
|
962 | + } |
|
932 | 963 | $fg_color = imagecolorallocate($code_image, $foreground_color[0], $foreground_color[1], $foreground_color[2]); |
933 | 964 | |
934 | 965 | // Color for the dots. |
935 | - for ($i = 0; $i < 3; $i++) |
|
936 | - $dotbgcolor[$i] = $background_color[$i] < $foreground_color[$i] ? mt_rand(0, max($foreground_color[$i] - 20, 0)) : mt_rand(min($foreground_color[$i] + 20, 255), 255); |
|
966 | + for ($i = 0; $i < 3; $i++) { |
|
967 | + $dotbgcolor[$i] = $background_color[$i] < $foreground_color[$i] ? mt_rand(0, max($foreground_color[$i] - 20, 0)) : mt_rand(min($foreground_color[$i] + 20, 255), 255); |
|
968 | + } |
|
937 | 969 | $randomness_color = imagecolorallocate($code_image, $dotbgcolor[0], $dotbgcolor[1], $dotbgcolor[2]); |
938 | 970 | |
939 | 971 | // Some squares/rectanges for new extreme level |
@@ -959,10 +991,11 @@ discard block |
||
959 | 991 | $can_do_ttf = function_exists('imagettftext'); |
960 | 992 | |
961 | 993 | // How much rotation will we give? |
962 | - if ($rotationType == 'none') |
|
963 | - $angle = 0; |
|
964 | - else |
|
965 | - $angle = mt_rand(-100, 100) / ($rotationType == 'high' ? 6 : 10); |
|
994 | + if ($rotationType == 'none') { |
|
995 | + $angle = 0; |
|
996 | + } else { |
|
997 | + $angle = mt_rand(-100, 100) / ($rotationType == 'high' ? 6 : 10); |
|
998 | + } |
|
966 | 999 | |
967 | 1000 | // What color shall we do it? |
968 | 1001 | if ($fontColorType == 'cyclic') |
@@ -976,51 +1009,56 @@ discard block |
||
976 | 1009 | array(0, 0, 0), |
977 | 1010 | array(143, 39, 31), |
978 | 1011 | ); |
979 | - if (!isset($last_index)) |
|
980 | - $last_index = -1; |
|
1012 | + if (!isset($last_index)) { |
|
1013 | + $last_index = -1; |
|
1014 | + } |
|
981 | 1015 | $new_index = $last_index; |
982 | - while ($last_index == $new_index) |
|
983 | - $new_index = mt_rand(0, count($colors) - 1); |
|
1016 | + while ($last_index == $new_index) { |
|
1017 | + $new_index = mt_rand(0, count($colors) - 1); |
|
1018 | + } |
|
984 | 1019 | $char_fg_color = $colors[$new_index]; |
985 | 1020 | $last_index = $new_index; |
1021 | + } elseif ($fontColorType == 'random') { |
|
1022 | + $char_fg_color = array(mt_rand(max($foreground_color[0] - 2, 0), $foreground_color[0]), mt_rand(max($foreground_color[1] - 2, 0), $foreground_color[1]), mt_rand(max($foreground_color[2] - 2, 0), $foreground_color[2])); |
|
1023 | + } else { |
|
1024 | + $char_fg_color = array($foreground_color[0], $foreground_color[1], $foreground_color[2]); |
|
986 | 1025 | } |
987 | - elseif ($fontColorType == 'random') |
|
988 | - $char_fg_color = array(mt_rand(max($foreground_color[0] - 2, 0), $foreground_color[0]), mt_rand(max($foreground_color[1] - 2, 0), $foreground_color[1]), mt_rand(max($foreground_color[2] - 2, 0), $foreground_color[2])); |
|
989 | - else |
|
990 | - $char_fg_color = array($foreground_color[0], $foreground_color[1], $foreground_color[2]); |
|
991 | 1026 | |
992 | 1027 | if (!empty($can_do_ttf)) |
993 | 1028 | { |
994 | 1029 | // GD2 handles font size differently. |
995 | - if ($fontSizeRandom) |
|
996 | - $font_size = $gd2 ? mt_rand(17, 19) : mt_rand(18, 25); |
|
997 | - else |
|
998 | - $font_size = $gd2 ? 18 : 24; |
|
1030 | + if ($fontSizeRandom) { |
|
1031 | + $font_size = $gd2 ? mt_rand(17, 19) : mt_rand(18, 25); |
|
1032 | + } else { |
|
1033 | + $font_size = $gd2 ? 18 : 24; |
|
1034 | + } |
|
999 | 1035 | |
1000 | 1036 | // Work out the sizes - also fix the character width cause TTF not quite so wide! |
1001 | 1037 | $font_x = $fontHorSpace == 'minus' && $cur_x > 0 ? $cur_x - 3 : $cur_x + 5; |
1002 | 1038 | $font_y = $max_height - ($fontVerPos == 'vrandom' ? mt_rand(2, 8) : ($fontVerPos == 'random' ? mt_rand(3, 5) : 5)); |
1003 | 1039 | |
1004 | 1040 | // What font face? |
1005 | - if (!empty($ttfont_list)) |
|
1006 | - $fontface = $settings['default_theme_dir'] . '/fonts/' . $ttfont_list[mt_rand(0, count($ttfont_list) - 1)]; |
|
1041 | + if (!empty($ttfont_list)) { |
|
1042 | + $fontface = $settings['default_theme_dir'] . '/fonts/' . $ttfont_list[mt_rand(0, count($ttfont_list) - 1)]; |
|
1043 | + } |
|
1007 | 1044 | |
1008 | 1045 | // What color are we to do it in? |
1009 | 1046 | $is_reverse = $showReverseChars ? mt_rand(0, 1) : false; |
1010 | 1047 | $char_color = function_exists('imagecolorallocatealpha') && $fontTrans ? imagecolorallocatealpha($code_image, $char_fg_color[0], $char_fg_color[1], $char_fg_color[2], 50) : imagecolorallocate($code_image, $char_fg_color[0], $char_fg_color[1], $char_fg_color[2]); |
1011 | 1048 | |
1012 | 1049 | $fontcord = @imagettftext($code_image, $font_size, $angle, $font_x, $font_y, $char_color, $fontface, $character['id']); |
1013 | - if (empty($fontcord)) |
|
1014 | - $can_do_ttf = false; |
|
1015 | - elseif ($is_reverse) |
|
1050 | + if (empty($fontcord)) { |
|
1051 | + $can_do_ttf = false; |
|
1052 | + } elseif ($is_reverse) |
|
1016 | 1053 | { |
1017 | 1054 | imagefilledpolygon($code_image, $fontcord, 4, $fg_color); |
1018 | 1055 | // Put the character back! |
1019 | 1056 | imagettftext($code_image, $font_size, $angle, $font_x, $font_y, $randomness_color, $fontface, $character['id']); |
1020 | 1057 | } |
1021 | 1058 | |
1022 | - if ($can_do_ttf) |
|
1023 | - $cur_x = max($fontcord[2], $fontcord[4]) + ($angle == 0 ? 0 : 3); |
|
1059 | + if ($can_do_ttf) { |
|
1060 | + $cur_x = max($fontcord[2], $fontcord[4]) + ($angle == 0 ? 0 : 3); |
|
1061 | + } |
|
1024 | 1062 | } |
1025 | 1063 | |
1026 | 1064 | if (!$can_do_ttf) |
@@ -1039,8 +1077,9 @@ discard block |
||
1039 | 1077 | } |
1040 | 1078 | |
1041 | 1079 | // Sorry, no rotation available. |
1042 | - else |
|
1043 | - imagechar($code_image, $loaded_fonts[$character['font']], $cur_x, floor(($max_height - $character['height']) / 2), $character['id'], imagecolorallocate($code_image, $char_fg_color[0], $char_fg_color[1], $char_fg_color[2])); |
|
1080 | + else { |
|
1081 | + imagechar($code_image, $loaded_fonts[$character['font']], $cur_x, floor(($max_height - $character['height']) / 2), $character['id'], imagecolorallocate($code_image, $char_fg_color[0], $char_fg_color[1], $char_fg_color[2])); |
|
1082 | + } |
|
1044 | 1083 | $cur_x += $character['width'] + $character_spacing; |
1045 | 1084 | } |
1046 | 1085 | } |
@@ -1053,17 +1092,22 @@ discard block |
||
1053 | 1092 | } |
1054 | 1093 | |
1055 | 1094 | // Make the background color transparent on the hard image. |
1056 | - if (!$simpleBGColor) |
|
1057 | - imagecolortransparent($code_image, $bg_color); |
|
1058 | - if ($hasBorder) |
|
1059 | - imagerectangle($code_image, 0, 0, $total_width - 1, $max_height - 1, $fg_color); |
|
1095 | + if (!$simpleBGColor) { |
|
1096 | + imagecolortransparent($code_image, $bg_color); |
|
1097 | + } |
|
1098 | + if ($hasBorder) { |
|
1099 | + imagerectangle($code_image, 0, 0, $total_width - 1, $max_height - 1, $fg_color); |
|
1100 | + } |
|
1060 | 1101 | |
1061 | 1102 | // Add some noise to the background? |
1062 | 1103 | if ($noiseType != 'none') |
1063 | 1104 | { |
1064 | - for ($i = mt_rand(0, 2); $i < $max_height; $i += mt_rand(1, 2)) |
|
1065 | - for ($j = mt_rand(0, 10); $j < $total_width; $j += mt_rand(1, 10)) |
|
1066 | - imagesetpixel($code_image, $j, $i, mt_rand(0, 1) ? $fg_color : $randomness_color); |
|
1105 | + for ($i = mt_rand(0, 2); $i < $max_height; $i += mt_rand(1, 2)) { |
|
1106 | + for ($j = mt_rand(0, 10); |
|
1107 | + } |
|
1108 | + $j < $total_width; $j += mt_rand(1, 10)) { |
|
1109 | + imagesetpixel($code_image, $j, $i, mt_rand(0, 1) ? $fg_color : $randomness_color); |
|
1110 | + } |
|
1067 | 1111 | |
1068 | 1112 | // Put in some lines too? |
1069 | 1113 | if ($noiseType != 'extreme') |
@@ -1076,8 +1120,7 @@ discard block |
||
1076 | 1120 | $x1 = mt_rand(0, $total_width); |
1077 | 1121 | $x2 = mt_rand(0, $total_width); |
1078 | 1122 | $y1 = 0; $y2 = $max_height; |
1079 | - } |
|
1080 | - else |
|
1123 | + } else |
|
1081 | 1124 | { |
1082 | 1125 | $y1 = mt_rand(0, $max_height); |
1083 | 1126 | $y2 = mt_rand(0, $max_height); |
@@ -1086,8 +1129,7 @@ discard block |
||
1086 | 1129 | imagesetthickness($code_image, mt_rand(1, 2)); |
1087 | 1130 | imageline($code_image, $x1, $y1, $x2, $y2, mt_rand(0, 1) ? $fg_color : $randomness_color); |
1088 | 1131 | } |
1089 | - } |
|
1090 | - else |
|
1132 | + } else |
|
1091 | 1133 | { |
1092 | 1134 | // Put in some ellipse |
1093 | 1135 | $num_ellipse = $noiseType == 'extreme' ? mt_rand(6, 12) : mt_rand(2, 6); |
@@ -1107,8 +1149,7 @@ discard block |
||
1107 | 1149 | { |
1108 | 1150 | header('Content-type: image/gif'); |
1109 | 1151 | imagegif($code_image); |
1110 | - } |
|
1111 | - else |
|
1152 | + } else |
|
1112 | 1153 | { |
1113 | 1154 | header('Content-type: image/png'); |
1114 | 1155 | imagepng($code_image); |
@@ -1131,25 +1172,29 @@ discard block |
||
1131 | 1172 | { |
1132 | 1173 | global $settings; |
1133 | 1174 | |
1134 | - if (!is_dir($settings['default_theme_dir'] . '/fonts')) |
|
1135 | - return false; |
|
1175 | + if (!is_dir($settings['default_theme_dir'] . '/fonts')) { |
|
1176 | + return false; |
|
1177 | + } |
|
1136 | 1178 | |
1137 | 1179 | // Get a list of the available font directories. |
1138 | 1180 | $font_dir = dir($settings['default_theme_dir'] . '/fonts'); |
1139 | 1181 | $font_list = array(); |
1140 | - while ($entry = $font_dir->read()) |
|
1141 | - if ($entry[0] !== '.' && is_dir($settings['default_theme_dir'] . '/fonts/' . $entry) && file_exists($settings['default_theme_dir'] . '/fonts/' . $entry . '.gdf')) |
|
1182 | + while ($entry = $font_dir->read()) { |
|
1183 | + if ($entry[0] !== '.' && is_dir($settings['default_theme_dir'] . '/fonts/' . $entry) && file_exists($settings['default_theme_dir'] . '/fonts/' . $entry . '.gdf')) |
|
1142 | 1184 | $font_list[] = $entry; |
1185 | + } |
|
1143 | 1186 | |
1144 | - if (empty($font_list)) |
|
1145 | - return false; |
|
1187 | + if (empty($font_list)) { |
|
1188 | + return false; |
|
1189 | + } |
|
1146 | 1190 | |
1147 | 1191 | // Pick a random font. |
1148 | 1192 | $random_font = $font_list[array_rand($font_list)]; |
1149 | 1193 | |
1150 | 1194 | // Check if the given letter exists. |
1151 | - if (!file_exists($settings['default_theme_dir'] . '/fonts/' . $random_font . '/' . $letter . '.png')) |
|
1152 | - return false; |
|
1195 | + if (!file_exists($settings['default_theme_dir'] . '/fonts/' . $random_font . '/' . $letter . '.png')) { |
|
1196 | + return false; |
|
1197 | + } |
|
1153 | 1198 | |
1154 | 1199 | // Include it! |
1155 | 1200 | header('Content-type: image/png'); |
@@ -13,8 +13,9 @@ discard block |
||
13 | 13 | * @version 2.1 Beta 4 |
14 | 14 | */ |
15 | 15 | |
16 | -if (!defined('SMF')) |
|
16 | +if (!defined('SMF')) { |
|
17 | 17 | die('No direct access...'); |
18 | +} |
|
18 | 19 | |
19 | 20 | /** |
20 | 21 | * The main admin handling function.<br> |
@@ -444,8 +445,9 @@ discard block |
||
444 | 445 | foreach ($admin_includes as $include) |
445 | 446 | { |
446 | 447 | $include = strtr(trim($include), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir, '$themedir' => $settings['theme_dir'])); |
447 | - if (file_exists($include)) |
|
448 | - require_once($include); |
|
448 | + if (file_exists($include)) { |
|
449 | + require_once($include); |
|
450 | + } |
|
449 | 451 | } |
450 | 452 | } |
451 | 453 | |
@@ -457,24 +459,27 @@ discard block |
||
457 | 459 | unset($admin_areas); |
458 | 460 | |
459 | 461 | // Nothing valid? |
460 | - if ($admin_include_data == false) |
|
461 | - fatal_lang_error('no_access', false); |
|
462 | + if ($admin_include_data == false) { |
|
463 | + fatal_lang_error('no_access', false); |
|
464 | + } |
|
462 | 465 | |
463 | 466 | // Build the link tree. |
464 | 467 | $context['linktree'][] = array( |
465 | 468 | 'url' => $scripturl . '?action=admin', |
466 | 469 | 'name' => $txt['admin_center'], |
467 | 470 | ); |
468 | - if (isset($admin_include_data['current_area']) && $admin_include_data['current_area'] != 'index') |
|
469 | - $context['linktree'][] = array( |
|
471 | + if (isset($admin_include_data['current_area']) && $admin_include_data['current_area'] != 'index') { |
|
472 | + $context['linktree'][] = array( |
|
470 | 473 | 'url' => $scripturl . '?action=admin;area=' . $admin_include_data['current_area'] . ';' . $context['session_var'] . '=' . $context['session_id'], |
471 | 474 | 'name' => $admin_include_data['label'], |
472 | 475 | ); |
473 | - if (!empty($admin_include_data['current_subsection']) && $admin_include_data['subsections'][$admin_include_data['current_subsection']][0] != $admin_include_data['label']) |
|
474 | - $context['linktree'][] = array( |
|
476 | + } |
|
477 | + if (!empty($admin_include_data['current_subsection']) && $admin_include_data['subsections'][$admin_include_data['current_subsection']][0] != $admin_include_data['label']) { |
|
478 | + $context['linktree'][] = array( |
|
475 | 479 | 'url' => $scripturl . '?action=admin;area=' . $admin_include_data['current_area'] . ';sa=' . $admin_include_data['current_subsection'] . ';' . $context['session_var'] . '=' . $context['session_id'], |
476 | 480 | 'name' => $admin_include_data['subsections'][$admin_include_data['current_subsection']][0], |
477 | 481 | ); |
482 | + } |
|
478 | 483 | |
479 | 484 | // Make a note of the Unique ID for this menu. |
480 | 485 | $context['admin_menu_id'] = $context['max_menu_id']; |
@@ -484,16 +489,18 @@ discard block |
||
484 | 489 | $context['admin_area'] = $admin_include_data['current_area']; |
485 | 490 | |
486 | 491 | // Now - finally - call the right place! |
487 | - if (isset($admin_include_data['file'])) |
|
488 | - require_once($sourcedir . '/' . $admin_include_data['file']); |
|
492 | + if (isset($admin_include_data['file'])) { |
|
493 | + require_once($sourcedir . '/' . $admin_include_data['file']); |
|
494 | + } |
|
489 | 495 | |
490 | 496 | // Get the right callable. |
491 | 497 | $call = call_helper($admin_include_data['function'], true); |
492 | 498 | |
493 | 499 | // Is it valid? |
494 | - if (!empty($call)) |
|
495 | - call_user_func($call); |
|
496 | -} |
|
500 | + if (!empty($call)) { |
|
501 | + call_user_func($call); |
|
502 | + } |
|
503 | + } |
|
497 | 504 | |
498 | 505 | /** |
499 | 506 | * The main administration section. |
@@ -547,13 +554,14 @@ discard block |
||
547 | 554 | |
548 | 555 | $context['sub_template'] = $context['admin_area'] == 'credits' ? 'credits' : 'admin'; |
549 | 556 | $context['page_title'] = $context['admin_area'] == 'credits' ? $txt['support_credits_title'] : $txt['admin_center']; |
550 | - if ($context['admin_area'] != 'credits') |
|
551 | - $context[$context['admin_menu_name']]['tab_data'] = array( |
|
557 | + if ($context['admin_area'] != 'credits') { |
|
558 | + $context[$context['admin_menu_name']]['tab_data'] = array( |
|
552 | 559 | 'title' => $txt['admin_center'], |
553 | 560 | 'help' => '', |
554 | 561 | 'description' => '<strong>' . $txt['hello_guest'] . ' ' . $context['user']['name'] . '!</strong> |
555 | 562 | ' . sprintf($txt['admin_main_welcome'], $txt['admin_center'], $txt['help'], $txt['help']), |
556 | 563 | ); |
564 | + } |
|
557 | 565 | |
558 | 566 | // Lastly, fill in the blanks in the support resources paragraphs. |
559 | 567 | $txt['support_resources_p1'] = sprintf($txt['support_resources_p1'], |
@@ -571,9 +579,10 @@ discard block |
||
571 | 579 | 'https://www.simplemachines.org/redirect/customize_support' |
572 | 580 | ); |
573 | 581 | |
574 | - if ($context['admin_area'] == 'admin') |
|
575 | - loadJavaScriptFile('admin.js', array('defer' => false), 'smf_admin'); |
|
576 | -} |
|
582 | + if ($context['admin_area'] == 'admin') { |
|
583 | + loadJavaScriptFile('admin.js', array('defer' => false), 'smf_admin'); |
|
584 | + } |
|
585 | + } |
|
577 | 586 | |
578 | 587 | /** |
579 | 588 | * Get one of the admin information files from Simple Machines. |
@@ -584,8 +593,9 @@ discard block |
||
584 | 593 | |
585 | 594 | setMemoryLimit('32M'); |
586 | 595 | |
587 | - if (empty($_REQUEST['filename']) || !is_string($_REQUEST['filename'])) |
|
588 | - fatal_lang_error('no_access', false); |
|
596 | + if (empty($_REQUEST['filename']) || !is_string($_REQUEST['filename'])) { |
|
597 | + fatal_lang_error('no_access', false); |
|
598 | + } |
|
589 | 599 | |
590 | 600 | // Strip off the forum cache part or we won't find it... |
591 | 601 | $_REQUEST['filename'] = str_replace($modSettings['browser_cache'], '', $_REQUEST['filename']); |
@@ -600,27 +610,30 @@ discard block |
||
600 | 610 | ) |
601 | 611 | ); |
602 | 612 | |
603 | - if ($smcFunc['db_num_rows']($request) == 0) |
|
604 | - fatal_lang_error('admin_file_not_found', true, array($_REQUEST['filename']), 404); |
|
613 | + if ($smcFunc['db_num_rows']($request) == 0) { |
|
614 | + fatal_lang_error('admin_file_not_found', true, array($_REQUEST['filename']), 404); |
|
615 | + } |
|
605 | 616 | |
606 | 617 | list ($file_data, $filetype) = $smcFunc['db_fetch_row']($request); |
607 | 618 | $smcFunc['db_free_result']($request); |
608 | 619 | |
609 | 620 | // @todo Temp |
610 | 621 | // Figure out if sesc is still being used. |
611 | - if (strpos($file_data, ';sesc=') !== false && $filetype == 'text/javascript') |
|
612 | - $file_data = ' |
|
622 | + if (strpos($file_data, ';sesc=') !== false && $filetype == 'text/javascript') { |
|
623 | + $file_data = ' |
|
613 | 624 | if (!(\'smfForum_sessionvar\' in window)) |
614 | 625 | window.smfForum_sessionvar = \'sesc\'; |
615 | 626 | ' . strtr($file_data, array(';sesc=' => ';\' + window.smfForum_sessionvar + \'=')); |
627 | + } |
|
616 | 628 | |
617 | 629 | $context['template_layers'] = array(); |
618 | 630 | // Lets make sure we aren't going to output anything nasty. |
619 | 631 | @ob_end_clean(); |
620 | - if (!empty($modSettings['enableCompressedOutput'])) |
|
621 | - @ob_start('ob_gzhandler'); |
|
622 | - else |
|
623 | - @ob_start(); |
|
632 | + if (!empty($modSettings['enableCompressedOutput'])) { |
|
633 | + @ob_start('ob_gzhandler'); |
|
634 | + } else { |
|
635 | + @ob_start(); |
|
636 | + } |
|
624 | 637 | |
625 | 638 | // Make sure they know what type of file we are. |
626 | 639 | header('Content-Type: ' . $filetype); |
@@ -660,11 +673,12 @@ discard block |
||
660 | 673 | updateAdminPreferences(); |
661 | 674 | } |
662 | 675 | |
663 | - if (trim($context['search_term']) == '') |
|
664 | - $context['search_results'] = array(); |
|
665 | - else |
|
666 | - call_helper($subActions[$context['search_type']]); |
|
667 | -} |
|
676 | + if (trim($context['search_term']) == '') { |
|
677 | + $context['search_results'] = array(); |
|
678 | + } else { |
|
679 | + call_helper($subActions[$context['search_type']]); |
|
680 | + } |
|
681 | + } |
|
668 | 682 | |
669 | 683 | /** |
670 | 684 | * A complicated but relatively quick internal search. |
@@ -728,8 +742,9 @@ discard block |
||
728 | 742 | |
729 | 743 | loadLanguage(implode('+', $language_files)); |
730 | 744 | |
731 | - foreach ($include_files as $file) |
|
732 | - require_once($sourcedir . '/' . $file . '.php'); |
|
745 | + foreach ($include_files as $file) { |
|
746 | + require_once($sourcedir . '/' . $file . '.php'); |
|
747 | + } |
|
733 | 748 | |
734 | 749 | /* This is the huge array that defines everything... it's a huge array of items formatted as follows: |
735 | 750 | 0 = Language index (Can be array of indexes) to search through for this setting. |
@@ -753,11 +768,12 @@ discard block |
||
753 | 768 | foreach ($section['areas'] as $menu_key => $menu_item) |
754 | 769 | { |
755 | 770 | $search_data['sections'][] = array($menu_item['label'], 'area=' . $menu_key); |
756 | - if (!empty($menu_item['subsections'])) |
|
757 | - foreach ($menu_item['subsections'] as $key => $sublabel) |
|
771 | + if (!empty($menu_item['subsections'])) { |
|
772 | + foreach ($menu_item['subsections'] as $key => $sublabel) |
|
758 | 773 | { |
759 | 774 | if (isset($sublabel['label'])) |
760 | 775 | $search_data['sections'][] = array($sublabel['label'], 'area=' . $menu_key . ';sa=' . $key); |
776 | + } |
|
761 | 777 | } |
762 | 778 | } |
763 | 779 | } |
@@ -767,9 +783,10 @@ discard block |
||
767 | 783 | // Get a list of their variables. |
768 | 784 | $config_vars = $setting_area[0](true); |
769 | 785 | |
770 | - foreach ($config_vars as $var) |
|
771 | - if (!empty($var[1]) && !in_array($var[0], array('permissions', 'switch', 'desc'))) |
|
786 | + foreach ($config_vars as $var) { |
|
787 | + if (!empty($var[1]) && !in_array($var[0], array('permissions', 'switch', 'desc'))) |
|
772 | 788 | $search_data['settings'][] = array($var[(isset($var[2]) && in_array($var[2], array('file', 'db'))) ? 0 : 1], $setting_area[1]); |
789 | + } |
|
773 | 790 | } |
774 | 791 | |
775 | 792 | $context['page_title'] = $txt['admin_search_results']; |
@@ -782,8 +799,9 @@ discard block |
||
782 | 799 | foreach ($data as $item) |
783 | 800 | { |
784 | 801 | $found = false; |
785 | - if (!is_array($item[0])) |
|
786 | - $item[0] = array($item[0]); |
|
802 | + if (!is_array($item[0])) { |
|
803 | + $item[0] = array($item[0]); |
|
804 | + } |
|
787 | 805 | foreach ($item[0] as $term) |
788 | 806 | { |
789 | 807 | if (stripos($term, $search_term) !== false || (isset($txt[$term]) && stripos($txt[$term], $search_term) !== false) || (isset($txt['setting_' . $term]) && stripos($txt['setting_' . $term], $search_term) !== false)) |
@@ -841,8 +859,9 @@ discard block |
||
841 | 859 | $postVars = explode(' ', $context['search_term']); |
842 | 860 | |
843 | 861 | // Encode the search data. |
844 | - foreach ($postVars as $k => $v) |
|
845 | - $postVars[$k] = urlencode($v); |
|
862 | + foreach ($postVars as $k => $v) { |
|
863 | + $postVars[$k] = urlencode($v); |
|
864 | + } |
|
846 | 865 | |
847 | 866 | // This is what we will send. |
848 | 867 | $postVars = implode('+', $postVars); |
@@ -854,8 +873,9 @@ discard block |
||
854 | 873 | $search_results = fetch_web_data($context['doc_apiurl'] . '?action=query&list=search&srprop=timestamp|snippet&format=xml&srwhat=text&srsearch=' . $postVars); |
855 | 874 | |
856 | 875 | // If we didn't get any xml back we are in trouble - perhaps the doc site is overloaded? |
857 | - if (!$search_results || preg_match('~<' . '\?xml\sversion="\d+\.\d+"\?' . '>\s*(<api>.+?</api>)~is', $search_results, $matches) != true) |
|
858 | - fatal_lang_error('cannot_connect_doc_site'); |
|
876 | + if (!$search_results || preg_match('~<' . '\?xml\sversion="\d+\.\d+"\?' . '>\s*(<api>.+?</api>)~is', $search_results, $matches) != true) { |
|
877 | + fatal_lang_error('cannot_connect_doc_site'); |
|
878 | + } |
|
859 | 879 | |
860 | 880 | $search_results = $matches[1]; |
861 | 881 | |
@@ -867,8 +887,9 @@ discard block |
||
867 | 887 | $results = new xmlArray($search_results, false); |
868 | 888 | |
869 | 889 | // Move through the api layer. |
870 | - if (!$results->exists('api')) |
|
871 | - fatal_lang_error('cannot_connect_doc_site'); |
|
890 | + if (!$results->exists('api')) { |
|
891 | + fatal_lang_error('cannot_connect_doc_site'); |
|
892 | + } |
|
872 | 893 | |
873 | 894 | // Are there actually some results? |
874 | 895 | if ($results->exists('api/query/search/p')) |
@@ -904,8 +925,9 @@ discard block |
||
904 | 925 | ); |
905 | 926 | |
906 | 927 | // If it's not got a sa set it must have come here for first time, pretend error log should be reversed. |
907 | - if (!isset($_REQUEST['sa'])) |
|
908 | - $_REQUEST['desc'] = true; |
|
928 | + if (!isset($_REQUEST['sa'])) { |
|
929 | + $_REQUEST['desc'] = true; |
|
930 | + } |
|
909 | 931 | |
910 | 932 | // Setup some tab stuff. |
911 | 933 | $context[$context['admin_menu_name']]['tab_data'] = array( |
@@ -955,9 +977,10 @@ discard block |
||
955 | 977 | unset($_SESSION['admin_time']); |
956 | 978 | |
957 | 979 | // Clean any admin tokens as well. |
958 | - foreach ($_SESSION['token'] as $key => $token) |
|
959 | - if (strpos($key, '-admin') !== false) |
|
980 | + foreach ($_SESSION['token'] as $key => $token) { |
|
981 | + if (strpos($key, '-admin') !== false) |
|
960 | 982 | unset($_SESSION['token'][$key]); |
983 | + } |
|
961 | 984 | |
962 | 985 | redirectexit(); |
963 | 986 | } |
@@ -13,8 +13,9 @@ discard block |
||
13 | 13 | * @version 2.1 Beta 4 |
14 | 14 | */ |
15 | 15 | |
16 | -if (!defined('SMF')) |
|
16 | +if (!defined('SMF')) { |
|
17 | 17 | die('No direct access...'); |
18 | +} |
|
18 | 19 | |
19 | 20 | /** |
20 | 21 | * Add the file functions to the $smcFunc array. |
@@ -23,29 +24,33 @@ discard block |
||
23 | 24 | { |
24 | 25 | global $smcFunc; |
25 | 26 | |
26 | - if (!isset($smcFunc['db_search_query']) || $smcFunc['db_search_query'] != 'smf_db_search_query') |
|
27 | - $smcFunc += array( |
|
27 | + if (!isset($smcFunc['db_search_query']) || $smcFunc['db_search_query'] != 'smf_db_search_query') { |
|
28 | + $smcFunc += array( |
|
28 | 29 | 'db_search_query' => 'smf_db_search_query', |
29 | 30 | 'db_search_support' => 'smf_db_search_support', |
30 | 31 | 'db_create_word_search' => 'smf_db_create_word_search', |
31 | 32 | 'db_support_ignore' => false, |
32 | 33 | 'db_search_language' => 'smf_db_search_language', |
33 | 34 | ); |
35 | + } |
|
34 | 36 | |
35 | 37 | db_extend(); |
36 | 38 | |
37 | 39 | //pg 9.5 got ignore support |
38 | 40 | $version = $smcFunc['db_get_version'](); |
39 | 41 | // if we got a Beta Version |
40 | - if (stripos($version, 'beta') !== false) |
|
41 | - $version = substr($version, 0, stripos($version, 'beta')).'.0'; |
|
42 | + if (stripos($version, 'beta') !== false) { |
|
43 | + $version = substr($version, 0, stripos($version, 'beta')).'.0'; |
|
44 | + } |
|
42 | 45 | // or RC |
43 | - if (stripos($version, 'rc') !== false) |
|
44 | - $version = substr($version, 0, stripos($version, 'rc')).'.0'; |
|
46 | + if (stripos($version, 'rc') !== false) { |
|
47 | + $version = substr($version, 0, stripos($version, 'rc')).'.0'; |
|
48 | + } |
|
45 | 49 | |
46 | - if (version_compare($version,'9.5.0','>=')) |
|
47 | - $smcFunc['db_support_ignore'] = true; |
|
48 | -} |
|
50 | + if (version_compare($version,'9.5.0','>=')) { |
|
51 | + $smcFunc['db_support_ignore'] = true; |
|
52 | + } |
|
53 | + } |
|
49 | 54 | |
50 | 55 | /** |
51 | 56 | * This function will tell you whether this database type supports this search type. |
@@ -104,16 +109,16 @@ discard block |
||
104 | 109 | ), |
105 | 110 | ); |
106 | 111 | |
107 | - if (isset($replacements[$identifier])) |
|
108 | - $db_string = preg_replace(array_keys($replacements[$identifier]), array_values($replacements[$identifier]), $db_string); |
|
112 | + if (isset($replacements[$identifier])) { |
|
113 | + $db_string = preg_replace(array_keys($replacements[$identifier]), array_values($replacements[$identifier]), $db_string); |
|
114 | + } |
|
109 | 115 | if (preg_match('~^\s*INSERT\sIGNORE~i', $db_string) != 0) |
110 | 116 | { |
111 | 117 | $db_string = preg_replace('~^\s*INSERT\sIGNORE~i', 'INSERT', $db_string); |
112 | 118 | if ($smcFunc['db_support_ignore']){ |
113 | 119 | //pg style "INSERT INTO.... ON CONFLICT DO NOTHING" |
114 | 120 | $db_string = $db_string.' ON CONFLICT DO NOTHING'; |
115 | - } |
|
116 | - else |
|
121 | + } else |
|
117 | 122 | { |
118 | 123 | // Don't error on multi-insert. |
119 | 124 | $db_values['db_error_skip'] = true; |
@@ -121,8 +126,9 @@ discard block |
||
121 | 126 | } |
122 | 127 | |
123 | 128 | //fix double quotes |
124 | - if ($identifier == 'insert_into_log_messages_fulltext') |
|
125 | - $db_values = str_replace('"', "'", $db_values); |
|
129 | + if ($identifier == 'insert_into_log_messages_fulltext') { |
|
130 | + $db_values = str_replace('"', "'", $db_values); |
|
131 | + } |
|
126 | 132 | |
127 | 133 | $return = $smcFunc['db_query']('', $db_string, |
128 | 134 | $db_values, $connection |
@@ -164,9 +170,9 @@ discard block |
||
164 | 170 | |
165 | 171 | $language_ftx = 'english'; |
166 | 172 | |
167 | - if (!empty($modSettings['search_language'])) |
|
168 | - $language_ftx = $modSettings['search_language']; |
|
169 | - else |
|
173 | + if (!empty($modSettings['search_language'])) { |
|
174 | + $language_ftx = $modSettings['search_language']; |
|
175 | + } else |
|
170 | 176 | { |
171 | 177 | $request = $smcFunc['db_query']('',' |
172 | 178 | SELECT cfgname FROM pg_ts_config WHERE oid = current_setting({string:default_language})::regconfig', |
@@ -11,8 +11,9 @@ discard block |
||
11 | 11 | * @version 2.1 Beta 4 |
12 | 12 | */ |
13 | 13 | |
14 | -if (!defined('SMF')) |
|
14 | +if (!defined('SMF')) { |
|
15 | 15 | die('Hacking attempt...'); |
16 | +} |
|
16 | 17 | |
17 | 18 | /** |
18 | 19 | * Our Cache API class |
@@ -27,8 +28,9 @@ discard block |
||
27 | 28 | { |
28 | 29 | $supported = function_exists('apcu_fetch') && function_exists('apcu_store'); |
29 | 30 | |
30 | - if ($test) |
|
31 | - return $supported; |
|
31 | + if ($test) { |
|
32 | + return $supported; |
|
33 | + } |
|
32 | 34 | return parent::isSupported() && $supported; |
33 | 35 | } |
34 | 36 | |
@@ -50,10 +52,11 @@ discard block |
||
50 | 52 | $key = $this->prefix . strtr($key, ':/', '-_'); |
51 | 53 | |
52 | 54 | // An extended key is needed to counteract a bug in APC. |
53 | - if ($value === null) |
|
54 | - return apcu_delete($key . 'smf'); |
|
55 | - else |
|
56 | - return apcu_store($key . 'smf', $value, $ttl); |
|
55 | + if ($value === null) { |
|
56 | + return apcu_delete($key . 'smf'); |
|
57 | + } else { |
|
58 | + return apcu_store($key . 'smf', $value, $ttl); |
|
59 | + } |
|
57 | 60 | } |
58 | 61 | |
59 | 62 | /** |
@@ -13,8 +13,9 @@ discard block |
||
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 | * Delete one or more members. |
@@ -43,30 +44,32 @@ discard block |
||
43 | 44 | setMemoryLimit('128M'); |
44 | 45 | |
45 | 46 | // If it's not an array, make it so! |
46 | - if (!is_array($users)) |
|
47 | - $users = array($users); |
|
48 | - else |
|
49 | - $users = array_unique($users); |
|
47 | + if (!is_array($users)) { |
|
48 | + $users = array($users); |
|
49 | + } else { |
|
50 | + $users = array_unique($users); |
|
51 | + } |
|
50 | 52 | |
51 | 53 | // Make sure there's no void user in here. |
52 | 54 | $users = array_diff($users, array(0)); |
53 | 55 | |
54 | 56 | // How many are they deleting? |
55 | - if (empty($users)) |
|
56 | - return; |
|
57 | - elseif (count($users) == 1) |
|
57 | + if (empty($users)) { |
|
58 | + return; |
|
59 | + } elseif (count($users) == 1) |
|
58 | 60 | { |
59 | 61 | list ($user) = $users; |
60 | 62 | |
61 | - if ($user == $user_info['id']) |
|
62 | - isAllowedTo('profile_remove_own'); |
|
63 | - else |
|
64 | - isAllowedTo('profile_remove_any'); |
|
65 | - } |
|
66 | - else |
|
63 | + if ($user == $user_info['id']) { |
|
64 | + isAllowedTo('profile_remove_own'); |
|
65 | + } else { |
|
66 | + isAllowedTo('profile_remove_any'); |
|
67 | + } |
|
68 | + } else |
|
67 | 69 | { |
68 | - foreach ($users as $k => $v) |
|
69 | - $users[$k] = (int) $v; |
|
70 | + foreach ($users as $k => $v) { |
|
71 | + $users[$k] = (int) $v; |
|
72 | + } |
|
70 | 73 | |
71 | 74 | // Deleting more than one? You can't have more than one account... |
72 | 75 | isAllowedTo('profile_remove_any'); |
@@ -88,26 +91,30 @@ discard block |
||
88 | 91 | $user_log_details = array(); |
89 | 92 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
90 | 93 | { |
91 | - if ($row['is_admin']) |
|
92 | - $admins[] = $row['id_member']; |
|
94 | + if ($row['is_admin']) { |
|
95 | + $admins[] = $row['id_member']; |
|
96 | + } |
|
93 | 97 | $user_log_details[$row['id_member']] = array($row['id_member'], $row['member_name']); |
94 | 98 | } |
95 | 99 | $smcFunc['db_free_result']($request); |
96 | 100 | |
97 | - if (empty($user_log_details)) |
|
98 | - return; |
|
101 | + if (empty($user_log_details)) { |
|
102 | + return; |
|
103 | + } |
|
99 | 104 | |
100 | 105 | // Make sure they aren't trying to delete administrators if they aren't one. But don't bother checking if it's just themself. |
101 | 106 | if (!empty($admins) && ($check_not_admin || (!allowedTo('admin_forum') && (count($users) != 1 || $users[0] != $user_info['id'])))) |
102 | 107 | { |
103 | 108 | $users = array_diff($users, $admins); |
104 | - foreach ($admins as $id) |
|
105 | - unset($user_log_details[$id]); |
|
109 | + foreach ($admins as $id) { |
|
110 | + unset($user_log_details[$id]); |
|
111 | + } |
|
106 | 112 | } |
107 | 113 | |
108 | 114 | // No one left? |
109 | - if (empty($users)) |
|
110 | - return; |
|
115 | + if (empty($users)) { |
|
116 | + return; |
|
117 | + } |
|
111 | 118 | |
112 | 119 | // Log the action - regardless of who is deleting it. |
113 | 120 | $log_changes = array(); |
@@ -124,8 +131,9 @@ discard block |
||
124 | 131 | ); |
125 | 132 | |
126 | 133 | // Remove any cached data if enabled. |
127 | - if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) |
|
128 | - cache_put_data('user_settings-' . $user[0], null, 60); |
|
134 | + if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) { |
|
135 | + cache_put_data('user_settings-' . $user[0], null, 60); |
|
136 | + } |
|
129 | 137 | } |
130 | 138 | |
131 | 139 | // Make these peoples' posts guest posts. |
@@ -388,8 +396,8 @@ discard block |
||
388 | 396 | 'buddy_list' => implode(', buddy_list) != 0 OR FIND_IN_SET(', $users), |
389 | 397 | ) |
390 | 398 | ); |
391 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
392 | - $smcFunc['db_query']('', ' |
|
399 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
400 | + $smcFunc['db_query']('', ' |
|
393 | 401 | UPDATE {db_prefix}members |
394 | 402 | SET |
395 | 403 | pm_ignore_list = {string:pm_ignore_list}, |
@@ -401,6 +409,7 @@ discard block |
||
401 | 409 | 'buddy_list' => implode(',', array_diff(explode(',', $row['buddy_list']), $users)), |
402 | 410 | ) |
403 | 411 | ); |
412 | + } |
|
404 | 413 | $smcFunc['db_free_result']($request); |
405 | 414 | |
406 | 415 | // Make sure no member's birthday is still sticking in the calendar... |
@@ -455,29 +464,34 @@ discard block |
||
455 | 464 | elseif ($regOptions['interface'] == 'guest') |
456 | 465 | { |
457 | 466 | // You cannot register twice... |
458 | - if (empty($user_info['is_guest'])) |
|
459 | - redirectexit(); |
|
467 | + if (empty($user_info['is_guest'])) { |
|
468 | + redirectexit(); |
|
469 | + } |
|
460 | 470 | |
461 | 471 | // Make sure they didn't just register with this session. |
462 | - if (!empty($_SESSION['just_registered']) && empty($modSettings['disableRegisterCheck'])) |
|
463 | - fatal_lang_error('register_only_once', false); |
|
472 | + if (!empty($_SESSION['just_registered']) && empty($modSettings['disableRegisterCheck'])) { |
|
473 | + fatal_lang_error('register_only_once', false); |
|
474 | + } |
|
464 | 475 | } |
465 | 476 | |
466 | 477 | // Spaces and other odd characters are evil... |
467 | 478 | $regOptions['username'] = trim(preg_replace('~[\t\n\r \x0B\0' . ($context['utf8'] ? '\x{A0}\x{AD}\x{2000}-\x{200F}\x{201F}\x{202F}\x{3000}\x{FEFF}' : '\x00-\x08\x0B\x0C\x0E-\x19\xA0') . ']+~' . ($context['utf8'] ? 'u' : ''), ' ', $regOptions['username'])); |
468 | 479 | |
469 | 480 | // @todo Separate the sprintf? |
470 | - if (empty($regOptions['email']) || !filter_var($regOptions['email'], FILTER_VALIDATE_EMAIL) || strlen($regOptions['email']) > 255) |
|
471 | - $reg_errors[] = array('lang', 'profile_error_bad_email'); |
|
481 | + if (empty($regOptions['email']) || !filter_var($regOptions['email'], FILTER_VALIDATE_EMAIL) || strlen($regOptions['email']) > 255) { |
|
482 | + $reg_errors[] = array('lang', 'profile_error_bad_email'); |
|
483 | + } |
|
472 | 484 | |
473 | 485 | $username_validation_errors = validateUsername(0, $regOptions['username'], true, !empty($regOptions['check_reserved_name'])); |
474 | - if (!empty($username_validation_errors)) |
|
475 | - $reg_errors = array_merge($reg_errors, $username_validation_errors); |
|
486 | + if (!empty($username_validation_errors)) { |
|
487 | + $reg_errors = array_merge($reg_errors, $username_validation_errors); |
|
488 | + } |
|
476 | 489 | |
477 | 490 | // Generate a validation code if it's supposed to be emailed. |
478 | 491 | $validation_code = ''; |
479 | - if ($regOptions['require'] == 'activation') |
|
480 | - $validation_code = generateValidationCode(); |
|
492 | + if ($regOptions['require'] == 'activation') { |
|
493 | + $validation_code = generateValidationCode(); |
|
494 | + } |
|
481 | 495 | |
482 | 496 | // If you haven't put in a password generate one. |
483 | 497 | if ($regOptions['interface'] == 'admin' && $regOptions['password'] == '') |
@@ -487,8 +501,9 @@ discard block |
||
487 | 501 | $regOptions['password_check'] = $regOptions['password']; |
488 | 502 | } |
489 | 503 | // Does the first password match the second? |
490 | - elseif ($regOptions['password'] != $regOptions['password_check']) |
|
491 | - $reg_errors[] = array('lang', 'passwords_dont_match'); |
|
504 | + elseif ($regOptions['password'] != $regOptions['password_check']) { |
|
505 | + $reg_errors[] = array('lang', 'passwords_dont_match'); |
|
506 | + } |
|
492 | 507 | |
493 | 508 | // That's kind of easy to guess... |
494 | 509 | if ($regOptions['password'] == '') |
@@ -502,13 +517,15 @@ discard block |
||
502 | 517 | $passwordError = validatePassword($regOptions['password'], $regOptions['username'], array($regOptions['email'])); |
503 | 518 | |
504 | 519 | // Password isn't legal? |
505 | - if ($passwordError != null) |
|
506 | - $reg_errors[] = array('lang', 'profile_error_password_' . $passwordError); |
|
520 | + if ($passwordError != null) { |
|
521 | + $reg_errors[] = array('lang', 'profile_error_password_' . $passwordError); |
|
522 | + } |
|
507 | 523 | } |
508 | 524 | |
509 | 525 | // You may not be allowed to register this email. |
510 | - if (!empty($regOptions['check_email_ban'])) |
|
511 | - isBannedEmail($regOptions['email'], 'cannot_register', $txt['ban_register_prohibited']); |
|
526 | + if (!empty($regOptions['check_email_ban'])) { |
|
527 | + isBannedEmail($regOptions['email'], 'cannot_register', $txt['ban_register_prohibited']); |
|
528 | + } |
|
512 | 529 | |
513 | 530 | // Check if the email address is in use. |
514 | 531 | $request = $smcFunc['db_query']('', ' |
@@ -523,8 +540,9 @@ discard block |
||
523 | 540 | ) |
524 | 541 | ); |
525 | 542 | // @todo Separate the sprintf? |
526 | - if ($smcFunc['db_num_rows']($request) != 0) |
|
527 | - $reg_errors[] = array('lang', 'email_in_use', false, array($smcFunc['htmlspecialchars']($regOptions['email']))); |
|
543 | + if ($smcFunc['db_num_rows']($request) != 0) { |
|
544 | + $reg_errors[] = array('lang', 'email_in_use', false, array($smcFunc['htmlspecialchars']($regOptions['email']))); |
|
545 | + } |
|
528 | 546 | |
529 | 547 | $smcFunc['db_free_result']($request); |
530 | 548 | |
@@ -539,24 +557,27 @@ discard block |
||
539 | 557 | 1 = The text/index. |
540 | 558 | 2 = Whether to log. |
541 | 559 | 3 = sprintf data if necessary. */ |
542 | - if ($error[0] == 'lang') |
|
543 | - loadLanguage('Errors'); |
|
560 | + if ($error[0] == 'lang') { |
|
561 | + loadLanguage('Errors'); |
|
562 | + } |
|
544 | 563 | $message = $error[0] == 'lang' ? (empty($error[3]) ? $txt[$error[1]] : vsprintf($txt[$error[1]], $error[3])) : $error[1]; |
545 | 564 | |
546 | 565 | // What to do, what to do, what to do. |
547 | 566 | if ($return_errors) |
548 | 567 | { |
549 | - if (!empty($error[2])) |
|
550 | - log_error($message, $error[2]); |
|
568 | + if (!empty($error[2])) { |
|
569 | + log_error($message, $error[2]); |
|
570 | + } |
|
551 | 571 | $reg_errors[$key] = $message; |
572 | + } else { |
|
573 | + fatal_error($message, empty($error[2]) ? false : $error[2]); |
|
552 | 574 | } |
553 | - else |
|
554 | - fatal_error($message, empty($error[2]) ? false : $error[2]); |
|
555 | 575 | } |
556 | 576 | |
557 | 577 | // If there's any errors left return them at once! |
558 | - if (!empty($reg_errors)) |
|
559 | - return $reg_errors; |
|
578 | + if (!empty($reg_errors)) { |
|
579 | + return $reg_errors; |
|
580 | + } |
|
560 | 581 | |
561 | 582 | $reservedVars = array( |
562 | 583 | 'actual_theme_url', |
@@ -578,8 +599,9 @@ discard block |
||
578 | 599 | ); |
579 | 600 | |
580 | 601 | // Can't change reserved vars. |
581 | - if (isset($regOptions['theme_vars']) && count(array_intersect(array_keys($regOptions['theme_vars']), $reservedVars)) != 0) |
|
582 | - fatal_lang_error('no_theme'); |
|
602 | + if (isset($regOptions['theme_vars']) && count(array_intersect(array_keys($regOptions['theme_vars']), $reservedVars)) != 0) { |
|
603 | + fatal_lang_error('no_theme'); |
|
604 | + } |
|
583 | 605 | |
584 | 606 | // Some of these might be overwritten. (the lower ones that are in the arrays below.) |
585 | 607 | $regOptions['register_vars'] = array( |
@@ -621,14 +643,17 @@ discard block |
||
621 | 643 | $regOptions['register_vars']['validation_code'] = ''; |
622 | 644 | } |
623 | 645 | // Maybe it can be activated right away? |
624 | - elseif ($regOptions['require'] == 'nothing') |
|
625 | - $regOptions['register_vars']['is_activated'] = 1; |
|
646 | + elseif ($regOptions['require'] == 'nothing') { |
|
647 | + $regOptions['register_vars']['is_activated'] = 1; |
|
648 | + } |
|
626 | 649 | // Maybe it must be activated by email? |
627 | - elseif ($regOptions['require'] == 'activation') |
|
628 | - $regOptions['register_vars']['is_activated'] = 0; |
|
650 | + elseif ($regOptions['require'] == 'activation') { |
|
651 | + $regOptions['register_vars']['is_activated'] = 0; |
|
652 | + } |
|
629 | 653 | // Otherwise it must be awaiting approval! |
630 | - else |
|
631 | - $regOptions['register_vars']['is_activated'] = 3; |
|
654 | + else { |
|
655 | + $regOptions['register_vars']['is_activated'] = 3; |
|
656 | + } |
|
632 | 657 | |
633 | 658 | if (isset($regOptions['memberGroup'])) |
634 | 659 | { |
@@ -647,24 +672,28 @@ discard block |
||
647 | 672 | 'is_protected' => 1, |
648 | 673 | ) |
649 | 674 | ); |
650 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
651 | - $unassignableGroups[] = $row['id_group']; |
|
675 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
676 | + $unassignableGroups[] = $row['id_group']; |
|
677 | + } |
|
652 | 678 | $smcFunc['db_free_result']($request); |
653 | 679 | |
654 | - if (in_array($regOptions['register_vars']['id_group'], $unassignableGroups)) |
|
655 | - $regOptions['register_vars']['id_group'] = 0; |
|
680 | + if (in_array($regOptions['register_vars']['id_group'], $unassignableGroups)) { |
|
681 | + $regOptions['register_vars']['id_group'] = 0; |
|
682 | + } |
|
656 | 683 | } |
657 | 684 | |
658 | 685 | // Integrate optional member settings to be set. |
659 | - if (!empty($regOptions['extra_register_vars'])) |
|
660 | - foreach ($regOptions['extra_register_vars'] as $var => $value) |
|
686 | + if (!empty($regOptions['extra_register_vars'])) { |
|
687 | + foreach ($regOptions['extra_register_vars'] as $var => $value) |
|
661 | 688 | $regOptions['register_vars'][$var] = $value; |
689 | + } |
|
662 | 690 | |
663 | 691 | // Integrate optional user theme options to be set. |
664 | 692 | $theme_vars = array(); |
665 | - if (!empty($regOptions['theme_vars'])) |
|
666 | - foreach ($regOptions['theme_vars'] as $var => $value) |
|
693 | + if (!empty($regOptions['theme_vars'])) { |
|
694 | + foreach ($regOptions['theme_vars'] as $var => $value) |
|
667 | 695 | $theme_vars[$var] = $value; |
696 | + } |
|
668 | 697 | |
669 | 698 | // Right, now let's prepare for insertion. |
670 | 699 | $knownInts = array( |
@@ -687,14 +716,15 @@ discard block |
||
687 | 716 | foreach ($regOptions['register_vars'] as $var => $val) |
688 | 717 | { |
689 | 718 | $type = 'string'; |
690 | - if (in_array($var, $knownInts)) |
|
691 | - $type = 'int'; |
|
692 | - elseif (in_array($var, $knownFloats)) |
|
693 | - $type = 'float'; |
|
694 | - elseif (in_array($var, $knownInets)) |
|
695 | - $type = 'inet'; |
|
696 | - elseif ($var == 'birthdate') |
|
697 | - $type = 'date'; |
|
719 | + if (in_array($var, $knownInts)) { |
|
720 | + $type = 'int'; |
|
721 | + } elseif (in_array($var, $knownFloats)) { |
|
722 | + $type = 'float'; |
|
723 | + } elseif (in_array($var, $knownInets)) { |
|
724 | + $type = 'inet'; |
|
725 | + } elseif ($var == 'birthdate') { |
|
726 | + $type = 'date'; |
|
727 | + } |
|
698 | 728 | |
699 | 729 | $column_names[$var] = $type; |
700 | 730 | $values[$var] = $val; |
@@ -713,17 +743,19 @@ discard block |
||
713 | 743 | call_integration_hook('integrate_post_register', array(&$regOptions, &$theme_vars, &$memberID)); |
714 | 744 | |
715 | 745 | // Update the number of members and latest member's info - and pass the name, but remove the 's. |
716 | - if ($regOptions['register_vars']['is_activated'] == 1) |
|
717 | - updateStats('member', $memberID, $regOptions['register_vars']['real_name']); |
|
718 | - else |
|
719 | - updateStats('member'); |
|
746 | + if ($regOptions['register_vars']['is_activated'] == 1) { |
|
747 | + updateStats('member', $memberID, $regOptions['register_vars']['real_name']); |
|
748 | + } else { |
|
749 | + updateStats('member'); |
|
750 | + } |
|
720 | 751 | |
721 | 752 | // Theme variables too? |
722 | 753 | if (!empty($theme_vars)) |
723 | 754 | { |
724 | 755 | $inserts = array(); |
725 | - foreach ($theme_vars as $var => $val) |
|
726 | - $inserts[] = array($memberID, $var, $val); |
|
756 | + foreach ($theme_vars as $var => $val) { |
|
757 | + $inserts[] = array($memberID, $var, $val); |
|
758 | + } |
|
727 | 759 | $smcFunc['db_insert']('insert', |
728 | 760 | '{db_prefix}themes', |
729 | 761 | array('id_member' => 'int', 'variable' => 'string-255', 'value' => 'string-65534'), |
@@ -738,10 +770,11 @@ discard block |
||
738 | 770 | // Administrative registrations are a bit different... |
739 | 771 | if ($regOptions['interface'] == 'admin') |
740 | 772 | { |
741 | - if ($regOptions['require'] == 'activation') |
|
742 | - $email_message = 'admin_register_activate'; |
|
743 | - elseif (!empty($regOptions['send_welcome_email'])) |
|
744 | - $email_message = 'admin_register_immediate'; |
|
773 | + if ($regOptions['require'] == 'activation') { |
|
774 | + $email_message = 'admin_register_activate'; |
|
775 | + } elseif (!empty($regOptions['send_welcome_email'])) { |
|
776 | + $email_message = 'admin_register_immediate'; |
|
777 | + } |
|
745 | 778 | |
746 | 779 | if (isset($email_message)) |
747 | 780 | { |
@@ -792,16 +825,17 @@ discard block |
||
792 | 825 | 'FORGOTPASSWORDLINK' => $scripturl . '?action=reminder', |
793 | 826 | ); |
794 | 827 | |
795 | - if ($regOptions['require'] == 'activation') |
|
796 | - $replacements += array( |
|
828 | + if ($regOptions['require'] == 'activation') { |
|
829 | + $replacements += array( |
|
797 | 830 | 'ACTIVATIONLINK' => $scripturl . '?action=activate;u=' . $memberID . ';code=' . $validation_code, |
798 | 831 | 'ACTIVATIONLINKWITHOUTCODE' => $scripturl . '?action=activate;u=' . $memberID, |
799 | 832 | 'ACTIVATIONCODE' => $validation_code, |
800 | 833 | ); |
801 | - else |
|
802 | - $replacements += array( |
|
834 | + } else { |
|
835 | + $replacements += array( |
|
803 | 836 | 'COPPALINK' => $scripturl . '?action=coppa;u=' . $memberID, |
804 | 837 | ); |
838 | + } |
|
805 | 839 | |
806 | 840 | $emaildata = loadEmailTemplate('register_' . ($regOptions['require'] == 'activation' ? 'activate' : 'coppa'), $replacements); |
807 | 841 | |
@@ -866,39 +900,45 @@ discard block |
||
866 | 900 | // Check each name in the list... |
867 | 901 | foreach ($reservedNames as $reserved) |
868 | 902 | { |
869 | - if ($reserved == '') |
|
870 | - continue; |
|
903 | + if ($reserved == '') { |
|
904 | + continue; |
|
905 | + } |
|
871 | 906 | |
872 | 907 | // The admin might've used entities too, level the playing field. |
873 | 908 | $reservedCheck = preg_replace('~(&#(\d{1,7}|x[0-9a-fA-F]{1,6});)~', 'replaceEntities__callback', $reserved); |
874 | 909 | |
875 | 910 | // Case sensitive name? |
876 | - if (empty($modSettings['reserveCase'])) |
|
877 | - $reservedCheck = $smcFunc['strtolower']($reservedCheck); |
|
911 | + if (empty($modSettings['reserveCase'])) { |
|
912 | + $reservedCheck = $smcFunc['strtolower']($reservedCheck); |
|
913 | + } |
|
878 | 914 | |
879 | 915 | // If it's not just entire word, check for it in there somewhere... |
880 | - if ($checkMe == $reservedCheck || ($smcFunc['strpos']($checkMe, $reservedCheck) !== false && empty($modSettings['reserveWord']))) |
|
881 | - if ($fatal) |
|
916 | + if ($checkMe == $reservedCheck || ($smcFunc['strpos']($checkMe, $reservedCheck) !== false && empty($modSettings['reserveWord']))) { |
|
917 | + if ($fatal) |
|
882 | 918 | fatal_lang_error('username_reserved', 'password', array($reserved)); |
883 | - else |
|
884 | - return true; |
|
919 | + } else { |
|
920 | + return true; |
|
921 | + } |
|
885 | 922 | } |
886 | 923 | |
887 | 924 | $censor_name = $name; |
888 | - if (censorText($censor_name) != $name) |
|
889 | - if ($fatal) |
|
925 | + if (censorText($censor_name) != $name) { |
|
926 | + if ($fatal) |
|
890 | 927 | fatal_lang_error('name_censored', 'password', array($name)); |
891 | - else |
|
892 | - return true; |
|
928 | + } else { |
|
929 | + return true; |
|
930 | + } |
|
893 | 931 | } |
894 | 932 | |
895 | 933 | // Characters we just shouldn't allow, regardless. |
896 | - foreach (array('*') as $char) |
|
897 | - if (strpos($checkName, $char) !== false) |
|
934 | + foreach (array('*') as $char) { |
|
935 | + if (strpos($checkName, $char) !== false) |
|
898 | 936 | if ($fatal) |
899 | 937 | fatal_lang_error('username_reserved', 'password', array($char)); |
900 | - else |
|
901 | - return true; |
|
938 | + } |
|
939 | + else { |
|
940 | + return true; |
|
941 | + } |
|
902 | 942 | |
903 | 943 | // Get rid of any SQL parts of the reserved name... |
904 | 944 | $checkName = strtr($name, array('_' => '\\_', '%' => '\\%')); |
@@ -980,8 +1020,9 @@ discard block |
||
980 | 1020 | 'permission' => $permission, |
981 | 1021 | ) |
982 | 1022 | ); |
983 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
984 | - $member_groups[$row['add_deny'] === '1' ? 'allowed' : 'denied'][] = $row['id_group']; |
|
1023 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
1024 | + $member_groups[$row['add_deny'] === '1' ? 'allowed' : 'denied'][] = $row['id_group']; |
|
1025 | + } |
|
985 | 1026 | $smcFunc['db_free_result']($request); |
986 | 1027 | } |
987 | 1028 | |
@@ -989,9 +1030,9 @@ discard block |
||
989 | 1030 | else |
990 | 1031 | { |
991 | 1032 | // First get the profile of the given board. |
992 | - if (isset($board_info['id']) && $board_info['id'] == $board_id) |
|
993 | - $profile_id = $board_info['profile']; |
|
994 | - elseif ($board_id !== 0) |
|
1033 | + if (isset($board_info['id']) && $board_info['id'] == $board_id) { |
|
1034 | + $profile_id = $board_info['profile']; |
|
1035 | + } elseif ($board_id !== 0) |
|
995 | 1036 | { |
996 | 1037 | $request = $smcFunc['db_query']('', ' |
997 | 1038 | SELECT id_profile |
@@ -1002,13 +1043,14 @@ discard block |
||
1002 | 1043 | 'id_board' => $board_id, |
1003 | 1044 | ) |
1004 | 1045 | ); |
1005 | - if ($smcFunc['db_num_rows']($request) == 0) |
|
1006 | - fatal_lang_error('no_board'); |
|
1046 | + if ($smcFunc['db_num_rows']($request) == 0) { |
|
1047 | + fatal_lang_error('no_board'); |
|
1048 | + } |
|
1007 | 1049 | list ($profile_id) = $smcFunc['db_fetch_row']($request); |
1008 | 1050 | $smcFunc['db_free_result']($request); |
1051 | + } else { |
|
1052 | + $profile_id = 1; |
|
1009 | 1053 | } |
1010 | - else |
|
1011 | - $profile_id = 1; |
|
1012 | 1054 | |
1013 | 1055 | $request = $smcFunc['db_query']('', ' |
1014 | 1056 | SELECT bp.id_group, bp.add_deny |
@@ -1020,8 +1062,9 @@ discard block |
||
1020 | 1062 | 'permission' => $permission, |
1021 | 1063 | ) |
1022 | 1064 | ); |
1023 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
1024 | - $member_groups[$row['add_deny'] === '1' ? 'allowed' : 'denied'][] = $row['id_group']; |
|
1065 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
1066 | + $member_groups[$row['add_deny'] === '1' ? 'allowed' : 'denied'][] = $row['id_group']; |
|
1067 | + } |
|
1025 | 1068 | $smcFunc['db_free_result']($request); |
1026 | 1069 | |
1027 | 1070 | $moderator_groups = array(); |
@@ -1030,8 +1073,7 @@ discard block |
||
1030 | 1073 | if (isset($board_info['moderator_groups'])) |
1031 | 1074 | { |
1032 | 1075 | $moderator_groups = array_keys($board_info['moderator_groups']); |
1033 | - } |
|
1034 | - elseif ($board_id !== 0) |
|
1076 | + } elseif ($board_id !== 0) |
|
1035 | 1077 | { |
1036 | 1078 | // Get the groups that can moderate this board |
1037 | 1079 | $request = $smcFunc['db_query']('', ' |
@@ -1116,8 +1158,9 @@ discard block |
||
1116 | 1158 | ) |
1117 | 1159 | ); |
1118 | 1160 | $members = array(); |
1119 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
1120 | - $members[] = $row['id_member']; |
|
1161 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
1162 | + $members[] = $row['id_member']; |
|
1163 | + } |
|
1121 | 1164 | $smcFunc['db_free_result']($request); |
1122 | 1165 | |
1123 | 1166 | return $members; |
@@ -1190,10 +1233,12 @@ discard block |
||
1190 | 1233 | } |
1191 | 1234 | |
1192 | 1235 | $query_parts = array(); |
1193 | - if (!empty($email)) |
|
1194 | - $query_parts[] = 'poster_email = {string:email_address}'; |
|
1195 | - if (!empty($membername)) |
|
1196 | - $query_parts[] = 'poster_name = {string:member_name}'; |
|
1236 | + if (!empty($email)) { |
|
1237 | + $query_parts[] = 'poster_email = {string:email_address}'; |
|
1238 | + } |
|
1239 | + if (!empty($membername)) { |
|
1240 | + $query_parts[] = 'poster_name = {string:member_name}'; |
|
1241 | + } |
|
1197 | 1242 | $query = implode(' AND ', $query_parts); |
1198 | 1243 | |
1199 | 1244 | // Finally, update the posts themselves! |
@@ -1260,12 +1305,14 @@ discard block |
||
1260 | 1305 | |
1261 | 1306 | $userReceiver = (int) !empty($_REQUEST['u']) ? $_REQUEST['u'] : 0; |
1262 | 1307 | |
1263 | - if (empty($userReceiver)) |
|
1264 | - fatal_lang_error('no_access', false); |
|
1308 | + if (empty($userReceiver)) { |
|
1309 | + fatal_lang_error('no_access', false); |
|
1310 | + } |
|
1265 | 1311 | |
1266 | 1312 | // Remove if it's already there... |
1267 | - if (in_array($userReceiver, $user_info['buddies'])) |
|
1268 | - $user_info['buddies'] = array_diff($user_info['buddies'], array($userReceiver)); |
|
1313 | + if (in_array($userReceiver, $user_info['buddies'])) { |
|
1314 | + $user_info['buddies'] = array_diff($user_info['buddies'], array($userReceiver)); |
|
1315 | + } |
|
1269 | 1316 | |
1270 | 1317 | // ...or add if it's not and if it's not you. |
1271 | 1318 | elseif ($user_info['id'] != $userReceiver) |
@@ -1340,8 +1387,9 @@ discard block |
||
1340 | 1387 | $smcFunc['db_free_result']($request); |
1341 | 1388 | |
1342 | 1389 | // If we want duplicates pass the members array off. |
1343 | - if ($get_duplicates) |
|
1344 | - populateDuplicateMembers($members); |
|
1390 | + if ($get_duplicates) { |
|
1391 | + populateDuplicateMembers($members); |
|
1392 | + } |
|
1345 | 1393 | |
1346 | 1394 | return $members; |
1347 | 1395 | } |
@@ -1358,8 +1406,9 @@ discard block |
||
1358 | 1406 | global $smcFunc, $modSettings; |
1359 | 1407 | |
1360 | 1408 | // We know how many members there are in total. |
1361 | - if (empty($where) || $where == '1=1') |
|
1362 | - $num_members = $modSettings['totalMembers']; |
|
1409 | + if (empty($where) || $where == '1=1') { |
|
1410 | + $num_members = $modSettings['totalMembers']; |
|
1411 | + } |
|
1363 | 1412 | |
1364 | 1413 | // The database knows the amount when there are extra conditions. |
1365 | 1414 | else |
@@ -1395,16 +1444,19 @@ discard block |
||
1395 | 1444 | $members[$key]['duplicate_members'] = array(); |
1396 | 1445 | |
1397 | 1446 | // Store the IPs. |
1398 | - if (!empty($member['member_ip'])) |
|
1399 | - $ips[] = $member['member_ip']; |
|
1400 | - if (!empty($member['member_ip2'])) |
|
1401 | - $ips[] = $member['member_ip2']; |
|
1447 | + if (!empty($member['member_ip'])) { |
|
1448 | + $ips[] = $member['member_ip']; |
|
1449 | + } |
|
1450 | + if (!empty($member['member_ip2'])) { |
|
1451 | + $ips[] = $member['member_ip2']; |
|
1452 | + } |
|
1402 | 1453 | } |
1403 | 1454 | |
1404 | 1455 | $ips = array_unique($ips); |
1405 | 1456 | |
1406 | - if (empty($ips)) |
|
1407 | - return false; |
|
1457 | + if (empty($ips)) { |
|
1458 | + return false; |
|
1459 | + } |
|
1408 | 1460 | |
1409 | 1461 | // Fetch all members with this IP address, we'll filter out the current ones in a sec. |
1410 | 1462 | $request = $smcFunc['db_query']('', ' |
@@ -1434,10 +1486,12 @@ discard block |
||
1434 | 1486 | 'ip2' => $row['member_ip2'], |
1435 | 1487 | ); |
1436 | 1488 | |
1437 | - if (in_array($row['member_ip'], $ips)) |
|
1438 | - $duplicate_members[$row['member_ip']][] = $member_context; |
|
1439 | - if ($row['member_ip'] != $row['member_ip2'] && in_array($row['member_ip2'], $ips)) |
|
1440 | - $duplicate_members[$row['member_ip2']][] = $member_context; |
|
1489 | + if (in_array($row['member_ip'], $ips)) { |
|
1490 | + $duplicate_members[$row['member_ip']][] = $member_context; |
|
1491 | + } |
|
1492 | + if ($row['member_ip'] != $row['member_ip2'] && in_array($row['member_ip2'], $ips)) { |
|
1493 | + $duplicate_members[$row['member_ip2']][] = $member_context; |
|
1494 | + } |
|
1441 | 1495 | } |
1442 | 1496 | $smcFunc['db_free_result']($request); |
1443 | 1497 | |
@@ -1462,8 +1516,9 @@ discard block |
||
1462 | 1516 | $row['poster_ip'] = inet_dtop($row['poster_ip']); |
1463 | 1517 | |
1464 | 1518 | // Don't collect lots of the same. |
1465 | - if (isset($had_ips[$row['poster_ip']]) && in_array($row['id_member'], $had_ips[$row['poster_ip']])) |
|
1466 | - continue; |
|
1519 | + if (isset($had_ips[$row['poster_ip']]) && in_array($row['id_member'], $had_ips[$row['poster_ip']])) { |
|
1520 | + continue; |
|
1521 | + } |
|
1467 | 1522 | $had_ips[$row['poster_ip']][] = $row['id_member']; |
1468 | 1523 | |
1469 | 1524 | $duplicate_members[$row['poster_ip']][] = array( |
@@ -1478,13 +1533,15 @@ discard block |
||
1478 | 1533 | $smcFunc['db_free_result']($request); |
1479 | 1534 | |
1480 | 1535 | // Now we have all the duplicate members, stick them with their respective member in the list. |
1481 | - if (!empty($duplicate_members)) |
|
1482 | - foreach ($members as $key => $member) |
|
1536 | + if (!empty($duplicate_members)) { |
|
1537 | + foreach ($members as $key => $member) |
|
1483 | 1538 | { |
1484 | 1539 | if (isset($duplicate_members[$member['member_ip']])) |
1485 | 1540 | $members[$key]['duplicate_members'] = $duplicate_members[$member['member_ip']]; |
1486 | - if ($member['member_ip'] != $member['member_ip2'] && isset($duplicate_members[$member['member_ip2']])) |
|
1487 | - $members[$key]['duplicate_members'] = array_merge($member['duplicate_members'], $duplicate_members[$member['member_ip2']]); |
|
1541 | + } |
|
1542 | + if ($member['member_ip'] != $member['member_ip2'] && isset($duplicate_members[$member['member_ip2']])) { |
|
1543 | + $members[$key]['duplicate_members'] = array_merge($member['duplicate_members'], $duplicate_members[$member['member_ip2']]); |
|
1544 | + } |
|
1488 | 1545 | |
1489 | 1546 | // Check we don't have lots of the same member. |
1490 | 1547 | $member_track = array($member['id_member']); |
@@ -11,8 +11,9 @@ |
||
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 | * Standard non full index, non custom index search |
@@ -14,8 +14,9 @@ discard block |
||
14 | 14 | * @version 2.1 Beta 4 |
15 | 15 | */ |
16 | 16 | |
17 | -if (!defined('SMF')) |
|
17 | +if (!defined('SMF')) { |
|
18 | 18 | die('No direct access...'); |
19 | +} |
|
19 | 20 | |
20 | 21 | /** |
21 | 22 | * Show the calendar. |
@@ -47,12 +48,14 @@ discard block |
||
47 | 48 | 'post' => 'CalendarPost', |
48 | 49 | ); |
49 | 50 | |
50 | - if (isset($_GET['sa']) && isset($subActions[$_GET['sa']])) |
|
51 | - return call_helper($subActions[$_GET['sa']]); |
|
51 | + if (isset($_GET['sa']) && isset($subActions[$_GET['sa']])) { |
|
52 | + return call_helper($subActions[$_GET['sa']]); |
|
53 | + } |
|
52 | 54 | |
53 | 55 | // You can't do anything if the calendar is off. |
54 | - if (empty($modSettings['cal_enabled'])) |
|
55 | - fatal_lang_error('calendar_off', false); |
|
56 | + if (empty($modSettings['cal_enabled'])) { |
|
57 | + fatal_lang_error('calendar_off', false); |
|
58 | + } |
|
56 | 59 | |
57 | 60 | // This is gonna be needed... |
58 | 61 | loadTemplate('Calendar'); |
@@ -88,22 +91,25 @@ discard block |
||
88 | 91 | $context['page_title'] = $txt['calendar']; |
89 | 92 | |
90 | 93 | // Ensure a default view is defined |
91 | - if (empty($modSettings['calendar_default_view'])) |
|
92 | - $modSettings['calendar_default_view'] = 'viewlist'; |
|
94 | + if (empty($modSettings['calendar_default_view'])) { |
|
95 | + $modSettings['calendar_default_view'] = 'viewlist'; |
|
96 | + } |
|
93 | 97 | |
94 | 98 | // What view do we want? |
95 | - if (isset($_GET['viewweek'])) |
|
96 | - $context['calendar_view'] = 'viewweek'; |
|
97 | - elseif (isset($_GET['viewmonth'])) |
|
98 | - $context['calendar_view'] = 'viewmonth'; |
|
99 | - elseif (isset($_GET['viewlist'])) |
|
100 | - $context['calendar_view'] = 'viewlist'; |
|
101 | - else |
|
102 | - $context['calendar_view'] = $modSettings['calendar_default_view']; |
|
99 | + if (isset($_GET['viewweek'])) { |
|
100 | + $context['calendar_view'] = 'viewweek'; |
|
101 | + } elseif (isset($_GET['viewmonth'])) { |
|
102 | + $context['calendar_view'] = 'viewmonth'; |
|
103 | + } elseif (isset($_GET['viewlist'])) { |
|
104 | + $context['calendar_view'] = 'viewlist'; |
|
105 | + } else { |
|
106 | + $context['calendar_view'] = $modSettings['calendar_default_view']; |
|
107 | + } |
|
103 | 108 | |
104 | 109 | // Don't let search engines index the non-default calendar pages |
105 | - if ($context['calendar_view'] !== $modSettings['calendar_default_view']) |
|
106 | - $context['robot_no_index'] = true; |
|
110 | + if ($context['calendar_view'] !== $modSettings['calendar_default_view']) { |
|
111 | + $context['robot_no_index'] = true; |
|
112 | + } |
|
107 | 113 | |
108 | 114 | // Get the current day of month... |
109 | 115 | require_once($sourcedir . '/Subs-Calendar.php'); |
@@ -164,16 +170,19 @@ discard block |
||
164 | 170 | ); |
165 | 171 | |
166 | 172 | // Make sure the year and month are in valid ranges. |
167 | - if ($curPage['month'] < 1 || $curPage['month'] > 12) |
|
168 | - fatal_lang_error('invalid_month', false); |
|
169 | - if ($curPage['year'] < $modSettings['cal_minyear'] || $curPage['year'] > $modSettings['cal_maxyear']) |
|
170 | - fatal_lang_error('invalid_year', false); |
|
173 | + if ($curPage['month'] < 1 || $curPage['month'] > 12) { |
|
174 | + fatal_lang_error('invalid_month', false); |
|
175 | + } |
|
176 | + if ($curPage['year'] < $modSettings['cal_minyear'] || $curPage['year'] > $modSettings['cal_maxyear']) { |
|
177 | + fatal_lang_error('invalid_year', false); |
|
178 | + } |
|
171 | 179 | // If we have a day clean that too. |
172 | 180 | if ($context['calendar_view'] != 'viewmonth') |
173 | 181 | { |
174 | 182 | $isValid = checkdate($curPage['month'], $curPage['day'], $curPage['year']); |
175 | - if (!$isValid) |
|
176 | - fatal_lang_error('invalid_day', false); |
|
183 | + if (!$isValid) { |
|
184 | + fatal_lang_error('invalid_day', false); |
|
185 | + } |
|
177 | 186 | } |
178 | 187 | |
179 | 188 | // Load all the context information needed to show the calendar grid. |
@@ -195,23 +204,26 @@ discard block |
||
195 | 204 | ); |
196 | 205 | |
197 | 206 | // Load up the main view. |
198 | - if ($context['calendar_view'] == 'viewlist') |
|
199 | - $context['calendar_grid_main'] = getCalendarList($curPage['start_date'], $curPage['end_date'], $calendarOptions); |
|
200 | - elseif ($context['calendar_view'] == 'viewweek') |
|
201 | - $context['calendar_grid_main'] = getCalendarWeek($curPage['month'], $curPage['year'], $curPage['day'], $calendarOptions); |
|
202 | - else |
|
203 | - $context['calendar_grid_main'] = getCalendarGrid($curPage['month'], $curPage['year'], $calendarOptions); |
|
207 | + if ($context['calendar_view'] == 'viewlist') { |
|
208 | + $context['calendar_grid_main'] = getCalendarList($curPage['start_date'], $curPage['end_date'], $calendarOptions); |
|
209 | + } elseif ($context['calendar_view'] == 'viewweek') { |
|
210 | + $context['calendar_grid_main'] = getCalendarWeek($curPage['month'], $curPage['year'], $curPage['day'], $calendarOptions); |
|
211 | + } else { |
|
212 | + $context['calendar_grid_main'] = getCalendarGrid($curPage['month'], $curPage['year'], $calendarOptions); |
|
213 | + } |
|
204 | 214 | |
205 | 215 | // Load up the previous and next months. |
206 | 216 | $context['calendar_grid_current'] = getCalendarGrid($curPage['month'], $curPage['year'], $calendarOptions); |
207 | 217 | |
208 | 218 | // Only show previous month if it isn't pre-January of the min-year |
209 | - if ($context['calendar_grid_current']['previous_calendar']['year'] > $modSettings['cal_minyear'] || $curPage['month'] != 1) |
|
210 | - $context['calendar_grid_prev'] = getCalendarGrid($context['calendar_grid_current']['previous_calendar']['month'], $context['calendar_grid_current']['previous_calendar']['year'], $calendarOptions, true); |
|
219 | + if ($context['calendar_grid_current']['previous_calendar']['year'] > $modSettings['cal_minyear'] || $curPage['month'] != 1) { |
|
220 | + $context['calendar_grid_prev'] = getCalendarGrid($context['calendar_grid_current']['previous_calendar']['month'], $context['calendar_grid_current']['previous_calendar']['year'], $calendarOptions, true); |
|
221 | + } |
|
211 | 222 | |
212 | 223 | // Only show next month if it isn't post-December of the max-year |
213 | - if ($context['calendar_grid_current']['next_calendar']['year'] < $modSettings['cal_maxyear'] || $curPage['month'] != 12) |
|
214 | - $context['calendar_grid_next'] = getCalendarGrid($context['calendar_grid_current']['next_calendar']['month'], $context['calendar_grid_current']['next_calendar']['year'], $calendarOptions); |
|
224 | + if ($context['calendar_grid_current']['next_calendar']['year'] < $modSettings['cal_maxyear'] || $curPage['month'] != 12) { |
|
225 | + $context['calendar_grid_next'] = getCalendarGrid($context['calendar_grid_current']['next_calendar']['month'], $context['calendar_grid_current']['next_calendar']['year'], $calendarOptions); |
|
226 | + } |
|
215 | 227 | |
216 | 228 | // Basic template stuff. |
217 | 229 | $context['allow_calendar_event'] = allowedTo('calendar_post'); |
@@ -231,8 +243,9 @@ discard block |
||
231 | 243 | $context['blocks_disabled'] = !empty($modSettings['cal_disable_prev_next']) ? 1 : 0; |
232 | 244 | |
233 | 245 | // Set the page title to mention the month or week, too |
234 | - if ($context['calendar_view'] != 'viewlist') |
|
235 | - $context['page_title'] .= ' - ' . ($context['calendar_view'] == 'viewweek' ? $context['calendar_grid_main']['week_title'] : $txt['months'][$context['current_month']] . ' ' . $context['current_year']); |
|
246 | + if ($context['calendar_view'] != 'viewlist') { |
|
247 | + $context['page_title'] .= ' - ' . ($context['calendar_view'] == 'viewweek' ? $context['calendar_grid_main']['week_title'] : $txt['months'][$context['current_month']] . ' ' . $context['current_year']); |
|
248 | + } |
|
236 | 249 | |
237 | 250 | // Load up the linktree! |
238 | 251 | $context['linktree'][] = array( |
@@ -245,17 +258,19 @@ discard block |
||
245 | 258 | 'name' => $txt['months'][$context['current_month']] . ' ' . $context['current_year'] |
246 | 259 | ); |
247 | 260 | // If applicable, add the current week to the linktree. |
248 | - if ($context['calendar_view'] == 'viewweek') |
|
249 | - $context['linktree'][] = array( |
|
261 | + if ($context['calendar_view'] == 'viewweek') { |
|
262 | + $context['linktree'][] = array( |
|
250 | 263 | 'url' => $scripturl . '?action=calendar;viewweek;year=' . $context['current_year'] . ';month=' . $context['current_month'] . ';day=' . $context['current_day'], |
251 | 264 | 'name' => $context['calendar_grid_main']['week_title'], |
252 | 265 | ); |
266 | + } |
|
253 | 267 | |
254 | 268 | // Build the calendar button array. |
255 | 269 | $context['calendar_buttons'] = array(); |
256 | 270 | |
257 | - if ($context['can_post']) |
|
258 | - $context['calendar_buttons']['post_event'] = array('text' => 'calendar_post_event', 'image' => 'calendarpe.png', 'url' => $scripturl . '?action=calendar;sa=post;month=' . $context['current_month'] . ';year=' . $context['current_year'] . ';' . $context['session_var'] . '=' . $context['session_id']); |
|
271 | + if ($context['can_post']) { |
|
272 | + $context['calendar_buttons']['post_event'] = array('text' => 'calendar_post_event', 'image' => 'calendarpe.png', 'url' => $scripturl . '?action=calendar;sa=post;month=' . $context['current_month'] . ';year=' . $context['current_year'] . ';' . $context['session_var'] . '=' . $context['session_id']); |
|
273 | + } |
|
259 | 274 | |
260 | 275 | // Allow mods to add additional buttons here |
261 | 276 | call_integration_hook('integrate_calendar_buttons'); |
@@ -284,14 +299,16 @@ discard block |
||
284 | 299 | require_once($sourcedir . '/Subs.php'); |
285 | 300 | |
286 | 301 | // Cast this for safety... |
287 | - if (isset($_REQUEST['eventid'])) |
|
288 | - $_REQUEST['eventid'] = (int) $_REQUEST['eventid']; |
|
302 | + if (isset($_REQUEST['eventid'])) { |
|
303 | + $_REQUEST['eventid'] = (int) $_REQUEST['eventid']; |
|
304 | + } |
|
289 | 305 | |
290 | 306 | // We want a fairly compact version of the time, but as close as possible to the user's settings. |
291 | - if (preg_match('~%[HkIlMpPrRSTX](?:[^%]*%[HkIlMpPrRSTX])*~', $user_info['time_format'], $matches) == 0 || empty($matches[0])) |
|
292 | - $time_string = '%k:%M'; |
|
293 | - else |
|
294 | - $time_string = str_replace(array('%I', '%H', '%S', '%r', '%R', '%T'), array('%l', '%k', '', '%l:%M %p', '%k:%M', '%l:%M'), $matches[0]); |
|
307 | + if (preg_match('~%[HkIlMpPrRSTX](?:[^%]*%[HkIlMpPrRSTX])*~', $user_info['time_format'], $matches) == 0 || empty($matches[0])) { |
|
308 | + $time_string = '%k:%M'; |
|
309 | + } else { |
|
310 | + $time_string = str_replace(array('%I', '%H', '%S', '%r', '%R', '%T'), array('%l', '%k', '', '%l:%M %p', '%k:%M', '%l:%M'), $matches[0]); |
|
311 | + } |
|
295 | 312 | |
296 | 313 | $js_time_string = str_replace( |
297 | 314 | array('%H', '%k', '%I', '%l', '%M', '%p', '%P', '%r', '%R', '%S', '%T', '%X'), |
@@ -305,12 +322,14 @@ discard block |
||
305 | 322 | checkSession(); |
306 | 323 | |
307 | 324 | // Validate the post... |
308 | - if (!isset($_POST['link_to_board'])) |
|
309 | - validateEventPost(); |
|
325 | + if (!isset($_POST['link_to_board'])) { |
|
326 | + validateEventPost(); |
|
327 | + } |
|
310 | 328 | |
311 | 329 | // If you're not allowed to edit any events, you have to be the poster. |
312 | - if ($_REQUEST['eventid'] > 0 && !allowedTo('calendar_edit_any')) |
|
313 | - isAllowedTo('calendar_edit_' . (!empty($user_info['id']) && getEventPoster($_REQUEST['eventid']) == $user_info['id'] ? 'own' : 'any')); |
|
330 | + if ($_REQUEST['eventid'] > 0 && !allowedTo('calendar_edit_any')) { |
|
331 | + isAllowedTo('calendar_edit_' . (!empty($user_info['id']) && getEventPoster($_REQUEST['eventid']) == $user_info['id'] ? 'own' : 'any')); |
|
332 | + } |
|
314 | 333 | |
315 | 334 | // New - and directing? |
316 | 335 | if (isset($_POST['link_to_board']) || empty($modSettings['cal_allow_unlinked'])) |
@@ -333,8 +352,9 @@ discard block |
||
333 | 352 | } |
334 | 353 | |
335 | 354 | // Deleting... |
336 | - elseif (isset($_REQUEST['deleteevent'])) |
|
337 | - removeEvent($_REQUEST['eventid']); |
|
355 | + elseif (isset($_REQUEST['deleteevent'])) { |
|
356 | + removeEvent($_REQUEST['eventid']); |
|
357 | + } |
|
338 | 358 | |
339 | 359 | // ... or just update it? |
340 | 360 | else |
@@ -357,15 +377,13 @@ discard block |
||
357 | 377 | $year = $d['year']; |
358 | 378 | $month = $d['month']; |
359 | 379 | $day = $d['day']; |
360 | - } |
|
361 | - elseif (isset($_POST['start_datetime'])) |
|
380 | + } elseif (isset($_POST['start_datetime'])) |
|
362 | 381 | { |
363 | 382 | $d = date_parse($_POST['start_datetime']); |
364 | 383 | $year = $d['year']; |
365 | 384 | $month = $d['month']; |
366 | 385 | $day = $d['day']; |
367 | - } |
|
368 | - else |
|
386 | + } else |
|
369 | 387 | { |
370 | 388 | $today = getdate(); |
371 | 389 | $year = isset($_POST['year']) ? $_POST['year'] : $today['year']; |
@@ -399,13 +417,13 @@ discard block |
||
399 | 417 | $context['event'] = array_merge($context['event'], $eventDatetimes); |
400 | 418 | |
401 | 419 | $context['event']['last_day'] = (int) strftime('%d', mktime(0, 0, 0, $context['event']['month'] == 12 ? 1 : $context['event']['month'] + 1, 0, $context['event']['month'] == 12 ? $context['event']['year'] + 1 : $context['event']['year'])); |
402 | - } |
|
403 | - else |
|
420 | + } else |
|
404 | 421 | { |
405 | 422 | $context['event'] = getEventProperties($_REQUEST['eventid']); |
406 | 423 | |
407 | - if ($context['event'] === false) |
|
408 | - fatal_lang_error('no_access', false); |
|
424 | + if ($context['event'] === false) { |
|
425 | + fatal_lang_error('no_access', false); |
|
426 | + } |
|
409 | 427 | |
410 | 428 | // If it has a board, then they should be editing it within the topic. |
411 | 429 | if (!empty($context['event']['topic']['id']) && !empty($context['event']['topic']['first_msg'])) |
@@ -416,10 +434,11 @@ discard block |
||
416 | 434 | } |
417 | 435 | |
418 | 436 | // Make sure the user is allowed to edit this event. |
419 | - if ($context['event']['member'] != $user_info['id']) |
|
420 | - isAllowedTo('calendar_edit_any'); |
|
421 | - elseif (!allowedTo('calendar_edit_any')) |
|
422 | - isAllowedTo('calendar_edit_own'); |
|
437 | + if ($context['event']['member'] != $user_info['id']) { |
|
438 | + isAllowedTo('calendar_edit_any'); |
|
439 | + } elseif (!allowedTo('calendar_edit_any')) { |
|
440 | + isAllowedTo('calendar_edit_own'); |
|
441 | + } |
|
423 | 442 | } |
424 | 443 | |
425 | 444 | // An all day event? Set up some nice defaults in case the user wants to change that |
@@ -453,8 +472,7 @@ discard block |
||
453 | 472 | { |
454 | 473 | // You can post new events but can't link them to anything... |
455 | 474 | $context['event']['categories'] = array(); |
456 | - } |
|
457 | - else |
|
475 | + } else |
|
458 | 476 | { |
459 | 477 | // Load the list of boards and categories in the context. |
460 | 478 | require_once($sourcedir . '/Subs-MessageIndex.php'); |
@@ -541,12 +559,14 @@ discard block |
||
541 | 559 | global $smcFunc, $sourcedir, $forum_version, $modSettings, $webmaster_email, $mbname; |
542 | 560 | |
543 | 561 | // You can't export if the calendar export feature is off. |
544 | - if (empty($modSettings['cal_export'])) |
|
545 | - fatal_lang_error('calendar_export_off', false); |
|
562 | + if (empty($modSettings['cal_export'])) { |
|
563 | + fatal_lang_error('calendar_export_off', false); |
|
564 | + } |
|
546 | 565 | |
547 | 566 | // Goes without saying that this is required. |
548 | - if (!isset($_REQUEST['eventid'])) |
|
549 | - fatal_lang_error('no_access', false); |
|
567 | + if (!isset($_REQUEST['eventid'])) { |
|
568 | + fatal_lang_error('no_access', false); |
|
569 | + } |
|
550 | 570 | |
551 | 571 | // This is kinda wanted. |
552 | 572 | require_once($sourcedir . '/Subs-Calendar.php'); |
@@ -554,15 +574,17 @@ discard block |
||
554 | 574 | // Load up the event in question and check it exists. |
555 | 575 | $event = getEventProperties($_REQUEST['eventid']); |
556 | 576 | |
557 | - if ($event === false) |
|
558 | - fatal_lang_error('no_access', false); |
|
577 | + if ($event === false) { |
|
578 | + fatal_lang_error('no_access', false); |
|
579 | + } |
|
559 | 580 | |
560 | 581 | // Check the title isn't too long - iCal requires some formatting if so. |
561 | 582 | $title = str_split($event['title'], 30); |
562 | 583 | foreach ($title as $id => $line) |
563 | 584 | { |
564 | - if ($id != 0) |
|
565 | - $title[$id] = ' ' . $title[$id]; |
|
585 | + if ($id != 0) { |
|
586 | + $title[$id] = ' ' . $title[$id]; |
|
587 | + } |
|
566 | 588 | $title[$id] .= "\n"; |
567 | 589 | } |
568 | 590 | |
@@ -575,8 +597,7 @@ discard block |
||
575 | 597 | { |
576 | 598 | $datestart = date_format($start_date, 'Ymd\THis'); |
577 | 599 | $dateend = date_format($end_date, 'Ymd\THis'); |
578 | - } |
|
579 | - else |
|
600 | + } else |
|
580 | 601 | { |
581 | 602 | $datestart = date_format($start_date, 'Ymd'); |
582 | 603 | |
@@ -597,15 +618,18 @@ discard block |
||
597 | 618 | $filecontents .= 'DTSTART' . (!empty($event['start_time']) ? ';TZID=' . $event['tz'] : ';VALUE=DATE') . ':' . $datestart . "\n"; |
598 | 619 | |
599 | 620 | // event has a duration |
600 | - if ($event['start_iso_gmdate'] != $event['end_iso_gmdate']) |
|
601 | - $filecontents .= 'DTEND' . (!empty($event['end_time']) ? ';TZID=' . $event['tz'] : ';VALUE=DATE') . ':' . $dateend . "\n"; |
|
621 | + if ($event['start_iso_gmdate'] != $event['end_iso_gmdate']) { |
|
622 | + $filecontents .= 'DTEND' . (!empty($event['end_time']) ? ';TZID=' . $event['tz'] : ';VALUE=DATE') . ':' . $dateend . "\n"; |
|
623 | + } |
|
602 | 624 | |
603 | 625 | // event has changed? advance the sequence for this UID |
604 | - if ($event['sequence'] > 0) |
|
605 | - $filecontents .= 'SEQUENCE:' . $event['sequence'] . "\n"; |
|
626 | + if ($event['sequence'] > 0) { |
|
627 | + $filecontents .= 'SEQUENCE:' . $event['sequence'] . "\n"; |
|
628 | + } |
|
606 | 629 | |
607 | - if (!empty($event['location'])) |
|
608 | - $filecontents .= 'LOCATION:' . str_replace(',', '\,', $event['location']) . "\n"; |
|
630 | + if (!empty($event['location'])) { |
|
631 | + $filecontents .= 'LOCATION:' . str_replace(',', '\,', $event['location']) . "\n"; |
|
632 | + } |
|
609 | 633 | |
610 | 634 | $filecontents .= 'SUMMARY:' . implode('', $title); |
611 | 635 | $filecontents .= 'UID:' . $event['eventid'] . '@' . str_replace(' ', '-', $mbname) . "\n"; |
@@ -614,23 +638,26 @@ discard block |
||
614 | 638 | |
615 | 639 | // Send some standard headers. |
616 | 640 | ob_end_clean(); |
617 | - if (!empty($modSettings['enableCompressedOutput'])) |
|
618 | - @ob_start('ob_gzhandler'); |
|
619 | - else |
|
620 | - ob_start(); |
|
641 | + if (!empty($modSettings['enableCompressedOutput'])) { |
|
642 | + @ob_start('ob_gzhandler'); |
|
643 | + } else { |
|
644 | + ob_start(); |
|
645 | + } |
|
621 | 646 | |
622 | 647 | // Send the file headers |
623 | 648 | header('Pragma: '); |
624 | 649 | header('Cache-Control: no-cache'); |
625 | - if (!isBrowser('gecko')) |
|
626 | - header('Content-Transfer-Encoding: binary'); |
|
650 | + if (!isBrowser('gecko')) { |
|
651 | + header('Content-Transfer-Encoding: binary'); |
|
652 | + } |
|
627 | 653 | header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 525600 * 60) . ' GMT'); |
628 | 654 | header('Last-Modified: ' . gmdate('D, d M Y H:i:s', time()) . 'GMT'); |
629 | 655 | header('Accept-Ranges: bytes'); |
630 | 656 | header('Connection: close'); |
631 | 657 | header('Content-Disposition: attachment; filename="' . $event['title'] . '.ics"'); |
632 | - if (empty($modSettings['enableCompressedOutput'])) |
|
633 | - header('Content-Length: ' . $smcFunc['strlen']($filecontents)); |
|
658 | + if (empty($modSettings['enableCompressedOutput'])) { |
|
659 | + header('Content-Length: ' . $smcFunc['strlen']($filecontents)); |
|
660 | + } |
|
634 | 661 | |
635 | 662 | // This is a calendar item! |
636 | 663 | header('Content-Type: text/calendar'); |
@@ -669,20 +696,17 @@ discard block |
||
669 | 696 | $context['sub_template'] = 'bcd'; |
670 | 697 | $context['linktree'][] = array('url' => $scripturl . '?action=clock;bcd', 'name' => 'BCD'); |
671 | 698 | $context['clockicons'] = safe_unserialize(base64_decode('YTo2OntzOjI6ImgxIjthOjI6e2k6MDtpOjI7aToxO2k6MTt9czoyOiJoMiI7YTo0OntpOjA7aTo4O2k6MTtpOjQ7aToyO2k6MjtpOjM7aToxO31zOjI6Im0xIjthOjM6e2k6MDtpOjQ7aToxO2k6MjtpOjI7aToxO31zOjI6Im0yIjthOjQ6e2k6MDtpOjg7aToxO2k6NDtpOjI7aToyO2k6MztpOjE7fXM6MjoiczEiO2E6Mzp7aTowO2k6NDtpOjE7aToyO2k6MjtpOjE7fXM6MjoiczIiO2E6NDp7aTowO2k6ODtpOjE7aTo0O2k6MjtpOjI7aTozO2k6MTt9fQ==')); |
672 | - } |
|
673 | - elseif (!$omfg && !isset($_REQUEST['time'])) |
|
699 | + } elseif (!$omfg && !isset($_REQUEST['time'])) |
|
674 | 700 | { |
675 | 701 | $context['sub_template'] = 'hms'; |
676 | 702 | $context['linktree'][] = array('url' => $scripturl . '?action=clock', 'name' => 'Binary'); |
677 | 703 | $context['clockicons'] = safe_unserialize(base64_decode('YTozOntzOjE6ImgiO2E6NTp7aTowO2k6MTY7aToxO2k6ODtpOjI7aTo0O2k6MztpOjI7aTo0O2k6MTt9czoxOiJtIjthOjY6e2k6MDtpOjMyO2k6MTtpOjE2O2k6MjtpOjg7aTozO2k6NDtpOjQ7aToyO2k6NTtpOjE7fXM6MToicyI7YTo2OntpOjA7aTozMjtpOjE7aToxNjtpOjI7aTo4O2k6MztpOjQ7aTo0O2k6MjtpOjU7aToxO319')); |
678 | - } |
|
679 | - elseif ($omfg) |
|
704 | + } elseif ($omfg) |
|
680 | 705 | { |
681 | 706 | $context['sub_template'] = 'omfg'; |
682 | 707 | $context['linktree'][] = array('url' => $scripturl . '?action=clock;omfg', 'name' => 'OMFG'); |
683 | 708 | $context['clockicons'] = safe_unserialize(base64_decode('YTo2OntzOjQ6InllYXIiO2E6Nzp7aTowO2k6NjQ7aToxO2k6MzI7aToyO2k6MTY7aTozO2k6ODtpOjQ7aTo0O2k6NTtpOjI7aTo2O2k6MTt9czo1OiJtb250aCI7YTo0OntpOjA7aTo4O2k6MTtpOjQ7aToyO2k6MjtpOjM7aToxO31zOjM6ImRheSI7YTo1OntpOjA7aToxNjtpOjE7aTo4O2k6MjtpOjQ7aTozO2k6MjtpOjQ7aToxO31zOjQ6ImhvdXIiO2E6NTp7aTowO2k6MTY7aToxO2k6ODtpOjI7aTo0O2k6MztpOjI7aTo0O2k6MTt9czozOiJtaW4iO2E6Njp7aTowO2k6MzI7aToxO2k6MTY7aToyO2k6ODtpOjM7aTo0O2k6NDtpOjI7aTo1O2k6MTt9czozOiJzZWMiO2E6Njp7aTowO2k6MzI7aToxO2k6MTY7aToyO2k6ODtpOjM7aTo0O2k6NDtpOjI7aTo1O2k6MTt9fQ==')); |
684 | - } |
|
685 | - elseif (isset($_REQUEST['time'])) |
|
709 | + } elseif (isset($_REQUEST['time'])) |
|
686 | 710 | { |
687 | 711 | $context['sub_template'] = 'thetime'; |
688 | 712 | $time = getdate($_REQUEST['time'] == 'now' ? time() : (int) $_REQUEST['time']); |
@@ -736,12 +760,13 @@ discard block |
||
736 | 760 | ), |
737 | 761 | ); |
738 | 762 | |
739 | - foreach ($context['clockicons'] as $t => $vs) |
|
740 | - foreach ($vs as $v => $dumb) |
|
763 | + foreach ($context['clockicons'] as $t => $vs) { |
|
764 | + foreach ($vs as $v => $dumb) |
|
741 | 765 | { |
742 | 766 | if ($$t >= $v) |
743 | 767 | { |
744 | 768 | $$t -= $v; |
769 | + } |
|
745 | 770 | $context['clockicons'][$t][$v] = true; |
746 | 771 | } |
747 | 772 | } |