Changeset 43347 in spip-zone


Ignore:
Timestamp:
Jan 5, 2011, 8:50:19 PM (10 years ago)
Author:
fil@…
Message:
  • une methode donnant (quand c'est possible) la taille du cache
  • corrections diverses
  • suppression de la possibilite d'utiliser le cache traditionnel de spip

maintenant il faudrait changer les mots pour qu'on comprenne qu'il s'agit du
cache...

Location:
_plugins_/memoization
Files:
11 edited
1 moved

Legend:

Unmodified
Added
Removed
  • _plugins_/memoization/exec/admin_vider.php

    r42487 r43347  
    5151function exec_admin_vider_dist()
    5252{
    53         global $quota_cache, $spip_lang;
     53        global $spip_lang;
    5454
    5555        // autorisation a affiner
     
    8282                echo "\n<div>&nbsp;</div>";
    8383
    84 //
    85 // Quota et taille du cache
    86 //
     84        //
     85        // taille du cache
     86        //
    8787
    88                 $cfg = @unserialize($GLOBALS['meta']['memoization']);
    89                 switch ($cfg['pages']) {
    90                         case 'file':
    91                                 include_spip('inc/invalideur');
    92                                 if (($n = taille_du_cache())>250*1024)
    93                                         $info = _T('taille_cache_octets', array('octets' => taille_en_octets($n)));
    94                                 else
    95                                         $info = _T('taille_cache_vide');
     88                $m = &$GLOBALS['Memoization'];
     89                $info = _L('Le cache des pages est g&#233;r&#233; par la m&#233;thode @type@', array('type' => $m->methode));
     90                if (is_int($n = $m->size())) {
     91                        if ($n > 0*250*1024)
     92                                $info2 = _T('taille_cache_octets', array('octets' => taille_en_octets($n)));
     93                        else
     94                                $info2 = _T('taille_cache_vide');
     95                }
     96                else
     97                        $info2 = _L("Taille totale non disponible");
     98                $bouton = _L('Invalider le cache');
    9699
    97                                 $info2 = ($quota_cache
    98                                         ? _T('taille_cache_maxi',
    99                                                 array('octets' => taille_en_octets($quota_cache*1024*1024)))
    100                                         : _T('taille_cache_infinie')
    101                                         )
    102                                         . ' (' . _T('cache_modifiable_webmestre').')';
    103                                 $bouton = _T('bouton_vider_cache');
    104                                 break;
     100                echo debut_cadre_relief("", true, "", _T('taille_repertoire_cache'));
    105101
    106                         default:
    107                                 $quota_cache = '';
    108                                 $memo = new MCache($cfg['methode']);
    109                                 $info = _L('Le cache des pages utilise la m&#233;moization @type@', array('type' => $memo->methode));
    110                                 $info2 = _L("Taille totale non disponible");
    111                                 $bouton = _L('Invalider le cache');
    112                                 break;
     102                echo "<p style='text-align: justify;'><b>$info</b></p>\n";
     103
     104                if ($info2) {
     105                        echo "\n<p style='text-align: justify;'>";
     106                        echo $info2;
     107                        echo "</p>";
    113108                }
    114109
    115                
    116 
    117                 if ($info) {
    118 
    119                         echo debut_cadre_relief("", true, "", _T('taille_repertoire_cache'));
    120 
    121                         echo "<p style='text-align: justify;'><b>$info</b></p>\n";
    122 
    123                         if ($info2) {
    124                                 echo "\n<p style='text-align: justify;'>";
    125                                 echo $info2;
    126                                 echo "</p>";
    127                         }
    128 
    129                         echo
    130                                 redirige_action_post('purger', 'cache', "admin_vider", '',
    131                                          "\n<div style='text-align: right'><input  type='submit' value=\"" .
    132                          str_replace('"', '&quot;', $bouton) .
    133                                          "\" /></div>");
    134                         echo fin_cadre_relief(true);
    135 
    136                 }
     110                echo
     111                        redirige_action_post('purger', 'cache', "admin_vider", '',
     112                                 "\n<div style='text-align: right'><input  type='submit' value=\"" .
     113                 str_replace('"', '&quot;', $bouton) .
     114                                 "\" /></div>");
     115                echo fin_cadre_relief(true);
    137116
    138117                echo debut_cadre_relief("image-24.gif", true, "", _T('info_images_auto'));
  • _plugins_/memoization/fonds/cfg_memoization.html

    r42705 r43347  
    11<!-- titre=<:memoization:cfg_titre:> -->
    22<!-- descriptif=<:memoization:cfg_description:> -->
    3 <!-- icone=images/memoization-24.png-->
    4 <!-- logo=images/memoization-64.jpg-->
     3<!-- icone=images/memoization-24.jpg -->
     4<!-- logo=images/memoization-64.jpg -->
    55
    66#CACHE{0}
  • _plugins_/memoization/formulaires/config_memoization.html

    r42705 r43347  
    6161                                </ul>
    6262                        </li>
    63                        
    64                         <li class="fieldset">
    65                                 <h3 class="legend"><:memoization:legend_cache_pages:></h3>
    66                                 <ul>
    67                                         <li class="editer_pages">
    68                                                 <label for="pages"><:memoization:label_cache_pages:></label>
    69                                                 <select name="pages" id="pages">
    70                                                         <option value=""><:memoization:option_cache_defaut:></option>
    71                                                         <option value="filecache"[
    72                                                                 selected="(#ENV{pages}|=={filecache}|?{selected})"]><:memoization:option_cache_filepage:></option>
    73                                                         <option value="file"[
    74                                                                 selected="(#ENV{pages}|=={file}|?{selected})"]><:memoization:option_cache_file:></option>
    75                                                 </select>
    76                                         </li>
    77                                 </ul>
    78                         </li>
     63
    7964                </ul>
    8065                <script type="text/javascript"><!--
  • _plugins_/memoization/inc/memoization.php

    r42916 r43347  
    9393                return $this->backend->unlock($key);
    9494        }
    95        
     95
     96        /* mixed */
     97        function size() {
     98                if (method_exists($this->backend, 'size'))
     99                        return $this->backend->size();
     100        }
    96101}
    97102
  • _plugins_/memoization/lang/memoization_en.php

    r42706 r43347  
    2121
    2222        // O
    23         'option_cache_defaut' => 'By the memoization method defined above',
    24         'option_cache_file' => 'Old method of the core',
    25         'option_cache_filepage' => 'By filecache memoization',
    2623        'option_methode_apc' => 'APC',
    2724        'option_methode_defaut' => 'Auto-detection',
  • _plugins_/memoization/lang/memoization_fr.php

    r42704 r43347  
    2121
    2222        // O
    23         'option_cache_defaut' => 'Par la m&#233;moization d&#233;finie ci-dessus',
    24         'option_cache_file' => 'Ancienne m&#233;thode du core',
    25         'option_cache_filepage' => 'Par la m&#233;moization filecache',
    2623        'option_methode_apc' => 'APC',
    2724        'option_methode_defaut' => 'Auto-d&#233;tection',
  • _plugins_/memoization/memo/apc.inc

    r42478 r43347  
    6060        }
    6161
     62        function size() {
     63                if (!class_exists('APCIterator'))
     64                        return false;
     65                $a = 0;
     66                $time = $GLOBALS['meta']['cache_mark'];
     67                foreach (new APCIterator('user') as $f)
     68                        if ($f['mtime'] > $time)
     69                                $a += $f['mem_size'];
     70                return $a;
     71        }
     72
    6273}
    6374
  • _plugins_/memoization/memo/filecache.inc

    r42916 r43347  
    115115                $this->lock($key, true);
    116116        }
     117       
     118        function size() {
     119                # check dirs until we reach > 500 files
     120                $t = 0;
     121                $n = 0;
     122                $time = $GLOBALS['meta']['cache_mark'];
     123                for($i=0;$i<256;$i++) {
     124                        $dir = _DIR_CACHE.sprintf('%02s', dechex($i));
     125                        if (@is_dir($dir) AND is_readable($dir) AND $d = @opendir($dir)) {
     126                                while (($f = readdir($d)) !== false) {
     127                                        if (preg_match(',^[0-9a-f][0-9a-f]$,S', $f)
     128                                        AND $a = stat("$dir/$f")) {
     129                                                $n++;
     130                                                if ($a['mtime'] >= $time) {
     131                                                        if ($a['blocks'] > 0)
     132                                                                $t += 512*$a['blocks'];
     133                                                        else
     134                                                                $t += $a['size'];
     135                                                }
     136                                        }
     137                                }
     138                        }
     139                        if ($n>500)
     140                                return intval(256*$t/(1+$i));
     141                }
     142                return $t;
     143        }
    117144}
    118145
  • _plugins_/memoization/memo/nocache.inc

    r42478 r43347  
    11<?php
    22
    3 class MCacheBackend_nocache extends MCacheBackend {}
     3class MCacheBackend_nocache extends MCacheBackend {
     4        function size() { return 0; }
     5}
    46
    57?>
  • _plugins_/memoization/memo/xcache.inc

    r42478 r43347  
    8383                $this->lock($key, true);
    8484        }
    85        
     85
     86        function size() {
     87                # necessite xcache.admin.user
     88                #$a = xcache_list();
     89                #var_dump($a);
     90                return false;
     91        }
    8692}
    8793
  • _plugins_/memoization/plugin.xml

    r42916 r43347  
    22        <nom>Memoization</nom>
    33        <auteur>Fil
    4         &#169; 2009-2010 - GNU/LGPL || MIT
     4        &#169; 2009-2011 - GNU/LGPL || MIT
    55        </auteur>
    66        <version>
    7         0.9.4
     7        0.9.5
    88        </version>
    99        <etat>
    10         test
     10        stable
    1111        </etat>
    1212        <description>
    1313                <multi>
    14                         [fr]Un outil de m&#233;mo&#239;zation, destin&#233; &#224; acc&#233;l&#233;rer.
     14                        [fr] Gestion du cache de SPIP par diverses m&#233;thodes.
    1515
    1616        (icone : [laszlo-photo->http://www.flickr.com/photos/laszlo-photo/149047693/])
    17                         [en]Memoization tool designed to accelerate.
     17
     18                        [en] Various methods to process SPIP's cache.
    1819
    1920        (icon : [laszlo-photo->http://www.flickr.com/photos/laszlo-photo/149047693/])
Note: See TracChangeset for help on using the changeset viewer.