diff options
author | Andrew Dolgov <[email protected]> | 2013-03-25 20:08:34 +0400 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2013-03-25 20:09:37 +0400 |
commit | ec1f8a3d8ae9e00ea980c1b8f7cef158209be47d (patch) | |
tree | 200e331076d6cf0ea4e8dd1bc3d7362aabc06367 | |
parent | bcd4d2408630c2270510f318075ec7ab52f1de75 (diff) |
fix inverse rule to only mean negative regexp matching except for whole rule (refs #631)
-rw-r--r-- | classes/pref/filters.php | 12 | ||||
-rw-r--r-- | include/functions.php | 4 |
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)"); } |