- added diff.php
[viewsvn.git] / diff.php
1 <?php
2 /*=====================================================================*\
3 || ################################################################### ||
4 || # ViewSVN [#]version[#]
5 || # --------------------------------------------------------------- # ||
6 || # Copyright ©2002-[#]year[#] by Iris Studios, Inc. All Rights Reserved. # ||
7 || # This file may not be reproduced in any way without permission. # ||
8 || # --------------------------------------------------------------- # ||
9 || # User License Agreement at http://www.iris-studios.com/license/ # ||
10 || ################################################################### ||
11 \*=====================================================================*/
12
13 require_once('./global.php');
14
15 $path = $viewsvn->paths->parse();
16 $repos = $viewsvn->paths->fetch_repos($path);
17 $relpath = $viewsvn->paths->fetch_path($path);
18
19 echo $viewsvn->paths->construct_breadcrumb($path, false);
20
21 $diff = new SVNDiff($repos, $relpath, @$viewsvn->in['low'], @$viewsvn->in['high']);
22
23 echo <<<HTML
24 <style type="text/css">
25 <!--
26
27 .diff_add
28 {
29 background-color: #99EE99;
30 }
31
32 .diff_del
33 {
34 background-color: #EE9999;
35 }
36
37 table
38 {
39 font: normal 11px monospace;
40 }
41
42 //-->
43 </style>
44 HTML;
45
46 foreach ($diff->fetch() AS $filename => $file)
47 {
48 echo '<h2>' . $filename . '</h2>';
49
50 foreach ($file AS $hunk)
51 {
52 echo '<table cellspacing="1" cellpadding="1" width="100%">';
53
54 foreach ($hunk AS $key => $line)
55 {
56 if ($key == 'hunk' AND isset($line['old']))
57 {
58 echo '
59 <tr style="background-color: #F7F7F7">
60 <td colspan="3">&nbsp;</td>
61 </tr>';
62 continue;
63 }
64
65 if ($line['act'] == '+')
66 {
67 $color = '#DDFFDD';
68 }
69 else if ($line['act'] == '-')
70 {
71 $color = '#FFDDDD';
72 }
73 else
74 {
75 $color = 'white';
76 }
77
78 echo '
79 <tr style="background-color: #EEEEDD; border-width: 0px 1px 1px 0px">
80 <td>' . $line['oldlineno'] . '</td>
81 <td>' . $line['newlineno'] . '</td>
82 <td style="background-color: ' . $color . '">' . $viewsvn->svn->format($line['line']) . '</td>
83 </tr>';
84 }
85
86 echo '
87 </table>';
88 }
89
90 echo '<hr />';
91 }
92
93 /*=====================================================================*\
94 || ###################################################################
95 || # $HeadURL$
96 || # $Id$
97 || ###################################################################
98 \*=====================================================================*/
99 ?>