Changeset 113822 in spip-zone
- Timestamp:
- Feb 8, 2019, 6:09:04 PM (9 days ago)
- Location:
- _plugins_/taxonomie/trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/taxonomie/trunk/inc/taxonomie_cacher.php
r113820 r113822 7 7 if (!defined('_ECRIRE_INC_VERSION')) { 8 8 return; 9 }10 11 12 if (!defined('_TAXONOMIE_CACHE_NOMDIR')) {13 /**14 * Nom du dossier contenant les fichiers caches des éléments de taxonomie15 *16 * @package SPIP\TAXONOMIE\CACHE17 */18 define('_TAXONOMIE_CACHE_NOMDIR', 'cache-taxonomie/');19 }20 if (!defined('_TAXONOMIE_CACHE_DIR')) {21 /**22 * Chemin du dossier contenant les fichiers caches des boussoles23 *24 * @package SPIP\TAXONOMIE\CACHE25 */26 define('_TAXONOMIE_CACHE_DIR', _DIR_VAR . _TAXONOMIE_CACHE_NOMDIR);27 }28 if (!defined('_TAXONOMIE_CACHE_FORCER')) {29 /**30 * Indicateur permettant de forcer le recalcul du cache systématiquement.31 * A n'utiliser que temporairement en mode debug par exemple.32 *33 * @package SPIP\TAXONOMIE\CACHE34 */35 define('_TAXONOMIE_CACHE_FORCER', false);36 }37 38 39 /**40 * Ecrit le contenu issu d'un service taxonomique dans un fichier texte afin d'optimiser le nombre41 * de requêtes adressées au service.42 *43 * @package SPIP\TAXONOMIE\CACHE44 *45 * @param string $cache46 * Contenu du fichier cache. Si le service appelant manipule un tableau il doit le sérialiser avant47 * d'appeler cette fonction.48 * @param string $service49 * @param string $action50 * @param int $tsn51 * @param array $options52 *53 * @return boolean54 * Toujours à vrai.55 */56 function cache_taxonomie_ecrire($cache, $service, $action, $tsn, $options) {57 58 // Création du dossier cache si besoin59 sous_repertoire(_DIR_VAR, trim(_TAXONOMIE_CACHE_NOMDIR, '/'));60 61 // Ecriture du fichier cache62 $fichier_cache = cache_taxonomie_nommer($service, $action, $tsn, $options);63 ecrire_fichier($fichier_cache, $cache);64 65 return true;66 }67 68 69 /**70 * Construit le nom du fichier cache en fonction du service, de l'action, du taxon concernés et71 * d'autres critères optionnels.72 *73 * @package SPIP\TAXONOMIE\CACHE74 *75 * @param string $service76 * @param string $action77 * @param int $tsn78 * @param array $options79 *80 * @return string81 */82 function cache_taxonomie_nommer($service, $action, $tsn, $options) {83 84 // Construction du chemin complet d'un fichier cache85 $fichier_cache = _TAXONOMIE_CACHE_DIR86 . $service87 . ($action ? '_' . $action : '')88 . '_' . $tsn;89 90 // On complète le nom avec les options éventuelles91 if ($options) {92 foreach ($options as $_option => $_valeur) {93 if ($_valeur) {94 $fichier_cache .= '_' . $_valeur;95 }96 }97 }98 99 // On rajoute l'extension texte100 $fichier_cache .= '.txt';101 102 return $fichier_cache;103 }104 105 /**106 * Vérifie l'existence du fichier cache pour un taxon, un service et une actions donnés.107 * Si le fichier existe la fonction retourne son chemin complet.108 *109 * @package SPIP\TAXONOMIE\CACHE110 *111 * @param string $service112 * @param string $action113 * @param int $tsn114 * @param array $options115 *116 * @return string117 * Chemin du fichier cache si il existe ou chaine vide sinon.118 */119 function cache_taxonomie_existe($service, $action, $tsn, $options = array()) {120 121 // Contruire le nom du fichier cache122 $fichier_cache = cache_taxonomie_nommer($service, $action, $tsn, $options);123 124 // Vérification de l'existence du fichier:125 // - chaine vide si le fichier n'existe pas126 // - chemin complet du fichier si il existe127 if (!file_exists($fichier_cache)) {128 $fichier_cache = '';129 }130 131 return $fichier_cache;132 9 } 133 10 … … 152 29 $fichiers_cache = is_string($caches) ? array($caches) : $caches; 153 30 } else { 154 $fichiers_cache = glob(_ TAXONOMIE_CACHE_DIR. '*.*');31 $fichiers_cache = glob(_DIR_VAR . 'cache-taxonomie/' . '*.*'); 155 32 } 156 33 -
_plugins_/taxonomie/trunk/services/itis/itis_api.php
r113806 r113822 4 4 * 5 5 * @package SPIP\TAXONOMIE\SERVICES\ITIS 6 * @todo phpdoc : exemples7 6 */ 8 7 if (!defined('_ECRIRE_INC_VERSION')) { … … 327 326 * 328 327 * @api 329 * @uses cache_taxonomie_existe() 328 * 329 * @uses cache_existe() 330 330 * @uses itis_build_url() 331 331 * @uses inc_taxonomie_requeter_dist() 332 * @uses cache_taxonomie_ecrire() 332 * @uses cache_ecrire() 333 * @uses cache_lire() 333 334 * 334 335 * @param int $tsn … … 436 437 * 437 438 * @api 439 * 440 * @uses cache_existe() 438 441 * @uses itis_build_url() 439 442 * @uses inc_taxonomie_requeter_dist() 443 * @uses cache_ecrire() 444 * @uses cache_lire() 440 445 * 441 446 * @param string $action -
_plugins_/taxonomie/trunk/services/iucn/iucn_api.php
r113783 r113822 4 4 * 5 5 * @package SPIP\TAXONOMIE\SERVICES\IUCN 6 * @todo phpdoc : exemples7 6 */ 8 7 if (!defined('_ECRIRE_INC_VERSION')) { … … 130 129 * 131 130 * @api 132 * @uses cache_ taxonomie_existe()131 * @uses cache_existe() 133 132 * @uses itis_build_url() 134 133 * @uses inc_taxonomie_requeter_dist() 135 * @uses cache_taxonomie_ecrire() 134 * @uses cache_ecrire() 135 * @uses cache_lire() 136 136 * 137 137 * @param array $search -
_plugins_/taxonomie/trunk/services/wikipedia/wikipedia_api.php
r113783 r113822 4 4 * 5 5 * @package SPIP\TAXONOMIE\SERVICES\WIKIPEDIA 6 * @todo phpdoc : exemples7 6 */ 8 7 if (!defined('_ECRIRE_INC_VERSION')) { … … 55 54 * 56 55 * @api 57 * @uses cache_taxonomie_existe() 58 * @uses cache_taxonomie_ecrire() 56 * @uses cache_existe() 59 57 * @uses wikipedia_build_url() 60 58 * @uses inc_taxonomie_requeter() 59 * @uses cache_ecrire() 60 * @uses cache_lire() 61 61 * 62 62 * @param array $search
Note: See TracChangeset
for help on using the changeset viewer.