From ec854b1457a18bb04deca57d6e4d97bf138d2d15 Mon Sep 17 00:00:00 2001 From: umorigu Date: Mon, 13 Nov 2017 01:24:15 +0900 Subject: [PATCH] BugTrack/2455 new plugin: Enable to work on cache --- plugin/new.inc.php | 24 ++++-------------------- skin/main.js | 23 +++++++++++++++++++++++ 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/plugin/new.inc.php b/plugin/new.inc.php index 5a41d0c..a0a6ef5 100644 --- a/plugin/new.inc.php +++ b/plugin/new.inc.php @@ -15,18 +15,9 @@ define('PLUGIN_NEW_DATE_FORMAT', '%s'); -function plugin_new_init() -{ - // Elapsed time => New! message with CSS - $messages['_plugin_new_elapses'] = array( - 60 * 60 * 24 * 1 => ' New!', // 1day - 60 * 60 * 24 * 5 => ' New'); // 5days - set_plugin_messages($messages); -} - function plugin_new_inline() { - global $vars, $_plugin_new_elapses; + global $vars; $retval = ''; $args = func_get_args(); @@ -83,17 +74,10 @@ function plugin_new_inline() } } } - - // Add 'New!' string by the elapsed time - $erapse = UTIME - $timestamp; - foreach ($_plugin_new_elapses as $limit=>$tag) { - if ($erapse <= $limit) { - $retval .= sprintf($tag, get_passage($timestamp)); - break; - } - } - if($date !== '') { + // 1 day hot: New! + // 5 days hot: New + $retval .= ''; // Show a date string return sprintf(PLUGIN_NEW_DATE_FORMAT, $retval); } else { diff --git a/skin/main.js b/skin/main.js index 4763650..c6619c8 100644 --- a/skin/main.js +++ b/skin/main.js @@ -346,6 +346,29 @@ window.addEventListener && window.addEventListener('DOMContentLoaded', function( e.textContent = getSimplePassage(d, now); } }); + // new plugin + var newItems = document.getElementsByClassName('__plugin_new'); + forEach(newItems, function(e) { + var dt = e.getAttribute('data-mtime'); + if (dt) { + var d = new Date(dt); + var diff = now.getTime() - d.getTime(); + var daySpan = diff / 1000 / 60 / 60 / 24; + if (daySpan < 1) { + e.textContent = ' New!'; + e.title = getPassage(d, now); + if (e.classList && e.classList.add) { + e.classList.add('new1'); + } + } else if (daySpan < 5) { + e.textContent = ' New'; + e.title = getPassage(d, now); + if (e.classList && e.classList.add) { + e.classList.add('new5'); + } + } + } + }); } setYourName(); autoTicketLink(); -- 2.11.0