X-Git-Url: http://git.shiar.nl/minimedit.git/blobdiff_plain/2ffefa0117565475a16a12fef01c8b6fb83824bd..5aa7946eabd147041a42f3347f447eb53ee0cc47:/widget/login/commits.php?ds=inline
diff --git a/widget/login/commits.php b/widget/login/commits.php
index b9cae45..2060a33 100644
--- a/widget/login/commits.php
+++ b/widget/login/commits.php
@@ -4,8 +4,9 @@ if (!function_exists('popen')) {
return;
}
-$pagesize = intval(@$Place['n'] ?: @$_GET['n']) ?: 20;
-$gitcmd = "git log -n $pagesize --pretty='%at\t%an\t%s'";
+$baseurl = 'login/commits';
+$pagesize = intval(@$Page->place['n'] ?: @$_GET['n']) ?: 20;
+$gitcmd = "git log -n $pagesize --pretty='%h\t%at\t%an\t%s'";
if ( $offset = intval(@$_GET['start']) ) {
$gitcmd .= " --skip=$offset";
@@ -15,28 +16,24 @@ if ( $log = popen($gitcmd, 'r') ) {
$lines = 0;
print "
\n";
while ( $line = fgets($log) ) {
- list ($atime, $author, $message) = explode("\t", $line, 3);
+ list ($id, $atime, $author, $message) = explode("\t", $line, 4);
list ($author) = explode(' ', $author); # first name only
- printf('- %s %s ⢠%s
'."\n",
- htmlspecialchars($message),
+ $html = htmlspecialchars(rtrim($message));
+ $html .= sprintf(' %s ⢠%s',
htmlspecialchars($author), strftime('%F %H:%M', $atime)
);
+ $html = sprintf('%s',
+ "/$baseurl/$id", $html
+ );
+ print "- $html
\n";
$lines++;
}
print "
\n\n";
pclose($log);
- $navbase = $Page == 'login/commits' ? '?' : '/login/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));
+ $limit = $offset + $lines + 1; # assume one more
+ print $Page->widget('nav', [
+ 'start' => $offset, 'n' => $pagesize, 'total' => $limit,
+ 'link' => $Page->link == $baseurl ? NULL : $baseurl,
+ ]);
}