source: trunk/htdocs/cacher/cacher.tpl.php @ 1063

Last change on this file since 1063 was 1063, checked in by moo, 2 years ago

htdocs/cacher: clogs->skips, compiling ad part of status

  • Property svn:eol-style set to native
File size: 8.3 KB
RevLine 
[1053]1<?php include("../common/header.tpl.php"); ?>
2<div class="switcher"><?php echo switcher("type", $listTypes); ?></div>
[530]3<div id="help">
[1038]4    <a href="help.php"><?php echo _("Help") ?> &raquo;</a>
[530]5</div>
[34]6<?php
7$a = new Cycle('class="col1"', 'class="col2"');
8$b = new Cycle('class="col1"', 'class="col2"');
9?>
[1038]10<table cellspacing="0" cellpadding="4" class="cycles caches">
11    <caption><?php echo _('Caches'); ?></caption>
[34]12    <col />
13    <col align="right" />
14    <col align="right" />
15    <col align="right" />
16    <col />
17    <col />
18    <col align="right" />
19    <col align="right" />
20    <col align="right" />
[522]21    <col />
[34]22    <col align="right" />
23    <col align="right" />
24    <col align="right" />
25    <col align="right" />
26    <col align="right" />
[522]27    <col align="right" />
28    <col align="right" />
[34]29    <col />
30    <tr <?php echo $a->next(); ?>>
[1038]31    <?php echo
32        th(N_("cache.cache"))
33        , th(N_("cache.size"))
34        , th(N_("cache.avail"))
35        , th(N_("cache.used"))
36        , th(N_("cache.blocksgraph"))
37        , th(N_("cache.operations"))
[1063]38        , th(N_("cache.status"))
[1038]39        , th(N_("cache.hits"))
40        , th(N_("cache.hits_graph"))
41        , th(N_("cache.hits_avg_h"))
42        , th(N_("cache.hits_avg_s"))
43        , th(N_("cache.updates"))
[1063]44        , th(N_("cache.skips"))
[1038]45        , th(N_("cache.ooms"))
46        , th(N_("cache.errors"))
47        , th(N_("cache.readonly_protected"))
48        , th(N_("cache.cached"))
49        , th(N_("cache.deleted"))
50        , th(N_("cache.gc_timer"))
51        ;
52    ?>
[34]53    </tr>
54    <?php
[1063]55    $numkeys = explode(',', 'slots,size,avail,hits,updates,skips,ooms,errors,cached,deleted');
[1038]56    $l_clear = _('Clear');
57    $l_clear_confirm = _('Sure to clear?');
[34]58    foreach ($cacheinfos as $i => $ci) {
59        echo "
[352]60        <tr ", $a->next(), ">";
[526]61        $pvalue = (int) ($ci['avail'] / $ci['size'] * 100);
62        $pempty = 100 - $pvalue;
[902]63        if ($config['percent_graph_type'] == 'used') {
[526]64            // swap
65            $tmp = $pvalue;
66            $pvalue = $pempty;
67            $pempty = $tmp;
68        }
[108]69
[902]70        $w = $config['percent_graph_width'];
[521]71        if (empty($ci['istotal'])) {
72            $graph = freeblock_to_graph($ci['free_blocks'], $ci['size']);
[526]73            $blocksgraph = "<div class=\"blocksgraph\" style=\"width: {$w}px\">{$graph}</div>";
[521]74        }
75        else {
[526]76            $blocksgraph = '';
[521]77        }
[517]78
[188]79        $ci_slots = size($ci['slots']);
80        $ci_size  = size($ci['size']);
81        $ci_avail = size($ci['avail']);
[34]82        $ci = number_formats($ci, $numkeys);
[522]83
84        $hits_avg_h     = number_format(array_avg($ci['hits_by_hour']), 2);
85        $hits_avg_s     = number_format(array_avg($ci['hits_by_second']), 2);
[1058]86        $hits_graph_h   = get_cache_hits_graph($ci, 'hits_by_hour');
[522]87        $hits_graph_h_w = count($ci['hits_by_hour']) * 2;
88
[521]89        if (!empty($ci['istotal'])) {
[1063]90            $ci['status']       = '-';
[521]91            $ci['can_readonly'] = '-';
92        }
93        else {
[1063]94            if ($ci['type'] == $type_php) {
95            $ci['status'] = $ci['compiling'] ? sprintf(_('Compiling(%s)'), age($ci['compiling'])) : _('Normal');
96            }
97            else {
98                $ci['status'] = '-';
99            }
[521]100            $ci['can_readonly'] = $ci['can_readonly'] ? 'yes' : 'no';
101        }
[34]102        echo <<<EOS
103        <th>{$ci['cache_name']}</th>
[188]104        <td title="{$ci['slots']}">{$ci_slots}</td>
105        <td title="{$ci['size']}">{$ci_size}</td>
106        <td title="{$ci['avail']}">{$ci_avail}</td>
[530]107        <td title="{$pvalue} %"
[517]108            ><div class="percent" style="width: {$w}px"
[526]109                ><div style="width: {$pvalue}%" class="pvalue"></div
110                ><div style="width: {$pempty}%" class="pempty"></div
[517]111            ></div
[526]112        >{$blocksgraph}</td>
[518]113        <td
[530]114            ><form method="post" action=""
[518]115                ><div
116                    ><input type="hidden" name="type" value="{$ci['type']}"
117                    /><input type="hidden" name="cacheid" value="{$ci['cacheid']}"
118                    /><input type="submit" name="clearcache" value="{$l_clear}" class="submit" onclick="return confirm('{$l_clear_confirm}');"
119                /></div
120            ></form
121        ></td>
[1063]122        <td>{$ci['status']}</td>
[34]123        <td>{$ci['hits']}</td>
[1038]124        <td><div class="hitsgraph" style="width: {$hits_graph_h_w}px">{$hits_graph_h}</div></td>
[522]125        <td>{$hits_avg_h}</td>
126        <td>{$hits_avg_s}</td>
[936]127        <td>{$ci['updates']}</td>
[1063]128        <td>{$ci['skips']}</td>
[34]129        <td>{$ci['ooms']}</td>
[456]130        <td>{$ci['errors']}</td>
[34]131        <td>{$ci['can_readonly']}</td>
132        <td>{$ci['cached']}</td>
133        <td>{$ci['deleted']}</td>
[118]134        <td>{$ci['gc']}</td>
[34]135EOS;
136
137            $b->reset();
138            ?>
139    </tr>
140    <?php } ?>
141</table>
[527]142<div class="blockarea legends">
[1038]143    <div class="legendtitle"><?php echo _('Legends:'); ?></div>
[527]144    <div class="legend pvalue">&nbsp;&nbsp;</div>
[1038]145    <div class="legendtitle"><?php echo _($config['percent_graph_type'] == 'free' ? '% Free' : '% Used'); ?></div>
[527]146    <div class="legend" style="background: rgb(0,0,255)">&nbsp;&nbsp;</div>
[1038]147    <div class="legendtitle"><?php echo _($config['percent_graph_type'] == 'free' ? 'Free Blocks' : 'Used Blocks'); ?></div>
[527]148    <div class="legend" style="background: rgb(255,0,0)">&nbsp;&nbsp;</div>
[1038]149    <div class="legendtitle"><?php echo _('Hits'); ?></div>
[527]150</div>
[34]151<?php
152
153if ($cachelist) {
154    $isphp = $cachelist['type'] == $type_php;
[902]155    ob_start($config['path_nicer']);
[34]156    foreach (array('Cached' => $cachelist['cache_list'], 'Deleted' => $cachelist['deleted_list']) as $listname => $entries) {
157        $a->reset();
158        ?>
159
[371]160    <form action="" method="post">
[519]161    <table cellspacing="0" cellpadding="4" class="cycles entries" width="100%">
[1038]162        <caption><?php echo _("{$cachelist['type_name']} $listname"); ?></caption>
[34]163        <?php
164        echo "
165        <tr ", $a->next(), ">";
166        ?>
167
[1038]168            <?php
169            if ($isphp) {
170                echo
171                    th("entry.id")
172                    ;
173            }
174            else {
175                echo
176                    th("entry.remove", 'width="20"')
177                    ;
178            }
179
180            echo
181                th(N_("entry.name"))
182                , th(N_("entry.hits"))
183                , th(N_("entry.size"))
184                ;
185
186            if ($isphp) {
187                echo
188                    th(N_("entry.refcount"))
189                    , th(N_("entry.phprefcount"))
190                    , th(N_("entry.class_cnt"))
191                    , th(N_("entry.function_cnt"))
192                    , th(N_("entry.file_size"))
193                    , th(N_("entry.file_mtime"))
194                    ;
195                if ($haveinode) {
196                    echo
197                        th(N_("entry.file_device"))
198                        , th(N_("entry.file_inode"))
199                        ;
200                }
201            }
202            echo
203                th(N_("entry.hash"))
204                , th(N_("entry.atime"))
205                , th(N_("entry.ctime"))
206                ;
207
208            if ($listname == 'Deleted') {
209                echo
210                    th(N_("entry.delete"))
211                    ;
212            }
213            ?>
[34]214        </tr>
215        <?php
216        foreach ($entries as $i => $entry) {
217            echo "
218            <tr ", $a->next(), ">";
219            $name     = htmlspecialchars($entry['name']);
220            $hits     = number_format($entry['hits']);
221            $size     = size($entry['size']);
222            if ($isphp) {
[1053]223                $class_cnt    = number_format($entry['class_cnt']);
224                $function_cnt = number_format($entry['function_cnt']);
225                $phprefcount  = number_format($entry['phprefcount']);
226                $file_size    = size($entry['file_size']);
[34]227            }
228
229            if ($isphp) {
[868]230                $file_mtime = age($entry['file_mtime']);
[34]231            }
232            $ctime = age($entry['ctime']);
233            $atime = age($entry['atime']);
[146]234            if ($listname == 'Deleted') {
235                $dtime = age($entry['dtime']);
236            }
[34]237
[1053]238            if ($isphp) {
239                $namelink = $name;
[371]240                echo <<<ENTRY
[1053]241                <td>{$entry['cache_name']} {$i}</td>
[371]242ENTRY;
[1053]243            }
244            else {
245                echo <<<ENTRY
246                    <td><label><input type="checkbox" name="remove[]" value="{$name}"/>{$entry['cache_name']} {$i}</label></td>
247ENTRY;
[371]248                $uname = urlencode($entry['name']);
249                $namelink = "<a href=\"edit.php?name=$uname\">$name</a>";
250            }
251
[34]252            echo <<<ENTRY
[371]253            <td>{$namelink}</td>
[868]254            <td align="right" int="{$entry['hits']}">{$entry['hits']}</td>
255            <td align="right" int="{$entry['size']}">{$size}</td>
[34]256ENTRY;
257            if ($isphp) {
[931]258                $refcount = number_format($entry['refcount']);
[34]259                echo <<<ENTRY
[931]260                <td align="right" int="{$entry['refcount']}">{$entry['refcount']}</td>
[868]261                <td align="right" int="{$entry['phprefcount']}">{$phprefcount}</td>
[1038]262                <td align="right" int="{$entry['class_cnt']}">{$class_cnt}</td>
263                <td align="right" int="{$entry['function_cnt']}">{$function_cnt}</td>
[868]264                <td align="right" int="{$entry['file_size']}">{$file_size}</td>
265                <td align="right" int="{$entry['file_mtime']}">{$file_mtime}</td>
[34]266ENTRY;
[851]267                if (isset($entry['file_inode'])) {
[84]268                    echo <<<ENTRY
[868]269                    <td align="right" int="{$entry['file_device']}">{$entry['file_device']}</td>
270                    <td align="right" int="{$entry['file_inode']}">{$entry['file_inode']}</td>
[84]271ENTRY;
272                }
[34]273            }
274            echo <<<ENTRY
[868]275            <td align="right" int="{$entry['hvalue']}">{$entry['hvalue']}</td>
276            <td align="right" int="{$entry['atime']}">{$atime}</td>
277            <td align="right" int="{$entry['ctime']}">{$ctime}</td>
[34]278ENTRY;
279            if ($listname == 'Deleted') {
280            echo <<<ENTRY
[868]281                <td align="right" int="{$entry['dtime']}">{$dtime}</td>
[34]282ENTRY;
283            }
284
285            echo "
286        </tr>
287            ";
288        }
289        ?>
290
291    </table>
[689]292    <?php if (!$isphp) { ?>
[1038]293    <input type="submit" value="<?php echo _("Remove Selected"); ?>">
[689]294    <?php } ?>
[371]295    </form>
[34]296<?php
297    }
[902]298    ob_end_flush();
[34]299}
[147]300if ($moduleinfo) {
[1038]301    $t_moduleinfo = _("Module Info");
[147]302    echo <<<HTML
303<h2>$t_moduleinfo</h2>
[1041]304<div class="phpinfo">$moduleinfo</div>
[147]305HTML;
306}
[34]307?>
[1053]308<?php include("../common/footer.tpl.php"); ?>
Note: See TracBrowser for help on using the repository browser.