summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2006-05-20 12:39:22 +0100
committerAndrew Dolgov <[email protected]>2006-05-20 12:39:22 +0100
commit79f3553b8b82e9b62b82456bdcdf74a4abe162fe (patch)
treee89a1617133f03eb474507b41d6f3cb450338628
parent14f69488dafab0fc44666038eb370d59b54d1e9c (diff)
create filter dialog uses prototype
-rw-r--r--backend.php34
-rw-r--r--functions.js30
-rw-r--r--functions.php14
-rw-r--r--prefs.js2
-rw-r--r--tt-rss.css9
5 files changed, 42 insertions, 47 deletions
diff --git a/backend.php b/backend.php
index 8c4dbcfe3..24b738204 100644
--- a/backend.php
+++ b/backend.php
@@ -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>";
diff --git a/functions.js b/functions.js
index ee26d0a92..627eb287a 100644
--- a/functions.js
+++ b/functions.js
@@ -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");
-
- if (regexp.value.length == 0) {
- alert("Missing filter expression.");
- } else {
- notify("Adding filter...");
+ var query = Form.serialize("filter_add_form");
- 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);
}
diff --git a/functions.php b/functions.php
index 0f05f8aec..d9df9ca3a 100644
--- a/functions.php
+++ b/functions.php
@@ -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>";
diff --git a/prefs.js b/prefs.js
index c9001e8a0..e8c36bc7c 100644
--- a/prefs.js
+++ b/prefs.js
@@ -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) {
diff --git a/tt-rss.css b/tt-rss.css
index 6c4a86367..56edc7e93 100644
--- a/tt-rss.css
+++ b/tt-rss.css
@@ -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;
+}