Changeset 112831 in spip-zone for _plugins_/champs_extras_core


Ignore:
Timestamp:
Dec 15, 2018, 8:31:15 PM (2 months ago)
Author:
maieul@…
Message:

saisie peux désormais utiliser "data" plutôt que "datas" > du coup il faut que #LISTER_CHOIX chercher aussi dans "data"

Location:
_plugins_/champs_extras_core/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/champs_extras_core/trunk/cextras_fonctions.php

    r105207 r112831  
    2626 *     Lève une erreur de squelette si le nom de champs extras
    2727 *     n'est pas indiqué en premier paramètre de la balise
    28  * 
     28 *
    2929 * @param Champ $p
    3030 *     AST au niveau de la balise
     
    7373                $colonne = $decoupe[1];
    7474        }
    75        
     75
    7676        // recuperer la liste des champs extras existants
    7777        include_spip('cextras_pipelines');
     
    7979                return '';
    8080        }
    81        
     81
    8282        include_spip('inc/saisies');
    8383        if (!$saisie = saisies_chercher($saisies, $colonne)) {
     
    126126                return $p;
    127127        }
    128        
     128
    129129        $objet = $p->boucles[$id_boucle]->id_table;
    130        
     130
    131131        // recuperer les parametres : colonne sql (champ)
    132132        if (!$colonne = interprete_argument_balise(1, $p)) {
     
    136136                return $p;
    137137        }
    138        
     138
    139139        $separateur = interprete_argument_balise(2, $p);
    140140        if (!$separateur) $separateur = "', '";
     
    149149                $p->code = "(is_array(\$a = $p->code) ? join($separateur, \$a) : " . $p->code . ")";
    150150        }
    151        
     151
    152152        return $p;
    153153}
     
    162162 *     spécifique. Ici nous devons pouvoir applatir
    163163 *     toutes les cle => valeur.
    164  * 
     164 *
    165165 * @param string $objet
    166166 *     Type d'objet
     
    176176function calculer_balise_LISTER_CHOIX($objet, $colonne, $applatir = true) {
    177177        if ($options = calculer_balise_CHAMP_EXTRA($objet, $colonne)) {
    178                 if (isset($options['datas']) and $options['datas']) {
     178                if ((isset($options['datas']) and $options['datas'])
     179                        or (isset($options['data']) and $options['data'])) {
    179180                        include_spip('inc/saisies');
    180                         $choix = saisies_chaine2tableau($options['datas']);
     181                        $choix = $options['datas'] ? $options['datas'] : $options['data'];
     182                        $choix = saisies_chaine2tableau($choix);
    181183                        // applatir les sous-groupes si présents
    182184                        if ($applatir) {
     
    193195/**
    194196 * Liste les valeurs des champs de type liste (enum, radio, case)
    195  * 
     197 *
    196198 * Ces champs enregistrent en base la valeur de la clé
    197199 * Il faut donc transcrire clé -> valeur
     
    200202 *     ```
    201203 *     #LISTER_VALEURS{champ}
    202  *     #LISTER_VALEURS{champ, " > "} 
     204 *     #LISTER_VALEURS{champ, " > "}
    203205 *     #LISTER_VALEURS**{champ} // retourne un tableau cle/valeur
    204206 *     ```
    205  * 
    206  * @note 
     207 *
     208 * @note
    207209 *     Pour des raisons d'efficacité des requetes SQL
    208210 *     le paramètre "champ" ne peut être calculé
    209211 *     ``#LISTER_VALEURS{#GET{champ}}`` ne peut pas fonctionner.
    210  * 
     212 *
    211213 *     Si cette restriction est trop limitative, on verra par la suite
    212214 *     pour l'instant, on laisse comme ca...
     
    229231                return $p;
    230232        }
    231        
     233
    232234        $objet = $p->boucles[$id_boucle]->id_table;
    233235        $_id_objet = $p->boucles[$id_boucle]->primary;
     
    241243                return $p;
    242244        }
    243        
     245
    244246        $separateur = interprete_argument_balise(2, $p);
    245247        if (!$separateur) $separateur = "', '";
    246        
     248
    247249        // demander la colonne dans la requete SQL
    248250        // $colonne doit etre un texte 'nom_du_champ'
     
    253255                return $p;
    254256        }
    255        
     257
    256258        $texte_colonne = $p->param[0][1][0]->texte;
    257        
     259
    258260        $valeur = champ_sql($texte_colonne, $p);
    259261
     
    280282 * @param string $cles
    281283 *     Valeurs enregistrées pour ce champ dans la bdd pour l'objet en cours
    282  * 
     284 *
    283285 * @return string|array
    284286 *     - Tableau des couples (clé => valeur) des choix
  • _plugins_/champs_extras_core/trunk/paquet.xml

    r111745 r112831  
    22        prefix="cextras"
    33        categorie="outil"
    4         version="3.11.6"
     4        version="3.11.7"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.2.*]"
Note: See TracChangeset for help on using the changeset viewer.