Changeset 521 in svn for trunk


Ignore:
Timestamp:
2008-02-17T15:27:05+01:00 (7 years ago)
Author:
Xuefer
Message:

add "total" stat

Location:
trunk/admin
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/admin/common-zh-simplified-utf-8.lang.php

    r456 r521  
    7171        'GC'
    7272        => 'GC',
     73        'Total'
     74        => '总共',
    7375        'Cache'
    7476        => '缓冲区',
  • trunk/admin/common-zh-traditional-utf-8.lang.php

    r456 r521  
    7171        'GC'
    7272        => 'GC',
     73        'Total'
     74        => '总共',
    7375        'Cache'
    7476        => '快取',
  • trunk/admin/xcache.css

    r518 r521  
    1818.button { }
    1919span.sortarrow { color: white; text-decoration: none; }
    20 .freeblocks { float: left; margin-right: 4px;}
    21 .freeblocks td { text-align: right; }
    2220form {margin: 0; padding: 0}
    2321
     
    2624.percent .pavail { background: green; }
    2725
    28 .usagegraph { height: 16px; }
    29 .usagegraph div { float: left; height: 3px; width: 4px; border: solid gray; border-width: 0 0px 1px 0; }
    30 .usagegraph { border: 1px solid gray; border-bottom: 0px; }
     26.freeblockgraph { height: 16px; }
     27.freeblockgraph div { float: left; height: 3px; width: 4px; border: solid gray; border-width: 0 0px 1px 0; }
     28.freeblockgraph { border: 1px solid gray; border-bottom: 0px; }
    3129
    3230.switcher, h1, h2 { text-align: center; display: block; }
  • trunk/admin/xcache.php

    r520 r521  
    169169        $cacheid = (int) (isset($_POST['cacheid']) ? $_POST['cacheid'] : 0);
    170170        if (isset($_POST['clearcache'])) {
    171             xcache_clear_cache($type, $cacheid);
     171            $count = xcache_count($type);
     172            if ($cacheid == $count) {
     173                for ($cacheid = 0; $cacheid < $count; $cacheid ++) {
     174                    xcache_clear_cache($type, $cacheid);
     175                }
     176            }
     177            else {
     178                xcache_clear_cache($type, $cacheid);
     179            }
    172180        }
    173181    }
     
    177185// {{{ load info/list
    178186$cacheinfos = array();
     187$total = array();
    179188for ($i = 0; $i < $pcnt; $i ++) {
    180189    $data = xcache_info(XC_TYPE_PHP, $i);
     
    186195    $data['cacheid'] = $i;
    187196    $cacheinfos[] = $data;
    188 }
     197    if ($pcnt >= 2) {
     198        foreach ($data as $k => $v) {
     199            switch ($k) {
     200            case 'type':
     201            case 'cache_name':
     202            case 'cacheid':
     203            case 'free_blocks':
     204                continue 2;
     205            }
     206            if (!isset($total[$k])) {
     207                $total[$k] = $v;
     208            }
     209            else {
     210                $total[$k] += $v;
     211            }
     212        }
     213    }
     214}
     215
     216if ($pcnt >= 2) {
     217    $total['type'] = XC_TYPE_PHP;
     218    $total['cache_name'] = _T('Total');
     219    $total['cacheid'] = $pcnt;
     220    $total['gc'] = null;
     221    $total['istotal'] = true;
     222    $cacheinfos[] = $total;
     223}
     224
     225$total = array();
    189226for ($i = 0; $i < $vcnt; $i ++) {
    190227    $data = xcache_info(XC_TYPE_VAR, $i);
     
    196233    $data['cacheid'] = $i;
    197234    $cacheinfos[] = $data;
     235    if ($pcnt >= 2) {
     236        foreach ($data as $k => $v) {
     237            switch ($k) {
     238            case 'type':
     239            case 'cache_name':
     240            case 'cacheid':
     241            case 'free_blocks':
     242            case 'gc':
     243                continue 2;
     244            }
     245            if (!isset($total[$k])) {
     246                $total[$k] = $v;
     247            }
     248            else {
     249                $total[$k] += $v;
     250            }
     251        }
     252    }
     253}
     254
     255if ($vcnt >= 2) {
     256    $total['type'] = XC_TYPE_VAR;
     257    $total['cache_name'] = _T('Total');
     258    $total['cacheid'] = $vcnt;
     259    $total['gc'] = null;
     260    $total['istotal'] = true;
     261    $cacheinfos[] = $total;
    198262}
    199263// }}}
     
    210274    }
    211275    foreach ($cacheinfos as $i => $c) {
     276        if (!empty($c['istotal'])) {
     277            continue;
     278        }
    212279        if ($c['type'] == $type && isset($c['cache_list'])) {
    213280            foreach ($c['cache_list'] as $e) {
  • trunk/admin/xcache.tpl.php

    r519 r521  
    5151        $pused = 100 - $pavail;
    5252
    53         $graph = freeblock_to_graph($ci['free_blocks'], $ci['size']);
    5453        $w = $free_graph_width;
    5554        $tdwidth = $w + 2;
     55        if (empty($ci['istotal'])) {
     56            $graph = freeblock_to_graph($ci['free_blocks'], $ci['size']);
     57            $freeblockgraph = "<div class=\"freeblockgraph\" style=\"width: {$w}px\">{$graph}</div>";
     58        }
     59        else {
     60            $freeblockgraph = '';
     61        }
    5662
    5763        $ci_slots = size($ci['slots']);
     
    5965        $ci_avail = size($ci['avail']);
    6066        $ci = number_formats($ci, $numkeys);
    61         $ci['compiling']    = $ci['type'] == $type_php ? ($ci['compiling'] ? 'yes' : 'no') : '-';
    62         $ci['can_readonly'] = $ci['can_readonly'] ? 'yes' : 'no';
     67        if (!empty($ci['istotal'])) {
     68            $ci['compiling']    = '-';
     69            $ci['can_readonly'] = '-';
     70        }
     71        else {
     72            $ci['compiling']    = $ci['type'] == $type_php ? ($ci['compiling'] ? 'yes' : 'no') : '-';
     73            $ci['can_readonly'] = $ci['can_readonly'] ? 'yes' : 'no';
     74        }
    6375        echo <<<EOS
    6476        <th>{$ci['cache_name']}</th>
     
    7183                ><div style="width: {$pused}%" class="pused"></div
    7284            ></div
    73             ><div class="usagegraph" style="width: {$w}px">{$graph}</div
    74         ></td>
     85        >{$freeblockgraph}</td>
    7586        <td
    7687            ><form method="post"
Note: See TracChangeset for help on using the changeset viewer.