block type 5 filters (date)

This commit is contained in:
Andrew Dolgov 2012-08-31 12:54:37 +04:00
parent ec63052440
commit 37f78940d8
2 changed files with 50 additions and 41 deletions

View file

@ -109,13 +109,32 @@ class Pref_Filters extends Handler_Protected {
$result = db_query($this->link, "SELECT *, $result = db_query($this->link, "SELECT *,
(SELECT action_id FROM ttrss_filters2_actions (SELECT action_id FROM ttrss_filters2_actions
WHERE filter_id = ttrss_filters2.id ORDER BY id LIMIT 1) AS action_id, WHERE filter_id = ttrss_filters2.id ORDER BY id LIMIT 1) AS action_id,
(SELECT description FROM ttrss_filter_actions
WHERE id = (SELECT action_id FROM ttrss_filters2_actions
WHERE filter_id = ttrss_filters2.id ORDER BY id LIMIT 1)) AS action_name,
(SELECT reg_exp FROM ttrss_filters2_rules (SELECT reg_exp FROM ttrss_filters2_rules
WHERE filter_id = ttrss_filters2.id ORDER BY id LIMIT 1) AS reg_exp WHERE filter_id = ttrss_filters2.id ORDER BY id LIMIT 1) AS reg_exp
FROM ttrss_filters2 WHERE FROM ttrss_filters2 WHERE
owner_uid = ".$_SESSION["uid"]." ORDER BY action_id,reg_exp"); owner_uid = ".$_SESSION["uid"]." ORDER BY action_id,reg_exp");
$action_id = -1;
$folder = array();
$folder['items'] = array();
while ($line = db_fetch_assoc($result)) { while ($line = db_fetch_assoc($result)) {
if ($action_id != $line["action_id"]) {
if (count($folder['items']) > 0) {
$folder['id'] = $line["action_id"];
$folder['name'] = $line["action_name"];
array_push($root['items'], $folder);
}
$folder = array();
$folder['items'] = array();
$action_id = $line["action_id"];
}
$name = $this->getFilterName($line["id"]); $name = $this->getFilterName($line["id"]);
$filter = array(); $filter = array();
@ -126,7 +145,7 @@ class Pref_Filters extends Handler_Protected {
$filter['checkbox'] = false; $filter['checkbox'] = false;
$filter['enabled'] = sql_bool_to_bool($line["enabled"]); $filter['enabled'] = sql_bool_to_bool($line["enabled"]);
array_push($root['items'], $filter); array_push($folder['items'], $filter);
} }
$fl = array(); $fl = array();
@ -466,17 +485,6 @@ class Pref_Filters extends Handler_Protected {
$sort = "reg_exp"; $sort = "reg_exp";
} }
$result = db_query($this->link, "SELECT id,description
FROM ttrss_filter_types ORDER BY description");
$filter_types = array();
while ($line = db_fetch_assoc($result)) {
//array_push($filter_types, $line["description"]);
$filter_types[$line["id"]] = $line["description"];
}
$filter_search = db_escape_string($_REQUEST["search"]); $filter_search = db_escape_string($_REQUEST["search"]);
if (array_key_exists("search", $_REQUEST)) { if (array_key_exists("search", $_REQUEST)) {
@ -684,7 +692,7 @@ class Pref_Filters extends Handler_Protected {
print "<form name='filter_new_rule_form' id='filter_new_rule_form'>"; print "<form name='filter_new_rule_form' id='filter_new_rule_form'>";
$result = db_query($this->link, "SELECT id,description $result = db_query($this->link, "SELECT id,description
FROM ttrss_filter_types ORDER BY description"); FROM ttrss_filter_types WHERE id != 5 ORDER BY description");
$filter_types = array(); $filter_types = array();

View file

@ -254,36 +254,37 @@
while ($line = db_fetch_assoc($result)) { while ($line = db_fetch_assoc($result)) {
$owner_uid = $line["owner_uid"]; $owner_uid = $line["owner_uid"];
$filter = array(); // date filters are removed
if ($line["filter_type"] != 5) {
$filter = array();
if (sql_bool_to_bool($line["cat_filter"])) { if (sql_bool_to_bool($line["cat_filter"])) {
$feed_id = "CAT:" . (int)$line["cat_id"]; $feed_id = "CAT:" . (int)$line["cat_id"];
} else { } else {
$feed_id = (int)$line["feed_id"]; $feed_id = (int)$line["feed_id"];
}
$filter["enabled"] = $line["enabled"] ? "on" : "off";
$filter["rule"] = array(
json_encode(array(
"reg_exp" => $line["reg_exp"],
"feed_id" => $feed_id,
"filter_type" => $line["filter_type"])));
$filter["action"] = array(
json_encode(array(
"action_id" => $line["action_id"],
"action_param_label" => $line["action_param"],
"action_param" => $line["action_param"])));
// Oh god it's full of hacks
$_REQUEST = $filter;
$_SESSION["uid"] = $owner_uid;
$filters = new Pref_Filters($link, $_REQUEST);
$filters->add();
} }
$filter["enabled"] = $line["enabled"] ? "on" : "off";
$filter["rule"] = array(
json_encode(array(
"reg_exp" => $line["reg_exp"],
"feed_id" => $feed_id,
"filter_type" => $line["filter_type"])));
$filter["action"] = array(
json_encode(array(
"action_id" => $line["action_id"],
"action_param_label" => $line["action_param"],
"action_param" => $line["action_param"])));
// Oh god it's full of hacks
## print_r($filter);
$_REQUEST = $filter;
$_SESSION["uid"] = $owner_uid;
$filters = new Pref_Filters($link, $_REQUEST);
$filters->add();
} }
} }