Changeset 112999 in spip-zone


Ignore:
Timestamp:
Dec 20, 2018, 7:40:44 PM (3 months ago)
Author:
eric@…
Message:

Finalement on expose les fonctions d'API du conteneur en filtres et on encpasule la fonction ncore_conteneur_construire dans une API car elle est très utile pour les plugins utilisateurs.
De cette façon, les plugins utilisateurs n'ont plus jamais à utiliser les fonctions de service mais uniquement les API.

Location:
_plugins_/n-core/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/n-core/trunk/inc/ncore_conteneur.php

    r112825 r112999  
    22/**
    33 * Ce fichier contient l'API N-Core de gestion des conteneurs.
     4 * Toutes ces fonctions sont aussi exposées en tant que filtres.
    45 *
    56 * @package SPIP\NCORE\CONTENEUR\API
     
    1112
    1213/**
     14 * Calcule l'identifiant unique pour le conteneur sous forme de chaine.
     15 * Cette fonction est juste un wrapper pour le service `ncore_conteneur_identifier()`.
     16 * Elle est utilisée par les balises #NOISETTE_COMPILER et #CONTENEUR_IDENTIFIER.
     17 *
     18 * @api
     19 * @filtre
     20 *
     21 * @param string $plugin
     22 *        Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou
     23 *        un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.
     24 * @param array  $conteneur
     25 *        Tableau associatif descriptif du conteneur.
     26 * @param string $stockage
     27 *        Identifiant du service de stockage à utiliser si précisé.
     28 *
     29 * @return string
     30 *        Identifiant du conteneur ou chaine vide en cas d'erreur.
     31 */
     32function conteneur_identifier($plugin, $conteneur, $stockage = '') {
     33
     34        // Wrapper sur la fonction de service homonyme.
     35        include_spip('ncore/ncore');
     36        $identifiant = ncore_conteneur_identifier($plugin, $conteneur, $stockage);
     37
     38        return $identifiant;
     39}
     40
     41/**
     42 * Reconstruit le conteneur sous forme de tableau à partir de son identifiant unique (fonction inverse
     43 * de `conteneur_identifier`).
     44 * Cette fonction est juste un wrapper pour le service `ncore_conteneur_construire()` mais est très utilisée
     45 * par les plugins utilisateurs.
     46 *
     47 * @api
     48 * @filtre
     49 *
     50 * @uses ncore_conteneur_construire()
     51 *
     52 * @param string $plugin
     53 *        Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou
     54 *        un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.
     55 * @param string $id_conteneur
     56 *        Identifiant unique du conteneur.
     57 * @param string $stockage
     58 *        Identifiant du service de stockage à utiliser si précisé.
     59 *
     60 * @return array
     61 *        Tableau représentatif du conteneur ou tableau vide en cas d'erreur.
     62 */
     63function conteneur_construire($plugin, $id_conteneur, $stockage = '') {
     64
     65        // Wrapper sur la fonction de service homonyme.
     66        include_spip('ncore/ncore');
     67        $conteneur = ncore_conteneur_construire($plugin, $id_conteneur, $stockage);
     68
     69        return $conteneur;
     70}
     71
     72/**
    1373 * Supprime toutes les noisettes d’un conteneur.
    1474 * L'éventuelle imbrication de conteneurs est gérée dans la fonction de service ncore_conteneur_destocker().
    1575 *
    1676 * @api
     77 * @filtre
     78 *
    1779 * @uses ncore_conteneur_destocker()
    1880 *
  • _plugins_/n-core/trunk/ncore_fonctions.php

    r112976 r112999  
    11<?php
    22/**
    3  * Ce fichier contient les filtres de compilation des noisettes appelés par la balise #COMPILER_NOISETTE.
     3 * Ce fichier contient les filtres de compilation des noisettes appelés par la balise #COMPILER_NOISETTE
     4 * ou par le squelette conteneur_compiler.html.
    45 *
    56 */
     
    410411                // On récupère la description complète de toutes les noisettes ou des noisettes appartenant au conteneur
    411412                // spécifié.
     413                if ($conteneur) {
     414                        // On vérifie le conteneur avant de l'utiliser ce qui évite aux plugins utilisateurs de le faire.
     415                        $conteneur = ncore_conteneur_verifier($plugin, $conteneur, $stockage);
     416                }
    412417                $noisettes[$plugin][$cle] = ncore_noisette_lister($plugin, $conteneur, '', $cle, $stockage);
    413418        }
     
    433438// --------------------- FILTRES & BALISES CONTENEURS --------------------
    434439// -----------------------------------------------------------------------
     440// Les API du conteneur sont peu nombreuses, on peut donc les charger plutôt que de les répartir entre
     441// inc/ncore_conteneur et ncore_fonctions pour le besoin de la balise de compilation.
     442// Seul la fonction conteneur_identifier() est nécessaire pour la compilation.
     443include_spip('inc/ncore_conteneur');
    435444include_spip('public/conteneur_identifier');
    436 
    437 /**
    438  * Calcule l'identifiant unique pour le conteneur sous forme de chaine.
    439  * Cette fonction est juste un wrapper pour le service ncore_conteneur_identifier().
    440  * Elle est utilisée par les balises #NOISETTE_COMPILER et #CONTENEUR_IDENTIFIER
    441  *
    442  * @package SPIP\NCORE\CONTENEUR\API
    443  *
    444  * @api
    445  * @filtre
    446  *
    447  * @uses ncore_conteneur_identifier()
    448  *
    449  * @param string $plugin
    450  *        Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou
    451  *        un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.
    452  * @param array  $conteneur
    453  *        Tableau associatif descriptif du conteneur.
    454  * @param string $stockage
    455  *        Identifiant du service de stockage à utiliser si précisé.
    456  *
    457  * @return string
    458  *        Identifiant du conteneur ou chaine vide en cas d'erreur.
    459  */
    460 function conteneur_identifier($plugin, $conteneur, $stockage = '') {
    461 
    462         include_spip('ncore/ncore');
    463         $identifiant = ncore_conteneur_identifier($plugin, $conteneur, $stockage);
    464 
    465         return $identifiant;
    466 }
  • _plugins_/n-core/trunk/paquet.xml

    r112976 r112999  
    22        prefix="ncore"
    33        categorie="outil"
    4         version="0.5.10"
     4        version="0.5.11"
    55        etat="dev"
    66        compatibilite="[3.2.0;3.2.*]"
Note: See TracChangeset for help on using the changeset viewer.