From 0a27bcf99d62d03f258ab58fcb330803662df1a5 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Sun, 6 Apr 2008 11:55:36 +0000
Subject: [PATCH] les champs extra ne marchaient plus (Nicolas Hoizey)

---
 ecrire/inc/extra.php    | 3 ++-
 ecrire/inc/modifier.php | 9 ++++++---
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/ecrire/inc/extra.php b/ecrire/inc/extra.php
index 5d5540cd23..86a479fc65 100644
--- a/ecrire/inc/extra.php
+++ b/ecrire/inc/extra.php
@@ -132,6 +132,7 @@ function extra_form($extra, $type, $ensemble='') {
 
 	// maintenant, on affiche les formulaires pour les champs renseignes dans $extra
 	// et pour les champs proposes
+	$affiche = "<input type='hidden' name='extra' value='1' />\n";
 	reset($champs_proposes);
 	while (list(, $champ) = each($champs_proposes)) {
 		$desc = $champs[$champ];
@@ -157,7 +158,7 @@ function extra_form($extra, $type, $ensemble='') {
 			case "select":
 				$choix = explode(",",$choix);
 				if (!is_array($choix)) {
-					$affiche .= "Pas de choix d&eacute;finis.\n";
+					$affiche .= _L("Pas de choix d&eacute;finis")."\n";
 					break;
 				}
 
diff --git a/ecrire/inc/modifier.php b/ecrire/inc/modifier.php
index dc05db5892..fd60a5a1e9 100644
--- a/ecrire/inc/modifier.php
+++ b/ecrire/inc/modifier.php
@@ -66,10 +66,13 @@ function modifier_contenu($type, $id, $options, $c=false, $serveur='') {
 	// Nettoyer les valeurs
 	$champs = array_map('corriger_caracteres', $champs);
 
-	// recuperer les extras
-	if ($GLOBALS['champs_extra']) {
+	// recuperer les extras (utilise $_POST, un peu sale...
+	// a voir pour le faire marcher avec les crayons)
+	if (isset($desc['field']['extra'])
+	AND isset($_POST['extra'])
+	AND $GLOBALS['champs_extra']) {
 		include_spip('inc/extra');
-		if ($extra = extra_update($table_objet, $id, $champs))
+		if ($extra = extra_update($table_objet, $id, $_POST))
 			$champs['extra'] = $extra;
 	}
 
-- 
GitLab