Changeset 125405 in spip-zone


Ignore:
Timestamp:
Aug 17, 2020, 9:52:13 AM (8 months ago)
Author:
Eric Lupinacci
Message:

Passer un argument optionnel aux API ecrire, supprimer et vider qui appellent le pipeline post_cache pour désactiver cet appel dans certains cas.
Cela permet d'utiliser l'API aussi dans le pipeline.

Location:
_plugins_/cache/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/cache/trunk

    • Property subgit:lock:b5787c3080de7a29f130a91d14eac8e7a83896fb deleted
    • Property subgit:lock:d74739a51de486c68aa9bedced074c47b921128d set to 2020-08-17T12:05:31.331
  • _plugins_/cache/trunk/inc/ezcache_cache.php

    r125401 r125405  
    2626 *                                 les composants canoniques du nom.
    2727 * @param array|string $contenu    Contenu sous forme de tableau à sérialiser ou sous la forme d'une chaine.
     28 * @param bool         $post_cache `true` si on doit appeler le pipeline post_cache ou `false` sinon. Le défaut vaut `true`.
     29 *                                 Permet d'utiliser l'API dans le pipeline post_cache.
    2830 *
    2931 * @return bool
    3032 *              True si l'écriture s'est bien passée, false sinon.
    3133 */
    32 function cache_ecrire($plugin, $type_cache, $cache, $contenu) {
     34function cache_ecrire($plugin, $type_cache, $cache, $contenu, $post_cache = true) {
    3335
    3436        // Initialisation du retour de la fonction
     
    9092                // Appel d'un pipeline post opération sur le cache (écriture, suppression).
    9193                // Ce pipeline peut être utilisé pour loger le cache dans une liste par exemple.
    92                 if ($cache_ecrit) {
     94                if (
     95                        $cache_ecrit
     96                        and $post_cache
     97                ) {
    9398                        $flux = array(
    9499                                'args' => array(
     
    274279 * @param array|string $cache      Identifiant du cache sous la forme d'une chaine (le chemin du fichier) ou d'un tableau fournissant
    275280 *                                 les composants canoniques du nom.
     281 * @param bool         $post_cache `true` si on doit appeler le pipeline post_cache ou `false` sinon. Le défaut vaut `true`.
     282 *                                 Permet d'utiliser l'API dans le pipeline post_cache.
    276283 *
    277284 * @return bool `true` si la suppression s'est bien passée, `false` sinon.
    278285 */
    279 function cache_supprimer($plugin, $type_cache, $cache) {
     286function cache_supprimer($plugin, $type_cache, $cache, $post_cache = true) {
    280287
    281288        // Initialisation du contenu du cache
     
    309316                // Appel d'un pipeline post opération sur le cache (écriture, suppression).
    310317                // Ce pipeline peut être utilisé pour déloger le cache dans une liste par exemple.
    311                 $flux = array(
    312                         'args' => array(
    313                                 'plugin'        => $plugin,
    314                                 'fonction'      => 'supprimer',
    315                                 'fichier_cache' => $fichier_cache,
    316                                 'cache'         => $cache,
    317                                 'configuration' => $configuration
    318                         ),
    319                 );
    320                 pipeline('post_cache', $flux);
     318                if ($post_cache) {
     319                        $flux = array(
     320                                'args' => array(
     321                                        'plugin'        => $plugin,
     322                                        'fonction'      => 'supprimer',
     323                                        'fichier_cache' => $fichier_cache,
     324                                        'cache'         => $cache,
     325                                        'configuration' => $configuration
     326                                ),
     327                        );
     328                        pipeline('post_cache', $flux);
     329                }
    321330        }
    322331
     
    427436 * @param string $type_cache Type de cache identifiant la configuration dans la liste des configurations de cache du plugin
    428437 * @param array  $caches     Liste des fichiers caches désignés par leur chemin complet.
     438 * @param bool   $post_cache `true` si on doit appeler le pipeline post_cache ou `false` sinon. Le défaut vaut `true`.
     439 *                           Permet d'utiliser l'API dans le pipeline post_cache.
    429440 *
    430441 * @return bool `true` si la suppression s'est bien passée, `false` sinon.
    431442 */
    432 function cache_vider($plugin, $type_cache, $caches) {
     443function cache_vider($plugin, $type_cache, $caches, $post_cache = true) {
    433444
    434445        // Initialisation du retour
     
    450461                        // Appel d'un pipeline post opération sur le cache (écriture, suppression).
    451462                        // Ce pipeline peut être utilisé pour déloger le cache dans une liste par exemple.
    452                         $flux = array(
    453                                 'args' => array(
    454                                         'plugin'        => $plugin,
    455                                         'fonction'      => 'supprimer',
    456                                         'fichier_cache' => $_fichier,
    457                                         'cache'         => ezcache_cache_decomposer($plugin, $_fichier, $configuration),
    458                                         'configuration' => $configuration
    459                                 ),
    460                         );
    461                         pipeline('post_cache', $flux);
     463                        if ($post_cache) {
     464                                $flux = array(
     465                                        'args' => array(
     466                                                'plugin'        => $plugin,
     467                                                'fonction'      => 'supprimer',
     468                                                'fichier_cache' => $_fichier,
     469                                                'cache'         => ezcache_cache_decomposer($plugin, $_fichier, $configuration),
     470                                                'configuration' => $configuration
     471                                        ),
     472                                );
     473                                pipeline('post_cache', $flux);
     474                        }
    462475                }
    463476                $cache_vide = true;
Note: See TracChangeset for help on using the changeset viewer.