summaryrefslogtreecommitdiff
path: root/classes/pref
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2012-08-31 15:14:12 +0400
committerAndrew Dolgov <[email protected]>2012-08-31 15:14:12 +0400
commit69c6e94d35e5e94e5ce26f0f2b78c1708333f6d4 (patch)
tree0c1cdab0589c557048915ddc6ed3382dd63ae0ab /classes/pref
parente8b703878decaf05d4d93954c2632c0d3bc338d9 (diff)
implement basic filter search
Diffstat (limited to 'classes/pref')
-rw-r--r--classes/pref/filters.php20
1 files changed, 19 insertions, 1 deletions
diff --git a/classes/pref/filters.php b/classes/pref/filters.php
index 1645639ed..11487c877 100644
--- a/classes/pref/filters.php
+++ b/classes/pref/filters.php
@@ -106,6 +106,8 @@ class Pref_Filters extends Handler_Protected {
$root['name'] = __('Filters');
$root['items'] = array();
+ $filter_search = $_SESSION["prefs_filter_search"];
+
$result = db_query($this->link, "SELECT *,
(SELECT action_id FROM ttrss_filters2_actions
WHERE filter_id = ttrss_filters2.id ORDER BY id LIMIT 1) AS action_id,
@@ -117,6 +119,7 @@ class Pref_Filters extends Handler_Protected {
FROM ttrss_filters2 WHERE
owner_uid = ".$_SESSION["uid"]." ORDER BY action_id,reg_exp");
+
$action_id = -1;
$folder = array();
$folder['items'] = array();
@@ -137,6 +140,19 @@ class Pref_Filters extends Handler_Protected {
$name = $this->getFilterName($line["id"]);
+ $match_ok = false;
+ if ($filter_search) {
+ $rules_result = db_query($this->link,
+ "SELECT reg_exp FROM ttrss_filters2_rules WHERE filter_id = ".$line["id"]);
+
+ while ($rule_line = db_fetch_assoc($rules_result)) {
+ if (mb_strpos($rule_line['reg_exp'], $filter_search) !== false) {
+ $match_ok = true;
+ break;
+ }
+ }
+ }
+
$filter = array();
$filter['id'] = 'FILTER:' . $line['id'];
$filter['bare_id'] = $line['id'];
@@ -145,7 +161,9 @@ class Pref_Filters extends Handler_Protected {
$filter['checkbox'] = false;
$filter['enabled'] = sql_bool_to_bool($line["enabled"]);
- array_push($folder['items'], $filter);
+ if (!$filter_search || $match_ok) {
+ array_push($folder['items'], $filter);
+ }
}
if (count($folder['items']) > 0) {