Changeset 59077 in spip-zone


Ignore:
Timestamp:
Mar 4, 2012, 7:40:18 PM (8 years ago)
Author:
marcimat@…
Message:

On tente en espérant ne rien compromettre, de réaliser des saisies avec des noms de tableaux (pour SPIP 3 uniquement) :

#SAISIE{input, contenant/casier, … } qui créera un name="contenant[casier]" . La valeur sera correctement trouvée car #ENV{contenant/casier} est calculé en SPIP 3.

Location:
_plugins_/saisies
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/saisies/paquet.xml

    r58377 r59077  
    22        prefix="saisies"
    33        categorie="outil"
    4         version="1.23.2"
     4        version="1.24.0"
    55        etat="test"
    66        compatibilite="[2.0.0;3.0.*]"
  • _plugins_/saisies/plugin.xml

    r58377 r59077  
    44    <auteur>Matthieu Marcillaud - RastaPopoulos - Joseph</auteur>
    55    <licence>&#169; 2009-2011 GNU/GPL</licence>
    6     <version>1.23.2</version>
     6    <version>1.24.0</version>
    77    <etat>test</etat>
    88    <categorie>outil</categorie>
  • _plugins_/saisies/saisies/_base.html

    r57932 r59077  
    2727
    2828]
     29
    2930[(#ENV{nom}|oui)
    3031        #SET{obligatoire,#ENV{obligatoire}|et{#ENV{obligatoire}|!={non}}|?{obligatoire,''}}
     
    4041                #SET{li_class,#ENV{type_saisie}|substr{0,9}|=={selecteur}|?{selecteur_item,''}}
    4142                <!--!inserer_saisie_editer-->
    42                 <li class="editer editer_[(#ENV{nom})][ (#GET{obligatoire})][ (#GET{erreurs}|oui)erreur][ (#GET{li_class})][ (#ENV{li_class})][ saisie_(#ENV{type_saisie})]"[ data-id="(#ENV{id_saisie})"]>
     43                <li class="editer editer_[(#ENV{nom}|saisie_nom2classe)][ (#GET{obligatoire})][ (#GET{erreurs}|oui)erreur][ (#GET{li_class})][ (#ENV{li_class})][ saisie_(#ENV{type_saisie})]"[ data-id="(#ENV{id_saisie})"]>
    4344                        #ENV*{inserer_debut}
    4445                        [<label[(#ENV{type_saisie}|match{oui_non|radio|checkbox}|non) for="champ_#ENV{nom}"]>(#ENV*{label})[<span class='obligatoire'>(#GET{obligatoire}|oui)[(#ENV*{info_obligatoire}|is_null|?{<:info_obligatoire_02:>,#ENV*{info_obligatoire}})]</span>]</label>]
     
    4647                        [<p class='explication'>(#ENV*{explication})</p>]
    4748                        [<em class='attention'>(#ENV*{attention})</em>]
    48                         [(#INCLURE{fond=saisies/#ENV{type_saisie},env,disable=#GET{disable},readonly=#GET{readonly}})]
    49                         [(#ENV{disable_avec_post}|et{#ENV{disable_avec_post}|!={non}}|oui)<input type='hidden' name='#ENV{nom}' value="#ENV{valeur,#ENV{defaut}}" />]
     49                        [(#INCLURE{fond=saisies/#ENV{type_saisie},env,nom=[(#ENV{nom}|saisie_nom2name)], disable=#GET{disable},readonly=#GET{readonly}})]
     50                        [(#ENV{disable_avec_post}|et{#ENV{disable_avec_post}|!={non}}|oui)<input type='hidden' name='[(#ENV{nom}|saisie_nom2name)]' value="#ENV{valeur,#ENV{defaut}}" />]
    5051                        #ENV**{inserer_fin}
    5152                </li>
  • _plugins_/saisies/saisies_fonctions.php

    r57440 r59077  
    88include_spip('formulaires/selecteur/generique_fonctions');
    99
     10
     11/**
     12 * Passer un nom en une valeur compatible avec une classe css
     13 * toto => toto,
     14 * toto/truc => toto_truc,
     15 * toto[truc] => toto_truc,
     16**/
     17function saisie_nom2classe($nom) {
     18        return str_replace(array('/', '[', ']'), '_', $nom);
     19}
     20
     21/**
     22 * Passer un nom en une valeur compatible avec un name de formulaire
     23 * toto => toto,
     24 * toto/truc => toto[truc],
     25 * toto[truc] => toto[truc],
     26**/
     27function saisie_nom2name($nom) {
     28        if (false === strpos($nom, '/')) {
     29                return $nom;
     30        }
     31        $nom = explode('/', $nom);
     32        $premier = array_shift($nom);
     33        $nom = implode('][', $nom);
     34        return $premier . '[' . $nom . ']';
     35}
     36
     37
    1038?>
Note: See TracChangeset for help on using the changeset viewer.