summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2007-01-30 17:23:35 +0100
committerAndrew Dolgov <[email protected]>2007-01-30 17:23:35 +0100
commit3f2ff803b391b719397f606dabd0c182db6ec274 (patch)
treeb54406e78da4822ce705efec2ef2df27147043e0 /modules
parent8011ac363a393a402726eef9e78ac09cba14f18a (diff)
add interface/schema for inverse matching filters
Diffstat (limited to 'modules')
-rw-r--r--modules/popup-dialog.php5
-rw-r--r--modules/pref-filters.php34
2 files changed, 33 insertions, 6 deletions
diff --git a/modules/popup-dialog.php b/modules/popup-dialog.php
index 240b09ba4..f9a955198 100644
--- a/modules/popup-dialog.php
+++ b/modules/popup-dialog.php
@@ -262,6 +262,11 @@
print "<td><input disabled class='iedit' name='action_param'></td></tr>";
+ print "<tr><td valign='top'>Options:</td><td>";
+
+ print "<input type=\"checkbox\" name=\"inverse\" id=\"inverse\">
+ <label for=\"inverse\">Inverse match</label></td></tr>";
+
print "</table>";
print "</form>";
diff --git a/modules/pref-filters.php b/modules/pref-filters.php
index 2a4747b8f..cbd942142 100644
--- a/modules/pref-filters.php
+++ b/modules/pref-filters.php
@@ -17,6 +17,7 @@
$action_param = db_fetch_result($result, 0, "action_param");
$enabled = sql_bool_to_bool(db_fetch_result($result, 0, "enabled"));
+ $inverse = sql_bool_to_bool(db_fetch_result($result, 0, "inverse"));
print "<div id=\"infoBoxTitle\">Filter editor</div>";
print "<div class=\"infoBoxContents\">";
@@ -87,9 +88,18 @@
$checked = "";
}
- print "<tr><td>Options:</td><td>
+ print "<tr><td valign='top'>Options:</td><td>
<input type=\"checkbox\" name=\"enabled\" id=\"enabled\" $checked>
- <label for=\"enabled\">Enabled</label>";
+ <label for=\"enabled\">Enabled</label><br/>";
+
+ if ($inverse) {
+ $checked = "checked";
+ } else {
+ $checked = "";
+ }
+
+ print "<input type=\"checkbox\" name=\"inverse\" id=\"inverse\" $checked>
+ <label for=\"inverse\">Inverse match</label>";
print "</td></tr></table>";
@@ -121,6 +131,7 @@
$action_id = db_escape_string($_GET["action_id"]);
$action_param = db_escape_string($_GET["action_param"]);
$enabled = checkbox_to_sql_bool(db_escape_string($_GET["enabled"]));
+ $inverse = checkbox_to_sql_bool(db_escape_string($_GET["inverse"]));
if (!$feed_id) {
$feed_id = 'NULL';
@@ -134,6 +145,7 @@
action_id = '$action_id',
filter_type = '$filter_type',
enabled = $enabled,
+ inverse = $inverse,
action_param = '$action_param'
WHERE id = '$filter_id' AND owner_uid = " . $_SESSION["uid"]);
}
@@ -161,6 +173,8 @@
$action_id = db_escape_string($_GET["action_id"]);
$action_param = db_escape_string($_GET["action_param"]);
+ $inverse = checkbox_to_sql_bool(db_escape_string($_GET["inverse"]));
+
if (!$regexp) return;
if (!$feed_id) {
@@ -171,10 +185,10 @@
$result = db_query($link,
"INSERT INTO ttrss_filters (reg_exp,filter_type,owner_uid,feed_id,
- action_id, action_param)
+ action_id, action_param, inverse)
VALUES
('$regexp', '$filter_type','".$_SESSION["uid"]."',
- $feed_id, '$action_id', '$action_param')");
+ $feed_id, '$action_id', '$action_param', $inverse)");
}
}
@@ -209,6 +223,7 @@
ttrss_filter_types.name AS filter_type_name,
ttrss_filter_types.description AS filter_type_descr,
enabled,
+ inverse,
feed_id,
ttrss_filter_actions.description AS action_description,
ttrss_feeds.title AS feed_title
@@ -251,7 +266,8 @@
$edit_filter_id = $_GET["id"];
$enabled = sql_bool_to_bool($line["enabled"]);
-
+ $inverse = sql_bool_to_bool($line["inverse"]);
+
if ($subop == "edit" && $filter_id != $edit_filter_id) {
$class .= "Grayed";
$this_row_id = "";
@@ -286,9 +302,15 @@
print "<td><a href=\"javascript:editFilter($filter_id);\">" .
$line["feed_title"] . "</td>";
+
+ $inverse_label = "";
+
+ if ($inverse) {
+ $inverse_label = " <span class='insensitive'>(Inverse)</span>";
+ }
print "<td><a href=\"javascript:editFilter($filter_id);\">" .
- $line["filter_type_descr"] . "</td>";
+ $line["filter_type_descr"] . "$inverse_label</td>";
print "<td><a href=\"javascript:editFilter($filter_id);\">" .
$line["action_description"] . "</td>";