Changeset 54888 in spip-zone


Ignore:
Timestamp:
Nov 25, 2011, 10:51:52 PM (9 years ago)
Author:
marcimat@…
Message:

Divers changements éparses en corrélation avec des tests de Champs Extras 3.
Certains changements sont à tester pour vérifier qu'ils ne créent pas d'incompatibilité :

  • simplification de l'utilisation de saisies_chaine2tableau (le code écrit faisait pareil que la fonction !)(à simplifier partout ?)
  • mise en place de saisies_valeur2tableau (un peu pour CE tout de même !) : il permet en plus d'exploser une chaine ayant une virgule comme séparateur si chaine2tableau n'a pas renvoyé d'élément probant.

Dans ce dépot également :

  • correction du drag n drop : j'avais oublié un commit !
  • corrections de CSS pour afficher correctement les onglets et réduire leur taille dans le formulaire de formulaire...
  • possibilité de changer le type de saisie via le constructeur de formulaire (utilisé par champs extras 3).
Location:
_plugins_/saisies
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/saisies/css/formulaires_constructeur.css

    r51197 r54888  
    7070        border-top:3px dashed #999;
    7171        margin: 1em -8px 0 -138px;
    72     padding: 0.5em;
     72    padding: 1em .5em .5em .5em;
    7373    background:white;
    7474}
     
    9898}
    9999*/
     100.formulaire_construire_formulaire .formulaire_configurer .formulaire_configurer-onglets {
     101        overflow:auto;
     102}
    100103.formulaire_construire_formulaire .formulaire_configurer .formulaire_configurer-onglets li{
    101104        float:left;
    102105        width:auto;
    103106        clear:none;
    104         margin-bottom:-1px;
    105107        padding:0;
    106         /*background:#eee;*/
    107         border:0;
    108         border-bottom:1px solid #ddd;
    109         border-right:1px solid #999;
    110         border-radius:0;
    111         -moz-border-radius:0;
    112         -webkit-border-radius:0;
     108        background:#eee;
     109        border:1px solid #ddd;
     110        margin-right:1px;
     111        -moz-border-radius:5px 5px 0 0;
     112        -webkit-border-radius:5px 5px 0 0;
     113        -o-border-radius:5px 5px 0 0;
     114        border-radius:5px 5px 0 0;
    113115}
    114116.formulaire_construire_formulaire .formulaire_configurer .formulaire_configurer-onglets li.actif{
     
    121123.formulaire_construire_formulaire .formulaire_configurer .formulaire_configurer-onglets li a{
    122124        display:block;
    123         padding:1em;
     125        padding:.5em;
    124126}
    125127.formulaire_construire_formulaire .formulaire_configurer .boutons { margin-bottom: -20px; }
     128
     129.formulaire_configurer-contenus > .fieldset > fieldset:first-child {border-top:0;}
    126130
    127131.formulaire_construire_formulaire li.editer,
  • _plugins_/saisies/formulaires/construire_formulaire.html

    r51815 r54888  
    3232                       
    3333                        <B_saisies_disponibles>
    34                         <li class="editer haut saisies_disponibles">
     34                        <li class="editer haut saisies_disponibles" id="attrapable">
    3535                                <label><:saisies:construire_ajouter_champ:></label>
    3636                                <BOUCLE_saisies_disponibles(POUR){tableau #ENV{_saisies_disponibles}}>
    3737                                <button type="submit" name="ajouter_saisie" value="#CLE" class="submit ajouter_saisie"[ title="(#VALEUR|table_valeur{description})"] [style="background-image:url((#VALEUR|table_valeur{icone}|sinon{#CHEMIN{images/formulaire-saisie-defaut.png}}))"]>
    38                                         [(#VALEUR|table_valeur{titre})]
     38                                        <span>[(#VALEUR|table_valeur{titre})]</span>
    3939                                </button>
    4040                                </BOUCLE_saisies_disponibles>
     
    5050        </div></form>
    5151
    52         [(#ENV{erreurs}|non)
    53                 [(#CHEMIN{javascript/ui/jquery.ui.sortable.js}|oui)
    54                         [(#SET{sortable,1})]
    55                 ]
    56         ]
    5752        <script type="text/javascript">
    5853                $(function(){
     
    109104                                                .find('> fieldset > ul').show();
    110105                                });
     106                               
     107                        [(#ENV{erreurs}|non)
     108                                [(#CHEMIN{javascript/ui/jquery.ui.sortable.js}|oui)
     109                                        [(#SET{sortable,1})]
     110                                ]
     111                        ]
    111112                        [(#ENV{erreurs}|non|et{#GET{sortable}})
    112113                                $.getScript("#CHEMIN{javascript/ui/jquery.ui.core.js}", function(){
     
    153154                                });});});});
    154155                        ]
     156                        [(#ENV{erreurs}|non)
     157                                [(#CHEMIN{javascript/ui/jquery.ui.draggable.js}|oui)
     158                                        [(#SET{draggable,1})]
     159                                ]
     160                        ]
     161                        [(#ENV{erreurs}|non|et{#GET{draggable}})
     162                                $.getScript("#CHEMIN{javascript/ui/jquery.ui.core.js}", function(){
     163                                $.getScript("#CHEMIN{javascript/ui/jquery.ui.widget.js}", function(){
     164                                $.getScript("#CHEMIN{javascript/ui/jquery.ui.mouse.js}", function(){
     165                                $.getScript("#CHEMIN{javascript/ui/jquery.ui.draggable.js}", function(){
     166                                        if ($.fn.draggable) {
     167                                                $( "#attrapable" ).draggable({
     168                                                        connectToSortable: "#deplacable, #deplacable ul",
     169                                                        helper: "clone"
     170                                                });
     171                                        }
     172                                });});});});
     173                        ]                       
    155174                });
    156175               
  • _plugins_/saisies/formulaires/construire_formulaire.php

    r50699 r54888  
    304304                else
    305305                        unset($saisie_modifiee['verifier']);
     306       
    306307               
    307308                // On récupère les options postées en enlevant les chaines vides
  • _plugins_/saisies/inc/saisies.php

    r49757 r54888  
    285285}
    286286
     287
     288
     289
     290/**
     291 * Passe une valeur en tableau d'élements si ce n'en est pas une
     292 *
     293 * entrée :
     294 * cle|valeur
     295 * cle|valeur
     296 *
     297 * Sinon :
     298 * valeur,valeur
     299 *
     300 * @param mixed $valeur
     301 * @return array Tableau de valeurs
     302**/
     303function saisies_valeur2tableau($valeur, $sinon_separateur="") {
     304        if (is_array($valeur)) {
     305                return $valeur;
     306        }
     307       
     308        if (!strlen($valeur)) {
     309                return array();
     310        }
     311       
     312        $t = saisies_chaine2tableau($valeur);
     313        if (count($t) > 1) {
     314                return $t;
     315        }
     316
     317        // qu'une seule valeur, c'est qu'elle a peut etre un separateur a virgule
     318        // et a donc une cle est 0 dans ce cas la d'ailleurs
     319        if (isset($t[0])) {
     320                $t = saisies_chaine2tableau($t[0], ',');
     321        }
     322       
     323        return $t;
     324}
     325
     326
     327
     328
    287329/*
    288330 * Génère une page d'aide listant toutes les saisies et leurs options
  • _plugins_/saisies/inc/saisies_manipuler.php

    r49778 r54888  
    179179        if (!isset($modifs['options']['nom'])) $modifs['options']['nom'] = $parent[$position]['options']['nom'];
    180180        if (is_array($parent[$position]['saisies'])) $modifs['saisies'] = $parent[$position]['saisies'];
    181        
     181
     182        // Si une option 'nouveau_type_saisie' est donnee, c'est que l'on souhaite
     183        // peut être changer le type de saisie !
     184        if (isset($modifs['options']['nouveau_type_saisie']) and $type = $modifs['options']['nouveau_type_saisie']) {
     185                $modifs['saisie'] = $type;
     186                unset($modifs['options']['nouveau_type_saisie']);
     187        }
     188                       
    182189        // On remplace tout
    183190        $parent[$position] = $modifs;
  • _plugins_/saisies/paquet.xml

    r54345 r54888  
    22        prefix="saisies"
    33        categorie="outil"
    4         version="1.17.0"
     4        version="1.18.0"
    55        etat="test"
    66        compatibilite="[2.0.0;3.0.*]"
  • _plugins_/saisies/plugin.xml

    r54345 r54888  
    44    <auteur>Matthieu Marcillaud - RastaPopoulos - Joseph</auteur>
    55    <licence>&#169; 2009-2011 GNU/GPL</licence>
    6     <version>1.17.0</version>
     6    <version>1.18.0</version>
    77    <etat>test</etat>
    88    <categorie>outil</categorie>
  • _plugins_/saisies/saisies-vues/checkbox.html

    r45507 r54888  
    11[(#REM) datas peut être une chaine qu'on sait décomposer ]
    2 #SET{datas, #ENV{datas}}
    3 #SET{datas, #GET{datas}|is_string|?{(#GET{datas}|saisies_chaine2tableau), #GET{datas}}}
     2#SET{datas, #ENV{datas}|saisies_chaine2tableau}
     3#SET{valeur, #ENV{valeur}|saisies_valeur2tableau}
    44
    55<B_choix>
    66<ul>
    7         <BOUCLE_choix(POUR){tableau #ENV*{valeur}}>
     7        <BOUCLE_choix(POUR){tableau #GET{valeur}}>
    88        <li class="choix">[(#GET{datas}|table_valeur{#VALEUR})]</li>
    99        </BOUCLE_choix>
  • _plugins_/saisies/saisies-vues/radio.html

    r41938 r54888  
    11[(#REM) datas peut être une chaine qu'on sait décomposer ]
    2 #SET{datas, #ENV{datas}}
    3 #SET{datas, #GET{datas}|is_string|?{(#GET{datas}|saisies_chaine2tableau), #GET{datas}}}
     2#SET{datas, #ENV{datas}|saisies_chaine2tableau}
    43
    5 [<p>(#GET{datas}|table_valeur{#ENV{valeur}}|sinon{#ENV{sans_reponse}})</p>]
     4[<p>(#GET{datas}|table_valeur{#ENV{valeur}}|sinon{#ENV*{sans_reponse}})</p>]
  • _plugins_/saisies/saisies-vues/secteur.html

    r44007 r54888  
    11[(#REM) valeur peut être une chaine qu'on sait décomposer ]
    2 #SET{valeur, #ENV{valeur}}
    3 #SET{valeur, #GET{valeur}|is_string|?{(#GET{valeur}|saisies_chaine2tableau), #GET{valeur}}}
     2#SET{valeur, #ENV{valeur}|saisies_chaine2tableau}
    43
    54<B_choix>
     
    109</ul>
    1110</B_choix>
    12 <p>#ENV{sans_reponse}</p>
     11<p>#ENV*{sans_reponse}</p>
    1312<//B_choix>
  • _plugins_/saisies/saisies-vues/selection.html

    r46500 r54888  
    11[(#REM) datas peut être une chaine qu'on sait décomposer ]
    2 #SET{datas, #ENV{datas}}
    3 #SET{datas, #GET{datas}|is_string|?{(#GET{datas}|saisies_chaine2tableau), #GET{datas}}}
     2#SET{datas, #ENV{datas}|saisies_chaine2tableau}
    43
    5 [<p>(#GET{datas}|table_valeur{#ENV{valeur}}|sinon{#ENV{sans_reponse}})</p>]
     4[<p>(#GET{datas}|table_valeur{#ENV{valeur}}|sinon{#ENV*{sans_reponse}})</p>]
  • _plugins_/saisies/saisies-vues/selection_multiple.html

    r41938 r54888  
    11[(#REM) datas peut être une chaine qu'on sait décomposer ]
    2 #SET{datas, #ENV{datas}}
    3 #SET{datas, #GET{datas}|is_string|?{(#GET{datas}|saisies_chaine2tableau), #GET{datas}}}
    4 
     2#SET{datas, #ENV{datas}|saisies_chaine2tableau}
     3#SET{valeur, #ENV*{valeur}|saisies_valeur2tableau}
    54<B_choix>
    65<ul>
    7         <BOUCLE_choix(POUR){tableau #ENV*{valeur}}>
     6        <BOUCLE_choix(POUR){tableau #GET{valeur}}>
    87        <li class="choix">[(#GET{datas}|table_valeur{#VALEUR})]</li>
    98        </BOUCLE_choix>
    109</ul>
    1110</B_choix>
    12 <p>#ENV{sans_reponse}</p>
     11<p>#ENV*{sans_reponse}</p>
    1312<//B_choix>
  • _plugins_/saisies/saisies/checkbox.html

    r50421 r54888  
    2020
    2121[(#REM) datas peut être une chaine qu'on sait décomposer ]
    22 #SET{datas, #ENV*{datas}}
    23 #SET{datas, #GET{datas}|is_string|?{(#GET{datas}|saisies_chaine2tableau), #GET{datas}}}
     22#SET{datas, #ENV*{datas}|saisies_chaine2tableau}
    2423
    2524[(#REM) defaut peut être une chaine (plusieurs valeurs ou pas) qu'on sait décomposer ]
    26 #SET{defaut, #ENV{defaut}}
    27 #SET{defaut, #GET{defaut}|is_string|?{(#GET{defaut}|saisies_chaine2tableau), (#GET{defaut}|sinon{#ARRAY})}}
     25#SET{defaut, #ENV{defaut}|saisies_chaine2tableau}
     26
     27[(#REM) valeur doit être un tableau ! ]
     28#SET{valeur, #ENV{valeur}|saisies_valeur2tableau}
     29
    2830
    2931[(#REM) lorsque qu'on donne un 'disabled' qui est une chaine,
     
    3638        [(#GET{disabled}|oui) #SET{disabled,#ARRAY|push{#GET{disabled}}} ]
    3739]
    38 
    3940<BOUCLE_checkbox(POUR){tableau #GET{datas}}>
    4041<div class="#ENV{choix,choix}">
    41         <input type="checkbox" name="#ENV{nom}[]" class="checkbox" id="champ_#ENV{nom}_#COMPTEUR_BOUCLE"[ (#CLE|in_array{#ENV{valeur_forcee,#ENV{valeur,#GET{defaut}}}}|oui)checked="checked"] value="#CLE"[(#CLE|in_array{#GET{disabled}}|oui) disabled="disabled"] />
     42        <input type="checkbox" name="#ENV{nom}[]" class="checkbox" id="champ_#ENV{nom}_#COMPTEUR_BOUCLE"[ (#CLE|in_array{#ENV{valeur_forcee,#GET{valeur,#GET{defaut}}}}|oui)checked="checked"] value="#CLE"[(#CLE|in_array{#GET{disabled}}|oui) disabled="disabled"] />
    4243        <label for="champ_#ENV{nom}_#COMPTEUR_BOUCLE">#VALEUR</label>
    4344</div>
  • _plugins_/saisies/saisies/selection_multiple.html

    r52270 r54888  
    2121
    2222[(#REM) datas peut être une chaine qu'on sait décomposer ]
    23 #SET{datas, #ENV{datas}}
    24 #SET{datas, #GET{datas}|is_string|?{(#GET{datas}|saisies_chaine2tableau), #GET{datas}}}
     23#SET{datas, #ENV{datas}|saisies_chaine2tableau}
    2524
    2625[(#REM) defaut peut être une chaine (plusieurs valeurs ou pas) qu'on sait décomposer ]
    27 #SET{defaut, #ENV{defaut}}
    28 #SET{defaut, #GET{defaut}|is_string|?{(#GET{defaut}|saisies_chaine2tableau), (#GET{defaut}|sinon{#ARRAY})}}
     26#SET{defaut, #ENV{defaut}|saisies_chaine2tableau}
     27
     28[(#REM) valeur peut être une chaine (plusieurs valeurs ou pas) qu'on sait décomposer ]
     29#SET{valeur, #ENV{valeur}|saisies_valeur2tableau}
    2930
    3031<select name="#ENV{nom}[]" id="champ_#ENV{nom}" multiple="multiple"[ class="(#ENV{class})"][ disabled="(#ENV{disable})"][ size="(#ENV{size,10})"]>
    3132[(#ENV{cacher_option_intro}|non)<option value="">[(#ENV{option_intro})]</option>]
    3233<BOUCLE_selection(POUR){tableau #GET{datas}}>
    33         <option value="#CLE" [(#CLE|in_array{#ENV{valeur_forcee,#ENV{valeur,#GET{defaut}}}}|oui) selected="selected"]>#VALEUR</option>
     34        <option value="#CLE" [(#CLE|in_array{#ENV{valeur_forcee,#GET{valeur,#GET{defaut}}}}|oui) selected="selected"]>#VALEUR</option>
    3435</BOUCLE_selection>
    3536</select>
  • _plugins_/saisies/saisies_fonctions.php

    r52896 r54888  
    66include_spip('balise/saisie');
    77
     8
    89?>
Note: See TracChangeset for help on using the changeset viewer.