summaryrefslogtreecommitdiff
path: root/admin
diff options
context:
space:
mode:
authorspider <spider@bitweaver.org>2015-01-20 14:05:01 -0500
committerspider <spider@bitweaver.org>2015-01-20 14:05:01 -0500
commit90356b985091977b8cf6461e92fac2a0c9b26cda (patch)
treefc49d1f8e40edad8a34afe9cc2834d966c78709e /admin
parent19242d172f5108ac2285cb088a8c3a8b4c2b96b6 (diff)
downloadkernel-90356b985091977b8cf6461e92fac2a0c9b26cda.tar.gz
kernel-90356b985091977b8cf6461e92fac2a0c9b26cda.tar.bz2
kernel-90356b985091977b8cf6461e92fac2a0c9b26cda.zip
update apc.php status
Diffstat (limited to 'admin')
-rw-r--r--admin/apc.php177
1 files changed, 86 insertions, 91 deletions
diff --git a/admin/apc.php b/admin/apc.php
index acb348c..1468354 100644
--- a/admin/apc.php
+++ b/admin/apc.php
@@ -1,3 +1,4 @@
+
<?php
/*
+----------------------------------------------------------------------+
@@ -22,23 +23,17 @@
*/
-$VERSION='$Id$';
-
require_once( '../../kernel/setup_inc.php' );
global $gBitUser;
$gBitUser->verifyPermission( 'p_admin' );
-////////// READ OPTIONAL CONFIGURATION FILE ////////////
-if (file_exists("apc.conf.php")) include("apc.conf.php");
-////////////////////////////////////////////////////////
-
////////// BEGIN OF DEFAULT CONFIG AREA ///////////////////////////////////////////////////////////
-defaults('USE_AUTHENTICATION',0); // Use (internal) authentication - best choice if
+defaults('USE_AUTHENTICATION',0); // Use (internal) authentication - best choice if
// no other authentication is available
// If set to 0:
- // There will be no further authentication. You
+ // There will be no further authentication. You
// will have to handle this by yourself!
// If set to 1:
// You need to change ADMIN_PASSWORD to make
@@ -46,7 +41,7 @@ defaults('USE_AUTHENTICATION',0); // Use (internal) authentication - best choi
defaults('ADMIN_USERNAME','apc'); // Admin Username
defaults('ADMIN_PASSWORD','password'); // Admin Password - CHANGE THIS TO ENABLE!!!
-// (beckerr) I'm using a clear text password here, because I've no good idea how to let
+// (beckerr) I'm using a clear text password here, because I've no good idea how to let
// users generate a md5 or crypt password in a easy way to fill it in above
//defaults('DATE_FORMAT', "d.m.Y H:i:s"); // German
@@ -169,7 +164,7 @@ if (!USE_AUTHENTICATION) {
</body></html>
EOB;
exit;
-
+
} else {
$AUTHENTICATED=1;
}
@@ -190,7 +185,7 @@ if(!function_exists('apcu_cache_info')) {
exit;
}
-$cache = apcu_cache_info();
+$cache = apcu_cache_info();
$mem=apcu_sma_info();
@@ -237,7 +232,7 @@ if (isset($MYREQUEST['IMG']))
$r=$diameter/2;
$w=deg2rad((360+$start+($end-$start)/2)%360);
-
+
if (function_exists("imagefilledarc")) {
// exists only if GD 2.0.1 is avaliable
imagefilledarc($im, $centerX+1, $centerY+1, $diameter, $diameter, $start, $end, $color1, IMG_ARC_PIE);
@@ -254,13 +249,13 @@ if (isset($MYREQUEST['IMG']))
if ($text) {
if ($placeindex>0) {
imageline($im,$centerX + $r*cos($w)/2, $centerY + $r*sin($w)/2,$diameter, $placeindex*12,$color1);
- imagestring($im,4,$diameter, $placeindex*12,$text,$color1);
-
+ imagestring($im,4,$diameter, $placeindex*12,$text,$color1);
+
} else {
imagestring($im,4,$centerX + $r*cos($w)/2, $centerY + $r*sin($w)/2,$text,$color1);
}
}
- }
+ }
function text_arc($im, $centerX, $centerY, $diameter, $start, $end, $color1,$text,$placeindex=0) {
$r=$diameter/2;
@@ -268,13 +263,13 @@ if (isset($MYREQUEST['IMG']))
if ($placeindex>0) {
imageline($im,$centerX + $r*cos($w)/2, $centerY + $r*sin($w)/2,$diameter, $placeindex*12,$color1);
- imagestring($im,4,$diameter, $placeindex*12,$text,$color1);
-
+ imagestring($im,4,$diameter, $placeindex*12,$text,$color1);
+
} else {
imagestring($im,4,$centerX + $r*cos($w)/2, $centerY + $r*sin($w)/2,$text,$color1);
}
- }
-
+ }
+
function fill_box($im, $x, $y, $w, $h, $color1, $color2,$text='',$placeindex='') {
global $col_black;
$x1=$x+$w-1;
@@ -286,15 +281,15 @@ if (isset($MYREQUEST['IMG']))
imagerectangle($im, $x, $y1, $x1, $y, $color1);
if ($text) {
if ($placeindex>0) {
-
+
if ($placeindex<16)
{
$px=5;
$py=$placeindex*12+6;
imagefilledrectangle($im, $px+90, $py+3, $px+90-4, $py-3, $color2);
imageline($im,$x,$y+$h/2,$px+90,$py,$color2);
- imagestring($im,2,$px,$py-6,$text,$color1);
-
+ imagestring($im,2,$px,$py-6,$text,$color1);
+
} else {
if ($placeindex<31) {
$px=$x+40*2;
@@ -305,7 +300,7 @@ if (isset($MYREQUEST['IMG']))
}
imagefilledrectangle($im, $px, $py+3, $px-4, $py-3, $color2);
imageline($im,$x+$w,$y+$h/2,$px,$py,$color2);
- imagestring($im,2,$px+2,$py-6,$text,$color1);
+ imagestring($im,2,$px+2,$py-6,$text,$color1);
}
} else {
imagestring($im,4,$x+5,$y1-16,$text,$color1);
@@ -327,7 +322,7 @@ if (isset($MYREQUEST['IMG']))
imagecolortransparent($image,$col_white);
switch ($MYREQUEST['IMG']) {
-
+
case 1:
$s=$mem['num_seg']*$mem['seg_size'];
$a=$mem['avail_mem'];
@@ -338,7 +333,7 @@ if (isset($MYREQUEST['IMG']))
// would expect because we try to visualize any memory fragmentation as well.
$angle_from = 0;
$string_placement=array();
- for($i=0; $i<$mem['num_seg']; $i++) {
+ for($i=0; $i<$mem['num_seg']; $i++) {
$ptr = 0;
$free = $mem['block_lists'][$i];
uasort($free, 'block_sort');
@@ -365,7 +360,7 @@ if (isset($MYREQUEST['IMG']))
$angle_from = $angle_to;
$ptr = $block['offset']+$block['size'];
}
- if ($ptr < $mem['seg_size']) { // memory at the end
+ if ($ptr < $mem['seg_size']) { // memory at the end
$angle_to = $angle_from + ($mem['seg_size'] - $ptr)/$s;
if(($angle_to+$fuzz)>1) $angle_to = 1;
fill_arc($image,$x,$y,$size,$angle_from*360,$angle_to*360,$col_black,$col_red);
@@ -379,14 +374,14 @@ if (isset($MYREQUEST['IMG']))
}
break;
- case 2:
- $s=$cache['nhits']+$cache['nmisses'];
- $a=$cache['nhits'];
-
- fill_box($image, 30,$size,50,$s ? (-$a*($size-21)/$s) : 0,$col_black,$col_green,sprintf("%.1f%%",$s ? $cache['nhits']*100/$s : 0));
- fill_box($image,130,$size,50,$s ? -max(4,($s-$a)*($size-21)/$s) : 0,$col_black,$col_red,sprintf("%.1f%%",$s ? $cache['nmisses']*100/$s : 0));
+ case 2:
+ $s=$cache['num_hits']+$cache['num_misses'];
+ $a=$cache['num_hits'];
+
+ fill_box($image, 30,$size,50,$s ? (-$a*($size-21)/$s) : 0,$col_black,$col_green,sprintf("%.1f%%",$s ? $cache['num_hits']*100/$s : 0));
+ fill_box($image,130,$size,50,$s ? -max(4,($s-$a)*($size-21)/$s) : 0,$col_black,$col_red,sprintf("%.1f%%",$s ? $cache['num_misses']*100/$s : 0));
break;
-
+
case 3:
$s=$mem['num_seg']*$mem['seg_size'];
$a=$mem['avail_mem'];
@@ -396,7 +391,7 @@ if (isset($MYREQUEST['IMG']))
// This block of code creates the bar chart. It is a lot more complex than you
// would expect because we try to visualize any memory fragmentation as well.
- for($i=0; $i<$mem['num_seg']; $i++) {
+ for($i=0; $i<$mem['num_seg']; $i++) {
$ptr = 0;
$free = $mem['block_lists'][$i];
uasort($free, 'block_sort');
@@ -419,7 +414,7 @@ if (isset($MYREQUEST['IMG']))
$y+=$h;
$ptr = $block['offset']+$block['size'];
}
- if ($ptr < $mem['seg_size']) { // memory at the end
+ if ($ptr < $mem['seg_size']) { // memory at the end
$h = (GRAPH_SIZE-5) * ($mem['seg_size'] - $ptr) / $s;
if ($h > 0) {
fill_box($image,$x,$y,50,$h,$col_black,$col_red,bsize($mem['seg_size']-$ptr),$j++);
@@ -428,12 +423,12 @@ if (isset($MYREQUEST['IMG']))
}
break;
- case 4:
- $s=$cache['nhits']+$cache['nmisses'];
- $a=$cache['nhits'];
-
- fill_box($image, 30,$size,50,$s ? -$a*($size-21)/$s : 0,$col_black,$col_green,sprintf("%.1f%%", $s ? $cache['nhits']*100/$s : 0));
- fill_box($image,130,$size,50,$s ? -max(4,($s-$a)*($size-21)/$s) : 0,$col_black,$col_red,sprintf("%.1f%%", $s ? $cache['nmisses']*100/$s : 0));
+ case 4:
+ $s=$cache['num_hits']+$cache['num_misses'];
+ $a=$cache['num_hits'];
+
+ fill_box($image, 30,$size,50,$s ? -$a*($size-21)/$s : 0,$col_black,$col_green,sprintf("%.1f%%", $s ? $cache['num_hits']*100/$s : 0));
+ fill_box($image,130,$size,50,$s ? -max(4,($s-$a)*($size-21)/$s) : 0,$col_black,$col_red,sprintf("%.1f%%", $s ? $cache['num_misses']*100/$s : 0));
break;
}
@@ -455,7 +450,7 @@ function bsize($s) {
// sortable table header in "scripts for this host" view
function sortheader($key,$name,$extra='') {
global $MYREQUEST, $MY_SELF_WO_SORT;
-
+
if ($MYREQUEST['SORT1']==$key) {
$MYREQUEST['SORT2'] = $MYREQUEST['SORT2']=='A' ? 'D' : 'A';
}
@@ -463,7 +458,7 @@ function sortheader($key,$name,$extra='') {
}
-// create menu entry
+// create menu entry
function menu_entry($ob,$title) {
global $MYREQUEST,$MY_SELF;
if ($MYREQUEST['OB']!=$ob) {
@@ -471,7 +466,7 @@ function menu_entry($ob,$title) {
} else if (empty($MYREQUEST['SH'])) {
return "<li><span class=active>$title</span></li>";
} else {
- return "<li><a class=\"child_active\" href=\"$MY_SELF&OB=$ob\">$title</a></li>";
+ return "<li><a class=\"child_active\" href=\"$MY_SELF&OB=$ob\">$title</a></li>";
}
}
@@ -623,8 +618,8 @@ ol.menu a:hover {
background:rgb(193,193,244);
text-decoration:none;
}
-
-
+
+
div.info {
background:rgb(204,204,204);
border:solid rgb(204,204,204) 1px;
@@ -697,7 +692,7 @@ div.authneeded {
padding:2em;
text-align:center;
}
-
+
input {
background:rgb(153,153,204);
border:solid rgb(102,102,153) 2px;
@@ -731,7 +726,7 @@ echo
menu_entry(OB_HOST_STATS,'View Host Stats'),
menu_entry(OB_USER_CACHE,'User Cache Entries'),
menu_entry(OB_VERSION_CHECK,'Version Check');
-
+
if ($AUTHENTICATED) {
echo <<<EOB
<li><a class="aright" href="$MY_SELF&CC=1&OB={$MYREQUEST['OB']}" onClick="javascript:return confirm('Are you sure?');">Clear Cache</a></li>
@@ -747,7 +742,7 @@ echo <<<EOB
<div class=content>
EOB;
-// MAIN SWITCH STATEMENT
+// MAIN SWITCH STATEMENT
switch ($MYREQUEST['OB']) {
// -----------------------------------------------
@@ -758,13 +753,13 @@ case OB_HOST_STATS:
$mem_avail= $mem['avail_mem'];
$mem_used = $mem_size-$mem_avail;
$seg_size = bsize($mem['seg_size']);
- $req_rate_user = sprintf("%.2f", $cache['nhits'] ? (($cache['nhits']+$cache['nmisses'])/($time-$cache['stime'])) : 0);
- $hit_rate_user = sprintf("%.2f", $cache['nhits'] ? (($cache['nhits'])/($time-$cache['stime'])) : 0);
- $miss_rate_user = sprintf("%.2f", $cache['nmisses'] ? (($cache['nmisses'])/($time-$cache['stime'])) : 0);
- $insert_rate_user = sprintf("%.2f", $cache['ninserts'] ? (($cache['ninserts'])/($time-$cache['stime'])) : 0);
+ $req_rate_user = sprintf("%.2f", $cache['num_hits'] ? (($cache['num_hits']+$cache['num_misses'])/($time-$cache['start_time'])) : 0);
+ $hit_rate_user = sprintf("%.2f", $cache['num_hits'] ? (($cache['num_hits'])/($time-$cache['start_time'])) : 0);
+ $miss_rate_user = sprintf("%.2f", $cache['num_misses'] ? (($cache['num_misses'])/($time-$cache['start_time'])) : 0);
+ $insert_rate_user = sprintf("%.2f", $cache['num_inserts'] ? (($cache['num_inserts'])/($time-$cache['start_time'])) : 0);
$apcversion = phpversion('apcu');
$phpversion = phpversion();
- $number_vars = $cache['nentries'];
+ $number_vars = $cache['num_entries'];
$size_vars = bsize($cache['mem_size']);
$i=0;
echo <<< EOB
@@ -780,12 +775,12 @@ EOB;
echo "<tr class=tr-1><td class=td-0>Server Software</td><td>{$_SERVER['SERVER_SOFTWARE']}</td></tr>\n";
echo <<<EOB
- <tr class=tr-0><td class=td-0>Shared Memory</td><td>{$mem['num_seg']} Segment(s) with $seg_size
+ <tr class=tr-0><td class=td-0>Shared Memory</td><td>{$mem['num_seg']} Segment(s) with $seg_size
<br/> ({$cache['memory_type']} memory)
</td></tr>
EOB;
- echo '<tr class=tr-1><td class=td-0>Start Time</td><td>',date(DATE_FORMAT,$cache['stime']),'</td></tr>';
- echo '<tr class=tr-0><td class=td-0>Uptime</td><td>',duration($cache['stime']),'</td></tr>';
+ echo '<tr class=tr-1><td class=td-0>Start Time</td><td>',date(DATE_FORMAT,$cache['start_time']),'</td></tr>';
+ echo '<tr class=tr-0><td class=td-0>Uptime</td><td>',duration($cache['start_time']),'</td></tr>';
echo '<tr class=tr-1><td class=td-0>File Upload Support</td><td>',$cache['file_upload_progress'],'</td></tr>';
echo <<<EOB
</tbody></table>
@@ -795,13 +790,13 @@ EOB;
<table cellspacing=0>
<tbody>
<tr class=tr-0><td class=td-0>Cached Variables</td><td>$number_vars ($size_vars)</td></tr>
- <tr class=tr-1><td class=td-0>Hits</td><td>{$cache['nhits']}</td></tr>
- <tr class=tr-0><td class=td-0>Misses</td><td>{$cache['nmisses']}</td></tr>
+ <tr class=tr-1><td class=td-0>Hits</td><td>{$cache['num_hits']}</td></tr>
+ <tr class=tr-0><td class=td-0>Misses</td><td>{$cache['num_misses']}</td></tr>
<tr class=tr-1><td class=td-0>Request Rate (hits, misses)</td><td>$req_rate_user cache requests/second</td></tr>
<tr class=tr-0><td class=td-0>Hit Rate</td><td>$hit_rate_user cache requests/second</td></tr>
<tr class=tr-1><td class=td-0>Miss Rate</td><td>$miss_rate_user cache requests/second</td></tr>
<tr class=tr-0><td class=td-0>Insert Rate</td><td>$insert_rate_user cache requests/second</td></tr>
- <tr class=tr-1><td class=td-0>Cache full count</td><td>{$cache['nexpunges']}</td></tr>
+ <tr class=tr-1><td class=td-0>Cache full count</td><td>{$cache['num_expunges']}</td></tr>
</tbody>
</table>
</div>
@@ -836,18 +831,18 @@ echo <<<EOB
EOB;
echo
- graphics_avail() ?
+ graphics_avail() ?
'<tr>'.
"<td class=td-0><img alt=\"\" $size src=\"$PHP_SELF?IMG=1&$time\"></td>".
"<td class=td-1><img alt=\"\" $size src=\"$PHP_SELF?IMG=2&$time\"></td></tr>\n"
: "",
'<tr>',
'<td class=td-0><span class="green box">&nbsp;</span>Free: ',bsize($mem_avail).sprintf(" (%.1f%%)",$mem_avail*100/$mem_size),"</td>\n",
- '<td class=td-1><span class="green box">&nbsp;</span>Hits: ',$cache['nhits'].@sprintf(" (%.1f%%)",$cache['nhits']*100/($cache['nhits']+$cache['nmisses'])),"</td>\n",
+ '<td class=td-1><span class="green box">&nbsp;</span>Hits: ',$cache['num_hits'].@sprintf(" (%.1f%%)",$cache['num_hits']*100/($cache['num_hits']+$cache['num_misses'])),"</td>\n",
'</tr>',
'<tr>',
- '<td class=td-0><span class="red box">&nbsp;</span>Used: ',bsize($mem_used ).sprintf(" (%.1f%%)",$mem_used *100/$mem_size),"</td>\n",
- '<td class=td-1><span class="red box">&nbsp;</span>Misses: ',$cache['nmisses'].@sprintf(" (%.1f%%)",$cache['nmisses']*100/($cache['nhits']+$cache['nmisses'])),"</td>\n";
+ '<td class=td-0><span class="red box">&nbsp;</span>Used: ',bsize($mem_used).sprintf(" (%.1f%%)",$mem_used *100/$mem_size),"</td>\n",
+ '<td class=td-1><span class="red box">&nbsp;</span>Misses: ',$cache['num_misses'].@sprintf(" (%.1f%%)",$cache['num_misses']*100/($cache['num_hits']+$cache['num_misses'])),"</td>\n";
echo <<< EOB
</tr>
</tbody></table>
@@ -874,7 +869,7 @@ EOB;
}
$freeseg += count($mem['block_lists'][$i]);
}
-
+
if ($freeseg > 1) {
$frag = sprintf("%.2f%% (%s out of %s in %d fragments)", ($fragsize/$freetotal)*100,bsize($fragsize),bsize($freetotal),$freeseg);
} else {
@@ -904,7 +899,7 @@ EOB;
</tbody></table>
</div>
EOB;
-
+
break;
@@ -918,9 +913,9 @@ case OB_USER_CACHE:
echo '</div>';
break;
}
- $fieldname='key';
+ $fieldname='info';
$fieldheading='User Entry Label';
- $fieldkey='key';
+ $fieldkey='info';
$cols=6;
echo <<<EOB
@@ -928,7 +923,7 @@ case OB_USER_CACHE:
<input type=hidden name=OB value={$MYREQUEST['OB']}>
<select name=SCOPE>
EOB;
- echo
+ echo
"<option value=A",$MYREQUEST['SCOPE']=='A' ? " selected":"",">Active</option>",
"<option value=D",$MYREQUEST['SCOPE']=='D' ? " selected":"",">Deleted</option>",
"</select>",
@@ -942,7 +937,7 @@ EOB;
"<option value=D",$MYREQUEST['SORT1']=='D' ? " selected":"",">Deleted at</option>";
if($fieldname=='info') echo
"<option value=D",$MYREQUEST['SORT1']=='T' ? " selected":"",">Timeout</option>";
- echo
+ echo
'</select>',
'<select name=SORT2>',
'<option value=D',$MYREQUEST['SORT2']=='D' ? ' selected':'','>DESC</option>',
@@ -991,17 +986,17 @@ EOB;
// builds list with alpha numeric sortable keys
//
$list = array();
-
+
foreach($cache[$scope_list[$MYREQUEST['SCOPE']]] as $i => $entry) {
switch($MYREQUEST['SORT1']) {
- case 'A': $k=sprintf('%015d-',$entry['atime']); break;
- case 'H': $k=sprintf('%015d-',$entry['nhits']); break;
- case 'Z': $k=sprintf('%015d-',$entry['mem_size']); break;
- case 'M': $k=sprintf('%015d-',$entry['mtime']); break;
- case 'C': $k=sprintf('%015d-',$entry['ctime']); break;
- case 'T': $k=sprintf('%015d-',$entry['ttl']); break;
- case 'D': $k=sprintf('%015d-',$entry['dtime']); break;
- case 'S': $k=$entry["key"]; break;
+ case 'A': $k=sprintf('%015d-',$entry['access_time']); break;
+ case 'H': $k=sprintf('%015d-',$entry['num_hits']); break;
+ case 'Z': $k=sprintf('%015d-',$entry['mem_size']); break;
+ case 'M': $k=sprintf('%015d-',$entry['modification_time']); break;
+ case 'C': $k=sprintf('%015d-',$entry['creation_time']); break;
+ case 'T': $k=sprintf('%015d-',$entry['ttl']); break;
+ case 'D': $k=sprintf('%015d-',$entry['deletion_time']); break;
+ case 'S': $k=$entry["info"]; break;
}
if (!$AUTHENTICATED) {
// hide all path entries if not logged in
@@ -1018,21 +1013,21 @@ EOB;
case "A": krsort($list); break;
case "D": ksort($list); break;
}
-
+
// output list
$i=0;
foreach($list as $k => $entry) {
if(!$MYREQUEST['SEARCH'] || preg_match($MYREQUEST['SEARCH'], $entry[$fieldname]) != 0) {
- $sh=md5($entry["key"]);
+ $sh=md5($entry["info"]);
$field_value = htmlentities(strip_tags($entry[$fieldname],''), ENT_QUOTES, 'UTF-8');
echo
'<tr class=tr-',$i%2,'>',
"<td class=td-0><a href=\"$MY_SELF&OB=",$MYREQUEST['OB'],"&SH=",$sh,"\">",$field_value,'</a></td>',
- '<td class="td-n center">',$entry['nhits'],'</td>',
+ '<td class="td-n center">',$entry['num_hits'],'</td>',
'<td class="td-n right">',$entry['mem_size'],'</td>',
- '<td class="td-n center">',date(DATE_FORMAT,$entry['atime']),'</td>',
- '<td class="td-n center">',date(DATE_FORMAT,$entry['mtime']),'</td>',
- '<td class="td-n center">',date(DATE_FORMAT,$entry['ctime']),'</td>';
+ '<td class="td-n center">',date(DATE_FORMAT,$entry['access_time']),'</td>',
+ '<td class="td-n center">',date(DATE_FORMAT,$entry['modification_time']),'</td>',
+ '<td class="td-n center">',date(DATE_FORMAT,$entry['creation_time']),'</td>';
if($fieldname=='info') {
if($entry['ttl'])
@@ -1040,9 +1035,9 @@ EOB;
else
echo '<td class="td-n center">None</td>';
}
- if ($entry['dtime']) {
+ if ($entry['deletion_time']) {
- echo '<td class="td-last center">', date(DATE_FORMAT,$entry['dtime']), '</td>';
+ echo '<td class="td-last center">', date(DATE_FORMAT,$entry['deletion_time']), '</td>';
} else if ($MYREQUEST['OB'] == OB_USER_CACHE) {
echo '<td class="td-last center">';
@@ -1054,7 +1049,7 @@ EOB;
echo '</tr>';
if ($sh == $MYREQUEST["SH"]) {
echo '<tr>';
- echo '<td colspan="7"><pre>'.htmlentities(print_r(apcu_fetch($entry['key']), 1)).'</pre></td>';
+ echo '<td colspan="7"><pre>'.htmlentities(print_r(apcu_fetch($entry['info']), 1)).'</pre></td>';
echo '</tr>';
}
$i++;
@@ -1062,7 +1057,7 @@ EOB;
break;
}
}
-
+
} else {
echo '<tr class=tr-0><td class="center" colspan=',$cols,'><i>No data</i></td></tr>';
}
@@ -1107,7 +1102,7 @@ EOB;
echo '<div class="ok">You are running the latest version of APCu ('.$apcversion.')</div>';
$i = 3;
} else {
- echo '<div class="failed">You are running an older version of APCu ('.$apcversion.'),
+ echo '<div class="failed">You are running an older version of APCu ('.$apcversion.'),
newer version '.$match[1].' is available at <a href="http://pecl.php.net/package/APCu/'.$match[1].'">
http://pecl.php.net/package/APCu/'.$match[1].'</a>
</div>';
@@ -1146,6 +1141,6 @@ EOB;
?>
-<!-- <?php echo "\nBased on APCGUI By R.Becker\n$VERSION\n"?> -->
+<!-- <?php echo "\nBased on APCGUI By R.Becker\n"?> -->
</body>
</html>