Changeset 42301 in spip-zone


Ignore:
Timestamp:
Nov 14, 2010, 1:39:26 PM (10 years ago)
Author:
joseph@…
Message:

Dorénavant, le noiZetier n'accepte plus que les descriptions de noisettes au format YAML. Les plugins YAML saisies et vérifier deviennent obligatoires.

Location:
_plugins_/noiZetier
Files:
2 deleted
8 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/noiZetier/formulaires/inc-configurer-noisettes.html

    r41273 r42301  
    1010                                        <img src="#CHEMIN{images/warning.gif}" alt="WARNING"/>
    1111                                        <strong style="color:red"><:noizetier:warning_noisette_plus_disponible:></strong>
    12                                         <p><:noizetier:warning_noisette_plus_disponible_details{squelette=noisettes/#NOISETTE.html}:></p>
    1312                                ]
    1413                                <div class="titre">[(#NOIZETIER_LISTE_NOISETTES|table_valeur{#NOISETTE}|table_valeur{nom}|sinon{#NOISETTE})]</div>
    15                                         <div class="infos">
    16                                         [(#NOIZETIER_LISTE_NOISETTES|table_valeur{#NOISETTE}|oui|et{#PLUGIN{saisies}|oui})
     14                                        [<div class="infos">
     15                                        (#NOIZETIER_LISTE_NOISETTES|table_valeur{#NOISETTE}|oui)
    1716                                                [(#VOIR_SAISIES{#NOIZETIER_LISTE_NOISETTES|table_valeur{#NOISETTE}|table_valeur{parametres},[(#PARAMETRES|unserialize)]})]
     17                                        </div>]
     18                                        [(#NOIZETIER_LISTE_NOISETTES|table_valeur{#NOISETTE}|table_valeur{parametres}|count|=={0}|oui)
     19                                                <div class="infos"><:noizetier:formulaire_noisette_sans_parametre:></div>
    1820                                        ]
    19                                        
    20                                         <BOUCLE_si_pas_saisies(CONDITION){si #NOIZETIER_LISTE_NOISETTES|table_valeur{#NOISETTE}|non|ou{#PLUGIN{saisies}|non}}>
    21                                         <BOUCLE_parametres(POUR){tableau #PARAMETRES|unserialize}>
    22                                         [<span class="nom_param">(#NOIZETIER_PARAMS_NOISETTE{#NOISETTE}|table_valeur{#CLE}|table_valeur{label}|sinon{#CLE})</span>]
    23                                        
    24                                         [(#NOIZETIER_PARAMS_NOISETTE{#NOISETTE}|table_valeur{#CLE}|table_valeur{saisie}|=={'oui_non'}|oui)
    25                                                 [(#VALEUR|oui) <:item_oui:>][(#VALEUR|non) <:item_non:>]
    26                                         ]
    27                                         [(#NOIZETIER_PARAMS_NOISETTE{#NOISETTE}|table_valeur{#CLE}|table_valeur{saisie}|=={'textarea'}|oui)
    28                                                 [(#VALEUR**|propre)]
    29                                                 [<div class="notes">(#NOTES)</div>]
    30                                         ]
    31                                         [(#NOIZETIER_PARAMS_NOISETTE{#NOISETTE}|table_valeur{#CLE}|table_valeur{saisie}|=={'oui_non'}|non)
    32                                                 [(#NOIZETIER_PARAMS_NOISETTE{#NOISETTE}|table_valeur{#CLE}|table_valeur{saisie}|=={'textarea'}|non)
    33                                                         #VALEUR
    34                                                 ]
    35                                         ]
    36                                         <br />
    37                                         </BOUCLE_parametres>
    38                                         </BOUCLE_si_pas_saisies>
    39                                         </div>
     21                                        [(#NOIZETIER_LISTE_NOISETTES|table_valeur{#NOISETTE}|non)
     22                                                <div class="infos"><:noizetier:warning_noisette_plus_disponible_details{squelette=noisettes/#NOISETTE.html}:></div>
     23                                ]
    4024                        </div>
    4125                        [(#AUTORISER{configurer,noizetier}|et{#ENV{id_noisette}|non}|et{#ENV{bloc_page_nouvelle_noisette}|non})
  • _plugins_/noiZetier/formulaires/inc-nouvelle_noisette-1.html

    r39796 r42301  
    1 
    21<ul>
    32        <li class="editer_type[(#ENV**{erreurs}|table_valeur{type}|oui)erreur]">
  • _plugins_/noiZetier/formulaires/inc-nouvelle_noisette-2.html

    r40898 r42301  
    88</legend>
    99[<div class="explication">(#GET{infos}|table_valeur{description})</div>]
    10         <BOUCLE_test_saisies(CONDITION){si #PLUGIN{'saisies'}}>
    11                 [(#SET{parametres,#GET{infos}|table_valeur{parametres}})]
    12                 <ul class="parametres_noisette">
     10        [(#SET{parametres,#GET{infos}|table_valeur{parametres}})]
     11        <ul class="parametres_noisette">
    1312                #GENERER_SAISIES{#GET{parametres}}
    14                 </ul>
    15         </BOUCLE_test_saisies>
    16        
    17         [(#SET{parametres,[(#NOIZETIER_PARAMS_NOISETTE{#ENV{noisette}})]})]
    18         <B_parametres>
    19         <ul class="parametres_noisette">
    20         <BOUCLE_parametres(POUR){tableau #GET{parametres}}>
    21         <li class="editer_texte[ (#GET{erreurs}|oui)erreur]">
    22                 [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{#CLE})</span>]
    23                         <label for="#CLE">[(#VALEUR|table_valeur{label})] [(#VALEUR|table_valeur{obligatoire}|oui)&#91;<:noizetier:formulaire_obligatoire:>&#93;]</label>
    24                         [(#VALEUR|table_valeur{saisie}|=={'oui_non'}|oui)<div class="explication"><:noizetier:formulaire_explication_oui_non:></div>]
    25                         <input type="text" class="text" name="#CLE" value="[(#ENV{#CLE}|sinon{#VALEUR|table_valeur{defaut}})]" />
    26         </li>
    27         </BOUCLE_parametres>
    2813        </ul>
    29         </B_parametres>
    30        
    31         <//B_test_saisies>
    32        
    3314        <BOUCLE_pas_de_parametres(CONDITION){si (#GET{parametres}|count|=={0})}>
    3415        <div class="explication"><:noizetier:formulaire_noisette_sans_parametre:></div>
    3516        </BOUCLE_pas_de_parametres>
    36 
    37        
    38        
    3917
    4018<p class='boutons'>
  • _plugins_/noiZetier/inc/noizetier.php

    r41273 r42301  
    8787                        $noisette = preg_replace(',[.]html$,i', '', $squelette);
    8888                        $dossier = str_replace($squelette, '', $chemin);
    89                         // On ne garde que les squelettes ayant un fichier YAML de config (si yaml est activé)
    90                         if (file_exists("$dossier$noisette.yaml") AND defined('_DIR_PLUGIN_YAML')
     89                        // On ne garde que les squelettes ayant un fichier YAML de config
     90                        if (file_exists("$dossier$noisette.yaml")
    9191                                AND ($infos_noisette = noizetier_charger_infos_noisette_yaml($dossier.$noisette))
    92                         ){
    93                                 $liste_noisettes[$noisette] = $infos_noisette;
    94                         }
    95                         // ou les squelettes ayant un XML de config
    96                         elseif (file_exists("$dossier$noisette.xml")
    97                                 AND ($infos_noisette = noizetier_charger_infos_noisette_xml($dossier.$noisette))
    9892                        ){
    9993                                $liste_noisettes[$noisette] = $infos_noisette;
     
    113107
    114108
    115 
    116 
    117 /**
    118  * Charger les informations contenues dans le xml d'une noisette
    119  *
    120  * @param string $noisette
    121  * @param string $info
    122  * @return array
    123  */
    124 function noizetier_charger_infos_noisette_xml($noisette, $info=""){
    125                 // on peut appeler avec le nom du squelette
    126                 $fichier = preg_replace(',[.]html$,i','',$noisette).".xml";
    127                 include_spip('inc/xml');
    128                 include_spip('inc/texte');
    129                 $infos_noisette = array();
    130                 if ($xml = spip_xml_load($fichier, false)){
    131                         if (count($xml['noisette'])){
    132                                 $xml = reset($xml['noisette']);
    133                                 $infos_noisette['nom'] = _T_ou_typo(spip_xml_aplatit($xml['nom']));
    134                                 $infos_noisette['description'] = isset($xml['description']) ? _T_ou_typo(spip_xml_aplatit($xml['description'])) : '';
    135                                 $infos_noisette['icon'] = isset($xml['icon']) ? reset($xml['icon']) : '';
    136                                 // Décomposition des paramètres (enregistrer sous la forme d'un tableau respectant la norme de saisies
    137                                 $infos_noisette['parametres'] = array();
    138                                 if (spip_xml_match_nodes(',^parametre,', $xml, $parametres)){
    139                                         foreach (array_keys($parametres) as $parametre){
    140                                                 list($balise, $attributs) = spip_xml_decompose_tag($parametre);
    141                                                 $infos_noisette['parametres'][] = array(
    142                                                         'saisie' => $attributs['saisie'] ? $attributs['saisie'] : 'input',
    143                                                         'options' => array(
    144                                                                 'nom' => $attributs['nom'],
    145                                                                 'label' => $attributs['label'] ? _T($attributs['label']) : $attributs['nom'],
    146                                                                 'defaut' => $attributs['defaut'],
    147                                                                 'obligatoire' => $attributs['obligatoire'] == 'oui' ? 'oui' : 'non'
    148                                                         )
    149                                                 );
    150                                         }
    151                                 }
    152                                 if (spip_xml_match_nodes(',^necessite,', $xml, $necessites)){
    153                                         $infos_noisette['necessite'] = array();
    154                                         foreach (array_keys($necessites) as $necessite){
    155                                                 list($balise, $attributs) = spip_xml_decompose_tag($necessite);
    156                                                 $infos_noisette['necessite'][] = $attributs['id'];
    157                                         }
    158                                 }
    159                                 // Décomposition informations du contexte a utiliser
    160                                 if (spip_xml_match_nodes(',^contexte,', $xml, $contextes)){
    161                                         $infos_noisette['contexte'] = array();
    162                                         foreach (array_keys($contextes) as $contexte){
    163                                                 list($balise, $attributs) = spip_xml_decompose_tag($contexte);
    164                                                 $infos_noisette['contexte'][] = $attributs['nom'];
    165                                         }
    166                                 }
    167                         }
    168                 }
    169                 if (!$info)
    170                         return $infos_noisette;
    171                 else
    172                         return isset($infos_noisette[$info]) ? $infos_noisette[$info] : "";
    173 }
    174 
    175 
    176109/**
    177110 * Charger les informations contenues dans le YAML d'une noisette
     
    187120                include_spip('inc/texte');
    188121                $infos_noisette = array();
    189                 if ($infos_noisette = yaml_decode_file($fichier)) {
     122                if ($infos_noisette = yaml_charger_inclusions(yaml_decode_file($fichier))) {
    190123                        if (isset($infos_noisette['nom']))
    191124                                $infos_noisette['nom'] = _T_ou_typo($infos_noisette['nom']);
     
    252185/**
    253186 * Transforme un tableau au format du plugin saisies en un tableau de parametres dont les clés sont les noms des paramètres
    254  * S'il y a de fieldset, les paramètres sont extraits de son entrée saisie
     187 * S'il y a de fieldset, les paramètres sont extraits de son entrée saisies
    255188 *
    256189 * @param string $parametres
  • _plugins_/noiZetier/lang/noizetier_fr.php

    r40686 r42301  
    1212        'noisettes_composition' => 'Noisettes sp&eacute;cifiques &agrave; la composition <i>@composition@</i>&nbsp;:',
    1313        'noisettes_toutes_pages' => 'Noisettes communes &agrave; toutes les pages&nbsp;:',
    14         'saisies_non_installe' => '<b>Plugin saisies&nbsp;:</b> ce plugin n\'est pas install&eacute; sur votre site. Il n\'est pas n&eacute;cessaire au fonctionnement du noizetier. Son utilisation est cependant recommand&eacute;e afin d\'offrir des formulaires de configuration plus ergonomiques.',
    1514        'compositions_non_installe' => '<b>Plugin compositions&nbsp;:</b> ce plugin n\'est pas install&eacute;s sur votre site. Il n\'est pas n&eacute;cessaire au fonctionnement du noizetier. Cependant, s\'il est activ&eacute;, vous pourrez d&eacute;clarer des compositions directement dans le noizetier.',
    16         'yaml_non_installe' => '<b>Plugin YAML&nbsp;:</b> ce plugin n\'est pas install&eacute;s sur votre site. Il n\'est pas n&eacute;cessaire au fonctionnement du noizetier. Cependant, il permet d\'importer et exporter des configurations de noisettes.',
    1715        'liste_icones' => 'Liste d\'icônes',
    1816        'oui' => 'Oui',
  • _plugins_/noiZetier/plugin.xml

    r41273 r42301  
    33        <auteur>Joseph, Matthieu Marcillaud</auteur>
    44        <licence>GPL v3</licence>
    5         <version>0.7.1</version>
     5        <version>0.8.0</version>
    66        <version_base>0.3</version_base>
    77        <etat>test</etat>
     
    6262        <necessite id="SPIP" version="[2.1.0-rc;]" />
    6363        <necessite id="spip_bonux" version="[1.8.10;]" />
    64         <utilise id="saisies" />
     64        <necessite id="YAML" version="[1.4.1;]" />
     65        <necessite id="saisies" version="[1.8.5;]" />
     66        <necessite id="verifier"  />
    6567        <utilise id="compositions" version="[1.0.1;]" />
    6668</plugin>
  • _plugins_/noiZetier/prive/exec/importer_config_noizetier.html

    r37354 r42301  
    77                <h1><:noizetier:editer_noizetier_importer_configuration:></h1>
    88                <:noizetier:editer_noizetier_importer_configuration_explication:>
    9                 [<p>(#PLUGIN{yaml}|non)<:noizetier:yaml_non_installe:></p>]
    109        </div>
    1110       
    1211        [(#AUTORISER{configurer,noizetier}|oui)
    13         [(#PLUGIN{yaml}|oui)
    1412        #FORMULAIRE_IMPORTER_CONFIG_NOIZETIER
    15         ]
    1613        ]
    1714</div>
     
    2017
    2118<!--#navigation-->
    22 [(#PLUGIN{yaml}|oui)
    2319<div class="cadre infos cadre-info">
    2420        <div>
     
    2925        </div>
    3026</div>
    31 ]
    3227
    3328<!--/#navigation-->
  • _plugins_/noiZetier/prive/exec/noizetier.html

    r40898 r42301  
    3333        </div>
    3434        ]
    35         [(#PLUGIN{yaml}|oui)
    3635        <div>
    3736                <a href="#URL_ACTION_AUTEUR{exporter_config_noizetier}" class="cellule-h">
     
    4645                </a>
    4746        </div>
    48         ]
    4947</div>
    5048
     
    5250
    5351<!--#extra-->
    54 [(#PLUGIN{saisies}|non)<:noizetier:saisies_non_installe:><p />]
    5552[(#PLUGIN{compositions}|non)<:noizetier:compositions_non_installe:><p />]
    56 [(#PLUGIN{yaml}|non)<:noizetier:yaml_non_installe:>]
    5753<!--/#extra-->
Note: See TracChangeset for help on using the changeset viewer.