Changeset 81364 in spip-zone


Ignore:
Timestamp:
Mar 13, 2014, 10:18:32 PM (5 years ago)
Author:
jcvilleneuve@…
Message:

EscalV3 : une page contact avec un message plus joli et qui devrait fonctionner partout + nouvel onglet disponible pour le bloc central (affichage des articles syndiqués)

Location:
_squelettes_/escal/branche_V3
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/escal/branche_V3/formulaires/configurer_escal_sommaire_corps.html

    r81160 r81364  
    183183                    dans les langues disponibles avec Escal.                   
    184184                    <br /><br />
     185                   
    185186                    <a class="spip_out" href="http://projetice.crdp.ac-lyon.fr/escal/inc-mon_article" title="Voir la documentation"><strong>Mon article</strong></a> est un article ayant le mot-clé "mon-article".
    186187                    Le titre de l'onglet est celui de l'article sauf si vous lui donnez un titre différent ci-dessous. Seuls le texte et le PS sont affichés.
     
    191192                             value="#ENV**{#GET{name}}"  />
    192193                    </span>
    193                     <br /><br />                                       
     194                    <br /><br />
     195                   
     196
     197                    <a class="spip_out" href="" title="Voir la documentation"><strong>Sur le web</strong></a>
     198                    affichera la liste des articles syndiqués sur votre site en indiquant le site source et sa date de parution.
     199                    Le titre de l'onglet est "Sur le web" sauf si vous lui donnez un titre différent ci-dessous.
     200                    #SET{name,titresitesaccueil}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
     201                    [<span class='erreur_message'>(#GET{erreurs})</span>
     202                    ]<span class="choix">
     203                             <input type="texte" style="width:97%" name="#GET{name}" id="#GET{name}"
     204                             value="#ENV**{#GET{name}}"  />
     205                    </span>
     206                    Définir le nombre total d'articles à afficher
     207                        #SET{name,nombreartsyndic}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
     208                        [<span class='erreur_message'>(#GET{erreurs})</span>
     209                        ]<span class="choix">
     210                                 <input type="texte" style="width:30px" name="#GET{name}" id="#GET{name}" value="[(#ENV{#GET{name}}|?{#ENV{#GET{name}},20})]"  />
     211                        </span>                   
     212                        <br />
     213                    Définir le pas de pagination pour ces articles                       
     214                        #SET{name,paginsitesaccueil}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
     215                        [<span class='erreur_message'>(#GET{erreurs})</span>
     216                        ]<span class="choix">
     217                                 <input type="texte" style="width:30px" name="#GET{name}" id="#GET{name}" value="[(#ENV{#GET{name}}|?{#ENV{#GET{name}},5})]"  />
     218                        </span>                   
     219                        <br />
     220                    <br /><br />                                                           
    194221             <br /><br />
    195222                   
     
    205232                              <option value="rubrique" [(#ENV{#GET{name}}|=={rubrique}|?{'selected="selected"',''})] >Rubrique</option>
    206233                              <option value="mon_article" [(#ENV{#GET{name}}|=={mon_article}|?{'selected="selected"',''})] >Mon article</option>
     234                              <option value="sites_accueil" [(#ENV{#GET{name}}|=={sites_accueil}|?{'selected="selected"',''})] >Sur le web</option>
    207235                              <option value="rien" [(#ENV{#GET{name}}|=={rien}|?{'selected="selected"',''})] >Ne pas afficher cet onglet</option>
    208236                            </select>
     
    220248                              <option value="rubrique" [(#ENV{#GET{name}}|=={rubrique}|?{'selected="selected"',''})] >Rubrique</option>
    221249                              <option value="mon_article" [(#ENV{#GET{name}}|=={mon_article}|?{'selected="selected"',''})] >Mon article</option>
     250                              <option value="sites_accueil" [(#ENV{#GET{name}}|=={sites_accueil}|?{'selected="selected"',''})] >Sur le web</option>
    222251                              <option value="rien" [(#ENV{#GET{name}}|=={rien}|?{'selected="selected"',''})] >Ne pas afficher cet onglet</option>
    223252                            </select>
     
    235264                              <option value="rubrique" [(#ENV{#GET{name}}|=={rubrique}|?{'selected="selected"',''})] >Rubrique</option>
    236265                              <option value="mon_article" [(#ENV{#GET{name}}|=={mon_article}|?{'selected="selected"',''})] >Mon article</option>
     266                              <option value="sites_accueil" [(#ENV{#GET{name}}|=={sites_accueil}|?{'selected="selected"',''})] >Sur le web</option>
    237267                              <option value="rien" [(#ENV{#GET{name}}|=={rien}|?{'selected="selected"',''})] [(#ENV{#GET{name}}|=={""}|?{'selected="selected"',''})] >Ne pas afficher cet onglet</option>
    238268                            </select>
     
    250280                              <option value="rubrique" [(#ENV{#GET{name}}|=={rubrique}|?{'selected="selected"',''})] >Rubrique</option>
    251281                              <option value="mon_article" [(#ENV{#GET{name}}|=={mon_article}|?{'selected="selected"',''})] >Mon article</option>
     282                              <option value="sites_accueil" [(#ENV{#GET{name}}|=={sites_accueil}|?{'selected="selected"',''})] >Sur le web</option>
    252283                              <option value="rien" [(#ENV{#GET{name}}|=={rien}|?{'selected="selected"',''})] [(#ENV{#GET{name}}|=={""}|?{'selected="selected"',''})]>Ne pas afficher cet onglet</option>
    253284                            </select>
     
    265296                              <option value="rubrique" [(#ENV{#GET{name}}|=={rubrique}|?{'selected="selected"',''})] >Rubrique</option>
    266297                              <option value="mon_article" [(#ENV{#GET{name}}|=={mon_article}|?{'selected="selected"',''})] >Mon article</option>
     298                              <option value="sites_accueil" [(#ENV{#GET{name}}|=={sites_accueil}|?{'selected="selected"',''})] >Sur le web</option>
    267299                              <option value="rien" [(#ENV{#GET{name}}|=={rien}|?{'selected="selected"',''})] [(#ENV{#GET{name}}|=={""}|?{'selected="selected"',''})]>Ne pas afficher cet onglet</option>
    268300                            </select>
     
    270302                    <br /><br /><br />                     
    271303            #SET{name,ancreonglet}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
    272                     Remonter les onglets en haut de page au clic sur l'un deux
     304                    Remonter les onglets en haut de page au clic sur l'un d'eux
    273305                        [<span class='erreur_message'>(#GET{erreurs})</span>
    274306                        ]<span class="choix" style="float: right">
  • _squelettes_/escal/branche_V3/formulaires/contact.php

    r80699 r81364  
    11<?php
    22
     3// Un énorme merci à Arnaud Bérard pour son aide
     4
    35if (!defined("_ECRIRE_INC_VERSION")) return;
    4 
    5 
    66
    77function formulaires_contact_charger_dist(){
     
    2727        $erreurs = array();
    2828       
    29         // verifier que les champs nom et prénom sont bien la :
     29        // verifier que les champs nom et prenom sont bien la :
    3030        foreach(array('nom','prenom') as $obligatoire)
    3131                if (!_request($obligatoire)) $erreurs[$obligatoire] = _T('info_obligatoire_02');
     
    3333
    3434                                       
    35         // Si le champ mail est activé dans la configuration de escal
     35        // Si le champ mail est active dans la configuration de escal
    3636        if(lire_config('escal/config/contactmail') == 'oui'){
    3737            $email = _request('email');
    38             // verifier si un email a été saisi
     38            // verifier si un email a ete saisi
    3939            if (!_request('email')) {
    4040                    $erreurs['email'] = _T('info_obligatoire_02');       
    4141            }
    42             // Vérifier que c'est une adresse valide
     42            // Verifier que c'est une adresse valide
    4343            else if(!preg_match("#^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-_.]?[0-9a-z])*\\.[a-z]{2,4}$#",$email)){
    4444                    $erreurs['email'] = _T('escal:contact_alerte_mail');
     
    4646        }
    4747       
    48         // Si les autres champs sont activés dans la configuration de escal
     48        // Si les autres champs sont actives dans la configuration de escal
    4949        if (!_request('champsup1') AND lire_config('escal/config/champsup1') == 'oui' AND lire_config('escal/config/champsup1oblig') == 'oui' )
    5050              $erreurs['champsup1'] = _T('info_obligatoire_02');             
     
    5757       
    5858       
    59         // vérification du message       
     59        // verification du message       
    6060        $test_message = nocode(_request('message'));
    61             // verifier si un message a été saisi
     61            // verifier si un message a ete saisi
    6262            if (!_request('message')) {
    6363                    $erreurs['message'] = _T('escal:contact_alerte_message');       
    6464            }
    65             // Vérifier que c'est un message valide
     65            // Verifier que c'est un message valide
    6666            else if($test_message==FALSE){
    6767                    $erreurs['message']=_T('escal:contact_alerte_interdit').$test_message;
    6868            }                   
    6969       
    70         // message général si oubli ou erreur
     70        // message general si oubli ou erreur
    7171        if (count($erreurs))
    7272                $erreurs['message_erreur'] = _T('escal:contact_alerte_entete');
     
    9595        $email_webmaster = $GLOBALS['meta']['email_webmaster'];
    9696        $email_to= lire_config('escal/config/destinataire').",".$email_webmaster;
    97         $sujet = _T('escal:page_contact2')." : ".$nom_site;
     97        $sujet = _T('escal:page_contact2')." ".$nom_site;
    9898        $email_from = $champs['email'];
    9999
    100100
    101101       
    102         $message =  clean(_T('escal:envoi_mail_nom')).clean($champs['nom'])."\n";
    103         $message .= clean(_T('escal:envoi_mail_prenom')).clean($champs['prenom'])."\n\n\n";
     102        $message =  "<strong>"._T('escal:envoi_mail_nom')."</strong>".$champs['nom']."\n\n";
     103        $message .= "<strong>"._T('escal:envoi_mail_prenom')."</strong>".$champs['prenom']."\n\n";
    104104
    105105       
    106106        if (lire_config('escal/config/champsup1') == 'oui') {
    107             $message .= clean(_T_ou_typo(lire_config('escal/config/titrechampsup1')));
    108             $message .= clean($champs['champsup1'])."\n\n";
     107            $message .= "<strong>"._T_ou_typo(lire_config('escal/config/titrechampsup1'))."</strong>";
     108            $message .= $champs['champsup1']."\n\n";
    109109        }
    110110       
    111111        if (lire_config('escal/config/champsup2') == 'oui') {
    112             $message.= clean(_T_ou_typo(lire_config('escal/config/titrechampsup2')));
    113             $message.= clean($champs['champsup2'])."\n\n";
     112            $message.= "<strong>"._T_ou_typo(lire_config('escal/config/titrechampsup2'))."</strong>";
     113            $message.= $champs['champsup2']."\n\n";
    114114        }
    115115       
    116116        if (lire_config('escal/config/radio') == 'oui') {
    117             $message.= clean(_T('escal:envoi_mail_motif'));
    118             $message.= clean($champs['sujet'])."\n\n";
     117            $message.= "<strong>"._T('escal:envoi_mail_motif')."</strong>";
     118            $message.= $champs['sujet']."\n\n";
    119119        }
    120120       
    121121        if (lire_config('escal/config/checkbox') == 'oui') {
    122             $message .= clean(_T_ou_typo(lire_config('escal/config/titrecheckbox')))."\n" ;
     122            $message .= "<strong>"._T_ou_typo(lire_config('escal/config/titrecheckbox'))."</strong>" ;
    123123            if (is_array($champs['checkbox'])) {
    124124              $message .= implode(" - ",$champs['checkbox'])."\n\n";
     
    126126        }
    127127       
    128         $message .= clean(_T('escal:envoi_mail_message'))."\n ".clean($champs['message'])."\n\n";
     128        $message .= "<strong>"._T('escal:envoi_mail_message')."</strong>"."\n ".$champs['message'];
    129129
    130130             
    131131        if ($champs['antispam']=='' ){
    132             $envoyer_mail = charger_fonction('envoyer_mail','inc');
    133             $envoyer_mail($email_to,$sujet,utf8_encode($message),$email_from);
    134             return array(
    135                 'message_ok'=>_T('escal:contact_retour_commentaire')."\n"."<strong>". _request('email')."</strong>"
     132            if(send_email($email_to,$email_from,$email_webmaster,$sujet,$message)==true){
     133                return array(
     134                    'message_ok'=>_T('escal:contact_retour_commentaire')."\n"."<strong>". _request('email')."</strong>"
     135                    );
     136            }else{
     137                return array(
     138                'message_erreur'=>_T('pass_erreur_probleme_technique')
    136139                );
     140            }
    137141        }else{
    138142            return array('message_erreur'=>'Pas de robots ici !!');
     
    141145       
    142146}
    143 // Vérification basique d'insertion de code pour la fonction vérifier
     147// Verification basique d'insertion de code pour la fonction verifier
    144148function nocode($text){
    145149    if(!preg_match("/[]%~#`$&|}{^[><]/",$text))
     
    148152        return FALSE;
    149153}
    150 // Nettoyage minimal pour les champs textes input
    151 function clean($text){
    152     $text = htmlentities(trim(utf8_decode($text)));
    153     return $text;
    154 }
    155 
     154
     155/*
     156  Envoi de mail avec php
     157*/
     158function send_email($destinataire,$email_from,$email_reply,$sujet,$message) {
     159    //http://www.vulgarisation-informatique.com/mail.php
     160
     161  $message_texte=supprimer_tags($message);
     162  $message_html='<html>
     163    <head>
     164      <title>'.$sujet.'</title>
     165    </head>
     166    <body>
     167      <div style="width:500px; margin:auto">
     168        <div style="padding:10px; font-size:20px; font-weight:bold; background-color:#82ADE2">
     169          '.$sujet.'
     170        </div>
     171        <div style="padding:10px; background-color:#DAE6F6">
     172          '.nl2br($message).'
     173        </div>
     174      </div>
     175    </body>
     176    </html>';
     177
     178     //-----------------------------------------------
     179     //GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
     180     //-----------------------------------------------
     181
     182     $frontiere = '-----=' . md5(uniqid(mt_rand()));
     183
     184     //-----------------------------------------------
     185     //HEADERS DU MAIL
     186     //-----------------------------------------------
     187
     188     $headers = 'From: <'.$email_from.'>'."\n";
     189     $headers .= 'Return-Path: <'.$email_reply.'>'."\n";
     190     $headers .= 'MIME-Version: 1.0'."\n";
     191     $headers .= 'Content-Type: multipart/alternative; boundary="'.$frontiere.'"';
     192
     193     //-----------------------------------------------
     194     //MESSAGE TEXTE
     195     //-----------------------------------------------
     196     $message = 'This is a multi-part message in MIME format.'."\n\n";
     197
     198     $message .= '--'.$frontiere."\n";
     199     $message .= 'Content-Type: text/plain; charset="utf-8"'."\n";
     200     $message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
     201     $message .= html_entity_decode($message_texte)."\n\n";
     202
     203     //-----------------------------------------------
     204     //MESSAGE HTML
     205     //-----------------------------------------------
     206     $message .= '--'.$frontiere."\n";
     207     $message .= 'Content-Type: text/html; charset="utf-8"'."\n";
     208     $message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
     209     $message .= $message_html."\n\n";
     210
     211     $message .= '--'.$frontiere."\n";
     212
     213     if(mail($destinataire,$sujet,$message,$headers)) {
     214          return true;
     215     } else {
     216          return false;
     217     }
     218}
    156219
    157220
  • _squelettes_/escal/branche_V3/inclusions/inc-a_la_une.html

    r81122 r81364  
     1<!-- titre de l'onglet  "Article d'accueil" -->
    12<BOUCLE_titre(ARTICLES){lang}{titre_mot=accueil}{par date}{inverse}{0,1}>
    23#SET{titreart,#TITRE}
     
    89</BOUCLE_titrealt>
    910
    10 
     11<!-- titre de l'onglet  "Mon article" -->
    1112<BOUCLE_titremonart(ARTICLES){lang}{si #CONFIG{escal/config/titremonart}|non}{titre_mot=mon-article}>
    1213#SET{titremonart,#TITRE}
    1314</BOUCLE_titremonart>
    14 
    1515[(#CONFIG{escal/config/titremonart}|oui)
    1616#SET{titremonart,#CONFIG{escal/config/titremonart}|propre|_T_ou_typo|PtoBR}
    1717]
    1818
    19 
    20 
    21 
     19<!-- titre de l'onglet  "Rubrique" -->
    2220<BOUCLE_titrerub(RUBRIQUES){lang}{titre_mot=RubriqueOnglet}{0,1}>
    2321[(#SET{titrerub,<span class='entier'>#TITRE</span>})]
     
    2523</BOUCLE_titrerub>
    2624
    27 
     25<!-- titre de l'onglet  "Sur le web" -->
     26#SET{titresitesaccueil,#CONFIG{escal/config/titresitesaccueil,Sur le web}|propre|_T_ou_typo|PtoBR}
     27
     28<!-- affichage des onglets -->
    2829<div class="cadre-une">
    2930[(#CONFIG{escal/config/ancreonglet}|=={non}|non)<a name="onglet"></a>]
    3031  <ul class="onglets">
    31 <!-- onglet 1 -->
     32<!-- onglet 1 --> 
    3233    [(#CONFIG{escal/config/onglet1}|non)
    3334    <li id="premier"><a href="#onglet" name="contenu_1" class="tab active" title="<:escal:title_articles_derniers:>"><:escal:articles_derniers:></a></li>
     
    5354    [(#CONFIG{escal/config/onglet1}|=={mon_article}|oui)
    5455    <li id="premier"><a href="#onglet" name="contenu_1" class="tab active" title="Article à voir">#GET{titremonart}</a></li>
     56    ]   
     57    [(#CONFIG{escal/config/onglet1}|=={sites_accueil}|oui)
     58    <li id="premier"><a href="#onglet" name="contenu_1" class="tab active" title="Sur le web">#GET{titresitesaccueil}</a></li>
    5559    ]
    5660<!-- onglet 2 -->
     
    7983    <li><a href="#onglet" name="contenu_2" class="tab" title="Article à voir">#GET{titremonart}</a></li>
    8084    ]
     85    [(#CONFIG{escal/config/onglet2}|=={sites_accueil}|oui)
     86    <li><a href="#onglet" name="contenu_2" class="tab" title="Sur le web">#GET{titresitesaccueil}</a></li>
     87    ]
    8188<!-- onglet 3 -->
    8289    [(#CONFIG{escal/config/onglet3}|=={derniersarticles}|oui)
     
    101108    <li><a href="#onglet" name="contenu_3" class="tab" title="Article à voir">#GET{titremonart}</a></li>
    102109    ]
     110    [(#CONFIG{escal/config/onglet3}|=={sites_accueil}|oui)
     111    <li><a href="#onglet" name="contenu_3" class="tab" title="Sur le web">#GET{titresitesaccueil}</a></li>
     112    ]
    103113<!-- onglet 4 -->
    104114    [(#CONFIG{escal/config/onglet4}|=={derniersarticles}|oui)
     
    123133    <li><a href="#onglet" name="contenu_4" class="tab" title="Article à voir">#GET{titremonart}</a></li>
    124134    ]
     135    [(#CONFIG{escal/config/onglet4}|=={sites_accueil}|oui)
     136    <li><a href="#onglet" name="contenu_4" class="tab" title="Sur le web">#GET{titresitesaccueil}</a></li>
     137    ]
    125138<!-- onglet 5 -->
    126139    [(#CONFIG{escal/config/onglet5}|=={derniersarticles}|oui)
     
    145158    <li><a href="#onglet" name="contenu_5" class="tab" title="Article à voir">#GET{titremonart}</a></li>
    146159    ]
     160    [(#CONFIG{escal/config/onglet5}|=={sites_accueil}|oui)
     161    <li><a href="#onglet" name="contenu_5" class="tab" title="Sur le web">#GET{titresitesaccueil}</a></li>
     162    ]
    147163  </ul>
    148164
    149 <!-- onglet 1 -->
     165<!-- affichage du contenu des onglets -->
     166<!-- onglet 1 -->
    150167    [(#CONFIG{escal/config/onglet1}|non)
    151168  <div class="contenu_1 content">
     
    186203  <div class="contenu_1 content">
    187204    <INCLURE {fond=inclusions/inc-mon_article}{env}{lang}>
     205  </div>
     206    ]
     207    [(#CONFIG{escal/config/onglet1}|=={sites_accueil}|oui)
     208  <div class="contenu_1 content">
     209    <INCLURE {fond=inclusions/inc-sites_accueil}{env}{lang}{ajax}>
    188210  </div>
    189211    ]
     
    229251  </div>
    230252    ]
     253    [(#CONFIG{escal/config/onglet2}|=={sites_accueil}|oui)
     254  <div class="contenu_2 content">
     255    <INCLURE {fond=inclusions/inc-sites_accueil}{env}{lang}{ajax}>
     256  </div>
     257    ]
    231258<!-- onglet 3 -->
    232259    [(#CONFIG{escal/config/onglet3}|=={derniersarticles}|oui)
     
    270297  </div>
    271298    ]
     299    [(#CONFIG{escal/config/onglet3}|=={sites_accueil}|oui)
     300  <div class="contenu_3 content">
     301    <INCLURE {fond=inclusions/inc-sites_accueil}{env}{lang}{ajax}>
     302  </div>
     303    ]
    272304<!-- onglet 4 -->
    273305    [(#CONFIG{escal/config/onglet4}|=={derniersarticles}|oui)
     
    306338  </div>
    307339    ]
     340    [(#CONFIG{escal/config/onglet4}|=={sites_accueil}|oui)
     341  <div class="contenu_4 content">
     342    <INCLURE {fond=inclusions/inc-sites_accueil}{env}{lang}{ajax}>
     343  </div>
     344    ]
    308345<!-- onglet 5 -->
    309346    [(#CONFIG{escal/config/onglet5}|=={derniersarticles}|oui)
     
    342379  </div>
    343380    ]
     381    [(#CONFIG{escal/config/onglet5}|=={sites_accueil}|oui)
     382  <div class="contenu_5 content">
     383    <INCLURE {fond=inclusions/inc-sites_accueil}{env}{lang}{ajax}>
     384  </div>
     385    ]
    344386</div>  <!-- cadre-une -->
  • _squelettes_/escal/branche_V3/paquet.xml

    r81310 r81364  
    22    prefix="escal"
    33    categorie="squelette"
    4     version="3.77.31"
     4    version="3.78.00"
    55    schema="1.0.4"
    66    etat="stable"
  • _squelettes_/escal/branche_V3/styles/general.css

    r81122 r81364  
    771771}
    772772.titre-articles-rubrique {
    773         font-size: 12px;
     773        padding-top: 5px;
     774  font-size: 12px;
    774775        font-weight: bold;
    775776}
Note: See TracChangeset for help on using the changeset viewer.