diff --git a/classes/dlg.php b/classes/dlg.php
index 6a6dace24..c540214a6 100644
--- a/classes/dlg.php
+++ b/classes/dlg.php
@@ -445,7 +445,8 @@ class Dlg extends Handler_Protected {
}
function quickAddFilter() {
- $active_feed_id = db_escape_string($_REQUEST["param"]);
+ $active_feed_id = (int) db_escape_string($_REQUEST["feed"]);
+ $cat_filter = db_escape_string($_REQUEST["is_cat"]) == "true";
print "";
print "";
@@ -497,7 +498,8 @@ class Dlg extends Handler_Protected {
print __("in") . " ";
print "";
- print_feed_select($this->link, "feed_id", $active_feed_id,
+ print_feed_select($this->link, "feed_id",
+ $cat_filter ? "CAT:$active_feed_id" : $active_feed_id,
'dojoType="dijit.form.FilteringSelect"');
print "";
diff --git a/js/functions.js b/js/functions.js
index 65d214ae5..3aa730359 100644
--- a/js/functions.js
+++ b/js/functions.js
@@ -940,7 +940,14 @@ function quickAddFeed() {
function quickAddFilter() {
try {
- var query = "backend.php?op=dlg&method=quickAddFilter";
+ var query = "";
+ if (!inPreferences()) {
+ query = "backend.php?op=dlg&method=quickAddFilter&feed=" +
+ param_escape(getActiveFeedId()) + "&is_cat=" +
+ param_escape(activeFeedIsCat());
+ } else {
+ query = "backend.php?op=dlg&method=quickAddFilter";
+ }
if (dijit.byId("feedEditDlg"))
dijit.byId("feedEditDlg").destroyRecursive();