Changeset 113742 in spip-zone


Ignore:
Timestamp:
Feb 4, 2019, 8:04:27 PM (3 months ago)
Author:
eric@…
Message:

Sauvegarde intermédiaire avant d'arrêter pour aujourd'hui

Location:
_plugins_/cache/trunk
Files:
2 edited

Legend:

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

    r113741 r113742  
    55 * Chaque fonction, soit aiguille, si elle existe, vers une fonction "homonyme" propre au plugin appelant
    66 * soit déroule sa propre implémentation.
    7  * Ainsi, les plugins externes peuvent, si elle leur convient, utiliser l'implémentation proposée par Cache
    8  * en codant un minimum de fonctions.
     7 * Ainsi, les plugins externes peuvent, si elle leur convient, utiliser l'implémentation proposée par Cache.
     8 *
     9 * @package SPIP\CACHE\SERVICE
    910 */
    1011if (!defined('_ECRIRE_INC_VERSION')) {
     
    5960 * Le plugin N-Core ne complète pas les types de noisette.
    6061 *
    61  * @package SPIP\NCORE\TYPE_NOISETTE\SERVICE
    62  *
    6362 * @uses ncore_chercher_service()
     63 * @uses sous_repertoire()
     64 * @uses lire_config()
     65 * @uses ecrire_config()
    6466 *
    6567 * @param string $plugin
     
    125127        $meta_cache = lire_config('cache', array());
    126128        $meta_cache[$plugin] = $configuration;
    127         ecrire_cache('cache', $meta_cache);
     129        ecrire_config('cache', $meta_cache);
    128130
    129131        return $configuration_plugin;
     132}
     133
     134
     135/**
     136 * Construit le chemin complet du fichier cache.
     137 *
     138 * @api
     139 *
     140 * @param string $plugin
     141 *        Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier
     142 *        ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.
     143 * @param array  $conteneur
     144 *        Tableau identifiant le cache pour lequel on veut construire le nom.
     145 * @param array  $configuration
     146 *        Configuration complète des caches du plugin utlisateur.
     147 *
     148 * @return string
     149 */
     150function cache_cache_nommer_dist($plugin, $conteneur, $configuration) {
     151
     152        // Initialisation du chemin complet du fichier cache
     153        $fichier_cache = '';
     154
     155        // Détermination du répertoire final du fichier cache qui peut-être inclus dans un sous-dossier du dossier
     156        // de base des caches du plugin.
     157        $dir_cache = $configuration['dossier_base'];
     158        if (!empty($conteneur['sous_dossier'])) {
     159                // Si le conteneur nécessite un sous-dossier, appelé service dans l'identifiant du conteneur.
     160                $dir_cache .= rtrim($conteneur['sous_dossier'], '/');
     161        }
     162
     163        // Détermination du nom du cache sans extension.
     164        // Celui-ci est construit à partir des éléments fournis sur le conteneur et de la configuration
     165        // fournie par le plugin (liste ordonnée de composant).
     166        $nom_cache = '';
     167        foreach ($configuration['nom'] as $_composant) {
     168                if (isset($conteneur[$_composant])) {
     169                        $nom_cache .= ($nom_cache ? $configuration['separateur'] : '') . $conteneur[$_composant];
     170                }
     171        }
     172
     173        // Si le nom a pu être construit on finalise le chemin complet, sinon on renvoie une chaine vide.
     174        if ($nom_cache) {
     175                // L'extension par défaut est dans la configuration mais peut-être forcée pour un cache donné.
     176                // Par contre, si le cache est sécurisé alors on ne tient pas compte du forçage éventuel car l'extension
     177                // doit toujours être .php et celle-ci a été forcée lors de la configuration des caches du plugin.
     178                $extension = (!empty($conteneur['extension']) and !$configuration['securisation'])
     179                        ? $conteneur['extension']
     180                        : $configuration['extension'];
     181                // Le chemin complet
     182                $fichier_cache = "${dir_cache}${nom_cache}${extension}";
     183        }
     184
     185        return $fichier_cache;
    130186}
    131187
     
    154210        $fonction_trouvee = '';
    155211
    156         // Eviter la réentrance si on demande explicitement le stockage N-Core
     212        // Eviter la réentrance si on demande explicitement le service du plugin Cache.
    157213        if ($plugin != 'cache') {
    158214                include_spip("cache/${plugin}");
  • _plugins_/cache/trunk/inc/cache_api.php

    r113741 r113742  
    154154
    155155/**
    156  * Construit le chemin complet du fichier cache.
    157  *
    158  * @api
    159  *
    160  * @param string $plugin
    161  *        Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier
    162  *        ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.
    163  * @param array  $conteneur
    164  *        Tableau identifiant le cache pour lequel on veut construire le nom.
    165  * @param array  $configuration
    166  *        Configuration complète des caches du plugin utlisateur.
    167  *
    168  * @return string
    169  */
    170 function cache_nommer($plugin, $conteneur, $configuration) {
    171 
    172         // Initialisation du chemin complet du fichier cache
    173         $fichier_cache = '';
    174 
    175         // Détermination du répertoire final du fichier cache qui peut-être inclus dans un sous-dossier du dossier
    176         // de base des caches du plugin.
    177         $dir_cache = $configuration['dossier_base'];
    178         if (!empty($conteneur['sous_dossier'])) {
    179                 // Si le conteneur nécessite un sous-dossier, appelé service dans l'identifiant du conteneur.
    180                 $dir_cache .= rtrim($conteneur['sous_dossier'], '/');
    181         }
    182 
    183         // Détermination du nom du cache sans extension.
    184         // Celui-ci est construit à partir des éléments fournis sur le conteneur et de la configuration
    185         // fournie par le plugin (liste ordonnée de composant).
    186         $nom_cache = '';
    187         foreach ($configuration['nom'] as $_composant) {
    188                 if (isset($conteneur[$_composant])) {
    189                         $nom_cache .= ($nom_cache ? $configuration['separateur'] : '') . $conteneur[$_composant];
    190                 }
    191         }
    192 
    193         // Si le nom a pu être construit on finalise le chemin complet, sinon on renvoie une chaine vide.
    194         if ($nom_cache) {
    195                 // L'extension par défaut est dans la configuration mais peut-être forcée pour un cache donné.
    196                 // Par contre, si le cache est sécurisé alors on ne tient pas compte du forçage éventuel car l'extension
    197                 // doit toujours être .php et celle-ci a été forcée lors de la configuration des caches du plugin.
    198                 $extension = (!empty($conteneur['extension']) and !$configuration['securisation'])
    199                         ? $conteneur['extension']
    200                         : $configuration['extension'];
    201                 // Le chemin complet
    202                 $fichier_cache = "${dir_cache}${nom_cache}${extension}";
    203         }
    204        
    205         return $fichier_cache;
    206 }
    207 
    208 
    209 /**
    210156 * Renvoie le chemin complet du cache si celui-ci existe sinon renvoie une chaine vide.
    211157 *
Note: See TracChangeset for help on using the changeset viewer.