summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2012-06-29 13:11:39 +0400
committerAndrew Dolgov <[email protected]>2012-06-29 13:11:39 +0400
commit310fa2ddef16793656315244c1c68fc6008a79a4 (patch)
tree21f9df9960986714a874436af164c511c69485a8
parent955d4f82eaa4bef245597ae9e95e8b1d2880af41 (diff)
implement search in pref-filters
-rw-r--r--classes/pref_filters.php25
-rw-r--r--digest.php7
-rw-r--r--index.php11
-rw-r--r--js/prefs.js6
-rw-r--r--mobile/login_form.php5
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 "<div id=\"pref-filter-header\" dojoType=\"dijit.layout.ContentPane\" region=\"top\">";
print "<div id=\"pref-filter-toolbar\" dojoType=\"dijit.Toolbar\">";
+ $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 "<div style='float : right; padding-right : 4px;'>
+ <input dojoType=\"dijit.form.TextBox\" id=\"filter_search\" size=\"20\" type=\"search\"
+ value=\"$filter_search\">
+ <button dojoType=\"dijit.form.Button\" onclick=\"updateFilterList()\">".
+ __('Search')."</button>
+ </div>";
+
print "<div dojoType=\"dijit.form.DropDownButton\">".
"<span>" . __('Select')."</span>";
print "<div dojoType=\"dijit.Menu\" style=\"display: none;\">";
diff --git a/digest.php b/digest.php
index c5b3c34c6..805e07488 100644
--- a/digest.php
+++ b/digest.php
@@ -1,5 +1,5 @@
<?php
- set_include_path(get_include_path() . PATH_SEPARATOR .
+ set_include_path(get_include_path() . PATH_SEPARATOR .
dirname(__FILE__) . "/include");
require_once "functions.php";
@@ -72,8 +72,11 @@
<?php echo __('Hello,') ?> <b><?php echo $_SESSION["name"] ?></b> |
<?php } ?>
<?php if (!SINGLE_USER_MODE) { ?>
- <a href="backend.php?op=logout"><?php echo __('Logout') ?></a>
+ <a href="backend.php?op=logout"><?php echo __('Logout') ?></a> |
<?php } ?>
+ <a href='<?php echo get_self_url_prefix() ?>/index.php?mobile=false'>
+ <?php echo __("Regular version") ?></a>
+
</div>
<span class="title">Tiny Tiny RSS</span>
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() {
</div>
</fieldset>
-
+
+ <div align='center'><a target='_self' href='<?php echo get_self_url_prefix() ?>/index.php?mobile=false'>
+ <?php echo __("Open regular version") ?></a>
+
</form>
</body>