source: spip-zone/_squelettes_/escal/branche_V3/contact.html @ 58899

Last change on this file since 58899 was 58899, checked in by jcvilleneuve@…, 9 years ago

amélioration du formulaire de configuration de la page contact + modification du prefixe du plugin

File size: 11.1 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml" lang="#LANG">
3  <head>
4    <title><:escal:contact:> - [[(#NOM_SITE_SPIP|textebrut)]]
5    </title>
6    [<meta name="description" content="(#INTRODUCTION|couper{150}|textebrut)" />]
7    <INCLURE {fond=inclusions/inc-head}>
8  </head>
9
10  <body id="top" onload="setHover('menu')">
11    <div id="ombre-gauche">
12      <div id="ombre-droite">
13        <div id="conteneur">
14
15          <div id="entete">
16           
17            <INCLURE {fond=inclusions/inc-bandeau}>
18            [(#CONFIG{escal/config/menuH}|non)<INCLURE {fond=inclusions/inc-menu}{env}>]
19            [(#CONFIG{escal/config/menuH}|=={oui}|oui)<INCLURE {fond=inclusions/inc-menu}{env}>]
20          </div>
21
22          [(#REM) mise en place du lien vers le forum, du formulaire recherche et du menu de langues ]
23          <div id="espace">
24            <BOUCLE_forum(RUBRIQUES){titre_mot="forum"}>
25            <a href="#URL_RUBRIQUE"><img id="boutonForum" src="[(#CHEMIN{images/forum_bouton.png})]" alt="lien vers le forum" /></a>
26            </BOUCLE_forum>
27            #FORMULAIRE_RECHERCHE
28            <INCLURE {fond=inclusions/inc-menu_langues_self}>
29          </div>
30
31          <div id="page">
32            <div id="contenu">
33              <div id="cadre-rubrique">
34                <div id="titre-rubrique"><:escal:page_contact:>
35                </div>
36              </div>
37              <div id="formulaire-contact">
38                <div id="descriptif-article">
39                  <:escal:contact_bienvenue:>
40                </div>
41
42
43<!-- Merci a Alain Sichel pour cette page contact -->
44
45<?php
46function formulaire($Nom="",$Prenom="",$Email="",$Sujet="",$Message="") {
47?>
48                <form action="<?php echo $PHP_SELF ?>" method="post">
49                  <ul id="item">
50                    <li><div class="liste"><:escal:contact_nom:></div>
51                    <input type="text" name="Nom" size="30" value="<?php echo trim(htmlentities($_POST['Nom'])) ?>" /></li>
52                    <li><div class="liste"><:escal:contact_prenom:></div>
53                    <input type="text" name="Prenom" value="<?php echo trim(htmlentities($_POST['Prenom'])) ?>" size="30" /></li>
54                   
55[(#CONFIG{escal/config/contactmail}|=={non}|oui) <!-- ]
56                    <li><div class="liste"><:escal:contact_mail:></div>
57                    <input type="text" name="Email" value="<?php echo trim(htmlentities($_POST['Email'])) ?>" size="30" /></li>
58[(#CONFIG{escal/config/contactmail}|=={non}|oui) --> ]
59
60[(#CONFIG{escal/config/radio}|=={non}|oui) <!-- ]
61                    <li><:escal:contact_motif:></li>
62                      <ul>
63                        <li><input type="radio" name="Sujet" value="<:escal:contact_motif1:>"  size="30" <?php if ($_POST['Sujet']=='<:escal:contact_motif1:>') { echo 'checked="checked"'; } ?> /><:escal:contact_motif1:></li>
64                        <li><input type="radio" name="Sujet" value="<:escal:contact_motif2:>"  size="30" <?php if ($_POST['Sujet']=='<:escal:contact_motif2:>') { echo 'checked="checked"'; } ?> /><:escal:contact_motif2:></li>
65                        <li><input type="radio" name="Sujet" value="<:escal:contact_motif3:>"  size="30" <?php if ($_POST['Sujet']=='<:escal:contact_motif3:>') { echo 'checked="checked"'; } ?> /><:escal:contact_motif3:></li>
66                        <li><input type="radio" name="Sujet" value="<:escal:contact_motif4:>"  size="30" <?php if ($_POST['Sujet']=='<:escal:contact_motif4:>') { echo 'checked="checked"'; } ?> /><:escal:contact_motif4:></li>
67                        <li><input type="radio" name="Sujet" value="<:escal:contact_motif5:>"  size="30" <?php if ($_POST['Sujet']=='<:escal:contact_motif5:>') { echo 'checked="checked"'; } ?> /><:escal:contact_motif5:></li>
68                      </ul>
69[(#CONFIG{escal/config/radio}|=={non}|oui) --> ]
70
71[(#CONFIG{escal/config/checkbox}|=={non}|oui) <!-- ]
72                    <li>[(#CONFIG{escal/config/titrecheckbox}|?{<br /><br />[(#CONFIG{escal/config/titrecheckbox})]<br /><br />,<br /><br /><:escal:contact_checkbox:><br /><br />})]
73[(#CONFIG{escal/config/checkbox1}|non) <!-- ]
74                      <input type="checkbox" name="Niveau[]" value="<:escal:contact_checkbox1:>"  size="30" <?php if ($_POST['Niveau']=='<:escal:contact_checkbox1:>') { echo 'checked="checked"'; } ?> />[(#CONFIG{escal/config/checkbox1,<:escal:contact_checkbox1:>})]
75[(#CONFIG{escal/config/checkbox1}non) --> ]
76[(#CONFIG{escal/config/checkbox2}|non) <!-- ]
77                      <input type="checkbox" name="Niveau[]" value="<:escal:contact_checkbox2:>"  size="30" <?php if ($_POST['Niveau']=='<:escal:contact_checkbox2:>') { echo 'checked="checked"'; } ?> />[(#CONFIG{escal/config/checkbox2,<:escal:contact_checkbox2:>})]
78[(#CONFIG{escal/config/checkbox2}non) --> ]
79[(#CONFIG{escal/config/checkbox3}|non) <!-- ]
80                      <input type="checkbox" name="Niveau[]" value="<:escal:contact_checkbox3:>"  size="30" <?php if ($_POST['Niveau']=='<:escal:contact_checkbox3:>') { echo 'checked="checked"'; } ?> />[(#CONFIG{escal/config/checkbox3,<:escal:contact_checkbox3:>})]
81[(#CONFIG{escal/config/checkbox3}non) --> ]
82[(#CONFIG{escal/config/checkbox4}|non) <!-- ]
83                      <input type="checkbox" name="Niveau[]" value="<:escal:contact_checkbox4:>"  size="30" <?php if ($_POST['Niveau']=='<:escal:contact_checkbox4:>') { echo 'checked="checked"'; } ?> />[(#CONFIG{escal/config/checkbox4,<:escal:contact_checkbox4:>})]
84[(#CONFIG{escal/config/checkbox4}non) --> ]
85[(#CONFIG{escal/config/checkbox5}|non) <!-- ]
86                      <input type="checkbox" name="Niveau[]" value="<:escal:contact_checkbox5:>"  size="30" <?php if ($_POST['Niveau']=='<:escal:contact_checkbox5:>') { echo 'checked="checked"'; } ?> />[(#CONFIG{escal/config/checkbox5,<:escal:contact_checkbox5:>})]
87[(#CONFIG{escal/config/checkbox5}non) --> ]
88                    </li>
89[(#CONFIG{escal/config/checkbox}|=={non}|oui) --> ]
90
91                    <br />
92                    <li><:escal:contact_message:></li> <br />
93                    <li>
94                    <textarea name="Message" rows="10" cols="35" style="background-color:#ffffff"><?php if (ereg("[]%~#`$&|}{^[><]",$Message)) { echo "Certains caract&egrave;res utilis&eacute;s sont interdits";
95                    $erreur=1; }
96                    else {echo trim($_POST['Message']); } ?></textarea>  </li>  <li>
97                    <input id="envoi" type="submit" name="Submit" value="<:escal:contact_envoyer:>" alt="Envoi"  title="Envoi de votre message" />  </li>
98                  </ul>
99<?php
100//
101// on recupere les donnees
102// on verifie si tout est bien rempli, sinon on envoie un message d'alerte
103// si oui on prepare le contenu du mail
104//
105}
106  include_spip('inc/filtres');
107
108        $nom_site = entites_html($GLOBALS['meta']["nom_site"]);
109        $email_webmaster = entites_html($GLOBALS['meta']["email_webmaster"]);
110if(!isset($_POST["Nom"])) {
111        formulaire();
112}
113else {
114        $vNom=trim(utf8_decode($_POST["Nom"]));
115        $vPrenom=trim(utf8_decode($_POST["Prenom"]));
116        $vMessage=trim(utf8_decode($_POST["Message"]));
117        $vEmail=trim(utf8_decode($_POST["Email"]));
118        $vSujet=trim(utf8_decode($_POST["Sujet"]));
119        $destinataire=$email_webmaster;
120        $titre="<:escal:page_contact2|html2unicode|unicode2charset:> $nom_site";
121        $message="<:escal:envoi_mail_provenance:> " . $_SERVER['HTTP_REFERER'] . "\n";
122        $message.="<:escal:envoi_mail_ip:> " . $_SERVER['REMOTE_ADDR'] . "\n";
123        $message.="<:escal:envoi_mail_navigateur:>" . $_SERVER['HTTP_USER_AGENT'] . "\n\n";
124        $message.="<:escal:envoi_mail_nom:> $vNom\n";
125        if (empty($vNom)) {
126                echo "<p class='alerte'><:escal:contact_alerte_nom:></p>";
127                $erreur=1;
128        }       
129        $message.="<:escal:envoi_mail_prenom:> $vPrenom\n\n";
130        if (empty($vPrenom)) {
131                echo "<p class='alerte'><:escal:contact_alerte_prenom:></p>";
132                $erreur=1;
133        }       
134        $message.="<:escal:envoi_mail_e_mail:> $vEmail\n\n";
135        if (empty($vEmail)) {
136                echo "<p class='alerte'><:escal:contact_alerte_mail1:></p>";
137                $erreur=1;
138        }
139        if (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-_.]?[0-9a-z])*\\.[a-z]{2,4}$",$vEmail) && ($erreur<>1)){
140                echo "<p class='alerte'><:escal:contact_alerte_mail2:></p>";
141                $erreur=1;
142        }       
143        $message.="<:escal:envoi_mail_motif:> $vSujet\n\n";
144        if (empty($vSujet)) {
145                echo "<p class='alerte'><:escal:contact_alerte_motif:></p>";
146                $erreur=1;
147        }
148  if (empty($_POST['Niveau'] )) {
149    echo "<p class='alerte'><:escal:contact_alerte_checkbox:></p>";
150    $erreur=1;
151  } else {
152  $message.= "<:escal:envoi_mail_niveau:> ";
153  $message.= implode(" - ",$_POST['Niveau']);
154    }
155  $message.=" \n\n <:escal:envoi_mail_message:> \n $vMessage\n";
156  if (empty($vMessage)) {
157                echo "<p class='alerte'><:escal:contact_alerte_message:></p>";
158                $erreur=1;
159        }
160
161        if ($erreur==1) {
162                formulaire($Nom,$Prenom,$Email,$Sujet,$Message);
163        }
164        else {
165//
166// on prepare les headers et on envoie le mail
167//
168               $headers ='From: <'.$vEmail.'>'."\n";
169         $headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
170         $headers .='Content-Transfer-Encoding: 8bit';
171
172   mail($destinataire,$titre,$message,$headers) ;
173
174//
175// on renvoie un message de confirmation
176//
177                echo '<p class="texte-retour1">
178                <:escal:contact_retour_bonjour:> <span class="valeur1">  '. $vPrenom=utf8_encode(nl2br($vPrenom)) .' '. $vNom=utf8_encode(nl2br($vNom)) .'</span>.<br />
179                <:escal:contact_retour_commentaire:>
180                <span class="valeur1"> '. $vEmail .'</span>
181                 </p>';
182                echo '<p class="texte-retour2"><:escal:contact_motif:></p>';
183                echo '<p class="valeur2">'. $vSujet=utf8_encode(nl2br($vSujet)) .'</p>';
184                echo '<p class="texte-retour2"><:escal:contact_retour_checkbox:></p>';
185                for ($i=0; $i<count($_POST["Niveau"]); $i++)
186                echo '<p class="valeur2">'. $_POST["Niveau"][$i].'</p>';
187                echo '<p class="texte-retour2"><:escal:contact_message:></p>';
188
189                echo '<p class="valeur3">'. $vMessage=utf8_encode(nl2br($vMessage)) .'</p>';
190        }
191}
192                  ?>
193                </form>
194              </div><!-- fin formulaire-contact -->
195            </div><!-- fin contenu -->
196          </div><!-- fin page -->
197
198          <div id="navigation">
199          <!-- affichage des 2 menus verticaux par defaut ou si selectionnes dans la page de configuration -->
200            [(#CONFIG{escal/config/menuV1}|non)<div class="cadre-bleu"><INCLURE {fond=inclusions/inc-menu_vertical}{lang}></div>]
201            [(#CONFIG{escal/config/menuV1}|=={oui}|oui)<div class="cadre-bleu"><INCLURE {fond=inclusions/inc-menu_vertical}{lang}></div>]
202
203            [(#CONFIG{escal/config/menuV2}|non)<div class="cadre-bleu"><INCLURE {fond=inclusions/inc-menu_vertical_2}{lang}></div>]
204            [(#CONFIG{escal/config/menuV2}|=={oui}|oui)<div class="cadre-bleu"><INCLURE {fond=inclusions/inc-menu_vertical_2}{lang}></div>]
205           
206            <div class="cadre-bleu">
207              <INCLURE {fond=inclusions/inc-acces_direct}{lang}>
208            </div>
209          </div>
210
211          <div id="pied">
212            <INCLURE {fond=inclusions/inc-pied}{skel=#SQUELETTE}{lang}>
213          </div>
214
215        </div><!-- fin conteneur -->
216      </div>
217    </div>
218  </body>
219</html>
Note: See TracBrowser for help on using the repository browser.