From 9646b7da22c4c6f3419bfe51431720dd622374d8 Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Wed, 3 Aug 2016 09:44:04 +0200 Subject: [PATCH] Save the update date in LinkDB and pass it to linklist templates It can be used as a timestamp by templates under the key 'updated_timestamp'. --- application/LinkDB.php | 3 ++- index.php | 12 +++++++++++- tpl/linklist.html | 11 ++++++++++- 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/application/LinkDB.php b/application/LinkDB.php index d80434bf..de9e73b0 100644 --- a/application/LinkDB.php +++ b/application/LinkDB.php @@ -12,8 +12,9 @@ * * Available keys: * - description: description of the entry - * - linkdate: date of the creation of this entry, in the form YYYYMMDD_HHMMSS + * - linkdate: creation date of this entry, format: YYYYMMDD_HHMMSS * (e.g.'20110914_192317') + * - updated: last modification date of this entry, format: YYYYMMDD_HHMMSS * - private: Is this link private? 0=no, other value=yes * - tags: tags attached to this entry (separated by spaces) * - title Title of the link diff --git a/index.php b/index.php index 55b12adc..d425afda 100644 --- a/index.php +++ b/index.php @@ -1227,6 +1227,9 @@ function renderPage($conf, $pluginManager) // -------- User clicked the "Save" button when editing a link: Save link to database. if (isset($_POST['save_edit'])) { + $linkdate = $_POST['lf_linkdate']; + $updated = isset($LINKSDB[$linkdate]) ? strval(date('Ymd_His')) : false; + // Go away! if (! tokenOk($_POST['token'])) { die('Wrong token.'); @@ -1237,7 +1240,7 @@ function renderPage($conf, $pluginManager) $tags = preg_replace('/(^| )\-/', '$1', $tags); // Remove duplicates. $tags = implode(' ', array_unique(explode(' ', $tags))); - $linkdate = $_POST['lf_linkdate']; + $url = trim($_POST['lf_url']); if (! startsWith($url, 'http:') && ! startsWith($url, 'https:') && ! startsWith($url, 'ftp:') && ! startsWith($url, 'magnet:') @@ -1252,6 +1255,7 @@ function renderPage($conf, $pluginManager) 'description' => $_POST['lf_description'], 'private' => (isset($_POST['lf_private']) ? 1 : 0), 'linkdate' => $linkdate, + 'updated' => $updated, 'tags' => str_replace(',', ' ', $tags) ); // If title is empty, use the URL as title. @@ -1696,6 +1700,12 @@ function buildLinkList($PAGE,$LINKSDB, $conf, $pluginManager) $link['class'] = $link['private'] == 0 ? $classLi : 'private'; $date = DateTime::createFromFormat(LinkDB::LINK_DATE_FORMAT, $link['linkdate']); $link['timestamp'] = $date->getTimestamp(); + if (! empty($link['updated'])) { + $date = DateTime::createFromFormat(LinkDB::LINK_DATE_FORMAT, $link['updated']); + $link['updated_timestamp'] = $date->getTimestamp(); + } else { + $link['updated_timestamp'] = ''; + } $taglist = explode(' ', $link['tags']); uasort($taglist, 'strcasecmp'); $link['taglist'] = $taglist; diff --git a/tpl/linklist.html b/tpl/linklist.html index 2316f145..9979f12a 100644 --- a/tpl/linklist.html +++ b/tpl/linklist.html @@ -89,7 +89,16 @@
{if="$value.description"}
{$value.description}
{/if} {if="!$hide_timestamps || isLoggedIn()"} - {function="strftime('%c', $value.timestamp)"} - permalink - + {$updated=$value.updated_timestamp ? 'Edited: '. strftime('%c', $value.updated_timestamp) : 'Permalink'} + + + + {function="strftime('%c', $value.timestamp)"} + {if="$value.updated_timestamp"}*{/if} + + - permalink + - + {else} permalink - {/if} -- 2.41.0