From 310fa2ddef16793656315244c1c68fc6008a79a4 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 29 Jun 2012 13:11:39 +0400 Subject: [PATCH] implement search in pref-filters --- classes/pref_filters.php | 25 ++++++++++++++++++++++++- digest.php | 7 +++++-- index.php | 11 ++++++++--- js/prefs.js | 6 +++++- mobile/login_form.php | 5 ++++- 5 files changed, 46 insertions(+), 8 deletions(-) diff --git a/classes/pref_filters.php b/classes/pref_filters.php index 78189fcb1..c7aa54e21 100644 --- a/classes/pref_filters.php +++ b/classes/pref_filters.php @@ -105,6 +105,13 @@ class Pref_Filters extends Protected_Handler { $root['name'] = __('Filters'); $root['items'] = array(); + $search = $_SESSION["prefs_filter_search"]; + + if ($search) $search_qpart = " (LOWER(reg_exp) LIKE LOWER('%$search%') + OR LOWER(ttrss_feeds.title) LIKE LOWER('%$search%') + OR LOWER(COALESCE(ttrss_feed_categories.title, '".__('Uncategorized')."')) + LIKE LOWER('%$search%') AND cat_filter = true) AND "; + $result = db_query($this->link, "SELECT ttrss_filters.id AS id,reg_exp, ttrss_filter_types.name AS filter_type_name, @@ -119,7 +126,7 @@ class Pref_Filters extends Protected_Handler { filter_type, ttrss_filter_actions.description AS action_description, ttrss_feeds.title AS feed_title, - ttrss_feed_categories.title AS cat_title, + COALESCE(ttrss_feed_categories.title, '".__('Uncategorized')."') AS cat_title, ttrss_filter_actions.name AS action_name, ttrss_filters.action_param AS action_param FROM @@ -129,6 +136,7 @@ class Pref_Filters extends Protected_Handler { WHERE filter_type = ttrss_filter_types.id AND ttrss_filter_actions.id = action_id AND + $search_qpart ttrss_filters.owner_uid = ".$_SESSION["uid"]." ORDER by action_description, reg_exp"); @@ -580,6 +588,21 @@ class Pref_Filters extends Protected_Handler { print "
"; print "
"; + $filter_search = db_escape_string($_REQUEST["search"]); + + if (array_key_exists("search", $_REQUEST)) { + $_SESSION["prefs_filter_search"] = $filter_search; + } else { + $filter_search = $_SESSION["prefs_filter_search"]; + } + + print "
+ + +
"; + print "
". "" . __('Select').""; print "
"; diff --git a/digest.php b/digest.php index c5b3c34c6..805e07488 100644 --- a/digest.php +++ b/digest.php @@ -1,5 +1,5 @@ | - + | + + +
Tiny Tiny RSS diff --git a/index.php b/index.php index 1ecf1f9f5..53901ec6e 100644 --- a/index.php +++ b/index.php @@ -18,9 +18,14 @@ $mobile = new Mobile_Detect(); - if ($mobile->isMobile() && !$mobile->isTablet() && !$_REQUEST['mobile']) { - header('Location: mobile/index.php'); - exit; + if (!$_REQUEST['mobile']) { + if ($mobile->isTablet()) { + header('Location: digest.php'); + exit; + } else if ($mobile->isMobile()) { + header('Location: mobile/index.php'); + exit; + } } $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); diff --git a/js/prefs.js b/js/prefs.js index e9ae891f4..2a2f359eb 100644 --- a/js/prefs.js +++ b/js/prefs.js @@ -824,8 +824,12 @@ function importData() { function updateFilterList() { + var user_search = $("filter_search"); + var search = ""; + if (user_search) { search = user_search.value; } + new Ajax.Request("backend.php", { - parameters: "?op=pref-filters", + parameters: "?op=pref-filters&search=" + param_escape(search), onComplete: function(transport) { dijit.byId('filterConfigTab').attr('content', transport.responseText); notify(""); diff --git a/mobile/login_form.php b/mobile/login_form.php index 937c71f8a..21710c229 100644 --- a/mobile/login_form.php +++ b/mobile/login_form.php @@ -45,7 +45,10 @@ function do_login() {
- + +
+ +