]> git.wh0rd.org - tt-rss.git/commitdiff
create filter dialog uses prototype
authorAndrew Dolgov <fox@bah.spb.su>
Sat, 20 May 2006 11:39:22 +0000 (12:39 +0100)
committerAndrew Dolgov <fox@bah.spb.su>
Sat, 20 May 2006 11:39:22 +0000 (12:39 +0100)
backend.php
functions.js
functions.php
prefs.js
tt-rss.css

index 8c4dbcfe35857126bd51fa5cc7e9a1c1099cbc91..24b7382049064a6165f3b63137f18525f3f5018f 100644 (file)
                
                        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';
                                        "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')");
                        } 
                }
                        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>";
 
                        print "</td></tr></table>";
 
+                       print "</form>";
+
                }
 
                print "</div>";
index ee26d0a924861b3d2e0609b75278d31e6c02dc8a..627eb287a5d449e3138ebfdbc8eadc8dfd173ba4 100644 (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");
-
-       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);
 
 }
 
index 0f05f8aec571732d4f8e4eb6a90d8f769b65789d..d9df9ca3ad9edbbba36c5df381657af8502ab6db 100644 (file)
        }
 
        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";
                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";
        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
                        } 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"]));
                }
        
        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>";
index c9001e8a07b55e2d074a24d2bf4d1e4a291bb5bd..e8c36bc7cc107414b3882458f2799d7bcccb56b5 100644 (file)
--- 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) {
 
index 6c4a863679d73269fc98fce86614432fb086c7e4..56edc7e9324dead0e607cfd6032d4045b16429e4 100644 (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;
+}