Changeset 39907 in spip-zone


Ignore:
Timestamp:
Aug 18, 2010, 10:38:33 AM (9 years ago)
Author:
fil@…
Message:

Cache de SPIP par memoization ; configuration permettant de choisir sa fonction de memoization, et de passer par le cache standard de spip

Location:
_plugins_/memoization
Files:
9 added
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/memoization/inc/memoization.php

    r39703 r39907  
    22
    33# xcache ?
     4$cfg = @unserialize($GLOBALS['meta']['memoization']);
    45
    5 if (function_exists('cache_set')) {
     6function memoization_methode ($methode=null) {
     7        if (!$methode) {
     8                $methodes = array('xcache', 'eaccelerator', 'filecache', 'nocache');
     9                while (!memoization_methode($methode = array_shift($methodes))){};
     10                return $methode;
     11        }
     12
     13        switch($methode) {
     14                case 'xcache':
     15                        return function_exists('xcache_set');
     16                case 'eaccelerator':
     17                        return function_exists('eaccelerator_put');
     18                case 'filecache':
     19                case 'nocache':
     20                        return true;
     21        }
     22}
     23
     24if (!$cfg['methode']) {
     25        $cfg['methode'] = memoization_methode();
     26}
     27if ($cfg['methode']
     28AND memoization_methode($cfg['methode'])) {
     29        @define('_MEMOIZE', $cfg['methode']);
     30        require_once dirname(dirname(__FILE__)).'/memo/'.$cfg['methode'].'.inc';
     31} else
    632        @define('_MEMOIZE', '??');
    7 } elseif (function_exists('xcache_set')) {
    8         @define('_MEMOIZE', 'xcache');
    9         require_once dirname(dirname(__FILE__)).'/memo/xcache.inc';
    10 } elseif (function_exists('eaccelerator_put')) {
    11         @define('_MEMOIZE', 'eaccelerator');
    12         require_once dirname(dirname(__FILE__)).'/memo/eaccelerator.inc';
    13 } else {
    14         @define('_MEMOIZE', 'filecache');
    15         require_once dirname(dirname(__FILE__)).'/memo/filecache.inc';
    16 }
    1733
    1834//
  • _plugins_/memoization/plugin.xml

    r39755 r39907  
    55        </auteur>
    66        <version>
    7         0.6
     7        0.7
    88        </version>
    99        <etat>
Note: See TracChangeset for help on using the changeset viewer.