Changeset 113860 in spip-zone


Ignore:
Timestamp:
Feb 11, 2019, 8:10:03 PM (9 days ago)
Author:
eric@…
Message:

Il faut toujours utiliser sous_repertoire() lors de l'écriture.
On le vire donc de la config et on ajoute le dossier plugin à la config pour éviter de le recalculer.

Location:
_plugins_/cache/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/cache/trunk/cache/cache.php

    r113840 r113860  
    8080
    8181        // -- Sous-dossier spécifique au plugin
    82         $sous_dossier = ($configuration['racine'] == _DIR_VAR) ? "cache-${plugin}" : "$plugin";
    83         // -- Création et enregistrement du dossier de base
    84         include_spip('inc/flock');
    85         $configuration['dossier_base'] = sous_repertoire($configuration['racine'], $sous_dossier);
     82        $configuration['dossier_plugin'] = ($configuration['racine'] == _DIR_VAR) ? "cache-${plugin}/" : "${plugin}/";
     83        // -- Enregistrement du dossier de base
     84        $configuration['dossier_base'] = $configuration['racine'] . $configuration['dossier_plugin'];
    8685
    8786        // -- Construction du tableau des composants du nom : dans l'ordre on a toujours les composants obligatoires
  • _plugins_/cache/trunk/inc/cache.php

    r113835 r113860  
    4949        include_spip('inc/flock');
    5050        if (is_array($cache)) {
    51                 // Création du répertoire du cache à créer, si besoin.
    52                 $erreur_sous_dossier = false;
    53                 if ($configuration[$plugin]['sous_dossier']) {
    54                         if (!empty($cache['sous_dossier'])) {
    55                                 // Si le cache nécessite un sous-dossier on crée le répertoire au besoin.
    56                                 sous_repertoire($configuration[$plugin]['dossier_base'], rtrim($cache['sous_dossier'], '/'));
    57                         } else {
    58                                 // C'est une erreur, le sous-dossier n'a pas été fourni alors qu'il est requis. On arrête l'écriture.
    59                                 $erreur_sous_dossier = true;
    60                         }
    61                 }
    62 
    63                 // Détermination du chemin du cache si pas d'erreur sur le sous-dossier :
    64                 // - le nom sans extension est construit à partir des éléments fournis sur le conteneur et
    65                 //   de la configuration du nom pour le plugin.
    66                 if (!$erreur_sous_dossier) {
     51                // Vérification de la conformité entre la configuration et le sous-dossier du cache.
     52                if (!$configuration[$plugin]['sous_dossier']
     53                or ($configuration[$plugin]['sous_dossier'] and !empty($cache['sous_dossier']))) {
     54                        // Détermination du chemin du cache si pas d'erreur sur le sous-dossier :
     55                        // - le nom sans extension est construit à partir des éléments fournis sur le conteneur et
     56                        //   de la configuration du nom pour le plugin.
    6757                        $fichier_cache = cache_cache_composer($plugin, $cache, $configuration[$plugin]);
    6858                }
     
    7464       
    7565        if ($fichier_cache) {
     66                // On crée les répertoires si besoin
     67                sous_repertoire($configuration[$plugin]['racine'], rtrim($configuration[$plugin]['dossier_plugin'], '/'));
     68                if ($configuration[$plugin]['sous_dossier']) {
     69                        sous_repertoire($configuration[$plugin]['dossier_base'], rtrim($cache['sous_dossier'], '/'));
     70                }
     71
    7672                // Suivant que la configuration demande une sérialisation ou pas, on vérife le format du contenu
    7773                // de façon à toujours écrire une chaine.
Note: See TracChangeset for help on using the changeset viewer.