summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
authorczaks <marcin@6irc.net>2013-07-29 23:17:37 -0400
committerczaks <marcin@6irc.net>2013-07-29 23:17:37 -0400
commit793042ee6ccd2fd1770c68ed55bfb1f58f2bf185 (patch)
tree12bf0428a870e33b5a7fffe60f220306df246ca0 /inc
parent9a27feca018802bc974dc2542d4afd94e5f9e523 (diff)
parent54714595f7ce2cdbd88de1c536e0ddc97ca71529 (diff)
Merge branch 'master' of https://github.com/savetheinternet/Tinyboard
Conflicts: js/inline-expanding.js
Diffstat (limited to 'inc')
-rw-r--r--inc/mod/pages.php16
1 files changed, 14 insertions, 2 deletions
diff --git a/inc/mod/pages.php b/inc/mod/pages.php
index edb14c6d..eb218951 100644
--- a/inc/mod/pages.php
+++ b/inc/mod/pages.php
@@ -174,6 +174,11 @@ function mod_search_redirect() {
$query = str_replace('_', '%5F', $query);
$query = str_replace('+', '_', $query);
+ if ($query === '') {
+ header('Location: ?/', true, $config['redirect_http']);
+ return;
+ }
+
header('Location: ?/search/' . $_POST['type'] . '/' . $query, true, $config['redirect_http']);
} else {
header('Location: ?/', true, $config['redirect_http']);
@@ -225,7 +230,7 @@ function mod_search($type, $search_query_escaped, $page_no = 1) {
// Which `field` to search?
if ($type == 'posts')
- $sql_field = 'body_nomarkup';
+ $sql_field = array('body_nomarkup', 'filename', 'subject', 'filehash', 'ip', 'name', 'trip');
if ($type == 'IP_notes')
$sql_field = 'body';
if ($type == 'bans')
@@ -239,7 +244,14 @@ function mod_search($type, $search_query_escaped, $page_no = 1) {
if (!empty($sql_like))
$sql_like .= ' AND ';
$phrase = preg_replace('/^\'(.+)\'$/', '\'%$1%\'', $phrase);
- $sql_like .= '`' . $sql_field . '` LIKE ' . $phrase . ' ESCAPE \'!\'';
+ if (is_array($sql_field)) {
+ foreach ($sql_field as $field) {
+ $sql_like .= '`' . $field . '` LIKE ' . $phrase . ' ESCAPE \'!\' OR';
+ }
+ $sql_like = preg_replace('/ OR$/', '', $sql_like);
+ } else {
+ $sql_like .= '`' . $sql_field . '` LIKE ' . $phrase . ' ESCAPE \'!\'';
+ }
}