@@ -239,7 +239,7 @@ |
||
239 | 239 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
240 | 240 | $fts_language[$row['cfgname']] = $row['cfgname']; |
241 | 241 | |
242 | - $config_vars = array_merge ($config_vars, array( |
|
242 | + $config_vars = array_merge($config_vars, array( |
|
243 | 243 | '', |
244 | 244 | array('search_language', $txt['search_language'], 'db', 'select', $fts_language, 'pgFulltextSearch') |
245 | 245 | ) |
@@ -59,8 +59,9 @@ discard block |
||
59 | 59 | * @version 2.1 Beta 4 |
60 | 60 | */ |
61 | 61 | |
62 | -if (!defined('SMF')) |
|
62 | +if (!defined('SMF')) { |
|
63 | 63 | die('No direct access...'); |
64 | +} |
|
64 | 65 | |
65 | 66 | /** |
66 | 67 | * This is the main dispatcher. Sets up all the available sub-actions, all the tabs and selects |
@@ -111,10 +112,11 @@ discard block |
||
111 | 112 | $settings_not_writable = !is_writable($boarddir . '/Settings.php'); |
112 | 113 | $settings_backup_fail = !@is_writable($boarddir . '/Settings_bak.php') || !@copy($boarddir . '/Settings.php', $boarddir . '/Settings_bak.php'); |
113 | 114 | |
114 | - if ($settings_not_writable) |
|
115 | - $context['settings_message'] = '<div class="centertext"><strong>' . $txt['settings_not_writable'] . '</strong></div><br>'; |
|
116 | - elseif ($settings_backup_fail) |
|
117 | - $context['settings_message'] = '<div class="centertext"><strong>' . $txt['admin_backup_fail'] . '</strong></div><br>'; |
|
115 | + if ($settings_not_writable) { |
|
116 | + $context['settings_message'] = '<div class="centertext"><strong>' . $txt['settings_not_writable'] . '</strong></div><br>'; |
|
117 | + } elseif ($settings_backup_fail) { |
|
118 | + $context['settings_message'] = '<div class="centertext"><strong>' . $txt['admin_backup_fail'] . '</strong></div><br>'; |
|
119 | + } |
|
118 | 120 | |
119 | 121 | $context['settings_not_writable'] = $settings_not_writable; |
120 | 122 | |
@@ -142,10 +144,11 @@ discard block |
||
142 | 144 | |
143 | 145 | // If no cert, force_ssl must remain 0 |
144 | 146 | require_once($sourcedir . '/Subs.php'); |
145 | - if (!ssl_cert_found($boardurl) && empty($modSettings['force_ssl'])) |
|
146 | - $disable_force_ssl = true; |
|
147 | - else |
|
148 | - $disable_force_ssl = false; |
|
147 | + if (!ssl_cert_found($boardurl) && empty($modSettings['force_ssl'])) { |
|
148 | + $disable_force_ssl = true; |
|
149 | + } else { |
|
150 | + $disable_force_ssl = false; |
|
151 | + } |
|
149 | 152 | |
150 | 153 | /* If you're writing a mod, it's a bad idea to add things here.... |
151 | 154 | For each option: |
@@ -175,8 +178,9 @@ discard block |
||
175 | 178 | |
176 | 179 | call_integration_hook('integrate_general_settings', array(&$config_vars)); |
177 | 180 | |
178 | - if ($return_config) |
|
179 | - return $config_vars; |
|
181 | + if ($return_config) { |
|
182 | + return $config_vars; |
|
183 | + } |
|
180 | 184 | |
181 | 185 | // Setup the template stuff. |
182 | 186 | $context['post_url'] = $scripturl . '?action=admin;area=serversettings;sa=general;save'; |
@@ -193,16 +197,18 @@ discard block |
||
193 | 197 | $registerSMStats = registerSMStats(); |
194 | 198 | |
195 | 199 | // Failed to register, disable it again. |
196 | - if (empty($registerSMStats)) |
|
197 | - $_POST['enable_sm_stats'] = 0; |
|
200 | + if (empty($registerSMStats)) { |
|
201 | + $_POST['enable_sm_stats'] = 0; |
|
202 | + } |
|
198 | 203 | } |
199 | 204 | |
200 | 205 | // Ensure all URLs are aligned with the new force_ssl setting |
201 | 206 | // Treat unset like 0 |
202 | - if (isset($_POST['force_ssl'])) |
|
203 | - AlignURLsWithSSLSetting($_POST['force_ssl']); |
|
204 | - else |
|
205 | - AlignURLsWithSSLSetting(0); |
|
207 | + if (isset($_POST['force_ssl'])) { |
|
208 | + AlignURLsWithSSLSetting($_POST['force_ssl']); |
|
209 | + } else { |
|
210 | + AlignURLsWithSSLSetting(0); |
|
211 | + } |
|
206 | 212 | |
207 | 213 | saveSettings($config_vars); |
208 | 214 | $_SESSION['adm-save'] = true; |
@@ -255,10 +261,11 @@ discard block |
||
255 | 261 | require_once($sourcedir . '/Subs-Admin.php'); |
256 | 262 | |
257 | 263 | // Check $boardurl |
258 | - if ($new_force_ssl == 2) |
|
259 | - $newval = strtr($boardurl, array('http://' => 'https://')); |
|
260 | - else |
|
261 | - $newval = strtr($boardurl, array('https://' => 'http://')); |
|
264 | + if ($new_force_ssl == 2) { |
|
265 | + $newval = strtr($boardurl, array('http://' => 'https://')); |
|
266 | + } else { |
|
267 | + $newval = strtr($boardurl, array('https://' => 'http://')); |
|
268 | + } |
|
262 | 269 | updateSettingsFile(array('boardurl' => '\'' . addslashes($newval) . '\'')); |
263 | 270 | |
264 | 271 | $new_settings = array(); |
@@ -266,20 +273,22 @@ discard block |
||
266 | 273 | // Check $smileys_url, but only if it points to a subfolder of $boardurl |
267 | 274 | if (BoardurlMatch($modSettings['smileys_url'])) |
268 | 275 | { |
269 | - if ($new_force_ssl == 2) |
|
270 | - $newval = strtr($modSettings['smileys_url'], array('http://' => 'https://')); |
|
271 | - else |
|
272 | - $newval = strtr($modSettings['smileys_url'], array('https://' => 'http://')); |
|
276 | + if ($new_force_ssl == 2) { |
|
277 | + $newval = strtr($modSettings['smileys_url'], array('http://' => 'https://')); |
|
278 | + } else { |
|
279 | + $newval = strtr($modSettings['smileys_url'], array('https://' => 'http://')); |
|
280 | + } |
|
273 | 281 | $new_settings['smileys_url'] = $newval; |
274 | 282 | } |
275 | 283 | |
276 | 284 | // Check $avatar_url, but only if it points to a subfolder of $boardurl |
277 | 285 | if (BoardurlMatch($modSettings['avatar_url'])) |
278 | 286 | { |
279 | - if ($new_force_ssl == 2) |
|
280 | - $newval = strtr($modSettings['avatar_url'], array('http://' => 'https://')); |
|
281 | - else |
|
282 | - $newval = strtr($modSettings['avatar_url'], array('https://' => 'http://')); |
|
287 | + if ($new_force_ssl == 2) { |
|
288 | + $newval = strtr($modSettings['avatar_url'], array('http://' => 'https://')); |
|
289 | + } else { |
|
290 | + $newval = strtr($modSettings['avatar_url'], array('https://' => 'http://')); |
|
291 | + } |
|
283 | 292 | $new_settings['avatar_url'] = $newval; |
284 | 293 | } |
285 | 294 | |
@@ -287,16 +296,18 @@ discard block |
||
287 | 296 | // This one had been optional in the past, make sure it is set first |
288 | 297 | if (isset($modSettings['custom_avatar_url']) && BoardurlMatch($modSettings['custom_avatar_url'])) |
289 | 298 | { |
290 | - if ($new_force_ssl == 2) |
|
291 | - $newval = strtr($modSettings['custom_avatar_url'], array('http://' => 'https://')); |
|
292 | - else |
|
293 | - $newval = strtr($modSettings['custom_avatar_url'], array('https://' => 'http://')); |
|
299 | + if ($new_force_ssl == 2) { |
|
300 | + $newval = strtr($modSettings['custom_avatar_url'], array('http://' => 'https://')); |
|
301 | + } else { |
|
302 | + $newval = strtr($modSettings['custom_avatar_url'], array('https://' => 'http://')); |
|
303 | + } |
|
294 | 304 | $new_settings['custom_avatar_url'] = $newval; |
295 | 305 | } |
296 | 306 | |
297 | 307 | // Save updates to the settings table |
298 | - if (!empty($new_settings)) |
|
299 | - updateSettings($new_settings, true); |
|
308 | + if (!empty($new_settings)) { |
|
309 | + updateSettings($new_settings, true); |
|
310 | + } |
|
300 | 311 | |
301 | 312 | // Now we move onto the themes. |
302 | 313 | // First, get a list of theme URLs... |
@@ -317,10 +328,11 @@ discard block |
||
317 | 328 | // First check to see if it points to a subfolder of $boardurl |
318 | 329 | if (BoardurlMatch($row['value'])) |
319 | 330 | { |
320 | - if ($new_force_ssl == 2) |
|
321 | - $newval = strtr($row['value'], array('http://' => 'https://')); |
|
322 | - else |
|
323 | - $newval = strtr($row['value'], array('https://' => 'http://')); |
|
331 | + if ($new_force_ssl == 2) { |
|
332 | + $newval = strtr($row['value'], array('http://' => 'https://')); |
|
333 | + } else { |
|
334 | + $newval = strtr($row['value'], array('https://' => 'http://')); |
|
335 | + } |
|
324 | 336 | $smcFunc['db_query']('', ' |
325 | 337 | UPDATE {db_prefix}themes |
326 | 338 | SET value = {string:theme_val} |
@@ -360,11 +372,12 @@ discard block |
||
360 | 372 | |
361 | 373 | // If leftmost portion of path matches boardurl, return true |
362 | 374 | $result = strpos($urlpath, $boardurlpath); |
363 | - if ($result === false || $result != 0) |
|
364 | - return false; |
|
365 | - else |
|
366 | - return true; |
|
367 | -} |
|
375 | + if ($result === false || $result != 0) { |
|
376 | + return false; |
|
377 | + } else { |
|
378 | + return true; |
|
379 | + } |
|
380 | + } |
|
368 | 381 | |
369 | 382 | /** |
370 | 383 | * Basic database and paths settings - database name, host, etc. |
@@ -402,8 +415,9 @@ discard block |
||
402 | 415 | $request = $smcFunc['db_query']('', 'SELECT cfgname FROM pg_ts_config', array()); |
403 | 416 | $fts_language = array(); |
404 | 417 | |
405 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
406 | - $fts_language[$row['cfgname']] = $row['cfgname']; |
|
418 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
419 | + $fts_language[$row['cfgname']] = $row['cfgname']; |
|
420 | + } |
|
407 | 421 | |
408 | 422 | $config_vars = array_merge ($config_vars, array( |
409 | 423 | '', |
@@ -415,8 +429,9 @@ discard block |
||
415 | 429 | |
416 | 430 | call_integration_hook('integrate_database_settings', array(&$config_vars)); |
417 | 431 | |
418 | - if ($return_config) |
|
419 | - return $config_vars; |
|
432 | + if ($return_config) { |
|
433 | + return $config_vars; |
|
434 | + } |
|
420 | 435 | |
421 | 436 | // Setup the template stuff. |
422 | 437 | $context['post_url'] = $scripturl . '?action=admin;area=serversettings;sa=database;save'; |
@@ -491,13 +506,15 @@ discard block |
||
491 | 506 | hideGlobalCookies(); |
492 | 507 | });', true); |
493 | 508 | |
494 | - if (empty($user_settings['tfa_secret'])) |
|
495 | - addInlineJavaScript(''); |
|
509 | + if (empty($user_settings['tfa_secret'])) { |
|
510 | + addInlineJavaScript(''); |
|
511 | + } |
|
496 | 512 | |
497 | 513 | call_integration_hook('integrate_cookie_settings', array(&$config_vars)); |
498 | 514 | |
499 | - if ($return_config) |
|
500 | - return $config_vars; |
|
515 | + if ($return_config) { |
|
516 | + return $config_vars; |
|
517 | + } |
|
501 | 518 | |
502 | 519 | $context['post_url'] = $scripturl . '?action=admin;area=serversettings;sa=cookie;save'; |
503 | 520 | $context['settings_title'] = $txt['cookies_sessions_settings']; |
@@ -508,11 +525,13 @@ discard block |
||
508 | 525 | call_integration_hook('integrate_save_cookie_settings'); |
509 | 526 | |
510 | 527 | // Local and global do not play nicely together. |
511 | - if (!empty($_POST['localCookies']) && empty($_POST['globalCookies'])) |
|
512 | - unset ($_POST['globalCookies']); |
|
528 | + if (!empty($_POST['localCookies']) && empty($_POST['globalCookies'])) { |
|
529 | + unset ($_POST['globalCookies']); |
|
530 | + } |
|
513 | 531 | |
514 | - if (!empty($_POST['globalCookiesDomain']) && strpos($boardurl, $_POST['globalCookiesDomain']) === false) |
|
515 | - fatal_lang_error('invalid_cookie_domain', false); |
|
532 | + if (!empty($_POST['globalCookiesDomain']) && strpos($boardurl, $_POST['globalCookiesDomain']) === false) { |
|
533 | + fatal_lang_error('invalid_cookie_domain', false); |
|
534 | + } |
|
516 | 535 | |
517 | 536 | saveSettings($config_vars); |
518 | 537 | |
@@ -595,8 +614,9 @@ discard block |
||
595 | 614 | |
596 | 615 | call_integration_hook('integrate_general_security_settings', array(&$config_vars)); |
597 | 616 | |
598 | - if ($return_config) |
|
599 | - return $config_vars; |
|
617 | + if ($return_config) { |
|
618 | + return $config_vars; |
|
619 | + } |
|
600 | 620 | |
601 | 621 | // Saving? |
602 | 622 | if (isset($_GET['save'])) |
@@ -635,8 +655,7 @@ discard block |
||
635 | 655 | $txt['cache_settings_message'] = $txt['detected_no_caching']; |
636 | 656 | $cache_level = array($txt['cache_off']); |
637 | 657 | $detected['none'] = $txt['cache_off']; |
638 | - } |
|
639 | - else |
|
658 | + } else |
|
640 | 659 | { |
641 | 660 | $txt['cache_settings_message'] = sprintf($txt['detected_accelerators'], implode(', ', $detected)); |
642 | 661 | $cache_level = array($txt['cache_off'], $txt['cache_level1'], $txt['cache_level2'], $txt['cache_level3']); |
@@ -673,8 +692,9 @@ discard block |
||
673 | 692 | } |
674 | 693 | } |
675 | 694 | } |
676 | - if ($return_config) |
|
677 | - return $config_vars; |
|
695 | + if ($return_config) { |
|
696 | + return $config_vars; |
|
697 | + } |
|
678 | 698 | |
679 | 699 | // Saving again? |
680 | 700 | if (isset($_GET['save'])) |
@@ -702,8 +722,9 @@ discard block |
||
702 | 722 | $context['save_disabled'] = $context['settings_not_writable']; |
703 | 723 | |
704 | 724 | // Decide what message to show. |
705 | - if (!$context['save_disabled']) |
|
706 | - $context['settings_message'] = $txt['caching_information']; |
|
725 | + if (!$context['save_disabled']) { |
|
726 | + $context['settings_message'] = $txt['caching_information']; |
|
727 | + } |
|
707 | 728 | |
708 | 729 | // Prepare the template. |
709 | 730 | prepareServerSettingsContext($config_vars); |
@@ -726,24 +747,25 @@ discard block |
||
726 | 747 | if (stripos(PHP_OS, 'win') === 0) |
727 | 748 | { |
728 | 749 | $context['settings_message'] = $txt['loadavg_disabled_windows']; |
729 | - if (isset($_GET['save'])) |
|
730 | - $_SESSION['adm-save'] = $txt['loadavg_disabled_windows']; |
|
731 | - } |
|
732 | - elseif (stripos(PHP_OS, 'darwin') === 0) |
|
750 | + if (isset($_GET['save'])) { |
|
751 | + $_SESSION['adm-save'] = $txt['loadavg_disabled_windows']; |
|
752 | + } |
|
753 | + } elseif (stripos(PHP_OS, 'darwin') === 0) |
|
733 | 754 | { |
734 | 755 | $context['settings_message'] = $txt['loadavg_disabled_osx']; |
735 | - if (isset($_GET['save'])) |
|
736 | - $_SESSION['adm-save'] = $txt['loadavg_disabled_osx']; |
|
737 | - } |
|
738 | - else |
|
756 | + if (isset($_GET['save'])) { |
|
757 | + $_SESSION['adm-save'] = $txt['loadavg_disabled_osx']; |
|
758 | + } |
|
759 | + } else |
|
739 | 760 | { |
740 | 761 | $modSettings['load_average'] = @file_get_contents('/proc/loadavg'); |
741 | - if (!empty($modSettings['load_average']) && preg_match('~^([^ ]+?) ([^ ]+?) ([^ ]+)~', $modSettings['load_average'], $matches) !== 0) |
|
742 | - $modSettings['load_average'] = (float) $matches[1]; |
|
743 | - elseif (($modSettings['load_average'] = @`uptime`) !== null && preg_match('~load averages?: (\d+\.\d+), (\d+\.\d+), (\d+\.\d+)~i', $modSettings['load_average'], $matches) !== 0) |
|
744 | - $modSettings['load_average'] = (float) $matches[1]; |
|
745 | - else |
|
746 | - unset($modSettings['load_average']); |
|
762 | + if (!empty($modSettings['load_average']) && preg_match('~^([^ ]+?) ([^ ]+?) ([^ ]+)~', $modSettings['load_average'], $matches) !== 0) { |
|
763 | + $modSettings['load_average'] = (float) $matches[1]; |
|
764 | + } elseif (($modSettings['load_average'] = @`uptime`) !== null && preg_match('~load averages?: (\d+\.\d+), (\d+\.\d+), (\d+\.\d+)~i', $modSettings['load_average'], $matches) !== 0) { |
|
765 | + $modSettings['load_average'] = (float) $matches[1]; |
|
766 | + } else { |
|
767 | + unset($modSettings['load_average']); |
|
768 | + } |
|
747 | 769 | |
748 | 770 | if (!empty($modSettings['load_average']) || $modSettings['load_average'] === 0.0) |
749 | 771 | { |
@@ -779,8 +801,9 @@ discard block |
||
779 | 801 | |
780 | 802 | call_integration_hook('integrate_loadavg_settings', array(&$config_vars)); |
781 | 803 | |
782 | - if ($return_config) |
|
783 | - return $config_vars; |
|
804 | + if ($return_config) { |
|
805 | + return $config_vars; |
|
806 | + } |
|
784 | 807 | |
785 | 808 | $context['post_url'] = $scripturl . '?action=admin;area=serversettings;sa=loads;save'; |
786 | 809 | $context['settings_title'] = $txt['load_balancing_settings']; |
@@ -791,24 +814,27 @@ discard block |
||
791 | 814 | // Stupidity is not allowed. |
792 | 815 | foreach ($_POST as $key => $value) |
793 | 816 | { |
794 | - if (strpos($key, 'loadavg') === 0 || $key === 'loadavg_enable' || !in_array($key, array_keys($default_values))) |
|
795 | - continue; |
|
796 | - else |
|
797 | - $_POST[$key] = (float) $value; |
|
798 | - |
|
799 | - if ($key == 'loadavg_auto_opt' && $value <= 1) |
|
800 | - $_POST['loadavg_auto_opt'] = 1.0; |
|
801 | - elseif ($key == 'loadavg_forum' && $value < 10) |
|
802 | - $_POST['loadavg_forum'] = 10.0; |
|
803 | - elseif ($value < 2) |
|
804 | - $_POST[$key] = 2.0; |
|
817 | + if (strpos($key, 'loadavg') === 0 || $key === 'loadavg_enable' || !in_array($key, array_keys($default_values))) { |
|
818 | + continue; |
|
819 | + } else { |
|
820 | + $_POST[$key] = (float) $value; |
|
821 | + } |
|
822 | + |
|
823 | + if ($key == 'loadavg_auto_opt' && $value <= 1) { |
|
824 | + $_POST['loadavg_auto_opt'] = 1.0; |
|
825 | + } elseif ($key == 'loadavg_forum' && $value < 10) { |
|
826 | + $_POST['loadavg_forum'] = 10.0; |
|
827 | + } elseif ($value < 2) { |
|
828 | + $_POST[$key] = 2.0; |
|
829 | + } |
|
805 | 830 | } |
806 | 831 | |
807 | 832 | call_integration_hook('integrate_save_loadavg_settings'); |
808 | 833 | |
809 | 834 | saveDBSettings($config_vars); |
810 | - if (!isset($_SESSION['adm-save'])) |
|
811 | - $_SESSION['adm-save'] = true; |
|
835 | + if (!isset($_SESSION['adm-save'])) { |
|
836 | + $_SESSION['adm-save'] = true; |
|
837 | + } |
|
812 | 838 | redirectexit('action=admin;area=serversettings;sa=loads;' . $context['session_var'] . '=' . $context['session_id']); |
813 | 839 | } |
814 | 840 | |
@@ -844,10 +870,11 @@ discard block |
||
844 | 870 | |
845 | 871 | if (isset($_SESSION['adm-save'])) |
846 | 872 | { |
847 | - if ($_SESSION['adm-save'] === true) |
|
848 | - $context['saved_successful'] = true; |
|
849 | - else |
|
850 | - $context['saved_failed'] = $_SESSION['adm-save']; |
|
873 | + if ($_SESSION['adm-save'] === true) { |
|
874 | + $context['saved_successful'] = true; |
|
875 | + } else { |
|
876 | + $context['saved_failed'] = $_SESSION['adm-save']; |
|
877 | + } |
|
851 | 878 | |
852 | 879 | unset($_SESSION['adm-save']); |
853 | 880 | } |
@@ -855,9 +882,9 @@ discard block |
||
855 | 882 | $context['config_vars'] = array(); |
856 | 883 | foreach ($config_vars as $identifier => $config_var) |
857 | 884 | { |
858 | - if (!is_array($config_var) || !isset($config_var[1])) |
|
859 | - $context['config_vars'][] = $config_var; |
|
860 | - else |
|
885 | + if (!is_array($config_var) || !isset($config_var[1])) { |
|
886 | + $context['config_vars'][] = $config_var; |
|
887 | + } else |
|
861 | 888 | { |
862 | 889 | $varname = $config_var[0]; |
863 | 890 | global $$varname; |
@@ -892,16 +919,19 @@ discard block |
||
892 | 919 | if ($config_var[3] == 'int' || $config_var[3] == 'float') |
893 | 920 | { |
894 | 921 | // Default to a min of 0 if one isn't set |
895 | - if (isset($config_var['min'])) |
|
896 | - $context['config_vars'][$config_var[0]]['min'] = $config_var['min']; |
|
897 | - else |
|
898 | - $context['config_vars'][$config_var[0]]['min'] = 0; |
|
922 | + if (isset($config_var['min'])) { |
|
923 | + $context['config_vars'][$config_var[0]]['min'] = $config_var['min']; |
|
924 | + } else { |
|
925 | + $context['config_vars'][$config_var[0]]['min'] = 0; |
|
926 | + } |
|
899 | 927 | |
900 | - if (isset($config_var['max'])) |
|
901 | - $context['config_vars'][$config_var[0]]['max'] = $config_var['max']; |
|
928 | + if (isset($config_var['max'])) { |
|
929 | + $context['config_vars'][$config_var[0]]['max'] = $config_var['max']; |
|
930 | + } |
|
902 | 931 | |
903 | - if (isset($config_var['step'])) |
|
904 | - $context['config_vars'][$config_var[0]]['step'] = $config_var['step']; |
|
932 | + if (isset($config_var['step'])) { |
|
933 | + $context['config_vars'][$config_var[0]]['step'] = $config_var['step']; |
|
934 | + } |
|
905 | 935 | } |
906 | 936 | |
907 | 937 | // If this is a select box handle any data. |
@@ -909,12 +939,13 @@ discard block |
||
909 | 939 | { |
910 | 940 | // If it's associative |
911 | 941 | $config_values = array_values($config_var[4]); |
912 | - if (isset($config_values[0]) && is_array($config_values[0])) |
|
913 | - $context['config_vars'][$config_var[0]]['data'] = $config_var[4]; |
|
914 | - else |
|
942 | + if (isset($config_values[0]) && is_array($config_values[0])) { |
|
943 | + $context['config_vars'][$config_var[0]]['data'] = $config_var[4]; |
|
944 | + } else |
|
915 | 945 | { |
916 | - foreach ($config_var[4] as $key => $item) |
|
917 | - $context['config_vars'][$config_var[0]]['data'][] = array($key, $item); |
|
946 | + foreach ($config_var[4] as $key => $item) { |
|
947 | + $context['config_vars'][$config_var[0]]['data'][] = array($key, $item); |
|
948 | + } |
|
918 | 949 | } |
919 | 950 | } |
920 | 951 | } |
@@ -939,10 +970,11 @@ discard block |
||
939 | 970 | |
940 | 971 | if (isset($_SESSION['adm-save'])) |
941 | 972 | { |
942 | - if ($_SESSION['adm-save'] === true) |
|
943 | - $context['saved_successful'] = true; |
|
944 | - else |
|
945 | - $context['saved_failed'] = $_SESSION['adm-save']; |
|
973 | + if ($_SESSION['adm-save'] === true) { |
|
974 | + $context['saved_successful'] = true; |
|
975 | + } else { |
|
976 | + $context['saved_failed'] = $_SESSION['adm-save']; |
|
977 | + } |
|
946 | 978 | |
947 | 979 | unset($_SESSION['adm-save']); |
948 | 980 | } |
@@ -954,26 +986,30 @@ discard block |
||
954 | 986 | foreach ($config_vars as $config_var) |
955 | 987 | { |
956 | 988 | // HR? |
957 | - if (!is_array($config_var)) |
|
958 | - $context['config_vars'][] = $config_var; |
|
959 | - else |
|
989 | + if (!is_array($config_var)) { |
|
990 | + $context['config_vars'][] = $config_var; |
|
991 | + } else |
|
960 | 992 | { |
961 | 993 | // If it has no name it doesn't have any purpose! |
962 | - if (empty($config_var[1])) |
|
963 | - continue; |
|
994 | + if (empty($config_var[1])) { |
|
995 | + continue; |
|
996 | + } |
|
964 | 997 | |
965 | 998 | // Special case for inline permissions |
966 | - if ($config_var[0] == 'permissions' && allowedTo('manage_permissions')) |
|
967 | - $inlinePermissions[] = $config_var[1]; |
|
968 | - elseif ($config_var[0] == 'permissions') |
|
969 | - continue; |
|
999 | + if ($config_var[0] == 'permissions' && allowedTo('manage_permissions')) { |
|
1000 | + $inlinePermissions[] = $config_var[1]; |
|
1001 | + } elseif ($config_var[0] == 'permissions') { |
|
1002 | + continue; |
|
1003 | + } |
|
970 | 1004 | |
971 | - if ($config_var[0] == 'boards') |
|
972 | - $board_list = true; |
|
1005 | + if ($config_var[0] == 'boards') { |
|
1006 | + $board_list = true; |
|
1007 | + } |
|
973 | 1008 | |
974 | 1009 | // Are we showing the BBC selection box? |
975 | - if ($config_var[0] == 'bbc') |
|
976 | - $bbcChoice[] = $config_var[1]; |
|
1010 | + if ($config_var[0] == 'bbc') { |
|
1011 | + $bbcChoice[] = $config_var[1]; |
|
1012 | + } |
|
977 | 1013 | |
978 | 1014 | // We need to do some parsing of the value before we pass it in. |
979 | 1015 | if (isset($modSettings[$config_var[1]])) |
@@ -992,8 +1028,7 @@ discard block |
||
992 | 1028 | default: |
993 | 1029 | $value = $smcFunc['htmlspecialchars']($modSettings[$config_var[1]]); |
994 | 1030 | } |
995 | - } |
|
996 | - else |
|
1031 | + } else |
|
997 | 1032 | { |
998 | 1033 | // Darn, it's empty. What type is expected? |
999 | 1034 | switch ($config_var[0]) |
@@ -1033,16 +1068,19 @@ discard block |
||
1033 | 1068 | if ($config_var[0] == 'int' || $config_var[0] == 'float') |
1034 | 1069 | { |
1035 | 1070 | // Default to a min of 0 if one isn't set |
1036 | - if (isset($config_var['min'])) |
|
1037 | - $context['config_vars'][$config_var[1]]['min'] = $config_var['min']; |
|
1038 | - else |
|
1039 | - $context['config_vars'][$config_var[1]]['min'] = 0; |
|
1071 | + if (isset($config_var['min'])) { |
|
1072 | + $context['config_vars'][$config_var[1]]['min'] = $config_var['min']; |
|
1073 | + } else { |
|
1074 | + $context['config_vars'][$config_var[1]]['min'] = 0; |
|
1075 | + } |
|
1040 | 1076 | |
1041 | - if (isset($config_var['max'])) |
|
1042 | - $context['config_vars'][$config_var[1]]['max'] = $config_var['max']; |
|
1077 | + if (isset($config_var['max'])) { |
|
1078 | + $context['config_vars'][$config_var[1]]['max'] = $config_var['max']; |
|
1079 | + } |
|
1043 | 1080 | |
1044 | - if (isset($config_var['step'])) |
|
1045 | - $context['config_vars'][$config_var[1]]['step'] = $config_var['step']; |
|
1081 | + if (isset($config_var['step'])) { |
|
1082 | + $context['config_vars'][$config_var[1]]['step'] = $config_var['step']; |
|
1083 | + } |
|
1046 | 1084 | } |
1047 | 1085 | |
1048 | 1086 | // If this is a select box handle any data. |
@@ -1056,12 +1094,13 @@ discard block |
||
1056 | 1094 | } |
1057 | 1095 | |
1058 | 1096 | // If it's associative |
1059 | - if (isset($config_var[2][0]) && is_array($config_var[2][0])) |
|
1060 | - $context['config_vars'][$config_var[1]]['data'] = $config_var[2]; |
|
1061 | - else |
|
1097 | + if (isset($config_var[2][0]) && is_array($config_var[2][0])) { |
|
1098 | + $context['config_vars'][$config_var[1]]['data'] = $config_var[2]; |
|
1099 | + } else |
|
1062 | 1100 | { |
1063 | - foreach ($config_var[2] as $key => $item) |
|
1064 | - $context['config_vars'][$config_var[1]]['data'][] = array($key, $item); |
|
1101 | + foreach ($config_var[2] as $key => $item) { |
|
1102 | + $context['config_vars'][$config_var[1]]['data'][] = array($key, $item); |
|
1103 | + } |
|
1065 | 1104 | } |
1066 | 1105 | } |
1067 | 1106 | |
@@ -1070,17 +1109,19 @@ discard block |
||
1070 | 1109 | { |
1071 | 1110 | if (!is_numeric($k)) |
1072 | 1111 | { |
1073 | - if (substr($k, 0, 2) == 'on') |
|
1074 | - $context['config_vars'][$config_var[1]]['javascript'] .= ' ' . $k . '="' . $v . '"'; |
|
1075 | - else |
|
1076 | - $context['config_vars'][$config_var[1]][$k] = $v; |
|
1112 | + if (substr($k, 0, 2) == 'on') { |
|
1113 | + $context['config_vars'][$config_var[1]]['javascript'] .= ' ' . $k . '="' . $v . '"'; |
|
1114 | + } else { |
|
1115 | + $context['config_vars'][$config_var[1]][$k] = $v; |
|
1116 | + } |
|
1077 | 1117 | } |
1078 | 1118 | |
1079 | 1119 | // See if there are any other labels that might fit? |
1080 | - if (isset($txt['setting_' . $config_var[1]])) |
|
1081 | - $context['config_vars'][$config_var[1]]['label'] = $txt['setting_' . $config_var[1]]; |
|
1082 | - elseif (isset($txt['groups_' . $config_var[1]])) |
|
1083 | - $context['config_vars'][$config_var[1]]['label'] = $txt['groups_' . $config_var[1]]; |
|
1120 | + if (isset($txt['setting_' . $config_var[1]])) { |
|
1121 | + $context['config_vars'][$config_var[1]]['label'] = $txt['setting_' . $config_var[1]]; |
|
1122 | + } elseif (isset($txt['groups_' . $config_var[1]])) { |
|
1123 | + $context['config_vars'][$config_var[1]]['label'] = $txt['groups_' . $config_var[1]]; |
|
1124 | + } |
|
1084 | 1125 | } |
1085 | 1126 | |
1086 | 1127 | // Set the subtext in case it's part of the label. |
@@ -1113,8 +1154,9 @@ discard block |
||
1113 | 1154 | // What are the options, eh? |
1114 | 1155 | $temp = parse_bbc(false); |
1115 | 1156 | $bbcTags = array(); |
1116 | - foreach ($temp as $tag) |
|
1117 | - $bbcTags[] = $tag['tag']; |
|
1157 | + foreach ($temp as $tag) { |
|
1158 | + $bbcTags[] = $tag['tag']; |
|
1159 | + } |
|
1118 | 1160 | |
1119 | 1161 | $bbcTags = array_unique($bbcTags); |
1120 | 1162 | $totalTags = count($bbcTags); |
@@ -1129,8 +1171,9 @@ discard block |
||
1129 | 1171 | $col = 0; $i = 0; |
1130 | 1172 | foreach ($bbcTags as $tag) |
1131 | 1173 | { |
1132 | - if ($i % $tagsPerColumn == 0 && $i != 0) |
|
1133 | - $col++; |
|
1174 | + if ($i % $tagsPerColumn == 0 && $i != 0) { |
|
1175 | + $col++; |
|
1176 | + } |
|
1134 | 1177 | |
1135 | 1178 | $context['bbc_columns'][$col][] = array( |
1136 | 1179 | 'tag' => $tag, |
@@ -1173,18 +1216,21 @@ discard block |
||
1173 | 1216 | validateToken('admin-ssc'); |
1174 | 1217 | |
1175 | 1218 | // Fix the darn stupid cookiename! (more may not be allowed, but these for sure!) |
1176 | - if (isset($_POST['cookiename'])) |
|
1177 | - $_POST['cookiename'] = preg_replace('~[,;\s\.$]+~' . ($context['utf8'] ? 'u' : ''), '', $_POST['cookiename']); |
|
1219 | + if (isset($_POST['cookiename'])) { |
|
1220 | + $_POST['cookiename'] = preg_replace('~[,;\s\.$]+~' . ($context['utf8'] ? 'u' : ''), '', $_POST['cookiename']); |
|
1221 | + } |
|
1178 | 1222 | |
1179 | 1223 | // Fix the forum's URL if necessary. |
1180 | 1224 | if (isset($_POST['boardurl'])) |
1181 | 1225 | { |
1182 | - if (substr($_POST['boardurl'], -10) == '/index.php') |
|
1183 | - $_POST['boardurl'] = substr($_POST['boardurl'], 0, -10); |
|
1184 | - elseif (substr($_POST['boardurl'], -1) == '/') |
|
1185 | - $_POST['boardurl'] = substr($_POST['boardurl'], 0, -1); |
|
1186 | - if (substr($_POST['boardurl'], 0, 7) != 'http://' && substr($_POST['boardurl'], 0, 7) != 'file://' && substr($_POST['boardurl'], 0, 8) != 'https://') |
|
1187 | - $_POST['boardurl'] = 'http://' . $_POST['boardurl']; |
|
1226 | + if (substr($_POST['boardurl'], -10) == '/index.php') { |
|
1227 | + $_POST['boardurl'] = substr($_POST['boardurl'], 0, -10); |
|
1228 | + } elseif (substr($_POST['boardurl'], -1) == '/') { |
|
1229 | + $_POST['boardurl'] = substr($_POST['boardurl'], 0, -1); |
|
1230 | + } |
|
1231 | + if (substr($_POST['boardurl'], 0, 7) != 'http://' && substr($_POST['boardurl'], 0, 7) != 'file://' && substr($_POST['boardurl'], 0, 8) != 'https://') { |
|
1232 | + $_POST['boardurl'] = 'http://' . $_POST['boardurl']; |
|
1233 | + } |
|
1188 | 1234 | } |
1189 | 1235 | |
1190 | 1236 | // Any passwords? |
@@ -1219,21 +1265,21 @@ discard block |
||
1219 | 1265 | // Figure out which config vars we're saving here... |
1220 | 1266 | foreach ($config_vars as $var) |
1221 | 1267 | { |
1222 | - if (!is_array($var) || $var[2] != 'file' || (!in_array($var[0], $config_bools) && !isset($_POST[$var[0]]))) |
|
1223 | - continue; |
|
1268 | + if (!is_array($var) || $var[2] != 'file' || (!in_array($var[0], $config_bools) && !isset($_POST[$var[0]]))) { |
|
1269 | + continue; |
|
1270 | + } |
|
1224 | 1271 | |
1225 | 1272 | $config_var = $var[0]; |
1226 | 1273 | |
1227 | 1274 | if (in_array($config_var, $config_passwords)) |
1228 | 1275 | { |
1229 | - if (isset($_POST[$config_var][1]) && $_POST[$config_var][0] == $_POST[$config_var][1]) |
|
1230 | - $new_settings[$config_var] = '\'' . addcslashes($_POST[$config_var][0], '\'\\') . '\''; |
|
1231 | - } |
|
1232 | - elseif (in_array($config_var, $config_strs)) |
|
1276 | + if (isset($_POST[$config_var][1]) && $_POST[$config_var][0] == $_POST[$config_var][1]) { |
|
1277 | + $new_settings[$config_var] = '\'' . addcslashes($_POST[$config_var][0], '\'\\') . '\''; |
|
1278 | + } |
|
1279 | + } elseif (in_array($config_var, $config_strs)) |
|
1233 | 1280 | { |
1234 | 1281 | $new_settings[$config_var] = '\'' . addcslashes($_POST[$config_var], '\'\\') . '\''; |
1235 | - } |
|
1236 | - elseif (in_array($config_var, $config_ints)) |
|
1282 | + } elseif (in_array($config_var, $config_ints)) |
|
1237 | 1283 | { |
1238 | 1284 | $new_settings[$config_var] = (int) $_POST[$config_var]; |
1239 | 1285 | |
@@ -1242,17 +1288,17 @@ discard block |
||
1242 | 1288 | $new_settings[$config_var] = max($min, $new_settings[$config_var]); |
1243 | 1289 | |
1244 | 1290 | // Is there a max value for this as well? |
1245 | - if (isset($var['max'])) |
|
1246 | - $new_settings[$config_var] = min($var['max'], $new_settings[$config_var]); |
|
1247 | - } |
|
1248 | - elseif (in_array($config_var, $config_bools)) |
|
1291 | + if (isset($var['max'])) { |
|
1292 | + $new_settings[$config_var] = min($var['max'], $new_settings[$config_var]); |
|
1293 | + } |
|
1294 | + } elseif (in_array($config_var, $config_bools)) |
|
1249 | 1295 | { |
1250 | - if (!empty($_POST[$config_var])) |
|
1251 | - $new_settings[$config_var] = '1'; |
|
1252 | - else |
|
1253 | - $new_settings[$config_var] = '0'; |
|
1254 | - } |
|
1255 | - else |
|
1296 | + if (!empty($_POST[$config_var])) { |
|
1297 | + $new_settings[$config_var] = '1'; |
|
1298 | + } else { |
|
1299 | + $new_settings[$config_var] = '0'; |
|
1300 | + } |
|
1301 | + } else |
|
1256 | 1302 | { |
1257 | 1303 | // This shouldn't happen, but it might... |
1258 | 1304 | fatal_error('Unknown config_var \'' . $config_var . '\''); |
@@ -1268,30 +1314,35 @@ discard block |
||
1268 | 1314 | foreach ($config_vars as $config_var) |
1269 | 1315 | { |
1270 | 1316 | // We just saved the file-based settings, so skip their definitions. |
1271 | - if (!is_array($config_var) || $config_var[2] == 'file') |
|
1272 | - continue; |
|
1317 | + if (!is_array($config_var) || $config_var[2] == 'file') { |
|
1318 | + continue; |
|
1319 | + } |
|
1273 | 1320 | |
1274 | 1321 | $new_setting = array($config_var[3], $config_var[0]); |
1275 | 1322 | |
1276 | 1323 | // Select options need carried over, too. |
1277 | - if (isset($config_var[4])) |
|
1278 | - $new_setting[] = $config_var[4]; |
|
1324 | + if (isset($config_var[4])) { |
|
1325 | + $new_setting[] = $config_var[4]; |
|
1326 | + } |
|
1279 | 1327 | |
1280 | 1328 | // Include min and max if necessary |
1281 | - if (isset($config_var['min'])) |
|
1282 | - $new_setting['min'] = $config_var['min']; |
|
1329 | + if (isset($config_var['min'])) { |
|
1330 | + $new_setting['min'] = $config_var['min']; |
|
1331 | + } |
|
1283 | 1332 | |
1284 | - if (isset($config_var['max'])) |
|
1285 | - $new_setting['max'] = $config_var['max']; |
|
1333 | + if (isset($config_var['max'])) { |
|
1334 | + $new_setting['max'] = $config_var['max']; |
|
1335 | + } |
|
1286 | 1336 | |
1287 | 1337 | // Rewrite the definition a bit. |
1288 | 1338 | $new_settings[] = $new_setting; |
1289 | 1339 | } |
1290 | 1340 | |
1291 | 1341 | // Save the new database-based settings, if any. |
1292 | - if (!empty($new_settings)) |
|
1293 | - saveDBSettings($new_settings); |
|
1294 | -} |
|
1342 | + if (!empty($new_settings)) { |
|
1343 | + saveDBSettings($new_settings); |
|
1344 | + } |
|
1345 | + } |
|
1295 | 1346 | |
1296 | 1347 | /** |
1297 | 1348 | * Helper function for saving database settings. |
@@ -1309,22 +1360,25 @@ discard block |
||
1309 | 1360 | $inlinePermissions = array(); |
1310 | 1361 | foreach ($config_vars as $var) |
1311 | 1362 | { |
1312 | - if (!isset($var[1]) || (!isset($_POST[$var[1]]) && $var[0] != 'check' && $var[0] != 'permissions' && $var[0] != 'boards' && ($var[0] != 'bbc' || !isset($_POST[$var[1] . '_enabledTags'])))) |
|
1313 | - continue; |
|
1363 | + if (!isset($var[1]) || (!isset($_POST[$var[1]]) && $var[0] != 'check' && $var[0] != 'permissions' && $var[0] != 'boards' && ($var[0] != 'bbc' || !isset($_POST[$var[1] . '_enabledTags'])))) { |
|
1364 | + continue; |
|
1365 | + } |
|
1314 | 1366 | |
1315 | 1367 | // Checkboxes! |
1316 | - elseif ($var[0] == 'check') |
|
1317 | - $setArray[$var[1]] = !empty($_POST[$var[1]]) ? '1' : '0'; |
|
1368 | + elseif ($var[0] == 'check') { |
|
1369 | + $setArray[$var[1]] = !empty($_POST[$var[1]]) ? '1' : '0'; |
|
1370 | + } |
|
1318 | 1371 | // Select boxes! |
1319 | - elseif ($var[0] == 'select' && in_array($_POST[$var[1]], array_keys($var[2]))) |
|
1320 | - $setArray[$var[1]] = $_POST[$var[1]]; |
|
1321 | - elseif ($var[0] == 'select' && !empty($var['multiple']) && array_intersect($_POST[$var[1]], array_keys($var[2])) != array()) |
|
1372 | + elseif ($var[0] == 'select' && in_array($_POST[$var[1]], array_keys($var[2]))) { |
|
1373 | + $setArray[$var[1]] = $_POST[$var[1]]; |
|
1374 | + } elseif ($var[0] == 'select' && !empty($var['multiple']) && array_intersect($_POST[$var[1]], array_keys($var[2])) != array()) |
|
1322 | 1375 | { |
1323 | 1376 | // For security purposes we validate this line by line. |
1324 | 1377 | $lOptions = array(); |
1325 | - foreach ($_POST[$var[1]] as $invar) |
|
1326 | - if (in_array($invar, array_keys($var[2]))) |
|
1378 | + foreach ($_POST[$var[1]] as $invar) { |
|
1379 | + if (in_array($invar, array_keys($var[2]))) |
|
1327 | 1380 | $lOptions[] = $invar; |
1381 | + } |
|
1328 | 1382 | |
1329 | 1383 | $setArray[$var[1]] = $smcFunc['json_encode']($lOptions); |
1330 | 1384 | } |
@@ -1338,18 +1392,20 @@ discard block |
||
1338 | 1392 | $request = $smcFunc['db_query']('', ' |
1339 | 1393 | SELECT id_board |
1340 | 1394 | FROM {db_prefix}boards'); |
1341 | - while ($row = $smcFunc['db_fetch_row']($request)) |
|
1342 | - $board_list[$row[0]] = true; |
|
1395 | + while ($row = $smcFunc['db_fetch_row']($request)) { |
|
1396 | + $board_list[$row[0]] = true; |
|
1397 | + } |
|
1343 | 1398 | |
1344 | 1399 | $smcFunc['db_free_result']($request); |
1345 | 1400 | } |
1346 | 1401 | |
1347 | 1402 | $lOptions = array(); |
1348 | 1403 | |
1349 | - if (!empty($_POST[$var[1]])) |
|
1350 | - foreach ($_POST[$var[1]] as $invar => $dummy) |
|
1404 | + if (!empty($_POST[$var[1]])) { |
|
1405 | + foreach ($_POST[$var[1]] as $invar => $dummy) |
|
1351 | 1406 | if (isset($board_list[$invar])) |
1352 | 1407 | $lOptions[] = $invar; |
1408 | + } |
|
1353 | 1409 | |
1354 | 1410 | $setArray[$var[1]] = !empty($lOptions) ? implode(',', $lOptions) : ''; |
1355 | 1411 | } |
@@ -1363,8 +1419,9 @@ discard block |
||
1363 | 1419 | $setArray[$var[1]] = max($min, $setArray[$var[1]]); |
1364 | 1420 | |
1365 | 1421 | // Do we have a max value for this as well? |
1366 | - if (isset($var['max'])) |
|
1367 | - $setArray[$var[1]] = min($var['max'], $setArray[$var[1]]); |
|
1422 | + if (isset($var['max'])) { |
|
1423 | + $setArray[$var[1]] = min($var['max'], $setArray[$var[1]]); |
|
1424 | + } |
|
1368 | 1425 | } |
1369 | 1426 | // Floating point! |
1370 | 1427 | elseif ($var[0] == 'float') |
@@ -1376,40 +1433,47 @@ discard block |
||
1376 | 1433 | $setArray[$var[1]] = max($min, $setArray[$var[1]]); |
1377 | 1434 | |
1378 | 1435 | // Do we have a max value for this as well? |
1379 | - if (isset($var['max'])) |
|
1380 | - $setArray[$var[1]] = min($var['max'], $setArray[$var[1]]); |
|
1436 | + if (isset($var['max'])) { |
|
1437 | + $setArray[$var[1]] = min($var['max'], $setArray[$var[1]]); |
|
1438 | + } |
|
1381 | 1439 | } |
1382 | 1440 | // Text! |
1383 | - elseif (in_array($var[0], array('text', 'large_text', 'color', 'date', 'datetime', 'datetime-local', 'email', 'month', 'time'))) |
|
1384 | - $setArray[$var[1]] = $_POST[$var[1]]; |
|
1441 | + elseif (in_array($var[0], array('text', 'large_text', 'color', 'date', 'datetime', 'datetime-local', 'email', 'month', 'time'))) { |
|
1442 | + $setArray[$var[1]] = $_POST[$var[1]]; |
|
1443 | + } |
|
1385 | 1444 | // Passwords! |
1386 | 1445 | elseif ($var[0] == 'password') |
1387 | 1446 | { |
1388 | - if (isset($_POST[$var[1]][1]) && $_POST[$var[1]][0] == $_POST[$var[1]][1]) |
|
1389 | - $setArray[$var[1]] = $_POST[$var[1]][0]; |
|
1447 | + if (isset($_POST[$var[1]][1]) && $_POST[$var[1]][0] == $_POST[$var[1]][1]) { |
|
1448 | + $setArray[$var[1]] = $_POST[$var[1]][0]; |
|
1449 | + } |
|
1390 | 1450 | } |
1391 | 1451 | // BBC. |
1392 | 1452 | elseif ($var[0] == 'bbc') |
1393 | 1453 | { |
1394 | 1454 | |
1395 | 1455 | $bbcTags = array(); |
1396 | - foreach (parse_bbc(false) as $tag) |
|
1397 | - $bbcTags[] = $tag['tag']; |
|
1456 | + foreach (parse_bbc(false) as $tag) { |
|
1457 | + $bbcTags[] = $tag['tag']; |
|
1458 | + } |
|
1398 | 1459 | |
1399 | - if (!isset($_POST[$var[1] . '_enabledTags'])) |
|
1400 | - $_POST[$var[1] . '_enabledTags'] = array(); |
|
1401 | - elseif (!is_array($_POST[$var[1] . '_enabledTags'])) |
|
1402 | - $_POST[$var[1] . '_enabledTags'] = array($_POST[$var[1] . '_enabledTags']); |
|
1460 | + if (!isset($_POST[$var[1] . '_enabledTags'])) { |
|
1461 | + $_POST[$var[1] . '_enabledTags'] = array(); |
|
1462 | + } elseif (!is_array($_POST[$var[1] . '_enabledTags'])) { |
|
1463 | + $_POST[$var[1] . '_enabledTags'] = array($_POST[$var[1] . '_enabledTags']); |
|
1464 | + } |
|
1403 | 1465 | |
1404 | 1466 | $setArray[$var[1]] = implode(',', array_diff($bbcTags, $_POST[$var[1] . '_enabledTags'])); |
1405 | 1467 | } |
1406 | 1468 | // Permissions? |
1407 | - elseif ($var[0] == 'permissions') |
|
1408 | - $inlinePermissions[] = $var[1]; |
|
1469 | + elseif ($var[0] == 'permissions') { |
|
1470 | + $inlinePermissions[] = $var[1]; |
|
1471 | + } |
|
1409 | 1472 | } |
1410 | 1473 | |
1411 | - if (!empty($setArray)) |
|
1412 | - updateSettings($setArray); |
|
1474 | + if (!empty($setArray)) { |
|
1475 | + updateSettings($setArray); |
|
1476 | + } |
|
1413 | 1477 | |
1414 | 1478 | // If we have inline permissions we need to save them. |
1415 | 1479 | if (!empty($inlinePermissions) && allowedTo('manage_permissions')) |
@@ -1446,18 +1510,21 @@ discard block |
||
1446 | 1510 | // put all of it into an array |
1447 | 1511 | foreach ($info_lines as $line) |
1448 | 1512 | { |
1449 | - if (preg_match('~(' . $remove . ')~', $line)) |
|
1450 | - continue; |
|
1513 | + if (preg_match('~(' . $remove . ')~', $line)) { |
|
1514 | + continue; |
|
1515 | + } |
|
1451 | 1516 | |
1452 | 1517 | // new category? |
1453 | - if (strpos($line, '<h2>') !== false) |
|
1454 | - $category = preg_match('~<h2>(.*)</h2>~', $line, $title) ? $category = $title[1] : $category; |
|
1518 | + if (strpos($line, '<h2>') !== false) { |
|
1519 | + $category = preg_match('~<h2>(.*)</h2>~', $line, $title) ? $category = $title[1] : $category; |
|
1520 | + } |
|
1455 | 1521 | |
1456 | 1522 | // load it as setting => value or the old setting local master |
1457 | - if (preg_match('~<tr><td[^>]+>([^<]*)</td><td[^>]+>([^<]*)</td></tr>~', $line, $val)) |
|
1458 | - $pinfo[$category][$val[1]] = $val[2]; |
|
1459 | - elseif (preg_match('~<tr><td[^>]+>([^<]*)</td><td[^>]+>([^<]*)</td><td[^>]+>([^<]*)</td></tr>~', $line, $val)) |
|
1460 | - $pinfo[$category][$val[1]] = array($txt['phpinfo_localsettings'] => $val[2], $txt['phpinfo_defaultsettings'] => $val[3]); |
|
1523 | + if (preg_match('~<tr><td[^>]+>([^<]*)</td><td[^>]+>([^<]*)</td></tr>~', $line, $val)) { |
|
1524 | + $pinfo[$category][$val[1]] = $val[2]; |
|
1525 | + } elseif (preg_match('~<tr><td[^>]+>([^<]*)</td><td[^>]+>([^<]*)</td><td[^>]+>([^<]*)</td></tr>~', $line, $val)) { |
|
1526 | + $pinfo[$category][$val[1]] = array($txt['phpinfo_localsettings'] => $val[2], $txt['phpinfo_defaultsettings'] => $val[3]); |
|
1527 | + } |
|
1461 | 1528 | } |
1462 | 1529 | |
1463 | 1530 | // load it in to context and display it |
@@ -1492,8 +1559,9 @@ discard block |
||
1492 | 1559 | $testAPI = new $cache_class_name(); |
1493 | 1560 | |
1494 | 1561 | // No Support? NEXT! |
1495 | - if (!$testAPI->isSupported(true)) |
|
1496 | - continue; |
|
1562 | + if (!$testAPI->isSupported(true)) { |
|
1563 | + continue; |
|
1564 | + } |
|
1497 | 1565 | |
1498 | 1566 | $apis[$tryCache] = isset($txt[$tryCache . '_cache']) ? $txt[$tryCache . '_cache'] : $tryCache; |
1499 | 1567 | } |
@@ -1518,8 +1586,9 @@ discard block |
||
1518 | 1586 | global $modSettings, $boardurl, $smcFunc; |
1519 | 1587 | |
1520 | 1588 | // Already have a key? Can't register again. |
1521 | - if (!empty($modSettings['sm_stats_key'])) |
|
1522 | - return true; |
|
1589 | + if (!empty($modSettings['sm_stats_key'])) { |
|
1590 | + return true; |
|
1591 | + } |
|
1523 | 1592 | |
1524 | 1593 | $fp = @fsockopen('www.simplemachines.org', 80, $errno, $errstr); |
1525 | 1594 | if ($fp) |
@@ -1530,8 +1599,9 @@ discard block |
||
1530 | 1599 | fwrite($fp, $out); |
1531 | 1600 | |
1532 | 1601 | $return_data = ''; |
1533 | - while (!feof($fp)) |
|
1534 | - $return_data .= fgets($fp, 128); |
|
1602 | + while (!feof($fp)) { |
|
1603 | + $return_data .= fgets($fp, 128); |
|
1604 | + } |
|
1535 | 1605 | |
1536 | 1606 | fclose($fp); |
1537 | 1607 |
@@ -38,12 +38,12 @@ discard block |
||
38 | 38 | $version = $smcFunc['db_get_version'](); |
39 | 39 | // if we got a Beta Version |
40 | 40 | if (stripos($version, 'beta') !== false) |
41 | - $version = substr($version, 0, stripos($version, 'beta')).'.0'; |
|
41 | + $version = substr($version, 0, stripos($version, 'beta')) . '.0'; |
|
42 | 42 | // or RC |
43 | 43 | if (stripos($version, 'rc') !== false) |
44 | - $version = substr($version, 0, stripos($version, 'rc')).'.0'; |
|
44 | + $version = substr($version, 0, stripos($version, 'rc')) . '.0'; |
|
45 | 45 | |
46 | - if (version_compare($version,'9.5.0','>=')) |
|
46 | + if (version_compare($version, '9.5.0', '>=')) |
|
47 | 47 | $smcFunc['db_support_ignore'] = true; |
48 | 48 | } |
49 | 49 | |
@@ -55,7 +55,7 @@ discard block |
||
55 | 55 | */ |
56 | 56 | function smf_db_search_support($search_type) |
57 | 57 | { |
58 | - $supported_types = array('custom','fulltext'); |
|
58 | + $supported_types = array('custom', 'fulltext'); |
|
59 | 59 | |
60 | 60 | return in_array($search_type, $supported_types); |
61 | 61 | } |
@@ -109,9 +109,9 @@ discard block |
||
109 | 109 | if (preg_match('~^\s*INSERT\sIGNORE~i', $db_string) != 0) |
110 | 110 | { |
111 | 111 | $db_string = preg_replace('~^\s*INSERT\sIGNORE~i', 'INSERT', $db_string); |
112 | - if ($smcFunc['db_support_ignore']){ |
|
112 | + if ($smcFunc['db_support_ignore']) { |
|
113 | 113 | //pg style "INSERT INTO.... ON CONFLICT DO NOTHING" |
114 | - $db_string = $db_string.' ON CONFLICT DO NOTHING'; |
|
114 | + $db_string = $db_string . ' ON CONFLICT DO NOTHING'; |
|
115 | 115 | } |
116 | 116 | else |
117 | 117 | { |
@@ -168,7 +168,7 @@ discard block |
||
168 | 168 | $language_ftx = $modSettings['search_language']; |
169 | 169 | else |
170 | 170 | { |
171 | - $request = $smcFunc['db_query']('',' |
|
171 | + $request = $smcFunc['db_query']('', ' |
|
172 | 172 | SELECT cfgname FROM pg_ts_config WHERE oid = current_setting({string:default_language})::regconfig', |
173 | 173 | array( |
174 | 174 | 'default_language' => 'default_text_search_config' |
@@ -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', |
@@ -676,7 +676,7 @@ discard block |
||
676 | 676 | * - caches the formatting data from the setting for optimization. |
677 | 677 | * |
678 | 678 | * @param float $number A number |
679 | - * @param bool|int $override_decimal_count If set, will use the specified number of decimal places. Otherwise it's automatically determined |
|
679 | + * @param integer $override_decimal_count If set, will use the specified number of decimal places. Otherwise it's automatically determined |
|
680 | 680 | * @return string A formatted number |
681 | 681 | */ |
682 | 682 | function comma_format($number, $override_decimal_count = false) |
@@ -5530,7 +5530,7 @@ discard block |
||
5530 | 5530 | * It assumes the data is already a string. |
5531 | 5531 | * @param string $data The data to print |
5532 | 5532 | * @param string $type The content type. Defaults to Json. |
5533 | - * @return void |
|
5533 | + * @return false|null |
|
5534 | 5534 | */ |
5535 | 5535 | function smf_serverResponse($data = '', $type = 'Content-Type: application/json') |
5536 | 5536 | { |
@@ -800,7 +800,7 @@ discard block |
||
800 | 800 | $unsupportedFormats = (array) cache_get_data('unsupportedtimeformats', 86400); |
801 | 801 | if (empty($unsupportedFormats)) |
802 | 802 | { |
803 | - foreach($strftimeFormatSubstitutions as $format => $substitution) |
|
803 | + foreach ($strftimeFormatSubstitutions as $format => $substitution) |
|
804 | 804 | { |
805 | 805 | $value = @strftime('%' . $format); |
806 | 806 | |
@@ -1165,7 +1165,7 @@ discard block |
||
1165 | 1165 | 'height' => array('optional' => true, 'match' => '(\d+)'), |
1166 | 1166 | ), |
1167 | 1167 | 'content' => '$1', |
1168 | - 'validate' => function (&$tag, &$data, $disabled, $params) use ($modSettings, $context, $sourcedir, $txt) |
|
1168 | + 'validate' => function(&$tag, &$data, $disabled, $params) use ($modSettings, $context, $sourcedir, $txt) |
|
1169 | 1169 | { |
1170 | 1170 | $returnContext = ''; |
1171 | 1171 | |
@@ -1200,7 +1200,7 @@ discard block |
||
1200 | 1200 | } |
1201 | 1201 | |
1202 | 1202 | if ($currentAttachment['thumbnail']['has_thumb'] && empty($params['{width}']) && empty($params['{height}'])) |
1203 | - $returnContext .= '<a href="'. $currentAttachment['href']. ';image" id="link_'. $currentAttachment['id']. '" onclick="'. $currentAttachment['thumbnail']['javascript']. '"><img src="'. $currentAttachment['thumbnail']['href']. '"' . $alt . $title . ' id="thumb_'. $currentAttachment['id']. '" class="atc_img"></a>'; |
|
1203 | + $returnContext .= '<a href="' . $currentAttachment['href'] . ';image" id="link_' . $currentAttachment['id'] . '" onclick="' . $currentAttachment['thumbnail']['javascript'] . '"><img src="' . $currentAttachment['thumbnail']['href'] . '"' . $alt . $title . ' id="thumb_' . $currentAttachment['id'] . '" class="atc_img"></a>'; |
|
1204 | 1204 | else |
1205 | 1205 | $returnContext .= '<img src="' . $currentAttachment['href'] . ';image"' . $alt . $title . $width . $height . ' class="bbc_img"/>'; |
1206 | 1206 | } |
@@ -1229,7 +1229,7 @@ discard block |
||
1229 | 1229 | 'type' => 'unparsed_content', |
1230 | 1230 | 'content' => '<div class="codeheader"><span class="code floatleft">' . $txt['code'] . '</span> <a class="codeoperation smf_select_text">' . $txt['code_select'] . '</a></div><code class="bbc_code">$1</code>', |
1231 | 1231 | // @todo Maybe this can be simplified? |
1232 | - 'validate' => isset($disabled['code']) ? null : function (&$tag, &$data, $disabled) use ($context) |
|
1232 | + 'validate' => isset($disabled['code']) ? null : function(&$tag, &$data, $disabled) use ($context) |
|
1233 | 1233 | { |
1234 | 1234 | if (!isset($disabled['code'])) |
1235 | 1235 | { |
@@ -1266,7 +1266,7 @@ discard block |
||
1266 | 1266 | 'type' => 'unparsed_equals_content', |
1267 | 1267 | 'content' => '<div class="codeheader"><span class="code floatleft">' . $txt['code'] . '</span> ($2) <a class="codeoperation smf_select_text">' . $txt['code_select'] . '</a></div><code class="bbc_code">$1</code>', |
1268 | 1268 | // @todo Maybe this can be simplified? |
1269 | - 'validate' => isset($disabled['code']) ? null : function (&$tag, &$data, $disabled) use ($context) |
|
1269 | + 'validate' => isset($disabled['code']) ? null : function(&$tag, &$data, $disabled) use ($context) |
|
1270 | 1270 | { |
1271 | 1271 | if (!isset($disabled['code'])) |
1272 | 1272 | { |
@@ -1310,7 +1310,7 @@ discard block |
||
1310 | 1310 | 'type' => 'unparsed_content', |
1311 | 1311 | 'content' => '<a href="mailto:$1" class="bbc_email">$1</a>', |
1312 | 1312 | // @todo Should this respect guest_hideContacts? |
1313 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1313 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1314 | 1314 | { |
1315 | 1315 | $data = strtr($data, array('<br>' => '')); |
1316 | 1316 | }, |
@@ -1329,7 +1329,7 @@ discard block |
||
1329 | 1329 | 'type' => 'unparsed_commas_content', |
1330 | 1330 | 'test' => '\d+,\d+\]', |
1331 | 1331 | 'content' => '<embed type="application/x-shockwave-flash" src="$1" width="$2" height="$3" play="true" loop="true" quality="high" AllowScriptAccess="never">', |
1332 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1332 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1333 | 1333 | { |
1334 | 1334 | if (isset($disabled['url'])) |
1335 | 1335 | $tag['content'] = '$1'; |
@@ -1345,7 +1345,7 @@ discard block |
||
1345 | 1345 | 'test' => '(left|right)(\s+max=\d+(?:%|px|em|rem|ex|pt|pc|ch|vw|vh|vmin|vmax|cm|mm|in)?)?\]', |
1346 | 1346 | 'before' => '<div $1>', |
1347 | 1347 | 'after' => '</div>', |
1348 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1348 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1349 | 1349 | { |
1350 | 1350 | $class = 'class="bbc_float float' . (strpos($data, 'left') === 0 ? 'left' : 'right') . '"'; |
1351 | 1351 | |
@@ -1394,7 +1394,7 @@ discard block |
||
1394 | 1394 | 'height' => array('optional' => true, 'value' => ' height="$1"', 'match' => '(\d+)'), |
1395 | 1395 | ), |
1396 | 1396 | 'content' => '<img src="$1" alt="{alt}" title="{title}"{width}{height} class="bbc_img resized">', |
1397 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1397 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1398 | 1398 | { |
1399 | 1399 | global $image_proxy_enabled, $image_proxy_secret, $boardurl; |
1400 | 1400 | |
@@ -1417,7 +1417,7 @@ discard block |
||
1417 | 1417 | 'tag' => 'img', |
1418 | 1418 | 'type' => 'unparsed_content', |
1419 | 1419 | 'content' => '<img src="$1" alt="" class="bbc_img">', |
1420 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1420 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1421 | 1421 | { |
1422 | 1422 | global $image_proxy_enabled, $image_proxy_secret, $boardurl; |
1423 | 1423 | |
@@ -1440,7 +1440,7 @@ discard block |
||
1440 | 1440 | 'tag' => 'iurl', |
1441 | 1441 | 'type' => 'unparsed_content', |
1442 | 1442 | 'content' => '<a href="$1" class="bbc_link">$1</a>', |
1443 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1443 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1444 | 1444 | { |
1445 | 1445 | $data = strtr($data, array('<br>' => '')); |
1446 | 1446 | $scheme = parse_url($data, PHP_URL_SCHEME); |
@@ -1454,7 +1454,7 @@ discard block |
||
1454 | 1454 | 'quoted' => 'optional', |
1455 | 1455 | 'before' => '<a href="$1" class="bbc_link">', |
1456 | 1456 | 'after' => '</a>', |
1457 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1457 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1458 | 1458 | { |
1459 | 1459 | if (substr($data, 0, 1) == '#') |
1460 | 1460 | $data = '#post_' . substr($data, 1); |
@@ -1534,7 +1534,7 @@ discard block |
||
1534 | 1534 | 'tag' => 'php', |
1535 | 1535 | 'type' => 'unparsed_content', |
1536 | 1536 | 'content' => '<span class="phpcode">$1</span>', |
1537 | - 'validate' => isset($disabled['php']) ? null : function (&$tag, &$data, $disabled) |
|
1537 | + 'validate' => isset($disabled['php']) ? null : function(&$tag, &$data, $disabled) |
|
1538 | 1538 | { |
1539 | 1539 | if (!isset($disabled['php'])) |
1540 | 1540 | { |
@@ -1632,7 +1632,7 @@ discard block |
||
1632 | 1632 | 'test' => '[1-7]\]', |
1633 | 1633 | 'before' => '<span style="font-size: $1;" class="bbc_size">', |
1634 | 1634 | 'after' => '</span>', |
1635 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1635 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1636 | 1636 | { |
1637 | 1637 | $sizes = array(1 => 0.7, 2 => 1.0, 3 => 1.35, 4 => 1.45, 5 => 2.0, 6 => 2.65, 7 => 3.95); |
1638 | 1638 | $data = $sizes[$data] . 'em'; |
@@ -1670,7 +1670,7 @@ discard block |
||
1670 | 1670 | 'tag' => 'time', |
1671 | 1671 | 'type' => 'unparsed_content', |
1672 | 1672 | 'content' => '$1', |
1673 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1673 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1674 | 1674 | { |
1675 | 1675 | if (is_numeric($data)) |
1676 | 1676 | $data = timeformat($data); |
@@ -1698,7 +1698,7 @@ discard block |
||
1698 | 1698 | 'tag' => 'url', |
1699 | 1699 | 'type' => 'unparsed_content', |
1700 | 1700 | 'content' => '<a href="$1" class="bbc_link" target="_blank">$1</a>', |
1701 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1701 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1702 | 1702 | { |
1703 | 1703 | $data = strtr($data, array('<br>' => '')); |
1704 | 1704 | $scheme = parse_url($data, PHP_URL_SCHEME); |
@@ -1712,7 +1712,7 @@ discard block |
||
1712 | 1712 | 'quoted' => 'optional', |
1713 | 1713 | 'before' => '<a href="$1" class="bbc_link" target="_blank">', |
1714 | 1714 | 'after' => '</a>', |
1715 | - 'validate' => function (&$tag, &$data, $disabled) |
|
1715 | + 'validate' => function(&$tag, &$data, $disabled) |
|
1716 | 1716 | { |
1717 | 1717 | $scheme = parse_url($data, PHP_URL_SCHEME); |
1718 | 1718 | if (empty($scheme)) |
@@ -1738,7 +1738,7 @@ discard block |
||
1738 | 1738 | { |
1739 | 1739 | if (isset($temp_bbc)) |
1740 | 1740 | $bbc_codes = $temp_bbc; |
1741 | - usort($codes, function ($a, $b) { |
|
1741 | + usort($codes, function($a, $b) { |
|
1742 | 1742 | return strcmp($a['tag'], $b['tag']); |
1743 | 1743 | }); |
1744 | 1744 | return $codes; |
@@ -1976,7 +1976,7 @@ discard block |
||
1976 | 1976 | # a run of Unicode domain name characters and a dot |
1977 | 1977 | [\p{L}\p{M}\p{N}\-.:@]+\. |
1978 | 1978 | # and then a TLD valid in the DNS or the reserved "local" TLD |
1979 | - (?:'. $modSettings['tld_regex'] .'|local) |
|
1979 | + (?:'. $modSettings['tld_regex'] . '|local) |
|
1980 | 1980 | ) |
1981 | 1981 | # followed by a non-domain character or end of line |
1982 | 1982 | (?=[^\p{L}\p{N}\-.]|$) |
@@ -2044,7 +2044,7 @@ discard block |
||
2044 | 2044 | )? |
2045 | 2045 | '; |
2046 | 2046 | |
2047 | - $data = preg_replace_callback('~' . $url_regex . '~xi' . ($context['utf8'] ? 'u' : ''), function ($matches) { |
|
2047 | + $data = preg_replace_callback('~' . $url_regex . '~xi' . ($context['utf8'] ? 'u' : ''), function($matches) { |
|
2048 | 2048 | $url = array_shift($matches); |
2049 | 2049 | |
2050 | 2050 | $scheme = parse_url($url, PHP_URL_SCHEME); |
@@ -2781,7 +2781,7 @@ discard block |
||
2781 | 2781 | for ($i = 0, $n = count($smileysfrom); $i < $n; $i++) |
2782 | 2782 | { |
2783 | 2783 | $specialChars = $smcFunc['htmlspecialchars']($smileysfrom[$i], ENT_QUOTES); |
2784 | - $smileyCode = '<img src="' . $smileys_path . $smileysto[$i] . '" alt="' . strtr($specialChars, array(':' => ':', '(' => '(', ')' => ')', '$' => '$', '[' => '[')). '" title="' . strtr($smcFunc['htmlspecialchars']($smileysdescs[$i]), array(':' => ':', '(' => '(', ')' => ')', '$' => '$', '[' => '[')) . '" class="smiley">'; |
|
2784 | + $smileyCode = '<img src="' . $smileys_path . $smileysto[$i] . '" alt="' . strtr($specialChars, array(':' => ':', '(' => '(', ')' => ')', '$' => '$', '[' => '[')) . '" title="' . strtr($smcFunc['htmlspecialchars']($smileysdescs[$i]), array(':' => ':', '(' => '(', ')' => ')', '$' => '$', '[' => '[')) . '" class="smiley">'; |
|
2785 | 2785 | |
2786 | 2786 | $smileyPregReplacements[$smileysfrom[$i]] = $smileyCode; |
2787 | 2787 | |
@@ -2798,7 +2798,7 @@ discard block |
||
2798 | 2798 | |
2799 | 2799 | // Replace away! |
2800 | 2800 | $message = preg_replace_callback($smileyPregSearch, |
2801 | - function ($matches) use ($smileyPregReplacements) |
|
2801 | + function($matches) use ($smileyPregReplacements) |
|
2802 | 2802 | { |
2803 | 2803 | return $smileyPregReplacements[$matches[1]]; |
2804 | 2804 | }, $message); |
@@ -2864,13 +2864,13 @@ discard block |
||
2864 | 2864 | { |
2865 | 2865 | if (defined('SID') && SID != '') |
2866 | 2866 | $setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?(?:' . SID . '(?:;|&|&))((?:board|topic)=[^#]+?)(#[^"]*?)?$~', |
2867 | - function ($m) use ($scripturl) |
|
2867 | + function($m) use ($scripturl) |
|
2868 | 2868 | { |
2869 | - return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html?' . SID. (isset($m[2]) ? "$m[2]" : ""); |
|
2869 | + return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html?' . SID . (isset($m[2]) ? "$m[2]" : ""); |
|
2870 | 2870 | }, $setLocation); |
2871 | 2871 | else |
2872 | 2872 | $setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?$~', |
2873 | - function ($m) use ($scripturl) |
|
2873 | + function($m) use ($scripturl) |
|
2874 | 2874 | { |
2875 | 2875 | return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html' . (isset($m[2]) ? "$m[2]" : ""); |
2876 | 2876 | }, $setLocation); |
@@ -3193,7 +3193,7 @@ discard block |
||
3193 | 3193 | |
3194 | 3194 | // Add a generic "Are you sure?" confirmation message. |
3195 | 3195 | addInlineJavaScript(' |
3196 | - var smf_you_sure =' . JavaScriptEscape($txt['quickmod_confirm']) .';'); |
|
3196 | + var smf_you_sure =' . JavaScriptEscape($txt['quickmod_confirm']) . ';'); |
|
3197 | 3197 | |
3198 | 3198 | // Now add the capping code for avatars. |
3199 | 3199 | if (!empty($modSettings['avatar_max_width_external']) && !empty($modSettings['avatar_max_height_external']) && !empty($modSettings['avatar_action_too_large']) && $modSettings['avatar_action_too_large'] == 'option_css_resize') |
@@ -3554,7 +3554,7 @@ discard block |
||
3554 | 3554 | |
3555 | 3555 | else |
3556 | 3556 | echo ' |
3557 | - <script src="', $settings['theme_url'] ,'/scripts/minified', ($do_deferred ? '_deferred' : '') ,'.js', $minSeed ,'"></script>'; |
|
3557 | + <script src="', $settings['theme_url'], '/scripts/minified', ($do_deferred ? '_deferred' : ''), '.js', $minSeed, '"></script>'; |
|
3558 | 3558 | } |
3559 | 3559 | |
3560 | 3560 | // Inline JavaScript - Actually useful some times! |
@@ -3632,14 +3632,14 @@ discard block |
||
3632 | 3632 | |
3633 | 3633 | else |
3634 | 3634 | echo ' |
3635 | - <link rel="stylesheet" href="', $settings['theme_url'] ,'/css/minified.css', $minSeed ,'">'; |
|
3635 | + <link rel="stylesheet" href="', $settings['theme_url'], '/css/minified.css', $minSeed, '">'; |
|
3636 | 3636 | } |
3637 | 3637 | |
3638 | 3638 | // Print the rest after the minified files. |
3639 | 3639 | if (!empty($normal)) |
3640 | 3640 | foreach ($normal as $nf) |
3641 | 3641 | echo ' |
3642 | - <link rel="stylesheet" href="', $nf ,'">'; |
|
3642 | + <link rel="stylesheet" href="', $nf, '">'; |
|
3643 | 3643 | |
3644 | 3644 | if ($db_show_debug === true) |
3645 | 3645 | { |
@@ -3655,7 +3655,7 @@ discard block |
||
3655 | 3655 | <style>'; |
3656 | 3656 | |
3657 | 3657 | foreach ($context['css_header'] as $css) |
3658 | - echo $css .' |
|
3658 | + echo $css . ' |
|
3659 | 3659 | '; |
3660 | 3660 | |
3661 | 3661 | echo' |
@@ -3684,27 +3684,27 @@ discard block |
||
3684 | 3684 | return false; |
3685 | 3685 | |
3686 | 3686 | // Did we already did this? |
3687 | - $toCache = cache_get_data('minimized_'. $settings['theme_id'] .'_'. $type, 86400); |
|
3687 | + $toCache = cache_get_data('minimized_' . $settings['theme_id'] . '_' . $type, 86400); |
|
3688 | 3688 | |
3689 | 3689 | // Already done? |
3690 | 3690 | if (!empty($toCache)) |
3691 | 3691 | return true; |
3692 | 3692 | |
3693 | 3693 | // No namespaces, sorry! |
3694 | - $classType = 'MatthiasMullie\\Minify\\'. strtoupper($type); |
|
3694 | + $classType = 'MatthiasMullie\\Minify\\' . strtoupper($type); |
|
3695 | 3695 | |
3696 | 3696 | // Temp path. |
3697 | - $cTempPath = $settings['theme_dir'] .'/'. ($type == 'css' ? 'css' : 'scripts') .'/'; |
|
3697 | + $cTempPath = $settings['theme_dir'] . '/' . ($type == 'css' ? 'css' : 'scripts') . '/'; |
|
3698 | 3698 | |
3699 | 3699 | // What kind of file are we going to create? |
3700 | - $toCreate = $cTempPath .'minified'. ($do_deferred ? '_deferred' : '') .'.'. $type; |
|
3700 | + $toCreate = $cTempPath . 'minified' . ($do_deferred ? '_deferred' : '') . '.' . $type; |
|
3701 | 3701 | |
3702 | 3702 | // File has to exists, if it isn't try to create it. |
3703 | 3703 | if ((!file_exists($toCreate) && @fopen($toCreate, 'w') === false) || !smf_chmod($toCreate)) |
3704 | 3704 | { |
3705 | 3705 | loadLanguage('Errors'); |
3706 | 3706 | log_error(sprintf($txt['file_not_created'], $toCreate), 'general'); |
3707 | - cache_put_data('minimized_'. $settings['theme_id'] .'_'. $type, null); |
|
3707 | + cache_put_data('minimized_' . $settings['theme_id'] . '_' . $type, null); |
|
3708 | 3708 | |
3709 | 3709 | // The process failed so roll back to print each individual file. |
3710 | 3710 | return $data; |
@@ -3739,14 +3739,14 @@ discard block |
||
3739 | 3739 | { |
3740 | 3740 | loadLanguage('Errors'); |
3741 | 3741 | log_error(sprintf($txt['file_not_created'], $toCreate), 'general'); |
3742 | - cache_put_data('minimized_'. $settings['theme_id'] .'_'. $type, null); |
|
3742 | + cache_put_data('minimized_' . $settings['theme_id'] . '_' . $type, null); |
|
3743 | 3743 | |
3744 | 3744 | // The process failed so roll back to print each individual file. |
3745 | 3745 | return $data; |
3746 | 3746 | } |
3747 | 3747 | |
3748 | 3748 | // And create a long lived cache entry. |
3749 | - cache_put_data('minimized_'. $settings['theme_id'] .'_'. $type, $toCreate, 86400); |
|
3749 | + cache_put_data('minimized_' . $settings['theme_id'] . '_' . $type, $toCreate, 86400); |
|
3750 | 3750 | |
3751 | 3751 | return true; |
3752 | 3752 | } |
@@ -3806,7 +3806,7 @@ discard block |
||
3806 | 3806 | else |
3807 | 3807 | $path = $modSettings['attachmentUploadDir']; |
3808 | 3808 | |
3809 | - return $path . '/' . $attachment_id . '_' . $file_hash .'.dat'; |
|
3809 | + return $path . '/' . $attachment_id . '_' . $file_hash . '.dat'; |
|
3810 | 3810 | } |
3811 | 3811 | |
3812 | 3812 | /** |
@@ -3850,10 +3850,10 @@ discard block |
||
3850 | 3850 | $valid_low = isValidIP($ip_parts[0]); |
3851 | 3851 | $valid_high = isValidIP($ip_parts[1]); |
3852 | 3852 | $count = 0; |
3853 | - $mode = (preg_match('/:/',$ip_parts[0]) > 0 ? ':' : '.'); |
|
3853 | + $mode = (preg_match('/:/', $ip_parts[0]) > 0 ? ':' : '.'); |
|
3854 | 3854 | $max = ($mode == ':' ? 'ffff' : '255'); |
3855 | 3855 | $min = 0; |
3856 | - if(!$valid_low) |
|
3856 | + if (!$valid_low) |
|
3857 | 3857 | { |
3858 | 3858 | $ip_parts[0] = preg_replace('/\*/', '0', $ip_parts[0]); |
3859 | 3859 | $valid_low = isValidIP($ip_parts[0]); |
@@ -3867,7 +3867,7 @@ discard block |
||
3867 | 3867 | } |
3868 | 3868 | |
3869 | 3869 | $count = 0; |
3870 | - if(!$valid_high) |
|
3870 | + if (!$valid_high) |
|
3871 | 3871 | { |
3872 | 3872 | $ip_parts[1] = preg_replace('/\*/', $max, $ip_parts[1]); |
3873 | 3873 | $valid_high = isValidIP($ip_parts[1]); |
@@ -3880,7 +3880,7 @@ discard block |
||
3880 | 3880 | } |
3881 | 3881 | } |
3882 | 3882 | |
3883 | - if($valid_high && $valid_low) |
|
3883 | + if ($valid_high && $valid_low) |
|
3884 | 3884 | { |
3885 | 3885 | $ip_array['low'] = $ip_parts[0]; |
3886 | 3886 | $ip_array['high'] = $ip_parts[1]; |
@@ -4062,7 +4062,7 @@ discard block |
||
4062 | 4062 | addInlineJavaScript(' |
4063 | 4063 | var user_menus = new smc_PopupMenu(); |
4064 | 4064 | user_menus.add("profile", "' . $scripturl . '?action=profile;area=popup"); |
4065 | - user_menus.add("alerts", "' . $scripturl . '?action=profile;area=alerts_popup;u='. $context['user']['id'] .'");', true); |
|
4065 | + user_menus.add("alerts", "' . $scripturl . '?action=profile;area=alerts_popup;u=' . $context['user']['id'] . '");', true); |
|
4066 | 4066 | if ($context['allow_pm']) |
4067 | 4067 | addInlineJavaScript(' |
4068 | 4068 | user_menus.add("pm", "' . $scripturl . '?action=pm;sa=popup");', true); |
@@ -4682,7 +4682,7 @@ discard block |
||
4682 | 4682 | // No? try a fallback to $sourcedir |
4683 | 4683 | else |
4684 | 4684 | { |
4685 | - $absPath = $sourcedir .'/'. $file; |
|
4685 | + $absPath = $sourcedir . '/' . $file; |
|
4686 | 4686 | |
4687 | 4687 | if (file_exists($absPath)) |
4688 | 4688 | require_once($absPath); |
@@ -4763,15 +4763,15 @@ discard block |
||
4763 | 4763 | |
4764 | 4764 | // UTF-8 occurences of MS special characters |
4765 | 4765 | $findchars_utf8 = array( |
4766 | - "\xe2\x80\x9a", // single low-9 quotation mark |
|
4767 | - "\xe2\x80\x9e", // double low-9 quotation mark |
|
4768 | - "\xe2\x80\xa6", // horizontal ellipsis |
|
4769 | - "\xe2\x80\x98", // left single curly quote |
|
4770 | - "\xe2\x80\x99", // right single curly quote |
|
4771 | - "\xe2\x80\x9c", // left double curly quote |
|
4772 | - "\xe2\x80\x9d", // right double curly quote |
|
4773 | - "\xe2\x80\x93", // en dash |
|
4774 | - "\xe2\x80\x94", // em dash |
|
4766 | + "\xe2\x80\x9a", // single low-9 quotation mark |
|
4767 | + "\xe2\x80\x9e", // double low-9 quotation mark |
|
4768 | + "\xe2\x80\xa6", // horizontal ellipsis |
|
4769 | + "\xe2\x80\x98", // left single curly quote |
|
4770 | + "\xe2\x80\x99", // right single curly quote |
|
4771 | + "\xe2\x80\x9c", // left double curly quote |
|
4772 | + "\xe2\x80\x9d", // right double curly quote |
|
4773 | + "\xe2\x80\x93", // en dash |
|
4774 | + "\xe2\x80\x94", // em dash |
|
4775 | 4775 | ); |
4776 | 4776 | |
4777 | 4777 | // windows 1252 / iso equivalents |
@@ -4789,15 +4789,15 @@ discard block |
||
4789 | 4789 | |
4790 | 4790 | // safe replacements |
4791 | 4791 | $replacechars = array( |
4792 | - ',', // ‚ |
|
4793 | - ',,', // „ |
|
4794 | - '...', // … |
|
4795 | - "'", // ‘ |
|
4796 | - "'", // ’ |
|
4797 | - '"', // “ |
|
4798 | - '"', // ” |
|
4799 | - '-', // – |
|
4800 | - '--', // — |
|
4792 | + ',', // ‚ |
|
4793 | + ',,', // „ |
|
4794 | + '...', // … |
|
4795 | + "'", // ‘ |
|
4796 | + "'", // ’ |
|
4797 | + '"', // “ |
|
4798 | + '"', // ” |
|
4799 | + '-', // – |
|
4800 | + '--', // — |
|
4801 | 4801 | ); |
4802 | 4802 | |
4803 | 4803 | if ($context['utf8']) |
@@ -5216,7 +5216,7 @@ discard block |
||
5216 | 5216 | */ |
5217 | 5217 | function inet_dtop($bin) |
5218 | 5218 | { |
5219 | - if(empty($bin)) |
|
5219 | + if (empty($bin)) |
|
5220 | 5220 | return ''; |
5221 | 5221 | |
5222 | 5222 | global $db_type; |
@@ -5247,28 +5247,28 @@ discard block |
||
5247 | 5247 | */ |
5248 | 5248 | function _safe_serialize($value) |
5249 | 5249 | { |
5250 | - if(is_null($value)) |
|
5250 | + if (is_null($value)) |
|
5251 | 5251 | return 'N;'; |
5252 | 5252 | |
5253 | - if(is_bool($value)) |
|
5254 | - return 'b:'. (int) $value .';'; |
|
5253 | + if (is_bool($value)) |
|
5254 | + return 'b:' . (int) $value . ';'; |
|
5255 | 5255 | |
5256 | - if(is_int($value)) |
|
5257 | - return 'i:'. $value .';'; |
|
5256 | + if (is_int($value)) |
|
5257 | + return 'i:' . $value . ';'; |
|
5258 | 5258 | |
5259 | - if(is_float($value)) |
|
5260 | - return 'd:'. str_replace(',', '.', $value) .';'; |
|
5259 | + if (is_float($value)) |
|
5260 | + return 'd:' . str_replace(',', '.', $value) . ';'; |
|
5261 | 5261 | |
5262 | - if(is_string($value)) |
|
5263 | - return 's:'. strlen($value) .':"'. $value .'";'; |
|
5262 | + if (is_string($value)) |
|
5263 | + return 's:' . strlen($value) . ':"' . $value . '";'; |
|
5264 | 5264 | |
5265 | - if(is_array($value)) |
|
5265 | + if (is_array($value)) |
|
5266 | 5266 | { |
5267 | 5267 | $out = ''; |
5268 | - foreach($value as $k => $v) |
|
5268 | + foreach ($value as $k => $v) |
|
5269 | 5269 | $out .= _safe_serialize($k) . _safe_serialize($v); |
5270 | 5270 | |
5271 | - return 'a:'. count($value) .':{'. $out .'}'; |
|
5271 | + return 'a:' . count($value) . ':{' . $out . '}'; |
|
5272 | 5272 | } |
5273 | 5273 | |
5274 | 5274 | // safe_serialize cannot serialize resources or objects. |
@@ -5310,7 +5310,7 @@ discard block |
||
5310 | 5310 | function _safe_unserialize($str) |
5311 | 5311 | { |
5312 | 5312 | // Input is not a string. |
5313 | - if(empty($str) || !is_string($str)) |
|
5313 | + if (empty($str) || !is_string($str)) |
|
5314 | 5314 | return false; |
5315 | 5315 | |
5316 | 5316 | $stack = array(); |
@@ -5324,40 +5324,40 @@ discard block |
||
5324 | 5324 | * 3 - in array, expecting value or another array |
5325 | 5325 | */ |
5326 | 5326 | $state = 0; |
5327 | - while($state != 1) |
|
5327 | + while ($state != 1) |
|
5328 | 5328 | { |
5329 | 5329 | $type = isset($str[0]) ? $str[0] : ''; |
5330 | - if($type == '}') |
|
5330 | + if ($type == '}') |
|
5331 | 5331 | $str = substr($str, 1); |
5332 | 5332 | |
5333 | - else if($type == 'N' && $str[1] == ';') |
|
5333 | + else if ($type == 'N' && $str[1] == ';') |
|
5334 | 5334 | { |
5335 | 5335 | $value = null; |
5336 | 5336 | $str = substr($str, 2); |
5337 | 5337 | } |
5338 | - else if($type == 'b' && preg_match('/^b:([01]);/', $str, $matches)) |
|
5338 | + else if ($type == 'b' && preg_match('/^b:([01]);/', $str, $matches)) |
|
5339 | 5339 | { |
5340 | 5340 | $value = $matches[1] == '1' ? true : false; |
5341 | 5341 | $str = substr($str, 4); |
5342 | 5342 | } |
5343 | - else if($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches)) |
|
5343 | + else if ($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches)) |
|
5344 | 5344 | { |
5345 | - $value = (int)$matches[1]; |
|
5345 | + $value = (int) $matches[1]; |
|
5346 | 5346 | $str = $matches[2]; |
5347 | 5347 | } |
5348 | - else if($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches)) |
|
5348 | + else if ($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches)) |
|
5349 | 5349 | { |
5350 | - $value = (float)$matches[1]; |
|
5350 | + $value = (float) $matches[1]; |
|
5351 | 5351 | $str = $matches[3]; |
5352 | 5352 | } |
5353 | - else if($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int)$matches[1], 2) == '";') |
|
5353 | + else if ($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int) $matches[1], 2) == '";') |
|
5354 | 5354 | { |
5355 | - $value = substr($matches[2], 0, (int)$matches[1]); |
|
5356 | - $str = substr($matches[2], (int)$matches[1] + 2); |
|
5355 | + $value = substr($matches[2], 0, (int) $matches[1]); |
|
5356 | + $str = substr($matches[2], (int) $matches[1] + 2); |
|
5357 | 5357 | } |
5358 | - else if($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches)) |
|
5358 | + else if ($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches)) |
|
5359 | 5359 | { |
5360 | - $expectedLength = (int)$matches[1]; |
|
5360 | + $expectedLength = (int) $matches[1]; |
|
5361 | 5361 | $str = $matches[2]; |
5362 | 5362 | } |
5363 | 5363 | |
@@ -5365,10 +5365,10 @@ discard block |
||
5365 | 5365 | else |
5366 | 5366 | return false; |
5367 | 5367 | |
5368 | - switch($state) |
|
5368 | + switch ($state) |
|
5369 | 5369 | { |
5370 | 5370 | case 3: // In array, expecting value or another array. |
5371 | - if($type == 'a') |
|
5371 | + if ($type == 'a') |
|
5372 | 5372 | { |
5373 | 5373 | $stack[] = &$list; |
5374 | 5374 | $list[$key] = array(); |
@@ -5377,7 +5377,7 @@ discard block |
||
5377 | 5377 | $state = 2; |
5378 | 5378 | break; |
5379 | 5379 | } |
5380 | - if($type != '}') |
|
5380 | + if ($type != '}') |
|
5381 | 5381 | { |
5382 | 5382 | $list[$key] = $value; |
5383 | 5383 | $state = 2; |
@@ -5388,29 +5388,29 @@ discard block |
||
5388 | 5388 | return false; |
5389 | 5389 | |
5390 | 5390 | case 2: // in array, expecting end of array or a key |
5391 | - if($type == '}') |
|
5391 | + if ($type == '}') |
|
5392 | 5392 | { |
5393 | 5393 | // Array size is less than expected. |
5394 | - if(count($list) < end($expected)) |
|
5394 | + if (count($list) < end($expected)) |
|
5395 | 5395 | return false; |
5396 | 5396 | |
5397 | 5397 | unset($list); |
5398 | - $list = &$stack[count($stack)-1]; |
|
5398 | + $list = &$stack[count($stack) - 1]; |
|
5399 | 5399 | array_pop($stack); |
5400 | 5400 | |
5401 | 5401 | // Go to terminal state if we're at the end of the root array. |
5402 | 5402 | array_pop($expected); |
5403 | 5403 | |
5404 | - if(count($expected) == 0) |
|
5404 | + if (count($expected) == 0) |
|
5405 | 5405 | $state = 1; |
5406 | 5406 | |
5407 | 5407 | break; |
5408 | 5408 | } |
5409 | 5409 | |
5410 | - if($type == 'i' || $type == 's') |
|
5410 | + if ($type == 'i' || $type == 's') |
|
5411 | 5411 | { |
5412 | 5412 | // Array size exceeds expected length. |
5413 | - if(count($list) >= end($expected)) |
|
5413 | + if (count($list) >= end($expected)) |
|
5414 | 5414 | return false; |
5415 | 5415 | |
5416 | 5416 | $key = $value; |
@@ -5423,7 +5423,7 @@ discard block |
||
5423 | 5423 | |
5424 | 5424 | // Expecting array or value. |
5425 | 5425 | case 0: |
5426 | - if($type == 'a') |
|
5426 | + if ($type == 'a') |
|
5427 | 5427 | { |
5428 | 5428 | $data = array(); |
5429 | 5429 | $list = &$data; |
@@ -5432,7 +5432,7 @@ discard block |
||
5432 | 5432 | break; |
5433 | 5433 | } |
5434 | 5434 | |
5435 | - if($type != '}') |
|
5435 | + if ($type != '}') |
|
5436 | 5436 | { |
5437 | 5437 | $data = $value; |
5438 | 5438 | $state = 1; |
@@ -5445,7 +5445,7 @@ discard block |
||
5445 | 5445 | } |
5446 | 5446 | |
5447 | 5447 | // Trailing data in input. |
5448 | - if(!empty($str)) |
|
5448 | + if (!empty($str)) |
|
5449 | 5449 | return false; |
5450 | 5450 | |
5451 | 5451 | return $data; |
@@ -5499,7 +5499,7 @@ discard block |
||
5499 | 5499 | // Set different modes. |
5500 | 5500 | $chmodValues = $isDir ? array(0750, 0755, 0775, 0777) : array(0644, 0664, 0666); |
5501 | 5501 | |
5502 | - foreach($chmodValues as $val) |
|
5502 | + foreach ($chmodValues as $val) |
|
5503 | 5503 | { |
5504 | 5504 | // If it's writable, break out of the loop. |
5505 | 5505 | if (is_writable($file)) |
@@ -5534,13 +5534,13 @@ discard block |
||
5534 | 5534 | $returnArray = @json_decode($json, $returnAsArray); |
5535 | 5535 | |
5536 | 5536 | // PHP 5.3 so no json_last_error_msg() |
5537 | - switch(json_last_error()) |
|
5537 | + switch (json_last_error()) |
|
5538 | 5538 | { |
5539 | 5539 | case JSON_ERROR_NONE: |
5540 | 5540 | $jsonError = false; |
5541 | 5541 | break; |
5542 | 5542 | case JSON_ERROR_DEPTH: |
5543 | - $jsonError = 'JSON_ERROR_DEPTH'; |
|
5543 | + $jsonError = 'JSON_ERROR_DEPTH'; |
|
5544 | 5544 | break; |
5545 | 5545 | case JSON_ERROR_STATE_MISMATCH: |
5546 | 5546 | $jsonError = 'JSON_ERROR_STATE_MISMATCH'; |
@@ -5568,10 +5568,10 @@ discard block |
||
5568 | 5568 | loadLanguage('Errors'); |
5569 | 5569 | |
5570 | 5570 | if (!empty($jsonDebug)) |
5571 | - log_error($txt['json_'. $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']); |
|
5571 | + log_error($txt['json_' . $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']); |
|
5572 | 5572 | |
5573 | 5573 | else |
5574 | - log_error($txt['json_'. $jsonError], 'critical'); |
|
5574 | + log_error($txt['json_' . $jsonError], 'critical'); |
|
5575 | 5575 | |
5576 | 5576 | // Everyone expects an array. |
5577 | 5577 | return array(); |
@@ -5683,7 +5683,7 @@ discard block |
||
5683 | 5683 | }); |
5684 | 5684 | |
5685 | 5685 | // Convert Punycode to Unicode |
5686 | - $tlds = array_map(function ($input) { |
|
5686 | + $tlds = array_map(function($input) { |
|
5687 | 5687 | $prefix = 'xn--'; |
5688 | 5688 | $safe_char = 0xFFFC; |
5689 | 5689 | $base = 36; |
@@ -5699,7 +5699,7 @@ discard block |
||
5699 | 5699 | |
5700 | 5700 | foreach ($enco_parts as $encoded) |
5701 | 5701 | { |
5702 | - if (strpos($encoded,$prefix) !== 0 || strlen(trim(str_replace($prefix,'',$encoded))) == 0) |
|
5702 | + if (strpos($encoded, $prefix) !== 0 || strlen(trim(str_replace($prefix, '', $encoded))) == 0) |
|
5703 | 5703 | { |
5704 | 5704 | $output_parts[] = $encoded; |
5705 | 5705 | continue; |
@@ -5710,7 +5710,7 @@ discard block |
||
5710 | 5710 | $idx = 0; |
5711 | 5711 | $char = 0x80; |
5712 | 5712 | $decoded = array(); |
5713 | - $output=''; |
|
5713 | + $output = ''; |
|
5714 | 5714 | $delim_pos = strrpos($encoded, '-'); |
5715 | 5715 | |
5716 | 5716 | if ($delim_pos > strlen($prefix)) |
@@ -5726,7 +5726,7 @@ discard block |
||
5726 | 5726 | |
5727 | 5727 | for ($enco_idx = $delim_pos ? ($delim_pos + 1) : 0; $enco_idx < $enco_len; ++$deco_len) |
5728 | 5728 | { |
5729 | - for ($old_idx = $idx, $w = 1, $k = $base; 1 ; $k += $base) |
|
5729 | + for ($old_idx = $idx, $w = 1, $k = $base; 1; $k += $base) |
|
5730 | 5730 | { |
5731 | 5731 | $cp = ord($encoded{$enco_idx++}); |
5732 | 5732 | $digit = ($cp - 48 < 10) ? $cp - 22 : (($cp - 65 < 26) ? $cp - 65 : (($cp - 97 < 26) ? $cp - 97 : $base)); |
@@ -5767,15 +5767,15 @@ discard block |
||
5767 | 5767 | |
5768 | 5768 | // 2 bytes |
5769 | 5769 | elseif ($v < (1 << 11)) |
5770 | - $output .= chr(192+($v >> 6)) . chr(128+($v & 63)); |
|
5770 | + $output .= chr(192 + ($v >> 6)) . chr(128 + ($v & 63)); |
|
5771 | 5771 | |
5772 | 5772 | // 3 bytes |
5773 | 5773 | elseif ($v < (1 << 16)) |
5774 | - $output .= chr(224+($v >> 12)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63)); |
|
5774 | + $output .= chr(224 + ($v >> 12)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63)); |
|
5775 | 5775 | |
5776 | 5776 | // 4 bytes |
5777 | 5777 | elseif ($v < (1 << 21)) |
5778 | - $output .= chr(240+($v >> 18)) . chr(128+(($v >> 12) & 63)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63)); |
|
5778 | + $output .= chr(240 + ($v >> 18)) . chr(128 + (($v >> 12) & 63)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63)); |
|
5779 | 5779 | |
5780 | 5780 | // 'Conversion from UCS-4 to UTF-8 failed: malformed input at byte '.$k |
5781 | 5781 | else |
@@ -5880,7 +5880,7 @@ discard block |
||
5880 | 5880 | } |
5881 | 5881 | |
5882 | 5882 | // This recursive function creates the index array from the strings |
5883 | - $add_string_to_index = function ($string, $index) use (&$strlen, &$substr, &$add_string_to_index) |
|
5883 | + $add_string_to_index = function($string, $index) use (&$strlen, &$substr, &$add_string_to_index) |
|
5884 | 5884 | { |
5885 | 5885 | static $depth = 0; |
5886 | 5886 | $depth++; |
@@ -5907,7 +5907,7 @@ discard block |
||
5907 | 5907 | }; |
5908 | 5908 | |
5909 | 5909 | // This recursive function turns the index array into a regular expression |
5910 | - $index_to_regex = function (&$index, $delim) use (&$strlen, &$index_to_regex) |
|
5910 | + $index_to_regex = function(&$index, $delim) use (&$strlen, &$index_to_regex) |
|
5911 | 5911 | { |
5912 | 5912 | static $depth = 0; |
5913 | 5913 | $depth++; |
@@ -5931,11 +5931,11 @@ discard block |
||
5931 | 5931 | |
5932 | 5932 | if (count(array_keys($value)) == 1) |
5933 | 5933 | { |
5934 | - $new_key_array = explode('(?'.'>', $sub_regex); |
|
5934 | + $new_key_array = explode('(?' . '>', $sub_regex); |
|
5935 | 5935 | $new_key .= $new_key_array[0]; |
5936 | 5936 | } |
5937 | 5937 | else |
5938 | - $sub_regex = '(?'.'>' . $sub_regex . ')'; |
|
5938 | + $sub_regex = '(?' . '>' . $sub_regex . ')'; |
|
5939 | 5939 | } |
5940 | 5940 | |
5941 | 5941 | if ($depth > 1) |
@@ -5978,10 +5978,10 @@ discard block |
||
5978 | 5978 | { |
5979 | 5979 | $regex = array(); |
5980 | 5980 | while (!empty($index)) |
5981 | - $regex[] = '(?'.'>' . $index_to_regex($index, $delim) . ')'; |
|
5981 | + $regex[] = '(?' . '>' . $index_to_regex($index, $delim) . ')'; |
|
5982 | 5982 | } |
5983 | 5983 | else |
5984 | - $regex = '(?'.'>' . $index_to_regex($index, $delim) . ')'; |
|
5984 | + $regex = '(?' . '>' . $index_to_regex($index, $delim) . ')'; |
|
5985 | 5985 | |
5986 | 5986 | // Restore PHP's internal character encoding to whatever it was originally |
5987 | 5987 | if (!empty($current_encoding)) |
@@ -6001,7 +6001,7 @@ discard block |
||
6001 | 6001 | $url = str_ireplace('http://', 'https://', $url) . '/'; |
6002 | 6002 | |
6003 | 6003 | $result = false; |
6004 | - $stream = stream_context_create (array("ssl" => array("capture_peer_cert" => true))); |
|
6004 | + $stream = stream_context_create(array("ssl" => array("capture_peer_cert" => true))); |
|
6005 | 6005 | $read = @fopen($url, "rb", false, $stream); |
6006 | 6006 | if ($read !== false) { |
6007 | 6007 | $cont = stream_context_get_params($read); |
@@ -5476,7 +5476,6 @@ discard block |
||
5476 | 5476 | |
5477 | 5477 | /** |
5478 | 5478 | * Tries different modes to make file/dirs writable. Wrapper function for chmod() |
5479 | - |
|
5480 | 5479 | * @param string $file The file/dir full path. |
5481 | 5480 | * @param int $value Not needed, added for legacy reasons. |
5482 | 5481 | * @return boolean true if the file/dir is already writable or the function was able to make it writable, false if the function couldn't make the file/dir writable. |
@@ -5516,7 +5515,6 @@ discard block |
||
5516 | 5515 | |
5517 | 5516 | /** |
5518 | 5517 | * Wrapper function for json_decode() with error handling. |
5519 | - |
|
5520 | 5518 | * @param string $json The string to decode. |
5521 | 5519 | * @param bool $returnAsArray To return the decoded string as an array or an object, SMF only uses Arrays but to keep on compatibility with json_decode its set to false as default. |
5522 | 5520 | * @param bool $logIt To specify if the error will be logged if theres any. |
@@ -6007,7 +6005,7 @@ discard block |
||
6007 | 6005 | $cont = stream_context_get_params($read); |
6008 | 6006 | $result = isset($cont["options"]["ssl"]["peer_certificate"]) ? true : false; |
6009 | 6007 | } |
6010 | - return $result; |
|
6008 | + return $result; |
|
6011 | 6009 | } |
6012 | 6010 | |
6013 | 6011 | /** |
@@ -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 | * Update some basic statistics. |
@@ -122,10 +123,11 @@ discard block |
||
122 | 123 | $smcFunc['db_free_result']($result); |
123 | 124 | |
124 | 125 | // Add this to the number of unapproved members |
125 | - if (!empty($changes['unapprovedMembers'])) |
|
126 | - $changes['unapprovedMembers'] += $coppa_approvals; |
|
127 | - else |
|
128 | - $changes['unapprovedMembers'] = $coppa_approvals; |
|
126 | + if (!empty($changes['unapprovedMembers'])) { |
|
127 | + $changes['unapprovedMembers'] += $coppa_approvals; |
|
128 | + } else { |
|
129 | + $changes['unapprovedMembers'] = $coppa_approvals; |
|
130 | + } |
|
129 | 131 | } |
130 | 132 | } |
131 | 133 | } |
@@ -133,9 +135,9 @@ discard block |
||
133 | 135 | break; |
134 | 136 | |
135 | 137 | case 'message': |
136 | - if ($parameter1 === true && $parameter2 !== null) |
|
137 | - updateSettings(array('totalMessages' => true, 'maxMsgID' => $parameter2), true); |
|
138 | - else |
|
138 | + if ($parameter1 === true && $parameter2 !== null) { |
|
139 | + updateSettings(array('totalMessages' => true, 'maxMsgID' => $parameter2), true); |
|
140 | + } else |
|
139 | 141 | { |
140 | 142 | // SUM and MAX on a smaller table is better for InnoDB tables. |
141 | 143 | $result = $smcFunc['db_query']('', ' |
@@ -175,23 +177,25 @@ discard block |
||
175 | 177 | $parameter2 = text2words($parameter2); |
176 | 178 | |
177 | 179 | $inserts = array(); |
178 | - foreach ($parameter2 as $word) |
|
179 | - $inserts[] = array($word, $parameter1); |
|
180 | + foreach ($parameter2 as $word) { |
|
181 | + $inserts[] = array($word, $parameter1); |
|
182 | + } |
|
180 | 183 | |
181 | - if (!empty($inserts)) |
|
182 | - $smcFunc['db_insert']('ignore', |
|
184 | + if (!empty($inserts)) { |
|
185 | + $smcFunc['db_insert']('ignore', |
|
183 | 186 | '{db_prefix}log_search_subjects', |
184 | 187 | array('word' => 'string', 'id_topic' => 'int'), |
185 | 188 | $inserts, |
186 | 189 | array('word', 'id_topic') |
187 | 190 | ); |
191 | + } |
|
188 | 192 | } |
189 | 193 | break; |
190 | 194 | |
191 | 195 | case 'topic': |
192 | - if ($parameter1 === true) |
|
193 | - updateSettings(array('totalTopics' => true), true); |
|
194 | - else |
|
196 | + if ($parameter1 === true) { |
|
197 | + updateSettings(array('totalTopics' => true), true); |
|
198 | + } else |
|
195 | 199 | { |
196 | 200 | // Get the number of topics - a SUM is better for InnoDB tables. |
197 | 201 | // We also ignore the recycle bin here because there will probably be a bunch of one-post topics there. |
@@ -212,8 +216,9 @@ discard block |
||
212 | 216 | |
213 | 217 | case 'postgroups': |
214 | 218 | // Parameter two is the updated columns: we should check to see if we base groups off any of these. |
215 | - if ($parameter2 !== null && !in_array('posts', $parameter2)) |
|
216 | - return; |
|
219 | + if ($parameter2 !== null && !in_array('posts', $parameter2)) { |
|
220 | + return; |
|
221 | + } |
|
217 | 222 | |
218 | 223 | $postgroups = cache_get_data('updateStats:postgroups', 360); |
219 | 224 | if ($postgroups == null || $parameter1 == null) |
@@ -228,8 +233,9 @@ discard block |
||
228 | 233 | ) |
229 | 234 | ); |
230 | 235 | $postgroups = array(); |
231 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
232 | - $postgroups[$row['id_group']] = $row['min_posts']; |
|
236 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
237 | + $postgroups[$row['id_group']] = $row['min_posts']; |
|
238 | + } |
|
233 | 239 | $smcFunc['db_free_result']($request); |
234 | 240 | |
235 | 241 | // Sort them this way because if it's done with MySQL it causes a filesort :(. |
@@ -239,8 +245,9 @@ discard block |
||
239 | 245 | } |
240 | 246 | |
241 | 247 | // Oh great, they've screwed their post groups. |
242 | - if (empty($postgroups)) |
|
243 | - return; |
|
248 | + if (empty($postgroups)) { |
|
249 | + return; |
|
250 | + } |
|
244 | 251 | |
245 | 252 | // Set all membergroups from most posts to least posts. |
246 | 253 | $conditions = ''; |
@@ -298,10 +305,9 @@ discard block |
||
298 | 305 | { |
299 | 306 | $condition = 'id_member IN ({array_int:members})'; |
300 | 307 | $parameters['members'] = $members; |
301 | - } |
|
302 | - elseif ($members === null) |
|
303 | - $condition = '1=1'; |
|
304 | - else |
|
308 | + } elseif ($members === null) { |
|
309 | + $condition = '1=1'; |
|
310 | + } else |
|
305 | 311 | { |
306 | 312 | $condition = 'id_member = {int:member}'; |
307 | 313 | $parameters['member'] = $members; |
@@ -341,9 +347,9 @@ discard block |
||
341 | 347 | if (count($vars_to_integrate) != 0) |
342 | 348 | { |
343 | 349 | // Fetch a list of member_names if necessary |
344 | - if ((!is_array($members) && $members === $user_info['id']) || (is_array($members) && count($members) == 1 && in_array($user_info['id'], $members))) |
|
345 | - $member_names = array($user_info['username']); |
|
346 | - else |
|
350 | + if ((!is_array($members) && $members === $user_info['id']) || (is_array($members) && count($members) == 1 && in_array($user_info['id'], $members))) { |
|
351 | + $member_names = array($user_info['username']); |
|
352 | + } else |
|
347 | 353 | { |
348 | 354 | $member_names = array(); |
349 | 355 | $request = $smcFunc['db_query']('', ' |
@@ -352,14 +358,16 @@ discard block |
||
352 | 358 | WHERE ' . $condition, |
353 | 359 | $parameters |
354 | 360 | ); |
355 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
356 | - $member_names[] = $row['member_name']; |
|
361 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
362 | + $member_names[] = $row['member_name']; |
|
363 | + } |
|
357 | 364 | $smcFunc['db_free_result']($request); |
358 | 365 | } |
359 | 366 | |
360 | - if (!empty($member_names)) |
|
361 | - foreach ($vars_to_integrate as $var) |
|
367 | + if (!empty($member_names)) { |
|
368 | + foreach ($vars_to_integrate as $var) |
|
362 | 369 | call_integration_hook('integrate_change_member_data', array($member_names, $var, &$data[$var], &$knownInts, &$knownFloats)); |
370 | + } |
|
363 | 371 | } |
364 | 372 | } |
365 | 373 | |
@@ -367,16 +375,17 @@ discard block |
||
367 | 375 | foreach ($data as $var => $val) |
368 | 376 | { |
369 | 377 | $type = 'string'; |
370 | - if (in_array($var, $knownInts)) |
|
371 | - $type = 'int'; |
|
372 | - elseif (in_array($var, $knownFloats)) |
|
373 | - $type = 'float'; |
|
374 | - elseif ($var == 'birthdate') |
|
375 | - $type = 'date'; |
|
376 | - elseif ($var == 'member_ip') |
|
377 | - $type = 'inet'; |
|
378 | - elseif ($var == 'member_ip2') |
|
379 | - $type = 'inet'; |
|
378 | + if (in_array($var, $knownInts)) { |
|
379 | + $type = 'int'; |
|
380 | + } elseif (in_array($var, $knownFloats)) { |
|
381 | + $type = 'float'; |
|
382 | + } elseif ($var == 'birthdate') { |
|
383 | + $type = 'date'; |
|
384 | + } elseif ($var == 'member_ip') { |
|
385 | + $type = 'inet'; |
|
386 | + } elseif ($var == 'member_ip2') { |
|
387 | + $type = 'inet'; |
|
388 | + } |
|
380 | 389 | |
381 | 390 | // Doing an increment? |
382 | 391 | if ($type == 'int' && ($val === '+' || $val === '-')) |
@@ -390,8 +399,9 @@ discard block |
||
390 | 399 | { |
391 | 400 | if (preg_match('~^' . $var . ' (\+ |- |\+ -)([\d]+)~', $val, $match)) |
392 | 401 | { |
393 | - if ($match[1] != '+ ') |
|
394 | - $val = 'CASE WHEN ' . $var . ' <= ' . abs($match[2]) . ' THEN 0 ELSE ' . $val . ' END'; |
|
402 | + if ($match[1] != '+ ') { |
|
403 | + $val = 'CASE WHEN ' . $var . ' <= ' . abs($match[2]) . ' THEN 0 ELSE ' . $val . ' END'; |
|
404 | + } |
|
395 | 405 | $type = 'raw'; |
396 | 406 | } |
397 | 407 | } |
@@ -412,8 +422,9 @@ discard block |
||
412 | 422 | // Clear any caching? |
413 | 423 | if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2 && !empty($members)) |
414 | 424 | { |
415 | - if (!is_array($members)) |
|
416 | - $members = array($members); |
|
425 | + if (!is_array($members)) { |
|
426 | + $members = array($members); |
|
427 | + } |
|
417 | 428 | |
418 | 429 | foreach ($members as $member) |
419 | 430 | { |
@@ -446,29 +457,32 @@ discard block |
||
446 | 457 | { |
447 | 458 | global $modSettings, $smcFunc; |
448 | 459 | |
449 | - if (empty($changeArray) || !is_array($changeArray)) |
|
450 | - return; |
|
460 | + if (empty($changeArray) || !is_array($changeArray)) { |
|
461 | + return; |
|
462 | + } |
|
451 | 463 | |
452 | 464 | $toRemove = array(); |
453 | 465 | |
454 | 466 | // Go check if there is any setting to be removed. |
455 | - foreach ($changeArray as $k => $v) |
|
456 | - if ($v === null) |
|
467 | + foreach ($changeArray as $k => $v) { |
|
468 | + if ($v === null) |
|
457 | 469 | { |
458 | 470 | // Found some, remove them from the original array and add them to ours. |
459 | 471 | unset($changeArray[$k]); |
472 | + } |
|
460 | 473 | $toRemove[] = $k; |
461 | 474 | } |
462 | 475 | |
463 | 476 | // Proceed with the deletion. |
464 | - if (!empty($toRemove)) |
|
465 | - $smcFunc['db_query']('', ' |
|
477 | + if (!empty($toRemove)) { |
|
478 | + $smcFunc['db_query']('', ' |
|
466 | 479 | DELETE FROM {db_prefix}settings |
467 | 480 | WHERE variable IN ({array_string:remove})', |
468 | 481 | array( |
469 | 482 | 'remove' => $toRemove, |
470 | 483 | ) |
471 | 484 | ); |
485 | + } |
|
472 | 486 | |
473 | 487 | // In some cases, this may be better and faster, but for large sets we don't want so many UPDATEs. |
474 | 488 | if ($update) |
@@ -497,19 +511,22 @@ discard block |
||
497 | 511 | foreach ($changeArray as $variable => $value) |
498 | 512 | { |
499 | 513 | // Don't bother if it's already like that ;). |
500 | - if (isset($modSettings[$variable]) && $modSettings[$variable] == $value) |
|
501 | - continue; |
|
514 | + if (isset($modSettings[$variable]) && $modSettings[$variable] == $value) { |
|
515 | + continue; |
|
516 | + } |
|
502 | 517 | // If the variable isn't set, but would only be set to nothing'ness, then don't bother setting it. |
503 | - elseif (!isset($modSettings[$variable]) && empty($value)) |
|
504 | - continue; |
|
518 | + elseif (!isset($modSettings[$variable]) && empty($value)) { |
|
519 | + continue; |
|
520 | + } |
|
505 | 521 | |
506 | 522 | $replaceArray[] = array($variable, $value); |
507 | 523 | |
508 | 524 | $modSettings[$variable] = $value; |
509 | 525 | } |
510 | 526 | |
511 | - if (empty($replaceArray)) |
|
512 | - return; |
|
527 | + if (empty($replaceArray)) { |
|
528 | + return; |
|
529 | + } |
|
513 | 530 | |
514 | 531 | $smcFunc['db_insert']('replace', |
515 | 532 | '{db_prefix}settings', |
@@ -555,14 +572,17 @@ discard block |
||
555 | 572 | $start_invalid = $start < 0; |
556 | 573 | |
557 | 574 | // Make sure $start is a proper variable - not less than 0. |
558 | - if ($start_invalid) |
|
559 | - $start = 0; |
|
575 | + if ($start_invalid) { |
|
576 | + $start = 0; |
|
577 | + } |
|
560 | 578 | // Not greater than the upper bound. |
561 | - elseif ($start >= $max_value) |
|
562 | - $start = max(0, (int) $max_value - (((int) $max_value % (int) $num_per_page) == 0 ? $num_per_page : ((int) $max_value % (int) $num_per_page))); |
|
579 | + elseif ($start >= $max_value) { |
|
580 | + $start = max(0, (int) $max_value - (((int) $max_value % (int) $num_per_page) == 0 ? $num_per_page : ((int) $max_value % (int) $num_per_page))); |
|
581 | + } |
|
563 | 582 | // And it has to be a multiple of $num_per_page! |
564 | - else |
|
565 | - $start = max(0, (int) $start - ((int) $start % (int) $num_per_page)); |
|
583 | + else { |
|
584 | + $start = max(0, (int) $start - ((int) $start % (int) $num_per_page)); |
|
585 | + } |
|
566 | 586 | |
567 | 587 | $context['current_page'] = $start / $num_per_page; |
568 | 588 | |
@@ -592,77 +612,87 @@ discard block |
||
592 | 612 | |
593 | 613 | // Show all the pages. |
594 | 614 | $display_page = 1; |
595 | - for ($counter = 0; $counter < $max_value; $counter += $num_per_page) |
|
596 | - $pageindex .= $start == $counter && !$start_invalid ? sprintf($settings['page_index']['current_page'], $display_page++) : sprintf($base_link, $counter, $display_page++); |
|
615 | + for ($counter = 0; $counter < $max_value; $counter += $num_per_page) { |
|
616 | + $pageindex .= $start == $counter && !$start_invalid ? sprintf($settings['page_index']['current_page'], $display_page++) : sprintf($base_link, $counter, $display_page++); |
|
617 | + } |
|
597 | 618 | |
598 | 619 | // Show the right arrow. |
599 | 620 | $display_page = ($start + $num_per_page) > $max_value ? $max_value : ($start + $num_per_page); |
600 | - if ($start != $counter - $max_value && !$start_invalid) |
|
601 | - $pageindex .= $display_page > $counter - $num_per_page ? ' ' : sprintf($base_link, $display_page, $settings['page_index']['next_page']); |
|
602 | - } |
|
603 | - else |
|
621 | + if ($start != $counter - $max_value && !$start_invalid) { |
|
622 | + $pageindex .= $display_page > $counter - $num_per_page ? ' ' : sprintf($base_link, $display_page, $settings['page_index']['next_page']); |
|
623 | + } |
|
624 | + } else |
|
604 | 625 | { |
605 | 626 | // If they didn't enter an odd value, pretend they did. |
606 | 627 | $PageContiguous = (int) ($modSettings['compactTopicPagesContiguous'] - ($modSettings['compactTopicPagesContiguous'] % 2)) / 2; |
607 | 628 | |
608 | 629 | // Show the "prev page" link. (>prev page< 1 ... 6 7 [8] 9 10 ... 15 next page) |
609 | - if (!empty($start) && $show_prevnext) |
|
610 | - $pageindex .= sprintf($base_link, $start - $num_per_page, $settings['page_index']['previous_page']); |
|
611 | - else |
|
612 | - $pageindex .= ''; |
|
630 | + if (!empty($start) && $show_prevnext) { |
|
631 | + $pageindex .= sprintf($base_link, $start - $num_per_page, $settings['page_index']['previous_page']); |
|
632 | + } else { |
|
633 | + $pageindex .= ''; |
|
634 | + } |
|
613 | 635 | |
614 | 636 | // Show the first page. (prev page >1< ... 6 7 [8] 9 10 ... 15) |
615 | - if ($start > $num_per_page * $PageContiguous) |
|
616 | - $pageindex .= sprintf($base_link, 0, '1'); |
|
637 | + if ($start > $num_per_page * $PageContiguous) { |
|
638 | + $pageindex .= sprintf($base_link, 0, '1'); |
|
639 | + } |
|
617 | 640 | |
618 | 641 | // Show the ... after the first page. (prev page 1 >...< 6 7 [8] 9 10 ... 15 next page) |
619 | - if ($start > $num_per_page * ($PageContiguous + 1)) |
|
620 | - $pageindex .= strtr($settings['page_index']['expand_pages'], array( |
|
642 | + if ($start > $num_per_page * ($PageContiguous + 1)) { |
|
643 | + $pageindex .= strtr($settings['page_index']['expand_pages'], array( |
|
621 | 644 | '{LINK}' => JavaScriptEscape($smcFunc['htmlspecialchars']($base_link)), |
622 | 645 | '{FIRST_PAGE}' => $num_per_page, |
623 | 646 | '{LAST_PAGE}' => $start - $num_per_page * $PageContiguous, |
624 | 647 | '{PER_PAGE}' => $num_per_page, |
625 | 648 | )); |
649 | + } |
|
626 | 650 | |
627 | 651 | // Show the pages before the current one. (prev page 1 ... >6 7< [8] 9 10 ... 15 next page) |
628 | - for ($nCont = $PageContiguous; $nCont >= 1; $nCont--) |
|
629 | - if ($start >= $num_per_page * $nCont) |
|
652 | + for ($nCont = $PageContiguous; $nCont >= 1; $nCont--) { |
|
653 | + if ($start >= $num_per_page * $nCont) |
|
630 | 654 | { |
631 | 655 | $tmpStart = $start - $num_per_page * $nCont; |
656 | + } |
|
632 | 657 | $pageindex .= sprintf($base_link, $tmpStart, $tmpStart / $num_per_page + 1); |
633 | 658 | } |
634 | 659 | |
635 | 660 | // Show the current page. (prev page 1 ... 6 7 >[8]< 9 10 ... 15 next page) |
636 | - if (!$start_invalid) |
|
637 | - $pageindex .= sprintf($settings['page_index']['current_page'], $start / $num_per_page + 1); |
|
638 | - else |
|
639 | - $pageindex .= sprintf($base_link, $start, $start / $num_per_page + 1); |
|
661 | + if (!$start_invalid) { |
|
662 | + $pageindex .= sprintf($settings['page_index']['current_page'], $start / $num_per_page + 1); |
|
663 | + } else { |
|
664 | + $pageindex .= sprintf($base_link, $start, $start / $num_per_page + 1); |
|
665 | + } |
|
640 | 666 | |
641 | 667 | // Show the pages after the current one... (prev page 1 ... 6 7 [8] >9 10< ... 15 next page) |
642 | 668 | $tmpMaxPages = (int) (($max_value - 1) / $num_per_page) * $num_per_page; |
643 | - for ($nCont = 1; $nCont <= $PageContiguous; $nCont++) |
|
644 | - if ($start + $num_per_page * $nCont <= $tmpMaxPages) |
|
669 | + for ($nCont = 1; $nCont <= $PageContiguous; $nCont++) { |
|
670 | + if ($start + $num_per_page * $nCont <= $tmpMaxPages) |
|
645 | 671 | { |
646 | 672 | $tmpStart = $start + $num_per_page * $nCont; |
673 | + } |
|
647 | 674 | $pageindex .= sprintf($base_link, $tmpStart, $tmpStart / $num_per_page + 1); |
648 | 675 | } |
649 | 676 | |
650 | 677 | // Show the '...' part near the end. (prev page 1 ... 6 7 [8] 9 10 >...< 15 next page) |
651 | - if ($start + $num_per_page * ($PageContiguous + 1) < $tmpMaxPages) |
|
652 | - $pageindex .= strtr($settings['page_index']['expand_pages'], array( |
|
678 | + if ($start + $num_per_page * ($PageContiguous + 1) < $tmpMaxPages) { |
|
679 | + $pageindex .= strtr($settings['page_index']['expand_pages'], array( |
|
653 | 680 | '{LINK}' => JavaScriptEscape($smcFunc['htmlspecialchars']($base_link)), |
654 | 681 | '{FIRST_PAGE}' => $start + $num_per_page * ($PageContiguous + 1), |
655 | 682 | '{LAST_PAGE}' => $tmpMaxPages, |
656 | 683 | '{PER_PAGE}' => $num_per_page, |
657 | 684 | )); |
685 | + } |
|
658 | 686 | |
659 | 687 | // Show the last number in the list. (prev page 1 ... 6 7 [8] 9 10 ... >15< next page) |
660 | - if ($start + $num_per_page * $PageContiguous < $tmpMaxPages) |
|
661 | - $pageindex .= sprintf($base_link, $tmpMaxPages, $tmpMaxPages / $num_per_page + 1); |
|
688 | + if ($start + $num_per_page * $PageContiguous < $tmpMaxPages) { |
|
689 | + $pageindex .= sprintf($base_link, $tmpMaxPages, $tmpMaxPages / $num_per_page + 1); |
|
690 | + } |
|
662 | 691 | |
663 | 692 | // Show the "next page" link. (prev page 1 ... 6 7 [8] 9 10 ... 15 >next page<) |
664 | - if ($start != $tmpMaxPages && $show_prevnext) |
|
665 | - $pageindex .= sprintf($base_link, $start + $num_per_page, $settings['page_index']['next_page']); |
|
693 | + if ($start != $tmpMaxPages && $show_prevnext) { |
|
694 | + $pageindex .= sprintf($base_link, $start + $num_per_page, $settings['page_index']['next_page']); |
|
695 | + } |
|
666 | 696 | } |
667 | 697 | $pageindex .= $settings['page_index']['extra_after']; |
668 | 698 | |
@@ -688,8 +718,9 @@ discard block |
||
688 | 718 | if ($decimal_separator === null) |
689 | 719 | { |
690 | 720 | // Not set for whatever reason? |
691 | - if (empty($txt['number_format']) || preg_match('~^1([^\d]*)?234([^\d]*)(0*?)$~', $txt['number_format'], $matches) != 1) |
|
692 | - return $number; |
|
721 | + if (empty($txt['number_format']) || preg_match('~^1([^\d]*)?234([^\d]*)(0*?)$~', $txt['number_format'], $matches) != 1) { |
|
722 | + return $number; |
|
723 | + } |
|
693 | 724 | |
694 | 725 | // Cache these each load... |
695 | 726 | $thousands_separator = $matches[1]; |
@@ -723,17 +754,20 @@ discard block |
||
723 | 754 | static $unsupportedFormats, $finalizedFormats; |
724 | 755 | |
725 | 756 | // Offset the time. |
726 | - if (!$offset_type) |
|
727 | - $time = $log_time + ($user_info['time_offset'] + $modSettings['time_offset']) * 3600; |
|
757 | + if (!$offset_type) { |
|
758 | + $time = $log_time + ($user_info['time_offset'] + $modSettings['time_offset']) * 3600; |
|
759 | + } |
|
728 | 760 | // Just the forum offset? |
729 | - elseif ($offset_type == 'forum') |
|
730 | - $time = $log_time + $modSettings['time_offset'] * 3600; |
|
731 | - else |
|
732 | - $time = $log_time; |
|
761 | + elseif ($offset_type == 'forum') { |
|
762 | + $time = $log_time + $modSettings['time_offset'] * 3600; |
|
763 | + } else { |
|
764 | + $time = $log_time; |
|
765 | + } |
|
733 | 766 | |
734 | 767 | // We can't have a negative date (on Windows, at least.) |
735 | - if ($log_time < 0) |
|
736 | - $log_time = 0; |
|
768 | + if ($log_time < 0) { |
|
769 | + $log_time = 0; |
|
770 | + } |
|
737 | 771 | |
738 | 772 | // Today and Yesterday? |
739 | 773 | if ($modSettings['todayMod'] >= 1 && $show_today === true) |
@@ -750,24 +784,27 @@ discard block |
||
750 | 784 | { |
751 | 785 | $h = strpos($user_info['time_format'], '%l') === false ? '%I' : '%l'; |
752 | 786 | $today_fmt = $h . ':%M' . $s . ' %p'; |
787 | + } else { |
|
788 | + $today_fmt = '%H:%M' . $s; |
|
753 | 789 | } |
754 | - else |
|
755 | - $today_fmt = '%H:%M' . $s; |
|
756 | 790 | |
757 | 791 | // Same day of the year, same year.... Today! |
758 | - if ($then['yday'] == $now['yday'] && $then['year'] == $now['year']) |
|
759 | - return $txt['today'] . timeformat($log_time, $today_fmt, $offset_type); |
|
792 | + if ($then['yday'] == $now['yday'] && $then['year'] == $now['year']) { |
|
793 | + return $txt['today'] . timeformat($log_time, $today_fmt, $offset_type); |
|
794 | + } |
|
760 | 795 | |
761 | 796 | // Day-of-year is one less and same year, or it's the first of the year and that's the last of the year... |
762 | - if ($modSettings['todayMod'] == '2' && (($then['yday'] == $now['yday'] - 1 && $then['year'] == $now['year']) || ($now['yday'] == 0 && $then['year'] == $now['year'] - 1) && $then['mon'] == 12 && $then['mday'] == 31)) |
|
763 | - return $txt['yesterday'] . timeformat($log_time, $today_fmt, $offset_type); |
|
797 | + if ($modSettings['todayMod'] == '2' && (($then['yday'] == $now['yday'] - 1 && $then['year'] == $now['year']) || ($now['yday'] == 0 && $then['year'] == $now['year'] - 1) && $then['mon'] == 12 && $then['mday'] == 31)) { |
|
798 | + return $txt['yesterday'] . timeformat($log_time, $today_fmt, $offset_type); |
|
799 | + } |
|
764 | 800 | } |
765 | 801 | |
766 | 802 | $str = !is_bool($show_today) ? $show_today : $user_info['time_format']; |
767 | 803 | |
768 | 804 | // Use the cached formats if available |
769 | - if (is_null($finalizedFormats)) |
|
770 | - $finalizedFormats = (array) cache_get_data('timeformatstrings', 86400); |
|
805 | + if (is_null($finalizedFormats)) { |
|
806 | + $finalizedFormats = (array) cache_get_data('timeformatstrings', 86400); |
|
807 | + } |
|
771 | 808 | |
772 | 809 | // Make a supported version for this format if we don't already have one |
773 | 810 | if (empty($finalizedFormats[$str])) |
@@ -796,8 +833,9 @@ discard block |
||
796 | 833 | ); |
797 | 834 | |
798 | 835 | // No need to do this part again if we already did it once |
799 | - if (is_null($unsupportedFormats)) |
|
800 | - $unsupportedFormats = (array) cache_get_data('unsupportedtimeformats', 86400); |
|
836 | + if (is_null($unsupportedFormats)) { |
|
837 | + $unsupportedFormats = (array) cache_get_data('unsupportedtimeformats', 86400); |
|
838 | + } |
|
801 | 839 | if (empty($unsupportedFormats)) |
802 | 840 | { |
803 | 841 | foreach($strftimeFormatSubstitutions as $format => $substitution) |
@@ -806,20 +844,23 @@ discard block |
||
806 | 844 | |
807 | 845 | // Windows will return false for unsupported formats |
808 | 846 | // Other operating systems return the format string as a literal |
809 | - if ($value === false || $value === $format) |
|
810 | - $unsupportedFormats[] = $format; |
|
847 | + if ($value === false || $value === $format) { |
|
848 | + $unsupportedFormats[] = $format; |
|
849 | + } |
|
811 | 850 | } |
812 | 851 | cache_put_data('unsupportedtimeformats', $unsupportedFormats, 86400); |
813 | 852 | } |
814 | 853 | |
815 | 854 | // Windows needs extra help if $timeformat contains something completely invalid, e.g. '%Q' |
816 | - if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') |
|
817 | - $timeformat = preg_replace('~%(?!' . implode('|', array_keys($strftimeFormatSubstitutions)) . ')~', '%', $timeformat); |
|
855 | + if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') { |
|
856 | + $timeformat = preg_replace('~%(?!' . implode('|', array_keys($strftimeFormatSubstitutions)) . ')~', '%', $timeformat); |
|
857 | + } |
|
818 | 858 | |
819 | 859 | // Substitute unsupported formats with supported ones |
820 | - if (!empty($unsupportedFormats)) |
|
821 | - while (preg_match('~%(' . implode('|', $unsupportedFormats) . ')~', $timeformat, $matches)) |
|
860 | + if (!empty($unsupportedFormats)) { |
|
861 | + while (preg_match('~%(' . implode('|', $unsupportedFormats) . ')~', $timeformat, $matches)) |
|
822 | 862 | $timeformat = str_replace($matches[0], $strftimeFormatSubstitutions[$matches[1]], $timeformat); |
863 | + } |
|
823 | 864 | |
824 | 865 | // Remember this so we don't need to do it again |
825 | 866 | $finalizedFormats[$str] = $timeformat; |
@@ -828,33 +869,39 @@ discard block |
||
828 | 869 | |
829 | 870 | $str = $finalizedFormats[$str]; |
830 | 871 | |
831 | - if (!isset($locale_cache)) |
|
832 | - $locale_cache = setlocale(LC_TIME, $txt['lang_locale']); |
|
872 | + if (!isset($locale_cache)) { |
|
873 | + $locale_cache = setlocale(LC_TIME, $txt['lang_locale']); |
|
874 | + } |
|
833 | 875 | |
834 | 876 | if ($locale_cache !== false) |
835 | 877 | { |
836 | 878 | // Check if another process changed the locale |
837 | - if ($process_safe === true && setlocale(LC_TIME, '0') != $locale_cache) |
|
838 | - setlocale(LC_TIME, $txt['lang_locale']); |
|
879 | + if ($process_safe === true && setlocale(LC_TIME, '0') != $locale_cache) { |
|
880 | + setlocale(LC_TIME, $txt['lang_locale']); |
|
881 | + } |
|
839 | 882 | |
840 | - if (!isset($non_twelve_hour)) |
|
841 | - $non_twelve_hour = trim(strftime('%p')) === ''; |
|
842 | - if ($non_twelve_hour && strpos($str, '%p') !== false) |
|
843 | - $str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str); |
|
883 | + if (!isset($non_twelve_hour)) { |
|
884 | + $non_twelve_hour = trim(strftime('%p')) === ''; |
|
885 | + } |
|
886 | + if ($non_twelve_hour && strpos($str, '%p') !== false) { |
|
887 | + $str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str); |
|
888 | + } |
|
844 | 889 | |
845 | - foreach (array('%a', '%A', '%b', '%B') as $token) |
|
846 | - if (strpos($str, $token) !== false) |
|
890 | + foreach (array('%a', '%A', '%b', '%B') as $token) { |
|
891 | + if (strpos($str, $token) !== false) |
|
847 | 892 | $str = str_replace($token, strftime($token, $time), $str); |
848 | - } |
|
849 | - else |
|
893 | + } |
|
894 | + } else |
|
850 | 895 | { |
851 | 896 | // Do-it-yourself time localization. Fun. |
852 | - foreach (array('%a' => 'days_short', '%A' => 'days', '%b' => 'months_short', '%B' => 'months') as $token => $text_label) |
|
853 | - if (strpos($str, $token) !== false) |
|
897 | + foreach (array('%a' => 'days_short', '%A' => 'days', '%b' => 'months_short', '%B' => 'months') as $token => $text_label) { |
|
898 | + if (strpos($str, $token) !== false) |
|
854 | 899 | $str = str_replace($token, $txt[$text_label][(int) strftime($token === '%a' || $token === '%A' ? '%w' : '%m', $time)], $str); |
900 | + } |
|
855 | 901 | |
856 | - if (strpos($str, '%p') !== false) |
|
857 | - $str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str); |
|
902 | + if (strpos($str, '%p') !== false) { |
|
903 | + $str = str_replace('%p', (strftime('%H', $time) < 12 ? $txt['time_am'] : $txt['time_pm']), $str); |
|
904 | + } |
|
858 | 905 | } |
859 | 906 | |
860 | 907 | // Format the time and then restore any literal percent characters |
@@ -877,16 +924,19 @@ discard block |
||
877 | 924 | static $translation = array(); |
878 | 925 | |
879 | 926 | // Determine the character set... Default to UTF-8 |
880 | - if (empty($context['character_set'])) |
|
881 | - $charset = 'UTF-8'; |
|
927 | + if (empty($context['character_set'])) { |
|
928 | + $charset = 'UTF-8'; |
|
929 | + } |
|
882 | 930 | // Use ISO-8859-1 in place of non-supported ISO-8859 charsets... |
883 | - elseif (strpos($context['character_set'], 'ISO-8859-') !== false && !in_array($context['character_set'], array('ISO-8859-5', 'ISO-8859-15'))) |
|
884 | - $charset = 'ISO-8859-1'; |
|
885 | - else |
|
886 | - $charset = $context['character_set']; |
|
931 | + elseif (strpos($context['character_set'], 'ISO-8859-') !== false && !in_array($context['character_set'], array('ISO-8859-5', 'ISO-8859-15'))) { |
|
932 | + $charset = 'ISO-8859-1'; |
|
933 | + } else { |
|
934 | + $charset = $context['character_set']; |
|
935 | + } |
|
887 | 936 | |
888 | - if (empty($translation)) |
|
889 | - $translation = array_flip(get_html_translation_table(HTML_SPECIALCHARS, ENT_QUOTES, $charset)) + array(''' => '\'', ''' => '\'', ' ' => ' '); |
|
937 | + if (empty($translation)) { |
|
938 | + $translation = array_flip(get_html_translation_table(HTML_SPECIALCHARS, ENT_QUOTES, $charset)) + array(''' => '\'', ''' => '\'', ' ' => ' '); |
|
939 | + } |
|
890 | 940 | |
891 | 941 | return strtr($string, $translation); |
892 | 942 | } |
@@ -908,8 +958,9 @@ discard block |
||
908 | 958 | global $smcFunc; |
909 | 959 | |
910 | 960 | // It was already short enough! |
911 | - if ($smcFunc['strlen']($subject) <= $len) |
|
912 | - return $subject; |
|
961 | + if ($smcFunc['strlen']($subject) <= $len) { |
|
962 | + return $subject; |
|
963 | + } |
|
913 | 964 | |
914 | 965 | // Shorten it by the length it was too long, and strip off junk from the end. |
915 | 966 | return $smcFunc['substr']($subject, 0, $len) . '...'; |
@@ -928,10 +979,11 @@ discard block |
||
928 | 979 | { |
929 | 980 | global $user_info, $modSettings; |
930 | 981 | |
931 | - if ($timestamp === null) |
|
932 | - $timestamp = time(); |
|
933 | - elseif ($timestamp == 0) |
|
934 | - return 0; |
|
982 | + if ($timestamp === null) { |
|
983 | + $timestamp = time(); |
|
984 | + } elseif ($timestamp == 0) { |
|
985 | + return 0; |
|
986 | + } |
|
935 | 987 | |
936 | 988 | return $timestamp + ($modSettings['time_offset'] + ($use_user_offset ? $user_info['time_offset'] : 0)) * 3600; |
937 | 989 | } |
@@ -960,8 +1012,9 @@ discard block |
||
960 | 1012 | $array[$i] = $array[$j]; |
961 | 1013 | $array[$j] = $temp; |
962 | 1014 | |
963 | - for ($i = 1; $p[$i] == 0; $i++) |
|
964 | - $p[$i] = 1; |
|
1015 | + for ($i = 1; $p[$i] == 0; $i++) { |
|
1016 | + $p[$i] = 1; |
|
1017 | + } |
|
965 | 1018 | |
966 | 1019 | $orders[] = $array; |
967 | 1020 | } |
@@ -993,12 +1046,14 @@ discard block |
||
993 | 1046 | static $disabled; |
994 | 1047 | |
995 | 1048 | // Don't waste cycles |
996 | - if ($message === '') |
|
997 | - return ''; |
|
1049 | + if ($message === '') { |
|
1050 | + return ''; |
|
1051 | + } |
|
998 | 1052 | |
999 | 1053 | // Just in case it wasn't determined yet whether UTF-8 is enabled. |
1000 | - if (!isset($context['utf8'])) |
|
1001 | - $context['utf8'] = (empty($modSettings['global_character_set']) ? $txt['lang_character_set'] : $modSettings['global_character_set']) === 'UTF-8'; |
|
1054 | + if (!isset($context['utf8'])) { |
|
1055 | + $context['utf8'] = (empty($modSettings['global_character_set']) ? $txt['lang_character_set'] : $modSettings['global_character_set']) === 'UTF-8'; |
|
1056 | + } |
|
1002 | 1057 | |
1003 | 1058 | // Clean up any cut/paste issues we may have |
1004 | 1059 | $message = sanitizeMSCutPaste($message); |
@@ -1010,13 +1065,15 @@ discard block |
||
1010 | 1065 | return $message; |
1011 | 1066 | } |
1012 | 1067 | |
1013 | - if ($smileys !== null && ($smileys == '1' || $smileys == '0')) |
|
1014 | - $smileys = (bool) $smileys; |
|
1068 | + if ($smileys !== null && ($smileys == '1' || $smileys == '0')) { |
|
1069 | + $smileys = (bool) $smileys; |
|
1070 | + } |
|
1015 | 1071 | |
1016 | 1072 | if (empty($modSettings['enableBBC']) && $message !== false) |
1017 | 1073 | { |
1018 | - if ($smileys === true) |
|
1019 | - parsesmileys($message); |
|
1074 | + if ($smileys === true) { |
|
1075 | + parsesmileys($message); |
|
1076 | + } |
|
1020 | 1077 | |
1021 | 1078 | return $message; |
1022 | 1079 | } |
@@ -1029,8 +1086,9 @@ discard block |
||
1029 | 1086 | } |
1030 | 1087 | |
1031 | 1088 | // Ensure $modSettings['tld_regex'] contains a valid regex for the autolinker |
1032 | - if (!empty($modSettings['autoLinkUrls'])) |
|
1033 | - set_tld_regex(); |
|
1089 | + if (!empty($modSettings['autoLinkUrls'])) { |
|
1090 | + set_tld_regex(); |
|
1091 | + } |
|
1034 | 1092 | |
1035 | 1093 | // Allow mods access before entering the main parse_bbc loop |
1036 | 1094 | call_integration_hook('integrate_pre_parsebbc', array(&$message, &$smileys, &$cache_id, &$parse_tags)); |
@@ -1044,12 +1102,14 @@ discard block |
||
1044 | 1102 | |
1045 | 1103 | $temp = explode(',', strtolower($modSettings['disabledBBC'])); |
1046 | 1104 | |
1047 | - foreach ($temp as $tag) |
|
1048 | - $disabled[trim($tag)] = true; |
|
1105 | + foreach ($temp as $tag) { |
|
1106 | + $disabled[trim($tag)] = true; |
|
1107 | + } |
|
1049 | 1108 | } |
1050 | 1109 | |
1051 | - if (empty($modSettings['enableEmbeddedFlash'])) |
|
1052 | - $disabled['flash'] = true; |
|
1110 | + if (empty($modSettings['enableEmbeddedFlash'])) { |
|
1111 | + $disabled['flash'] = true; |
|
1112 | + } |
|
1053 | 1113 | |
1054 | 1114 | /* The following bbc are formatted as an array, with keys as follows: |
1055 | 1115 | |
@@ -1170,8 +1230,9 @@ discard block |
||
1170 | 1230 | $returnContext = ''; |
1171 | 1231 | |
1172 | 1232 | // BBC or the entire attachments feature is disabled |
1173 | - if (empty($modSettings['attachmentEnable']) || !empty($disabled['attach'])) |
|
1174 | - return $data; |
|
1233 | + if (empty($modSettings['attachmentEnable']) || !empty($disabled['attach'])) { |
|
1234 | + return $data; |
|
1235 | + } |
|
1175 | 1236 | |
1176 | 1237 | // Save the attach ID. |
1177 | 1238 | $attachID = $data; |
@@ -1182,8 +1243,9 @@ discard block |
||
1182 | 1243 | $currentAttachment = parseAttachBBC($attachID); |
1183 | 1244 | |
1184 | 1245 | // parseAttachBBC will return a string ($txt key) rather than diying with a fatal_error. Up to you to decide what to do. |
1185 | - if (is_string($currentAttachment)) |
|
1186 | - return $data = !empty($txt[$currentAttachment]) ? $txt[$currentAttachment] : $currentAttachment; |
|
1246 | + if (is_string($currentAttachment)) { |
|
1247 | + return $data = !empty($txt[$currentAttachment]) ? $txt[$currentAttachment] : $currentAttachment; |
|
1248 | + } |
|
1187 | 1249 | |
1188 | 1250 | if (!empty($currentAttachment['is_image'])) |
1189 | 1251 | { |
@@ -1199,15 +1261,17 @@ discard block |
||
1199 | 1261 | $height = ' height="' . $currentAttachment['height'] . '"'; |
1200 | 1262 | } |
1201 | 1263 | |
1202 | - if ($currentAttachment['thumbnail']['has_thumb'] && empty($params['{width}']) && empty($params['{height}'])) |
|
1203 | - $returnContext .= '<a href="'. $currentAttachment['href']. ';image" id="link_'. $currentAttachment['id']. '" onclick="'. $currentAttachment['thumbnail']['javascript']. '"><img src="'. $currentAttachment['thumbnail']['href']. '"' . $alt . $title . ' id="thumb_'. $currentAttachment['id']. '" class="atc_img"></a>'; |
|
1204 | - else |
|
1205 | - $returnContext .= '<img src="' . $currentAttachment['href'] . ';image"' . $alt . $title . $width . $height . ' class="bbc_img"/>'; |
|
1264 | + if ($currentAttachment['thumbnail']['has_thumb'] && empty($params['{width}']) && empty($params['{height}'])) { |
|
1265 | + $returnContext .= '<a href="'. $currentAttachment['href']. ';image" id="link_'. $currentAttachment['id']. '" onclick="'. $currentAttachment['thumbnail']['javascript']. '"><img src="'. $currentAttachment['thumbnail']['href']. '"' . $alt . $title . ' id="thumb_'. $currentAttachment['id']. '" class="atc_img"></a>'; |
|
1266 | + } else { |
|
1267 | + $returnContext .= '<img src="' . $currentAttachment['href'] . ';image"' . $alt . $title . $width . $height . ' class="bbc_img"/>'; |
|
1268 | + } |
|
1206 | 1269 | } |
1207 | 1270 | |
1208 | 1271 | // No image. Show a link. |
1209 | - else |
|
1210 | - $returnContext .= $currentAttachment['link']; |
|
1272 | + else { |
|
1273 | + $returnContext .= $currentAttachment['link']; |
|
1274 | + } |
|
1211 | 1275 | |
1212 | 1276 | // Gotta append what we just did. |
1213 | 1277 | $data = $returnContext; |
@@ -1238,8 +1302,9 @@ discard block |
||
1238 | 1302 | for ($php_i = 0, $php_n = count($php_parts); $php_i < $php_n; $php_i++) |
1239 | 1303 | { |
1240 | 1304 | // Do PHP code coloring? |
1241 | - if ($php_parts[$php_i] != '<?php') |
|
1242 | - continue; |
|
1305 | + if ($php_parts[$php_i] != '<?php') { |
|
1306 | + continue; |
|
1307 | + } |
|
1243 | 1308 | |
1244 | 1309 | $php_string = ''; |
1245 | 1310 | while ($php_i + 1 < count($php_parts) && $php_parts[$php_i] != '?>') |
@@ -1255,8 +1320,9 @@ discard block |
||
1255 | 1320 | $data = str_replace("\t", "<span style=\"white-space: pre;\">\t</span>", $data); |
1256 | 1321 | |
1257 | 1322 | // Recent Opera bug requiring temporary fix. &nsbp; is needed before </code> to avoid broken selection. |
1258 | - if ($context['browser']['is_opera']) |
|
1259 | - $data .= ' '; |
|
1323 | + if ($context['browser']['is_opera']) { |
|
1324 | + $data .= ' '; |
|
1325 | + } |
|
1260 | 1326 | } |
1261 | 1327 | }, |
1262 | 1328 | 'block_level' => true, |
@@ -1275,8 +1341,9 @@ discard block |
||
1275 | 1341 | for ($php_i = 0, $php_n = count($php_parts); $php_i < $php_n; $php_i++) |
1276 | 1342 | { |
1277 | 1343 | // Do PHP code coloring? |
1278 | - if ($php_parts[$php_i] != '<?php') |
|
1279 | - continue; |
|
1344 | + if ($php_parts[$php_i] != '<?php') { |
|
1345 | + continue; |
|
1346 | + } |
|
1280 | 1347 | |
1281 | 1348 | $php_string = ''; |
1282 | 1349 | while ($php_i + 1 < count($php_parts) && $php_parts[$php_i] != '?>') |
@@ -1292,8 +1359,9 @@ discard block |
||
1292 | 1359 | $data[0] = str_replace("\t", "<span style=\"white-space: pre;\">\t</span>", $data[0]); |
1293 | 1360 | |
1294 | 1361 | // Recent Opera bug requiring temporary fix. &nsbp; is needed before </code> to avoid broken selection. |
1295 | - if ($context['browser']['is_opera']) |
|
1296 | - $data[0] .= ' '; |
|
1362 | + if ($context['browser']['is_opera']) { |
|
1363 | + $data[0] .= ' '; |
|
1364 | + } |
|
1297 | 1365 | } |
1298 | 1366 | }, |
1299 | 1367 | 'block_level' => true, |
@@ -1331,11 +1399,13 @@ discard block |
||
1331 | 1399 | 'content' => '<embed type="application/x-shockwave-flash" src="$1" width="$2" height="$3" play="true" loop="true" quality="high" AllowScriptAccess="never">', |
1332 | 1400 | 'validate' => function (&$tag, &$data, $disabled) |
1333 | 1401 | { |
1334 | - if (isset($disabled['url'])) |
|
1335 | - $tag['content'] = '$1'; |
|
1402 | + if (isset($disabled['url'])) { |
|
1403 | + $tag['content'] = '$1'; |
|
1404 | + } |
|
1336 | 1405 | $scheme = parse_url($data[0], PHP_URL_SCHEME); |
1337 | - if (empty($scheme)) |
|
1338 | - $data[0] = '//' . ltrim($data[0], ':/'); |
|
1406 | + if (empty($scheme)) { |
|
1407 | + $data[0] = '//' . ltrim($data[0], ':/'); |
|
1408 | + } |
|
1339 | 1409 | }, |
1340 | 1410 | 'disabled_content' => '<a href="$1" target="_blank">$1</a>', |
1341 | 1411 | ), |
@@ -1349,10 +1419,11 @@ discard block |
||
1349 | 1419 | { |
1350 | 1420 | $class = 'class="bbc_float float' . (strpos($data, 'left') === 0 ? 'left' : 'right') . '"'; |
1351 | 1421 | |
1352 | - if (preg_match('~\bmax=(\d+(?:%|px|em|rem|ex|pt|pc|ch|vw|vh|vmin|vmax|cm|mm|in)?)~', $data, $matches)) |
|
1353 | - $css = ' style="max-width:' . $matches[1] . (is_numeric($matches[1]) ? 'px' : '') . '"'; |
|
1354 | - else |
|
1355 | - $css = ''; |
|
1422 | + if (preg_match('~\bmax=(\d+(?:%|px|em|rem|ex|pt|pc|ch|vw|vh|vmin|vmax|cm|mm|in)?)~', $data, $matches)) { |
|
1423 | + $css = ' style="max-width:' . $matches[1] . (is_numeric($matches[1]) ? 'px' : '') . '"'; |
|
1424 | + } else { |
|
1425 | + $css = ''; |
|
1426 | + } |
|
1356 | 1427 | |
1357 | 1428 | $data = $class . $css; |
1358 | 1429 | }, |
@@ -1402,14 +1473,16 @@ discard block |
||
1402 | 1473 | $scheme = parse_url($data, PHP_URL_SCHEME); |
1403 | 1474 | if ($image_proxy_enabled) |
1404 | 1475 | { |
1405 | - if (empty($scheme)) |
|
1406 | - $data = 'http://' . ltrim($data, ':/'); |
|
1476 | + if (empty($scheme)) { |
|
1477 | + $data = 'http://' . ltrim($data, ':/'); |
|
1478 | + } |
|
1407 | 1479 | |
1408 | - if ($scheme != 'https') |
|
1409 | - $data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret); |
|
1480 | + if ($scheme != 'https') { |
|
1481 | + $data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret); |
|
1482 | + } |
|
1483 | + } elseif (empty($scheme)) { |
|
1484 | + $data = '//' . ltrim($data, ':/'); |
|
1410 | 1485 | } |
1411 | - elseif (empty($scheme)) |
|
1412 | - $data = '//' . ltrim($data, ':/'); |
|
1413 | 1486 | }, |
1414 | 1487 | 'disabled_content' => '($1)', |
1415 | 1488 | ), |
@@ -1425,14 +1498,16 @@ discard block |
||
1425 | 1498 | $scheme = parse_url($data, PHP_URL_SCHEME); |
1426 | 1499 | if ($image_proxy_enabled) |
1427 | 1500 | { |
1428 | - if (empty($scheme)) |
|
1429 | - $data = 'http://' . ltrim($data, ':/'); |
|
1501 | + if (empty($scheme)) { |
|
1502 | + $data = 'http://' . ltrim($data, ':/'); |
|
1503 | + } |
|
1430 | 1504 | |
1431 | - if ($scheme != 'https') |
|
1432 | - $data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret); |
|
1505 | + if ($scheme != 'https') { |
|
1506 | + $data = $boardurl . '/proxy.php?request=' . urlencode($data) . '&hash=' . md5($data . $image_proxy_secret); |
|
1507 | + } |
|
1508 | + } elseif (empty($scheme)) { |
|
1509 | + $data = '//' . ltrim($data, ':/'); |
|
1433 | 1510 | } |
1434 | - elseif (empty($scheme)) |
|
1435 | - $data = '//' . ltrim($data, ':/'); |
|
1436 | 1511 | }, |
1437 | 1512 | 'disabled_content' => '($1)', |
1438 | 1513 | ), |
@@ -1444,8 +1519,9 @@ discard block |
||
1444 | 1519 | { |
1445 | 1520 | $data = strtr($data, array('<br>' => '')); |
1446 | 1521 | $scheme = parse_url($data, PHP_URL_SCHEME); |
1447 | - if (empty($scheme)) |
|
1448 | - $data = '//' . ltrim($data, ':/'); |
|
1522 | + if (empty($scheme)) { |
|
1523 | + $data = '//' . ltrim($data, ':/'); |
|
1524 | + } |
|
1449 | 1525 | }, |
1450 | 1526 | ), |
1451 | 1527 | array( |
@@ -1456,13 +1532,14 @@ discard block |
||
1456 | 1532 | 'after' => '</a>', |
1457 | 1533 | 'validate' => function (&$tag, &$data, $disabled) |
1458 | 1534 | { |
1459 | - if (substr($data, 0, 1) == '#') |
|
1460 | - $data = '#post_' . substr($data, 1); |
|
1461 | - else |
|
1535 | + if (substr($data, 0, 1) == '#') { |
|
1536 | + $data = '#post_' . substr($data, 1); |
|
1537 | + } else |
|
1462 | 1538 | { |
1463 | 1539 | $scheme = parse_url($data, PHP_URL_SCHEME); |
1464 | - if (empty($scheme)) |
|
1465 | - $data = '//' . ltrim($data, ':/'); |
|
1540 | + if (empty($scheme)) { |
|
1541 | + $data = '//' . ltrim($data, ':/'); |
|
1542 | + } |
|
1466 | 1543 | } |
1467 | 1544 | }, |
1468 | 1545 | 'disallow_children' => array('email', 'ftp', 'url', 'iurl'), |
@@ -1540,8 +1617,9 @@ discard block |
||
1540 | 1617 | { |
1541 | 1618 | $add_begin = substr(trim($data), 0, 5) != '<?'; |
1542 | 1619 | $data = highlight_php_code($add_begin ? '<?php ' . $data . '?>' : $data); |
1543 | - if ($add_begin) |
|
1544 | - $data = preg_replace(array('~^(.+?)<\?.{0,40}?php(?: |\s)~', '~\?>((?:</(font|span)>)*)$~'), '$1', $data, 2); |
|
1620 | + if ($add_begin) { |
|
1621 | + $data = preg_replace(array('~^(.+?)<\?.{0,40}?php(?: |\s)~', '~\?>((?:</(font|span)>)*)$~'), '$1', $data, 2); |
|
1622 | + } |
|
1545 | 1623 | } |
1546 | 1624 | }, |
1547 | 1625 | 'block_level' => false, |
@@ -1672,10 +1750,11 @@ discard block |
||
1672 | 1750 | 'content' => '$1', |
1673 | 1751 | 'validate' => function (&$tag, &$data, $disabled) |
1674 | 1752 | { |
1675 | - if (is_numeric($data)) |
|
1676 | - $data = timeformat($data); |
|
1677 | - else |
|
1678 | - $tag['content'] = '[time]$1[/time]'; |
|
1753 | + if (is_numeric($data)) { |
|
1754 | + $data = timeformat($data); |
|
1755 | + } else { |
|
1756 | + $tag['content'] = '[time]$1[/time]'; |
|
1757 | + } |
|
1679 | 1758 | }, |
1680 | 1759 | ), |
1681 | 1760 | array( |
@@ -1702,8 +1781,9 @@ discard block |
||
1702 | 1781 | { |
1703 | 1782 | $data = strtr($data, array('<br>' => '')); |
1704 | 1783 | $scheme = parse_url($data, PHP_URL_SCHEME); |
1705 | - if (empty($scheme)) |
|
1706 | - $data = '//' . ltrim($data, ':/'); |
|
1784 | + if (empty($scheme)) { |
|
1785 | + $data = '//' . ltrim($data, ':/'); |
|
1786 | + } |
|
1707 | 1787 | }, |
1708 | 1788 | ), |
1709 | 1789 | array( |
@@ -1715,8 +1795,9 @@ discard block |
||
1715 | 1795 | 'validate' => function (&$tag, &$data, $disabled) |
1716 | 1796 | { |
1717 | 1797 | $scheme = parse_url($data, PHP_URL_SCHEME); |
1718 | - if (empty($scheme)) |
|
1719 | - $data = '//' . ltrim($data, ':/'); |
|
1798 | + if (empty($scheme)) { |
|
1799 | + $data = '//' . ltrim($data, ':/'); |
|
1800 | + } |
|
1720 | 1801 | }, |
1721 | 1802 | 'disallow_children' => array('email', 'ftp', 'url', 'iurl'), |
1722 | 1803 | 'disabled_after' => ' ($1)', |
@@ -1736,8 +1817,9 @@ discard block |
||
1736 | 1817 | // This is mainly for the bbc manager, so it's easy to add tags above. Custom BBC should be added above this line. |
1737 | 1818 | if ($message === false) |
1738 | 1819 | { |
1739 | - if (isset($temp_bbc)) |
|
1740 | - $bbc_codes = $temp_bbc; |
|
1820 | + if (isset($temp_bbc)) { |
|
1821 | + $bbc_codes = $temp_bbc; |
|
1822 | + } |
|
1741 | 1823 | usort($codes, function ($a, $b) { |
1742 | 1824 | return strcmp($a['tag'], $b['tag']); |
1743 | 1825 | }); |
@@ -1757,8 +1839,9 @@ discard block |
||
1757 | 1839 | ); |
1758 | 1840 | if (!isset($disabled['li']) && !isset($disabled['list'])) |
1759 | 1841 | { |
1760 | - foreach ($itemcodes as $c => $dummy) |
|
1761 | - $bbc_codes[$c] = array(); |
|
1842 | + foreach ($itemcodes as $c => $dummy) { |
|
1843 | + $bbc_codes[$c] = array(); |
|
1844 | + } |
|
1762 | 1845 | } |
1763 | 1846 | |
1764 | 1847 | // Shhhh! |
@@ -1779,12 +1862,14 @@ discard block |
||
1779 | 1862 | foreach ($codes as $code) |
1780 | 1863 | { |
1781 | 1864 | // Make it easier to process parameters later |
1782 | - if (!empty($code['parameters'])) |
|
1783 | - ksort($code['parameters'], SORT_STRING); |
|
1865 | + if (!empty($code['parameters'])) { |
|
1866 | + ksort($code['parameters'], SORT_STRING); |
|
1867 | + } |
|
1784 | 1868 | |
1785 | 1869 | // If we are not doing every tag only do ones we are interested in. |
1786 | - if (empty($parse_tags) || in_array($code['tag'], $parse_tags)) |
|
1787 | - $bbc_codes[substr($code['tag'], 0, 1)][] = $code; |
|
1870 | + if (empty($parse_tags) || in_array($code['tag'], $parse_tags)) { |
|
1871 | + $bbc_codes[substr($code['tag'], 0, 1)][] = $code; |
|
1872 | + } |
|
1788 | 1873 | } |
1789 | 1874 | $codes = null; |
1790 | 1875 | } |
@@ -1795,8 +1880,9 @@ discard block |
||
1795 | 1880 | // It's likely this will change if the message is modified. |
1796 | 1881 | $cache_key = 'parse:' . $cache_id . '-' . md5(md5($message) . '-' . $smileys . (empty($disabled) ? '' : implode(',', array_keys($disabled))) . $smcFunc['json_encode']($context['browser']) . $txt['lang_locale'] . $user_info['time_offset'] . $user_info['time_format']); |
1797 | 1882 | |
1798 | - if (($temp = cache_get_data($cache_key, 240)) != null) |
|
1799 | - return $temp; |
|
1883 | + if (($temp = cache_get_data($cache_key, 240)) != null) { |
|
1884 | + return $temp; |
|
1885 | + } |
|
1800 | 1886 | |
1801 | 1887 | $cache_t = microtime(); |
1802 | 1888 | } |
@@ -1828,8 +1914,9 @@ discard block |
||
1828 | 1914 | $disabled['flash'] = true; |
1829 | 1915 | |
1830 | 1916 | // @todo Change maybe? |
1831 | - if (!isset($_GET['images'])) |
|
1832 | - $disabled['img'] = true; |
|
1917 | + if (!isset($_GET['images'])) { |
|
1918 | + $disabled['img'] = true; |
|
1919 | + } |
|
1833 | 1920 | |
1834 | 1921 | // @todo Interface/setting to add more? |
1835 | 1922 | } |
@@ -1853,8 +1940,9 @@ discard block |
||
1853 | 1940 | $pos = isset($matches[0][1]) ? $matches[0][1] : false; |
1854 | 1941 | |
1855 | 1942 | // Failsafe. |
1856 | - if ($pos === false || $last_pos > $pos) |
|
1857 | - $pos = strlen($message) + 1; |
|
1943 | + if ($pos === false || $last_pos > $pos) { |
|
1944 | + $pos = strlen($message) + 1; |
|
1945 | + } |
|
1858 | 1946 | |
1859 | 1947 | // Can't have a one letter smiley, URL, or email! (sorry.) |
1860 | 1948 | if ($last_pos < $pos - 1) |
@@ -1872,8 +1960,9 @@ discard block |
||
1872 | 1960 | |
1873 | 1961 | // <br> should be empty. |
1874 | 1962 | $empty_tags = array('br', 'hr'); |
1875 | - foreach ($empty_tags as $tag) |
|
1876 | - $data = str_replace(array('<' . $tag . '>', '<' . $tag . '/>', '<' . $tag . ' />'), '<' . $tag . '>', $data); |
|
1963 | + foreach ($empty_tags as $tag) { |
|
1964 | + $data = str_replace(array('<' . $tag . '>', '<' . $tag . '/>', '<' . $tag . ' />'), '<' . $tag . '>', $data); |
|
1965 | + } |
|
1877 | 1966 | |
1878 | 1967 | // b, u, i, s, pre... basic tags. |
1879 | 1968 | $closable_tags = array('b', 'u', 'i', 's', 'em', 'ins', 'del', 'pre', 'blockquote', 'strong'); |
@@ -1882,8 +1971,9 @@ discard block |
||
1882 | 1971 | $diff = substr_count($data, '<' . $tag . '>') - substr_count($data, '</' . $tag . '>'); |
1883 | 1972 | $data = strtr($data, array('<' . $tag . '>' => '<' . $tag . '>', '</' . $tag . '>' => '</' . $tag . '>')); |
1884 | 1973 | |
1885 | - if ($diff > 0) |
|
1886 | - $data = substr($data, 0, -1) . str_repeat('</' . $tag . '>', $diff) . substr($data, -1); |
|
1974 | + if ($diff > 0) { |
|
1975 | + $data = substr($data, 0, -1) . str_repeat('</' . $tag . '>', $diff) . substr($data, -1); |
|
1976 | + } |
|
1887 | 1977 | } |
1888 | 1978 | |
1889 | 1979 | // Do <img ...> - with security... action= -> action-. |
@@ -1896,8 +1986,9 @@ discard block |
||
1896 | 1986 | $alt = empty($matches[3][$match]) ? '' : ' alt=' . preg_replace('~^"|"$~', '', $matches[3][$match]); |
1897 | 1987 | |
1898 | 1988 | // Remove action= from the URL - no funny business, now. |
1899 | - if (preg_match('~action(=|%3d)(?!dlattach)~i', $imgtag) != 0) |
|
1900 | - $imgtag = preg_replace('~action(?:=|%3d)(?!dlattach)~i', 'action-', $imgtag); |
|
1989 | + if (preg_match('~action(=|%3d)(?!dlattach)~i', $imgtag) != 0) { |
|
1990 | + $imgtag = preg_replace('~action(?:=|%3d)(?!dlattach)~i', 'action-', $imgtag); |
|
1991 | + } |
|
1901 | 1992 | |
1902 | 1993 | // Check if the image is larger than allowed. |
1903 | 1994 | if (!empty($modSettings['max_image_width']) && !empty($modSettings['max_image_height'])) |
@@ -1918,9 +2009,9 @@ discard block |
||
1918 | 2009 | |
1919 | 2010 | // Set the new image tag. |
1920 | 2011 | $replaces[$matches[0][$match]] = '[img width=' . $width . ' height=' . $height . $alt . ']' . $imgtag . '[/img]'; |
2012 | + } else { |
|
2013 | + $replaces[$matches[0][$match]] = '[img' . $alt . ']' . $imgtag . '[/img]'; |
|
1921 | 2014 | } |
1922 | - else |
|
1923 | - $replaces[$matches[0][$match]] = '[img' . $alt . ']' . $imgtag . '[/img]'; |
|
1924 | 2015 | } |
1925 | 2016 | |
1926 | 2017 | $data = strtr($data, $replaces); |
@@ -1933,16 +2024,18 @@ discard block |
||
1933 | 2024 | $no_autolink_area = false; |
1934 | 2025 | if (!empty($open_tags)) |
1935 | 2026 | { |
1936 | - foreach ($open_tags as $open_tag) |
|
1937 | - if (in_array($open_tag['tag'], $no_autolink_tags)) |
|
2027 | + foreach ($open_tags as $open_tag) { |
|
2028 | + if (in_array($open_tag['tag'], $no_autolink_tags)) |
|
1938 | 2029 | $no_autolink_area = true; |
2030 | + } |
|
1939 | 2031 | } |
1940 | 2032 | |
1941 | 2033 | // Don't go backwards. |
1942 | 2034 | // @todo Don't think is the real solution.... |
1943 | 2035 | $lastAutoPos = isset($lastAutoPos) ? $lastAutoPos : 0; |
1944 | - if ($pos < $lastAutoPos) |
|
1945 | - $no_autolink_area = true; |
|
2036 | + if ($pos < $lastAutoPos) { |
|
2037 | + $no_autolink_area = true; |
|
2038 | + } |
|
1946 | 2039 | $lastAutoPos = $pos; |
1947 | 2040 | |
1948 | 2041 | if (!$no_autolink_area) |
@@ -2051,17 +2144,19 @@ discard block |
||
2051 | 2144 | if ($scheme == 'mailto') |
2052 | 2145 | { |
2053 | 2146 | $email_address = str_replace('mailto:', '', $url); |
2054 | - if (!isset($disabled['email']) && filter_var($email_address, FILTER_VALIDATE_EMAIL) !== false) |
|
2055 | - return '[email=' . $email_address . ']' . $url . '[/email]'; |
|
2056 | - else |
|
2057 | - return $url; |
|
2147 | + if (!isset($disabled['email']) && filter_var($email_address, FILTER_VALIDATE_EMAIL) !== false) { |
|
2148 | + return '[email=' . $email_address . ']' . $url . '[/email]'; |
|
2149 | + } else { |
|
2150 | + return $url; |
|
2151 | + } |
|
2058 | 2152 | } |
2059 | 2153 | |
2060 | 2154 | // Are we linking a schemeless URL or naked domain name (e.g. "example.com")? |
2061 | - if (empty($scheme)) |
|
2062 | - $fullUrl = '//' . ltrim($url, ':/'); |
|
2063 | - else |
|
2064 | - $fullUrl = $url; |
|
2155 | + if (empty($scheme)) { |
|
2156 | + $fullUrl = '//' . ltrim($url, ':/'); |
|
2157 | + } else { |
|
2158 | + $fullUrl = $url; |
|
2159 | + } |
|
2065 | 2160 | |
2066 | 2161 | return '[url="' . str_replace(array('[', ']'), array('[', ']'), $fullUrl) . '"]' . $url . '[/url]'; |
2067 | 2162 | }, $data); |
@@ -2110,16 +2205,18 @@ discard block |
||
2110 | 2205 | } |
2111 | 2206 | |
2112 | 2207 | // Are we there yet? Are we there yet? |
2113 | - if ($pos >= strlen($message) - 1) |
|
2114 | - break; |
|
2208 | + if ($pos >= strlen($message) - 1) { |
|
2209 | + break; |
|
2210 | + } |
|
2115 | 2211 | |
2116 | 2212 | $tags = strtolower($message[$pos + 1]); |
2117 | 2213 | |
2118 | 2214 | if ($tags == '/' && !empty($open_tags)) |
2119 | 2215 | { |
2120 | 2216 | $pos2 = strpos($message, ']', $pos + 1); |
2121 | - if ($pos2 == $pos + 2) |
|
2122 | - continue; |
|
2217 | + if ($pos2 == $pos + 2) { |
|
2218 | + continue; |
|
2219 | + } |
|
2123 | 2220 | |
2124 | 2221 | $look_for = strtolower(substr($message, $pos + 2, $pos2 - $pos - 2)); |
2125 | 2222 | |
@@ -2129,8 +2226,9 @@ discard block |
||
2129 | 2226 | do |
2130 | 2227 | { |
2131 | 2228 | $tag = array_pop($open_tags); |
2132 | - if (!$tag) |
|
2133 | - break; |
|
2229 | + if (!$tag) { |
|
2230 | + break; |
|
2231 | + } |
|
2134 | 2232 | |
2135 | 2233 | if (!empty($tag['block_level'])) |
2136 | 2234 | { |
@@ -2144,10 +2242,11 @@ discard block |
||
2144 | 2242 | // The idea is, if we are LOOKING for a block level tag, we can close them on the way. |
2145 | 2243 | if (strlen($look_for) > 0 && isset($bbc_codes[$look_for[0]])) |
2146 | 2244 | { |
2147 | - foreach ($bbc_codes[$look_for[0]] as $temp) |
|
2148 | - if ($temp['tag'] == $look_for) |
|
2245 | + foreach ($bbc_codes[$look_for[0]] as $temp) { |
|
2246 | + if ($temp['tag'] == $look_for) |
|
2149 | 2247 | { |
2150 | 2248 | $block_level = !empty($temp['block_level']); |
2249 | + } |
|
2151 | 2250 | break; |
2152 | 2251 | } |
2153 | 2252 | } |
@@ -2169,15 +2268,15 @@ discard block |
||
2169 | 2268 | { |
2170 | 2269 | $open_tags = $to_close; |
2171 | 2270 | continue; |
2172 | - } |
|
2173 | - elseif (!empty($to_close) && $tag['tag'] != $look_for) |
|
2271 | + } elseif (!empty($to_close) && $tag['tag'] != $look_for) |
|
2174 | 2272 | { |
2175 | 2273 | if ($block_level === null && isset($look_for[0], $bbc_codes[$look_for[0]])) |
2176 | 2274 | { |
2177 | - foreach ($bbc_codes[$look_for[0]] as $temp) |
|
2178 | - if ($temp['tag'] == $look_for) |
|
2275 | + foreach ($bbc_codes[$look_for[0]] as $temp) { |
|
2276 | + if ($temp['tag'] == $look_for) |
|
2179 | 2277 | { |
2180 | 2278 | $block_level = !empty($temp['block_level']); |
2279 | + } |
|
2181 | 2280 | break; |
2182 | 2281 | } |
2183 | 2282 | } |
@@ -2185,8 +2284,9 @@ discard block |
||
2185 | 2284 | // We're not looking for a block level tag (or maybe even a tag that exists...) |
2186 | 2285 | if (!$block_level) |
2187 | 2286 | { |
2188 | - foreach ($to_close as $tag) |
|
2189 | - array_push($open_tags, $tag); |
|
2287 | + foreach ($to_close as $tag) { |
|
2288 | + array_push($open_tags, $tag); |
|
2289 | + } |
|
2190 | 2290 | continue; |
2191 | 2291 | } |
2192 | 2292 | } |
@@ -2199,14 +2299,17 @@ discard block |
||
2199 | 2299 | |
2200 | 2300 | // See the comment at the end of the big loop - just eating whitespace ;). |
2201 | 2301 | $whitespace_regex = ''; |
2202 | - if (!empty($tag['block_level'])) |
|
2203 | - $whitespace_regex .= '( |\s)*(<br>)?'; |
|
2302 | + if (!empty($tag['block_level'])) { |
|
2303 | + $whitespace_regex .= '( |\s)*(<br>)?'; |
|
2304 | + } |
|
2204 | 2305 | // Trim one line of whitespace after unnested tags, but all of it after nested ones |
2205 | - if (!empty($tag['trim']) && $tag['trim'] != 'inside') |
|
2206 | - $whitespace_regex .= empty($tag['require_parents']) ? '( |\s)*' : '(<br>| |\s)*'; |
|
2306 | + if (!empty($tag['trim']) && $tag['trim'] != 'inside') { |
|
2307 | + $whitespace_regex .= empty($tag['require_parents']) ? '( |\s)*' : '(<br>| |\s)*'; |
|
2308 | + } |
|
2207 | 2309 | |
2208 | - if (!empty($whitespace_regex) && preg_match('~' . $whitespace_regex . '~', substr($message, $pos), $matches) != 0) |
|
2209 | - $message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0])); |
|
2310 | + if (!empty($whitespace_regex) && preg_match('~' . $whitespace_regex . '~', substr($message, $pos), $matches) != 0) { |
|
2311 | + $message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0])); |
|
2312 | + } |
|
2210 | 2313 | } |
2211 | 2314 | |
2212 | 2315 | if (!empty($to_close)) |
@@ -2219,8 +2322,9 @@ discard block |
||
2219 | 2322 | } |
2220 | 2323 | |
2221 | 2324 | // No tags for this character, so just keep going (fastest possible course.) |
2222 | - if (!isset($bbc_codes[$tags])) |
|
2223 | - continue; |
|
2325 | + if (!isset($bbc_codes[$tags])) { |
|
2326 | + continue; |
|
2327 | + } |
|
2224 | 2328 | |
2225 | 2329 | $inside = empty($open_tags) ? null : $open_tags[count($open_tags) - 1]; |
2226 | 2330 | $tag = null; |
@@ -2229,44 +2333,52 @@ discard block |
||
2229 | 2333 | $pt_strlen = strlen($possible['tag']); |
2230 | 2334 | |
2231 | 2335 | // Not a match? |
2232 | - if (strtolower(substr($message, $pos + 1, $pt_strlen)) != $possible['tag']) |
|
2233 | - continue; |
|
2336 | + if (strtolower(substr($message, $pos + 1, $pt_strlen)) != $possible['tag']) { |
|
2337 | + continue; |
|
2338 | + } |
|
2234 | 2339 | |
2235 | 2340 | $next_c = $message[$pos + 1 + $pt_strlen]; |
2236 | 2341 | |
2237 | 2342 | // A test validation? |
2238 | - if (isset($possible['test']) && preg_match('~^' . $possible['test'] . '~', substr($message, $pos + 1 + $pt_strlen + 1)) === 0) |
|
2239 | - continue; |
|
2343 | + if (isset($possible['test']) && preg_match('~^' . $possible['test'] . '~', substr($message, $pos + 1 + $pt_strlen + 1)) === 0) { |
|
2344 | + continue; |
|
2345 | + } |
|
2240 | 2346 | // Do we want parameters? |
2241 | 2347 | elseif (!empty($possible['parameters'])) |
2242 | 2348 | { |
2243 | - if ($next_c != ' ') |
|
2244 | - continue; |
|
2245 | - } |
|
2246 | - elseif (isset($possible['type'])) |
|
2349 | + if ($next_c != ' ') { |
|
2350 | + continue; |
|
2351 | + } |
|
2352 | + } elseif (isset($possible['type'])) |
|
2247 | 2353 | { |
2248 | 2354 | // Do we need an equal sign? |
2249 | - if (in_array($possible['type'], array('unparsed_equals', 'unparsed_commas', 'unparsed_commas_content', 'unparsed_equals_content', 'parsed_equals')) && $next_c != '=') |
|
2250 | - continue; |
|
2355 | + if (in_array($possible['type'], array('unparsed_equals', 'unparsed_commas', 'unparsed_commas_content', 'unparsed_equals_content', 'parsed_equals')) && $next_c != '=') { |
|
2356 | + continue; |
|
2357 | + } |
|
2251 | 2358 | // Maybe we just want a /... |
2252 | - if ($possible['type'] == 'closed' && $next_c != ']' && substr($message, $pos + 1 + $pt_strlen, 2) != '/]' && substr($message, $pos + 1 + $pt_strlen, 3) != ' /]') |
|
2253 | - continue; |
|
2359 | + if ($possible['type'] == 'closed' && $next_c != ']' && substr($message, $pos + 1 + $pt_strlen, 2) != '/]' && substr($message, $pos + 1 + $pt_strlen, 3) != ' /]') { |
|
2360 | + continue; |
|
2361 | + } |
|
2254 | 2362 | // An immediate ]? |
2255 | - if ($possible['type'] == 'unparsed_content' && $next_c != ']') |
|
2256 | - continue; |
|
2363 | + if ($possible['type'] == 'unparsed_content' && $next_c != ']') { |
|
2364 | + continue; |
|
2365 | + } |
|
2257 | 2366 | } |
2258 | 2367 | // No type means 'parsed_content', which demands an immediate ] without parameters! |
2259 | - elseif ($next_c != ']') |
|
2260 | - continue; |
|
2368 | + elseif ($next_c != ']') { |
|
2369 | + continue; |
|
2370 | + } |
|
2261 | 2371 | |
2262 | 2372 | // Check allowed tree? |
2263 | - if (isset($possible['require_parents']) && ($inside === null || !in_array($inside['tag'], $possible['require_parents']))) |
|
2264 | - continue; |
|
2265 | - elseif (isset($inside['require_children']) && !in_array($possible['tag'], $inside['require_children'])) |
|
2266 | - continue; |
|
2373 | + if (isset($possible['require_parents']) && ($inside === null || !in_array($inside['tag'], $possible['require_parents']))) { |
|
2374 | + continue; |
|
2375 | + } elseif (isset($inside['require_children']) && !in_array($possible['tag'], $inside['require_children'])) { |
|
2376 | + continue; |
|
2377 | + } |
|
2267 | 2378 | // If this is in the list of disallowed child tags, don't parse it. |
2268 | - elseif (isset($inside['disallow_children']) && in_array($possible['tag'], $inside['disallow_children'])) |
|
2269 | - continue; |
|
2379 | + elseif (isset($inside['disallow_children']) && in_array($possible['tag'], $inside['disallow_children'])) { |
|
2380 | + continue; |
|
2381 | + } |
|
2270 | 2382 | |
2271 | 2383 | $pos1 = $pos + 1 + $pt_strlen + 1; |
2272 | 2384 | |
@@ -2278,8 +2390,9 @@ discard block |
||
2278 | 2390 | foreach ($open_tags as $open_quote) |
2279 | 2391 | { |
2280 | 2392 | // Every parent quote this quote has flips the styling |
2281 | - if ($open_quote['tag'] == 'quote') |
|
2282 | - $quote_alt = !$quote_alt; |
|
2393 | + if ($open_quote['tag'] == 'quote') { |
|
2394 | + $quote_alt = !$quote_alt; |
|
2395 | + } |
|
2283 | 2396 | } |
2284 | 2397 | // Add a class to the quote to style alternating blockquotes |
2285 | 2398 | $possible['before'] = strtr($possible['before'], array('<blockquote>' => '<blockquote class="bbc_' . ($quote_alt ? 'alternate' : 'standard') . '_quote">')); |
@@ -2290,8 +2403,9 @@ discard block |
||
2290 | 2403 | { |
2291 | 2404 | // Build a regular expression for each parameter for the current tag. |
2292 | 2405 | $preg = array(); |
2293 | - foreach ($possible['parameters'] as $p => $info) |
|
2294 | - $preg[] = '(\s+' . $p . '=' . (empty($info['quoted']) ? '' : '"') . (isset($info['match']) ? $info['match'] : '(.+?)') . (empty($info['quoted']) ? '' : '"') . '\s*)' . (empty($info['optional']) ? '' : '?'); |
|
2406 | + foreach ($possible['parameters'] as $p => $info) { |
|
2407 | + $preg[] = '(\s+' . $p . '=' . (empty($info['quoted']) ? '' : '"') . (isset($info['match']) ? $info['match'] : '(.+?)') . (empty($info['quoted']) ? '' : '"') . '\s*)' . (empty($info['optional']) ? '' : '?'); |
|
2408 | + } |
|
2295 | 2409 | |
2296 | 2410 | // Extract the string that potentially holds our parameters. |
2297 | 2411 | $blob = preg_split('~\[/?(?:' . $alltags_regex . ')~i', substr($message, $pos)); |
@@ -2311,24 +2425,27 @@ discard block |
||
2311 | 2425 | |
2312 | 2426 | $match = preg_match('~^' . implode('', $preg) . '$~i', implode(' ', $given_params), $matches) !== 0; |
2313 | 2427 | |
2314 | - if ($match) |
|
2315 | - $blob_counter = count($blobs) + 1; |
|
2428 | + if ($match) { |
|
2429 | + $blob_counter = count($blobs) + 1; |
|
2430 | + } |
|
2316 | 2431 | } |
2317 | 2432 | |
2318 | 2433 | // Didn't match our parameter list, try the next possible. |
2319 | - if (!$match) |
|
2320 | - continue; |
|
2434 | + if (!$match) { |
|
2435 | + continue; |
|
2436 | + } |
|
2321 | 2437 | |
2322 | 2438 | $params = array(); |
2323 | 2439 | for ($i = 1, $n = count($matches); $i < $n; $i += 2) |
2324 | 2440 | { |
2325 | 2441 | $key = strtok(ltrim($matches[$i]), '='); |
2326 | - if (isset($possible['parameters'][$key]['value'])) |
|
2327 | - $params['{' . $key . '}'] = strtr($possible['parameters'][$key]['value'], array('$1' => $matches[$i + 1])); |
|
2328 | - elseif (isset($possible['parameters'][$key]['validate'])) |
|
2329 | - $params['{' . $key . '}'] = $possible['parameters'][$key]['validate']($matches[$i + 1]); |
|
2330 | - else |
|
2331 | - $params['{' . $key . '}'] = $matches[$i + 1]; |
|
2442 | + if (isset($possible['parameters'][$key]['value'])) { |
|
2443 | + $params['{' . $key . '}'] = strtr($possible['parameters'][$key]['value'], array('$1' => $matches[$i + 1])); |
|
2444 | + } elseif (isset($possible['parameters'][$key]['validate'])) { |
|
2445 | + $params['{' . $key . '}'] = $possible['parameters'][$key]['validate']($matches[$i + 1]); |
|
2446 | + } else { |
|
2447 | + $params['{' . $key . '}'] = $matches[$i + 1]; |
|
2448 | + } |
|
2332 | 2449 | |
2333 | 2450 | // Just to make sure: replace any $ or { so they can't interpolate wrongly. |
2334 | 2451 | $params['{' . $key . '}'] = strtr($params['{' . $key . '}'], array('$' => '$', '{' => '{')); |
@@ -2336,23 +2453,26 @@ discard block |
||
2336 | 2453 | |
2337 | 2454 | foreach ($possible['parameters'] as $p => $info) |
2338 | 2455 | { |
2339 | - if (!isset($params['{' . $p . '}'])) |
|
2340 | - $params['{' . $p . '}'] = ''; |
|
2456 | + if (!isset($params['{' . $p . '}'])) { |
|
2457 | + $params['{' . $p . '}'] = ''; |
|
2458 | + } |
|
2341 | 2459 | } |
2342 | 2460 | |
2343 | 2461 | $tag = $possible; |
2344 | 2462 | |
2345 | 2463 | // Put the parameters into the string. |
2346 | - if (isset($tag['before'])) |
|
2347 | - $tag['before'] = strtr($tag['before'], $params); |
|
2348 | - if (isset($tag['after'])) |
|
2349 | - $tag['after'] = strtr($tag['after'], $params); |
|
2350 | - if (isset($tag['content'])) |
|
2351 | - $tag['content'] = strtr($tag['content'], $params); |
|
2464 | + if (isset($tag['before'])) { |
|
2465 | + $tag['before'] = strtr($tag['before'], $params); |
|
2466 | + } |
|
2467 | + if (isset($tag['after'])) { |
|
2468 | + $tag['after'] = strtr($tag['after'], $params); |
|
2469 | + } |
|
2470 | + if (isset($tag['content'])) { |
|
2471 | + $tag['content'] = strtr($tag['content'], $params); |
|
2472 | + } |
|
2352 | 2473 | |
2353 | 2474 | $pos1 += strlen($given_param_string); |
2354 | - } |
|
2355 | - else |
|
2475 | + } else |
|
2356 | 2476 | { |
2357 | 2477 | $tag = $possible; |
2358 | 2478 | $params = array(); |
@@ -2363,8 +2483,9 @@ discard block |
||
2363 | 2483 | // Item codes are complicated buggers... they are implicit [li]s and can make [list]s! |
2364 | 2484 | if ($smileys !== false && $tag === null && isset($itemcodes[$message[$pos + 1]]) && $message[$pos + 2] == ']' && !isset($disabled['list']) && !isset($disabled['li'])) |
2365 | 2485 | { |
2366 | - if ($message[$pos + 1] == '0' && !in_array($message[$pos - 1], array(';', ' ', "\t", "\n", '>'))) |
|
2367 | - continue; |
|
2486 | + if ($message[$pos + 1] == '0' && !in_array($message[$pos - 1], array(';', ' ', "\t", "\n", '>'))) { |
|
2487 | + continue; |
|
2488 | + } |
|
2368 | 2489 | |
2369 | 2490 | $tag = $itemcodes[$message[$pos + 1]]; |
2370 | 2491 | |
@@ -2385,9 +2506,9 @@ discard block |
||
2385 | 2506 | { |
2386 | 2507 | array_pop($open_tags); |
2387 | 2508 | $code = '</li>'; |
2509 | + } else { |
|
2510 | + $code = ''; |
|
2388 | 2511 | } |
2389 | - else |
|
2390 | - $code = ''; |
|
2391 | 2512 | |
2392 | 2513 | // Now we open a new tag. |
2393 | 2514 | $open_tags[] = array( |
@@ -2434,12 +2555,14 @@ discard block |
||
2434 | 2555 | } |
2435 | 2556 | |
2436 | 2557 | // No tag? Keep looking, then. Silly people using brackets without actual tags. |
2437 | - if ($tag === null) |
|
2438 | - continue; |
|
2558 | + if ($tag === null) { |
|
2559 | + continue; |
|
2560 | + } |
|
2439 | 2561 | |
2440 | 2562 | // Propagate the list to the child (so wrapping the disallowed tag won't work either.) |
2441 | - if (isset($inside['disallow_children'])) |
|
2442 | - $tag['disallow_children'] = isset($tag['disallow_children']) ? array_unique(array_merge($tag['disallow_children'], $inside['disallow_children'])) : $inside['disallow_children']; |
|
2563 | + if (isset($inside['disallow_children'])) { |
|
2564 | + $tag['disallow_children'] = isset($tag['disallow_children']) ? array_unique(array_merge($tag['disallow_children'], $inside['disallow_children'])) : $inside['disallow_children']; |
|
2565 | + } |
|
2443 | 2566 | |
2444 | 2567 | // Is this tag disabled? |
2445 | 2568 | if (isset($disabled[$tag['tag']])) |
@@ -2449,14 +2572,13 @@ discard block |
||
2449 | 2572 | $tag['before'] = !empty($tag['block_level']) ? '<div>' : ''; |
2450 | 2573 | $tag['after'] = !empty($tag['block_level']) ? '</div>' : ''; |
2451 | 2574 | $tag['content'] = isset($tag['type']) && $tag['type'] == 'closed' ? '' : (!empty($tag['block_level']) ? '<div>$1</div>' : '$1'); |
2452 | - } |
|
2453 | - elseif (isset($tag['disabled_before']) || isset($tag['disabled_after'])) |
|
2575 | + } elseif (isset($tag['disabled_before']) || isset($tag['disabled_after'])) |
|
2454 | 2576 | { |
2455 | 2577 | $tag['before'] = isset($tag['disabled_before']) ? $tag['disabled_before'] : (!empty($tag['block_level']) ? '<div>' : ''); |
2456 | 2578 | $tag['after'] = isset($tag['disabled_after']) ? $tag['disabled_after'] : (!empty($tag['block_level']) ? '</div>' : ''); |
2579 | + } else { |
|
2580 | + $tag['content'] = $tag['disabled_content']; |
|
2457 | 2581 | } |
2458 | - else |
|
2459 | - $tag['content'] = $tag['disabled_content']; |
|
2460 | 2582 | } |
2461 | 2583 | |
2462 | 2584 | // we use this a lot |
@@ -2466,8 +2588,9 @@ discard block |
||
2466 | 2588 | if (!empty($tag['block_level']) && $tag['tag'] != 'html' && empty($inside['block_level'])) |
2467 | 2589 | { |
2468 | 2590 | $n = count($open_tags) - 1; |
2469 | - while (empty($open_tags[$n]['block_level']) && $n >= 0) |
|
2470 | - $n--; |
|
2591 | + while (empty($open_tags[$n]['block_level']) && $n >= 0) { |
|
2592 | + $n--; |
|
2593 | + } |
|
2471 | 2594 | |
2472 | 2595 | // Close all the non block level tags so this tag isn't surrounded by them. |
2473 | 2596 | for ($i = count($open_tags) - 1; $i > $n; $i--) |
@@ -2479,12 +2602,15 @@ discard block |
||
2479 | 2602 | |
2480 | 2603 | // Trim or eat trailing stuff... see comment at the end of the big loop. |
2481 | 2604 | $whitespace_regex = ''; |
2482 | - if (!empty($tag['block_level'])) |
|
2483 | - $whitespace_regex .= '( |\s)*(<br>)?'; |
|
2484 | - if (!empty($tag['trim']) && $tag['trim'] != 'inside') |
|
2485 | - $whitespace_regex .= empty($tag['require_parents']) ? '( |\s)*' : '(<br>| |\s)*'; |
|
2486 | - if (!empty($whitespace_regex) && preg_match('~' . $whitespace_regex . '~', substr($message, $pos), $matches) != 0) |
|
2487 | - $message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0])); |
|
2605 | + if (!empty($tag['block_level'])) { |
|
2606 | + $whitespace_regex .= '( |\s)*(<br>)?'; |
|
2607 | + } |
|
2608 | + if (!empty($tag['trim']) && $tag['trim'] != 'inside') { |
|
2609 | + $whitespace_regex .= empty($tag['require_parents']) ? '( |\s)*' : '(<br>| |\s)*'; |
|
2610 | + } |
|
2611 | + if (!empty($whitespace_regex) && preg_match('~' . $whitespace_regex . '~', substr($message, $pos), $matches) != 0) { |
|
2612 | + $message = substr($message, 0, $pos) . substr($message, $pos + strlen($matches[0])); |
|
2613 | + } |
|
2488 | 2614 | |
2489 | 2615 | array_pop($open_tags); |
2490 | 2616 | } |
@@ -2502,16 +2628,19 @@ discard block |
||
2502 | 2628 | elseif ($tag['type'] == 'unparsed_content') |
2503 | 2629 | { |
2504 | 2630 | $pos2 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos1); |
2505 | - if ($pos2 === false) |
|
2506 | - continue; |
|
2631 | + if ($pos2 === false) { |
|
2632 | + continue; |
|
2633 | + } |
|
2507 | 2634 | |
2508 | 2635 | $data = substr($message, $pos1, $pos2 - $pos1); |
2509 | 2636 | |
2510 | - if (!empty($tag['block_level']) && substr($data, 0, 4) == '<br>') |
|
2511 | - $data = substr($data, 4); |
|
2637 | + if (!empty($tag['block_level']) && substr($data, 0, 4) == '<br>') { |
|
2638 | + $data = substr($data, 4); |
|
2639 | + } |
|
2512 | 2640 | |
2513 | - if (isset($tag['validate'])) |
|
2514 | - $tag['validate']($tag, $data, $disabled, $params); |
|
2641 | + if (isset($tag['validate'])) { |
|
2642 | + $tag['validate']($tag, $data, $disabled, $params); |
|
2643 | + } |
|
2515 | 2644 | |
2516 | 2645 | $code = strtr($tag['content'], array('$1' => $data)); |
2517 | 2646 | $message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos2 + 3 + $tag_strlen); |
@@ -2527,34 +2656,40 @@ discard block |
||
2527 | 2656 | if (isset($tag['quoted'])) |
2528 | 2657 | { |
2529 | 2658 | $quoted = substr($message, $pos1, 6) == '"'; |
2530 | - if ($tag['quoted'] != 'optional' && !$quoted) |
|
2531 | - continue; |
|
2659 | + if ($tag['quoted'] != 'optional' && !$quoted) { |
|
2660 | + continue; |
|
2661 | + } |
|
2532 | 2662 | |
2533 | - if ($quoted) |
|
2534 | - $pos1 += 6; |
|
2663 | + if ($quoted) { |
|
2664 | + $pos1 += 6; |
|
2665 | + } |
|
2666 | + } else { |
|
2667 | + $quoted = false; |
|
2535 | 2668 | } |
2536 | - else |
|
2537 | - $quoted = false; |
|
2538 | 2669 | |
2539 | 2670 | $pos2 = strpos($message, $quoted == false ? ']' : '"]', $pos1); |
2540 | - if ($pos2 === false) |
|
2541 | - continue; |
|
2671 | + if ($pos2 === false) { |
|
2672 | + continue; |
|
2673 | + } |
|
2542 | 2674 | |
2543 | 2675 | $pos3 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos2); |
2544 | - if ($pos3 === false) |
|
2545 | - continue; |
|
2676 | + if ($pos3 === false) { |
|
2677 | + continue; |
|
2678 | + } |
|
2546 | 2679 | |
2547 | 2680 | $data = array( |
2548 | 2681 | substr($message, $pos2 + ($quoted == false ? 1 : 7), $pos3 - ($pos2 + ($quoted == false ? 1 : 7))), |
2549 | 2682 | substr($message, $pos1, $pos2 - $pos1) |
2550 | 2683 | ); |
2551 | 2684 | |
2552 | - if (!empty($tag['block_level']) && substr($data[0], 0, 4) == '<br>') |
|
2553 | - $data[0] = substr($data[0], 4); |
|
2685 | + if (!empty($tag['block_level']) && substr($data[0], 0, 4) == '<br>') { |
|
2686 | + $data[0] = substr($data[0], 4); |
|
2687 | + } |
|
2554 | 2688 | |
2555 | 2689 | // Validation for my parking, please! |
2556 | - if (isset($tag['validate'])) |
|
2557 | - $tag['validate']($tag, $data, $disabled, $params); |
|
2690 | + if (isset($tag['validate'])) { |
|
2691 | + $tag['validate']($tag, $data, $disabled, $params); |
|
2692 | + } |
|
2558 | 2693 | |
2559 | 2694 | $code = strtr($tag['content'], array('$1' => $data[0], '$2' => $data[1])); |
2560 | 2695 | $message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos3 + 3 + $tag_strlen); |
@@ -2571,23 +2706,27 @@ discard block |
||
2571 | 2706 | elseif ($tag['type'] == 'unparsed_commas_content') |
2572 | 2707 | { |
2573 | 2708 | $pos2 = strpos($message, ']', $pos1); |
2574 | - if ($pos2 === false) |
|
2575 | - continue; |
|
2709 | + if ($pos2 === false) { |
|
2710 | + continue; |
|
2711 | + } |
|
2576 | 2712 | |
2577 | 2713 | $pos3 = stripos($message, '[/' . substr($message, $pos + 1, $tag_strlen) . ']', $pos2); |
2578 | - if ($pos3 === false) |
|
2579 | - continue; |
|
2714 | + if ($pos3 === false) { |
|
2715 | + continue; |
|
2716 | + } |
|
2580 | 2717 | |
2581 | 2718 | // We want $1 to be the content, and the rest to be csv. |
2582 | 2719 | $data = explode(',', ',' . substr($message, $pos1, $pos2 - $pos1)); |
2583 | 2720 | $data[0] = substr($message, $pos2 + 1, $pos3 - $pos2 - 1); |
2584 | 2721 | |
2585 | - if (isset($tag['validate'])) |
|
2586 | - $tag['validate']($tag, $data, $disabled, $params); |
|
2722 | + if (isset($tag['validate'])) { |
|
2723 | + $tag['validate']($tag, $data, $disabled, $params); |
|
2724 | + } |
|
2587 | 2725 | |
2588 | 2726 | $code = $tag['content']; |
2589 | - foreach ($data as $k => $d) |
|
2590 | - $code = strtr($code, array('$' . ($k + 1) => trim($d))); |
|
2727 | + foreach ($data as $k => $d) { |
|
2728 | + $code = strtr($code, array('$' . ($k + 1) => trim($d))); |
|
2729 | + } |
|
2591 | 2730 | $message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos3 + 3 + $tag_strlen); |
2592 | 2731 | $pos += strlen($code) - 1 + 2; |
2593 | 2732 | } |
@@ -2595,24 +2734,28 @@ discard block |
||
2595 | 2734 | elseif ($tag['type'] == 'unparsed_commas') |
2596 | 2735 | { |
2597 | 2736 | $pos2 = strpos($message, ']', $pos1); |
2598 | - if ($pos2 === false) |
|
2599 | - continue; |
|
2737 | + if ($pos2 === false) { |
|
2738 | + continue; |
|
2739 | + } |
|
2600 | 2740 | |
2601 | 2741 | $data = explode(',', substr($message, $pos1, $pos2 - $pos1)); |
2602 | 2742 | |
2603 | - if (isset($tag['validate'])) |
|
2604 | - $tag['validate']($tag, $data, $disabled, $params); |
|
2743 | + if (isset($tag['validate'])) { |
|
2744 | + $tag['validate']($tag, $data, $disabled, $params); |
|
2745 | + } |
|
2605 | 2746 | |
2606 | 2747 | // Fix after, for disabled code mainly. |
2607 | - foreach ($data as $k => $d) |
|
2608 | - $tag['after'] = strtr($tag['after'], array('$' . ($k + 1) => trim($d))); |
|
2748 | + foreach ($data as $k => $d) { |
|
2749 | + $tag['after'] = strtr($tag['after'], array('$' . ($k + 1) => trim($d))); |
|
2750 | + } |
|
2609 | 2751 | |
2610 | 2752 | $open_tags[] = $tag; |
2611 | 2753 | |
2612 | 2754 | // Replace them out, $1, $2, $3, $4, etc. |
2613 | 2755 | $code = $tag['before']; |
2614 | - foreach ($data as $k => $d) |
|
2615 | - $code = strtr($code, array('$' . ($k + 1) => trim($d))); |
|
2756 | + foreach ($data as $k => $d) { |
|
2757 | + $code = strtr($code, array('$' . ($k + 1) => trim($d))); |
|
2758 | + } |
|
2616 | 2759 | $message = substr($message, 0, $pos) . "\n" . $code . "\n" . substr($message, $pos2 + 1); |
2617 | 2760 | $pos += strlen($code) - 1 + 2; |
2618 | 2761 | } |
@@ -2623,28 +2766,33 @@ discard block |
||
2623 | 2766 | if (isset($tag['quoted'])) |
2624 | 2767 | { |
2625 | 2768 | $quoted = substr($message, $pos1, 6) == '"'; |
2626 | - if ($tag['quoted'] != 'optional' && !$quoted) |
|
2627 | - continue; |
|
2769 | + if ($tag['quoted'] != 'optional' && !$quoted) { |
|
2770 | + continue; |
|
2771 | + } |
|
2628 | 2772 | |
2629 | - if ($quoted) |
|
2630 | - $pos1 += 6; |
|
2773 | + if ($quoted) { |
|
2774 | + $pos1 += 6; |
|
2775 | + } |
|
2776 | + } else { |
|
2777 | + $quoted = false; |
|
2631 | 2778 | } |
2632 | - else |
|
2633 | - $quoted = false; |
|
2634 | 2779 | |
2635 | 2780 | $pos2 = strpos($message, $quoted == false ? ']' : '"]', $pos1); |
2636 | - if ($pos2 === false) |
|
2637 | - continue; |
|
2781 | + if ($pos2 === false) { |
|
2782 | + continue; |
|
2783 | + } |
|
2638 | 2784 | |
2639 | 2785 | $data = substr($message, $pos1, $pos2 - $pos1); |
2640 | 2786 | |
2641 | 2787 | // Validation for my parking, please! |
2642 | - if (isset($tag['validate'])) |
|
2643 | - $tag['validate']($tag, $data, $disabled, $params); |
|
2788 | + if (isset($tag['validate'])) { |
|
2789 | + $tag['validate']($tag, $data, $disabled, $params); |
|
2790 | + } |
|
2644 | 2791 | |
2645 | 2792 | // For parsed content, we must recurse to avoid security problems. |
2646 | - if ($tag['type'] != 'unparsed_equals') |
|
2647 | - $data = parse_bbc($data, !empty($tag['parsed_tags_allowed']) ? false : true, '', !empty($tag['parsed_tags_allowed']) ? $tag['parsed_tags_allowed'] : array()); |
|
2793 | + if ($tag['type'] != 'unparsed_equals') { |
|
2794 | + $data = parse_bbc($data, !empty($tag['parsed_tags_allowed']) ? false : true, '', !empty($tag['parsed_tags_allowed']) ? $tag['parsed_tags_allowed'] : array()); |
|
2795 | + } |
|
2648 | 2796 | |
2649 | 2797 | $tag['after'] = strtr($tag['after'], array('$1' => $data)); |
2650 | 2798 | |
@@ -2656,34 +2804,40 @@ discard block |
||
2656 | 2804 | } |
2657 | 2805 | |
2658 | 2806 | // If this is block level, eat any breaks after it. |
2659 | - if (!empty($tag['block_level']) && substr($message, $pos + 1, 4) == '<br>') |
|
2660 | - $message = substr($message, 0, $pos + 1) . substr($message, $pos + 5); |
|
2807 | + if (!empty($tag['block_level']) && substr($message, $pos + 1, 4) == '<br>') { |
|
2808 | + $message = substr($message, 0, $pos + 1) . substr($message, $pos + 5); |
|
2809 | + } |
|
2661 | 2810 | |
2662 | 2811 | // Are we trimming outside this tag? |
2663 | - if (!empty($tag['trim']) && $tag['trim'] != 'outside' && preg_match('~(<br>| |\s)*~', substr($message, $pos + 1), $matches) != 0) |
|
2664 | - $message = substr($message, 0, $pos + 1) . substr($message, $pos + 1 + strlen($matches[0])); |
|
2812 | + if (!empty($tag['trim']) && $tag['trim'] != 'outside' && preg_match('~(<br>| |\s)*~', substr($message, $pos + 1), $matches) != 0) { |
|
2813 | + $message = substr($message, 0, $pos + 1) . substr($message, $pos + 1 + strlen($matches[0])); |
|
2814 | + } |
|
2665 | 2815 | } |
2666 | 2816 | |
2667 | 2817 | // Close any remaining tags. |
2668 | - while ($tag = array_pop($open_tags)) |
|
2669 | - $message .= "\n" . $tag['after'] . "\n"; |
|
2818 | + while ($tag = array_pop($open_tags)) { |
|
2819 | + $message .= "\n" . $tag['after'] . "\n"; |
|
2820 | + } |
|
2670 | 2821 | |
2671 | 2822 | // Parse the smileys within the parts where it can be done safely. |
2672 | 2823 | if ($smileys === true) |
2673 | 2824 | { |
2674 | 2825 | $message_parts = explode("\n", $message); |
2675 | - for ($i = 0, $n = count($message_parts); $i < $n; $i += 2) |
|
2676 | - parsesmileys($message_parts[$i]); |
|
2826 | + for ($i = 0, $n = count($message_parts); $i < $n; $i += 2) { |
|
2827 | + parsesmileys($message_parts[$i]); |
|
2828 | + } |
|
2677 | 2829 | |
2678 | 2830 | $message = implode('', $message_parts); |
2679 | 2831 | } |
2680 | 2832 | |
2681 | 2833 | // No smileys, just get rid of the markers. |
2682 | - else |
|
2683 | - $message = strtr($message, array("\n" => '')); |
|
2834 | + else { |
|
2835 | + $message = strtr($message, array("\n" => '')); |
|
2836 | + } |
|
2684 | 2837 | |
2685 | - if ($message !== '' && $message[0] === ' ') |
|
2686 | - $message = ' ' . substr($message, 1); |
|
2838 | + if ($message !== '' && $message[0] === ' ') { |
|
2839 | + $message = ' ' . substr($message, 1); |
|
2840 | + } |
|
2687 | 2841 | |
2688 | 2842 | // Cleanup whitespace. |
2689 | 2843 | $message = strtr($message, array(' ' => ' ', "\r" => '', "\n" => '<br>', '<br> ' => '<br> ', ' ' => "\n")); |
@@ -2692,15 +2846,16 @@ discard block |
||
2692 | 2846 | call_integration_hook('integrate_post_parsebbc', array(&$message, &$smileys, &$cache_id, &$parse_tags)); |
2693 | 2847 | |
2694 | 2848 | // Cache the output if it took some time... |
2695 | - if (isset($cache_key, $cache_t) && array_sum(explode(' ', microtime())) - array_sum(explode(' ', $cache_t)) > 0.05) |
|
2696 | - cache_put_data($cache_key, $message, 240); |
|
2849 | + if (isset($cache_key, $cache_t) && array_sum(explode(' ', microtime())) - array_sum(explode(' ', $cache_t)) > 0.05) { |
|
2850 | + cache_put_data($cache_key, $message, 240); |
|
2851 | + } |
|
2697 | 2852 | |
2698 | 2853 | // If this was a force parse revert if needed. |
2699 | 2854 | if (!empty($parse_tags)) |
2700 | 2855 | { |
2701 | - if (empty($temp_bbc)) |
|
2702 | - $bbc_codes = array(); |
|
2703 | - else |
|
2856 | + if (empty($temp_bbc)) { |
|
2857 | + $bbc_codes = array(); |
|
2858 | + } else |
|
2704 | 2859 | { |
2705 | 2860 | $bbc_codes = $temp_bbc; |
2706 | 2861 | unset($temp_bbc); |
@@ -2727,8 +2882,9 @@ discard block |
||
2727 | 2882 | static $smileyPregSearch = null, $smileyPregReplacements = array(); |
2728 | 2883 | |
2729 | 2884 | // No smiley set at all?! |
2730 | - if ($user_info['smiley_set'] == 'none' || trim($message) == '') |
|
2731 | - return; |
|
2885 | + if ($user_info['smiley_set'] == 'none' || trim($message) == '') { |
|
2886 | + return; |
|
2887 | + } |
|
2732 | 2888 | |
2733 | 2889 | // If smileyPregSearch hasn't been set, do it now. |
2734 | 2890 | if (empty($smileyPregSearch)) |
@@ -2739,8 +2895,7 @@ discard block |
||
2739 | 2895 | $smileysfrom = array('>:D', ':D', '::)', '>:(', ':))', ':)', ';)', ';D', ':(', ':o', '8)', ':P', '???', ':-[', ':-X', ':-*', ':\'(', ':-\\', '^-^', 'O0', 'C:-)', '0:)'); |
2740 | 2896 | $smileysto = array('evil.gif', 'cheesy.gif', 'rolleyes.gif', 'angry.gif', 'laugh.gif', 'smiley.gif', 'wink.gif', 'grin.gif', 'sad.gif', 'shocked.gif', 'cool.gif', 'tongue.gif', 'huh.gif', 'embarrassed.gif', 'lipsrsealed.gif', 'kiss.gif', 'cry.gif', 'undecided.gif', 'azn.gif', 'afro.gif', 'police.gif', 'angel.gif'); |
2741 | 2897 | $smileysdescs = array('', $txt['icon_cheesy'], $txt['icon_rolleyes'], $txt['icon_angry'], '', $txt['icon_smiley'], $txt['icon_wink'], $txt['icon_grin'], $txt['icon_sad'], $txt['icon_shocked'], $txt['icon_cool'], $txt['icon_tongue'], $txt['icon_huh'], $txt['icon_embarrassed'], $txt['icon_lips'], $txt['icon_kiss'], $txt['icon_cry'], $txt['icon_undecided'], '', '', '', ''); |
2742 | - } |
|
2743 | - else |
|
2898 | + } else |
|
2744 | 2899 | { |
2745 | 2900 | // Load the smileys in reverse order by length so they don't get parsed wrong. |
2746 | 2901 | if (($temp = cache_get_data('parsing_smileys', 480)) == null) |
@@ -2764,9 +2919,9 @@ discard block |
||
2764 | 2919 | $smcFunc['db_free_result']($result); |
2765 | 2920 | |
2766 | 2921 | cache_put_data('parsing_smileys', array($smileysfrom, $smileysto, $smileysdescs), 480); |
2922 | + } else { |
|
2923 | + list ($smileysfrom, $smileysto, $smileysdescs) = $temp; |
|
2767 | 2924 | } |
2768 | - else |
|
2769 | - list ($smileysfrom, $smileysto, $smileysdescs) = $temp; |
|
2770 | 2925 | } |
2771 | 2926 | |
2772 | 2927 | // The non-breaking-space is a complex thing... |
@@ -2843,35 +2998,41 @@ discard block |
||
2843 | 2998 | global $scripturl, $context, $modSettings, $db_show_debug, $db_cache; |
2844 | 2999 | |
2845 | 3000 | // In case we have mail to send, better do that - as obExit doesn't always quite make it... |
2846 | - if (!empty($context['flush_mail'])) |
|
2847 | - // @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\ |
|
3001 | + if (!empty($context['flush_mail'])) { |
|
3002 | + // @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\ |
|
2848 | 3003 | AddMailQueue(true); |
3004 | + } |
|
2849 | 3005 | |
2850 | 3006 | $add = preg_match('~^(ftp|http)[s]?://~', $setLocation) == 0 && substr($setLocation, 0, 6) != 'about:'; |
2851 | 3007 | |
2852 | - if ($add) |
|
2853 | - $setLocation = $scripturl . ($setLocation != '' ? '?' . $setLocation : ''); |
|
3008 | + if ($add) { |
|
3009 | + $setLocation = $scripturl . ($setLocation != '' ? '?' . $setLocation : ''); |
|
3010 | + } |
|
2854 | 3011 | |
2855 | 3012 | // Put the session ID in. |
2856 | - if (defined('SID') && SID != '') |
|
2857 | - $setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '(?!\?' . preg_quote(SID, '/') . ')\\??/', $scripturl . '?' . SID . ';', $setLocation); |
|
3013 | + if (defined('SID') && SID != '') { |
|
3014 | + $setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '(?!\?' . preg_quote(SID, '/') . ')\\??/', $scripturl . '?' . SID . ';', $setLocation); |
|
3015 | + } |
|
2858 | 3016 | // Keep that debug in their for template debugging! |
2859 | - elseif (isset($_GET['debug'])) |
|
2860 | - $setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '\\??/', $scripturl . '?debug;', $setLocation); |
|
3017 | + elseif (isset($_GET['debug'])) { |
|
3018 | + $setLocation = preg_replace('/^' . preg_quote($scripturl, '/') . '\\??/', $scripturl . '?debug;', $setLocation); |
|
3019 | + } |
|
2861 | 3020 | |
2862 | 3021 | if (!empty($modSettings['queryless_urls']) && (empty($context['server']['is_cgi']) || ini_get('cgi.fix_pathinfo') == 1 || @get_cfg_var('cgi.fix_pathinfo') == 1) && (!empty($context['server']['is_apache']) || !empty($context['server']['is_lighttpd']) || !empty($context['server']['is_litespeed']))) |
2863 | 3022 | { |
2864 | - if (defined('SID') && SID != '') |
|
2865 | - $setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?(?:' . SID . '(?:;|&|&))((?:board|topic)=[^#]+?)(#[^"]*?)?$~', |
|
3023 | + if (defined('SID') && SID != '') { |
|
3024 | + $setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?(?:' . SID . '(?:;|&|&))((?:board|topic)=[^#]+?)(#[^"]*?)?$~', |
|
2866 | 3025 | function ($m) use ($scripturl) |
2867 | 3026 | { |
2868 | 3027 | return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html?' . SID. (isset($m[2]) ? "$m[2]" : ""); |
3028 | + } |
|
2869 | 3029 | }, $setLocation); |
2870 | - else |
|
2871 | - $setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?$~', |
|
3030 | + else { |
|
3031 | + $setLocation = preg_replace_callback('~^' . preg_quote($scripturl, '/') . '\?((?:board|topic)=[^#"]+?)(#[^"]*?)?$~', |
|
2872 | 3032 | function ($m) use ($scripturl) |
2873 | 3033 | { |
2874 | 3034 | return $scripturl . '/' . strtr("$m[1]", '&;=', '//,') . '.html' . (isset($m[2]) ? "$m[2]" : ""); |
3035 | + } |
|
2875 | 3036 | }, $setLocation); |
2876 | 3037 | } |
2877 | 3038 | |
@@ -2882,8 +3043,9 @@ discard block |
||
2882 | 3043 | header('Location: ' . str_replace(' ', '%20', $setLocation), true, $permanent ? 301 : 302); |
2883 | 3044 | |
2884 | 3045 | // Debugging. |
2885 | - if (isset($db_show_debug) && $db_show_debug === true) |
|
2886 | - $_SESSION['debug_redirect'] = $db_cache; |
|
3046 | + if (isset($db_show_debug) && $db_show_debug === true) { |
|
3047 | + $_SESSION['debug_redirect'] = $db_cache; |
|
3048 | + } |
|
2887 | 3049 | |
2888 | 3050 | obExit(false); |
2889 | 3051 | } |
@@ -2902,51 +3064,60 @@ discard block |
||
2902 | 3064 | |
2903 | 3065 | // Attempt to prevent a recursive loop. |
2904 | 3066 | ++$level; |
2905 | - if ($level > 1 && !$from_fatal_error && !$has_fatal_error) |
|
2906 | - exit; |
|
2907 | - if ($from_fatal_error) |
|
2908 | - $has_fatal_error = true; |
|
3067 | + if ($level > 1 && !$from_fatal_error && !$has_fatal_error) { |
|
3068 | + exit; |
|
3069 | + } |
|
3070 | + if ($from_fatal_error) { |
|
3071 | + $has_fatal_error = true; |
|
3072 | + } |
|
2909 | 3073 | |
2910 | 3074 | // Clear out the stat cache. |
2911 | 3075 | trackStats(); |
2912 | 3076 | |
2913 | 3077 | // If we have mail to send, send it. |
2914 | - if (!empty($context['flush_mail'])) |
|
2915 | - // @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\ |
|
3078 | + if (!empty($context['flush_mail'])) { |
|
3079 | + // @todo this relies on 'flush_mail' being only set in AddMailQueue itself... :\ |
|
2916 | 3080 | AddMailQueue(true); |
3081 | + } |
|
2917 | 3082 | |
2918 | 3083 | $do_header = $header === null ? !$header_done : $header; |
2919 | - if ($do_footer === null) |
|
2920 | - $do_footer = $do_header; |
|
3084 | + if ($do_footer === null) { |
|
3085 | + $do_footer = $do_header; |
|
3086 | + } |
|
2921 | 3087 | |
2922 | 3088 | // Has the template/header been done yet? |
2923 | 3089 | if ($do_header) |
2924 | 3090 | { |
2925 | 3091 | // Was the page title set last minute? Also update the HTML safe one. |
2926 | - if (!empty($context['page_title']) && empty($context['page_title_html_safe'])) |
|
2927 | - $context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : ''); |
|
3092 | + if (!empty($context['page_title']) && empty($context['page_title_html_safe'])) { |
|
3093 | + $context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : ''); |
|
3094 | + } |
|
2928 | 3095 | |
2929 | 3096 | // Start up the session URL fixer. |
2930 | 3097 | ob_start('ob_sessrewrite'); |
2931 | 3098 | |
2932 | - if (!empty($settings['output_buffers']) && is_string($settings['output_buffers'])) |
|
2933 | - $buffers = explode(',', $settings['output_buffers']); |
|
2934 | - elseif (!empty($settings['output_buffers'])) |
|
2935 | - $buffers = $settings['output_buffers']; |
|
2936 | - else |
|
2937 | - $buffers = array(); |
|
3099 | + if (!empty($settings['output_buffers']) && is_string($settings['output_buffers'])) { |
|
3100 | + $buffers = explode(',', $settings['output_buffers']); |
|
3101 | + } elseif (!empty($settings['output_buffers'])) { |
|
3102 | + $buffers = $settings['output_buffers']; |
|
3103 | + } else { |
|
3104 | + $buffers = array(); |
|
3105 | + } |
|
2938 | 3106 | |
2939 | - if (isset($modSettings['integrate_buffer'])) |
|
2940 | - $buffers = array_merge(explode(',', $modSettings['integrate_buffer']), $buffers); |
|
3107 | + if (isset($modSettings['integrate_buffer'])) { |
|
3108 | + $buffers = array_merge(explode(',', $modSettings['integrate_buffer']), $buffers); |
|
3109 | + } |
|
2941 | 3110 | |
2942 | - if (!empty($buffers)) |
|
2943 | - foreach ($buffers as $function) |
|
3111 | + if (!empty($buffers)) { |
|
3112 | + foreach ($buffers as $function) |
|
2944 | 3113 | { |
2945 | 3114 | $call = call_helper($function, true); |
3115 | + } |
|
2946 | 3116 | |
2947 | 3117 | // Is it valid? |
2948 | - if (!empty($call)) |
|
2949 | - ob_start($call); |
|
3118 | + if (!empty($call)) { |
|
3119 | + ob_start($call); |
|
3120 | + } |
|
2950 | 3121 | } |
2951 | 3122 | |
2952 | 3123 | // Display the screen in the logical order. |
@@ -2958,8 +3129,9 @@ discard block |
||
2958 | 3129 | loadSubTemplate(isset($context['sub_template']) ? $context['sub_template'] : 'main'); |
2959 | 3130 | |
2960 | 3131 | // Anything special to put out? |
2961 | - if (!empty($context['insert_after_template']) && !isset($_REQUEST['xml'])) |
|
2962 | - echo $context['insert_after_template']; |
|
3132 | + if (!empty($context['insert_after_template']) && !isset($_REQUEST['xml'])) { |
|
3133 | + echo $context['insert_after_template']; |
|
3134 | + } |
|
2963 | 3135 | |
2964 | 3136 | // Just so we don't get caught in an endless loop of errors from the footer... |
2965 | 3137 | if (!$footer_done) |
@@ -2968,14 +3140,16 @@ discard block |
||
2968 | 3140 | template_footer(); |
2969 | 3141 | |
2970 | 3142 | // (since this is just debugging... it's okay that it's after </html>.) |
2971 | - if (!isset($_REQUEST['xml'])) |
|
2972 | - displayDebug(); |
|
3143 | + if (!isset($_REQUEST['xml'])) { |
|
3144 | + displayDebug(); |
|
3145 | + } |
|
2973 | 3146 | } |
2974 | 3147 | } |
2975 | 3148 | |
2976 | 3149 | // Remember this URL in case someone doesn't like sending HTTP_REFERER. |
2977 | - if (strpos($_SERVER['REQUEST_URL'], 'action=dlattach') === false && strpos($_SERVER['REQUEST_URL'], 'action=viewsmfile') === false) |
|
2978 | - $_SESSION['old_url'] = $_SERVER['REQUEST_URL']; |
|
3150 | + if (strpos($_SERVER['REQUEST_URL'], 'action=dlattach') === false && strpos($_SERVER['REQUEST_URL'], 'action=viewsmfile') === false) { |
|
3151 | + $_SESSION['old_url'] = $_SERVER['REQUEST_URL']; |
|
3152 | + } |
|
2979 | 3153 | |
2980 | 3154 | // For session check verification.... don't switch browsers... |
2981 | 3155 | $_SESSION['USER_AGENT'] = empty($_SERVER['HTTP_USER_AGENT']) ? '' : $_SERVER['HTTP_USER_AGENT']; |
@@ -2984,9 +3158,10 @@ discard block |
||
2984 | 3158 | call_integration_hook('integrate_exit', array($do_footer)); |
2985 | 3159 | |
2986 | 3160 | // Don't exit if we're coming from index.php; that will pass through normally. |
2987 | - if (!$from_index) |
|
2988 | - exit; |
|
2989 | -} |
|
3161 | + if (!$from_index) { |
|
3162 | + exit; |
|
3163 | + } |
|
3164 | + } |
|
2990 | 3165 | |
2991 | 3166 | /** |
2992 | 3167 | * Get the size of a specified image with better error handling. |
@@ -3005,8 +3180,9 @@ discard block |
||
3005 | 3180 | $url = str_replace(' ', '%20', $url); |
3006 | 3181 | |
3007 | 3182 | // Can we pull this from the cache... please please? |
3008 | - if (($temp = cache_get_data('url_image_size-' . md5($url), 240)) !== null) |
|
3009 | - return $temp; |
|
3183 | + if (($temp = cache_get_data('url_image_size-' . md5($url), 240)) !== null) { |
|
3184 | + return $temp; |
|
3185 | + } |
|
3010 | 3186 | $t = microtime(); |
3011 | 3187 | |
3012 | 3188 | // Get the host to pester... |
@@ -3016,12 +3192,10 @@ discard block |
||
3016 | 3192 | if ($url == '' || $url == 'http://' || $url == 'https://') |
3017 | 3193 | { |
3018 | 3194 | return false; |
3019 | - } |
|
3020 | - elseif (!isset($match[1])) |
|
3195 | + } elseif (!isset($match[1])) |
|
3021 | 3196 | { |
3022 | 3197 | $size = @getimagesize($url); |
3023 | - } |
|
3024 | - else |
|
3198 | + } else |
|
3025 | 3199 | { |
3026 | 3200 | // Try to connect to the server... give it half a second. |
3027 | 3201 | $temp = 0; |
@@ -3060,12 +3234,14 @@ discard block |
||
3060 | 3234 | } |
3061 | 3235 | |
3062 | 3236 | // If we didn't get it, we failed. |
3063 | - if (!isset($size)) |
|
3064 | - $size = false; |
|
3237 | + if (!isset($size)) { |
|
3238 | + $size = false; |
|
3239 | + } |
|
3065 | 3240 | |
3066 | 3241 | // If this took a long time, we may never have to do it again, but then again we might... |
3067 | - if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.8) |
|
3068 | - cache_put_data('url_image_size-' . md5($url), $size, 240); |
|
3242 | + if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.8) { |
|
3243 | + cache_put_data('url_image_size-' . md5($url), $size, 240); |
|
3244 | + } |
|
3069 | 3245 | |
3070 | 3246 | // Didn't work. |
3071 | 3247 | return $size; |
@@ -3083,8 +3259,9 @@ discard block |
||
3083 | 3259 | |
3084 | 3260 | // Under SSI this function can be called more then once. That can cause some problems. |
3085 | 3261 | // So only run the function once unless we are forced to run it again. |
3086 | - if ($loaded && !$forceload) |
|
3087 | - return; |
|
3262 | + if ($loaded && !$forceload) { |
|
3263 | + return; |
|
3264 | + } |
|
3088 | 3265 | |
3089 | 3266 | $loaded = true; |
3090 | 3267 | |
@@ -3096,14 +3273,16 @@ discard block |
||
3096 | 3273 | $context['news_lines'] = array_filter(explode("\n", str_replace("\r", '', trim(addslashes($modSettings['news']))))); |
3097 | 3274 | for ($i = 0, $n = count($context['news_lines']); $i < $n; $i++) |
3098 | 3275 | { |
3099 | - if (trim($context['news_lines'][$i]) == '') |
|
3100 | - continue; |
|
3276 | + if (trim($context['news_lines'][$i]) == '') { |
|
3277 | + continue; |
|
3278 | + } |
|
3101 | 3279 | |
3102 | 3280 | // Clean it up for presentation ;). |
3103 | 3281 | $context['news_lines'][$i] = parse_bbc(stripslashes(trim($context['news_lines'][$i])), true, 'news' . $i); |
3104 | 3282 | } |
3105 | - if (!empty($context['news_lines'])) |
|
3106 | - $context['random_news_line'] = $context['news_lines'][mt_rand(0, count($context['news_lines']) - 1)]; |
|
3283 | + if (!empty($context['news_lines'])) { |
|
3284 | + $context['random_news_line'] = $context['news_lines'][mt_rand(0, count($context['news_lines']) - 1)]; |
|
3285 | + } |
|
3107 | 3286 | |
3108 | 3287 | if (!$user_info['is_guest']) |
3109 | 3288 | { |
@@ -3112,40 +3291,48 @@ discard block |
||
3112 | 3291 | $context['user']['alerts'] = &$user_info['alerts']; |
3113 | 3292 | |
3114 | 3293 | // Personal message popup... |
3115 | - if ($user_info['unread_messages'] > (isset($_SESSION['unread_messages']) ? $_SESSION['unread_messages'] : 0)) |
|
3116 | - $context['user']['popup_messages'] = true; |
|
3117 | - else |
|
3118 | - $context['user']['popup_messages'] = false; |
|
3294 | + if ($user_info['unread_messages'] > (isset($_SESSION['unread_messages']) ? $_SESSION['unread_messages'] : 0)) { |
|
3295 | + $context['user']['popup_messages'] = true; |
|
3296 | + } else { |
|
3297 | + $context['user']['popup_messages'] = false; |
|
3298 | + } |
|
3119 | 3299 | $_SESSION['unread_messages'] = $user_info['unread_messages']; |
3120 | 3300 | |
3121 | - if (allowedTo('moderate_forum')) |
|
3122 | - $context['unapproved_members'] = (!empty($modSettings['registration_method']) && ($modSettings['registration_method'] == 2 || (!empty($modSettings['coppaType']) && $modSettings['coppaType'] == 2))) || !empty($modSettings['approveAccountDeletion']) ? $modSettings['unapprovedMembers'] : 0; |
|
3301 | + if (allowedTo('moderate_forum')) { |
|
3302 | + $context['unapproved_members'] = (!empty($modSettings['registration_method']) && ($modSettings['registration_method'] == 2 || (!empty($modSettings['coppaType']) && $modSettings['coppaType'] == 2))) || !empty($modSettings['approveAccountDeletion']) ? $modSettings['unapprovedMembers'] : 0; |
|
3303 | + } |
|
3123 | 3304 | |
3124 | 3305 | $context['user']['avatar'] = array(); |
3125 | 3306 | |
3126 | 3307 | // Check for gravatar first since we might be forcing them... |
3127 | 3308 | if (($modSettings['gravatarEnabled'] && substr($user_info['avatar']['url'], 0, 11) == 'gravatar://') || !empty($modSettings['gravatarOverride'])) |
3128 | 3309 | { |
3129 | - if (!empty($modSettings['gravatarAllowExtraEmail']) && stristr($user_info['avatar']['url'], 'gravatar://') && strlen($user_info['avatar']['url']) > 11) |
|
3130 | - $context['user']['avatar']['href'] = get_gravatar_url($smcFunc['substr']($user_info['avatar']['url'], 11)); |
|
3131 | - else |
|
3132 | - $context['user']['avatar']['href'] = get_gravatar_url($user_info['email']); |
|
3310 | + if (!empty($modSettings['gravatarAllowExtraEmail']) && stristr($user_info['avatar']['url'], 'gravatar://') && strlen($user_info['avatar']['url']) > 11) { |
|
3311 | + $context['user']['avatar']['href'] = get_gravatar_url($smcFunc['substr']($user_info['avatar']['url'], 11)); |
|
3312 | + } else { |
|
3313 | + $context['user']['avatar']['href'] = get_gravatar_url($user_info['email']); |
|
3314 | + } |
|
3133 | 3315 | } |
3134 | 3316 | // Uploaded? |
3135 | - elseif ($user_info['avatar']['url'] == '' && !empty($user_info['avatar']['id_attach'])) |
|
3136 | - $context['user']['avatar']['href'] = $user_info['avatar']['custom_dir'] ? $modSettings['custom_avatar_url'] . '/' . $user_info['avatar']['filename'] : $scripturl . '?action=dlattach;attach=' . $user_info['avatar']['id_attach'] . ';type=avatar'; |
|
3317 | + elseif ($user_info['avatar']['url'] == '' && !empty($user_info['avatar']['id_attach'])) { |
|
3318 | + $context['user']['avatar']['href'] = $user_info['avatar']['custom_dir'] ? $modSettings['custom_avatar_url'] . '/' . $user_info['avatar']['filename'] : $scripturl . '?action=dlattach;attach=' . $user_info['avatar']['id_attach'] . ';type=avatar'; |
|
3319 | + } |
|
3137 | 3320 | // Full URL? |
3138 | - elseif (strpos($user_info['avatar']['url'], 'http://') === 0 || strpos($user_info['avatar']['url'], 'https://') === 0) |
|
3139 | - $context['user']['avatar']['href'] = $user_info['avatar']['url']; |
|
3321 | + elseif (strpos($user_info['avatar']['url'], 'http://') === 0 || strpos($user_info['avatar']['url'], 'https://') === 0) { |
|
3322 | + $context['user']['avatar']['href'] = $user_info['avatar']['url']; |
|
3323 | + } |
|
3140 | 3324 | // Otherwise we assume it's server stored. |
3141 | - elseif ($user_info['avatar']['url'] != '') |
|
3142 | - $context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/' . $smcFunc['htmlspecialchars']($user_info['avatar']['url']); |
|
3325 | + elseif ($user_info['avatar']['url'] != '') { |
|
3326 | + $context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/' . $smcFunc['htmlspecialchars']($user_info['avatar']['url']); |
|
3327 | + } |
|
3143 | 3328 | // No avatar at all? Fine, we have a big fat default avatar ;) |
3144 | - else |
|
3145 | - $context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/default.png'; |
|
3329 | + else { |
|
3330 | + $context['user']['avatar']['href'] = $modSettings['avatar_url'] . '/default.png'; |
|
3331 | + } |
|
3146 | 3332 | |
3147 | - if (!empty($context['user']['avatar'])) |
|
3148 | - $context['user']['avatar']['image'] = '<img src="' . $context['user']['avatar']['href'] . '" alt="" class="avatar">'; |
|
3333 | + if (!empty($context['user']['avatar'])) { |
|
3334 | + $context['user']['avatar']['image'] = '<img src="' . $context['user']['avatar']['href'] . '" alt="" class="avatar">'; |
|
3335 | + } |
|
3149 | 3336 | |
3150 | 3337 | // Figure out how long they've been logged in. |
3151 | 3338 | $context['user']['total_time_logged_in'] = array( |
@@ -3153,8 +3340,7 @@ discard block |
||
3153 | 3340 | 'hours' => floor(($user_info['total_time_logged_in'] % 86400) / 3600), |
3154 | 3341 | 'minutes' => floor(($user_info['total_time_logged_in'] % 3600) / 60) |
3155 | 3342 | ); |
3156 | - } |
|
3157 | - else |
|
3343 | + } else |
|
3158 | 3344 | { |
3159 | 3345 | $context['user']['messages'] = 0; |
3160 | 3346 | $context['user']['unread_messages'] = 0; |
@@ -3162,12 +3348,14 @@ discard block |
||
3162 | 3348 | $context['user']['total_time_logged_in'] = array('days' => 0, 'hours' => 0, 'minutes' => 0); |
3163 | 3349 | $context['user']['popup_messages'] = false; |
3164 | 3350 | |
3165 | - if (!empty($modSettings['registration_method']) && $modSettings['registration_method'] == 1) |
|
3166 | - $txt['welcome_guest'] .= $txt['welcome_guest_activate']; |
|
3351 | + if (!empty($modSettings['registration_method']) && $modSettings['registration_method'] == 1) { |
|
3352 | + $txt['welcome_guest'] .= $txt['welcome_guest_activate']; |
|
3353 | + } |
|
3167 | 3354 | |
3168 | 3355 | // If we've upgraded recently, go easy on the passwords. |
3169 | - if (!empty($modSettings['disableHashTime']) && ($modSettings['disableHashTime'] == 1 || time() < $modSettings['disableHashTime'])) |
|
3170 | - $context['disable_login_hashing'] = true; |
|
3356 | + if (!empty($modSettings['disableHashTime']) && ($modSettings['disableHashTime'] == 1 || time() < $modSettings['disableHashTime'])) { |
|
3357 | + $context['disable_login_hashing'] = true; |
|
3358 | + } |
|
3171 | 3359 | } |
3172 | 3360 | |
3173 | 3361 | // Setup the main menu items. |
@@ -3180,8 +3368,8 @@ discard block |
||
3180 | 3368 | $context['show_pm_popup'] = $context['user']['popup_messages'] && !empty($options['popup_messages']) && (!isset($_REQUEST['action']) || $_REQUEST['action'] != 'pm'); |
3181 | 3369 | |
3182 | 3370 | // 2.1+: Add the PM popup here instead. Theme authors can still override it simply by editing/removing the 'fPmPopup' in the array. |
3183 | - if ($context['show_pm_popup']) |
|
3184 | - addInlineJavaScript(' |
|
3371 | + if ($context['show_pm_popup']) { |
|
3372 | + addInlineJavaScript(' |
|
3185 | 3373 | jQuery(document).ready(function($) { |
3186 | 3374 | new smc_Popup({ |
3187 | 3375 | heading: ' . JavaScriptEscape($txt['show_personal_messages_heading']) . ', |
@@ -3189,15 +3377,17 @@ discard block |
||
3189 | 3377 | icon_class: \'generic_icons mail_new\' |
3190 | 3378 | }); |
3191 | 3379 | });'); |
3380 | + } |
|
3192 | 3381 | |
3193 | 3382 | // Add a generic "Are you sure?" confirmation message. |
3194 | 3383 | addInlineJavaScript(' |
3195 | 3384 | var smf_you_sure =' . JavaScriptEscape($txt['quickmod_confirm']) .';'); |
3196 | 3385 | |
3197 | 3386 | // Now add the capping code for avatars. |
3198 | - if (!empty($modSettings['avatar_max_width_external']) && !empty($modSettings['avatar_max_height_external']) && !empty($modSettings['avatar_action_too_large']) && $modSettings['avatar_action_too_large'] == 'option_css_resize') |
|
3199 | - addInlineCss(' |
|
3387 | + if (!empty($modSettings['avatar_max_width_external']) && !empty($modSettings['avatar_max_height_external']) && !empty($modSettings['avatar_action_too_large']) && $modSettings['avatar_action_too_large'] == 'option_css_resize') { |
|
3388 | + addInlineCss(' |
|
3200 | 3389 | img.avatar { max-width: ' . $modSettings['avatar_max_width_external'] . 'px; max-height: ' . $modSettings['avatar_max_height_external'] . 'px; }'); |
3390 | + } |
|
3201 | 3391 | |
3202 | 3392 | // This looks weird, but it's because BoardIndex.php references the variable. |
3203 | 3393 | $context['common_stats']['latest_member'] = array( |
@@ -3214,11 +3404,13 @@ discard block |
||
3214 | 3404 | ); |
3215 | 3405 | $context['common_stats']['boardindex_total_posts'] = sprintf($txt['boardindex_total_posts'], $context['common_stats']['total_posts'], $context['common_stats']['total_topics'], $context['common_stats']['total_members']); |
3216 | 3406 | |
3217 | - if (empty($settings['theme_version'])) |
|
3218 | - addJavaScriptVar('smf_scripturl', $scripturl); |
|
3407 | + if (empty($settings['theme_version'])) { |
|
3408 | + addJavaScriptVar('smf_scripturl', $scripturl); |
|
3409 | + } |
|
3219 | 3410 | |
3220 | - if (!isset($context['page_title'])) |
|
3221 | - $context['page_title'] = ''; |
|
3411 | + if (!isset($context['page_title'])) { |
|
3412 | + $context['page_title'] = ''; |
|
3413 | + } |
|
3222 | 3414 | |
3223 | 3415 | // Set some specific vars. |
3224 | 3416 | $context['page_title_html_safe'] = $smcFunc['htmlspecialchars'](un_htmlspecialchars($context['page_title'])) . (!empty($context['current_page']) ? ' - ' . $txt['page'] . ' ' . ($context['current_page'] + 1) : ''); |
@@ -3228,21 +3420,23 @@ discard block |
||
3228 | 3420 | $context['meta_tags'][] = array('property' => 'og:site_name', 'content' => $context['forum_name']); |
3229 | 3421 | $context['meta_tags'][] = array('property' => 'og:title', 'content' => $context['page_title_html_safe']); |
3230 | 3422 | |
3231 | - if (!empty($context['meta_keywords'])) |
|
3232 | - $context['meta_tags'][] = array('name' => 'keywords', 'content' => $context['meta_keywords']); |
|
3423 | + if (!empty($context['meta_keywords'])) { |
|
3424 | + $context['meta_tags'][] = array('name' => 'keywords', 'content' => $context['meta_keywords']); |
|
3425 | + } |
|
3233 | 3426 | |
3234 | - if (!empty($context['canonical_url'])) |
|
3235 | - $context['meta_tags'][] = array('property' => 'og:url', 'content' => $context['canonical_url']); |
|
3427 | + if (!empty($context['canonical_url'])) { |
|
3428 | + $context['meta_tags'][] = array('property' => 'og:url', 'content' => $context['canonical_url']); |
|
3429 | + } |
|
3236 | 3430 | |
3237 | - if (!empty($settings['og_image'])) |
|
3238 | - $context['meta_tags'][] = array('property' => 'og:image', 'content' => $settings['og_image']); |
|
3431 | + if (!empty($settings['og_image'])) { |
|
3432 | + $context['meta_tags'][] = array('property' => 'og:image', 'content' => $settings['og_image']); |
|
3433 | + } |
|
3239 | 3434 | |
3240 | 3435 | if (!empty($context['meta_description'])) |
3241 | 3436 | { |
3242 | 3437 | $context['meta_tags'][] = array('property' => 'og:description', 'content' => $context['meta_description']); |
3243 | 3438 | $context['meta_tags'][] = array('name' => 'description', 'content' => $context['meta_description']); |
3244 | - } |
|
3245 | - else |
|
3439 | + } else |
|
3246 | 3440 | { |
3247 | 3441 | $context['meta_tags'][] = array('property' => 'og:description', 'content' => $context['page_title_html_safe']); |
3248 | 3442 | $context['meta_tags'][] = array('name' => 'description', 'content' => $context['page_title_html_safe']); |
@@ -3267,8 +3461,9 @@ discard block |
||
3267 | 3461 | $memory_needed = memoryReturnBytes($needed); |
3268 | 3462 | |
3269 | 3463 | // should we account for how much is currently being used? |
3270 | - if ($in_use) |
|
3271 | - $memory_needed += function_exists('memory_get_usage') ? memory_get_usage() : (2 * 1048576); |
|
3464 | + if ($in_use) { |
|
3465 | + $memory_needed += function_exists('memory_get_usage') ? memory_get_usage() : (2 * 1048576); |
|
3466 | + } |
|
3272 | 3467 | |
3273 | 3468 | // if more is needed, request it |
3274 | 3469 | if ($memory_current < $memory_needed) |
@@ -3291,8 +3486,9 @@ discard block |
||
3291 | 3486 | */ |
3292 | 3487 | function memoryReturnBytes($val) |
3293 | 3488 | { |
3294 | - if (is_integer($val)) |
|
3295 | - return $val; |
|
3489 | + if (is_integer($val)) { |
|
3490 | + return $val; |
|
3491 | + } |
|
3296 | 3492 | |
3297 | 3493 | // Separate the number from the designator |
3298 | 3494 | $val = trim($val); |
@@ -3328,10 +3524,11 @@ discard block |
||
3328 | 3524 | header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); |
3329 | 3525 | |
3330 | 3526 | // Are we debugging the template/html content? |
3331 | - if (!isset($_REQUEST['xml']) && isset($_GET['debug']) && !isBrowser('ie')) |
|
3332 | - header('Content-Type: application/xhtml+xml'); |
|
3333 | - elseif (!isset($_REQUEST['xml'])) |
|
3334 | - header('Content-Type: text/html; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set'])); |
|
3527 | + if (!isset($_REQUEST['xml']) && isset($_GET['debug']) && !isBrowser('ie')) { |
|
3528 | + header('Content-Type: application/xhtml+xml'); |
|
3529 | + } elseif (!isset($_REQUEST['xml'])) { |
|
3530 | + header('Content-Type: text/html; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set'])); |
|
3531 | + } |
|
3335 | 3532 | } |
3336 | 3533 | |
3337 | 3534 | header('Content-Type: text/' . (isset($_REQUEST['xml']) ? 'xml' : 'html') . '; charset=' . (empty($context['character_set']) ? 'ISO-8859-1' : $context['character_set'])); |
@@ -3340,8 +3537,9 @@ discard block |
||
3340 | 3537 | if ($context['in_maintenance'] && $context['user']['is_admin']) |
3341 | 3538 | { |
3342 | 3539 | $position = array_search('body', $context['template_layers']); |
3343 | - if ($position === false) |
|
3344 | - $position = array_search('main', $context['template_layers']); |
|
3540 | + if ($position === false) { |
|
3541 | + $position = array_search('main', $context['template_layers']); |
|
3542 | + } |
|
3345 | 3543 | |
3346 | 3544 | if ($position !== false) |
3347 | 3545 | { |
@@ -3369,23 +3567,25 @@ discard block |
||
3369 | 3567 | |
3370 | 3568 | foreach ($securityFiles as $i => $securityFile) |
3371 | 3569 | { |
3372 | - if (!file_exists($boarddir . '/' . $securityFile)) |
|
3373 | - unset($securityFiles[$i]); |
|
3570 | + if (!file_exists($boarddir . '/' . $securityFile)) { |
|
3571 | + unset($securityFiles[$i]); |
|
3572 | + } |
|
3374 | 3573 | } |
3375 | 3574 | |
3376 | 3575 | // We are already checking so many files...just few more doesn't make any difference! :P |
3377 | - if (!empty($modSettings['currentAttachmentUploadDir'])) |
|
3378 | - $path = $modSettings['attachmentUploadDir'][$modSettings['currentAttachmentUploadDir']]; |
|
3379 | - |
|
3380 | - else |
|
3381 | - $path = $modSettings['attachmentUploadDir']; |
|
3576 | + if (!empty($modSettings['currentAttachmentUploadDir'])) { |
|
3577 | + $path = $modSettings['attachmentUploadDir'][$modSettings['currentAttachmentUploadDir']]; |
|
3578 | + } else { |
|
3579 | + $path = $modSettings['attachmentUploadDir']; |
|
3580 | + } |
|
3382 | 3581 | |
3383 | 3582 | secureDirectory($path, true); |
3384 | 3583 | secureDirectory($cachedir); |
3385 | 3584 | |
3386 | 3585 | // If agreement is enabled, at least the english version shall exists |
3387 | - if ($modSettings['requireAgreement']) |
|
3388 | - $agreement = !file_exists($boarddir . '/agreement.txt'); |
|
3586 | + if ($modSettings['requireAgreement']) { |
|
3587 | + $agreement = !file_exists($boarddir . '/agreement.txt'); |
|
3588 | + } |
|
3389 | 3589 | |
3390 | 3590 | if (!empty($securityFiles) || (!empty($modSettings['cache_enable']) && !is_writable($cachedir)) || !empty($agreement)) |
3391 | 3591 | { |
@@ -3400,18 +3600,21 @@ discard block |
||
3400 | 3600 | echo ' |
3401 | 3601 | ', $txt['not_removed'], '<strong>', $securityFile, '</strong>!<br>'; |
3402 | 3602 | |
3403 | - if ($securityFile == 'Settings.php~' || $securityFile == 'Settings_bak.php~') |
|
3404 | - echo ' |
|
3603 | + if ($securityFile == 'Settings.php~' || $securityFile == 'Settings_bak.php~') { |
|
3604 | + echo ' |
|
3405 | 3605 | ', sprintf($txt['not_removed_extra'], $securityFile, substr($securityFile, 0, -1)), '<br>'; |
3606 | + } |
|
3406 | 3607 | } |
3407 | 3608 | |
3408 | - if (!empty($modSettings['cache_enable']) && !is_writable($cachedir)) |
|
3409 | - echo ' |
|
3609 | + if (!empty($modSettings['cache_enable']) && !is_writable($cachedir)) { |
|
3610 | + echo ' |
|
3410 | 3611 | <strong>', $txt['cache_writable'], '</strong><br>'; |
3612 | + } |
|
3411 | 3613 | |
3412 | - if (!empty($agreement)) |
|
3413 | - echo ' |
|
3614 | + if (!empty($agreement)) { |
|
3615 | + echo ' |
|
3414 | 3616 | <strong>', $txt['agreement_missing'], '</strong><br>'; |
3617 | + } |
|
3415 | 3618 | |
3416 | 3619 | echo ' |
3417 | 3620 | </p> |
@@ -3426,16 +3629,18 @@ discard block |
||
3426 | 3629 | <div class="windowbg alert" style="margin: 2ex; padding: 2ex; border: 2px dashed red;"> |
3427 | 3630 | ', sprintf($txt['you_are_post_banned'], $user_info['is_guest'] ? $txt['guest_title'] : $user_info['name']); |
3428 | 3631 | |
3429 | - if (!empty($_SESSION['ban']['cannot_post']['reason'])) |
|
3430 | - echo ' |
|
3632 | + if (!empty($_SESSION['ban']['cannot_post']['reason'])) { |
|
3633 | + echo ' |
|
3431 | 3634 | <div style="padding-left: 4ex; padding-top: 1ex;">', $_SESSION['ban']['cannot_post']['reason'], '</div>'; |
3635 | + } |
|
3432 | 3636 | |
3433 | - if (!empty($_SESSION['ban']['expire_time'])) |
|
3434 | - echo ' |
|
3637 | + if (!empty($_SESSION['ban']['expire_time'])) { |
|
3638 | + echo ' |
|
3435 | 3639 | <div>', sprintf($txt['your_ban_expires'], timeformat($_SESSION['ban']['expire_time'], false)), '</div>'; |
3436 | - else |
|
3437 | - echo ' |
|
3640 | + } else { |
|
3641 | + echo ' |
|
3438 | 3642 | <div>', $txt['your_ban_expires_never'], '</div>'; |
3643 | + } |
|
3439 | 3644 | |
3440 | 3645 | echo ' |
3441 | 3646 | </div>'; |
@@ -3451,8 +3656,9 @@ discard block |
||
3451 | 3656 | global $forum_copyright, $software_year, $forum_version; |
3452 | 3657 | |
3453 | 3658 | // Don't display copyright for things like SSI. |
3454 | - if (!isset($forum_version) || !isset($software_year)) |
|
3455 | - return; |
|
3659 | + if (!isset($forum_version) || !isset($software_year)) { |
|
3660 | + return; |
|
3661 | + } |
|
3456 | 3662 | |
3457 | 3663 | // Put in the version... |
3458 | 3664 | printf($forum_copyright, $forum_version, $software_year); |
@@ -3470,9 +3676,10 @@ discard block |
||
3470 | 3676 | $context['load_time'] = comma_format(round(array_sum(explode(' ', microtime())) - array_sum(explode(' ', $time_start)), 3)); |
3471 | 3677 | $context['load_queries'] = $db_count; |
3472 | 3678 | |
3473 | - foreach (array_reverse($context['template_layers']) as $layer) |
|
3474 | - loadSubTemplate($layer . '_below', true); |
|
3475 | -} |
|
3679 | + foreach (array_reverse($context['template_layers']) as $layer) { |
|
3680 | + loadSubTemplate($layer . '_below', true); |
|
3681 | + } |
|
3682 | + } |
|
3476 | 3683 | |
3477 | 3684 | /** |
3478 | 3685 | * Output the Javascript files |
@@ -3503,8 +3710,7 @@ discard block |
||
3503 | 3710 | { |
3504 | 3711 | echo ' |
3505 | 3712 | var ', $key, ';'; |
3506 | - } |
|
3507 | - else |
|
3713 | + } else |
|
3508 | 3714 | { |
3509 | 3715 | echo ' |
3510 | 3716 | var ', $key, ' = ', $value, ';'; |
@@ -3519,26 +3725,27 @@ discard block |
||
3519 | 3725 | foreach ($context['javascript_files'] as $id => $js_file) |
3520 | 3726 | { |
3521 | 3727 | // Last minute call! allow theme authors to disable single files. |
3522 | - if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files'])) |
|
3523 | - continue; |
|
3728 | + if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files'])) { |
|
3729 | + continue; |
|
3730 | + } |
|
3524 | 3731 | |
3525 | 3732 | // By default all files don't get minimized unless the file explicitly says so! |
3526 | 3733 | if (!empty($js_file['options']['minimize']) && !empty($modSettings['minimize_files'])) |
3527 | 3734 | { |
3528 | - if ($do_deferred && !empty($js_file['options']['defer'])) |
|
3529 | - $toMinifyDefer[] = $js_file; |
|
3530 | - |
|
3531 | - elseif (!$do_deferred && empty($js_file['options']['defer'])) |
|
3532 | - $toMinify[] = $js_file; |
|
3735 | + if ($do_deferred && !empty($js_file['options']['defer'])) { |
|
3736 | + $toMinifyDefer[] = $js_file; |
|
3737 | + } elseif (!$do_deferred && empty($js_file['options']['defer'])) { |
|
3738 | + $toMinify[] = $js_file; |
|
3739 | + } |
|
3533 | 3740 | |
3534 | 3741 | // Grab a random seed. |
3535 | - if (!isset($minSeed)) |
|
3536 | - $minSeed = $js_file['options']['seed']; |
|
3537 | - } |
|
3538 | - |
|
3539 | - elseif ((!$do_deferred && empty($js_file['options']['defer'])) || ($do_deferred && !empty($js_file['options']['defer']))) |
|
3540 | - echo ' |
|
3742 | + if (!isset($minSeed)) { |
|
3743 | + $minSeed = $js_file['options']['seed']; |
|
3744 | + } |
|
3745 | + } elseif ((!$do_deferred && empty($js_file['options']['defer'])) || ($do_deferred && !empty($js_file['options']['defer']))) { |
|
3746 | + echo ' |
|
3541 | 3747 | <script src="', $js_file['fileUrl'], '"', !empty($js_file['options']['async']) ? ' async="async"' : '', '></script>'; |
3748 | + } |
|
3542 | 3749 | } |
3543 | 3750 | |
3544 | 3751 | if ((!$do_deferred && !empty($toMinify)) || ($do_deferred && !empty($toMinifyDefer))) |
@@ -3546,14 +3753,14 @@ discard block |
||
3546 | 3753 | $result = custMinify(($do_deferred ? $toMinifyDefer : $toMinify), 'js', $do_deferred); |
3547 | 3754 | |
3548 | 3755 | // Minify process couldn't work, print each individual files. |
3549 | - if (!empty($result) && is_array($result)) |
|
3550 | - foreach ($result as $minFailedFile) |
|
3756 | + if (!empty($result) && is_array($result)) { |
|
3757 | + foreach ($result as $minFailedFile) |
|
3551 | 3758 | echo ' |
3552 | 3759 | <script src="', $minFailedFile['fileUrl'], '"', !empty($minFailedFile['options']['async']) ? ' async="async"' : '', '></script>'; |
3553 | - |
|
3554 | - else |
|
3555 | - echo ' |
|
3760 | + } else { |
|
3761 | + echo ' |
|
3556 | 3762 | <script src="', $settings['theme_url'] ,'/scripts/minified', ($do_deferred ? '_deferred' : '') ,'.js', $minSeed ,'"></script>'; |
3763 | + } |
|
3557 | 3764 | } |
3558 | 3765 | |
3559 | 3766 | // Inline JavaScript - Actually useful some times! |
@@ -3564,8 +3771,9 @@ discard block |
||
3564 | 3771 | echo ' |
3565 | 3772 | <script>'; |
3566 | 3773 | |
3567 | - foreach ($context['javascript_inline']['defer'] as $js_code) |
|
3568 | - echo $js_code; |
|
3774 | + foreach ($context['javascript_inline']['defer'] as $js_code) { |
|
3775 | + echo $js_code; |
|
3776 | + } |
|
3569 | 3777 | |
3570 | 3778 | echo ' |
3571 | 3779 | </script>'; |
@@ -3576,8 +3784,9 @@ discard block |
||
3576 | 3784 | echo ' |
3577 | 3785 | <script>'; |
3578 | 3786 | |
3579 | - foreach ($context['javascript_inline']['standard'] as $js_code) |
|
3580 | - echo $js_code; |
|
3787 | + foreach ($context['javascript_inline']['standard'] as $js_code) { |
|
3788 | + echo $js_code; |
|
3789 | + } |
|
3581 | 3790 | |
3582 | 3791 | echo ' |
3583 | 3792 | </script>'; |
@@ -3602,8 +3811,9 @@ discard block |
||
3602 | 3811 | foreach ($context['css_files'] as $id => $file) |
3603 | 3812 | { |
3604 | 3813 | // Last minute call! allow theme authors to disable single files. |
3605 | - if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files'])) |
|
3606 | - continue; |
|
3814 | + if (!empty($settings['disable_files']) && in_array($id, $settings['disable_files'])) { |
|
3815 | + continue; |
|
3816 | + } |
|
3607 | 3817 | |
3608 | 3818 | // By default all files don't get minimized unless the file explicitly says so! |
3609 | 3819 | if (!empty($file['options']['minimize']) && !empty($modSettings['minimize_files'])) |
@@ -3611,12 +3821,12 @@ discard block |
||
3611 | 3821 | $toMinify[] = $file; |
3612 | 3822 | |
3613 | 3823 | // Grab a random seed. |
3614 | - if (!isset($minSeed)) |
|
3615 | - $minSeed = $file['options']['seed']; |
|
3824 | + if (!isset($minSeed)) { |
|
3825 | + $minSeed = $file['options']['seed']; |
|
3826 | + } |
|
3827 | + } else { |
|
3828 | + $normal[] = $file['fileUrl']; |
|
3616 | 3829 | } |
3617 | - |
|
3618 | - else |
|
3619 | - $normal[] = $file['fileUrl']; |
|
3620 | 3830 | } |
3621 | 3831 | |
3622 | 3832 | if (!empty($toMinify)) |
@@ -3624,28 +3834,30 @@ discard block |
||
3624 | 3834 | $result = custMinify($toMinify, 'css'); |
3625 | 3835 | |
3626 | 3836 | // Minify process couldn't work, print each individual files. |
3627 | - if (!empty($result) && is_array($result)) |
|
3628 | - foreach ($result as $minFailedFile) |
|
3837 | + if (!empty($result) && is_array($result)) { |
|
3838 | + foreach ($result as $minFailedFile) |
|
3629 | 3839 | echo ' |
3630 | 3840 | <link rel="stylesheet" href="', $minFailedFile['fileUrl'], '">'; |
3631 | - |
|
3632 | - else |
|
3633 | - echo ' |
|
3841 | + } else { |
|
3842 | + echo ' |
|
3634 | 3843 | <link rel="stylesheet" href="', $settings['theme_url'] ,'/css/minified.css', $minSeed ,'">'; |
3844 | + } |
|
3635 | 3845 | } |
3636 | 3846 | |
3637 | 3847 | // Print the rest after the minified files. |
3638 | - if (!empty($normal)) |
|
3639 | - foreach ($normal as $nf) |
|
3848 | + if (!empty($normal)) { |
|
3849 | + foreach ($normal as $nf) |
|
3640 | 3850 | echo ' |
3641 | 3851 | <link rel="stylesheet" href="', $nf ,'">'; |
3852 | + } |
|
3642 | 3853 | |
3643 | 3854 | if ($db_show_debug === true) |
3644 | 3855 | { |
3645 | 3856 | // Try to keep only what's useful. |
3646 | 3857 | $repl = array($boardurl . '/Themes/' => '', $boardurl . '/' => ''); |
3647 | - foreach ($context['css_files'] as $file) |
|
3648 | - $context['debug']['sheets'][] = strtr($file['fileName'], $repl); |
|
3858 | + foreach ($context['css_files'] as $file) { |
|
3859 | + $context['debug']['sheets'][] = strtr($file['fileName'], $repl); |
|
3860 | + } |
|
3649 | 3861 | } |
3650 | 3862 | |
3651 | 3863 | if (!empty($context['css_header'])) |
@@ -3653,9 +3865,10 @@ discard block |
||
3653 | 3865 | echo ' |
3654 | 3866 | <style>'; |
3655 | 3867 | |
3656 | - foreach ($context['css_header'] as $css) |
|
3657 | - echo $css .' |
|
3868 | + foreach ($context['css_header'] as $css) { |
|
3869 | + echo $css .' |
|
3658 | 3870 | '; |
3871 | + } |
|
3659 | 3872 | |
3660 | 3873 | echo' |
3661 | 3874 | </style>'; |
@@ -3679,15 +3892,17 @@ discard block |
||
3679 | 3892 | $type = !empty($type) && in_array($type, $types) ? $type : false; |
3680 | 3893 | $data = !empty($data) ? $data : false; |
3681 | 3894 | |
3682 | - if (empty($type) || empty($data)) |
|
3683 | - return false; |
|
3895 | + if (empty($type) || empty($data)) { |
|
3896 | + return false; |
|
3897 | + } |
|
3684 | 3898 | |
3685 | 3899 | // Did we already did this? |
3686 | 3900 | $toCache = cache_get_data('minimized_'. $settings['theme_id'] .'_'. $type, 86400); |
3687 | 3901 | |
3688 | 3902 | // Already done? |
3689 | - if (!empty($toCache)) |
|
3690 | - return true; |
|
3903 | + if (!empty($toCache)) { |
|
3904 | + return true; |
|
3905 | + } |
|
3691 | 3906 | |
3692 | 3907 | // No namespaces, sorry! |
3693 | 3908 | $classType = 'MatthiasMullie\\Minify\\'. strtoupper($type); |
@@ -3769,8 +3984,9 @@ discard block |
||
3769 | 3984 | global $modSettings, $smcFunc; |
3770 | 3985 | |
3771 | 3986 | // Just make up a nice hash... |
3772 | - if ($new) |
|
3773 | - return sha1(md5($filename . time()) . mt_rand()); |
|
3987 | + if ($new) { |
|
3988 | + return sha1(md5($filename . time()) . mt_rand()); |
|
3989 | + } |
|
3774 | 3990 | |
3775 | 3991 | // Just make sure that attachment id is only a int |
3776 | 3992 | $attachment_id = (int) $attachment_id; |
@@ -3787,23 +4003,25 @@ discard block |
||
3787 | 4003 | 'id_attach' => $attachment_id, |
3788 | 4004 | )); |
3789 | 4005 | |
3790 | - if ($smcFunc['db_num_rows']($request) === 0) |
|
3791 | - return false; |
|
4006 | + if ($smcFunc['db_num_rows']($request) === 0) { |
|
4007 | + return false; |
|
4008 | + } |
|
3792 | 4009 | |
3793 | 4010 | list ($file_hash) = $smcFunc['db_fetch_row']($request); |
3794 | 4011 | $smcFunc['db_free_result']($request); |
3795 | 4012 | } |
3796 | 4013 | |
3797 | 4014 | // Still no hash? mmm... |
3798 | - if (empty($file_hash)) |
|
3799 | - $file_hash = sha1(md5($filename . time()) . mt_rand()); |
|
4015 | + if (empty($file_hash)) { |
|
4016 | + $file_hash = sha1(md5($filename . time()) . mt_rand()); |
|
4017 | + } |
|
3800 | 4018 | |
3801 | 4019 | // Are we using multiple directories? |
3802 | - if (is_array($modSettings['attachmentUploadDir'])) |
|
3803 | - $path = $modSettings['attachmentUploadDir'][$dir]; |
|
3804 | - |
|
3805 | - else |
|
3806 | - $path = $modSettings['attachmentUploadDir']; |
|
4020 | + if (is_array($modSettings['attachmentUploadDir'])) { |
|
4021 | + $path = $modSettings['attachmentUploadDir'][$dir]; |
|
4022 | + } else { |
|
4023 | + $path = $modSettings['attachmentUploadDir']; |
|
4024 | + } |
|
3807 | 4025 | |
3808 | 4026 | return $path . '/' . $attachment_id . '_' . $file_hash .'.dat'; |
3809 | 4027 | } |
@@ -3818,8 +4036,9 @@ discard block |
||
3818 | 4036 | function ip2range($fullip) |
3819 | 4037 | { |
3820 | 4038 | // Pretend that 'unknown' is 255.255.255.255. (since that can't be an IP anyway.) |
3821 | - if ($fullip == 'unknown') |
|
3822 | - $fullip = '255.255.255.255'; |
|
4039 | + if ($fullip == 'unknown') { |
|
4040 | + $fullip = '255.255.255.255'; |
|
4041 | + } |
|
3823 | 4042 | |
3824 | 4043 | $ip_parts = explode('-', $fullip); |
3825 | 4044 | $ip_array = array(); |
@@ -3843,10 +4062,11 @@ discard block |
||
3843 | 4062 | $ip_array['low'] = $ip_parts[0]; |
3844 | 4063 | $ip_array['high'] = $ip_parts[1]; |
3845 | 4064 | return $ip_array; |
3846 | - } |
|
3847 | - elseif (count($ip_parts) == 2) // if ip 22.22.*-22.22.* |
|
4065 | + } elseif (count($ip_parts) == 2) { |
|
4066 | + // if ip 22.22.*-22.22.* |
|
3848 | 4067 | { |
3849 | 4068 | $valid_low = isValidIP($ip_parts[0]); |
4069 | + } |
|
3850 | 4070 | $valid_high = isValidIP($ip_parts[1]); |
3851 | 4071 | $count = 0; |
3852 | 4072 | $mode = (preg_match('/:/',$ip_parts[0]) > 0 ? ':' : '.'); |
@@ -3861,7 +4081,9 @@ discard block |
||
3861 | 4081 | $ip_parts[0] .= $mode . $min; |
3862 | 4082 | $valid_low = isValidIP($ip_parts[0]); |
3863 | 4083 | $count++; |
3864 | - if ($count > 9) break; |
|
4084 | + if ($count > 9) { |
|
4085 | + break; |
|
4086 | + } |
|
3865 | 4087 | } |
3866 | 4088 | } |
3867 | 4089 | |
@@ -3875,7 +4097,9 @@ discard block |
||
3875 | 4097 | $ip_parts[1] .= $mode . $max; |
3876 | 4098 | $valid_high = isValidIP($ip_parts[1]); |
3877 | 4099 | $count++; |
3878 | - if ($count > 9) break; |
|
4100 | + if ($count > 9) { |
|
4101 | + break; |
|
4102 | + } |
|
3879 | 4103 | } |
3880 | 4104 | } |
3881 | 4105 | |
@@ -3900,46 +4124,54 @@ discard block |
||
3900 | 4124 | { |
3901 | 4125 | global $modSettings; |
3902 | 4126 | |
3903 | - if (($host = cache_get_data('hostlookup-' . $ip, 600)) !== null) |
|
3904 | - return $host; |
|
4127 | + if (($host = cache_get_data('hostlookup-' . $ip, 600)) !== null) { |
|
4128 | + return $host; |
|
4129 | + } |
|
3905 | 4130 | $t = microtime(); |
3906 | 4131 | |
3907 | 4132 | // Try the Linux host command, perhaps? |
3908 | 4133 | if (!isset($host) && (strpos(strtolower(PHP_OS), 'win') === false || strpos(strtolower(PHP_OS), 'darwin') !== false) && mt_rand(0, 1) == 1) |
3909 | 4134 | { |
3910 | - if (!isset($modSettings['host_to_dis'])) |
|
3911 | - $test = @shell_exec('host -W 1 ' . @escapeshellarg($ip)); |
|
3912 | - else |
|
3913 | - $test = @shell_exec('host ' . @escapeshellarg($ip)); |
|
4135 | + if (!isset($modSettings['host_to_dis'])) { |
|
4136 | + $test = @shell_exec('host -W 1 ' . @escapeshellarg($ip)); |
|
4137 | + } else { |
|
4138 | + $test = @shell_exec('host ' . @escapeshellarg($ip)); |
|
4139 | + } |
|
3914 | 4140 | |
3915 | 4141 | // Did host say it didn't find anything? |
3916 | - if (strpos($test, 'not found') !== false) |
|
3917 | - $host = ''; |
|
4142 | + if (strpos($test, 'not found') !== false) { |
|
4143 | + $host = ''; |
|
4144 | + } |
|
3918 | 4145 | // Invalid server option? |
3919 | - elseif ((strpos($test, 'invalid option') || strpos($test, 'Invalid query name 1')) && !isset($modSettings['host_to_dis'])) |
|
3920 | - updateSettings(array('host_to_dis' => 1)); |
|
4146 | + elseif ((strpos($test, 'invalid option') || strpos($test, 'Invalid query name 1')) && !isset($modSettings['host_to_dis'])) { |
|
4147 | + updateSettings(array('host_to_dis' => 1)); |
|
4148 | + } |
|
3921 | 4149 | // Maybe it found something, after all? |
3922 | - elseif (preg_match('~\s([^\s]+?)\.\s~', $test, $match) == 1) |
|
3923 | - $host = $match[1]; |
|
4150 | + elseif (preg_match('~\s([^\s]+?)\.\s~', $test, $match) == 1) { |
|
4151 | + $host = $match[1]; |
|
4152 | + } |
|
3924 | 4153 | } |
3925 | 4154 | |
3926 | 4155 | // This is nslookup; usually only Windows, but possibly some Unix? |
3927 | 4156 | if (!isset($host) && stripos(PHP_OS, 'win') !== false && strpos(strtolower(PHP_OS), 'darwin') === false && mt_rand(0, 1) == 1) |
3928 | 4157 | { |
3929 | 4158 | $test = @shell_exec('nslookup -timeout=1 ' . @escapeshellarg($ip)); |
3930 | - if (strpos($test, 'Non-existent domain') !== false) |
|
3931 | - $host = ''; |
|
3932 | - elseif (preg_match('~Name:\s+([^\s]+)~', $test, $match) == 1) |
|
3933 | - $host = $match[1]; |
|
4159 | + if (strpos($test, 'Non-existent domain') !== false) { |
|
4160 | + $host = ''; |
|
4161 | + } elseif (preg_match('~Name:\s+([^\s]+)~', $test, $match) == 1) { |
|
4162 | + $host = $match[1]; |
|
4163 | + } |
|
3934 | 4164 | } |
3935 | 4165 | |
3936 | 4166 | // This is the last try :/. |
3937 | - if (!isset($host) || $host === false) |
|
3938 | - $host = @gethostbyaddr($ip); |
|
4167 | + if (!isset($host) || $host === false) { |
|
4168 | + $host = @gethostbyaddr($ip); |
|
4169 | + } |
|
3939 | 4170 | |
3940 | 4171 | // It took a long time, so let's cache it! |
3941 | - if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.5) |
|
3942 | - cache_put_data('hostlookup-' . $ip, $host, 600); |
|
4172 | + if (array_sum(explode(' ', microtime())) - array_sum(explode(' ', $t)) > 0.5) { |
|
4173 | + cache_put_data('hostlookup-' . $ip, $host, 600); |
|
4174 | + } |
|
3943 | 4175 | |
3944 | 4176 | return $host; |
3945 | 4177 | } |
@@ -3975,20 +4207,21 @@ discard block |
||
3975 | 4207 | { |
3976 | 4208 | $encrypted = substr(crypt($word, 'uk'), 2, $max_chars); |
3977 | 4209 | $total = 0; |
3978 | - for ($i = 0; $i < $max_chars; $i++) |
|
3979 | - $total += $possible_chars[ord($encrypted{$i})] * pow(63, $i); |
|
4210 | + for ($i = 0; $i < $max_chars; $i++) { |
|
4211 | + $total += $possible_chars[ord($encrypted{$i})] * pow(63, $i); |
|
4212 | + } |
|
3980 | 4213 | $returned_ints[] = $max_chars == 4 ? min($total, 16777215) : $total; |
3981 | 4214 | } |
3982 | 4215 | } |
3983 | 4216 | return array_unique($returned_ints); |
3984 | - } |
|
3985 | - else |
|
4217 | + } else |
|
3986 | 4218 | { |
3987 | 4219 | // Trim characters before and after and add slashes for database insertion. |
3988 | 4220 | $returned_words = array(); |
3989 | - foreach ($words as $word) |
|
3990 | - if (($word = trim($word, '-_\'')) !== '') |
|
4221 | + foreach ($words as $word) { |
|
4222 | + if (($word = trim($word, '-_\'')) !== '') |
|
3991 | 4223 | $returned_words[] = $max_chars === null ? $word : substr($word, 0, $max_chars); |
4224 | + } |
|
3992 | 4225 | |
3993 | 4226 | // Filter out all words that occur more than once. |
3994 | 4227 | return array_unique($returned_words); |
@@ -4010,16 +4243,18 @@ discard block |
||
4010 | 4243 | global $settings, $txt; |
4011 | 4244 | |
4012 | 4245 | // Does the current loaded theme have this and we are not forcing the usage of this function? |
4013 | - if (function_exists('template_create_button') && !$force_use) |
|
4014 | - return template_create_button($name, $alt, $label = '', $custom = ''); |
|
4246 | + if (function_exists('template_create_button') && !$force_use) { |
|
4247 | + return template_create_button($name, $alt, $label = '', $custom = ''); |
|
4248 | + } |
|
4015 | 4249 | |
4016 | - if (!$settings['use_image_buttons']) |
|
4017 | - return $txt[$alt]; |
|
4018 | - elseif (!empty($settings['use_buttons'])) |
|
4019 | - return '<span class="generic_icons ' . $name . '" alt="' . $txt[$alt] . '"></span>' . ($label != '' ? ' <strong>' . $txt[$label] . '</strong>' : ''); |
|
4020 | - else |
|
4021 | - return '<img src="' . $settings['lang_images_url'] . '/' . $name . '" alt="' . $txt[$alt] . '" ' . $custom . '>'; |
|
4022 | -} |
|
4250 | + if (!$settings['use_image_buttons']) { |
|
4251 | + return $txt[$alt]; |
|
4252 | + } elseif (!empty($settings['use_buttons'])) { |
|
4253 | + return '<span class="generic_icons ' . $name . '" alt="' . $txt[$alt] . '"></span>' . ($label != '' ? ' <strong>' . $txt[$label] . '</strong>' : ''); |
|
4254 | + } else { |
|
4255 | + return '<img src="' . $settings['lang_images_url'] . '/' . $name . '" alt="' . $txt[$alt] . '" ' . $custom . '>'; |
|
4256 | + } |
|
4257 | + } |
|
4023 | 4258 | |
4024 | 4259 | /** |
4025 | 4260 | * Sets up all of the top menu buttons |
@@ -4062,9 +4297,10 @@ discard block |
||
4062 | 4297 | var user_menus = new smc_PopupMenu(); |
4063 | 4298 | user_menus.add("profile", "' . $scripturl . '?action=profile;area=popup"); |
4064 | 4299 | user_menus.add("alerts", "' . $scripturl . '?action=profile;area=alerts_popup;u='. $context['user']['id'] .'");', true); |
4065 | - if ($context['allow_pm']) |
|
4066 | - addInlineJavaScript(' |
|
4300 | + if ($context['allow_pm']) { |
|
4301 | + addInlineJavaScript(' |
|
4067 | 4302 | user_menus.add("pm", "' . $scripturl . '?action=pm;sa=popup");', true); |
4303 | + } |
|
4068 | 4304 | |
4069 | 4305 | if (!empty($modSettings['enable_ajax_alerts'])) |
4070 | 4306 | { |
@@ -4224,88 +4460,96 @@ discard block |
||
4224 | 4460 | |
4225 | 4461 | // Now we put the buttons in the context so the theme can use them. |
4226 | 4462 | $menu_buttons = array(); |
4227 | - foreach ($buttons as $act => $button) |
|
4228 | - if (!empty($button['show'])) |
|
4463 | + foreach ($buttons as $act => $button) { |
|
4464 | + if (!empty($button['show'])) |
|
4229 | 4465 | { |
4230 | 4466 | $button['active_button'] = false; |
4467 | + } |
|
4231 | 4468 | |
4232 | 4469 | // This button needs some action. |
4233 | - if (isset($button['action_hook'])) |
|
4234 | - $needs_action_hook = true; |
|
4470 | + if (isset($button['action_hook'])) { |
|
4471 | + $needs_action_hook = true; |
|
4472 | + } |
|
4235 | 4473 | |
4236 | 4474 | // Make sure the last button truly is the last button. |
4237 | 4475 | if (!empty($button['is_last'])) |
4238 | 4476 | { |
4239 | - if (isset($last_button)) |
|
4240 | - unset($menu_buttons[$last_button]['is_last']); |
|
4477 | + if (isset($last_button)) { |
|
4478 | + unset($menu_buttons[$last_button]['is_last']); |
|
4479 | + } |
|
4241 | 4480 | $last_button = $act; |
4242 | 4481 | } |
4243 | 4482 | |
4244 | 4483 | // Go through the sub buttons if there are any. |
4245 | - if (!empty($button['sub_buttons'])) |
|
4246 | - foreach ($button['sub_buttons'] as $key => $subbutton) |
|
4484 | + if (!empty($button['sub_buttons'])) { |
|
4485 | + foreach ($button['sub_buttons'] as $key => $subbutton) |
|
4247 | 4486 | { |
4248 | 4487 | if (empty($subbutton['show'])) |
4249 | 4488 | unset($button['sub_buttons'][$key]); |
4489 | + } |
|
4250 | 4490 | |
4251 | 4491 | // 2nd level sub buttons next... |
4252 | 4492 | if (!empty($subbutton['sub_buttons'])) |
4253 | 4493 | { |
4254 | 4494 | foreach ($subbutton['sub_buttons'] as $key2 => $sub_button2) |
4255 | 4495 | { |
4256 | - if (empty($sub_button2['show'])) |
|
4257 | - unset($button['sub_buttons'][$key]['sub_buttons'][$key2]); |
|
4496 | + if (empty($sub_button2['show'])) { |
|
4497 | + unset($button['sub_buttons'][$key]['sub_buttons'][$key2]); |
|
4498 | + } |
|
4258 | 4499 | } |
4259 | 4500 | } |
4260 | 4501 | } |
4261 | 4502 | |
4262 | 4503 | // Does this button have its own icon? |
4263 | - if (isset($button['icon']) && file_exists($settings['theme_dir'] . '/images/' . $button['icon'])) |
|
4264 | - $button['icon'] = '<img src="' . $settings['images_url'] . '/' . $button['icon'] . '" alt="">'; |
|
4265 | - elseif (isset($button['icon']) && file_exists($settings['default_theme_dir'] . '/images/' . $button['icon'])) |
|
4266 | - $button['icon'] = '<img src="' . $settings['default_images_url'] . '/' . $button['icon'] . '" alt="">'; |
|
4267 | - elseif (isset($button['icon'])) |
|
4268 | - $button['icon'] = '<span class="generic_icons ' . $button['icon'] . '"></span>'; |
|
4269 | - else |
|
4270 | - $button['icon'] = '<span class="generic_icons ' . $act . '"></span>'; |
|
4504 | + if (isset($button['icon']) && file_exists($settings['theme_dir'] . '/images/' . $button['icon'])) { |
|
4505 | + $button['icon'] = '<img src="' . $settings['images_url'] . '/' . $button['icon'] . '" alt="">'; |
|
4506 | + } elseif (isset($button['icon']) && file_exists($settings['default_theme_dir'] . '/images/' . $button['icon'])) { |
|
4507 | + $button['icon'] = '<img src="' . $settings['default_images_url'] . '/' . $button['icon'] . '" alt="">'; |
|
4508 | + } elseif (isset($button['icon'])) { |
|
4509 | + $button['icon'] = '<span class="generic_icons ' . $button['icon'] . '"></span>'; |
|
4510 | + } else { |
|
4511 | + $button['icon'] = '<span class="generic_icons ' . $act . '"></span>'; |
|
4512 | + } |
|
4271 | 4513 | |
4272 | 4514 | $menu_buttons[$act] = $button; |
4273 | 4515 | } |
4274 | 4516 | |
4275 | - if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) |
|
4276 | - cache_put_data('menu_buttons-' . implode('_', $user_info['groups']) . '-' . $user_info['language'], $menu_buttons, $cacheTime); |
|
4517 | + if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) { |
|
4518 | + cache_put_data('menu_buttons-' . implode('_', $user_info['groups']) . '-' . $user_info['language'], $menu_buttons, $cacheTime); |
|
4519 | + } |
|
4277 | 4520 | } |
4278 | 4521 | |
4279 | 4522 | $context['menu_buttons'] = $menu_buttons; |
4280 | 4523 | |
4281 | 4524 | // Logging out requires the session id in the url. |
4282 | - if (isset($context['menu_buttons']['logout'])) |
|
4283 | - $context['menu_buttons']['logout']['href'] = sprintf($context['menu_buttons']['logout']['href'], $context['session_var'], $context['session_id']); |
|
4525 | + if (isset($context['menu_buttons']['logout'])) { |
|
4526 | + $context['menu_buttons']['logout']['href'] = sprintf($context['menu_buttons']['logout']['href'], $context['session_var'], $context['session_id']); |
|
4527 | + } |
|
4284 | 4528 | |
4285 | 4529 | // Figure out which action we are doing so we can set the active tab. |
4286 | 4530 | // Default to home. |
4287 | 4531 | $current_action = 'home'; |
4288 | 4532 | |
4289 | - if (isset($context['menu_buttons'][$context['current_action']])) |
|
4290 | - $current_action = $context['current_action']; |
|
4291 | - elseif ($context['current_action'] == 'search2') |
|
4292 | - $current_action = 'search'; |
|
4293 | - elseif ($context['current_action'] == 'theme') |
|
4294 | - $current_action = isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' ? 'profile' : 'admin'; |
|
4295 | - elseif ($context['current_action'] == 'register2') |
|
4296 | - $current_action = 'register'; |
|
4297 | - elseif ($context['current_action'] == 'login2' || ($user_info['is_guest'] && $context['current_action'] == 'reminder')) |
|
4298 | - $current_action = 'login'; |
|
4299 | - elseif ($context['current_action'] == 'groups' && $context['allow_moderation_center']) |
|
4300 | - $current_action = 'moderate'; |
|
4533 | + if (isset($context['menu_buttons'][$context['current_action']])) { |
|
4534 | + $current_action = $context['current_action']; |
|
4535 | + } elseif ($context['current_action'] == 'search2') { |
|
4536 | + $current_action = 'search'; |
|
4537 | + } elseif ($context['current_action'] == 'theme') { |
|
4538 | + $current_action = isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' ? 'profile' : 'admin'; |
|
4539 | + } elseif ($context['current_action'] == 'register2') { |
|
4540 | + $current_action = 'register'; |
|
4541 | + } elseif ($context['current_action'] == 'login2' || ($user_info['is_guest'] && $context['current_action'] == 'reminder')) { |
|
4542 | + $current_action = 'login'; |
|
4543 | + } elseif ($context['current_action'] == 'groups' && $context['allow_moderation_center']) { |
|
4544 | + $current_action = 'moderate'; |
|
4545 | + } |
|
4301 | 4546 | |
4302 | 4547 | // There are certain exceptions to the above where we don't want anything on the menu highlighted. |
4303 | 4548 | if ($context['current_action'] == 'profile' && !empty($context['user']['is_owner'])) |
4304 | 4549 | { |
4305 | 4550 | $current_action = !empty($_GET['area']) && $_GET['area'] == 'showalerts' ? 'self_alerts' : 'self_profile'; |
4306 | 4551 | $context[$current_action] = true; |
4307 | - } |
|
4308 | - elseif ($context['current_action'] == 'pm') |
|
4552 | + } elseif ($context['current_action'] == 'pm') |
|
4309 | 4553 | { |
4310 | 4554 | $current_action = 'self_pm'; |
4311 | 4555 | $context['self_pm'] = true; |
@@ -4346,12 +4590,14 @@ discard block |
||
4346 | 4590 | } |
4347 | 4591 | |
4348 | 4592 | // Not all actions are simple. |
4349 | - if (!empty($needs_action_hook)) |
|
4350 | - call_integration_hook('integrate_current_action', array(&$current_action)); |
|
4593 | + if (!empty($needs_action_hook)) { |
|
4594 | + call_integration_hook('integrate_current_action', array(&$current_action)); |
|
4595 | + } |
|
4351 | 4596 | |
4352 | - if (isset($context['menu_buttons'][$current_action])) |
|
4353 | - $context['menu_buttons'][$current_action]['active_button'] = true; |
|
4354 | -} |
|
4597 | + if (isset($context['menu_buttons'][$current_action])) { |
|
4598 | + $context['menu_buttons'][$current_action]['active_button'] = true; |
|
4599 | + } |
|
4600 | + } |
|
4355 | 4601 | |
4356 | 4602 | /** |
4357 | 4603 | * Generate a random seed and ensure it's stored in settings. |
@@ -4375,30 +4621,35 @@ discard block |
||
4375 | 4621 | global $modSettings, $settings, $boarddir, $sourcedir, $db_show_debug; |
4376 | 4622 | global $context, $txt; |
4377 | 4623 | |
4378 | - if ($db_show_debug === true) |
|
4379 | - $context['debug']['hooks'][] = $hook; |
|
4624 | + if ($db_show_debug === true) { |
|
4625 | + $context['debug']['hooks'][] = $hook; |
|
4626 | + } |
|
4380 | 4627 | |
4381 | 4628 | // Need to have some control. |
4382 | - if (!isset($context['instances'])) |
|
4383 | - $context['instances'] = array(); |
|
4629 | + if (!isset($context['instances'])) { |
|
4630 | + $context['instances'] = array(); |
|
4631 | + } |
|
4384 | 4632 | |
4385 | 4633 | $results = array(); |
4386 | - if (empty($modSettings[$hook])) |
|
4387 | - return $results; |
|
4634 | + if (empty($modSettings[$hook])) { |
|
4635 | + return $results; |
|
4636 | + } |
|
4388 | 4637 | |
4389 | 4638 | $functions = explode(',', $modSettings[$hook]); |
4390 | 4639 | // Loop through each function. |
4391 | 4640 | foreach ($functions as $function) |
4392 | 4641 | { |
4393 | 4642 | // Hook has been marked as "disabled". Skip it! |
4394 | - if (strpos($function, '!') !== false) |
|
4395 | - continue; |
|
4643 | + if (strpos($function, '!') !== false) { |
|
4644 | + continue; |
|
4645 | + } |
|
4396 | 4646 | |
4397 | 4647 | $call = call_helper($function, true); |
4398 | 4648 | |
4399 | 4649 | // Is it valid? |
4400 | - if (!empty($call)) |
|
4401 | - $results[$function] = call_user_func_array($call, $parameters); |
|
4650 | + if (!empty($call)) { |
|
4651 | + $results[$function] = call_user_func_array($call, $parameters); |
|
4652 | + } |
|
4402 | 4653 | |
4403 | 4654 | // Whatever it was suppose to call, it failed :( |
4404 | 4655 | elseif (!empty($function)) |
@@ -4414,8 +4665,9 @@ discard block |
||
4414 | 4665 | } |
4415 | 4666 | |
4416 | 4667 | // "Assume" the file resides on $boarddir somewhere... |
4417 | - else |
|
4418 | - log_error(sprintf($txt['hook_fail_call_to'], $function, $boarddir), 'general'); |
|
4668 | + else { |
|
4669 | + log_error(sprintf($txt['hook_fail_call_to'], $function, $boarddir), 'general'); |
|
4670 | + } |
|
4419 | 4671 | } |
4420 | 4672 | } |
4421 | 4673 | |
@@ -4437,12 +4689,14 @@ discard block |
||
4437 | 4689 | global $smcFunc, $modSettings; |
4438 | 4690 | |
4439 | 4691 | // Any objects? |
4440 | - if ($object) |
|
4441 | - $function = $function . '#'; |
|
4692 | + if ($object) { |
|
4693 | + $function = $function . '#'; |
|
4694 | + } |
|
4442 | 4695 | |
4443 | 4696 | // Any files to load? |
4444 | - if (!empty($file) && is_string($file)) |
|
4445 | - $function = $file . (!empty($function) ? '|' . $function : ''); |
|
4697 | + if (!empty($file) && is_string($file)) { |
|
4698 | + $function = $file . (!empty($function) ? '|' . $function : ''); |
|
4699 | + } |
|
4446 | 4700 | |
4447 | 4701 | // Get the correct string. |
4448 | 4702 | $integration_call = $function; |
@@ -4464,13 +4718,14 @@ discard block |
||
4464 | 4718 | if (!empty($current_functions)) |
4465 | 4719 | { |
4466 | 4720 | $current_functions = explode(',', $current_functions); |
4467 | - if (in_array($integration_call, $current_functions)) |
|
4468 | - return; |
|
4721 | + if (in_array($integration_call, $current_functions)) { |
|
4722 | + return; |
|
4723 | + } |
|
4469 | 4724 | |
4470 | 4725 | $permanent_functions = array_merge($current_functions, array($integration_call)); |
4726 | + } else { |
|
4727 | + $permanent_functions = array($integration_call); |
|
4471 | 4728 | } |
4472 | - else |
|
4473 | - $permanent_functions = array($integration_call); |
|
4474 | 4729 | |
4475 | 4730 | updateSettings(array($hook => implode(',', $permanent_functions))); |
4476 | 4731 | } |
@@ -4479,8 +4734,9 @@ discard block |
||
4479 | 4734 | $functions = empty($modSettings[$hook]) ? array() : explode(',', $modSettings[$hook]); |
4480 | 4735 | |
4481 | 4736 | // Do nothing, if it's already there. |
4482 | - if (in_array($integration_call, $functions)) |
|
4483 | - return; |
|
4737 | + if (in_array($integration_call, $functions)) { |
|
4738 | + return; |
|
4739 | + } |
|
4484 | 4740 | |
4485 | 4741 | $functions[] = $integration_call; |
4486 | 4742 | $modSettings[$hook] = implode(',', $functions); |
@@ -4503,12 +4759,14 @@ discard block |
||
4503 | 4759 | global $smcFunc, $modSettings; |
4504 | 4760 | |
4505 | 4761 | // Any objects? |
4506 | - if ($object) |
|
4507 | - $function = $function . '#'; |
|
4762 | + if ($object) { |
|
4763 | + $function = $function . '#'; |
|
4764 | + } |
|
4508 | 4765 | |
4509 | 4766 | // Any files to load? |
4510 | - if (!empty($file) && is_string($file)) |
|
4511 | - $function = $file . '|' . $function; |
|
4767 | + if (!empty($file) && is_string($file)) { |
|
4768 | + $function = $file . '|' . $function; |
|
4769 | + } |
|
4512 | 4770 | |
4513 | 4771 | // Get the correct string. |
4514 | 4772 | $integration_call = $function; |
@@ -4529,16 +4787,18 @@ discard block |
||
4529 | 4787 | { |
4530 | 4788 | $current_functions = explode(',', $current_functions); |
4531 | 4789 | |
4532 | - if (in_array($integration_call, $current_functions)) |
|
4533 | - updateSettings(array($hook => implode(',', array_diff($current_functions, array($integration_call))))); |
|
4790 | + if (in_array($integration_call, $current_functions)) { |
|
4791 | + updateSettings(array($hook => implode(',', array_diff($current_functions, array($integration_call))))); |
|
4792 | + } |
|
4534 | 4793 | } |
4535 | 4794 | |
4536 | 4795 | // Turn the function list into something usable. |
4537 | 4796 | $functions = empty($modSettings[$hook]) ? array() : explode(',', $modSettings[$hook]); |
4538 | 4797 | |
4539 | 4798 | // You can only remove it if it's available. |
4540 | - if (!in_array($integration_call, $functions)) |
|
4541 | - return; |
|
4799 | + if (!in_array($integration_call, $functions)) { |
|
4800 | + return; |
|
4801 | + } |
|
4542 | 4802 | |
4543 | 4803 | $functions = array_diff($functions, array($integration_call)); |
4544 | 4804 | $modSettings[$hook] = implode(',', $functions); |
@@ -4559,17 +4819,20 @@ discard block |
||
4559 | 4819 | global $context, $smcFunc, $txt, $db_show_debug; |
4560 | 4820 | |
4561 | 4821 | // Really? |
4562 | - if (empty($string)) |
|
4563 | - return false; |
|
4822 | + if (empty($string)) { |
|
4823 | + return false; |
|
4824 | + } |
|
4564 | 4825 | |
4565 | 4826 | // An array? should be a "callable" array IE array(object/class, valid_callable). |
4566 | 4827 | // A closure? should be a callable one. |
4567 | - if (is_array($string) || $string instanceof Closure) |
|
4568 | - return $return ? $string : (is_callable($string) ? call_user_func($string) : false); |
|
4828 | + if (is_array($string) || $string instanceof Closure) { |
|
4829 | + return $return ? $string : (is_callable($string) ? call_user_func($string) : false); |
|
4830 | + } |
|
4569 | 4831 | |
4570 | 4832 | // No full objects, sorry! pass a method or a property instead! |
4571 | - if (is_object($string)) |
|
4572 | - return false; |
|
4833 | + if (is_object($string)) { |
|
4834 | + return false; |
|
4835 | + } |
|
4573 | 4836 | |
4574 | 4837 | // Stay vitaminized my friends... |
4575 | 4838 | $string = $smcFunc['htmlspecialchars']($smcFunc['htmltrim']($string)); |
@@ -4578,8 +4841,9 @@ discard block |
||
4578 | 4841 | $string = load_file($string); |
4579 | 4842 | |
4580 | 4843 | // Loaded file failed |
4581 | - if (empty($string)) |
|
4582 | - return false; |
|
4844 | + if (empty($string)) { |
|
4845 | + return false; |
|
4846 | + } |
|
4583 | 4847 | |
4584 | 4848 | // Found a method. |
4585 | 4849 | if (strpos($string, '::') !== false) |
@@ -4600,8 +4864,9 @@ discard block |
||
4600 | 4864 | // Add another one to the list. |
4601 | 4865 | if ($db_show_debug === true) |
4602 | 4866 | { |
4603 | - if (!isset($context['debug']['instances'])) |
|
4604 | - $context['debug']['instances'] = array(); |
|
4867 | + if (!isset($context['debug']['instances'])) { |
|
4868 | + $context['debug']['instances'] = array(); |
|
4869 | + } |
|
4605 | 4870 | |
4606 | 4871 | $context['debug']['instances'][$class] = $class; |
4607 | 4872 | } |
@@ -4611,13 +4876,15 @@ discard block |
||
4611 | 4876 | } |
4612 | 4877 | |
4613 | 4878 | // Right then. This is a call to a static method. |
4614 | - else |
|
4615 | - $func = array($class, $method); |
|
4879 | + else { |
|
4880 | + $func = array($class, $method); |
|
4881 | + } |
|
4616 | 4882 | } |
4617 | 4883 | |
4618 | 4884 | // Nope! just a plain regular function. |
4619 | - else |
|
4620 | - $func = $string; |
|
4885 | + else { |
|
4886 | + $func = $string; |
|
4887 | + } |
|
4621 | 4888 | |
4622 | 4889 | // Right, we got what we need, time to do some checks. |
4623 | 4890 | if (!is_callable($func, false, $callable_name)) |
@@ -4633,17 +4900,18 @@ discard block |
||
4633 | 4900 | else |
4634 | 4901 | { |
4635 | 4902 | // What are we gonna do about it? |
4636 | - if ($return) |
|
4637 | - return $func; |
|
4903 | + if ($return) { |
|
4904 | + return $func; |
|
4905 | + } |
|
4638 | 4906 | |
4639 | 4907 | // If this is a plain function, avoid the heat of calling call_user_func(). |
4640 | 4908 | else |
4641 | 4909 | { |
4642 | - if (is_array($func)) |
|
4643 | - call_user_func($func); |
|
4644 | - |
|
4645 | - else |
|
4646 | - $func(); |
|
4910 | + if (is_array($func)) { |
|
4911 | + call_user_func($func); |
|
4912 | + } else { |
|
4913 | + $func(); |
|
4914 | + } |
|
4647 | 4915 | } |
4648 | 4916 | } |
4649 | 4917 | } |
@@ -4660,31 +4928,34 @@ discard block |
||
4660 | 4928 | { |
4661 | 4929 | global $sourcedir, $txt, $boarddir, $settings; |
4662 | 4930 | |
4663 | - if (empty($string)) |
|
4664 | - return false; |
|
4931 | + if (empty($string)) { |
|
4932 | + return false; |
|
4933 | + } |
|
4665 | 4934 | |
4666 | 4935 | if (strpos($string, '|') !== false) |
4667 | 4936 | { |
4668 | 4937 | list ($file, $string) = explode('|', $string); |
4669 | 4938 | |
4670 | 4939 | // Match the wildcards to their regular vars. |
4671 | - if (empty($settings['theme_dir'])) |
|
4672 | - $absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir)); |
|
4673 | - |
|
4674 | - else |
|
4675 | - $absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir, '$themedir' => $settings['theme_dir'])); |
|
4940 | + if (empty($settings['theme_dir'])) { |
|
4941 | + $absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir)); |
|
4942 | + } else { |
|
4943 | + $absPath = strtr(trim($file), array('$boarddir' => $boarddir, '$sourcedir' => $sourcedir, '$themedir' => $settings['theme_dir'])); |
|
4944 | + } |
|
4676 | 4945 | |
4677 | 4946 | // Load the file if it can be loaded. |
4678 | - if (file_exists($absPath)) |
|
4679 | - require_once($absPath); |
|
4947 | + if (file_exists($absPath)) { |
|
4948 | + require_once($absPath); |
|
4949 | + } |
|
4680 | 4950 | |
4681 | 4951 | // No? try a fallback to $sourcedir |
4682 | 4952 | else |
4683 | 4953 | { |
4684 | 4954 | $absPath = $sourcedir .'/'. $file; |
4685 | 4955 | |
4686 | - if (file_exists($absPath)) |
|
4687 | - require_once($absPath); |
|
4956 | + if (file_exists($absPath)) { |
|
4957 | + require_once($absPath); |
|
4958 | + } |
|
4688 | 4959 | |
4689 | 4960 | // Sorry, can't do much for you at this point. |
4690 | 4961 | else |
@@ -4711,8 +4982,9 @@ discard block |
||
4711 | 4982 | global $user_info, $smcFunc; |
4712 | 4983 | |
4713 | 4984 | // Make sure we have something to work with. |
4714 | - if (empty($topic)) |
|
4715 | - return array(); |
|
4985 | + if (empty($topic)) { |
|
4986 | + return array(); |
|
4987 | + } |
|
4716 | 4988 | |
4717 | 4989 | |
4718 | 4990 | // We already know the number of likes per message, we just want to know whether the current user liked it or not. |
@@ -4735,8 +5007,9 @@ discard block |
||
4735 | 5007 | 'topic' => $topic, |
4736 | 5008 | ) |
4737 | 5009 | ); |
4738 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
4739 | - $temp[] = (int) $row['content_id']; |
|
5010 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
5011 | + $temp[] = (int) $row['content_id']; |
|
5012 | + } |
|
4740 | 5013 | |
4741 | 5014 | cache_put_data($cache_key, $temp, $ttl); |
4742 | 5015 | } |
@@ -4757,8 +5030,9 @@ discard block |
||
4757 | 5030 | { |
4758 | 5031 | global $context; |
4759 | 5032 | |
4760 | - if (empty($string)) |
|
4761 | - return $string; |
|
5033 | + if (empty($string)) { |
|
5034 | + return $string; |
|
5035 | + } |
|
4762 | 5036 | |
4763 | 5037 | // UTF-8 occurences of MS special characters |
4764 | 5038 | $findchars_utf8 = array( |
@@ -4799,10 +5073,11 @@ discard block |
||
4799 | 5073 | '--', // — |
4800 | 5074 | ); |
4801 | 5075 | |
4802 | - if ($context['utf8']) |
|
4803 | - $string = str_replace($findchars_utf8, $replacechars, $string); |
|
4804 | - else |
|
4805 | - $string = str_replace($findchars_iso, $replacechars, $string); |
|
5076 | + if ($context['utf8']) { |
|
5077 | + $string = str_replace($findchars_utf8, $replacechars, $string); |
|
5078 | + } else { |
|
5079 | + $string = str_replace($findchars_iso, $replacechars, $string); |
|
5080 | + } |
|
4806 | 5081 | |
4807 | 5082 | return $string; |
4808 | 5083 | } |
@@ -4821,49 +5096,59 @@ discard block |
||
4821 | 5096 | { |
4822 | 5097 | global $context; |
4823 | 5098 | |
4824 | - if (!isset($matches[2])) |
|
4825 | - return ''; |
|
5099 | + if (!isset($matches[2])) { |
|
5100 | + return ''; |
|
5101 | + } |
|
4826 | 5102 | |
4827 | 5103 | $num = $matches[2][0] === 'x' ? hexdec(substr($matches[2], 1)) : (int) $matches[2]; |
4828 | 5104 | |
4829 | 5105 | // remove left to right / right to left overrides |
4830 | - if ($num === 0x202D || $num === 0x202E) |
|
4831 | - return ''; |
|
5106 | + if ($num === 0x202D || $num === 0x202E) { |
|
5107 | + return ''; |
|
5108 | + } |
|
4832 | 5109 | |
4833 | 5110 | // Quote, Ampersand, Apostrophe, Less/Greater Than get html replaced |
4834 | - if (in_array($num, array(0x22, 0x26, 0x27, 0x3C, 0x3E))) |
|
4835 | - return '&#' . $num . ';'; |
|
5111 | + if (in_array($num, array(0x22, 0x26, 0x27, 0x3C, 0x3E))) { |
|
5112 | + return '&#' . $num . ';'; |
|
5113 | + } |
|
4836 | 5114 | |
4837 | 5115 | if (empty($context['utf8'])) |
4838 | 5116 | { |
4839 | 5117 | // no control characters |
4840 | - if ($num < 0x20) |
|
4841 | - return ''; |
|
5118 | + if ($num < 0x20) { |
|
5119 | + return ''; |
|
5120 | + } |
|
4842 | 5121 | // text is text |
4843 | - elseif ($num < 0x80) |
|
4844 | - return chr($num); |
|
5122 | + elseif ($num < 0x80) { |
|
5123 | + return chr($num); |
|
5124 | + } |
|
4845 | 5125 | // all others get html-ised |
4846 | - else |
|
4847 | - return '&#' . $matches[2] . ';'; |
|
4848 | - } |
|
4849 | - else |
|
5126 | + else { |
|
5127 | + return '&#' . $matches[2] . ';'; |
|
5128 | + } |
|
5129 | + } else |
|
4850 | 5130 | { |
4851 | 5131 | // <0x20 are control characters, 0x20 is a space, > 0x10FFFF is past the end of the utf8 character set |
4852 | 5132 | // 0xD800 >= $num <= 0xDFFF are surrogate markers (not valid for utf8 text) |
4853 | - if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF)) |
|
4854 | - return ''; |
|
5133 | + if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF)) { |
|
5134 | + return ''; |
|
5135 | + } |
|
4855 | 5136 | // <0x80 (or less than 128) are standard ascii characters a-z A-Z 0-9 and punctuation |
4856 | - elseif ($num < 0x80) |
|
4857 | - return chr($num); |
|
5137 | + elseif ($num < 0x80) { |
|
5138 | + return chr($num); |
|
5139 | + } |
|
4858 | 5140 | // <0x800 (2048) |
4859 | - elseif ($num < 0x800) |
|
4860 | - return chr(($num >> 6) + 192) . chr(($num & 63) + 128); |
|
5141 | + elseif ($num < 0x800) { |
|
5142 | + return chr(($num >> 6) + 192) . chr(($num & 63) + 128); |
|
5143 | + } |
|
4861 | 5144 | // < 0x10000 (65536) |
4862 | - elseif ($num < 0x10000) |
|
4863 | - return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128); |
|
5145 | + elseif ($num < 0x10000) { |
|
5146 | + return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128); |
|
5147 | + } |
|
4864 | 5148 | // <= 0x10FFFF (1114111) |
4865 | - else |
|
4866 | - return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128); |
|
5149 | + else { |
|
5150 | + return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128); |
|
5151 | + } |
|
4867 | 5152 | } |
4868 | 5153 | } |
4869 | 5154 | |
@@ -4879,28 +5164,34 @@ discard block |
||
4879 | 5164 | */ |
4880 | 5165 | function fixchar__callback($matches) |
4881 | 5166 | { |
4882 | - if (!isset($matches[1])) |
|
4883 | - return ''; |
|
5167 | + if (!isset($matches[1])) { |
|
5168 | + return ''; |
|
5169 | + } |
|
4884 | 5170 | |
4885 | 5171 | $num = $matches[1][0] === 'x' ? hexdec(substr($matches[1], 1)) : (int) $matches[1]; |
4886 | 5172 | |
4887 | 5173 | // <0x20 are control characters, > 0x10FFFF is past the end of the utf8 character set |
4888 | 5174 | // 0xD800 >= $num <= 0xDFFF are surrogate markers (not valid for utf8 text), 0x202D-E are left to right overrides |
4889 | - if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num === 0x202D || $num === 0x202E) |
|
4890 | - return ''; |
|
5175 | + if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num === 0x202D || $num === 0x202E) { |
|
5176 | + return ''; |
|
5177 | + } |
|
4891 | 5178 | // <0x80 (or less than 128) are standard ascii characters a-z A-Z 0-9 and punctuation |
4892 | - elseif ($num < 0x80) |
|
4893 | - return chr($num); |
|
5179 | + elseif ($num < 0x80) { |
|
5180 | + return chr($num); |
|
5181 | + } |
|
4894 | 5182 | // <0x800 (2048) |
4895 | - elseif ($num < 0x800) |
|
4896 | - return chr(($num >> 6) + 192) . chr(($num & 63) + 128); |
|
5183 | + elseif ($num < 0x800) { |
|
5184 | + return chr(($num >> 6) + 192) . chr(($num & 63) + 128); |
|
5185 | + } |
|
4897 | 5186 | // < 0x10000 (65536) |
4898 | - elseif ($num < 0x10000) |
|
4899 | - return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128); |
|
5187 | + elseif ($num < 0x10000) { |
|
5188 | + return chr(($num >> 12) + 224) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128); |
|
5189 | + } |
|
4900 | 5190 | // <= 0x10FFFF (1114111) |
4901 | - else |
|
4902 | - return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128); |
|
4903 | -} |
|
5191 | + else { |
|
5192 | + return chr(($num >> 18) + 240) . chr((($num >> 12) & 63) + 128) . chr((($num >> 6) & 63) + 128) . chr(($num & 63) + 128); |
|
5193 | + } |
|
5194 | + } |
|
4904 | 5195 | |
4905 | 5196 | /** |
4906 | 5197 | * Strips out invalid html entities, replaces others with html style { codes |
@@ -4913,17 +5204,19 @@ discard block |
||
4913 | 5204 | */ |
4914 | 5205 | function entity_fix__callback($matches) |
4915 | 5206 | { |
4916 | - if (!isset($matches[2])) |
|
4917 | - return ''; |
|
5207 | + if (!isset($matches[2])) { |
|
5208 | + return ''; |
|
5209 | + } |
|
4918 | 5210 | |
4919 | 5211 | $num = $matches[2][0] === 'x' ? hexdec(substr($matches[2], 1)) : (int) $matches[2]; |
4920 | 5212 | |
4921 | 5213 | // we don't allow control characters, characters out of range, byte markers, etc |
4922 | - if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num == 0x202D || $num == 0x202E) |
|
4923 | - return ''; |
|
4924 | - else |
|
4925 | - return '&#' . $num . ';'; |
|
4926 | -} |
|
5214 | + if ($num < 0x20 || $num > 0x10FFFF || ($num >= 0xD800 && $num <= 0xDFFF) || $num == 0x202D || $num == 0x202E) { |
|
5215 | + return ''; |
|
5216 | + } else { |
|
5217 | + return '&#' . $num . ';'; |
|
5218 | + } |
|
5219 | + } |
|
4927 | 5220 | |
4928 | 5221 | /** |
4929 | 5222 | * Return a Gravatar URL based on |
@@ -4947,18 +5240,23 @@ discard block |
||
4947 | 5240 | $ratings = array('G', 'PG', 'R', 'X'); |
4948 | 5241 | $defaults = array('mm', 'identicon', 'monsterid', 'wavatar', 'retro', 'blank'); |
4949 | 5242 | $url_params = array(); |
4950 | - if (!empty($modSettings['gravatarMaxRating']) && in_array($modSettings['gravatarMaxRating'], $ratings)) |
|
4951 | - $url_params[] = 'rating=' . $modSettings['gravatarMaxRating']; |
|
4952 | - if (!empty($modSettings['gravatarDefault']) && in_array($modSettings['gravatarDefault'], $defaults)) |
|
4953 | - $url_params[] = 'default=' . $modSettings['gravatarDefault']; |
|
4954 | - if (!empty($modSettings['avatar_max_width_external'])) |
|
4955 | - $size_string = (int) $modSettings['avatar_max_width_external']; |
|
4956 | - if (!empty($modSettings['avatar_max_height_external']) && !empty($size_string)) |
|
4957 | - if ((int) $modSettings['avatar_max_height_external'] < $size_string) |
|
5243 | + if (!empty($modSettings['gravatarMaxRating']) && in_array($modSettings['gravatarMaxRating'], $ratings)) { |
|
5244 | + $url_params[] = 'rating=' . $modSettings['gravatarMaxRating']; |
|
5245 | + } |
|
5246 | + if (!empty($modSettings['gravatarDefault']) && in_array($modSettings['gravatarDefault'], $defaults)) { |
|
5247 | + $url_params[] = 'default=' . $modSettings['gravatarDefault']; |
|
5248 | + } |
|
5249 | + if (!empty($modSettings['avatar_max_width_external'])) { |
|
5250 | + $size_string = (int) $modSettings['avatar_max_width_external']; |
|
5251 | + } |
|
5252 | + if (!empty($modSettings['avatar_max_height_external']) && !empty($size_string)) { |
|
5253 | + if ((int) $modSettings['avatar_max_height_external'] < $size_string) |
|
4958 | 5254 | $size_string = $modSettings['avatar_max_height_external']; |
5255 | + } |
|
4959 | 5256 | |
4960 | - if (!empty($size_string)) |
|
4961 | - $url_params[] = 's=' . $size_string; |
|
5257 | + if (!empty($size_string)) { |
|
5258 | + $url_params[] = 's=' . $size_string; |
|
5259 | + } |
|
4962 | 5260 | } |
4963 | 5261 | $http_method = !empty($modSettings['force_ssl']) && $modSettings['force_ssl'] == 2 ? 'https://secure' : 'http://www'; |
4964 | 5262 | |
@@ -4977,22 +5275,26 @@ discard block |
||
4977 | 5275 | static $timezones = null, $lastwhen = null; |
4978 | 5276 | |
4979 | 5277 | // No point doing this over if we already did it once |
4980 | - if (!empty($timezones) && $when == $lastwhen) |
|
4981 | - return $timezones; |
|
4982 | - else |
|
4983 | - $lastwhen = $when; |
|
5278 | + if (!empty($timezones) && $when == $lastwhen) { |
|
5279 | + return $timezones; |
|
5280 | + } else { |
|
5281 | + $lastwhen = $when; |
|
5282 | + } |
|
4984 | 5283 | |
4985 | 5284 | // Parseable datetime string? |
4986 | - if (is_int($timestamp = strtotime($when))) |
|
4987 | - $when = $timestamp; |
|
5285 | + if (is_int($timestamp = strtotime($when))) { |
|
5286 | + $when = $timestamp; |
|
5287 | + } |
|
4988 | 5288 | |
4989 | 5289 | // A Unix timestamp? |
4990 | - elseif (is_numeric($when)) |
|
4991 | - $when = intval($when); |
|
5290 | + elseif (is_numeric($when)) { |
|
5291 | + $when = intval($when); |
|
5292 | + } |
|
4992 | 5293 | |
4993 | 5294 | // Invalid value? Just get current Unix timestamp. |
4994 | - else |
|
4995 | - $when = time(); |
|
5295 | + else { |
|
5296 | + $when = time(); |
|
5297 | + } |
|
4996 | 5298 | |
4997 | 5299 | // We'll need these too |
4998 | 5300 | $date_when = date_create('@' . $when); |
@@ -5056,8 +5358,9 @@ discard block |
||
5056 | 5358 | foreach ($priority_countries as $country) |
5057 | 5359 | { |
5058 | 5360 | $country_tzids = @timezone_identifiers_list(DateTimeZone::PER_COUNTRY, strtoupper(trim($country))); |
5059 | - if (!empty($country_tzids)) |
|
5060 | - $priority_tzids = array_merge($priority_tzids, $country_tzids); |
|
5361 | + if (!empty($country_tzids)) { |
|
5362 | + $priority_tzids = array_merge($priority_tzids, $country_tzids); |
|
5363 | + } |
|
5061 | 5364 | } |
5062 | 5365 | |
5063 | 5366 | // Process the preferred timezones first, then the rest. |
@@ -5067,8 +5370,9 @@ discard block |
||
5067 | 5370 | foreach ($tzids as $tzid) |
5068 | 5371 | { |
5069 | 5372 | // We don't want UTC right now |
5070 | - if ($tzid == 'UTC') |
|
5071 | - continue; |
|
5373 | + if ($tzid == 'UTC') { |
|
5374 | + continue; |
|
5375 | + } |
|
5072 | 5376 | |
5073 | 5377 | $tz = timezone_open($tzid); |
5074 | 5378 | |
@@ -5089,8 +5393,9 @@ discard block |
||
5089 | 5393 | } |
5090 | 5394 | |
5091 | 5395 | // A time zone from a prioritized country? |
5092 | - if (in_array($tzid, $priority_tzids)) |
|
5093 | - $priority_zones[$tzkey] = true; |
|
5396 | + if (in_array($tzid, $priority_tzids)) { |
|
5397 | + $priority_zones[$tzkey] = true; |
|
5398 | + } |
|
5094 | 5399 | |
5095 | 5400 | // Keep track of the location and offset for this tzid |
5096 | 5401 | $tzid_parts = explode('/', $tzid); |
@@ -5109,15 +5414,17 @@ discard block |
||
5109 | 5414 | { |
5110 | 5415 | date_timezone_set($date_when, timezone_open($tzvalue['tzid'])); |
5111 | 5416 | |
5112 | - if (!empty($timezone_descriptions[$tzvalue['tzid']])) |
|
5113 | - $desc = $timezone_descriptions[$tzvalue['tzid']]; |
|
5114 | - else |
|
5115 | - $desc = implode(', ', array_unique($tzvalue['locations'])); |
|
5417 | + if (!empty($timezone_descriptions[$tzvalue['tzid']])) { |
|
5418 | + $desc = $timezone_descriptions[$tzvalue['tzid']]; |
|
5419 | + } else { |
|
5420 | + $desc = implode(', ', array_unique($tzvalue['locations'])); |
|
5421 | + } |
|
5116 | 5422 | |
5117 | - if (isset($priority_zones[$tzkey])) |
|
5118 | - $priority_timezones[$tzvalue['tzid']] = $tzvalue['abbr'] . ' - ' . $desc . ' [UTC' . date_format($date_when, 'P') . ']'; |
|
5119 | - else |
|
5120 | - $timezones[$tzvalue['tzid']] = $tzvalue['abbr'] . ' - ' . $desc . ' [UTC' . date_format($date_when, 'P') . ']'; |
|
5423 | + if (isset($priority_zones[$tzkey])) { |
|
5424 | + $priority_timezones[$tzvalue['tzid']] = $tzvalue['abbr'] . ' - ' . $desc . ' [UTC' . date_format($date_when, 'P') . ']'; |
|
5425 | + } else { |
|
5426 | + $timezones[$tzvalue['tzid']] = $tzvalue['abbr'] . ' - ' . $desc . ' [UTC' . date_format($date_when, 'P') . ']'; |
|
5427 | + } |
|
5121 | 5428 | } |
5122 | 5429 | |
5123 | 5430 | $timezones = array_merge( |
@@ -5171,9 +5478,9 @@ discard block |
||
5171 | 5478 | 'Indian/Kerguelen' => 'TFT', |
5172 | 5479 | ); |
5173 | 5480 | |
5174 | - if (!empty($missing_tz_abbrs[$tzid])) |
|
5175 | - $tz_abbrev = $missing_tz_abbrs[$tzid]; |
|
5176 | - else |
|
5481 | + if (!empty($missing_tz_abbrs[$tzid])) { |
|
5482 | + $tz_abbrev = $missing_tz_abbrs[$tzid]; |
|
5483 | + } else |
|
5177 | 5484 | { |
5178 | 5485 | // Russia likes to experiment with time zones often, and names them as offsets from Moscow |
5179 | 5486 | $tz_location = timezone_location_get(timezone_open($tzid)); |
@@ -5201,8 +5508,9 @@ discard block |
||
5201 | 5508 | */ |
5202 | 5509 | function inet_ptod($ip_address) |
5203 | 5510 | { |
5204 | - if (!isValidIP($ip_address)) |
|
5205 | - return $ip_address; |
|
5511 | + if (!isValidIP($ip_address)) { |
|
5512 | + return $ip_address; |
|
5513 | + } |
|
5206 | 5514 | |
5207 | 5515 | $bin = inet_pton($ip_address); |
5208 | 5516 | return $bin; |
@@ -5214,13 +5522,15 @@ discard block |
||
5214 | 5522 | */ |
5215 | 5523 | function inet_dtop($bin) |
5216 | 5524 | { |
5217 | - if(empty($bin)) |
|
5218 | - return ''; |
|
5525 | + if(empty($bin)) { |
|
5526 | + return ''; |
|
5527 | + } |
|
5219 | 5528 | |
5220 | 5529 | global $db_type; |
5221 | 5530 | |
5222 | - if ($db_type == 'postgresql') |
|
5223 | - return $bin; |
|
5531 | + if ($db_type == 'postgresql') { |
|
5532 | + return $bin; |
|
5533 | + } |
|
5224 | 5534 | |
5225 | 5535 | $ip_address = inet_ntop($bin); |
5226 | 5536 | |
@@ -5245,26 +5555,32 @@ discard block |
||
5245 | 5555 | */ |
5246 | 5556 | function _safe_serialize($value) |
5247 | 5557 | { |
5248 | - if(is_null($value)) |
|
5249 | - return 'N;'; |
|
5558 | + if(is_null($value)) { |
|
5559 | + return 'N;'; |
|
5560 | + } |
|
5250 | 5561 | |
5251 | - if(is_bool($value)) |
|
5252 | - return 'b:'. (int) $value .';'; |
|
5562 | + if(is_bool($value)) { |
|
5563 | + return 'b:'. (int) $value .';'; |
|
5564 | + } |
|
5253 | 5565 | |
5254 | - if(is_int($value)) |
|
5255 | - return 'i:'. $value .';'; |
|
5566 | + if(is_int($value)) { |
|
5567 | + return 'i:'. $value .';'; |
|
5568 | + } |
|
5256 | 5569 | |
5257 | - if(is_float($value)) |
|
5258 | - return 'd:'. str_replace(',', '.', $value) .';'; |
|
5570 | + if(is_float($value)) { |
|
5571 | + return 'd:'. str_replace(',', '.', $value) .';'; |
|
5572 | + } |
|
5259 | 5573 | |
5260 | - if(is_string($value)) |
|
5261 | - return 's:'. strlen($value) .':"'. $value .'";'; |
|
5574 | + if(is_string($value)) { |
|
5575 | + return 's:'. strlen($value) .':"'. $value .'";'; |
|
5576 | + } |
|
5262 | 5577 | |
5263 | 5578 | if(is_array($value)) |
5264 | 5579 | { |
5265 | 5580 | $out = ''; |
5266 | - foreach($value as $k => $v) |
|
5267 | - $out .= _safe_serialize($k) . _safe_serialize($v); |
|
5581 | + foreach($value as $k => $v) { |
|
5582 | + $out .= _safe_serialize($k) . _safe_serialize($v); |
|
5583 | + } |
|
5268 | 5584 | |
5269 | 5585 | return 'a:'. count($value) .':{'. $out .'}'; |
5270 | 5586 | } |
@@ -5290,8 +5606,9 @@ discard block |
||
5290 | 5606 | |
5291 | 5607 | $out = _safe_serialize($value); |
5292 | 5608 | |
5293 | - if (isset($mbIntEnc)) |
|
5294 | - mb_internal_encoding($mbIntEnc); |
|
5609 | + if (isset($mbIntEnc)) { |
|
5610 | + mb_internal_encoding($mbIntEnc); |
|
5611 | + } |
|
5295 | 5612 | |
5296 | 5613 | return $out; |
5297 | 5614 | } |
@@ -5308,8 +5625,9 @@ discard block |
||
5308 | 5625 | function _safe_unserialize($str) |
5309 | 5626 | { |
5310 | 5627 | // Input is not a string. |
5311 | - if(empty($str) || !is_string($str)) |
|
5312 | - return false; |
|
5628 | + if(empty($str) || !is_string($str)) { |
|
5629 | + return false; |
|
5630 | + } |
|
5313 | 5631 | |
5314 | 5632 | $stack = array(); |
5315 | 5633 | $expected = array(); |
@@ -5325,43 +5643,38 @@ discard block |
||
5325 | 5643 | while($state != 1) |
5326 | 5644 | { |
5327 | 5645 | $type = isset($str[0]) ? $str[0] : ''; |
5328 | - if($type == '}') |
|
5329 | - $str = substr($str, 1); |
|
5330 | - |
|
5331 | - else if($type == 'N' && $str[1] == ';') |
|
5646 | + if($type == '}') { |
|
5647 | + $str = substr($str, 1); |
|
5648 | + } else if($type == 'N' && $str[1] == ';') |
|
5332 | 5649 | { |
5333 | 5650 | $value = null; |
5334 | 5651 | $str = substr($str, 2); |
5335 | - } |
|
5336 | - else if($type == 'b' && preg_match('/^b:([01]);/', $str, $matches)) |
|
5652 | + } else if($type == 'b' && preg_match('/^b:([01]);/', $str, $matches)) |
|
5337 | 5653 | { |
5338 | 5654 | $value = $matches[1] == '1' ? true : false; |
5339 | 5655 | $str = substr($str, 4); |
5340 | - } |
|
5341 | - else if($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches)) |
|
5656 | + } else if($type == 'i' && preg_match('/^i:(-?[0-9]+);(.*)/s', $str, $matches)) |
|
5342 | 5657 | { |
5343 | 5658 | $value = (int)$matches[1]; |
5344 | 5659 | $str = $matches[2]; |
5345 | - } |
|
5346 | - else if($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches)) |
|
5660 | + } else if($type == 'd' && preg_match('/^d:(-?[0-9]+\.?[0-9]*(E[+-][0-9]+)?);(.*)/s', $str, $matches)) |
|
5347 | 5661 | { |
5348 | 5662 | $value = (float)$matches[1]; |
5349 | 5663 | $str = $matches[3]; |
5350 | - } |
|
5351 | - else if($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int)$matches[1], 2) == '";') |
|
5664 | + } else if($type == 's' && preg_match('/^s:([0-9]+):"(.*)/s', $str, $matches) && substr($matches[2], (int)$matches[1], 2) == '";') |
|
5352 | 5665 | { |
5353 | 5666 | $value = substr($matches[2], 0, (int)$matches[1]); |
5354 | 5667 | $str = substr($matches[2], (int)$matches[1] + 2); |
5355 | - } |
|
5356 | - else if($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches)) |
|
5668 | + } else if($type == 'a' && preg_match('/^a:([0-9]+):{(.*)/s', $str, $matches)) |
|
5357 | 5669 | { |
5358 | 5670 | $expectedLength = (int)$matches[1]; |
5359 | 5671 | $str = $matches[2]; |
5360 | 5672 | } |
5361 | 5673 | |
5362 | 5674 | // Object or unknown/malformed type. |
5363 | - else |
|
5364 | - return false; |
|
5675 | + else { |
|
5676 | + return false; |
|
5677 | + } |
|
5365 | 5678 | |
5366 | 5679 | switch($state) |
5367 | 5680 | { |
@@ -5389,8 +5702,9 @@ discard block |
||
5389 | 5702 | if($type == '}') |
5390 | 5703 | { |
5391 | 5704 | // Array size is less than expected. |
5392 | - if(count($list) < end($expected)) |
|
5393 | - return false; |
|
5705 | + if(count($list) < end($expected)) { |
|
5706 | + return false; |
|
5707 | + } |
|
5394 | 5708 | |
5395 | 5709 | unset($list); |
5396 | 5710 | $list = &$stack[count($stack)-1]; |
@@ -5399,8 +5713,9 @@ discard block |
||
5399 | 5713 | // Go to terminal state if we're at the end of the root array. |
5400 | 5714 | array_pop($expected); |
5401 | 5715 | |
5402 | - if(count($expected) == 0) |
|
5403 | - $state = 1; |
|
5716 | + if(count($expected) == 0) { |
|
5717 | + $state = 1; |
|
5718 | + } |
|
5404 | 5719 | |
5405 | 5720 | break; |
5406 | 5721 | } |
@@ -5408,8 +5723,9 @@ discard block |
||
5408 | 5723 | if($type == 'i' || $type == 's') |
5409 | 5724 | { |
5410 | 5725 | // Array size exceeds expected length. |
5411 | - if(count($list) >= end($expected)) |
|
5412 | - return false; |
|
5726 | + if(count($list) >= end($expected)) { |
|
5727 | + return false; |
|
5728 | + } |
|
5413 | 5729 | |
5414 | 5730 | $key = $value; |
5415 | 5731 | $state = 3; |
@@ -5443,8 +5759,9 @@ discard block |
||
5443 | 5759 | } |
5444 | 5760 | |
5445 | 5761 | // Trailing data in input. |
5446 | - if(!empty($str)) |
|
5447 | - return false; |
|
5762 | + if(!empty($str)) { |
|
5763 | + return false; |
|
5764 | + } |
|
5448 | 5765 | |
5449 | 5766 | return $data; |
5450 | 5767 | } |
@@ -5467,8 +5784,9 @@ discard block |
||
5467 | 5784 | |
5468 | 5785 | $out = _safe_unserialize($str); |
5469 | 5786 | |
5470 | - if (isset($mbIntEnc)) |
|
5471 | - mb_internal_encoding($mbIntEnc); |
|
5787 | + if (isset($mbIntEnc)) { |
|
5788 | + mb_internal_encoding($mbIntEnc); |
|
5789 | + } |
|
5472 | 5790 | |
5473 | 5791 | return $out; |
5474 | 5792 | } |
@@ -5483,12 +5801,14 @@ discard block |
||
5483 | 5801 | function smf_chmod($file, $value = 0) |
5484 | 5802 | { |
5485 | 5803 | // No file? no checks! |
5486 | - if (empty($file)) |
|
5487 | - return false; |
|
5804 | + if (empty($file)) { |
|
5805 | + return false; |
|
5806 | + } |
|
5488 | 5807 | |
5489 | 5808 | // Already writable? |
5490 | - if (is_writable($file)) |
|
5491 | - return true; |
|
5809 | + if (is_writable($file)) { |
|
5810 | + return true; |
|
5811 | + } |
|
5492 | 5812 | |
5493 | 5813 | // Do we have a file or a dir? |
5494 | 5814 | $isDir = is_dir($file); |
@@ -5504,10 +5824,9 @@ discard block |
||
5504 | 5824 | { |
5505 | 5825 | $isWritable = true; |
5506 | 5826 | break; |
5827 | + } else { |
|
5828 | + @chmod($file, $val); |
|
5507 | 5829 | } |
5508 | - |
|
5509 | - else |
|
5510 | - @chmod($file, $val); |
|
5511 | 5830 | } |
5512 | 5831 | |
5513 | 5832 | return $isWritable; |
@@ -5526,8 +5845,9 @@ discard block |
||
5526 | 5845 | global $txt; |
5527 | 5846 | |
5528 | 5847 | // Come on... |
5529 | - if (empty($json) || !is_string($json)) |
|
5530 | - return array(); |
|
5848 | + if (empty($json) || !is_string($json)) { |
|
5849 | + return array(); |
|
5850 | + } |
|
5531 | 5851 | |
5532 | 5852 | $returnArray = @json_decode($json, $returnAsArray); |
5533 | 5853 | |
@@ -5565,11 +5885,11 @@ discard block |
||
5565 | 5885 | $jsonDebug = $jsonDebug[0]; |
5566 | 5886 | loadLanguage('Errors'); |
5567 | 5887 | |
5568 | - if (!empty($jsonDebug)) |
|
5569 | - log_error($txt['json_'. $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']); |
|
5570 | - |
|
5571 | - else |
|
5572 | - log_error($txt['json_'. $jsonError], 'critical'); |
|
5888 | + if (!empty($jsonDebug)) { |
|
5889 | + log_error($txt['json_'. $jsonError], 'critical', $jsonDebug['file'], $jsonDebug['line']); |
|
5890 | + } else { |
|
5891 | + log_error($txt['json_'. $jsonError], 'critical'); |
|
5892 | + } |
|
5573 | 5893 | |
5574 | 5894 | // Everyone expects an array. |
5575 | 5895 | return array(); |
@@ -5603,8 +5923,9 @@ discard block |
||
5603 | 5923 | global $db_show_debug, $modSettings; |
5604 | 5924 | |
5605 | 5925 | // Defensive programming anyone? |
5606 | - if (empty($data)) |
|
5607 | - return false; |
|
5926 | + if (empty($data)) { |
|
5927 | + return false; |
|
5928 | + } |
|
5608 | 5929 | |
5609 | 5930 | // Don't need extra stuff... |
5610 | 5931 | $db_show_debug = false; |
@@ -5612,11 +5933,11 @@ discard block |
||
5612 | 5933 | // Kill anything else. |
5613 | 5934 | ob_end_clean(); |
5614 | 5935 | |
5615 | - if (!empty($modSettings['CompressedOutput'])) |
|
5616 | - @ob_start('ob_gzhandler'); |
|
5617 | - |
|
5618 | - else |
|
5619 | - ob_start(); |
|
5936 | + if (!empty($modSettings['CompressedOutput'])) { |
|
5937 | + @ob_start('ob_gzhandler'); |
|
5938 | + } else { |
|
5939 | + ob_start(); |
|
5940 | + } |
|
5620 | 5941 | |
5621 | 5942 | // Set the header. |
5622 | 5943 | header($type); |
@@ -5648,8 +5969,9 @@ discard block |
||
5648 | 5969 | static $done = false; |
5649 | 5970 | |
5650 | 5971 | // If we don't need to do anything, don't |
5651 | - if (!$update && $done) |
|
5652 | - return; |
|
5972 | + if (!$update && $done) { |
|
5973 | + return; |
|
5974 | + } |
|
5653 | 5975 | |
5654 | 5976 | // Should we get a new copy of the official list of TLDs? |
5655 | 5977 | if ($update) |
@@ -5658,8 +5980,9 @@ discard block |
||
5658 | 5980 | $tlds = fetch_web_data('https://data.iana.org/TLD/tlds-alpha-by-domain.txt'); |
5659 | 5981 | |
5660 | 5982 | // If the Internet Assigned Numbers Authority can't be reached, the Internet is gone. We're probably running on a server hidden in a bunker deep underground to protect it from marauding bandits roaming on the surface. We don't want to waste precious electricity on pointlessly repeating background tasks, so we'll wait until the next regularly scheduled update to see if civilization has been restored. |
5661 | - if ($tlds === false) |
|
5662 | - $postapocalypticNightmare = true; |
|
5983 | + if ($tlds === false) { |
|
5984 | + $postapocalypticNightmare = true; |
|
5985 | + } |
|
5663 | 5986 | } |
5664 | 5987 | // If we aren't updating and the regex is valid, we're done |
5665 | 5988 | elseif (!empty($modSettings['tld_regex']) && @preg_match('~' . $modSettings['tld_regex'] . '~', null) !== false) |
@@ -5674,10 +5997,11 @@ discard block |
||
5674 | 5997 | // Clean $tlds and convert it to an array |
5675 | 5998 | $tlds = array_filter(explode("\n", strtolower($tlds)), function($line) { |
5676 | 5999 | $line = trim($line); |
5677 | - if (empty($line) || strpos($line, '#') !== false || strpos($line, ' ') !== false) |
|
5678 | - return false; |
|
5679 | - else |
|
5680 | - return true; |
|
6000 | + if (empty($line) || strpos($line, '#') !== false || strpos($line, ' ') !== false) { |
|
6001 | + return false; |
|
6002 | + } else { |
|
6003 | + return true; |
|
6004 | + } |
|
5681 | 6005 | }); |
5682 | 6006 | |
5683 | 6007 | // Convert Punycode to Unicode |
@@ -5731,8 +6055,9 @@ discard block |
||
5731 | 6055 | $idx += $digit * $w; |
5732 | 6056 | $t = ($k <= $bias) ? $tmin : (($k >= $bias + $tmax) ? $tmax : ($k - $bias)); |
5733 | 6057 | |
5734 | - if ($digit < $t) |
|
5735 | - break; |
|
6058 | + if ($digit < $t) { |
|
6059 | + break; |
|
6060 | + } |
|
5736 | 6061 | |
5737 | 6062 | $w = (int) ($w * ($base - $t)); |
5738 | 6063 | } |
@@ -5741,8 +6066,9 @@ discard block |
||
5741 | 6066 | $delta = intval($is_first ? ($delta / $damp) : ($delta / 2)); |
5742 | 6067 | $delta += intval($delta / ($deco_len + 1)); |
5743 | 6068 | |
5744 | - for ($k = 0; $delta > (($base - $tmin) * $tmax) / 2; $k += $base) |
|
5745 | - $delta = intval($delta / ($base - $tmin)); |
|
6069 | + for ($k = 0; $delta > (($base - $tmin) * $tmax) / 2; $k += $base) { |
|
6070 | + $delta = intval($delta / ($base - $tmin)); |
|
6071 | + } |
|
5746 | 6072 | |
5747 | 6073 | $bias = intval($k + ($base - $tmin + 1) * $delta / ($delta + $skew)); |
5748 | 6074 | $is_first = false; |
@@ -5751,8 +6077,9 @@ discard block |
||
5751 | 6077 | |
5752 | 6078 | if ($deco_len > 0) |
5753 | 6079 | { |
5754 | - for ($i = $deco_len; $i > $idx; $i--) |
|
5755 | - $decoded[$i] = $decoded[($i - 1)]; |
|
6080 | + for ($i = $deco_len; $i > $idx; $i--) { |
|
6081 | + $decoded[$i] = $decoded[($i - 1)]; |
|
6082 | + } |
|
5756 | 6083 | } |
5757 | 6084 | $decoded[$idx++] = $char; |
5758 | 6085 | } |
@@ -5760,24 +6087,29 @@ discard block |
||
5760 | 6087 | foreach ($decoded as $k => $v) |
5761 | 6088 | { |
5762 | 6089 | // 7bit are transferred literally |
5763 | - if ($v < 128) |
|
5764 | - $output .= chr($v); |
|
6090 | + if ($v < 128) { |
|
6091 | + $output .= chr($v); |
|
6092 | + } |
|
5765 | 6093 | |
5766 | 6094 | // 2 bytes |
5767 | - elseif ($v < (1 << 11)) |
|
5768 | - $output .= chr(192+($v >> 6)) . chr(128+($v & 63)); |
|
6095 | + elseif ($v < (1 << 11)) { |
|
6096 | + $output .= chr(192+($v >> 6)) . chr(128+($v & 63)); |
|
6097 | + } |
|
5769 | 6098 | |
5770 | 6099 | // 3 bytes |
5771 | - elseif ($v < (1 << 16)) |
|
5772 | - $output .= chr(224+($v >> 12)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63)); |
|
6100 | + elseif ($v < (1 << 16)) { |
|
6101 | + $output .= chr(224+($v >> 12)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63)); |
|
6102 | + } |
|
5773 | 6103 | |
5774 | 6104 | // 4 bytes |
5775 | - elseif ($v < (1 << 21)) |
|
5776 | - $output .= chr(240+($v >> 18)) . chr(128+(($v >> 12) & 63)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63)); |
|
6105 | + elseif ($v < (1 << 21)) { |
|
6106 | + $output .= chr(240+($v >> 18)) . chr(128+(($v >> 12) & 63)) . chr(128+(($v >> 6) & 63)) . chr(128+($v & 63)); |
|
6107 | + } |
|
5777 | 6108 | |
5778 | 6109 | // 'Conversion from UCS-4 to UTF-8 failed: malformed input at byte '.$k |
5779 | - else |
|
5780 | - $output .= $safe_char; |
|
6110 | + else { |
|
6111 | + $output .= $safe_char; |
|
6112 | + } |
|
5781 | 6113 | } |
5782 | 6114 | |
5783 | 6115 | $output_parts[] = $output; |
@@ -5870,8 +6202,7 @@ discard block |
||
5870 | 6202 | |
5871 | 6203 | $strlen = 'mb_strlen'; |
5872 | 6204 | $substr = 'mb_substr'; |
5873 | - } |
|
5874 | - else |
|
6205 | + } else |
|
5875 | 6206 | { |
5876 | 6207 | $strlen = $smcFunc['strlen']; |
5877 | 6208 | $substr = $smcFunc['substr']; |
@@ -5885,20 +6216,21 @@ discard block |
||
5885 | 6216 | |
5886 | 6217 | $first = $substr($string, 0, 1); |
5887 | 6218 | |
5888 | - if (empty($index[$first])) |
|
5889 | - $index[$first] = array(); |
|
6219 | + if (empty($index[$first])) { |
|
6220 | + $index[$first] = array(); |
|
6221 | + } |
|
5890 | 6222 | |
5891 | 6223 | if ($strlen($string) > 1) |
5892 | 6224 | { |
5893 | 6225 | // Sanity check on recursion |
5894 | - if ($depth > 99) |
|
5895 | - $index[$first][$substr($string, 1)] = ''; |
|
5896 | - |
|
5897 | - else |
|
5898 | - $index[$first] = $add_string_to_index($substr($string, 1), $index[$first]); |
|
6226 | + if ($depth > 99) { |
|
6227 | + $index[$first][$substr($string, 1)] = ''; |
|
6228 | + } else { |
|
6229 | + $index[$first] = $add_string_to_index($substr($string, 1), $index[$first]); |
|
6230 | + } |
|
6231 | + } else { |
|
6232 | + $index[$first][''] = ''; |
|
5899 | 6233 | } |
5900 | - else |
|
5901 | - $index[$first][''] = ''; |
|
5902 | 6234 | |
5903 | 6235 | $depth--; |
5904 | 6236 | return $index; |
@@ -5921,9 +6253,9 @@ discard block |
||
5921 | 6253 | $key_regex = preg_quote($key, $delim); |
5922 | 6254 | $new_key = $key; |
5923 | 6255 | |
5924 | - if (empty($value)) |
|
5925 | - $sub_regex = ''; |
|
5926 | - else |
|
6256 | + if (empty($value)) { |
|
6257 | + $sub_regex = ''; |
|
6258 | + } else |
|
5927 | 6259 | { |
5928 | 6260 | $sub_regex = $index_to_regex($value, $delim); |
5929 | 6261 | |
@@ -5931,22 +6263,22 @@ discard block |
||
5931 | 6263 | { |
5932 | 6264 | $new_key_array = explode('(?'.'>', $sub_regex); |
5933 | 6265 | $new_key .= $new_key_array[0]; |
6266 | + } else { |
|
6267 | + $sub_regex = '(?'.'>' . $sub_regex . ')'; |
|
5934 | 6268 | } |
5935 | - else |
|
5936 | - $sub_regex = '(?'.'>' . $sub_regex . ')'; |
|
5937 | 6269 | } |
5938 | 6270 | |
5939 | - if ($depth > 1) |
|
5940 | - $regex[$new_key] = $key_regex . $sub_regex; |
|
5941 | - else |
|
6271 | + if ($depth > 1) { |
|
6272 | + $regex[$new_key] = $key_regex . $sub_regex; |
|
6273 | + } else |
|
5942 | 6274 | { |
5943 | 6275 | if (($length += strlen($key_regex) + 1) < $max_length || empty($regex)) |
5944 | 6276 | { |
5945 | 6277 | $regex[$new_key] = $key_regex . $sub_regex; |
5946 | 6278 | unset($index[$key]); |
6279 | + } else { |
|
6280 | + break; |
|
5947 | 6281 | } |
5948 | - else |
|
5949 | - break; |
|
5950 | 6282 | } |
5951 | 6283 | } |
5952 | 6284 | |
@@ -5955,10 +6287,11 @@ discard block |
||
5955 | 6287 | $l1 = $strlen($k1); |
5956 | 6288 | $l2 = $strlen($k2); |
5957 | 6289 | |
5958 | - if ($l1 == $l2) |
|
5959 | - return strcmp($k1, $k2) > 0 ? 1 : -1; |
|
5960 | - else |
|
5961 | - return $l1 > $l2 ? -1 : 1; |
|
6290 | + if ($l1 == $l2) { |
|
6291 | + return strcmp($k1, $k2) > 0 ? 1 : -1; |
|
6292 | + } else { |
|
6293 | + return $l1 > $l2 ? -1 : 1; |
|
6294 | + } |
|
5962 | 6295 | }); |
5963 | 6296 | |
5964 | 6297 | $depth--; |
@@ -5969,21 +6302,24 @@ discard block |
||
5969 | 6302 | $index = array(); |
5970 | 6303 | $regex = ''; |
5971 | 6304 | |
5972 | - foreach ($strings as $string) |
|
5973 | - $index = $add_string_to_index($string, $index); |
|
6305 | + foreach ($strings as $string) { |
|
6306 | + $index = $add_string_to_index($string, $index); |
|
6307 | + } |
|
5974 | 6308 | |
5975 | 6309 | if ($returnArray === true) |
5976 | 6310 | { |
5977 | 6311 | $regex = array(); |
5978 | - while (!empty($index)) |
|
5979 | - $regex[] = '(?'.'>' . $index_to_regex($index, $delim) . ')'; |
|
6312 | + while (!empty($index)) { |
|
6313 | + $regex[] = '(?'.'>' . $index_to_regex($index, $delim) . ')'; |
|
6314 | + } |
|
6315 | + } else { |
|
6316 | + $regex = '(?'.'>' . $index_to_regex($index, $delim) . ')'; |
|
5980 | 6317 | } |
5981 | - else |
|
5982 | - $regex = '(?'.'>' . $index_to_regex($index, $delim) . ')'; |
|
5983 | 6318 | |
5984 | 6319 | // Restore PHP's internal character encoding to whatever it was originally |
5985 | - if (!empty($current_encoding)) |
|
5986 | - mb_internal_encoding($current_encoding); |
|
6320 | + if (!empty($current_encoding)) { |
|
6321 | + mb_internal_encoding($current_encoding); |
|
6322 | + } |
|
5987 | 6323 | |
5988 | 6324 | return $regex; |
5989 | 6325 | } |
@@ -6021,13 +6357,15 @@ discard block |
||
6021 | 6357 | // Need to add the trailing slash, or it puts it there & thinks there's a redirect when there isn't... |
6022 | 6358 | $url = str_ireplace('https://', 'http://', $url) . '/'; |
6023 | 6359 | $headers = @get_headers($url); |
6024 | - if ($headers === false) |
|
6025 | - return false; |
|
6360 | + if ($headers === false) { |
|
6361 | + return false; |
|
6362 | + } |
|
6026 | 6363 | |
6027 | 6364 | // Now to see if it came back https... |
6028 | 6365 | // First check for a redirect status code in first row (301, 302, 307) |
6029 | - if (strstr($headers[0], '301') === false && strstr($headers[0], '302') === false && strstr($headers[0], '307') === false) |
|
6030 | - return false; |
|
6366 | + if (strstr($headers[0], '301') === false && strstr($headers[0], '302') === false && strstr($headers[0], '307') === false) { |
|
6367 | + return false; |
|
6368 | + } |
|
6031 | 6369 | |
6032 | 6370 | // Search for the location entry to confirm https |
6033 | 6371 | $result = false; |
@@ -23,7 +23,7 @@ discard block |
||
23 | 23 | * |
24 | 24 | * @return array The truncated array |
25 | 25 | */ |
26 | -function truncateArray($arr, $max_length=1900) |
|
26 | +function truncateArray($arr, $max_length = 1900) |
|
27 | 27 | { |
28 | 28 | $curr_length = array_sum(array_map("strlen", $arr)); |
29 | 29 | if ($curr_length <= $max_length) |
@@ -31,7 +31,7 @@ discard block |
||
31 | 31 | else |
32 | 32 | { |
33 | 33 | // Truncate each element's value to a reasonable length |
34 | - $param_max = floor($max_length/count($arr)); |
|
34 | + $param_max = floor($max_length / count($arr)); |
|
35 | 35 | foreach ($arr as $key => &$value) |
36 | 36 | $value = substr($value, 0, $param_max - strlen($key) - 5); |
37 | 37 | return $arr; |
@@ -197,7 +197,7 @@ discard block |
||
197 | 197 | if (filemtime($boarddir . '/db_last_error.php') === $last_db_error_change) |
198 | 198 | { |
199 | 199 | // Write the change |
200 | - $write_db_change = '<' . '?' . "php\n" . '$db_last_error = ' . time() . ';' . "\n" . '?' . '>'; |
|
200 | + $write_db_change = '<' . '?' . "php\n" . '$db_last_error = ' . time() . ';' . "\n" . '?' . '>'; |
|
201 | 201 | $written_bytes = file_put_contents($boarddir . '/db_last_error.php', $write_db_change, LOCK_EX); |
202 | 202 | |
203 | 203 | // survey says ... |
@@ -270,7 +270,7 @@ discard block |
||
270 | 270 | ', $txt['debug_language_files'], count($context['debug']['language_files']), ': <em>', implode('</em>, <em>', $context['debug']['language_files']), '</em>.<br> |
271 | 271 | ', $txt['debug_stylesheets'], count($context['debug']['sheets']), ': <em>', implode('</em>, <em>', $context['debug']['sheets']), '</em>.<br> |
272 | 272 | ', $txt['debug_hooks'], empty($context['debug']['hooks']) ? 0 : count($context['debug']['hooks']) . ' (<a href="javascript:void(0);" onclick="document.getElementById(\'debug_hooks\').style.display = \'inline\'; this.style.display = \'none\'; return false;">', $txt['debug_show'], '</a><span id="debug_hooks" style="display: none;"><em>' . implode('</em>, <em>', $context['debug']['hooks']), '</em></span>)', '<br> |
273 | - ',(isset($context['debug']['instances']) ? ($txt['debug_instances'] . (empty($context['debug']['instances']) ? 0 : count($context['debug']['instances'])) . ' (<a href="javascript:void(0);" onclick="document.getElementById(\'debug_instances\').style.display = \'inline\'; this.style.display = \'none\'; return false;">'. $txt['debug_show'] .'</a><span id="debug_instances" style="display: none;"><em>'. implode('</em>, <em>', array_keys($context['debug']['instances'])) .'</em></span>)'. '<br>') : ''),' |
|
273 | + ',(isset($context['debug']['instances']) ? ($txt['debug_instances'] . (empty($context['debug']['instances']) ? 0 : count($context['debug']['instances'])) . ' (<a href="javascript:void(0);" onclick="document.getElementById(\'debug_instances\').style.display = \'inline\'; this.style.display = \'none\'; return false;">' . $txt['debug_show'] . '</a><span id="debug_instances" style="display: none;"><em>' . implode('</em>, <em>', array_keys($context['debug']['instances'])) . '</em></span>)' . '<br>') : ''), ' |
|
274 | 274 | ', $txt['debug_files_included'], count($files), ' - ', round($total_size / 1024), $txt['debug_kb'], ' (<a href="javascript:void(0);" onclick="document.getElementById(\'debug_include_info\').style.display = \'inline\'; this.style.display = \'none\'; return false;">', $txt['debug_show'], '</a><span id="debug_include_info" style="display: none;"><em>', implode('</em>, <em>', $files), '</em></span>)<br>'; |
275 | 275 | |
276 | 276 | if (function_exists('memory_get_peak_usage')) |
@@ -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 | * Truncate the GET array to a specified length |
@@ -26,14 +27,15 @@ discard block |
||
26 | 27 | function truncateArray($arr, $max_length=1900) |
27 | 28 | { |
28 | 29 | $curr_length = array_sum(array_map("strlen", $arr)); |
29 | - if ($curr_length <= $max_length) |
|
30 | - return $arr; |
|
31 | - else |
|
30 | + if ($curr_length <= $max_length) { |
|
31 | + return $arr; |
|
32 | + } else |
|
32 | 33 | { |
33 | 34 | // Truncate each element's value to a reasonable length |
34 | 35 | $param_max = floor($max_length/count($arr)); |
35 | - foreach ($arr as $key => &$value) |
|
36 | - $value = substr($value, 0, $param_max - strlen($key) - 5); |
|
36 | + foreach ($arr as $key => &$value) { |
|
37 | + $value = substr($value, 0, $param_max - strlen($key) - 5); |
|
38 | + } |
|
37 | 39 | return $arr; |
38 | 40 | } |
39 | 41 | } |
@@ -55,8 +57,9 @@ discard block |
||
55 | 57 | // Don't update for every page - this isn't wholly accurate but who cares. |
56 | 58 | if ($topic) |
57 | 59 | { |
58 | - if (isset($_SESSION['last_topic_id']) && $_SESSION['last_topic_id'] == $topic) |
|
59 | - $force = false; |
|
60 | + if (isset($_SESSION['last_topic_id']) && $_SESSION['last_topic_id'] == $topic) { |
|
61 | + $force = false; |
|
62 | + } |
|
60 | 63 | $_SESSION['last_topic_id'] = $topic; |
61 | 64 | } |
62 | 65 | } |
@@ -69,22 +72,24 @@ discard block |
||
69 | 72 | } |
70 | 73 | |
71 | 74 | // Don't mark them as online more than every so often. |
72 | - if (!empty($_SESSION['log_time']) && $_SESSION['log_time'] >= (time() - 8) && !$force) |
|
73 | - return; |
|
75 | + if (!empty($_SESSION['log_time']) && $_SESSION['log_time'] >= (time() - 8) && !$force) { |
|
76 | + return; |
|
77 | + } |
|
74 | 78 | |
75 | 79 | if (!empty($modSettings['who_enabled'])) |
76 | 80 | { |
77 | 81 | $encoded_get = truncateArray($_GET) + array('USER_AGENT' => $_SERVER['HTTP_USER_AGENT']); |
78 | 82 | |
79 | 83 | // In the case of a dlattach action, session_var may not be set. |
80 | - if (!isset($context['session_var'])) |
|
81 | - $context['session_var'] = $_SESSION['session_var']; |
|
84 | + if (!isset($context['session_var'])) { |
|
85 | + $context['session_var'] = $_SESSION['session_var']; |
|
86 | + } |
|
82 | 87 | |
83 | 88 | unset($encoded_get['sesc'], $encoded_get[$context['session_var']]); |
84 | 89 | $encoded_get = $smcFunc['json_encode']($encoded_get); |
90 | + } else { |
|
91 | + $encoded_get = ''; |
|
85 | 92 | } |
86 | - else |
|
87 | - $encoded_get = ''; |
|
88 | 93 | |
89 | 94 | // Guests use 0, members use their session ID. |
90 | 95 | $session_id = $user_info['is_guest'] ? 'ip' . $user_info['ip'] : session_id(); |
@@ -124,17 +129,18 @@ discard block |
||
124 | 129 | ); |
125 | 130 | |
126 | 131 | // Guess it got deleted. |
127 | - if ($smcFunc['db_affected_rows']() == 0) |
|
132 | + if ($smcFunc['db_affected_rows']() == 0) { |
|
133 | + $_SESSION['log_time'] = 0; |
|
134 | + } |
|
135 | + } else { |
|
128 | 136 | $_SESSION['log_time'] = 0; |
129 | 137 | } |
130 | - else |
|
131 | - $_SESSION['log_time'] = 0; |
|
132 | 138 | |
133 | 139 | // Otherwise, we have to delete and insert. |
134 | 140 | if (empty($_SESSION['log_time'])) |
135 | 141 | { |
136 | - if ($do_delete || !empty($user_info['id'])) |
|
137 | - $smcFunc['db_query']('', ' |
|
142 | + if ($do_delete || !empty($user_info['id'])) { |
|
143 | + $smcFunc['db_query']('', ' |
|
138 | 144 | DELETE FROM {db_prefix}log_online |
139 | 145 | WHERE ' . ($do_delete ? 'log_time < {int:log_time}' : '') . ($do_delete && !empty($user_info['id']) ? ' OR ' : '') . (empty($user_info['id']) ? '' : 'id_member = {int:current_member}'), |
140 | 146 | array( |
@@ -142,6 +148,7 @@ discard block |
||
142 | 148 | 'log_time' => time() - $modSettings['lastActive'] * 60, |
143 | 149 | ) |
144 | 150 | ); |
151 | + } |
|
145 | 152 | |
146 | 153 | $smcFunc['db_insert']($do_delete ? 'ignore' : 'replace', |
147 | 154 | '{db_prefix}log_online', |
@@ -155,21 +162,24 @@ discard block |
||
155 | 162 | $_SESSION['log_time'] = time(); |
156 | 163 | |
157 | 164 | // Well, they are online now. |
158 | - if (empty($_SESSION['timeOnlineUpdated'])) |
|
159 | - $_SESSION['timeOnlineUpdated'] = time(); |
|
165 | + if (empty($_SESSION['timeOnlineUpdated'])) { |
|
166 | + $_SESSION['timeOnlineUpdated'] = time(); |
|
167 | + } |
|
160 | 168 | |
161 | 169 | // Set their login time, if not already done within the last minute. |
162 | 170 | if (SMF != 'SSI' && !empty($user_info['last_login']) && $user_info['last_login'] < time() - 60 && (!isset($_REQUEST['action']) || !in_array($_REQUEST['action'], array('.xml', 'login2', 'logintfa')))) |
163 | 171 | { |
164 | 172 | // Don't count longer than 15 minutes. |
165 | - if (time() - $_SESSION['timeOnlineUpdated'] > 60 * 15) |
|
166 | - $_SESSION['timeOnlineUpdated'] = time(); |
|
173 | + if (time() - $_SESSION['timeOnlineUpdated'] > 60 * 15) { |
|
174 | + $_SESSION['timeOnlineUpdated'] = time(); |
|
175 | + } |
|
167 | 176 | |
168 | 177 | $user_settings['total_time_logged_in'] += time() - $_SESSION['timeOnlineUpdated']; |
169 | 178 | updateMemberData($user_info['id'], array('last_login' => time(), 'member_ip' => $user_info['ip'], 'member_ip2' => $_SERVER['BAN_CHECK_IP'], 'total_time_logged_in' => $user_settings['total_time_logged_in'])); |
170 | 179 | |
171 | - if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) |
|
172 | - cache_put_data('user_settings-' . $user_info['id'], $user_settings, 60); |
|
180 | + if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) { |
|
181 | + cache_put_data('user_settings-' . $user_info['id'], $user_settings, 60); |
|
182 | + } |
|
173 | 183 | |
174 | 184 | $user_info['total_time_logged_in'] += time() - $_SESSION['timeOnlineUpdated']; |
175 | 185 | $_SESSION['timeOnlineUpdated'] = time(); |
@@ -206,8 +216,7 @@ discard block |
||
206 | 216 | // Oops. maybe we have no more disk space left, or some other troubles, troubles... |
207 | 217 | // Copy the file back and run for your life! |
208 | 218 | @copy($boarddir . '/db_last_error_bak.php', $boarddir . '/db_last_error.php'); |
209 | - } |
|
210 | - else |
|
219 | + } else |
|
211 | 220 | { |
212 | 221 | @touch($boarddir . '/' . 'Settings.php'); |
213 | 222 | return true; |
@@ -227,22 +236,27 @@ discard block |
||
227 | 236 | global $db_cache, $db_count, $cache_misses, $cache_count_misses, $db_show_debug, $cache_count, $cache_hits, $smcFunc, $txt; |
228 | 237 | |
229 | 238 | // Add to Settings.php if you want to show the debugging information. |
230 | - if (!isset($db_show_debug) || $db_show_debug !== true || (isset($_GET['action']) && $_GET['action'] == 'viewquery')) |
|
231 | - return; |
|
239 | + if (!isset($db_show_debug) || $db_show_debug !== true || (isset($_GET['action']) && $_GET['action'] == 'viewquery')) { |
|
240 | + return; |
|
241 | + } |
|
232 | 242 | |
233 | - if (empty($_SESSION['view_queries'])) |
|
234 | - $_SESSION['view_queries'] = 0; |
|
235 | - if (empty($context['debug']['language_files'])) |
|
236 | - $context['debug']['language_files'] = array(); |
|
237 | - if (empty($context['debug']['sheets'])) |
|
238 | - $context['debug']['sheets'] = array(); |
|
243 | + if (empty($_SESSION['view_queries'])) { |
|
244 | + $_SESSION['view_queries'] = 0; |
|
245 | + } |
|
246 | + if (empty($context['debug']['language_files'])) { |
|
247 | + $context['debug']['language_files'] = array(); |
|
248 | + } |
|
249 | + if (empty($context['debug']['sheets'])) { |
|
250 | + $context['debug']['sheets'] = array(); |
|
251 | + } |
|
239 | 252 | |
240 | 253 | $files = get_included_files(); |
241 | 254 | $total_size = 0; |
242 | 255 | for ($i = 0, $n = count($files); $i < $n; $i++) |
243 | 256 | { |
244 | - if (file_exists($files[$i])) |
|
245 | - $total_size += filesize($files[$i]); |
|
257 | + if (file_exists($files[$i])) { |
|
258 | + $total_size += filesize($files[$i]); |
|
259 | + } |
|
246 | 260 | $files[$i] = strtr($files[$i], array($boarddir => '.', $sourcedir => '(Sources)', $cachedir => '(Cache)', $settings['actual_theme_dir'] => '(Current Theme)')); |
247 | 261 | } |
248 | 262 | |
@@ -251,8 +265,9 @@ discard block |
||
251 | 265 | { |
252 | 266 | foreach ($db_cache as $q => $qq) |
253 | 267 | { |
254 | - if (!empty($qq['w'])) |
|
255 | - $warnings += count($qq['w']); |
|
268 | + if (!empty($qq['w'])) { |
|
269 | + $warnings += count($qq['w']); |
|
270 | + } |
|
256 | 271 | } |
257 | 272 | |
258 | 273 | $_SESSION['debug'] = &$db_cache; |
@@ -273,12 +288,14 @@ discard block |
||
273 | 288 | ',(isset($context['debug']['instances']) ? ($txt['debug_instances'] . (empty($context['debug']['instances']) ? 0 : count($context['debug']['instances'])) . ' (<a href="javascript:void(0);" onclick="document.getElementById(\'debug_instances\').style.display = \'inline\'; this.style.display = \'none\'; return false;">'. $txt['debug_show'] .'</a><span id="debug_instances" style="display: none;"><em>'. implode('</em>, <em>', array_keys($context['debug']['instances'])) .'</em></span>)'. '<br>') : ''),' |
274 | 289 | ', $txt['debug_files_included'], count($files), ' - ', round($total_size / 1024), $txt['debug_kb'], ' (<a href="javascript:void(0);" onclick="document.getElementById(\'debug_include_info\').style.display = \'inline\'; this.style.display = \'none\'; return false;">', $txt['debug_show'], '</a><span id="debug_include_info" style="display: none;"><em>', implode('</em>, <em>', $files), '</em></span>)<br>'; |
275 | 290 | |
276 | - if (function_exists('memory_get_peak_usage')) |
|
277 | - echo $txt['debug_memory_use'], ceil(memory_get_peak_usage() / 1024), $txt['debug_kb'], '<br>'; |
|
291 | + if (function_exists('memory_get_peak_usage')) { |
|
292 | + echo $txt['debug_memory_use'], ceil(memory_get_peak_usage() / 1024), $txt['debug_kb'], '<br>'; |
|
293 | + } |
|
278 | 294 | |
279 | 295 | // What tokens are active? |
280 | - if (isset($_SESSION['token'])) |
|
281 | - echo $txt['debug_tokens'] . '<em>' . implode(',</em> <em>', array_keys($_SESSION['token'])), '</em>.<br>'; |
|
296 | + if (isset($_SESSION['token'])) { |
|
297 | + echo $txt['debug_tokens'] . '<em>' . implode(',</em> <em>', array_keys($_SESSION['token'])), '</em>.<br>'; |
|
298 | + } |
|
282 | 299 | |
283 | 300 | if (!empty($modSettings['cache_enable']) && !empty($cache_hits)) |
284 | 301 | { |
@@ -292,10 +309,12 @@ discard block |
||
292 | 309 | $total_t += $cache_hit['t']; |
293 | 310 | $total_s += $cache_hit['s']; |
294 | 311 | } |
295 | - if (!isset($cache_misses)) |
|
296 | - $cache_misses = array(); |
|
297 | - foreach ($cache_misses as $missed) |
|
298 | - $missed_entries[] = $missed['d'] . ' ' . $missed['k']; |
|
312 | + if (!isset($cache_misses)) { |
|
313 | + $cache_misses = array(); |
|
314 | + } |
|
315 | + foreach ($cache_misses as $missed) { |
|
316 | + $missed_entries[] = $missed['d'] . ' ' . $missed['k']; |
|
317 | + } |
|
299 | 318 | |
300 | 319 | echo ' |
301 | 320 | ', $txt['debug_cache_hits'], $cache_count, ': ', sprintf($txt['debug_cache_seconds_bytes_total'], comma_format($total_t, 5), comma_format($total_s)), ' (<a href="javascript:void(0);" onclick="document.getElementById(\'debug_cache_info\').style.display = \'inline\'; this.style.display = \'none\'; return false;">', $txt['debug_show'], '</a><span id="debug_cache_info" style="display: none;"><em>', implode('</em>, <em>', $entries), '</em></span>)<br> |
@@ -306,38 +325,44 @@ discard block |
||
306 | 325 | <a href="', $scripturl, '?action=viewquery" target="_blank">', $warnings == 0 ? sprintf($txt['debug_queries_used'], (int) $db_count) : sprintf($txt['debug_queries_used_and_warnings'], (int) $db_count, $warnings), '</a><br> |
307 | 326 | <br>'; |
308 | 327 | |
309 | - if ($_SESSION['view_queries'] == 1 && !empty($db_cache)) |
|
310 | - foreach ($db_cache as $q => $qq) |
|
328 | + if ($_SESSION['view_queries'] == 1 && !empty($db_cache)) { |
|
329 | + foreach ($db_cache as $q => $qq) |
|
311 | 330 | { |
312 | 331 | $is_select = strpos(trim($qq['q']), 'SELECT') === 0 || preg_match('~^INSERT(?: IGNORE)? INTO \w+(?:\s+\([^)]+\))?\s+SELECT .+$~s', trim($qq['q'])) != 0; |
332 | + } |
|
313 | 333 | // Temporary tables created in earlier queries are not explainable. |
314 | 334 | if ($is_select) |
315 | 335 | { |
316 | - foreach (array('log_topics_unread', 'topics_posted_in', 'tmp_log_search_topics', 'tmp_log_search_messages') as $tmp) |
|
317 | - if (strpos(trim($qq['q']), $tmp) !== false) |
|
336 | + foreach (array('log_topics_unread', 'topics_posted_in', 'tmp_log_search_topics', 'tmp_log_search_messages') as $tmp) { |
|
337 | + if (strpos(trim($qq['q']), $tmp) !== false) |
|
318 | 338 | { |
319 | 339 | $is_select = false; |
340 | + } |
|
320 | 341 | break; |
321 | 342 | } |
322 | 343 | } |
323 | 344 | // But actual creation of the temporary tables are. |
324 | - elseif (preg_match('~^CREATE TEMPORARY TABLE .+?SELECT .+$~s', trim($qq['q'])) != 0) |
|
325 | - $is_select = true; |
|
345 | + elseif (preg_match('~^CREATE TEMPORARY TABLE .+?SELECT .+$~s', trim($qq['q'])) != 0) { |
|
346 | + $is_select = true; |
|
347 | + } |
|
326 | 348 | |
327 | 349 | // Make the filenames look a bit better. |
328 | - if (isset($qq['f'])) |
|
329 | - $qq['f'] = preg_replace('~^' . preg_quote($boarddir, '~') . '~', '...', $qq['f']); |
|
350 | + if (isset($qq['f'])) { |
|
351 | + $qq['f'] = preg_replace('~^' . preg_quote($boarddir, '~') . '~', '...', $qq['f']); |
|
352 | + } |
|
330 | 353 | |
331 | 354 | echo ' |
332 | 355 | <strong>', $is_select ? '<a href="' . $scripturl . '?action=viewquery;qq=' . ($q + 1) . '#qq' . $q . '" target="_blank" style="text-decoration: none;">' : '', nl2br(str_replace("\t", ' ', $smcFunc['htmlspecialchars'](ltrim($qq['q'], "\n\r")))) . ($is_select ? '</a></strong>' : '</strong>') . '<br> |
333 | 356 | '; |
334 | - if (!empty($qq['f']) && !empty($qq['l'])) |
|
335 | - echo sprintf($txt['debug_query_in_line'], $qq['f'], $qq['l']); |
|
357 | + if (!empty($qq['f']) && !empty($qq['l'])) { |
|
358 | + echo sprintf($txt['debug_query_in_line'], $qq['f'], $qq['l']); |
|
359 | + } |
|
336 | 360 | |
337 | - if (isset($qq['s'], $qq['t']) && isset($txt['debug_query_which_took_at'])) |
|
338 | - echo sprintf($txt['debug_query_which_took_at'], round($qq['t'], 8), round($qq['s'], 8)) . '<br>'; |
|
339 | - elseif (isset($qq['t'])) |
|
340 | - echo sprintf($txt['debug_query_which_took'], round($qq['t'], 8)) . '<br>'; |
|
361 | + if (isset($qq['s'], $qq['t']) && isset($txt['debug_query_which_took_at'])) { |
|
362 | + echo sprintf($txt['debug_query_which_took_at'], round($qq['t'], 8), round($qq['s'], 8)) . '<br>'; |
|
363 | + } elseif (isset($qq['t'])) { |
|
364 | + echo sprintf($txt['debug_query_which_took'], round($qq['t'], 8)) . '<br>'; |
|
365 | + } |
|
341 | 366 | echo ' |
342 | 367 | <br>'; |
343 | 368 | } |
@@ -362,12 +387,14 @@ discard block |
||
362 | 387 | global $modSettings, $smcFunc; |
363 | 388 | static $cache_stats = array(); |
364 | 389 | |
365 | - if (empty($modSettings['trackStats'])) |
|
366 | - return false; |
|
367 | - if (!empty($stats)) |
|
368 | - return $cache_stats = array_merge($cache_stats, $stats); |
|
369 | - elseif (empty($cache_stats)) |
|
370 | - return false; |
|
390 | + if (empty($modSettings['trackStats'])) { |
|
391 | + return false; |
|
392 | + } |
|
393 | + if (!empty($stats)) { |
|
394 | + return $cache_stats = array_merge($cache_stats, $stats); |
|
395 | + } elseif (empty($cache_stats)) { |
|
396 | + return false; |
|
397 | + } |
|
371 | 398 | |
372 | 399 | $setStringUpdate = ''; |
373 | 400 | $insert_keys = array(); |
@@ -380,10 +407,11 @@ discard block |
||
380 | 407 | $setStringUpdate .= ' |
381 | 408 | ' . $field . ' = ' . ($change === '+' ? $field . ' + 1' : '{int:' . $field . '}') . ','; |
382 | 409 | |
383 | - if ($change === '+') |
|
384 | - $cache_stats[$field] = 1; |
|
385 | - else |
|
386 | - $update_parameters[$field] = $change; |
|
410 | + if ($change === '+') { |
|
411 | + $cache_stats[$field] = 1; |
|
412 | + } else { |
|
413 | + $update_parameters[$field] = $change; |
|
414 | + } |
|
387 | 415 | $insert_keys[$field] = 'int'; |
388 | 416 | } |
389 | 417 | |
@@ -447,43 +475,50 @@ discard block |
||
447 | 475 | ); |
448 | 476 | |
449 | 477 | // Make sure this particular log is enabled first... |
450 | - if (empty($modSettings['modlog_enabled'])) |
|
451 | - unset ($log_types['moderate']); |
|
452 | - if (empty($modSettings['userlog_enabled'])) |
|
453 | - unset ($log_types['user']); |
|
454 | - if (empty($modSettings['adminlog_enabled'])) |
|
455 | - unset ($log_types['admin']); |
|
478 | + if (empty($modSettings['modlog_enabled'])) { |
|
479 | + unset ($log_types['moderate']); |
|
480 | + } |
|
481 | + if (empty($modSettings['userlog_enabled'])) { |
|
482 | + unset ($log_types['user']); |
|
483 | + } |
|
484 | + if (empty($modSettings['adminlog_enabled'])) { |
|
485 | + unset ($log_types['admin']); |
|
486 | + } |
|
456 | 487 | |
457 | 488 | call_integration_hook('integrate_log_types', array(&$log_types)); |
458 | 489 | |
459 | 490 | foreach ($logs as $log) |
460 | 491 | { |
461 | - if (!isset($log_types[$log['log_type']])) |
|
462 | - return false; |
|
492 | + if (!isset($log_types[$log['log_type']])) { |
|
493 | + return false; |
|
494 | + } |
|
463 | 495 | |
464 | - if (!is_array($log['extra'])) |
|
465 | - trigger_error('logActions(): data is not an array with action \'' . $log['action'] . '\'', E_USER_NOTICE); |
|
496 | + if (!is_array($log['extra'])) { |
|
497 | + trigger_error('logActions(): data is not an array with action \'' . $log['action'] . '\'', E_USER_NOTICE); |
|
498 | + } |
|
466 | 499 | |
467 | 500 | // Pull out the parts we want to store separately, but also make sure that the data is proper |
468 | 501 | if (isset($log['extra']['topic'])) |
469 | 502 | { |
470 | - if (!is_numeric($log['extra']['topic'])) |
|
471 | - trigger_error('logActions(): data\'s topic is not a number', E_USER_NOTICE); |
|
503 | + if (!is_numeric($log['extra']['topic'])) { |
|
504 | + trigger_error('logActions(): data\'s topic is not a number', E_USER_NOTICE); |
|
505 | + } |
|
472 | 506 | $topic_id = empty($log['extra']['topic']) ? 0 : (int) $log['extra']['topic']; |
473 | 507 | unset($log['extra']['topic']); |
508 | + } else { |
|
509 | + $topic_id = 0; |
|
474 | 510 | } |
475 | - else |
|
476 | - $topic_id = 0; |
|
477 | 511 | |
478 | 512 | if (isset($log['extra']['message'])) |
479 | 513 | { |
480 | - if (!is_numeric($log['extra']['message'])) |
|
481 | - trigger_error('logActions(): data\'s message is not a number', E_USER_NOTICE); |
|
514 | + if (!is_numeric($log['extra']['message'])) { |
|
515 | + trigger_error('logActions(): data\'s message is not a number', E_USER_NOTICE); |
|
516 | + } |
|
482 | 517 | $msg_id = empty($log['extra']['message']) ? 0 : (int) $log['extra']['message']; |
483 | 518 | unset($log['extra']['message']); |
519 | + } else { |
|
520 | + $msg_id = 0; |
|
484 | 521 | } |
485 | - else |
|
486 | - $msg_id = 0; |
|
487 | 522 | |
488 | 523 | // @todo cache this? |
489 | 524 | // Is there an associated report on this? |
@@ -510,23 +545,26 @@ discard block |
||
510 | 545 | $smcFunc['db_free_result']($request); |
511 | 546 | } |
512 | 547 | |
513 | - if (isset($log['extra']['member']) && !is_numeric($log['extra']['member'])) |
|
514 | - trigger_error('logActions(): data\'s member is not a number', E_USER_NOTICE); |
|
548 | + if (isset($log['extra']['member']) && !is_numeric($log['extra']['member'])) { |
|
549 | + trigger_error('logActions(): data\'s member is not a number', E_USER_NOTICE); |
|
550 | + } |
|
515 | 551 | |
516 | 552 | if (isset($log['extra']['board'])) |
517 | 553 | { |
518 | - if (!is_numeric($log['extra']['board'])) |
|
519 | - trigger_error('logActions(): data\'s board is not a number', E_USER_NOTICE); |
|
554 | + if (!is_numeric($log['extra']['board'])) { |
|
555 | + trigger_error('logActions(): data\'s board is not a number', E_USER_NOTICE); |
|
556 | + } |
|
520 | 557 | $board_id = empty($log['extra']['board']) ? 0 : (int) $log['extra']['board']; |
521 | 558 | unset($log['extra']['board']); |
559 | + } else { |
|
560 | + $board_id = 0; |
|
522 | 561 | } |
523 | - else |
|
524 | - $board_id = 0; |
|
525 | 562 | |
526 | 563 | if (isset($log['extra']['board_to'])) |
527 | 564 | { |
528 | - if (!is_numeric($log['extra']['board_to'])) |
|
529 | - trigger_error('logActions(): data\'s board_to is not a number', E_USER_NOTICE); |
|
565 | + if (!is_numeric($log['extra']['board_to'])) { |
|
566 | + trigger_error('logActions(): data\'s board_to is not a number', E_USER_NOTICE); |
|
567 | + } |
|
530 | 568 | if (empty($board_id)) |
531 | 569 | { |
532 | 570 | $board_id = empty($log['extra']['board_to']) ? 0 : (int) $log['extra']['board_to']; |
@@ -534,10 +572,11 @@ discard block |
||
534 | 572 | } |
535 | 573 | } |
536 | 574 | |
537 | - if (isset($log['extra']['member_affected'])) |
|
538 | - $memID = $log['extra']['member_affected']; |
|
539 | - else |
|
540 | - $memID = $user_info['id']; |
|
575 | + if (isset($log['extra']['member_affected'])) { |
|
576 | + $memID = $log['extra']['member_affected']; |
|
577 | + } else { |
|
578 | + $memID = $user_info['id']; |
|
579 | + } |
|
541 | 580 | |
542 | 581 | $inserts[] = array( |
543 | 582 | time(), $log_types[$log['log_type']], $memID, $user_info['ip'], $log['action'], |
@@ -256,8 +256,8 @@ discard block |
||
256 | 256 | |
257 | 257 | case 'datetime': |
258 | 258 | if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d) ([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $datetime_matches) === 1) |
259 | - return 'str_to_date('. |
|
260 | - sprintf('\'%04d-%02d-%02d %02d:%02d:%02d\'', $datetime_matches[1], $datetime_matches[2], $datetime_matches[3], $datetime_matches[4], $datetime_matches[5] ,$datetime_matches[6]). |
|
259 | + return 'str_to_date(' . |
|
260 | + sprintf('\'%04d-%02d-%02d %02d:%02d:%02d\'', $datetime_matches[1], $datetime_matches[2], $datetime_matches[3], $datetime_matches[4], $datetime_matches[5], $datetime_matches[6]) . |
|
261 | 261 | ',\'%Y-%m-%d %h:%i:%s\')'; |
262 | 262 | else |
263 | 263 | smf_db_error_backtrace('Wrong value type sent to the database. Datetime expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
@@ -841,7 +841,7 @@ discard block |
||
841 | 841 | { |
842 | 842 | $count = count($insertRows); |
843 | 843 | $ai = 0; |
844 | - for($i = 0; $i < $count; $i++) |
|
844 | + for ($i = 0; $i < $count; $i++) |
|
845 | 845 | { |
846 | 846 | $old_id = $smcFunc['db_insert_id'](); |
847 | 847 | |
@@ -867,13 +867,13 @@ discard block |
||
867 | 867 | $count2 = count($indexed_columns); |
868 | 868 | for ($x = 0; $x < $count2; $x++) |
869 | 869 | { |
870 | - $where_string += key($indexed_columns[$x]) . ' = '. $insertRows[$i][$x]; |
|
870 | + $where_string += key($indexed_columns[$x]) . ' = ' . $insertRows[$i][$x]; |
|
871 | 871 | if (($x + 1) < $count2) |
872 | 872 | $where_string += ' AND '; |
873 | 873 | } |
874 | 874 | |
875 | - $request = $smcFunc['db_query']('',' |
|
876 | - SELECT `'. $keys[0] . '` FROM ' . $table .' |
|
875 | + $request = $smcFunc['db_query']('', ' |
|
876 | + SELECT `'. $keys[0] . '` FROM ' . $table . ' |
|
877 | 877 | WHERE ' . $where_string . ' LIMIT 1', |
878 | 878 | array() |
879 | 879 | ); |
@@ -902,7 +902,7 @@ discard block |
||
902 | 902 | $return_var = array(); |
903 | 903 | $count = count($insertRows); |
904 | 904 | $start = smf_db_insert_id($table, $keys[0]); |
905 | - for ($i = 0; $i < $count; $i++ ) |
|
905 | + for ($i = 0; $i < $count; $i++) |
|
906 | 906 | $return_var[] = $start + $i; |
907 | 907 | } |
908 | 908 | return $return_var; |
@@ -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 | * Maps the implementations in this file (smf_db_function_name) |
@@ -33,8 +34,8 @@ discard block |
||
33 | 34 | global $smcFunc; |
34 | 35 | |
35 | 36 | // Map some database specific functions, only do this once. |
36 | - if (!isset($smcFunc['db_fetch_assoc'])) |
|
37 | - $smcFunc += array( |
|
37 | + if (!isset($smcFunc['db_fetch_assoc'])) { |
|
38 | + $smcFunc += array( |
|
38 | 39 | 'db_query' => 'smf_db_query', |
39 | 40 | 'db_quote' => 'smf_db_quote', |
40 | 41 | 'db_fetch_assoc' => 'mysqli_fetch_assoc', |
@@ -61,9 +62,11 @@ discard block |
||
61 | 62 | 'db_ping' => 'mysqli_ping', |
62 | 63 | 'db_fetch_all' => 'smf_db_fetch_all', |
63 | 64 | ); |
65 | + } |
|
64 | 66 | |
65 | - if (!empty($db_options['persist'])) |
|
66 | - $db_server = 'p:' . $db_server; |
|
67 | + if (!empty($db_options['persist'])) { |
|
68 | + $db_server = 'p:' . $db_server; |
|
69 | + } |
|
67 | 70 | |
68 | 71 | $connection = mysqli_init(); |
69 | 72 | |
@@ -72,24 +75,27 @@ discard block |
||
72 | 75 | $success = false; |
73 | 76 | |
74 | 77 | if ($connection) { |
75 | - if (!empty($db_options['port'])) |
|
76 | - $success = mysqli_real_connect($connection, $db_server, $db_user, $db_passwd, '', $db_options['port'], null, $flags); |
|
77 | - else |
|
78 | - $success = mysqli_real_connect($connection, $db_server, $db_user, $db_passwd, '', 0, null, $flags); |
|
78 | + if (!empty($db_options['port'])) { |
|
79 | + $success = mysqli_real_connect($connection, $db_server, $db_user, $db_passwd, '', $db_options['port'], null, $flags); |
|
80 | + } else { |
|
81 | + $success = mysqli_real_connect($connection, $db_server, $db_user, $db_passwd, '', 0, null, $flags); |
|
82 | + } |
|
79 | 83 | } |
80 | 84 | |
81 | 85 | // Something's wrong, show an error if its fatal (which we assume it is) |
82 | 86 | if ($success === false) |
83 | 87 | { |
84 | - if (!empty($db_options['non_fatal'])) |
|
85 | - return null; |
|
86 | - else |
|
87 | - display_db_error(); |
|
88 | + if (!empty($db_options['non_fatal'])) { |
|
89 | + return null; |
|
90 | + } else { |
|
91 | + display_db_error(); |
|
92 | + } |
|
88 | 93 | } |
89 | 94 | |
90 | 95 | // Select the database, unless told not to |
91 | - if (empty($db_options['dont_select_db']) && !@mysqli_select_db($connection, $db_name) && empty($db_options['non_fatal'])) |
|
92 | - display_db_error(); |
|
96 | + if (empty($db_options['dont_select_db']) && !@mysqli_select_db($connection, $db_name) && empty($db_options['non_fatal'])) { |
|
97 | + display_db_error(); |
|
98 | + } |
|
93 | 99 | |
94 | 100 | $smcFunc['db_query']('', 'SET SESSION sql_mode = \'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION\'', |
95 | 101 | array(), |
@@ -165,34 +171,42 @@ discard block |
||
165 | 171 | global $db_callback, $user_info, $db_prefix, $smcFunc; |
166 | 172 | |
167 | 173 | list ($values, $connection) = $db_callback; |
168 | - if (!is_object($connection)) |
|
169 | - display_db_error(); |
|
174 | + if (!is_object($connection)) { |
|
175 | + display_db_error(); |
|
176 | + } |
|
170 | 177 | |
171 | - if ($matches[1] === 'db_prefix') |
|
172 | - return $db_prefix; |
|
178 | + if ($matches[1] === 'db_prefix') { |
|
179 | + return $db_prefix; |
|
180 | + } |
|
173 | 181 | |
174 | - if (isset($user_info[$matches[1]]) && strpos($matches[1], 'query_') !== false) |
|
175 | - return $user_info[$matches[1]]; |
|
182 | + if (isset($user_info[$matches[1]]) && strpos($matches[1], 'query_') !== false) { |
|
183 | + return $user_info[$matches[1]]; |
|
184 | + } |
|
176 | 185 | |
177 | - if ($matches[1] === 'empty') |
|
178 | - return '\'\''; |
|
186 | + if ($matches[1] === 'empty') { |
|
187 | + return '\'\''; |
|
188 | + } |
|
179 | 189 | |
180 | - if (!isset($matches[2])) |
|
181 | - smf_db_error_backtrace('Invalid value inserted or no type specified.', '', E_USER_ERROR, __FILE__, __LINE__); |
|
190 | + if (!isset($matches[2])) { |
|
191 | + smf_db_error_backtrace('Invalid value inserted or no type specified.', '', E_USER_ERROR, __FILE__, __LINE__); |
|
192 | + } |
|
182 | 193 | |
183 | - if ($matches[1] === 'literal') |
|
184 | - return '\'' . mysqli_real_escape_string($connection, $matches[2]) . '\''; |
|
194 | + if ($matches[1] === 'literal') { |
|
195 | + return '\'' . mysqli_real_escape_string($connection, $matches[2]) . '\''; |
|
196 | + } |
|
185 | 197 | |
186 | - if (!isset($values[$matches[2]])) |
|
187 | - smf_db_error_backtrace('The database value you\'re trying to insert does not exist: ' . (isset($smcFunc['htmlspecialchars']) ? $smcFunc['htmlspecialchars']($matches[2]) : htmlspecialchars($matches[2])), '', E_USER_ERROR, __FILE__, __LINE__); |
|
198 | + if (!isset($values[$matches[2]])) { |
|
199 | + smf_db_error_backtrace('The database value you\'re trying to insert does not exist: ' . (isset($smcFunc['htmlspecialchars']) ? $smcFunc['htmlspecialchars']($matches[2]) : htmlspecialchars($matches[2])), '', E_USER_ERROR, __FILE__, __LINE__); |
|
200 | + } |
|
188 | 201 | |
189 | 202 | $replacement = $values[$matches[2]]; |
190 | 203 | |
191 | 204 | switch ($matches[1]) |
192 | 205 | { |
193 | 206 | case 'int': |
194 | - if (!is_numeric($replacement) || (string) $replacement !== (string) (int) $replacement) |
|
195 | - smf_db_error_backtrace('Wrong value type sent to the database. Integer expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
207 | + if (!is_numeric($replacement) || (string) $replacement !== (string) (int) $replacement) { |
|
208 | + smf_db_error_backtrace('Wrong value type sent to the database. Integer expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
209 | + } |
|
196 | 210 | return (string) (int) $replacement; |
197 | 211 | break; |
198 | 212 | |
@@ -204,65 +218,73 @@ discard block |
||
204 | 218 | case 'array_int': |
205 | 219 | if (is_array($replacement)) |
206 | 220 | { |
207 | - if (empty($replacement)) |
|
208 | - smf_db_error_backtrace('Database error, given array of integer values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
221 | + if (empty($replacement)) { |
|
222 | + smf_db_error_backtrace('Database error, given array of integer values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
223 | + } |
|
209 | 224 | |
210 | 225 | foreach ($replacement as $key => $value) |
211 | 226 | { |
212 | - if (!is_numeric($value) || (string) $value !== (string) (int) $value) |
|
213 | - smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
227 | + if (!is_numeric($value) || (string) $value !== (string) (int) $value) { |
|
228 | + smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
229 | + } |
|
214 | 230 | |
215 | 231 | $replacement[$key] = (string) (int) $value; |
216 | 232 | } |
217 | 233 | |
218 | 234 | return implode(', ', $replacement); |
235 | + } else { |
|
236 | + smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
219 | 237 | } |
220 | - else |
|
221 | - smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
222 | 238 | |
223 | 239 | break; |
224 | 240 | |
225 | 241 | case 'array_string': |
226 | 242 | if (is_array($replacement)) |
227 | 243 | { |
228 | - if (empty($replacement)) |
|
229 | - smf_db_error_backtrace('Database error, given array of string values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
244 | + if (empty($replacement)) { |
|
245 | + smf_db_error_backtrace('Database error, given array of string values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
246 | + } |
|
230 | 247 | |
231 | - foreach ($replacement as $key => $value) |
|
232 | - $replacement[$key] = sprintf('\'%1$s\'', mysqli_real_escape_string($connection, $value)); |
|
248 | + foreach ($replacement as $key => $value) { |
|
249 | + $replacement[$key] = sprintf('\'%1$s\'', mysqli_real_escape_string($connection, $value)); |
|
250 | + } |
|
233 | 251 | |
234 | 252 | return implode(', ', $replacement); |
253 | + } else { |
|
254 | + smf_db_error_backtrace('Wrong value type sent to the database. Array of strings expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
235 | 255 | } |
236 | - else |
|
237 | - smf_db_error_backtrace('Wrong value type sent to the database. Array of strings expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
238 | 256 | break; |
239 | 257 | |
240 | 258 | case 'date': |
241 | - if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d)$~', $replacement, $date_matches) === 1) |
|
242 | - return sprintf('\'%04d-%02d-%02d\'', $date_matches[1], $date_matches[2], $date_matches[3]); |
|
243 | - else |
|
244 | - smf_db_error_backtrace('Wrong value type sent to the database. Date expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
259 | + if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d)$~', $replacement, $date_matches) === 1) { |
|
260 | + return sprintf('\'%04d-%02d-%02d\'', $date_matches[1], $date_matches[2], $date_matches[3]); |
|
261 | + } else { |
|
262 | + smf_db_error_backtrace('Wrong value type sent to the database. Date expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
263 | + } |
|
245 | 264 | break; |
246 | 265 | |
247 | 266 | case 'time': |
248 | - if (preg_match('~^([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $time_matches) === 1) |
|
249 | - return sprintf('\'%02d:%02d:%02d\'', $time_matches[1], $time_matches[2], $time_matches[3]); |
|
250 | - else |
|
251 | - smf_db_error_backtrace('Wrong value type sent to the database. Time expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
267 | + if (preg_match('~^([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $time_matches) === 1) { |
|
268 | + return sprintf('\'%02d:%02d:%02d\'', $time_matches[1], $time_matches[2], $time_matches[3]); |
|
269 | + } else { |
|
270 | + smf_db_error_backtrace('Wrong value type sent to the database. Time expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
271 | + } |
|
252 | 272 | break; |
253 | 273 | |
254 | 274 | case 'datetime': |
255 | - if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d) ([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $datetime_matches) === 1) |
|
256 | - return 'str_to_date('. |
|
275 | + if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d) ([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $datetime_matches) === 1) { |
|
276 | + return 'str_to_date('. |
|
257 | 277 | sprintf('\'%04d-%02d-%02d %02d:%02d:%02d\'', $datetime_matches[1], $datetime_matches[2], $datetime_matches[3], $datetime_matches[4], $datetime_matches[5] ,$datetime_matches[6]). |
258 | 278 | ',\'%Y-%m-%d %h:%i:%s\')'; |
259 | - else |
|
260 | - smf_db_error_backtrace('Wrong value type sent to the database. Datetime expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
279 | + } else { |
|
280 | + smf_db_error_backtrace('Wrong value type sent to the database. Datetime expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
281 | + } |
|
261 | 282 | break; |
262 | 283 | |
263 | 284 | case 'float': |
264 | - if (!is_numeric($replacement)) |
|
265 | - smf_db_error_backtrace('Wrong value type sent to the database. Floating point number expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
285 | + if (!is_numeric($replacement)) { |
|
286 | + smf_db_error_backtrace('Wrong value type sent to the database. Floating point number expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
287 | + } |
|
266 | 288 | return (string) (float) $replacement; |
267 | 289 | break; |
268 | 290 | |
@@ -276,32 +298,37 @@ discard block |
||
276 | 298 | break; |
277 | 299 | |
278 | 300 | case 'inet': |
279 | - if ($replacement == 'null' || $replacement == '') |
|
280 | - return 'null'; |
|
281 | - if (!isValidIP($replacement)) |
|
282 | - smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
301 | + if ($replacement == 'null' || $replacement == '') { |
|
302 | + return 'null'; |
|
303 | + } |
|
304 | + if (!isValidIP($replacement)) { |
|
305 | + smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
306 | + } |
|
283 | 307 | //we don't use the native support of mysql > 5.6.2 |
284 | 308 | return sprintf('unhex(\'%1$s\')', bin2hex(inet_pton($replacement))); |
285 | 309 | |
286 | 310 | case 'array_inet': |
287 | 311 | if (is_array($replacement)) |
288 | 312 | { |
289 | - if (empty($replacement)) |
|
290 | - smf_db_error_backtrace('Database error, given array of IPv4 or IPv6 values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
313 | + if (empty($replacement)) { |
|
314 | + smf_db_error_backtrace('Database error, given array of IPv4 or IPv6 values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
315 | + } |
|
291 | 316 | |
292 | 317 | foreach ($replacement as $key => $value) |
293 | 318 | { |
294 | - if ($replacement == 'null' || $replacement == '') |
|
295 | - $replacement[$key] = 'null'; |
|
296 | - if (!isValidIP($value)) |
|
297 | - smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
319 | + if ($replacement == 'null' || $replacement == '') { |
|
320 | + $replacement[$key] = 'null'; |
|
321 | + } |
|
322 | + if (!isValidIP($value)) { |
|
323 | + smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
324 | + } |
|
298 | 325 | $replacement[$key] = sprintf('unhex(\'%1$s\')', bin2hex(inet_pton($value))); |
299 | 326 | } |
300 | 327 | |
301 | 328 | return implode(', ', $replacement); |
329 | + } else { |
|
330 | + smf_db_error_backtrace('Wrong value type sent to the database. Array of IPv4 or IPv6 expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
302 | 331 | } |
303 | - else |
|
304 | - smf_db_error_backtrace('Wrong value type sent to the database. Array of IPv4 or IPv6 expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
305 | 332 | break; |
306 | 333 | |
307 | 334 | default: |
@@ -377,22 +404,25 @@ discard block |
||
377 | 404 | // Are we in SSI mode? If so try that username and password first |
378 | 405 | if (SMF == 'SSI' && !empty($ssi_db_user) && !empty($ssi_db_passwd)) |
379 | 406 | { |
380 | - if (empty($db_persist)) |
|
381 | - $db_connection = @mysqli_connect($db_server, $ssi_db_user, $ssi_db_passwd); |
|
382 | - else |
|
383 | - $db_connection = @mysqli_connect('p:' . $db_server, $ssi_db_user, $ssi_db_passwd); |
|
407 | + if (empty($db_persist)) { |
|
408 | + $db_connection = @mysqli_connect($db_server, $ssi_db_user, $ssi_db_passwd); |
|
409 | + } else { |
|
410 | + $db_connection = @mysqli_connect('p:' . $db_server, $ssi_db_user, $ssi_db_passwd); |
|
411 | + } |
|
384 | 412 | } |
385 | 413 | // Fall back to the regular username and password if need be |
386 | 414 | if (!$db_connection) |
387 | 415 | { |
388 | - if (empty($db_persist)) |
|
389 | - $db_connection = @mysqli_connect($db_server, $db_user, $db_passwd); |
|
390 | - else |
|
391 | - $db_connection = @mysqli_connect('p:' . $db_server, $db_user, $db_passwd); |
|
416 | + if (empty($db_persist)) { |
|
417 | + $db_connection = @mysqli_connect($db_server, $db_user, $db_passwd); |
|
418 | + } else { |
|
419 | + $db_connection = @mysqli_connect('p:' . $db_server, $db_user, $db_passwd); |
|
420 | + } |
|
392 | 421 | } |
393 | 422 | |
394 | - if (!$db_connection || !@mysqli_select_db($db_connection, $db_name)) |
|
395 | - $db_connection = false; |
|
423 | + if (!$db_connection || !@mysqli_select_db($db_connection, $db_name)) { |
|
424 | + $db_connection = false; |
|
425 | + } |
|
396 | 426 | |
397 | 427 | $connection = $db_connection; |
398 | 428 | } |
@@ -400,18 +430,20 @@ discard block |
||
400 | 430 | // One more query.... |
401 | 431 | $db_count = !isset($db_count) ? 1 : $db_count + 1; |
402 | 432 | |
403 | - if (empty($modSettings['disableQueryCheck']) && strpos($db_string, '\'') !== false && empty($db_values['security_override'])) |
|
404 | - smf_db_error_backtrace('Hacking attempt...', 'Illegal character (\') used in query...', true, __FILE__, __LINE__); |
|
433 | + if (empty($modSettings['disableQueryCheck']) && strpos($db_string, '\'') !== false && empty($db_values['security_override'])) { |
|
434 | + smf_db_error_backtrace('Hacking attempt...', 'Illegal character (\') used in query...', true, __FILE__, __LINE__); |
|
435 | + } |
|
405 | 436 | |
406 | 437 | // Use "ORDER BY null" to prevent Mysql doing filesorts for Group By clauses without an Order By |
407 | 438 | if (strpos($db_string, 'GROUP BY') !== false && strpos($db_string, 'ORDER BY') === false && preg_match('~^\s+SELECT~i', $db_string)) |
408 | 439 | { |
409 | 440 | // Add before LIMIT |
410 | - if ($pos = strpos($db_string, 'LIMIT ')) |
|
411 | - $db_string = substr($db_string, 0, $pos) . "\t\t\tORDER BY null\n" . substr($db_string, $pos, strlen($db_string)); |
|
412 | - else |
|
413 | - // Append it. |
|
441 | + if ($pos = strpos($db_string, 'LIMIT ')) { |
|
442 | + $db_string = substr($db_string, 0, $pos) . "\t\t\tORDER BY null\n" . substr($db_string, $pos, strlen($db_string)); |
|
443 | + } else { |
|
444 | + // Append it. |
|
414 | 445 | $db_string .= "\n\t\t\tORDER BY null"; |
446 | + } |
|
415 | 447 | } |
416 | 448 | |
417 | 449 | if (empty($db_values['security_override']) && (!empty($db_values) || strpos($db_string, '{db_prefix}') !== false)) |
@@ -433,8 +465,9 @@ discard block |
||
433 | 465 | list ($file, $line) = smf_db_error_backtrace('', '', 'return', __FILE__, __LINE__); |
434 | 466 | |
435 | 467 | // Initialize $db_cache if not already initialized. |
436 | - if (!isset($db_cache)) |
|
437 | - $db_cache = array(); |
|
468 | + if (!isset($db_cache)) { |
|
469 | + $db_cache = array(); |
|
470 | + } |
|
438 | 471 | |
439 | 472 | if (!empty($_SESSION['debug_redirect'])) |
440 | 473 | { |
@@ -460,17 +493,18 @@ discard block |
||
460 | 493 | while (true) |
461 | 494 | { |
462 | 495 | $pos = strpos($db_string, '\'', $pos + 1); |
463 | - if ($pos === false) |
|
464 | - break; |
|
496 | + if ($pos === false) { |
|
497 | + break; |
|
498 | + } |
|
465 | 499 | $clean .= substr($db_string, $old_pos, $pos - $old_pos); |
466 | 500 | |
467 | 501 | while (true) |
468 | 502 | { |
469 | 503 | $pos1 = strpos($db_string, '\'', $pos + 1); |
470 | 504 | $pos2 = strpos($db_string, '\\', $pos + 1); |
471 | - if ($pos1 === false) |
|
472 | - break; |
|
473 | - elseif ($pos2 === false || $pos2 > $pos1) |
|
505 | + if ($pos1 === false) { |
|
506 | + break; |
|
507 | + } elseif ($pos2 === false || $pos2 > $pos1) |
|
474 | 508 | { |
475 | 509 | $pos = $pos1; |
476 | 510 | break; |
@@ -486,29 +520,35 @@ discard block |
||
486 | 520 | $clean = trim(strtolower(preg_replace($allowed_comments_from, $allowed_comments_to, $clean))); |
487 | 521 | |
488 | 522 | // Comments? We don't use comments in our queries, we leave 'em outside! |
489 | - if (strpos($clean, '/*') > 2 || strpos($clean, '--') !== false || strpos($clean, ';') !== false) |
|
490 | - $fail = true; |
|
523 | + if (strpos($clean, '/*') > 2 || strpos($clean, '--') !== false || strpos($clean, ';') !== false) { |
|
524 | + $fail = true; |
|
525 | + } |
|
491 | 526 | // Trying to change passwords, slow us down, or something? |
492 | - elseif (strpos($clean, 'sleep') !== false && preg_match('~(^|[^a-z])sleep($|[^[_a-z])~s', $clean) != 0) |
|
493 | - $fail = true; |
|
494 | - elseif (strpos($clean, 'benchmark') !== false && preg_match('~(^|[^a-z])benchmark($|[^[a-z])~s', $clean) != 0) |
|
495 | - $fail = true; |
|
527 | + elseif (strpos($clean, 'sleep') !== false && preg_match('~(^|[^a-z])sleep($|[^[_a-z])~s', $clean) != 0) { |
|
528 | + $fail = true; |
|
529 | + } elseif (strpos($clean, 'benchmark') !== false && preg_match('~(^|[^a-z])benchmark($|[^[a-z])~s', $clean) != 0) { |
|
530 | + $fail = true; |
|
531 | + } |
|
496 | 532 | |
497 | - if (!empty($fail) && function_exists('log_error')) |
|
498 | - smf_db_error_backtrace('Hacking attempt...', 'Hacking attempt...' . "\n" . $db_string, E_USER_ERROR, __FILE__, __LINE__); |
|
533 | + if (!empty($fail) && function_exists('log_error')) { |
|
534 | + smf_db_error_backtrace('Hacking attempt...', 'Hacking attempt...' . "\n" . $db_string, E_USER_ERROR, __FILE__, __LINE__); |
|
535 | + } |
|
499 | 536 | } |
500 | 537 | |
501 | - if (empty($db_unbuffered)) |
|
502 | - $ret = @mysqli_query($connection, $db_string); |
|
503 | - else |
|
504 | - $ret = @mysqli_query($connection, $db_string, MYSQLI_USE_RESULT); |
|
538 | + if (empty($db_unbuffered)) { |
|
539 | + $ret = @mysqli_query($connection, $db_string); |
|
540 | + } else { |
|
541 | + $ret = @mysqli_query($connection, $db_string, MYSQLI_USE_RESULT); |
|
542 | + } |
|
505 | 543 | |
506 | - if ($ret === false && empty($db_values['db_error_skip'])) |
|
507 | - $ret = smf_db_error($db_string, $connection); |
|
544 | + if ($ret === false && empty($db_values['db_error_skip'])) { |
|
545 | + $ret = smf_db_error($db_string, $connection); |
|
546 | + } |
|
508 | 547 | |
509 | 548 | // Debugging. |
510 | - if (isset($db_show_debug) && $db_show_debug === true) |
|
511 | - $db_cache[$db_count]['t'] = array_sum(explode(' ', microtime())) - array_sum(explode(' ', $st)); |
|
549 | + if (isset($db_show_debug) && $db_show_debug === true) { |
|
550 | + $db_cache[$db_count]['t'] = array_sum(explode(' ', microtime())) - array_sum(explode(' ', $st)); |
|
551 | + } |
|
512 | 552 | |
513 | 553 | return $ret; |
514 | 554 | } |
@@ -555,12 +595,13 @@ discard block |
||
555 | 595 | // Decide which connection to use |
556 | 596 | $connection = $connection === null ? $db_connection : $connection; |
557 | 597 | |
558 | - if ($type == 'begin') |
|
559 | - return @mysqli_query($connection, 'BEGIN'); |
|
560 | - elseif ($type == 'rollback') |
|
561 | - return @mysqli_query($connection, 'ROLLBACK'); |
|
562 | - elseif ($type == 'commit') |
|
563 | - return @mysqli_query($connection, 'COMMIT'); |
|
598 | + if ($type == 'begin') { |
|
599 | + return @mysqli_query($connection, 'BEGIN'); |
|
600 | + } elseif ($type == 'rollback') { |
|
601 | + return @mysqli_query($connection, 'ROLLBACK'); |
|
602 | + } elseif ($type == 'commit') { |
|
603 | + return @mysqli_query($connection, 'COMMIT'); |
|
604 | + } |
|
564 | 605 | |
565 | 606 | return false; |
566 | 607 | } |
@@ -600,8 +641,9 @@ discard block |
||
600 | 641 | // 2013: Lost connection to server during query. |
601 | 642 | |
602 | 643 | // Log the error. |
603 | - if ($query_errno != 1213 && $query_errno != 1205 && function_exists('log_error')) |
|
604 | - log_error($txt['database_error'] . ': ' . $query_error . (!empty($modSettings['enableErrorQueryLogging']) ? "\n\n$db_string" : ''), 'database', $file, $line); |
|
644 | + if ($query_errno != 1213 && $query_errno != 1205 && function_exists('log_error')) { |
|
645 | + log_error($txt['database_error'] . ': ' . $query_error . (!empty($modSettings['enableErrorQueryLogging']) ? "\n\n$db_string" : ''), 'database', $file, $line); |
|
646 | + } |
|
605 | 647 | |
606 | 648 | // Database error auto fixing ;). |
607 | 649 | if (function_exists('cache_get_data') && (!isset($modSettings['autoFixDatabase']) || $modSettings['autoFixDatabase'] == '1')) |
@@ -610,8 +652,9 @@ discard block |
||
610 | 652 | $old_cache = @$modSettings['cache_enable']; |
611 | 653 | $modSettings['cache_enable'] = '1'; |
612 | 654 | |
613 | - if (($temp = cache_get_data('db_last_error', 600)) !== null) |
|
614 | - $db_last_error = max(@$db_last_error, $temp); |
|
655 | + if (($temp = cache_get_data('db_last_error', 600)) !== null) { |
|
656 | + $db_last_error = max(@$db_last_error, $temp); |
|
657 | + } |
|
615 | 658 | |
616 | 659 | if (@$db_last_error < time() - 3600 * 24 * 3) |
617 | 660 | { |
@@ -627,8 +670,9 @@ discard block |
||
627 | 670 | foreach ($tables as $table) |
628 | 671 | { |
629 | 672 | // Now, it's still theoretically possible this could be an injection. So backtick it! |
630 | - if (trim($table) != '') |
|
631 | - $fix_tables[] = '`' . strtr(trim($table), array('`' => '')) . '`'; |
|
673 | + if (trim($table) != '') { |
|
674 | + $fix_tables[] = '`' . strtr(trim($table), array('`' => '')) . '`'; |
|
675 | + } |
|
632 | 676 | } |
633 | 677 | } |
634 | 678 | |
@@ -637,8 +681,9 @@ discard block |
||
637 | 681 | // Table crashed. Let's try to fix it. |
638 | 682 | elseif ($query_errno == 1016) |
639 | 683 | { |
640 | - if (preg_match('~\'([^\.\']+)~', $query_error, $match) != 0) |
|
641 | - $fix_tables = array('`' . $match[1] . '`'); |
|
684 | + if (preg_match('~\'([^\.\']+)~', $query_error, $match) != 0) { |
|
685 | + $fix_tables = array('`' . $match[1] . '`'); |
|
686 | + } |
|
642 | 687 | } |
643 | 688 | // Indexes crashed. Should be easy to fix! |
644 | 689 | elseif ($query_errno == 1034 || $query_errno == 1035) |
@@ -657,13 +702,15 @@ discard block |
||
657 | 702 | |
658 | 703 | // Make a note of the REPAIR... |
659 | 704 | cache_put_data('db_last_error', time(), 600); |
660 | - if (($temp = cache_get_data('db_last_error', 600)) === null) |
|
661 | - updateSettingsFile(array('db_last_error' => time())); |
|
705 | + if (($temp = cache_get_data('db_last_error', 600)) === null) { |
|
706 | + updateSettingsFile(array('db_last_error' => time())); |
|
707 | + } |
|
662 | 708 | |
663 | 709 | // Attempt to find and repair the broken table. |
664 | - foreach ($fix_tables as $table) |
|
665 | - $smcFunc['db_query']('', " |
|
710 | + foreach ($fix_tables as $table) { |
|
711 | + $smcFunc['db_query']('', " |
|
666 | 712 | REPAIR TABLE $table", false, false); |
713 | + } |
|
667 | 714 | |
668 | 715 | // And send off an email! |
669 | 716 | sendmail($webmaster_email, $txt['database_error'], $txt['tried_to_repair'], null, 'dberror'); |
@@ -672,11 +719,12 @@ discard block |
||
672 | 719 | |
673 | 720 | // Try the query again...? |
674 | 721 | $ret = $smcFunc['db_query']('', $db_string, false, false); |
675 | - if ($ret !== false) |
|
676 | - return $ret; |
|
722 | + if ($ret !== false) { |
|
723 | + return $ret; |
|
724 | + } |
|
725 | + } else { |
|
726 | + $modSettings['cache_enable'] = $old_cache; |
|
677 | 727 | } |
678 | - else |
|
679 | - $modSettings['cache_enable'] = $old_cache; |
|
680 | 728 | |
681 | 729 | // Check for the "lost connection" or "deadlock found" errors - and try it just one more time. |
682 | 730 | if (in_array($query_errno, array(1205, 1213, 2006, 2013))) |
@@ -686,22 +734,25 @@ discard block |
||
686 | 734 | // Are we in SSI mode? If so try that username and password first |
687 | 735 | if (SMF == 'SSI' && !empty($ssi_db_user) && !empty($ssi_db_passwd)) |
688 | 736 | { |
689 | - if (empty($db_persist)) |
|
690 | - $db_connection = @mysqli_connect($db_server, $ssi_db_user, $ssi_db_passwd); |
|
691 | - else |
|
692 | - $db_connection = @mysqli_connect('p:' . $db_server, $ssi_db_user, $ssi_db_passwd); |
|
737 | + if (empty($db_persist)) { |
|
738 | + $db_connection = @mysqli_connect($db_server, $ssi_db_user, $ssi_db_passwd); |
|
739 | + } else { |
|
740 | + $db_connection = @mysqli_connect('p:' . $db_server, $ssi_db_user, $ssi_db_passwd); |
|
741 | + } |
|
693 | 742 | } |
694 | 743 | // Fall back to the regular username and password if need be |
695 | 744 | if (!$db_connection) |
696 | 745 | { |
697 | - if (empty($db_persist)) |
|
698 | - $db_connection = @mysqli_connect($db_server, $db_user, $db_passwd); |
|
699 | - else |
|
700 | - $db_connection = @mysqli_connect('p:' . $db_server, $db_user, $db_passwd); |
|
746 | + if (empty($db_persist)) { |
|
747 | + $db_connection = @mysqli_connect($db_server, $db_user, $db_passwd); |
|
748 | + } else { |
|
749 | + $db_connection = @mysqli_connect('p:' . $db_server, $db_user, $db_passwd); |
|
750 | + } |
|
701 | 751 | } |
702 | 752 | |
703 | - if (!$db_connection || !@mysqli_select_db($db_connection, $db_name)) |
|
704 | - $db_connection = false; |
|
753 | + if (!$db_connection || !@mysqli_select_db($db_connection, $db_name)) { |
|
754 | + $db_connection = false; |
|
755 | + } |
|
705 | 756 | } |
706 | 757 | |
707 | 758 | if ($db_connection) |
@@ -712,24 +763,27 @@ discard block |
||
712 | 763 | $ret = $smcFunc['db_query']('', $db_string, false, false); |
713 | 764 | |
714 | 765 | $new_errno = mysqli_errno($db_connection); |
715 | - if ($ret !== false || in_array($new_errno, array(1205, 1213))) |
|
716 | - break; |
|
766 | + if ($ret !== false || in_array($new_errno, array(1205, 1213))) { |
|
767 | + break; |
|
768 | + } |
|
717 | 769 | } |
718 | 770 | |
719 | 771 | // If it failed again, shucks to be you... we're not trying it over and over. |
720 | - if ($ret !== false) |
|
721 | - return $ret; |
|
772 | + if ($ret !== false) { |
|
773 | + return $ret; |
|
774 | + } |
|
722 | 775 | } |
723 | 776 | } |
724 | 777 | // Are they out of space, perhaps? |
725 | 778 | elseif ($query_errno == 1030 && (strpos($query_error, ' -1 ') !== false || strpos($query_error, ' 28 ') !== false || strpos($query_error, ' 12 ') !== false)) |
726 | 779 | { |
727 | - if (!isset($txt)) |
|
728 | - $query_error .= ' - check database storage space.'; |
|
729 | - else |
|
780 | + if (!isset($txt)) { |
|
781 | + $query_error .= ' - check database storage space.'; |
|
782 | + } else |
|
730 | 783 | { |
731 | - if (!isset($txt['mysql_error_space'])) |
|
732 | - loadLanguage('Errors'); |
|
784 | + if (!isset($txt['mysql_error_space'])) { |
|
785 | + loadLanguage('Errors'); |
|
786 | + } |
|
733 | 787 | |
734 | 788 | $query_error .= !isset($txt['mysql_error_space']) ? ' - check database storage space.' : $txt['mysql_error_space']; |
735 | 789 | } |
@@ -737,15 +791,17 @@ discard block |
||
737 | 791 | } |
738 | 792 | |
739 | 793 | // Nothing's defined yet... just die with it. |
740 | - if (empty($context) || empty($txt)) |
|
741 | - die($query_error); |
|
794 | + if (empty($context) || empty($txt)) { |
|
795 | + die($query_error); |
|
796 | + } |
|
742 | 797 | |
743 | 798 | // Show an error message, if possible. |
744 | 799 | $context['error_title'] = $txt['database_error']; |
745 | - if (allowedTo('admin_forum')) |
|
746 | - $context['error_message'] = nl2br($query_error) . '<br>' . $txt['file'] . ': ' . $file . '<br>' . $txt['line'] . ': ' . $line; |
|
747 | - else |
|
748 | - $context['error_message'] = $txt['try_again']; |
|
800 | + if (allowedTo('admin_forum')) { |
|
801 | + $context['error_message'] = nl2br($query_error) . '<br>' . $txt['file'] . ': ' . $file . '<br>' . $txt['line'] . ': ' . $line; |
|
802 | + } else { |
|
803 | + $context['error_message'] = $txt['try_again']; |
|
804 | + } |
|
749 | 805 | |
750 | 806 | if (allowedTo('admin_forum') && isset($db_show_debug) && $db_show_debug === true) |
751 | 807 | { |
@@ -777,8 +833,9 @@ discard block |
||
777 | 833 | $return_var = null; |
778 | 834 | |
779 | 835 | // With nothing to insert, simply return. |
780 | - if (empty($data)) |
|
781 | - return; |
|
836 | + if (empty($data)) { |
|
837 | + return; |
|
838 | + } |
|
782 | 839 | |
783 | 840 | // Replace the prefix holder with the actual prefix. |
784 | 841 | $table = str_replace('{db_prefix}', $db_prefix, $table); |
@@ -788,23 +845,26 @@ discard block |
||
788 | 845 | if (!empty($keys) && (count($keys) > 0) && $returnmode > 0) |
789 | 846 | { |
790 | 847 | $with_returning = true; |
791 | - if ($returnmode == 2) |
|
792 | - $return_var = array(); |
|
848 | + if ($returnmode == 2) { |
|
849 | + $return_var = array(); |
|
850 | + } |
|
793 | 851 | } |
794 | 852 | |
795 | 853 | // Inserting data as a single row can be done as a single array. |
796 | - if (!is_array($data[array_rand($data)])) |
|
797 | - $data = array($data); |
|
854 | + if (!is_array($data[array_rand($data)])) { |
|
855 | + $data = array($data); |
|
856 | + } |
|
798 | 857 | |
799 | 858 | // Create the mold for a single row insert. |
800 | 859 | $insertData = '('; |
801 | 860 | foreach ($columns as $columnName => $type) |
802 | 861 | { |
803 | 862 | // Are we restricting the length? |
804 | - if (strpos($type, 'string-') !== false) |
|
805 | - $insertData .= sprintf('SUBSTRING({string:%1$s}, 1, ' . substr($type, 7) . '), ', $columnName); |
|
806 | - else |
|
807 | - $insertData .= sprintf('{%1$s:%2$s}, ', $type, $columnName); |
|
863 | + if (strpos($type, 'string-') !== false) { |
|
864 | + $insertData .= sprintf('SUBSTRING({string:%1$s}, 1, ' . substr($type, 7) . '), ', $columnName); |
|
865 | + } else { |
|
866 | + $insertData .= sprintf('{%1$s:%2$s}, ', $type, $columnName); |
|
867 | + } |
|
808 | 868 | } |
809 | 869 | $insertData = substr($insertData, 0, -2) . ')'; |
810 | 870 | |
@@ -813,8 +873,9 @@ discard block |
||
813 | 873 | |
814 | 874 | // Here's where the variables are injected to the query. |
815 | 875 | $insertRows = array(); |
816 | - foreach ($data as $dataRow) |
|
817 | - $insertRows[] = smf_db_quote($insertData, array_combine($indexed_columns, $dataRow), $connection); |
|
876 | + foreach ($data as $dataRow) { |
|
877 | + $insertRows[] = smf_db_quote($insertData, array_combine($indexed_columns, $dataRow), $connection); |
|
878 | + } |
|
818 | 879 | |
819 | 880 | // Determine the method of insertion. |
820 | 881 | $queryTitle = $method == 'replace' ? 'REPLACE' : ($method == 'ignore' ? 'INSERT IGNORE' : 'INSERT'); |
@@ -833,8 +894,7 @@ discard block |
||
833 | 894 | ), |
834 | 895 | $connection |
835 | 896 | ); |
836 | - } |
|
837 | - else //special way for ignore method with returning |
|
897 | + } else //special way for ignore method with returning |
|
838 | 898 | { |
839 | 899 | $count = count($insertRows); |
840 | 900 | $ai = 0; |
@@ -854,19 +914,21 @@ discard block |
||
854 | 914 | ); |
855 | 915 | $new_id = $smcFunc['db_insert_id'](); |
856 | 916 | |
857 | - if ($last_id != $new_id) //the inserted value was new |
|
917 | + if ($last_id != $new_id) { |
|
918 | + //the inserted value was new |
|
858 | 919 | { |
859 | 920 | $ai = $new_id; |
860 | 921 | } |
861 | - else // the inserted value already exists we need to find the pk |
|
922 | + } else // the inserted value already exists we need to find the pk |
|
862 | 923 | { |
863 | 924 | $where_string = ''; |
864 | 925 | $count2 = count($indexed_columns); |
865 | 926 | for ($x = 0; $x < $count2; $x++) |
866 | 927 | { |
867 | 928 | $where_string += key($indexed_columns[$x]) . ' = '. $insertRows[$i][$x]; |
868 | - if (($x + 1) < $count2) |
|
869 | - $where_string += ' AND '; |
|
929 | + if (($x + 1) < $count2) { |
|
930 | + $where_string += ' AND '; |
|
931 | + } |
|
870 | 932 | } |
871 | 933 | |
872 | 934 | $request = $smcFunc['db_query']('',' |
@@ -882,25 +944,27 @@ discard block |
||
882 | 944 | } |
883 | 945 | } |
884 | 946 | |
885 | - if ($returnmode == 1) |
|
886 | - $return_var = $ai; |
|
887 | - else if ($returnmode == 2) |
|
888 | - $return_var[] = $ai; |
|
947 | + if ($returnmode == 1) { |
|
948 | + $return_var = $ai; |
|
949 | + } else if ($returnmode == 2) { |
|
950 | + $return_var[] = $ai; |
|
951 | + } |
|
889 | 952 | } |
890 | 953 | } |
891 | 954 | |
892 | 955 | |
893 | 956 | if ($with_returning) |
894 | 957 | { |
895 | - if ($returnmode == 1 && empty($return_var)) |
|
896 | - $return_var = smf_db_insert_id($table, $keys[0]) + count($insertRows) - 1; |
|
897 | - else if ($returnmode == 2 && empty($return_var)) |
|
958 | + if ($returnmode == 1 && empty($return_var)) { |
|
959 | + $return_var = smf_db_insert_id($table, $keys[0]) + count($insertRows) - 1; |
|
960 | + } else if ($returnmode == 2 && empty($return_var)) |
|
898 | 961 | { |
899 | 962 | $return_var = array(); |
900 | 963 | $count = count($insertRows); |
901 | 964 | $start = smf_db_insert_id($table, $keys[0]); |
902 | - for ($i = 0; $i < $count; $i++ ) |
|
903 | - $return_var[] = $start + $i; |
|
965 | + for ($i = 0; $i < $count; $i++ ) { |
|
966 | + $return_var[] = $start + $i; |
|
967 | + } |
|
904 | 968 | } |
905 | 969 | return $return_var; |
906 | 970 | } |
@@ -918,8 +982,9 @@ discard block |
||
918 | 982 | */ |
919 | 983 | function smf_db_error_backtrace($error_message, $log_message = '', $error_type = false, $file = null, $line = null) |
920 | 984 | { |
921 | - if (empty($log_message)) |
|
922 | - $log_message = $error_message; |
|
985 | + if (empty($log_message)) { |
|
986 | + $log_message = $error_message; |
|
987 | + } |
|
923 | 988 | |
924 | 989 | foreach (debug_backtrace() as $step) |
925 | 990 | { |
@@ -938,12 +1003,14 @@ discard block |
||
938 | 1003 | } |
939 | 1004 | |
940 | 1005 | // A special case - we want the file and line numbers for debugging. |
941 | - if ($error_type == 'return') |
|
942 | - return array($file, $line); |
|
1006 | + if ($error_type == 'return') { |
|
1007 | + return array($file, $line); |
|
1008 | + } |
|
943 | 1009 | |
944 | 1010 | // Is always a critical error. |
945 | - if (function_exists('log_error')) |
|
946 | - log_error($log_message, 'critical', $file, $line); |
|
1011 | + if (function_exists('log_error')) { |
|
1012 | + log_error($log_message, 'critical', $file, $line); |
|
1013 | + } |
|
947 | 1014 | |
948 | 1015 | if (function_exists('fatal_error')) |
949 | 1016 | { |
@@ -951,12 +1018,12 @@ discard block |
||
951 | 1018 | |
952 | 1019 | // Cannot continue... |
953 | 1020 | exit; |
1021 | + } elseif ($error_type) { |
|
1022 | + trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : ''), $error_type); |
|
1023 | + } else { |
|
1024 | + trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : '')); |
|
1025 | + } |
|
954 | 1026 | } |
955 | - elseif ($error_type) |
|
956 | - trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : ''), $error_type); |
|
957 | - else |
|
958 | - trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : '')); |
|
959 | -} |
|
960 | 1027 | |
961 | 1028 | /** |
962 | 1029 | * Escape the LIKE wildcards so that they match the character and not the wildcard. |
@@ -973,10 +1040,11 @@ discard block |
||
973 | 1040 | '\\' => '\\\\', |
974 | 1041 | ); |
975 | 1042 | |
976 | - if ($translate_human_wildcards) |
|
977 | - $replacements += array( |
|
1043 | + if ($translate_human_wildcards) { |
|
1044 | + $replacements += array( |
|
978 | 1045 | '*' => '%', |
979 | 1046 | ); |
1047 | + } |
|
980 | 1048 | |
981 | 1049 | return strtr($string, $replacements); |
982 | 1050 | } |
@@ -990,8 +1058,9 @@ discard block |
||
990 | 1058 | */ |
991 | 1059 | function smf_is_resource($result) |
992 | 1060 | { |
993 | - if ($result instanceof mysqli_result) |
|
994 | - return true; |
|
1061 | + if ($result instanceof mysqli_result) { |
|
1062 | + return true; |
|
1063 | + } |
|
995 | 1064 | |
996 | 1065 | return false; |
997 | 1066 | } |
@@ -200,22 +200,22 @@ discard block |
||
200 | 200 | |
201 | 201 | case 'date': |
202 | 202 | if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d)$~', $replacement, $date_matches) === 1) |
203 | - return sprintf('\'%04d-%02d-%02d\'', $date_matches[1], $date_matches[2], $date_matches[3]).'::date'; |
|
203 | + return sprintf('\'%04d-%02d-%02d\'', $date_matches[1], $date_matches[2], $date_matches[3]) . '::date'; |
|
204 | 204 | else |
205 | 205 | smf_db_error_backtrace('Wrong value type sent to the database. Date expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
206 | 206 | break; |
207 | 207 | |
208 | 208 | case 'time': |
209 | 209 | if (preg_match('~^([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $time_matches) === 1) |
210 | - return sprintf('\'%02d:%02d:%02d\'', $time_matches[1], $time_matches[2], $time_matches[3]).'::time'; |
|
210 | + return sprintf('\'%02d:%02d:%02d\'', $time_matches[1], $time_matches[2], $time_matches[3]) . '::time'; |
|
211 | 211 | else |
212 | 212 | smf_db_error_backtrace('Wrong value type sent to the database. Time expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
213 | 213 | break; |
214 | 214 | |
215 | 215 | case 'datetime': |
216 | 216 | if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d) ([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $datetime_matches) === 1) |
217 | - return 'to_timestamp('. |
|
218 | - sprintf('\'%04d-%02d-%02d %02d:%02d:%02d\'', $datetime_matches[1], $datetime_matches[2], $datetime_matches[3], $datetime_matches[4], $datetime_matches[5] ,$datetime_matches[6]). |
|
217 | + return 'to_timestamp(' . |
|
218 | + sprintf('\'%04d-%02d-%02d %02d:%02d:%02d\'', $datetime_matches[1], $datetime_matches[2], $datetime_matches[3], $datetime_matches[4], $datetime_matches[5], $datetime_matches[6]) . |
|
219 | 219 | ',\'YYYY-MM-DD HH24:MI:SS\')'; |
220 | 220 | else |
221 | 221 | smf_db_error_backtrace('Wrong value type sent to the database. Datetime expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
@@ -767,7 +767,7 @@ discard block |
||
767 | 767 | if (!empty($keys) && (count($keys) > 0) && $returnmode > 0) |
768 | 768 | { |
769 | 769 | // we only take the first key |
770 | - $returning = ' RETURNING '.$keys[0]; |
|
770 | + $returning = ' RETURNING ' . $keys[0]; |
|
771 | 771 | $with_returning = true; |
772 | 772 | } |
773 | 773 | |
@@ -798,7 +798,7 @@ discard block |
||
798 | 798 | INSERT INTO ' . $table . '("' . implode('", "', $indexed_columns) . '") |
799 | 799 | VALUES |
800 | 800 | ' . implode(', |
801 | - ', $insertRows).$replace.$returning, |
|
801 | + ', $insertRows) . $replace . $returning, |
|
802 | 802 | array( |
803 | 803 | 'security_override' => true, |
804 | 804 | 'db_error_skip' => $method == 'ignore' || $table === $db_prefix . 'log_errors', |
@@ -811,7 +811,7 @@ discard block |
||
811 | 811 | if ($returnmode === 2) |
812 | 812 | $return_var = array(); |
813 | 813 | |
814 | - while(($row = $smcFunc['db_fetch_row']($request)) && $with_returning) |
|
814 | + while (($row = $smcFunc['db_fetch_row']($request)) && $with_returning) |
|
815 | 815 | { |
816 | 816 | if (is_numeric($row[0])) // try to emulate mysql limitation |
817 | 817 | { |
@@ -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 | * Maps the implementations in this file (smf_db_function_name) |
@@ -34,8 +35,8 @@ discard block |
||
34 | 35 | global $smcFunc; |
35 | 36 | |
36 | 37 | // Map some database specific functions, only do this once. |
37 | - if (!isset($smcFunc['db_fetch_assoc'])) |
|
38 | - $smcFunc += array( |
|
38 | + if (!isset($smcFunc['db_fetch_assoc'])) { |
|
39 | + $smcFunc += array( |
|
39 | 40 | 'db_query' => 'smf_db_query', |
40 | 41 | 'db_quote' => 'smf_db_quote', |
41 | 42 | 'db_insert' => 'smf_db_insert', |
@@ -62,11 +63,13 @@ discard block |
||
62 | 63 | 'db_ping' => 'pg_ping', |
63 | 64 | 'db_fetch_all' => 'smf_db_fetch_all', |
64 | 65 | ); |
66 | + } |
|
65 | 67 | |
66 | - if (!empty($db_options['persist'])) |
|
67 | - $connection = @pg_pconnect('host=' . $db_server . ' dbname=' . $db_name . ' user=\'' . $db_user . '\' password=\'' . $db_passwd . '\'' . (empty($db_options['port']) ? '' : ' port=\'' . $db_options['port'] . '\'')); |
|
68 | - else |
|
69 | - $connection = @pg_connect('host=' . $db_server . ' dbname=' . $db_name . ' user=\'' . $db_user . '\' password=\'' . $db_passwd . '\'' . (empty($db_options['port']) ? '' : ' port=\'' . $db_options['port'] . '\'')); |
|
68 | + if (!empty($db_options['persist'])) { |
|
69 | + $connection = @pg_pconnect('host=' . $db_server . ' dbname=' . $db_name . ' user=\'' . $db_user . '\' password=\'' . $db_passwd . '\'' . (empty($db_options['port']) ? '' : ' port=\'' . $db_options['port'] . '\'')); |
|
70 | + } else { |
|
71 | + $connection = @pg_connect('host=' . $db_server . ' dbname=' . $db_name . ' user=\'' . $db_user . '\' password=\'' . $db_passwd . '\'' . (empty($db_options['port']) ? '' : ' port=\'' . $db_options['port'] . '\'')); |
|
72 | + } |
|
70 | 73 | |
71 | 74 | // Something's wrong, show an error if its fatal (which we assume it is) |
72 | 75 | if (!$connection) |
@@ -74,8 +77,7 @@ discard block |
||
74 | 77 | if (!empty($db_options['non_fatal'])) |
75 | 78 | { |
76 | 79 | return null; |
77 | - } |
|
78 | - else |
|
80 | + } else |
|
79 | 81 | { |
80 | 82 | display_db_error(); |
81 | 83 | } |
@@ -126,31 +128,38 @@ discard block |
||
126 | 128 | |
127 | 129 | list ($values, $connection) = $db_callback; |
128 | 130 | |
129 | - if ($matches[1] === 'db_prefix') |
|
130 | - return $db_prefix; |
|
131 | + if ($matches[1] === 'db_prefix') { |
|
132 | + return $db_prefix; |
|
133 | + } |
|
131 | 134 | |
132 | - if (isset($user_info[$matches[1]]) && strpos($matches[1], 'query_') !== false) |
|
133 | - return $user_info[$matches[1]]; |
|
135 | + if (isset($user_info[$matches[1]]) && strpos($matches[1], 'query_') !== false) { |
|
136 | + return $user_info[$matches[1]]; |
|
137 | + } |
|
134 | 138 | |
135 | - if ($matches[1] === 'empty') |
|
136 | - return '\'\''; |
|
139 | + if ($matches[1] === 'empty') { |
|
140 | + return '\'\''; |
|
141 | + } |
|
137 | 142 | |
138 | - if (!isset($matches[2])) |
|
139 | - smf_db_error_backtrace('Invalid value inserted or no type specified.', '', E_USER_ERROR, __FILE__, __LINE__); |
|
143 | + if (!isset($matches[2])) { |
|
144 | + smf_db_error_backtrace('Invalid value inserted or no type specified.', '', E_USER_ERROR, __FILE__, __LINE__); |
|
145 | + } |
|
140 | 146 | |
141 | - if ($matches[1] === 'literal') |
|
142 | - return '\'' . pg_escape_string($matches[2]) . '\''; |
|
147 | + if ($matches[1] === 'literal') { |
|
148 | + return '\'' . pg_escape_string($matches[2]) . '\''; |
|
149 | + } |
|
143 | 150 | |
144 | - if (!isset($values[$matches[2]])) |
|
145 | - smf_db_error_backtrace('The database value you\'re trying to insert does not exist: ' . (isset($smcFunc['htmlspecialchars']) ? $smcFunc['htmlspecialchars']($matches[2]) : htmlspecialchars($matches[2])), '', E_USER_ERROR, __FILE__, __LINE__); |
|
151 | + if (!isset($values[$matches[2]])) { |
|
152 | + smf_db_error_backtrace('The database value you\'re trying to insert does not exist: ' . (isset($smcFunc['htmlspecialchars']) ? $smcFunc['htmlspecialchars']($matches[2]) : htmlspecialchars($matches[2])), '', E_USER_ERROR, __FILE__, __LINE__); |
|
153 | + } |
|
146 | 154 | |
147 | 155 | $replacement = $values[$matches[2]]; |
148 | 156 | |
149 | 157 | switch ($matches[1]) |
150 | 158 | { |
151 | 159 | case 'int': |
152 | - if (!is_numeric($replacement) || (string) $replacement !== (string) (int) $replacement) |
|
153 | - smf_db_error_backtrace('Wrong value type sent to the database. Integer expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
160 | + if (!is_numeric($replacement) || (string) $replacement !== (string) (int) $replacement) { |
|
161 | + smf_db_error_backtrace('Wrong value type sent to the database. Integer expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
162 | + } |
|
154 | 163 | return (string) (int) $replacement; |
155 | 164 | break; |
156 | 165 | |
@@ -162,65 +171,73 @@ discard block |
||
162 | 171 | case 'array_int': |
163 | 172 | if (is_array($replacement)) |
164 | 173 | { |
165 | - if (empty($replacement)) |
|
166 | - smf_db_error_backtrace('Database error, given array of integer values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
174 | + if (empty($replacement)) { |
|
175 | + smf_db_error_backtrace('Database error, given array of integer values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
176 | + } |
|
167 | 177 | |
168 | 178 | foreach ($replacement as $key => $value) |
169 | 179 | { |
170 | - if (!is_numeric($value) || (string) $value !== (string) (int) $value) |
|
171 | - smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
180 | + if (!is_numeric($value) || (string) $value !== (string) (int) $value) { |
|
181 | + smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
182 | + } |
|
172 | 183 | |
173 | 184 | $replacement[$key] = (string) (int) $value; |
174 | 185 | } |
175 | 186 | |
176 | 187 | return implode(', ', $replacement); |
188 | + } else { |
|
189 | + smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
177 | 190 | } |
178 | - else |
|
179 | - smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
180 | 191 | |
181 | 192 | break; |
182 | 193 | |
183 | 194 | case 'array_string': |
184 | 195 | if (is_array($replacement)) |
185 | 196 | { |
186 | - if (empty($replacement)) |
|
187 | - smf_db_error_backtrace('Database error, given array of string values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
197 | + if (empty($replacement)) { |
|
198 | + smf_db_error_backtrace('Database error, given array of string values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
199 | + } |
|
188 | 200 | |
189 | - foreach ($replacement as $key => $value) |
|
190 | - $replacement[$key] = sprintf('\'%1$s\'', pg_escape_string($value)); |
|
201 | + foreach ($replacement as $key => $value) { |
|
202 | + $replacement[$key] = sprintf('\'%1$s\'', pg_escape_string($value)); |
|
203 | + } |
|
191 | 204 | |
192 | 205 | return implode(', ', $replacement); |
206 | + } else { |
|
207 | + smf_db_error_backtrace('Wrong value type sent to the database. Array of strings expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
193 | 208 | } |
194 | - else |
|
195 | - smf_db_error_backtrace('Wrong value type sent to the database. Array of strings expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
196 | 209 | break; |
197 | 210 | |
198 | 211 | case 'date': |
199 | - if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d)$~', $replacement, $date_matches) === 1) |
|
200 | - return sprintf('\'%04d-%02d-%02d\'', $date_matches[1], $date_matches[2], $date_matches[3]).'::date'; |
|
201 | - else |
|
202 | - smf_db_error_backtrace('Wrong value type sent to the database. Date expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
212 | + if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d)$~', $replacement, $date_matches) === 1) { |
|
213 | + return sprintf('\'%04d-%02d-%02d\'', $date_matches[1], $date_matches[2], $date_matches[3]).'::date'; |
|
214 | + } else { |
|
215 | + smf_db_error_backtrace('Wrong value type sent to the database. Date expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
216 | + } |
|
203 | 217 | break; |
204 | 218 | |
205 | 219 | case 'time': |
206 | - if (preg_match('~^([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $time_matches) === 1) |
|
207 | - return sprintf('\'%02d:%02d:%02d\'', $time_matches[1], $time_matches[2], $time_matches[3]).'::time'; |
|
208 | - else |
|
209 | - smf_db_error_backtrace('Wrong value type sent to the database. Time expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
220 | + if (preg_match('~^([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $time_matches) === 1) { |
|
221 | + return sprintf('\'%02d:%02d:%02d\'', $time_matches[1], $time_matches[2], $time_matches[3]).'::time'; |
|
222 | + } else { |
|
223 | + smf_db_error_backtrace('Wrong value type sent to the database. Time expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
224 | + } |
|
210 | 225 | break; |
211 | 226 | |
212 | 227 | case 'datetime': |
213 | - if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d) ([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $datetime_matches) === 1) |
|
214 | - return 'to_timestamp('. |
|
228 | + if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d) ([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $datetime_matches) === 1) { |
|
229 | + return 'to_timestamp('. |
|
215 | 230 | sprintf('\'%04d-%02d-%02d %02d:%02d:%02d\'', $datetime_matches[1], $datetime_matches[2], $datetime_matches[3], $datetime_matches[4], $datetime_matches[5] ,$datetime_matches[6]). |
216 | 231 | ',\'YYYY-MM-DD HH24:MI:SS\')'; |
217 | - else |
|
218 | - smf_db_error_backtrace('Wrong value type sent to the database. Datetime expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
232 | + } else { |
|
233 | + smf_db_error_backtrace('Wrong value type sent to the database. Datetime expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
234 | + } |
|
219 | 235 | break; |
220 | 236 | |
221 | 237 | case 'float': |
222 | - if (!is_numeric($replacement)) |
|
223 | - smf_db_error_backtrace('Wrong value type sent to the database. Floating point number expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
238 | + if (!is_numeric($replacement)) { |
|
239 | + smf_db_error_backtrace('Wrong value type sent to the database. Floating point number expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
240 | + } |
|
224 | 241 | return (string) (float) $replacement; |
225 | 242 | break; |
226 | 243 | |
@@ -233,31 +250,36 @@ discard block |
||
233 | 250 | break; |
234 | 251 | |
235 | 252 | case 'inet': |
236 | - if ($replacement == 'null' || $replacement == '') |
|
237 | - return 'null'; |
|
238 | - if (inet_pton($replacement) === false) |
|
239 | - smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
253 | + if ($replacement == 'null' || $replacement == '') { |
|
254 | + return 'null'; |
|
255 | + } |
|
256 | + if (inet_pton($replacement) === false) { |
|
257 | + smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
258 | + } |
|
240 | 259 | return sprintf('\'%1$s\'::inet', pg_escape_string($replacement)); |
241 | 260 | |
242 | 261 | case 'array_inet': |
243 | 262 | if (is_array($replacement)) |
244 | 263 | { |
245 | - if (empty($replacement)) |
|
246 | - smf_db_error_backtrace('Database error, given array of IPv4 or IPv6 values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
264 | + if (empty($replacement)) { |
|
265 | + smf_db_error_backtrace('Database error, given array of IPv4 or IPv6 values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
266 | + } |
|
247 | 267 | |
248 | 268 | foreach ($replacement as $key => $value) |
249 | 269 | { |
250 | - if ($replacement == 'null' || $replacement == '') |
|
251 | - $replacement[$key] = 'null'; |
|
252 | - if (!isValidIP($value)) |
|
253 | - smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
270 | + if ($replacement == 'null' || $replacement == '') { |
|
271 | + $replacement[$key] = 'null'; |
|
272 | + } |
|
273 | + if (!isValidIP($value)) { |
|
274 | + smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
275 | + } |
|
254 | 276 | $replacement[$key] = sprintf('\'%1$s\'::inet', pg_escape_string($value)); |
255 | 277 | } |
256 | 278 | |
257 | 279 | return implode(', ', $replacement); |
280 | + } else { |
|
281 | + smf_db_error_backtrace('Wrong value type sent to the database. Array of IPv4 or IPv6 expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
258 | 282 | } |
259 | - else |
|
260 | - smf_db_error_backtrace('Wrong value type sent to the database. Array of IPv4 or IPv6 expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
261 | 283 | break; |
262 | 284 | |
263 | 285 | default: |
@@ -351,14 +373,16 @@ discard block |
||
351 | 373 | ), |
352 | 374 | ); |
353 | 375 | |
354 | - if (isset($replacements[$identifier])) |
|
355 | - $db_string = preg_replace(array_keys($replacements[$identifier]), array_values($replacements[$identifier]), $db_string); |
|
376 | + if (isset($replacements[$identifier])) { |
|
377 | + $db_string = preg_replace(array_keys($replacements[$identifier]), array_values($replacements[$identifier]), $db_string); |
|
378 | + } |
|
356 | 379 | |
357 | 380 | // Limits need to be a little different. |
358 | 381 | $db_string = preg_replace('~\sLIMIT\s(\d+|{int:.+}),\s*(\d+|{int:.+})\s*$~i', 'LIMIT $2 OFFSET $1', $db_string); |
359 | 382 | |
360 | - if (trim($db_string) == '') |
|
361 | - return false; |
|
383 | + if (trim($db_string) == '') { |
|
384 | + return false; |
|
385 | + } |
|
362 | 386 | |
363 | 387 | // Comments that are allowed in a query are preg_removed. |
364 | 388 | static $allowed_comments_from = array( |
@@ -378,8 +402,9 @@ discard block |
||
378 | 402 | $db_count = !isset($db_count) ? 1 : $db_count + 1; |
379 | 403 | $db_replace_result = 0; |
380 | 404 | |
381 | - if (empty($modSettings['disableQueryCheck']) && strpos($db_string, '\'') !== false && empty($db_values['security_override'])) |
|
382 | - smf_db_error_backtrace('Hacking attempt...', 'Illegal character (\') used in query...', true, __FILE__, __LINE__); |
|
405 | + if (empty($modSettings['disableQueryCheck']) && strpos($db_string, '\'') !== false && empty($db_values['security_override'])) { |
|
406 | + smf_db_error_backtrace('Hacking attempt...', 'Illegal character (\') used in query...', true, __FILE__, __LINE__); |
|
407 | + } |
|
383 | 408 | |
384 | 409 | if (empty($db_values['security_override']) && (!empty($db_values) || strpos($db_string, '{db_prefix}') !== false)) |
385 | 410 | { |
@@ -400,8 +425,9 @@ discard block |
||
400 | 425 | list ($file, $line) = smf_db_error_backtrace('', '', 'return', __FILE__, __LINE__); |
401 | 426 | |
402 | 427 | // Initialize $db_cache if not already initialized. |
403 | - if (!isset($db_cache)) |
|
404 | - $db_cache = array(); |
|
428 | + if (!isset($db_cache)) { |
|
429 | + $db_cache = array(); |
|
430 | + } |
|
405 | 431 | |
406 | 432 | if (!empty($_SESSION['debug_redirect'])) |
407 | 433 | { |
@@ -427,17 +453,18 @@ discard block |
||
427 | 453 | while (true) |
428 | 454 | { |
429 | 455 | $pos = strpos($db_string, '\'', $pos + 1); |
430 | - if ($pos === false) |
|
431 | - break; |
|
456 | + if ($pos === false) { |
|
457 | + break; |
|
458 | + } |
|
432 | 459 | $clean .= substr($db_string, $old_pos, $pos - $old_pos); |
433 | 460 | |
434 | 461 | while (true) |
435 | 462 | { |
436 | 463 | $pos1 = strpos($db_string, '\'', $pos + 1); |
437 | 464 | $pos2 = strpos($db_string, '\\', $pos + 1); |
438 | - if ($pos1 === false) |
|
439 | - break; |
|
440 | - elseif ($pos2 === false || $pos2 > $pos1) |
|
465 | + if ($pos1 === false) { |
|
466 | + break; |
|
467 | + } elseif ($pos2 === false || $pos2 > $pos1) |
|
441 | 468 | { |
442 | 469 | $pos = $pos1; |
443 | 470 | break; |
@@ -453,16 +480,19 @@ discard block |
||
453 | 480 | $clean = trim(strtolower(preg_replace($allowed_comments_from, $allowed_comments_to, $clean))); |
454 | 481 | |
455 | 482 | // Comments? We don't use comments in our queries, we leave 'em outside! |
456 | - if (strpos($clean, '/*') > 2 || strpos($clean, '--') !== false || strpos($clean, ';') !== false) |
|
457 | - $fail = true; |
|
483 | + if (strpos($clean, '/*') > 2 || strpos($clean, '--') !== false || strpos($clean, ';') !== false) { |
|
484 | + $fail = true; |
|
485 | + } |
|
458 | 486 | // Trying to change passwords, slow us down, or something? |
459 | - elseif (strpos($clean, 'sleep') !== false && preg_match('~(^|[^a-z])sleep($|[^[_a-z])~s', $clean) != 0) |
|
460 | - $fail = true; |
|
461 | - elseif (strpos($clean, 'benchmark') !== false && preg_match('~(^|[^a-z])benchmark($|[^[a-z])~s', $clean) != 0) |
|
462 | - $fail = true; |
|
487 | + elseif (strpos($clean, 'sleep') !== false && preg_match('~(^|[^a-z])sleep($|[^[_a-z])~s', $clean) != 0) { |
|
488 | + $fail = true; |
|
489 | + } elseif (strpos($clean, 'benchmark') !== false && preg_match('~(^|[^a-z])benchmark($|[^[a-z])~s', $clean) != 0) { |
|
490 | + $fail = true; |
|
491 | + } |
|
463 | 492 | |
464 | - if (!empty($fail) && function_exists('log_error')) |
|
465 | - smf_db_error_backtrace('Hacking attempt...', 'Hacking attempt...' . "\n" . $db_string, E_USER_ERROR, __FILE__, __LINE__); |
|
493 | + if (!empty($fail) && function_exists('log_error')) { |
|
494 | + smf_db_error_backtrace('Hacking attempt...', 'Hacking attempt...' . "\n" . $db_string, E_USER_ERROR, __FILE__, __LINE__); |
|
495 | + } |
|
466 | 496 | } |
467 | 497 | |
468 | 498 | // Set optimize stuff |
@@ -481,18 +511,21 @@ discard block |
||
481 | 511 | |
482 | 512 | $db_string = $query_hints_set . $db_string; |
483 | 513 | |
484 | - if (isset($db_show_debug) && $db_show_debug === true && $db_cache[$db_count]['q'] != '...') |
|
485 | - $db_cache[$db_count]['q'] = "\t\t" . $db_string; |
|
514 | + if (isset($db_show_debug) && $db_show_debug === true && $db_cache[$db_count]['q'] != '...') { |
|
515 | + $db_cache[$db_count]['q'] = "\t\t" . $db_string; |
|
516 | + } |
|
486 | 517 | } |
487 | 518 | |
488 | 519 | $db_last_result = @pg_query($connection, $db_string); |
489 | 520 | |
490 | - if ($db_last_result === false && empty($db_values['db_error_skip'])) |
|
491 | - $db_last_result = smf_db_error($db_string, $connection); |
|
521 | + if ($db_last_result === false && empty($db_values['db_error_skip'])) { |
|
522 | + $db_last_result = smf_db_error($db_string, $connection); |
|
523 | + } |
|
492 | 524 | |
493 | 525 | // Debugging. |
494 | - if (isset($db_show_debug) && $db_show_debug === true) |
|
495 | - $db_cache[$db_count]['t'] = array_sum(explode(' ', microtime())) - array_sum(explode(' ', $st)); |
|
526 | + if (isset($db_show_debug) && $db_show_debug === true) { |
|
527 | + $db_cache[$db_count]['t'] = array_sum(explode(' ', microtime())) - array_sum(explode(' ', $st)); |
|
528 | + } |
|
496 | 529 | |
497 | 530 | return $db_last_result; |
498 | 531 | } |
@@ -505,10 +538,11 @@ discard block |
||
505 | 538 | { |
506 | 539 | global $db_last_result, $db_replace_result; |
507 | 540 | |
508 | - if ($db_replace_result) |
|
509 | - return $db_replace_result; |
|
510 | - elseif ($result === null && !$db_last_result) |
|
511 | - return 0; |
|
541 | + if ($db_replace_result) { |
|
542 | + return $db_replace_result; |
|
543 | + } elseif ($result === null && !$db_last_result) { |
|
544 | + return 0; |
|
545 | + } |
|
512 | 546 | |
513 | 547 | return pg_affected_rows($result === null ? $db_last_result : $result); |
514 | 548 | } |
@@ -532,8 +566,9 @@ discard block |
||
532 | 566 | array( |
533 | 567 | ) |
534 | 568 | ); |
535 | - if (!$request) |
|
536 | - return false; |
|
569 | + if (!$request) { |
|
570 | + return false; |
|
571 | + } |
|
537 | 572 | list ($lastID) = $smcFunc['db_fetch_row']($request); |
538 | 573 | $smcFunc['db_free_result']($request); |
539 | 574 | |
@@ -554,12 +589,13 @@ discard block |
||
554 | 589 | // Decide which connection to use |
555 | 590 | $connection = $connection === null ? $db_connection : $connection; |
556 | 591 | |
557 | - if ($type == 'begin') |
|
558 | - return @pg_query($connection, 'BEGIN'); |
|
559 | - elseif ($type == 'rollback') |
|
560 | - return @pg_query($connection, 'ROLLBACK'); |
|
561 | - elseif ($type == 'commit') |
|
562 | - return @pg_query($connection, 'COMMIT'); |
|
592 | + if ($type == 'begin') { |
|
593 | + return @pg_query($connection, 'BEGIN'); |
|
594 | + } elseif ($type == 'rollback') { |
|
595 | + return @pg_query($connection, 'ROLLBACK'); |
|
596 | + } elseif ($type == 'commit') { |
|
597 | + return @pg_query($connection, 'COMMIT'); |
|
598 | + } |
|
563 | 599 | |
564 | 600 | return false; |
565 | 601 | } |
@@ -587,19 +623,22 @@ discard block |
||
587 | 623 | $query_error = @pg_last_error($connection); |
588 | 624 | |
589 | 625 | // Log the error. |
590 | - if (function_exists('log_error')) |
|
591 | - log_error($txt['database_error'] . ': ' . $query_error . (!empty($modSettings['enableErrorQueryLogging']) ? "\n\n" . $db_string : ''), 'database', $file, $line); |
|
626 | + if (function_exists('log_error')) { |
|
627 | + log_error($txt['database_error'] . ': ' . $query_error . (!empty($modSettings['enableErrorQueryLogging']) ? "\n\n" . $db_string : ''), 'database', $file, $line); |
|
628 | + } |
|
592 | 629 | |
593 | 630 | // Nothing's defined yet... just die with it. |
594 | - if (empty($context) || empty($txt)) |
|
595 | - die($query_error); |
|
631 | + if (empty($context) || empty($txt)) { |
|
632 | + die($query_error); |
|
633 | + } |
|
596 | 634 | |
597 | 635 | // Show an error message, if possible. |
598 | 636 | $context['error_title'] = $txt['database_error']; |
599 | - if (allowedTo('admin_forum')) |
|
600 | - $context['error_message'] = nl2br($query_error) . '<br>' . $txt['file'] . ': ' . $file . '<br>' . $txt['line'] . ': ' . $line; |
|
601 | - else |
|
602 | - $context['error_message'] = $txt['try_again']; |
|
637 | + if (allowedTo('admin_forum')) { |
|
638 | + $context['error_message'] = nl2br($query_error) . '<br>' . $txt['file'] . ': ' . $file . '<br>' . $txt['line'] . ': ' . $line; |
|
639 | + } else { |
|
640 | + $context['error_message'] = $txt['try_again']; |
|
641 | + } |
|
603 | 642 | |
604 | 643 | if (allowedTo('admin_forum') && isset($db_show_debug) && $db_show_debug === true) |
605 | 644 | { |
@@ -621,12 +660,14 @@ discard block |
||
621 | 660 | { |
622 | 661 | global $db_row_count; |
623 | 662 | |
624 | - if ($counter !== false) |
|
625 | - return pg_fetch_row($request, $counter); |
|
663 | + if ($counter !== false) { |
|
664 | + return pg_fetch_row($request, $counter); |
|
665 | + } |
|
626 | 666 | |
627 | 667 | // Reset the row counter... |
628 | - if (!isset($db_row_count[(int) $request])) |
|
629 | - $db_row_count[(int) $request] = 0; |
|
668 | + if (!isset($db_row_count[(int) $request])) { |
|
669 | + $db_row_count[(int) $request] = 0; |
|
670 | + } |
|
630 | 671 | |
631 | 672 | // Return the right row. |
632 | 673 | return @pg_fetch_row($request, $db_row_count[(int) $request]++); |
@@ -643,12 +684,14 @@ discard block |
||
643 | 684 | { |
644 | 685 | global $db_row_count; |
645 | 686 | |
646 | - if ($counter !== false) |
|
647 | - return pg_fetch_assoc($request, $counter); |
|
687 | + if ($counter !== false) { |
|
688 | + return pg_fetch_assoc($request, $counter); |
|
689 | + } |
|
648 | 690 | |
649 | 691 | // Reset the row counter... |
650 | - if (!isset($db_row_count[(int) $request])) |
|
651 | - $db_row_count[(int) $request] = 0; |
|
692 | + if (!isset($db_row_count[(int) $request])) { |
|
693 | + $db_row_count[(int) $request] = 0; |
|
694 | + } |
|
652 | 695 | |
653 | 696 | // Return the right row. |
654 | 697 | return @pg_fetch_assoc($request, $db_row_count[(int) $request]++); |
@@ -701,11 +744,13 @@ discard block |
||
701 | 744 | |
702 | 745 | $replace = ''; |
703 | 746 | |
704 | - if (empty($data)) |
|
705 | - return; |
|
747 | + if (empty($data)) { |
|
748 | + return; |
|
749 | + } |
|
706 | 750 | |
707 | - if (!is_array($data[array_rand($data)])) |
|
708 | - $data = array($data); |
|
751 | + if (!is_array($data[array_rand($data)])) { |
|
752 | + $data = array($data); |
|
753 | + } |
|
709 | 754 | |
710 | 755 | // Replace the prefix holder with the actual prefix. |
711 | 756 | $table = str_replace('{db_prefix}', $db_prefix, $table); |
@@ -724,11 +769,13 @@ discard block |
||
724 | 769 | //pg 9.5 got replace support |
725 | 770 | $pg_version = $smcFunc['db_get_version'](); |
726 | 771 | // if we got a Beta Version |
727 | - if (stripos($pg_version, 'beta') !== false) |
|
728 | - $pg_version = substr($pg_version, 0, stripos($pg_version, 'beta')) . '.0'; |
|
772 | + if (stripos($pg_version, 'beta') !== false) { |
|
773 | + $pg_version = substr($pg_version, 0, stripos($pg_version, 'beta')) . '.0'; |
|
774 | + } |
|
729 | 775 | // or RC |
730 | - if (stripos($pg_version, 'rc') !== false) |
|
731 | - $pg_version = substr($pg_version, 0, stripos($pg_version, 'rc')) . '.0'; |
|
776 | + if (stripos($pg_version, 'rc') !== false) { |
|
777 | + $pg_version = substr($pg_version, 0, stripos($pg_version, 'rc')) . '.0'; |
|
778 | + } |
|
732 | 779 | |
733 | 780 | $replace_support = (version_compare($pg_version, '9.5.0', '>=') ? true : false); |
734 | 781 | } |
@@ -747,8 +794,7 @@ discard block |
||
747 | 794 | $key_str .= ($count_pk > 0 ? ',' : ''); |
748 | 795 | $key_str .= $columnName; |
749 | 796 | $count_pk++; |
750 | - } |
|
751 | - else //normal field |
|
797 | + } else //normal field |
|
752 | 798 | { |
753 | 799 | $col_str .= ($count > 0 ? ',' : ''); |
754 | 800 | $col_str .= $columnName . ' = EXCLUDED.' . $columnName; |
@@ -756,20 +802,21 @@ discard block |
||
756 | 802 | } |
757 | 803 | } |
758 | 804 | $replace = ' ON CONFLICT (' . $key_str . ') DO UPDATE SET ' . $col_str; |
759 | - } |
|
760 | - else |
|
805 | + } else |
|
761 | 806 | { |
762 | 807 | foreach ($columns as $columnName => $type) |
763 | 808 | { |
764 | 809 | // Are we restricting the length? |
765 | - if (strpos($type, 'string-') !== false) |
|
766 | - $actualType = sprintf($columnName . ' = SUBSTRING({string:%1$s}, 1, ' . substr($type, 7) . '), ', $count); |
|
767 | - else |
|
768 | - $actualType = sprintf($columnName . ' = {%1$s:%2$s}, ', $type, $count); |
|
810 | + if (strpos($type, 'string-') !== false) { |
|
811 | + $actualType = sprintf($columnName . ' = SUBSTRING({string:%1$s}, 1, ' . substr($type, 7) . '), ', $count); |
|
812 | + } else { |
|
813 | + $actualType = sprintf($columnName . ' = {%1$s:%2$s}, ', $type, $count); |
|
814 | + } |
|
769 | 815 | |
770 | 816 | // A key? That's what we were looking for. |
771 | - if (in_array($columnName, $keys)) |
|
772 | - $where .= (empty($where) ? '' : ' AND ') . substr($actualType, 0, -2); |
|
817 | + if (in_array($columnName, $keys)) { |
|
818 | + $where .= (empty($where) ? '' : ' AND ') . substr($actualType, 0, -2); |
|
819 | + } |
|
773 | 820 | $count++; |
774 | 821 | } |
775 | 822 | |
@@ -805,10 +852,11 @@ discard block |
||
805 | 852 | foreach ($columns as $columnName => $type) |
806 | 853 | { |
807 | 854 | // Are we restricting the length? |
808 | - if (strpos($type, 'string-') !== false) |
|
809 | - $insertData .= sprintf('SUBSTRING({string:%1$s}, 1, ' . substr($type, 7) . '), ', $columnName); |
|
810 | - else |
|
811 | - $insertData .= sprintf('{%1$s:%2$s}, ', $type, $columnName); |
|
855 | + if (strpos($type, 'string-') !== false) { |
|
856 | + $insertData .= sprintf('SUBSTRING({string:%1$s}, 1, ' . substr($type, 7) . '), ', $columnName); |
|
857 | + } else { |
|
858 | + $insertData .= sprintf('{%1$s:%2$s}, ', $type, $columnName); |
|
859 | + } |
|
812 | 860 | } |
813 | 861 | $insertData = substr($insertData, 0, -2) . ')'; |
814 | 862 | |
@@ -817,8 +865,9 @@ discard block |
||
817 | 865 | |
818 | 866 | // Here's where the variables are injected to the query. |
819 | 867 | $insertRows = array(); |
820 | - foreach ($data as $dataRow) |
|
821 | - $insertRows[] = smf_db_quote($insertData, array_combine($indexed_columns, $dataRow), $connection); |
|
868 | + foreach ($data as $dataRow) { |
|
869 | + $insertRows[] = smf_db_quote($insertData, array_combine($indexed_columns, $dataRow), $connection); |
|
870 | + } |
|
822 | 871 | |
823 | 872 | // Do the insert. |
824 | 873 | $request = $smcFunc['db_query']('', ' |
@@ -835,19 +884,21 @@ discard block |
||
835 | 884 | |
836 | 885 | if ($with_returning && $request !== false) |
837 | 886 | { |
838 | - if ($returnmode === 2) |
|
839 | - $return_var = array(); |
|
887 | + if ($returnmode === 2) { |
|
888 | + $return_var = array(); |
|
889 | + } |
|
840 | 890 | |
841 | 891 | while(($row = $smcFunc['db_fetch_row']($request)) && $with_returning) |
842 | 892 | { |
843 | - if (is_numeric($row[0])) // try to emulate mysql limitation |
|
893 | + if (is_numeric($row[0])) { |
|
894 | + // try to emulate mysql limitation |
|
844 | 895 | { |
845 | 896 | if ($returnmode === 1) |
846 | 897 | $return_var = $row[0]; |
847 | - elseif ($returnmode === 2) |
|
848 | - $return_var[] = $row[0]; |
|
849 | - } |
|
850 | - else |
|
898 | + } elseif ($returnmode === 2) { |
|
899 | + $return_var[] = $row[0]; |
|
900 | + } |
|
901 | + } else |
|
851 | 902 | { |
852 | 903 | $with_returning = false; |
853 | 904 | trigger_error('trying to returning ID Field which is not a Int field', E_USER_ERROR); |
@@ -856,9 +907,10 @@ discard block |
||
856 | 907 | } |
857 | 908 | } |
858 | 909 | |
859 | - if ($with_returning && !empty($return_var)) |
|
860 | - return $return_var; |
|
861 | -} |
|
910 | + if ($with_returning && !empty($return_var)) { |
|
911 | + return $return_var; |
|
912 | + } |
|
913 | + } |
|
862 | 914 | |
863 | 915 | /** |
864 | 916 | * Dummy function really. Doesn't do anything on PostgreSQL. |
@@ -895,8 +947,9 @@ discard block |
||
895 | 947 | */ |
896 | 948 | function smf_db_error_backtrace($error_message, $log_message = '', $error_type = false, $file = null, $line = null) |
897 | 949 | { |
898 | - if (empty($log_message)) |
|
899 | - $log_message = $error_message; |
|
950 | + if (empty($log_message)) { |
|
951 | + $log_message = $error_message; |
|
952 | + } |
|
900 | 953 | |
901 | 954 | foreach (debug_backtrace() as $step) |
902 | 955 | { |
@@ -915,12 +968,14 @@ discard block |
||
915 | 968 | } |
916 | 969 | |
917 | 970 | // A special case - we want the file and line numbers for debugging. |
918 | - if ($error_type == 'return') |
|
919 | - return array($file, $line); |
|
971 | + if ($error_type == 'return') { |
|
972 | + return array($file, $line); |
|
973 | + } |
|
920 | 974 | |
921 | 975 | // Is always a critical error. |
922 | - if (function_exists('log_error')) |
|
923 | - log_error($log_message, 'critical', $file, $line); |
|
976 | + if (function_exists('log_error')) { |
|
977 | + log_error($log_message, 'critical', $file, $line); |
|
978 | + } |
|
924 | 979 | |
925 | 980 | if (function_exists('fatal_error')) |
926 | 981 | { |
@@ -928,12 +983,12 @@ discard block |
||
928 | 983 | |
929 | 984 | // Cannot continue... |
930 | 985 | exit; |
986 | + } elseif ($error_type) { |
|
987 | + trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : ''), $error_type); |
|
988 | + } else { |
|
989 | + trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : '')); |
|
990 | + } |
|
931 | 991 | } |
932 | - elseif ($error_type) |
|
933 | - trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : ''), $error_type); |
|
934 | - else |
|
935 | - trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : '')); |
|
936 | -} |
|
937 | 992 | |
938 | 993 | /** |
939 | 994 | * Escape the LIKE wildcards so that they match the character and not the wildcard. |
@@ -950,10 +1005,11 @@ discard block |
||
950 | 1005 | '\\' => '\\\\', |
951 | 1006 | ); |
952 | 1007 | |
953 | - if ($translate_human_wildcards) |
|
954 | - $replacements += array( |
|
1008 | + if ($translate_human_wildcards) { |
|
1009 | + $replacements += array( |
|
955 | 1010 | '*' => '%', |
956 | 1011 | ); |
1012 | + } |
|
957 | 1013 | |
958 | 1014 | return strtr($string, $replacements); |
959 | 1015 | } |
@@ -500,7 +500,7 @@ discard block |
||
500 | 500 | /** |
501 | 501 | * Returns the amount of affected rows for a query. |
502 | 502 | * |
503 | - * @param mixed $result |
|
503 | + * @param resource|null $result |
|
504 | 504 | * |
505 | 505 | * @return int |
506 | 506 | * |
@@ -869,7 +869,7 @@ discard block |
||
869 | 869 | * |
870 | 870 | * @param string $db_name The database name |
871 | 871 | * @param resource $db_connection The database connection |
872 | - * @return true Always returns true |
|
872 | + * @return boolean Always returns true |
|
873 | 873 | */ |
874 | 874 | function smf_db_select_db($db_name, $db_connection) |
875 | 875 | { |
@@ -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('zend_shm_cache_fetch') || function_exists('output_cache_get'); |
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 | |
@@ -40,10 +42,11 @@ discard block |
||
40 | 42 | $key = $this->prefix . strtr($key, ':/', '-_'); |
41 | 43 | |
42 | 44 | // Zend's pricey stuff. |
43 | - if (function_exists('zend_shm_cache_fetch')) |
|
44 | - return zend_shm_cache_fetch('SMF::' . $key); |
|
45 | - elseif (function_exists('output_cache_get')) |
|
46 | - return output_cache_get($key, $ttl); |
|
45 | + if (function_exists('zend_shm_cache_fetch')) { |
|
46 | + return zend_shm_cache_fetch('SMF::' . $key); |
|
47 | + } elseif (function_exists('output_cache_get')) { |
|
48 | + return output_cache_get($key, $ttl); |
|
49 | + } |
|
47 | 50 | } |
48 | 51 | |
49 | 52 | /** |
@@ -53,10 +56,11 @@ discard block |
||
53 | 56 | { |
54 | 57 | $key = $this->prefix . strtr($key, ':/', '-_'); |
55 | 58 | |
56 | - if (function_exists('zend_shm_cache_store')) |
|
57 | - return zend_shm_cache_store('SMF::' . $key, $value, $ttl); |
|
58 | - elseif (function_exists('output_cache_put')) |
|
59 | - return output_cache_put($key, $value); |
|
59 | + if (function_exists('zend_shm_cache_store')) { |
|
60 | + return zend_shm_cache_store('SMF::' . $key, $value, $ttl); |
|
61 | + } elseif (function_exists('output_cache_put')) { |
|
62 | + return output_cache_put($key, $value); |
|
63 | + } |
|
60 | 64 | } |
61 | 65 | |
62 | 66 | /** |
@@ -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('apc_fetch') && function_exists('apc_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 apc_delete($key . 'smf'); |
|
55 | - else |
|
56 | - return apc_store($key . 'smf', $value, $ttl); |
|
55 | + if ($value === null) { |
|
56 | + return apc_delete($key . 'smf'); |
|
57 | + } else { |
|
58 | + return apc_store($key . 'smf', $value, $ttl); |
|
59 | + } |
|
57 | 60 | } |
58 | 61 | |
59 | 62 | /** |
@@ -67,9 +70,9 @@ discard block |
||
67 | 70 | // Always returns true. |
68 | 71 | apc_clear_cache('user'); |
69 | 72 | apc_clear_cache('system'); |
73 | + } elseif ($type === 'user') { |
|
74 | + apc_clear_cache('user'); |
|
70 | 75 | } |
71 | - elseif ($type === 'user') |
|
72 | - apc_clear_cache('user'); |
|
73 | 76 | |
74 | 77 | $this->invalidateCache(); |
75 | 78 | return true; |
@@ -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 | * This is a handling function for all things post moderation. |
@@ -39,8 +40,9 @@ discard block |
||
39 | 40 | ); |
40 | 41 | |
41 | 42 | // Pick something valid... |
42 | - if (!isset($_REQUEST['sa']) || !isset($subActions[$_REQUEST['sa']])) |
|
43 | - $_REQUEST['sa'] = 'replies'; |
|
43 | + if (!isset($_REQUEST['sa']) || !isset($subActions[$_REQUEST['sa']])) { |
|
44 | + $_REQUEST['sa'] = 'replies'; |
|
45 | + } |
|
44 | 46 | |
45 | 47 | call_integration_hook('integrate_post_moderation', array(&$subActions)); |
46 | 48 | |
@@ -68,13 +70,15 @@ discard block |
||
68 | 70 | $approve_boards = $approve_boards == array(0) ? $filter_board : array_intersect($approve_boards, $filter_board); |
69 | 71 | } |
70 | 72 | |
71 | - if ($approve_boards == array(0)) |
|
72 | - $approve_query = ''; |
|
73 | - elseif (!empty($approve_boards)) |
|
74 | - $approve_query = ' AND m.id_board IN (' . implode(',', $approve_boards) . ')'; |
|
73 | + if ($approve_boards == array(0)) { |
|
74 | + $approve_query = ''; |
|
75 | + } elseif (!empty($approve_boards)) { |
|
76 | + $approve_query = ' AND m.id_board IN (' . implode(',', $approve_boards) . ')'; |
|
77 | + } |
|
75 | 78 | // Nada, zip, etc... |
76 | - else |
|
77 | - $approve_query = ' AND 1=0'; |
|
79 | + else { |
|
80 | + $approve_query = ' AND 1=0'; |
|
81 | + } |
|
78 | 82 | |
79 | 83 | // We also need to know where we can delete topics and/or replies to. |
80 | 84 | if ($context['current_view'] == 'topics') |
@@ -82,8 +86,7 @@ discard block |
||
82 | 86 | $delete_own_boards = boardsAllowedTo('remove_own'); |
83 | 87 | $delete_any_boards = boardsAllowedTo('remove_any'); |
84 | 88 | $delete_own_replies = array(); |
85 | - } |
|
86 | - else |
|
89 | + } else |
|
87 | 90 | { |
88 | 91 | $delete_own_boards = boardsAllowedTo('delete_own'); |
89 | 92 | $delete_any_boards = boardsAllowedTo('delete_any'); |
@@ -92,21 +95,25 @@ discard block |
||
92 | 95 | |
93 | 96 | $toAction = array(); |
94 | 97 | // Check if we have something to do? |
95 | - if (isset($_GET['approve'])) |
|
96 | - $toAction[] = (int) $_GET['approve']; |
|
98 | + if (isset($_GET['approve'])) { |
|
99 | + $toAction[] = (int) $_GET['approve']; |
|
100 | + } |
|
97 | 101 | // Just a deletion? |
98 | - elseif (isset($_GET['delete'])) |
|
99 | - $toAction[] = (int) $_GET['delete']; |
|
102 | + elseif (isset($_GET['delete'])) { |
|
103 | + $toAction[] = (int) $_GET['delete']; |
|
104 | + } |
|
100 | 105 | // Lots of approvals? |
101 | - elseif (isset($_POST['item'])) |
|
102 | - foreach ($_POST['item'] as $item) |
|
106 | + elseif (isset($_POST['item'])) { |
|
107 | + foreach ($_POST['item'] as $item) |
|
103 | 108 | $toAction[] = (int) $item; |
109 | + } |
|
104 | 110 | |
105 | 111 | // What are we actually doing. |
106 | - if (isset($_GET['approve']) || (isset($_POST['do']) && $_POST['do'] == 'approve')) |
|
107 | - $curAction = 'approve'; |
|
108 | - elseif (isset($_GET['delete']) || (isset($_POST['do']) && $_POST['do'] == 'delete')) |
|
109 | - $curAction = 'delete'; |
|
112 | + if (isset($_GET['approve']) || (isset($_POST['do']) && $_POST['do'] == 'approve')) { |
|
113 | + $curAction = 'approve'; |
|
114 | + } elseif (isset($_GET['delete']) || (isset($_POST['do']) && $_POST['do'] == 'delete')) { |
|
115 | + $curAction = 'delete'; |
|
116 | + } |
|
110 | 117 | |
111 | 118 | // Right, so we have something to do? |
112 | 119 | if (!empty($toAction) && isset($curAction)) |
@@ -135,8 +142,9 @@ discard block |
||
135 | 142 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
136 | 143 | { |
137 | 144 | // If it's not within what our view is ignore it... |
138 | - if (($row['id_msg'] == $row['id_first_msg'] && $context['current_view'] != 'topics') || ($row['id_msg'] != $row['id_first_msg'] && $context['current_view'] != 'replies')) |
|
139 | - continue; |
|
145 | + if (($row['id_msg'] == $row['id_first_msg'] && $context['current_view'] != 'topics') || ($row['id_msg'] != $row['id_first_msg'] && $context['current_view'] != 'replies')) { |
|
146 | + continue; |
|
147 | + } |
|
140 | 148 | |
141 | 149 | $can_add = false; |
142 | 150 | // If we're approving this is simple. |
@@ -148,18 +156,22 @@ discard block |
||
148 | 156 | elseif ($curAction == 'delete') |
149 | 157 | { |
150 | 158 | // Own post is easy! |
151 | - if ($row['id_member'] == $user_info['id'] && ($delete_own_boards == array(0) || in_array($row['id_board'], $delete_own_boards))) |
|
152 | - $can_add = true; |
|
159 | + if ($row['id_member'] == $user_info['id'] && ($delete_own_boards == array(0) || in_array($row['id_board'], $delete_own_boards))) { |
|
160 | + $can_add = true; |
|
161 | + } |
|
153 | 162 | // Is it a reply to their own topic? |
154 | - elseif ($row['id_member'] == $row['id_member_started'] && $row['id_msg'] != $row['id_first_msg'] && ($delete_own_replies == array(0) || in_array($row['id_board'], $delete_own_replies))) |
|
155 | - $can_add = true; |
|
163 | + elseif ($row['id_member'] == $row['id_member_started'] && $row['id_msg'] != $row['id_first_msg'] && ($delete_own_replies == array(0) || in_array($row['id_board'], $delete_own_replies))) { |
|
164 | + $can_add = true; |
|
165 | + } |
|
156 | 166 | // Someone elses? |
157 | - elseif ($row['id_member'] != $user_info['id'] && ($delete_any_boards == array(0) || in_array($row['id_board'], $delete_any_boards))) |
|
158 | - $can_add = true; |
|
167 | + elseif ($row['id_member'] != $user_info['id'] && ($delete_any_boards == array(0) || in_array($row['id_board'], $delete_any_boards))) { |
|
168 | + $can_add = true; |
|
169 | + } |
|
159 | 170 | } |
160 | 171 | |
161 | - if ($can_add) |
|
162 | - $anItem = $context['current_view'] == 'topics' ? $row['id_topic'] : $row['id_msg']; |
|
172 | + if ($can_add) { |
|
173 | + $anItem = $context['current_view'] == 'topics' ? $row['id_topic'] : $row['id_msg']; |
|
174 | + } |
|
163 | 175 | $toAction[] = $anItem; |
164 | 176 | |
165 | 177 | // All clear. What have we got now, what, what? |
@@ -177,8 +189,7 @@ discard block |
||
177 | 189 | if ($curAction == 'approve') |
178 | 190 | { |
179 | 191 | approveMessages($toAction, $details, $context['current_view']); |
180 | - } |
|
181 | - else |
|
192 | + } else |
|
182 | 193 | { |
183 | 194 | removeMessages($toAction, $details, $context['current_view']); |
184 | 195 | } |
@@ -265,16 +276,19 @@ discard block |
||
265 | 276 | for ($i = 1; $row = $smcFunc['db_fetch_assoc']($request); $i++) |
266 | 277 | { |
267 | 278 | // Can delete is complicated, let's solve it first... is it their own post? |
268 | - if ($row['id_member'] == $user_info['id'] && ($delete_own_boards == array(0) || in_array($row['id_board'], $delete_own_boards))) |
|
269 | - $can_delete = true; |
|
279 | + if ($row['id_member'] == $user_info['id'] && ($delete_own_boards == array(0) || in_array($row['id_board'], $delete_own_boards))) { |
|
280 | + $can_delete = true; |
|
281 | + } |
|
270 | 282 | // Is it a reply to their own topic? |
271 | - elseif ($row['id_member'] == $row['id_member_started'] && $row['id_msg'] != $row['id_first_msg'] && ($delete_own_replies == array(0) || in_array($row['id_board'], $delete_own_replies))) |
|
272 | - $can_delete = true; |
|
283 | + elseif ($row['id_member'] == $row['id_member_started'] && $row['id_msg'] != $row['id_first_msg'] && ($delete_own_replies == array(0) || in_array($row['id_board'], $delete_own_replies))) { |
|
284 | + $can_delete = true; |
|
285 | + } |
|
273 | 286 | // Someone elses? |
274 | - elseif ($row['id_member'] != $user_info['id'] && ($delete_any_boards == array(0) || in_array($row['id_board'], $delete_any_boards))) |
|
275 | - $can_delete = true; |
|
276 | - else |
|
277 | - $can_delete = false; |
|
287 | + elseif ($row['id_member'] != $user_info['id'] && ($delete_any_boards == array(0) || in_array($row['id_board'], $delete_any_boards))) { |
|
288 | + $can_delete = true; |
|
289 | + } else { |
|
290 | + $can_delete = false; |
|
291 | + } |
|
278 | 292 | |
279 | 293 | $context['unapproved_items'][] = array( |
280 | 294 | 'id' => $row['id_msg'], |
@@ -323,28 +337,31 @@ discard block |
||
323 | 337 | // Once again, permissions are king! |
324 | 338 | $approve_boards = boardsAllowedTo('approve_posts'); |
325 | 339 | |
326 | - if ($approve_boards == array(0)) |
|
327 | - $approve_query = ''; |
|
328 | - elseif (!empty($approve_boards)) |
|
329 | - $approve_query = ' AND m.id_board IN (' . implode(',', $approve_boards) . ')'; |
|
330 | - else |
|
331 | - $approve_query = ' AND 1=0'; |
|
340 | + if ($approve_boards == array(0)) { |
|
341 | + $approve_query = ''; |
|
342 | + } elseif (!empty($approve_boards)) { |
|
343 | + $approve_query = ' AND m.id_board IN (' . implode(',', $approve_boards) . ')'; |
|
344 | + } else { |
|
345 | + $approve_query = ' AND 1=0'; |
|
346 | + } |
|
332 | 347 | |
333 | 348 | // Get together the array of things to act on, if any. |
334 | 349 | $attachments = array(); |
335 | - if (isset($_GET['approve'])) |
|
336 | - $attachments[] = (int) $_GET['approve']; |
|
337 | - elseif (isset($_GET['delete'])) |
|
338 | - $attachments[] = (int) $_GET['delete']; |
|
339 | - elseif (isset($_POST['item'])) |
|
340 | - foreach ($_POST['item'] as $item) |
|
350 | + if (isset($_GET['approve'])) { |
|
351 | + $attachments[] = (int) $_GET['approve']; |
|
352 | + } elseif (isset($_GET['delete'])) { |
|
353 | + $attachments[] = (int) $_GET['delete']; |
|
354 | + } elseif (isset($_POST['item'])) { |
|
355 | + foreach ($_POST['item'] as $item) |
|
341 | 356 | $attachments[] = (int) $item; |
357 | + } |
|
342 | 358 | |
343 | 359 | // Are we approving or deleting? |
344 | - if (isset($_GET['approve']) || (isset($_POST['do']) && $_POST['do'] == 'approve')) |
|
345 | - $curAction = 'approve'; |
|
346 | - elseif (isset($_GET['delete']) || (isset($_POST['do']) && $_POST['do'] == 'delete')) |
|
347 | - $curAction = 'delete'; |
|
360 | + if (isset($_GET['approve']) || (isset($_POST['do']) && $_POST['do'] == 'approve')) { |
|
361 | + $curAction = 'approve'; |
|
362 | + } elseif (isset($_GET['delete']) || (isset($_POST['do']) && $_POST['do'] == 'delete')) { |
|
363 | + $curAction = 'delete'; |
|
364 | + } |
|
348 | 365 | |
349 | 366 | // Something to do, let's do it! |
350 | 367 | if (!empty($attachments) && isset($curAction)) |
@@ -372,17 +389,19 @@ discard block |
||
372 | 389 | ) |
373 | 390 | ); |
374 | 391 | $attachments = array(); |
375 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
376 | - $attachments[] = $row['id_attach']; |
|
392 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
393 | + $attachments[] = $row['id_attach']; |
|
394 | + } |
|
377 | 395 | $smcFunc['db_free_result']($request); |
378 | 396 | |
379 | 397 | // Assuming it wasn't all like, proper illegal, we can do the approving. |
380 | 398 | if (!empty($attachments)) |
381 | 399 | { |
382 | - if ($curAction == 'approve') |
|
383 | - ApproveAttachments($attachments); |
|
384 | - else |
|
385 | - removeAttachments(array('id_attach' => $attachments, 'do_logging' => true)); |
|
400 | + if ($curAction == 'approve') { |
|
401 | + ApproveAttachments($attachments); |
|
402 | + } else { |
|
403 | + removeAttachments(array('id_attach' => $attachments, 'do_logging' => true)); |
|
404 | + } |
|
386 | 405 | } |
387 | 406 | } |
388 | 407 | |
@@ -682,15 +701,16 @@ discard block |
||
682 | 701 | { |
683 | 702 | approveTopics($topic, !$approved); |
684 | 703 | |
685 | - if ($starter != $user_info['id']) |
|
686 | - logAction(($approved ? 'un' : '') . 'approve_topic', array('topic' => $topic, 'subject' => $subject, 'member' => $starter, 'board' => $board)); |
|
687 | - } |
|
688 | - else |
|
704 | + if ($starter != $user_info['id']) { |
|
705 | + logAction(($approved ? 'un' : '') . 'approve_topic', array('topic' => $topic, 'subject' => $subject, 'member' => $starter, 'board' => $board)); |
|
706 | + } |
|
707 | + } else |
|
689 | 708 | { |
690 | 709 | approvePosts($_REQUEST['msg'], !$approved); |
691 | 710 | |
692 | - if ($poster != $user_info['id']) |
|
693 | - logAction(($approved ? 'un' : '') . 'approve', array('topic' => $topic, 'subject' => $subject, 'member' => $poster, 'board' => $board)); |
|
711 | + if ($poster != $user_info['id']) { |
|
712 | + logAction(($approved ? 'un' : '') . 'approve', array('topic' => $topic, 'subject' => $subject, 'member' => $poster, 'board' => $board)); |
|
713 | + } |
|
694 | 714 | } |
695 | 715 | |
696 | 716 | redirectexit('topic=' . $topic . '.msg' . $_REQUEST['msg'] . '#msg' . $_REQUEST['msg']); |
@@ -716,8 +736,7 @@ discard block |
||
716 | 736 | { |
717 | 737 | logAction('approve_topic', array('topic' => $topic, 'subject' => $messageDetails[$topic]['subject'], 'member' => $messageDetails[$topic]['member'], 'board' => $messageDetails[$topic]['board'])); |
718 | 738 | } |
719 | - } |
|
720 | - else |
|
739 | + } else |
|
721 | 740 | { |
722 | 741 | approvePosts($messages); |
723 | 742 | // and tell the world about it again |
@@ -745,8 +764,9 @@ discard block |
||
745 | 764 | ) |
746 | 765 | ); |
747 | 766 | $msgs = array(); |
748 | - while ($row = $smcFunc['db_fetch_row']($request)) |
|
749 | - $msgs[] = $row[0]; |
|
767 | + while ($row = $smcFunc['db_fetch_row']($request)) { |
|
768 | + $msgs[] = $row[0]; |
|
769 | + } |
|
750 | 770 | $smcFunc['db_free_result']($request); |
751 | 771 | |
752 | 772 | if (!empty($msgs)) |
@@ -765,8 +785,9 @@ discard block |
||
765 | 785 | ) |
766 | 786 | ); |
767 | 787 | $attaches = array(); |
768 | - while ($row = $smcFunc['db_fetch_row']($request)) |
|
769 | - $attaches[] = $row[0]; |
|
788 | + while ($row = $smcFunc['db_fetch_row']($request)) { |
|
789 | + $attaches[] = $row[0]; |
|
790 | + } |
|
770 | 791 | $smcFunc['db_free_result']($request); |
771 | 792 | |
772 | 793 | if (!empty($attaches)) |
@@ -794,12 +815,12 @@ discard block |
||
794 | 815 | { |
795 | 816 | removeTopics($messages); |
796 | 817 | // and tell the world about it |
797 | - foreach ($messages as $topic) |
|
798 | - // Note, only log topic ID in native form if it's not gone forever. |
|
818 | + foreach ($messages as $topic) { |
|
819 | + // Note, only log topic ID in native form if it's not gone forever. |
|
799 | 820 | logAction('remove', array( |
800 | 821 | (empty($modSettings['recycle_enable']) || $modSettings['recycle_board'] != $messageDetails[$topic]['board'] ? 'topic' : 'old_topic_id') => $topic, 'subject' => $messageDetails[$topic]['subject'], 'member' => $messageDetails[$topic]['member'], 'board' => $messageDetails[$topic]['board'])); |
801 | - } |
|
802 | - else |
|
822 | + } |
|
823 | + } else |
|
803 | 824 | { |
804 | 825 | foreach ($messages as $post) |
805 | 826 | { |