* @access public
*
* @param string SVN command
+ * @param bool Alternate revision
*
* @return array Lines of output
*/
- function command($command)
+ function command($command, $rev = false)
{
global $viewsvn;
- $revision = SVNCommon::rev($this->controller->revnum);
+ $revision = ($rev !== false ? $rev : SVNCommon::rev($this->controller->revnum));
- return $this->svn($command . ' ' . $this->controller->repospath . $this->controller->path . '@' . $revision);
+ return $this->svn($command . ' ' . $this->controller->repospath . $this->controller->path . ($revision !== null ? '@' . $revision : ''));
}
/**
* @param integer Lower revision
* @param integer Higher revision
*/
- function SVNLog($repos, $path, $lorev, $hirev)
+ function SVNLog(&$controller)
{
- global $viewsvn;
-
- $this->rawoutput = $viewsvn->svn->log($repos, $path, $lorev, $hirev);
+ $this->rawoutput = $controller->library->command('log', null);
$this->process();
}
require_once('./global.php');
-$navbar = $viewsvn->paths->construct_breadcrumb($viewsvn->paths->path, false);
+$navbar = $controller->construct_breadcrumb();
// ###################################################################
// this is NOT supposed to allow for revision ranges
-$logs = new SVNLog($viewsvn->paths->repos, $viewsvn->paths->relpath, 0, $viewsvn->svn->common->fetch_head_rev($viewsvn->paths->path));
+$logs = new SVNLog($controller);
-$isdir = $viewsvn->svn->common->isdir($viewsvn->paths->path);
+$isdir = $controller->cachev->isdir();
$nodes = '';
foreach ($logs->fetch() AS $log)
{
- $prev = $viewsvn->svn->common->fetch_prev_rev($viewsvn->paths->path, $log['rev']);
+ $prev = $controller->cachev->fetch_prev_revision($log['rev']);
- $link['view'] = $viewsvn->paths->out(($isdir ? 'browse.php' : 'view.php') . $viewsvn->paths->fetch_rev_str(false, $log['rev']), $viewsvn->paths->path);
- $link['blame'] = $viewsvn->paths->out('blame.php' . $viewsvn->paths->fetch_rev_str(false, $log['rev']), $viewsvn->paths->path);
+ $link['view'] = $controller->href_compound(($isdir ? 'browse.php' : 'view.php'), null, Paths::fetch_rev_str(false, $log['rev']));
+ $link['blame'] = $controller->href_compound('blame.php', null, Paths::fetch_rev_str(false, $log['rev']));
- $show['diffhead'] = $viewsvn->svn->common->fetch_head_rev($viewsvn->paths->path) != $log['rev'];
+ $show['diffhead'] = $controller->cachev->fetch_head_revision() != $log['rev'];
if ($show['diffhead'])
{
- $link['diffhead'] = $viewsvn->paths->out('diff.php' . $viewsvn->paths->fetch_rev_str(true, 'HEAD', $log['rev']), $viewsvn->paths->path);
+ $link['diffhead'] = $controller->href_compound('diff.php', null, Paths::fetch_rev_str(true, 'HEAD', $log['rev']));
}
$show['diffprev'] = $prev != -1;
if ($show['diffprev'])
{
- $link['diffprev'] = $viewsvn->paths->out('diff.php' . $viewsvn->paths->fetch_rev_str(true, $log['rev'], $prev), $viewsvn->paths->path);
+ $link['diffprev'] = $controller->href_compound('diff.php', null, Paths::fetch_rev_str(true, $log['rev'], $prev));
}
- $log['message_clean'] = $viewsvn->svn->format_log_message($log['message']);
+ $log['message_clean'] = SVNCommon::format_log_message($log['message']);
eval('$nodes .= "' . $template->fetch('log_node') . '";');
}