Changeset 113742 in spip-zone
- Timestamp:
- Feb 4, 2019, 8:04:27 PM (13 days ago)
- Location:
- _plugins_/cache/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/cache/trunk/cache/cache.php
r113741 r113742 5 5 * Chaque fonction, soit aiguille, si elle existe, vers une fonction "homonyme" propre au plugin appelant 6 6 * 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 9 10 */ 10 11 if (!defined('_ECRIRE_INC_VERSION')) { … … 59 60 * Le plugin N-Core ne complète pas les types de noisette. 60 61 * 61 * @package SPIP\NCORE\TYPE_NOISETTE\SERVICE62 *63 62 * @uses ncore_chercher_service() 63 * @uses sous_repertoire() 64 * @uses lire_config() 65 * @uses ecrire_config() 64 66 * 65 67 * @param string $plugin … … 125 127 $meta_cache = lire_config('cache', array()); 126 128 $meta_cache[$plugin] = $configuration; 127 ecrire_c ache('cache', $meta_cache);129 ecrire_config('cache', $meta_cache); 128 130 129 131 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 */ 150 function 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; 130 186 } 131 187 … … 154 210 $fonction_trouvee = ''; 155 211 156 // Eviter la réentrance si on demande explicitement le s tockage N-Core212 // Eviter la réentrance si on demande explicitement le service du plugin Cache. 157 213 if ($plugin != 'cache') { 158 214 include_spip("cache/${plugin}"); -
_plugins_/cache/trunk/inc/cache_api.php
r113741 r113742 154 154 155 155 /** 156 * Construit le chemin complet du fichier cache.157 *158 * @api159 *160 * @param string $plugin161 * Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier162 * ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.163 * @param array $conteneur164 * Tableau identifiant le cache pour lequel on veut construire le nom.165 * @param array $configuration166 * Configuration complète des caches du plugin utlisateur.167 *168 * @return string169 */170 function cache_nommer($plugin, $conteneur, $configuration) {171 172 // Initialisation du chemin complet du fichier cache173 $fichier_cache = '';174 175 // Détermination du répertoire final du fichier cache qui peut-être inclus dans un sous-dossier du dossier176 // 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 configuration185 // 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'extension197 // 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 complet202 $fichier_cache = "${dir_cache}${nom_cache}${extension}";203 }204 205 return $fichier_cache;206 }207 208 209 /**210 156 * Renvoie le chemin complet du cache si celui-ci existe sinon renvoie une chaine vide. 211 157 *
Note: See TracChangeset
for help on using the changeset viewer.