diff --git a/backend.php b/backend.php index 81f566b01..c81e1ccb1 100644 --- a/backend.php +++ b/backend.php @@ -1098,8 +1098,13 @@ print ""; } - $updated_fmt = date(get_pref($link, 'SHORT_DATE_FORMAT'), - strtotime($line["updated"])); + if (get_pref($link, 'HEADLINES_SMART_DATE')) { + $updated_fmt = smart_date_time(strtotime($line["updated"])); + } else { + $short_date = get_pref($link, 'SHORT_DATE_FORMAT'); + $updated_fmt = date($short_date, strtotime($line["updated"])); + } + print "$updated_fmt"; print ""; diff --git a/functions.php b/functions.php index f0077efae..7a09b9d86 100644 --- a/functions.php +++ b/functions.php @@ -737,4 +737,24 @@ return null; } } + + function smart_date_time($timestamp) { + if (date("Y.m.d", $timestamp) == date("Y.m.d")) { + return date("G:i", $timestamp); + } else if (date("Y.m", $timestamp) == date("Y.m")) { + return date("M d, G:i", $timestamp); + } else { + return date("Y/m/d G:i"); + } + } + + function smart_date($timestamp) { + if (date("Y.m.d", $timestamp) == date("Y.m.d")) { + return "Today"; + } else if (date("Y.m", $timestamp) == date("Y.m")) { + return date("D m", $timestamp); + } else { + return date("Y/m/d"); + } + } ?> diff --git a/schema/ttrss_schema_mysql.sql b/schema/ttrss_schema_mysql.sql index b7a9686b1..932e6f3a2 100644 --- a/schema/ttrss_schema_mysql.sql +++ b/schema/ttrss_schema_mysql.sql @@ -200,6 +200,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('SHOW_CONTENT_PREVIEW', 1, 'true', 'Show content preview in headlines list',2); +insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('HEADLINES_SMART_DATE', 1, 'true', 'Use more accessible date/time format for headlines',3); + 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 9204b6573..e4e01f1b0 100644 --- a/schema/ttrss_schema_pgsql.sql +++ b/schema/ttrss_schema_pgsql.sql @@ -185,6 +185,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('SHORT_DATE_FORMAT', 2, 'M d, G:i', 'Short date format',3); insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('LONG_DATE_FORMAT', 2, 'D, M d Y - G:i', 'Long date format',3); +insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('HEADLINES_SMART_DATE', 1, 'true', 'Use more accessible date/time format for headlines',3); + 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,