summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2013-03-25 20:08:34 +0400
committerAndrew Dolgov <[email protected]>2013-03-25 20:09:37 +0400
commitec1f8a3d8ae9e00ea980c1b8f7cef158209be47d (patch)
tree200e331076d6cf0ea4e8dd1bc3d7362aabc06367
parentbcd4d2408630c2270510f318075ec7ab52f1de75 (diff)
fix inverse rule to only mean negative regexp matching except for whole rule (refs #631)
-rw-r--r--classes/pref/filters.php12
-rw-r--r--include/functions.php4
2 files changed, 7 insertions, 9 deletions
diff --git a/classes/pref/filters.php b/classes/pref/filters.php
index 5ea4fe59d..883ff0ebd 100644
--- a/classes/pref/filters.php
+++ b/classes/pref/filters.php
@@ -792,6 +792,11 @@ class Pref_Filters extends Handler_Protected {
style=\"font-size : 16px; width : 20em;\"
name=\"reg_exp\" value=\"$reg_exp\"/>";
+ print "<hr/>";
+ print "<input id=\"filterDlg_inverse\" dojoType=\"dijit.form.CheckBox\"
+ name=\"inverse\" $inverse_checked/>";
+ print "<label for=\"filterDlg_inverse\">".__("Inverse regular expression matching")."</label>";
+
print "<hr/>" . __("on field") . " ";
print_select_hash("filter_type", $filter_type, $filter_types,
'dojoType="dijit.form.Select"');
@@ -806,13 +811,6 @@ class Pref_Filters extends Handler_Protected {
'dojoType="dijit.form.FilteringSelect"');
print "</span>";
- print "<p>";
-
- print "<input id=\"filterDlg_inverse\" dojoType=\"dijit.form.CheckBox\"
- name=\"inverse\" $inverse_checked/>";
-
- print "<label for=\"filterDlg_inverse\">".__("Inverse matching")."</label>";
-
print "</div>";
print "<div class=\"dlgButtons\">";
diff --git a/include/functions.php b/include/functions.php
index 9a855a9bc..682ffd2ee 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -3905,6 +3905,8 @@
break;
}
+ if (isset($rule['inverse'])) $qpart = "NOT ($qpart)";
+
if (isset($rule["feed_id"]) && $rule["feed_id"] > 0) {
$qpart .= " AND feed_id = " . db_escape_string($link, $rule["feed_id"]);
}
@@ -3925,8 +3927,6 @@
$qpart .= " AND $cat_qpart";
}
- if (isset($rule['inverse'])) $qpart = "NOT ($qpart)";
-
array_push($query, "($qpart)");
}