Changeset 113856 in spip-zone
- Timestamp:
- Feb 11, 2019, 6:29:53 PM (2 years ago)
- Location:
- _plugins_/n-core/trunk
- Files:
-
- 1 deleted
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/n-core/trunk/inc/ncore_type_noisette.php
r113854 r113856 350 350 351 351 /** 352 * Supprime les caches liés à la compilation. Les autres caches fournis par N-Core comme un espace de stokage 353 * possible pour les plugins utilisateurs ne sont pas concernés par cette fonction. 352 * Supprime tout ou partie des caches liés à la compilation uniquement. 354 353 * 355 354 * @api 355 * 356 356 * @uses cache_supprimer() 357 357 * 358 * @param string $plugin358 * @param string $plugin 359 359 * Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier 360 360 * ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe. 361 * @param array $fonction 362 * Identification de la fonction du cache qui participe à son nommage (uniquement liée à la compilation). 363 * 364 * @return array 365 * Tableau des descriptions des types de noisette trouvés indexé par le type de noisette. 361 * @param array|string $fonctions 362 * Identifiants des fonctions permettant de nommer le cache : les valeurs possibles sont `ajax`, `inclusions` 363 * et `contextes`. Il est possible de fournir un tableau vide pour supprimer tous les caches 364 * ou juste une fonction sous forme de chaine. 365 * 366 * @return bool 367 * `false` si une erreur de fonction s'est produite, `true` sinon. 366 368 */ 367 function type_noisette_supprimer_cache($plugin, $fonction) { 368 369 // Initialisation de l'identifiant du cache des descriptions 370 $cache = array( 371 'sous_dossier' => $plugin, 372 'objet' => 'type_noisette', 373 'fonction' => $fonction 374 ); 375 376 // Suppression du cache spécifié. 377 include_spip('inc/cache'); 378 $retour = cache_supprimer('ncore', $cache); 379 369 function type_noisette_decacher($plugin, $fonctions = array()) { 370 371 // Retour de la fonction 372 $retour = false; 373 374 // Liste des fonctions valides pour cette API. 375 static $fonctions_autorisees = array('ajax', 'inclusions', 'contextes'); 376 377 // Identification des caches à supprimer. 378 // -- si vide on supprime tous les caches. 379 // -- si une seule fonction est passée en chaine on la transforme en tableau. 380 // -- si une liste on vérifie que les fonctions sont valides. 381 if (!$fonctions) { 382 $fonctions = $fonctions_autorisees; 383 } elseif (is_string($fonctions)) { 384 $fonctions = array($fonctions); 385 } elseif (is_array($fonctions)) { 386 $fonctions = array_intersect($fonctions, $fonctions_autorisees); 387 } else { 388 $fonctions = array(); 389 } 390 391 if ($fonctions) { 392 // Initialisation de l'identifiant du cache 393 include_spip('inc/cache'); 394 $cache = array( 395 'sous_dossier' => $plugin, 396 'objet' => 'type_noisette' 397 ); 398 foreach ($fonctions as $_fonction) { 399 // Complétude de l'identifiant du cache 400 $cache['fonction'] = $_fonction; 401 402 // Suppression du cache spécifié. 403 cache_supprimer('ncore', $cache); 404 } 405 $retour = true; 406 } 407 380 408 return $retour; 381 409 } -
_plugins_/n-core/trunk/ncore/ncore.php
r113848 r113856 149 149 // Si le plugin utilisateur complète la description avec des champs spécifiques il doit proposer un service 150 150 // de complément propre. 151 include_spip('inc/ncore_utils');152 151 if ($completer = ncore_chercher_service($plugin, 'type_noisette_completer', $stockage)) { 153 152 // On passe le plugin appelant à la fonction car cela permet ainsi de mutualiser les services de stockage. … … 191 190 // Si le plugin appelant complète la description du type de noisette avec des champs textuels il doit 192 191 // proposer un service propre de traitement de ces champs. 193 include_spip('inc/ncore_utils');194 192 if ($traiter_typo = ncore_chercher_service($plugin, 'type_noisette_traiter_typo', $stockage)) { 195 193 // On passe le plugin appelant à la fonction car cela permet ainsi de mutualiser les services de stockage. … … 227 225 // Si le plugin utilisateur possède un stockage propre il doit proposer un service spécifique pour récupérer 228 226 // la description brute d'un type de noisette. 229 include_spip('inc/ncore_utils');230 227 if ($decrire = ncore_chercher_service($plugin, 'type_noisette_decrire', $stockage)) { 231 228 // On passe le plugin appelant à la fonction car cela permet ainsi de mutualiser les services de stockage. … … 282 279 // Si le plugin utilisateur possède un stockage propre il doit proposer un service spécifique pour récupérer 283 280 // les données requises de tous les types de noisette disponibles. 284 include_spip('inc/ncore_utils');285 281 if ($lister = ncore_chercher_service($plugin, 'type_noisette_lister', $stockage)) { 286 282 // On passe le plugin appelant à la fonction car cela permet ainsi de mutualiser les services de stockage. … … 340 336 // Si le plugin utilisateur permet la configuration du défaut Ajax ou ne suit pas la configuration de N-Core, il 341 337 // doit proposer un service pour fournir cette valeur. 342 include_spip('inc/ncore_utils');343 338 if ($configurer = ncore_chercher_service($plugin, 'type_noisette_initialiser_ajax', '')) { 344 339 // On passe le plugin appelant à la fonction car cela permet ainsi de mutualiser les services de stockage. … … 376 371 // Si le plugin utilisateur permet la configuration du défaut d'inclusion ou ne suit pas la configuration de N-Core, 377 372 // il doit proposer un service pour fournir cette valeur. 378 include_spip('inc/ncore_utils');379 373 if ($configurer = ncore_chercher_service($plugin, 'type_noisette_initialiser_inclusion', '')) { 380 374 // On passe le plugin appelant à la fonction car cela permet ainsi de mutualiser les services de stockage. … … 411 405 // Si le plugin utilisateur permet la configuration du dossier des types de noisette ou ne suit pas la configuration 412 406 // de N-Core, il doit proposer un service pour fournir cette valeur. 413 include_spip('inc/ncore_utils');414 407 if ($configurer = ncore_chercher_service($plugin, 'type_noisette_initialiser_dossier', '')) { 415 408 // On passe le plugin appelant à la fonction car cela permet ainsi de mutualiser les services de stockage. … … 456 449 // Si le plugin utilisateur possède un stockage propre il doit proposer un service spécifique pour stocker 457 450 // les données d'une noisette. 458 include_spip('inc/ncore_utils');459 451 if ($stocker = ncore_chercher_service($plugin, 'noisette_stocker', $stockage)) { 460 452 // On passe le plugin appelant à la fonction car cela permet ainsi de mutualiser les services de stockage. … … 541 533 // Si le plugin utilisateur possède un stockage propre il doit proposer un service spécifique pour effectuer 542 534 // le changement de conteneur d'une noisette. 543 include_spip('inc/ncore_utils');544 535 if ($changer = ncore_chercher_service($plugin, 'noisette_changer_conteneur', $stockage)) { 545 536 // On passe le plugin appelant à la fonction car cela permet ainsi de mutualiser les services de stockage. … … 597 588 // Si le plugin utilisateur complète la description avec des champs spécifiques il doit proposer un service 598 589 // de complément propre. 599 include_spip('inc/ncore_utils');600 590 if ($completer = ncore_chercher_service($plugin, 'noisette_completer', $stockage)) { 601 591 // On passe le plugin appelant à la fonction car cela permet ainsi de mutualiser les services de stockage. … … 633 623 // Si le plugin appelant complète la description du type de noisette avec des champs textuels il doit 634 624 // proposer un service propre de traitement typo de ces champs. 635 include_spip('inc/ncore_utils');636 625 if ($traiter_typo = ncore_chercher_service($plugin, 'noisette_traiter_typo', $stockage)) { 637 626 // On passe le plugin appelant à la fonction car cela permet ainsi de mutualiser les services de stockage. … … 667 656 // Si le plugin utilisateur possède un stockage propre il doit proposer un service spécifique pour changer 668 657 // la position d'une noisette au sein d'un conteneur. 669 include_spip('inc/ncore_utils');670 658 if ($ranger = ncore_chercher_service($plugin, 'noisette_ranger', $stockage)) { 671 659 // On passe le plugin appelant à la fonction car cela permet ainsi de mutualiser les services de stockage. … … 727 715 // Si le plugin utilisateur possède un stockage propre il doit proposer un service spécifique pour supprimer 728 716 // une noisette de son conteneur. 729 include_spip('inc/ncore_utils');730 717 if ($destocker = ncore_chercher_service($plugin, 'noisette_destocker', $stockage)) { 731 718 // On passe le plugin appelant à la fonction car cela permet ainsi de mutualiser les services de stockage. … … 792 779 // Si le plugin utilisateur possède un stockage propre il doit proposer un service spécifique pour récupérer 793 780 // les données demandées d'une liste noisette. 794 include_spip('inc/ncore_utils');795 781 if ($lister = ncore_chercher_service($plugin, 'noisette_lister', $stockage)) { 796 782 // On passe le plugin appelant à la fonction car cela permet ainsi de mutualiser les services de stockage. … … 863 849 // Si le plugin utilisateur possède un stockage propre il doit proposer un service spécifique pour récupérer 864 850 // la description brute d'une noisette. 865 include_spip('inc/ncore_utils');866 851 if ($decrire = ncore_chercher_service($plugin, 'noisette_decrire', $stockage)) { 867 852 // On passe le plugin appelant à la fonction car cela permet ainsi de mutualiser les services de stockage. … … 936 921 // Si le plugin utilisateur permet la configuration du défaut d'encapsulaiton ou ne suit pas la configuration 937 922 // de N-Core, il doit proposer un service pour fournir cette valeur. 938 include_spip('inc/ncore_utils');939 923 if ($configurer = ncore_chercher_service($plugin, 'noisette_initialiser_encapsulation', '')) { 940 924 // On passe le plugin appelant à la fonction car cela permet ainsi de mutualiser les services de stockage. … … 995 979 } else { 996 980 // Le conteneur est spécifique au plugin utilisateur, c'est donc au plugin faire la vérification des index. 997 include_spip('inc/ncore_utils');998 981 if ($verifier = ncore_chercher_service($plugin, 'conteneur_verifier', $stockage)) { 999 982 $conteneur_verifie = $verifier($plugin, $conteneur); … … 1043 1026 } else { 1044 1027 // Le conteneur est spécifique au plugin utilisateur, c'est donc au plugin de le calculer. 1045 include_spip('inc/ncore_utils');1046 1028 if ($identifier = ncore_chercher_service($plugin, 'conteneur_identifier', $stockage)) { 1047 1029 $id_conteneur = $identifier($plugin, $conteneur); … … 1091 1073 } else { 1092 1074 // Le conteneur est spécifique au plugin utilisateur, c'est donc au plugin de le calculer. 1093 include_spip('inc/ncore_utils');1094 1075 if ($construire = ncore_chercher_service($plugin, 'conteneur_construire', $stockage)) { 1095 1076 $conteneur = $construire($plugin, $id_conteneur); … … 1172 1153 // Si le plugin utilisateur possède un stockage propre il doit proposer un service spécifique pour supprimer 1173 1154 // les noisettes d'un conteneur. 1174 include_spip('inc/ncore_utils');1175 1155 if ($destocker = ncore_chercher_service($plugin, 'conteneur_destocker', $stockage)) { 1176 1156 // On passe le plugin appelant à la fonction car cela permet ainsi de mutualiser les services de stockage. … … 1200 1180 return $retour; 1201 1181 } 1182 1183 1184 // ----------------------------------------------------------------------- 1185 // ---------------- UTILITAIRE PROPRE AU PLUGIN N-CORE ------------------- 1186 // ----------------------------------------------------------------------- 1187 1188 /** 1189 * Cherche une fonction donnée en se basant sur le service de stockage ou à défaut sur le plugin appelant. 1190 * Si ni le service de stockage ni le plugin ne fournissent la fonction demandée la chaîne vide est renvoyée. 1191 * 1192 * @internal 1193 * 1194 * @param string $plugin 1195 * Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou 1196 * un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe. 1197 * @param bool $fonction 1198 * Nom de la fonction à chercher. 1199 * @param string $stockage 1200 * Identifiant du service de stockage à utiliser si précisé. Dans ce cas, ni celui du plugin 1201 * ni celui de N-Core ne seront utilisés. En général, cet identifiant est le préfixe d'un plugin 1202 * fournissant le service de stockage souhaité. 1203 * 1204 * @return string 1205 * Nom complet de la fonction si trouvée ou chaine vide sinon. 1206 */ 1207 function ncore_chercher_service($plugin, $fonction, $stockage = '') { 1208 1209 $fonction_trouvee = ''; 1210 1211 // Si le stockage n'est pas précisé on cherche la fonction dans le plugin appelant. 1212 if (!$stockage) { 1213 $stockage = $plugin; 1214 } 1215 1216 // Eviter la réentrance si on demande explicitement le stockage N-Core 1217 if ($stockage != 'ncore') { 1218 include_spip("ncore/${stockage}"); 1219 $fonction_trouvee = "${stockage}_${fonction}"; 1220 if (!function_exists($fonction_trouvee)) { 1221 $fonction_trouvee = ''; 1222 } 1223 } 1224 1225 return $fonction_trouvee; 1226 } -
_plugins_/n-core/trunk/paquet.xml
r113848 r113856 2 2 prefix="ncore" 3 3 categorie="outil" 4 version="0.9. 0"4 version="0.9.1" 5 5 etat="test" 6 6 compatibilite="[3.2.0;3.2.*]"
Note: See TracChangeset
for help on using the changeset viewer.