Cache templates
[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['line_clean'] = $viewsvn->svn->format($entry['line']);
48 eval('$lines .= "' . $template->fetch('blame_line') . '";');
49 }
50
51 // ###################################################################
52
53 eval('$template->flush("' . $template->fetch('blame') . '");');
54
55 /*=====================================================================*\
56 || ###################################################################
57 || # $HeadURL$
58 || # $Id$
59 || ###################################################################
60 \*=====================================================================*/
61 ?>