$fetchtemplates = array(
'log_node',
- 'log'
+ 'log',
+ 'pagenav_bit',
+ 'pagenav'
);
define('SVN', '$Id$');
$navbar = ConstructNavbar();
+$paginate = BSRegister::LoadModule('Pagination');
+
+function _PageBitCallback($baselink, $nolink, $number, $paginator)
+{
+ eval('$data = "' . BSRegister::Get('template')->fetch('pagenav_bit') . '";');
+ return $data;
+}
+
+function _PageNavCallback($baselink, $nextpage, $prevpage, $show, $pagebits, $paginator)
+{
+ eval('$data = "' . BSRegister::Get('template')->fetch('pagenav') . '";');
+ return $data;
+}
+
+$paginate->setPageLinks(2);
+$paginate->setPageVar('rev');
+$paginate->setMaxPerPage(20);
+$paginate->setDefaultPerPage(20);
+$paginate->setBitProcessor('_PageBitCallback');
+$paginate->setNavigatorProcessor('_PageNavCallback');
+$paginate->processIncomingData();
+
// ###################################################################
$logs = BSXml::Parse($lib->run('log --xml ' . $lib->arg($repos->fetchPath($input->in['repos']) . '/' . $input->in['path']), true));
BSXml::UnifyNode($logs['log']['logentry']);
-foreach ($logs['log']['logentry'] AS $index => $log)
+$paginate->setTotal(sizeof($logs['log']['logentry']));
+$paginate->splitPages();
+
+for ($i = $paginate->fetchLimit() - $paginate->getPerPage(); $i < $paginate->fetchLimit($paginate->getPage()); $i++)
{
+ $log = $logs['log']['logentry'][$i];
+
$log['author'] = $log['author']['value'];
$log['date'] = FormatSvnDate($log['date']['value']);
$log['message_clean'] = FormatLogMessage($log['msg']['value']);
eval('$nodes .= "' . $template->fetch('log_node') . '";');
}
+$pagenav = $paginate->constructPageNav(ConstructLink('log', $input->in['repos'], $input->in['path'], 0), false);
+
// ###################################################################
eval('$template->flush("' . $template->fetch('log') . '");');