Changeset 9702


Ignore:
Timestamp:
03/15/11 15:39:19 (9 years ago)
Author:
cljosse
Message:

[Mail supervisor] add class.

Location:
extensions/Mail_supervisor
Files:
1 added
18 edited

Legend:

Unmodified
Added
Removed
  • extensions/Mail_supervisor/admin/header_2_1.tpl

    r8917 r9702  
    1 {known_script id="jquery" src= $ROOT_URL|@cat:$path_js|@cat:"jquery.js" }  
    2 {known_script id="jquery.cluetip" src=$ROOT_URL|@cat:$path_js|@cat:"plugins/jquery.cluetip.js" } 
    3 {known_script id="jquery" src= $ROOT_URL|@cat:$path_js|@cat:"jquery.js"} 
     1{html_head} 
     2{known_script id="jquery" src= $ROOT_URL|@cat:$path_js|@cat:"jquery.packed.js" }  
    43{known_script id="jquery.cluetip" src=$ROOT_URL|@cat:$path_js|@cat:"plugins/jquery.cluetip.packed.js" } 
    5 {known_script id="mail_script" src= $MAIL_SUPERV_PATH|@cat:"include/Scripts.js"} 
     4{known_script id="mail_script" src= $MAIL_SUPERV_PATH|@cat:"include/Scripts.js"}{/html_head} 
     5<input id="action_spam" name="action_spam" type="hidden" value="{$action_spam}" /> 
  • extensions/Mail_supervisor/admin/header_2_2.tpl

    r8917 r9702  
    1 {combine_script id="jquery" path= $ROOT_URL|@cat:$path_js|@cat:"jquery.js" } 
     1{combine_script id="jquery" path= $ROOT_URL|@cat:$path_js|@cat:"jquery.min.js" } 
    22{combine_script id="jquery.cluetip" path=$ROOT_URL|@cat:$path_js|@cat:"plugins/jquery.cluetip.js" require="jquery"} 
    3 {combine_script id="jquery" src= $ROOT_URL|@cat:$path_js|@cat:"jquery.js"} 
    4 {combine_script id="jquery.cluetip" path=$ROOT_URL|@cat:$path_js|@cat:"plugins/jquery.cluetip.packed.js" require="jquery"} 
    53{combine_script id="my_script" path= $MAIL_SUPERV_PATH|@cat:"include/Scripts.js" } 
     4 
     5<input id="action_spam" name="action_spam" type="hidden" value="{$action_spam}" /> 
  • extensions/Mail_supervisor/admin/mail_black_liste.tpl

    r8917 r9702  
    1 {* $Id: mail_black_liste.tpl 3723 2009-08-07 04:53:38Z rvelices $ *} 
    2 {html_head} 
    3 {if PHPWG_VERSION < 2.2 } {include file=$MAIL_SUPERV_PATH_ABS|@cat:'header_2_1.tpl'} 
    4 {else} {include file= $MAIL_SUPERV_PATH_ABS|@cat:'header_2_2.tpl'} {/if} {/html_head} 
    5  
     1{* $Id: mail_black_liste.tpl cljosse $ *}  
    62<script type="text/javascript"> 
    7 jQuery().ready(function() 
    8 {ldelim} 
    9   jQuery('.cluetip').cluetip( 
    10   {ldelim} 
    11     width: 550, 
    12     splitTitle: '|' 
    13   {rdelim}); 
    14 {rdelim}); 
     3 var confirm_message = "{'Sv_Are_you_sure'|@translate|@escape:'javascript'}?";   
    154</script> 
    16  
    175<link href="theme.css" rel="stylesheet" type="text/css" /> 
    186{html_head}<link rel="stylesheet" type="text/css" href="{$MAIL_SUPERV_PATH}admin/theme.css" />{/html_head} 
     
    2412<form action='' method="post" name="form_black"> 
    2513<fieldset> 
    26     <legend >{'Sv_options'|translate}</legend> 
    27  <table>  
    28 <td><input type="checkbox" name="no_mail_list" value="on" {$no_mail_list}  />&nbsp;&nbsp;{'Sv_no_mail_list'|translate}  </td> 
    29 <td><input type="checkbox" style="visibility:hidden" name="no_connect" value="off" {$no_connect} />&nbsp;&nbsp; </td> 
    30 <td><input type="checkbox" style="visibility:hidden" name="set_auto" value="off" {$set_auto} />&nbsp;&nbsp; </td> 
    31 <td><input type="checkbox" name="set_id" value="on" {$set_id} />&nbsp;&nbsp;{'Sv_set_id'|translate}</td> 
    32 <tr><p></p><td> 
    33 <input class="submit" type="submit" name="submit" value="{'Sv_Valider'|translate}" /></td></tr> 
    34  </table> 
     14<legend >{'Sv_options'|translate}</legend> 
     15  <table>  
     16    <td><input type="checkbox" name="no_mail_list" value="on" {$no_mail_list}  />&nbsp;&nbsp;{'Sv_no_mail_list'|translate}      </td> 
     17    <td style="visibility:hidden" ><input type="checkbox" name="no_connect" value="off" {$no_connect} />&nbsp;&nbsp;{'Sv_no_connect'|translate} </td> 
     18    <td style="visibility:visible" ><input type="checkbox"  name="set_auto" value="off" {$set_auto} />&nbsp;&nbsp;{'Sv_set_auto'|translate} </td> 
     19    <td style="visibility:hidden" ><input type="checkbox" name="set_id" value="on" {$set_id} />&nbsp;&nbsp;{'Sv_set_id'|translate}</td> 
     20    <tr><p></p><td> 
     21    <input class="submit" type="submit" name="submit" value="{'Sv_Valider'|translate}" /></td></tr> 
     22  </table> 
    3523</fieldset> 
    3624<input name="info1" type="hidden" /> 
    3725 <fieldset > 
    38     <legend>{'Sv_black_liste'|translate}</legend> 
    39            <table> 
    40                 <div >  
    41                 <input name="ip_black" id = "ip_black_test" type="text" value="{$ip_black}"      /> 
    42           <input class="cluetip" title="{'Sv_Test'|translate}|{'Sv_hlp_7_3'|translate}"   type="submit" name="submit" value="{'Sv_Test'|translate}"  />  
    43  
    44 { if $ip_black_len > 0} 
    45                  
    46                {if  $IS_SPAM  == true } 
    47                                 <label class="erreur">  {'Sv_is_a_spam'|@translate} </label> 
    48                                 { else } 
    49                                  <label class="erreur"> {'Sv_not_a_spam'|@translate} </label> 
    50                         {/if} 
    51                         { if  $istype == 'IP'}           
     26<legend>{'Sv_black_liste'|translate}</legend> 
     27<table> 
     28 <td><input name="ip_black" id = "ip_black_test" type="text" value="{$ip_black}"         /> 
     29 <input class="cluetip" title="{'Sv_Test'|translate}|{'Sv_hlp_7_3'|translate}"   type="submit" name="submit" value="{'Sv_Test'|translate}"  />  
     30 { if $ip_black_len > 0}                 
     31        {if  $IS_SPAM  == true } 
     32                <label class="erreur">  {'Sv_is_a_spam'|@translate} </label> 
     33        { else } 
     34                        { if  $istype == 'IP'}   
     35                                <label class="erreur">  {'Sv_not_a_spam'|@translate} </label> 
     36                        { else } 
     37                           <label class="erreur">       {'Sv_no_verif'|@translate} </label> 
     38                        {/if}                    
     39        {/if} 
     40</td> 
     41        <td> 
     42        <input class="bp cluetip"  
     43                title="{'Sv_Ajout'|translate}|{'Sv_hlp_7_4'|translate}" 
     44                type="submit"  
     45                name="submit"  
     46                rel="ajout:{$ip_black}" 
     47                value="{'Sv_Ajout'|@translate}"  
     48                alt="{'Sv_Ajout'|@translate} : {$ip_black}"  
     49        /> 
     50  </td> 
     51  <td> 
     52 <input type="image" name="submit"   class='bp row1'  
     53  src="{$ROOT_URL}{$themeconf.admin_icon_dir}/plug_activate.png"  
     54  rel="ajout:{$ip_black}" 
     55  id="btn_ajout{$ip_black}"  
     56  alt="{'Sv_Ajout'|@translate} : {$ip_black}"   
     57  title="{'Sv_Ajout'|@translate} {$ip_black}" /> 
     58{ else } 
     59                    
     60{/if} 
    5261                         
    53 <input class="cluetip" title="{'Sv_Ajout'|translate}|{'Sv_hlp_7_4'|translate}"    type="submit" name="submit" value="{'Sv_Ajout'|translate}"  /> 
    54  
    55               <input type="image" name="submit"   class='row1'  
    56               src="{$ROOT_URL}{$themeconf.admin_icon_dir}/plug_activate.png"  
    57                   alt="{'Sv_Ajout'|@translate}"  
    58                   onclick = " 
    59  if (confirm( document.getElementById('btn_ajout{$ip_black}').title + '\n\n' + '{'Sv_Are you sure?'|@translate|@escape:'javascript'}')) 
    60   form_black.info1.value='ajout:{$ip_black}'  
    61   " 
    62                   id="btn_ajout{$ip_black}"  
    63               title="{'Sv_Ajout'|@translate} {$ip_black}" />                             
    64 {/if}    
    65         { else } 
    66                     
    67                 {/if} 
    68                          
    69  
    70  
    71                            
     62</td> 
     63           
     64         
    7265                             
    73              </div> 
     66         <td> 
    7467                 <a href="http://www.stopforumspam.com" >  <img src="{$img_logo}"  width="32"/>  http://www.stopforumspam.com 
    75  </a> 
    76          </table>   
     68 </a></td> 
     69 </tr>  <tr>   </tr> 
     70     </table>   
    7771  
    7872        <table class="table2" > 
     
    8983                        <td>{$group.nb}</td> 
    9084                <td style="text-align:center;"> 
    91                         <input type="image" class="{if $smarty.foreach.group_loop.index is odd}row1{else}row2{/if}"   
     85                        <input type="image" class="bp {if $smarty.foreach.group_loop.index is odd}row1{else}row2{/if}"   
    9286                                src="{$ROOT_URL}{$themeconf.admin_icon_dir}/delete.png"  
    93                                         alt="{'Sv_delete'|@translate}"  
    94                                         onclick = " 
    95                                                 if (confirm( document.getElementById('btn_delete{$group.ip}').title + '\n\n' + '{'Sv_Are you sure?'|@translate|@escape:'javascript'}')) 
    96   form_black.info1.value='raz:{$group.ip}'  
    97   " 
     87                                        rel="raz:{$group.ip}" 
    9888                                        id="btn_delete{$group.ip}"  
    99                                 title="{'Sv_delete'|@translate} {$group.ip}" /> 
     89                                title="{'Sv_delete'|@translate} {$group.ip}"  
     90                                        alt="{'Sv_delete'|@translate} {$group.ip}" /> 
    10091                        </td> 
    10192                  </tr> 
     
    121112           <td><input class="submit" type="submit" name="prev"  value=   "{'previous_page'|translate}" /></td> 
    122113        { /if} 
    123        <td>{'page'|translate}</td>          
    124            <td><input type="text" name="start"  value="{$start}" size=5  /></td> 
    125             <td>/ {$maxipage}  </td>     
    126  
    127             
     114  <td>{'page'|translate}</td>       
     115  <td><input type="text" name="start"  value="{$start}" size=5  /></td> 
     116  <td>/ {$maxipage}  </td>                  
    128117        {if $start < $maxipage }    
    129118           <td><input class="submit" type="submit" name="next"  value=  "{'Next'|translate}"  /></td> 
    130119                { /if}    
    131            <td> 
    132           <input class="submit" type="submit" name="info" value="{'Sv_list'|translate}" />  
    133           </td> 
    134 </table>         
    135  
    136  
    137 <table class="table2"> 
    138  
    139    <tr class="throw">  
    140    
    141     <th>{$champs_ip[0]|@translate}</th> 
    142     <th>{$champs_ip[1]|@translate}</th> 
    143     <th>{$champs_ip[2]|@translate}</th> 
    144         <th>{$champs_ip[3]|@translate}</th> 
    145         <th>{$champs_ip[4]|@translate}</th> 
    146         <th>{$champs_ip[5]|@translate}</th> 
    147  
    148     <th>{'Sv_blackliste'|@translate}</th> 
     120           <td><input class="submit" type="submit" name="info" value="{'Sv_list'|translate}" /></td> 
     121 </table>        
     122 <table class="table2"> 
     123  <tr class="throw">    
     124   <th>{$champs_ip[0]|@translate}</th> 
     125   <th>{$champs_ip[1]|@translate}</th> 
     126   <th>{$champs_ip[2]|@translate}</th> 
     127   <th>{$champs_ip[3]|@translate}</th> 
     128   <th>{$champs_ip[4]|@translate}</th> 
     129   <th>{$champs_ip[5]|@translate}</th> 
     130   <th>{'Sv_blackliste'|@translate}</th> 
    149131  </tr> 
    150   {if not empty($liste_ip)} 
    151    
    152   {foreach from=$liste_ip item=group name=group_loop} 
    153    
    154                 <tr class="{if $smarty.foreach.group_loop.index is odd}row1{else}row2{/if}"> 
    155                  <td>{$group.id}</td> 
    156           <td>{$group.date}</td> 
    157               <td>{$group.time}</td> 
    158               <td>{$group.user_id}</td> 
    159                   <td>{$group.IP}</td> 
    160          <td>{$group.total}</td> 
    161       <td style="text-align:center;"> 
    162 <input type="image"  
    163   class="{if $smarty.foreach.group_loop.index is odd}row1{else}row2{/if}"  
    164   src="{$ROOT_URL}{$themeconf.admin_icon_dir}/plug_activate.png"  
    165   onclick = " 
    166  if (confirm( document.getElementById('btn_permissions{$group.IP}').title + '\n\n' + '{'Sv_Are you sure?'|@translate|@escape:'javascript'}')) 
    167   form_black.info1.value='ajout:{$group.IP}'  
    168   "   
    169   id="btn_permissions{$group.IP}" 
    170   title="{'Sv_blacklist'|@translate} {$group.IP}" 
    171   alt="{'Sv_blacklist'|@translate} {$group.IP}" /> 
     132  {if not empty($liste_ip)}   
     133   {foreach from=$liste_ip item=group name=group_loop}   
     134    <tr class="{if $smarty.foreach.group_loop.index is odd}row1{else}row2{/if}"> 
     135    <td>{$group.id}</td> 
     136    <td>{$group.date}</td> 
     137    <td>{$group.time}</td> 
     138    <td>{$group.user_id}</td> 
     139    <td>{$group.IP}</td> 
     140    <td>{$group.total}</td> 
     141    <td style="text-align:center;"> 
     142                 <input type="image"  
     143                   class="bp {if $smarty.foreach.group_loop.index is odd}row1{else}row2{/if}"  
     144                   src="{$ROOT_URL}{$themeconf.admin_icon_dir}/plug_activate.png"  
     145                   rel='ajout:{$group.IP}'  
     146                   id="btn_permissions{$group.IP}" 
     147                   title="{'Sv_blacklist'|@translate} {$group.IP}" 
     148                   alt="{'Sv_blacklist'|@translate} {$group.IP}" /> 
    172149    </td> 
    173    
    174     <td style="text-align:center;"> 
    175  
    176     </td> 
    177   </tr> 
    178                         {/foreach} 
    179                  {/if} 
    180                         <td> <img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/plug_activate.png" /> {'Sv_set_black_list'|@translate}</td>  
    181         </table> 
    182         </fieldset>  
     150    <td style="text-align:center;"></td> 
     151   </tr> 
     152   {/foreach} 
     153  {/if} 
     154  <td> <img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/plug_activate.png" /> {'Sv_set_black_list'|@translate}</td>  
     155 </table> 
     156</fieldset>  
    183157</form> 
     158<form action="" method="post" name="form_connexion" id="form_connexion" style="visibility:hidden">       
     159                <input name="pays"  type="text" value =  ""  id = "pays"  > 
     160                <input name="ville"  type="text" value = ""  id = "ville"   > 
     161                <input name="region"  type="text" value =  ""   id = "region"   > 
     162                <input name="latitude"  type="text" value =  "" id = "latitude"   > 
     163                <input name="longitude"  type="text" value = "" id = "longitude"  >      
     164</form > 
  • extensions/Mail_supervisor/admin/mail_superv_admin.php

    r8917 r9702  
    2222// +-----------------------------------------------------------------------+ 
    2323 
    24 if ( !defined('PHPWG_ROOT_PATH'))  
    25 { 
    26   die('Hacking attempt!'); 
    27 } 
     24if ( !defined('PHPWG_ROOT_PATH')) {  die('Hacking attempt!');} 
    2825 
    2926if (!defined('MAIL_SUPERV_PATH')) define('MAIL_SUPERV_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/'); 
     
    3835include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); 
    3936include_once (PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php'); 
    40  
    41  
    4237$my_base_url = get_admin_plugin_menu_link(__FILE__); 
    4338 
     
    10297$error = array(); 
    10398 
    104  
     99include_once (MAIL_SUPERV_PATH.'mail_super.inc.php');  
    105100include_once (MAIL_SUPERV_PATH.'include/constants.php');  
    106101 
    107         if (!isset($infos_message)) 
    108         { 
    109         $infos_message = ""; 
    110         } 
    111 if (!isset($erreur_message)) 
    112         { 
    113         $erreur_message = ""; 
    114         } 
     102  if (!isset($infos_message))   { 
     103      $infos_message = ""; 
     104  } 
     105  if (!isset($erreur_message)){ 
     106      $erreur_message = ""; 
     107  } 
    115108 
    116109if (isset($conf['mail_superv'])) { 
    117  
    118 include_once (MAIL_SUPERV_PATH.'include/fonctions.php');  
    119             global $pays,$region,$ville,$ip ;    
    120  
    121                  
    122 $mails_options = explode("," , $conf['mail_superv']);  
    123         if (!isset($mails_options[set_id])) $mails_options[set_id] = 'off' ;  // 7 
    124                 if (!isset($mails_options[ip])) $mails_options[ip] = $ip   ;  //6 
    125                 if (!isset($mails_options[set_auto])) $mails_options[set_auto] = 'off' ;  //5 
    126                 if (!isset($mails_options[no_connect])) $mails_options[no_connect] = 'off' ;  //4 
    127                 if (!isset($mails_options[no_mail_list])) $mails_options[no_mail_list] = 'off' ;  //3 
    128                  
    129                 if (!isset($mails_options[check_header_text])) $mails_options[check_header_text] = 'off' ;  //2 
    130                 if (!isset($mails_options[check_header_carbon])) $mails_options[check_header_carbon] = 'off' ;  //1 
    131                 if (!isset($mails_options[check_mailto])) $mails_options[check_mailto] = 'off' ;  //0 
     110   global $pays,$region,$ville,$ip ;     
     111    include_once (MAIL_SUPERV_PATH.'include/fonctions.php');  
    132112//================================================================================================       
    133 $mails_options[set_auto] = 'off' ; 
    134 $mails_options[no_connect] = 'off' ; 
    135          
    136 $mails_donnees = Get_Datas(); 
    137  
    138  
     113 
     114   $mails_donnees = mail_supervisor::Get_Datas(); 
    139115}else { 
    140 die ("mail"); 
     116    die ("mail"); 
    141117} 
    142118 
    143119 
    144120$aff_nb=true; 
    145  
    146121// ************************************************************************* 
    147122// |                          Selection de l'onglet                        | 
    148123// ************************************************************************* 
    149  
    150                 $modif=false ; 
    151  
    152         $plugin =  Get_Version_plugins( MAIL_SUPERV_PATH); 
    153         $version = $plugin['version'] ; 
     124  $modif=false ; 
     125  $plugin =  mail_supervisor::Get_Version_plugins( MAIL_SUPERV_PATH); 
     126  $version = $plugin['version'] ; 
    154127 //========================================================= 
    155  
    156                 if (!isset($ip)) { 
    157                        if (getenv("HTTP_CLIENT_IP")) 
    158                                             {    $ip=getenv("HTTP_CLIENT_IP");  } 
    159                                         else{   $ip=getenv("REMOTE_ADDR");      } 
    160                            } 
     128  if (!isset($ip)) { 
     129          if (getenv("HTTP_CLIENT_IP")){     
     130      $ip=getenv("HTTP_CLIENT_IP");      
     131    } else{    
     132      $ip=getenv("REMOTE_ADDR");         
     133    } 
     134  } 
     135                
    161136//================================================================================ 
    162137switch ($page['tab']) 
     
    185160         } 
    186161         $infos_message .=  l10n('Sv_refresh') .'<br />'; 
    187      sauve_donnees(); 
     162     mail_supervisor::sauve_donnees(); 
    188163         $aff_nb = false ; 
    189164  
     
    192167 
    193168        if ( $_POST['submit'] == l10n('Sv_raz')   ) { 
    194  
    195         $mails_donnees['date_quarantaine']=time(); 
    196         $mails_donnees['nb_mails'] = 0  ; 
    197         $mails_donnees['nb_spams'] = 0  ; 
    198         $mails_donnees['date_mail'] = time(); 
    199         $mails_donnees['date_spam'] = time(); 
    200          
    201         $mails_donnees['reste'] = 0; 
    202         $mails_donnees['quarantaine']='false'; 
    203          
    204      sauve_donnees(); 
    205          $infos_message .=  l10n('Sv_raz') .'<br />'; ; 
    206          
     169         $mails_donnees['date_quarantaine']=time(); 
     170         $mails_donnees['nb_mails'] = 0  ; 
     171         $mails_donnees['nb_spams'] = 0  ; 
     172         $mails_donnees['date_mail'] = time(); 
     173         $mails_donnees['date_spam'] = time();   
     174         $mails_donnees['reste'] = 0; 
     175         $mails_donnees['quarantaine']='false';  
     176    mail_supervisor::sauve_donnees(); 
     177         $infos_message .=  l10n('Sv_raz') .'<br />';    
    207178        } 
    208179 
    209180  //=================================================================== 
    210         if ( $_POST['submit'] == l10n('Sv_Valider') )   
    211                 { 
    212                 $mails_options[check_mailto] = isset($_POST['check_mailto']) ? $_POST['check_mailto'] : 'off' ;                
    213                 $mails_options[check_header_carbon] = isset($_POST['check_header_carbon']) ? $_POST['check_header_carbon'] : 'off' ;  
    214                 $mails_options[check_header_text] = isset($_POST['check_header_text']) ? $_POST['check_header_text'] : 'off' ;      
     181        if ( $_POST['submit'] == l10n('Sv_Valider') ) { 
     182    $mails_options['check_mailto'] = isset($_POST['check_mailto']) ? $_POST['check_mailto'] : 'off' ;                
     183    $mails_options['check_header_carbon'] = isset($_POST['check_header_carbon']) ? $_POST['check_header_carbon'] : 'off' ;  
     184    $mails_options['check_header_text'] = isset($_POST['check_header_text']) ? $_POST['check_header_text'] : 'off' ;      
    215185   
    216                 //donnees   
    217                 $mails_donnees['nb_mails_maxi'] = isset($_POST['nb_mails_maxi']) ? $_POST['nb_mails_maxi'] :  $mails_donnees['nb_mails_maxi']  ; 
    218                 $mails_donnees['nb_mails_periode'] = isset($_POST['nb_mails_periode']) ? $_POST['nb_mails_periode'] :  $mails_donnees['nb_mails_periode']  ;   
    219                 $mails_donnees['nb_spams_maxi'] = isset($_POST['nb_spams_maxi']) ? $_POST['nb_spams_maxi'] :  $mails_donnees['nb_spams_maxi']  ; 
    220                 $mails_donnees['nb_spams_periode'] = isset($_POST['nb_spams_periode']) ? $_POST['nb_spams_periode'] :  $mails_donnees['nb_spams_periode']  ; 
    221  
    222                 $mails_donnees['quarantaine_periode'] = isset($_POST['quarantaine_periode']) ? $_POST['quarantaine_periode'] :  $mails_donnees['quarantaine_periode']  ; 
    223   
    224                         $mails_donnees['message'] = isset($_POST['content']) ? $_POST['content'] :  $mails_donnees['message']  ; 
    225                         $mails_donnees['header_text'] = isset($_POST['header_text']) ? $_POST['header_text'] :  $mails_donnees['header_text']  ; 
    226  //======================================================================================================= 
    227                         verif_mails_donnees(); 
    228                         sauve_options(); 
    229                 sauve_donnees(); 
    230 //======================================================================================================= 
    231                         $infos_message  =  l10n('Sv_save_config') . " : " . l10n('Sv_Datas') . "<br />" ; 
    232                         $erreur_message = ""; 
    233                         $mails_donnees = Get_Datas() ; 
    234                         } 
    235        } 
    236          
    237         $mails_donnees = Get_Datas(); 
     186    //donnees   
     187    $mails_donnees['nb_mails_maxi'] = isset($_POST['nb_mails_maxi']) ? $_POST['nb_mails_maxi'] :  $mails_donnees['nb_mails_maxi']  ; 
     188    $mails_donnees['nb_mails_periode'] = isset($_POST['nb_mails_periode']) ? $_POST['nb_mails_periode'] :  $mails_donnees['nb_mails_periode']  ;   
     189    $mails_donnees['nb_spams_maxi'] = isset($_POST['nb_spams_maxi']) ? $_POST['nb_spams_maxi'] :  $mails_donnees['nb_spams_maxi']  ; 
     190    $mails_donnees['nb_spams_periode'] = isset($_POST['nb_spams_periode']) ? $_POST['nb_spams_periode'] :  $mails_donnees['nb_spams_periode']  ; 
     191 
     192    $mails_donnees['quarantaine_periode'] = isset($_POST['quarantaine_periode']) ? $_POST['quarantaine_periode'] :  $mails_donnees['quarantaine_periode']  ; 
     193  
     194    $mails_donnees['message'] = isset($_POST['content']) ? $_POST['content'] :  $mails_donnees['message']  ; 
     195    $mails_donnees['header_text'] = isset($_POST['header_text']) ? $_POST['header_text'] :  $mails_donnees['header_text']  ; 
     196    //======================================================================================================= 
    238197    verif_mails_donnees(); 
    239 //=============================================================================== 
    240   
    241         $rest_mail= $mails_donnees['rest_mail'];         
    242         $rest_spam= $mails_donnees['rest_spam'];         
    243     $reste= $mails_donnees['reste'];     
    244  
    245 $quarantaine = ($mails_donnees['quarantaine'] == 'true') ? true : false ;        
    246  
    247 $template->assign( 
     198    mail_supervisor::sauve_options(); 
     199    mail_supervisor::sauve_donnees(); 
     200    //============================================================================== 
     201    $infos_message  =  l10n('Sv_save_config') . " : " . l10n('Sv_Datas') . "<br />" ; 
     202    $erreur_message = ""; 
     203    $mails_donnees = mail_supervisor::Get_Datas() ; 
     204  } 
     205 }       
     206        $mails_donnees = mail_supervisor::Get_Datas(); 
     207 verif_mails_donnees(); 
     208//===============================================================================  
     209 $rest_mail= $mails_donnees['rest_mail'];        
     210 $rest_spam= $mails_donnees['rest_spam'];        
     211 $reste= $mails_donnees['reste'];   
     212 $quarantaine = ($mails_donnees['quarantaine'] == 'true') ? true : false ;       
     213 $template->assign( 
    248214                                        array( 
    249    'check_mailto' => ($mails_options[check_mailto] == 'on') ? 'checked="checked"' : '' , 
    250    'check_header_carbons' => ($mails_options[check_header_carbon] == 'on') ? 'checked="checked"' : '' , 
    251    'check_header_text' => ($mails_options[check_header_text] == 'on') ? 'checked="checked"' : '' , 
     215                        'check_mailto' => ($mails_options['check_mailto'] == 'on') ? 'checked="checked"' : '' , 
     216                        'check_header_carbons' => ($mails_options['check_header_carbon'] == 'on') ? 'checked="checked"' : '' , 
     217                        'check_header_text' => ($mails_options['check_header_text'] == 'on') ? 'checked="checked"' : '' , 
    252218 
    253219    
    254         'nb_mails' => $mails_donnees['nb_mails'] , 
    255         'date_mail' => "'".date(l10n('Sv_formatdate'),$mails_donnees['date_mail'])."'" , 
    256         'nb_mails_maxi' => $mails_donnees['nb_mails_maxi'] ,     
    257         'nb_mails_periode' => "'". int_to_heure($mails_donnees['nb_mails_periode'])."'" ,        
    258         'time_mails_reste' => "'".int_to_heure( $rest_mail )."'" ,       
    259          
    260         'nb_spams' => $mails_donnees['nb_spams'] , 
    261         'date_spam' => "'".date(l10n('Sv_formatdate'),$mails_donnees['date_spam'])."'" , 
    262         'nb_spams_maxi' => $mails_donnees['nb_spams_maxi'] ,     
    263         'nb_spams_periode' => "'".int_to_heure($mails_donnees['nb_spams_periode'])."'" , 
    264         'time_spams_reste' => "'".int_to_heure($rest_spam)."'" ,        
     220                        'nb_mails' => $mails_donnees['nb_mails'] , 
     221                        'date_mail' => "'".date(l10n('Sv_formatdate'),$mails_donnees['date_mail'])."'" , 
     222                        'nb_mails_maxi' => $mails_donnees['nb_mails_maxi'] ,     
     223                        'nb_mails_periode' => "'". int_to_heure($mails_donnees['nb_mails_periode'])."'" ,        
     224                        'time_mails_reste' => "'".int_to_heure( $rest_mail )."'" ,       
     225         
     226                        'nb_spams' => $mails_donnees['nb_spams'] , 
     227                        'date_spam' => "'".date(l10n('Sv_formatdate'),$mails_donnees['date_spam'])."'" , 
     228                        'nb_spams_maxi' => $mails_donnees['nb_spams_maxi'] ,     
     229                        'nb_spams_periode' => "'".int_to_heure($mails_donnees['nb_spams_periode'])."'" , 
     230                        'time_spams_reste' => "'".int_to_heure($rest_spam)."'" ,         
    265231          
    266         'quarantaine' => $quarantaine , 
    267         'date_quarantaine' => "'".date(l10n('Sv_formatdate'),time()+$reste)."'" , 
    268         'quarantaine_periode' => "'".int_to_heure($mails_donnees['quarantaine_periode'])."'" , 
    269      'reste' => "'".int_to_heure($reste)."'", 
    270   
    271     'message' => $mails_donnees['message'] , 
    272         'header_text' => "'".$mails_donnees['header_text']."'" , 
    273          
    274     'PHPWG_VERSION' =>   PHPWG_VERSION , 
    275         'version' =>    $version , 
    276         'MAIL_SUPERV_PATH' =>  MAIL_SUPERV_PATH , 
    277         'path_js' => $path_js, 
    278     'MAIL_SUPERV_PATH_ABS' => MAIL_SUPERV_PATH_ABS, 
     232                        'quarantaine' => $quarantaine , 
     233                        'date_quarantaine' => "'".date(l10n('Sv_formatdate'),time()+$reste)."'" , 
     234                        'quarantaine_periode' => "'".int_to_heure($mails_donnees['quarantaine_periode'])."'" , 
     235                        'reste' => "'".int_to_heure($reste)."'", 
     236  
     237                        'message' => $mails_donnees['message'] , 
     238                        'header_text' => "'".$mails_donnees['header_text']."'" , 
     239         
     240                        'PHPWG_VERSION' =>       PHPWG_VERSION , 
     241                        'version' =>     $version , 
     242                        'MAIL_SUPERV_PATH' =>  MAIL_SUPERV_PATH , 
     243                        'path_js' => $path_js, 
     244                        'MAIL_SUPERV_PATH_ABS' => MAIL_SUPERV_PATH_ABS, 
    279245      
    280246                                                ) 
    281                                 );       
    282  
    283         $template->set_filenames(array('plugin_admin_content' => realpath(MAIL_SUPERV_PATH . 'admin/mail_superv_admin.tpl'))); 
    284   
    285  
    286         $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content'); 
    287                  
     247                                );                         
     248         $template->set_filenames(array('plugin_admin_content' => realpath(MAIL_SUPERV_PATH . 'admin/mail_superv_admin.tpl'))); 
     249         $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');             
    288250 break;  
    289   
    290   
    291 // ************************************************************************* 
     251  // ************************************************************************* 
    292252//                        TEST                                             | 
    293253// ************************************************************************* 
     
    295255   case 'mail_superv_test': 
    296256                load_language('plugin.lang', MAIL_SUPERV_PATH);  
    297                 $mails_donnees = Get_Datas() ; 
     257                $mails_donnees = mail_supervisor::Get_Datas() ; 
    298258                $group_id = isset($_POST['group']) ? $_POST['group'] :  '-1'  ; 
    299259 
     
    354314 
    355315        unset_make_full_url(); 
    356         sauve_donnees(); 
    357         $mails_donnees = Get_Datas() ; 
     316        mail_supervisor::sauve_donnees(); 
     317        $mails_donnees = mail_supervisor::Get_Datas() ; 
    358318    $query = 'SELECT 
    359319                name 
     
    426386//              BLACK LISTE                                         | 
    427387// *************************************************************************    
    428      case 'mail_black_liste': 
    429                 global $user_name,$mail_adresse,$ip ; 
    430                 $aff_nb=false; 
    431  //------------------------------------------------------------------------------------ 
    432         $mails_options[no_mail_list] = isset($_POST['no_mail_list']) ? $_POST['no_mail_list'] : $mails_options[no_mail_list] ; 
    433         $mails_options[no_connect] = 'off' ;//isset($_POST['no_connect']) ? $_POST['no_connect'] : $mails_options[no_connect] ; 
    434             $mails_options[set_auto] = 'off' ;//isset($_POST['set_auto']) ? $_POST['set_auto'] : $mails_options[set_auto] ;              
    435 //=======================================================================================        
    436     $info_ip = (isset($info_ip)) ? $info_ip : '' ; 
    437     $info_ip = (isset($_POST['info1'])) ? $_POST['info1'] : $info_ip ; 
    438     $info_ip = (isset($_POST['info'])) ? $_POST['info'] : $info_ip ; 
    439     $info_ip .= ":"; 
    440    $val=explode(":",$info_ip); 
    441    $info_ip = trim($val[0]) ; 
    442    $ip_black = trim($val[1]) ; 
    443  
     388 case 'mail_black_liste':  
     389  global $user_name,$mail_adresse,$ip ; 
     390  $aff_nb=false; 
     391  //=======================================================================================      
     392  $info_ip = (isset($info_ip)) ? $info_ip : '' ; 
     393  $info_ip = (isset($_POST['info1'])) ? $_POST['info1'] : $info_ip ; 
     394  $info_ip = (isset($_POST['info'])) ? $_POST['info'] : $info_ip ; 
     395  $info_ip .= ":"; 
     396  $val=explode(":",$info_ip); 
     397  $info_ip = trim($val[0]) ; 
     398  $ip_black = trim($val[1]) ; 
    444399  if (isset($_POST['ip_black']))   $ip_black = ($ip_black == "" ) ? $_POST['ip_black'] : $ip_black ; 
    445     
    446                         $istype=""; 
    447                   
    448                   
    449         if ( isset($_POST['submit']) ) 
    450                 { 
    451  
    452         if (clj_is_ip($ip_black)) $istype='IP'; 
    453          elseif (clj_is_mail($ip_black))  $istype='MAIL'; 
    454      else   $istype='LOGIN'; 
    455           
    456                         if (  $_POST['submit'] == l10n('Sv_Ajout') ) 
    457                 { 
    458                                $info_ip = 'Ajout' ; 
    459                    $ip_black = trim( $_POST['ip_black']) ; 
    460                                $infos_message .= $info_ip . '---->'. $ip_black ;    
    461                         } 
    462                         if (  $_POST['submit'] == l10n('Sv_Valider') ) 
    463                 { 
    464                                 $mails_options[no_mail_list] = isset($_POST['no_mail_list']) ? $_POST['no_mail_list'] : "off" ; 
    465                         $mails_options[no_connect] ='off' ;// isset($_POST['no_connect']) ? $_POST['no_connect'] : "off" ; 
    466                         $mails_options[set_auto] = 'off' ;//isset($_POST['set_auto']) ? $_POST['set_auto'] : "off" ; 
    467                                 $mails_options[set_id] = isset($_POST['set_id']) ? $_POST['set_id'] : "off" ; 
    468                                 sauve_options(); 
    469                             $infos_message .=  l10n('Sv_save_config') . '<br />';    
    470                              
    471                         } 
    472                 }        
    473  
     400                $istype=""; 
     401        if ( isset($_POST['submit']) ){ 
     402         if (clj_is_ip($ip_black)) $istype='IP'; 
     403         else if (clj_is_mail($ip_black))  $istype='MAIL'; 
     404      else   $istype='LOGIN';     
     405    if (  $_POST['submit'] == l10n('Sv_Ajout') )        { 
     406      $info_ip = 'Ajout' ; 
     407      $ip_black = trim( $_POST['ip_black']) ; 
     408      $infos_message .= $info_ip . '---->'. $ip_black ;    
     409    } 
     410         if (  $_POST['submit'] == l10n('Sv_Valider') ) { 
     411     
     412     $mails_options['no_mail_list'] = isset($_POST['no_mail_list']) ? "on" : "off" ; 
     413     $mails_options['no_connect'] = isset($_POST['no_connect']) ? "on" : "off" ; 
     414     $mails_options['set_auto'] = isset($_POST['set_auto']) ? "on" : "off" ; 
     415     $mails_options['set_id'] = isset($_POST['set_id']) ? "on" : "off" ; 
     416     mail_supervisor::sauve_options(); 
     417     $infos_message .=  l10n('Sv_save_config') . '<br />';  
     418  } 
     419} 
    474420if (!isset($params)) $params=array(); 
    475421if (!isset($params['per_page'])) $params['per_page'] = 20 ; 
     
    480426if (isset($_POST['next'])) $params['start'] +=   1; 
    481427if (isset($_POST['prev']))  $params['start'] -=   1; 
    482  
    483 $params['start']= ($params['start']>=0) ? $params['start'] : 0 ; 
    484  
    485  
    486 include  (MAIL_SUPERV_PATH.'include/save_info.php');        
    487 $maxipage=(int) (       $nbip  / $params['per_page']) ; 
     428 $params['start']= ($params['start']>=0) ? $params['start'] : 0 ; 
    488429//=======================================================================================        
     430 include  (MAIL_SUPERV_PATH.'include/save_info.php');       
     431  $maxipage=(int) (     $nbip  / $params['per_page']) ; 
    489432        $f_action  = $my_base_url.'&amp;tab=mail_black_liste' ; 
    490433        $champs_ip=array(); 
    491434        $champs_bl=array(); 
    492435        if (!empty($liste_ip))          $champs_ip=array_keys($liste_ip[0]); 
    493         if (!empty($liste_bl))      $champs_bl=array_keys($liste_bl[0]); 
     436        if (!empty($liste_bl))  $champs_bl=array_keys($liste_bl[0]); 
    494437           $smile_bonjour=MAIL_SUPERV_PATH."smilies/mouche.gif" ;  
    495438           $img_logo=MAIL_SUPERV_PATH."smilies/logo.png" ;  
     
    514457                        'F_ACTION' => $f_action , 
    515458                                                 
    516                         'no_mail_list' => ($mails_options[no_mail_list] == 'on') ? 'checked="checked"' : '' , 
    517                         'no_connect' => ($mails_options[no_connect] == 'on') ? 'checked="checked"' : '' , 
    518                         'set_auto' => ($mails_options[set_auto] == 'on') ? 'checked="checked"' : '' , 
    519                         'set_id' => ($mails_options[set_id] == 'on') ? 'checked="checked"' : '' , 
     459                        'no_mail_list' => ($mails_options['no_mail_list'] == 'on') ? 'checked="checked"' : '' , 
     460                        'no_connect' => ($mails_options['no_connect'] == 'on') ? 'checked="checked"' : '' , 
     461                        'set_auto' => ($mails_options['set_auto'] == 'on') ? 'checked="checked"' : '' , 
     462                        'set_id' => ($mails_options['set_id'] == 'on') ? 'checked="checked"' : '' , 
    520463                        'IP' =>  $ip ,                                           
    521464                        'PAYS' =>  $pays  , 
     
    526469                                        ) 
    527470                                );                        
    528          //===============================================================       
    529                  
    530                                   
    531                 $template->set_filenames(array('plugin_admin_content' => realpath(MAIL_SUPERV_PATH . 'admin/mail_black_liste.tpl'))); 
    532                 $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content'); 
     471         //===============================================================                                        
     472  $template->set_filenames(array('plugin_admin_content' => realpath(MAIL_SUPERV_PATH . 'admin/mail_black_liste.tpl'))); 
     473  $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content'); 
     474       
     475 
    533476   break;  
    534477 
     
    585528        } 
    586529        if ( $modif == true )   {  
    587                                 sauve_donnees(); 
     530                                mail_supervisor::sauve_donnees(); 
    588531                                $modif = false ; 
    589532                } 
     
    593536                 $infos_message .= "\n".'Spams : '.$mails_donnees['nb_spams']. '  \\  ' . $mails_donnees['nb_spams_maxi']; 
    594537                } 
    595                  
    596  
    597                    
    598                 if  ($infos_message != "")  { 
    599                    array_push($page['infos'],  $infos_message); 
    600                    $infos_message=""; 
    601                  } 
    602                   
    603                 if  ($erreur_message != "")  { 
    604          
    605                   array_push($page['errors'], $erreur_message); 
    606                   $erreur_message=""; 
    607          
    608                   
    609                  }                
     538 
     539 
     540         mail_supervisor::affiche_message(); 
    610541//========================================================================       
    611542?> 
  • extensions/Mail_supervisor/admin/mail_superv_admin.tpl

    r8917 r9702  
    1 {html_head} {if PHPWG_VERSION < 2.2 } {include file=$MAIL_SUPERV_PATH_ABS|@cat:'header_2_1.tpl'} 
    2 {else} {include file= $MAIL_SUPERV_PATH_ABS|@cat:'header_2_2.tpl'} {/if} {/html_head} 
    3  
    41<script type="text/javascript"> 
    52jQuery().ready(function(){ldelim} 
  • extensions/Mail_supervisor/admin/mail_superv_help.tpl

    r8917 r9702  
    1 {html_head} {if PHPWG_VERSION < 2.2 } {include file=$MAIL_SUPERV_PATH_ABS|@cat:'header_2_1.tpl'} 
    2 {else} {include file= $MAIL_SUPERV_PATH_ABS|@cat:'header_2_2.tpl'} {/if} {/html_head} 
    31<div class="instructions" > 
    42<h2>{'Sv_Tab_help'|translate}{'Sv_version'|translate}{$version}</h2> 
    53<fieldset style=" position:relative ; top:15px"> 
    64  <legend>{'Sv_admin_titre'|translate}</legend> 
    7 <div id="instructionFonction" class="instructionBlock" > 
    8   
     5<div id="instructionFonction" class="instructionBlock" >  
    96  <div 
    107    id="fonction_header" 
  • extensions/Mail_supervisor/admin/mail_superv_test.tpl

    r8917 r9702  
    1 {html_head} {if PHPWG_VERSION < 2.2 } {include file=$MAIL_SUPERV_PATH_ABS|@cat:'header_2_1.tpl'} 
    2 {else} {include file= $MAIL_SUPERV_PATH_ABS|@cat:'header_2_2.tpl'} {/if} {/html_head} 
    31<div class="titrePage"> 
    42        <h2>{'Sv_supervisor'|translate}{'Sv_version'|translate}{$version}</h2> 
    53</div> 
    6  
    74<form action="" method="post" name="form"> 
    8  
    95  <fieldset> 
    106    <legend>{'Sv_Tab_test'|translate}</legend> 
  • extensions/Mail_supervisor/include/Scripts.js

    r8917 r9702  
    1 function blockToggleDisplay(headerId, contentId){ 
    2         var revHeader = document.getElementById(headerId); 
    3         var revContent = document.getElementById(contentId); 
     1function blockToggleDisplay(headerId, contentId) { 
     2 var revHeader = document.getElementById(headerId); 
     3 var revContent = document.getElementById(contentId); 
    44 
    5         if (revContent.style.display == 'none') 
    6         { 
    7                 revContent.style.display = 'block'; 
    8                 revHeader.className = 'instructionBlockHeaderExpanded'; 
    9         } 
    10         else 
    11         { 
    12                 revContent.style.display = 'none'; 
    13                 revHeader.className = 'instructionBlockHeaderCollapsed'; 
    14         } 
     5 if (revContent.style.display == 'none') { 
     6  revContent.style.display = 'block'; 
     7  revHeader.className = 'instructionBlockHeaderExpanded'; 
     8 } 
     9 else { 
     10  revContent.style.display = 'none'; 
     11  revHeader.className = 'instructionBlockHeaderCollapsed'; 
     12 } 
    1513} 
     14/******************************************* 
     15* get_script_geo() 
     16********************************************/ 
     17function get_script_geo() { 
     18 try { 
     19  if (typeof pays == "undefined") { 
     20   pays = geoip_country_name(); 
     21   ville = geoip_city(); 
     22   region = geoip_region_name(); 
     23   latitude = geoip_latitude(); 
     24   longitude = geoip_longitude(); 
     25  } 
     26  jQuery("#pays").val(pays); 
     27  jQuery("#ville").val(ville); 
     28  jQuery("#region").val(region); 
     29  jQuery("#latitude").val(latitude); 
     30  jQuery("#longitude").val(longitude); 
     31 
     32 } catch (e) { 
     33  url = "http://j.maxmind.com/app/geoip.js"; 
     34  jQuery.getScript(url, function () { 
     35   try { 
     36    pays = geoip_country_name(); 
     37    ville = geoip_city(); 
     38    region = geoip_region_name(); 
     39    latitude = geoip_latitude(); 
     40    longitude = geoip_longitude(); 
     41    jQuery("#pays").val(pays); 
     42    jQuery("#ville").val(ville); 
     43    jQuery("#region").val(region); 
     44    jQuery("#latitude").val(latitude); 
     45    jQuery("#longitude").val(longitude); 
     46   } catch (e) { 
     47 
     48   } 
     49  }); 
     50 } 
     51 
     52} 
     53jQuery(document).ready( 
     54     function (jQuery) { 
     55       jQuery(window).load(function () { 
     56         // get_script_geo(); 
     57         jQuery('.cluetip').cluetip({ width: 350, splitTitle: '|' }); 
     58 
     59         spam = jQuery("#action_spam").val(); 
     60         if (spam == "true") get_script_geo(); 
     61         if (jQuery(".infos").length > 0) 
     62           if (spam == "true") { 
     63             jQuery(".infos").css("color", "red");             
     64 
     65           } 
     66 
     67         jQuery(".bp").click(function () { 
     68           if (confirm(this.alt + '\n\n' + confirm_message)) form_black.info1.value = this.rel; 
     69 
     70         }); 
     71 
     72 
     73         function ajout_action(titre, message, valeur) { 
     74           alert(""); 
     75 
     76 
     77         } 
     78 
     79 
     80       }); 
     81     }); 
  • extensions/Mail_supervisor/include/constants.php

    r4888 r9702  
    22global $prefixeTable; 
    33 
    4 if (!defined('MAIL_SUPERV_TABLE')) define('MAIL_SUPERV_TABLE', $prefixeTable.'mail_superv'); 
     4if (!defined('mail_superv_TABLE')) define('mail_superv_TABLE', $prefixeTable.'mail_superv'); 
    55if (!defined('MAIL_BLACK_LISTE_TABLE')) define('MAIL_BLACK_LISTE_TABLE', $prefixeTable.'mail_black_list'); 
    66if (!defined('Sv_MAIL_TABLE')) define('Sv_MAIL_TABLE', $prefixeTable.'Sv_mail'); 
    7  
    8  
    9  
    107global  $superv_champs , $superv_type ,$superv_bl_champs , $superv_bl_type ;  
    11  
    12  
    13           $superv_champs = array( 
    14                        "id", 
    15                                         "nb_mails", 
    16                                         "date_mail", 
    17                                         "nb_mails_maxi",                 
    18                                         "nb_mails_periode",      
    19                                         "nb_spams", 
    20                                         "date_spam",     
    21                                         "nb_spams_maxi",         
    22                                         "nb_spams_periode",      
    23                                         "quarantaine", 
    24                                         "date_quarantaine", 
    25                                         "quarantaine_periode",   
    26                                         "message",  
    27                                         "message_test",  
    28                                     "header_text", 
    29                                  
    30                                         );       
     8$superv_champs = array( 
     9  "id", 
     10  "nb_mails", 
     11  "date_mail", 
     12  "nb_mails_maxi",               
     13  "nb_mails_periode",    
     14  "nb_spams", 
     15  "date_spam",   
     16  "nb_spams_maxi",       
     17  "nb_spams_periode",    
     18  "quarantaine", 
     19  "date_quarantaine", 
     20  "quarantaine_periode",         
     21  "message",  
     22  "message_test",  
     23  "header_text",                                 
     24                );       
    3125                                                                         
    3226        $superv_type = array( 
  • extensions/Mail_supervisor/include/fonctions.php

    r8917 r9702  
    2222// +-----------------------------------------------------------------------+ 
    2323 
    24 if (!defined('PHPWG_ROOT_PATH')) 
    25 { 
    26   die('Hacking attempt!'); 
    27 } 
    28  
     24if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 
    2925if (!defined('MAIL_SUPERV_PATH')) define('MAIL_SUPERV_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/'); 
    3026 
    31     define ("check_mailto", 0); 
    32         define ("check_header_carbon",1); 
    33         define ("check_header_text",2); 
    34     define ("no_mail_list", 3); 
    35         define ("no_connect",4);        // empeche l'ip de se connecter au site. 
    36         define ("set_auto",5);          // Test a l'ouverture et enregistrement  
    37     define ("ip",6);                    // dernirre adresse IP 
    38         define ("set_id",7);            // enregistrment nouvel  
    39    
    40    
    41  if (!isset($_COOKIE[session_name()])) 
    42 { 
    43  
    44  
    45  
    46 } 
    47 include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 
    48 include_once(PHPWG_ROOT_PATH.'include/functions.inc.php'); 
    49 include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); 
     27global  $superv_champs , $superv_type ,$superv_bl_champs , $superv_bl_type ;  
     28// if (!isset($_COOKIE[session_name()])){} 
     29 
    5030global $lang ; 
    51  
    52 include_once (MAIL_SUPERV_PATH.'include/function_test_send.php');  
    53     load_language('plugin.lang', MAIL_SUPERV_PATH); 
    54 global  $superv_champs , $superv_type ,$superv_bl_champs , $superv_bl_type ;  
    55            
    56 //========================================================== 
    57 function sauve_options() 
    58 { 
    59 global $mails_options ; 
    60  if ( isset($mails_options) ) 
    61         { 
    62           
    63          while ( count($mails_options) < 10 )  
    64            { 
    65            
    66               $mails_options[]='?'; 
    67            } 
    68             
    69                 $valeurs = implode( ',',$mails_options); 
    70   
    71                  
    72                 $query = ' 
    73                 UPDATE '.CONFIG_TABLE.' 
    74                 SET value="'. $valeurs . '" 
    75                 WHERE param = "mail_superv" 
    76                 LIMIT 1'; 
    77                         pwg_query($query); 
    78            
    79         } 
    80 } 
    81 //================================================================================= 
    82 function sauve_donnees() 
    83 { 
    84  
    85 global $mails_donnees,$superv_champs,$superv_type,$erreur_message ; 
    86 //=====================================================================  
    87         $clefs = $superv_champs ; 
    88         $valeurs = array(); 
    89  
    90 foreach ( $clefs as $champ) 
    91    { 
    92      $champ = trim($champ); 
    93       
    94          if ( isset($mails_donnees[  $champ ]) ) { 
    95            $sep= (is_string($mails_donnees[ $champ ])) ? '"' : '' ; 
    96        array_push($valeurs , "`".$champ."`" . ' = ' . $sep . $mails_donnees[  $champ ] . $sep)  ; 
    97          }else{ 
    98           
    99             array_push($valeurs , "`".$champ."`" . ' = ' .  "0"  )  ; 
    100          } 
    101           
    102     } 
    103 $valeurs = implode(", ",$valeurs) ; 
    104 //===================================================================== 
    105 $query = ' 
    106         UPDATE '.MAIL_SUPERV_TABLE.' 
    107         SET '. $valeurs .' 
    108                 WHERE `id` = 1 LIMIT 1 '; 
    109                 ; 
    110         ob_start(); 
    111                 $ret=  pwg_query($query)    ; 
    112                 $m= ob_get_contents(); 
    113         ob_end_clean() ; 
    114         $erreur_message .= $m ; 
    115  
    116 } 
    117           
    118 //================================================================================= 
    119 function affiche_message() 
    120 { 
    121  global $template,$infos_message,$erreur_message, $user ,$ip; 
    122  
    123 global $mails_options,$conf,$lang ; 
    124  
    125 $mails_options = explode("," , $conf['mail_superv']); 
    126                 if (!isset($ip)) { 
    127                        if (getenv("HTTP_CLIENT_IP")) 
    128                                             {    $ip=getenv("HTTP_CLIENT_IP");  } 
    129                                         else{   $ip=getenv("REMOTE_ADDR");      } 
    130                            } 
    131 //  unset ($_SESSION['pwg_'.'action_spam']); 
    132      $action_spam = pwg_get_session_var('action_spam') ; 
    133     if  ($action_spam == null) { $action_spam = kill_list();  } 
    134          
    135         if (is_bool($action_spam)) $action_spam =($action_spam == true) ? "true" : "false" ; 
    136           if ($action_spam == "true" ) 
    137                  {   
    138                   $erreur_message = $ip . " "  . $action_spam  ; 
    139                   pwg_set_session_var('action_spam', "true");  
    140                   $erreur_message .= "<BR />".l10n('Sv_is_a_spam') ; 
    141                  if ($mails_options[no_connect] == 'on' ){ 
    142                         //[status] => guest 
    143                         //[status] => normal 
    144                         //[status] => webmaster 
    145                         if ($user['status'] != 'webmaster'  ) 
    146                                 if (!isset($_GET['admin'])) { 
    147                                                  die('Blacklist : <br />' .$erreur_message. '<br /> Hacking attempt!'); 
    148                                 }elseif   ($_GET['admin'] != 'piwigo') 
    149                                         { 
    150                                                  die('blacklist Hacking attempt!'); 
    151                                         } 
    152                                 unset ($_SESSION['pwg_'.'action_spam']); 
    153            } 
    154              }else{ 
    155                    pwg_set_session_var('action_spam', "false");  
    156                  } 
    157          
    158   
    159 // }       
    160  
    161  //============================================================== 
    162   if (isset($erreur_message)) 
    163                 {        
    164   
    165                 if ($erreur_message <> "") 
    166                         { 
    167                             $erreur_message = str_replace("\n",'<br />',$erreur_message) ; 
    168                                 $template->assign('errors',$erreur_message); 
    169                                 $erreur_message = ""; 
    170                         } 
    171                 } 
    172                  
    173          
    174   if (isset($infos_message)) 
    175                 {        
    176                  
    177                 if ($infos_message <> "") 
    178                         { 
    179                                 $infos_message = str_replace("\n",'<br />',$infos_message) ; 
    180                                 $template->assign('infos',$infos_message); 
    181                                 $infos_message = ""; 
    182                         } 
    183                 } 
    184                 //============================================================= 
    185          
    186          
    187 return;           
    188                  
    189 } 
    190  
    191 function Get_geo() 
    192 { 
    193 global $ip,$pays,$region,$ville, $latitude ,$longitude,$mails_options; 
    194          //=================================================================================== 
    195         $info_geo = pwg_get_session_var('info_geo'); 
    196         print_r($info_geo ); 
    197         if (count($info_geo) > 0)   
    198         { 
    199                  
    200                 $pays  = $info_geo[0]; 
    201                 $region  = $info_geo[1]; 
    202                 $ville  = $info_geo[2]; 
    203                 $latitude = $info_geo[3]; 
    204                 $longitude = $info_geo[4]; 
    205                 $ip = $info_geo[5]; 
    206                 return true; 
    207         } 
    208 //======================================================================= 
    209  
    210  if (isset($_POST['pays'])) {  
    211                         $pays = isset($_POST['pays']) ? $_POST['pays'] : ""; 
    212                         $region =  isset($_POST['region']) ? $_POST['region'] :"";                               
    213                         $ville = (isset($_POST['ville']))   ? $_POST['ville']: "";  
    214                         $latitude =  isset($_POST['latitude']) ? $_POST['latitude'] : "";        
    215                         $longitude =  isset($_POST['longitude']) ? $_POST['longitude'] : ""; 
    216                                  
    217                         $info_geo = array(   $pays ,$region , $ville ,$latitude, $longitude,$_SERVER['REMOTE_ADDR']  ); 
    218                         pwg_set_session_var('info_geo', $info_geo);  
    219                         return true; 
    220   
    221  }else{ 
    222  
    223             $result=""; 
    224 ?> 
    225 <script language="JavaScript" src="http://j.maxmind.com/app/geoip.js" type="text/javascript" > 
    226 </script>          
    227 <script language="JavaScript" type="text/javascript"> 
    228             var pays     =  geoip_country_name(); 
    229                         var ville     =  geoip_city(); 
    230                         var region    =  geoip_region_name() ; 
    231                         var latitude  =  geoip_latitude() ; 
    232                         var longitude =  geoip_longitude() ;  
    233                          
    234 </script> 
    235 <form action="" method="post" name="form_connexion" id="form_connexion" style="visibility:hidden"> 
    236 <script language="JavaScript" type="text/javascript">                    
    237                 document.write ("<input name=\"pays\"  type=\"text\" value =  "+ pays + "  id = \"pays\"  > "); 
    238                 document.write ("<input name=\"ville\"  type=\"text\" value = "+ ville + "  id = \"ville\"   >  "); 
    239                 document.write ("<input name=\"region\"  type=\"text\" value =  "+ region + "   id = \"region\"   > "); 
    240                 document.write ("<input name=\"latitude\"  type=\"text\" value =  "+ latitude + " id = \"latitude\"   > "); 
    241                 document.write ("<input name=\"longitude\"  type=\"text\" value = "+ longitude + " id = \"longitude\"  >  "); 
    242 </script>        
    243  
    244 </form >         
    245 <script language="JavaScript" type="text/javascript">  
    246   document.getElementById("form_connexion").submit(); 
    247 </script> 
    248 <?php    
    249      
    250  } 
    251 //=====================================================================================          
    252 } 
    253  
    254 //================================================================================= 
    255 function Get_Datas() 
    256 { 
    257 global $superv_champs ; 
    258 $champs = implode(",",$superv_champs ); 
    259     $query = "SELECT ".$champs."  
    260     FROM ".MAIL_SUPERV_TABLE." 
    261         ;"; 
    262                          $result = @pwg_query($query); 
    263   
    264         if (!$result) { 
    265                                         verif_base(); 
    266                                         $result = @pwg_query($query); 
    267                                         } 
    268  
    269                                          
    270     $data = mysql_fetch_array($result,MYSQL_ASSOC); 
    271         //==================================================================================== 
    272  
    273         $next_day = Str_To_Time( $data['nb_mails_periode'], $data['date_mail'] );  
    274  $next_day = ($next_day >0) ? $next_day :  (604800  + time()) ;  
    275         $data['rest_mail'] =    $next_day - time() ; 
    276  
    277         $next_day = Str_To_Time( $data['nb_spams_periode'],$data['date_spam']); 
    278         $next_day = ($next_day >0) ? $next_day :  (172800  + time()) ; 
    279         $data['rest_spam'] =  $next_day - time() ; 
    280  
    281  
    282         $next_day = Str_To_Time($data['quarantaine_periode'] ,$data['date_quarantaine']);        
    283         $next_day = ($next_day >0) ? $next_day :  (172800 + time()) ; 
    284          
    285         if ($data['quarantaine'] == 'true' ) { 
    286                         $data['reste'] =   ( $next_day )-time() ; 
    287         }else{ 
    288                         $data['reste'] = 0; 
    289         } 
    290          
    291          return $data; 
    292 } 
     31global $template ; 
    29332//=============================================== 
    294  
    29533function corrige_header($Carbonne,$headers,$args,$cl_list_mail) 
    29634        { 
     
    30139                if ( count($args[$Carbonne]) > 0 )  
    30240                { 
    303                         if ($mails_options[check_header_carbon] == 'on') { 
     41                        if ($mails_options['check_header_carbon'] == 'on') { 
    30442                                        $cl_list_mail  =  str_replace(","," , ",get_strict_email_list(implode(',', $args[$Carbonne])))." \n"  ; 
    30543                                        $headers = preg_replace('/.*'.$Carbonne.'(.*).\n/i', $Carbonne.': '.$cl_list_mail, $headers); 
     
    36199$retour=str_replace("+0","+",$retour); 
    362100//================================================================================================    
    363  
    364  
    365101return $retour; 
    366  
    367 }        
    368  
    369 function memo_var($variables) 
    370 { 
    371                 ob_start(); 
    372                 echo '<pre>'; 
    373                 print_r($variables); 
    374                 echo '</pre>'; 
    375                 $m= ob_get_contents(); 
    376  
    377         ob_end_clean(); 
    378                 return $m; 
    379                  
    380 } 
    381      
     102}          
    382103 
    383104         
    384 function verif_base() 
    385 { 
    386  
    387 global $lang,$superv_champs,$superv_type,$superv_bl_champs,$superv_bl_type; 
    388     load_language('plugin.lang', MAIL_SUPERV_PATH); 
    389 //==============================================================================                 
    390     create_table(MAIL_BLACK_LISTE_TABLE,$superv_bl_champs,$superv_bl_type) ; 
    391         ajust_table(MAIL_BLACK_LISTE_TABLE,$superv_bl_champs,$superv_bl_type)  ;  
    392 //==============================================================================                 
    393         create_table(MAIL_SUPERV_TABLE,$superv_champs,$superv_type) ; 
    394         ajust_table(MAIL_SUPERV_TABLE,$superv_champs,$superv_type)  ; 
    395 //==============================================================================                 
     105function verif_base(){ 
     106  global $lang,$superv_champs,$superv_type,$superv_bl_champs,$superv_bl_type; 
     107  load_language('plugin.lang', MAIL_SUPERV_PATH); 
     108  //==============================================================================               
     109  create_table(MAIL_BLACK_LISTE_TABLE,$superv_bl_champs,$superv_bl_type) ; 
     110  ajust_table(MAIL_BLACK_LISTE_TABLE,$superv_bl_champs,$superv_bl_type)  ;  
     111  //==============================================================================               
     112  create_table(mail_superv_TABLE,$superv_champs,$superv_type) ; 
     113  ajust_table(mail_superv_TABLE,$superv_champs,$superv_type)  ; 
     114  //==============================================================================               
    396115    $valeurs= array (   1, 
    397                                                 0, 
    398                            time(), 
     116                                                          0, 
     117                                   time(), 
    399118                         2000, 
    400          '"604800"' , 
     119                  '"604800"' , 
    401120                            0, 
    402                   time(), 
     121                       time(), 
    403122                           10, 
    404           '"172800"', 
    405                        '"false"', 
    406                 time(), 
    407           '"172800"', 
    408           '"Init"', 
     123                   '"172800"', 
     124                    '"false"', 
     125                       time(), 
     126                   '"172800"', 
     127                     '"Init"', 
    409128   '"'.l10n('Sv_supervisor').'"', 
    410129        '"'.l10n('hello').'"', 
    411          ) 
    412         ; 
    413 //================================================================================== 
    414         ajout_ligne(MAIL_SUPERV_TABLE,$superv_champs, $valeurs,false ) ; 
    415          
    416  
    417 } 
     130         ); 
     131        ajout_ligne(mail_superv_TABLE,$superv_champs, $valeurs,false ) ; 
     132} 
     133//================================================================================= 
     134 
    418135 
    419136//========================================= 
     
    434151{ 
    435152global $conf ; 
    436  
    437153  $query = ' 
    438154SELECT DISTINCT u.'.$conf['user_fields']['id'].' AS id, 
     
    447163    LEFT JOIN '.USER_GROUP_TABLE.' AS ug 
    448164      ON u.'.$conf['user_fields']['id'].' = ug.user_id 
    449   WHERE ug.group_id='.$group_id.' '; 
    450  
    451  
    452   
     165  WHERE ug.group_id='.$group_id.' ';  
    453166 $groups=array(); 
    454   $datas = pwg_query($query); 
    455    
    456    
    457   if (!empty($datas)) 
    458   { 
     167  $datas = pwg_query($query);  
     168   
     169  if (!empty($datas)) { 
    459170    while ($group = mysql_fetch_array($datas,MYSQL_ASSOC)) 
    460     { 
    461  
    462          
     171    {    
    463172      if (!empty($group['email'])) 
    464       { 
    465         array_push($groups, format_email($group['username'], $group['email'] )); 
     173      {         array_push($groups, format_email($group['username'], $group['email'] )); 
    466174      } 
    467175    } 
     
    472180//================================================================================= 
    473181 
    474 function create_table($nom_table,$champs,$types)  //MAIL_SUPERV_TABLE 
     182function create_table($nom_table,$champs,$types)  //mail_superv_TABLE 
    475183{ 
    476184        $i=0; 
    477185        $valeurs=array(); 
    478 foreach ( $champs as $champ) 
    479    { 
    480         $champ = trim($champ); 
    481                 array_push($valeurs , " `".$champ."`" . '  ' . $types[ $i] )  ; 
    482                 $i +=1; 
     186  foreach ( $champs as $champ) { 
     187      $champ = trim($champ); 
     188      array_push($valeurs , " `".$champ."`" . '  ' . $types[ $i] )  ; 
     189      $i +=1; 
    483190    } 
    484191 
     
    495202          
    496203} 
    497 function ajust_table($nom_table,$champs,$types)  //MAIL_SUPERV_TABLE 
     204function ajust_table($nom_table,$champs,$types)  //mail_superv_TABLE 
    498205{ 
    499206global $infos_message ; 
     
    514221        if ( count($valeurs) == 0) return ; 
    515222         
    516   $infos_message .=  "AJUSTE TABLE : ". $nom_table . "<br />" . "NB (col) : ". count($colonnes) . memo_var($valeurs) . "<br />" ; 
     223  $infos_message .=  "AJUSTE TABLE : ". $nom_table . "<br />" . "NB (col) : ". count($colonnes) . mail_supervisor::Memo_Var($valeurs) . "<br />" ; 
    517224         
    518225     $valeurs=implode(", ",$valeurs) ; 
     
    556263global $mails_donnees,$infos_message,$erreur_message,$page; 
    557264 
    558 if (!is_numeric($mails_donnees['nb_mails_periode'])) 
    559 { 
    560  $periode = Str_To_Time( $mails_donnees['nb_mails_periode'],0); 
    561  $mails_donnees['nb_mails_periode']= ($periode > 0) ? $periode : '604800' ; 
     265if (!is_numeric($mails_donnees['nb_mails_periode'])){ 
     266  $periode = Str_To_Time( $mails_donnees['nb_mails_periode'],0); 
     267  $mails_donnees['nb_mails_periode']= ($periode > 0) ? $periode : '604800' ; 
    562268 } 
    563  
    564 if (!is_numeric($mails_donnees['nb_spams_periode'])) 
    565 { 
    566   
    567  $periode=Str_To_Time( $mails_donnees['nb_spams_periode'],0); 
    568  $mails_donnees['nb_spams_periode']= ($periode > 0) ? $periode : '172800' ; ; 
     269if (!is_numeric($mails_donnees['nb_spams_periode'])){ 
     270  $periode=Str_To_Time( $mails_donnees['nb_spams_periode'],0); 
     271  $mails_donnees['nb_spams_periode']= ($periode > 0) ? $periode : '172800' ; ; 
    569272 } 
    570 if (!is_numeric($mails_donnees['quarantaine_periode'])) 
    571 { 
    572  $periode=Str_To_Time( $mails_donnees['quarantaine_periode'],0); 
    573  $mails_donnees['quarantaine_periode']= ($periode > 0) ? $periode : '172800' ;  
     273if (!is_numeric($mails_donnees['quarantaine_periode'])){ 
     274  $periode=Str_To_Time( $mails_donnees['quarantaine_periode'],0); 
     275  $mails_donnees['quarantaine_periode']= ($periode > 0) ? $periode : '172800' ;  
    574276 } 
    575  
    576         if  ($infos_message != "")  { 
    577                    array_push($page['infos'],  $infos_message); 
    578                    $infos_message=""; 
    579                  } 
    580                   
    581                 if  ($erreur_message != "")  { 
    582                   array_push($page['errors'], $erreur_message); 
    583                   $erreur_message =""; 
    584                  }       
     277    if  ($infos_message != "")  { 
     278        array_push($page['infos'],  $infos_message); 
     279        $infos_message=""; 
     280    }             
     281    if  ($erreur_message != "")  { 
     282        array_push($page['errors'], $erreur_message); 
     283        $erreur_message =""; 
     284    }    
    585285                  
    586286} 
     
    730430        $sep=" "; 
    731431        $chaine = trim($chaine); 
     432    if ($chaine=="") return ; 
    732433        $existe = (strpos($sep.$sep,$chaine )===false) ; 
    733434         while  ($existe ){ 
    734435         $str_temp = str_replace($sep.$sep, $sep, $chaine );   
    735436                if($str_temp == $chaine ) return $chaine ; 
    736 //                      $erreur_message .= memo_var($str_temp) ; 
     437//                      $erreur_message .= mail_supervisor::Memo_Var($str_temp) ; 
    737438                $chaine  = $str_temp; 
    738439                        $existe =  (strpos($sep.$sep,$chaine )===false) ; 
     
    740441        return $chaine; 
    741442} 
    742  
    743  
    744  
    745 function kill_list() 
    746 { 
    747  //==================== TEST black_liste ============================================    
    748  global $pays,$region,$ville,$ip ; 
    749  global $erreur_message,$infos_message,$conf;    
    750  global $conf, $user, $page; 
    751  global $mails_options ; 
    752  global $superv_bl_champs,$superv_bl_type ;  
    753  global $nb ; 
    754   
    755 if (count($mails_options) < 7 ) return false ; 
    756     
    757      $champs=implode(',',$superv_bl_champs); 
    758      $query = " 
    759                 SELECT ".$champs.",COUNT(`ip`) as total  
    760                 FROM `".MAIL_BLACK_LISTE_TABLE."`  
    761                     WHERE '".$ip."' LIKE `ip`  
    762                         GROUP by `ip`  
    763                 ;";      
    764                  $result = @pwg_query($query); 
    765         if (!$result) { 
    766                                         verif_base(); 
    767                                         $result = @pwg_query($query); 
    768                                 } 
    769         $datas = mysql_fetch_array($result,MYSQL_ASSOC); 
    770         $nb = $datas['total'];  
    771 //=======================================================================        
    772  
    773 if ($mails_options[set_auto] == 'nonoui') // ne plus tester automatiquement . 
    774 { 
    775  // $ip="94.102.63.13"; ' Spammeurs  
    776  // $ip="94.102.63.15"; 
    777  // $mail=matusowraber93813@gmail.com ; 
    778  // $username=fretgpsolodens ; 
    779 global $user_name,$mail_adresse; 
    780  
    781   if (test_spam($ip,$user['username'] ,$user['email'])) 
    782   { 
    783  
    784   if ($nb==0) { 
    785         $valeurs=array( 'NULL', 
    786                             "'".$ip."'", 
    787                                         "'".$pays."'", 
    788                                         "'".$region."'",         
    789                                         "'".$ville."'", 
    790                                         "'".$user['email']."'", 
    791                                         "'".$user['username']."'",       
    792                                         $nb+1 
    793         ); 
    794           ajout_ligne(MAIL_BLACK_LISTE_TABLE,$superv_bl_champs, $valeurs,$nb==0) ;       
    795         }else{   
    796          
    797         $nb +=1; 
    798          
    799                  $query =" 
    800                         UPDATE " . MAIL_BLACK_LISTE_TABLE . "  
    801                         SET "; 
    802                     if (isset($_POST['pays']))   
    803                  $query .= "     
    804                         `pays` = '". $pays ."', 
    805                         `region` = '" . $region ."', 
    806                         `ville` = '" . $ville . "', 
    807                          
    808                         "; 
    809                          
    810                  $query .= " 
    811                     `adresse` = '".$user['email']."',            
    812                         `fai` = '".$user['username']."',                 
    813                         `nb` = " . $nb . " 
    814                     WHERE '".$ip."' like `ip`  
    815                 "; 
    816                  
    817                                 pwg_query($query );      
    818         } 
    819           $erreur_message .=  $mails_options[ip] ." ".$user['username']." ".$user['email'] . ' -----> ' . l10n('Sv_black_list') ; 
    820         // die($nb." ".$ip." ".$user['username']." ".$user['email']);   
    821         return true ;    
    822  
    823     } 
    824    
    825 } 
     443//==================== TEST black_liste ============================================     
     444function kill_list() { 
     445  global $pays,$region,$ville,$ip ; 
     446  global $erreur_message,$infos_message,$conf;   
     447  global $conf, $user, $page; 
     448  global $mails_options ; 
     449  global $superv_bl_champs,$superv_bl_type ;  
     450  global $nb ;  
     451  if (!isset($ip)) { 
     452    if (getenv("HTTP_CLIENT_IP"))   { 
     453      $ip=getenv("HTTP_CLIENT_IP"); 
     454    }else{ 
     455      $ip=getenv("REMOTE_ADDR"); 
     456    } 
     457  } 
     458  $champs=implode(',',$superv_bl_champs); 
     459   $query = "SELECT ".$champs.",COUNT(`ip`) as total  
     460  FROM `".MAIL_BLACK_LISTE_TABLE."`  
     461                WHERE '".$ip."' LIKE `ip`  
     462                GROUP by `ip`  
     463  ;";    
     464        $result = @pwg_query($query); 
     465         if (!$result) { 
     466                        verif_base(); 
     467                        $result = @pwg_query($query); 
     468                        } 
     469          $datas = mysql_fetch_array($result,MYSQL_ASSOC); 
     470        $nb = $datas['total']|0;  
     471    //=======================================================================    
     472    if ($mails_options['set_auto'] == 'on') {   
     473      global $user_name,$mail_adresse; 
     474 
     475       if (isset($nb) && $nb>0) { 
     476       //if (test_spam($ip,$user['username'] ,$user['email']))  // ne plus tester automatiquement .  
     477            if ($nb==0) { 
     478                  $valeurs=array( 'NULL', 
     479                           "'".$ip."'", 
     480                                                "'".$pays."'", 
     481                                                "'".$region."'",         
     482                                                "'".$ville."'", 
     483                                                "'".$user['email']."'", 
     484                                                "'".$user['username']."'",       
     485                                                $nb+1 
     486                    ); 
     487                  ajout_ligne(MAIL_BLACK_LISTE_TABLE,$superv_bl_champs, $valeurs,$nb==0) ;       
     488                }else{   
     489            mail_supervisor::Get_geo();     
     490            $nb +=1;     
     491                         $query ="UPDATE " . MAIL_BLACK_LISTE_TABLE . " SET "; 
     492                         if (isset($_POST['pays']))      
     493                         $query .= "`pays` = '". $pays ."', 
     494                                `region` = '" . $region ."', 
     495                                `ville` = '" . $ville . "',                      
     496                                ";                       
     497                         $query .= "`adresse` = '".$user['email']."',            
     498                                `fai` = '".$user['username']."',                 
     499                                `nb` = " . $nb . " 
     500                         WHERE '".$ip."' like `ip` ";            
     501                                       pwg_query($query );       
     502                } 
     503             $erreur_message .= $pays . $ip ." <br />User Name :".$user['username']."<br />User Mail :".$user['email'] . ' -----> ' . l10n('Sv_black_liste') ; 
     504       // die($nb." ".$ip." ".$user['username']." ".$user['email']);   
     505  
     506       return true ;     
     507      }   
     508    } 
    826509 //============================================================================== 
    827  if ( $mails_options[ip] == $ip ) return ($nb > 0) ;     
    828    $mails_options[ip] =   $ip ;   
    829    sauve_options(); 
    830    
     510 
     511 if ( $mails_options['ip'] == $ip ) return ($nb > 0) ;    
     512   $ip0= $mails_options['ip'] ; 
     513   $mails_options['ip'] = $ip ;   
     514   mail_supervisor::sauve_options();   
    831515        if (  $nb > 0 ) 
    832516        { 
     
    848532            $row  = mysql_fetch_row(pwg_query($query)); 
    849533            $nb =  ($row[7]); 
    850       $erreur_message .= $ip . ' | ' . $pays . ' | ' . $region . ' | ' . $ville . ' ' . $nb . ' ==> ';   
     534        $erreur_message .= $ip0 . ' | ' .$ip . ' | ' . $pays . ' | ' . $region . ' | ' . $ville . ' ' . $nb . ' ==> ';   
    851535   
    852536         if ($nb == 0) 
     
    858542                                        "'".$ville."'", 
    859543                                        "'".$user['email']."'",          
    860                                "'".$user['username']."'",                
     544                          "'".$user['username']."'",             
    861545                                        1 
    862546              ); 
     
    883567                                pwg_query($query );      
    884568                                } 
    885         //================================================================================       
    886                  
    887569        } 
    888   
    889  
    890 return ($nb > 0) ; 
     570 return ($nb > 0) ; 
    891571} 
    892572//===================================================================================== 
    893573function test_spam($ip =0,$user_name ='', $mail_adresse = "") 
    894574{ 
    895         $buffer=""; 
    896         global $page,$infos_message; 
    897  
    898 // fretgpsolodens 
    899         $src =  "http://www.stopforumspam.com/api?"; 
    900         $type=array(); 
    901         $result=""; 
    902 if (strlen($ip)>3) {  
    903 //==================  Verifie si l'IP est correct  ================================ 
    904 if (clj_is_ip($ip)){      
     575 $buffer=""; 
     576 global $page,$infos_message; 
     577 $src =  "http://www.stopforumspam.com/api?"; 
     578 $type=array(); 
     579 $result=""; 
     580 $ip= sup_double_espace($ip); 
     581 if (strlen($ip)>3) {  
     582   //==================  Verifie si l'IP est correct  ================================ 
     583   if (clj_is_ip($ip)){      
    905584      
    906 } else {   
    907 //==================  Verifie si l'adresse mail est correcte  ================================  
    908       if( clj_is_mail($ip) ){   
    909                           $mail_adresse=$ip ; 
     585   } else {   
     586   //==================  Verifie si l'adresse mail est correcte  ================================  
     587         if( clj_is_mail($ip) ){   
     588                         $mail_adresse=$ip ; 
     589                 $ip=""; 
     590            } 
     591            else 
     592            { 
     593   //==================  Login  ================  
     594              $user_name=$ip; 
    910595              $ip=""; 
    911          } 
    912          else 
    913          { 
    914 //==================  Login  ================  
    915            $user_name=$ip; 
    916            $ip=""; 
    917          } 
    918 }     
    919 //============================================================================= 
    920 } 
    921  
    922 $user_name=str_replace(" ","%20",trim($user_name)); 
    923 if ($user_name==l10n('Sv_guest')) $user_name=""; 
    924 $user_name="";  // ne plus tester sur le login. 
    925 $mail_adresse =str_replace(" ","%20",trim($mail_adresse)); 
    926  
    927 if ( strlen($user_name) > 3)      $type[]="username=$user_name" ; 
    928 if ( strlen($mail_adresse) > 3)   $type[]="email=".$mail_adresse ; 
    929 if ( strlen($ip) > 3)   $type[]="ip=".$ip ;  
    930  
    931          foreach  ( $type as $fil ) 
    932      {     
    933           $resultat=""; 
    934            if (  clj_fetchRemote($src.$fil , $resultat,1)) 
    935                   { 
    936                     $result .= $resultat.'<br />'  ;  
    937                   }  else { 
    938                    
    939                   } 
    940                    
    941       } 
    942  
    943 return !(strpos(  $result ,'yes' ) === false) ; 
     596            } 
     597   }     
     598   //============================================================================= 
     599 } 
     600 
     601 $user_name=str_replace(" ","%20",trim($user_name)); 
     602 if ($user_name==l10n('Sv_guest')) $user_name=""; 
     603 $user_name="";  // ne plus tester sur le login. 
     604 $mail_adresse =str_replace(" ","%20",trim($mail_adresse)); 
     605 if ( strlen($user_name) > 3)     $type[]="username=$user_name" ; 
     606 if ( strlen($mail_adresse) > 3)   $type[]="email=".$mail_adresse ; 
     607 if ( strlen($ip) > 3)   $type[]="ip=".$ip ;  
     608 foreach  ( $type as $fil ) {     
     609  $resultat=""; 
     610  if (  clj_fetchRemote($src.$fil , $resultat,1)) 
     611   $result .= $resultat.'<br />'  ;                
     612 } 
     613 
     614 return !(strpos(  $result ,'yes' ) === false) ; 
    944615   
    945616} 
     
    1044715} 
    1045716 
    1046  function Get_Version_plugins($dir) 
    1047   { 
    1048         $path = $dir; 
    1049           $plg_data = implode( '', file($path.'main.inc.php') ); 
    1050           if ( preg_match("|Plugin Name: (.*)|", $plg_data, $val) ) 
    1051           { 
    1052             $plugin['name'] = trim( $val[1] ); 
    1053           } 
    1054           if (preg_match("|Version: (.*)|", $plg_data, $val)) 
    1055           { 
    1056             $plugin['version'] = trim($val[1]); 
    1057           } 
    1058           if ( preg_match("|Plugin URI: (.*)|", $plg_data, $val) ) 
    1059           { 
    1060             $plugin['uri'] = trim($val[1]); 
    1061           } 
    1062           if ($desc = load_language('description.txt', $path.'/', array('return' => true))) 
    1063           { 
    1064             $plugin['description'] = trim($desc); 
    1065           } 
    1066           elseif ( preg_match("|Description: (.*)|", $plg_data, $val) ) 
    1067           { 
    1068             $plugin['description'] = trim($val[1]); 
    1069           } 
    1070           if ( preg_match("|Author: (.*)|", $plg_data, $val) ) 
    1071           { 
    1072             $plugin['author'] = trim($val[1]); 
    1073           } 
    1074           if ( preg_match("|Author URI: (.*)|", $plg_data, $val) ) 
    1075           { 
    1076             $plugin['author uri'] = trim($val[1]); 
    1077           } 
    1078           if (!empty($plugin['uri']) and strpos($plugin['uri'] , 'extension_view.php?eid=')) 
    1079           { 
    1080             list( , $extension) = explode('extension_view.php?eid=', $plugin['uri']); 
    1081             if (is_numeric($extension)) $plugin['extension'] = $extension; 
    1082           } 
    1083           // IMPORTANT SECURITY ! 
    1084           $plugin = array_map('htmlspecialchars', $plugin); 
    1085  
    1086          return $plugin ; 
    1087  
    1088   } 
    1089  
    1090  
    1091717 
    1092718?> 
  • extensions/Mail_supervisor/include/function_test_send.php

    r8917 r9702  
    2222// +-----------------------------------------------------------------------+ 
    2323 
    24 if ( !defined('PHPWG_ROOT_PATH'))  
    25 { 
    26   die('Hacking attempt!'); 
    27 } 
    28  
    29  
    30  
    31 function test_envoie($message,$group_name,$group_id) 
    32 { 
    33     global $infos_message,$erreur_message ,$conf,$user,$conf_mail,$mail_donnees,$args,$lang ; 
    34         $mailto="";   
    35          
     24if ( !defined('PHPWG_ROOT_PATH'))   die('Hacking attempt!'); 
     25function test_envoie($message,$group_name,$group_id){     
     26  global $infos_message,$erreur_message ,$conf,$user,$conf_mail,$mail_donnees,$args,$lang ; 
     27        $mailto="";      
    3628 load_language('plugin.lang', MAIL_SUPERV_PATH); 
    3729  
     
    4739if (!isset($mails_donnees)) 
    4840        { 
    49         $mails_donnees = Get_Datas(); 
     41        $mails_donnees = mail_supervisor::Get_Datas(); 
    5042        }                
    5143if (!isset($conf_mail)) 
     
    5547          if (isset($args)) 
    5648  {  
    57     $infos_message=memo_var($args); 
     49    $infos_message=mail_supervisor::Memo_Var($args); 
    5850  }else{ 
    5951        $args = array(); 
     
    8880        //================================================================== 
    8981        $message_html .= "</br>" . $message . "</br>" . $message_texte; 
    90  
    91          
    9282 //========================================================================== 
    9383 
     
    10999               $infos_message .='<br />'.l10n('Sv_no_receiver_available') ; 
    110100        } 
    111  
    112101} 
    113102//=============================================================================================================== 
    114 function mail_attachement($args) 
    115 { 
     103function mail_attachement($args){ 
    116104 global $infos_message,$erreur_message ,$conf,$user,$conf_mail,$mail_donnees,$lang ; 
    117105 
    118     $mails_donnees = Get_Datas(); 
     106    $mails_donnees = mail_supervisor::Get_Datas(); 
    119107          if (!isset($conf_mail)) 
    120108  { 
     
    145133                 
    146134  
    147         $message_html =         '<img src="'.PHPWG_ROOT_PATH.'admin/template/goto/theme/roma/images/piwigo_logo_sombre_214x100.png" />'; 
    148         ob_start();     
     135  $message_html =       '<img src="'.PHPWG_ROOT_PATH.'admin/template/goto/theme/roma/images/piwigo_logo_sombre_214x100.png" />'; 
     136  ob_start();    
    149137  
    150         echo str_replace("\n","<br />",$message_texte); 
     138  echo str_replace("\n","<br />",$message_texte); 
    151139         
    152         $message_html .= ob_get_contents()."\n"; 
    153         //ob_flush(); 
    154         ob_end_clean(); 
     140  $message_html .= ob_get_contents()."\n"; 
     141  //ob_flush(); 
     142  ob_end_clean(); 
    155143 
    156        $limite=$conf_mail['boundary_key'];    
    157                 $headers =   date("Y-m-d H:i:s") ."\n";  
     144  $limite=$conf_mail['boundary_key'];    
     145  $headers =   date("Y-m-d H:i:s") ."\n";  
    158146 
    159147  //======================================================================================= 
    160                 $headers = "From: ".$args['from']."\n"; 
    161                 $headers.= "Reply-To: ".$args['from']."\n"; 
    162                 $nb_destinataires=0; 
    163 $destinataire = $conf_mail['email_webmaster']; 
     148    $headers = "From: ".$args['from']."\n"; 
     149    $headers.= "Reply-To: ".$args['from']."\n"; 
     150    $nb_destinataires=0; 
     151    $destinataire = $conf_mail['email_webmaster'];   
     152    if (!empty($args['Cc'])){ 
     153      $nb_destinataires += count($args['Cc']); 
     154      $to= explode(',', $args['Cc']); 
     155      $headers  .= get_strict_email_list($to) ;              
     156        } 
     157    if (!empty($args['Bcc'])){   
     158      $nb_destinataires += count($args['Bcc']);  
     159      $to = implode(',', $args['Bcc']); 
     160      $headers  .= 'Bcc :'.get_strict_email_list($to)."\n" ;                
     161    } 
    164162 
    165    
    166                 if (!empty($args['Cc'])) 
    167                 {$nb_destinataires += count($args['Cc']); 
    168                  $to= explode(',', $args['Cc']); 
    169                  $headers       .= get_strict_email_list($to) ; 
    170                      
    171                 } 
    172                 if (!empty($args['Bcc'])) 
    173                 {  $nb_destinataires += count($args['Bcc']);  
    174             $to = implode(',', $args['Bcc']); 
    175             $headers    .= 'Bcc :'.get_strict_email_list($to)."\n" ; 
    176                     
    177                 } 
    178  
    179   $headers.= 'Content-Type: multipart/alternative;'."\n"; 
    180   $headers.= '  boundary="---='.$limite.'";'."\n"; 
    181   $headers.= '  reply-type=original'."\n"; 
    182   $headers.= 'MIME-Version: 1.0'."\n"; 
    183   $headers.= 'X-Mailer: Piwigo Mailer'."\n"; 
    184  
    185   //Le message en texte simple pour les navigateurs qui n'acceptent pas le HTML  
    186     $texte = "This is a multi-part message in MIME format.\n";  
    187          
    188         $texte .= "-----=".$limite."\n";  
    189         $texte .= "Ceci est un message est au format MIME.\n";  
    190         $texte .= 'Content-Type: text/plain; charset="UTF-8"'."\n";  
    191         $texte .= 'Content-Transfer-Encoding: 8bit'."\n\n";   
    192         $texte .= $message_texte ;  
    193                 $texte .= "\n\n";  
    194                  
    195                 $texte .= "-----=".$limite."\n";  
    196         $texte .= 'Content-Type: text/html; charset="UTF-8"'."\n";  
    197         $texte .= 'Content-Transfer-Encoding: 8bit'."\n\n";   
    198         $texte .= $message_html;  
    199         $texte .= "\n\n";  
    200            
    201  
    202  
    203                 $attachement = "-----=".$limite."\n";  
    204                 $attachement .= "Content-Type: ".$typemime."; name=\"".$nom."\"\n";  
    205                 $attachement .= "Content-Transfer-Encoding: base64\n";  
    206                 $attachement .= "Content-Disposition: attachment; filename=\"".$nom."\"\n\n";  
    207                 $attachement .= $piecejointe;  
    208                 $attachement .= "\n\n\n-----=".$limite."\n";  
    209  
    210  
    211   $ret=false; 
    212  
    213 ob_start(); 
    214  
     163    $headers.= 'Content-Type: multipart/alternative;'."\n"; 
     164    $headers.= '  boundary="---='.$limite.'";'."\n"; 
     165    $headers.= '  reply-type=original'."\n"; 
     166    $headers.= 'MIME-Version: 1.0'."\n"; 
     167    $headers.= 'X-Mailer: Piwigo Mailer'."\n"; 
     168    //Le message en texte simple pour les navigateurs qui n'acceptent pas le HTML  
     169    $texte = "This is a multi-part message in MIME format.\n";   
     170    $texte .= "-----=".$limite."\n";  
     171    $texte .= "Ceci est un message est au format MIME.\n";  
     172    $texte .= 'Content-Type: text/plain; charset="UTF-8"'."\n";  
     173    $texte .= 'Content-Transfer-Encoding: 8bit'."\n\n";   
     174    $texte .= $message_texte ;  
     175    $texte .= "\n\n";            
     176    $texte .= "-----=".$limite."\n";  
     177    $texte .= 'Content-Type: text/html; charset="UTF-8"'."\n";  
     178    $texte .= 'Content-Transfer-Encoding: 8bit'."\n\n";   
     179    $texte .= $message_html;  
     180    $texte .= "\n\n";  
     181    $attachement = "-----=".$limite."\n";  
     182    $attachement .= "Content-Type: ".$typemime."; name=\"".$nom."\"\n";  
     183    $attachement .= "Content-Transfer-Encoding: base64\n";  
     184    $attachement .= "Content-Disposition: attachment; filename=\"".$nom."\"\n\n";  
     185    $attachement .= $piecejointe;  
     186    $attachement .= "\n\n\n-----=".$limite."\n";  
     187    $ret=false; 
     188    ob_start(); 
    215189    $ret= mail( $destinataire, $args['subject'], $texte.$attachement, $headers);  
    216    $message =  ob_get_contents() ; 
    217         //ob_flush(); 
    218    ob_end_clean(); 
    219    if (($message)<>"") { 
    220    $erreur_message .=  $message ; 
    221    $infos_message =  "-------------------"; 
    222    } 
    223  
    224     return  $ret; 
    225    
     190    $message =  ob_get_contents() ; 
     191  //ob_flush(); 
     192  ob_end_clean(); 
     193  if (($message)<>"") { 
     194    $erreur_message .=  $message ; 
     195    $infos_message =  "-------------------"; 
     196  } 
     197  return  $ret;   
    226198} 
    227  
    228  
    229199?> 
  • extensions/Mail_supervisor/include/save_info.php

    r4939 r9702  
    22//======================================================================================= 
    33if (!defined('MAIL_SUPERV_PATH')) define('MAIL_SUPERV_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/'); 
    4  
    54switch (strtolower($info_ip)) 
    65 { 
    7   case  'ajout' : 
    8    
     6  case  'ajout' :   
    97 $ip_black=str_replace("*","%",$ip_black); 
    10   
    11  
    128 if (!($ip_black == '')) { 
    139   $query = " 
     
    1713                ;";      
    1814        //==============================================================================                 
    19         list($count) = mysql_fetch_row(pwg_query($query)); 
    20         //==============================================================================         
    21         $valeurs=array( 'NULL', 
     15  list($count) = mysql_fetch_row(pwg_query($query)); 
     16  //==============================================================================       
     17  $valeurs=array( 'NULL', 
    2218                            "'".$ip_black."'", 
    23                                         "'".$pays."'", 
    24                                         "'".$region."'",         
    25                                         "'".$ville."'", 
    26                                         '"adresse"', 
    27                                         '"fai" ', 
    28                                         $count + 1 
    29         ); 
     19                                                 "'".$pays."'", 
     20                                                 "'".$region."'",        
     21                                                 "'".$ville."'", 
     22                                                 '"adresse"', 
     23                                                 '"fai" ', 
     24                                                 $count + 1 
     25                ); 
    3026        ajout_ligne(MAIL_BLACK_LISTE_TABLE,$superv_bl_champs, $valeurs,($count==0)) ;    
    3127 } 
     
    3430 //================================================================================================ 
    3531  case 'raz': 
    36         $ip_black=str_replace('*',"%",$ip_black); 
     32    $ip_black=str_replace('*',"%",$ip_black); 
    3733                $query = "DELETE FROM `".MAIL_BLACK_LISTE_TABLE."` WHERE `ip`  like '%".$ip_black."%' "; 
    38                         pwg_query($query); 
     34                         pwg_query($query); 
     35    
     36    unset ($_SESSION['pwg_'.'action_spam']); 
    3937   break; 
    4038    
    41     default: 
    42  
    43  
    44                                  
     39    default:                             
    4540   break; 
    4641    
     
    4843//================ Liste Black liste ================= 
    4944  $query = " 
    50     SELECT *,  COUNT(`ip`) as total ,   `ip` as blacklist, `ip` as U_DELETE  
    51     FROM ".MAIL_BLACK_LISTE_TABLE." 
    52                 GROUP by ip  
    53         ;"; 
     45     SELECT *,  COUNT(`ip`) as total ,  `ip` as blacklist, `ip` as U_DELETE  
     46     FROM ".MAIL_BLACK_LISTE_TABLE." 
     47     GROUP by ip  
     48     ;"; 
    5449        $liste_bl = array(); 
    55     $result = pwg_query($query); 
    56                 while ($row = mysql_fetch_array($result,MYSQL_ASSOC)) 
    57                         { 
     50 $result = pwg_query($query); 
     51                while ($row = mysql_fetch_array($result,MYSQL_ASSOC))   { 
    5852                         array_push($liste_bl,$row); 
    59                                 } 
     53                                }           
    6054//================ Liste IP ==============               
    6155$req = mysql_query('SELECT count(distinct(`IP`)) FROM '.HISTORY_TABLE.'    ');  
    6256$nbip =  array_pop(mysql_fetch_row($req)) ; 
    6357 
    64  
    65              $query = ' 
    66     SELECT DISTINCT     H.`id`, 
    67         H.`date`, 
    68         H.`time`, 
    69         H.`user_id`, 
    70         H.`IP`,  
    71         COUNT(H.`IP`) as total   
    72     FROM '.HISTORY_TABLE.'  AS H  
    73         WHERE  "'.$_SERVER['REMOTE_ADDR'].'"not LIKE H.`IP`  
    74         ';// 
    75         if (count($liste_bl)>0) 
    76          { 
    77         $query .= ' 
    78         AND  H.`IP` not IN (     SELECT `ip` 
     58        $query = 'SELECT DISTINCT       H.`id`, 
     59            H.`date`, 
     60            H.`time`, 
     61            H.`user_id`, 
     62            H.`IP`,  
     63            COUNT(H.`IP`) as total   
     64            FROM '.HISTORY_TABLE.'  AS H  
     65            WHERE  "'.$ip.'"not LIKE H.`IP`     ';// 
     66        if (count($liste_bl)>0){ 
     67        $query .= '     AND  H.`IP` not IN ( SELECT `ip` 
    7968    FROM '.MAIL_BLACK_LISTE_TABLE.' ) '; 
    8069        } 
    81          
     70  
    8271        $query .= '      
    8372        GROUP by H.`IP`  
    8473        ORDER by `id` DESC 
    85         LIMIT '.(int)($params['per_page']*$params['start']).','.(int)$params['per_page'].' 
    86          
     74        LIMIT '.(int)($params['per_page']*$params['start']).','.(int)$params['per_page'].'       
    8775        '   ; 
     76 
    8877        $result = pwg_query($query); 
    8978        $liste_ip=array(); 
    90         while ($row = mysql_fetch_array($result,MYSQL_ASSOC)) 
    91                         { 
    92                            array_push($liste_ip, $row); 
     79        while ($row = mysql_fetch_array($result,MYSQL_ASSOC))   {  
     80 
     81                  array_push($liste_ip, $row); 
    9382                                } 
    94                                  
    9583 
    9684?> 
  • extensions/Mail_supervisor/language/en_UK/description.txt

    r9208 r9702  
    1 This plugin limits mail emission within a defined period. 
    2 Processes Warning messages of mail function (spam, bad recipient address syntax). 
    3 Prevents mail emission if IP address is in the users blacklisting. 
    4 Prevents connection to the site if IP address is in the users blacklisting. 
    5 Checks if IP address is registered in a AntiSpam database. 
     1Ce plugin limite l'envoie de mails par période paramétrable. 
     2Traite les messages Warning de la fonction mail (spam, bad recipient address syntax). 
     3Bloque l'émission des mails si l'adresse de IP est dans la liste des utilisateurs bloqués. 
     4Empêche la connexion au site si l'adresse de IP est dans la liste des utilisateurs bloqués. 
     5Test si l'adresse IP fait partie d'une base de données AntiSpammeur. 
  • extensions/Mail_supervisor/language/fr_FR/description.txt

    r9208 r9702  
    1 Ce plugin limite l'envoi de mails par période paramétrable. 
     1Ce plugin limite l'envoie de mails par période paramétrable. 
    22Traite les messages Warning de la fonction mail (spam, bad recipient address syntax). 
    3 Bloque l'émission des mails si l'adresse IP est dans la liste des utilisateurs bloqués. 
    4 Empêche la connexion au site si l'adresse IP est dans la liste des utilisateurs bloqués. 
    5 Teste si l'adresse IP fait partie d'une base de données AntiSpammeur. 
     3Bloque l'émission des mails si l'adresse de IP est dans la liste des utilisateurs bloqués. 
     4Empêche la connexion au site si l'adresse de IP est dans la liste des utilisateurs bloqués. 
     5Test si l'adresse IP fait partie d'une base de données AntiSpammeur. 
  • extensions/Mail_supervisor/language/fr_FR/help/plugin.lang.php

    r9397 r9702  
    77 
    88//======================================================================================================== 
    9 $lang['Sv_Oversees_management_emails']='Supervise la gestion des mails et bloque l\' envoi des mails lors de la mise en quarantaine';    
    10 $lang['Sv_hlp_1_1']='Compte le nombre de mails envoyés par le site.'; 
    11 $lang['Sv_hlp_1_2']='Détecte les différents messages d\'alertes générés par la fonction mail[]'; 
    12 $lang['Sv_hlp_1_3']='Compte le nombre de mails considérés par le FAI comme spams.'; 
    13 $lang['Sv_hlp_1_4']='Mise en quarantaine si le nombre de mails envoyés est supérieur à la valeur maxi définie par période prédéterminée.'; 
    14 $lang['Sv_hlp_1_5']='Mise en quarantaine si le nombre de spams détectés est supérieur à la valeur maxi définie par période prédéterminée.'; 
    15 $lang['Sv_hlp_1_6']='Mise en quarantaine si détection de "TROP DE SPAMS" pour une période déterminée.'; 
     9$lang['Sv_Fonctionality']='Fonctionnalites'; 
     10 
     11$lang['Sv_Oversees_management_emails']='Supervise la gestion des mails et bloque l\' envoie des mails lors de la mise en quarantaine';   
     12$lang['Sv_hlp_1_1']='Compte le nombre de mails envoyes par le site.'; 
     13$lang['Sv_hlp_1_2']='Detecte les differents messages d\'alertes generes par la fonction mail[]'; 
     14$lang['Sv_hlp_1_3']='Compte le nombre de mails considere par le FAI comme spams.'; 
     15$lang['Sv_hlp_1_4']='Mise en quarantaine si le nombre de mails envoyes est superieur à la valeur maxi defini par periode predeterminee.'; 
     16$lang['Sv_hlp_1_5']='Mise en quarantaine si le nombre de spams detectes est superieur à la valeur maxi defini par periode predeterminee.'; 
     17$lang['Sv_hlp_1_6']='Mise en quarantaine si detection de "TROP DE SPAMS" pour une periode determinee.'; 
    1618//======================================================================================================== 
    1719$lang['Sv_Options']='Options'; 
    1820 
    19 $lang['Sv_hlp_2_1']='Envoie une copie du mail au Webmestre.'; 
    20 $lang['Sv_hlp_2_2']='Modifie la structure des destinataires en copie carbone si défaut \'bad syntax\''; 
    21 $lang['Sv_hlp_2_3']='Si la version Piwigo est inférieure à 2.0.5, rajoute un bloc texte dans l\'entête de mail. '; 
     21$lang['Sv_hlp_2_1']='Envoie une copie du mail au Webmaster..'; 
     22$lang['Sv_hlp_2_2']='Modifie la structure des destnataires en copie carbonne si defaut \'bad syntax\''; 
     23$lang['Sv_hlp_2_3']='Si la version piwigo est inferieur à 2.0.5, rajoute un bloc texte dans l\' entête de mail. '; 
    2224 
    2325//======================================================================================================== 
    2426$lang['Sv_Options']='Options'; 
    2527 
    26 $lang['Sv_hlp_3_1']='Nombre d\'envois depuis la dernière remise à zéro.'; 
    27 $lang['Sv_hlp_3_2']='Date du premier envoi.'; 
    28 $lang['Sv_hlp_3_3']='Nombre d\'envois avant la mise en quarantaine.'; 
    29 $lang['Sv_hlp_3_4']='Durée pendant laquelle l\'envoi des mails est possible'; 
     28$lang['Sv_hlp_3_1']='Nombre d\' envoie depuis la dernière remise à zero.'; 
     29$lang['Sv_hlp_3_2']='Date du premier envoie.'; 
     30$lang['Sv_hlp_3_3']='Nombre d\' envois avant la mise en quarantaine.'; 
     31$lang['Sv_hlp_3_4']='Duree pendant laquelle l\'envoie des mails est possible'; 
    3032 
    31 $lang['Sv_hlp_3_4_0']='<br />Valeurs acceptées : <br /> 
     33$lang['Sv_hlp_3_4_0']='<br />Valeurs acceptees: <br /> 
    3234  + n '.l10n('Week').'<br /> 
    3335  + n '.l10n('Day').'<br /> 
     
    3537  + n '.l10n('Minute').'<br /> 
    3638  + n '.l10n('Second').'<br /> 
    37 n étant le nombre de (semaine, jour, heure, minute, seconde) ' 
     39 n etant le nombre de (semaine,jour,heure,minute,seconde) ' 
    3840; 
    3941 
    40 $lang['Sv_hlp_3_5']='Durée restante avant la remise à zéro du compteur.'; 
     42$lang['Sv_hlp_3_5']='Duree restante avant la remise à zero du compteur.'; 
    4143 
    42 $lang['Sv_state']='État'; 
     44$lang['Sv_state']='Etat'; 
    4345 
    4446$lang['Sv_hlp_4_1']='Date limite de la mise en quarantaine.'; 
    45 $lang['Sv_hlp_4_2']='Durée restante avant l\'annulation de la mise en quarantaine.'; 
    46      
    47 $lang['Sv_last_message']='Dernier message renvoyé.'; 
    48 $lang['Sv_hlp_5_1']='Dernier message renvoyé par la fonction mail() en cas d\'erreur.'; 
     47$lang['Sv_hlp_4_2']='Duree restante avant l\' anulation de la mise en quarantaine.'; 
     48         
     49$lang['Sv_last_message']='Dernier message renvoye.'; 
     50$lang['Sv_hlp_5_1']='Dernier message renvoye par la fonction mail() en cas d\'erreur.'; 
    4951 
    5052 
    51 //====================================================================== 
    52 $lang['Sv_hlp_7_1']='Ce module permet de créer une liste noire contenant les adresses IP indésirables.<br /> 
    53           ' ;    
    54 $lang['Sv_hlp_7_1_1']='Option 1 Bloque l\'émission de mails si l\'adresse IP est dans la liste noire. <br /> 
    55           ' ;    
    56 $lang['Sv_hlp_7_1_2']='Option 2 Rejet de l\'adresse IP.<br /> 
    57           ' ;    
    58 $lang['Sv_hlp_7_1_3']='Option 3 À chaque nouvelle connexion, le module teste l\'adresses IP et la compare à une base de données de Spammeurs, et l\'insère automatiquement dans la liste noire si le test est positif.<br /> 
    59            Un compteur dans cette liste indique le nombre de tentatives de connexion.<br /> 
    60            Des informations sur le pays et la ville du FAI sont également stockées.<br /> 
    61            
    62                    ' ;    
    63 $lang['Sv_hlp_7_2']= 'Ajout manuel des adresses indésirables.<br /> 
    64            
    65                   Les jokers (*) pour remplacer un groupe d\'adresse  sont autorisés.<br /> 
    66                     Exemple : 94.102.63.* : 
    67                   Exclusion de toutes les adresses IP de 94.102.63.0 à 94.102.63.255 <br /> 
    68                       Exemple : 94.102.*.13 : 
    69                   Exclusion de toutes les adresses IP de 94.102.0.13 à 94.102.255.13 <br /> 
    70                    
    71         ' ;    
    72 $lang['Sv_hlp_7_3']= ' Cliquez ici pour vérifier si l\'adresse IP ou le nom de l\'utilisateur ou l\'adresse courriel introduit dans le champs texte est dans la base de donnée de stopforumspam.Les jokers ne sont pas admis. Pour plus de renseignements voir http://www.stopforumspam.com' ;    
     53//======================================================================  
     54$lang['Sv_hlp_7_1']='Ce module permet de creer une liste noire contenant les adresses IP indesirables.<br /> 
     55          ' ;    
     56$lang['Sv_hlp_7_1_1']='Option 1 Bloque l\' emission de mail si l\' adresse IP est dans la liste noire. <br /> 
     57                  ' ;    
     58$lang['Sv_hlp_7_1_2']='Option 2 Rejet de l\' adresse IP .<br /> 
     59                  ' ;    
     60$lang['Sv_hlp_7_1_3']='Option 3 A chaque nouvelle connexion, le module teste l\'adresses IP et la compare à une base de donnees de Spammeurs, et l\' insere automatiquement dans la liste noire si le test est positif.<br /> 
     61                   Un compteur dans cette liste indique le nombre de tentative de connexion.<br /> 
     62                   Des informations sur le pays et la ville du FAI sont egalement stockees.<br /> 
     63                    
     64                                ' ;      
     65$lang['Sv_hlp_7_2']= 'Ajout manuel des adresses indesirables.<br /> 
     66                    
     67                                  Les jockers (*) pour remplacer un groupe d\'adresse  sont autorises.<br /> 
     68                                    Exemple : 94.102.63.* : 
     69                                  Exclusion de toutes les adresses IP de 94.102.63.0 à 94.102.63.255 <br /> 
     70                                        Exemple : 94.102.*.13 : 
     71                                  Exclusion de toutes les adresses IP de 94.102.0.13 à 94.102.255.13 <br /> 
     72                                   
     73                ' ;      
     74$lang['Sv_hlp_7_3']= ' Cliquez ici pour verifier si l\'adresse IP ou le nom de l\'utilisateur ou l\'adresse courriel introduit dans le champs texte est dans la base de donnee de stopforumspam.Les jockers ne sont pas admis. Pour plus de renseignements voir http://www.stopforumspam.com' ;  
    7375 
    74 $lang['Sv_hlp_7_4']= ' Si vous décidez de bloquer cette adresse, cliquez ici ou sur l\'icône \'ajout\' pour mettre à jour la liste noire.<BR /> 
    75      
    76 ' ; 
     76$lang['Sv_hlp_7_4']= ' Si vous decidez de bloquer cette adresse cliquez ici où sur l\'icône \'ajout\' pour mettre à jour la liste noire .<BR /> 
     77         
     78' ;      
    7779?> 
  • extensions/Mail_supervisor/language/fr_FR/plugin.lang.php

    r9208 r9702  
    55if( !isset($lang['Second'])) $lang['Second'] =   l10n('Seconde'); 
    66//======================================================= 
     7 
     8$lang['Sv_Are_you_sure'] =  'Etes-vous sûr' ;  
     9$lang['Sv_no_verif'] =  'IP Non vérifié.' ;  
     10$lang['Sv_delete'] =  'Supprimer' ;  
    711$lang['Sv_Datas'] =  'Datas' ;  
    812$lang['Sv_Group'] = $lang['Group'];  
     
    2024$lang['Sv_Envoyer'] = 'Envoyer'; 
    2125$lang['Sv_Valider'] = 'Valider'; 
    22 $lang['Sv_version'] = ' Version :'; 
     26$lang['Sv_version'] = ' Version  :'; 
    2327 
    2428$lang['Sv_fai'] = $lang['Sv_username']; 
     
    2731$lang['Sv_no_mail_list'] = 'Bloque l\' émission de mail si l\' adresse IP est dans la liste noire.'; 
    2832$lang['Sv_no_connect'] = 'Empêche l\' adresse IP de se connecter au site.'; 
    29 $lang['Sv_set_auto'] = 'Enregistre automatiquement l\' adresse IP dans la liste noire si elle existe dans la base de données de "stopforumspam".'; 
    30 $lang['Sv_set_id'] = 'Lors de l\'enregistrement du nouvel utilisateur, vérifie que l\' adresse mail n\'est pas dans la base de données de "stopforumspam".'; 
     33$lang['Sv_set_auto'] = 'Compte le nombre de connexion dans la liste noire.'; 
     34$lang['Sv_set_id'] = 'Lors de l\'enregistrement du nouvel utilisateur, vérifie que l\' adresse mail n\'est pas dans la base de données de "stopforumspam" .'; 
    3135$lang['Sv_unset_black_list'] = 'Supprime de la liste noire'; 
    3236$lang['Sv_set_black_list'] = 'Mise sur la liste noire'; 
    33 $lang['Sv_is_a_spam'] = 'Spammeur détecté !'; 
    34 $lang['Sv_is_a_login_spam'] = ': Je suis désolé mais ce login est interdit !'; 
     37$lang['Sv_is_a_spam'] = 'Spammeur détecté!.'; 
     38$lang['Sv_is_a_login_spam'] = ': Je suis désolé mais ce login est interdit!.'; 
    3539$lang['Sv_Ajout'] = 'Ajouter à la liste noire.'; 
    3640 
     
    4852$lang['Sv_mail_sent_to'] = 'Mail envoyé à %s.'; 
    4953$lang['Sv_mail_not_send'] = 'Le mail n\'a pas été envoyé.'; 
    50 $lang['Sv_message_to_send'] = 'Message à envoyer.'; 
     54$lang['Sv_message_to_send'] = 'Message a envoyer.'; 
    5155$lang['Sv_verifiez_les_destinataires']='Vérifiez les destinataires:'; 
    5256$lang['Sv_detection_de'] = 'Détection de :' ; 
     
    5559$lang['Sv_Tab_help'] = 'Aide'; 
    5660 
    57 $lang['Sv_Howto'] = 'Gestion des paramètres de surveillance d\'envoi des mails.'; 
     61$lang['Sv_Howto'] = 'Gestion des parametres de surveillance d\' envoie des mails.'; 
    5862$lang['Sv_admin_titre'] = 'Administration de '.$lang['Sv_supervisor']; 
    5963$lang['Sv_admin_description'] = 'Dernier message renvoyé. '; 
     
    6468$lang['Sv_check_header_text'] = 'Ajouter un bloc "texte" dans l\'entête du mail.'; 
    6569 
    66 $lang['Sv_admin'] = 'Exclure l\'administrateur des envois.'; 
    67 $lang['Sv_guest'] = 'Exclure le guest des des envois.'; 
     70$lang['Sv_admin'] = 'Exclure l\'administrateur des envoies.'; 
     71$lang['Sv_guest'] = 'Exclure le guest des des envoies.'; 
    6872 
    6973$lang['Sv_periode'] = 'Période'; 
  • extensions/Mail_supervisor/main.inc.php

    r8917 r9702  
    22/* 
    33Plugin Name: Mail supervisor 
    4 Version: 1.4.4 Beta 
     4Version: auto 
    55Description: Mail supervisor surveille l'envoie des mails. 
    66Plugin URI: http://piwigo.org/ext/extension_view.php?eid=315 
     
    99*/ 
    1010if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 
    11 if (!defined('MAIL_SUPERV_DIR')) define('MAIL_SUPERV_DIR' , basename(dirname(__FILE__))); 
     11if (!defined('mail_superv_DIR')) define('mail_superv_DIR' , basename(dirname(__FILE__))); 
    1212if (!defined('MAIL_SUPERV_PATH')) define('MAIL_SUPERV_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/'); 
     13$MAIL_SUPERV_PATH_ABS=str_replace('\\','/',dirname(__FILE__) ); 
     14if (!defined('MAIL_SUPERV_PATH_ABS')) define(  'MAIL_SUPERV_PATH_ABS',   $MAIL_SUPERV_PATH_ABS."/"); 
     15global $conf,$mails_options ; 
    1316include_once (MAIL_SUPERV_PATH.'include/constants.php');  
    14  
    15 /* EVENT_HANDLER_PRIORITY_NEUTRAL  */ 
    16  
    17  global $conf ; 
    18 add_event_handler('send_mail', 'clj_mail',EVENT_HANDLER_PRIORITY_NEUTRAL - 1 , 6); 
    19 function clj_mail($result, $mailto, $subject, $content, $headers, $args) 
    20 { 
    21     global $conf, $user, $lang_info,  $conf_mail,$mails_options,$mails_donnees , $template,$page ,$erreur_message,$infos_message, $lang;  
     17include_once(MAIL_SUPERV_PATH.'mail_super.inc.php'); 
     18$mail_supervisor = new mail_supervisor(); 
     19add_event_handler('get_admin_plugin_menu_links', array(&$mail_supervisor,'admin_menu')  ); 
     20 
     21$mails_options = mail_supervisor::Get_Options($mails_options,"mail_superv"); 
     22/* EVENT_HANDLER_PRIORITY_NEUTRAL  */    
     23// 
     24// 
     25include_once (MAIL_SUPERV_PATH.'include/fonctions.php');   
     26//===============loc_begin_index==============loc_after_page_header============================================================= 
     27add_event_handler('loc_after_page_header',  array(&$mail_supervisor,'init')  ); 
     28add_event_handler('loc_begin_page_tail',  array(&$mail_supervisor,'affiche_message')  ); 
     29 
     30//========================================================================================== 
     31add_event_handler('send_mail', 'clj_mail',EVENT_HANDLER_PRIORITY_NEUTRAL - 10, 6); 
     32function clj_mail($result, $mailto, $subject, $content, $headers, $args) { 
     33    global $conf, $user, $lang_info;   
     34    global $conf_mail,$mails_options,$mails_donnees ; 
     35    global  $template,$page ,$erreur_message,$infos_message, $lang;  
     36    global $errors; 
     37  
    2238        // lecture config table ------------- 
    23          include_once (MAIL_SUPERV_PATH.'include/fonctions.php');  
    24      load_language('plugin.lang', MAIL_SUPERV_PATH); 
    25           
    26          if (isset($_POST["Submit"]) ) 
    27          { 
    28          if ($_POST["Submit"] != l10n('Sv_Envoyer') ) return true ; 
    29          } 
    30         $message =""; 
    31         if (!isset($infos_message)) 
    32         { 
    33         $infos_message = ""; 
    34         } 
    35 if (!isset($erreur_message)) 
    36         { 
    37         $erreur_message = ''; 
    38         }         
    39          $mails_options = explode("," , $conf['mail_superv']); 
     39          include_once (MAIL_SUPERV_PATH.'include/fonctions.php');  
     40   load_language('plugin.lang', MAIL_SUPERV_PATH);  
     41         if (isset($_POST["Submit"]) ) { 
     42            if ($_POST["Submit"] != l10n('Sv_Envoyer') ) return true ; 
     43         }   
     44   // remove_event_handler('send_mail', 'pwg_send_mail'); 
     45      
     46           $message =""; 
     47    if (!isset($infos_message)) {       $infos_message = "";    } 
     48    if (!isset($erreur_message))        {       $erreur_message = '';   }         
     49    
     50   // $mails_options = explode("," , $conf['mail_superv']); 
     51    $envoie_ok=true ; 
    4052//======== verification si envoie de mail ou blocage connexion ===================== 
    41         if ($mails_options[no_mail_list]=='on' || $mails_options[no_connect] == 'on' ) 
    42         { 
    43                 if (kill_list()) 
    44                  { 
    45                   $erreur_message .= "<BR />".l10n('Sv_is_a_spam') ; 
    46                  if ($mails_options[no_connect] == 'on' ){ 
    47                   if ($user['status'] == 'webmaster'  ) 
    48                         {   
     53 
     54        if ($mails_options['no_mail_list']=='on' || $mails_options['no_connect'] == 'on' )      {  
     55                if (kill_list()) { 
     56      $nb_destinataires=0; ; 
     57      $envoie_ok= false ; 
     58      $erreur_message .= "<BR />".l10n('Sv_is_a_spam') ; 
     59      $infos_message = l10n('Sv_mail_not_send')."<BR />";  
     60                   if ($mails_options['no_connect'] == 'on' ){ 
     61                   if ($user['status'] == 'webmaster'  )                {   
    4962                          //---------- continuer si web master ---------- 
    50                         }else{ 
     63 
     64                          }else{ 
    5165                                  if (!isset($_GET['admin'])) { 
    5266                                                 die('Blacklist : <br />' .$erreur_message. '<br /> Hacking attempt!'); 
     
    5569                                                 die('blacklist Hacking attempt!'); 
    5670                                        } 
    57                       return true; 
     71                      
    5872                          }  
    5973                          
    6074                        } 
    61                          
    62                  } 
     75 
     76         return true; 
     77                } 
    6378        } 
    64          
    65  
    6679        // lecture donnees       ------------- 
    67     $mails_donnees = Get_Datas(); 
     80 $mails_donnees = mail_supervisor::Get_Datas(); 
    6881  
    6982        $nb_mails         =     $mails_donnees['nb_mails'] ; 
     
    91104         
    92105  
    93  if ( ( !$alerte  && !$alerte_spam  && !$alerte_mail ) )  
    94         { 
    95                   
    96   $nb_destinataires=0; 
    97                 if ($mails_options[check_mailto] == 'on') { 
    98                         if ($mailto == "" )     $mailto = $conf_mail['email_webmaster']; 
    99                 }     
    100  if ($mailto<>"" )            $nb_destinataires +=1;  
    101  
    102                 if (!empty($args['Bcc'])) { $nb_destinataires += count($args['Bcc']);   }  
    103                 if (!empty($args['Cc']))  {     $nb_destinataires += count($args['Cc']);        } 
     106    if ( ( !$alerte  && !$alerte_spam  && !$alerte_mail ) ) {             
     107            $nb_destinataires=0; 
     108                    if ($mails_options['check_mailto'] == 'on') { 
     109                            if ($mailto == "" ) $mailto = $conf_mail['email_webmaster']; 
     110                    }     
     111            if ($mailto<>"" )            $nb_destinataires +=1;  
     112                    if (!empty($args['Bcc'])) { $nb_destinataires += count($args['Bcc']);       }  
     113                    if (!empty($args['Cc']))  { $nb_destinataires += count($args['Cc']);        } 
    104114 
    105115    
    106         $infos_message .= "<hr> Theme :" . ($args['theme'] ) ."<br />"; 
    107     $infos_message .="nombre de destinataire:".$nb_destinataires." <br />" ; 
    108  
    109    //================= reecriture de l'entete =============================== 
    110     $match=array("<",">"); 
    111     $string=array("&lt;","&gt;") ;       
     116                $infos_message .= "<hr> Theme :" . ($args['theme'] ) ."<br />"; 
     117            $infos_message .="nombre de destinataire:".$nb_destinataires." <br />" ; 
     118 
     119           //================= reecriture de l'entete =============================== 
     120            $match=array("<",">"); 
     121            $string=array("&lt;","&gt;") ;       
    112122         
    113 if ( $nb_destinataires  == 1 && $mailto != "" ) 
    114         {    
    115     $infos_message .="--> Mailto: " . $mailto." \n" ; 
     123            if ( $nb_destinataires  == 1 && $mailto != "" ) 
     124                    {    
     125                    $infos_message .="--> Mailto: " . $mailto." \n" ; 
    116126     
    117                 if ($mailto != "" )  
    118                   { 
    119  
    120                  $mailto  = $mailto ." \n"   ; 
    121                 $headers =  preg_replace('/.*Bcc(.*).\n/i', '', $headers); 
    122                                 $headers =  preg_replace('/.*Cc(.*).\n/i', '', $headers); 
     127                            if ($mailto != "" )  
     128                                { 
     129 
     130                            $mailto  = $mailto ." \n"   ; 
     131                            $headers =  preg_replace('/.*Bcc(.*).\n/i', '', $headers); 
     132                                            $headers =  preg_replace('/.*Cc(.*).\n/i', '', $headers); 
    123133                 
    124134                         
    125                   } 
    126      //============================================================================= 
     135                                } 
     136                    //============================================================================= 
    127137              
    128138             
    129                 if (!empty($args['Bcc']) ) $infos_message .="Bcc: " . memo_var($args['Bcc']) ." \n"; 
    130                 if (!empty($args['Cc']) ) $infos_message .="Cc: " . memo_var($args['Cc'])." \n" ; 
    131                 $infos_message .="Mailto: [" . $mailto . "]"." \n".$headers;              
     139                            if (!empty($args['Bcc']) ) $infos_message .="Bcc: " . mail_supervisor::Memo_Var($args['Bcc']) ." \n"; 
     140                            if (!empty($args['Cc']) ) $infos_message .="Cc: " . mail_supervisor::Memo_Var($args['Cc'])." \n" ; 
     141                            $infos_message .="Mailto: [" . $mailto . "]"." \n".$headers;              
    132142           
    133         }else{ 
    134 //=== plusieurs destinataires =========== 
    135 $cl_list_mail=""; 
    136  
    137   if ($mailto !="") $infos_message .="To: " . $mailto . " "." /n" ;      
    138         if (!empty($args['Cc'])) { 
    139         $ret= corrige_header('Cc',$headers,$args,$cl_list_mail); 
    140           $headers = $ret->headers; 
    141           $infos_message .="Cc: " .  ( $ret->list_mail)."  <br />" ; 
    142         } 
    143         if (!empty($args['Bcc'])){  
    144            $ret = corrige_header('Bcc',$headers,$args,$cl_list_mail);  
     143                    }else{ 
     144                    //=== plusieurs destinataires =========== 
     145                    $cl_list_mail=""; 
     146 
     147                    if ($mailto !="") $infos_message .="To: " . $mailto . " "." /n" ;      
     148                    if (!empty($args['Cc'])) { 
     149                    $ret= corrige_header('Cc',$headers,$args,$cl_list_mail); 
     150                        $headers = $ret->headers; 
     151                        $infos_message .="Cc: " .  ( $ret->list_mail)."  <br />" ; 
     152                    } 
     153                    if (!empty($args['Bcc'])){  
     154                        $ret    = corrige_header('Bcc',$headers,$args,$cl_list_mail);  
    145155           
    146            $headers = $ret->headers ; 
    147            $infos_message .="Bcc: " . ( $ret->list_mail) ."  <br />"; 
    148         } 
     156                        $headers = $ret->headers ; 
     157                        $infos_message .="Bcc: " . ( $ret->list_mail) ."  <br />"; 
     158                    } 
    149159       
    150         $infos_message .=  " " ; 
    151 } 
    152 // $infos_message .= $content ; 
    153 //============================================================================= 
    154 if ($mails_options[check_header_text]=='on')   { 
    155  
    156         $texte = "This is a multi-part message in MIME format.\n";  
    157          
    158         $texte .= "-----=".$conf_mail['boundary_key']."\n";  
    159         $texte .= "Ceci est un message est au format MIME.\n";  
    160         $texte .= 'Content-Type: text/plain; charset="UTF-8"'."\n";  
    161         $texte .= 'Content-Transfer-Encoding: 8bit'."\n\n";   
    162         $texte .= $mails_donnees['header_text']; // A voir texte brut... 
    163             
    164                 $texte .= "\n\n";  
    165          
    166                 $content =$texte .$content ; 
    167 } 
    168   
    169 $ret=false; 
    170  
    171             //======== Non mise en quarantaine ============= 
    172                 ob_start(); 
    173                 $ret = false; 
    174                  if ($nb_destinataires > 0) { 
    175                  // corrige erreur 'mail dropped, bare LF found' 
    176                  $content = str_replace("\n.", "\n..", $content); 
    177                  $headers = str_replace("\n.", "\n..", $headers); 
    178                  $subject = str_replace("\n.", "\n..", $subject); 
    179                  $mailto = str_replace("\n.", "\n..", $mailto); 
    180              $ret = mail($mailto, $subject, $content, $headers); 
    181          
    182                         }else{ 
    183                            $message .= l10n('Sv_no_receiver_available'); 
    184                         } 
    185                         $message .= ob_get_contents(); 
    186             ob_end_clean(); 
    187                         $mails_donnees['message']=$message;      
    188                         Gestion_erreurs($message,$ret,$nb_destinataires,$headers,$mailto); 
    189                  
    190          
    191          
    192         } else { 
    193  
    194         //================== Est en quarantaine =======================  
    195                 $erreur_message .=      l10n('Sv_To_day_is')."<br />"; 
    196                         if ($alerte_spam ) {  
    197                         $type="Spams"; 
    198                                  
    199                                 $d1=$mails_donnees['nb_spams'] . '  \\  ' . $mails_donnees['nb_spams_maxi']; 
    200                                 $d2=$mails_donnees['nb_spams']; 
    201                                 $d3= $mails_donnees['rest_spam']; 
    202                                 $d4=time()+$d3 ; 
    203                         }  
    204   
    205                         if ($alerte_mail) { 
    206                         $type="Mails"; 
    207                          
    208                                 $d1=$mails_donnees['nb_mails']. '  \\  ' . $mails_donnees['nb_mails_maxi'];; 
    209                                 $d2=$mails_donnees['date_mail']; 
    210                                 $d3= $mails_donnees['rest_mail']; 
    211                                 $d4=time()+$d3 ; 
    212                                  
    213                                  
    214                         } 
    215                         if ($alerte) { 
     160                    $infos_message .=  " " ; 
     161            } 
     162            // $infos_message .= $content ; 
     163            //============================================================================= 
     164            if ($mails_options['check_header_text']=='on')   { 
     165              $texte = "This is a multi-part message in MIME format.\n";         
     166              $texte .= "-----=".$conf_mail['boundary_key']."\n";  
     167              $texte .= "Ceci est un message est au format MIME.\n";  
     168              $texte .= 'Content-Type: text/plain; charset="UTF-8"'."\n";  
     169              $texte .= 'Content-Transfer-Encoding: 8bit'."\n\n";   
     170              $texte .= $mails_donnees['header_text']; // A voir texte brut...      
     171              $texte .= "\n\n";          
     172              $content =$texte .$content ; 
     173            } 
     174  
     175            $ret=false; 
     176                //======== Non mise en quarantaine ============= 
     177                    ob_start(); 
     178                    $ret = false; 
     179                      if ($nb_destinataires > 0) { 
     180                         // corrige erreur 'mail dropped, bare LF found' 
     181                         $content = str_replace("\n.", "\n..", $content); 
     182                         $headers = str_replace("\n.", "\n..", $headers); 
     183                         $subject = str_replace("\n.", "\n..", $subject); 
     184                         $mailto = str_replace("\n.", "\n..", $mailto); 
     185                if( $envoie_ok)  $ret = mail($mailto, $subject, $content, $headers); 
     186         
     187                          }else{ 
     188                               $message .= l10n('Sv_no_receiver_available'); 
     189                          } 
     190                            $message .= ob_get_contents(); 
     191                ob_end_clean(); 
     192                            $mails_donnees['message']=$message;  
     193                            Gestion_erreurs($message,$ret,$nb_destinataires,$headers,$mailto); 
     194            } else { 
     195                    //================== Est en quarantaine =======================      
     196                        $erreur_message .=      l10n('Sv_To_day_is')."<br />"; 
     197                            if ($alerte_spam ) {  
     198                                $type="Spams";                           
     199                                        $d1=$mails_donnees['nb_spams'] . '  \\  ' . $mails_donnees['nb_spams_maxi']; 
     200                                        $d2=$mails_donnees['nb_spams']; 
     201                                        $d3= $mails_donnees['rest_spam']; 
     202                                        $d4=time()+$d3 ; 
     203                            }   
     204                            if ($alerte_mail) { 
     205                    $type="Mails";                       
     206                    $d1=$mails_donnees['nb_mails']. '  \\  ' . $mails_donnees['nb_mails_maxi'];; 
     207                    $d2=$mails_donnees['date_mail']; 
     208                    $d3= $mails_donnees['rest_mail']; 
     209                    $d4=time()+$d3 ; 
     210                            } 
     211                            if ($alerte) { 
    216212                        $type="Spams(Quarantaine)"; 
    217                                 $d1=$mails_donnees['nb_spams'] . '  \\  ' . $mails_donnees['nb_spams_maxi']; 
    218                                 $d2=$mails_donnees['date_quarantaine']; 
    219                                 $d3= $mails_donnees['reste']; 
    220                                 $d4=time()+$d3 ; 
    221                         }  
    222  
    223  
    224 $d2=date(l10n('Sv_formatdate'),$d2); 
    225 $d3=int_to_heure($d3) ; 
    226 $d4=date(l10n('Sv_formatdate'),$d4); 
    227  
    228         if ($alerte_mail) { 
    229               $erreur_message .='<br />'.sprintf(l10n('Sv_alerte_mail %s %s %s %s %s'),$type,$d1,$d2,$d3,$d4).'<br />'; 
    230                 }else{ 
    231                            $erreur_message .='<br />'.sprintf(l10n('Sv_mise_en_quarantaine %s %s %s %s %s'),$type,$d1,$d2,$d3,$d4).'<br />'; 
    232  
    233                 } 
    234  $infos_message .= l10n('Sv_mail_not_send'); 
    235   
    236  }                       
    237  sauve_donnees(); 
    238  return true ; 
     213                                    $d1=$mails_donnees['nb_spams'] . '  \\  ' . $mails_donnees['nb_spams_maxi']; 
     214                                    $d2=$mails_donnees['date_quarantaine']; 
     215                                    $d3= $mails_donnees['reste']; 
     216                                    $d4=time()+$d3 ; 
     217                            }  
     218            $d2=date(l10n('Sv_formatdate'),$d2); 
     219            $d3=int_to_heure($d3) ; 
     220            $d4=date(l10n('Sv_formatdate'),$d4); 
     221            if ($alerte_mail) { 
     222                    $erreur_message .='<br />'.sprintf(l10n('Sv_alerte_mail %s %s %s %s %s'),$type,$d1,$d2,$d3,$d4).'<br />'; 
     223            }else{ 
     224                        $erreur_message .='<br />'.sprintf(l10n('Sv_mise_en_quarantaine %s %s %s %s %s'),$type,$d1,$d2,$d3,$d4).'<br />'; 
     225            } 
     226            $infos_message .= l10n('Sv_mail_not_send');  
     227            }                    
     228    mail_supervisor::sauve_donnees(); 
     229    mail_supervisor::affiche_message(); 
     230    return true ; 
    239231} 
    240232//===========================================================================================    
    241 function Gestion_erreurs($message,$ret,$nb_destinataires,$headers,$mailto) 
    242 {                        
     233function Gestion_erreurs($message,$ret,$nb_destinataires,$headers,$mailto){                      
    243234         global $conf, $user,  $conf_mail,$mails_options,$mails_donnees , $template,$page ,$infos_message,$erreur_message,$args,$lang, $lang_info;  
    244  
    245           
    246            
    247     $match=array("<",">"); 
     235     $match=array("<",">"); 
    248236    $string=array("&lt;","&gt;") ;        
    249237//Warning: mail() has been disabled for security reasons  
     
    266254        $headers , 
    267255        $nb_destinataires ); 
    268        //=============== La fonction mail   retourneeune erreur =========================                
    269  
    270                                  
     256       //=============== La fonction mail retourne une erreur =========================          
    271257                                }        
    272258                                 
     
    288274                                                $mails_donnees['date_quarantaine']= time()  ;    
    289275                                                $mails_donnees['quarantaine']= true    ;         
    290                                                 $infos_message .=memo_var($mails_donnees); 
     276                                                $infos_message .= mail_supervisor::Memo_Var($mails_donnees); 
    291277                                        } 
    292  
    293278                        } 
    294279 $ret=true; 
    295  return $ret ; 
    296   
     280 return $ret ;  
    297281} 
    298  
    299 //========================================================================================== 
    300 add_event_handler('get_admin_plugin_menu_links', 'admin_menu'); 
    301 function admin_menu($menu) 
    302 { 
    303     array_push($menu, array('NAME' => 'Mail_Superv', 
    304       'URL' => get_admin_plugin_menu_link(MAIL_SUPERV_PATH . 'admin/mail_superv_admin.php'))); 
    305     return $menu; 
    306 } 
    307 //========================================================================================== 
    308 add_event_handler('loc_after_page_header','affiche_spam' );// 
    309 function affiche_spam () 
    310  
    311 { 
    312 include_once (MAIL_SUPERV_PATH.'include/fonctions.php');  
    313  
    314   affiche_message(); 
    315     
    316 } 
    317     include_once (MAIL_SUPERV_PATH.'include/fonctions.php'); 
    318         $mails_options = explode("," , $conf['mail_superv']); 
    319  
    320 //========================================================================================== 
    321 if ($mails_options[set_id]=='on'  ) { 
    322  add_event_handler('register_user_check', 'Test_spam_g', EVENT_HANDLER_PRIORITY_NEUTRAL +2  , 2); 
    323  } 
    324 function Test_spam_g ($err, $user) 
    325 { 
    326  
    327 if (count($err)!=0 ) return $err ;  
    328 if ( !isset($_POST['submit_add']) && !isset($_POST['submit'])  ) return $err ;  
    329 //Liableelard 
    330 include_once (MAIL_SUPERV_PATH.'include/fonctions.php'); 
    331  
    332 if ( isset($_POST['submit'])) { 
    333         $mail  =  $_POST['mail_address'] ; 
    334         $user_name = $_POST['login'] ; 
    335 }else{ 
    336         $mail  = $user['email']; 
    337         $user_name = $user['username']; 
    338 } 
    339  $user_name =""; // suppression du test sur user name. 
    340  $ip='0';  
    341   
    342                 if (test_spam($ip,$user_name ,$mail )) 
    343                  {  
    344                  //if (test_spam($ip,$user_name ,"" )) { 
    345                  // $err[] = $user_name . " ". l10n('Sv_is_a_login_spam')   ; 
    346                 // }else                  
    347                     $err[] = $user_name . " : " .$mail . " ". l10n('Sv_is_a_spam')   ; 
    348                  } 
    349                   
    350 return $err ;  
    351 } 
    352  
    353  
    354282?> 
  • extensions/Mail_supervisor/maintain.inc.php

    r7050 r9702  
    2121// | USA.                                                                  | 
    2222// +-----------------------------------------------------------------------+ 
    23 if  (!defined('PHPWG_ROOT_PATH'))   
    24 { 
    25   die('Hacking attempt!'); 
    26 } 
     23if  (!defined('PHPWG_ROOT_PATH')) {  die('Hacking attempt!');} 
    2724if (!defined('MAIL_SUPERV_PATH')) define('MAIL_SUPERV_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/'); 
    2825 include_once (MAIL_SUPERV_PATH.'include/constants.php'); 
    29  
    30  
    31 function plugin_install() 
    32 { 
    33 global $conf ; 
    34  if ( !isset($conf['mail_superv']) )  
    35  { 
     26   
     27function plugin_install(){ 
     28  global $conf ; 
     29   if ( !isset($conf['mail_superv']) ){ 
    3630    plugin_uninstall() ; 
    37     $query = ' 
    38     INSERT INTO '.CONFIG_TABLE.' (param, value, comment) 
    39     VALUES ("mail_superv","off,off,off,off,off,on,127.0.0.1,on ,?? ,?? ","Parametres du plugin Mail superviseur") 
    40     ;'; 
     31    $my_para['check_mailto']="on"; 
     32    $my_para['check_header_carbon']="on"; 
     33    $my_para['check_header_text']="on"; 
     34    $my_para['no_mail_list']="on"; 
     35    $my_para['no_connect']="off";       // empeche l'ip de se connecter au site. 
     36    $my_para['set_auto']="on";          // Test a l'ouverture et enregistrement  
     37    $my_para['ip']="127.0.0.1";         // dernièrre adresse IP 
     38    $my_para['set_id']="on";              // enregistrment nouvel   
     39    $mails_values=  addslashes(serialize($my_para)); 
     40    $query = 'INSERT INTO '.CONFIG_TABLE.' (param, value, comment) 
     41    VALUES ("mail_superv", "'.$mails_values.'" ,"Parametres du plugin Mail superviseur");'; 
    4142    pwg_query($query); 
    42         //================================================================== 
    43          
    44  }  
    45  
     43  }  
    4644} 
    47  
    48  
    49  
    50 function plugin_uninstall() 
    51 { 
    52  
     45function plugin_uninstall(){ 
    5346    $query = ' 
    5447      DELETE FROM '.CONFIG_TABLE.' 
     
    5851    $query = 'DROP TABLE IF EXISTS  '.MAIL_BLACK_LISTE_TABLE.';'; 
    5952    pwg_query( $query );   
    60     $query = 'DROP TABLE IF EXISTS  '.MAIL_SUPERV_TABLE.';'; 
    61     pwg_query( $query); 
    62     
    63    
     53    $query = 'DROP TABLE IF EXISTS  '.mail_superv_TABLE.';'; 
     54    pwg_query( $query);   
    6455} 
    6556 
    66 function plugin_activate() 
    67 { 
     57function plugin_activate(){ 
    6858include_once (MAIL_SUPERV_PATH.'include/fonctions.php');  
    6959 verif_base() ; 
    7060} 
    7161 
    72 function plugin_deactivate() 
    73 { 
     62function plugin_deactivate(){ 
    7463 
    7564} 
Note: See TracChangeset for help on using the changeset viewer.