Une erreur s'est produite avec un formulaire créé via Formidable (7.0.7).

Bonjour,

Une erreur s’est produite avec un formulaire créé via Formidable (7.0.7) et saisie 5.12.0.

Erreur d’exécution …/plugins/auto/saisies/v5.12.0/inclure/voir_saisies.html | File […]/plugins/auto/saisies/v5.12.0/inc/saisies_afficher_si_php.php Line 33 : saisies_verifier_afficher_si(): Argument #1 ($saisies) must be of type array, false given, called in […]/ecrire/public/composer.php(96) : eval()'d code on line 19

Avez- vous une idée, pourquoi d’où vient cette erreur?

le yaml du formulaire est :

id_formulaire: '21'
identifiant: MIL
titre: 'ACCIDENT D''UN PERSONNEL'
descriptif: "Ce formulaire est destiné à la saisie .\r\n\r\n<dests|id=29>"
css: ''
message_retour: ''
saisies:
  -
    options: { horaire: oui, label: Date, heure_pas: '15', obligatoire: 'on', nom: date_1 }
    verifier: { type: date, options: { normaliser: datetime } }
    identifiant: '@54ef2ab2cb993'
    saisie: date
  -
    options: { label: 'Numéro d''intervention', explication: 'Numéro du logiciel de traitement d''alerte', type: text, size: '40', autocomplete: defaut, obligatoire: 'on', nom: input_1 }
    identifiant: '@54ef2b23311a3'
    saisie: input
  -
    options: { label: 'Libellé sinistre', obligatoire: 'on', nom: sinistres_1 }
    identifiant: '@54f7a0bcb46a0'
    saisie: sinistres
  -
    options: { label: Adresse, explication: 'Adresse du logiciel de traitement d''alerte', rows: '5', cols: '40', obligatoire: 'on', nom: textarea_1 }
    identifiant: '@54ef2c07174ec'
    saisie: textarea
  -
    options: { label: Commune, obligatoire: 'on', nom: communes_1 }
    identifiant: '@54f7a0b832762'
    saisie: communes
  -
    options: { label: 'Grade et nom de la victime', type: text, size: '40', autocomplete: defaut, obligatoire: 'on', nom: input_2 }
    identifiant: '@54ef2cb1c1ea6'
    saisie: input
  -
    options: { label: Affectation, explication: 'Indiquer la direction et le service de rattachement', type: text, size: '40', autocomplete: defaut, obligatoire: 'on', nom: input_3 }
    identifiant: '@54ef2cd6282e8'
    saisie: input
  -
    options: { label: Circonstances, rows: '5', cols: '40', inserer_barre: edition, obligatoire: 'on', nom: textarea_2 }
    identifiant: '@54ef2d0e688b8'
    saisie: textarea
traitements:
  enregistrement:
    moderation: priori
    moderer_admins: ''
    multiple: 'on'
    modifiable: 'on'
    modif_instituer_prop: ''
    unicite: ''
    message_erreur_unicite: ''
    unicite_statuts: ''
    identification: id_auteur
    variable_php: ''
    effacement: ''
    effacement_delai: ''
    anonymiser: ''
    ip: 'on'
    invalider: ''
    resume_reponse: ''
    analyse_exclure_champs: ''
  email:
    modification_reponse: ''
    activer_responsable: 'on'
    activer_accuse: ''
    quand_envoyer_responsable: [publie]
    destinataires_plus: 'test@gmail.com'
    destinataires_selon_champ: ''
    champ_sujet: ''
    champ_sujet_publie: 'ACCIDENT D’UN PERSONNEL'
    champ_sujet_modif_reponse: 'on'
    champ_sujet_valeurs_brutes: ''
    masquer_champs_vides: 'on'
    exclure_champs_email: ''
    pj: ''
    masquer_liens: 'on'
    activer_ip: ''
    champ_nom: FORMFORM
    activer_vrai_envoyeur: ''
    quand_envoyer_accuse: ''
    sujet_accuse: ''
    texte_accuse: ''
    sujet_accuse_publie: ''
    texte_accuse_publie: ''
    masquer_valeurs_accuse: ''
    courriel_envoyeur_accuse: ''
    nom_envoyeur_accuse: ''
    champ_courriel_destinataire_form: ''
    AR: ''
public: non
statut: publie
maj: '2025-04-22 13:56:30'
apres: formulaire
url_redirect: ''
date_creation: '0000-00-00 00:00:00'

Merci de votre aide

Je regarde demain matin

1 « J'aime »

Bon, alors j’ai voulu regardé mais vous utilisez deux saisies non conventionnelles : communes et sinitres. Pouvez vous m’envoyer leur code ?

D’autre part, avez vous vérifiez que vous n’avez pas surchargé d’une manière ou d’une autre le code de saisies ou de formidable ? Parce que là, en première approche, je ne vois pas ce qui pourrait poser problème si celui-ci est dans sa forme originel.

je déplace dans la catégorie « Général » qui est plus adaptée aux questions d’usages liées aux plugins :slight_smile:

C’est des groupes de mots-clé dans ma base. vous pouvez utiliser n’importe quelle liste à la place de mes mots-clé. Si non je peux vous faire un export de la liste de ma base.

<BOUCLE_test_multiple(CONDITION){si #ENV{multiple}|=={on}|oui}>
[(#SET{valeur,[(#ENV*{valeur}|is_array|?{[(#ENV*{valeur})],[(#ENV*{valeur}|explode{‹ , ›})]})]})]
<B_communes_selectionnes>


    <BOUCLE_communes_selectionnes(MOTS){id_mot IN #GET*{valeur}}{par num titre, titre}{tout}>
  • #TITRE (#ID_MOT)

  • </BOUCLE_communes_selectionnes>

</B_communes_selectionnes>
</BOUCLE_test_multiple>
<BOUCLE_commune_selectionne(MOTS){id_mot=#ENV{valeur}}{tout}>

#TITRE (#ID_MOT)


</BOUCLE_commune_selectionne>
<//B_test_multiple>

<BOUCLE_test_multiple(CONDITION){si #ENV{multiple}|=={on}|oui}>
[(#SET{valeur,[(#ENV*{valeur}|is_array|?{[(#ENV*{valeur})],[(#ENV*{valeur}|explode{‹ , ›})]})]})]
<B_sinistres_selectionnes>


    <BOUCLE_sinistres_selectionnes(MOTS){id_mot IN #GET*{valeur}}{par num titre, titre}{tout}>
  • #TITRE (#ID_MOT)

  • </BOUCLE_sinistres_selectionnes>

</B_sinistres_selectionnes>
</BOUCLE_test_multiple>
<BOUCLE_sinistre_selectionne(MOTS){id_mot=#ENV{valeur}}{tout}>

#TITRE (#ID_MOT)


</BOUCLE_sinistre_selectionne>
<//B_test_multiple>

— yaml communes
titre: ‹ <:saisie_communes_titre:> ›
description: ‹ <:saisie_communes_explication:> ›
icone: ‹ IMG/saisies_commune-xx.svg ›
options:

saisie: 'fieldset'
options:
  nom: 'description'
  label: '<:saisies:option_groupe_description:>'
saisies:
  -
    saisie: 'input'
    options:
      nom: 'label'
      label: '<:saisies:option_label_label:>'
      explication: '<:saisies:option_label_explication:>'
      size: 50
  -
    saisie: 'input'
    options:
      nom: 'explication'
      label: '<:saisies:option_explication_label:>'
      explication: '<:saisies:option_explication_explication:>'
      size: 50
  • saisie: ‹ fieldset ›
    options:
    nom: ‹ utilisation ›
    label: ‹ <:saisies:option_groupe_utilisation:> ›
    saisies:

    saisie: 'oui_non'
    options:
      nom: 'multiple'
      label: '<:saisies:option_multiple_label:>'
      explication: '<:saisies:option_multiple_explication:>'
    
    • saisie: ‹ oui_non ›
      options:
      nom: ‹ disable ›
      label: ‹ <:saisies:option_disable_label:> ›
      explication: ‹ <:saisies:option_disable_explication:> ›
    • saisie: ‹ oui_non ›
      options:
      nom: ‹ disable_avec_post ›
      label: ‹ <:saisies:option_disable_avec_post_label:> ›
      explication: ‹ <:saisies:option_disable_avec_post_explication:> ›
  • saisie: ‹ fieldset ›
    options:
    nom: ‹ affichage ›
    label: ‹ <:saisies:option_groupe_affichage:> ›
    saisies:
    • ‹ inclure:saisies/_base/afficher_si.yaml ›
    • saisie: ‹ input ›
      options:
      nom: ‹ attention ›
      label: ‹ <:saisies:option_attention_label:> ›
      explication: ‹ <:saisies:option_attention_explication:> ›
      size: 50
    • saisie: ‹ input ›
      options:
      nom: ‹ info_obligatoire ›
      label: ‹ <:saisies:option_info_obligatoire_label:> ›
      explication: ‹ <:saisies:option_info_obligatoire_explication:> ›
  • saisie: ‹ fieldset ›
    options:
    nom: ‹ validation ›
    label: ‹ <:saisies:option_groupe_validation:> ›
    saisies:

    saisie: 'oui_non'
    options:
      nom: 'obligatoire'
      label: '<:saisies:option_obligatoire_label:>'
    
    • saisie: ‹ input ›
      options:
      nom: ‹ erreur_obligatoire ›
      label: ‹ <:saisies:option_erreur_obligatoire_label:> ›
      explication: ‹ <:saisies:option_erreur_obligatoire_explication:> ›
      defaut:
      options:
      label: ‹ <:saisie_communes_titre:> ›

    champs extras (definition du champ sql)

    sql: « text DEFAULT ‹  › NOT NULL »

– yaml sinistres

titre: ‹ <:saisie_sinistres_titre:> ›
description: ‹ <:saisie_sinistres_explication:> ›
icone: ‹ IMG/saisies_sinistre-xx.svg ›
options:

saisie: 'fieldset'
options:
  nom: 'description'
  label: '<:saisies:option_groupe_description:>'
saisies:
  -
    saisie: 'input'
    options:
      nom: 'label'
      label: '<:saisies:option_label_label:>'
      explication: '<:saisies:option_label_explication:>'
      size: 50
  -
    saisie: 'input'
    options:
      nom: 'explication'
      label: '<:saisies:option_explication_label:>'
      explication: '<:saisies:option_explication_explication:>'
      size: 50
  -
    saisie: 'input'
    options:
      nom: 'defaut'
      label: '<:saisies:option_defaut_label:>'
  • saisie: ‹ fieldset ›
    options:
    nom: ‹ utilisation ›
    label: ‹ <:saisies:option_groupe_utilisation:> ›
    saisies:

    saisie: 'oui_non'
    options:
      nom: 'multiple'
      label: '<:saisies:option_multiple_label:>'
      explication: '<:saisies:option_multiple_explication:>'
    
    • saisie: ‹ oui_non ›
      options:
      nom: ‹ disable ›
      label: ‹ <:saisies:option_disable_label:> ›
      explication: ‹ <:saisies:option_disable_explication:> ›
    • saisie: ‹ oui_non ›
      options:
      nom: ‹ disable_avec_post ›
      label: ‹ <:saisies:option_disable_avec_post_label:> ›
      explication: ‹ <:saisies:option_disable_avec_post_explication:> ›
  • saisie: ‹ fieldset ›
    options:
    nom: ‹ affichage ›
    label: ‹ <:saisies:option_groupe_affichage:> ›
    saisies:
    • ‹ inclure:saisies/_base/afficher_si.yaml ›
    • saisie: ‹ input ›
      options:
      nom: ‹ option_intro ›
      label: ‹ <:saisies:option_option_intro_label:> ›
      size: 50
    • saisie: ‹ case ›
      options:
      nom: ‹ cacher_option_intro ›
      label_case: ‹ <:saisies:option_cacher_option_intro_label:> ›
      defaut: ‹ on ›
    • saisie: ‹ input ›
      options:
      nom: ‹ attention ›
      label: ‹ <:saisies:option_attention_label:> ›
      explication: ‹ <:saisies:option_attention_explication:> ›
      size: 50
    • saisie: ‹ input ›
      options:
      nom: ‹ size ›
      label: ‹ <:saisies:option_size_label:> ›
      explication: ‹ <:saisies:option_size_explication:> ›
      verifier:
      type: ‹ entier ›
      options:
      min: 1
    • saisie: ‹ input ›
      options:
      nom: ‹ info_obligatoire ›
      label: ‹ <:saisies:option_info_obligatoire_label:> ›
      explication: ‹ <:saisies:option_info_obligatoire_explication:> ›
  • saisie: ‹ fieldset ›
    options:
    nom: ‹ obligatoire ›
    label: ‹ <:saisies:option_groupe_validation:> ›
    saisies:

    saisie: 'oui_non'
    options:
      nom: 'obligatoire'
      label: '<:saisies:option_obligatoire_label:>'
    
    • saisie: ‹ input ›
      options:
      nom: ‹ erreur_obligatoire ›
      label: ‹ <:saisies:option_erreur_obligatoire_label:> ›
      explication: ‹ <:saisies:option_erreur_obligatoire_explication:> ›
      defaut:
      options:
      label: ‹ <:saisie_sinistres_titre:> ›

    champs extras (definition du champ sql)

    sql: « text DEFAULT ‹  › NOT NULL »

Nous avons également surchargé /traiter/email.php pour ajouter nos propres destinataires (emails, cis et colonels).

Alors je ne pense pas que la surcharge de traiter/email.php soit le problème, mais ce ne serait pas impossible. Je vous suggère deja de supprimer cette surcharge et d’utiliser plutot le pipeline formidable_traiter_email_destinataires. J’essaie de regarder dans le week-end le problème s’il se maintient. J’ai eu une matinée plus complexe que prévue… et vu que je n’arrivais pas à reproduir hier le bug cela risque de prendre un peu de temps.

1 « J'aime »

Mon problème est résolu. J’ai pris une ancienne version de mon formulaire (en dev) je l’ai mise en prod. l’erreur a disparu.
Par contre je n’ai pas d’explication !
Merci Maieul