From 068aa08b01cb189831885c8da8db9e22b3c83bf7 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Thu, 25 May 2006 22:09:09 +0000
Subject: [PATCH] le dernier des mohicans est mort (formulaire_site devenu
 totalement stylable) Closes #242

---
 ecrire/balise/formulaire_site.php | 48 +++++++++++++++++++------------
 formulaires/formulaire_site.html  | 12 ++++++--
 2 files changed, 38 insertions(+), 22 deletions(-)

diff --git a/ecrire/balise/formulaire_site.php b/ecrire/balise/formulaire_site.php
index 2ef7cb355b..e03bb6fcf8 100644
--- a/ecrire/balise/formulaire_site.php
+++ b/ecrire/balise/formulaire_site.php
@@ -35,28 +35,38 @@ function balise_FORMULAIRE_SITE_stat($args, $filtres) {
 
 function balise_FORMULAIRE_SITE_dyn($id_rubrique) {
 
-	$nom = _request('nom_site');
-	if (!$nom)
-		return array('formulaire_site', $GLOBALS['delais'],
-			array('self' => str_replace('&amp;', '&', self())
-		));
-
-	// Tester le nom du site
-	if (strlen ($nom) < 2){
-		return _T('form_prop_indiquer_nom_site');
-	}
+	if ($nom = _request('nom_site')) {
+
+		// Tester le nom du site
+		if (strlen ($nom) < 2)
+			$message_erreur = _T('form_prop_indiquer_nom_site');
 
-	// Tester l'URL du site
-	include_spip('inc/sites');
-	$url = _request('url_site');
-	if (!recuperer_page($url))
-		return _T('form_pet_url_invalide');
+		// Tester l'URL du site
+		include_spip('inc/sites');
+		$url = _request('url_site');
+		if (!recuperer_page($url))
+			$message_erreur = _T('form_pet_url_invalide');
 
-	// Integrer a la base de donnees
+		$desc = _request('description_site');
 
-	$desc = _request('description_site');
-	spip_abstract_insert('spip_syndic', "(nom_site, url_site, id_rubrique, descriptif, date, date_syndic, statut, syndication)", "(" . spip_abstract_quote($nom) . ", " . spip_abstract_quote($url) . ", " . intval($id_rubrique) .", " . spip_abstract_quote($desc) . ", NOW(), NOW(), 'prop', 'non')");
+		// Integrer a la base de donnees
+		if (!$message_erreur) {
+			spip_abstract_insert('spip_syndic', "(nom_site, url_site, id_rubrique, descriptif, date, date_syndic, statut, syndication)", "(" . spip_abstract_quote($nom) . ", " . spip_abstract_quote($url) . ", " . intval($id_rubrique) .", " . spip_abstract_quote($desc) . ", NOW(), NOW(), 'prop', 'non')");
+			$message_ok = _T('form_prop_enregistre');
+		}
+	}
+
+	return array('formulaire_site', $GLOBALS['delais'],
+		array(
+			'self' => str_replace('&amp;', '&', self()),
+			'message_ok' => $message_ok,
+			'message_erreur' => $message_erreur,
+			'nom_site' => $nom,
+			'url_site' => $url ? $url : 'http://',
+			'descriptif_site' => $desc
+		)
+	);
 
-	return  _T('form_prop_enregistre');
 }
+
 ?>
diff --git a/formulaires/formulaire_site.html b/formulaires/formulaire_site.html
index ec7a5c4a06..cdac39e361 100644
--- a/formulaires/formulaire_site.html
+++ b/formulaires/formulaire_site.html
@@ -1,18 +1,24 @@
 <div class="formulaire_spip formulaire_site">
 <a name="formulaire_site" id="formulaire_site"></a>
 
+[<p class='reponse_formulaire'>(#ENV*{message_erreur})</p>]
+
+[<p class='reponse_formulaire'>(#ENV*{message_ok})</p>]
+
+[(#ENV*{message_ok}|?{'',' '})
 <form method="post" action="#ENV{self}#formulaire_site">
 	<fieldset class="spip_encadrer">
 	<legend><:info_site:></legend>
 	<p><:proposer_site:></p>
 	<p><label for="nom_site"><:form_prop_nom_site:></label>
-	  <input type="text" class="forml" name="nom_site" id="nom_site" value="" size="30" /></p>
+	  <input type="text" class="forml" name="nom_site" id="nom_site" value="#ENV{nom_site}" size="30" /></p>
 	<p><label for="url_site"><:form_prop_url_site:></label>
-	  <input type="text" class="forml" name="url_site" id="url_site" style="text-align: left;" value="http://" size="30" /></p>
+	  <input type="text" class="forml" name="url_site" id="url_site" style="text-align: left;" value="#ENV{url_site}" size="30" /></p>
 	<p><label for="description_site"><:form_prop_description:></label>
-	  <textarea class="forml" name="description_site" id="description_site" rows="5" cols="40"></textarea></p>
+	  <textarea class="forml" name="description_site" id="description_site" rows="5" cols="40">#ENV{descriptif_site}</textarea></p>
 	<input type="submit" class="spip_bouton" value="<:bouton_valider:>" />
 	</fieldset>
 </form>
+]
 
 </div>
\ No newline at end of file
-- 
GitLab