summaryrefslogtreecommitdiff
path: root/classes
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2019-02-20 15:12:37 +0300
committerAndrew Dolgov <[email protected]>2019-02-20 15:12:37 +0300
commitf8836ec08065f8c9c0d67611aaa0705bfc9edf96 (patch)
tree2b0401f4d37a313d97797e08bea935a06ac7765b /classes
parent063b4f535a6289290da214097ae3252209e978b7 (diff)
search dialog fixes
pgsql: get FTS languages list from the database
Diffstat (limited to 'classes')
-rwxr-xr-xclasses/feeds.php11
-rwxr-xr-xclasses/pref/feeds.php23
2 files changed, 25 insertions, 9 deletions
diff --git a/classes/feeds.php b/classes/feeds.php
index 058ac0215..ba04e84b3 100755
--- a/classes/feeds.php
+++ b/classes/feeds.php
@@ -785,16 +785,19 @@ class Feeds extends Handler_Protected {
print "<div class=\"dlgSecCont\">";
+ print "<fieldset>";
print "<input dojoType=\"dijit.form.ValidationTextBox\"
- style=\"font-size : 16px; width : 20em;\"
+ style=\"font-size : 16px; width : 540px;\"
required=\"1\" name=\"query\" type=\"search\" value=''>";
+ print "<span style='float : right'>".T_sprintf('in %s', $this->getFeedTitle($active_feed_id, $is_cat))."</span>";
+ print "</fieldset>";
- print "<hr/><span style='float : right'>".T_sprintf('in %s', $this->getFeedTitle($active_feed_id, $is_cat))."</span>";
if (DB_TYPE == "pgsql") {
- print "<hr/>";
- print_select("search_language", "", Pref_Feeds::$feed_languages,
+ print "<fieldset>";
+ print_select("search_language", "", Pref_Feeds::get_ts_languages(),
"dojoType='dijit.form.Select' title=\"".__('Used for word stemming')."\"");
+ print "</fieldset>";
}
print "</div>";
diff --git a/classes/pref/feeds.php b/classes/pref/feeds.php
index 042905c6f..12f7d9f71 100755
--- a/classes/pref/feeds.php
+++ b/classes/pref/feeds.php
@@ -1,8 +1,5 @@
<?php
class Pref_Feeds extends Handler_Protected {
- public static $feed_languages = array("English", "Danish", "Dutch", "Finnish", "French", "German", "Hungarian", "Italian", "Norwegian",
- "Portuguese", "Russian", "Spanish", "Swedish", "Turkish", "Simple");
-
function csrf_ignore($method) {
$csrf_ignored = array("index", "getfeedtree", "add", "editcats", "editfeed",
"savefeedorder", "uploadicon", "feedswitherrors", "inactivefeeds",
@@ -11,6 +8,22 @@ class Pref_Feeds extends Handler_Protected {
return array_search($method, $csrf_ignored) !== false;
}
+ public static function get_ts_languages() {
+ $rv = [];
+
+ if (DB_TYPE == "pgsql") {
+ $dbh = Db::pdo();
+
+ $res = $dbh->query("SELECT cfgname FROM pg_ts_config");
+
+ while ($row = $res->fetch()) {
+ array_push($rv, ucfirst($row['cfgname']));
+ }
+ }
+
+ return $rv;
+ }
+
function batch_edit_cbox($elem, $label = false) {
print "<input type=\"checkbox\" title=\"".__("Check to enable field")."\"
onchange=\"dijit.byId('feedEditDlg').toggleField(this, '$elem', '$label')\">";
@@ -590,7 +603,7 @@ class Pref_Feeds extends Handler_Protected {
print "<fieldset>";
print "<label>" . __('Language:') . "</label> ";
- print_select("feed_language", $feed_language, $this::$feed_languages,
+ print_select("feed_language", $feed_language, $this::get_ts_languages(),
'dojoType="dijit.form.Select"');
print "</fieldset>";
@@ -859,7 +872,7 @@ class Pref_Feeds extends Handler_Protected {
print "<fieldset>";
print "<label>" . __('Language:') . "</label> ";
- print_select("feed_language", "", $this::$feed_languages,
+ print_select("feed_language", "", $this::get_ts_languages(),
'disabled="1" dojoType="dijit.form.Select"');
$this->batch_edit_cbox("feed_language");