From 7e939457baf8e22761fb61b99cacdee61f29a544 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 20 May 2006 13:26:07 +0100 Subject: [PATCH] inline filter editor uses prototype --- backend.php | 49 ++++++++++++++++++++++++++++++------------------- prefs.js | 29 +++++------------------------ tt-rss.css | 2 +- 3 files changed, 36 insertions(+), 44 deletions(-) diff --git a/backend.php b/backend.php index f51e9c1a..4645759e 100644 --- a/backend.php +++ b/backend.php @@ -2108,11 +2108,11 @@ if ($subop == "editSave") { - $regexp = db_escape_string(trim($_GET["r"])); - $match = db_escape_string(trim($_GET["m"])); + $reg_exp = db_escape_string(trim($_GET["reg_exp"])); + $filter_type = db_escape_string(trim($_GET["filter_type"])); $filter_id = db_escape_string($_GET["id"]); - $feed_id = db_escape_string($_GET["fid"]); - $action_id = db_escape_string($_GET["aid"]); + $feed_id = db_escape_string($_GET["feed_id"]); + $action_id = db_escape_string($_GET["action_id"]); if (!$feed_id) { $feed_id = 'NULL'; @@ -2121,11 +2121,10 @@ } $result = db_query($link, "UPDATE ttrss_filters SET - reg_exp = '$regexp', - feed_id = $feed_id, - action_id = '$action_id', - filter_type = (SELECT id FROM ttrss_filter_types WHERE - description = '$match') + reg_exp = '$reg_exp', + feed_id = $feed_id, + action_id = '$action_id', + filter_type = '$filter_type' WHERE id = '$filter_id'"); } @@ -2171,13 +2170,14 @@ print "
PLACEHOLDER
"; - $result = db_query($link, "SELECT description + $result = db_query($link, "SELECT id,description FROM ttrss_filter_types ORDER BY description"); $filter_types = array(); while ($line = db_fetch_assoc($result)) { - array_push($filter_types, $line["description"]); + //array_push($filter_types, $line["description"]); + $filter_types[$line["id"]] = $line["description"]; } print ""; + print "

"; @@ -2242,7 +2244,7 @@ if (!$line["feed_title"]) $line["feed_title"] = "All feeds"; if (!$edit_filter_id || $subop != "edit") { - + print ""; @@ -2272,21 +2274,28 @@ } else { - print ""; + print ""; - print ""; print ""; print ""; print "
"; + + print ""; + print ""; + print ""; + + print ""; - print_feed_select($link, "iedit_feed", $line["feed_id"]); + print_feed_select($link, "feed_id", $line["feed_id"], "class=\"iedit\""); print ""; - print_select("iedit_match", $line["filter_type_descr"], $filter_types); + print_select_hash("filter_type", $line["filter_type"], $filter_types, + "class=\"iedit\""); print ""; - print ""; $tmp_result = db_query($link, "SELECT id,description FROM ttrss_filter_actions ORDER BY description"); @@ -2297,7 +2306,7 @@ } else { $is_selected = ""; } - printf("", + printf("", $tmp_line["id"], $tmp_line["description"]); } @@ -2316,6 +2325,8 @@ } print "
"; + + print ""; print "

"; @@ -2334,7 +2345,7 @@ onclick=\"javascript:editSelectedFilter()\" value=\"Edit\"> "; - } + } } else { diff --git a/prefs.js b/prefs.js index 50809d87..7b1e4f0b 100644 --- a/prefs.js +++ b/prefs.js @@ -684,8 +684,6 @@ function feedCatEditCancel() { function feedEditSave() { try { - - var feed = active_feed; if (!xmlhttp_ready(xmlhttp)) { printLockingError(); @@ -887,39 +885,22 @@ function userEditSave() { function filterEditSave() { - var filter = active_filter; - if (!xmlhttp_ready(xmlhttp)) { printLockingError(); return } - var regexp = document.getElementById("iedit_regexp").value; - var match = document.getElementById("iedit_match"); - - var v_match = match[match.selectedIndex].text; + // FIXME: input validation - var feed = document.getElementById("iedit_feed"); - var feed_id = feed[feed.selectedIndex].id; - - var action = document.getElementById("iedit_filter_action"); - var action_id = action[action.selectedIndex].id; - - if (regexp.length == 0) { - alert("Can't save filter: match expression is blank."); - return; - } + notify("Saving filter..."); active_filter = false; - xmlhttp.open("GET", "backend.php?op=pref-filters&subop=editSave&id=" + - filter + "&r=" + param_escape(regexp) + "&m=" + param_escape(v_match) + - "&fid=" + param_escape(feed_id) + "&aid=" + param_escape(action_id), true); - - notify("Saving filter..."); + var query = Form.serialize("filter_edit_form"); + xmlhttp.open("GET", "backend.php?" + query, true); xmlhttp.onreadystatechange=filterlist_callback; - xmlhttp.send(null); + xmlhttp.send(null); } diff --git a/tt-rss.css b/tt-rss.css index 56edc7e9..f9e109df 100644 --- a/tt-rss.css +++ b/tt-rss.css @@ -287,7 +287,7 @@ a:hover { background-color : #f0fff0; } -input.iedit { +.iedit { width : 100%; padding-left : 2px; } -- 2.39.5