From d1f34cc6eb796b37570d67010e6ce087c9b5298c Mon Sep 17 00:00:00 2001 From: Max Pozdeev Date: Sun, 23 Aug 2020 22:46:00 +0300 Subject: [PATCH] * use full year in duedate field --- src/ajax.php | 11 +++++++---- src/common.php | 3 ++- src/mytinytodo.js | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/ajax.php b/src/ajax.php index 6e5e497..78a2adc 100644 --- a/src/ajax.php +++ b/src/ajax.php @@ -551,7 +551,7 @@ function prepareTaskRow($r) 'dueClass' => $dueA['class'], 'dueStr' => htmlarray($r['compl'] && $dueA['timestamp'] ? formatTime($formatCompletedInline, $dueA['timestamp']) : $dueA['str']), 'dueInt' => date2int($r['duedate']), - 'dueTitle' => htmlarray(sprintf($lang->get('taskdate_inline_duedate'), $dueA['formatted'])), + 'dueTitle' => htmlarray(sprintf($lang->get('taskdate_inline_duedate'), $dueA['formattedlong'])), ); } @@ -737,7 +737,7 @@ function prepare_duedate($duedate) { $lang = Lang::instance(); - $a = array( 'class'=>'', 'str'=>'', 'formatted'=>'', 'timestamp'=>0 ); + $a = array( 'class'=>'', 'str'=>'', 'formatted'=>'', 'formattedlong'=>'', 'timestamp'=>0 ); if($duedate == '') { return $a; } @@ -747,7 +747,7 @@ function prepare_duedate($duedate) $diff = mktime(0,0,0,$ad[1],$ad[2],$ad[0]) - mktime(0,0,0,$at[1],$at[2],$at[0]); if($diff < -604800 && $ad[0] == $at[0]) { $a['class'] = 'past'; $a['str'] = formatDate3(Config::get('dateformatshort'), (int)$ad[0], (int)$ad[1], (int)$ad[2], $lang); } - elseif($diff < -604800) { $a['class'] = 'past'; $a['str'] = formatDate3(Config::get('dateformat2'), (int)$ad[0], (int)$ad[1], (int)$ad[2], $lang); } + elseif($diff < -604800) { $a['class'] = 'past'; $a['str'] = formatDate3(Config::get('dateformat2'), (int)$ad[0], (int)$ad[1], (int)$ad[2], $lang); } elseif($diff < -86400) { $a['class'] = 'past'; $a['str'] = sprintf($lang->get('daysago'),ceil(abs($diff)/86400)); } elseif($diff < 0) { $a['class'] = 'past'; $a['str'] = $lang->get('yesterday'); } elseif($diff < 86400) { $a['class'] = 'today'; $a['str'] = $lang->get('today'); } @@ -756,7 +756,10 @@ function prepare_duedate($duedate) elseif($ad[0] == $at[0]) { $a['class'] = 'future'; $a['str'] = formatDate3(Config::get('dateformatshort'), (int)$ad[0], (int)$ad[1], (int)$ad[2], $lang); } else { $a['class'] = 'future'; $a['str'] = formatDate3(Config::get('dateformat2'), (int)$ad[0], (int)$ad[1], (int)$ad[2], $lang); } - $a['formatted'] = formatTime(Config::get('dateformat2'), $a['timestamp']); + #avoid short year + $fmt = str_replace('y', 'Y', Config::get('dateformat2')); + $a['formatted'] = formatTime($fmt, $a['timestamp']); + $a['formattedlong'] = formatTime(Config::get('dateformat'), $a['timestamp']); return $a; } diff --git a/src/common.php b/src/common.php index 78b26db..13d9e9e 100644 --- a/src/common.php +++ b/src/common.php @@ -153,7 +153,8 @@ function formatDate3($format, $ay, $am, $ad, $lang) $ml = $lang->get('months_long'); $ms = $lang->get('months_short'); $Y = $ay; - $y = $Y < 2010 ? '0'.($Y-2000) : $Y-2000; + $YC = 100 * floor($Y/100); //...1900,2000,2100... + $y = $Y < $YC+10 ? '0'.($Y-$YC) : $Y-$YC; $n = $am; $m = $n < 10 ? '0'.$n : $n; $F = $ml[$am-1]; diff --git a/src/mytinytodo.js b/src/mytinytodo.js index 8094e62..4529ed0 100644 --- a/src/mytinytodo.js +++ b/src/mytinytodo.js @@ -624,7 +624,7 @@ var mytinytodo = window.mytinytodo = _mtt = { var s = this.options.duedatepickerformat.replace(/(.)/g, function(t,s) { switch(t) { case 'Y': return 'yy'; - case 'y': return 'y'; + case 'y': return 'yy'; case 'd': return 'dd'; case 'j': return 'd'; case 'm': return 'mm';