diff --git a/backend.php b/backend.php index 9c0b5c8b0..3b07bd38d 100644 --- a/backend.php +++ b/backend.php @@ -613,22 +613,16 @@ if ($subop == "add") { -/* if (!WEB_DEMO_MODE) { + if (!WEB_DEMO_MODE) { - $feed_link = pg_escape_string($_GET["link"]); + $regexp = pg_escape_string($_GET["regexp"]); + $match = pg_escape_string($_GET["match"]); $result = pg_query( - "INSERT INTO ttrss_feeds (feed_url,title) VALUES ('$feed_link', '')"); - - $result = pg_query( - "SELECT id FROM ttrss_feeds WHERE feed_url = '$feed_link'"); - - $feed_id = pg_fetch_result($result, 0, "id"); - - if ($feed_id) { - update_rss_feed($link, $feed_link, $feed_id); - } - } */ + "INSERT INTO ttrss_filters (regexp,filter_type) VALUES + ('$regexp', (SELECT id FROM ttrss_filter_types WHERE + description = '$match'))"); + } } $result = pg_query("SELECT description diff --git a/prefs.js b/prefs.js index a498bb2e3..e55f7d4f4 100644 --- a/prefs.js +++ b/prefs.js @@ -106,6 +106,31 @@ function toggleSelectRow(sender) { } } +function addFilter() { + + if (!xmlhttp_ready(xmlhttp)) { + printLockingError(); + return + } + + var regexp = document.getElementById("fadd_regexp"); + var match = document.getElementById("fadd_match"); + + if (regexp.value.length == 0) { + notify("Missing filter expression."); + } else { + notify("Adding filter..."); + + xmlhttp.open("GET", "backend.php?op=pref-filters&subop=add®exp=" + + param_escape(regexp.value) + "&match=" + match.value, true); + + xmlhttp.onreadystatechange=filterlist_callback; + xmlhttp.send(null); + + regexp.value = ""; + } + +} function addFeed() { if (!xmlhttp_ready(xmlhttp)) {