<?php
/*=====================================================================*\
|| ################################################################### ||
|| # ViewSVN [#]version[#]
|| # --------------------------------------------------------------- # ||
|| # Copyright ©2002-[#]year[#] by Iris Studios, Inc. All Rights Reserved. # ||
|| # This file may not be reproduced in any way without permission. # ||
|| # --------------------------------------------------------------- # ||
|| # User License Agreement at http://www.iris-studios.com/license/ # ||
|| ################################################################### ||
\*=====================================================================*/
require_once('./global.php');
$path = $viewsvn->paths->parse();
$repos = $viewsvn->paths->fetch_repos($path);
$relpath = $viewsvn->paths->fetch_path($path);
echo $viewsvn->paths->construct_breadcrumb($path, false);
$revs = $viewsvn->paths->fetch_rev_num(true);
$high = $revs['high'];
$low = $revs['low'];
if ($high == 'HEAD')
{
$high = $viewsvn->svn->common->fetch_head_rev($path);
}
if ($low == 0)
{
$low = $viewsvn->svn->common->fetch_prev_rev($path, $high);
}
$diff = new SVNDiff($repos, $relpath, $low, $high);
$isdir = (bool)$viewsvn->svn->common->isdir($path);
echo <<<HTML
<style type="text/css">
<!--
.diff_add
{
background-color: #99EE99;
}
.diff_del
{
background-color: #EE9999;
}
table
{
font: normal 11px monospace;
}
//-->
</style>
HTML;
foreach ($diff->fetch() AS $filename => $file)
{
echo '<h2>' . $filename . '</h2>';
foreach ($file AS $hunk)
{
echo '<table cellspacing="1" cellpadding="1" width="100%">';
foreach ($hunk AS $key => $line)
{
if ($key == 'hunk' AND isset($line['old']))
{
$filepath = ($isdir ? $path . $filename : $path);
echo '
<tr style="background-color: #F7F7F7">
<td><a href="/viewsvn/' . $viewsvn->paths->out('view.php' . $viewsvn->paths->fetch_rev_str(false, $low), $filepath) . '">r' . $low . '</a></td>
<td><a href="/viewsvn/' . $viewsvn->paths->out('view.php' . $viewsvn->paths->fetch_rev_str(false, $high), $filepath) . '">r' . $high . '</a></td>
<td> </td>
</tr>';
continue;
}
if ($line['act'] == '+')
{
$color = '#DDFFDD';
}
else if ($line['act'] == '-')
{
$color = '#FFDDDD';
}
else
{
$color = 'white';
}
echo '
<tr style="background-color: #EEEEDD; border-width: 0px 1px 1px 0px">
<td>' . $line['oldlineno'] . '</td>
<td>' . $line['newlineno'] . '</td>
<td style="background-color: ' . $color . '">' . $viewsvn->svn->format($line['line']) . '</td>
</tr>';
}
echo '
</table>';
}
echo '<hr />';
}
/*=====================================================================*\
|| ###################################################################
|| # $HeadURL$
|| # $Id$
|| ###################################################################
\*=====================================================================*/
?>