@@ -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 | * Entry point for this section. |
@@ -38,8 +39,7 @@ discard block |
||
| 38 | 39 | 'stats' => 'SpiderStats', |
| 39 | 40 | ); |
| 40 | 41 | $default = 'stats'; |
| 41 | - } |
|
| 42 | - else |
|
| 42 | + } else |
|
| 43 | 43 | { |
| 44 | 44 | $subActions = array( |
| 45 | 45 | 'settings' => 'ManageSearchEngineSettings', |
@@ -90,11 +90,12 @@ discard block |
||
| 90 | 90 | { |
| 91 | 91 | disabledState = document.getElementById(\'spider_mode\').value == 0;'; |
| 92 | 92 | |
| 93 | - foreach ($config_vars as $variable) |
|
| 94 | - if ($variable[1] != 'spider_mode') |
|
| 93 | + foreach ($config_vars as $variable) { |
|
| 94 | + if ($variable[1] != 'spider_mode') |
|
| 95 | 95 | $javascript_function .= ' |
| 96 | 96 | if (document.getElementById(\'' . $variable[1] . '\')) |
| 97 | 97 | document.getElementById(\'' . $variable[1] . '\').disabled = disabledState;'; |
| 98 | + } |
|
| 98 | 99 | |
| 99 | 100 | $javascript_function .= ' |
| 100 | 101 | } |
@@ -102,8 +103,9 @@ discard block |
||
| 102 | 103 | |
| 103 | 104 | call_integration_hook('integrate_modify_search_engine_settings', array(&$config_vars)); |
| 104 | 105 | |
| 105 | - if ($return_config) |
|
| 106 | - return $config_vars; |
|
| 106 | + if ($return_config) { |
|
| 107 | + return $config_vars; |
|
| 108 | + } |
|
| 107 | 109 | |
| 108 | 110 | // We need to load the groups for the spider group thingy. |
| 109 | 111 | $request = $smcFunc['db_query']('', ' |
@@ -116,13 +118,15 @@ discard block |
||
| 116 | 118 | 'moderator_group' => 3, |
| 117 | 119 | ) |
| 118 | 120 | ); |
| 119 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 120 | - $config_vars['spider_group'][2][$row['id_group']] = $row['group_name']; |
|
| 121 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 122 | + $config_vars['spider_group'][2][$row['id_group']] = $row['group_name']; |
|
| 123 | + } |
|
| 121 | 124 | $smcFunc['db_free_result']($request); |
| 122 | 125 | |
| 123 | 126 | // Make sure it's valid - note that regular members are given id_group = 1 which is reversed in Load.php - no admins here! |
| 124 | - if (isset($_POST['spider_group']) && !isset($config_vars['spider_group'][2][$_POST['spider_group']])) |
|
| 125 | - $_POST['spider_group'] = 0; |
|
| 127 | + if (isset($_POST['spider_group']) && !isset($config_vars['spider_group'][2][$_POST['spider_group']])) { |
|
| 128 | + $_POST['spider_group'] = 0; |
|
| 129 | + } |
|
| 126 | 130 | |
| 127 | 131 | // We'll want this for our easy save. |
| 128 | 132 | require_once($sourcedir . '/ManageServer.php'); |
@@ -166,8 +170,9 @@ discard block |
||
| 166 | 170 | } |
| 167 | 171 | |
| 168 | 172 | // Are we adding a new one? |
| 169 | - if (!empty($_POST['addSpider'])) |
|
| 170 | - return EditSpider(); |
|
| 173 | + if (!empty($_POST['addSpider'])) { |
|
| 174 | + return EditSpider(); |
|
| 175 | + } |
|
| 171 | 176 | // User pressed the 'remove selection button'. |
| 172 | 177 | elseif (!empty($_POST['removeSpiders']) && !empty($_POST['remove']) && is_array($_POST['remove'])) |
| 173 | 178 | { |
@@ -175,8 +180,9 @@ discard block |
||
| 175 | 180 | validateToken('admin-ser'); |
| 176 | 181 | |
| 177 | 182 | // Make sure every entry is a proper integer. |
| 178 | - foreach ($_POST['remove'] as $index => $spider_id) |
|
| 179 | - $_POST['remove'][(int) $index] = (int) $spider_id; |
|
| 183 | + foreach ($_POST['remove'] as $index => $spider_id) { |
|
| 184 | + $_POST['remove'][(int) $index] = (int) $spider_id; |
|
| 185 | + } |
|
| 180 | 186 | |
| 181 | 187 | // Delete them all! |
| 182 | 188 | $smcFunc['db_query']('', ' |
@@ -215,8 +221,9 @@ discard block |
||
| 215 | 221 | ); |
| 216 | 222 | |
| 217 | 223 | $context['spider_last_seen'] = array(); |
| 218 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 219 | - $context['spider_last_seen'][$row['id_spider']] = $row['last_seen_time']; |
|
| 224 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 225 | + $context['spider_last_seen'][$row['id_spider']] = $row['last_seen_time']; |
|
| 226 | + } |
|
| 220 | 227 | $smcFunc['db_free_result']($request); |
| 221 | 228 | |
| 222 | 229 | createToken('admin-ser'); |
@@ -346,8 +353,9 @@ discard block |
||
| 346 | 353 | ) |
| 347 | 354 | ); |
| 348 | 355 | $spiders = array(); |
| 349 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 350 | - $spiders[$row['id_spider']] = $row; |
|
| 356 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 357 | + $spiders[$row['id_spider']] = $row; |
|
| 358 | + } |
|
| 351 | 359 | $smcFunc['db_free_result']($request); |
| 352 | 360 | |
| 353 | 361 | return $spiders; |
@@ -397,14 +405,15 @@ discard block |
||
| 397 | 405 | foreach ($ip_sets as $set) |
| 398 | 406 | { |
| 399 | 407 | $test = ip2range(trim($set)); |
| 400 | - if (!empty($test)) |
|
| 401 | - $ips[] = $set; |
|
| 408 | + if (!empty($test)) { |
|
| 409 | + $ips[] = $set; |
|
| 410 | + } |
|
| 402 | 411 | } |
| 403 | 412 | $ips = implode(',', $ips); |
| 404 | 413 | |
| 405 | 414 | // Goes in as it is... |
| 406 | - if ($context['id_spider']) |
|
| 407 | - $smcFunc['db_query']('', ' |
|
| 415 | + if ($context['id_spider']) { |
|
| 416 | + $smcFunc['db_query']('', ' |
|
| 408 | 417 | UPDATE {db_prefix}spiders |
| 409 | 418 | SET spider_name = {string:spider_name}, user_agent = {string:spider_agent}, |
| 410 | 419 | ip_info = {string:ip_info} |
@@ -416,8 +425,8 @@ discard block |
||
| 416 | 425 | 'ip_info' => $ips, |
| 417 | 426 | ) |
| 418 | 427 | ); |
| 419 | - else |
|
| 420 | - $smcFunc['db_insert']('insert', |
|
| 428 | + } else { |
|
| 429 | + $smcFunc['db_insert']('insert', |
|
| 421 | 430 | '{db_prefix}spiders', |
| 422 | 431 | array( |
| 423 | 432 | 'spider_name' => 'string', 'user_agent' => 'string', 'ip_info' => 'string', |
@@ -427,6 +436,7 @@ discard block |
||
| 427 | 436 | ), |
| 428 | 437 | array('id_spider') |
| 429 | 438 | ); |
| 439 | + } |
|
| 430 | 440 | |
| 431 | 441 | |
| 432 | 442 | cache_put_data('spider_search', null); |
@@ -454,13 +464,14 @@ discard block |
||
| 454 | 464 | 'current_spider' => $context['id_spider'], |
| 455 | 465 | ) |
| 456 | 466 | ); |
| 457 | - if ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 458 | - $context['spider'] = array( |
|
| 467 | + if ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 468 | + $context['spider'] = array( |
|
| 459 | 469 | 'id' => $row['id_spider'], |
| 460 | 470 | 'name' => $row['spider_name'], |
| 461 | 471 | 'agent' => $row['user_agent'], |
| 462 | 472 | 'ip_info' => $row['ip_info'], |
| 463 | 473 | ); |
| 474 | + } |
|
| 464 | 475 | $smcFunc['db_free_result']($request); |
| 465 | 476 | } |
| 466 | 477 | |
@@ -477,8 +488,9 @@ discard block |
||
| 477 | 488 | { |
| 478 | 489 | global $modSettings, $smcFunc; |
| 479 | 490 | |
| 480 | - if (isset($_SESSION['id_robot'])) |
|
| 481 | - unset($_SESSION['id_robot']); |
|
| 491 | + if (isset($_SESSION['id_robot'])) { |
|
| 492 | + unset($_SESSION['id_robot']); |
|
| 493 | + } |
|
| 482 | 494 | $_SESSION['robot_check'] = time(); |
| 483 | 495 | |
| 484 | 496 | // We cache the spider data for ten minutes if we can. |
@@ -492,15 +504,17 @@ discard block |
||
| 492 | 504 | ) |
| 493 | 505 | ); |
| 494 | 506 | $spider_data = array(); |
| 495 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 496 | - $spider_data[] = $row; |
|
| 507 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 508 | + $spider_data[] = $row; |
|
| 509 | + } |
|
| 497 | 510 | $smcFunc['db_free_result']($request); |
| 498 | 511 | |
| 499 | 512 | cache_put_data('spider_search', $spider_data, 600); |
| 500 | 513 | } |
| 501 | 514 | |
| 502 | - if (empty($spider_data)) |
|
| 503 | - return false; |
|
| 515 | + if (empty($spider_data)) { |
|
| 516 | + return false; |
|
| 517 | + } |
|
| 504 | 518 | |
| 505 | 519 | // Only do these bits once. |
| 506 | 520 | $ci_user_agent = strtolower($_SERVER['HTTP_USER_AGENT']); |
@@ -508,33 +522,38 @@ discard block |
||
| 508 | 522 | foreach ($spider_data as $spider) |
| 509 | 523 | { |
| 510 | 524 | // User agent is easy. |
| 511 | - if (!empty($spider['user_agent']) && strpos($ci_user_agent, strtolower($spider['user_agent'])) !== false) |
|
| 512 | - $_SESSION['id_robot'] = $spider['id_spider']; |
|
| 525 | + if (!empty($spider['user_agent']) && strpos($ci_user_agent, strtolower($spider['user_agent'])) !== false) { |
|
| 526 | + $_SESSION['id_robot'] = $spider['id_spider']; |
|
| 527 | + } |
|
| 513 | 528 | // IP stuff is harder. |
| 514 | 529 | elseif ($_SERVER['REMOTE_ADDR']) |
| 515 | 530 | { |
| 516 | 531 | $ips = explode(',', $spider['ip_info']); |
| 517 | 532 | foreach ($ips as $ip) |
| 518 | 533 | { |
| 519 | - if ($ip === '') |
|
| 520 | - continue; |
|
| 534 | + if ($ip === '') { |
|
| 535 | + continue; |
|
| 536 | + } |
|
| 521 | 537 | |
| 522 | 538 | $ip = ip2range($ip); |
| 523 | 539 | if (!empty($ip)) |
| 524 | 540 | { |
| 525 | - if (inet_ptod($ip['low']) <= inet_ptod($_SERVER['REMOTE_ADDR']) && inet_ptod($ip['high']) >= inet_ptod($_SERVER['REMOTE_ADDR'])) |
|
| 526 | - $_SESSION['id_robot'] = $spider['id_spider']; |
|
| 541 | + if (inet_ptod($ip['low']) <= inet_ptod($_SERVER['REMOTE_ADDR']) && inet_ptod($ip['high']) >= inet_ptod($_SERVER['REMOTE_ADDR'])) { |
|
| 542 | + $_SESSION['id_robot'] = $spider['id_spider']; |
|
| 543 | + } |
|
| 527 | 544 | } |
| 528 | 545 | } |
| 529 | 546 | } |
| 530 | 547 | |
| 531 | - if (isset($_SESSION['id_robot'])) |
|
| 532 | - break; |
|
| 548 | + if (isset($_SESSION['id_robot'])) { |
|
| 549 | + break; |
|
| 550 | + } |
|
| 533 | 551 | } |
| 534 | 552 | |
| 535 | 553 | // If this is low server tracking then log the spider here as opposed to the main logging function. |
| 536 | - if (!empty($modSettings['spider_mode']) && $modSettings['spider_mode'] == 1 && !empty($_SESSION['id_robot'])) |
|
| 537 | - logSpider(); |
|
| 554 | + if (!empty($modSettings['spider_mode']) && $modSettings['spider_mode'] == 1 && !empty($_SESSION['id_robot'])) { |
|
| 555 | + logSpider(); |
|
| 556 | + } |
|
| 538 | 557 | |
| 539 | 558 | return !empty($_SESSION['id_robot']) ? $_SESSION['id_robot'] : 0; |
| 540 | 559 | } |
@@ -548,8 +567,9 @@ discard block |
||
| 548 | 567 | { |
| 549 | 568 | global $smcFunc, $modSettings, $context; |
| 550 | 569 | |
| 551 | - if (empty($modSettings['spider_mode']) || empty($_SESSION['id_robot'])) |
|
| 552 | - return; |
|
| 570 | + if (empty($modSettings['spider_mode']) || empty($_SESSION['id_robot'])) { |
|
| 571 | + return; |
|
| 572 | + } |
|
| 553 | 573 | |
| 554 | 574 | // Attempt to update today's entry. |
| 555 | 575 | if ($modSettings['spider_mode'] == 1) |
@@ -590,9 +610,9 @@ discard block |
||
| 590 | 610 | $url = $_GET + array('USER_AGENT' => $_SERVER['HTTP_USER_AGENT']); |
| 591 | 611 | unset($url['sesc'], $url[$context['session_var']]); |
| 592 | 612 | $url = json_encode($url); |
| 613 | + } else { |
|
| 614 | + $url = ''; |
|
| 593 | 615 | } |
| 594 | - else |
|
| 595 | - $url = ''; |
|
| 596 | 616 | |
| 597 | 617 | $smcFunc['db_insert']('insert', |
| 598 | 618 | '{db_prefix}log_spider_hits', |
@@ -620,12 +640,14 @@ discard block |
||
| 620 | 640 | ) |
| 621 | 641 | ); |
| 622 | 642 | $spider_hits = array(); |
| 623 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 624 | - $spider_hits[] = $row; |
|
| 643 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 644 | + $spider_hits[] = $row; |
|
| 645 | + } |
|
| 625 | 646 | $smcFunc['db_free_result']($request); |
| 626 | 647 | |
| 627 | - if (empty($spider_hits)) |
|
| 628 | - return; |
|
| 648 | + if (empty($spider_hits)) { |
|
| 649 | + return; |
|
| 650 | + } |
|
| 629 | 651 | |
| 630 | 652 | // Attempt to update the master data. |
| 631 | 653 | $stat_inserts = array(); |
@@ -646,18 +668,20 @@ discard block |
||
| 646 | 668 | 'hits' => $stat['num_hits'], |
| 647 | 669 | ) |
| 648 | 670 | ); |
| 649 | - if ($smcFunc['db_affected_rows']() == 0) |
|
| 650 | - $stat_inserts[] = array($date, $stat['id_spider'], $stat['num_hits'], $stat['last_seen']); |
|
| 671 | + if ($smcFunc['db_affected_rows']() == 0) { |
|
| 672 | + $stat_inserts[] = array($date, $stat['id_spider'], $stat['num_hits'], $stat['last_seen']); |
|
| 673 | + } |
|
| 651 | 674 | } |
| 652 | 675 | |
| 653 | 676 | // New stats? |
| 654 | - if (!empty($stat_inserts)) |
|
| 655 | - $smcFunc['db_insert']('ignore', |
|
| 677 | + if (!empty($stat_inserts)) { |
|
| 678 | + $smcFunc['db_insert']('ignore', |
|
| 656 | 679 | '{db_prefix}log_spider_stats', |
| 657 | 680 | array('stat_date' => 'date', 'id_spider' => 'int', 'page_hits' => 'int', 'last_seen' => 'int'), |
| 658 | 681 | $stat_inserts, |
| 659 | 682 | array('stat_date', 'id_spider') |
| 660 | 683 | ); |
| 684 | + } |
|
| 661 | 685 | |
| 662 | 686 | // All processed. |
| 663 | 687 | $smcFunc['db_query']('', ' |
@@ -700,8 +724,7 @@ discard block |
||
| 700 | 724 | 'delete_period' => $deleteTime, |
| 701 | 725 | ) |
| 702 | 726 | ); |
| 703 | - } |
|
| 704 | - else |
|
| 727 | + } else |
|
| 705 | 728 | { |
| 706 | 729 | // Deleting all of them |
| 707 | 730 | $smcFunc['db_query']('', ' |
@@ -791,10 +814,11 @@ discard block |
||
| 791 | 814 | foreach ($context['spider_logs']['rows'] as $k => $row) |
| 792 | 815 | { |
| 793 | 816 | // Feature disabled? |
| 794 | - if (empty($row['data']['viewing']['value']) && isset($modSettings['spider_mode']) && $modSettings['spider_mode'] < 3) |
|
| 795 | - $context['spider_logs']['rows'][$k]['viewing']['value'] = '<em>' . $txt['spider_disabled'] . '</em>'; |
|
| 796 | - else |
|
| 797 | - $urls[$k] = array($row['data']['viewing']['value'], -1); |
|
| 817 | + if (empty($row['data']['viewing']['value']) && isset($modSettings['spider_mode']) && $modSettings['spider_mode'] < 3) { |
|
| 818 | + $context['spider_logs']['rows'][$k]['viewing']['value'] = '<em>' . $txt['spider_disabled'] . '</em>'; |
|
| 819 | + } else { |
|
| 820 | + $urls[$k] = array($row['data']['viewing']['value'], -1); |
|
| 821 | + } |
|
| 798 | 822 | } |
| 799 | 823 | |
| 800 | 824 | // Now stick in the new URLs. |
@@ -836,8 +860,9 @@ discard block |
||
| 836 | 860 | ) |
| 837 | 861 | ); |
| 838 | 862 | $spider_logs = array(); |
| 839 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 840 | - $spider_logs[] = $row; |
|
| 863 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 864 | + $spider_logs[] = $row; |
|
| 865 | + } |
|
| 841 | 866 | $smcFunc['db_free_result']($request); |
| 842 | 867 | |
| 843 | 868 | return $spider_logs; |
@@ -913,14 +938,18 @@ discard block |
||
| 913 | 938 | |
| 914 | 939 | // Prepare the dates for the drop down. |
| 915 | 940 | $date_choices = array(); |
| 916 | - for ($y = $min_year; $y <= $max_year; $y++) |
|
| 917 | - for ($m = 1; $m <= 12; $m++) |
|
| 941 | + for ($y = $min_year; $y <= $max_year; $y++) { |
|
| 942 | + for ($m = 1; |
|
| 943 | + } |
|
| 944 | + $m <= 12; $m++) |
|
| 918 | 945 | { |
| 919 | 946 | // This doesn't count? |
| 920 | - if ($y == $min_year && $m < $min_month) |
|
| 921 | - continue; |
|
| 922 | - if ($y == $max_year && $m > $max_month) |
|
| 923 | - break; |
|
| 947 | + if ($y == $min_year && $m < $min_month) { |
|
| 948 | + continue; |
|
| 949 | + } |
|
| 950 | + if ($y == $max_year && $m > $max_month) { |
|
| 951 | + break; |
|
| 952 | + } |
|
| 924 | 953 | |
| 925 | 954 | $date_choices[$y . $m] = $txt['months_short'][$m] . ' ' . $y; |
| 926 | 955 | } |
@@ -933,13 +962,14 @@ discard block |
||
| 933 | 962 | ' . $txt['spider_stats_select_month'] . ': |
| 934 | 963 | <select name="new_date" onchange="document.spider_stat_list.submit();">'; |
| 935 | 964 | |
| 936 | - if (empty($date_choices)) |
|
| 937 | - $date_select .= ' |
|
| 965 | + if (empty($date_choices)) { |
|
| 966 | + $date_select .= ' |
|
| 938 | 967 | <option></option>'; |
| 939 | - else |
|
| 940 | - foreach ($date_choices as $id => $text) |
|
| 968 | + } else { |
|
| 969 | + foreach ($date_choices as $id => $text) |
|
| 941 | 970 | $date_select .= ' |
| 942 | 971 | <option value="' . $id . '"' . ($current_date == $id ? ' selected' : '') . '>' . $text . '</option>'; |
| 972 | + } |
|
| 943 | 973 | |
| 944 | 974 | $date_select .= ' |
| 945 | 975 | </select> |
@@ -1063,8 +1093,9 @@ discard block |
||
| 1063 | 1093 | ) |
| 1064 | 1094 | ); |
| 1065 | 1095 | $spider_stats = array(); |
| 1066 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 1067 | - $spider_stats[] = $row; |
|
| 1096 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 1097 | + $spider_stats[] = $row; |
|
| 1098 | + } |
|
| 1068 | 1099 | $smcFunc['db_free_result']($request); |
| 1069 | 1100 | |
| 1070 | 1101 | return $spider_stats; |
@@ -1105,8 +1136,9 @@ discard block |
||
| 1105 | 1136 | array() |
| 1106 | 1137 | ); |
| 1107 | 1138 | $spiders = array(); |
| 1108 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 1109 | - $spiders[$row['id_spider']] = $row['spider_name']; |
|
| 1139 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 1140 | + $spiders[$row['id_spider']] = $row['spider_name']; |
|
| 1141 | + } |
|
| 1110 | 1142 | $smcFunc['db_free_result']($request); |
| 1111 | 1143 | |
| 1112 | 1144 | updateSettings(array('spider_name_cache' => json_encode($spiders))); |
@@ -13,8 +13,9 @@ discard block |
||
| 13 | 13 | * @version 2.1 Beta 4 |
| 14 | 14 | */ |
| 15 | 15 | |
| 16 | -if (!defined('SMF')) |
|
| 16 | +if (!defined('SMF')) { |
|
| 17 | 17 | die('No direct access...'); |
| 18 | +} |
|
| 18 | 19 | |
| 19 | 20 | /** |
| 20 | 21 | * Add the file functions to the $smcFunc array. |
@@ -23,14 +24,15 @@ discard block |
||
| 23 | 24 | { |
| 24 | 25 | global $smcFunc; |
| 25 | 26 | |
| 26 | - if (!isset($smcFunc['db_search_query']) || $smcFunc['db_search_query'] != 'smf_db_query') |
|
| 27 | - $smcFunc += array( |
|
| 27 | + if (!isset($smcFunc['db_search_query']) || $smcFunc['db_search_query'] != 'smf_db_query') { |
|
| 28 | + $smcFunc += array( |
|
| 28 | 29 | 'db_search_query' => 'smf_db_query', |
| 29 | 30 | 'db_search_support' => 'smf_db_search_support', |
| 30 | 31 | 'db_create_word_search' => 'smf_db_create_word_search', |
| 31 | 32 | 'db_support_ignore' => true, |
| 32 | 33 | ); |
| 33 | -} |
|
| 34 | + } |
|
| 35 | + } |
|
| 34 | 36 | |
| 35 | 37 | /** |
| 36 | 38 | * This function will tell you whether this database type supports this search type. |
@@ -54,12 +56,13 @@ discard block |
||
| 54 | 56 | { |
| 55 | 57 | global $smcFunc; |
| 56 | 58 | |
| 57 | - if ($size == 'small') |
|
| 58 | - $size = 'smallint(5)'; |
|
| 59 | - elseif ($size == 'medium') |
|
| 60 | - $size = 'mediumint(8)'; |
|
| 61 | - else |
|
| 62 | - $size = 'int(10)'; |
|
| 59 | + if ($size == 'small') { |
|
| 60 | + $size = 'smallint(5)'; |
|
| 61 | + } elseif ($size == 'medium') { |
|
| 62 | + $size = 'mediumint(8)'; |
|
| 63 | + } else { |
|
| 64 | + $size = 'int(10)'; |
|
| 65 | + } |
|
| 63 | 66 | |
| 64 | 67 | $smcFunc['db_query']('', ' |
| 65 | 68 | CREATE TABLE {db_prefix}log_search_words ( |
@@ -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 | // This defines two version types for checking the API's are compatible with this version of SMF. |
| 20 | 21 | $GLOBALS['search_versions'] = array( |
@@ -39,8 +40,9 @@ discard block |
||
| 39 | 40 | global $txt, $scripturl, $modSettings, $user_info, $context, $smcFunc, $sourcedir; |
| 40 | 41 | |
| 41 | 42 | // Is the load average too high to allow searching just now? |
| 42 | - if (!empty($context['load_average']) && !empty($modSettings['loadavg_search']) && $context['load_average'] >= $modSettings['loadavg_search']) |
|
| 43 | - fatal_lang_error('loadavg_search_disabled', false); |
|
| 43 | + if (!empty($context['load_average']) && !empty($modSettings['loadavg_search']) && $context['load_average'] >= $modSettings['loadavg_search']) { |
|
| 44 | + fatal_lang_error('loadavg_search_disabled', false); |
|
| 45 | + } |
|
| 44 | 46 | |
| 45 | 47 | loadLanguage('Search'); |
| 46 | 48 | // Don't load this in XML mode. |
@@ -88,23 +90,30 @@ discard block |
||
| 88 | 90 | @list ($k, $v) = explode('|\'|', $data); |
| 89 | 91 | $context['search_params'][$k] = $v; |
| 90 | 92 | } |
| 91 | - if (isset($context['search_params']['brd'])) |
|
| 92 | - $context['search_params']['brd'] = $context['search_params']['brd'] == '' ? array() : explode(',', $context['search_params']['brd']); |
|
| 93 | + if (isset($context['search_params']['brd'])) { |
|
| 94 | + $context['search_params']['brd'] = $context['search_params']['brd'] == '' ? array() : explode(',', $context['search_params']['brd']); |
|
| 95 | + } |
|
| 93 | 96 | } |
| 94 | 97 | |
| 95 | - if (isset($_REQUEST['search'])) |
|
| 96 | - $context['search_params']['search'] = un_htmlspecialchars($_REQUEST['search']); |
|
| 98 | + if (isset($_REQUEST['search'])) { |
|
| 99 | + $context['search_params']['search'] = un_htmlspecialchars($_REQUEST['search']); |
|
| 100 | + } |
|
| 97 | 101 | |
| 98 | - if (isset($context['search_params']['search'])) |
|
| 99 | - $context['search_params']['search'] = $smcFunc['htmlspecialchars']($context['search_params']['search']); |
|
| 100 | - if (isset($context['search_params']['userspec'])) |
|
| 101 | - $context['search_params']['userspec'] = $smcFunc['htmlspecialchars']($context['search_params']['userspec']); |
|
| 102 | - if (!empty($context['search_params']['searchtype'])) |
|
| 103 | - $context['search_params']['searchtype'] = 2; |
|
| 104 | - if (!empty($context['search_params']['minage'])) |
|
| 105 | - $context['search_params']['minage'] = (int) $context['search_params']['minage']; |
|
| 106 | - if (!empty($context['search_params']['maxage'])) |
|
| 107 | - $context['search_params']['maxage'] = (int) $context['search_params']['maxage']; |
|
| 102 | + if (isset($context['search_params']['search'])) { |
|
| 103 | + $context['search_params']['search'] = $smcFunc['htmlspecialchars']($context['search_params']['search']); |
|
| 104 | + } |
|
| 105 | + if (isset($context['search_params']['userspec'])) { |
|
| 106 | + $context['search_params']['userspec'] = $smcFunc['htmlspecialchars']($context['search_params']['userspec']); |
|
| 107 | + } |
|
| 108 | + if (!empty($context['search_params']['searchtype'])) { |
|
| 109 | + $context['search_params']['searchtype'] = 2; |
|
| 110 | + } |
|
| 111 | + if (!empty($context['search_params']['minage'])) { |
|
| 112 | + $context['search_params']['minage'] = (int) $context['search_params']['minage']; |
|
| 113 | + } |
|
| 114 | + if (!empty($context['search_params']['maxage'])) { |
|
| 115 | + $context['search_params']['maxage'] = (int) $context['search_params']['maxage']; |
|
| 116 | + } |
|
| 108 | 117 | |
| 109 | 118 | $context['search_params']['show_complete'] = !empty($context['search_params']['show_complete']); |
| 110 | 119 | $context['search_params']['subject_only'] = !empty($context['search_params']['subject_only']); |
@@ -116,11 +125,13 @@ discard block |
||
| 116 | 125 | $context['search_errors']['messages'] = array(); |
| 117 | 126 | foreach ($context['search_errors'] as $search_error => $dummy) |
| 118 | 127 | { |
| 119 | - if ($search_error === 'messages') |
|
| 120 | - continue; |
|
| 128 | + if ($search_error === 'messages') { |
|
| 129 | + continue; |
|
| 130 | + } |
|
| 121 | 131 | |
| 122 | - if ($search_error == 'string_too_long') |
|
| 123 | - $txt['error_string_too_long'] = sprintf($txt['error_string_too_long'], $context['search_string_limit']); |
|
| 132 | + if ($search_error == 'string_too_long') { |
|
| 133 | + $txt['error_string_too_long'] = sprintf($txt['error_string_too_long'], $context['search_string_limit']); |
|
| 134 | + } |
|
| 124 | 135 | |
| 125 | 136 | $context['search_errors']['messages'][] = $txt['error_' . $search_error]; |
| 126 | 137 | } |
@@ -143,12 +154,13 @@ discard block |
||
| 143 | 154 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
| 144 | 155 | { |
| 145 | 156 | // This category hasn't been set up yet.. |
| 146 | - if (!isset($context['categories'][$row['id_cat']])) |
|
| 147 | - $context['categories'][$row['id_cat']] = array( |
|
| 157 | + if (!isset($context['categories'][$row['id_cat']])) { |
|
| 158 | + $context['categories'][$row['id_cat']] = array( |
|
| 148 | 159 | 'id' => $row['id_cat'], |
| 149 | 160 | 'name' => $row['cat_name'], |
| 150 | 161 | 'boards' => array() |
| 151 | 162 | ); |
| 163 | + } |
|
| 152 | 164 | |
| 153 | 165 | // Set this board up, and let the template know when it's a child. (indent them..) |
| 154 | 166 | $context['categories'][$row['id_cat']]['boards'][$row['id_board']] = array( |
@@ -159,8 +171,9 @@ discard block |
||
| 159 | 171 | ); |
| 160 | 172 | |
| 161 | 173 | // If a board wasn't checked that probably should have been ensure the board selection is selected, yo! |
| 162 | - if (!$context['categories'][$row['id_cat']]['boards'][$row['id_board']]['selected'] && (empty($modSettings['recycle_enable']) || $row['id_board'] != $modSettings['recycle_board'])) |
|
| 163 | - $context['boards_check_all'] = false; |
|
| 174 | + if (!$context['categories'][$row['id_cat']]['boards'][$row['id_board']]['selected'] && (empty($modSettings['recycle_enable']) || $row['id_board'] != $modSettings['recycle_board'])) { |
|
| 175 | + $context['boards_check_all'] = false; |
|
| 176 | + } |
|
| 164 | 177 | } |
| 165 | 178 | $smcFunc['db_free_result']($request); |
| 166 | 179 | |
@@ -182,18 +195,20 @@ discard block |
||
| 182 | 195 | } |
| 183 | 196 | |
| 184 | 197 | $max_boards = ceil(count($temp_boards) / 2); |
| 185 | - if ($max_boards == 1) |
|
| 186 | - $max_boards = 2; |
|
| 198 | + if ($max_boards == 1) { |
|
| 199 | + $max_boards = 2; |
|
| 200 | + } |
|
| 187 | 201 | |
| 188 | 202 | // Now, alternate them so they can be shown left and right ;). |
| 189 | 203 | $context['board_columns'] = array(); |
| 190 | 204 | for ($i = 0; $i < $max_boards; $i++) |
| 191 | 205 | { |
| 192 | 206 | $context['board_columns'][] = $temp_boards[$i]; |
| 193 | - if (isset($temp_boards[$i + $max_boards])) |
|
| 194 | - $context['board_columns'][] = $temp_boards[$i + $max_boards]; |
|
| 195 | - else |
|
| 196 | - $context['board_columns'][] = array(); |
|
| 207 | + if (isset($temp_boards[$i + $max_boards])) { |
|
| 208 | + $context['board_columns'][] = $temp_boards[$i + $max_boards]; |
|
| 209 | + } else { |
|
| 210 | + $context['board_columns'][] = array(); |
|
| 211 | + } |
|
| 197 | 212 | } |
| 198 | 213 | |
| 199 | 214 | if (!empty($_REQUEST['topic'])) |
@@ -225,8 +240,9 @@ discard block |
||
| 225 | 240 | ) |
| 226 | 241 | ); |
| 227 | 242 | |
| 228 | - if ($smcFunc['db_num_rows']($request) == 0) |
|
| 229 | - fatal_lang_error('topic_gone', false); |
|
| 243 | + if ($smcFunc['db_num_rows']($request) == 0) { |
|
| 244 | + fatal_lang_error('topic_gone', false); |
|
| 245 | + } |
|
| 230 | 246 | |
| 231 | 247 | list ($context['search_topic']['subject']) = $smcFunc['db_fetch_row']($request); |
| 232 | 248 | $smcFunc['db_free_result']($request); |
@@ -256,11 +272,13 @@ discard block |
||
| 256 | 272 | global $excludedWords, $participants, $smcFunc; |
| 257 | 273 | |
| 258 | 274 | // if comming from the quick search box, and we want to search on members, well we need to do that ;) |
| 259 | - if (isset($_REQUEST['search_selection']) && $_REQUEST['search_selection'] === 'members') |
|
| 260 | - redirectexit($scripturl . '?action=mlist;sa=search;fields=name,email;search=' . urlencode($_REQUEST['search'])); |
|
| 275 | + if (isset($_REQUEST['search_selection']) && $_REQUEST['search_selection'] === 'members') { |
|
| 276 | + redirectexit($scripturl . '?action=mlist;sa=search;fields=name,email;search=' . urlencode($_REQUEST['search'])); |
|
| 277 | + } |
|
| 261 | 278 | |
| 262 | - if (!empty($context['load_average']) && !empty($modSettings['loadavg_search']) && $context['load_average'] >= $modSettings['loadavg_search']) |
|
| 263 | - fatal_lang_error('loadavg_search_disabled', false); |
|
| 279 | + if (!empty($context['load_average']) && !empty($modSettings['loadavg_search']) && $context['load_average'] >= $modSettings['loadavg_search']) { |
|
| 280 | + fatal_lang_error('loadavg_search_disabled', false); |
|
| 281 | + } |
|
| 264 | 282 | |
| 265 | 283 | // No, no, no... this is a bit hard on the server, so don't you go prefetching it! |
| 266 | 284 | if (isset($_SERVER['HTTP_X_MOZ']) && $_SERVER['HTTP_X_MOZ'] == 'prefetch') |
@@ -307,8 +325,9 @@ discard block |
||
| 307 | 325 | } |
| 308 | 326 | |
| 309 | 327 | // Zero weight. Weightless :P. |
| 310 | - if (empty($weight_total)) |
|
| 311 | - fatal_lang_error('search_invalid_weights'); |
|
| 328 | + if (empty($weight_total)) { |
|
| 329 | + fatal_lang_error('search_invalid_weights'); |
|
| 330 | + } |
|
| 312 | 331 | |
| 313 | 332 | // These vars don't require an interface, they're just here for tweaking. |
| 314 | 333 | $recentPercentage = 0.30; |
@@ -326,11 +345,13 @@ discard block |
||
| 326 | 345 | $context['search_string_limit'] = 100; |
| 327 | 346 | |
| 328 | 347 | loadLanguage('Search'); |
| 329 | - if (!isset($_REQUEST['xml'])) |
|
| 330 | - loadTemplate('Search'); |
|
| 348 | + if (!isset($_REQUEST['xml'])) { |
|
| 349 | + loadTemplate('Search'); |
|
| 350 | + } |
|
| 331 | 351 | //If we're doing XML we need to use the results template regardless really. |
| 332 | - else |
|
| 333 | - $context['sub_template'] = 'results'; |
|
| 352 | + else { |
|
| 353 | + $context['sub_template'] = 'results'; |
|
| 354 | + } |
|
| 334 | 355 | |
| 335 | 356 | // Are you allowed? |
| 336 | 357 | isAllowedTo('search_posts'); |
@@ -363,34 +384,39 @@ discard block |
||
| 363 | 384 | $search_params[$k] = $v; |
| 364 | 385 | } |
| 365 | 386 | |
| 366 | - if (isset($search_params['brd'])) |
|
| 367 | - $search_params['brd'] = empty($search_params['brd']) ? array() : explode(',', $search_params['brd']); |
|
| 387 | + if (isset($search_params['brd'])) { |
|
| 388 | + $search_params['brd'] = empty($search_params['brd']) ? array() : explode(',', $search_params['brd']); |
|
| 389 | + } |
|
| 368 | 390 | } |
| 369 | 391 | |
| 370 | 392 | // Store whether simple search was used (needed if the user wants to do another query). |
| 371 | - if (!isset($search_params['advanced'])) |
|
| 372 | - $search_params['advanced'] = empty($_REQUEST['advanced']) ? 0 : 1; |
|
| 393 | + if (!isset($search_params['advanced'])) { |
|
| 394 | + $search_params['advanced'] = empty($_REQUEST['advanced']) ? 0 : 1; |
|
| 395 | + } |
|
| 373 | 396 | |
| 374 | 397 | // 1 => 'allwords' (default, don't set as param) / 2 => 'anywords'. |
| 375 | - if (!empty($search_params['searchtype']) || (!empty($_REQUEST['searchtype']) && $_REQUEST['searchtype'] == 2)) |
|
| 376 | - $search_params['searchtype'] = 2; |
|
| 398 | + if (!empty($search_params['searchtype']) || (!empty($_REQUEST['searchtype']) && $_REQUEST['searchtype'] == 2)) { |
|
| 399 | + $search_params['searchtype'] = 2; |
|
| 400 | + } |
|
| 377 | 401 | |
| 378 | 402 | // Minimum age of messages. Default to zero (don't set param in that case). |
| 379 | - if (!empty($search_params['minage']) || (!empty($_REQUEST['minage']) && $_REQUEST['minage'] > 0)) |
|
| 380 | - $search_params['minage'] = !empty($search_params['minage']) ? (int) $search_params['minage'] : (int) $_REQUEST['minage']; |
|
| 403 | + if (!empty($search_params['minage']) || (!empty($_REQUEST['minage']) && $_REQUEST['minage'] > 0)) { |
|
| 404 | + $search_params['minage'] = !empty($search_params['minage']) ? (int) $search_params['minage'] : (int) $_REQUEST['minage']; |
|
| 405 | + } |
|
| 381 | 406 | |
| 382 | 407 | // Maximum age of messages. Default to infinite (9999 days: param not set). |
| 383 | - if (!empty($search_params['maxage']) || (!empty($_REQUEST['maxage']) && $_REQUEST['maxage'] < 9999)) |
|
| 384 | - $search_params['maxage'] = !empty($search_params['maxage']) ? (int) $search_params['maxage'] : (int) $_REQUEST['maxage']; |
|
| 408 | + if (!empty($search_params['maxage']) || (!empty($_REQUEST['maxage']) && $_REQUEST['maxage'] < 9999)) { |
|
| 409 | + $search_params['maxage'] = !empty($search_params['maxage']) ? (int) $search_params['maxage'] : (int) $_REQUEST['maxage']; |
|
| 410 | + } |
|
| 385 | 411 | |
| 386 | 412 | // Searching a specific topic? |
| 387 | 413 | if (!empty($_REQUEST['topic']) || (!empty($_REQUEST['search_selection']) && $_REQUEST['search_selection'] == 'topic')) |
| 388 | 414 | { |
| 389 | 415 | $search_params['topic'] = empty($_REQUEST['search_selection']) ? (int) $_REQUEST['topic'] : (isset($_REQUEST['sd_topic']) ? (int) $_REQUEST['sd_topic'] : ''); |
| 390 | 416 | $search_params['show_complete'] = true; |
| 417 | + } elseif (!empty($search_params['topic'])) { |
|
| 418 | + $search_params['topic'] = (int) $search_params['topic']; |
|
| 391 | 419 | } |
| 392 | - elseif (!empty($search_params['topic'])) |
|
| 393 | - $search_params['topic'] = (int) $search_params['topic']; |
|
| 394 | 420 | |
| 395 | 421 | if (!empty($search_params['minage']) || !empty($search_params['maxage'])) |
| 396 | 422 | { |
@@ -408,19 +434,21 @@ discard block |
||
| 408 | 434 | ) |
| 409 | 435 | ); |
| 410 | 436 | list ($minMsgID, $maxMsgID) = $smcFunc['db_fetch_row']($request); |
| 411 | - if ($minMsgID < 0 || $maxMsgID < 0) |
|
| 412 | - $context['search_errors']['no_messages_in_time_frame'] = true; |
|
| 437 | + if ($minMsgID < 0 || $maxMsgID < 0) { |
|
| 438 | + $context['search_errors']['no_messages_in_time_frame'] = true; |
|
| 439 | + } |
|
| 413 | 440 | $smcFunc['db_free_result']($request); |
| 414 | 441 | } |
| 415 | 442 | |
| 416 | 443 | // Default the user name to a wildcard matching every user (*). |
| 417 | - if (!empty($search_params['userspec']) || (!empty($_REQUEST['userspec']) && $_REQUEST['userspec'] != '*')) |
|
| 418 | - $search_params['userspec'] = isset($search_params['userspec']) ? $search_params['userspec'] : $_REQUEST['userspec']; |
|
| 444 | + if (!empty($search_params['userspec']) || (!empty($_REQUEST['userspec']) && $_REQUEST['userspec'] != '*')) { |
|
| 445 | + $search_params['userspec'] = isset($search_params['userspec']) ? $search_params['userspec'] : $_REQUEST['userspec']; |
|
| 446 | + } |
|
| 419 | 447 | |
| 420 | 448 | // If there's no specific user, then don't mention it in the main query. |
| 421 | - if (empty($search_params['userspec'])) |
|
| 422 | - $userQuery = ''; |
|
| 423 | - else |
|
| 449 | + if (empty($search_params['userspec'])) { |
|
| 450 | + $userQuery = ''; |
|
| 451 | + } else |
|
| 424 | 452 | { |
| 425 | 453 | $userString = strtr($smcFunc['htmlspecialchars']($search_params['userspec'], ENT_QUOTES), array('"' => '"')); |
| 426 | 454 | $userString = strtr($userString, array('%' => '\%', '_' => '\_', '*' => '%', '?' => '_')); |
@@ -432,19 +460,21 @@ discard block |
||
| 432 | 460 | { |
| 433 | 461 | $possible_users[$k] = trim($possible_users[$k]); |
| 434 | 462 | |
| 435 | - if (strlen($possible_users[$k]) == 0) |
|
| 436 | - unset($possible_users[$k]); |
|
| 463 | + if (strlen($possible_users[$k]) == 0) { |
|
| 464 | + unset($possible_users[$k]); |
|
| 465 | + } |
|
| 437 | 466 | } |
| 438 | 467 | |
| 439 | 468 | // Create a list of database-escaped search names. |
| 440 | 469 | $realNameMatches = array(); |
| 441 | - foreach ($possible_users as $possible_user) |
|
| 442 | - $realNameMatches[] = $smcFunc['db_quote']( |
|
| 470 | + foreach ($possible_users as $possible_user) { |
|
| 471 | + $realNameMatches[] = $smcFunc['db_quote']( |
|
| 443 | 472 | '{string:possible_user}', |
| 444 | 473 | array( |
| 445 | 474 | 'possible_user' => $possible_user |
| 446 | 475 | ) |
| 447 | 476 | ); |
| 477 | + } |
|
| 448 | 478 | |
| 449 | 479 | // Retrieve a list of possible members. |
| 450 | 480 | $request = $smcFunc['db_query']('', ' |
@@ -456,9 +486,9 @@ discard block |
||
| 456 | 486 | ) |
| 457 | 487 | ); |
| 458 | 488 | // Simply do nothing if there're too many members matching the criteria. |
| 459 | - if ($smcFunc['db_num_rows']($request) > $maxMembersToSearch) |
|
| 460 | - $userQuery = ''; |
|
| 461 | - elseif ($smcFunc['db_num_rows']($request) == 0) |
|
| 489 | + if ($smcFunc['db_num_rows']($request) > $maxMembersToSearch) { |
|
| 490 | + $userQuery = ''; |
|
| 491 | + } elseif ($smcFunc['db_num_rows']($request) == 0) |
|
| 462 | 492 | { |
| 463 | 493 | $userQuery = $smcFunc['db_quote']( |
| 464 | 494 | 'm.id_member = {int:id_member_guest} AND ({raw:match_possible_guest_names})', |
@@ -467,12 +497,12 @@ discard block |
||
| 467 | 497 | 'match_possible_guest_names' => 'm.poster_name LIKE ' . implode(' OR m.poster_name LIKE ', $realNameMatches), |
| 468 | 498 | ) |
| 469 | 499 | ); |
| 470 | - } |
|
| 471 | - else |
|
| 500 | + } else |
|
| 472 | 501 | { |
| 473 | 502 | $memberlist = array(); |
| 474 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 475 | - $memberlist[] = $row['id_member']; |
|
| 503 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 504 | + $memberlist[] = $row['id_member']; |
|
| 505 | + } |
|
| 476 | 506 | $userQuery = $smcFunc['db_quote']( |
| 477 | 507 | '(m.id_member IN ({array_int:matched_members}) OR (m.id_member = {int:id_member_guest} AND ({raw:match_possible_guest_names})))', |
| 478 | 508 | array( |
@@ -486,22 +516,25 @@ discard block |
||
| 486 | 516 | } |
| 487 | 517 | |
| 488 | 518 | // If the boards were passed by URL (params=), temporarily put them back in $_REQUEST. |
| 489 | - if (!empty($search_params['brd']) && is_array($search_params['brd'])) |
|
| 490 | - $_REQUEST['brd'] = $search_params['brd']; |
|
| 519 | + if (!empty($search_params['brd']) && is_array($search_params['brd'])) { |
|
| 520 | + $_REQUEST['brd'] = $search_params['brd']; |
|
| 521 | + } |
|
| 491 | 522 | |
| 492 | 523 | // Ensure that brd is an array. |
| 493 | 524 | if ((!empty($_REQUEST['brd']) && !is_array($_REQUEST['brd'])) || (!empty($_REQUEST['search_selection']) && $_REQUEST['search_selection'] == 'board')) |
| 494 | 525 | { |
| 495 | - if (!empty($_REQUEST['brd'])) |
|
| 496 | - $_REQUEST['brd'] = strpos($_REQUEST['brd'], ',') !== false ? explode(',', $_REQUEST['brd']) : array($_REQUEST['brd']); |
|
| 497 | - else |
|
| 498 | - $_REQUEST['brd'] = isset($_REQUEST['sd_brd']) ? array($_REQUEST['sd_brd']) : array(); |
|
| 526 | + if (!empty($_REQUEST['brd'])) { |
|
| 527 | + $_REQUEST['brd'] = strpos($_REQUEST['brd'], ',') !== false ? explode(',', $_REQUEST['brd']) : array($_REQUEST['brd']); |
|
| 528 | + } else { |
|
| 529 | + $_REQUEST['brd'] = isset($_REQUEST['sd_brd']) ? array($_REQUEST['sd_brd']) : array(); |
|
| 530 | + } |
|
| 499 | 531 | } |
| 500 | 532 | |
| 501 | 533 | // Make sure all boards are integers. |
| 502 | - if (!empty($_REQUEST['brd'])) |
|
| 503 | - foreach ($_REQUEST['brd'] as $id => $brd) |
|
| 534 | + if (!empty($_REQUEST['brd'])) { |
|
| 535 | + foreach ($_REQUEST['brd'] as $id => $brd) |
|
| 504 | 536 | $_REQUEST['brd'][$id] = (int) $brd; |
| 537 | + } |
|
| 505 | 538 | |
| 506 | 539 | // Special case for boards: searching just one topic? |
| 507 | 540 | if (!empty($search_params['topic'])) |
@@ -520,17 +553,18 @@ discard block |
||
| 520 | 553 | ) |
| 521 | 554 | ); |
| 522 | 555 | |
| 523 | - if ($smcFunc['db_num_rows']($request) == 0) |
|
| 524 | - fatal_lang_error('topic_gone', false); |
|
| 556 | + if ($smcFunc['db_num_rows']($request) == 0) { |
|
| 557 | + fatal_lang_error('topic_gone', false); |
|
| 558 | + } |
|
| 525 | 559 | |
| 526 | 560 | $search_params['brd'] = array(); |
| 527 | 561 | list ($search_params['brd'][0]) = $smcFunc['db_fetch_row']($request); |
| 528 | 562 | $smcFunc['db_free_result']($request); |
| 529 | 563 | } |
| 530 | 564 | // Select all boards you've selected AND are allowed to see. |
| 531 | - elseif ($user_info['is_admin'] && (!empty($search_params['advanced']) || !empty($_REQUEST['brd']))) |
|
| 532 | - $search_params['brd'] = empty($_REQUEST['brd']) ? array() : $_REQUEST['brd']; |
|
| 533 | - else |
|
| 565 | + elseif ($user_info['is_admin'] && (!empty($search_params['advanced']) || !empty($_REQUEST['brd']))) { |
|
| 566 | + $search_params['brd'] = empty($_REQUEST['brd']) ? array() : $_REQUEST['brd']; |
|
| 567 | + } else |
|
| 534 | 568 | { |
| 535 | 569 | $see_board = empty($search_params['advanced']) ? 'query_wanna_see_board' : 'query_see_board'; |
| 536 | 570 | $request = $smcFunc['db_query']('', ' |
@@ -548,19 +582,22 @@ discard block |
||
| 548 | 582 | ) |
| 549 | 583 | ); |
| 550 | 584 | $search_params['brd'] = array(); |
| 551 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 552 | - $search_params['brd'][] = $row['id_board']; |
|
| 585 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 586 | + $search_params['brd'][] = $row['id_board']; |
|
| 587 | + } |
|
| 553 | 588 | $smcFunc['db_free_result']($request); |
| 554 | 589 | |
| 555 | 590 | // This error should pro'bly only happen for hackers. |
| 556 | - if (empty($search_params['brd'])) |
|
| 557 | - $context['search_errors']['no_boards_selected'] = true; |
|
| 591 | + if (empty($search_params['brd'])) { |
|
| 592 | + $context['search_errors']['no_boards_selected'] = true; |
|
| 593 | + } |
|
| 558 | 594 | } |
| 559 | 595 | |
| 560 | 596 | if (count($search_params['brd']) != 0) |
| 561 | 597 | { |
| 562 | - foreach ($search_params['brd'] as $k => $v) |
|
| 563 | - $search_params['brd'][$k] = (int) $v; |
|
| 598 | + foreach ($search_params['brd'] as $k => $v) { |
|
| 599 | + $search_params['brd'][$k] = (int) $v; |
|
| 600 | + } |
|
| 564 | 601 | |
| 565 | 602 | // If we've selected all boards, this parameter can be left empty. |
| 566 | 603 | $request = $smcFunc['db_query']('', ' |
@@ -574,15 +611,16 @@ discard block |
||
| 574 | 611 | list ($num_boards) = $smcFunc['db_fetch_row']($request); |
| 575 | 612 | $smcFunc['db_free_result']($request); |
| 576 | 613 | |
| 577 | - if (count($search_params['brd']) == $num_boards) |
|
| 614 | + if (count($search_params['brd']) == $num_boards) { |
|
| 615 | + $boardQuery = ''; |
|
| 616 | + } elseif (count($search_params['brd']) == $num_boards - 1 && !empty($modSettings['recycle_board']) && !in_array($modSettings['recycle_board'], $search_params['brd'])) { |
|
| 617 | + $boardQuery = '!= ' . $modSettings['recycle_board']; |
|
| 618 | + } else { |
|
| 619 | + $boardQuery = 'IN (' . implode(', ', $search_params['brd']) . ')'; |
|
| 620 | + } |
|
| 621 | + } else { |
|
| 578 | 622 | $boardQuery = ''; |
| 579 | - elseif (count($search_params['brd']) == $num_boards - 1 && !empty($modSettings['recycle_board']) && !in_array($modSettings['recycle_board'], $search_params['brd'])) |
|
| 580 | - $boardQuery = '!= ' . $modSettings['recycle_board']; |
|
| 581 | - else |
|
| 582 | - $boardQuery = 'IN (' . implode(', ', $search_params['brd']) . ')'; |
|
| 583 | 623 | } |
| 584 | - else |
|
| 585 | - $boardQuery = ''; |
|
| 586 | 624 | |
| 587 | 625 | $search_params['show_complete'] = !empty($search_params['show_complete']) || !empty($_REQUEST['show_complete']); |
| 588 | 626 | $search_params['subject_only'] = !empty($search_params['subject_only']) || !empty($_REQUEST['subject_only']); |
@@ -596,11 +634,13 @@ discard block |
||
| 596 | 634 | 'id_msg', |
| 597 | 635 | ); |
| 598 | 636 | call_integration_hook('integrate_search_sort_columns', array(&$sort_columns)); |
| 599 | - if (empty($search_params['sort']) && !empty($_REQUEST['sort'])) |
|
| 600 | - list ($search_params['sort'], $search_params['sort_dir']) = array_pad(explode('|', $_REQUEST['sort']), 2, ''); |
|
| 637 | + if (empty($search_params['sort']) && !empty($_REQUEST['sort'])) { |
|
| 638 | + list ($search_params['sort'], $search_params['sort_dir']) = array_pad(explode('|', $_REQUEST['sort']), 2, ''); |
|
| 639 | + } |
|
| 601 | 640 | $search_params['sort'] = !empty($search_params['sort']) && in_array($search_params['sort'], $sort_columns) ? $search_params['sort'] : 'relevance'; |
| 602 | - if (!empty($search_params['topic']) && $search_params['sort'] === 'num_replies') |
|
| 603 | - $search_params['sort'] = 'id_msg'; |
|
| 641 | + if (!empty($search_params['topic']) && $search_params['sort'] === 'num_replies') { |
|
| 642 | + $search_params['sort'] = 'id_msg'; |
|
| 643 | + } |
|
| 604 | 644 | |
| 605 | 645 | // Sorting direction: descending unless stated otherwise. |
| 606 | 646 | $search_params['sort_dir'] = !empty($search_params['sort_dir']) && $search_params['sort_dir'] == 'asc' ? 'asc' : 'desc'; |
@@ -624,17 +664,19 @@ discard block |
||
| 624 | 664 | // What are we searching for? |
| 625 | 665 | if (empty($search_params['search'])) |
| 626 | 666 | { |
| 627 | - if (isset($_GET['search'])) |
|
| 628 | - $search_params['search'] = un_htmlspecialchars($_GET['search']); |
|
| 629 | - elseif (isset($_POST['search'])) |
|
| 630 | - $search_params['search'] = $_POST['search']; |
|
| 631 | - else |
|
| 632 | - $search_params['search'] = ''; |
|
| 667 | + if (isset($_GET['search'])) { |
|
| 668 | + $search_params['search'] = un_htmlspecialchars($_GET['search']); |
|
| 669 | + } elseif (isset($_POST['search'])) { |
|
| 670 | + $search_params['search'] = $_POST['search']; |
|
| 671 | + } else { |
|
| 672 | + $search_params['search'] = ''; |
|
| 673 | + } |
|
| 633 | 674 | } |
| 634 | 675 | |
| 635 | 676 | // Nothing?? |
| 636 | - if (!isset($search_params['search']) || $search_params['search'] == '') |
|
| 637 | - $context['search_errors']['invalid_search_string'] = true; |
|
| 677 | + if (!isset($search_params['search']) || $search_params['search'] == '') { |
|
| 678 | + $context['search_errors']['invalid_search_string'] = true; |
|
| 679 | + } |
|
| 638 | 680 | // Too long? |
| 639 | 681 | elseif ($smcFunc['strlen']($search_params['search']) > $context['search_string_limit']) |
| 640 | 682 | { |
@@ -648,8 +690,9 @@ discard block |
||
| 648 | 690 | $stripped_query = un_htmlspecialchars($smcFunc['strtolower']($stripped_query)); |
| 649 | 691 | |
| 650 | 692 | // This (hidden) setting will do fulltext searching in the most basic way. |
| 651 | - if (!empty($modSettings['search_simple_fulltext'])) |
|
| 652 | - $stripped_query = strtr($stripped_query, array('"' => '')); |
|
| 693 | + if (!empty($modSettings['search_simple_fulltext'])) { |
|
| 694 | + $stripped_query = strtr($stripped_query, array('"' => '')); |
|
| 695 | + } |
|
| 653 | 696 | |
| 654 | 697 | $no_regexp = preg_match('~&#(?:\d{1,7}|x[0-9a-fA-F]{1,6});~', $stripped_query) === 1; |
| 655 | 698 | |
@@ -672,8 +715,9 @@ discard block |
||
| 672 | 715 | { |
| 673 | 716 | if ($word === '-') |
| 674 | 717 | { |
| 675 | - if (($word = trim($phraseArray[$index], '-_\' ')) !== '' && !in_array($word, $blacklisted_words)) |
|
| 676 | - $excludedWords[] = $word; |
|
| 718 | + if (($word = trim($phraseArray[$index], '-_\' ')) !== '' && !in_array($word, $blacklisted_words)) { |
|
| 719 | + $excludedWords[] = $word; |
|
| 720 | + } |
|
| 677 | 721 | unset($phraseArray[$index]); |
| 678 | 722 | } |
| 679 | 723 | } |
@@ -683,8 +727,9 @@ discard block |
||
| 683 | 727 | { |
| 684 | 728 | if (strpos(trim($word), '-') === 0) |
| 685 | 729 | { |
| 686 | - if (($word = trim($word, '-_\' ')) !== '' && !in_array($word, $blacklisted_words)) |
|
| 687 | - $excludedWords[] = $word; |
|
| 730 | + if (($word = trim($word, '-_\' ')) !== '' && !in_array($word, $blacklisted_words)) { |
|
| 731 | + $excludedWords[] = $word; |
|
| 732 | + } |
|
| 688 | 733 | unset($wordArray[$index]); |
| 689 | 734 | } |
| 690 | 735 | } |
@@ -697,8 +742,9 @@ discard block |
||
| 697 | 742 | foreach ($searchArray as $index => $value) |
| 698 | 743 | { |
| 699 | 744 | // Skip anything practically empty. |
| 700 | - if (($searchArray[$index] = trim($value, '-_\' ')) === '') |
|
| 701 | - unset($searchArray[$index]); |
|
| 745 | + if (($searchArray[$index] = trim($value, '-_\' ')) === '') { |
|
| 746 | + unset($searchArray[$index]); |
|
| 747 | + } |
|
| 702 | 748 | // Skip blacklisted words. Make sure to note we skipped them in case we end up with nothing. |
| 703 | 749 | elseif (in_array($searchArray[$index], $blacklisted_words)) |
| 704 | 750 | { |
@@ -716,31 +762,37 @@ discard block |
||
| 716 | 762 | |
| 717 | 763 | // Create an array of replacements for highlighting. |
| 718 | 764 | $context['mark'] = array(); |
| 719 | - foreach ($searchArray as $word) |
|
| 720 | - $context['mark'][$word] = '<strong class="highlight">' . $word . '</strong>'; |
|
| 765 | + foreach ($searchArray as $word) { |
|
| 766 | + $context['mark'][$word] = '<strong class="highlight">' . $word . '</strong>'; |
|
| 767 | + } |
|
| 721 | 768 | |
| 722 | 769 | // Initialize two arrays storing the words that have to be searched for. |
| 723 | 770 | $orParts = array(); |
| 724 | 771 | $searchWords = array(); |
| 725 | 772 | |
| 726 | 773 | // Make sure at least one word is being searched for. |
| 727 | - if (empty($searchArray)) |
|
| 728 | - $context['search_errors']['invalid_search_string' . (!empty($foundBlackListedWords) ? '_blacklist' : '')] = true; |
|
| 774 | + if (empty($searchArray)) { |
|
| 775 | + $context['search_errors']['invalid_search_string' . (!empty($foundBlackListedWords) ? '_blacklist' : '')] = true; |
|
| 776 | + } |
|
| 729 | 777 | // All words/sentences must match. |
| 730 | - elseif (empty($search_params['searchtype'])) |
|
| 731 | - $orParts[0] = $searchArray; |
|
| 778 | + elseif (empty($search_params['searchtype'])) { |
|
| 779 | + $orParts[0] = $searchArray; |
|
| 780 | + } |
|
| 732 | 781 | // Any word/sentence must match. |
| 733 | - else |
|
| 734 | - foreach ($searchArray as $index => $value) |
|
| 782 | + else { |
|
| 783 | + foreach ($searchArray as $index => $value) |
|
| 735 | 784 | $orParts[$index] = array($value); |
| 785 | + } |
|
| 736 | 786 | |
| 737 | 787 | // Don't allow duplicate error messages if one string is too short. |
| 738 | - if (isset($context['search_errors']['search_string_small_words'], $context['search_errors']['invalid_search_string'])) |
|
| 739 | - unset($context['search_errors']['invalid_search_string']); |
|
| 788 | + if (isset($context['search_errors']['search_string_small_words'], $context['search_errors']['invalid_search_string'])) { |
|
| 789 | + unset($context['search_errors']['invalid_search_string']); |
|
| 790 | + } |
|
| 740 | 791 | // Make sure the excluded words are in all or-branches. |
| 741 | - foreach ($orParts as $orIndex => $andParts) |
|
| 742 | - foreach ($excludedWords as $word) |
|
| 792 | + foreach ($orParts as $orIndex => $andParts) { |
|
| 793 | + foreach ($excludedWords as $word) |
|
| 743 | 794 | $orParts[$orIndex][] = $word; |
| 795 | + } |
|
| 744 | 796 | |
| 745 | 797 | // Determine the or-branches and the fulltext search words. |
| 746 | 798 | foreach ($orParts as $orIndex => $andParts) |
@@ -754,8 +806,9 @@ discard block |
||
| 754 | 806 | ); |
| 755 | 807 | |
| 756 | 808 | // Sort the indexed words (large words -> small words -> excluded words). |
| 757 | - if ($searchAPI->supportsMethod('searchSort')) |
|
| 758 | - usort($orParts[$orIndex], 'searchSort'); |
|
| 809 | + if ($searchAPI->supportsMethod('searchSort')) { |
|
| 810 | + usort($orParts[$orIndex], 'searchSort'); |
|
| 811 | + } |
|
| 759 | 812 | |
| 760 | 813 | foreach ($orParts[$orIndex] as $word) |
| 761 | 814 | { |
@@ -767,15 +820,17 @@ discard block |
||
| 767 | 820 | if (!$is_excluded || count($subjectWords) === 1) |
| 768 | 821 | { |
| 769 | 822 | $searchWords[$orIndex]['subject_words'] = array_merge($searchWords[$orIndex]['subject_words'], $subjectWords); |
| 770 | - if ($is_excluded) |
|
| 771 | - $excludedSubjectWords = array_merge($excludedSubjectWords, $subjectWords); |
|
| 823 | + if ($is_excluded) { |
|
| 824 | + $excludedSubjectWords = array_merge($excludedSubjectWords, $subjectWords); |
|
| 825 | + } |
|
| 826 | + } else { |
|
| 827 | + $excludedPhrases[] = $word; |
|
| 772 | 828 | } |
| 773 | - else |
|
| 774 | - $excludedPhrases[] = $word; |
|
| 775 | 829 | |
| 776 | 830 | // Have we got indexes to prepare? |
| 777 | - if ($searchAPI->supportsMethod('prepareIndexes')) |
|
| 778 | - $searchAPI->prepareIndexes($word, $searchWords[$orIndex], $excludedIndexWords, $is_excluded); |
|
| 831 | + if ($searchAPI->supportsMethod('prepareIndexes')) { |
|
| 832 | + $searchAPI->prepareIndexes($word, $searchWords[$orIndex], $excludedIndexWords, $is_excluded); |
|
| 833 | + } |
|
| 779 | 834 | } |
| 780 | 835 | |
| 781 | 836 | // Search_force_index requires all AND parts to have at least one fulltext word. |
@@ -783,8 +838,7 @@ discard block |
||
| 783 | 838 | { |
| 784 | 839 | $context['search_errors']['query_not_specific_enough'] = true; |
| 785 | 840 | break; |
| 786 | - } |
|
| 787 | - elseif ($search_params['subject_only'] && empty($searchWords[$orIndex]['subject_words']) && empty($excludedSubjectWords)) |
|
| 841 | + } elseif ($search_params['subject_only'] && empty($searchWords[$orIndex]['subject_words']) && empty($excludedSubjectWords)) |
|
| 788 | 842 | { |
| 789 | 843 | $context['search_errors']['query_not_specific_enough'] = true; |
| 790 | 844 | break; |
@@ -812,8 +866,9 @@ discard block |
||
| 812 | 866 | $found_misspelling = false; |
| 813 | 867 | foreach ($searchArray as $word) |
| 814 | 868 | { |
| 815 | - if (empty($link)) |
|
| 816 | - continue; |
|
| 869 | + if (empty($link)) { |
|
| 870 | + continue; |
|
| 871 | + } |
|
| 817 | 872 | |
| 818 | 873 | // Don't check phrases. |
| 819 | 874 | if (preg_match('~^\w+$~', $word) === 0) |
@@ -828,8 +883,7 @@ discard block |
||
| 828 | 883 | $did_you_mean['search'][] = $word; |
| 829 | 884 | $did_you_mean['display'][] = $smcFunc['htmlspecialchars']($word); |
| 830 | 885 | continue; |
| 831 | - } |
|
| 832 | - elseif (spell_check($link, $word)) |
|
| 886 | + } elseif (spell_check($link, $word)) |
|
| 833 | 887 | { |
| 834 | 888 | $did_you_mean['search'][] = $word; |
| 835 | 889 | $did_you_mean['display'][] = $smcFunc['htmlspecialchars']($word); |
@@ -840,11 +894,13 @@ discard block |
||
| 840 | 894 | foreach ($suggestions as $i => $s) |
| 841 | 895 | { |
| 842 | 896 | // Search is case insensitive. |
| 843 | - if ($smcFunc['strtolower']($s) == $smcFunc['strtolower']($word)) |
|
| 844 | - unset($suggestions[$i]); |
|
| 897 | + if ($smcFunc['strtolower']($s) == $smcFunc['strtolower']($word)) { |
|
| 898 | + unset($suggestions[$i]); |
|
| 899 | + } |
|
| 845 | 900 | // Plus, don't suggest something the user thinks is rude! |
| 846 | - elseif ($suggestions[$i] != censorText($s)) |
|
| 847 | - unset($suggestions[$i]); |
|
| 901 | + elseif ($suggestions[$i] != censorText($s)) { |
|
| 902 | + unset($suggestions[$i]); |
|
| 903 | + } |
|
| 848 | 904 | } |
| 849 | 905 | |
| 850 | 906 | // Anything found? If so, correct it! |
@@ -854,8 +910,7 @@ discard block |
||
| 854 | 910 | $did_you_mean['search'][] = $suggestions[0]; |
| 855 | 911 | $did_you_mean['display'][] = '<em><strong>' . $smcFunc['htmlspecialchars']($suggestions[0]) . '</strong></em>'; |
| 856 | 912 | $found_misspelling = true; |
| 857 | - } |
|
| 858 | - else |
|
| 913 | + } else |
|
| 859 | 914 | { |
| 860 | 915 | $did_you_mean['search'][] = $word; |
| 861 | 916 | $did_you_mean['display'][] = $smcFunc['htmlspecialchars']($word); |
@@ -872,8 +927,7 @@ discard block |
||
| 872 | 927 | { |
| 873 | 928 | $temp_excluded['search'][] = '-"' . $word . '"'; |
| 874 | 929 | $temp_excluded['display'][] = '-"' . $smcFunc['htmlspecialchars']($word) . '"'; |
| 875 | - } |
|
| 876 | - else |
|
| 930 | + } else |
|
| 877 | 931 | { |
| 878 | 932 | $temp_excluded['search'][] = '-' . $word; |
| 879 | 933 | $temp_excluded['display'][] = '-' . $smcFunc['htmlspecialchars']($word); |
@@ -885,11 +939,13 @@ discard block |
||
| 885 | 939 | |
| 886 | 940 | $temp_params = $search_params; |
| 887 | 941 | $temp_params['search'] = implode(' ', $did_you_mean['search']); |
| 888 | - if (isset($temp_params['brd'])) |
|
| 889 | - $temp_params['brd'] = implode(',', $temp_params['brd']); |
|
| 942 | + if (isset($temp_params['brd'])) { |
|
| 943 | + $temp_params['brd'] = implode(',', $temp_params['brd']); |
|
| 944 | + } |
|
| 890 | 945 | $context['params'] = array(); |
| 891 | - foreach ($temp_params as $k => $v) |
|
| 892 | - $context['did_you_mean_params'][] = $k . '|\'|' . $v; |
|
| 946 | + foreach ($temp_params as $k => $v) { |
|
| 947 | + $context['did_you_mean_params'][] = $k . '|\'|' . $v; |
|
| 948 | + } |
|
| 893 | 949 | $context['did_you_mean_params'] = base64_encode(implode('|"|', $context['did_you_mean_params'])); |
| 894 | 950 | $context['did_you_mean'] = implode(' ', $did_you_mean['display']); |
| 895 | 951 | } |
@@ -897,18 +953,20 @@ discard block |
||
| 897 | 953 | |
| 898 | 954 | // Let the user adjust the search query, should they wish? |
| 899 | 955 | $context['search_params'] = $search_params; |
| 900 | - if (isset($context['search_params']['search'])) |
|
| 901 | - $context['search_params']['search'] = $smcFunc['htmlspecialchars']($context['search_params']['search']); |
|
| 902 | - if (isset($context['search_params']['userspec'])) |
|
| 903 | - $context['search_params']['userspec'] = $smcFunc['htmlspecialchars']($context['search_params']['userspec']); |
|
| 956 | + if (isset($context['search_params']['search'])) { |
|
| 957 | + $context['search_params']['search'] = $smcFunc['htmlspecialchars']($context['search_params']['search']); |
|
| 958 | + } |
|
| 959 | + if (isset($context['search_params']['userspec'])) { |
|
| 960 | + $context['search_params']['userspec'] = $smcFunc['htmlspecialchars']($context['search_params']['userspec']); |
|
| 961 | + } |
|
| 904 | 962 | |
| 905 | 963 | // Do we have captcha enabled? |
| 906 | 964 | if ($user_info['is_guest'] && !empty($modSettings['search_enable_captcha']) && empty($_SESSION['ss_vv_passed']) && (empty($_SESSION['last_ss']) || $_SESSION['last_ss'] != $search_params['search'])) |
| 907 | 965 | { |
| 908 | 966 | // If we come from another search box tone down the error... |
| 909 | - if (!isset($_REQUEST['search_vv'])) |
|
| 910 | - $context['search_errors']['need_verification_code'] = true; |
|
| 911 | - else |
|
| 967 | + if (!isset($_REQUEST['search_vv'])) { |
|
| 968 | + $context['search_errors']['need_verification_code'] = true; |
|
| 969 | + } else |
|
| 912 | 970 | { |
| 913 | 971 | require_once($sourcedir . '/Subs-Editor.php'); |
| 914 | 972 | $verificationOptions = array( |
@@ -918,12 +976,14 @@ discard block |
||
| 918 | 976 | |
| 919 | 977 | if (is_array($context['require_verification'])) |
| 920 | 978 | { |
| 921 | - foreach ($context['require_verification'] as $error) |
|
| 922 | - $context['search_errors'][$error] = true; |
|
| 979 | + foreach ($context['require_verification'] as $error) { |
|
| 980 | + $context['search_errors'][$error] = true; |
|
| 981 | + } |
|
| 923 | 982 | } |
| 924 | 983 | // Don't keep asking for it - they've proven themselves worthy. |
| 925 | - else |
|
| 926 | - $_SESSION['ss_vv_passed'] = true; |
|
| 984 | + else { |
|
| 985 | + $_SESSION['ss_vv_passed'] = true; |
|
| 986 | + } |
|
| 927 | 987 | } |
| 928 | 988 | } |
| 929 | 989 | |
@@ -931,19 +991,22 @@ discard block |
||
| 931 | 991 | |
| 932 | 992 | // All search params have been checked, let's compile them to a single string... made less simple by PHP 4.3.9 and below. |
| 933 | 993 | $temp_params = $search_params; |
| 934 | - if (isset($temp_params['brd'])) |
|
| 935 | - $temp_params['brd'] = implode(',', $temp_params['brd']); |
|
| 994 | + if (isset($temp_params['brd'])) { |
|
| 995 | + $temp_params['brd'] = implode(',', $temp_params['brd']); |
|
| 996 | + } |
|
| 936 | 997 | $context['params'] = array(); |
| 937 | - foreach ($temp_params as $k => $v) |
|
| 938 | - $context['params'][] = $k . '|\'|' . $v; |
|
| 998 | + foreach ($temp_params as $k => $v) { |
|
| 999 | + $context['params'][] = $k . '|\'|' . $v; |
|
| 1000 | + } |
|
| 939 | 1001 | |
| 940 | 1002 | if (!empty($context['params'])) |
| 941 | 1003 | { |
| 942 | 1004 | // Due to old IE's 2083 character limit, we have to compress long search strings |
| 943 | 1005 | $params = @gzcompress(implode('|"|', $context['params'])); |
| 944 | 1006 | // Gzcompress failed, use try non-gz |
| 945 | - if (empty($params)) |
|
| 946 | - $params = implode('|"|', $context['params']); |
|
| 1007 | + if (empty($params)) { |
|
| 1008 | + $params = implode('|"|', $context['params']); |
|
| 1009 | + } |
|
| 947 | 1010 | // Base64 encode, then replace +/= with uri safe ones that can be reverted |
| 948 | 1011 | $context['params'] = str_replace(array('+', '/', '='), array('-', '_', '.'), base64_encode($params)); |
| 949 | 1012 | } |
@@ -969,8 +1032,9 @@ discard block |
||
| 969 | 1032 | } |
| 970 | 1033 | |
| 971 | 1034 | // Spam me not, Spam-a-lot? |
| 972 | - if (empty($_SESSION['last_ss']) || $_SESSION['last_ss'] != $search_params['search']) |
|
| 973 | - spamProtection('search'); |
|
| 1035 | + if (empty($_SESSION['last_ss']) || $_SESSION['last_ss'] != $search_params['search']) { |
|
| 1036 | + spamProtection('search'); |
|
| 1037 | + } |
|
| 974 | 1038 | // Store the last search string to allow pages of results to be browsed. |
| 975 | 1039 | $_SESSION['last_ss'] = $search_params['search']; |
| 976 | 1040 | |
@@ -1030,8 +1094,9 @@ discard block |
||
| 1030 | 1094 | 'where' => array(), |
| 1031 | 1095 | ); |
| 1032 | 1096 | |
| 1033 | - if ($modSettings['postmod_active']) |
|
| 1034 | - $subject_query['where'][] = 't.approved = {int:is_approved}'; |
|
| 1097 | + if ($modSettings['postmod_active']) { |
|
| 1098 | + $subject_query['where'][] = 't.approved = {int:is_approved}'; |
|
| 1099 | + } |
|
| 1035 | 1100 | |
| 1036 | 1101 | $numTables = 0; |
| 1037 | 1102 | $prev_join = 0; |
@@ -1043,8 +1108,7 @@ discard block |
||
| 1043 | 1108 | { |
| 1044 | 1109 | $subject_query['left_join'][] = '{db_prefix}log_search_subjects AS subj' . $numTables . ' ON (subj' . $numTables . '.word ' . (empty($modSettings['search_match_words']) ? 'LIKE {string:subject_words_' . $numTables . '_wild}' : '= {string:subject_words_' . $numTables . '}') . ' AND subj' . $numTables . '.id_topic = t.id_topic)'; |
| 1045 | 1110 | $subject_query['where'][] = '(subj' . $numTables . '.word IS NULL)'; |
| 1046 | - } |
|
| 1047 | - else |
|
| 1111 | + } else |
|
| 1048 | 1112 | { |
| 1049 | 1113 | $subject_query['inner_join'][] = '{db_prefix}log_search_subjects AS subj' . $numTables . ' ON (subj' . $numTables . '.id_topic = ' . ($prev_join === 0 ? 't' : 'subj' . $prev_join) . '.id_topic)'; |
| 1050 | 1114 | $subject_query['where'][] = 'subj' . $numTables . '.word ' . (empty($modSettings['search_match_words']) ? 'LIKE {string:subject_words_' . $numTables . '_wild}' : '= {string:subject_words_' . $numTables . '}'); |
@@ -1062,14 +1126,18 @@ discard block |
||
| 1062 | 1126 | } |
| 1063 | 1127 | $subject_query['where'][] = $userQuery; |
| 1064 | 1128 | } |
| 1065 | - if (!empty($search_params['topic'])) |
|
| 1066 | - $subject_query['where'][] = 't.id_topic = ' . $search_params['topic']; |
|
| 1067 | - if (!empty($minMsgID)) |
|
| 1068 | - $subject_query['where'][] = 't.id_first_msg >= ' . $minMsgID; |
|
| 1069 | - if (!empty($maxMsgID)) |
|
| 1070 | - $subject_query['where'][] = 't.id_last_msg <= ' . $maxMsgID; |
|
| 1071 | - if (!empty($boardQuery)) |
|
| 1072 | - $subject_query['where'][] = 't.id_board ' . $boardQuery; |
|
| 1129 | + if (!empty($search_params['topic'])) { |
|
| 1130 | + $subject_query['where'][] = 't.id_topic = ' . $search_params['topic']; |
|
| 1131 | + } |
|
| 1132 | + if (!empty($minMsgID)) { |
|
| 1133 | + $subject_query['where'][] = 't.id_first_msg >= ' . $minMsgID; |
|
| 1134 | + } |
|
| 1135 | + if (!empty($maxMsgID)) { |
|
| 1136 | + $subject_query['where'][] = 't.id_last_msg <= ' . $maxMsgID; |
|
| 1137 | + } |
|
| 1138 | + if (!empty($boardQuery)) { |
|
| 1139 | + $subject_query['where'][] = 't.id_board ' . $boardQuery; |
|
| 1140 | + } |
|
| 1073 | 1141 | if (!empty($excludedPhrases)) |
| 1074 | 1142 | { |
| 1075 | 1143 | if ($subject_query['from'] != '{db_prefix}messages AS m') |
@@ -1089,8 +1157,9 @@ discard block |
||
| 1089 | 1157 | foreach ($weight_factors as $type => $value) |
| 1090 | 1158 | { |
| 1091 | 1159 | $relevance .= $weight[$type]; |
| 1092 | - if (!empty($value['results'])) |
|
| 1093 | - $relevance .= ' * ' . $value['results']; |
|
| 1160 | + if (!empty($value['results'])) { |
|
| 1161 | + $relevance .= ' * ' . $value['results']; |
|
| 1162 | + } |
|
| 1094 | 1163 | $relevance .= ' + '; |
| 1095 | 1164 | } |
| 1096 | 1165 | $relevance = substr($relevance, 0, -3) . ') / ' . $weight_total . ' AS relevance'; |
@@ -1128,20 +1197,23 @@ discard block |
||
| 1128 | 1197 | while ($row = $smcFunc['db_fetch_row']($ignoreRequest)) |
| 1129 | 1198 | { |
| 1130 | 1199 | // No duplicates! |
| 1131 | - if (isset($inserts[$row[1]])) |
|
| 1132 | - continue; |
|
| 1200 | + if (isset($inserts[$row[1]])) { |
|
| 1201 | + continue; |
|
| 1202 | + } |
|
| 1133 | 1203 | |
| 1134 | - foreach ($row as $key => $value) |
|
| 1135 | - $inserts[$row[1]][] = (int) $row[$key]; |
|
| 1204 | + foreach ($row as $key => $value) { |
|
| 1205 | + $inserts[$row[1]][] = (int) $row[$key]; |
|
| 1206 | + } |
|
| 1136 | 1207 | } |
| 1137 | 1208 | $smcFunc['db_free_result']($ignoreRequest); |
| 1138 | 1209 | $numSubjectResults = count($inserts); |
| 1210 | + } else { |
|
| 1211 | + $numSubjectResults += $smcFunc['db_affected_rows'](); |
|
| 1139 | 1212 | } |
| 1140 | - else |
|
| 1141 | - $numSubjectResults += $smcFunc['db_affected_rows'](); |
|
| 1142 | 1213 | |
| 1143 | - if (!empty($modSettings['search_max_results']) && $numSubjectResults >= $modSettings['search_max_results']) |
|
| 1144 | - break; |
|
| 1214 | + if (!empty($modSettings['search_max_results']) && $numSubjectResults >= $modSettings['search_max_results']) { |
|
| 1215 | + break; |
|
| 1216 | + } |
|
| 1145 | 1217 | } |
| 1146 | 1218 | |
| 1147 | 1219 | // If there's data to be inserted for non-IGNORE databases do it here! |
@@ -1156,8 +1228,7 @@ discard block |
||
| 1156 | 1228 | } |
| 1157 | 1229 | |
| 1158 | 1230 | $_SESSION['search_cache']['num_results'] = $numSubjectResults; |
| 1159 | - } |
|
| 1160 | - else |
|
| 1231 | + } else |
|
| 1161 | 1232 | { |
| 1162 | 1233 | $main_query = array( |
| 1163 | 1234 | 'select' => array( |
@@ -1189,8 +1260,7 @@ discard block |
||
| 1189 | 1260 | $main_query['weights'] = $weight_factors; |
| 1190 | 1261 | |
| 1191 | 1262 | $main_query['group_by'][] = 't.id_topic'; |
| 1192 | - } |
|
| 1193 | - else |
|
| 1263 | + } else |
|
| 1194 | 1264 | { |
| 1195 | 1265 | // This is outrageous! |
| 1196 | 1266 | $main_query['select']['id_topic'] = 'm.id_msg AS id_topic'; |
@@ -1211,8 +1281,9 @@ discard block |
||
| 1211 | 1281 | $main_query['where'][] = 't.id_topic = {int:topic}'; |
| 1212 | 1282 | $main_query['parameters']['topic'] = $search_params['topic']; |
| 1213 | 1283 | } |
| 1214 | - if (!empty($search_params['show_complete'])) |
|
| 1215 | - $main_query['group_by'][] = 'm.id_msg, t.id_first_msg, t.id_last_msg'; |
|
| 1284 | + if (!empty($search_params['show_complete'])) { |
|
| 1285 | + $main_query['group_by'][] = 'm.id_msg, t.id_first_msg, t.id_last_msg'; |
|
| 1286 | + } |
|
| 1216 | 1287 | } |
| 1217 | 1288 | |
| 1218 | 1289 | // *** Get the subject results. |
@@ -1239,14 +1310,15 @@ discard block |
||
| 1239 | 1310 | ) !== false; |
| 1240 | 1311 | |
| 1241 | 1312 | // Clean up some previous cache. |
| 1242 | - if (!$createTemporary) |
|
| 1243 | - $smcFunc['db_search_query']('delete_log_search_topics', ' |
|
| 1313 | + if (!$createTemporary) { |
|
| 1314 | + $smcFunc['db_search_query']('delete_log_search_topics', ' |
|
| 1244 | 1315 | DELETE FROM {db_prefix}log_search_topics |
| 1245 | 1316 | WHERE id_search = {int:search_id}', |
| 1246 | 1317 | array( |
| 1247 | 1318 | 'search_id' => $_SESSION['search_cache']['id_search'], |
| 1248 | 1319 | ) |
| 1249 | 1320 | ); |
| 1321 | + } |
|
| 1250 | 1322 | |
| 1251 | 1323 | foreach ($searchWords as $orIndex => $words) |
| 1252 | 1324 | { |
@@ -1278,8 +1350,7 @@ discard block |
||
| 1278 | 1350 | $subject_query['where'][] = '(subj' . $numTables . '.word IS NULL)'; |
| 1279 | 1351 | $subject_query['where'][] = 'm.body NOT ' . (empty($modSettings['search_match_words']) || $no_regexp ? ' LIKE ' : ' RLIKE ') . '{string:body_not_' . $count . '}'; |
| 1280 | 1352 | $subject_query['params']['body_not_' . $count++] = empty($modSettings['search_match_words']) || $no_regexp ? '%' . strtr($subjectWord, array('_' => '\\_', '%' => '\\%')) . '%' : '[[:<:]]' . addcslashes(preg_replace(array('/([\[\]$.+*?|{}()])/'), array('[$1]'), $subjectWord), '\\\'') . '[[:>:]]'; |
| 1281 | - } |
|
| 1282 | - else |
|
| 1353 | + } else |
|
| 1283 | 1354 | { |
| 1284 | 1355 | $subject_query['inner_join'][] = '{db_prefix}log_search_subjects AS subj' . $numTables . ' ON (subj' . $numTables . '.id_topic = ' . ($prev_join === 0 ? 't' : 'subj' . $prev_join) . '.id_topic)'; |
| 1285 | 1356 | $subject_query['where'][] = 'subj' . $numTables . '.word LIKE {string:subject_like_' . $count . '}'; |
@@ -1334,8 +1405,9 @@ discard block |
||
| 1334 | 1405 | call_integration_hook('integrate_subject_search_query', array(&$subject_query)); |
| 1335 | 1406 | |
| 1336 | 1407 | // Nothing to search for? |
| 1337 | - if (empty($subject_query['where'])) |
|
| 1338 | - continue; |
|
| 1408 | + if (empty($subject_query['where'])) { |
|
| 1409 | + continue; |
|
| 1410 | + } |
|
| 1339 | 1411 | |
| 1340 | 1412 | $ignoreRequest = $smcFunc['db_search_query']('insert_log_search_topics', ($smcFunc['db_support_ignore'] ? ( ' |
| 1341 | 1413 | INSERT IGNORE INTO {db_prefix}' . ($createTemporary ? 'tmp_' : '') . 'log_search_topics |
@@ -1358,19 +1430,21 @@ discard block |
||
| 1358 | 1430 | { |
| 1359 | 1431 | $ind = $createTemporary ? 0 : 1; |
| 1360 | 1432 | // No duplicates! |
| 1361 | - if (isset($inserts[$row[$ind]])) |
|
| 1362 | - continue; |
|
| 1433 | + if (isset($inserts[$row[$ind]])) { |
|
| 1434 | + continue; |
|
| 1435 | + } |
|
| 1363 | 1436 | |
| 1364 | 1437 | $inserts[$row[$ind]] = $row; |
| 1365 | 1438 | } |
| 1366 | 1439 | $smcFunc['db_free_result']($ignoreRequest); |
| 1367 | 1440 | $numSubjectResults = count($inserts); |
| 1441 | + } else { |
|
| 1442 | + $numSubjectResults += $smcFunc['db_affected_rows'](); |
|
| 1368 | 1443 | } |
| 1369 | - else |
|
| 1370 | - $numSubjectResults += $smcFunc['db_affected_rows'](); |
|
| 1371 | 1444 | |
| 1372 | - if (!empty($modSettings['search_max_results']) && $numSubjectResults >= $modSettings['search_max_results']) |
|
| 1373 | - break; |
|
| 1445 | + if (!empty($modSettings['search_max_results']) && $numSubjectResults >= $modSettings['search_max_results']) { |
|
| 1446 | + break; |
|
| 1447 | + } |
|
| 1374 | 1448 | } |
| 1375 | 1449 | |
| 1376 | 1450 | // Got some non-MySQL data to plonk in? |
@@ -1388,8 +1462,9 @@ discard block |
||
| 1388 | 1462 | { |
| 1389 | 1463 | $main_query['weights']['subject']['search'] = 'CASE WHEN MAX(lst.id_topic) IS NULL THEN 0 ELSE 1 END'; |
| 1390 | 1464 | $main_query['left_join'][] = '{db_prefix}' . ($createTemporary ? 'tmp_' : '') . 'log_search_topics AS lst ON (' . ($createTemporary ? '' : 'lst.id_search = {int:id_search} AND ') . 'lst.id_topic = t.id_topic)'; |
| 1391 | - if (!$createTemporary) |
|
| 1392 | - $main_query['parameters']['id_search'] = $_SESSION['search_cache']['id_search']; |
|
| 1465 | + if (!$createTemporary) { |
|
| 1466 | + $main_query['parameters']['id_search'] = $_SESSION['search_cache']['id_search']; |
|
| 1467 | + } |
|
| 1393 | 1468 | } |
| 1394 | 1469 | } |
| 1395 | 1470 | |
@@ -1417,14 +1492,15 @@ discard block |
||
| 1417 | 1492 | ) !== false; |
| 1418 | 1493 | |
| 1419 | 1494 | // Clear, all clear! |
| 1420 | - if (!$createTemporary) |
|
| 1421 | - $smcFunc['db_search_query']('delete_log_search_messages', ' |
|
| 1495 | + if (!$createTemporary) { |
|
| 1496 | + $smcFunc['db_search_query']('delete_log_search_messages', ' |
|
| 1422 | 1497 | DELETE FROM {db_prefix}log_search_messages |
| 1423 | 1498 | WHERE id_search = {int:id_search}', |
| 1424 | 1499 | array( |
| 1425 | 1500 | 'id_search' => $_SESSION['search_cache']['id_search'], |
| 1426 | 1501 | ) |
| 1427 | 1502 | ); |
| 1503 | + } |
|
| 1428 | 1504 | |
| 1429 | 1505 | foreach ($searchWords as $orIndex => $words) |
| 1430 | 1506 | { |
@@ -1458,19 +1534,21 @@ discard block |
||
| 1458 | 1534 | while ($row = $smcFunc['db_fetch_row']($ignoreRequest)) |
| 1459 | 1535 | { |
| 1460 | 1536 | // No duplicates! |
| 1461 | - if (isset($inserts[$row[0]])) |
|
| 1462 | - continue; |
|
| 1537 | + if (isset($inserts[$row[0]])) { |
|
| 1538 | + continue; |
|
| 1539 | + } |
|
| 1463 | 1540 | |
| 1464 | 1541 | $inserts[$row[0]] = $row; |
| 1465 | 1542 | } |
| 1466 | 1543 | $smcFunc['db_free_result']($ignoreRequest); |
| 1467 | 1544 | $indexedResults = count($inserts); |
| 1545 | + } else { |
|
| 1546 | + $indexedResults += $smcFunc['db_affected_rows'](); |
|
| 1468 | 1547 | } |
| 1469 | - else |
|
| 1470 | - $indexedResults += $smcFunc['db_affected_rows'](); |
|
| 1471 | 1548 | |
| 1472 | - if (!empty($maxMessageResults) && $indexedResults >= $maxMessageResults) |
|
| 1473 | - break; |
|
| 1549 | + if (!empty($maxMessageResults) && $indexedResults >= $maxMessageResults) { |
|
| 1550 | + break; |
|
| 1551 | + } |
|
| 1474 | 1552 | } |
| 1475 | 1553 | } |
| 1476 | 1554 | |
@@ -1490,8 +1568,7 @@ discard block |
||
| 1490 | 1568 | $context['search_errors']['query_not_specific_enough'] = true; |
| 1491 | 1569 | $_REQUEST['params'] = $context['params']; |
| 1492 | 1570 | return PlushSearch1(); |
| 1493 | - } |
|
| 1494 | - elseif (!empty($indexedResults)) |
|
| 1571 | + } elseif (!empty($indexedResults)) |
|
| 1495 | 1572 | { |
| 1496 | 1573 | $main_query['inner_join'][] = '{db_prefix}' . ($createTemporary ? 'tmp_' : '') . 'log_search_messages AS lsm ON (lsm.id_msg = m.id_msg)'; |
| 1497 | 1574 | if (!$createTemporary) |
@@ -1513,15 +1590,18 @@ discard block |
||
| 1513 | 1590 | foreach ($words['all_words'] as $regularWord) |
| 1514 | 1591 | { |
| 1515 | 1592 | $where[] = 'm.body' . (in_array($regularWord, $excludedWords) ? ' NOT' : '') . (empty($modSettings['search_match_words']) || $no_regexp ? ' LIKE ' : ' RLIKE ') . '{string:all_word_body_' . $count . '}'; |
| 1516 | - if (in_array($regularWord, $excludedWords)) |
|
| 1517 | - $where[] = 'm.subject NOT' . (empty($modSettings['search_match_words']) || $no_regexp ? ' LIKE ' : ' RLIKE ') . '{string:all_word_body_' . $count . '}'; |
|
| 1593 | + if (in_array($regularWord, $excludedWords)) { |
|
| 1594 | + $where[] = 'm.subject NOT' . (empty($modSettings['search_match_words']) || $no_regexp ? ' LIKE ' : ' RLIKE ') . '{string:all_word_body_' . $count . '}'; |
|
| 1595 | + } |
|
| 1518 | 1596 | $main_query['parameters']['all_word_body_' . $count++] = empty($modSettings['search_match_words']) || $no_regexp ? '%' . strtr($regularWord, array('_' => '\\_', '%' => '\\%')) . '%' : '[[:<:]]' . addcslashes(preg_replace(array('/([\[\]$.+*?|{}()])/'), array('[$1]'), $regularWord), '\\\'') . '[[:>:]]'; |
| 1519 | 1597 | } |
| 1520 | - if (!empty($where)) |
|
| 1521 | - $orWhere[] = count($where) > 1 ? '(' . implode(' AND ', $where) . ')' : $where[0]; |
|
| 1598 | + if (!empty($where)) { |
|
| 1599 | + $orWhere[] = count($where) > 1 ? '(' . implode(' AND ', $where) . ')' : $where[0]; |
|
| 1600 | + } |
|
| 1601 | + } |
|
| 1602 | + if (!empty($orWhere)) { |
|
| 1603 | + $main_query['where'][] = count($orWhere) > 1 ? '(' . implode(' OR ', $orWhere) . ')' : $orWhere[0]; |
|
| 1522 | 1604 | } |
| 1523 | - if (!empty($orWhere)) |
|
| 1524 | - $main_query['where'][] = count($orWhere) > 1 ? '(' . implode(' OR ', $orWhere) . ')' : $orWhere[0]; |
|
| 1525 | 1605 | |
| 1526 | 1606 | if (!empty($userQuery)) |
| 1527 | 1607 | { |
@@ -1559,8 +1639,9 @@ discard block |
||
| 1559 | 1639 | foreach ($main_query['weights'] as $type => $value) |
| 1560 | 1640 | { |
| 1561 | 1641 | $relevance .= $weight[$type]; |
| 1562 | - if (!empty($value['search'])) |
|
| 1563 | - $relevance .= ' * ' . $value['search']; |
|
| 1642 | + if (!empty($value['search'])) { |
|
| 1643 | + $relevance .= ' * ' . $value['search']; |
|
| 1644 | + } |
|
| 1564 | 1645 | $relevance .= ' + '; |
| 1565 | 1646 | $new_weight_total += $weight[$type]; |
| 1566 | 1647 | } |
@@ -1591,11 +1672,13 @@ discard block |
||
| 1591 | 1672 | while ($row = $smcFunc['db_fetch_row']($ignoreRequest)) |
| 1592 | 1673 | { |
| 1593 | 1674 | // No duplicates! |
| 1594 | - if (isset($inserts[$row[2]])) |
|
| 1595 | - continue; |
|
| 1675 | + if (isset($inserts[$row[2]])) { |
|
| 1676 | + continue; |
|
| 1677 | + } |
|
| 1596 | 1678 | |
| 1597 | - foreach ($row as $key => $value) |
|
| 1598 | - $inserts[$row[2]][] = (int) $row[$key]; |
|
| 1679 | + foreach ($row as $key => $value) { |
|
| 1680 | + $inserts[$row[2]][] = (int) $row[$key]; |
|
| 1681 | + } |
|
| 1599 | 1682 | } |
| 1600 | 1683 | $smcFunc['db_free_result']($ignoreRequest); |
| 1601 | 1684 | |
@@ -1603,8 +1686,9 @@ discard block |
||
| 1603 | 1686 | if (!empty($inserts)) |
| 1604 | 1687 | { |
| 1605 | 1688 | $query_columns = array(); |
| 1606 | - foreach ($main_query['select'] as $k => $v) |
|
| 1607 | - $query_columns[$k] = 'int'; |
|
| 1689 | + foreach ($main_query['select'] as $k => $v) { |
|
| 1690 | + $query_columns[$k] = 'int'; |
|
| 1691 | + } |
|
| 1608 | 1692 | |
| 1609 | 1693 | $smcFunc['db_insert']('', |
| 1610 | 1694 | '{db_prefix}log_search_results', |
@@ -1614,21 +1698,23 @@ discard block |
||
| 1614 | 1698 | ); |
| 1615 | 1699 | } |
| 1616 | 1700 | $_SESSION['search_cache']['num_results'] += count($inserts); |
| 1701 | + } else { |
|
| 1702 | + $_SESSION['search_cache']['num_results'] = $smcFunc['db_affected_rows'](); |
|
| 1617 | 1703 | } |
| 1618 | - else |
|
| 1619 | - $_SESSION['search_cache']['num_results'] = $smcFunc['db_affected_rows'](); |
|
| 1620 | 1704 | } |
| 1621 | 1705 | |
| 1622 | 1706 | // Insert subject-only matches. |
| 1623 | 1707 | if ($_SESSION['search_cache']['num_results'] < $modSettings['search_max_results'] && $numSubjectResults !== 0) |
| 1624 | 1708 | { |
| 1625 | 1709 | $relevance = '1000 * ('; |
| 1626 | - foreach ($weight_factors as $type => $value) |
|
| 1627 | - if (isset($value['results'])) |
|
| 1710 | + foreach ($weight_factors as $type => $value) { |
|
| 1711 | + if (isset($value['results'])) |
|
| 1628 | 1712 | { |
| 1629 | 1713 | $relevance .= $weight[$type]; |
| 1630 | - if (!empty($value['results'])) |
|
| 1631 | - $relevance .= ' * ' . $value['results']; |
|
| 1714 | + } |
|
| 1715 | + if (!empty($value['results'])) { |
|
| 1716 | + $relevance .= ' * ' . $value['results']; |
|
| 1717 | + } |
|
| 1632 | 1718 | $relevance .= ' + '; |
| 1633 | 1719 | } |
| 1634 | 1720 | $relevance = substr($relevance, 0, -3) . ') / ' . $weight_total . ' AS relevance'; |
@@ -1662,8 +1748,9 @@ discard block |
||
| 1662 | 1748 | while ($row = $smcFunc['db_fetch_row']($ignoreRequest)) |
| 1663 | 1749 | { |
| 1664 | 1750 | // No duplicates! |
| 1665 | - if (isset($usedIDs[$row[1]])) |
|
| 1666 | - continue; |
|
| 1751 | + if (isset($usedIDs[$row[1]])) { |
|
| 1752 | + continue; |
|
| 1753 | + } |
|
| 1667 | 1754 | |
| 1668 | 1755 | $usedIDs[$row[1]] = true; |
| 1669 | 1756 | $inserts[] = $row; |
@@ -1681,12 +1768,12 @@ discard block |
||
| 1681 | 1768 | ); |
| 1682 | 1769 | } |
| 1683 | 1770 | $_SESSION['search_cache']['num_results'] += count($inserts); |
| 1771 | + } else { |
|
| 1772 | + $_SESSION['search_cache']['num_results'] += $smcFunc['db_affected_rows'](); |
|
| 1684 | 1773 | } |
| 1685 | - else |
|
| 1686 | - $_SESSION['search_cache']['num_results'] += $smcFunc['db_affected_rows'](); |
|
| 1774 | + } elseif ($_SESSION['search_cache']['num_results'] == -1) { |
|
| 1775 | + $_SESSION['search_cache']['num_results'] = 0; |
|
| 1687 | 1776 | } |
| 1688 | - elseif ($_SESSION['search_cache']['num_results'] == -1) |
|
| 1689 | - $_SESSION['search_cache']['num_results'] = 0; |
|
| 1690 | 1777 | } |
| 1691 | 1778 | } |
| 1692 | 1779 | |
@@ -1756,14 +1843,16 @@ discard block |
||
| 1756 | 1843 | ) |
| 1757 | 1844 | ); |
| 1758 | 1845 | $posters = array(); |
| 1759 | - while ($row = $smcFunc['db_fetch_assoc']($request)) |
|
| 1760 | - $posters[] = $row['id_member']; |
|
| 1846 | + while ($row = $smcFunc['db_fetch_assoc']($request)) { |
|
| 1847 | + $posters[] = $row['id_member']; |
|
| 1848 | + } |
|
| 1761 | 1849 | $smcFunc['db_free_result']($request); |
| 1762 | 1850 | |
| 1763 | 1851 | call_integration_hook('integrate_search_message_list', array(&$msg_list, &$posters)); |
| 1764 | 1852 | |
| 1765 | - if (!empty($posters)) |
|
| 1766 | - loadMemberData(array_unique($posters)); |
|
| 1853 | + if (!empty($posters)) { |
|
| 1854 | + loadMemberData(array_unique($posters)); |
|
| 1855 | + } |
|
| 1767 | 1856 | |
| 1768 | 1857 | // Get the messages out for the callback - select enough that it can be made to look just like Display. |
| 1769 | 1858 | $messages_request = $smcFunc['db_query']('', ' |
@@ -1797,8 +1886,9 @@ discard block |
||
| 1797 | 1886 | ); |
| 1798 | 1887 | |
| 1799 | 1888 | // If there are no results that means the things in the cache got deleted, so pretend we have no topics anymore. |
| 1800 | - if ($smcFunc['db_num_rows']($messages_request) == 0) |
|
| 1801 | - $context['topics'] = array(); |
|
| 1889 | + if ($smcFunc['db_num_rows']($messages_request) == 0) { |
|
| 1890 | + $context['topics'] = array(); |
|
| 1891 | + } |
|
| 1802 | 1892 | |
| 1803 | 1893 | // If we want to know who participated in what then load this now. |
| 1804 | 1894 | if (!empty($modSettings['enableParticipation']) && !$user_info['is_guest']) |
@@ -1816,8 +1906,9 @@ discard block |
||
| 1816 | 1906 | 'limit' => count($participants), |
| 1817 | 1907 | ) |
| 1818 | 1908 | ); |
| 1819 | - while ($row = $smcFunc['db_fetch_assoc']($result)) |
|
| 1820 | - $participants[$row['id_topic']] = true; |
|
| 1909 | + while ($row = $smcFunc['db_fetch_assoc']($result)) { |
|
| 1910 | + $participants[$row['id_topic']] = true; |
|
| 1911 | + } |
|
| 1821 | 1912 | $smcFunc['db_free_result']($result); |
| 1822 | 1913 | } |
| 1823 | 1914 | } |
@@ -1826,15 +1917,17 @@ discard block |
||
| 1826 | 1917 | $context['page_index'] = constructPageIndex($scripturl . '?action=search2;params=' . $context['params'], $_REQUEST['start'], $num_results, $modSettings['search_results_per_page'], false); |
| 1827 | 1918 | |
| 1828 | 1919 | // Consider the search complete! |
| 1829 | - if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) |
|
| 1830 | - cache_put_data('search_start:' . ($user_info['is_guest'] ? $user_info['ip'] : $user_info['id']), null, 90); |
|
| 1920 | + if (!empty($modSettings['cache_enable']) && $modSettings['cache_enable'] >= 2) { |
|
| 1921 | + cache_put_data('search_start:' . ($user_info['is_guest'] ? $user_info['ip'] : $user_info['id']), null, 90); |
|
| 1922 | + } |
|
| 1831 | 1923 | |
| 1832 | 1924 | $context['key_words'] = &$searchArray; |
| 1833 | 1925 | |
| 1834 | 1926 | // Setup the default topic icons... for checking they exist and the like! |
| 1835 | 1927 | $context['icon_sources'] = array(); |
| 1836 | - foreach ($context['stable_icons'] as $icon) |
|
| 1837 | - $context['icon_sources'][$icon] = 'images_url'; |
|
| 1928 | + foreach ($context['stable_icons'] as $icon) { |
|
| 1929 | + $context['icon_sources'][$icon] = 'images_url'; |
|
| 1930 | + } |
|
| 1838 | 1931 | |
| 1839 | 1932 | $context['sub_template'] = 'results'; |
| 1840 | 1933 | $context['page_title'] = $txt['search_results']; |
@@ -1865,26 +1958,31 @@ discard block |
||
| 1865 | 1958 | global $boards_can, $participants, $smcFunc; |
| 1866 | 1959 | static $recycle_board = null; |
| 1867 | 1960 | |
| 1868 | - if ($recycle_board === null) |
|
| 1869 | - $recycle_board = !empty($modSettings['recycle_enable']) && !empty($modSettings['recycle_board']) ? (int) $modSettings['recycle_board'] : 0; |
|
| 1961 | + if ($recycle_board === null) { |
|
| 1962 | + $recycle_board = !empty($modSettings['recycle_enable']) && !empty($modSettings['recycle_board']) ? (int) $modSettings['recycle_board'] : 0; |
|
| 1963 | + } |
|
| 1870 | 1964 | |
| 1871 | 1965 | // Remember which message this is. (ie. reply #83) |
| 1872 | 1966 | static $counter = null; |
| 1873 | - if ($counter == null || $reset) |
|
| 1874 | - $counter = $_REQUEST['start'] + 1; |
|
| 1967 | + if ($counter == null || $reset) { |
|
| 1968 | + $counter = $_REQUEST['start'] + 1; |
|
| 1969 | + } |
|
| 1875 | 1970 | |
| 1876 | 1971 | // If the query returned false, bail. |
| 1877 | - if ($messages_request == false) |
|
| 1878 | - return false; |
|
| 1972 | + if ($messages_request == false) { |
|
| 1973 | + return false; |
|
| 1974 | + } |
|
| 1879 | 1975 | |
| 1880 | 1976 | // Start from the beginning... |
| 1881 | - if ($reset) |
|
| 1882 | - return @$smcFunc['db_data_seek']($messages_request, 0); |
|
| 1977 | + if ($reset) { |
|
| 1978 | + return @$smcFunc['db_data_seek']($messages_request, 0); |
|
| 1979 | + } |
|
| 1883 | 1980 | |
| 1884 | 1981 | // Attempt to get the next message. |
| 1885 | 1982 | $message = $smcFunc['db_fetch_assoc']($messages_request); |
| 1886 | - if (!$message) |
|
| 1887 | - return false; |
|
| 1983 | + if (!$message) { |
|
| 1984 | + return false; |
|
| 1985 | + } |
|
| 1888 | 1986 | |
| 1889 | 1987 | // Can't have an empty subject can we? |
| 1890 | 1988 | $message['subject'] = $message['subject'] != '' ? $message['subject'] : $txt['no_subject']; |
@@ -1923,9 +2021,9 @@ discard block |
||
| 1923 | 2021 | |
| 1924 | 2022 | if ($smcFunc['strlen']($message['body']) > $charLimit) |
| 1925 | 2023 | { |
| 1926 | - if (empty($context['key_words'])) |
|
| 1927 | - $message['body'] = $smcFunc['substr']($message['body'], 0, $charLimit) . '<strong>...</strong>'; |
|
| 1928 | - else |
|
| 2024 | + if (empty($context['key_words'])) { |
|
| 2025 | + $message['body'] = $smcFunc['substr']($message['body'], 0, $charLimit) . '<strong>...</strong>'; |
|
| 2026 | + } else |
|
| 1929 | 2027 | { |
| 1930 | 2028 | $matchString = ''; |
| 1931 | 2029 | $force_partial_word = false; |
@@ -1934,18 +2032,20 @@ discard block |
||
| 1934 | 2032 | $keyword = un_htmlspecialchars($keyword); |
| 1935 | 2033 | $keyword = preg_replace_callback('~(&#(\d{1,7}|x[0-9a-fA-F]{1,6});)~', 'entity_fix__callback', strtr($keyword, array('\\\'' => '\'', '&' => '&'))); |
| 1936 | 2034 | |
| 1937 | - if (preg_match('~[\'\.,/@%&;:(){}\[\]_\-+\\\\]$~', $keyword) != 0 || preg_match('~^[\'\.,/@%&;:(){}\[\]_\-+\\\\]~', $keyword) != 0) |
|
| 1938 | - $force_partial_word = true; |
|
| 2035 | + if (preg_match('~[\'\.,/@%&;:(){}\[\]_\-+\\\\]$~', $keyword) != 0 || preg_match('~^[\'\.,/@%&;:(){}\[\]_\-+\\\\]~', $keyword) != 0) { |
|
| 2036 | + $force_partial_word = true; |
|
| 2037 | + } |
|
| 1939 | 2038 | $matchString .= strtr(preg_quote($keyword, '/'), array('\*' => '.+?')) . '|'; |
| 1940 | 2039 | } |
| 1941 | 2040 | $matchString = un_htmlspecialchars(substr($matchString, 0, -1)); |
| 1942 | 2041 | |
| 1943 | 2042 | $message['body'] = un_htmlspecialchars(strtr($message['body'], array(' ' => ' ', '<br>' => "\n", '[' => '[', ']' => ']', ':' => ':', '@' => '@'))); |
| 1944 | 2043 | |
| 1945 | - if (empty($modSettings['search_method']) || $force_partial_word) |
|
| 1946 | - preg_match_all('/([^\s\W]{' . $charLimit . '}[\s\W]|[\s\W].{0,' . $charLimit . '}?|^)(' . $matchString . ')(.{0,' . $charLimit . '}[\s\W]|[^\s\W]{0,' . $charLimit . '})/is' . ($context['utf8'] ? 'u' : ''), $message['body'], $matches); |
|
| 1947 | - else |
|
| 1948 | - preg_match_all('/([^\s\W]{' . $charLimit . '}[\s\W]|[\s\W].{0,' . $charLimit . '}?[\s\W]|^)(' . $matchString . ')([\s\W].{0,' . $charLimit . '}[\s\W]|[\s\W][^\s\W]{0,' . $charLimit . '})/is' . ($context['utf8'] ? 'u' : ''), $message['body'], $matches); |
|
| 2044 | + if (empty($modSettings['search_method']) || $force_partial_word) { |
|
| 2045 | + preg_match_all('/([^\s\W]{' . $charLimit . '}[\s\W]|[\s\W].{0,' . $charLimit . '}?|^)(' . $matchString . ')(.{0,' . $charLimit . '}[\s\W]|[^\s\W]{0,' . $charLimit . '})/is' . ($context['utf8'] ? 'u' : ''), $message['body'], $matches); |
|
| 2046 | + } else { |
|
| 2047 | + preg_match_all('/([^\s\W]{' . $charLimit . '}[\s\W]|[\s\W].{0,' . $charLimit . '}?[\s\W]|^)(' . $matchString . ')([\s\W].{0,' . $charLimit . '}[\s\W]|[\s\W][^\s\W]{0,' . $charLimit . '})/is' . ($context['utf8'] ? 'u' : ''), $message['body'], $matches); |
|
| 2048 | + } |
|
| 1949 | 2049 | |
| 1950 | 2050 | $message['body'] = ''; |
| 1951 | 2051 | foreach ($matches[0] as $index => $match) |
@@ -1958,8 +2058,7 @@ discard block |
||
| 1958 | 2058 | // Re-fix the international characters. |
| 1959 | 2059 | $message['body'] = preg_replace_callback('~(&#(\d{1,7}|x[0-9a-fA-F]{1,6});)~', 'entity_fix__callback', $message['body']); |
| 1960 | 2060 | } |
| 1961 | - } |
|
| 1962 | - else |
|
| 2061 | + } else |
|
| 1963 | 2062 | { |
| 1964 | 2063 | // Run BBC interpreter on the message. |
| 1965 | 2064 | $message['body'] = parse_bbc($message['body'], $message['smileys_enabled'], $message['id_msg']); |
@@ -1978,21 +2077,26 @@ discard block |
||
| 1978 | 2077 | // Sadly, we need to check the icon ain't broke. |
| 1979 | 2078 | if (!empty($modSettings['messageIconChecks_enable'])) |
| 1980 | 2079 | { |
| 1981 | - if (!isset($context['icon_sources'][$message['first_icon']])) |
|
| 1982 | - $context['icon_sources'][$message['first_icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $message['first_icon'] . '.png') ? 'images_url' : 'default_images_url'; |
|
| 1983 | - if (!isset($context['icon_sources'][$message['last_icon']])) |
|
| 1984 | - $context['icon_sources'][$message['last_icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $message['last_icon'] . '.png') ? 'images_url' : 'default_images_url'; |
|
| 1985 | - if (!isset($context['icon_sources'][$message['icon']])) |
|
| 1986 | - $context['icon_sources'][$message['icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $message['icon'] . '.png') ? 'images_url' : 'default_images_url'; |
|
| 1987 | - } |
|
| 1988 | - else |
|
| 2080 | + if (!isset($context['icon_sources'][$message['first_icon']])) { |
|
| 2081 | + $context['icon_sources'][$message['first_icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $message['first_icon'] . '.png') ? 'images_url' : 'default_images_url'; |
|
| 2082 | + } |
|
| 2083 | + if (!isset($context['icon_sources'][$message['last_icon']])) { |
|
| 2084 | + $context['icon_sources'][$message['last_icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $message['last_icon'] . '.png') ? 'images_url' : 'default_images_url'; |
|
| 2085 | + } |
|
| 2086 | + if (!isset($context['icon_sources'][$message['icon']])) { |
|
| 2087 | + $context['icon_sources'][$message['icon']] = file_exists($settings['theme_dir'] . '/images/post/' . $message['icon'] . '.png') ? 'images_url' : 'default_images_url'; |
|
| 2088 | + } |
|
| 2089 | + } else |
|
| 1989 | 2090 | { |
| 1990 | - if (!isset($context['icon_sources'][$message['first_icon']])) |
|
| 1991 | - $context['icon_sources'][$message['first_icon']] = 'images_url'; |
|
| 1992 | - if (!isset($context['icon_sources'][$message['last_icon']])) |
|
| 1993 | - $context['icon_sources'][$message['last_icon']] = 'images_url'; |
|
| 1994 | - if (!isset($context['icon_sources'][$message['icon']])) |
|
| 1995 | - $context['icon_sources'][$message['icon']] = 'images_url'; |
|
| 2091 | + if (!isset($context['icon_sources'][$message['first_icon']])) { |
|
| 2092 | + $context['icon_sources'][$message['first_icon']] = 'images_url'; |
|
| 2093 | + } |
|
| 2094 | + if (!isset($context['icon_sources'][$message['last_icon']])) { |
|
| 2095 | + $context['icon_sources'][$message['last_icon']] = 'images_url'; |
|
| 2096 | + } |
|
| 2097 | + if (!isset($context['icon_sources'][$message['icon']])) { |
|
| 2098 | + $context['icon_sources'][$message['icon']] = 'images_url'; |
|
| 2099 | + } |
|
| 1996 | 2100 | } |
| 1997 | 2101 | |
| 1998 | 2102 | // Do we have quote tag enabled? |
@@ -2002,12 +2106,14 @@ discard block |
||
| 2002 | 2106 | $colorClass = 'windowbg'; |
| 2003 | 2107 | |
| 2004 | 2108 | // Sticky topics should get a different color, too. |
| 2005 | - if ($message['is_sticky']) |
|
| 2006 | - $colorClass .= ' sticky'; |
|
| 2109 | + if ($message['is_sticky']) { |
|
| 2110 | + $colorClass .= ' sticky'; |
|
| 2111 | + } |
|
| 2007 | 2112 | |
| 2008 | 2113 | // Locked topics get special treatment as well. |
| 2009 | - if ($message['locked']) |
|
| 2010 | - $colorClass .= ' locked'; |
|
| 2114 | + if ($message['locked']) { |
|
| 2115 | + $colorClass .= ' locked'; |
|
| 2116 | + } |
|
| 2011 | 2117 | |
| 2012 | 2118 | $output = array_merge($context['topics'][$message['id_msg']], array( |
| 2013 | 2119 | 'id' => $message['id_topic'], |
@@ -2151,8 +2257,9 @@ discard block |
||
| 2151 | 2257 | |
| 2152 | 2258 | // Load up the search API we are going to use. |
| 2153 | 2259 | $modSettings['search_index'] = empty($modSettings['search_index']) ? 'standard' : $modSettings['search_index']; |
| 2154 | - if (!file_exists($sourcedir . '/SearchAPI-' . ucwords($modSettings['search_index']) . '.php')) |
|
| 2155 | - fatal_lang_error('search_api_missing'); |
|
| 2260 | + if (!file_exists($sourcedir . '/SearchAPI-' . ucwords($modSettings['search_index']) . '.php')) { |
|
| 2261 | + fatal_lang_error('search_api_missing'); |
|
| 2262 | + } |
|
| 2156 | 2263 | require_once($sourcedir . '/SearchAPI-' . ucwords($modSettings['search_index']) . '.php'); |
| 2157 | 2264 | |
| 2158 | 2265 | // Create an instance of the search API and check it is valid for this version of SMF. |
@@ -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 | * Main dispatcher. This function checks permissions and passes control through to the relevant section. |
@@ -245,8 +246,9 @@ discard block |
||
| 245 | 246 | while ($row = $smcFunc['db_fetch_assoc']($request)) |
| 246 | 247 | { |
| 247 | 248 | // Private PM/email subjects and similar shouldn't be shown in the mailbox area. |
| 248 | - if (!empty($row['private'])) |
|
| 249 | - $row['subject'] = $txt['personal_message']; |
|
| 249 | + if (!empty($row['private'])) { |
|
| 250 | + $row['subject'] = $txt['personal_message']; |
|
| 251 | + } |
|
| 250 | 252 | |
| 251 | 253 | $mails[] = $row; |
| 252 | 254 | } |
@@ -300,8 +302,9 @@ discard block |
||
| 300 | 302 | $element = substr($key, strrpos($key, '_') + 1); |
| 301 | 303 | $processedBirthdayEmails[$index][$element] = $value; |
| 302 | 304 | } |
| 303 | - foreach ($processedBirthdayEmails as $index => $dummy) |
|
| 304 | - $emails[$index] = $index; |
|
| 305 | + foreach ($processedBirthdayEmails as $index => $dummy) { |
|
| 306 | + $emails[$index] = $index; |
|
| 307 | + } |
|
| 305 | 308 | |
| 306 | 309 | $config_vars = array( |
| 307 | 310 | // Mail queue stuff, this rocks ;) |
@@ -322,8 +325,9 @@ discard block |
||
| 322 | 325 | |
| 323 | 326 | call_integration_hook('integrate_modify_mail_settings', array(&$config_vars)); |
| 324 | 327 | |
| 325 | - if ($return_config) |
|
| 326 | - return $config_vars; |
|
| 328 | + if ($return_config) { |
|
| 329 | + return $config_vars; |
|
| 330 | + } |
|
| 327 | 331 | |
| 328 | 332 | // Saving? |
| 329 | 333 | if (isset($_GET['save'])) |
@@ -398,9 +402,9 @@ discard block |
||
| 398 | 402 | ); |
| 399 | 403 | list ($_GET['te']) = $smcFunc['db_fetch_row']($request); |
| 400 | 404 | $smcFunc['db_free_result']($request); |
| 405 | + } else { |
|
| 406 | + $_GET['te'] = (int) $_GET['te']; |
|
| 401 | 407 | } |
| 402 | - else |
|
| 403 | - $_GET['te'] = (int) $_GET['te']; |
|
| 404 | 408 | |
| 405 | 409 | $_GET['sent'] = isset($_GET['sent']) ? (int) $_GET['sent'] : 0; |
| 406 | 410 | |
@@ -424,12 +428,14 @@ discard block |
||
| 424 | 428 | |
| 425 | 429 | // Try get more time... |
| 426 | 430 | @set_time_limit(600); |
| 427 | - if (function_exists('apache_reset_timeout')) |
|
| 428 | - @apache_reset_timeout(); |
|
| 431 | + if (function_exists('apache_reset_timeout')) { |
|
| 432 | + @apache_reset_timeout(); |
|
| 433 | + } |
|
| 429 | 434 | |
| 430 | 435 | // Have we already used our maximum time? |
| 431 | - if (time() - array_sum(explode(' ', $time_start)) < 5) |
|
| 432 | - return; |
|
| 436 | + if (time() - array_sum(explode(' ', $time_start)) < 5) { |
|
| 437 | + return; |
|
| 438 | + } |
|
| 433 | 439 | |
| 434 | 440 | $context['continue_get_data'] = '?action=admin;area=mailqueue;sa=clear;te=' . $_GET['te'] . ';sent=' . $_GET['sent'] . ';' . $context['session_var'] . '=' . $context['session_id']; |
| 435 | 441 | $context['page_title'] = $txt['not_done_title']; |
@@ -459,8 +465,9 @@ discard block |
||
| 459 | 465 | { |
| 460 | 466 | global $txt; |
| 461 | 467 | |
| 462 | - if ($time_diff < 0) |
|
| 463 | - $time_diff = 0; |
|
| 468 | + if ($time_diff < 0) { |
|
| 469 | + $time_diff = 0; |
|
| 470 | + } |
|
| 464 | 471 | |
| 465 | 472 | // Just do a bit of an if fest... |
| 466 | 473 | if ($time_diff > 86400) |
@@ -481,8 +488,9 @@ discard block |
||
| 481 | 488 | return sprintf($minutes == 1 ? $txt['mq_minute'] : $txt['mq_minutes'], $minutes); |
| 482 | 489 | } |
| 483 | 490 | // Otherwise must be second |
| 484 | - else |
|
| 485 | - return sprintf($time_diff == 1 ? $txt['mq_second'] : $txt['mq_seconds'], $time_diff); |
|
| 486 | -} |
|
| 491 | + else { |
|
| 492 | + return sprintf($time_diff == 1 ? $txt['mq_second'] : $txt['mq_seconds'], $time_diff); |
|
| 493 | + } |
|
| 494 | + } |
|
| 487 | 495 | |
| 488 | 496 | ?> |
| 489 | 497 | \ 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 | * Add the file functions to the $smcFunc array. |
@@ -52,8 +53,9 @@ discard block |
||
| 52 | 53 | 'messages', 'moderators', 'package_servers', 'permission_profiles', 'permissions', 'personal_messages', |
| 53 | 54 | 'pm_recipients', 'poll_choices', 'polls', 'scheduled_tasks', 'sessions', 'settings', 'smileys', |
| 54 | 55 | 'themes', 'topics'); |
| 55 | - foreach ($reservedTables as $k => $table_name) |
|
| 56 | - $reservedTables[$k] = strtolower($db_prefix . $table_name); |
|
| 56 | + foreach ($reservedTables as $k => $table_name) { |
|
| 57 | + $reservedTables[$k] = strtolower($db_prefix . $table_name); |
|
| 58 | + } |
|
| 57 | 59 | |
| 58 | 60 | // We in turn may need the extra stuff. |
| 59 | 61 | db_extend('extra'); |
@@ -102,8 +104,9 @@ discard block |
||
| 102 | 104 | $table_name = str_replace('{db_prefix}', $db_prefix, $table_name); |
| 103 | 105 | |
| 104 | 106 | // First - no way do we touch SMF tables. |
| 105 | - if (in_array(strtolower($table_name), $reservedTables)) |
|
| 106 | - return false; |
|
| 107 | + if (in_array(strtolower($table_name), $reservedTables)) { |
|
| 108 | + return false; |
|
| 109 | + } |
|
| 107 | 110 | |
| 108 | 111 | // Log that we'll want to remove this on uninstall. |
| 109 | 112 | $db_package_log[] = array('remove_table', $table_name); |
@@ -113,10 +116,11 @@ discard block |
||
| 113 | 116 | if (in_array($full_table_name, $tables)) |
| 114 | 117 | { |
| 115 | 118 | // This is a sad day... drop the table? If not, return false (error) by default. |
| 116 | - if ($if_exists == 'overwrite') |
|
| 117 | - $smcFunc['db_drop_table']($table_name); |
|
| 118 | - else |
|
| 119 | - return $if_exists == 'ignore'; |
|
| 119 | + if ($if_exists == 'overwrite') { |
|
| 120 | + $smcFunc['db_drop_table']($table_name); |
|
| 121 | + } else { |
|
| 122 | + return $if_exists == 'ignore'; |
|
| 123 | + } |
|
| 120 | 124 | } |
| 121 | 125 | |
| 122 | 126 | // If we've got this far - good news - no table exists. We can build our own! |
@@ -134,17 +138,18 @@ discard block |
||
| 134 | 138 | ) |
| 135 | 139 | ); |
| 136 | 140 | $default = 'default nextval(\'' . $table_name . '_seq\')'; |
| 141 | + } elseif (isset($column['default']) && $column['default'] !== null) { |
|
| 142 | + $default = 'default \'' . $smcFunc['db_escape_string']($column['default']) . '\''; |
|
| 143 | + } else { |
|
| 144 | + $default = ''; |
|
| 137 | 145 | } |
| 138 | - elseif (isset($column['default']) && $column['default'] !== null) |
|
| 139 | - $default = 'default \'' . $smcFunc['db_escape_string']($column['default']) . '\''; |
|
| 140 | - else |
|
| 141 | - $default = ''; |
|
| 142 | 146 | |
| 143 | 147 | // Sort out the size... |
| 144 | 148 | $column['size'] = isset($column['size']) && is_numeric($column['size']) ? $column['size'] : null; |
| 145 | 149 | list ($type, $size) = $smcFunc['db_calculate_type']($column['type'], $column['size']); |
| 146 | - if ($size !== null) |
|
| 147 | - $type = $type . '(' . $size . ')'; |
|
| 150 | + if ($size !== null) { |
|
| 151 | + $type = $type . '(' . $size . ')'; |
|
| 152 | + } |
|
| 148 | 153 | |
| 149 | 154 | // Now just put it together! |
| 150 | 155 | $table_query .= "\n\t\"" . $column['name'] . '" ' . $type . ' ' . (!empty($column['null']) ? '' : 'NOT NULL') . ' ' . $default . ','; |
@@ -157,19 +162,21 @@ discard block |
||
| 157 | 162 | $columns = implode(',', $index['columns']); |
| 158 | 163 | |
| 159 | 164 | // Primary goes in the table... |
| 160 | - if (isset($index['type']) && $index['type'] == 'primary') |
|
| 161 | - $table_query .= "\n\t" . 'PRIMARY KEY (' . implode(',', $index['columns']) . '),'; |
|
| 162 | - else |
|
| 165 | + if (isset($index['type']) && $index['type'] == 'primary') { |
|
| 166 | + $table_query .= "\n\t" . 'PRIMARY KEY (' . implode(',', $index['columns']) . '),'; |
|
| 167 | + } else |
|
| 163 | 168 | { |
| 164 | - if (empty($index['name'])) |
|
| 165 | - $index['name'] = implode('_', $index['columns']); |
|
| 169 | + if (empty($index['name'])) { |
|
| 170 | + $index['name'] = implode('_', $index['columns']); |
|
| 171 | + } |
|
| 166 | 172 | $index_queries[] = 'CREATE ' . (isset($index['type']) && $index['type'] == 'unique' ? 'UNIQUE' : '') . ' INDEX ' . $table_name . '_' . $index['name'] . ' ON ' . $table_name . ' (' . $columns . ')'; |
| 167 | 173 | } |
| 168 | 174 | } |
| 169 | 175 | |
| 170 | 176 | // No trailing commas! |
| 171 | - if (substr($table_query, -1) == ',') |
|
| 172 | - $table_query = substr($table_query, 0, -1); |
|
| 177 | + if (substr($table_query, -1) == ',') { |
|
| 178 | + $table_query = substr($table_query, 0, -1); |
|
| 179 | + } |
|
| 173 | 180 | |
| 174 | 181 | $table_query .= ')'; |
| 175 | 182 | |
@@ -180,12 +187,13 @@ discard block |
||
| 180 | 187 | ) |
| 181 | 188 | ); |
| 182 | 189 | // And the indexes... |
| 183 | - foreach ($index_queries as $query) |
|
| 184 | - $smcFunc['db_query']('', $query, |
|
| 190 | + foreach ($index_queries as $query) { |
|
| 191 | + $smcFunc['db_query']('', $query, |
|
| 185 | 192 | array( |
| 186 | 193 | 'security_override' => true, |
| 187 | 194 | ) |
| 188 | 195 | ); |
| 196 | + } |
|
| 189 | 197 | |
| 190 | 198 | // Go, go power rangers! |
| 191 | 199 | $smcFunc['db_transaction']('commit'); |
@@ -213,8 +221,9 @@ discard block |
||
| 213 | 221 | $table_name = str_replace('{db_prefix}', $db_prefix, $table_name); |
| 214 | 222 | |
| 215 | 223 | // God no - dropping one of these = bad. |
| 216 | - if (in_array(strtolower($table_name), $reservedTables)) |
|
| 217 | - return false; |
|
| 224 | + if (in_array(strtolower($table_name), $reservedTables)) { |
|
| 225 | + return false; |
|
| 226 | + } |
|
| 218 | 227 | |
| 219 | 228 | // Does it exist? |
| 220 | 229 | if (in_array($full_table_name, $smcFunc['db_list_tables']())) |
@@ -272,21 +281,24 @@ discard block |
||
| 272 | 281 | |
| 273 | 282 | // Does it exist - if so don't add it again! |
| 274 | 283 | $columns = $smcFunc['db_list_columns']($table_name, false); |
| 275 | - foreach ($columns as $column) |
|
| 276 | - if ($column == $column_info['name']) |
|
| 284 | + foreach ($columns as $column) { |
|
| 285 | + if ($column == $column_info['name']) |
|
| 277 | 286 | { |
| 278 | 287 | // If we're going to overwrite then use change column. |
| 279 | 288 | if ($if_exists == 'update') |
| 280 | 289 | return $smcFunc['db_change_column']($table_name, $column_info['name'], $column_info); |
| 281 | - else |
|
| 282 | - return false; |
|
| 290 | + } |
|
| 291 | + else { |
|
| 292 | + return false; |
|
| 293 | + } |
|
| 283 | 294 | } |
| 284 | 295 | |
| 285 | 296 | // Get the specifics... |
| 286 | 297 | $column_info['size'] = isset($column_info['size']) && is_numeric($column_info['size']) ? $column_info['size'] : null; |
| 287 | 298 | list ($type, $size) = $smcFunc['db_calculate_type']($column_info['type'], $column_info['size']); |
| 288 | - if ($size !== null) |
|
| 289 | - $type = $type . '(' . $size . ')'; |
|
| 299 | + if ($size !== null) { |
|
| 300 | + $type = $type . '(' . $size . ')'; |
|
| 301 | + } |
|
| 290 | 302 | |
| 291 | 303 | // Now add the thing! |
| 292 | 304 | $query = ' |
@@ -301,11 +313,12 @@ discard block |
||
| 301 | 313 | // If there's more attributes they need to be done via a change on PostgreSQL. |
| 302 | 314 | unset($column_info['type'], $column_info['size']); |
| 303 | 315 | |
| 304 | - if (count($column_info) != 1) |
|
| 305 | - return $smcFunc['db_change_column']($table_name, $column_info['name'], $column_info); |
|
| 306 | - else |
|
| 307 | - return true; |
|
| 308 | -} |
|
| 316 | + if (count($column_info) != 1) { |
|
| 317 | + return $smcFunc['db_change_column']($table_name, $column_info['name'], $column_info); |
|
| 318 | + } else { |
|
| 319 | + return true; |
|
| 320 | + } |
|
| 321 | + } |
|
| 309 | 322 | |
| 310 | 323 | /** |
| 311 | 324 | * Removes a column. |
@@ -324,8 +337,8 @@ discard block |
||
| 324 | 337 | |
| 325 | 338 | // Does it exist? |
| 326 | 339 | $columns = $smcFunc['db_list_columns']($table_name, true); |
| 327 | - foreach ($columns as $column) |
|
| 328 | - if ($column['name'] == $column_name) |
|
| 340 | + foreach ($columns as $column) { |
|
| 341 | + if ($column['name'] == $column_name) |
|
| 329 | 342 | { |
| 330 | 343 | // If there is an auto we need remove it! |
| 331 | 344 | if ($column['auto']) |
@@ -335,6 +348,7 @@ discard block |
||
| 335 | 348 | 'security_override' => true, |
| 336 | 349 | ) |
| 337 | 350 | ); |
| 351 | + } |
|
| 338 | 352 | |
| 339 | 353 | $smcFunc['db_query']('', ' |
| 340 | 354 | ALTER TABLE ' . $table_name . ' |
@@ -368,13 +382,15 @@ discard block |
||
| 368 | 382 | // Check it does exist! |
| 369 | 383 | $columns = $smcFunc['db_list_columns']($table_name, true); |
| 370 | 384 | $old_info = null; |
| 371 | - foreach ($columns as $column) |
|
| 372 | - if ($column['name'] == $old_column) |
|
| 385 | + foreach ($columns as $column) { |
|
| 386 | + if ($column['name'] == $old_column) |
|
| 373 | 387 | $old_info = $column; |
| 388 | + } |
|
| 374 | 389 | |
| 375 | 390 | // Nothing? |
| 376 | - if ($old_info == null) |
|
| 377 | - return false; |
|
| 391 | + if ($old_info == null) { |
|
| 392 | + return false; |
|
| 393 | + } |
|
| 378 | 394 | |
| 379 | 395 | // Now we check each bit individually and ALTER as required. |
| 380 | 396 | if (isset($column_info['name']) && $column_info['name'] != $old_column) |
@@ -431,8 +447,9 @@ discard block |
||
| 431 | 447 | { |
| 432 | 448 | $column_info['size'] = isset($column_info['size']) && is_numeric($column_info['size']) ? $column_info['size'] : null; |
| 433 | 449 | list ($type, $size) = $smcFunc['db_calculate_type']($column_info['type'], $column_info['size']); |
| 434 | - if ($size !== null) |
|
| 435 | - $type = $type . '(' . $size . ')'; |
|
| 450 | + if ($size !== null) { |
|
| 451 | + $type = $type . '(' . $size . ')'; |
|
| 452 | + } |
|
| 436 | 453 | |
| 437 | 454 | // The alter is a pain. |
| 438 | 455 | $smcFunc['db_transaction']('begin'); |
@@ -526,21 +543,23 @@ discard block |
||
| 526 | 543 | $table_name = str_replace('{db_prefix}', $db_prefix, $table_name); |
| 527 | 544 | |
| 528 | 545 | // No columns = no index. |
| 529 | - if (empty($index_info['columns'])) |
|
| 530 | - return false; |
|
| 546 | + if (empty($index_info['columns'])) { |
|
| 547 | + return false; |
|
| 548 | + } |
|
| 531 | 549 | $columns = implode(',', $index_info['columns']); |
| 532 | 550 | |
| 533 | 551 | // No name - make it up! |
| 534 | 552 | if (empty($index_info['name'])) |
| 535 | 553 | { |
| 536 | 554 | // No need for primary. |
| 537 | - if (isset($index_info['type']) && $index_info['type'] == 'primary') |
|
| 538 | - $index_info['name'] = ''; |
|
| 539 | - else |
|
| 540 | - $index_info['name'] = $table_name . implode('_', $index_info['columns']); |
|
| 555 | + if (isset($index_info['type']) && $index_info['type'] == 'primary') { |
|
| 556 | + $index_info['name'] = ''; |
|
| 557 | + } else { |
|
| 558 | + $index_info['name'] = $table_name . implode('_', $index_info['columns']); |
|
| 559 | + } |
|
| 560 | + } else { |
|
| 561 | + $index_info['name'] = $table_name . $index_info['name']; |
|
| 541 | 562 | } |
| 542 | - else |
|
| 543 | - $index_info['name'] = $table_name . $index_info['name']; |
|
| 544 | 563 | |
| 545 | 564 | // Log that we are going to want to remove this! |
| 546 | 565 | $db_package_log[] = array('remove_index', $table_name, $index_info['name']); |
@@ -553,10 +572,11 @@ discard block |
||
| 553 | 572 | if ($index['name'] == $index_info['name'] || ($index['type'] == 'primary' && isset($index_info['type']) && $index_info['type'] == 'primary')) |
| 554 | 573 | { |
| 555 | 574 | // If we want to overwrite simply remove the current one then continue. |
| 556 | - if ($if_exists != 'update' || $index['type'] == 'primary') |
|
| 557 | - return false; |
|
| 558 | - else |
|
| 559 | - $smcFunc['db_remove_index']($table_name, $index_info['name']); |
|
| 575 | + if ($if_exists != 'update' || $index['type'] == 'primary') { |
|
| 576 | + return false; |
|
| 577 | + } else { |
|
| 578 | + $smcFunc['db_remove_index']($table_name, $index_info['name']); |
|
| 579 | + } |
|
| 560 | 580 | } |
| 561 | 581 | } |
| 562 | 582 | |
@@ -570,8 +590,7 @@ discard block |
||
| 570 | 590 | 'security_override' => true, |
| 571 | 591 | ) |
| 572 | 592 | ); |
| 573 | - } |
|
| 574 | - else |
|
| 593 | + } else |
|
| 575 | 594 | { |
| 576 | 595 | $smcFunc['db_query']('', ' |
| 577 | 596 | CREATE ' . (isset($index_info['type']) && $index_info['type'] == 'unique' ? 'UNIQUE' : '') . ' INDEX ' . $index_info['name'] . ' ON ' . $table_name . ' (' . $columns . ')', |
@@ -599,8 +618,9 @@ discard block |
||
| 599 | 618 | |
| 600 | 619 | // Better exist! |
| 601 | 620 | $indexes = $smcFunc['db_list_indexes']($table_name, true); |
| 602 | - if ($index_name != 'primary') |
|
| 603 | - $index_name = $table_name . '_' . $index_name; |
|
| 621 | + if ($index_name != 'primary') { |
|
| 622 | + $index_name = $table_name . '_' . $index_name; |
|
| 623 | + } |
|
| 604 | 624 | |
| 605 | 625 | foreach ($indexes as $index) |
| 606 | 626 | { |
@@ -664,8 +684,7 @@ discard block |
||
| 664 | 684 | 'datetime' => 'timestamp without time zone', |
| 665 | 685 | 'timestamp' => 'timestamp without time zone', |
| 666 | 686 | ); |
| 667 | - } |
|
| 668 | - else |
|
| 687 | + } else |
|
| 669 | 688 | { |
| 670 | 689 | $types = array( |
| 671 | 690 | 'character varying' => 'varchar', |
@@ -681,14 +700,16 @@ discard block |
||
| 681 | 700 | // Got it? Change it! |
| 682 | 701 | if (isset($types[$type_name])) |
| 683 | 702 | { |
| 684 | - if ($type_name == 'tinytext') |
|
| 685 | - $type_size = 255; |
|
| 703 | + if ($type_name == 'tinytext') { |
|
| 704 | + $type_size = 255; |
|
| 705 | + } |
|
| 686 | 706 | $type_name = $types[$type_name]; |
| 687 | 707 | } |
| 688 | 708 | |
| 689 | 709 | // Only char fields got size |
| 690 | - if (strpos($type_name, 'char') === false) |
|
| 691 | - $type_size = null; |
|
| 710 | + if (strpos($type_name, 'char') === false) { |
|
| 711 | + $type_size = null; |
|
| 712 | + } |
|
| 692 | 713 | |
| 693 | 714 | |
| 694 | 715 | return array($type_name, $type_size); |
@@ -742,8 +763,7 @@ discard block |
||
| 742 | 763 | if (!$detail) |
| 743 | 764 | { |
| 744 | 765 | $columns[] = $row['column_name']; |
| 745 | - } |
|
| 746 | - else |
|
| 766 | + } else |
|
| 747 | 767 | { |
| 748 | 768 | $auto = false; |
| 749 | 769 | // What is the default? |
@@ -751,11 +771,11 @@ discard block |
||
| 751 | 771 | { |
| 752 | 772 | $default = null; |
| 753 | 773 | $auto = true; |
| 774 | + } elseif (trim($row['column_default']) != '') { |
|
| 775 | + $default = strpos($row['column_default'], '::') === false ? $row['column_default'] : substr($row['column_default'], 0, strpos($row['column_default'], '::')); |
|
| 776 | + } else { |
|
| 777 | + $default = null; |
|
| 754 | 778 | } |
| 755 | - elseif (trim($row['column_default']) != '') |
|
| 756 | - $default = strpos($row['column_default'], '::') === false ? $row['column_default'] : substr($row['column_default'], 0, strpos($row['column_default'], '::')); |
|
| 757 | - else |
|
| 758 | - $default = null; |
|
| 759 | 779 | |
| 760 | 780 | // Make the type generic. |
| 761 | 781 | list ($type, $size) = $smcFunc['db_calculate_type']($row['data_type'], $row['character_maximum_length'], true); |
@@ -806,26 +826,30 @@ discard block |
||
| 806 | 826 | while ($row = $smcFunc['db_fetch_assoc']($result)) |
| 807 | 827 | { |
| 808 | 828 | // Try get the columns that make it up. |
| 809 | - if (preg_match('~\(([^\)]+?)\)~i', $row['inddef'], $matches) == 0) |
|
| 810 | - continue; |
|
| 829 | + if (preg_match('~\(([^\)]+?)\)~i', $row['inddef'], $matches) == 0) { |
|
| 830 | + continue; |
|
| 831 | + } |
|
| 811 | 832 | |
| 812 | 833 | $columns = explode(',', $matches[1]); |
| 813 | 834 | |
| 814 | - if (empty($columns)) |
|
| 815 | - continue; |
|
| 835 | + if (empty($columns)) { |
|
| 836 | + continue; |
|
| 837 | + } |
|
| 816 | 838 | |
| 817 | - foreach ($columns as $k => $v) |
|
| 818 | - $columns[$k] = trim($v); |
|
| 839 | + foreach ($columns as $k => $v) { |
|
| 840 | + $columns[$k] = trim($v); |
|
| 841 | + } |
|
| 819 | 842 | |
| 820 | 843 | // Fix up the name to be consistent cross databases |
| 821 | - if (substr($row['name'], -5) == '_pkey' && $row['is_primary'] == 1) |
|
| 822 | - $row['name'] = 'PRIMARY'; |
|
| 823 | - else |
|
| 824 | - $row['name'] = str_replace($table_name . '_', '', $row['name']); |
|
| 844 | + if (substr($row['name'], -5) == '_pkey' && $row['is_primary'] == 1) { |
|
| 845 | + $row['name'] = 'PRIMARY'; |
|
| 846 | + } else { |
|
| 847 | + $row['name'] = str_replace($table_name . '_', '', $row['name']); |
|
| 848 | + } |
|
| 825 | 849 | |
| 826 | - if (!$detail) |
|
| 827 | - $indexes[] = $row['name']; |
|
| 828 | - else |
|
| 850 | + if (!$detail) { |
|
| 851 | + $indexes[] = $row['name']; |
|
| 852 | + } else |
|
| 829 | 853 | { |
| 830 | 854 | $indexes[$row['name']] = array( |
| 831 | 855 | 'name' => $row['name'], |
@@ -10,8 +10,9 @@ discard block |
||
| 10 | 10 | * @version 2.1 Beta 4 |
| 11 | 11 | */ |
| 12 | 12 | |
| 13 | -if (!defined('SMF')) |
|
| 13 | +if (!defined('SMF')) { |
|
| 14 | 14 | die('No direct access...'); |
| 15 | +} |
|
| 15 | 16 | |
| 16 | 17 | /** |
| 17 | 18 | * Class curl_fetch_web_data |
@@ -121,10 +122,11 @@ discard block |
||
| 121 | 122 | public function get_url_data($url, $post_data = array()) |
| 122 | 123 | { |
| 123 | 124 | // POSTing some data perhaps? |
| 124 | - if (!empty($post_data) && is_array($post_data)) |
|
| 125 | - $this->post_data = $this->build_post_data($post_data); |
|
| 126 | - elseif (!empty($post_data)) |
|
| 127 | - $this->post_data = trim($post_data); |
|
| 125 | + if (!empty($post_data) && is_array($post_data)) { |
|
| 126 | + $this->post_data = $this->build_post_data($post_data); |
|
| 127 | + } elseif (!empty($post_data)) { |
|
| 128 | + $this->post_data = trim($post_data); |
|
| 129 | + } |
|
| 128 | 130 | |
| 129 | 131 | // set the options and get it |
| 130 | 132 | $this->set_options(); |
@@ -145,10 +147,11 @@ discard block |
||
| 145 | 147 | private function curl_request($url, $redirect = false) |
| 146 | 148 | { |
| 147 | 149 | // we do have a url I hope |
| 148 | - if ($url == '') |
|
| 149 | - return false; |
|
| 150 | - else |
|
| 151 | - $this->options[CURLOPT_URL] = $url; |
|
| 150 | + if ($url == '') { |
|
| 151 | + return false; |
|
| 152 | + } else { |
|
| 153 | + $this->options[CURLOPT_URL] = $url; |
|
| 154 | + } |
|
| 152 | 155 | |
| 153 | 156 | // if we have not already been redirected, set it up so we can if needed |
| 154 | 157 | if (!$redirect) |
@@ -228,10 +231,11 @@ discard block |
||
| 228 | 231 | $max_result = count($this->response) - 1; |
| 229 | 232 | |
| 230 | 233 | // just return a specifed area or the entire result? |
| 231 | - if ($area == '') |
|
| 232 | - return $this->response[$max_result]; |
|
| 233 | - else |
|
| 234 | - return isset($this->response[$max_result][$area]) ? $this->response[$max_result][$area] : $this->response[$max_result]; |
|
| 234 | + if ($area == '') { |
|
| 235 | + return $this->response[$max_result]; |
|
| 236 | + } else { |
|
| 237 | + return isset($this->response[$max_result][$area]) ? $this->response[$max_result][$area] : $this->response[$max_result]; |
|
| 238 | + } |
|
| 235 | 239 | } |
| 236 | 240 | |
| 237 | 241 | /** |
@@ -244,9 +248,9 @@ discard block |
||
| 244 | 248 | */ |
| 245 | 249 | public function result_raw($response_number = '') |
| 246 | 250 | { |
| 247 | - if (!is_numeric($response_number)) |
|
| 248 | - return $this->response; |
|
| 249 | - else |
|
| 251 | + if (!is_numeric($response_number)) { |
|
| 252 | + return $this->response; |
|
| 253 | + } else |
|
| 250 | 254 | { |
| 251 | 255 | $response_number = min($response_number, count($this->response) - 1); |
| 252 | 256 | return $this->response[$response_number]; |
@@ -268,13 +272,14 @@ discard block |
||
| 268 | 272 | $postvars = array(); |
| 269 | 273 | |
| 270 | 274 | // build the post data, drop ones with leading @'s since those can be used to send files, we don't support that. |
| 271 | - foreach ($post_data as $name => $value) |
|
| 272 | - $postvars[] = $name . '=' . urlencode($value[0] == '@' ? '' : $value); |
|
| 275 | + foreach ($post_data as $name => $value) { |
|
| 276 | + $postvars[] = $name . '=' . urlencode($value[0] == '@' ? '' : $value); |
|
| 277 | + } |
|
| 273 | 278 | |
| 274 | 279 | return implode('&', $postvars); |
| 280 | + } else { |
|
| 281 | + return $post_data; |
|
| 275 | 282 | } |
| 276 | - else |
|
| 277 | - return $post_data; |
|
| 278 | 283 | |
| 279 | 284 | } |
| 280 | 285 | |
@@ -295,9 +300,9 @@ discard block |
||
| 295 | 300 | $keys = array_merge(array_keys($this->default_options), array_keys($this->user_options)); |
| 296 | 301 | $vals = array_merge($this->default_options, $this->user_options); |
| 297 | 302 | $this->options = array_combine($keys, $vals); |
| 303 | + } else { |
|
| 304 | + $this->options = $this->default_options; |
|
| 298 | 305 | } |
| 299 | - else |
|
| 300 | - $this->options = $this->default_options; |
|
| 301 | 306 | |
| 302 | 307 | // POST data options, here we don't allow any overide |
| 303 | 308 | if (isset($this->post_data)) |
@@ -336,8 +341,9 @@ discard block |
||
| 336 | 341 | $temp = explode(': ', $_header, 2); |
| 337 | 342 | |
| 338 | 343 | // set proper headers only |
| 339 | - if (isset($temp[0]) && isset($temp[1])) |
|
| 340 | - $this->headers[strtolower($temp[0])] = strtolower(trim($temp[1])); |
|
| 344 | + if (isset($temp[0]) && isset($temp[1])) { |
|
| 345 | + $this->headers[strtolower($temp[0])] = strtolower(trim($temp[1])); |
|
| 346 | + } |
|
| 341 | 347 | |
| 342 | 348 | // return the length of what was passed unless you want a Failed writing header error ;) |
| 343 | 349 | return strlen($header); |
@@ -11,8 +11,9 @@ discard block |
||
| 11 | 11 | * @version 2.1 Beta 4 |
| 12 | 12 | */ |
| 13 | 13 | |
| 14 | -if (!defined('SMF')) |
|
| 14 | +if (!defined('SMF')) { |
|
| 15 | 15 | die('Hacking attempt...'); |
| 16 | +} |
|
| 16 | 17 | |
| 17 | 18 | /** |
| 18 | 19 | * Our Cache API class |
@@ -44,8 +45,9 @@ discard block |
||
| 44 | 45 | { |
| 45 | 46 | $supported = function_exists('xcache_get') && function_exists('xcache_set') && ini_get('xcache.var_size') > 0; |
| 46 | 47 | |
| 47 | - if ($test) |
|
| 48 | - return $supported; |
|
| 48 | + if ($test) { |
|
| 49 | + return $supported; |
|
| 50 | + } |
|
| 49 | 51 | return parent::isSupported() && $supported; |
| 50 | 52 | } |
| 51 | 53 | |
@@ -66,10 +68,11 @@ discard block |
||
| 66 | 68 | { |
| 67 | 69 | $key = $this->prefix . strtr($key, ':/', '-_'); |
| 68 | 70 | |
| 69 | - if ($value === null) |
|
| 70 | - return xcache_unset($key); |
|
| 71 | - else |
|
| 72 | - return xcache_set($key, $value, $ttl); |
|
| 71 | + if ($value === null) { |
|
| 72 | + return xcache_unset($key); |
|
| 73 | + } else { |
|
| 74 | + return xcache_set($key, $value, $ttl); |
|
| 75 | + } |
|
| 73 | 76 | } |
| 74 | 77 | |
| 75 | 78 | /** |
@@ -88,10 +91,12 @@ discard block |
||
| 88 | 91 | } |
| 89 | 92 | |
| 90 | 93 | // if passed a type, clear that type out |
| 91 | - if ($type === '' || $type === 'user') |
|
| 92 | - xcache_clear_cache(XC_TYPE_VAR, 0); |
|
| 93 | - if ($type === '' || $type === 'data') |
|
| 94 | - xcache_clear_cache(XC_TYPE_PHP, 0); |
|
| 94 | + if ($type === '' || $type === 'user') { |
|
| 95 | + xcache_clear_cache(XC_TYPE_VAR, 0); |
|
| 96 | + } |
|
| 97 | + if ($type === '' || $type === 'data') { |
|
| 98 | + xcache_clear_cache(XC_TYPE_PHP, 0); |
|
| 99 | + } |
|
| 95 | 100 | |
| 96 | 101 | $this->invalidateCache(); |
| 97 | 102 | return true; |
@@ -110,8 +115,9 @@ discard block |
||
| 110 | 115 | // While we could md5 this when saving, this could be tricky to be sure it doesn't get corrupted on additional saves. |
| 111 | 116 | $config_vars[] = array('xcache_adminpass', $txt['cache_xcache_adminpass'], 'db', 'text', 0); |
| 112 | 117 | |
| 113 | - if (!isset($context['settings_post_javascript'])) |
|
| 114 | - $context['settings_post_javascript'] = ''; |
|
| 118 | + if (!isset($context['settings_post_javascript'])) { |
|
| 119 | + $context['settings_post_javascript'] = ''; |
|
| 120 | + } |
|
| 115 | 121 | |
| 116 | 122 | $context['settings_post_javascript'] .= ' |
| 117 | 123 | $("#cache_accelerator").change(function (e) { |
@@ -12,8 +12,9 @@ discard block |
||
| 12 | 12 | * @version 2.1 Beta 4 |
| 13 | 13 | */ |
| 14 | 14 | |
| 15 | -if (!defined('SMF')) |
|
| 15 | +if (!defined('SMF')) { |
|
| 16 | 16 | die('No direct access...'); |
| 17 | +} |
|
| 17 | 18 | |
| 18 | 19 | /** |
| 19 | 20 | * This is the controlling delegator |
@@ -38,13 +39,15 @@ discard block |
||
| 38 | 39 | ); |
| 39 | 40 | |
| 40 | 41 | // Any subaction? If none, fall through to the main template, which will ask for one. |
| 41 | - if (isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']])) |
|
| 42 | - call_helper($subActions[$_REQUEST['sa']]); |
|
| 42 | + if (isset($_REQUEST['sa']) && isset($subActions[$_REQUEST['sa']])) { |
|
| 43 | + call_helper($subActions[$_REQUEST['sa']]); |
|
| 44 | + } |
|
| 43 | 45 | |
| 44 | 46 | // Creating a one time token. |
| 45 | - else |
|
| 46 | - createToken('remind'); |
|
| 47 | -} |
|
| 47 | + else { |
|
| 48 | + createToken('remind'); |
|
| 49 | + } |
|
| 50 | + } |
|
| 48 | 51 | |
| 49 | 52 | /** |
| 50 | 53 | * Allows the user to pick how they wish to be reminded |
@@ -62,8 +65,7 @@ discard block |
||
| 62 | 65 | { |
| 63 | 66 | $where = 'id_member = {int:id_member}'; |
| 64 | 67 | $where_params['id_member'] = (int) $_REQUEST['uid']; |
| 65 | - } |
|
| 66 | - elseif (isset($_POST['user']) && $_POST['user'] != '') |
|
| 68 | + } elseif (isset($_POST['user']) && $_POST['user'] != '') |
|
| 67 | 69 | { |
| 68 | 70 | $where = 'member_name = {string:member_name}'; |
| 69 | 71 | $where_params['member_name'] = $_POST['user']; |
@@ -71,8 +73,9 @@ discard block |
||
| 71 | 73 | } |
| 72 | 74 | |
| 73 | 75 | // You must enter a username/email address. |
| 74 | - if (empty($where)) |
|
| 75 | - fatal_lang_error('username_no_exist', false); |
|
| 76 | + if (empty($where)) { |
|
| 77 | + fatal_lang_error('username_no_exist', false); |
|
| 78 | + } |
|
| 76 | 79 | |
| 77 | 80 | // Make sure we are not being slammed |
| 78 | 81 | // Don't call this if you're coming from the "Choose a reminder type" page - otherwise you'll likely get an error |
@@ -101,8 +104,9 @@ discard block |
||
| 101 | 104 | LIMIT 1', |
| 102 | 105 | $where_params |
| 103 | 106 | ); |
| 104 | - if ($smcFunc['db_num_rows']($request) == 0) |
|
| 105 | - fatal_lang_error('no_user_with_email', false); |
|
| 107 | + if ($smcFunc['db_num_rows']($request) == 0) { |
|
| 108 | + fatal_lang_error('no_user_with_email', false); |
|
| 109 | + } |
|
| 106 | 110 | } |
| 107 | 111 | |
| 108 | 112 | $row = $smcFunc['db_fetch_assoc']($request); |
@@ -112,16 +116,18 @@ discard block |
||
| 112 | 116 | if ($row['is_activated'] != 1) |
| 113 | 117 | { |
| 114 | 118 | // Awaiting approval... |
| 115 | - if (trim($row['validation_code']) == '') |
|
| 116 | - fatal_error(sprintf($txt['registration_not_approved'], $scripturl . '?action=activate;user=' . $_POST['user']), false); |
|
| 117 | - else |
|
| 118 | - fatal_error(sprintf($txt['registration_not_activated'], $scripturl . '?action=activate;user=' . $_POST['user']), false); |
|
| 119 | + if (trim($row['validation_code']) == '') { |
|
| 120 | + fatal_error(sprintf($txt['registration_not_approved'], $scripturl . '?action=activate;user=' . $_POST['user']), false); |
|
| 121 | + } else { |
|
| 122 | + fatal_error(sprintf($txt['registration_not_activated'], $scripturl . '?action=activate;user=' . $_POST['user']), false); |
|
| 123 | + } |
|
| 119 | 124 | } |
| 120 | 125 | |
| 121 | 126 | // You can't get emailed if you have no email address. |
| 122 | 127 | $row['email_address'] = trim($row['email_address']); |
| 123 | - if ($row['email_address'] == '') |
|
| 124 | - fatal_error($txt['no_reminder_email'] . '<br>' . $txt['send_email'] . ' <a href="mailto:' . $webmaster_email . '">webmaster</a> ' . $txt['to_ask_password'] . '.'); |
|
| 128 | + if ($row['email_address'] == '') { |
|
| 129 | + fatal_error($txt['no_reminder_email'] . '<br>' . $txt['send_email'] . ' <a href="mailto:' . $webmaster_email . '">webmaster</a> ' . $txt['to_ask_password'] . '.'); |
|
| 130 | + } |
|
| 125 | 131 | |
| 126 | 132 | // If they have no secret question then they can only get emailed the item, or they are requesting the email, send them an email. |
| 127 | 133 | if (empty($row['secret_question']) || (isset($_POST['reminder_type']) && $_POST['reminder_type'] == 'email')) |
@@ -176,8 +182,9 @@ discard block |
||
| 176 | 182 | loadLanguage('Login'); |
| 177 | 183 | |
| 178 | 184 | // You need a code! |
| 179 | - if (!isset($_REQUEST['code'])) |
|
| 180 | - fatal_lang_error('no_access', false); |
|
| 185 | + if (!isset($_REQUEST['code'])) { |
|
| 186 | + fatal_lang_error('no_access', false); |
|
| 187 | + } |
|
| 181 | 188 | |
| 182 | 189 | // Fill the context array. |
| 183 | 190 | $context += array( |
@@ -203,16 +210,19 @@ discard block |
||
| 203 | 210 | checkSession(); |
| 204 | 211 | validateToken('remind-sp'); |
| 205 | 212 | |
| 206 | - if (empty($_POST['u']) || !isset($_POST['passwrd1']) || !isset($_POST['passwrd2'])) |
|
| 207 | - fatal_lang_error('no_access', false); |
|
| 213 | + if (empty($_POST['u']) || !isset($_POST['passwrd1']) || !isset($_POST['passwrd2'])) { |
|
| 214 | + fatal_lang_error('no_access', false); |
|
| 215 | + } |
|
| 208 | 216 | |
| 209 | 217 | $_POST['u'] = (int) $_POST['u']; |
| 210 | 218 | |
| 211 | - if ($_POST['passwrd1'] != $_POST['passwrd2']) |
|
| 212 | - fatal_lang_error('passwords_dont_match', false); |
|
| 219 | + if ($_POST['passwrd1'] != $_POST['passwrd2']) { |
|
| 220 | + fatal_lang_error('passwords_dont_match', false); |
|
| 221 | + } |
|
| 213 | 222 | |
| 214 | - if ($_POST['passwrd1'] == '') |
|
| 215 | - fatal_lang_error('no_password', false); |
|
| 223 | + if ($_POST['passwrd1'] == '') { |
|
| 224 | + fatal_lang_error('no_password', false); |
|
| 225 | + } |
|
| 216 | 226 | |
| 217 | 227 | loadLanguage('Login'); |
| 218 | 228 | |
@@ -232,8 +242,9 @@ discard block |
||
| 232 | 242 | ); |
| 233 | 243 | |
| 234 | 244 | // Does this user exist at all? |
| 235 | - if ($smcFunc['db_num_rows']($request) == 0) |
|
| 236 | - fatal_lang_error('invalid_userid', false); |
|
| 245 | + if ($smcFunc['db_num_rows']($request) == 0) { |
|
| 246 | + fatal_lang_error('invalid_userid', false); |
|
| 247 | + } |
|
| 237 | 248 | |
| 238 | 249 | list ($realCode, $username, $email, $flood_value) = $smcFunc['db_fetch_row']($request); |
| 239 | 250 | $smcFunc['db_free_result']($request); |
@@ -243,8 +254,9 @@ discard block |
||
| 243 | 254 | $passwordError = validatePassword($_POST['passwrd1'], $username, array($email)); |
| 244 | 255 | |
| 245 | 256 | // What - it's not? |
| 246 | - if ($passwordError != null) |
|
| 247 | - fatal_lang_error('profile_error_password_' . $passwordError, false); |
|
| 257 | + if ($passwordError != null) { |
|
| 258 | + fatal_lang_error('profile_error_password_' . $passwordError, false); |
|
| 259 | + } |
|
| 248 | 260 | |
| 249 | 261 | require_once($sourcedir . '/LogInOut.php'); |
| 250 | 262 | |
@@ -291,8 +303,9 @@ discard block |
||
| 291 | 303 | loadLanguage('Login'); |
| 292 | 304 | |
| 293 | 305 | // Check they entered something... |
| 294 | - if (empty($_REQUEST['uid'])) |
|
| 295 | - fatal_lang_error('username_no_exist', false); |
|
| 306 | + if (empty($_REQUEST['uid'])) { |
|
| 307 | + fatal_lang_error('username_no_exist', false); |
|
| 308 | + } |
|
| 296 | 309 | |
| 297 | 310 | // Get the stuff.... |
| 298 | 311 | $request = $smcFunc['db_query']('', ' |
@@ -304,15 +317,17 @@ discard block |
||
| 304 | 317 | 'id_member' => (int) $_REQUEST['uid'], |
| 305 | 318 | ) |
| 306 | 319 | ); |
| 307 | - if ($smcFunc['db_num_rows']($request) == 0) |
|
| 308 | - fatal_lang_error('username_no_exist', false); |
|
| 320 | + if ($smcFunc['db_num_rows']($request) == 0) { |
|
| 321 | + fatal_lang_error('username_no_exist', false); |
|
| 322 | + } |
|
| 309 | 323 | |
| 310 | 324 | $row = $smcFunc['db_fetch_assoc']($request); |
| 311 | 325 | $smcFunc['db_free_result']($request); |
| 312 | 326 | |
| 313 | 327 | // If there is NO secret question - then throw an error. |
| 314 | - if (trim($row['secret_question']) == '') |
|
| 315 | - fatal_lang_error('registration_no_secret_question', false); |
|
| 328 | + if (trim($row['secret_question']) == '') { |
|
| 329 | + fatal_lang_error('registration_no_secret_question', false); |
|
| 330 | + } |
|
| 316 | 331 | |
| 317 | 332 | // Ask for the answer... |
| 318 | 333 | $context['remind_user'] = $row['id_member']; |
@@ -335,8 +350,9 @@ discard block |
||
| 335 | 350 | validateToken('remind-sai'); |
| 336 | 351 | |
| 337 | 352 | // Hacker? How did you get this far without an email or username? |
| 338 | - if (empty($_REQUEST['uid'])) |
|
| 339 | - fatal_lang_error('username_no_exist', false); |
|
| 353 | + if (empty($_REQUEST['uid'])) { |
|
| 354 | + fatal_lang_error('username_no_exist', false); |
|
| 355 | + } |
|
| 340 | 356 | |
| 341 | 357 | loadLanguage('Login'); |
| 342 | 358 | |
@@ -350,8 +366,9 @@ discard block |
||
| 350 | 366 | 'id_member' => $_REQUEST['uid'], |
| 351 | 367 | ) |
| 352 | 368 | ); |
| 353 | - if ($smcFunc['db_num_rows']($request) == 0) |
|
| 354 | - fatal_lang_error('username_no_exist', false); |
|
| 369 | + if ($smcFunc['db_num_rows']($request) == 0) { |
|
| 370 | + fatal_lang_error('username_no_exist', false); |
|
| 371 | + } |
|
| 355 | 372 | |
| 356 | 373 | $row = $smcFunc['db_fetch_assoc']($request); |
| 357 | 374 | $smcFunc['db_free_result']($request); |
@@ -364,20 +381,23 @@ discard block |
||
| 364 | 381 | } |
| 365 | 382 | |
| 366 | 383 | // You can't use a blank one! |
| 367 | - if (strlen(trim($_POST['passwrd1'])) === 0) |
|
| 368 | - fatal_lang_error('no_password', false); |
|
| 384 | + if (strlen(trim($_POST['passwrd1'])) === 0) { |
|
| 385 | + fatal_lang_error('no_password', false); |
|
| 386 | + } |
|
| 369 | 387 | |
| 370 | 388 | // They have to be the same too. |
| 371 | - if ($_POST['passwrd1'] != $_POST['passwrd2']) |
|
| 372 | - fatal_lang_error('passwords_dont_match', false); |
|
| 389 | + if ($_POST['passwrd1'] != $_POST['passwrd2']) { |
|
| 390 | + fatal_lang_error('passwords_dont_match', false); |
|
| 391 | + } |
|
| 373 | 392 | |
| 374 | 393 | // Make sure they have a strong enough password. |
| 375 | 394 | require_once($sourcedir . '/Subs-Auth.php'); |
| 376 | 395 | $passwordError = validatePassword($_POST['passwrd1'], $row['member_name'], array($row['email_address'])); |
| 377 | 396 | |
| 378 | 397 | // Invalid? |
| 379 | - if ($passwordError != null) |
|
| 380 | - fatal_lang_error('profile_error_password_' . $passwordError, false); |
|
| 398 | + if ($passwordError != null) { |
|
| 399 | + fatal_lang_error('profile_error_password_' . $passwordError, false); |
|
| 400 | + } |
|
| 381 | 401 | |
| 382 | 402 | // Alright, so long as 'yer sure. |
| 383 | 403 | updateMemberData($row['id_member'], array('passwd' => hash_password($row['member_name'], $_POST['passwrd1']))); |
@@ -13,8 +13,9 @@ discard block |
||
| 13 | 13 | * @version 2.1 Beta 4 |
| 14 | 14 | */ |
| 15 | 15 | |
| 16 | -if (!defined('SMF')) |
|
| 16 | +if (!defined('SMF')) { |
|
| 17 | 17 | die('No direct access...'); |
| 18 | +} |
|
| 18 | 19 | |
| 19 | 20 | /** |
| 20 | 21 | * Add the functions implemented in this file to the $smcFunc array. |
@@ -23,8 +24,8 @@ discard block |
||
| 23 | 24 | { |
| 24 | 25 | global $smcFunc; |
| 25 | 26 | |
| 26 | - if (!isset($smcFunc['db_backup_table']) || $smcFunc['db_backup_table'] != 'smf_db_backup_table') |
|
| 27 | - $smcFunc += array( |
|
| 27 | + if (!isset($smcFunc['db_backup_table']) || $smcFunc['db_backup_table'] != 'smf_db_backup_table') { |
|
| 28 | + $smcFunc += array( |
|
| 28 | 29 | 'db_backup_table' => 'smf_db_backup_table', |
| 29 | 30 | 'db_optimize_table' => 'smf_db_optimize_table', |
| 30 | 31 | 'db_table_sql' => 'smf_db_table_sql', |
@@ -32,7 +33,8 @@ discard block |
||
| 32 | 33 | 'db_get_version' => 'smf_db_get_version', |
| 33 | 34 | 'db_get_engine' => 'smf_db_get_engine', |
| 34 | 35 | ); |
| 35 | -} |
|
| 36 | + } |
|
| 37 | + } |
|
| 36 | 38 | |
| 37 | 39 | /** |
| 38 | 40 | * Backup $table to $backup_table. |
@@ -74,8 +76,9 @@ discard block |
||
| 74 | 76 | )); |
| 75 | 77 | |
| 76 | 78 | // Old school or no school? |
| 77 | - if ($request) |
|
| 78 | - return $request; |
|
| 79 | + if ($request) { |
|
| 80 | + return $request; |
|
| 81 | + } |
|
| 79 | 82 | } |
| 80 | 83 | |
| 81 | 84 | // At this point, the quick method failed. |
@@ -99,8 +102,9 @@ discard block |
||
| 99 | 102 | foreach ($create as $k => $l) |
| 100 | 103 | { |
| 101 | 104 | // Get the name of the auto_increment column. |
| 102 | - if (strpos($l, 'auto_increment')) |
|
| 103 | - $auto_inc = trim($l); |
|
| 105 | + if (strpos($l, 'auto_increment')) { |
|
| 106 | + $auto_inc = trim($l); |
|
| 107 | + } |
|
| 104 | 108 | |
| 105 | 109 | // For the engine type, see if we can work out what it is. |
| 106 | 110 | if (strpos($l, 'ENGINE') !== false || strpos($l, 'TYPE') !== false) |
@@ -108,30 +112,36 @@ discard block |
||
| 108 | 112 | // Extract the engine type. |
| 109 | 113 | preg_match('~(ENGINE|TYPE)=(\w+)(\sDEFAULT)?(\sCHARSET=(\w+))?(\sCOLLATE=(\w+))?~', $l, $match); |
| 110 | 114 | |
| 111 | - if (!empty($match[1])) |
|
| 112 | - $engine = $match[1]; |
|
| 115 | + if (!empty($match[1])) { |
|
| 116 | + $engine = $match[1]; |
|
| 117 | + } |
|
| 113 | 118 | |
| 114 | - if (!empty($match[2])) |
|
| 115 | - $engine = $match[2]; |
|
| 119 | + if (!empty($match[2])) { |
|
| 120 | + $engine = $match[2]; |
|
| 121 | + } |
|
| 116 | 122 | |
| 117 | - if (!empty($match[5])) |
|
| 118 | - $charset = $match[5]; |
|
| 123 | + if (!empty($match[5])) { |
|
| 124 | + $charset = $match[5]; |
|
| 125 | + } |
|
| 119 | 126 | |
| 120 | - if (!empty($match[7])) |
|
| 121 | - $collate = $match[7]; |
|
| 127 | + if (!empty($match[7])) { |
|
| 128 | + $collate = $match[7]; |
|
| 129 | + } |
|
| 122 | 130 | } |
| 123 | 131 | |
| 124 | 132 | // Skip everything but keys... |
| 125 | - if (strpos($l, 'KEY') === false) |
|
| 126 | - unset($create[$k]); |
|
| 133 | + if (strpos($l, 'KEY') === false) { |
|
| 134 | + unset($create[$k]); |
|
| 135 | + } |
|
| 127 | 136 | } |
| 128 | 137 | |
| 129 | - if (!empty($create)) |
|
| 130 | - $create = '( |
|
| 138 | + if (!empty($create)) { |
|
| 139 | + $create = '( |
|
| 131 | 140 | ' . implode(' |
| 132 | 141 | ', $create) . ')'; |
| 133 | - else |
|
| 134 | - $create = ''; |
|
| 142 | + } else { |
|
| 143 | + $create = ''; |
|
| 144 | + } |
|
| 135 | 145 | |
| 136 | 146 | $request = $smcFunc['db_query']('', ' |
| 137 | 147 | CREATE TABLE {raw:backup_table} {raw:create} |
@@ -150,8 +160,9 @@ discard block |
||
| 150 | 160 | |
| 151 | 161 | if ($auto_inc != '') |
| 152 | 162 | { |
| 153 | - if (preg_match('~\`(.+?)\`\s~', $auto_inc, $match) != 0 && substr($auto_inc, -1, 1) == ',') |
|
| 154 | - $auto_inc = substr($auto_inc, 0, -1); |
|
| 163 | + if (preg_match('~\`(.+?)\`\s~', $auto_inc, $match) != 0 && substr($auto_inc, -1, 1) == ',') { |
|
| 164 | + $auto_inc = substr($auto_inc, 0, -1); |
|
| 165 | + } |
|
| 155 | 166 | |
| 156 | 167 | $smcFunc['db_query']('', ' |
| 157 | 168 | ALTER TABLE {raw:backup_table} |
@@ -195,8 +206,9 @@ discard block |
||
| 195 | 206 | 'table' => $table, |
| 196 | 207 | ) |
| 197 | 208 | ); |
| 198 | - if (!$request) |
|
| 199 | - return -1; |
|
| 209 | + if (!$request) { |
|
| 210 | + return -1; |
|
| 211 | + } |
|
| 200 | 212 | |
| 201 | 213 | // How much left? |
| 202 | 214 | $request = $smcFunc['db_query']('', ' |
@@ -239,8 +251,9 @@ discard block |
||
| 239 | 251 | ) |
| 240 | 252 | ); |
| 241 | 253 | $tables = array(); |
| 242 | - while ($row = $smcFunc['db_fetch_row']($request)) |
|
| 243 | - $tables[] = $row[0]; |
|
| 254 | + while ($row = $smcFunc['db_fetch_row']($request)) { |
|
| 255 | + $tables[] = $row[0]; |
|
| 256 | + } |
|
| 244 | 257 | $smcFunc['db_free_result']($request); |
| 245 | 258 | |
| 246 | 259 | return $tables; |
@@ -284,8 +297,9 @@ discard block |
||
| 284 | 297 | if (!empty($row['Default']) || $row['Null'] !== 'YES') |
| 285 | 298 | { |
| 286 | 299 | // Make a special case of auto-timestamp. |
| 287 | - if ($row['Default'] == 'CURRENT_TIMESTAMP') |
|
| 288 | - $schema_create .= ' /*!40102 NOT NULL default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP */'; |
|
| 300 | + if ($row['Default'] == 'CURRENT_TIMESTAMP') { |
|
| 301 | + $schema_create .= ' /*!40102 NOT NULL default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP */'; |
|
| 302 | + } |
|
| 289 | 303 | // Text shouldn't have a default. |
| 290 | 304 | elseif ($row['Default'] !== null) |
| 291 | 305 | { |
@@ -320,14 +334,16 @@ discard block |
||
| 320 | 334 | $row['Key_name'] = $row['Key_name'] == 'PRIMARY' ? 'PRIMARY KEY' : (empty($row['Non_unique']) ? 'UNIQUE ' : ($row['Comment'] == 'FULLTEXT' || (isset($row['Index_type']) && $row['Index_type'] == 'FULLTEXT') ? 'FULLTEXT ' : 'KEY ')) . '`' . $row['Key_name'] . '`'; |
| 321 | 335 | |
| 322 | 336 | // Is this the first column in the index? |
| 323 | - if (empty($indexes[$row['Key_name']])) |
|
| 324 | - $indexes[$row['Key_name']] = array(); |
|
| 337 | + if (empty($indexes[$row['Key_name']])) { |
|
| 338 | + $indexes[$row['Key_name']] = array(); |
|
| 339 | + } |
|
| 325 | 340 | |
| 326 | 341 | // A sub part, like only indexing 15 characters of a varchar. |
| 327 | - if (!empty($row['Sub_part'])) |
|
| 328 | - $indexes[$row['Key_name']][$row['Seq_in_index']] = '`' . $row['Column_name'] . '`(' . $row['Sub_part'] . ')'; |
|
| 329 | - else |
|
| 330 | - $indexes[$row['Key_name']][$row['Seq_in_index']] = '`' . $row['Column_name'] . '`'; |
|
| 342 | + if (!empty($row['Sub_part'])) { |
|
| 343 | + $indexes[$row['Key_name']][$row['Seq_in_index']] = '`' . $row['Column_name'] . '`(' . $row['Sub_part'] . ')'; |
|
| 344 | + } else { |
|
| 345 | + $indexes[$row['Key_name']][$row['Seq_in_index']] = '`' . $row['Column_name'] . '`'; |
|
| 346 | + } |
|
| 331 | 347 | } |
| 332 | 348 | $smcFunc['db_free_result']($result); |
| 333 | 349 | |
@@ -365,8 +381,9 @@ discard block |
||
| 365 | 381 | { |
| 366 | 382 | static $ver; |
| 367 | 383 | |
| 368 | - if (!empty($ver)) |
|
| 369 | - return $ver; |
|
| 384 | + if (!empty($ver)) { |
|
| 385 | + return $ver; |
|
| 386 | + } |
|
| 370 | 387 | |
| 371 | 388 | global $smcFunc; |
| 372 | 389 | |
@@ -391,8 +408,9 @@ discard block |
||
| 391 | 408 | global $smcFunc; |
| 392 | 409 | static $db_type; |
| 393 | 410 | |
| 394 | - if (!empty($db_type)) |
|
| 395 | - return $db_type; |
|
| 411 | + if (!empty($db_type)) { |
|
| 412 | + return $db_type; |
|
| 413 | + } |
|
| 396 | 414 | |
| 397 | 415 | $request = $smcFunc['db_query']('', 'SELECT @@version_comment'); |
| 398 | 416 | list ($comment) = $smcFunc['db_fetch_row']($request); |
@@ -401,13 +419,15 @@ discard block |
||
| 401 | 419 | // Skip these if we don't have a comment. |
| 402 | 420 | if (!empty($comment)) |
| 403 | 421 | { |
| 404 | - if (stripos($comment, 'percona') !== false) |
|
| 405 | - return 'Percona'; |
|
| 406 | - if (stripos($comment, 'mariadb') !== false) |
|
| 407 | - return 'MariaDB'; |
|
| 422 | + if (stripos($comment, 'percona') !== false) { |
|
| 423 | + return 'Percona'; |
|
| 424 | + } |
|
| 425 | + if (stripos($comment, 'mariadb') !== false) { |
|
| 426 | + return 'MariaDB'; |
|
| 427 | + } |
|
| 428 | + } else { |
|
| 429 | + return 'fail'; |
|
| 408 | 430 | } |
| 409 | - else |
|
| 410 | - return 'fail'; |
|
| 411 | 431 | |
| 412 | 432 | return 'MySQL'; |
| 413 | 433 | } |