summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2015-08-04 13:53:48 +0300
committerAndrew Dolgov <[email protected]>2015-08-04 13:53:48 +0300
commit60e680599d200134db6f8e07f797d099e330c8a2 (patch)
tree51dd3a8f6df1837ea8e5d6b6e8334c3f28c51ba2 /include
parentdf659891ac0597c3f58b7714ddd4103ccad66b07 (diff)
allow selecting stemming language in search dialog
Diffstat (limited to 'include')
-rw-r--r--include/functions2.php12
1 files changed, 9 insertions, 3 deletions
diff --git a/include/functions2.php b/include/functions2.php
index 551d55d73..9e4f0b0e0 100644
--- a/include/functions2.php
+++ b/include/functions2.php
@@ -280,13 +280,18 @@
return $data;
}
- function search_to_sql($search) {
+ function search_to_sql($search, $search_language) {
$keywords = str_getcsv($search, " ");
$query_keywords = array();
$search_words = array();
$search_query_leftover = array();
+ if ($search_language)
+ $search_language = db_escape_string(mb_strtolower($search_language));
+ else
+ $search_language = "english";
+
foreach ($keywords as $k) {
if (strpos($k, "-") === 0) {
$k = substr($k, 1);
@@ -402,7 +407,7 @@
if (DB_TYPE == "pgsql") {
array_push($query_keywords,
- "(tsvector_combined @@ to_tsquery('english', '$search_query_leftover'))");
+ "(tsvector_combined @@ to_tsquery('$search_language', '$search_query_leftover'))");
}
}
@@ -447,6 +452,7 @@
$view_mode = $params["view_mode"];
$cat_view = isset($params["cat_view"]) ? $params["cat_view"] : false;
$search = isset($params["search"]) ? $params["search"] : false;
+ $search_language = isset($params["search_language"]) ? $params["search_language"] : "";
$override_order = isset($params["override_order"]) ? $params["override_order"] : false;
$offset = isset($params["offset"]) ? $params["offset"] : 0;
$owner_uid = isset($params["owner_uid"]) ? $params["owner_uid"] : $_SESSION["uid"];
@@ -471,7 +477,7 @@
// fall back in case of no plugins
if (!$search_query_part) {
- list($search_query_part, $search_words) = search_to_sql($search);
+ list($search_query_part, $search_words) = search_to_sql($search, $search_language);
}
$search_query_part .= " AND ";
} else {