in['repos'], $input->in['path'], $input->in['rev']);
// ###################################################################
$show['fullchangeset'] = ($input->in['path'] == '' OR $input->in['path'] == '/');
if ($show['fullchangeset'])
{
$link['changeset'] = ConstructLink('diff', $input->in['repos'], null, $input->in['rev']);
}
$revision = new Revision($input->in['repos'], $input->in['rev'], $input->in['path']);
$revision->getRevisionInfo();
$files = ConstructFileChanges($revision->files, $input->in['repos'], $revision->revision);
// ###################################################################
$diff = new Diff($lib->run('diff -c' . $revision->revision . ' ' . $lib->arg($repos->fetchPath($input->in['repos']) . '/' . $input->in['path'])));
$changes = '';
foreach ($diff->fetch() AS $filename => $file)
{
$hunktpl = '';
$proplist = '';
if (!$filename)
{
continue;
}
$props = $file['props'];
$show['props'] = (bool)$props;
unset($file['props']);
foreach ($file AS $hunk)
{
$lines = '';
foreach ($hunk AS $key => $line)
{
$show['hunk'] = false;
if ($key == 'hunk' AND isset($line['old']))
{
$filepath = ($isdir ? $controller->path . $filename : $controller->path);
// $rlow = ConstructLink('view', $input->in['repos'], $filename, $)
$high = $revision->revision;
$rhigh = ConstructLink('view', $input->in['repos'], $filename, $revision->revision);
$show['hunk'] = true;
}
else
{
if ($line['act'] == '+')
{
$class = 'diff_add';
}
else if ($line['act'] == '-')
{
$class = 'diff_del';
}
else
{
$class = 'diff_norm';
}
$line['line_clean'] = FormatCode($line['line']);
}
eval('$lines .= "' . $template->fetch('diff_line') . '";');
}
eval('$hunktpl .= "' . $template->fetch('diff_hunk') . '";');
}
if (is_array($props))
{
foreach ($props AS $name => $values)
{
// modified
if (isset($values['add']) AND isset($values['del']))
{
$data = sprintf(_('Property %1$s changed from %2$s to %3$s'), $name, $values['del'], $values['add']);
}
// added
else if (isset($values['add']))
{
$data = sprintf(_('Property %1$s set to %2$s'), $name, $values['add']);
}
// removed
else if (isset($values['del']))
{
$data = sprintf(_('Property %1$s deleted'), $name);
}
eval('$proplist .= "' . $template->fetch('property') . '";');
}
}
eval('$changes .= "' . $template->fetch('diff_file') . '";');
}
// ###################################################################
eval('$template->flush("' . $template->fetch('diff') . '");');
/*=====================================================================*\
|| ###################################################################
|| # $HeadURL$
|| # $Id$
|| ###################################################################
\*=====================================================================*/
?>