Changeset 113115 in spip-zone


Ignore:
Timestamp:
Dec 25, 2018, 12:38:03 AM (3 weeks ago)
Author:
root
Message:

Joyeux Noël ! ( et ne pas empêcher les invalidations en l'absence de APCu - à mieux tester )

Location:
_plugins_/cachelab/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/cachelab/trunk/inc/cachelab_invalideur.php

    r113107 r113115  
    3838                return;
    3939        }
    40        
    41 global $Memoization;
    42 static $len_prefix;
    43         if (!isset($Memoization) or !$Memoization or !in_array($Memoization->methode(), array('apc', 'apcu'))) {
    44                 spip_log("suivre_invalideur($cond, $modif) : Memoization n'est pas activé", 'cachelab_erreur');
    45                 return false;
    46         }
    4740
     41        $objet='';
    4842        // determiner l'objet modifie : forum, article, etc
    4943        if (preg_match(',["\']([a-z_]+)[/"\'],', $cond, $r)) {
    5044                $objet = objet_type($r[1]);
    51                 if (!$objet) {
     45                if (!$objet) {  // cas par exemple de 'recalcul' ?
     46                        spip_log("suivre_invalideur avec typesignal {$r[1]} sans objet_type", 'cachelab_signal_exotique_ou_erreur');
    5247                        // stocker la date_modif_extra_$extra (ne sert a rien)
    5348                        ecrire_meta('derniere_modif_extra_' . $r[1], time());
     
    5954                        $f="cachelab_suivre_invalideur_$objet";
    6055                }
     56
    6157                if (function_exists($f)) {
    6258                        spip_log ("suivre_invalideur appelle $f($cond,$modif)", "cachelab");
     
    6864        }
    6965
    70         // si $derniere_modif_invalide est un array('article', 'rubrique')
    71         // n'affecter la meta que si c'est un de ces objets qui est modifié
    72         if (is_array($GLOBALS['derniere_modif_invalide'])) {
    73                 if (in_array($objet, $GLOBALS['derniere_modif_invalide'])) {
    74                         include_spip ('inc/cachelab');
    75                         cachelab_cibler('del');
    76                         spip_log ("suivre_invalideur / objet invalidant : '$objet' ($cond)", "cachelab");
    77                         spip_log ("suivre_invalideur / objet invalidant : '$objet' ($cond)", "suivre_invalideur");
    78                         ecrire_meta('derniere_modif', time());
    79                 }
    80                 else
    81                         spip_log ("NON invalidant : $cond", "suivre_invalideur");
    82 
    83         } // sinon, cas standard du core, toujours affecter la meta et tout effacer
     66       
     67        // n'affecter la meta que
     68        // si $derniere_modif_invalide est un array('article', 'rubrique')
     69        // et que c'est un de ces objets qui est modifié
     70        // OU bien si ce n'est pas un array
     71        if ($objet
     72                and is_array($GLOBALS['derniere_modif_invalide'])
     73                and !in_array($objet, $GLOBALS['derniere_modif_invalide'])) {
     74                        spip_log ("invalidation évitée : $cond", "cachelab_not");
     75        } // sinon, cas par défaut du core, affecter la meta et tout effacer
    8476        else {
    8577                ecrire_meta('derniere_modif', time());
    8678                include_spip ('inc/cachelab');
    87                 cachelab_cibler('del');
    88                 spip_log ("suivre_invalideur standard / objet '$objet' ($cond)", "cachelab");
    89                 spip_log ("suivre_invalideur standard / objet '$objet' ($cond)", "suivre_invalideur");
     79                spip_log ("invalidation totale / objet '$objet' ($cond)", "suivre_invalideur");
    9080                // et tout effacer
    9181        }
  • _plugins_/cachelab/trunk/paquet.xml

    r112746 r113115  
    22        prefix="cachelab"
    33        categorie="outil"
    4         version="0.11.2"
     4        version="0.11.4"
    55        etat="dev"
    66        compatibilite="[3.0.0;3.2.*]"
Note: See TracChangeset for help on using the changeset viewer.