admin/commits: test for popen availability
[minimedit.git] / admin / commits.php
index fcff4f3fb3ad90011b8c4885892471db083abcbf..2543d79463637ef8a984ffcb721a9b7e67d4c2f8 100644 (file)
@@ -1,5 +1,10 @@
 <?php
-$pagesize = 20;
+if (!function_exists('popen')) {
+       print "<p>Niet beschikbaar op deze server!</p>\n";
+       return;
+}
+
+$pagesize = intval(@$_GET['pagesize']) ?: 20;
 $gitcmd = "git log -n $pagesize --pretty='%at\t%an\t%s'";
 
 if ( $offset = intval(@$_GET['start']) ) {
@@ -20,16 +25,17 @@ if ( $log = popen($gitcmd, 'r') ) {
        print "</ul>\n\n";
        pclose($log);
 
+       $navbase = $Page == 'admin/commits' ? '?' : '/admin/commits?';
        $nav = [];
-       $nav[] = sprintf('Pagina %d', floor($offset / $pagesize) + 1);
+       $nav[] = sprintf('Pagina %d', ceil($offset / $pagesize) + 1);
        if ($lines >= $pagesize) {
-               $nav[] = sprintf('<a href="?start=%d">%s</a>', $offset + $pagesize, 'eerder');
+               $nav[] = sprintf('<a href="%sstart=%d">%s</a>', $navbase, $offset + $pagesize, 'eerder');
        }
        if ($offset > $pagesize) {
-               $nav[] = sprintf('<a href="?start=%d">%s</a>', $offset - $pagesize, 'later');
+               $nav[] = sprintf('<a href="%sstart=%d">%s</a>', $navbase, $offset - $pagesize, 'later');
        }
        if ($offset > 0) {
-               $nav[] = sprintf('<a href="?start=%d">%s</a>', 0, 'laatste');
+               $nav[] = sprintf('<a href="%s">%s</a>', $navbase, 'laatste');
        }
        printf("<p>%s</p>\n\n", implode(' • ', $nav));
 }