Changeset 115378 in spip-zone


Ignore:
Timestamp:
May 14, 2019, 11:27:57 AM (9 days ago)
Author:
real3t@…
Message:

[Dictionnaires] Le cache n'était mis à jour que sur changement du *contenu* d'une définition. Et pas sur le changement de statut de la définition ou du dictionnaire.
Par ailleurs, le cache n'était pas enregistré si aucune définition (ce qui conduisait à garder les définitions en cache si inactivation du dictionnaire complet).

Location:
_plugins_/dictionnaires/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/dictionnaires/trunk/dictionnaires_pipelines.php

    r112354 r115378  
    3131**/
    3232function dictionnaires_post_edition($flux) {
     33        if($flux['args']['action'] == 'instituer') {
     34                $objet = objet_type($flux['args']['table']);
     35                if (($objet === 'dictionnaire') or ($objet === 'definition')) {
     36                        include_spip('inc/dictionnaires');
     37                        dictionnaires_lister_definitions(true);
     38                }
     39        }
     40       
    3341        // TOUT CELA EST A FAIRE
    3442        return $flux;
  • _plugins_/dictionnaires/trunk/inc/dictionnaires.php

    r92499 r115378  
    4949       
    5050        // Si ça contient déjà quelque chose à ce stade, c'est avec le static donc on ne fait rien d'autre
    51         if (!$purger and $definitions_actives and is_array($definitions_actives)){
     51        if (!$purger and is_array($definitions_actives)){
    5252                return $definitions_actives;
    5353        }
     
    6060                $purger == true
    6161                or !lire_fichier($fichier_cache, $definitions_actives)
    62                 or !($definitions_actives = unserialize($definitions_actives))
    63                 or !is_array($definitions_actives)
     62                or !(is_array($definitions_actives = unserialize($definitions_actives)))
    6463        ){
    6564                $definitions_actives = array();
    66                
     65
    6766                // On récupère tous les dictionnaires actifs
    6867                $dicos_actifs = sql_allfetsel('id_dictionnaire', 'spip_dictionnaires', 'statut = '. sql_quote('actif'));
     
    141140               
    142141                // Si on a des définitions à mettre en cache, on les écrit
    143                 if ($definitions_actives and is_writeable(_DIR_CACHE)){
     142                if (is_writeable(_DIR_CACHE)){
    144143                        ecrire_fichier($fichier_cache, serialize($definitions_actives));
    145144                }
  • _plugins_/dictionnaires/trunk/paquet.xml

    r115309 r115378  
    22        prefix="dictionnaires"
    33        categorie="divers"
    4         version="1.2.3"
     4        version="1.2.4"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.2.*]"
     
    2424        <pipeline nom="optimiser_base_disparus" inclure="dictionnaires_pipelines.php" />
    2525
    26         <!-- <pipeline nom="post_edition" inclure="dictionnaires_pipelines.php" /> -->
     26        <pipeline nom="post_edition" inclure="dictionnaires_pipelines.php" />
    2727        <pipeline nom="post_propre" inclure="dictionnaires_pipelines.php" />
    2828
Note: See TracChangeset for help on using the changeset viewer.