X-Git-Url: http://git.shiar.net/minimedit.git/blobdiff_plain/3d1203e4c3f854ace76fc5c1400dbef514a62413..6236e7cb8d0bd38f741d988cc5241a7b37069555:/admin/commits.php?ds=sidebyside
diff --git a/admin/commits.php b/admin/commits.php
index 932a556..2543d79 100644
--- a/admin/commits.php
+++ b/admin/commits.php
@@ -1,8 +1,18 @@
Niet beschikbaar op deze server!
\n";
+ return;
+}
+
+$pagesize = intval(@$_GET['pagesize']) ?: 20;
$gitcmd = "git log -n $pagesize --pretty='%at\t%an\t%s'";
+if ( $offset = intval(@$_GET['start']) ) {
+ $gitcmd .= " --skip=$offset";
+}
+
if ( $log = popen($gitcmd, 'r') ) {
+ $lines = 0;
print "\n";
while ( $line = fgets($log) ) {
list ($atime, $author, $message) = explode("\t", $line, 3);
@@ -10,7 +20,22 @@ if ( $log = popen($gitcmd, 'r') ) {
printf('- %s %s ⢠%s
'."\n",
$message, $author, strftime('%F %H:%M', $atime)
);
+ $lines++;
}
print "
\n\n";
pclose($log);
+
+ $navbase = $Page == 'admin/commits' ? '?' : '/admin/commits?';
+ $nav = [];
+ $nav[] = sprintf('Pagina %d', ceil($offset / $pagesize) + 1);
+ if ($lines >= $pagesize) {
+ $nav[] = sprintf('%s', $navbase, $offset + $pagesize, 'eerder');
+ }
+ if ($offset > $pagesize) {
+ $nav[] = sprintf('%s', $navbase, $offset - $pagesize, 'later');
+ }
+ if ($offset > 0) {
+ $nav[] = sprintf('%s', $navbase, 'laatste');
+ }
+ printf("%s
\n\n", implode(' ⢠', $nav));
}