Skip to content
Extraits de code Groupes Projets
  1. juin 06, 2023
    • Maïeul's avatar
      fix(147): Traitement `email` : faire fonctionner correctement l'option · 32bc03fa
      Maïeul a rédigé
      `masquer_champs_vides`.
      
      Cette option a été introduite par moi (!) en
      11ad7c44.
      
      J'ai testé en reprenant le code d'alors... et ca ne marchait déjà pas.
      
      En fait je ne vois pas comment cela aurait pu marcher, puisque saisie
      affiche `Sans réponse` si aucune valeur n'est passé pour une saisie.
      
      Ce sont bien les saisies qu'il faut filtrer, pas les valeurs.
      
      fix #147
      32bc03fa
  2. mai 31, 2022
    • Maïeul's avatar
      Les enregistrement en base des : · 2077bb45
      Maïeul a rédigé
      - saisies d'un formulaire
      - traitements d'un formulaire
      - réponse pour un champ multivalué
      
      Sont désormais en json, via
      ```
      $formidable_serialize = charger_fonction('formidable_serialize', 'filtre');
      ```
      C'est un filtre pour faire le sysmétrique à `|formidable_serialize`,
      même si en fait on n'a pas vraiment de raison de l'utiliser en filtre.
      
      Sont gardés en serialize_php :
      - les paramètres passées en url pour l'action de recup de fichier
      - la base du calcul des hash md5 dans les sessions (utilisés pour
      s'assurer qu'on ne perd pas des données en cas d'interruption de config
      d'un formulaire -> il faut surtout pas rompre la compat).
      2077bb45
    • Maïeul's avatar
      Perf : passer systématiquement aux traitements le tableau des saisies et · 3044de4c
      Maïeul a rédigé
      des traitements deja deserializé, pour ne pas avoir à le deserializé
      dans chaque traitement.
      3044de4c
  3. mai 13, 2022
    • Maïeul's avatar
      Il existait un pipeline `formidable_affiche_resume_reponse`, utilisé · fbc15376
      Maïeul a rédigé
      uniquement par le plugin `formidable_quizz`, actuellement non maintenu
      et non publié.
      
      Ce pipeline n'était pas générique, car le remplacement des `@@` ne
      concerne pas que l'affichage résumé des réponses, mais aussi en
      différent endroit (message de retour par exemple).
      
      On créé deux pipelines plus générique :
      - `formidable_pre_raccourcis_arobases`
      - `formidable_post_raccourcis_arobases`
      
      On supprime donc le pipeline `formidable_affiche_resume_reponse`.
      
      On simplifie par ailleurs la signature de la fonction
      `formidable_raccourcis_arobases_2_valeurs_champs()`.
      1. En supprimant les deux derniers arguments passés par références (`$valeurs` et
      `$valeurs_libellees`).
      La seule raison de ce passage par référence, qui n'était utilisé sur
      toute la zone que dans **UN** appel à la fonction, était précisement
      de passer les valeurs libellées en arguments du pipeline `formidable_affiche_resume_reponse`. Puisqu'on supprime ce pipeline, plus besoin de ces valeurs.
      2. On regroupe tout les paramètres en troisième arguments, dans
      $options, tout en assurant une rétrocompatibilité (pas d'autre usage de
      `formidable_raccourcis_arobases_2_valeurs_champs()` sur la zone, mais j'ai
      du code perso qui l'utilise, et il n'est pas impossible que d'autres
      fassent de même.
      3. On ajoute une option `'contexte'` pour indiquer le contexte d'appel
      de `formidable_raccourcis_arobases_2_valeurs_champs`, ce qui permet de
      remplacer utilement le pipeline `formidable_affiche_resume_reponse`.
      fbc15376
  4. mai 12, 2022
    • Maïeul's avatar
      Nouvelle option passable à l'appel d'un formulaire · c177c930
      Maïeul a rédigé
      `traiter_email_destinataires` : reçois un tableau d'emails (ou une liste
      séparée des virgule).
      Se complète avec l'option `traiter_email_destinataires_methode_methode`
      qui peut être :
      - `remplacer` pour que les destinataires passés par squelettes
      remplacent ceux de config
      - `ajouter` (valeur par défaut) pour qu'ils viennent compléter la liste.
      
      Exemple d'appel
      
      ````
      
       #FORMULAIRE_FORMIDABLE{coordonnees,#ARRAY{input_1,plop}, #ARRAY{traiter_email_destinataires,22@22.fr,traiter_email_destinataires_methode,remplacer}}
      
      ````
      c177c930
  5. avr. 25, 2022
  6. avr. 11, 2022
  7. jan. 22, 2022
  8. nov. 21, 2021
  9. nov. 14, 2021
  10. mai 26, 2021
  11. mai 24, 2021
  12. mai 17, 2021
  13. mai 09, 2021
  14. avr. 10, 2021
  15. mars 26, 2021
  16. mars 25, 2021
    • Maïeul's avatar
      Saisies : datas->data · 400ae925
      Maïeul a rédigé
      Sauf pour les importes depuis f&t, vu que tjr en .yaml + chaine de
      langue + maintien compat historique
      
      On en profite pour passer systématiquement datas à `saises_chaine2tableau()`, afin
      de profiter systématiquement de `_T_ou_typo()` (même si en l'occurence,
      ca passait deja tout le temps, on ne sait jamais pour l'avenir si on
      stocke autrement les saisies de formidable...)
      400ae925
  17. mars 03, 2021
  18. fév. 12, 2021
  19. jan. 16, 2021
    • Maïeul's avatar
      Code mort · d86d3cb9
      Maïeul a rédigé
      hop @rastapopoulos
      
      en faisant de l'archéologie dans la doc de de formidable, j'ai suis tombé sur https://contrib.spip.net/ecrire/?exec=article&id_article=3486
      
      j'ai vu que prévoyais au départ une fonction `update` pour les traitements. Et de facto cette fonction existait pour le traitement enregistrement.
      
      Mais par ailleurs il n'y a aucun appel à cette fonction dans le code. De plus il me semble que c'est piégeux, car ca risque de demultiplier le code. Comme par ailleurs j'avais moi même ajouté `$retours['modification_reponse'] = true` au retour du traitement enregistrer, permettant aux traitements ultérieurs d'avoir l'info, je ne vois pas la logique de cette fonction distincte.
      
      Je supprime donc.
      d86d3cb9
  20. oct. 24, 2020
  21. oct. 15, 2020
  22. juin 08, 2020
    • Maïeul's avatar
      Suite discussion croisée @rastapopoulos + @nicod_ + JBB · e45db20e
      Maïeul a rédigé
      date_soumission devient date_envoi, plus proche du langage courant, tout
      en évitant de confondre avec date_reponse qui pourrait être la date de
      l'objet.
      On fait pas de migration de structure SQL car il s'agissait d'une branche de dev qui n'a existait que 24h et n'a a priori été déployé que chez le dev.
      e45db20e
  23. juin 06, 2020
  24. mai 14, 2020
  25. mai 02, 2020
  26. avr. 01, 2020
  27. fév. 27, 2020
  28. fév. 06, 2020
  29. jan. 30, 2020
    • Maïeul's avatar
      Modification d'une réponse : avant d'enregistrer les nouveaux résultat, · 92d614d1
      Maïeul a rédigé
      effacer TOUT les anciens résultats, et pas uniquement pour les champs
      qui viennent d'être postés.
      En effet, les nouvelles valeurs peuvent conditionner le non-affichage
      d'un champ pour laquelle une valeur avait été enregistrée avant. Dans ce
      cas il faut aussi effacer cette valeur.
      Exemple
      - Le formulaire est configuré de sorte que si la case_1 est cochée, alors afficher le champ input_1.
      - Premier enregistrement de la réponse : case_1 cochée, champ input_1
      valant 'toto'
      - Modification de la réponse : case_1 décochée.
        - Avant ce commit, la valeur 'toto' restait associée à case_1 en base,
        faussant tableau d'analyse et autre
        - après ce commit, ce n'est plus le cas
      92d614d1
Chargement en cours