From c1d7e6c344a6228df812e40a669303d4a3a06739 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Thu, 23 Aug 2007 09:05:40 +0100 Subject: [PATCH] new option: FRESH_ARTICLE_MAX_AGE (bump schema) --- functions.php | 18 ++++++++++++------ sanity_check.php | 2 +- schema/ttrss_schema_mysql.sql | 4 +++- schema/ttrss_schema_pgsql.sql | 4 +++- schema/versions/mysql/21.sql | 3 +++ schema/versions/pgsql/21.sql | 3 +++ 6 files changed, 25 insertions(+), 9 deletions(-) create mode 100644 schema/versions/mysql/21.sql create mode 100644 schema/versions/pgsql/21.sql diff --git a/functions.php b/functions.php index 272d50c5..0de5c128 100644 --- a/functions.php +++ b/functions.php @@ -1648,11 +1648,13 @@ if ($feed == -3) { + $intl = get_pref($link, "FRESH_ARTICLE_MAX_AGE"); + if (DB_TYPE == "pgsql") { - $match_part .= " AND date_entered > NOW() - INTERVAL '1 day' "; + $match_part .= " AND date_entered > NOW() - INTERVAL '$intl hour' "; } else { $match_part .= " AND date_entered > DATE_SUB(NOW(), - INTERVAL 1 DAY) "; + INTERVAL $intl HOUR) "; } db_query($link, "UPDATE ttrss_user_entries @@ -1856,10 +1858,12 @@ } else if ($n_feed == -3) { $match_part = "unread = true"; + $intl = get_pref($link, "FRESH_ARTICLE_MAX_AGE"); + if (DB_TYPE == "pgsql") { - $match_part .= " AND date_entered > NOW() - INTERVAL '1 day' "; + $match_part .= " AND date_entered > NOW() - INTERVAL '$intl hour' "; } else { - $match_part .= " AND date_entered > DATE_SUB(NOW(), INTERVAL 1 DAY) "; + $match_part .= " AND date_entered > DATE_SUB(NOW(), INTERVAL $intl HOUR) "; } } else if ($n_feed > 0) { @@ -2637,10 +2641,12 @@ } else if ($feed == -3) { // fresh virtual feed $query_strategy_part = "unread = true"; + $intl = get_pref($link, "FRESH_ARTICLE_MAX_AGE"); + if (DB_TYPE == "pgsql") { - $query_strategy_part .= " AND date_entered > NOW() - INTERVAL '1 day' "; + $query_strategy_part .= " AND date_entered > NOW() - INTERVAL '$intl hour' "; } else { - $query_strategy_part .= " AND date_entered > DATE_SUB(NOW(), INTERVAL 1 DAY) "; + $query_strategy_part .= " AND date_entered > DATE_SUB(NOW(), INTERVAL $intl HOUR) "; } $vfeed_query_part = "ttrss_feeds.title AS feed_title,"; diff --git a/sanity_check.php b/sanity_check.php index 7d41ea73..44a3c4f6 100644 --- a/sanity_check.php +++ b/sanity_check.php @@ -2,7 +2,7 @@ require_once "functions.php"; define('EXPECTED_CONFIG_VERSION', 8); - define('SCHEMA_VERSION', 20); + define('SCHEMA_VERSION', 21); if (!file_exists("config.php")) { print __("Fatal Error: You forgot to copy diff --git a/schema/ttrss_schema_mysql.sql b/schema/ttrss_schema_mysql.sql index dfa489c4..f2841a00 100644 --- a/schema/ttrss_schema_mysql.sql +++ b/schema/ttrss_schema_mysql.sql @@ -196,7 +196,7 @@ create table ttrss_tags (id integer primary key auto_increment, create table ttrss_version (schema_version int not null) TYPE=InnoDB; -insert into ttrss_version values (20); +insert into ttrss_version values (21); create table ttrss_prefs_types (id integer not null primary key, type_name varchar(100) not null) TYPE=InnoDB; @@ -294,6 +294,8 @@ insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) valu insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_PREFS_PUBLISH_KEY', 2, '', '', 1); +insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('FRESH_ARTICLE_MAX_AGE', 3, '24', 'Maximum age of fresh articles (in hours)',2); + create table ttrss_user_prefs ( owner_uid integer not null, pref_name varchar(250), diff --git a/schema/ttrss_schema_pgsql.sql b/schema/ttrss_schema_pgsql.sql index f7ad3e4b..021e1339 100644 --- a/schema/ttrss_schema_pgsql.sql +++ b/schema/ttrss_schema_pgsql.sql @@ -177,7 +177,7 @@ create index ttrss_tags_owner_uid_index on ttrss_tags(owner_uid); create table ttrss_version (schema_version int not null); -insert into ttrss_version values (20); +insert into ttrss_version values (21); create table ttrss_prefs_types (id integer not null primary key, type_name varchar(100) not null); @@ -271,6 +271,8 @@ insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) valu insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('_PREFS_PUBLISH_KEY', 2, '', '', 1); +insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('FRESH_ARTICLE_MAX_AGE', 3, '24', 'Maximum age of fresh articles (in hours)',2); + create table ttrss_user_prefs ( owner_uid integer not null references ttrss_users(id) ON DELETE CASCADE, pref_name varchar(250) not null references ttrss_prefs(pref_name) ON DELETE CASCADE, diff --git a/schema/versions/mysql/21.sql b/schema/versions/mysql/21.sql new file mode 100644 index 00000000..f64d8222 --- /dev/null +++ b/schema/versions/mysql/21.sql @@ -0,0 +1,3 @@ +insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('FRESH_ARTICLE_MAX_AGE', 3, '24', 'Maximum age of fresh articles (in hours)',2); + +update ttrss_version set schema_version = 21; diff --git a/schema/versions/pgsql/21.sql b/schema/versions/pgsql/21.sql new file mode 100644 index 00000000..f64d8222 --- /dev/null +++ b/schema/versions/pgsql/21.sql @@ -0,0 +1,3 @@ +insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('FRESH_ARTICLE_MAX_AGE', 3, '24', 'Maximum age of fresh articles (in hours)',2); + +update ttrss_version set schema_version = 21;