Skip to content
Extraits de code Groupes Projets
Valider 6f7d0d2f rédigé par Maïeul's avatar Maïeul
Parcourir les fichiers

crayons sur un champ inexistant en bas car ajouté après coup sur une réponse :...

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
parent a897e520
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -12,19 +12,26 @@ function controleurs_formulaires_reponses_champ_dist($regs, $c = null) { ...@@ -12,19 +12,26 @@ function controleurs_formulaires_reponses_champ_dist($regs, $c = null) {
list(,$crayon, $type, $champ, $id) = $regs; list(,$crayon, $type, $champ, $id) = $regs;
$id_formulaires_reponses_champ = $regs[4]; $id_formulaires_reponses_champ = $regs[4];
// Cas 1. On est sur un champ déjà enregistreé
if (strpos($id_formulaires_reponses_champ, 'new') === false) {
// Recuperer id_formulaires_reponse et id_formulaire // Recuperer id_formulaires_reponse et id_formulaire
// Note, sans doute pourrait-on passer directement cela en classe // Note, sans doute pourrait-on passer directement cela en classe
// Mais // Mais
// 1. Cela ferait une exception // 1. Cela ferait une exception
// 2. Des gens utilisent peut être pas #VOIR_REPONSE{xxx,edit} // 2. Des gens utilisent peut être pas #VOIR_REPONSE{xxx,edit}
$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"); //
$id_formulaires_reponse = $data['id_formulaires_reponse']; $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");
$nom = $data['nom'];
$valeur = $data['valeur'];
} else {
$valeur = '';
preg_match('#new-(.*)-(.*)#', $id_formulaires_reponses_champ, $match);
$nom = $match[1];
$id_formulaires_reponse = $match[2];
$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");
}
$nom = $data['nom'];
$valeur = $data['valeur'];
$saisie = saisies_chercher(unserialize($data['saisies']), $nom); $saisie = saisies_chercher(unserialize($data['saisies']), $nom);
$valeur = $data['valeur'];
$n = new Crayon( $n = new Crayon(
$type . '-valeur-' . $id_formulaires_reponses_champ, $type . '-valeur-' . $id_formulaires_reponses_champ,
......
...@@ -99,7 +99,12 @@ function calculer_voir_reponse($id_formulaires_reponse, $id_formulaire, $nom, $s ...@@ -99,7 +99,12 @@ function calculer_voir_reponse($id_formulaires_reponse, $id_formulaire, $nom, $s
// Si on demande edit > mode crayon > on génère le crayon correspond // Si on demande edit > mode crayon > on génère le crayon correspond
if ($type_retour == 'edit') { if ($type_retour == 'edit') {
return 'crayon '.'formulaires_reponses_champ-valeur-'. $reponses_valeurs[$id_formulaires_reponse][$nom]['id']; if (isset($reponses_valeurs[$id_formulaires_reponse][$nom]['id'])) {
$valeur = $reponses_valeurs[$id_formulaires_reponse][$nom]['id'];
} else {
$valeur = "new-$nom-$id_formulaires_reponse";
}
return 'crayon '.'formulaires_reponses_champ-valeur-'. $valeur;
} }
// Si on trouve bien la saisie demandée // Si on trouve bien la saisie demandée
if ($saisie = saisies_chercher($formulaires_saisies[$id_formulaire], $nom)) { if ($saisie = saisies_chercher($formulaires_saisies[$id_formulaire], $nom)) {
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter