Styling blame system
[viewsvn.git] / blame.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 $fetchtemplates = array(
14 'blame_line',
15 'blame'
16 );
17
18 require_once('./global.php');
19
20 $navbar = $viewsvn->paths->construct_breadcrumb($path, false);
21
22 // ###################################################################
23
24 $link['log'] = $viewsvn->paths->out('log.php' . $viewsvn->paths->fetch_rev_str(), $path);
25
26 $show['head'] = ($viewsvn->svn->common->fetch_head_rev($path) != $viewsvn->paths->fetch_rev_num() AND $viewsvn->paths->fetch_rev_num() != 'HEAD');
27 if ($show['head'])
28 {
29 $link['gohead'] = $viewsvn->paths->out('blame.php' . $viewsvn->paths->fetch_rev_str(false, 'HEAD'), $path);
30 $link['diffhead'] = $viewsvn->paths->out('diff.php' . $viewsvn->paths->fetch_rev_str(true, 'HEAD', $viewsvn->paths->fetch_rev_num()), $path);
31 }
32
33 $show['prev'] = (($prev = $viewsvn->svn->common->fetch_prev_rev($path, $viewsvn->paths->fetch_rev_num())) != -1 ? true : false);
34 if ($show['prev'])
35 {
36 $link['diffprev'] = $viewsvn->paths->out('diff.php' . $viewsvn->paths->fetch_rev_str(true, $viewsvn->paths->fetch_rev_num(), $prev), $path);
37 }
38
39 // ###################################################################
40
41 $blame = new SVNBlame($repos, $relpath, $viewsvn->paths->fetch_rev_num());
42
43 $lines = '';
44
45 foreach ($blame->fetch() AS $entry)
46 {
47 $entry['view_link'] = $viewsvn->paths->out('view.php' . $viewsvn->paths->fetch_rev_str(false, $entry['rev']), $path);
48 $entry['line_clean'] = $viewsvn->svn->format($entry['line']);
49 eval('$lines .= "' . $template->fetch('blame_line') . '";');
50 }
51
52 // ###################################################################
53
54 eval('$template->flush("' . $template->fetch('blame') . '");');
55
56 /*=====================================================================*\
57 || ###################################################################
58 || # $HeadURL$
59 || # $Id$
60 || ###################################################################
61 \*=====================================================================*/
62 ?>