XCache is a fast, stable PHP opcode cacher that has been proven and is now running on production servers under high load. https://xcache.lighttpd.net/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

230 lines
4.7 KiB

<?php include "../common/header.tpl.php"; ?>
<?php
function calc_percent($info, &$percent, &$class)
{
if (!$info['total']) {
$percent = 0;
}
else {
$percent = (int) ($info['hits'] / $info['total'] * 100);
}
if ($percent < 15) {
$class = "Lo";
}
else if ($percent < 50) {
$class = "Med";
}
else {
$class = "Hi";
}
}
function bar($percent, $class)
{
return <<<EOS
<div class="coverBarOutline">
<div class="coverBar{$class}" style="width:{$percent}%"></div>
<div class="coverPer{$class}">{$percent}</div>
</div>
EOS;
}
function dir_head()
{
global $cycle;
$cycle = new Cycle('class="col1"', 'class="col2"');
$l_dir = _("Directory");
$l_per = _("Percent");
$l_hit = _("Hits");
$l_lns = _("Lines");
$l_tds = _("TODO");
return <<<EOS
<table cellpadding="2" cellspacing="0" border="0" class="cycles">
<tr>
<th>{$l_dir}</th><th>{$l_per}</th><th>{$l_hit}</th><th>{$l_lns}</th><th>{$l_tds}</th>
</tr>
EOS;
}
function dir_row($info, $srcdir)
{
global $cycle;
if ($info['files'] || $info['todos']) {
$srcdir .= DIRECTORY_SEPARATOR;
$c = $cycle->next();
$srcdir_html = htmlspecialchars($srcdir);
$todos = number_format($info['todos']);
if ($info['total']) {
$srcdir_url = urlencode($srcdir);
$hits = number_format($info['hits']);
$total = number_format($info['total']);
calc_percent($info, $percent, $class);
$bar = bar($percent, $class);
return <<<EOS
<tr $c>
<td class="coverFile"><a href="?path={$srcdir_url}">{$srcdir_html}</a></td>
<td class="coverBar">$bar</td>
<td class="coverNum{$class}">{$hits}</td>
<td class="coverNum{$class}">{$total}</td>
<td class="coverNum{$class}">{$todos}</td>
</tr>
EOS;
}
else {
return <<<EOS
<tr $c>
<td class="coverFile">{$srcdir_html}</td>
<td class="coverBar"></td>
<td class="coverNumLo"></td>
<td class="coverNumLo"></td>
<td class="coverNumLo">{$todos}</td>
</tr>
EOS;
}
}
}
function dir_foot()
{
return <<<EOS
</table>
EOS;
}
function file_head()
{
global $cycle;
$cycle = new Cycle('class="col1"', 'class="col2"');
$l_fil = _("File");
$l_per = _("Percent");
$l_hit = _("Hits");
$l_lns = _("Lines");
return <<<EOS
<table cellpadding="2" cellspacing="0" border="0" class="cycles">
<tr>
<th>{$l_fil}</th><th>{$l_per}</th><th>{$l_hit}</th><th>{$l_lns}</th>
</tr>
EOS;
}
function file_row($info, $srcfile)
{
global $cycle;
$c = $cycle->next();
$srcfile_html = htmlspecialchars($srcfile);
$total = number_format($info['total']);
if ($info['total']) {
$hits = number_format($info['hits']);
$srcfile_url = urlencode($srcfile);
calc_percent($info, $percent, $class);
$bar = bar($percent, $class);
return <<<EOS
<tr $c>
<td class="coverFile"><a href="?path={$srcfile_url}">{$srcfile_html}</a></td>
<td class="coverBar">$bar</td>
<td class="coverNum{$class}">{$hits}</td>
<td class="coverNum{$class}">{$total}</td>
</tr>
EOS;
}
else {
return <<<EOS
<tr $c>
<td class="coverFile">{$srcfile_html}</a></td>
<td class="coverBar"></td>
<td class="coverNumLo"></td>
<td class="coverNumLo">{$total}</td>
</tr>
EOS;
}
}
function file_foot()
{
return <<<EOS
</table>
EOS;
}
$l_root = _("root");
if ($action == 'dir') {
if (function_exists('ob_filter_path_nicer')) {
ob_start('ob_filter_path_nicer');
}
$path_html = htmlspecialchars($path);
echo <<<EOS
<div>
<a href="?">$l_root</a> $path<br />
</div>
EOS;
echo dir_head($dirinfo);
echo dir_row($dirinfo, $path);
echo dir_foot($dirinfo);
if ($dirinfo['subdirs']) {
echo dir_head();
foreach ($dirinfo['subdirs'] as $srcdir => $info) {
echo dir_row($info, $srcdir);
}
echo dir_foot();
}
if ($dirinfo['files']) {
echo file_head();
foreach ($dirinfo['files'] as $srcfile => $info) {
echo file_row($info, $srcfile);
}
echo file_foot();
}
}
else if ($action == 'file') {
if (function_exists('ob_filter_path_nicer')) {
ob_start('ob_filter_path_nicer');
}
$dir_url = urlencode($dir);
$dir_html = htmlspecialchars($dir);
echo <<<EOS
<div>
<a href="?">$l_root</a> <a href="?path={$dir_url}">{$dir_html}</a>/<strong>{$filename}</strong><br />
</div>
EOS;
echo file_head();
echo file_row($fileinfo, $path);
echo file_foot();
if ($tplfile) {
$tplfile_html = htmlspecialchars($tplfile);
echo <<<EOS
<div>
<a href="#tpl">{$tplfile_html}</a><br />
</div>
EOS;
}
if (function_exists('ob_filter_path_nicer')) {
ob_end_flush();
}
echo <<<EOS
<div class="code">
<ol>{$filecov}</ol>
</div>
EOS;
if ($tplfile) {
echo <<<EOS
<a name="tpl">{$tplfile}</a>
<div class="code">
<ol>{$tplcov}</ol>
</div>
EOS;
}
}
else {
$error_html = htmlspecialchars($error);
echo <<<EOS
<span class="error">{$error_html}</span>
EOS;
}
?>
<?php include "../common/footer.tpl.php"; ?>