summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2018-12-06 19:37:20 +0300
committerAndrew Dolgov <[email protected]>2018-12-06 19:37:20 +0300
commit3e4326e34dcb4a9eb922c6d212fd05a58a11b124 (patch)
treee6f8f52053e19cf9cc3f5fa46082276b6ee609c4
parenta01c33d65409d8313221b981152ec627b8f8f3f1 (diff)
add ttrss_filters2.last_triggered (bump schema version)
-rwxr-xr-xclasses/pref/filters.php1
-rwxr-xr-xclasses/rssutils.php6
-rwxr-xr-xinclude/functions.php4
-rw-r--r--js/PrefFilterTree.js4
-rw-r--r--schema/ttrss_schema_mysql.sql3
-rw-r--r--schema/ttrss_schema_pgsql.sql3
-rw-r--r--schema/versions/mysql/135.sql8
-rw-r--r--schema/versions/pgsql/135.sql8
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;