function calculer_balise_LISTER_CHOIX($objet, $colonne) { if ($c = calculer_balise_CHAMP_EXTRA($objet, $colonne)) { // saisie externe (SAISIES) if (isset($c->saisie_parametres['datas']) and $c->saisie_parametres['datas']) { return $c->saisie_parametres['datas']; } // saisie de ce plugin if ($c->enum) { $enum = cextras_enum_array($c->enum); if (!is_array($enum)) { $enum = array(); } return $enum; } } return ''; }
/** * Retourne les choix possibles d'un champ extra indiqué * * @note * Le plugin saisies tolère maintenant des sélections avec * un affichage par groupe (optgroup / options) avec une syntaxe * spécifique. Ici nous devons pouvoir applatir * toutes les cle => valeur. * * @param string $objet * Type d'objet * @param string $colonne * Nom de la colonne SQL * @param bool $applatir * true pour applatir les choix possibles au premier niveau * même si on a affaire à une liste de choix triée par groupe * @return string|array * - Tableau des couples (clé => valeur) des choix * - Chaîne vide si le champs extra n'est pas trouvé */ function calculer_balise_LISTER_CHOIX($objet, $colonne, $applatir = true) { if ($options = calculer_balise_CHAMP_EXTRA($objet, $colonne)) { if (isset($options['datas']) and $options['datas']) { include_spip('inc/saisies'); $choix = saisies_chaine2tableau($options['datas']); // applatir les sous-groupes si présents if ($applatir) { $choix = saisies_aplatir_tableau($choix); } return $choix; } } return ''; }