Changeset 95867 in spip-zone for _plugins_/emailtospip


Ignore:
Timestamp:
Mar 8, 2016, 7:26:08 PM (3 years ago)
Author:
spip.franck@…
Message:

des tag à la place d'espace http://www.spip.net/fr_article3497.html#regles_codage

Location:
_plugins_/emailtospip
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/emailtospip/emailtospip_pipelines.php

    r71247 r95867  
    1111
    1212if (!defined('_ECRIRE_INC_VERSION')) return;
    13        
     13
    1414
    1515// les taches crons
    1616function emailtospip_taches_generales_cron($taches_generales){   
    17   $taches_generales['emailtospip'] = 60*15;  // tous les 15 min         
     17        $taches_generales['emailtospip'] = 60*15;  // tous les 15 min           
    1818        return $taches_generales;
    1919}
    20 
    21 
    22 
    2320?>
  • _plugins_/emailtospip/formulaires/configurer_emailtospip.html

    r71146 r95867  
    1010                #ACTION_FORMULAIRE{#ENV{action}}
    1111
    12                 <ul>           
    13      [(#SAISIE{input, email,
     12                <ul>
     13                [(#SAISIE{input, email,
    1414                                label=<:emailtospip:cfg_email:>,
    15         explication=<:emailtospip:cfg_email_explication:>})]       
    16      
    17      [(#SAISIE{input, email_pwd,
    18                                 label=<:emailtospip:cfg_email_pwd:>})]             
    19            
    20      [(#SAISIE{input, hote_imap,
     15                explication=<:emailtospip:cfg_email_explication:>})]
     16
     17                [(#SAISIE{input, email_pwd,
     18                                label=<:emailtospip:cfg_email_pwd:>})]
     19
     20                [(#SAISIE{input, hote_imap,
    2121                                label=<:emailtospip:cfg_hote_imap:>,
    22         explication=<:emailtospip:cfg_hote_imap_explication:>})]           
    23            
    24      [(#SAISIE{input, hote_port,
     22                explication=<:emailtospip:cfg_hote_imap_explication:>})]
     23
     24                [(#SAISIE{input, hote_port,
    2525                                label=<:emailtospip:cfg_hote_port:>,
    26         explication=<:emailtospip:cfg_hote_port_explication:>,
    27         defaut=143})]
    28        
    29      [(#SAISIE{input, inbox,
     26                explication=<:emailtospip:cfg_hote_port_explication:>,
     27                defaut=143})]
     28
     29                [(#SAISIE{input, inbox,
    3030                                label=<:emailtospip:cfg_inbox:>,
    31         defaut=INBOX})]     
    32        
    33      [(#SAISIE{input, pwd,
     31                defaut=INBOX})]     
     32
     33                [(#SAISIE{input, pwd,
    3434                                label=<:emailtospip:cfg_pwd:>,
    35         explication=<:emailtospip:cfg_pwd_explication:>})]   
    36        
    37            
    38       [(#SAISIE{selection, import_statut,
     35                explication=<:emailtospip:cfg_pwd_explication:>})]
     36
     37
     38                [(#SAISIE{selection, import_statut,
    3939                                label=<:emailtospip:cfg_import_statut:>,
    40         cacher_option_intro=true,
    41         datas=#ARRAY{           
    42                         prop,<:sites:info_statut_site_3:>,
    43                         publie,<:sites:info_statut_site_2:>}})]
    44            
    45       [(#SAISIE{input,id_rubrique,label=<:emailtospip:cfg_id_rubrique:>})]                       
     40                cacher_option_intro=true,
     41                datas=#ARRAY{           
     42                                prop,<:sites:info_statut_site_3:>,
     43                                publie,<:sites:info_statut_site_2:>}})]
    4644
    47              
     45                [(#SAISIE{input,id_rubrique,label=<:emailtospip:cfg_id_rubrique:>})]
     46
     47
    4848                </ul>
    4949
  • _plugins_/emailtospip/genie/emailtospip.php

    r71247 r95867  
    1111
    1212function genie_emailtospip_dist($t){
    13   // chargement configuration
    14    include_spip('inc/config');
     13        // chargement configuration
     14        include_spip('inc/config');
    1515
    16    $email = lire_config('emailtospip/email');
    17    $email_pwd = lire_config('emailtospip/email_pwd');
    18    $hote_imap = lire_config('emailtospip/hote_imap');
    19    $hote_port = lire_config('emailtospip/hote_port');
    20    $hote_inbox = lire_config('emailtospip/inbox');
    21    $pwd = lire_config('emailtospip/pwd');     
    22    
    23    if (lire_config('emailtospip/import_statut')=="publie") $import_statut = "publie";  else $import_statut = "prop";
    24    $id_rubrique = intval(lire_config('emailtospip/id_rubrique'));
    25    $id_secteur  = sql_getfetsel("id_secteur", "spip_rubriques", "id_rubrique=" . intval($id_rubrique));
    26    $lang = lire_meta("langue_site");
    27    
    28    
    29    $limit = 20; // max d'emails à traiter en une passe (pour éviter le timeout)
    30    $pagination = 50; // nb emails à examiner (pour ne pas consulter toute la boite)
    31      
    32    if ($hote_imap!="") { 
    33           // connection or die         
    34           $connection = '{'.$hote_imap.':'.$hote_port.'}'.$hote_inbox;
    35           $mbox = @imap_open($connection, $email, $email_pwd);
    36          
    37           if (FALSE === $mbox) {
    38                 spip_log("connection $connection impossible","emailtospip");
    39                 return false;               
    40           } else {
    41                 // lecture boite                 
    42                 $info = imap_check($mbox);
    43                 if (FALSE === $info) {
    44                     spip_log("Impossible de lire le contenu de la boite mail","emailtospip");
    45                     return false;                   
    46                 } else {
    47                     // lire des derniers msgs
    48                     $nbMessages = $info->Nmsgs;
    49                     $nbMessagesMin =  max(1,$nbMessages- $pagination);
    50                     $mails = imap_fetch_overview($mbox, "$nbMessagesMin:$nbMessages", 0);
    51                                        
    52                     $i=0;
    53                     foreach ($mails as $mail) {           
    54                         $sujet = imap_utf8_fix($mail->subject);
    55                         $uid = $mail->uid;
    56                         $msgno = $mail->msgno;                       
    57                         if (preg_match_all("#<(.*?)>#ims",$mail->from, $matches,PREG_SET_ORDER))    // buzz <buzz@buzz.org> ->  buzz@buzz.org
    58                                   $email_from = $matches[0][1];
    59                             else  $email_from = $mail->to;
    60                         //echo "<h1>NEW EMAIL</h1>- $i ($msgno/$uid) : $sujet ";    // debug
    61                        
    62                         // en mode mot de passe, ne selectionner que les emails avec le mot titre                         
    63                         if ($pwd!="") {
    64                             if (substr($sujet,0,strlen($pwd)) == $pwd)  {
    65                                 $sujet = substr($sujet,strlen($pwd));
    66                                 $import = true;
    67                             } else  {
    68                                 $import = false;
    69                             }
    70                         } else {
    71                             $import = true;
    72                         }
    73                        
    74                         if ($import) {
    75                             if ($i++<$limit)                           
    76                               emailtospip_mail($uid,$mbox,$sujet,$email_from,$import_statut,$id_rubrique,$id_secteur,$lang);
    77                          }
    78                        
    79                        
    80                     }  #foreach                                       
    81                     imap_close($mbox,CL_EXPUNGE);
    82                     return true;
    83                    
    84                 } 
    85           }
    86    }
    87    
    88   return 1;
     16        $email = lire_config('emailtospip/email');
     17        $email_pwd = lire_config('emailtospip/email_pwd');
     18        $hote_imap = lire_config('emailtospip/hote_imap');
     19        $hote_port = lire_config('emailtospip/hote_port');
     20        $hote_inbox = lire_config('emailtospip/inbox');
     21        $pwd = lire_config('emailtospip/pwd');
     22
     23        if (lire_config('emailtospip/import_statut')=="publie") $import_statut = "publie";  else $import_statut = "prop";
     24        $id_rubrique = intval(lire_config('emailtospip/id_rubrique'));
     25        $id_secteur  = sql_getfetsel("id_secteur", "spip_rubriques", "id_rubrique=" . intval($id_rubrique));
     26        $lang = lire_meta("langue_site");
     27
     28
     29        $limit = 20; // max d'emails à traiter en une passe (pour éviter le timeout)
     30        $pagination = 50; // nb emails à examiner (pour ne pas consulter toute la boite)
     31
     32        if ($hote_imap!="") {
     33                        // connection or die
     34                        $connection = '{'.$hote_imap.':'.$hote_port.'}'.$hote_inbox;
     35                        $mbox = @imap_open($connection, $email, $email_pwd);
     36
     37                        if (FALSE === $mbox) {
     38                                spip_log("connection $connection impossible","emailtospip");
     39                                return false;
     40                        } else {
     41                                // lecture boite
     42                                $info = imap_check($mbox);
     43                                if (FALSE === $info) {
     44                                        spip_log("Impossible de lire le contenu de la boite mail","emailtospip");
     45                                        return false;
     46                                } else {
     47                                        // lire des derniers msgs
     48                                        $nbMessages = $info->Nmsgs;
     49                                        $nbMessagesMin =  max(1,$nbMessages- $pagination);
     50                                        $mails = imap_fetch_overview($mbox, "$nbMessagesMin:$nbMessages", 0);
     51
     52                                        $i=0;
     53                                        foreach ($mails as $mail) {
     54                                                $sujet = imap_utf8_fix($mail->subject);
     55                                                $uid = $mail->uid;
     56                                                $msgno = $mail->msgno;
     57                                                if (preg_match_all("#<(.*?)>#ims",$mail->from, $matches,PREG_SET_ORDER))    // buzz <buzz@buzz.org> ->  buzz@buzz.org
     58                                                                        $email_from = $matches[0][1];
     59                                                        else  $email_from = $mail->to;
     60                                                //echo "<h1>NEW EMAIL</h1>- $i ($msgno/$uid) : $sujet ";    // debug
     61
     62                                                // en mode mot de passe, ne selectionner que les emails avec le mot titre
     63                                                if ($pwd!="") {
     64                                                        if (substr($sujet,0,strlen($pwd)) == $pwd)  {
     65                                                                $sujet = substr($sujet,strlen($pwd));
     66                                                                $import = true;
     67                                                        } else  {
     68                                                                $import = false;
     69                                                        }
     70                                                } else {
     71                                                        $import = true;
     72                                                }
     73
     74                                                if ($import) {
     75                                                        if ($i++<$limit)
     76                                                                emailtospip_mail($uid,$mbox,$sujet,$email_from,$import_statut,$id_rubrique,$id_secteur,$lang);
     77                                                }
     78                                        }  #foreach
     79                                        imap_close($mbox,CL_EXPUNGE);
     80                                        return true;
     81                                }
     82                        }
     83        }
     84
     85        return 1;
    8986}
    9087
     
    9592// http://svn.php.net/viewvc/?view=revision&revision=294699
    9693function imap_utf8_fix($string) {
    97    if (version_compare(phpversion(), '5.3.3', '>=')) {
    98            spip_log("decodage sujet (5.3+):".$string,"emailtospip");
    99            return $string;
    100    }     else   {
    101            spip_log("decodage sujet (5.3-):".$string." : ".iconv_mime_decode($string,2,"UTF-8") ,"emailtospip");
    102            return iconv_mime_decode($string,0,"UTF-8");
    103    }
    104 } 
     94        if (version_compare(phpversion(), '5.3.3', '>=')) {
     95                        spip_log("decodage sujet (5.3+):".$string,"emailtospip");
     96                        return $string;
     97        }     else   {
     98                        spip_log("decodage sujet (5.3-):".$string." : ".iconv_mime_decode($string,2,"UTF-8") ,"emailtospip");
     99                        return iconv_mime_decode($string,0,"UTF-8");
     100        }
     101}
    105102
    106103//
    107 // import un email en tant qu'article spip 
     104// import un email en tant qu'article spip
    108105//        puis efface l'email de la boite
    109106//
     
    114111// @....
    115112function emailtospip_mail($uid,$mbox,$sujet,$email,$import_statut,$id_rubrique,$id_secteur,$lang) {
    116     include_spip('inc/texte'); // pour safehtml
    117    
    118     // lecture de l'email   
    119     $headerText = imap_fetchHeader($mbox, $uid, FT_UID);
    120     $header = imap_rfc822_parse_headers($headerText);
    121    
    122     // REM: Attention s'il y a plusieurs sections
    123     $structure = imap_fetchstructure($mbox, $uid, FT_UID);
    124        
    125     //$corps = imap_fetchbody($mbox, $uid, 2, FT_UID);  // 1: plain text 2: html
    126     //$corps = imap_body($mbox, $uid, FT_UID);     // pas assez precis ex. gmail alternative txt et html melange
     113        include_spip('inc/texte'); // pour safehtml
    127114
    128     // HTML disponible   ?
    129     if ($corps = imap_fetchbody($mbox, $uid, 2, FT_UID)) {           
    130           $corps = quoted_printable_decode($corps);
    131           // si le html contient  un <html><body> on essaie de virer pas regex
    132           $pattern = "#<body[^>]*>(.*?)<\/body>#ims";
    133           if (preg_match_all($pattern, $corps, $matches,PREG_SET_ORDER))  {
    134               $corps = $matches[0][1];
    135               spip_log("email $sujet (type: ".$structure->subtype.") HTML avec body regex","emailtospip"); 
    136           } else {
    137               // cas gmail, on fait rien ... on garde le corps sans regex
    138               spip_log("email $sujet (type: ".$structure->subtype.") HTML sans body","emailtospip");               
    139           }
    140     } else {
    141           // pas HTML disponible, on prend le PLAIN TXT           
    142           $corps = imap_fetchbody($mbox, $uid, 1, FT_UID);
    143           $corps = quoted_printable_decode($corps);
    144           spip_log("email $sujet (type: ".$structure->subtype.") TXT","emailtospip");
    145     };
     115        // lecture de l'email   
     116        $headerText = imap_fetchHeader($mbox, $uid, FT_UID);
     117        $header = imap_rfc822_parse_headers($headerText);
    146118
    147     // ....dans la table articles
    148     $date =  date('Y-m-d H:i:s',time());                               
    149     $id_nouvel_article = sql_insertq("spip_articles",array(
    150                                               'lang' => $lang,
    151                                               'titre' => safehtml($sujet),
    152                                               'id_rubrique' => $id_rubrique,
    153                                               'id_secteur' => $id_secteur,                                             
    154                                               'texte' => safehtml($corps),       // utiliser une filtrage genre sale ?                                         
    155                                               'statut' => $import_statut,
    156                                               'accepter_forum' => 'non',
    157                                               'date' => $date
    158                                               ));
    159     // ... l'auteur est connu ?
    160     if ($id_auteur  = sql_getfetsel("id_auteur", "spip_auteurs", "email='$email'")) {
    161            sql_insertq("spip_auteurs_liens",array(
    162                                               'id_auteur' => $id_auteur,
    163                                               'id_objet' => $id_nouvel_article,
    164                                               'objet' => 'article',
    165                                               'vu' => 'non'
    166                                               ));
    167     } 
    168    
    169     // on supprime l'email 
    170     imap_delete($mbox, $uid, FT_UID);                                                                         
    171    
    172     return true;
    173 }
     119        // REM: Attention s'il y a plusieurs sections
     120        $structure = imap_fetchstructure($mbox, $uid, FT_UID);
     121
     122        //$corps = imap_fetchbody($mbox, $uid, 2, FT_UID);  // 1: plain text 2: html
     123        //$corps = imap_body($mbox, $uid, FT_UID);     // pas assez precis ex. gmail alternative txt et html melange
     124
     125        // HTML disponible   ?
     126        if ($corps = imap_fetchbody($mbox, $uid, 2, FT_UID)) {
     127                        $corps = quoted_printable_decode($corps);
     128                        // si le html contient  un <html><body> on essaie de virer pas regex
     129                        $pattern = "#<body[^>]*>(.*?)<\/body>#ims";
     130                        if (preg_match_all($pattern, $corps, $matches,PREG_SET_ORDER))  {
     131                                $corps = $matches[0][1];
     132                                spip_log("email $sujet (type: ".$structure->subtype.") HTML avec body regex","emailtospip");
     133                        } else {
     134                        // cas gmail, on fait rien ... on garde le corps sans regex
     135                                spip_log("email $sujet (type: ".$structure->subtype.") HTML sans body","emailtospip");
     136                        }
     137        } else {
     138                        // pas HTML disponible, on prend le PLAIN TXT
     139                        $corps = imap_fetchbody($mbox, $uid, 1, FT_UID);
     140                        $corps = quoted_printable_decode($corps);
     141                        spip_log("email $sujet (type: ".$structure->subtype.") TXT","emailtospip");
     142        };
     143
     144        // ....dans la table articles
     145        $date =  date('Y-m-d H:i:s',time());
     146        $id_nouvel_article = sql_insertq("spip_articles",array(
     147                                                                                                'lang' => $lang,
     148                                                                                                'titre' => safehtml($sujet),
     149                                                                                                'id_rubrique' => $id_rubrique,
     150                                                                                                'id_secteur' => $id_secteur,
     151                                                                                                'texte' => safehtml($corps),       // utiliser une filtrage genre sale ?
     152                                                                                                'statut' => $import_statut,
     153                                                                                                'accepter_forum' => 'non',
     154                                                                                                'date' => $date
     155                                                                                                ));
     156        // ... l'auteur est connu ?
     157        if ($id_auteur  = sql_getfetsel("id_auteur", "spip_auteurs", "email='$email'")) {
     158                        sql_insertq("spip_auteurs_liens",array(
     159                                                                                                'id_auteur' => $id_auteur,
     160                                                                                                'id_objet' => $id_nouvel_article,
     161                                                                                                'objet' => 'article',
     162                                                                                                'vu' => 'non'
     163                                                                                                ));
     164        }
     165
     166        // on supprime l'email 
     167        imap_delete($mbox, $uid, FT_UID);
     168
     169        return true;
     170}
    174171
    175172?>
  • _plugins_/emailtospip/lang/emailtospip_fr.php

    r86066 r95867  
    33
    44if (!defined('_ECRIRE_INC_VERSION')) return;
    5  
     5
    66$GLOBALS[$GLOBALS['idx_lang']] = array(
    77
     
    1010
    1111        // C
    12   'cfg_import_statut' => 'Statut des articles importés',
    13   'cfg_email' => 'Email',
    14   'cfg_email_explication' => 'Email ou identifiant de la boite email',   
    15   'cfg_email_pwd' => 'Mot de passe',
    16   'cfg_hote_imap' => 'Adresse du serveur IMAP',
    17   'cfg_hote_imap_explication' => 'ex. imap.gmail.com',   
    18   'cfg_hote_port' => 'Port',
    19   'cfg_hote_port_explication' => '143, 993 (SSL) ou 993/imap/ssl (gmail), .... <a href="http://php.net/manual/fr/function.imap-open.php">infos</a>',
    20   'cfg_inbox' => 'Dossier distant',
    21   'cfg_pwd' => 'Préfixe',
    22   'cfg_pwd_explication' => '<i>(Facultatif)</i> Phrase secrète à ajouter dans le sujet de l\'email pour qu\'il soit traité par le plugin.<br />Si ce champs est vide, tous les emails seront importés',
    23   'cfg_id_rubrique' => 'Id de la rubrique où importer les articles',
    24   'cfg_titre_parametrages' => 'Votre boite email',
     12        'cfg_import_statut' => 'Statut des articles importés',
     13        'cfg_email' => 'Email',
     14        'cfg_email_explication' => 'Email ou identifiant de la boite email',
     15        'cfg_email_pwd' => 'Mot de passe',
     16        'cfg_hote_imap' => 'Adresse du serveur IMAP',
     17        'cfg_hote_imap_explication' => 'ex. imap.gmail.com',
     18        'cfg_hote_port' => 'Port',
     19        'cfg_hote_port_explication' => '143, 993 (SSL) ou 993/imap/ssl (gmail), .... <a href="http://php.net/manual/fr/function.imap-open.php">infos</a>',
     20        'cfg_inbox' => 'Dossier distant',
     21        'cfg_pwd' => 'Préfixe',
     22        'cfg_pwd_explication' => '<i>(Facultatif)</i> Phrase secrète à ajouter dans le sujet de l\'email pour qu\'il soit traité par le plugin.<br />Si ce champs est vide, tous les emails seront importés',
     23        'cfg_id_rubrique' => 'Id de la rubrique où importer les articles',
     24        'cfg_titre_parametrages' => 'Votre boite email',
    2525
    2626        // T
    27   'test_connection' => 'Etape 2: Test de connection au serveur IMAP',
    28   'test_connection_ok' => 'Authentification réussie !',
    29   'test_connection_notok' => 'Erreur: Impossible de se connecter à<br /><i>@connection@</i>',
     27        'test_connection' => 'Etape 2: Test de connection au serveur IMAP',
     28        'test_connection_ok' => 'Authentification réussie !',
     29        'test_connection_notok' => 'Erreur: Impossible de se connecter à<br /><i>@connection@</i>',
    3030        'titre_page_configurer_emailtospip' => 'Publication par email',
    31   'test_imap' => 'Etape 1: Vérification de la présence de IMAP dans votre configuration PHP',
    32   'test_imap_exist_true' => 'OK. Les fonctions IMAP sont disponibles.',
    33   'test_imap_exist_false' => 'Erreur : Les fonctions IMAP ne sont pas disponibles dans votre configuration PHP. Le plugin ne peut pas fonctionner.',
     31        'test_imap' => 'Etape 1: Vérification de la présence de IMAP dans votre configuration PHP',
     32        'test_imap_exist_true' => 'OK. Les fonctions IMAP sont disponibles.',
     33        'test_imap_exist_false' => 'Erreur : Les fonctions IMAP ne sont pas disponibles dans votre configuration PHP. Le plugin ne peut pas fonctionner.',
    3434);
    3535
  • _plugins_/emailtospip/paquet.xml

    r86881 r95867  
    1010        <nom>Publication par email</nom>
    1111        <auteur lien='http://www.erational.org'>erational</auteur>
    12   <licence>GNU/GPL</licence>
    13  
    14   <pipeline nom="taches_generales_cron" inclure="emailtospip_pipelines.php" />
     12        <licence>GNU/GPL</licence>
     13
     14        <pipeline nom="taches_generales_cron" inclure="emailtospip_pipelines.php" />
    1515        <necessite nom="saisies" compatibilite="[2.0.3;]" /> 
    1616</paquet>
  • _plugins_/emailtospip/prive/squelettes/contenu/configurer_emailtospip.html

    r86066 r95867  
    99[<strong><:emailtospip:test_imap:></strong>
    1010<div style="border:3px solid orange;padding:20px;">     
    11     (#REM|emailtospip_test_imap_exist)
     11        (#REM|emailtospip_test_imap_exist)
    1212</div>]
    1313
     
    1515[<br /><strong><:emailtospip:test_connection:></strong>
    1616<div style="border:3px solid orange;padding:20px;">     
    17     (#REM|emailtospip_test_imap)
     17        (#REM|emailtospip_test_imap)
    1818</div>]
    19 
  • _plugins_/emailtospip/prive/squelettes/contenu/configurer_emailtospip_fonctions.php

    r86066 r95867  
    55// tester la fonction imap_open est dispo
    66//
    7 function emailtospip_test_imap_exist() { 
    8     if (function_exists('imap_open')) {
    9         return _T('emailtospip:test_imap_exist_true'); 
    10     } else {
    11         return _T('emailtospip:test_imap_exist_false');
    12     }
    13    
    14    
    15 } 
     7function emailtospip_test_imap_exist() {
     8        if (function_exists('imap_open')) {
     9                return _T('emailtospip:test_imap_exist_true');
     10        } else {
     11                return _T('emailtospip:test_imap_exist_false');
     12        }
     13
     14
     15}
    1616
    1717
     
    2020//                         
    2121function emailtospip_test_imap() {
    22    include_spip('inc/config');
     22        include_spip('inc/config');
    2323
    24    $email = lire_config('emailtospip/email');
    25    $email_pwd = lire_config('emailtospip/email_pwd');
    26    $hote_imap = lire_config('emailtospip/hote_imap');
    27    $hote_port = lire_config('emailtospip/hote_port');
    28    $hote_inbox = lire_config('emailtospip/inbox');
     24        $email = lire_config('emailtospip/email');
     25        $email_pwd = lire_config('emailtospip/email_pwd');
     26        $hote_imap = lire_config('emailtospip/hote_imap');
     27        $hote_port = lire_config('emailtospip/hote_port');
     28        $hote_inbox = lire_config('emailtospip/inbox');
    2929
    30    if ($hote_imap!="" && function_exists('imap_open')) {
    31           // test connection
    32          
    33           $connection = '{'.$hote_imap.':'.$hote_port.'}'.$hote_inbox;
    34           $mbox = @imap_open($connection, $email, $email_pwd);
    35              
    36             if (FALSE === $mbox) {
    37                 return _T('emailtospip:test_connection_notok',array('connection'=>$connection));               
    38             } else {
    39                 return _T('emailtospip:test_connection_ok'); 
    40             }
    41            
    42    }
    43    
    44    return;
     30        if ($hote_imap!="" && function_exists('imap_open')) {
     31                        // test connection
     32
     33                        $connection = '{'.$hote_imap.':'.$hote_port.'}'.$hote_inbox;
     34                        $mbox = @imap_open($connection, $email, $email_pwd);
     35
     36                        if (FALSE === $mbox) {
     37                                return _T('emailtospip:test_connection_notok',array('connection'=>$connection));
     38                        } else {
     39                                return _T('emailtospip:test_connection_ok');
     40                        }
     41
     42        }
     43
     44        return;
    4545}
    4646
Note: See TracChangeset for help on using the changeset viewer.