Deprecated: Assigning the return value of new by reference is deprecated in /home/bluestat/public_html/source/index.php on line 477
ViewSVN - Blob - ViewGit - Blue Static
<?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>&nbsp;</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$
|| ###################################################################
\*=====================================================================*/
?>