From 68acff62101e1c302e55befa6d526c46f15da464 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Sun, 6 Dec 2020 08:40:32 +0100 Subject: [PATCH] mail: navigation links to earlier files --- mail/index.php | 13 ++++++++++++- widget/login/commits.php | 3 ++- widget/nav.php | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) 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']) { -- 2.30.0