source: spip-zone/_plugins_/mailjet/formulaires/configurer_mailjet.php @ 58949

Last change on this file since 58949 was 58949, checked in by cedric@…, 8 years ago

initialisation

File size: 2.9 KB
Line 
1<?php
2/*
3 * Plugin Mailjet
4 *
5 */
6
7if (!defined("_ECRIRE_INC_VERSION")) return;
8
9function formulaires_configurer_mailjet_charger_dist(){
10
11        include_spip('inc/autoriser');
12        if (!autoriser('configurer'))
13                return _T('mailjet:configuration_acces_interdit');
14
15        $valeurs = array(
16                'mailjet_enabled' => isset($GLOBALS['meta']['mailjet_enabled'])?$GLOBALS['meta']['mailjet_enabled']:true,
17                'mailjet_username' => isset($GLOBALS['meta']['mailjet_username'])?$GLOBALS['meta']['mailjet_username']:'',
18                'mailjet_password' => isset($GLOBALS['meta']['mailjet_password'])?$GLOBALS['meta']['mailjet_password']:'',
19        );
20
21        return $valeurs;
22}
23
24function formulaires_configurer_mailjet_verifier_dist(){
25        $erreurs = array();
26
27        if (_request('mailjet_enabled')){
28                foreach (array('mailjet_username','mailjet_password') as $obli){
29                        if (!_request($obli))
30                                $erreurs[$obli] = _T('info_obligatoire');
31                }
32        }
33        // sinon 0 dans mailjet_enabled
34        else
35                set_request('mailjet_enabled',0);
36
37        return $erreurs;
38}
39
40function formulaires_configurer_mailjet_traiter_dist(){
41
42        $res = array('editable'=>true);
43        $enabled = _request('mailjet_enabled');
44        ecrire_meta('mailjet_enabled',$enabled);
45        if ($enabled){
46                foreach (array('mailjet_username','mailjet_password') as $config){
47                        ecrire_meta($config,_request($config));
48                }
49                // detecter le port
50                $configs = array (
51                        array ('ssl://', 465),
52                        array ('tls://', 587),
53                        array ('', 587),
54                        array ('', 588),
55                        array ('tls://', 25),
56                        array ('', 25)
57                );
58
59                $host = 'in.mailjet.com';
60                $connected = FALSE;
61
62                $errno = $errstr = "";
63                for ($i = 0; $i < count ($configs); ++$i){
64                        $soc = @fSockOpen ($configs[$i][0].$host, $configs[$i][1], $errno, $errstr, 5);
65                        if ($soc){
66                                fClose($soc);
67                                $connected = TRUE;
68                                break;
69                        }
70                }
71                if ($connected) {
72                        ecrire_meta('mailjet_host', $configs[$i][0].$host);
73                        ecrire_meta('mailjet_port', $configs[$i][1]);
74                        $res['message_ok'] = _T('config_info_enregistree');
75                        $res['message_ok'] .= "<br />"._T('mailjet:mj_autoconfig_host_port',array('host'=>"<tt>".$GLOBALS['meta']['mailjet_host']."</tt>",'port'=>$GLOBALS['meta']['mailjet_port']));
76                        if (_request('tester')){
77                                mailjet_envoyer_mail_test($GLOBALS['meta']['email_webmaster'],_T('mailjet:mailjet_titre_email_test'));
78                                $res['message_ok'] .= "<br />"._T('mailjet:message_envoi_test',array('email'=>$GLOBALS['meta']['email_webmaster']));
79                        }
80                }
81                else {
82                        unset($res['message_ok']);
83                        $res['message_erreur'] = _T('mailjet:mj_error_autoconfig',array('no'=>$errno,'str'=>$errstr));
84                }
85        }
86        else
87                $res['message_ok'] = _T('config_info_enregistree');
88
89        return $res;
90}
91
92function mailjet_envoyer_mail_test($destinataire,$titre){
93        $message_html   = recuperer_fond('mailjet/emails/test_email_html', array());
94        $message_texte  = recuperer_fond('mailjet/emails/test_email_texte', array());
95
96        $envoyer_mail = charger_fonction('envoyer_mail','inc');
97        $envoyer_mail($destinataire, $titre, array('html'=>$message_html,'texte'=>$message_texte));
98}
Note: See TracBrowser for help on using the repository browser.