/** * Retourne liste des valeurs choisies pour un champ extra indiqué * * @param string $objet * Type d'objet * @param string $colonne * Nom de la colonne SQL * @param string $cles * Valeurs enregistrées pour ce champ dans la bdd pour l'objet en cours * * @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_VALEURS($objet, $colonne, $cles) { // exploser les cles ! $cles = explode(',', $cles); // si pas de cles, on part aussi gentiment if (!$cles) return array(); // recuperer les choix possibles $choix = calculer_balise_LISTER_CHOIX($objet, $colonne); // sortir gentiment si pas de champs declares // on ne peut pas traduire les cles if (!$choix) return $cles; // correspondances... $vals = array_intersect_key($choix, array_flip($cles)); // et voici les valeurs ! return $vals ? $vals : $cles; }
function calculer_balise_LISTER_VALEURS($objet, $_id_objet, $colonne, $id_objet, $cles) { // exploser les cles ! $cles = explode(',', $cles); // si pas de cles, on part aussi gentiment if (!$cles) return array(); // recuperer les choix possibles $choix = calculer_balise_LISTER_CHOIX($objet, $colonne); // sortir gentiment si pas de champs declares // on ne peut pas traduire les cles if (!$choix) return $cles; // correspondances... foreach($choix as $cle=>$valeur) { if (in_array($cle, $cles)) $vals[$cle] = $valeur; } // et voici les valeurs ! return $vals ? $vals : $cles; }