Changeset 96984 in spip-zone


Ignore:
Timestamp:
May 3, 2016, 7:19:17 PM (4 years ago)
Author:
cedric@…
Message:

_CACHE_COOL_CACHE_SESSION permet de forcer l'application de cache cool meme si il y a une session visiteur
_CACHE_COOL_REFRESH_ON_BOT permet de forcer la mise jour des caches froids servis aux bots
Si la fonction cache_cool_post_produire ou cache_cool_post_produire_dist existe, elle sera appelee apres mise a jour d'un cache, dans le contexte global de calcul du cache

Location:
_plugins_/cache_cool
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/cache_cool/cache_cool_options.php

    r72418 r96984  
    4949        static $processing = false;
    5050        $background = false;
     51        if (!defined('_CACHE_COOL_CACHE_SESSION')) define('_CACHE_COOL_CACHE_SESSION',false);
    5152
    5253        // calcul differe du cache ?
     
    5455        // - c'est un calcul normal avec mise en cache
    5556        // - un cache existe deja qui peut etre servi
    56         // - c'est une visite anonyme (cache mutualise)
     57        // - c'est une visite anonyme (cache mutualise) OU la constante _CACHE_COOL_CACHE_SESSION a ete definie
    5758        // - on est pas deja en train de traiter un calcul en background
    5859        if ($use_cache==1 AND $chemin_cache
    5960                AND is_array($page) AND isset($page['texte'])
    60                 AND (!isset($GLOBALS['visiteur_session']['id_auteur']) OR !$GLOBALS['visiteur_session']['id_auteur'])
     61                AND (_CACHE_COOL_CACHE_SESSION OR !isset($GLOBALS['visiteur_session']['id_auteur']) OR !$GLOBALS['visiteur_session']['id_auteur'])
    6162                AND !$processing
    6263                ) {
     
    6465                // ca ne sert qu'a remplir la queue qui ne sera pas videe par le bot (pas de cron)
    6566                // mais on lui sert le cache froid tout de meme
    66                 if (!defined('_IS_BOT') OR !_IS_BOT){
     67                if (!defined('_CACHE_COOL_REFRESH_ON_BOT')) define('_CACHE_COOL_REFRESH_ON_BOT',false);
     68                if (_CACHE_COOL_REFRESH_ON_BOT OR !defined('_IS_BOT') OR !_IS_BOT){
    6769                        // on differe la maj du cache et on affiche le contenu du cache ce coup ci encore
    6870                        $where = is_null($contexte_cache)?"principal":"inclure_page";
     
    122124        include_spip('public/assembler');
    123125        $page = public_produire_page_dist($fond, $contexte, $use_cache, $chemin_cache, $contexte_cache, $page, $lastinclude, $connect);
     126       
     127        if ($background){
     128                if (function_exists($f='cache_cool_post_produire') OR function_exists($f=($f.'_dist'))){
     129                        $f($fond, $contexte, $use_cache, $chemin_cache, $contexte_cache, $page, $lastinclude, $connect);
     130                }
     131        }
     132       
    124133        // restaurer le contexte des globales si necessaire
    125134        if (!is_null($global_context))
  • _plugins_/cache_cool/plugin.xml

    r89850 r96984  
    22        <nom>Cache Cool</nom>
    33        <auteur>[Cedric->http://www.yterium.net]</auteur>
    4         <version>0.4.2</version>
     4        <version>0.5.0</version>
    55        <etat>stable</etat>
    66        <icon>images/cache_cool-128.png</icon>
Note: See TracChangeset for help on using the changeset viewer.