diff --git a/ecrire/balise/formulaire_site.php b/ecrire/balise/formulaire_site.php index 2ef7cb355bfbc28b72c6497bcb59f8dbda85a5c8..e03bb6fcf84566cf003cee6244804e9c42cc242d 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('&', '&', 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('&', '&', 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 ec7a5c4a063275a736dc9792331c0e60776e8154..cdac39e361f3638bd95f0018624f836488f12b9b 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