Changeset 124315 in spip-zone


Ignore:
Timestamp:
Apr 24, 2020, 12:52:55 PM (3 months ago)
Author:
Maïeul Rouquette
Message:

crayons sur un champ inexistant en bas car ajouté après coup sur une réponse : trouver correctement la saisie. Reste maintenant à trouver comment enregistrer la réponse en base

Location:
_plugins_/formidable/branches/issue21
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/formidable/branches/issue21

    • Property subgit:lock:a897e520f4931a7b4ba4ad64cfadf1b5c3e8aa2b deleted
    • Property subgit:lock:6f7d0d2fe141158dbc37701a9695b2ee8f022025 set to 2020-04-24T14:54:01.683
  • _plugins_/formidable/branches/issue21/controleurs/formulaires_reponses_champ.php

    r124313 r124315  
    1313        $id_formulaires_reponses_champ = $regs[4];
    1414
     15        // Cas 1. On est sur un champ déjà enregistreé
     16        if (strpos($id_formulaires_reponses_champ, 'new') === false) {
    1517        // Recuperer id_formulaires_reponse et id_formulaire
    1618        // Note, sans doute pourrait-on passer directement cela en classe
     
    1820        // 1. Cela ferait une exception
    1921        // 2. Des gens utilisent peut être pas #VOIR_REPONSE{xxx,edit}
    20         $data = sql_fetsel('*', 'spip_formulaires_reponses_champs JOIN spip_formulaires_reponses JOIN spip_formulaires', "id_formulaires_reponses_champ=$id_formulaires_reponses_champ AND spip_formulaires_reponses.id_formulaires_reponse = spip_formulaires_reponses_champs.id_formulaires_reponse AND spip_formulaires.id_formulaire = spip_formulaires_reponses.id_formulaire");
    21         $id_formulaires_reponse = $data['id_formulaires_reponse'];
     22                //
     23                $data = sql_fetsel('saisies, nom, valeur', 'spip_formulaires_reponses_champs JOIN spip_formulaires_reponses JOIN spip_formulaires', "id_formulaires_reponses_champ=$id_formulaires_reponses_champ AND spip_formulaires_reponses.id_formulaires_reponse = spip_formulaires_reponses_champs.id_formulaires_reponse AND spip_formulaires.id_formulaire = spip_formulaires_reponses.id_formulaire");
     24                $nom = $data['nom'];
     25                $valeur = $data['valeur'];
     26        } else {
     27                $valeur = '';
     28                preg_match('#new-(.*)-(.*)#', $id_formulaires_reponses_champ, $match);
     29                $nom = $match[1];
     30                $id_formulaires_reponse = $match[2];
     31                $data = sql_fetsel('saisies', 'spip_formulaires_reponses JOIN spip_formulaires', "id_formulaires_reponse=$id_formulaires_reponse  AND spip_formulaires.id_formulaire = spip_formulaires_reponses.id_formulaire");
     32        }
    2233
    23 
    24         $nom = $data['nom'];
    25         $valeur = $data['valeur'];
    2634        $saisie = saisies_chercher(unserialize($data['saisies']), $nom);
    27         $valeur = $data['valeur'];
    2835
    2936        $n = new Crayon(
  • _plugins_/formidable/branches/issue21/formidable_fonctions.php

    r119728 r124315  
    100100        // Si on demande edit > mode crayon > on génère le crayon correspond
    101101        if ($type_retour == 'edit') {
    102                 return 'crayon '.'formulaires_reponses_champ-valeur-'. $reponses_valeurs[$id_formulaires_reponse][$nom]['id'];
     102                if (isset($reponses_valeurs[$id_formulaires_reponse][$nom]['id'])) {
     103                        $valeur = $reponses_valeurs[$id_formulaires_reponse][$nom]['id'];
     104                } else {
     105                        $valeur = "new-$nom-$id_formulaires_reponse";
     106                }
     107                return 'crayon '.'formulaires_reponses_champ-valeur-'. $valeur;
    103108        }
    104109        // Si on trouve bien la saisie demandée
Note: See TracChangeset for help on using the changeset viewer.