diff options
author | Andrew Dolgov <[email protected]> | 2018-12-06 19:37:20 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2018-12-06 19:37:20 +0300 |
commit | 3e4326e34dcb4a9eb922c6d212fd05a58a11b124 (patch) | |
tree | e6f8f52053e19cf9cc3f5fa46082276b6ee609c4 | |
parent | a01c33d65409d8313221b981152ec627b8f8f3f1 (diff) |
add ttrss_filters2.last_triggered (bump schema version)
-rwxr-xr-x | classes/pref/filters.php | 1 | ||||
-rwxr-xr-x | classes/rssutils.php | 6 | ||||
-rwxr-xr-x | include/functions.php | 4 | ||||
-rw-r--r-- | js/PrefFilterTree.js | 4 | ||||
-rw-r--r-- | schema/ttrss_schema_mysql.sql | 3 | ||||
-rw-r--r-- | schema/ttrss_schema_pgsql.sql | 3 | ||||
-rw-r--r-- | schema/versions/mysql/135.sql | 8 | ||||
-rw-r--r-- | schema/versions/pgsql/135.sql | 8 |
8 files changed, 33 insertions, 4 deletions
diff --git a/classes/pref/filters.php b/classes/pref/filters.php index 54fc99bdc..7c255db4f 100755 --- a/classes/pref/filters.php +++ b/classes/pref/filters.php @@ -333,6 +333,7 @@ class Pref_Filters extends Handler_Protected { $filter['name'] = $name[0]; $filter['param'] = $name[1]; $filter['checkbox'] = false; + $filter['last_triggered'] = $line["last_triggered"] ? make_local_datetime($line["last_triggered"], false) : null; $filter['enabled'] = $line["enabled"]; $filter['rules'] = $this->getfilterrules_concise($line['id']); diff --git a/classes/rssutils.php b/classes/rssutils.php index 923e98c82..b43e752da 100755 --- a/classes/rssutils.php +++ b/classes/rssutils.php @@ -781,6 +781,12 @@ class RSSUtils { $plugin->hook_filter_triggered($feed, $owner_uid, $article, $matched_filters, $matched_rules, $article_filters); } + $matched_filter_ids = implode(",", array_map(function($f) { return $f['id']; }, $matched_filters)); + + $fsth = $pdo->prepare("UPDATE ttrss_filters2 SET last_triggered = NOW() WHERE + id IN (?) AND owner_uid = ?"); + $fsth->execute([$matched_filter_ids, $owner_uid]); + if (Debug::get_loglevel() >= Debug::$LOG_EXTENDED) { Debug::log("matched filters: ", Debug::$LOG_VERBOSE); diff --git a/include/functions.php b/include/functions.php index 83cc72f80..2b6ad50e4 100755 --- a/include/functions.php +++ b/include/functions.php @@ -1,6 +1,6 @@ <?php define('EXPECTED_CONFIG_VERSION', 26); - define('SCHEMA_VERSION', 134); + define('SCHEMA_VERSION', 135); define('LABEL_BASE_INDEX', -1024); define('PLUGIN_FEED_BASE_INDEX', -128); @@ -2589,4 +2589,4 @@ } return $ts; - }
\ No newline at end of file + } diff --git a/js/PrefFilterTree.js b/js/PrefFilterTree.js index 4d4ee52ca..6c04e55df 100644 --- a/js/PrefFilterTree.js +++ b/js/PrefFilterTree.js @@ -39,6 +39,7 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], functio const feed = this.model.store.getValue(item, 'feed'); const inverse = this.model.store.getValue(item, 'inverse'); + const last_triggered = this.model.store.getValue(item, 'last_triggered'); if (feed) label += " (" + __("in") + " " + feed + ")"; @@ -46,6 +47,9 @@ define(["dojo/_base/declare", "dojo/dom-construct", "lib/CheckBoxTree"], functio if (inverse) label += " (" + __("Inverse") + ")"; + if (last_triggered) + label += " — " + last_triggered; + return label; }, getIconClass: function (item, opened) { diff --git a/schema/ttrss_schema_mysql.sql b/schema/ttrss_schema_mysql.sql index a1b45efbb..81f941127 100644 --- a/schema/ttrss_schema_mysql.sql +++ b/schema/ttrss_schema_mysql.sql @@ -244,6 +244,7 @@ create table ttrss_filters2(id integer primary key auto_increment, inverse bool not null default false, title varchar(250) not null default '', order_id integer not null default 0, + last_triggered datetime default null, foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8; create table ttrss_filters2_rules(id integer primary key auto_increment, @@ -284,7 +285,7 @@ create table ttrss_tags (id integer primary key auto_increment, create table ttrss_version (schema_version int not null) ENGINE=InnoDB DEFAULT CHARSET=UTF8; -insert into ttrss_version values (134); +insert into ttrss_version values (135); create table ttrss_enclosures (id integer primary key auto_increment, content_url text not null, diff --git a/schema/ttrss_schema_pgsql.sql b/schema/ttrss_schema_pgsql.sql index dead2c762..3f0e012b3 100644 --- a/schema/ttrss_schema_pgsql.sql +++ b/schema/ttrss_schema_pgsql.sql @@ -239,6 +239,7 @@ create table ttrss_filters2(id serial not null primary key, inverse boolean not null default false, title varchar(250) not null default '', order_id integer not null default 0, + last_triggered timestamp default null, enabled boolean not null default true); create table ttrss_filters2_rules(id serial not null primary key, @@ -266,7 +267,7 @@ create index ttrss_tags_post_int_id_idx on ttrss_tags(post_int_id); create table ttrss_version (schema_version int not null); -insert into ttrss_version values (134); +insert into ttrss_version values (135); create table ttrss_enclosures (id serial not null primary key, content_url text not null, diff --git a/schema/versions/mysql/135.sql b/schema/versions/mysql/135.sql new file mode 100644 index 000000000..6d9d41ba6 --- /dev/null +++ b/schema/versions/mysql/135.sql @@ -0,0 +1,8 @@ +begin; + +alter table ttrss_filters2 add column last_triggered datetime; +alter table ttrss_filters2 alter column last_triggered set default null; + +update ttrss_version set schema_version = 135; + +commit; diff --git a/schema/versions/pgsql/135.sql b/schema/versions/pgsql/135.sql new file mode 100644 index 000000000..b1ec70505 --- /dev/null +++ b/schema/versions/pgsql/135.sql @@ -0,0 +1,8 @@ +begin; + +alter table ttrss_filters2 add column last_triggered timestamp; +alter table ttrss_filters2 alter column last_triggered set default null; + +update ttrss_version set schema_version = 135; + +commit; |