inline filter editor uses prototype

This commit is contained in:
Andrew Dolgov 2006-05-20 13:26:07 +01:00
parent c14b556666
commit 7e939457ba
3 changed files with 38 additions and 46 deletions

View file

@ -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',
reg_exp = '$reg_exp',
feed_id = $feed_id,
action_id = '$action_id',
filter_type = (SELECT id FROM ttrss_filter_types WHERE
description = '$match')
filter_type = '$filter_type'
WHERE id = '$filter_id'");
}
@ -2171,13 +2170,14 @@
print "<div id=\"infoBoxShadow\">
<div id=\"infoBox\">PLACEHOLDER</div></div>";
$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 "<input type=\"submit\"
@ -2203,6 +2203,8 @@
if (db_num_rows($result) != 0) {
print "<form id=\"filter_edit_form\">";
print "<p><table width=\"100%\" cellspacing=\"0\" class=\"prefFilterList\"
id=\"prefFilterList\">";
@ -2272,21 +2274,28 @@
} else {
print "<td align='center'><input disabled=\"true\" type=\"checkbox\" checked></td>";
print "<td align='center'><input disabled=\"true\" type=\"checkbox\" checked>";
print "<td><input id=\"iedit_regexp\" value=\"".$line["reg_exp"].
print "<input type=\"hidden\" name=\"id\" value=\"$filter_id\">";
print "<input type=\"hidden\" name=\"op\" value=\"pref-filters\">";
print "<input type=\"hidden\" name=\"subop\" value=\"editSave\">";
print "</td>";
print "<td><input class=\"iedit\" name=\"reg_exp\" value=\"".$line["reg_exp"].
"\"></td>";
print "<td>";
print_feed_select($link, "iedit_feed", $line["feed_id"]);
print_feed_select($link, "feed_id", $line["feed_id"], "class=\"iedit\"");
print "</td>";
print "<td>";
print_select("iedit_match", $line["filter_type_descr"], $filter_types);
print_select_hash("filter_type", $line["filter_type"], $filter_types,
"class=\"iedit\"");
print "</td>";
print "<td>";
print "<select id=\"iedit_filter_action\">";
print "<select name=\"action_id\" class=\"iedit\">";
$tmp_result = db_query($link, "SELECT id,description FROM ttrss_filter_actions
ORDER BY description");
@ -2297,7 +2306,7 @@
} else {
$is_selected = "";
}
printf("<option $is_selected id='%d'>%s</option>",
printf("<option $is_selected value='%d'>%s</option>",
$tmp_line["id"], $tmp_line["description"]);
}
@ -2317,6 +2326,8 @@
print "</table>";
print "</form>";
print "<p id=\"filterOpToolbar\">";
if ($subop == "edit") {

View file

@ -685,8 +685,6 @@ function feedEditSave() {
try {
var feed = active_feed;
if (!xmlhttp_ready(xmlhttp)) {
printLockingError();
return
@ -887,37 +885,20 @@ 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;
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;
}
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);
// FIXME: input validation
notify("Saving filter...");
active_filter = false;
var query = Form.serialize("filter_edit_form");
xmlhttp.open("GET", "backend.php?" + query, true);
xmlhttp.onreadystatechange=filterlist_callback;
xmlhttp.send(null);

View file

@ -287,7 +287,7 @@ a:hover {
background-color : #f0fff0;
}
input.iedit {
.iedit {
width : 100%;
padding-left : 2px;
}