Changeset 103762 in spip-zone


Ignore:
Timestamp:
Apr 5, 2017, 5:23:22 PM (2 years ago)
Author:
jcvilleneuve@…
Message:

Escal V3 : page contact remaniée pour fonctionner en cas de proxy

Location:
_squelettes_/escal/branche_V3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/escal/branche_V3/formulaires/contact.php

    r90415 r103762  
    1717            'message'=>''
    1818        );
    19        
     19
    2020        return $valeurs;
    2121}
     
    2424        include_spip('inc/config');
    2525        include_spip('inc/filtres');
    26        
     26
    2727        $erreurs = array();
    28        
     28
    2929        // 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');
    32        
    3332
    34                                        
     33
     34
    3535        // Si le champ mail est active dans la configuration de escal
    3636        if(lire_config('escal/config/contactmail') == 'oui'){
     
    4545            }
    4646        }
    47        
     47
    4848        // Si les autres champs sont actives dans la configuration de escal
    49         if (!_request('champsup1') AND lire_config('escal/config/champsup1') == 'oui' AND lire_config('escal/config/champsup1oblig') == 'oui' )
     49          if (!_request('champsup1') AND lire_config('escal/config/champsup1') == 'oui' AND lire_config('escal/config/champsup1oblig') == 'oui' )
    5050              $erreurs['champsup1'] = _T('info_obligatoire_02');             
    51         if (!_request('champsup2') AND lire_config('escal/config/champsup2') == 'oui' AND lire_config('escal/config/champsup2oblig') == 'oui' )
     51          if (!_request('champsup2') AND lire_config('escal/config/champsup2') == 'oui' AND lire_config('escal/config/champsup2oblig') == 'oui' )
    5252              $erreurs['champsup2'] = _T('info_obligatoire_02');
    53         if (!_request('sujet') AND lire_config('escal/config/radio') == 'oui' AND lire_config('escal/config/radiooblig') == 'oui' )
     53          if (!_request('sujet') AND lire_config('escal/config/radio') == 'oui' AND lire_config('escal/config/radiooblig') == 'oui' )
    5454              $erreurs['sujet'] = _T('info_obligatoire_02');
    55         if (!_request('checkbox') AND lire_config('escal/config/checkbox') == 'oui' AND lire_config('escal/config/checkboxoblig') == 'oui' )
     55          if (!_request('checkbox') AND lire_config('escal/config/checkbox') == 'oui' AND lire_config('escal/config/checkboxoblig') == 'oui' )
    5656              $erreurs['checkbox'] = _T('info_obligatoire_02');       
    57        
    58        
     57
     58
    5959        // verification du message       
    6060        $test_message = nocode(_request('message'));
     
    6767                    $erreurs['message']=_T('escal:contact_alerte_interdit').$test_message;
    6868            }                   
    69        
     69
    7070        // message general si oubli ou erreur
    7171        if (count($erreurs))
    7272                $erreurs['message_erreur'] = _T('escal:contact_alerte_entete');
    73                
     73
    7474        return $erreurs;
    7575}
    7676
     77function formulaires_contact_traiter_dist(){
    7778
    78 function formulaires_contact_traiter_dist(){
    79    
    8079        include_spip('inc/config');
    81        
     80
    8281        $champs = array(
    8382            'nom'  => _request('nom'),
     
    9190            'anstispam'=>_request('Antispam'),
    9291        );
    93        
     92
    9493        $nom_site = extraire_multi($GLOBALS['meta']["nom_site"]);
    9594        $email_webmaster = $GLOBALS['meta']['email_webmaster'];
     
    9998
    10099
    101        
    102100        $message =  "<strong>"._T('escal:envoi_mail_nom')."</strong>".$champs['nom']."\n\n";
    103101        $message .= "<strong>"._T('escal:envoi_mail_prenom')."</strong>".$champs['prenom']."\n\n";
    104102
    105        
     103
    106104        if (lire_config('escal/config/champsup1') == 'oui') {
    107105            $message .= "<strong>"._T_ou_typo(lire_config('escal/config/titrechampsup1'))."&nbsp"."</strong>";
    108106            $message .= $champs['champsup1']."\n\n";
    109107        }
    110        
     108
    111109        if (lire_config('escal/config/champsup2') == 'oui') {
    112110            $message.= "<strong>"._T_ou_typo(lire_config('escal/config/titrechampsup2'))."&nbsp"."</strong>";
    113111            $message.= $champs['champsup2']."\n\n";
    114112        }
    115        
     113
    116114        if (lire_config('escal/config/radio') == 'oui') {
    117115            $message.= "<strong>"._T('escal:envoi_mail_motif')."</strong>";
    118116            $message.= $champs['sujet']."\n\n";
    119117        }
    120        
     118
    121119        if (lire_config('escal/config/checkbox') == 'oui') {
    122120            $message .= "<strong>"._T_ou_typo(lire_config('escal/config/titrecheckbox'))."</strong>" ;
     
    125123            }
    126124        }
    127        
     125
    128126        $message .= "<strong>"._T('escal:envoi_mail_message')."</strong>"."\n ".$champs['message'];
    129127
    130              
     128      $message_html='<html>
     129            <head>
     130              <title>'.$sujet.'</title>
     131            </head>
     132            <body>
     133              <div style="width:500px; margin:auto">
     134                <div style="padding:10px; font-size:20px; font-weight:bold; background-color:#82ADE2">
     135                  '.$sujet.'
     136                </div>
     137                <div style="padding:10px; background-color:#DAE6F6">
     138                  '.nl2br($message).'
     139                </div>
     140              </div>
     141            </body></html>';
     142
     143    $envoyer_mail = charger_fonction('envoyer_mail','inc');
     144
     145    $corps= array(
     146        'from'=>$email_from,
     147        'texte'=>supprimer_tags($message),
     148        'html'=> $message_html,
     149        'headers'=> [
     150            "X-Originating-IP: ".$GLOBALS['ip']   
     151        ],
     152    );
     153
    131154        if ($champs['antispam']=='' ){
    132             if(send_email($email_to,$email_from,$email_webmaster,$sujet,$message)==true){
     155            if($envoyer_mail($email_to,$sujet,$corps)){
    133156                return array(
    134157                    'editable' => false,
     
    144167        }
    145168
    146        
     169
    147170}
    148171// Verification basique d'insertion de code pour la fonction verifier
     
    154177}
    155178
    156 /*
    157   Envoi de mail avec php
    158 */
    159 function send_email($destinataire,$email_from,$email_reply,$sujet,$message) {
    160     //http://www.vulgarisation-informatique.com/mail.php
    161 
    162   $message_texte=supprimer_tags($message);
    163   $message_html='<html>
    164     <head>
    165       <title>'.$sujet.'</title>
    166     </head>
    167     <body>
    168       <div style="width:500px; margin:auto">
    169         <div style="padding:10px; font-size:20px; font-weight:bold; background-color:#82ADE2">
    170           '.$sujet.'
    171         </div>
    172         <div style="padding:10px; background-color:#DAE6F6">
    173           '.nl2br($message).'
    174         </div>
    175       </div>
    176     </body>
    177     </html>';
    178 
    179      //-----------------------------------------------
    180      //GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
    181      //-----------------------------------------------
    182 
    183      $frontiere = '-----=' . md5(uniqid(mt_rand()));
    184 
    185      //-----------------------------------------------
    186      //HEADERS DU MAIL
    187      //-----------------------------------------------
    188 
    189      $headers = 'From: <'.$email_from.'>'."\n";
    190      $headers .= 'Reply-To: <'.$email_from.'>'."\n";
    191      $headers .= 'Return-Path: <'.$email_reply.'>'."\n";
    192      $headers .= 'MIME-Version: 1.0'."\n";
    193      $headers .= 'Content-Type: multipart/alternative; boundary="'.$frontiere.'"';
    194 
    195      //-----------------------------------------------
    196      //MESSAGE TEXTE
    197      //-----------------------------------------------
    198      $message = 'This is a multi-part message in MIME format.'."\n\n";
    199 
    200      $message .= '--'.$frontiere."\n";
    201      $message .= 'Content-Type: text/plain; charset="utf-8"'."\n";
    202      $message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
    203      $message .= html_entity_decode($message_texte)."\n\n";
    204 
    205      //-----------------------------------------------
    206      //MESSAGE HTML
    207      //-----------------------------------------------
    208      $message .= '--'.$frontiere."\n";
    209      $message .= 'Content-Type: text/html; charset="utf-8"'."\n";
    210      $message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
    211      $message .= $message_html."\n\n";
    212 
    213      $message .= '--'.$frontiere."\n";
    214 
    215      if(mail($destinataire,$sujet,$message,$headers)) {
    216           return true;
    217      } else {
    218           return false;
    219      }
    220 }
    221 
    222 
    223179?>
  • _squelettes_/escal/branche_V3/paquet.xml

    r103675 r103762  
    22        prefix="escal"
    33        categorie="squelette"
    4         version="3.86.38"
     4        version="3.86.39"
    55        schema="1.0.10"
    66        etat="stable"
     
    2020
    2121        <necessite nom="agenda" compatibilite="[3.11.2;[" />
     22        <utilise nom="facteur" />
     23
    2224
    2325        <menu nom="escal" titre="escal:escal" parent="menu_squelette" icone="images/escal16.png" action="configurer_escal" />
Note: See TracChangeset for help on using the changeset viewer.