}
$contexte = array_merge($env, $contexte);
- }
- // Sinon on ne sélectionne que quelques éléments importants
- else {
+ } else {
+ // Sinon on ne sélectionne que quelques éléments importants
// On récupère la liste des erreurs
$contexte['erreurs'] = $env['erreurs'];
// On récupère la langue de l'objet si existante
// Dans tous les cas on récupère de l'environnement la valeur actuelle du champ
// Si le nom du champ est un tableau indexé, il faut parser !
- if (isset($contexte['nom']) and preg_match('/([\w]+)((\[[\w]+\])+)/', $contexte['nom'], $separe)) {
+ if (isset($contexte['nom']) and preg_match('/([\w]+)((\[[\w]+\])+)/', $contexte['nom'], $separe)
+ and isset($env[$separe[1]])) {
$contexte['valeur'] = $env[$separe[1]];
preg_match_all('/\[([\w]+)\]/', $separe[2], $index);
// On va chercher au fond du tableau
foreach ($index[1] as $cle) {
$contexte['valeur'] = isset($contexte['valeur'][$cle]) ? $contexte['valeur'][$cle] : null;
}
- }
- // Sinon la valeur est juste celle du nom si elle existe
- elseif (isset($contexte['nom']) and isset($env[$contexte['nom']])) {
+ } elseif (isset($contexte['nom']) and isset($env[$contexte['nom']])) {
+ // Sinon la valeur est juste celle du nom si elle existe
$contexte['valeur'] = $env[$contexte['nom']];
- }
- // Sinon rien
- else {
+ } else {
+ // Sinon rien
$contexte['valeur'] = null;
}
// Dans tous les cas on récupère de l'environnement la valeur actuelle du champ
// On regarde en priorité s'il y a un tableau listant toutes les valeurs
- if ($env['valeurs'] and is_array($env['valeurs']) and isset($env['valeurs'][$contexte['nom']])) {
+ if (!empty($env['valeurs']) and is_array($env['valeurs']) and isset($env['valeurs'][$contexte['nom']])) {
$contexte['valeur'] = $env['valeurs'][$contexte['nom']];
- }
- // Si le nom du champ est un tableau indexé, il faut parser !
- elseif (preg_match('/([\w]+)((\[[\w]+\])+)/', $contexte['nom'], $separe)) {
+ } elseif (preg_match('/([\w]+)((\[[\w]+\])+)/', $contexte['nom'], $separe)) {
+ // Si le nom du champ est un tableau indexé, il faut parser !
$contexte['valeur'] = $env[$separe[1]];
preg_match_all('/\[([\w]+)\]/', $separe[2], $index);
// On va chercher au fond du tableau
foreach ($index[1] as $cle) {
$contexte['valeur'] = $contexte['valeur'][$cle];
}
- }
- // Sinon la valeur est juste celle du nom
- else {
+ } else {
+ // Sinon la valeur est juste celle du nom
// certains n'ont pas de nom (fieldset)
$contexte['valeur'] = isset($env[$contexte['nom']]) ? $env[$contexte['nom']] : '';
}
$class_li = 'explication_'.$saisie['options']['nom'];
break;
default:
- $class_li = 'editer_'.$saisie['options']['nom'];
+ // Les [] dans le nom de la saisie sont transformés en _ dans le
+ // nom de la classe, il faut faire pareil
+ $class_li = 'editer_' . rtrim(
+ preg_replace('/[][]\[?/', '_', $saisie['options']['nom']),
+ '_'
+ );
}
$afficher_si = isset($saisie['options']['afficher_si']) ? $saisie['options']['afficher_si'] : '';
$afficher_si_remplissage = isset($saisie['options']['afficher_si_remplissage']) ? $saisie['options']['afficher_si_remplissage'] : '';