create filter dialog uses prototype

This commit is contained in:
Andrew Dolgov 2006-05-20 12:39:22 +01:00
parent 14f69488da
commit 79f3553b8b
5 changed files with 42 additions and 47 deletions

View File

@ -2146,10 +2146,10 @@
if (!WEB_DEMO_MODE) {
$regexp = db_escape_string(trim($_GET["regexp"]));
$match = db_escape_string(trim($_GET["match"]));
$feed_id = db_escape_string($_GET["fid"]);
$action_id = db_escape_string($_GET["aid"]);
$regexp = db_escape_string(trim($_GET["reg_exp"]));
$match_id = db_escape_string(trim($_GET["match_id"]));
$feed_id = db_escape_string($_GET["feed_id"]);
$action_id = db_escape_string($_GET["action_id"]);
if (!$feed_id) {
$feed_id = 'NULL';
@ -2161,8 +2161,7 @@
"INSERT INTO ttrss_filters (reg_exp,filter_type,owner_uid,feed_id,
action_id)
VALUES
('$regexp', (SELECT id FROM ttrss_filter_types WHERE
description = '$match'),'".$_SESSION["uid"]."',
('$regexp', '$match_id','".$_SESSION["uid"]."',
$feed_id, '$action_id')");
}
}
@ -2742,41 +2741,48 @@
print "<div id=\"infoBoxTitle\">Create filter</div>";
print "<div class=\"infoBoxContents\">";
print "<form id=\"filter_add_form\">";
print "<input type=\"hidden\" name=\"op\" value=\"pref-filters\">";
print "<input type=\"hidden\" name=\"quiet\" value=\"1\">";
print "<input type=\"hidden\" name=\"subop\" value=\"add\">";
// print "<div class=\"notice\"><b>Note:</b> filter will only apply to new articles.</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 "<table width='100%'>";
print "<tr><td>Match:</td>
<td><input onkeyup=\"toggleSubmitNotEmpty(this, 'infobox_submit')\"
id=\"fadd_regexp\" size=\"30\">&nbsp;";
name=\"reg_exp\" size=\"30\">&nbsp;";
print_select("fadd_match", "Title", $filter_types);
print_select_hash("match_id", 1, $filter_types);
print "</td></tr>";
print "<tr><td>Feed:</td><td>";
print_feed_select($link, "fadd_feed");
print_feed_select($link, "feed_id");
print "</td></tr>";
print "<tr><td>Action:</td>";
print "<td><select id=\"fadd_action\">";
print "<td><select name=\"action_id\">";
$result = db_query($link, "SELECT id,description FROM ttrss_filter_actions
ORDER BY name");
while ($line = db_fetch_assoc($result)) {
printf("<option id='%d'>%s</option>", $line["id"], $line["description"]);
printf("<option value='%d'>%s</option>", $line["id"], $line["description"]);
}
print "</select>";
@ -2794,6 +2800,8 @@
print "</td></tr></table>";
print "</form>";
}
print "</div>";

View File

@ -992,13 +992,15 @@ function displayDlg(id, param) {
function infobox_submit_callback() {
if (xmlhttp.readyState == 4) {
notify(xmlhttp.responseText);
closeInfoBox();
// called from prefs, reload tab
if (active_tab) {
selectTab(active_tab, false);
}
notify(xmlhttp.responseText);
}
}
@ -1024,29 +1026,11 @@ function qaddFilter() {
return
}
var regexp = document.getElementById("fadd_regexp");
var match = document.getElementById("fadd_match");
var feed = document.getElementById("fadd_feed");
var action = document.getElementById("fadd_action");
var query = Form.serialize("filter_add_form");
if (regexp.value.length == 0) {
alert("Missing filter expression.");
} else {
notify("Adding filter...");
var v_match = match[match.selectedIndex].text;
var feed_id = feed[feed.selectedIndex].id;
var action_id = action[action.selectedIndex].id;
xmlhttp.open("GET", "backend.php?op=pref-filters&quiet=1&subop=add&regexp=" +
param_escape(regexp.value) + "&match=" + v_match +
"&fid=" + param_escape(feed_id) + "&aid=" + param_escape(action_id), true);
xmlhttp.onreadystatechange=infobox_submit_callback;
xmlhttp.send(null);
regexp.value = "";
}
xmlhttp.open("GET", "backend.php?" + query, true);
xmlhttp.onreadystatechange=infobox_submit_callback;
xmlhttp.send(null);
}

View File

@ -653,7 +653,7 @@
}
function print_select($id, $default, $values, $attributes = "") {
print "<select id=\"$id\" $attributes>";
print "<select name=\"$id\" id=\"$id\" $attributes>";
foreach ($values as $v) {
if ($v == $default)
$sel = " selected";
@ -665,8 +665,8 @@
print "</select>";
}
function print_select_hash($id, $values, $default, $attributes = "") {
print "<select id='$id' $attributes>";
function print_select_hash($id, $default, $values, $attributes = "") {
print "<select name=\"$id\" id='$id' $attributes>";
foreach (array_keys($values) as $v) {
if ($v == $default)
$sel = "selected";
@ -1582,9 +1582,9 @@
function print_feed_select($link, $id, $default_id = "",
$attributes = "", $include_all_feeds = true) {
print "<select id=\"$id\" $attributes>";
print "<select id=\"$id\" name=\"$id\" $attributes>";
if ($include_all_feeds) {
print "<option id=\"0\">All feeds</option>";
print "<option value=\"0\">All feeds</option>";
}
$result = db_query($link, "SELECT id,title FROM ttrss_feeds
@ -1600,7 +1600,7 @@
} else {
$is_selected = "";
}
printf("<option $is_selected id='%d'>%s</option>",
printf("<option $is_selected value='%d'>%s</option>",
$line["id"], db_unescape_string($line["title"]));
}
@ -1610,7 +1610,7 @@
function print_feed_cat_select($link, $id, $default_id = "",
$attributes = "", $include_all_cats = true) {
print "<select name=\"$id\" $attributes>";
print "<select id=\"$id\" name=\"$id\" $attributes>";
if ($include_all_cats) {
print "<option value=\"0\">Uncategorized</option>";

View File

@ -1313,7 +1313,7 @@ function categorizeSelectedFeeds() {
var sel_rows = getSelectedFeeds();
var cat_sel = document.getElementById("sfeed_set_fcat");
var cat_id = cat_sel[cat_sel.selectedIndex].id;
var cat_id = cat_sel[cat_sel.selectedIndex].value;
if (sel_rows.length > 0) {

View File

@ -278,14 +278,14 @@ a:hover {
opacity : 0.8;
}
/*
#iedit_title, #iedit_link, #iedit_regexp, #iedit_descr, #iedit_expr, #iedit_updintl,
#iedit_purgintl, #iedit_ulogin, #iedit_ulevel, #iedit_match, #iedit_feed,
#iedit_fcat, #iedit_filter_action, #iedit_login, #iedit_pass, #iedit_email,
#iedit_parent_feed {
width : 100%;
padding-left : 2px;
} */
background-color : #f0fff0;
}
input.iedit {
width : 100%;
@ -1099,4 +1099,7 @@ div.noDaemonWarning {
width : 100%;
}
form {
margin : 0px;
padding : 0px;
}