if (isset($champ['saisies']) and is_array($champ['saisies'])) {
if (is_array($champ['saisies'] ?? '')) {
foreach ($champ['saisies'] as $saisie) {
if (saisie_editable($saisie, $env, false)) {
return true;
@ -117,9 +117,9 @@ function saisies_generer_html($champ, $env = []) {
// S'il y a le détail des saisies du même formulaire, on le passe en contexte. Utiliser pour générer correctement les afficher_si
// Attention, en cas de multi-étapes, on passe le contexte de toutes les saisies, classées par etape en cherchant par priorité dans `saisies_par_etapes`, puis `_saisies_par_etapes`, puis `saisies` qu'on regroupe en étapes.
if (isset($env['_etape']) and isset($env['saisies_par_etapes'])) {
if (isset($env['_etape']) && isset($env['saisies_par_etapes'])) {
@ -220,7 +220,7 @@ function saisies_lister_par_etapes($saisies, $check_only = false) {
// Un premier parcourt pour compter les étapes
unset($saisies['options']);
foreach ($saisies as $cle => $saisie) {
if (is_array($saisies) and $saisie['saisie'] == 'fieldset') {
if (is_array($saisies) && $saisie['saisie'] == 'fieldset') {
$etapes++;
}
}
@ -236,7 +236,7 @@ function saisies_lister_par_etapes($saisies, $check_only = false) {
// On reparcourt pour lister les saisies
foreach ($saisies as $cle => $saisie) {
// Si c'est un groupe, on ajoute son contenu à l'étape
if (isset($saisie['saisie']) and $saisie['saisie'] == 'fieldset') {
if (($saisie['saisie'] ?? '') === 'fieldset') {
$compteur_etape++;
// S'il y a eu des champs hors groupe avant, on fusionne
if (isset($saisies_etapes["etape_$compteur_etape"]['saisies'])) {
@ -460,7 +460,7 @@ function saisies_saisie_est_tabulaire($saisie) {
if (in_array($saisie['saisie'], ['checkbox', 'selection_multiple', 'choix_grille'])) {
$est_tabulaire = true;
} else {
if ($saisie['saisie'] === 'selection' and isset($saisie['options']['multiple']) and $saisie['options']['multiple']) {
if ($saisie['saisie'] === 'selection' && ($saisie['options']['multiple'] ?? '')) {
$est_tabulaire = true;
} else {
$est_tabulaire = false;
@ -479,7 +479,7 @@ function saisies_saisie_est_tabulaire($saisie) {
* @return bool
**/
function saisies_saisie_est_fichier($saisie) {
$file = (($saisie['saisie'] == 'input' and isset($saisie['options']['type']) and $saisie['options']['type'] == 'file') or $saisie['saisie'] == 'fichiers');
@ -75,7 +75,7 @@ function saisies_supprimer($saisies, $id_ou_nom_ou_chemin) {
* Tableau des saisies complété de la saisie insérée
**/
function saisies_inserer($saisies, $saisie, $id_ou_nom_ou_chemin = []) {
if (is_string($id_ou_nom_ou_chemin) and $id_ou_nom_ou_chemin) {//Est-ce qu'on n'a un nom ou un id ?
if (is_string($id_ou_nom_ou_chemin) && $id_ou_nom_ou_chemin) {//Est-ce qu'on n'a un nom ou un id ?
if (preg_match('/^\[(@?[\w]*)\](\[([\d])*\])*$/', $id_ou_nom_ou_chemin, $match)) {//Si [fieldset], inserer à la fin du fieldset, si [fieldset][X] inserer à la position X dans le fieldset
trigger_error('Dans la fonction saisie_modifier, nouveau_type_saisie doit être appelé à la racine de $modifs. L\'appel dans $options est deprécié et sera supprimé en v5.', E_USER_DEPRECATED);
// Vérifier que les valeurs postées sont acceptables, à savoir par exemple que pour un select, ce soit ce qu'on a proposé. On vérifie cela en tout dernier, après le vidage des afficher_si car certainses saisies peuvent avoir des valeurs acceptables qui dépendant des afficher_si (exemple : les saisies calculs). Si jamais on a une valeur innacceptable, c'est que la personne a triché sur le POST en truandant le HTML, donc on s'en fiche si en retour son formulaire d'erreur n'est pas cohérent.
if (isset($valeur['choix_alternatif']) and isset($description['options']['choix_alternatif']) and $description['options']['choix_alternatif'] == 'on') {
@ -21,8 +21,8 @@ function saisies_afficher_si_js_defaut($parse, $saisies_form) {
// Compatibilité historique de syntaxe, avant que l'on mette tout en JSON, on envoyait directement RegExp(valeur), il fallait donc que les // soitsentsdans valeur. Mais désormais on envoie en JSON, donc on a un string, donc il faut enlever les slashs avant d'envoyer au JS
if (
isset($parse['operateur'])
and
($parse['operateur'] === 'MATCH' or $parse['operateur'] === '!MATCH')