From 687a209be13a5b87ca477819dd2a1653ae368fea Mon Sep 17 00:00:00 2001 From: "cedric@yterium.com" <> Date: Mon, 4 May 2015 09:47:29 +0000 Subject: [PATCH] le 4e argument de #FORMULAIRE_EDITER_LIENS devient un tableau d'option dans lequel on passe editable mais aussi toute autre valeur que l'on souhaite faire passer au fond html du formulaire dans le tableau de valeurs Utile pour les sous formulaires de roles/valeurs qui peuvent ainsi contextualiser les roles selon les besoins Pas de rupture de compat : si le 4e argument n'est pas un tableau on reconnait $editable --- formulaires/editer_liens.php | 27 +++++++++++++++++++++++---- paquet.xml | 2 +- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/formulaires/editer_liens.php b/formulaires/editer_liens.php index 7f2149e..61662ad 100644 --- a/formulaires/editer_liens.php +++ b/formulaires/editer_liens.php @@ -69,10 +69,18 @@ function determine_source_lien_objet($a, $b, $c){ * @param string $a * @param string|int $b * @param int|string $c - * @param bool $editable + * @param array $options + * bool $editable + * * @return array */ -function formulaires_editer_liens_charger_dist($a, $b, $c, $editable = true){ +function formulaires_editer_liens_charger_dist($a, $b, $c, $options = array()){ + + // compat avec ancienne signature ou le 4eme argument est $editable + if (!is_array($options)){ + $options['editable'] = $options; + } + $editable = $options['editable']; list($table_source, $objet, $id_objet, $objet_lien) = determine_source_lien_objet($a, $b, $c); if (!$table_source OR !$objet OR !$objet_lien OR !$id_objet) @@ -126,6 +134,9 @@ function formulaires_editer_liens_charger_dist($a, $b, $c, $editable = true){ 'editable' => $editable, ); + // les options non definies dans $valeurs sont passees telles quelles au formulaire html + $valeurs = array_merge($options,$valeurs); + return $valeurs; } @@ -156,10 +167,18 @@ function formulaires_editer_liens_charger_dist($a, $b, $c, $editable = true){ * @param string $a * @param string|int $b * @param int|string $c - * @param bool $editable + * @param array $options + * bool $editable + * * @return array */ -function formulaires_editer_liens_traiter_dist($a, $b, $c, $editable = true){ +function formulaires_editer_liens_traiter_dist($a, $b, $c, $options = array()){ + // compat avec ancienne signature ou le 4eme argument est $editable + if (!is_array($options)){ + $options['editable'] = $options; + } + $editable = $options['editable']; + $res = array('editable' => $editable ? true : false); list($table_source, $objet, $id_objet, $objet_lien) = determine_source_lien_objet($a, $b, $c); if (!$table_source OR !$objet OR !$objet_lien) diff --git a/paquet.xml b/paquet.xml index 0e86578..cf8bd2d 100644 --- a/paquet.xml +++ b/paquet.xml @@ -1,7 +1,7 @@