Skip to content
Extraits de code Groupes Projets
  1. sept. 15, 2023
  2. juil. 17, 2023
  3. juil. 16, 2023
  4. juil. 05, 2023
  5. juin 07, 2023
  6. mars 10, 2023
  7. déc. 04, 2022
  8. nov. 25, 2022
  9. nov. 08, 2022
  10. sept. 21, 2022
  11. 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
    • Maïeul's avatar
      Début pour le passage du stockage de `serialize` à `json_encode()`. · 4da796fb
      Maïeul a rédigé
      - Le filtre `|tenter_unserialize` est déprécié.
      - Il est remplacé par `|formidable_deserialize`.
      - Ce filtre peut recevoir au choix :
        * Un tableau, qu'il retourne tel quel
        * Un tableau serializé via `json_encode`
        * Un tableau serializé via `serialize`
      - Dans les deux dernier cas, il renvoie la version deserializé, en cas
      de réussite, sinon l'argument passé.
      
      Exemple
      
      ````
      include_spip('formidable_fonctions');
      'filtre');
      $a = ['a' => 'a'];
      
      $a = json_encode($a);
      var_dump($a);
      
      $a = formidable_deserialize($a);
      var_dump($a);
      
      $a = serialize($a);
      var_dump($a);
      
      $a = formidable_deserialize($a);
      var_dump($a);
      
      $a = serialize($a).'plop';//Serialisation corrompu
      var_dump($a);
      
      $a = formidable_deserialize($a);
      var_dump($a);
      ````
      
      Ainsi, pas besoin de convertir tous les formulaires de `serialize`  à
      `json_encode`  à la mise à jour du plugin formidable :
      on peut le faire au fur à mesure qu'on modifie les champs/traitements
      d'un formulaire.
      
      On utilisera donc ce filtre à chaque fois que l'on veut déchiffrer
      depuis la BDD :
      - * traitements d'un formulaire
      - * saisies d'un formulaire
      - * réponse d'un champ multivalué (ex: checkbox)
      4da796fb
    • Maïeul's avatar
      Lors de la configuration des champs du formulaire, vérifier à la soumission de... · e90f7607
      Maïeul a rédigé
      Lors de la configuration des champs du formulaire, vérifier à la soumission de l'ensemble des champs si le `@@`  dans les
      `afficher_si`  sont cohérents avec les champs du formulaire proposé.
      
      On ne vérifie qu'à la fin, et pas au fur et à mesure, car il se peut
      lors de la configuration des champs d'un formulaire qu'on supprime
      des champs qui conditionnaient des afficher_si. La vérification
      ne peut donc se faire que lors que la liste des champs est ferme.
      
      Nécessite saisies 4.4.0
      e90f7607
  12. mai 26, 2022
  13. mai 25, 2022
    • Maïeul's avatar
      Lorsqu'il y avait une erreur sur une option d'un traitemement, on · c720dccf
      Maïeul a rédigé
      retombait sur un formulaire de config de traitement vierge
      (`exec=formulaire_edit&configurer=traitement`), ou plus exactement au formulaire de création d'un nouveau formulaire.
      
      C'est parce
      que l'identifiant du formulaire formidable n'était pas envoyé lors de le
      soumission du formulaire de config des traitements. Or lorsque
      `?exec=formulaire_edit` ne reçoit pas d'`id_formulaire`, il affiche le
      formulaire de création de formulaire formidable.
      
      On corrige en passant le `id_formulaire` en `POST`.
      c720dccf
  14. 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
    • Maïeul's avatar
      précision PHPdoc · 0f17828a
      Maïeul a rédigé
      0f17828a
  15. mai 12, 2022
    • Maïeul's avatar
      fix #5 : permettre de passer des paramètres supplémentaires à un · 952e1779
      Maïeul a rédigé
      formulaire lorsqu'on l'appel dans un squelette.
      Pour ce faire, on modifie la syntaxe de `#FORMULAIRE_FORMIDABLE`, qui ne
      prend désormais plus que trois arguments
      - id nunérique ou identifiant textuel du formulaire
      - tableau de valeur par défaut
      - tableau d'options
      On assure la retrocompatibilité, car il y a beaucoup de gens pour qui le
      troisième paramètre c'est l'id de réponse.
      
      Attention, pour l'heure on ne peut pas le faire dans un contenu, car il
      n'y pas de syntaxe SPIP pour passer des tableaux en options de formulaire.
      952e1779
  16. mai 10, 2022
  17. fév. 20, 2022
  18. fév. 14, 2022
  19. jan. 18, 2022
  20. juin 27, 2021
  21. juin 11, 2021
  22. juin 05, 2021
  23. juin 04, 2021
Chargement en cours