mail: navigation links to earlier files
[minimedit.git] / widget / login / commits.php
index b9cae451be89d515367d0e0c9d91a3948b4f1d1d..0327f3fd6f7da25cd5f54e79548bedec5998fc3c 100644 (file)
@@ -4,7 +4,7 @@ if (!function_exists('popen')) {
        return;
 }
 
-$pagesize = intval(@$Place['n'] ?: @$_GET['n']) ?: 20;
+$pagesize = intval(@$Page->place['n'] ?: @$_GET['n']) ?: 20;
 $gitcmd = "git log -n $pagesize --pretty='%at\t%an\t%s'";
 
 if ( $offset = intval(@$_GET['start']) ) {
@@ -26,17 +26,10 @@ if ( $log = popen($gitcmd, 'r') ) {
        print "</ul>\n\n";
        pclose($log);
 
-       $navbase = $Page == 'login/commits' ? '?' : '/login/commits?';
-       $nav = [];
-       $nav[] = sprintf('Pagina %d', ceil($offset / $pagesize) + 1);
-       if ($lines >= $pagesize) {
-               $nav[] = sprintf('<a href="%sstart=%d">%s</a>', $navbase, $offset + $pagesize, 'eerder');
+       $limit = $offset + $lines + 1; # assume one more
+       $navoptions = ["start=$offset", "n=$pagesize", "total=$limit"];
+       if ($Page->handler != 'login/commits') {
+               $navoptions[] = 'link=login/commits';
        }
-       if ($offset > $pagesize) {
-               $nav[] = sprintf('<a href="%sstart=%d">%s</a>', $navbase, $offset - $pagesize, 'later');
-       }
-       if ($offset > 0) {
-               $nav[] = sprintf('<a href="%s">%s</a>', $navbase, 'laatste');
-       }
-       printf('<p class="nav">%s</p>'."\n\n", implode(' • ', $nav));
+       print $Page->widget('nav', $navoptions);
 }