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,