Changeset 109798 in spip-zone for _plugins_/memoization


Ignore:
Timestamp:
Apr 4, 2018, 12:20:34 PM (3 months ago)
Author:
cedric@…
Message:

2 fonctions cache_edito_get et cache_edito_set pour memoizer du contenu editorial qui sera invalide lors des modifs edito
(utile pour des fonctions de tri ou de selection de contenu editorial)

Location:
_plugins_/memoization/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/memoization/trunk/memoization_options.php

    r105892 r109798  
    199199function memoization_methode($methode=null) {
    200200        return MCache::methode($methode);
     201}
     202
     203
     204/**
     205 * Recuperer de l'editorial cache, mais invalide avec la meta derniere_modif ou avec un var_mode
     206 * @param string $key
     207 * @return string
     208 */
     209function cache_edito_get($key) {
     210        if (function_exists('cache_get')
     211          and !_VAR_MODE
     212          and $cache = cache_get("edito-$key")
     213          and isset($cache['time'])
     214          and isset($cache['value'])
     215          and (!isset($GLOBALS['meta']['derniere_modif']) or $cache['time']>$GLOBALS['meta']['derniere_modif'])) {
     216                return $cache['value'];
     217        }
     218
     219        return null;
     220}
     221
     222/**
     223 * Stocker de l'editorial cache, avec un timestamp pour gerer l'invalidation
     224 * @param string $key
     225 * @param mixed $value
     226 * @return mixed
     227 */
     228function cache_edito_set($key, $value) {
     229        if (function_exists('cache_set')) {
     230                $cache = array('value' => $value, 'time' => $_SERVER['REQUEST_TIME']);
     231                cache_set($key, $cache);
     232        }
     233        return $value;
    201234}
    202235
  • _plugins_/memoization/trunk/paquet.xml

    r105893 r109798  
    22        prefix="Memoization"
    33        categorie="performance"
    4         version="1.8.3"
     4        version="1.9.0"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.2.*]"
Note: See TracChangeset for help on using the changeset viewer.