@@ -64,9 +64,10 @@ discard block |
||
64 | 64 | <strong>', $txt['administrators'], ':</strong> |
65 | 65 | ', implode(', ', $context['administrators']); |
66 | 66 | // If we have lots of admins... don't show them all. |
67 | - if (!empty($context['more_admins_link'])) |
|
68 | - echo ' |
|
67 | + if (!empty($context['more_admins_link'])) { |
|
68 | + echo ' |
|
69 | 69 | (', $context['more_admins_link'], ')'; |
70 | + } |
|
70 | 71 | |
71 | 72 | echo ' |
72 | 73 | </div><!-- #version_details --> |
@@ -83,17 +84,19 @@ discard block |
||
83 | 84 | foreach ($area['areas'] as $item_id => $item) |
84 | 85 | { |
85 | 86 | // No point showing the 'home' page here, we're already on it! |
86 | - if ($area_id == 'forum' && $item_id == 'index') |
|
87 | - continue; |
|
87 | + if ($area_id == 'forum' && $item_id == 'index') { |
|
88 | + continue; |
|
89 | + } |
|
88 | 90 | |
89 | 91 | $url = isset($item['url']) ? $item['url'] : $scripturl . '?action=admin;area=' . $item_id . (!empty($context[$context['admin_menu_name']]['extra_parameters']) ? $context[$context['admin_menu_name']]['extra_parameters'] : ''); |
90 | 92 | |
91 | - if (!empty($item['icon_file'])) |
|
92 | - echo ' |
|
93 | + if (!empty($item['icon_file'])) { |
|
94 | + echo ' |
|
93 | 95 | <a href="', $url, '" class="admin_group', !empty($item['inactive']) ? ' inactive' : '', '"><img class="large_admin_menu_icon_file" src="', $item['icon_file'], '" alt="">', $item['label'], '</a>'; |
94 | - else |
|
95 | - echo ' |
|
96 | + } else { |
|
97 | + echo ' |
|
96 | 98 | <a href="', $url, '"><span class="large_', $item['icon_class'], !empty($item['inactive']) ? ' inactive' : '', '"></span>', $item['label'], '</a>'; |
99 | + } |
|
97 | 100 | } |
98 | 101 | |
99 | 102 | echo ' |
@@ -104,10 +107,11 @@ discard block |
||
104 | 107 | </div><!-- #admincenter -->'; |
105 | 108 | |
106 | 109 | // The below functions include all the scripts needed from the simplemachines.org site. The language and format are passed for internationalization. |
107 | - if (empty($modSettings['disable_smf_js'])) |
|
108 | - echo ' |
|
110 | + if (empty($modSettings['disable_smf_js'])) { |
|
111 | + echo ' |
|
109 | 112 | <script src="', $scripturl, '?action=viewsmfile;filename=current-version.js"></script> |
110 | 113 | <script src="', $scripturl, '?action=viewsmfile;filename=latest-news.js"></script>'; |
114 | + } |
|
111 | 115 | |
112 | 116 | // This sets the announcements and current versions themselves ;). |
113 | 117 | echo ' |
@@ -186,9 +190,10 @@ discard block |
||
186 | 190 | <em>', $version['version'], '</em>'; |
187 | 191 | |
188 | 192 | // more details for this item, show them a link |
189 | - if ($context['can_admin'] && isset($version['more'])) |
|
190 | - echo |
|
193 | + if ($context['can_admin'] && isset($version['more'])) { |
|
194 | + echo |
|
191 | 195 | ' <a href="', $scripturl, $version['more'], ';', $context['session_var'], '=', $context['session_id'], '">', $txt['version_check_more'], '</a>'; |
196 | + } |
|
192 | 197 | echo ' |
193 | 198 | <br>'; |
194 | 199 | } |
@@ -219,21 +224,23 @@ discard block |
||
219 | 224 | |
220 | 225 | foreach ($context['credits'] as $section) |
221 | 226 | { |
222 | - if (isset($section['pretext'])) |
|
223 | - echo ' |
|
227 | + if (isset($section['pretext'])) { |
|
228 | + echo ' |
|
224 | 229 | <p>', $section['pretext'], '</p> |
225 | 230 | <hr>'; |
231 | + } |
|
226 | 232 | |
227 | 233 | echo ' |
228 | 234 | <dl>'; |
229 | 235 | |
230 | 236 | foreach ($section['groups'] as $group) |
231 | 237 | { |
232 | - if (isset($group['title'])) |
|
233 | - echo ' |
|
238 | + if (isset($group['title'])) { |
|
239 | + echo ' |
|
234 | 240 | <dt> |
235 | 241 | <strong>', $group['title'], ':</strong> |
236 | 242 | </dt>'; |
243 | + } |
|
237 | 244 | |
238 | 245 | echo ' |
239 | 246 | <dd>', implode(', ', $group['members']), '</dd>'; |
@@ -242,10 +249,11 @@ discard block |
||
242 | 249 | echo ' |
243 | 250 | </dl>'; |
244 | 251 | |
245 | - if (isset($section['posttext'])) |
|
246 | - echo ' |
|
252 | + if (isset($section['posttext'])) { |
|
253 | + echo ' |
|
247 | 254 | <hr> |
248 | 255 | <p>', $section['posttext'], '</p>'; |
256 | + } |
|
249 | 257 | } |
250 | 258 | |
251 | 259 | echo ' |
@@ -261,9 +269,10 @@ discard block |
||
261 | 269 | smfSupportVersions.forum = "', $context['forum_version'], '";'; |
262 | 270 | |
263 | 271 | // Don't worry, none of this is logged, it's just used to give information that might be of use. |
264 | - foreach ($context['current_versions'] as $variable => $version) |
|
265 | - echo ' |
|
272 | + foreach ($context['current_versions'] as $variable => $version) { |
|
273 | + echo ' |
|
266 | 274 | smfSupportVersions.', $variable, ' = "', $version['version'], '";'; |
275 | + } |
|
267 | 276 | |
268 | 277 | // Now we just have to include the script and wait ;). |
269 | 278 | echo ' |
@@ -360,8 +369,8 @@ discard block |
||
360 | 369 | <tbody>'; |
361 | 370 | |
362 | 371 | // Loop through every source file displaying its version - using javascript. |
363 | - foreach ($context['file_versions'] as $filename => $version) |
|
364 | - echo ' |
|
372 | + foreach ($context['file_versions'] as $filename => $version) { |
|
373 | + echo ' |
|
365 | 374 | <tr class="windowbg"> |
366 | 375 | <td class="half_table"> |
367 | 376 | ', $filename, ' |
@@ -373,6 +382,7 @@ discard block |
||
373 | 382 | <em id="currentSources', $filename, '">??</em> |
374 | 383 | </td> |
375 | 384 | </tr>'; |
385 | + } |
|
376 | 386 | |
377 | 387 | // Default template files. |
378 | 388 | echo ' |
@@ -398,8 +408,8 @@ discard block |
||
398 | 408 | <table id="Default" class="table_grid"> |
399 | 409 | <tbody>'; |
400 | 410 | |
401 | - foreach ($context['default_template_versions'] as $filename => $version) |
|
402 | - echo ' |
|
411 | + foreach ($context['default_template_versions'] as $filename => $version) { |
|
412 | + echo ' |
|
403 | 413 | <tr class="windowbg"> |
404 | 414 | <td class="half_table"> |
405 | 415 | ', $filename, ' |
@@ -411,6 +421,7 @@ discard block |
||
411 | 421 | <em id="currentDefault', $filename, '">??</em> |
412 | 422 | </td> |
413 | 423 | </tr>'; |
424 | + } |
|
414 | 425 | |
415 | 426 | // Now the language files... |
416 | 427 | echo ' |
@@ -438,8 +449,8 @@ discard block |
||
438 | 449 | |
439 | 450 | foreach ($context['default_language_versions'] as $language => $files) |
440 | 451 | { |
441 | - foreach ($files as $filename => $version) |
|
442 | - echo ' |
|
452 | + foreach ($files as $filename => $version) { |
|
453 | + echo ' |
|
443 | 454 | <tr class="windowbg"> |
444 | 455 | <td class="half_table"> |
445 | 456 | ', $filename, '.<em>', $language, '</em>.php |
@@ -451,6 +462,7 @@ discard block |
||
451 | 462 | <em id="current', $filename, '.', $language, '">??</em> |
452 | 463 | </td> |
453 | 464 | </tr>'; |
465 | + } |
|
454 | 466 | } |
455 | 467 | |
456 | 468 | echo ' |
@@ -480,8 +492,8 @@ discard block |
||
480 | 492 | <table id="Templates" class="table_grid"> |
481 | 493 | <tbody>'; |
482 | 494 | |
483 | - foreach ($context['template_versions'] as $filename => $version) |
|
484 | - echo ' |
|
495 | + foreach ($context['template_versions'] as $filename => $version) { |
|
496 | + echo ' |
|
485 | 497 | <tr class="windowbg"> |
486 | 498 | <td class="half_table"> |
487 | 499 | ', $filename, ' |
@@ -493,6 +505,7 @@ discard block |
||
493 | 505 | <em id="currentTemplates', $filename, '">??</em> |
494 | 506 | </td> |
495 | 507 | </tr>'; |
508 | + } |
|
496 | 509 | |
497 | 510 | echo ' |
498 | 511 | </tbody> |
@@ -522,8 +535,8 @@ discard block |
||
522 | 535 | <table id="Tasks" class="table_grid"> |
523 | 536 | <tbody>'; |
524 | 537 | |
525 | - foreach ($context['tasks_versions'] as $filename => $version) |
|
526 | - echo ' |
|
538 | + foreach ($context['tasks_versions'] as $filename => $version) { |
|
539 | + echo ' |
|
527 | 540 | <tr class="windowbg"> |
528 | 541 | <td class="half_table"> |
529 | 542 | ', $filename, ' |
@@ -535,6 +548,7 @@ discard block |
||
535 | 548 | <em id="currentTasks', $filename, '">??</em> |
536 | 549 | </td> |
537 | 550 | </tr>'; |
551 | + } |
|
538 | 552 | |
539 | 553 | echo ' |
540 | 554 | </tbody> |
@@ -576,9 +590,10 @@ discard block |
||
576 | 590 | { |
577 | 591 | global $context, $scripturl, $txt, $modSettings; |
578 | 592 | |
579 | - if (!empty($context['saved_successful'])) |
|
580 | - echo ' |
|
593 | + if (!empty($context['saved_successful'])) { |
|
594 | + echo ' |
|
581 | 595 | <div class="infobox">', $txt['settings_saved'], '</div>'; |
596 | + } |
|
582 | 597 | |
583 | 598 | // First section is for adding/removing words from the censored list. |
584 | 599 | echo ' |
@@ -593,11 +608,12 @@ discard block |
||
593 | 608 | <p>', $txt['admin_censored_where'], '</p>'; |
594 | 609 | |
595 | 610 | // Show text boxes for censoring [bad ] => [good ]. |
596 | - foreach ($context['censored_words'] as $vulgar => $proper) |
|
597 | - echo ' |
|
611 | + foreach ($context['censored_words'] as $vulgar => $proper) { |
|
612 | + echo ' |
|
598 | 613 | <div class="block"> |
599 | 614 | <input type="text" name="censor_vulgar[]" value="', $vulgar, '" size="30"> => <input type="text" name="censor_proper[]" value="', $proper, '" size="30"> |
600 | 615 | </div>'; |
616 | + } |
|
601 | 617 | |
602 | 618 | // Now provide a way to censor more words. |
603 | 619 | echo ' |
@@ -672,19 +688,21 @@ discard block |
||
672 | 688 | <div class="windowbg2 noup"> |
673 | 689 | ', $txt['not_done_reason']; |
674 | 690 | |
675 | - if (!empty($context['continue_percent'])) |
|
676 | - echo ' |
|
691 | + if (!empty($context['continue_percent'])) { |
|
692 | + echo ' |
|
677 | 693 | <div class="progress_bar"> |
678 | 694 | <div class="full_bar">', $context['continue_percent'], '%</div> |
679 | 695 | <div class="green_percent" style="width: ', $context['continue_percent'], '%;"> </div> |
680 | 696 | </div>'; |
697 | + } |
|
681 | 698 | |
682 | - if (!empty($context['substep_enabled'])) |
|
683 | - echo ' |
|
699 | + if (!empty($context['substep_enabled'])) { |
|
700 | + echo ' |
|
684 | 701 | <div class="progress_bar"> |
685 | 702 | <div class="full_bar">', $context['substep_title'], ' (', $context['substep_continue_percent'], '%)</div> |
686 | 703 | <div class="blue_percent" style="width: ', $context['substep_continue_percent'], '%;"> </div> |
687 | 704 | </div>'; |
705 | + } |
|
688 | 706 | |
689 | 707 | echo ' |
690 | 708 | <form action="', $scripturl, $context['continue_get_data'], '" method="post" accept-charset="', $context['character_set'], '" name="autoSubmit" id="autoSubmit"> |
@@ -719,35 +737,40 @@ discard block |
||
719 | 737 | { |
720 | 738 | global $context, $txt, $scripturl; |
721 | 739 | |
722 | - if (!empty($context['saved_successful'])) |
|
723 | - echo ' |
|
740 | + if (!empty($context['saved_successful'])) { |
|
741 | + echo ' |
|
724 | 742 | <div class="infobox">', $txt['settings_saved'], '</div>'; |
725 | - elseif (!empty($context['saved_failed'])) |
|
726 | - echo ' |
|
743 | + } elseif (!empty($context['saved_failed'])) { |
|
744 | + echo ' |
|
727 | 745 | <div class="errorbox">', sprintf($txt['settings_not_saved'], $context['saved_failed']), '</div>'; |
746 | + } |
|
728 | 747 | |
729 | - if (!empty($context['settings_pre_javascript'])) |
|
730 | - echo ' |
|
748 | + if (!empty($context['settings_pre_javascript'])) { |
|
749 | + echo ' |
|
731 | 750 | <script>', $context['settings_pre_javascript'], '</script>'; |
751 | + } |
|
732 | 752 | |
733 | - if (!empty($context['settings_insert_above'])) |
|
734 | - echo $context['settings_insert_above']; |
|
753 | + if (!empty($context['settings_insert_above'])) { |
|
754 | + echo $context['settings_insert_above']; |
|
755 | + } |
|
735 | 756 | |
736 | 757 | echo ' |
737 | 758 | <div id="admincenter"> |
738 | 759 | <form id="admin_form_wrapper" action="', $context['post_url'], '" method="post" accept-charset="', $context['character_set'], '"', !empty($context['force_form_onsubmit']) ? ' onsubmit="' . $context['force_form_onsubmit'] . '"' : '', '>'; |
739 | 760 | |
740 | 761 | // Is there a custom title? |
741 | - if (isset($context['settings_title'])) |
|
742 | - echo ' |
|
762 | + if (isset($context['settings_title'])) { |
|
763 | + echo ' |
|
743 | 764 | <div class="cat_bar"> |
744 | 765 | <h3 class="catbg">', $context['settings_title'], '</h3> |
745 | 766 | </div>'; |
767 | + } |
|
746 | 768 | |
747 | 769 | // Have we got a message to display? |
748 | - if (!empty($context['settings_message'])) |
|
749 | - echo ' |
|
770 | + if (!empty($context['settings_message'])) { |
|
771 | + echo ' |
|
750 | 772 | <div class="information">', $context['settings_message'], '</div>'; |
773 | + } |
|
751 | 774 | |
752 | 775 | // Now actually loop through all the variables. |
753 | 776 | $is_open = false; |
@@ -800,8 +823,9 @@ discard block |
||
800 | 823 | // Hang about? Are you pulling my leg - a callback?! |
801 | 824 | if (is_array($config_var) && $config_var['type'] == 'callback') |
802 | 825 | { |
803 | - if (function_exists('template_callback_' . $config_var['name'])) |
|
804 | - call_user_func('template_callback_' . $config_var['name']); |
|
826 | + if (function_exists('template_callback_' . $config_var['name'])) { |
|
827 | + call_user_func('template_callback_' . $config_var['name']); |
|
828 | + } |
|
805 | 829 | |
806 | 830 | continue; |
807 | 831 | } |
@@ -831,9 +855,10 @@ discard block |
||
831 | 855 | $text_types = array('color', 'date', 'datetime', 'datetime-local', 'email', 'month', 'time'); |
832 | 856 | |
833 | 857 | // Show the [?] button. |
834 | - if ($config_var['help']) |
|
835 | - echo ' |
|
858 | + if ($config_var['help']) { |
|
859 | + echo ' |
|
836 | 860 | <a id="setting_', $config_var['name'], '_help" href="', $scripturl, '?action=helpadmin;help=', $config_var['help'], '" onclick="return reqOverlayDiv(this.href);"><span class="generic_icons help" title="', $txt['help'], '"></span></a> '; |
861 | + } |
|
837 | 862 | |
838 | 863 | echo ' |
839 | 864 | <a id="setting_', $config_var['name'], '"></a> <span', ($config_var['disabled'] ? ' style="color: #777777;"' : ($config_var['invalid'] ? ' class="error"' : '')), '><label for="', $config_var['name'], '">', $config_var['label'], '</label>', $subtext, ($config_var['type'] == 'password' ? '<br><em>' . $txt['admin_confirm_password'] . '</em>' : ''), '</span> |
@@ -842,22 +867,25 @@ discard block |
||
842 | 867 | $config_var['preinput']; |
843 | 868 | |
844 | 869 | // Show a check box. |
845 | - if ($config_var['type'] == 'check') |
|
846 | - echo ' |
|
870 | + if ($config_var['type'] == 'check') { |
|
871 | + echo ' |
|
847 | 872 | <input type="checkbox"', $javascript, $disabled, ' name="', $config_var['name'], '" id="', $config_var['name'], '"', ($config_var['value'] ? ' checked' : ''), ' value="1">'; |
873 | + } |
|
848 | 874 | // Escape (via htmlspecialchars.) the text box. |
849 | - elseif ($config_var['type'] == 'password') |
|
850 | - echo ' |
|
875 | + elseif ($config_var['type'] == 'password') { |
|
876 | + echo ' |
|
851 | 877 | <input type="password"', $disabled, $javascript, ' name="', $config_var['name'], '[0]"', ($config_var['size'] ? ' size="' . $config_var['size'] . '"' : ''), ' value="*#fakepass#*" onfocus="this.value = \'\'; this.form.', $config_var['name'], '.disabled = false;"><br> |
852 | 878 | <input type="password" disabled id="', $config_var['name'], '" name="', $config_var['name'], '[1]"', ($config_var['size'] ? ' size="' . $config_var['size'] . '"' : ''), '>'; |
879 | + } |
|
853 | 880 | // Show a selection box. |
854 | 881 | elseif ($config_var['type'] == 'select') |
855 | 882 | { |
856 | 883 | echo ' |
857 | 884 | <select name="', $config_var['name'], '" id="', $config_var['name'], '" ', $javascript, $disabled, (!empty($config_var['multiple']) ? ' multiple="multiple"' : ''), (!empty($config_var['multiple']) && !empty($config_var['size']) ? ' size="' . $config_var['size'] . '"' : ''), '>'; |
858 | - foreach ($config_var['data'] as $option) |
|
859 | - echo ' |
|
885 | + foreach ($config_var['data'] as $option) { |
|
886 | + echo ' |
|
860 | 887 | <option value="', $option[0], '"', (!empty($config_var['value']) && ($option[0] == $config_var['value'] || (!empty($config_var['multiple']) && in_array($option[0], $config_var['value']))) ? ' selected' : ''), '>', $option[1], '</option>'; |
888 | + } |
|
861 | 889 | echo ' |
862 | 890 | </select>'; |
863 | 891 | } |
@@ -874,16 +902,18 @@ discard block |
||
874 | 902 | |
875 | 903 | foreach ($context['board_list'] as $id_cat => $cat) |
876 | 904 | { |
877 | - if (!$first) |
|
878 | - echo ' |
|
905 | + if (!$first) { |
|
906 | + echo ' |
|
879 | 907 | <hr>'; |
908 | + } |
|
880 | 909 | echo ' |
881 | 910 | <strong>', $cat['name'], '</strong> |
882 | 911 | <ul>'; |
883 | 912 | |
884 | - foreach ($cat['boards'] as $id_board => $brd) |
|
885 | - echo ' |
|
913 | + foreach ($cat['boards'] as $id_board => $brd) { |
|
914 | + echo ' |
|
886 | 915 | <li><label><input type="checkbox" name="', $config_var['name'], '[', $brd['id'], ']" value="1"', in_array($brd['id'], $config_var['value']) ? ' checked' : '', '> ', $brd['child_level'] > 0 ? str_repeat(' ', $brd['child_level']) : '', $brd['name'], '</label></li>'; |
916 | + } |
|
887 | 917 | |
888 | 918 | echo ' |
889 | 919 | </ul>'; |
@@ -893,12 +923,14 @@ discard block |
||
893 | 923 | </fieldset>'; |
894 | 924 | } |
895 | 925 | // Text area? |
896 | - elseif ($config_var['type'] == 'large_text') |
|
897 | - echo ' |
|
926 | + elseif ($config_var['type'] == 'large_text') { |
|
927 | + echo ' |
|
898 | 928 | <textarea rows="', (!empty($config_var['size']) ? $config_var['size'] : (!empty($config_var['rows']) ? $config_var['rows'] : 4)), '" cols="', (!empty($config_var['cols']) ? $config_var['cols'] : 30), '" ', $javascript, $disabled, ' name="', $config_var['name'], '" id="', $config_var['name'], '">', $config_var['value'], '</textarea>'; |
929 | + } |
|
899 | 930 | // Permission group? |
900 | - elseif ($config_var['type'] == 'permissions') |
|
901 | - theme_inline_permissions($config_var['name']); |
|
931 | + elseif ($config_var['type'] == 'permissions') { |
|
932 | + theme_inline_permissions($config_var['name']); |
|
933 | + } |
|
902 | 934 | |
903 | 935 | // BBC selection? |
904 | 936 | elseif ($config_var['type'] == 'bbc') |
@@ -910,20 +942,22 @@ discard block |
||
910 | 942 | |
911 | 943 | foreach ($context['bbc_columns'] as $bbcColumn) |
912 | 944 | { |
913 | - foreach ($bbcColumn as $bbcTag) |
|
914 | - echo ' |
|
945 | + foreach ($bbcColumn as $bbcTag) { |
|
946 | + echo ' |
|
915 | 947 | <li class="list_bbc floatleft"> |
916 | 948 | <input type="checkbox" name="', $config_var['name'], '_enabledTags[]" id="tag_', $config_var['name'], '_', $bbcTag['tag'], '" value="', $bbcTag['tag'], '"', !in_array($bbcTag['tag'], $context['bbc_sections'][$config_var['name']]['disabled']) ? ' checked' : '', '> <label for="tag_', $config_var['name'], '_', $bbcTag['tag'], '">', $bbcTag['tag'], '</label>', $bbcTag['show_help'] ? ' (<a href="' . $scripturl . '?action=helpadmin;help=tag_' . $bbcTag['tag'] . '" onclick="return reqOverlayDiv(this.href);">?</a>)' : '', ' |
917 | 949 | </li>'; |
950 | + } |
|
918 | 951 | } |
919 | 952 | echo ' </ul> |
920 | 953 | <input type="checkbox" id="bbc_', $config_var['name'], '_select_all" onclick="invertAll(this, this.form, \'', $config_var['name'], '_enabledTags\');"', $context['bbc_sections'][$config_var['name']]['all_selected'] ? ' checked' : '', '> <label for="bbc_', $config_var['name'], '_select_all"><em>', $txt['bbcTagsToUse_select_all'], '</em></label> |
921 | 954 | </fieldset>'; |
922 | 955 | } |
923 | 956 | // A simple message? |
924 | - elseif ($config_var['type'] == 'var_message') |
|
925 | - echo ' |
|
957 | + elseif ($config_var['type'] == 'var_message') { |
|
958 | + echo ' |
|
926 | 959 | <div', !empty($config_var['name']) ? ' id="' . $config_var['name'] . '"' : '', '>', $config_var['var_message'], '</div>'; |
960 | + } |
|
927 | 961 | // Assume it must be a text box |
928 | 962 | else |
929 | 963 | { |
@@ -948,63 +982,70 @@ discard block |
||
948 | 982 | ' . $config_var['postinput'] : '',' |
949 | 983 | </dd>'; |
950 | 984 | } |
951 | - } |
|
952 | - |
|
953 | - else |
|
985 | + } else |
|
954 | 986 | { |
955 | 987 | // Just show a separator. |
956 | - if ($config_var == '') |
|
957 | - echo ' |
|
988 | + if ($config_var == '') { |
|
989 | + echo ' |
|
958 | 990 | </dl> |
959 | 991 | <hr> |
960 | 992 | <dl class="settings">'; |
961 | - else |
|
962 | - echo ' |
|
993 | + } else { |
|
994 | + echo ' |
|
963 | 995 | <dd> |
964 | 996 | <strong>' . $config_var . '</strong> |
965 | 997 | </dd>'; |
998 | + } |
|
966 | 999 | } |
967 | 1000 | } |
968 | 1001 | |
969 | - if ($is_open) |
|
970 | - echo ' |
|
1002 | + if ($is_open) { |
|
1003 | + echo ' |
|
971 | 1004 | </dl>'; |
1005 | + } |
|
972 | 1006 | |
973 | - if (empty($context['settings_save_dont_show'])) |
|
974 | - echo ' |
|
1007 | + if (empty($context['settings_save_dont_show'])) { |
|
1008 | + echo ' |
|
975 | 1009 | <input type="submit" value="', $txt['save'], '"', (!empty($context['save_disabled']) ? ' disabled' : ''), (!empty($context['settings_save_onclick']) ? ' onclick="' . $context['settings_save_onclick'] . '"' : ''), ' class="button">'; |
1010 | + } |
|
976 | 1011 | |
977 | - if ($is_open) |
|
978 | - echo ' |
|
1012 | + if ($is_open) { |
|
1013 | + echo ' |
|
979 | 1014 | </div><!-- .windowbg2 -->'; |
1015 | + } |
|
980 | 1016 | |
981 | 1017 | |
982 | 1018 | // At least one token has to be used! |
983 | - if (isset($context['admin-ssc_token'])) |
|
984 | - echo ' |
|
1019 | + if (isset($context['admin-ssc_token'])) { |
|
1020 | + echo ' |
|
985 | 1021 | <input type="hidden" name="', $context['admin-ssc_token_var'], '" value="', $context['admin-ssc_token'], '">'; |
1022 | + } |
|
986 | 1023 | |
987 | - if (isset($context['admin-dbsc_token'])) |
|
988 | - echo ' |
|
1024 | + if (isset($context['admin-dbsc_token'])) { |
|
1025 | + echo ' |
|
989 | 1026 | <input type="hidden" name="', $context['admin-dbsc_token_var'], '" value="', $context['admin-dbsc_token'], '">'; |
1027 | + } |
|
990 | 1028 | |
991 | - if (isset($context['admin-mp_token'])) |
|
992 | - echo ' |
|
1029 | + if (isset($context['admin-mp_token'])) { |
|
1030 | + echo ' |
|
993 | 1031 | <input type="hidden" name="', $context['admin-mp_token_var'], '" value="', $context['admin-mp_token'], '">'; |
1032 | + } |
|
994 | 1033 | |
995 | 1034 | echo ' |
996 | 1035 | <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '"> |
997 | 1036 | </form> |
998 | 1037 | </div><!-- #admincenter -->'; |
999 | 1038 | |
1000 | - if (!empty($context['settings_post_javascript'])) |
|
1001 | - echo ' |
|
1039 | + if (!empty($context['settings_post_javascript'])) { |
|
1040 | + echo ' |
|
1002 | 1041 | <script> |
1003 | 1042 | ', $context['settings_post_javascript'], ' |
1004 | 1043 | </script>'; |
1044 | + } |
|
1005 | 1045 | |
1006 | - if (!empty($context['settings_insert_below'])) |
|
1007 | - echo $context['settings_insert_below']; |
|
1046 | + if (!empty($context['settings_insert_below'])) { |
|
1047 | + echo $context['settings_insert_below']; |
|
1048 | + } |
|
1008 | 1049 | |
1009 | 1050 | // We may have added a board listing. If we did, we need to make it work. |
1010 | 1051 | addInlineJavascript(' |
@@ -1027,9 +1068,10 @@ discard block |
||
1027 | 1068 | { |
1028 | 1069 | global $context, $txt; |
1029 | 1070 | |
1030 | - if (!empty($context['saved_successful'])) |
|
1031 | - echo ' |
|
1071 | + if (!empty($context['saved_successful'])) { |
|
1072 | + echo ' |
|
1032 | 1073 | <div class="infobox">', $txt['settings_saved'], '</div>'; |
1074 | + } |
|
1033 | 1075 | |
1034 | 1076 | // Standard fields. |
1035 | 1077 | template_show_list('standard_profile_fields'); |
@@ -1062,11 +1104,12 @@ discard block |
||
1062 | 1104 | if (isset($_GET['msg'])) |
1063 | 1105 | { |
1064 | 1106 | loadLanguage('Errors'); |
1065 | - if (isset($txt['custom_option_' . $_GET['msg']])) |
|
1066 | - echo ' |
|
1107 | + if (isset($txt['custom_option_' . $_GET['msg']])) { |
|
1108 | + echo ' |
|
1067 | 1109 | <div class="errorbox">', |
1068 | 1110 | $txt['custom_option_' . $_GET['msg']], ' |
1069 | 1111 | </div>'; |
1112 | + } |
|
1070 | 1113 | } |
1071 | 1114 | |
1072 | 1115 | echo ' |
@@ -1133,9 +1176,10 @@ discard block |
||
1133 | 1176 | <dd> |
1134 | 1177 | <select name="placement" id="placement">'; |
1135 | 1178 | |
1136 | - foreach ($context['cust_profile_fields_placement'] as $order => $name) |
|
1137 | - echo ' |
|
1179 | + foreach ($context['cust_profile_fields_placement'] as $order => $name) { |
|
1180 | + echo ' |
|
1138 | 1181 | <option value="', $order, '"', $context['field']['placement'] == $order ? ' selected' : '', '>', $txt['custom_profile_placement_' . $name], '</option>'; |
1182 | + } |
|
1139 | 1183 | |
1140 | 1184 | echo ' |
1141 | 1185 | </select> |
@@ -1159,9 +1203,10 @@ discard block |
||
1159 | 1203 | <dd> |
1160 | 1204 | <select name="field_type" id="field_type" onchange="updateInputBoxes();">'; |
1161 | 1205 | |
1162 | - foreach (array('text', 'textarea', 'select', 'radio', 'check') as $field_type) |
|
1163 | - echo ' |
|
1206 | + foreach (array('text', 'textarea', 'select', 'radio', 'check') as $field_type) { |
|
1207 | + echo ' |
|
1164 | 1208 | <option value="', $field_type, '"', $context['field']['type'] == $field_type ? ' selected' : '', '>', $txt['custom_profile_type_' . $field_type], '</option>'; |
1209 | + } |
|
1165 | 1210 | |
1166 | 1211 | echo ' |
1167 | 1212 | </select> |
@@ -1262,9 +1307,10 @@ discard block |
||
1262 | 1307 | </fieldset> |
1263 | 1308 | <input type="submit" name="save" value="', $txt['save'], '" class="button">'; |
1264 | 1309 | |
1265 | - if ($context['fid']) |
|
1266 | - echo ' |
|
1310 | + if ($context['fid']) { |
|
1311 | + echo ' |
|
1267 | 1312 | <input type="submit" name="delete" value="', $txt['delete'], '" data-confirm="', $txt['custom_edit_delete_sure'], '" class="button you_sure">'; |
1313 | + } |
|
1268 | 1314 | |
1269 | 1315 | echo ' |
1270 | 1316 | </div><!-- .windowbg2 --> |
@@ -1307,8 +1353,7 @@ discard block |
||
1307 | 1353 | { |
1308 | 1354 | echo ' |
1309 | 1355 | <p class="centertext"><strong>', $txt['admin_search_results_none'], '</strong></p>'; |
1310 | - } |
|
1311 | - else |
|
1356 | + } else |
|
1312 | 1357 | { |
1313 | 1358 | echo ' |
1314 | 1359 | <ol class="search_results">'; |
@@ -1335,9 +1380,10 @@ discard block |
||
1335 | 1380 | <li> |
1336 | 1381 | <a href="', $result['url'], '"><strong>', $result['name'], '</strong></a> [', isset($txt['admin_search_section_' . $result['type']]) ? $txt['admin_search_section_' . $result['type']] : $result['type'], ']'; |
1337 | 1382 | |
1338 | - if ($result['help']) |
|
1339 | - echo ' |
|
1383 | + if ($result['help']) { |
|
1384 | + echo ' |
|
1340 | 1385 | <p class="double_height">', $result['help'], '</p>'; |
1386 | + } |
|
1341 | 1387 | |
1342 | 1388 | echo ' |
1343 | 1389 | </li>'; |
@@ -1377,10 +1423,11 @@ discard block |
||
1377 | 1423 | <strong>', $txt['setup_verification_answer'], '</strong> |
1378 | 1424 | </dd>'; |
1379 | 1425 | |
1380 | - if (!empty($context['qa_by_lang'][$lang_id])) |
|
1381 | - foreach ($context['qa_by_lang'][$lang_id] as $q_id) |
|
1426 | + if (!empty($context['qa_by_lang'][$lang_id])) { |
|
1427 | + foreach ($context['qa_by_lang'][$lang_id] as $q_id) |
|
1382 | 1428 | { |
1383 | 1429 | $question = $context['question_answers'][$q_id]; |
1430 | + } |
|
1384 | 1431 | |
1385 | 1432 | echo ' |
1386 | 1433 | <dt> |
@@ -1388,9 +1435,10 @@ discard block |
||
1388 | 1435 | </dt> |
1389 | 1436 | <dd>'; |
1390 | 1437 | |
1391 | - foreach ($question['answers'] as $answer) |
|
1392 | - echo ' |
|
1438 | + foreach ($question['answers'] as $answer) { |
|
1439 | + echo ' |
|
1393 | 1440 | <input type="text" name="answer[', $lang_id, '][', $q_id, '][]" value="', $answer, '" size="50" class="verification_answer">'; |
1441 | + } |
|
1394 | 1442 | |
1395 | 1443 | echo ' |
1396 | 1444 | <div class="qa_add_answer"><a href="javascript:void(0);" onclick="return addAnswer(this);">[ ', $txt['setup_verification_add_answer'], ' ]</a></div> |
@@ -1429,11 +1477,12 @@ discard block |
||
1429 | 1477 | ', $txt['errors_found'], ': |
1430 | 1478 | <ul>'; |
1431 | 1479 | |
1432 | - foreach ($context['repair_errors'] as $error) |
|
1433 | - echo ' |
|
1480 | + foreach ($context['repair_errors'] as $error) { |
|
1481 | + echo ' |
|
1434 | 1482 | <li> |
1435 | 1483 | ', $error, ' |
1436 | 1484 | </li>'; |
1485 | + } |
|
1437 | 1486 | |
1438 | 1487 | echo ' |
1439 | 1488 | </ul> |
@@ -1443,16 +1492,15 @@ discard block |
||
1443 | 1492 | <p class="padding"> |
1444 | 1493 | <strong><a href="', $scripturl, '?action=admin;area=repairboards;fixErrors;', $context['session_var'], '=', $context['session_id'], '">', $txt['yes'], '</a> - <a href="', $scripturl, '?action=admin;area=maintain">', $txt['no'], '</a></strong> |
1445 | 1494 | </p>'; |
1446 | - } |
|
1447 | - else |
|
1448 | - echo ' |
|
1495 | + } else { |
|
1496 | + echo ' |
|
1449 | 1497 | <p>', $txt['maintain_no_errors'], '</p> |
1450 | 1498 | <p class="padding"> |
1451 | 1499 | <a href="', $scripturl, '?action=admin;area=maintain;sa=routine">', $txt['maintain_return'], '</a> |
1452 | 1500 | </p>'; |
1501 | + } |
|
1453 | 1502 | |
1454 | - } |
|
1455 | - else |
|
1503 | + } else |
|
1456 | 1504 | { |
1457 | 1505 | if (!empty($context['redirect_to_recount'])) |
1458 | 1506 | { |
@@ -1464,8 +1512,7 @@ discard block |
||
1464 | 1512 | <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '"> |
1465 | 1513 | <input type="submit" name="recount" id="recount_now" value="', $txt['errors_recount_now'], '"> |
1466 | 1514 | </form>'; |
1467 | - } |
|
1468 | - else |
|
1515 | + } else |
|
1469 | 1516 | { |
1470 | 1517 | echo ' |
1471 | 1518 | <p>', $txt['errors_fixed'], '</p> |
@@ -1619,8 +1666,8 @@ discard block |
||
1619 | 1666 | { |
1620 | 1667 | global $context, $txt; |
1621 | 1668 | |
1622 | - if ($context['user']['is_admin']) |
|
1623 | - echo ' |
|
1669 | + if ($context['user']['is_admin']) { |
|
1670 | + echo ' |
|
1624 | 1671 | <span class="floatright admin_search"> |
1625 | 1672 | <span class="generic_icons filter centericon"></span> |
1626 | 1673 | <input type="search" name="search_term" value="', $txt['admin_search'], '" onclick="if (this.value == \'', $txt['admin_search'], '\') this.value = \'\';"> |
@@ -1631,6 +1678,7 @@ discard block |
||
1631 | 1678 | </select> |
1632 | 1679 | <input type="submit" name="search_go" id="search_go" value="', $txt['admin_search_go'], '" class="button"> |
1633 | 1680 | </span>'; |
1634 | -} |
|
1681 | + } |
|
1682 | + } |
|
1635 | 1683 | |
1636 | 1684 | ?> |
1637 | 1685 | \ No newline at end of file |
@@ -27,9 +27,10 @@ discard block |
||
27 | 27 | <h3 class="catbg"> |
28 | 28 | <span class="floatleft">', $txt['members_list'], '</span>'; |
29 | 29 | |
30 | - if (!isset($context['old_search'])) |
|
31 | - echo ' |
|
30 | + if (!isset($context['old_search'])) { |
|
31 | + echo ' |
|
32 | 32 | <span class="floatright">', $context['letter_links'], '</span>'; |
33 | + } |
|
33 | 34 | echo ' |
34 | 35 | </h3> |
35 | 36 | </div>'; |
@@ -44,19 +45,22 @@ discard block |
||
44 | 45 | foreach ($context['columns'] as $key => $column) |
45 | 46 | { |
46 | 47 | // @TODO maybe find something nicer? |
47 | - if ($key == 'email_address' && !$context['can_send_email']) |
|
48 | - continue; |
|
48 | + if ($key == 'email_address' && !$context['can_send_email']) { |
|
49 | + continue; |
|
50 | + } |
|
49 | 51 | |
50 | 52 | // This is a selected column, so underline it or some such. |
51 | - if ($column['selected']) |
|
52 | - echo ' |
|
53 | + if ($column['selected']) { |
|
54 | + echo ' |
|
53 | 55 | <th scope="col" class="', $key, isset($column['class']) ? ' ' . $column['class'] : '', ' selected" style="width: auto;"' . (isset($column['colspan']) ? ' colspan="' . $column['colspan'] . '"' : '') . '> |
54 | 56 | <a href="' . $column['href'] . '" rel="nofollow">' . $column['label'] . '</a><span class="generic_icons sort_' . $context['sort_direction'] . '"></span></th>'; |
57 | + } |
|
55 | 58 | // This is just some column... show the link and be done with it. |
56 | - else |
|
57 | - echo ' |
|
59 | + else { |
|
60 | + echo ' |
|
58 | 61 | <th scope="col" class="', $key, isset($column['class']) ? ' ' . $column['class'] : '', '"', isset($column['width']) ? ' style="width: ' . $column['width'] . '"' : '', isset($column['colspan']) ? ' colspan="' . $column['colspan'] . '"' : '', '> |
59 | 62 | ', $column['link'], '</th>'; |
63 | + } |
|
60 | 64 | } |
61 | 65 | echo ' |
62 | 66 | </tr> |
@@ -75,9 +79,10 @@ discard block |
||
75 | 79 | </td> |
76 | 80 | <td class="lefttext">', $member['link'], '</td>'; |
77 | 81 | |
78 | - if (!isset($context['disabled_fields']['website'])) |
|
79 | - echo ' |
|
82 | + if (!isset($context['disabled_fields']['website'])) { |
|
83 | + echo ' |
|
80 | 84 | <td class="centertext website_url">', $member['website']['url'] != '' ? '<a href="' . $member['website']['url'] . '" target="_blank"><span class="generic_icons www" title="' . $member['website']['title'] . '"></span></a>' : '', '</td>'; |
85 | + } |
|
81 | 86 | |
82 | 87 | // Group and date. |
83 | 88 | echo ' |
@@ -90,11 +95,12 @@ discard block |
||
90 | 95 | <td class="centertext" style="white-space: nowrap; width: 15px">', $member['posts'], '</td> |
91 | 96 | <td class="centertext statsbar" style="width: 120px">'; |
92 | 97 | |
93 | - if (!empty($member['post_percent'])) |
|
94 | - echo ' |
|
98 | + if (!empty($member['post_percent'])) { |
|
99 | + echo ' |
|
95 | 100 | <div class="bar" style="width: ', $member['post_percent'] + 4, 'px;"> |
96 | 101 | <div style="width: ', $member['post_percent'], 'px;"></div> |
97 | 102 | </div>'; |
103 | + } |
|
98 | 104 | |
99 | 105 | echo ' |
100 | 106 | </td>'; |
@@ -103,9 +109,10 @@ discard block |
||
103 | 109 | // Show custom fields marked to be shown here |
104 | 110 | if (!empty($context['custom_profile_fields']['columns'])) |
105 | 111 | { |
106 | - foreach ($context['custom_profile_fields']['columns'] as $key => $column) |
|
107 | - echo ' |
|
112 | + foreach ($context['custom_profile_fields']['columns'] as $key => $column) { |
|
113 | + echo ' |
|
108 | 114 | <td class="righttext">', $member['options'][$key], '</td>'; |
115 | + } |
|
109 | 116 | } |
110 | 117 | |
111 | 118 | echo ' |
@@ -113,11 +120,12 @@ discard block |
||
113 | 120 | } |
114 | 121 | } |
115 | 122 | // No members? |
116 | - else |
|
117 | - echo ' |
|
123 | + else { |
|
124 | + echo ' |
|
118 | 125 | <tr> |
119 | 126 | <td colspan="', $context['colspan'], '" class="windowbg">', $txt['search_no_results'], '</td> |
120 | 127 | </tr>'; |
128 | + } |
|
121 | 129 | |
122 | 130 | echo ' |
123 | 131 | </tbody> |
@@ -130,9 +138,10 @@ discard block |
||
130 | 138 | <div class="pagelinks floatleft">', $context['page_index'], '</div>'; |
131 | 139 | |
132 | 140 | // If it is displaying the result of a search show a "search again" link to edit their criteria. |
133 | - if (isset($context['old_search'])) |
|
134 | - echo ' |
|
141 | + if (isset($context['old_search'])) { |
|
142 | + echo ' |
|
135 | 143 | <a class="button" href="', $scripturl, '?action=mlist;sa=search;search=', $context['old_search_value'], '">', $txt['mlist_search_again'], '</a>'; |
144 | + } |
|
136 | 145 | echo ' |
137 | 146 | </div> |
138 | 147 | </div><!-- #memberlist -->'; |
@@ -23,15 +23,15 @@ discard block |
||
23 | 23 | { |
24 | 24 | global $context, $txt; |
25 | 25 | |
26 | - if (!empty($context['simple_action'])) |
|
27 | - echo ' |
|
26 | + if (!empty($context['simple_action'])) { |
|
27 | + echo ' |
|
28 | 28 | <strong> |
29 | 29 | ', $context['error_title'], ' |
30 | 30 | </strong><br> |
31 | 31 | <div ', $context['error_code'], 'class="padding"> |
32 | 32 | ', $context['error_message'], ' |
33 | 33 | </div>'; |
34 | - else |
|
34 | + } else |
|
35 | 35 | { |
36 | 36 | echo ' |
37 | 37 | <div id="fatal_error"> |
@@ -87,21 +87,23 @@ discard block |
||
87 | 87 | |
88 | 88 | $error_types = array(); |
89 | 89 | |
90 | - foreach ($context['error_types'] as $type => $details) |
|
91 | - $error_types[] = ($details['is_selected'] ? '<img src="' . $settings['images_url'] . '/selected.png" alt=""> ' : '') . '<a href="' . $details['url'] . '" ' . ($details['is_selected'] ? 'style="font-weight: bold;"' : '') . ' title="' . $details['description'] . '">' . $details['label'] . '</a>'; |
|
90 | + foreach ($context['error_types'] as $type => $details) { |
|
91 | + $error_types[] = ($details['is_selected'] ? '<img src="' . $settings['images_url'] . '/selected.png" alt=""> ' : '') . '<a href="' . $details['url'] . '" ' . ($details['is_selected'] ? 'style="font-weight: bold;"' : '') . ' title="' . $details['description'] . '">' . $details['label'] . '</a>'; |
|
92 | + } |
|
92 | 93 | |
93 | 94 | echo ' |
94 | 95 | ', implode(' | ', $error_types), ' |
95 | 96 | </td> |
96 | 97 | </tr>'; |
97 | 98 | |
98 | - if ($context['has_filter']) |
|
99 | - echo ' |
|
99 | + if ($context['has_filter']) { |
|
100 | + echo ' |
|
100 | 101 | <tr> |
101 | 102 | <td colspan="3" class="windowbg"> |
102 | 103 | <strong> ', $txt['applying_filter'], ':</strong> ', $context['filter']['entity'], ' ', $context['filter']['value']['html'], ' [<a href="', $scripturl, '?action=admin;area=logs;sa=errorlog', $context['sort_direction'] == 'down' ? ';desc' : '', '">', $txt['clear_filter'], '</a>] |
103 | 104 | </td> |
104 | 105 | </tr>'; |
106 | + } |
|
105 | 107 | |
106 | 108 | echo ' |
107 | 109 | <tr> |
@@ -112,11 +114,12 @@ discard block |
||
112 | 114 | </tr>'; |
113 | 115 | |
114 | 116 | // No errors, then show a message |
115 | - if (count($context['errors']) == 0) |
|
116 | - echo ' |
|
117 | + if (count($context['errors']) == 0) { |
|
118 | + echo ' |
|
117 | 119 | <tr class="windowbg"> |
118 | 120 | <td class="centertext" colspan="2">', $txt['errlog_no_entries'], '</td> |
119 | 121 | </tr>'; |
122 | + } |
|
120 | 123 | |
121 | 124 | // we have some errors, must be some mods installed :P |
122 | 125 | foreach ($context['errors'] as $error) |
@@ -130,19 +133,21 @@ discard block |
||
130 | 133 | <a href="', $scripturl, '?action=admin;area=logs;sa=errorlog', $context['sort_direction'] == 'down' ? '' : ';desc', $context['has_filter'] ? $context['filter']['href'] : '', '" title="', $txt['reverse_direction'], '"><span class="generic_icons sort_' . $context['sort_direction'] . '"></span></a> |
131 | 134 | ', $error['time'], '<br>'; |
132 | 135 | |
133 | - if (!empty($error['member']['ip'])) |
|
134 | - echo ' |
|
136 | + if (!empty($error['member']['ip'])) { |
|
137 | + echo ' |
|
135 | 138 | <a href="', $scripturl, '?action=admin;area=logs;sa=errorlog', $context['sort_direction'] == 'down' ? ';desc' : '', ';filter=ip;value=', $error['member']['ip'], '" title="', $txt['apply_filter'], ': ', $txt['filter_only_ip'], '"><span class="generic_icons filter centericon"></span></a> |
136 | 139 | <strong><a href="', $scripturl, '?action=trackip;searchip=', $error['member']['ip'], '">', $error['member']['ip'], '</a></strong> <br>'; |
140 | + } |
|
137 | 141 | |
138 | 142 | echo ' |
139 | 143 | </div> |
140 | 144 | <div style="float: left; width: 50%; line-height: 1.8em; padding: 0 4px;">'; |
141 | 145 | |
142 | - if ($error['member']['session'] != '') |
|
143 | - echo ' |
|
146 | + if ($error['member']['session'] != '') { |
|
147 | + echo ' |
|
144 | 148 | <a href="', $scripturl, '?action=admin;area=logs;sa=errorlog', $context['sort_direction'] == 'down' ? ';desc' : '', ';filter=session;value=', $error['member']['session'], '" title="', $txt['apply_filter'], ': ', $txt['filter_only_session'], '"><span class="generic_icons filter centericon"></span></a> |
145 | 149 | ', $error['member']['session'], '<br>'; |
150 | + } |
|
146 | 151 | |
147 | 152 | echo ' |
148 | 153 | <a href="', $scripturl, '?action=admin;area=logs;sa=errorlog', $context['sort_direction'] == 'down' ? ';desc' : '', ';filter=error_type;value=', $error['error_type']['type'], '" title="', $txt['apply_filter'], ': ', $txt['filter_only_type'], '"><span class="generic_icons filter centericon"></span></a> |
@@ -156,8 +161,8 @@ discard block |
||
156 | 161 | <a style="display: table-cell;" href="', $error['url']['html'], '">', $error['url']['html'], '</a> |
157 | 162 | </div>'; |
158 | 163 | |
159 | - if (!empty($error['file'])) |
|
160 | - echo ' |
|
164 | + if (!empty($error['file'])) { |
|
165 | + echo ' |
|
161 | 166 | <div style="float: left; width: 100%; padding: 4px 0; line-height: 1.6em; border-top: 1px solid #e3e3e3;"> |
162 | 167 | <a style="display: table-cell; padding: 4px; width: 20px; vertical-align: top;" href="', $scripturl, '?action=admin;area=logs;sa=errorlog', $context['sort_direction'] == 'down' ? ';desc' : '', ';filter=file;value=', $error['file']['search'], '" title="', $txt['apply_filter'], ': ', $txt['filter_only_file'], '"><span class="generic_icons filter"></span></a> |
163 | 168 | <div> |
@@ -165,6 +170,7 @@ discard block |
||
165 | 170 | ', $txt['line'], ': ', $error['file']['line'], ' |
166 | 171 | </div> |
167 | 172 | </div>'; |
173 | + } |
|
168 | 174 | |
169 | 175 | echo ' |
170 | 176 | </td> |
@@ -192,9 +198,10 @@ discard block |
||
192 | 198 | </div> |
193 | 199 | </div>'; |
194 | 200 | |
195 | - if ($context['sort_direction'] == 'down') |
|
196 | - echo ' |
|
201 | + if ($context['sort_direction'] == 'down') { |
|
202 | + echo ' |
|
197 | 203 | <input type="hidden" name="desc" value="1">'; |
204 | + } |
|
198 | 205 | |
199 | 206 | echo ' |
200 | 207 | <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '"> |
@@ -53,14 +53,15 @@ discard block |
||
53 | 53 | foreach ($context['smileys'] as $location => $smileyRows) |
54 | 54 | { |
55 | 55 | $countLocations--; |
56 | - if ($location == 'postform') |
|
57 | - echo ' |
|
56 | + if ($location == 'postform') { |
|
57 | + echo ' |
|
58 | 58 | dropdown: |
59 | 59 | {'; |
60 | - elseif ($location == 'popup') |
|
61 | - echo ' |
|
60 | + } elseif ($location == 'popup') { |
|
61 | + echo ' |
|
62 | 62 | popup: |
63 | 63 | {'; |
64 | + } |
|
64 | 65 | |
65 | 66 | $numRows = count($smileyRows); |
66 | 67 | |
@@ -74,21 +75,22 @@ discard block |
||
74 | 75 | echo ' |
75 | 76 | ', JavaScriptEscape($smiley['code']), ': ', JavaScriptEscape($settings['smileys_url'] . '/' . $smiley['filename']), empty($smiley['isLast']) ? ',' : ''; |
76 | 77 | } |
77 | - if (empty($smileyRow['isLast']) && $numRows != 1) |
|
78 | - echo ', |
|
78 | + if (empty($smileyRow['isLast']) && $numRows != 1) { |
|
79 | + echo ', |
|
79 | 80 | \'-', $emptyPlaceholder++, '\': \'\','; |
81 | + } |
|
80 | 82 | } |
81 | 83 | echo ' |
82 | 84 | }', $countLocations != 0 ? ',' : ''; |
83 | 85 | } |
84 | 86 | echo ' |
85 | 87 | }'; |
86 | - } |
|
87 | - else |
|
88 | - echo ', |
|
88 | + } else { |
|
89 | + echo ', |
|
89 | 90 | emoticons: |
90 | 91 | {}, |
91 | 92 | emoticonsEnabled:false'; |
93 | + } |
|
92 | 94 | |
93 | 95 | if ($context['show_bbc'] && $bbcContainer !== null) |
94 | 96 | { |
@@ -101,15 +103,16 @@ discard block |
||
101 | 103 | |
102 | 104 | $count_tags--; |
103 | 105 | |
104 | - if (!empty($count_tags)) |
|
105 | - echo '||'; |
|
106 | + if (!empty($count_tags)) { |
|
107 | + echo '||'; |
|
108 | + } |
|
106 | 109 | } |
107 | 110 | |
108 | 111 | echo '",'; |
109 | - } |
|
110 | - else |
|
111 | - echo ', |
|
112 | + } else { |
|
113 | + echo ', |
|
112 | 114 | toolbar: "",'; |
115 | + } |
|
113 | 116 | |
114 | 117 | echo ' |
115 | 118 | }); |
@@ -151,43 +154,48 @@ discard block |
||
151 | 154 | |
152 | 155 | $tempTab = $context['tabindex']; |
153 | 156 | |
154 | - if (!empty($context['drafts_pm_save'])) |
|
155 | - $tempTab++; |
|
156 | - elseif (!empty($context['drafts_save'])) |
|
157 | - $tempTab++; |
|
158 | - elseif ($editor_context['preview_type']) |
|
159 | - $tempTab++; |
|
160 | - elseif ($context['show_spellchecking']) |
|
161 | - $tempTab++; |
|
157 | + if (!empty($context['drafts_pm_save'])) { |
|
158 | + $tempTab++; |
|
159 | + } elseif (!empty($context['drafts_save'])) { |
|
160 | + $tempTab++; |
|
161 | + } elseif ($editor_context['preview_type']) { |
|
162 | + $tempTab++; |
|
163 | + } elseif ($context['show_spellchecking']) { |
|
164 | + $tempTab++; |
|
165 | + } |
|
162 | 166 | |
163 | 167 | $tempTab++; |
164 | 168 | $context['tabindex'] = $tempTab; |
165 | 169 | |
166 | - if (!empty($context['drafts_pm_save'])) |
|
167 | - echo ' |
|
170 | + if (!empty($context['drafts_pm_save'])) { |
|
171 | + echo ' |
|
168 | 172 | <input type="submit" name="save_draft" value="', $txt['draft_save'], '" tabindex="', --$tempTab, '" onclick="submitThisOnce(this);" accesskey="d" class="button"> |
169 | 173 | <input type="hidden" id="id_pm_draft" name="id_pm_draft" value="', empty($context['id_pm_draft']) ? 0 : $context['id_pm_draft'], '">'; |
174 | + } |
|
170 | 175 | |
171 | - if (!empty($context['drafts_save'])) |
|
172 | - echo ' |
|
176 | + if (!empty($context['drafts_save'])) { |
|
177 | + echo ' |
|
173 | 178 | <input type="submit" name="save_draft" value="', $txt['draft_save'], '" tabindex="', --$tempTab, '" onclick="return confirm(' . JavaScriptEscape($txt['draft_save_note']) . ') && submitThisOnce(this);" accesskey="d" class="button"> |
174 | 179 | <input type="hidden" id="id_draft" name="id_draft" value="', empty($context['id_draft']) ? 0 : $context['id_draft'], '">'; |
180 | + } |
|
175 | 181 | |
176 | - if ($context['show_spellchecking']) |
|
177 | - echo ' |
|
182 | + if ($context['show_spellchecking']) { |
|
183 | + echo ' |
|
178 | 184 | <input type="button" value="', $txt['spell_check'], '" tabindex="', --$tempTab, '" onclick="oEditorHandle_', $editor_id, '.spellCheckStart();" class="button">'; |
185 | + } |
|
179 | 186 | |
180 | - if ($editor_context['preview_type']) |
|
181 | - echo ' |
|
187 | + if ($editor_context['preview_type']) { |
|
188 | + echo ' |
|
182 | 189 | <input type="submit" name="preview" value="', isset($editor_context['labels']['preview_button']) ? $editor_context['labels']['preview_button'] : $txt['preview'], '" tabindex="', --$tempTab, '" onclick="', $editor_context['preview_type'] == 2 ? 'return event.ctrlKey || previewPost();' : 'return submitThisOnce(this);', '" accesskey="p" class="button">'; |
190 | + } |
|
183 | 191 | |
184 | 192 | |
185 | 193 | echo ' |
186 | 194 | <input type="submit" value="', isset($editor_context['labels']['post_button']) ? $editor_context['labels']['post_button'] : $txt['post'], '" name="post" tabindex="', --$tempTab, '" onclick="return submitThisOnce(this);" accesskey="s" class="button">'; |
187 | 195 | |
188 | 196 | // Load in the PM autosaver if it's enabled |
189 | - if (!empty($context['drafts_pm_save']) && !empty($context['drafts_autosave'])) |
|
190 | - echo ' |
|
197 | + if (!empty($context['drafts_pm_save']) && !empty($context['drafts_autosave'])) { |
|
198 | + echo ' |
|
191 | 199 | <span class="righttext padding" style="display: block"> |
192 | 200 | <span id="throbber" style="display:none"><img src="' . $settings['images_url'] . '/loading_sm.gif" alt="" class="centericon"> </span> |
193 | 201 | <span id="draft_lastautosave" ></span> |
@@ -205,10 +213,11 @@ discard block |
||
205 | 213 | iFreq: ', (empty($modSettings['drafts_autosave_frequency']) ? 60000 : $modSettings['drafts_autosave_frequency'] * 1000), ' |
206 | 214 | }); |
207 | 215 | </script>'; |
216 | + } |
|
208 | 217 | |
209 | 218 | // Start an instance of the auto saver if its enabled |
210 | - if (!empty($context['drafts_save']) && !empty($context['drafts_autosave'])) |
|
211 | - echo ' |
|
219 | + if (!empty($context['drafts_save']) && !empty($context['drafts_autosave'])) { |
|
220 | + echo ' |
|
212 | 221 | <span class="righttext padding" style="display: block"> |
213 | 222 | <span id="throbber" style="display:none"><img src="' . $settings['images_url'] . '/loading_sm.gif" alt="" class="centericon"> </span> |
214 | 223 | <span id="draft_lastautosave" ></span> |
@@ -225,7 +234,8 @@ discard block |
||
225 | 234 | iFreq: ', $context['drafts_autosave_frequency'], ' |
226 | 235 | }); |
227 | 236 | </script>'; |
228 | -} |
|
237 | + } |
|
238 | + } |
|
229 | 239 | |
230 | 240 | /** |
231 | 241 | * This template displays a verification form |
@@ -242,51 +252,57 @@ discard block |
||
242 | 252 | $verify_context = &$context['controls']['verification'][$verify_id]; |
243 | 253 | |
244 | 254 | // Keep track of where we are. |
245 | - if (empty($verify_context['tracking']) || $reset) |
|
246 | - $verify_context['tracking'] = 0; |
|
255 | + if (empty($verify_context['tracking']) || $reset) { |
|
256 | + $verify_context['tracking'] = 0; |
|
257 | + } |
|
247 | 258 | |
248 | 259 | // How many items are there to display in total. |
249 | 260 | $total_items = count($verify_context['questions']) + ($verify_context['show_visual'] || $verify_context['can_recaptcha'] ? 1 : 0); |
250 | 261 | |
251 | 262 | // If we've gone too far, stop. |
252 | - if ($verify_context['tracking'] > $total_items) |
|
253 | - return false; |
|
263 | + if ($verify_context['tracking'] > $total_items) { |
|
264 | + return false; |
|
265 | + } |
|
254 | 266 | |
255 | 267 | // Loop through each item to show them. |
256 | 268 | for ($i = 0; $i < $total_items; $i++) |
257 | 269 | { |
258 | 270 | // If we're after a single item only show it if we're in the right place. |
259 | - if ($display_type == 'single' && $verify_context['tracking'] != $i) |
|
260 | - continue; |
|
271 | + if ($display_type == 'single' && $verify_context['tracking'] != $i) { |
|
272 | + continue; |
|
273 | + } |
|
261 | 274 | |
262 | - if ($display_type != 'single') |
|
263 | - echo ' |
|
275 | + if ($display_type != 'single') { |
|
276 | + echo ' |
|
264 | 277 | <div id="verification_control_', $i, '" class="verification_control">'; |
278 | + } |
|
265 | 279 | |
266 | 280 | // Display empty field, but only if we have one, and it's the first time. |
267 | - if ($verify_context['empty_field'] && empty($i)) |
|
268 | - echo ' |
|
281 | + if ($verify_context['empty_field'] && empty($i)) { |
|
282 | + echo ' |
|
269 | 283 | <div class="smalltext vv_special"> |
270 | 284 | ', $txt['visual_verification_hidden'], ': |
271 | 285 | <input type="text" name="', $_SESSION[$verify_id . '_vv']['empty_field'], '" autocomplete="off" size="30" value=""> |
272 | 286 | </div>'; |
287 | + } |
|
273 | 288 | |
274 | 289 | // Do the actual stuff |
275 | 290 | if ($i == 0 && ($verify_context['show_visual'] || $verify_context['can_recaptcha'])) |
276 | 291 | { |
277 | 292 | if ($verify_context['show_visual']) |
278 | 293 | { |
279 | - if ($context['use_graphic_library']) |
|
280 | - echo ' |
|
294 | + if ($context['use_graphic_library']) { |
|
295 | + echo ' |
|
281 | 296 | <img src="', $verify_context['image_href'], '" alt="', $txt['visual_verification_description'], '" id="verification_image_', $verify_id, '">'; |
282 | - else |
|
283 | - echo ' |
|
297 | + } else { |
|
298 | + echo ' |
|
284 | 299 | <img src="', $verify_context['image_href'], ';letter=1" alt="', $txt['visual_verification_description'], '" id="verification_image_', $verify_id, '_1"> |
285 | 300 | <img src="', $verify_context['image_href'], ';letter=2" alt="', $txt['visual_verification_description'], '" id="verification_image_', $verify_id, '_2"> |
286 | 301 | <img src="', $verify_context['image_href'], ';letter=3" alt="', $txt['visual_verification_description'], '" id="verification_image_', $verify_id, '_3"> |
287 | 302 | <img src="', $verify_context['image_href'], ';letter=4" alt="', $txt['visual_verification_description'], '" id="verification_image_', $verify_id, '_4"> |
288 | 303 | <img src="', $verify_context['image_href'], ';letter=5" alt="', $txt['visual_verification_description'], '" id="verification_image_', $verify_id, '_5"> |
289 | 304 | <img src="', $verify_context['image_href'], ';letter=6" alt="', $txt['visual_verification_description'], '" id="verification_image_', $verify_id, '_6">'; |
305 | + } |
|
290 | 306 | |
291 | 307 | echo ' |
292 | 308 | <div class="smalltext" style="margin: 4px 0 8px 0;"> |
@@ -303,8 +319,7 @@ discard block |
||
303 | 319 | <br> |
304 | 320 | <script type="text/javascript" src="https://www.google.com/recaptcha/api.js"></script>'; |
305 | 321 | } |
306 | - } |
|
307 | - else |
|
322 | + } else |
|
308 | 323 | { |
309 | 324 | // Where in the question array is this question? |
310 | 325 | $qIndex = $verify_context['show_visual'] ? $i - 1 : $i; |
@@ -316,21 +331,24 @@ discard block |
||
316 | 331 | </div>'; |
317 | 332 | } |
318 | 333 | |
319 | - if ($display_type != 'single') |
|
320 | - echo ' |
|
334 | + if ($display_type != 'single') { |
|
335 | + echo ' |
|
321 | 336 | </div><!-- #verification_control_[i] -->'; |
337 | + } |
|
322 | 338 | |
323 | 339 | // If we were displaying just one and we did it, break. |
324 | - if ($display_type == 'single' && $verify_context['tracking'] == $i) |
|
325 | - break; |
|
340 | + if ($display_type == 'single' && $verify_context['tracking'] == $i) { |
|
341 | + break; |
|
342 | + } |
|
326 | 343 | } |
327 | 344 | |
328 | 345 | // Assume we found something, always, |
329 | 346 | $verify_context['tracking']++; |
330 | 347 | |
331 | 348 | // Tell something displaying piecemeal to keep going. |
332 | - if ($display_type == 'single') |
|
333 | - return true; |
|
334 | -} |
|
349 | + if ($display_type == 'single') { |
|
350 | + return true; |
|
351 | + } |
|
352 | + } |
|
335 | 353 | |
336 | 354 | ?> |
337 | 355 | \ No newline at end of file |
@@ -28,15 +28,17 @@ discard block |
||
28 | 28 | <form class="login" action="', $context['login_url'], '" name="frmLogin" id="frmLogin" method="post" accept-charset="', $context['character_set'], '">'; |
29 | 29 | |
30 | 30 | // Did they make a mistake last time? |
31 | - if (!empty($context['login_errors'])) |
|
32 | - echo ' |
|
31 | + if (!empty($context['login_errors'])) { |
|
32 | + echo ' |
|
33 | 33 | <div class="errorbox">', implode('<br>', $context['login_errors']), '</div> |
34 | 34 | <br>'; |
35 | + } |
|
35 | 36 | |
36 | 37 | // Or perhaps there's some special description for this time? |
37 | - if (isset($context['description'])) |
|
38 | - echo ' |
|
38 | + if (isset($context['description'])) { |
|
39 | + echo ' |
|
39 | 40 | <div class="information">', $context['description'], '</div>'; |
41 | + } |
|
40 | 42 | |
41 | 43 | // Now just get the basic information - username, password, etc. |
42 | 44 | echo ' |
@@ -61,10 +63,11 @@ discard block |
||
61 | 63 | </dd>'; |
62 | 64 | |
63 | 65 | // If they have deleted their account, give them a chance to change their mind. |
64 | - if (isset($context['login_show_undelete'])) |
|
65 | - echo ' |
|
66 | + if (isset($context['login_show_undelete'])) { |
|
67 | + echo ' |
|
66 | 68 | <dt class="alert">', $txt['undelete_account'], ':</dt> |
67 | 69 | <dd><input type="checkbox" name="undelete"></dd>'; |
70 | + } |
|
68 | 71 | |
69 | 72 | echo ' |
70 | 73 | </dl> |
@@ -82,8 +85,8 @@ discard block |
||
82 | 85 | document.getElementById("', !empty($context['from_ajax']) ? 'ajax_' : '', isset($context['default_username']) && $context['default_username'] != '' ? 'loginpass' : 'loginuser', '").focus(); |
83 | 86 | }, 150);'; |
84 | 87 | |
85 | - if (!empty($context['from_ajax']) && (empty($modSettings['force_ssl']) || $modSettings['force_ssl'] == 2)) |
|
86 | - echo ' |
|
88 | + if (!empty($context['from_ajax']) && (empty($modSettings['force_ssl']) || $modSettings['force_ssl'] == 2)) { |
|
89 | + echo ' |
|
87 | 90 | form = $("#frmLogin"); |
88 | 91 | form.submit(function(e) { |
89 | 92 | e.preventDefault(); |
@@ -116,16 +119,18 @@ discard block |
||
116 | 119 | |
117 | 120 | return false; |
118 | 121 | });'; |
122 | + } |
|
119 | 123 | |
120 | 124 | echo ' |
121 | 125 | </script> |
122 | 126 | </form>'; |
123 | 127 | |
124 | 128 | // It is a long story as to why we have this when we're clearly not going to use it. |
125 | - if (!empty($context['from_ajax'])) |
|
126 | - echo ' |
|
129 | + if (!empty($context['from_ajax'])) { |
|
130 | + echo ' |
|
127 | 131 | <br> |
128 | 132 | <a href="javascript:self.close();"></a>'; |
133 | + } |
|
129 | 134 | echo ' |
130 | 135 | </div><!-- .roundframe --> |
131 | 136 | </div><!-- .login -->'; |
@@ -147,11 +152,12 @@ discard block |
||
147 | 152 | </div> |
148 | 153 | <div class="roundframe noup">'; |
149 | 154 | |
150 | - if (!empty($context['tfa_error']) || !empty($context['tfa_backup_error'])) |
|
151 | - echo ' |
|
155 | + if (!empty($context['tfa_error']) || !empty($context['tfa_backup_error'])) { |
|
156 | + echo ' |
|
152 | 157 | <div class="error"> |
153 | 158 | ', $txt['tfa_' . (!empty($context['tfa_error']) ? 'code_' : 'backup_') . 'invalid'], ' |
154 | 159 | </div>'; |
160 | + } |
|
155 | 161 | |
156 | 162 | echo ' |
157 | 163 | <form action="', $context['tfa_url'], '" method="post" id="frmTfa"> |
@@ -180,8 +186,8 @@ discard block |
||
180 | 186 | <script> |
181 | 187 | form = $("#frmTfa");'; |
182 | 188 | |
183 | - if (!empty($context['from_ajax'])) |
|
184 | - echo ' |
|
189 | + if (!empty($context['from_ajax'])) { |
|
190 | + echo ' |
|
185 | 191 | form.submit(function(e) { |
186 | 192 | // If we are submitting backup code, let normal workflow follow since it redirects a couple times into a different page |
187 | 193 | if (form.find("input[name=tfa_backup]:first").val().length > 0) |
@@ -200,6 +206,7 @@ discard block |
||
200 | 206 | |
201 | 207 | return false; |
202 | 208 | });'; |
209 | + } |
|
203 | 210 | |
204 | 211 | echo ' |
205 | 212 | form.find("input[name=backup]").click(function(e) { |
@@ -232,10 +239,11 @@ discard block |
||
232 | 239 | ', empty($context['kick_message']) ? $txt['only_members_can_access'] : $context['kick_message'], '<br>'; |
233 | 240 | |
234 | 241 | |
235 | - if ($context['can_register']) |
|
236 | - echo sprintf($txt['login_below_or_register'], $scripturl . '?action=signup', $context['forum_name_html_safe']); |
|
237 | - else |
|
238 | - echo $txt['login_below']; |
|
242 | + if ($context['can_register']) { |
|
243 | + echo sprintf($txt['login_below_or_register'], $scripturl . '?action=signup', $context['forum_name_html_safe']); |
|
244 | + } else { |
|
245 | + echo $txt['login_below']; |
|
246 | + } |
|
239 | 247 | |
240 | 248 | // And now the login information. |
241 | 249 | echo ' |
@@ -335,9 +343,10 @@ discard block |
||
335 | 343 | </div> |
336 | 344 | <div class="roundframe centertext noup">'; |
337 | 345 | |
338 | - if (!empty($context['incorrect_password'])) |
|
339 | - echo ' |
|
346 | + if (!empty($context['incorrect_password'])) { |
|
347 | + echo ' |
|
340 | 348 | <div class="error">', $txt['admin_incorrect_password'], '</div>'; |
349 | + } |
|
341 | 350 | |
342 | 351 | echo ' |
343 | 352 | <strong>', $txt['password'], ':</strong> |
@@ -378,11 +387,12 @@ discard block |
||
378 | 387 | <div class="roundframe">'; |
379 | 388 | |
380 | 389 | // You didn't even have an ID? |
381 | - if (empty($context['member_id'])) |
|
382 | - echo ' |
|
390 | + if (empty($context['member_id'])) { |
|
391 | + echo ' |
|
383 | 392 | <dl> |
384 | 393 | <dt>', $txt['invalid_activation_username'], ':</dt> |
385 | 394 | <dd><input type="text" name="user" size="30"></dd>'; |
395 | + } |
|
386 | 396 | |
387 | 397 | echo ' |
388 | 398 | <dt>', $txt['invalid_activation_retry'], ':</dt> |
@@ -419,13 +429,14 @@ discard block |
||
419 | 429 | <dd><input type="password" name="passwd" size="30"></dd> |
420 | 430 | </dl>'; |
421 | 431 | |
422 | - if ($context['can_activate']) |
|
423 | - echo ' |
|
432 | + if ($context['can_activate']) { |
|
433 | + echo ' |
|
424 | 434 | <p>', $txt['invalid_activation_known'], '</p> |
425 | 435 | <dl> |
426 | 436 | <dt>', $txt['invalid_activation_retry'], ':</dt> |
427 | 437 | <dd><input type="text" name="code" size="30"></dd> |
428 | 438 | </dl>'; |
439 | + } |
|
429 | 440 | |
430 | 441 | echo ' |
431 | 442 | <p><input type="submit" value="', $txt['invalid_activation_resend'], '" class="button"></p> |
@@ -43,28 +43,33 @@ discard block |
||
43 | 43 | </div> |
44 | 44 | <div class="list_posts">', $post['message'], '</div>'; |
45 | 45 | |
46 | - if ($post['can_reply'] || $post['can_quote'] || $post['can_delete']) |
|
47 | - echo ' |
|
46 | + if ($post['can_reply'] || $post['can_quote'] || $post['can_delete']) { |
|
47 | + echo ' |
|
48 | 48 | <ul class="quickbuttons">'; |
49 | + } |
|
49 | 50 | |
50 | 51 | // If they *can* reply? |
51 | - if ($post['can_reply']) |
|
52 | - echo ' |
|
52 | + if ($post['can_reply']) { |
|
53 | + echo ' |
|
53 | 54 | <li><a href="', $scripturl, '?action=post;topic=', $post['topic'], '.', $post['start'], '"><span class="generic_icons reply_button"></span>', $txt['reply'], '</a></li>'; |
55 | + } |
|
54 | 56 | |
55 | 57 | // If they *can* quote? |
56 | - if ($post['can_quote']) |
|
57 | - echo ' |
|
58 | + if ($post['can_quote']) { |
|
59 | + echo ' |
|
58 | 60 | <li><a href="', $scripturl, '?action=post;topic=', $post['topic'], '.', $post['start'], ';quote=', $post['id'], '"><span class="generic_icons quote"></span>', $txt['quote_action'], '</a></li>'; |
61 | + } |
|
59 | 62 | |
60 | 63 | // How about... even... remove it entirely?! |
61 | - if ($post['can_delete']) |
|
62 | - echo ' |
|
64 | + if ($post['can_delete']) { |
|
65 | + echo ' |
|
63 | 66 | <li><a href="', $scripturl, '?action=deletemsg;msg=', $post['id'], ';topic=', $post['topic'], ';recent;', $context['session_var'], '=', $context['session_id'], '" data-confirm="', $txt['remove_message'], '" class="you_sure"><span class="generic_icons remove_button"></span>', $txt['remove'], '</a></li>'; |
67 | + } |
|
64 | 68 | |
65 | - if ($post['can_reply'] || $post['can_quote'] || $post['can_delete']) |
|
66 | - echo ' |
|
69 | + if ($post['can_reply'] || $post['can_quote'] || $post['can_delete']) { |
|
70 | + echo ' |
|
67 | 71 | </ul>'; |
72 | + } |
|
68 | 73 | |
69 | 74 | echo ' |
70 | 75 | </div><!-- $post[css_class] -->'; |
@@ -86,12 +91,13 @@ discard block |
||
86 | 91 | echo ' |
87 | 92 | <div id="recent" class="main_content">'; |
88 | 93 | |
89 | - if ($context['showCheckboxes']) |
|
90 | - echo ' |
|
94 | + if ($context['showCheckboxes']) { |
|
95 | + echo ' |
|
91 | 96 | <form action="', $scripturl, '?action=quickmod" method="post" accept-charset="', $context['character_set'], '" name="quickModForm" id="quickModForm"> |
92 | 97 | <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '"> |
93 | 98 | <input type="hidden" name="qaction" value="markread"> |
94 | 99 | <input type="hidden" name="redirect_url" value="action=unread', (!empty($context['showing_all_topics']) ? ';all' : ''), $context['querystring_board_limits'], '">'; |
100 | + } |
|
95 | 101 | |
96 | 102 | if (!empty($context['topics'])) |
97 | 103 | { |
@@ -120,11 +126,12 @@ discard block |
||
120 | 126 | </div>'; |
121 | 127 | |
122 | 128 | // Show a "select all" box for quick moderation? |
123 | - if ($context['showCheckboxes']) |
|
124 | - echo ' |
|
129 | + if ($context['showCheckboxes']) { |
|
130 | + echo ' |
|
125 | 131 | <div class="moderation"> |
126 | 132 | <input type="checkbox" onclick="invertAll(this, this.form, \'topics[]\');"> |
127 | 133 | </div>'; |
134 | + } |
|
128 | 135 | |
129 | 136 | echo ' |
130 | 137 | </div><!-- #topic_header --> |
@@ -143,15 +150,18 @@ discard block |
||
143 | 150 | // Now we handle the icons |
144 | 151 | echo ' |
145 | 152 | <div class="icons floatright">'; |
146 | - if ($topic['is_locked']) |
|
147 | - echo ' |
|
153 | + if ($topic['is_locked']) { |
|
154 | + echo ' |
|
148 | 155 | <span class="generic_icons lock"></span>'; |
149 | - if ($topic['is_sticky']) |
|
150 | - echo ' |
|
156 | + } |
|
157 | + if ($topic['is_sticky']) { |
|
158 | + echo ' |
|
151 | 159 | <span class="generic_icons sticky"></span>'; |
152 | - if ($topic['is_poll']) |
|
153 | - echo ' |
|
160 | + } |
|
161 | + if ($topic['is_poll']) { |
|
162 | + echo ' |
|
154 | 163 | <span class="generic_icons poll"></span>'; |
164 | + } |
|
155 | 165 | echo ' |
156 | 166 | </div>'; |
157 | 167 | |
@@ -176,19 +186,21 @@ discard block |
||
176 | 186 | ', sprintf($txt['last_post_topic'], '<a href="' . $topic['last_post']['href'] . '">' . $topic['last_post']['time'] . '</a>', $topic['last_post']['member']['link']), ' |
177 | 187 | </div>'; |
178 | 188 | |
179 | - if ($context['showCheckboxes']) |
|
180 | - echo ' |
|
189 | + if ($context['showCheckboxes']) { |
|
190 | + echo ' |
|
181 | 191 | <div class="moderation"> |
182 | 192 | <input type="checkbox" name="topics[]" value="', $topic['id'], '"> |
183 | 193 | </div>'; |
194 | + } |
|
184 | 195 | |
185 | 196 | echo ' |
186 | 197 | </div><!-- $topic[css_class] -->'; |
187 | 198 | } |
188 | 199 | |
189 | - if (empty($context['topics'])) |
|
190 | - echo ' |
|
200 | + if (empty($context['topics'])) { |
|
201 | + echo ' |
|
191 | 202 | <div style="display: none;"></div>'; |
203 | + } |
|
192 | 204 | |
193 | 205 | echo ' |
194 | 206 | </div><!-- #topic_container --> |
@@ -203,25 +215,27 @@ discard block |
||
203 | 215 | ', $context['page_index'], ' |
204 | 216 | </div> |
205 | 217 | </div>'; |
206 | - } |
|
207 | - else |
|
208 | - echo ' |
|
218 | + } else { |
|
219 | + echo ' |
|
209 | 220 | <div class="cat_bar"> |
210 | 221 | <h3 class="catbg centertext"> |
211 | 222 | ', $context['showing_all_topics'] ? $txt['topic_alert_none'] : $txt['unread_topics_visit_none'], ' |
212 | 223 | </h3> |
213 | 224 | </div>'; |
225 | + } |
|
214 | 226 | |
215 | - if ($context['showCheckboxes']) |
|
216 | - echo ' |
|
227 | + if ($context['showCheckboxes']) { |
|
228 | + echo ' |
|
217 | 229 | </form>'; |
230 | + } |
|
218 | 231 | |
219 | 232 | echo ' |
220 | 233 | </div><!-- #recent -->'; |
221 | 234 | |
222 | - if (empty($context['no_topic_listing'])) |
|
223 | - template_topic_legend(); |
|
224 | -} |
|
235 | + if (empty($context['no_topic_listing'])) { |
|
236 | + template_topic_legend(); |
|
237 | + } |
|
238 | + } |
|
225 | 239 | |
226 | 240 | /** |
227 | 241 | * Template for showing unread replies (eg new replies to topics you've posted in) |
@@ -233,12 +247,13 @@ discard block |
||
233 | 247 | echo ' |
234 | 248 | <div id="recent">'; |
235 | 249 | |
236 | - if ($context['showCheckboxes']) |
|
237 | - echo ' |
|
250 | + if ($context['showCheckboxes']) { |
|
251 | + echo ' |
|
238 | 252 | <form action="', $scripturl, '?action=quickmod" method="post" accept-charset="', $context['character_set'], '" name="quickModForm" id="quickModForm"> |
239 | 253 | <input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '"> |
240 | 254 | <input type="hidden" name="qaction" value="markread"> |
241 | 255 | <input type="hidden" name="redirect_url" value="action=unreadreplies', (!empty($context['showing_all_topics']) ? ';all' : ''), $context['querystring_board_limits'], '">'; |
256 | + } |
|
242 | 257 | |
243 | 258 | if (!empty($context['topics'])) |
244 | 259 | { |
@@ -267,11 +282,12 @@ discard block |
||
267 | 282 | </div>'; |
268 | 283 | |
269 | 284 | // Show a "select all" box for quick moderation? |
270 | - if ($context['showCheckboxes']) |
|
271 | - echo ' |
|
285 | + if ($context['showCheckboxes']) { |
|
286 | + echo ' |
|
272 | 287 | <div class="moderation"> |
273 | 288 | <input type="checkbox" onclick="invertAll(this, this.form, \'topics[]\');"> |
274 | 289 | </div>'; |
290 | + } |
|
275 | 291 | |
276 | 292 | echo ' |
277 | 293 | </div><!-- #topic_header --> |
@@ -290,15 +306,18 @@ discard block |
||
290 | 306 | // Now we handle the icons |
291 | 307 | echo ' |
292 | 308 | <div class="icons floatright">'; |
293 | - if ($topic['is_locked']) |
|
294 | - echo ' |
|
309 | + if ($topic['is_locked']) { |
|
310 | + echo ' |
|
295 | 311 | <span class="generic_icons lock"></span>'; |
296 | - if ($topic['is_sticky']) |
|
297 | - echo ' |
|
312 | + } |
|
313 | + if ($topic['is_sticky']) { |
|
314 | + echo ' |
|
298 | 315 | <span class="generic_icons sticky"></span>'; |
299 | - if ($topic['is_poll']) |
|
300 | - echo ' |
|
316 | + } |
|
317 | + if ($topic['is_poll']) { |
|
318 | + echo ' |
|
301 | 319 | <span class="generic_icons poll"></span>'; |
320 | + } |
|
302 | 321 | echo ' |
303 | 322 | </div>'; |
304 | 323 | |
@@ -323,11 +342,12 @@ discard block |
||
323 | 342 | ', sprintf($txt['last_post_topic'], '<a href="' . $topic['last_post']['href'] . '">' . $topic['last_post']['time'] . '</a>', $topic['last_post']['member']['link']), ' |
324 | 343 | </div>'; |
325 | 344 | |
326 | - if ($context['showCheckboxes']) |
|
327 | - echo ' |
|
345 | + if ($context['showCheckboxes']) { |
|
346 | + echo ' |
|
328 | 347 | <div class="moderation"> |
329 | 348 | <input type="checkbox" name="topics[]" value="', $topic['id'], '"> |
330 | 349 | </div>'; |
350 | + } |
|
331 | 351 | echo ' |
332 | 352 | </div><!-- $topic[css_class] -->'; |
333 | 353 | } |
@@ -343,24 +363,26 @@ discard block |
||
343 | 363 | ', $context['page_index'], ' |
344 | 364 | </div> |
345 | 365 | </div>'; |
346 | - } |
|
347 | - else |
|
348 | - echo ' |
|
366 | + } else { |
|
367 | + echo ' |
|
349 | 368 | <div class="cat_bar"> |
350 | 369 | <h3 class="catbg centertext"> |
351 | 370 | ', $context['showing_all_topics'] ? $txt['topic_alert_none'] : $txt['unread_topics_visit_none'], ' |
352 | 371 | </h3> |
353 | 372 | </div>'; |
373 | + } |
|
354 | 374 | |
355 | - if ($context['showCheckboxes']) |
|
356 | - echo ' |
|
375 | + if ($context['showCheckboxes']) { |
|
376 | + echo ' |
|
357 | 377 | </form>'; |
378 | + } |
|
358 | 379 | |
359 | 380 | echo ' |
360 | 381 | </div><!-- #recent -->'; |
361 | 382 | |
362 | - if (empty($context['no_topic_listing'])) |
|
363 | - template_topic_legend(); |
|
364 | -} |
|
383 | + if (empty($context['no_topic_listing'])) { |
|
384 | + template_topic_legend(); |
|
385 | + } |
|
386 | + } |
|
365 | 387 | |
366 | 388 | ?> |
367 | 389 | \ No newline at end of file |
@@ -22,27 +22,31 @@ discard block |
||
22 | 22 | // Get a shortcut to the current list. |
23 | 23 | $list_id = $list_id === null ? (!empty($context['default_list']) ? $context['default_list'] : '') : $list_id; |
24 | 24 | |
25 | - if (empty($list_id) || empty($context[$list_id])) |
|
26 | - return; |
|
25 | + if (empty($list_id) || empty($context[$list_id])) { |
|
26 | + return; |
|
27 | + } |
|
27 | 28 | |
28 | 29 | $cur_list = &$context[$list_id]; |
29 | 30 | |
30 | 31 | // These are the main tabs that is used all around the template. |
31 | - if (isset($cur_list['list_menu'], $cur_list['list_menu']['show_on']) && ($cur_list['list_menu']['show_on'] == 'both' || $cur_list['list_menu']['show_on'] == 'top')) |
|
32 | - template_create_list_menu($cur_list['list_menu'], 'top'); |
|
32 | + if (isset($cur_list['list_menu'], $cur_list['list_menu']['show_on']) && ($cur_list['list_menu']['show_on'] == 'both' || $cur_list['list_menu']['show_on'] == 'top')) { |
|
33 | + template_create_list_menu($cur_list['list_menu'], 'top'); |
|
34 | + } |
|
33 | 35 | |
34 | - if (isset($cur_list['form'])) |
|
35 | - echo ' |
|
36 | + if (isset($cur_list['form'])) { |
|
37 | + echo ' |
|
36 | 38 | <form action="', $cur_list['form']['href'], '" method="post"', empty($cur_list['form']['name']) ? '' : ' name="' . $cur_list['form']['name'] . '" id="' . $cur_list['form']['name'] . '"', ' accept-charset="', $context['character_set'], '">'; |
39 | + } |
|
37 | 40 | |
38 | 41 | // Show the title of the table (if any). |
39 | - if (!empty($cur_list['title'])) |
|
40 | - echo ' |
|
42 | + if (!empty($cur_list['title'])) { |
|
43 | + echo ' |
|
41 | 44 | <div class="cat_bar"> |
42 | 45 | <h3 class="catbg"> |
43 | 46 | ', $cur_list['title'], ' |
44 | 47 | </h3> |
45 | 48 | </div>'; |
49 | + } |
|
46 | 50 | |
47 | 51 | if (isset($cur_list['additional_rows']['after_title'])) |
48 | 52 | { |
@@ -55,20 +59,23 @@ discard block |
||
55 | 59 | </div>'; |
56 | 60 | } |
57 | 61 | |
58 | - if (isset($cur_list['additional_rows']['top_of_list'])) |
|
59 | - template_additional_rows('top_of_list', $cur_list); |
|
62 | + if (isset($cur_list['additional_rows']['top_of_list'])) { |
|
63 | + template_additional_rows('top_of_list', $cur_list); |
|
64 | + } |
|
60 | 65 | |
61 | 66 | if ((!empty($cur_list['items_per_page']) && !empty($cur_list['page_index'])) || isset($cur_list['additional_rows']['above_column_headers'])) |
62 | 67 | { |
63 | 68 | // Show the page index (if this list doesn't intend to show all items). |
64 | - if (!empty($cur_list['items_per_page']) && !empty($cur_list['page_index'])) |
|
65 | - echo ' |
|
69 | + if (!empty($cur_list['items_per_page']) && !empty($cur_list['page_index'])) { |
|
70 | + echo ' |
|
66 | 71 | <div class="floatleft"> |
67 | 72 | <div class="pagesection">', $cur_list['page_index'], '</div> |
68 | 73 | </div>'; |
74 | + } |
|
69 | 75 | |
70 | - if (isset($cur_list['additional_rows']['above_column_headers'])) |
|
71 | - template_additional_rows('above_column_headers', $cur_list); |
|
76 | + if (isset($cur_list['additional_rows']['above_column_headers'])) { |
|
77 | + template_additional_rows('above_column_headers', $cur_list); |
|
78 | + } |
|
72 | 79 | } |
73 | 80 | |
74 | 81 | echo ' |
@@ -100,13 +107,14 @@ discard block |
||
100 | 107 | <tbody>'; |
101 | 108 | |
102 | 109 | // Show a nice message informing there are no items in this list. |
103 | - if (empty($cur_list['rows']) && !empty($cur_list['no_items_label'])) |
|
104 | - echo ' |
|
110 | + if (empty($cur_list['rows']) && !empty($cur_list['no_items_label'])) { |
|
111 | + echo ' |
|
105 | 112 | <tr class="windowbg"> |
106 | 113 | <td colspan="', $cur_list['num_columns'], '" class="', !empty($cur_list['no_items_align']) ? $cur_list['no_items_align'] : 'centertext', '"> |
107 | 114 | ', $cur_list['no_items_label'], ' |
108 | 115 | </td> |
109 | 116 | </tr>'; |
117 | + } |
|
110 | 118 | |
111 | 119 | // Show the list rows. |
112 | 120 | elseif (!empty($cur_list['rows'])) |
@@ -116,12 +124,13 @@ discard block |
||
116 | 124 | echo ' |
117 | 125 | <tr class="windowbg', empty($row['class']) ? '' : ' ' . $row['class'], '"', empty($row['style']) ? '' : ' style="' . $row['style'] . '"', ' id="list_', $list_id, '_', $id, '">'; |
118 | 126 | |
119 | - if (!empty($row['data'])) |
|
120 | - foreach ($row['data'] as $row_data) |
|
127 | + if (!empty($row['data'])) { |
|
128 | + foreach ($row['data'] as $row_data) |
|
121 | 129 | echo ' |
122 | 130 | <td', empty($row_data['class']) ? '' : ' class="' . $row_data['class'] . '"', empty($row_data['style']) ? '' : ' style="' . $row_data['style'] . '"', '> |
123 | 131 | ', $row_data['value'], ' |
124 | 132 | </td>'; |
133 | + } |
|
125 | 134 | |
126 | 135 | echo ' |
127 | 136 | </tr>'; |
@@ -138,46 +147,53 @@ discard block |
||
138 | 147 | <div class="flow_auto">'; |
139 | 148 | |
140 | 149 | // Show the page index (if this list doesn't intend to show all items). |
141 | - if (!empty($cur_list['items_per_page']) && !empty($cur_list['page_index'])) |
|
142 | - echo ' |
|
150 | + if (!empty($cur_list['items_per_page']) && !empty($cur_list['page_index'])) { |
|
151 | + echo ' |
|
143 | 152 | <div class="floatleft"> |
144 | 153 | <div class="pagesection">', $cur_list['page_index'], '</div> |
145 | 154 | </div>'; |
155 | + } |
|
146 | 156 | |
147 | - if (isset($cur_list['additional_rows']['below_table_data'])) |
|
148 | - template_additional_rows('below_table_data', $cur_list); |
|
157 | + if (isset($cur_list['additional_rows']['below_table_data'])) { |
|
158 | + template_additional_rows('below_table_data', $cur_list); |
|
159 | + } |
|
149 | 160 | |
150 | 161 | echo ' |
151 | 162 | </div>'; |
152 | 163 | } |
153 | 164 | |
154 | - if (isset($cur_list['additional_rows']['bottom_of_list'])) |
|
155 | - template_additional_rows('bottom_of_list', $cur_list); |
|
165 | + if (isset($cur_list['additional_rows']['bottom_of_list'])) { |
|
166 | + template_additional_rows('bottom_of_list', $cur_list); |
|
167 | + } |
|
156 | 168 | |
157 | 169 | if (isset($cur_list['form'])) |
158 | 170 | { |
159 | - foreach ($cur_list['form']['hidden_fields'] as $name => $value) |
|
160 | - echo ' |
|
171 | + foreach ($cur_list['form']['hidden_fields'] as $name => $value) { |
|
172 | + echo ' |
|
161 | 173 | <input type="hidden" name="', $name, '" value="', $value, '">'; |
174 | + } |
|
162 | 175 | |
163 | - if (isset($cur_list['form']['token'])) |
|
164 | - echo ' |
|
176 | + if (isset($cur_list['form']['token'])) { |
|
177 | + echo ' |
|
165 | 178 | <input type="hidden" name="', $context[$cur_list['form']['token'] . '_token_var'], '" value="', $context[$cur_list['form']['token'] . '_token'], '">'; |
179 | + } |
|
166 | 180 | |
167 | 181 | echo ' |
168 | 182 | </form>'; |
169 | 183 | } |
170 | 184 | |
171 | 185 | // Tabs at the bottom. Usually bottom aligned. |
172 | - if (isset($cur_list['list_menu'], $cur_list['list_menu']['show_on']) && ($cur_list['list_menu']['show_on'] == 'both' || $cur_list['list_menu']['show_on'] == 'bottom')) |
|
173 | - template_create_list_menu($cur_list['list_menu'], 'bottom'); |
|
186 | + if (isset($cur_list['list_menu'], $cur_list['list_menu']['show_on']) && ($cur_list['list_menu']['show_on'] == 'both' || $cur_list['list_menu']['show_on'] == 'bottom')) { |
|
187 | + template_create_list_menu($cur_list['list_menu'], 'bottom'); |
|
188 | + } |
|
174 | 189 | |
175 | - if (isset($cur_list['javascript'])) |
|
176 | - echo ' |
|
190 | + if (isset($cur_list['javascript'])) { |
|
191 | + echo ' |
|
177 | 192 | <script> |
178 | 193 | ', $cur_list['javascript'], ' |
179 | 194 | </script>'; |
180 | -} |
|
195 | + } |
|
196 | + } |
|
181 | 197 | |
182 | 198 | /** |
183 | 199 | * This template displays additional rows above or below the list. |
@@ -187,12 +203,13 @@ discard block |
||
187 | 203 | */ |
188 | 204 | function template_additional_rows($row_position, $cur_list) |
189 | 205 | { |
190 | - foreach ($cur_list['additional_rows'][$row_position] as $row) |
|
191 | - echo ' |
|
206 | + foreach ($cur_list['additional_rows'][$row_position] as $row) { |
|
207 | + echo ' |
|
192 | 208 | <div class="additional_row', empty($row['class']) ? '' : ' ' . $row['class'], '"', empty($row['style']) ? '' : ' style="' . $row['style'] . '"', '> |
193 | 209 | ', $row['value'], ' |
194 | 210 | </div>'; |
195 | -} |
|
211 | + } |
|
212 | + } |
|
196 | 213 | |
197 | 214 | /** |
198 | 215 | * This function creates a menu |
@@ -251,18 +268,19 @@ discard block |
||
251 | 268 | |
252 | 269 | foreach ($list_menu['links'] as $link) |
253 | 270 | { |
254 | - if ($link['is_selected']) |
|
255 | - echo ' |
|
271 | + if ($link['is_selected']) { |
|
272 | + echo ' |
|
256 | 273 | <td class="', $direction == 'top' ? 'mirror' : 'main', 'tab_active_', $first, '"> </td> |
257 | 274 | <td class="', $direction == 'top' ? 'mirrortab' : 'maintab', '_active_back"> |
258 | 275 | <a href="', $link['href'], '">', $link['label'], '</a> |
259 | 276 | </td> |
260 | 277 | <td class="', $direction == 'top' ? 'mirror' : 'main', 'tab_active_', $last, '"> </td>'; |
261 | - else |
|
262 | - echo ' |
|
278 | + } else { |
|
279 | + echo ' |
|
263 | 280 | <td class="', $direction == 'top' ? 'mirror' : 'main', 'tab_back"> |
264 | 281 | <a href="', $link['href'], '">', $link['label'], '</a> |
265 | 282 | </td>'; |
283 | + } |
|
266 | 284 | } |
267 | 285 | |
268 | 286 | echo ' |
@@ -273,12 +291,12 @@ discard block |
||
273 | 291 | <td> </td>' : '', ' |
274 | 292 | </tr> |
275 | 293 | </table>'; |
276 | - } |
|
277 | - elseif (isset($list_menu['style']) && $list_menu['style'] == 'buttons') |
|
294 | + } elseif (isset($list_menu['style']) && $list_menu['style'] == 'buttons') |
|
278 | 295 | { |
279 | 296 | $links = array(); |
280 | - foreach ($list_menu['links'] as $link) |
|
281 | - $links[] = '<a href="' . $link['href'] . '">' . $link['label'] . '</a>'; |
|
297 | + foreach ($list_menu['links'] as $link) { |
|
298 | + $links[] = '<a href="' . $link['href'] . '">' . $link['label'] . '</a>'; |
|
299 | + } |
|
282 | 300 | |
283 | 301 | echo ' |
284 | 302 | <table style="margin-', $list_menu['position'], ': 10px; width: 100%;"> |
@@ -15,8 +15,9 @@ discard block |
||
15 | 15 | * @version 2.1 Beta 4 |
16 | 16 | */ |
17 | 17 | |
18 | -if (!defined('SMF')) |
|
18 | +if (!defined('SMF')) { |
|
19 | 19 | die('No direct access...'); |
20 | +} |
|
20 | 21 | |
21 | 22 | /** |
22 | 23 | * Log an error, if the error logging is enabled. |
@@ -41,17 +42,19 @@ discard block |
||
41 | 42 | // are we in a loop? |
42 | 43 | if($error_call > 2) |
43 | 44 | { |
44 | - if (!isset($db_show_debug) || $db_show_debug === false) |
|
45 | - $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); |
|
46 | - else |
|
47 | - $backtrace = debug_backtrace(); |
|
45 | + if (!isset($db_show_debug) || $db_show_debug === false) { |
|
46 | + $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); |
|
47 | + } else { |
|
48 | + $backtrace = debug_backtrace(); |
|
49 | + } |
|
48 | 50 | var_dump($backtrace); |
49 | 51 | die('Error loop.'); |
50 | 52 | } |
51 | 53 | |
52 | 54 | // Check if error logging is actually on. |
53 | - if (empty($modSettings['enableErrorLogging'])) |
|
54 | - return $error_message; |
|
55 | + if (empty($modSettings['enableErrorLogging'])) { |
|
56 | + return $error_message; |
|
57 | + } |
|
55 | 58 | |
56 | 59 | // Basically, htmlspecialchars it minus &. (for entities!) |
57 | 60 | $error_message = strtr($error_message, array('<' => '<', '>' => '>', '"' => '"')); |
@@ -59,33 +62,39 @@ discard block |
||
59 | 62 | |
60 | 63 | // Add a file and line to the error message? |
61 | 64 | // Don't use the actual txt entries for file and line but instead use %1$s for file and %2$s for line |
62 | - if ($file == null) |
|
63 | - $file = ''; |
|
64 | - else |
|
65 | - // Window style slashes don't play well, lets convert them to the unix style. |
|
65 | + if ($file == null) { |
|
66 | + $file = ''; |
|
67 | + } else { |
|
68 | + // Window style slashes don't play well, lets convert them to the unix style. |
|
66 | 69 | $file = str_replace('\\', '/', $file); |
70 | + } |
|
67 | 71 | |
68 | - if ($line == null) |
|
69 | - $line = 0; |
|
70 | - else |
|
71 | - $line = (int) $line; |
|
72 | + if ($line == null) { |
|
73 | + $line = 0; |
|
74 | + } else { |
|
75 | + $line = (int) $line; |
|
76 | + } |
|
72 | 77 | |
73 | 78 | // Just in case there's no id_member or IP set yet. |
74 | - if (empty($user_info['id'])) |
|
75 | - $user_info['id'] = 0; |
|
76 | - if (empty($user_info['ip'])) |
|
77 | - $user_info['ip'] = ''; |
|
79 | + if (empty($user_info['id'])) { |
|
80 | + $user_info['id'] = 0; |
|
81 | + } |
|
82 | + if (empty($user_info['ip'])) { |
|
83 | + $user_info['ip'] = ''; |
|
84 | + } |
|
78 | 85 | |
79 | 86 | // Find the best query string we can... |
80 | 87 | $query_string = empty($_SERVER['QUERY_STRING']) ? (empty($_SERVER['REQUEST_URL']) ? '' : str_replace($scripturl, '', $_SERVER['REQUEST_URL'])) : $_SERVER['QUERY_STRING']; |
81 | 88 | |
82 | 89 | // Don't log the session hash in the url twice, it's a waste. |
83 | - if (!empty($smcFunc['htmlspecialchars'])) |
|
84 | - $query_string = $smcFunc['htmlspecialchars']((SMF == 'SSI' || SMF == 'BACKGROUND' ? '' : '?') . preg_replace(array('~;sesc=[^&;]+~', '~' . session_name() . '=' . session_id() . '[&;]~'), array(';sesc', ''), $query_string)); |
|
90 | + if (!empty($smcFunc['htmlspecialchars'])) { |
|
91 | + $query_string = $smcFunc['htmlspecialchars']((SMF == 'SSI' || SMF == 'BACKGROUND' ? '' : '?') . preg_replace(array('~;sesc=[^&;]+~', '~' . session_name() . '=' . session_id() . '[&;]~'), array(';sesc', ''), $query_string)); |
|
92 | + } |
|
85 | 93 | |
86 | 94 | // Just so we know what board error messages are from. |
87 | - if (isset($_POST['board']) && !isset($_GET['board'])) |
|
88 | - $query_string .= ($query_string == '' ? 'board=' : ';board=') . $_POST['board']; |
|
95 | + if (isset($_POST['board']) && !isset($_GET['board'])) { |
|
96 | + $query_string .= ($query_string == '' ? 'board=' : ';board=') . $_POST['board']; |
|
97 | + } |
|
89 | 98 | |
90 | 99 | // What types of categories do we have? |
91 | 100 | $known_error_types = array( |
@@ -151,12 +160,14 @@ discard block |
||
151 | 160 | global $txt; |
152 | 161 | |
153 | 162 | // Send the appropriate HTTP status header - set this to 0 or false if you don't want to send one at all |
154 | - if (!empty($status)) |
|
155 | - send_http_status($status); |
|
163 | + if (!empty($status)) { |
|
164 | + send_http_status($status); |
|
165 | + } |
|
156 | 166 | |
157 | 167 | // We don't have $txt yet, but that's okay... |
158 | - if (empty($txt)) |
|
159 | - die($error); |
|
168 | + if (empty($txt)) { |
|
169 | + die($error); |
|
170 | + } |
|
160 | 171 | |
161 | 172 | log_error_online($error, false); |
162 | 173 | setup_fatal_error_context($log ? log_error($error, $log) : $error); |
@@ -183,8 +194,9 @@ discard block |
||
183 | 194 | static $fatal_error_called = false; |
184 | 195 | |
185 | 196 | // Send the status header - set this to 0 or false if you don't want to send one at all |
186 | - if (!empty($status)) |
|
187 | - send_http_status($status); |
|
197 | + if (!empty($status)) { |
|
198 | + send_http_status($status); |
|
199 | + } |
|
188 | 200 | |
189 | 201 | // Try to load a theme if we don't have one. |
190 | 202 | if (empty($context['theme_loaded']) && empty($fatal_error_called)) |
@@ -194,8 +206,9 @@ discard block |
||
194 | 206 | } |
195 | 207 | |
196 | 208 | // If we have no theme stuff we can't have the language file... |
197 | - if (empty($context['theme_loaded'])) |
|
198 | - die($error); |
|
209 | + if (empty($context['theme_loaded'])) { |
|
210 | + die($error); |
|
211 | + } |
|
199 | 212 | |
200 | 213 | $reload_lang_file = true; |
201 | 214 | // Log the error in the forum's language, but don't waste the time if we aren't logging |
@@ -231,8 +244,9 @@ discard block |
||
231 | 244 | global $settings, $modSettings, $db_show_debug; |
232 | 245 | |
233 | 246 | // Ignore errors if we're ignoring them or they are strict notices from PHP 5 (which cannot be solved without breaking PHP 4.) |
234 | - if (error_reporting() == 0 || (defined('E_STRICT') && $error_level == E_STRICT && !empty($modSettings['enableErrorLogging']))) |
|
235 | - return; |
|
247 | + if (error_reporting() == 0 || (defined('E_STRICT') && $error_level == E_STRICT && !empty($modSettings['enableErrorLogging']))) { |
|
248 | + return; |
|
249 | + } |
|
236 | 250 | |
237 | 251 | if (strpos($file, 'eval()') !== false && !empty($settings['current_include_filename'])) |
238 | 252 | { |
@@ -240,19 +254,22 @@ discard block |
||
240 | 254 | $count = count($array); |
241 | 255 | for ($i = 0; $i < $count; $i++) |
242 | 256 | { |
243 | - if ($array[$i]['function'] != 'loadSubTemplate') |
|
244 | - continue; |
|
257 | + if ($array[$i]['function'] != 'loadSubTemplate') { |
|
258 | + continue; |
|
259 | + } |
|
245 | 260 | |
246 | 261 | // This is a bug in PHP, with eval, it seems! |
247 | - if (empty($array[$i]['args'])) |
|
248 | - $i++; |
|
262 | + if (empty($array[$i]['args'])) { |
|
263 | + $i++; |
|
264 | + } |
|
249 | 265 | break; |
250 | 266 | } |
251 | 267 | |
252 | - if (isset($array[$i]) && !empty($array[$i]['args'])) |
|
253 | - $file = realpath($settings['current_include_filename']) . ' (' . $array[$i]['args'][0] . ' sub template - eval?)'; |
|
254 | - else |
|
255 | - $file = realpath($settings['current_include_filename']) . ' (eval?)'; |
|
268 | + if (isset($array[$i]) && !empty($array[$i]['args'])) { |
|
269 | + $file = realpath($settings['current_include_filename']) . ' (' . $array[$i]['args'][0] . ' sub template - eval?)'; |
|
270 | + } else { |
|
271 | + $file = realpath($settings['current_include_filename']) . ' (eval?)'; |
|
272 | + } |
|
256 | 273 | } |
257 | 274 | |
258 | 275 | if (isset($db_show_debug) && $db_show_debug === true) |
@@ -261,8 +278,9 @@ discard block |
||
261 | 278 | if ($error_level % 255 != E_ERROR) |
262 | 279 | { |
263 | 280 | $temporary = ob_get_contents(); |
264 | - if (substr($temporary, -2) == '="') |
|
265 | - echo '"'; |
|
281 | + if (substr($temporary, -2) == '="') { |
|
282 | + echo '"'; |
|
283 | + } |
|
266 | 284 | } |
267 | 285 | |
268 | 286 | // Debugging! This should look like a PHP error message. |
@@ -278,23 +296,27 @@ discard block |
||
278 | 296 | call_integration_hook('integrate_output_error', array($message, $error_type, $error_level, $file, $line)); |
279 | 297 | |
280 | 298 | // Dying on these errors only causes MORE problems (blank pages!) |
281 | - if ($file == 'Unknown') |
|
282 | - return; |
|
299 | + if ($file == 'Unknown') { |
|
300 | + return; |
|
301 | + } |
|
283 | 302 | |
284 | 303 | // If this is an E_ERROR or E_USER_ERROR.... die. Violently so. |
285 | - if ($error_level % 255 == E_ERROR) |
|
286 | - obExit(false); |
|
287 | - else |
|
288 | - return; |
|
304 | + if ($error_level % 255 == E_ERROR) { |
|
305 | + obExit(false); |
|
306 | + } else { |
|
307 | + return; |
|
308 | + } |
|
289 | 309 | |
290 | 310 | // If this is an E_ERROR, E_USER_ERROR, E_WARNING, or E_USER_WARNING.... die. Violently so. |
291 | - if ($error_level % 255 == E_ERROR || $error_level % 255 == E_WARNING) |
|
292 | - fatal_error(allowedTo('admin_forum') ? $message : $error_string, false); |
|
311 | + if ($error_level % 255 == E_ERROR || $error_level % 255 == E_WARNING) { |
|
312 | + fatal_error(allowedTo('admin_forum') ? $message : $error_string, false); |
|
313 | + } |
|
293 | 314 | |
294 | 315 | // We should NEVER get to this point. Any fatal error MUST quit, or very bad things can happen. |
295 | - if ($error_level % 255 == E_ERROR) |
|
296 | - die('No direct access...'); |
|
297 | -} |
|
316 | + if ($error_level % 255 == E_ERROR) { |
|
317 | + die('No direct access...'); |
|
318 | + } |
|
319 | + } |
|
298 | 320 | |
299 | 321 | /** |
300 | 322 | * It is called by {@link fatal_error()} and {@link fatal_lang_error()}. |
@@ -310,24 +332,28 @@ discard block |
||
310 | 332 | |
311 | 333 | // Attempt to prevent a recursive loop. |
312 | 334 | ++$level; |
313 | - if ($level > 1) |
|
314 | - return false; |
|
335 | + if ($level > 1) { |
|
336 | + return false; |
|
337 | + } |
|
315 | 338 | |
316 | 339 | // Maybe they came from dlattach or similar? |
317 | - if (SMF != 'SSI' && SMF != 'BACKGROUND' && empty($context['theme_loaded'])) |
|
318 | - loadTheme(); |
|
340 | + if (SMF != 'SSI' && SMF != 'BACKGROUND' && empty($context['theme_loaded'])) { |
|
341 | + loadTheme(); |
|
342 | + } |
|
319 | 343 | |
320 | 344 | // Don't bother indexing errors mate... |
321 | 345 | $context['robot_no_index'] = true; |
322 | 346 | |
323 | - if (!isset($context['error_title'])) |
|
324 | - $context['error_title'] = $txt['error_occured']; |
|
347 | + if (!isset($context['error_title'])) { |
|
348 | + $context['error_title'] = $txt['error_occured']; |
|
349 | + } |
|
325 | 350 | $context['error_message'] = isset($context['error_message']) ? $context['error_message'] : $error_message; |
326 | 351 | |
327 | 352 | $context['error_code'] = isset($error_code) ? 'id="' . $error_code . '" ' : ''; |
328 | 353 | |
329 | - if (empty($context['page_title'])) |
|
330 | - $context['page_title'] = $context['error_title']; |
|
354 | + if (empty($context['page_title'])) { |
|
355 | + $context['page_title'] = $context['error_title']; |
|
356 | + } |
|
331 | 357 | |
332 | 358 | loadTemplate('Errors'); |
333 | 359 | $context['sub_template'] = 'fatal_error'; |
@@ -335,23 +361,26 @@ discard block |
||
335 | 361 | // If this is SSI, what do they want us to do? |
336 | 362 | if (SMF == 'SSI') |
337 | 363 | { |
338 | - if (!empty($ssi_on_error_method) && $ssi_on_error_method !== true && is_callable($ssi_on_error_method)) |
|
339 | - $ssi_on_error_method(); |
|
340 | - elseif (empty($ssi_on_error_method) || $ssi_on_error_method !== true) |
|
341 | - loadSubTemplate('fatal_error'); |
|
364 | + if (!empty($ssi_on_error_method) && $ssi_on_error_method !== true && is_callable($ssi_on_error_method)) { |
|
365 | + $ssi_on_error_method(); |
|
366 | + } elseif (empty($ssi_on_error_method) || $ssi_on_error_method !== true) { |
|
367 | + loadSubTemplate('fatal_error'); |
|
368 | + } |
|
342 | 369 | |
343 | 370 | // No layers? |
344 | - if (empty($ssi_on_error_method) || $ssi_on_error_method !== true) |
|
345 | - exit; |
|
371 | + if (empty($ssi_on_error_method) || $ssi_on_error_method !== true) { |
|
372 | + exit; |
|
373 | + } |
|
346 | 374 | } |
347 | 375 | // Alternatively from the cron call? |
348 | 376 | elseif (SMF == 'BACKGROUND') |
349 | 377 | { |
350 | 378 | // We can't rely on even having language files available. |
351 | - if (defined('FROM_CLI') && FROM_CLI) |
|
352 | - echo 'cron error: ', $context['error_message']; |
|
353 | - else |
|
354 | - echo 'An error occurred. More information may be available in your logs.'; |
|
379 | + if (defined('FROM_CLI') && FROM_CLI) { |
|
380 | + echo 'cron error: ', $context['error_message']; |
|
381 | + } else { |
|
382 | + echo 'An error occurred. More information may be available in your logs.'; |
|
383 | + } |
|
355 | 384 | exit; |
356 | 385 | } |
357 | 386 | |
@@ -379,8 +408,8 @@ discard block |
||
379 | 408 | |
380 | 409 | set_fatal_error_headers(); |
381 | 410 | |
382 | - if (!empty($maintenance)) |
|
383 | - echo '<!DOCTYPE html> |
|
411 | + if (!empty($maintenance)) { |
|
412 | + echo '<!DOCTYPE html> |
|
384 | 413 | <html> |
385 | 414 | <head> |
386 | 415 | <meta name="robots" content="noindex"> |
@@ -391,6 +420,7 @@ discard block |
||
391 | 420 | ', $mmessage, ' |
392 | 421 | </body> |
393 | 422 | </html>'; |
423 | + } |
|
394 | 424 | |
395 | 425 | die(); |
396 | 426 | } |
@@ -412,15 +442,17 @@ discard block |
||
412 | 442 | // For our purposes, we're gonna want this on if at all possible. |
413 | 443 | $modSettings['cache_enable'] = '1'; |
414 | 444 | |
415 | - if (($temp = cache_get_data('db_last_error', 600)) !== null) |
|
416 | - $db_last_error = max($db_last_error, $temp); |
|
445 | + if (($temp = cache_get_data('db_last_error', 600)) !== null) { |
|
446 | + $db_last_error = max($db_last_error, $temp); |
|
447 | + } |
|
417 | 448 | |
418 | 449 | if ($db_last_error < time() - 3600 * 24 * 3 && empty($maintenance) && !empty($db_error_send)) |
419 | 450 | { |
420 | 451 | // Avoid writing to the Settings.php file if at all possible; use shared memory instead. |
421 | 452 | cache_put_data('db_last_error', time(), 600); |
422 | - if (($temp = cache_get_data('db_last_error', 600)) === null) |
|
423 | - logLastDatabaseError(); |
|
453 | + if (($temp = cache_get_data('db_last_error', 600)) === null) { |
|
454 | + logLastDatabaseError(); |
|
455 | + } |
|
424 | 456 | |
425 | 457 | // Language files aren't loaded yet :(. |
426 | 458 | $db_error = @$smcFunc['db_error']($db_connection); |
@@ -501,12 +533,14 @@ discard block |
||
501 | 533 | global $smcFunc, $user_info, $modSettings; |
502 | 534 | |
503 | 535 | // Don't bother if Who's Online is disabled. |
504 | - if (empty($modSettings['who_enabled'])) |
|
505 | - return; |
|
536 | + if (empty($modSettings['who_enabled'])) { |
|
537 | + return; |
|
538 | + } |
|
506 | 539 | |
507 | 540 | // Maybe they came from SSI or similar where sessions are not recorded? |
508 | - if (SMF == 'SSI' || SMF == 'BACKGROUND') |
|
509 | - return; |
|
541 | + if (SMF == 'SSI' || SMF == 'BACKGROUND') { |
|
542 | + return; |
|
543 | + } |
|
510 | 544 | |
511 | 545 | $session_id = !empty($user_info['is_guest']) ? 'ip' . $user_info['ip'] : session_id(); |
512 | 546 | |
@@ -532,8 +566,9 @@ discard block |
||
532 | 566 | $url = $smcFunc['json_decode']($url, true); |
533 | 567 | $url['error'] = $error; |
534 | 568 | |
535 | - if (!empty($sprintf)) |
|
536 | - $url['error_params'] = $sprintf; |
|
569 | + if (!empty($sprintf)) { |
|
570 | + $url['error_params'] = $sprintf; |
|
571 | + } |
|
537 | 572 | |
538 | 573 | $smcFunc['db_query']('', ' |
539 | 574 | UPDATE {db_prefix}log_online |
@@ -564,10 +599,11 @@ discard block |
||
564 | 599 | |
565 | 600 | $protocol = preg_match('~HTTP/1\.[01]~i', $_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.0'; |
566 | 601 | |
567 | - if (!isset($statuses[$code])) |
|
568 | - header($protocol . ' 500 Internal Server Error'); |
|
569 | - else |
|
570 | - header($protocol . ' ' . $code . ' ' . $statuses[$code]); |
|
571 | -} |
|
602 | + if (!isset($statuses[$code])) { |
|
603 | + header($protocol . ' 500 Internal Server Error'); |
|
604 | + } else { |
|
605 | + header($protocol . ' ' . $code . ' ' . $statuses[$code]); |
|
606 | + } |
|
607 | + } |
|
572 | 608 | |
573 | 609 | ?> |
574 | 610 | \ No newline at end of file |
@@ -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', |
@@ -62,9 +63,11 @@ discard block |
||
62 | 63 | 'db_fetch_all' => 'smf_db_fetch_all', |
63 | 64 | 'db_error_insert' => 'smf_db_error_insert', |
64 | 65 | ); |
66 | + } |
|
65 | 67 | |
66 | - if (!empty($db_options['persist'])) |
|
67 | - $db_server = 'p:' . $db_server; |
|
68 | + if (!empty($db_options['persist'])) { |
|
69 | + $db_server = 'p:' . $db_server; |
|
70 | + } |
|
68 | 71 | |
69 | 72 | $connection = mysqli_init(); |
70 | 73 | |
@@ -73,24 +76,27 @@ discard block |
||
73 | 76 | $success = false; |
74 | 77 | |
75 | 78 | if ($connection) { |
76 | - if (!empty($db_options['port'])) |
|
77 | - $success = mysqli_real_connect($connection, $db_server, $db_user, $db_passwd, '', $db_options['port'], null, $flags); |
|
78 | - else |
|
79 | - $success = mysqli_real_connect($connection, $db_server, $db_user, $db_passwd, '', 0, null, $flags); |
|
79 | + if (!empty($db_options['port'])) { |
|
80 | + $success = mysqli_real_connect($connection, $db_server, $db_user, $db_passwd, '', $db_options['port'], null, $flags); |
|
81 | + } else { |
|
82 | + $success = mysqli_real_connect($connection, $db_server, $db_user, $db_passwd, '', 0, null, $flags); |
|
83 | + } |
|
80 | 84 | } |
81 | 85 | |
82 | 86 | // Something's wrong, show an error if its fatal (which we assume it is) |
83 | 87 | if ($success === false) |
84 | 88 | { |
85 | - if (!empty($db_options['non_fatal'])) |
|
86 | - return null; |
|
87 | - else |
|
88 | - display_db_error(); |
|
89 | + if (!empty($db_options['non_fatal'])) { |
|
90 | + return null; |
|
91 | + } else { |
|
92 | + display_db_error(); |
|
93 | + } |
|
89 | 94 | } |
90 | 95 | |
91 | 96 | // Select the database, unless told not to |
92 | - if (empty($db_options['dont_select_db']) && !@mysqli_select_db($connection, $db_name) && empty($db_options['non_fatal'])) |
|
93 | - display_db_error(); |
|
97 | + if (empty($db_options['dont_select_db']) && !@mysqli_select_db($connection, $db_name) && empty($db_options['non_fatal'])) { |
|
98 | + display_db_error(); |
|
99 | + } |
|
94 | 100 | |
95 | 101 | $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\'', |
96 | 102 | array(), |
@@ -166,34 +172,42 @@ discard block |
||
166 | 172 | global $db_callback, $user_info, $db_prefix, $smcFunc; |
167 | 173 | |
168 | 174 | list ($values, $connection) = $db_callback; |
169 | - if (!is_object($connection)) |
|
170 | - display_db_error(); |
|
175 | + if (!is_object($connection)) { |
|
176 | + display_db_error(); |
|
177 | + } |
|
171 | 178 | |
172 | - if ($matches[1] === 'db_prefix') |
|
173 | - return $db_prefix; |
|
179 | + if ($matches[1] === 'db_prefix') { |
|
180 | + return $db_prefix; |
|
181 | + } |
|
174 | 182 | |
175 | - if (isset($user_info[$matches[1]]) && strpos($matches[1], 'query_') !== false) |
|
176 | - return $user_info[$matches[1]]; |
|
183 | + if (isset($user_info[$matches[1]]) && strpos($matches[1], 'query_') !== false) { |
|
184 | + return $user_info[$matches[1]]; |
|
185 | + } |
|
177 | 186 | |
178 | - if ($matches[1] === 'empty') |
|
179 | - return '\'\''; |
|
187 | + if ($matches[1] === 'empty') { |
|
188 | + return '\'\''; |
|
189 | + } |
|
180 | 190 | |
181 | - if (!isset($matches[2])) |
|
182 | - smf_db_error_backtrace('Invalid value inserted or no type specified.', '', E_USER_ERROR, __FILE__, __LINE__); |
|
191 | + if (!isset($matches[2])) { |
|
192 | + smf_db_error_backtrace('Invalid value inserted or no type specified.', '', E_USER_ERROR, __FILE__, __LINE__); |
|
193 | + } |
|
183 | 194 | |
184 | - if ($matches[1] === 'literal') |
|
185 | - return '\'' . mysqli_real_escape_string($connection, $matches[2]) . '\''; |
|
195 | + if ($matches[1] === 'literal') { |
|
196 | + return '\'' . mysqli_real_escape_string($connection, $matches[2]) . '\''; |
|
197 | + } |
|
186 | 198 | |
187 | - if (!isset($values[$matches[2]])) |
|
188 | - 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__); |
|
199 | + if (!isset($values[$matches[2]])) { |
|
200 | + 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__); |
|
201 | + } |
|
189 | 202 | |
190 | 203 | $replacement = $values[$matches[2]]; |
191 | 204 | |
192 | 205 | switch ($matches[1]) |
193 | 206 | { |
194 | 207 | case 'int': |
195 | - if (!is_numeric($replacement) || (string) $replacement !== (string) (int) $replacement) |
|
196 | - smf_db_error_backtrace('Wrong value type sent to the database. Integer expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
208 | + if (!is_numeric($replacement) || (string) $replacement !== (string) (int) $replacement) { |
|
209 | + smf_db_error_backtrace('Wrong value type sent to the database. Integer expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
210 | + } |
|
197 | 211 | return (string) (int) $replacement; |
198 | 212 | break; |
199 | 213 | |
@@ -205,65 +219,73 @@ discard block |
||
205 | 219 | case 'array_int': |
206 | 220 | if (is_array($replacement)) |
207 | 221 | { |
208 | - if (empty($replacement)) |
|
209 | - smf_db_error_backtrace('Database error, given array of integer values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
222 | + if (empty($replacement)) { |
|
223 | + smf_db_error_backtrace('Database error, given array of integer values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
224 | + } |
|
210 | 225 | |
211 | 226 | foreach ($replacement as $key => $value) |
212 | 227 | { |
213 | - if (!is_numeric($value) || (string) $value !== (string) (int) $value) |
|
214 | - smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
228 | + if (!is_numeric($value) || (string) $value !== (string) (int) $value) { |
|
229 | + smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
230 | + } |
|
215 | 231 | |
216 | 232 | $replacement[$key] = (string) (int) $value; |
217 | 233 | } |
218 | 234 | |
219 | 235 | return implode(', ', $replacement); |
236 | + } else { |
|
237 | + smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
220 | 238 | } |
221 | - else |
|
222 | - smf_db_error_backtrace('Wrong value type sent to the database. Array of integers expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
223 | 239 | |
224 | 240 | break; |
225 | 241 | |
226 | 242 | case 'array_string': |
227 | 243 | if (is_array($replacement)) |
228 | 244 | { |
229 | - if (empty($replacement)) |
|
230 | - smf_db_error_backtrace('Database error, given array of string values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
245 | + if (empty($replacement)) { |
|
246 | + smf_db_error_backtrace('Database error, given array of string values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
247 | + } |
|
231 | 248 | |
232 | - foreach ($replacement as $key => $value) |
|
233 | - $replacement[$key] = sprintf('\'%1$s\'', mysqli_real_escape_string($connection, $value)); |
|
249 | + foreach ($replacement as $key => $value) { |
|
250 | + $replacement[$key] = sprintf('\'%1$s\'', mysqli_real_escape_string($connection, $value)); |
|
251 | + } |
|
234 | 252 | |
235 | 253 | return implode(', ', $replacement); |
254 | + } else { |
|
255 | + smf_db_error_backtrace('Wrong value type sent to the database. Array of strings expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
236 | 256 | } |
237 | - else |
|
238 | - smf_db_error_backtrace('Wrong value type sent to the database. Array of strings expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
239 | 257 | break; |
240 | 258 | |
241 | 259 | case 'date': |
242 | - if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d)$~', $replacement, $date_matches) === 1) |
|
243 | - return sprintf('\'%04d-%02d-%02d\'', $date_matches[1], $date_matches[2], $date_matches[3]); |
|
244 | - else |
|
245 | - smf_db_error_backtrace('Wrong value type sent to the database. Date expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
260 | + if (preg_match('~^(\d{4})-([0-1]?\d)-([0-3]?\d)$~', $replacement, $date_matches) === 1) { |
|
261 | + return sprintf('\'%04d-%02d-%02d\'', $date_matches[1], $date_matches[2], $date_matches[3]); |
|
262 | + } else { |
|
263 | + smf_db_error_backtrace('Wrong value type sent to the database. Date expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
264 | + } |
|
246 | 265 | break; |
247 | 266 | |
248 | 267 | case 'time': |
249 | - if (preg_match('~^([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $time_matches) === 1) |
|
250 | - return sprintf('\'%02d:%02d:%02d\'', $time_matches[1], $time_matches[2], $time_matches[3]); |
|
251 | - else |
|
252 | - smf_db_error_backtrace('Wrong value type sent to the database. Time expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
268 | + if (preg_match('~^([0-1]?\d|2[0-3]):([0-5]\d):([0-5]\d)$~', $replacement, $time_matches) === 1) { |
|
269 | + return sprintf('\'%02d:%02d:%02d\'', $time_matches[1], $time_matches[2], $time_matches[3]); |
|
270 | + } else { |
|
271 | + smf_db_error_backtrace('Wrong value type sent to the database. Time expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
272 | + } |
|
253 | 273 | break; |
254 | 274 | |
255 | 275 | case 'datetime': |
256 | - 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) |
|
257 | - return 'str_to_date('. |
|
276 | + 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) { |
|
277 | + return 'str_to_date('. |
|
258 | 278 | 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 | 279 | ',\'%Y-%m-%d %h:%i:%s\')'; |
260 | - else |
|
261 | - smf_db_error_backtrace('Wrong value type sent to the database. Datetime expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
280 | + } else { |
|
281 | + smf_db_error_backtrace('Wrong value type sent to the database. Datetime expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
282 | + } |
|
262 | 283 | break; |
263 | 284 | |
264 | 285 | case 'float': |
265 | - if (!is_numeric($replacement)) |
|
266 | - smf_db_error_backtrace('Wrong value type sent to the database. Floating point number expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
286 | + if (!is_numeric($replacement)) { |
|
287 | + smf_db_error_backtrace('Wrong value type sent to the database. Floating point number expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
288 | + } |
|
267 | 289 | return (string) (float) $replacement; |
268 | 290 | break; |
269 | 291 | |
@@ -277,32 +299,37 @@ discard block |
||
277 | 299 | break; |
278 | 300 | |
279 | 301 | case 'inet': |
280 | - if ($replacement == 'null' || $replacement == '') |
|
281 | - return 'null'; |
|
282 | - if (!isValidIP($replacement)) |
|
283 | - smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
302 | + if ($replacement == 'null' || $replacement == '') { |
|
303 | + return 'null'; |
|
304 | + } |
|
305 | + if (!isValidIP($replacement)) { |
|
306 | + smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
307 | + } |
|
284 | 308 | //we don't use the native support of mysql > 5.6.2 |
285 | 309 | return sprintf('unhex(\'%1$s\')', bin2hex(inet_pton($replacement))); |
286 | 310 | |
287 | 311 | case 'array_inet': |
288 | 312 | if (is_array($replacement)) |
289 | 313 | { |
290 | - if (empty($replacement)) |
|
291 | - smf_db_error_backtrace('Database error, given array of IPv4 or IPv6 values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
314 | + if (empty($replacement)) { |
|
315 | + smf_db_error_backtrace('Database error, given array of IPv4 or IPv6 values is empty. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
316 | + } |
|
292 | 317 | |
293 | 318 | foreach ($replacement as $key => $value) |
294 | 319 | { |
295 | - if ($replacement == 'null' || $replacement == '') |
|
296 | - $replacement[$key] = 'null'; |
|
297 | - if (!isValidIP($value)) |
|
298 | - smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
320 | + if ($replacement == 'null' || $replacement == '') { |
|
321 | + $replacement[$key] = 'null'; |
|
322 | + } |
|
323 | + if (!isValidIP($value)) { |
|
324 | + smf_db_error_backtrace('Wrong value type sent to the database. IPv4 or IPv6 expected.(' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
325 | + } |
|
299 | 326 | $replacement[$key] = sprintf('unhex(\'%1$s\')', bin2hex(inet_pton($value))); |
300 | 327 | } |
301 | 328 | |
302 | 329 | return implode(', ', $replacement); |
330 | + } else { |
|
331 | + smf_db_error_backtrace('Wrong value type sent to the database. Array of IPv4 or IPv6 expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
303 | 332 | } |
304 | - else |
|
305 | - smf_db_error_backtrace('Wrong value type sent to the database. Array of IPv4 or IPv6 expected. (' . $matches[2] . ')', '', E_USER_ERROR, __FILE__, __LINE__); |
|
306 | 333 | break; |
307 | 334 | |
308 | 335 | default: |
@@ -378,22 +405,25 @@ discard block |
||
378 | 405 | // Are we in SSI mode? If so try that username and password first |
379 | 406 | if (SMF == 'SSI' && !empty($ssi_db_user) && !empty($ssi_db_passwd)) |
380 | 407 | { |
381 | - if (empty($db_persist)) |
|
382 | - $db_connection = @mysqli_connect($db_server, $ssi_db_user, $ssi_db_passwd); |
|
383 | - else |
|
384 | - $db_connection = @mysqli_connect('p:' . $db_server, $ssi_db_user, $ssi_db_passwd); |
|
408 | + if (empty($db_persist)) { |
|
409 | + $db_connection = @mysqli_connect($db_server, $ssi_db_user, $ssi_db_passwd); |
|
410 | + } else { |
|
411 | + $db_connection = @mysqli_connect('p:' . $db_server, $ssi_db_user, $ssi_db_passwd); |
|
412 | + } |
|
385 | 413 | } |
386 | 414 | // Fall back to the regular username and password if need be |
387 | 415 | if (!$db_connection) |
388 | 416 | { |
389 | - if (empty($db_persist)) |
|
390 | - $db_connection = @mysqli_connect($db_server, $db_user, $db_passwd); |
|
391 | - else |
|
392 | - $db_connection = @mysqli_connect('p:' . $db_server, $db_user, $db_passwd); |
|
417 | + if (empty($db_persist)) { |
|
418 | + $db_connection = @mysqli_connect($db_server, $db_user, $db_passwd); |
|
419 | + } else { |
|
420 | + $db_connection = @mysqli_connect('p:' . $db_server, $db_user, $db_passwd); |
|
421 | + } |
|
393 | 422 | } |
394 | 423 | |
395 | - if (!$db_connection || !@mysqli_select_db($db_connection, $db_name)) |
|
396 | - $db_connection = false; |
|
424 | + if (!$db_connection || !@mysqli_select_db($db_connection, $db_name)) { |
|
425 | + $db_connection = false; |
|
426 | + } |
|
397 | 427 | |
398 | 428 | $connection = $db_connection; |
399 | 429 | } |
@@ -401,18 +431,20 @@ discard block |
||
401 | 431 | // One more query.... |
402 | 432 | $db_count = !isset($db_count) ? 1 : $db_count + 1; |
403 | 433 | |
404 | - if (empty($modSettings['disableQueryCheck']) && strpos($db_string, '\'') !== false && empty($db_values['security_override'])) |
|
405 | - smf_db_error_backtrace('Hacking attempt...', 'Illegal character (\') used in query...', true, __FILE__, __LINE__); |
|
434 | + if (empty($modSettings['disableQueryCheck']) && strpos($db_string, '\'') !== false && empty($db_values['security_override'])) { |
|
435 | + smf_db_error_backtrace('Hacking attempt...', 'Illegal character (\') used in query...', true, __FILE__, __LINE__); |
|
436 | + } |
|
406 | 437 | |
407 | 438 | // Use "ORDER BY null" to prevent Mysql doing filesorts for Group By clauses without an Order By |
408 | 439 | if (strpos($db_string, 'GROUP BY') !== false && strpos($db_string, 'ORDER BY') === false && preg_match('~^\s+SELECT~i', $db_string)) |
409 | 440 | { |
410 | 441 | // Add before LIMIT |
411 | - if ($pos = strpos($db_string, 'LIMIT ')) |
|
412 | - $db_string = substr($db_string, 0, $pos) . "\t\t\tORDER BY null\n" . substr($db_string, $pos, strlen($db_string)); |
|
413 | - else |
|
414 | - // Append it. |
|
442 | + if ($pos = strpos($db_string, 'LIMIT ')) { |
|
443 | + $db_string = substr($db_string, 0, $pos) . "\t\t\tORDER BY null\n" . substr($db_string, $pos, strlen($db_string)); |
|
444 | + } else { |
|
445 | + // Append it. |
|
415 | 446 | $db_string .= "\n\t\t\tORDER BY null"; |
447 | + } |
|
416 | 448 | } |
417 | 449 | |
418 | 450 | if (empty($db_values['security_override']) && (!empty($db_values) || strpos($db_string, '{db_prefix}') !== false)) |
@@ -434,8 +466,9 @@ discard block |
||
434 | 466 | list ($file, $line) = smf_db_error_backtrace('', '', 'return', __FILE__, __LINE__); |
435 | 467 | |
436 | 468 | // Initialize $db_cache if not already initialized. |
437 | - if (!isset($db_cache)) |
|
438 | - $db_cache = array(); |
|
469 | + if (!isset($db_cache)) { |
|
470 | + $db_cache = array(); |
|
471 | + } |
|
439 | 472 | |
440 | 473 | if (!empty($_SESSION['debug_redirect'])) |
441 | 474 | { |
@@ -461,17 +494,18 @@ discard block |
||
461 | 494 | while (true) |
462 | 495 | { |
463 | 496 | $pos = strpos($db_string, '\'', $pos + 1); |
464 | - if ($pos === false) |
|
465 | - break; |
|
497 | + if ($pos === false) { |
|
498 | + break; |
|
499 | + } |
|
466 | 500 | $clean .= substr($db_string, $old_pos, $pos - $old_pos); |
467 | 501 | |
468 | 502 | while (true) |
469 | 503 | { |
470 | 504 | $pos1 = strpos($db_string, '\'', $pos + 1); |
471 | 505 | $pos2 = strpos($db_string, '\\', $pos + 1); |
472 | - if ($pos1 === false) |
|
473 | - break; |
|
474 | - elseif ($pos2 === false || $pos2 > $pos1) |
|
506 | + if ($pos1 === false) { |
|
507 | + break; |
|
508 | + } elseif ($pos2 === false || $pos2 > $pos1) |
|
475 | 509 | { |
476 | 510 | $pos = $pos1; |
477 | 511 | break; |
@@ -487,29 +521,35 @@ discard block |
||
487 | 521 | $clean = trim(strtolower(preg_replace($allowed_comments_from, $allowed_comments_to, $clean))); |
488 | 522 | |
489 | 523 | // Comments? We don't use comments in our queries, we leave 'em outside! |
490 | - if (strpos($clean, '/*') > 2 || strpos($clean, '--') !== false || strpos($clean, ';') !== false) |
|
491 | - $fail = true; |
|
524 | + if (strpos($clean, '/*') > 2 || strpos($clean, '--') !== false || strpos($clean, ';') !== false) { |
|
525 | + $fail = true; |
|
526 | + } |
|
492 | 527 | // Trying to change passwords, slow us down, or something? |
493 | - elseif (strpos($clean, 'sleep') !== false && preg_match('~(^|[^a-z])sleep($|[^[_a-z])~s', $clean) != 0) |
|
494 | - $fail = true; |
|
495 | - elseif (strpos($clean, 'benchmark') !== false && preg_match('~(^|[^a-z])benchmark($|[^[a-z])~s', $clean) != 0) |
|
496 | - $fail = true; |
|
528 | + elseif (strpos($clean, 'sleep') !== false && preg_match('~(^|[^a-z])sleep($|[^[_a-z])~s', $clean) != 0) { |
|
529 | + $fail = true; |
|
530 | + } elseif (strpos($clean, 'benchmark') !== false && preg_match('~(^|[^a-z])benchmark($|[^[a-z])~s', $clean) != 0) { |
|
531 | + $fail = true; |
|
532 | + } |
|
497 | 533 | |
498 | - if (!empty($fail) && function_exists('log_error')) |
|
499 | - smf_db_error_backtrace('Hacking attempt...', 'Hacking attempt...' . "\n" . $db_string, E_USER_ERROR, __FILE__, __LINE__); |
|
534 | + if (!empty($fail) && function_exists('log_error')) { |
|
535 | + smf_db_error_backtrace('Hacking attempt...', 'Hacking attempt...' . "\n" . $db_string, E_USER_ERROR, __FILE__, __LINE__); |
|
536 | + } |
|
500 | 537 | } |
501 | 538 | |
502 | - if (empty($db_unbuffered)) |
|
503 | - $ret = @mysqli_query($connection, $db_string); |
|
504 | - else |
|
505 | - $ret = @mysqli_query($connection, $db_string, MYSQLI_USE_RESULT); |
|
539 | + if (empty($db_unbuffered)) { |
|
540 | + $ret = @mysqli_query($connection, $db_string); |
|
541 | + } else { |
|
542 | + $ret = @mysqli_query($connection, $db_string, MYSQLI_USE_RESULT); |
|
543 | + } |
|
506 | 544 | |
507 | - if ($ret === false && empty($db_values['db_error_skip'])) |
|
508 | - $ret = smf_db_error($db_string, $connection); |
|
545 | + if ($ret === false && empty($db_values['db_error_skip'])) { |
|
546 | + $ret = smf_db_error($db_string, $connection); |
|
547 | + } |
|
509 | 548 | |
510 | 549 | // Debugging. |
511 | - if (isset($db_show_debug) && $db_show_debug === true) |
|
512 | - $db_cache[$db_count]['t'] = array_sum(explode(' ', microtime())) - array_sum(explode(' ', $st)); |
|
550 | + if (isset($db_show_debug) && $db_show_debug === true) { |
|
551 | + $db_cache[$db_count]['t'] = array_sum(explode(' ', microtime())) - array_sum(explode(' ', $st)); |
|
552 | + } |
|
513 | 553 | |
514 | 554 | return $ret; |
515 | 555 | } |
@@ -556,12 +596,13 @@ discard block |
||
556 | 596 | // Decide which connection to use |
557 | 597 | $connection = $connection === null ? $db_connection : $connection; |
558 | 598 | |
559 | - if ($type == 'begin') |
|
560 | - return @mysqli_query($connection, 'BEGIN'); |
|
561 | - elseif ($type == 'rollback') |
|
562 | - return @mysqli_query($connection, 'ROLLBACK'); |
|
563 | - elseif ($type == 'commit') |
|
564 | - return @mysqli_query($connection, 'COMMIT'); |
|
599 | + if ($type == 'begin') { |
|
600 | + return @mysqli_query($connection, 'BEGIN'); |
|
601 | + } elseif ($type == 'rollback') { |
|
602 | + return @mysqli_query($connection, 'ROLLBACK'); |
|
603 | + } elseif ($type == 'commit') { |
|
604 | + return @mysqli_query($connection, 'COMMIT'); |
|
605 | + } |
|
565 | 606 | |
566 | 607 | return false; |
567 | 608 | } |
@@ -601,8 +642,9 @@ discard block |
||
601 | 642 | // 2013: Lost connection to server during query. |
602 | 643 | |
603 | 644 | // Log the error. |
604 | - if ($query_errno != 1213 && $query_errno != 1205 && function_exists('log_error')) |
|
605 | - log_error($txt['database_error'] . ': ' . $query_error . (!empty($modSettings['enableErrorQueryLogging']) ? "\n\n$db_string" : ''), 'database', $file, $line); |
|
645 | + if ($query_errno != 1213 && $query_errno != 1205 && function_exists('log_error')) { |
|
646 | + log_error($txt['database_error'] . ': ' . $query_error . (!empty($modSettings['enableErrorQueryLogging']) ? "\n\n$db_string" : ''), 'database', $file, $line); |
|
647 | + } |
|
606 | 648 | |
607 | 649 | // Database error auto fixing ;). |
608 | 650 | if (function_exists('cache_get_data') && (!isset($modSettings['autoFixDatabase']) || $modSettings['autoFixDatabase'] == '1')) |
@@ -611,8 +653,9 @@ discard block |
||
611 | 653 | $old_cache = @$modSettings['cache_enable']; |
612 | 654 | $modSettings['cache_enable'] = '1'; |
613 | 655 | |
614 | - if (($temp = cache_get_data('db_last_error', 600)) !== null) |
|
615 | - $db_last_error = max(@$db_last_error, $temp); |
|
656 | + if (($temp = cache_get_data('db_last_error', 600)) !== null) { |
|
657 | + $db_last_error = max(@$db_last_error, $temp); |
|
658 | + } |
|
616 | 659 | |
617 | 660 | if (@$db_last_error < time() - 3600 * 24 * 3) |
618 | 661 | { |
@@ -628,8 +671,9 @@ discard block |
||
628 | 671 | foreach ($tables as $table) |
629 | 672 | { |
630 | 673 | // Now, it's still theoretically possible this could be an injection. So backtick it! |
631 | - if (trim($table) != '') |
|
632 | - $fix_tables[] = '`' . strtr(trim($table), array('`' => '')) . '`'; |
|
674 | + if (trim($table) != '') { |
|
675 | + $fix_tables[] = '`' . strtr(trim($table), array('`' => '')) . '`'; |
|
676 | + } |
|
633 | 677 | } |
634 | 678 | } |
635 | 679 | |
@@ -638,8 +682,9 @@ discard block |
||
638 | 682 | // Table crashed. Let's try to fix it. |
639 | 683 | elseif ($query_errno == 1016) |
640 | 684 | { |
641 | - if (preg_match('~\'([^\.\']+)~', $query_error, $match) != 0) |
|
642 | - $fix_tables = array('`' . $match[1] . '`'); |
|
685 | + if (preg_match('~\'([^\.\']+)~', $query_error, $match) != 0) { |
|
686 | + $fix_tables = array('`' . $match[1] . '`'); |
|
687 | + } |
|
643 | 688 | } |
644 | 689 | // Indexes crashed. Should be easy to fix! |
645 | 690 | elseif ($query_errno == 1034 || $query_errno == 1035) |
@@ -658,13 +703,15 @@ discard block |
||
658 | 703 | |
659 | 704 | // Make a note of the REPAIR... |
660 | 705 | cache_put_data('db_last_error', time(), 600); |
661 | - if (($temp = cache_get_data('db_last_error', 600)) === null) |
|
662 | - updateSettingsFile(array('db_last_error' => time())); |
|
706 | + if (($temp = cache_get_data('db_last_error', 600)) === null) { |
|
707 | + updateSettingsFile(array('db_last_error' => time())); |
|
708 | + } |
|
663 | 709 | |
664 | 710 | // Attempt to find and repair the broken table. |
665 | - foreach ($fix_tables as $table) |
|
666 | - $smcFunc['db_query']('', " |
|
711 | + foreach ($fix_tables as $table) { |
|
712 | + $smcFunc['db_query']('', " |
|
667 | 713 | REPAIR TABLE $table", false, false); |
714 | + } |
|
668 | 715 | |
669 | 716 | // And send off an email! |
670 | 717 | sendmail($webmaster_email, $txt['database_error'], $txt['tried_to_repair'], null, 'dberror'); |
@@ -673,11 +720,12 @@ discard block |
||
673 | 720 | |
674 | 721 | // Try the query again...? |
675 | 722 | $ret = $smcFunc['db_query']('', $db_string, false, false); |
676 | - if ($ret !== false) |
|
677 | - return $ret; |
|
723 | + if ($ret !== false) { |
|
724 | + return $ret; |
|
725 | + } |
|
726 | + } else { |
|
727 | + $modSettings['cache_enable'] = $old_cache; |
|
678 | 728 | } |
679 | - else |
|
680 | - $modSettings['cache_enable'] = $old_cache; |
|
681 | 729 | |
682 | 730 | // Check for the "lost connection" or "deadlock found" errors - and try it just one more time. |
683 | 731 | if (in_array($query_errno, array(1205, 1213, 2006, 2013))) |
@@ -687,22 +735,25 @@ discard block |
||
687 | 735 | // Are we in SSI mode? If so try that username and password first |
688 | 736 | if (SMF == 'SSI' && !empty($ssi_db_user) && !empty($ssi_db_passwd)) |
689 | 737 | { |
690 | - if (empty($db_persist)) |
|
691 | - $db_connection = @mysqli_connect($db_server, $ssi_db_user, $ssi_db_passwd); |
|
692 | - else |
|
693 | - $db_connection = @mysqli_connect('p:' . $db_server, $ssi_db_user, $ssi_db_passwd); |
|
738 | + if (empty($db_persist)) { |
|
739 | + $db_connection = @mysqli_connect($db_server, $ssi_db_user, $ssi_db_passwd); |
|
740 | + } else { |
|
741 | + $db_connection = @mysqli_connect('p:' . $db_server, $ssi_db_user, $ssi_db_passwd); |
|
742 | + } |
|
694 | 743 | } |
695 | 744 | // Fall back to the regular username and password if need be |
696 | 745 | if (!$db_connection) |
697 | 746 | { |
698 | - if (empty($db_persist)) |
|
699 | - $db_connection = @mysqli_connect($db_server, $db_user, $db_passwd); |
|
700 | - else |
|
701 | - $db_connection = @mysqli_connect('p:' . $db_server, $db_user, $db_passwd); |
|
747 | + if (empty($db_persist)) { |
|
748 | + $db_connection = @mysqli_connect($db_server, $db_user, $db_passwd); |
|
749 | + } else { |
|
750 | + $db_connection = @mysqli_connect('p:' . $db_server, $db_user, $db_passwd); |
|
751 | + } |
|
702 | 752 | } |
703 | 753 | |
704 | - if (!$db_connection || !@mysqli_select_db($db_connection, $db_name)) |
|
705 | - $db_connection = false; |
|
754 | + if (!$db_connection || !@mysqli_select_db($db_connection, $db_name)) { |
|
755 | + $db_connection = false; |
|
756 | + } |
|
706 | 757 | } |
707 | 758 | |
708 | 759 | if ($db_connection) |
@@ -713,24 +764,27 @@ discard block |
||
713 | 764 | $ret = $smcFunc['db_query']('', $db_string, false, false); |
714 | 765 | |
715 | 766 | $new_errno = mysqli_errno($db_connection); |
716 | - if ($ret !== false || in_array($new_errno, array(1205, 1213))) |
|
717 | - break; |
|
767 | + if ($ret !== false || in_array($new_errno, array(1205, 1213))) { |
|
768 | + break; |
|
769 | + } |
|
718 | 770 | } |
719 | 771 | |
720 | 772 | // If it failed again, shucks to be you... we're not trying it over and over. |
721 | - if ($ret !== false) |
|
722 | - return $ret; |
|
773 | + if ($ret !== false) { |
|
774 | + return $ret; |
|
775 | + } |
|
723 | 776 | } |
724 | 777 | } |
725 | 778 | // Are they out of space, perhaps? |
726 | 779 | elseif ($query_errno == 1030 && (strpos($query_error, ' -1 ') !== false || strpos($query_error, ' 28 ') !== false || strpos($query_error, ' 12 ') !== false)) |
727 | 780 | { |
728 | - if (!isset($txt)) |
|
729 | - $query_error .= ' - check database storage space.'; |
|
730 | - else |
|
781 | + if (!isset($txt)) { |
|
782 | + $query_error .= ' - check database storage space.'; |
|
783 | + } else |
|
731 | 784 | { |
732 | - if (!isset($txt['mysql_error_space'])) |
|
733 | - loadLanguage('Errors'); |
|
785 | + if (!isset($txt['mysql_error_space'])) { |
|
786 | + loadLanguage('Errors'); |
|
787 | + } |
|
734 | 788 | |
735 | 789 | $query_error .= !isset($txt['mysql_error_space']) ? ' - check database storage space.' : $txt['mysql_error_space']; |
736 | 790 | } |
@@ -738,15 +792,17 @@ discard block |
||
738 | 792 | } |
739 | 793 | |
740 | 794 | // Nothing's defined yet... just die with it. |
741 | - if (empty($context) || empty($txt)) |
|
742 | - die($query_error); |
|
795 | + if (empty($context) || empty($txt)) { |
|
796 | + die($query_error); |
|
797 | + } |
|
743 | 798 | |
744 | 799 | // Show an error message, if possible. |
745 | 800 | $context['error_title'] = $txt['database_error']; |
746 | - if (allowedTo('admin_forum')) |
|
747 | - $context['error_message'] = nl2br($query_error) . '<br>' . $txt['file'] . ': ' . $file . '<br>' . $txt['line'] . ': ' . $line; |
|
748 | - else |
|
749 | - $context['error_message'] = $txt['try_again']; |
|
801 | + if (allowedTo('admin_forum')) { |
|
802 | + $context['error_message'] = nl2br($query_error) . '<br>' . $txt['file'] . ': ' . $file . '<br>' . $txt['line'] . ': ' . $line; |
|
803 | + } else { |
|
804 | + $context['error_message'] = $txt['try_again']; |
|
805 | + } |
|
750 | 806 | |
751 | 807 | if (allowedTo('admin_forum') && isset($db_show_debug) && $db_show_debug === true) |
752 | 808 | { |
@@ -778,8 +834,9 @@ discard block |
||
778 | 834 | $return_var = null; |
779 | 835 | |
780 | 836 | // With nothing to insert, simply return. |
781 | - if (empty($data)) |
|
782 | - return; |
|
837 | + if (empty($data)) { |
|
838 | + return; |
|
839 | + } |
|
783 | 840 | |
784 | 841 | // Replace the prefix holder with the actual prefix. |
785 | 842 | $table = str_replace('{db_prefix}', $db_prefix, $table); |
@@ -789,23 +846,26 @@ discard block |
||
789 | 846 | if (!empty($keys) && (count($keys) > 0) && $returnmode > 0) |
790 | 847 | { |
791 | 848 | $with_returning = true; |
792 | - if ($returnmode == 2) |
|
793 | - $return_var = array(); |
|
849 | + if ($returnmode == 2) { |
|
850 | + $return_var = array(); |
|
851 | + } |
|
794 | 852 | } |
795 | 853 | |
796 | 854 | // Inserting data as a single row can be done as a single array. |
797 | - if (!is_array($data[array_rand($data)])) |
|
798 | - $data = array($data); |
|
855 | + if (!is_array($data[array_rand($data)])) { |
|
856 | + $data = array($data); |
|
857 | + } |
|
799 | 858 | |
800 | 859 | // Create the mold for a single row insert. |
801 | 860 | $insertData = '('; |
802 | 861 | foreach ($columns as $columnName => $type) |
803 | 862 | { |
804 | 863 | // Are we restricting the length? |
805 | - if (strpos($type, 'string-') !== false) |
|
806 | - $insertData .= sprintf('SUBSTRING({string:%1$s}, 1, ' . substr($type, 7) . '), ', $columnName); |
|
807 | - else |
|
808 | - $insertData .= sprintf('{%1$s:%2$s}, ', $type, $columnName); |
|
864 | + if (strpos($type, 'string-') !== false) { |
|
865 | + $insertData .= sprintf('SUBSTRING({string:%1$s}, 1, ' . substr($type, 7) . '), ', $columnName); |
|
866 | + } else { |
|
867 | + $insertData .= sprintf('{%1$s:%2$s}, ', $type, $columnName); |
|
868 | + } |
|
809 | 869 | } |
810 | 870 | $insertData = substr($insertData, 0, -2) . ')'; |
811 | 871 | |
@@ -814,8 +874,9 @@ discard block |
||
814 | 874 | |
815 | 875 | // Here's where the variables are injected to the query. |
816 | 876 | $insertRows = array(); |
817 | - foreach ($data as $dataRow) |
|
818 | - $insertRows[] = smf_db_quote($insertData, array_combine($indexed_columns, $dataRow), $connection); |
|
877 | + foreach ($data as $dataRow) { |
|
878 | + $insertRows[] = smf_db_quote($insertData, array_combine($indexed_columns, $dataRow), $connection); |
|
879 | + } |
|
819 | 880 | |
820 | 881 | // Determine the method of insertion. |
821 | 882 | $queryTitle = $method == 'replace' ? 'REPLACE' : ($method == 'ignore' ? 'INSERT IGNORE' : 'INSERT'); |
@@ -834,8 +895,7 @@ discard block |
||
834 | 895 | ), |
835 | 896 | $connection |
836 | 897 | ); |
837 | - } |
|
838 | - else //special way for ignore method with returning |
|
898 | + } else //special way for ignore method with returning |
|
839 | 899 | { |
840 | 900 | $count = count($insertRows); |
841 | 901 | $ai = 0; |
@@ -855,19 +915,21 @@ discard block |
||
855 | 915 | ); |
856 | 916 | $new_id = $smcFunc['db_insert_id'](); |
857 | 917 | |
858 | - if ($last_id != $new_id) //the inserted value was new |
|
918 | + if ($last_id != $new_id) { |
|
919 | + //the inserted value was new |
|
859 | 920 | { |
860 | 921 | $ai = $new_id; |
861 | 922 | } |
862 | - else // the inserted value already exists we need to find the pk |
|
923 | + } else // the inserted value already exists we need to find the pk |
|
863 | 924 | { |
864 | 925 | $where_string = ''; |
865 | 926 | $count2 = count($indexed_columns); |
866 | 927 | for ($x = 0; $x < $count2; $x++) |
867 | 928 | { |
868 | 929 | $where_string += key($indexed_columns[$x]) . ' = '. $insertRows[$i][$x]; |
869 | - if (($x + 1) < $count2) |
|
870 | - $where_string += ' AND '; |
|
930 | + if (($x + 1) < $count2) { |
|
931 | + $where_string += ' AND '; |
|
932 | + } |
|
871 | 933 | } |
872 | 934 | |
873 | 935 | $request = $smcFunc['db_query']('',' |
@@ -883,25 +945,27 @@ discard block |
||
883 | 945 | } |
884 | 946 | } |
885 | 947 | |
886 | - if ($returnmode == 1) |
|
887 | - $return_var = $ai; |
|
888 | - else if ($returnmode == 2) |
|
889 | - $return_var[] = $ai; |
|
948 | + if ($returnmode == 1) { |
|
949 | + $return_var = $ai; |
|
950 | + } else if ($returnmode == 2) { |
|
951 | + $return_var[] = $ai; |
|
952 | + } |
|
890 | 953 | } |
891 | 954 | } |
892 | 955 | |
893 | 956 | |
894 | 957 | if ($with_returning) |
895 | 958 | { |
896 | - if ($returnmode == 1 && empty($return_var)) |
|
897 | - $return_var = smf_db_insert_id($table, $keys[0]) + count($insertRows) - 1; |
|
898 | - else if ($returnmode == 2 && empty($return_var)) |
|
959 | + if ($returnmode == 1 && empty($return_var)) { |
|
960 | + $return_var = smf_db_insert_id($table, $keys[0]) + count($insertRows) - 1; |
|
961 | + } else if ($returnmode == 2 && empty($return_var)) |
|
899 | 962 | { |
900 | 963 | $return_var = array(); |
901 | 964 | $count = count($insertRows); |
902 | 965 | $start = smf_db_insert_id($table, $keys[0]); |
903 | - for ($i = 0; $i < $count; $i++ ) |
|
904 | - $return_var[] = $start + $i; |
|
966 | + for ($i = 0; $i < $count; $i++ ) { |
|
967 | + $return_var[] = $start + $i; |
|
968 | + } |
|
905 | 969 | } |
906 | 970 | return $return_var; |
907 | 971 | } |
@@ -919,8 +983,9 @@ discard block |
||
919 | 983 | */ |
920 | 984 | function smf_db_error_backtrace($error_message, $log_message = '', $error_type = false, $file = null, $line = null) |
921 | 985 | { |
922 | - if (empty($log_message)) |
|
923 | - $log_message = $error_message; |
|
986 | + if (empty($log_message)) { |
|
987 | + $log_message = $error_message; |
|
988 | + } |
|
924 | 989 | |
925 | 990 | foreach (debug_backtrace() as $step) |
926 | 991 | { |
@@ -939,12 +1004,14 @@ discard block |
||
939 | 1004 | } |
940 | 1005 | |
941 | 1006 | // A special case - we want the file and line numbers for debugging. |
942 | - if ($error_type == 'return') |
|
943 | - return array($file, $line); |
|
1007 | + if ($error_type == 'return') { |
|
1008 | + return array($file, $line); |
|
1009 | + } |
|
944 | 1010 | |
945 | 1011 | // Is always a critical error. |
946 | - if (function_exists('log_error')) |
|
947 | - log_error($log_message, 'critical', $file, $line); |
|
1012 | + if (function_exists('log_error')) { |
|
1013 | + log_error($log_message, 'critical', $file, $line); |
|
1014 | + } |
|
948 | 1015 | |
949 | 1016 | if (function_exists('fatal_error')) |
950 | 1017 | { |
@@ -952,12 +1019,12 @@ discard block |
||
952 | 1019 | |
953 | 1020 | // Cannot continue... |
954 | 1021 | exit; |
1022 | + } elseif ($error_type) { |
|
1023 | + trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : ''), $error_type); |
|
1024 | + } else { |
|
1025 | + trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : '')); |
|
1026 | + } |
|
955 | 1027 | } |
956 | - elseif ($error_type) |
|
957 | - trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : ''), $error_type); |
|
958 | - else |
|
959 | - trigger_error($error_message . ($line !== null ? '<em>(' . basename($file) . '-' . $line . ')</em>' : '')); |
|
960 | -} |
|
961 | 1028 | |
962 | 1029 | /** |
963 | 1030 | * Escape the LIKE wildcards so that they match the character and not the wildcard. |
@@ -974,10 +1041,11 @@ discard block |
||
974 | 1041 | '\\' => '\\\\', |
975 | 1042 | ); |
976 | 1043 | |
977 | - if ($translate_human_wildcards) |
|
978 | - $replacements += array( |
|
1044 | + if ($translate_human_wildcards) { |
|
1045 | + $replacements += array( |
|
979 | 1046 | '*' => '%', |
980 | 1047 | ); |
1048 | + } |
|
981 | 1049 | |
982 | 1050 | return strtr($string, $replacements); |
983 | 1051 | } |
@@ -991,8 +1059,9 @@ discard block |
||
991 | 1059 | */ |
992 | 1060 | function smf_is_resource($result) |
993 | 1061 | { |
994 | - if ($result instanceof mysqli_result) |
|
995 | - return true; |
|
1062 | + if ($result instanceof mysqli_result) { |
|
1063 | + return true; |
|
1064 | + } |
|
996 | 1065 | |
997 | 1066 | return false; |
998 | 1067 | } |
@@ -1020,16 +1089,18 @@ discard block |
||
1020 | 1089 | global $db_prefix, $db_connection; |
1021 | 1090 | static $mysql_error_data_prep; |
1022 | 1091 | |
1023 | - if (empty($mysql_error_data_prep)) |
|
1024 | - $mysql_error_data_prep = mysqli_prepare($db_connection, |
|
1092 | + if (empty($mysql_error_data_prep)) { |
|
1093 | + $mysql_error_data_prep = mysqli_prepare($db_connection, |
|
1025 | 1094 | 'INSERT INTO ' . $db_prefix . 'log_errors(id_member, log_time, ip, url, message, session, error_type, file, line) |
1026 | 1095 | VALUES( ?, ?, unhex(?), ?, ?, ?, ?, ?, ?)' |
1027 | 1096 | ); |
1097 | + } |
|
1028 | 1098 | |
1029 | - if (filter_var($error_array[2], FILTER_VALIDATE_IP) !== false) |
|
1030 | - $error_array[2] = bin2hex(inet_pton($error_array[2])); |
|
1031 | - else |
|
1032 | - $error_array[2] = null; |
|
1099 | + if (filter_var($error_array[2], FILTER_VALIDATE_IP) !== false) { |
|
1100 | + $error_array[2] = bin2hex(inet_pton($error_array[2])); |
|
1101 | + } else { |
|
1102 | + $error_array[2] = null; |
|
1103 | + } |
|
1033 | 1104 | mysqli_stmt_bind_param($mysql_error_data_prep, 'iissssssi', |
1034 | 1105 | $error_array[0], $error_array[1], $error_array[2], $error_array[3], $error_array[4], $error_array[5], $error_array[6], |
1035 | 1106 | $error_array[7], $error_array[8]); |