From: Mischa POSLAWSKY Date: Sun, 6 Dec 2020 07:40:32 +0000 (+0100) Subject: mail: navigation links to earlier files X-Git-Tag: v5.0~23 X-Git-Url: http://git.shiar.net/minimedit.git/commitdiff_plain/68acff62101e1c302e55befa6d526c46f15da464 mail: navigation links to earlier files --- diff --git a/mail/index.php b/mail/index.php index d4d4c29..d8195f6 100644 --- a/mail/index.php +++ b/mail/index.php @@ -60,7 +60,13 @@ $rows = glob("$mailbox/*"); if (!$rows) { throw new Exception('Kon inbox niet openen.'); } -array_splice($rows, 0, -50); + +$nav = [ + 'start' => $_GET['start'] ?? 0, + 'n' => $_GET['n'] ?? 10, + 'total' => count($rows), +]; +$rows = array_slice(array_reverse($rows), $nav['start'], $nav['n']); ob_start(); print '\n"; + +print $Page->widget('nav', [ + "start=$nav[start]", "n=$nav[n]", "total=$nav[total]", +]); + $Page->place['maillist'] = ob_get_clean(); diff --git a/widget/login/commits.php b/widget/login/commits.php index c2d6449..0327f3f 100644 --- a/widget/login/commits.php +++ b/widget/login/commits.php @@ -26,7 +26,8 @@ if ( $log = popen($gitcmd, 'r') ) { print "\n\n"; pclose($log); - $navoptions = ["start=$offset", "n=$pagesize", "total=$lines"]; + $limit = $offset + $lines + 1; # assume one more + $navoptions = ["start=$offset", "n=$pagesize", "total=$limit"]; if ($Page->handler != 'login/commits') { $navoptions[] = 'link=login/commits'; } diff --git a/widget/nav.php b/widget/nav.php index 38b5714..8cf4b8b 100644 --- a/widget/nav.php +++ b/widget/nav.php @@ -6,7 +6,7 @@ if (isset($Page->place['link'])) { $nav = []; $nav[] = sprintf('Pagina %d', ceil($Page->place['start'] / $Page->place['n']) + 1); -if ($Page->place['total'] >= $Page->place['n']) { +if ($Page->place['total'] > $Page->place['start'] + $Page->place['n']) { $nav[] = sprintf('%s', $navbase, $Page->place['start'] + $Page->place['n'], 'eerder'); } if ($Page->place['start'] > $Page->place['n']) {