Browse Source

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
v1
cedric@yterium.com 8 years ago
parent
commit
687a209be1
  1. 27
      formulaires/editer_liens.php
  2. 2
      paquet.xml

27
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)

2
paquet.xml

@ -1,7 +1,7 @@
<paquet
prefix="roles"
categorie="outil"
version="1.5.2"
version="1.6.0"
etat="test"
compatibilite="[3.0.0;3.1.*]"
logo="prive/themes/spip/images/roles-64.png"

Loading…
Cancel
Save