source: trunk/coverager/coverager.tpl.php @ 173

Last change on this file since 173 was 173, checked in by moo, 8 years ago

make dir ended with dir sep

File size: 5.3 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4    <meta http-equiv="Content-Language" content="en-us" />
5<?php
6echo <<<HEAD
7    <meta http-equiv="Content-Type" content="text/html; charset=$this->charset" />
8    <meta http-equiv="Content-Language" content="{$this->lang}" />
9    <script type="text/javascript" src="tablesort.js" charset="$this->charset"></script>
10HEAD;
11?>
12
13    <link rel="stylesheet" type="text/css" href="coverager.css" />
14    <title><?php echo _T("XCache PHP Code Coverage Viewer"); ?></title>
15</head>
16<body>
17<h1><?php echo _T("XCache PHP Code Coverage Viewer"); ?></h1>
18
19<?php
20function calc_percent($info, &$percent, &$class)
21{
22    if (!$info['total']) {
23        $percent = 0;
24    }
25    else {
26        $percent = (int) ($info['hits'] / $info['total'] * 100);
27    }
28    if ($percent < 15) {
29        $class = "Lo";
30    }
31    else if ($percent < 50) {
32        $class = "Med";
33    }
34    else {
35        $class = "Hi";
36    }
37}
38
39function bar($percent, $class)
40{
41    return <<<EOS
42    <div class="coverBarOutline">
43        <div class="coverBar{$class}" style="width:{$percent}%"></div>
44        <div class="coverPer{$class}">{$percent}</div>
45    </div>
46EOS;
47}
48
49function dir_head()
50{
51    global $cycle;
52    $cycle = new Cycle('class="col1"', 'class="col2"');
53    $l_dir = _T("Directory");
54    $l_per = _T("Percent");
55    $l_hit = _T("Hits");
56    $l_lns = _T("Lines");
57    $l_tds = _T("TODO");
58    return <<<EOS
59    <table align="center" cellpadding="2" cellspacing="0" border="0" class="cycles">
60    <tr>
61        <th>{$l_dir}</th><th>{$l_per}</th><th>{$l_hit}</th><th>{$l_lns}</th><th>{$l_tds}</th>
62    </tr>
63EOS;
64}
65
66function dir_row($info, $srcdir)
67{
68    global $cycle;
69    if ($info['files'] || $info['todos']) {
70        $srcdir .= DIRECTORY_SEPARATOR;
71        $c = $cycle->next();
72        $srcdir_html = htmlspecialchars($srcdir);
73        $todos = number_format($info['todos']);
74        if ($info['total']) {
75            $srcdir_url = urlencode($srcdir);
76            $hits  = number_format($info['hits']);
77            $total = number_format($info['total']);
78            calc_percent($info, $percent, $class);
79            $bar = bar($percent, $class);
80            return <<<EOS
81            <tr $c>
82                <td class="coverFile"><a href="?path={$srcdir_url}">{$srcdir_html}</a></td>
83                <td class="coverBar">$bar</td>
84                <td class="coverNum{$class}">{$hits}</td>
85                <td class="coverNum{$class}">{$total}</td>
86                <td class="coverNum{$class}">{$todos}</td>
87            </tr>
88EOS;
89        }
90        else {
91            return <<<EOS
92            <tr $c>
93                <td class="coverFile">{$srcdir_html}</td>
94                <td class="coverBar"></td>
95                <td class="coverNumLo"></td>
96                <td class="coverNumLo"></td>
97                <td class="coverNumLo">{$todos}</td>
98            </tr>
99EOS;
100        }
101    }
102}
103
104function dir_foot()
105{
106    return <<<EOS
107    </table>
108EOS;
109}
110
111function file_head()
112{
113    global $cycle;
114    $cycle = new Cycle('class="col1"', 'class="col2"');
115    $l_fil = _T("File");
116    $l_per = _T("Percent");
117    $l_hit = _T("Hits");
118    $l_lns = _T("Lines");
119    return <<<EOS
120    <br>
121    <table align="center" cellpadding="2" cellspacing="0" border="0" class="cycles">
122    <tr>
123        <th>{$l_fil}</th><th>{$l_per}</th><th>{$l_hit}</th><th>{$l_lns}</th>
124    </tr>
125EOS;
126}
127
128function file_row($info, $srcfile)
129{
130    global $cycle;
131
132    $c = $cycle->next();
133    $srcfile_html = htmlspecialchars($srcfile);
134    $total = number_format($info['total']);
135    if ($info['total']) {
136        $hits = number_format($info['hits']);
137        $srcfile_url = urlencode($srcfile);
138        calc_percent($info, $percent, $class);
139        $bar = bar($percent, $class);
140        return <<<EOS
141            <tr $c>
142                    <td class="coverFile"><a href="?path={$srcfile_url}">{$srcfile_html}</a></td>
143                    <td class="coverBar">$bar</td>
144                    <td class="coverNum{$class}">{$hits}</td>
145                    <td class="coverNum{$class}">{$total}</td>
146            </tr>
147EOS;
148    }
149    else {
150        return <<<EOS
151            <tr $c>
152                    <td class="coverFile">{$srcfile_html}</a></td>
153                    <td class="coverBar"></td>
154                    <td class="coverNumLo"></td>
155                    <td class="coverNumLo">{$total}</td>
156            </tr>
157EOS;
158    }
159}
160
161function file_foot()
162{
163    return <<<EOS
164    </table>
165EOS;
166}
167
168$l_root = _T("root");
169if ($action == 'dir') {
170    if (function_exists('ob_filter_path_nicer')) {
171        ob_start('ob_filter_path_nicer');
172    }
173    $path_html = htmlspecialchars($path);
174    echo <<<EOS
175    <a href="?">$l_root</a> $path<br />
176EOS;
177    echo dir_head($dirinfo);
178    echo dir_row($dirinfo, $path);
179    echo dir_foot($dirinfo);
180    if ($dirinfo['subdirs']) {
181        echo dir_head();
182        foreach ($dirinfo['subdirs'] as $srcdir => $info) {
183            echo dir_row($info, $srcdir);
184        }
185        echo dir_foot();
186    }
187    if ($dirinfo['files']) {
188        echo file_head();
189        foreach ($dirinfo['files'] as $srcfile => $info) {
190            echo file_row($info, $srcfile);
191        }
192        echo file_foot();
193    }
194}
195else if ($action == 'file') {
196    if (function_exists('ob_filter_path_nicer')) {
197        ob_start('ob_filter_path_nicer');
198    }
199    $dir_url = urlencode($dir);
200    $dir_html = htmlspecialchars($dir);
201    echo <<<EOS
202    <a href="?">$l_root</a> <a href="?path={$dir_url}">{$dir_html}</a>/<b>{$filename}</b><br />
203EOS;
204
205    echo file_head();
206    echo file_row($fileinfo, $path);
207    echo file_foot();
208
209    if ($tplfile) {
210        $tplfile_html = htmlspecialchars($tplfile);
211        echo <<<EOS
212        <a href="#tpl">{$tplfile_html}</a><br />
213EOS;
214    }
215    if (function_exists('ob_filter_path_nicer')) {
216        ob_end_flush();
217    }
218    echo <<<EOS
219    <pre class="code"><ol>{$filecov}</ol></pre>
220EOS;
221    if ($tplfile) {
222        echo <<<EOS
223    <a name="tpl">{$tplfile}</a>
224    <pre class="code"><ol>{$tplcov}</ol></pre>
225EOS;
226    }
227}
228else {
229    echo htmlspecialchars($action);
230}
231?>
232
233<div class="footnote">
234Powered By: XCache <?php echo $xcache_version; ?> coverager <?php echo _T("module"); ?>
235</div>
236
237</body>
238</html>
Note: See TracBrowser for help on using the repository browser.