From: Mischa POSLAWSKY Date: Sat, 29 Jun 2019 01:05:03 +0000 (+0200) Subject: widget: copy doclist and countdown from lijtweg.nl X-Git-Tag: v4.0~8 X-Git-Url: http://git.shiar.nl/minimedit.git/commitdiff_plain/0aa43066e7ac889d9bbba62344ed086d9b463366 widget: copy doclist and countdown from lijtweg.nl Sufficiently generic to prove useful in other projects. --- diff --git a/widget/countdown.php b/widget/countdown.php new file mode 100644 index 0000000..746e4b6 --- /dev/null +++ b/widget/countdown.php @@ -0,0 +1,45 @@ +diff($now); # age + +if ($interval) { + # recurring + $interval = new DateInterval('P'.$interval); + for ($attempt = 0; $attempt < 500; $attempt++) { + if ($next->invert) { + break; # past or today + } + $target->add($interval); + $next = $target->diff($now); + } +} +$next = $target->setTime(0, 0)->diff($now); # truncate to midnight +$eta = $next->invert ? $next->days + 1 : -$next->days; + +if ($eta == 0) { + print 'vandaag'; +} +elseif ($eta == 1) { + print 'morgen'; +} +elseif ($eta == 2) { + print 'overmorgen'; +} +elseif ($eta == -1) { + print 'gisteren'; +} +elseif ($eta < 0) { + printf('%d dagen geleden', -$eta); +} +else { + printf('over %d dagen', $eta); +} + +if ($interval) { + print ', ' . showdate(explode('-', $target->format('Y-m-d'))); +} diff --git a/widget/doclist.php b/widget/doclist.php new file mode 100644 index 0000000..78b8c49 --- /dev/null +++ b/widget/doclist.php @@ -0,0 +1,31 @@ + 5) print ' class="cols"'; +print ">\n"; +foreach (array_reverse($cal) as $title => $versions) { + print '
  • '; + if ($url = @$versions['html']) { + printf('%s', $url, $title); + } + elseif (implode('', array_keys($versions))) { + list ($format, $url) = each($versions); + include_once('format.inc.php'); + printf('%s (%sB %s)', + $title, $url, showsize(filesize($url)), $format + ); + } + else { + print $title; + } + print "\n"; +} +print "\n\n"; +