Changeset 9702
- Timestamp:
- Mar 15, 2011, 3:39:19 PM (13 years ago)
- 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" } 4 3 {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" } 2 2 {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"}5 3 {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 $ *} 6 2 <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'}?"; 15 4 </script> 16 17 5 <link href="theme.css" rel="stylesheet" type="text/css" /> 18 6 {html_head}<link rel="stylesheet" type="text/css" href="{$MAIL_SUPERV_PATH}admin/theme.css" />{/html_head} … … 24 12 <form action='' method="post" name="form_black"> 25 13 <fieldset> 26 27 <table>28 <td><input type="checkbox" name="no_mail_list" value="on" {$no_mail_list} /> {'Sv_no_mail_list'|translate} </td>29 <td><input type="checkbox" style="visibility:hidden" name="no_connect" value="off" {$no_connect} /> </td>30 <td><input type="checkbox" style="visibility:hidden" name="set_auto" value="off" {$set_auto} /> </td>31 <td><input type="checkbox" name="set_id" value="on" {$set_id} /> {'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} /> {'Sv_no_mail_list'|translate} </td> 17 <td style="visibility:hidden" ><input type="checkbox" name="no_connect" value="off" {$no_connect} /> {'Sv_no_connect'|translate} </td> 18 <td style="visibility:visible" ><input type="checkbox" name="set_auto" value="off" {$set_auto} /> {'Sv_set_auto'|translate} </td> 19 <td style="visibility:hidden" ><input type="checkbox" name="set_id" value="on" {$set_id} /> {'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> 35 23 </fieldset> 36 24 <input name="info1" type="hidden" /> 37 25 <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} 52 61 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 72 65 73 </div>66 <td> 74 67 <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> 77 71 78 72 <table class="table2" > … … 89 83 <td>{$group.nb}</td> 90 84 <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}" 92 86 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}" 98 88 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}" /> 100 91 </td> 101 92 </tr> … … 121 112 <td><input class="submit" type="submit" name="prev" value= "{'previous_page'|translate}" /></td> 122 113 { /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> 128 117 {if $start < $maxipage } 129 118 <td><input class="submit" type="submit" name="next" value= "{'Next'|translate}" /></td> 130 119 { /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> 149 131 </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}" /> 172 149 </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> 183 157 </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 22 22 // +-----------------------------------------------------------------------+ 23 23 24 if ( !defined('PHPWG_ROOT_PATH')) 25 { 26 die('Hacking attempt!'); 27 } 24 if ( !defined('PHPWG_ROOT_PATH')) { die('Hacking attempt!');} 28 25 29 26 if (!defined('MAIL_SUPERV_PATH')) define('MAIL_SUPERV_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/'); … … 38 35 include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); 39 36 include_once (PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php'); 40 41 42 37 $my_base_url = get_admin_plugin_menu_link(__FILE__); 43 38 … … 102 97 $error = array(); 103 98 104 99 include_once (MAIL_SUPERV_PATH.'mail_super.inc.php'); 105 100 include_once (MAIL_SUPERV_PATH.'include/constants.php'); 106 101 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 } 115 108 116 109 if (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'); 132 112 //================================================================================================ 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(); 139 115 }else { 140 die ("mail");116 die ("mail"); 141 117 } 142 118 143 119 144 120 $aff_nb=true; 145 146 121 // ************************************************************************* 147 122 // | Selection de l'onglet | 148 123 // ************************************************************************* 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'] ; 154 127 //========================================================= 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 161 136 //================================================================================ 162 137 switch ($page['tab']) … … 185 160 } 186 161 $infos_message .= l10n('Sv_refresh') .'<br />'; 187 sauve_donnees();162 mail_supervisor::sauve_donnees(); 188 163 $aff_nb = false ; 189 164 … … 192 167 193 168 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 />'; 207 178 } 208 179 209 180 //=================================================================== 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' ; 215 185 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 //======================================================================================================= 238 197 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( 248 214 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"' : '' , 252 218 253 219 254 255 256 257 258 259 260 261 262 263 264 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)."'" , 265 231 266 267 268 269 'reste' => "'".int_to_heure($reste)."'",270 271 'message' => $mails_donnees['message'] ,272 273 274 'PHPWG_VERSION' => PHPWG_VERSION ,275 276 277 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, 279 245 280 246 ) 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'); 288 250 break; 289 290 291 // ************************************************************************* 251 // ************************************************************************* 292 252 // TEST | 293 253 // ************************************************************************* … … 295 255 case 'mail_superv_test': 296 256 load_language('plugin.lang', MAIL_SUPERV_PATH); 297 $mails_donnees = Get_Datas() ;257 $mails_donnees = mail_supervisor::Get_Datas() ; 298 258 $group_id = isset($_POST['group']) ? $_POST['group'] : '-1' ; 299 259 … … 354 314 355 315 unset_make_full_url(); 356 sauve_donnees();357 $mails_donnees = Get_Datas() ;316 mail_supervisor::sauve_donnees(); 317 $mails_donnees = mail_supervisor::Get_Datas() ; 358 318 $query = 'SELECT 359 319 name … … 426 386 // BLACK LISTE | 427 387 // ************************************************************************* 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]) ; 444 399 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 } 474 420 if (!isset($params)) $params=array(); 475 421 if (!isset($params['per_page'])) $params['per_page'] = 20 ; … … 480 426 if (isset($_POST['next'])) $params['start'] += 1; 481 427 if (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 ; 488 429 //======================================================================================= 430 include (MAIL_SUPERV_PATH.'include/save_info.php'); 431 $maxipage=(int) ( $nbip / $params['per_page']) ; 489 432 $f_action = $my_base_url.'&tab=mail_black_liste' ; 490 433 $champs_ip=array(); 491 434 $champs_bl=array(); 492 435 if (!empty($liste_ip)) $champs_ip=array_keys($liste_ip[0]); 493 if (!empty($liste_bl)) 436 if (!empty($liste_bl)) $champs_bl=array_keys($liste_bl[0]); 494 437 $smile_bonjour=MAIL_SUPERV_PATH."smilies/mouche.gif" ; 495 438 $img_logo=MAIL_SUPERV_PATH."smilies/logo.png" ; … … 514 457 'F_ACTION' => $f_action , 515 458 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"' : '' , 520 463 'IP' => $ip , 521 464 'PAYS' => $pays , … … 526 469 ) 527 470 ); 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 533 476 break; 534 477 … … 585 528 } 586 529 if ( $modif == true ) { 587 sauve_donnees();530 mail_supervisor::sauve_donnees(); 588 531 $modif = false ; 589 532 } … … 593 536 $infos_message .= "\n".'Spams : '.$mails_donnees['nb_spams']. ' \\ ' . $mails_donnees['nb_spams_maxi']; 594 537 } 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(); 610 541 //======================================================================== 611 542 ?> -
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 4 1 <script type="text/javascript"> 5 2 jQuery().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}3 1 <div class="instructions" > 4 2 <h2>{'Sv_Tab_help'|translate}{'Sv_version'|translate}{$version}</h2> 5 3 <fieldset style=" position:relative ; top:15px"> 6 4 <legend>{'Sv_admin_titre'|translate}</legend> 7 <div id="instructionFonction" class="instructionBlock" > 8 5 <div id="instructionFonction" class="instructionBlock" > 9 6 <div 10 7 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}3 1 <div class="titrePage"> 4 2 <h2>{'Sv_supervisor'|translate}{'Sv_version'|translate}{$version}</h2> 5 3 </div> 6 7 4 <form action="" method="post" name="form"> 8 9 5 <fieldset> 10 6 <legend>{'Sv_Tab_test'|translate}</legend> -
extensions/Mail_supervisor/include/Scripts.js
r8917 r9702 1 function blockToggleDisplay(headerId, contentId) {2 3 1 function blockToggleDisplay(headerId, contentId) { 2 var revHeader = document.getElementById(headerId); 3 var revContent = document.getElementById(contentId); 4 4 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 } 15 13 } 14 /******************************************* 15 * get_script_geo() 16 ********************************************/ 17 function 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 } 53 jQuery(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 2 2 global $prefixeTable; 3 3 4 if (!defined(' MAIL_SUPERV_TABLE')) define('MAIL_SUPERV_TABLE', $prefixeTable.'mail_superv');4 if (!defined('mail_superv_TABLE')) define('mail_superv_TABLE', $prefixeTable.'mail_superv'); 5 5 if (!defined('MAIL_BLACK_LISTE_TABLE')) define('MAIL_BLACK_LISTE_TABLE', $prefixeTable.'mail_black_list'); 6 6 if (!defined('Sv_MAIL_TABLE')) define('Sv_MAIL_TABLE', $prefixeTable.'Sv_mail'); 7 8 9 10 7 global $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 ); 31 25 32 26 $superv_type = array( -
extensions/Mail_supervisor/include/fonctions.php
r8917 r9702 22 22 // +-----------------------------------------------------------------------+ 23 23 24 if (!defined('PHPWG_ROOT_PATH')) 25 { 26 die('Hacking attempt!'); 27 } 28 24 if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 29 25 if (!defined('MAIL_SUPERV_PATH')) define('MAIL_SUPERV_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/'); 30 26 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'); 27 global $superv_champs , $superv_type ,$superv_bl_champs , $superv_bl_type ; 28 // if (!isset($_COOKIE[session_name()])){} 29 50 30 global $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 } 31 global $template ; 293 32 //=============================================== 294 295 33 function corrige_header($Carbonne,$headers,$args,$cl_list_mail) 296 34 { … … 301 39 if ( count($args[$Carbonne]) > 0 ) 302 40 { 303 if ($mails_options[ check_header_carbon] == 'on') {41 if ($mails_options['check_header_carbon'] == 'on') { 304 42 $cl_list_mail = str_replace(","," , ",get_strict_email_list(implode(',', $args[$Carbonne])))." \n" ; 305 43 $headers = preg_replace('/.*'.$Carbonne.'(.*).\n/i', $Carbonne.': '.$cl_list_mail, $headers); … … 361 99 $retour=str_replace("+0","+",$retour); 362 100 //================================================================================================ 363 364 365 101 return $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 } 382 103 383 104 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 //============================================================================== 105 function 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 //============================================================================== 396 115 $valeurs= array ( 1, 397 0,398 time(),116 0, 117 time(), 399 118 2000, 400 '"604800"' ,119 '"604800"' , 401 120 0, 402 time(),121 time(), 403 122 10, 404 '"172800"',405 406 time(),407 '"172800"',408 '"Init"',123 '"172800"', 124 '"false"', 125 time(), 126 '"172800"', 127 '"Init"', 409 128 '"'.l10n('Sv_supervisor').'"', 410 129 '"'.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 418 135 419 136 //========================================= … … 434 151 { 435 152 global $conf ; 436 437 153 $query = ' 438 154 SELECT DISTINCT u.'.$conf['user_fields']['id'].' AS id, … … 447 163 LEFT JOIN '.USER_GROUP_TABLE.' AS ug 448 164 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.' '; 453 166 $groups=array(); 454 $datas = pwg_query($query); 455 456 457 if (!empty($datas)) 458 { 167 $datas = pwg_query($query); 168 169 if (!empty($datas)) { 459 170 while ($group = mysql_fetch_array($datas,MYSQL_ASSOC)) 460 { 461 462 171 { 463 172 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'] )); 466 174 } 467 175 } … … 472 180 //================================================================================= 473 181 474 function create_table($nom_table,$champs,$types) // MAIL_SUPERV_TABLE182 function create_table($nom_table,$champs,$types) //mail_superv_TABLE 475 183 { 476 184 $i=0; 477 185 $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; 483 190 } 484 191 … … 495 202 496 203 } 497 function ajust_table($nom_table,$champs,$types) // MAIL_SUPERV_TABLE204 function ajust_table($nom_table,$champs,$types) //mail_superv_TABLE 498 205 { 499 206 global $infos_message ; … … 514 221 if ( count($valeurs) == 0) return ; 515 222 516 $infos_message .= "AJUSTE TABLE : ". $nom_table . "<br />" . "NB (col) : ". count($colonnes) . m emo_var($valeurs) . "<br />" ;223 $infos_message .= "AJUSTE TABLE : ". $nom_table . "<br />" . "NB (col) : ". count($colonnes) . mail_supervisor::Memo_Var($valeurs) . "<br />" ; 517 224 518 225 $valeurs=implode(", ",$valeurs) ; … … 556 263 global $mails_donnees,$infos_message,$erreur_message,$page; 557 264 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' ; 265 if (!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' ; 562 268 } 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' ; ; 269 if (!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' ; ; 569 272 } 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' ; 273 if (!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' ; 574 276 } 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 } 585 285 586 286 } … … 730 430 $sep=" "; 731 431 $chaine = trim($chaine); 432 if ($chaine=="") return ; 732 433 $existe = (strpos($sep.$sep,$chaine )===false) ; 733 434 while ($existe ){ 734 435 $str_temp = str_replace($sep.$sep, $sep, $chaine ); 735 436 if($str_temp == $chaine ) return $chaine ; 736 // $erreur_message .= m emo_var($str_temp) ;437 // $erreur_message .= mail_supervisor::Memo_Var($str_temp) ; 737 438 $chaine = $str_temp; 738 439 $existe = (strpos($sep.$sep,$chaine )===false) ; … … 740 441 return $chaine; 741 442 } 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 ============================================ 444 function 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 } 826 509 //============================================================================== 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(); 831 515 if ( $nb > 0 ) 832 516 { … … 848 532 $row = mysql_fetch_row(pwg_query($query)); 849 533 $nb = ($row[7]); 850 $erreur_message .=$ip . ' | ' . $pays . ' | ' . $region . ' | ' . $ville . ' ' . $nb . ' ==> ';534 $erreur_message .= $ip0 . ' | ' .$ip . ' | ' . $pays . ' | ' . $region . ' | ' . $ville . ' ' . $nb . ' ==> '; 851 535 852 536 if ($nb == 0) … … 858 542 "'".$ville."'", 859 543 "'".$user['email']."'", 860 544 "'".$user['username']."'", 861 545 1 862 546 ); … … 883 567 pwg_query($query ); 884 568 } 885 //================================================================================886 887 569 } 888 889 890 return ($nb > 0) ; 570 return ($nb > 0) ; 891 571 } 892 572 //===================================================================================== 893 573 function test_spam($ip =0,$user_name ='', $mail_adresse = "") 894 574 { 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)){ 905 584 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; 910 595 $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) ; 944 615 945 616 } … … 1044 715 } 1045 716 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 1091 717 1092 718 ?> -
extensions/Mail_supervisor/include/function_test_send.php
r8917 r9702 22 22 // +-----------------------------------------------------------------------+ 23 23 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 24 if ( !defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 25 function test_envoie($message,$group_name,$group_id){ 26 global $infos_message,$erreur_message ,$conf,$user,$conf_mail,$mail_donnees,$args,$lang ; 27 $mailto=""; 36 28 load_language('plugin.lang', MAIL_SUPERV_PATH); 37 29 … … 47 39 if (!isset($mails_donnees)) 48 40 { 49 $mails_donnees = Get_Datas();41 $mails_donnees = mail_supervisor::Get_Datas(); 50 42 } 51 43 if (!isset($conf_mail)) … … 55 47 if (isset($args)) 56 48 { 57 $infos_message=m emo_var($args);49 $infos_message=mail_supervisor::Memo_Var($args); 58 50 }else{ 59 51 $args = array(); … … 88 80 //================================================================== 89 81 $message_html .= "</br>" . $message . "</br>" . $message_texte; 90 91 92 82 //========================================================================== 93 83 … … 109 99 $infos_message .='<br />'.l10n('Sv_no_receiver_available') ; 110 100 } 111 112 101 } 113 102 //=============================================================================================================== 114 function mail_attachement($args) 115 { 103 function mail_attachement($args){ 116 104 global $infos_message,$erreur_message ,$conf,$user,$conf_mail,$mail_donnees,$lang ; 117 105 118 $mails_donnees = Get_Datas();106 $mails_donnees = mail_supervisor::Get_Datas(); 119 107 if (!isset($conf_mail)) 120 108 { … … 145 133 146 134 147 148 135 $message_html = '<img src="'.PHPWG_ROOT_PATH.'admin/template/goto/theme/roma/images/piwigo_logo_sombre_214x100.png" />'; 136 ob_start(); 149 137 150 138 echo str_replace("\n","<br />",$message_texte); 151 139 152 153 154 140 $message_html .= ob_get_contents()."\n"; 141 //ob_flush(); 142 ob_end_clean(); 155 143 156 157 144 $limite=$conf_mail['boundary_key']; 145 $headers = date("Y-m-d H:i:s") ."\n"; 158 146 159 147 //======================================================================================= 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 } 164 162 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(); 215 189 $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; 226 198 } 227 228 229 199 ?> -
extensions/Mail_supervisor/include/save_info.php
r4939 r9702 2 2 //======================================================================================= 3 3 if (!defined('MAIL_SUPERV_PATH')) define('MAIL_SUPERV_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/'); 4 5 4 switch (strtolower($info_ip)) 6 5 { 7 case 'ajout' : 8 6 case 'ajout' : 9 7 $ip_black=str_replace("*","%",$ip_black); 10 11 12 8 if (!($ip_black == '')) { 13 9 $query = " … … 17 13 ;"; 18 14 //============================================================================== 19 20 21 15 list($count) = mysql_fetch_row(pwg_query($query)); 16 //============================================================================== 17 $valeurs=array( 'NULL', 22 18 "'".$ip_black."'", 23 "'".$pays."'",24 "'".$region."'",25 "'".$ville."'",26 '"adresse"',27 '"fai" ',28 $count + 129 );19 "'".$pays."'", 20 "'".$region."'", 21 "'".$ville."'", 22 '"adresse"', 23 '"fai" ', 24 $count + 1 25 ); 30 26 ajout_ligne(MAIL_BLACK_LISTE_TABLE,$superv_bl_champs, $valeurs,($count==0)) ; 31 27 } … … 34 30 //================================================================================================ 35 31 case 'raz': 36 32 $ip_black=str_replace('*',"%",$ip_black); 37 33 $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']); 39 37 break; 40 38 41 default: 42 43 44 39 default: 45 40 break; 46 41 … … 48 43 //================ Liste Black liste ================= 49 44 $query = " 50 SELECT *, COUNT(`ip`) as total , `ip` as blacklist, `ip` as U_DELETE51 FROM ".MAIL_BLACK_LISTE_TABLE."52 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 ;"; 54 49 $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)) { 58 52 array_push($liste_bl,$row); 59 } 53 } 60 54 //================ Liste IP ============== 61 55 $req = mysql_query('SELECT count(distinct(`IP`)) FROM '.HISTORY_TABLE.' '); 62 56 $nbip = array_pop(mysql_fetch_row($req)) ; 63 57 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` 79 68 FROM '.MAIL_BLACK_LISTE_TABLE.' ) '; 80 69 } 81 70 82 71 $query .= ' 83 72 GROUP by H.`IP` 84 73 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'].' 87 75 ' ; 76 88 77 $result = pwg_query($query); 89 78 $liste_ip=array(); 90 while ($row = mysql_fetch_array($result,MYSQL_ASSOC)) 91 { 92 79 while ($row = mysql_fetch_array($result,MYSQL_ASSOC)) { 80 81 array_push($liste_ip, $row); 93 82 } 94 95 83 96 84 ?> -
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.1 Ce plugin limite l'envoie de mails par période paramétrable. 2 Traite les messages Warning de la fonction mail (spam, bad recipient address syntax). 3 Bloque l'émission des mails si l'adresse de IP est dans la liste des utilisateurs bloqués. 4 Empêche la connexion au site si l'adresse de IP est dans la liste des utilisateurs bloqués. 5 Test 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.1 Ce plugin limite l'envoie de mails par période paramétrable. 2 2 Traite 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 Test esi l'adresse IP fait partie d'une base de données AntiSpammeur.3 Bloque l'émission des mails si l'adresse de IP est dans la liste des utilisateurs bloqués. 4 Empêche la connexion au site si l'adresse de IP est dans la liste des utilisateurs bloqués. 5 Test 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 7 7 8 8 //======================================================================================================== 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.'; 16 18 //======================================================================================================== 17 19 $lang['Sv_Options']='Options'; 18 20 19 $lang['Sv_hlp_2_1']='Envoie une copie du mail au Webm estre.';20 $lang['Sv_hlp_2_2']='Modifie la structure des dest inataires 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. '; 22 24 23 25 //======================================================================================================== 24 26 $lang['Sv_Options']='Options'; 25 27 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\'envoides 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'; 30 32 31 $lang['Sv_hlp_3_4_0']='<br />Valeurs accept ées: <br />33 $lang['Sv_hlp_3_4_0']='<br />Valeurs acceptees: <br /> 32 34 + n '.l10n('Week').'<br /> 33 35 + n '.l10n('Day').'<br /> … … 35 37 + n '.l10n('Minute').'<br /> 36 38 + 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) ' 38 40 ; 39 41 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.'; 41 43 42 $lang['Sv_state']=' État';44 $lang['Sv_state']='Etat'; 43 45 44 46 $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.'; 49 51 50 52 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 tentativesde 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 67 68 69 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' ; 73 75 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 ' ; 77 79 ?> -
extensions/Mail_supervisor/language/fr_FR/plugin.lang.php
r9208 r9702 5 5 if( !isset($lang['Second'])) $lang['Second'] = l10n('Seconde'); 6 6 //======================================================= 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' ; 7 11 $lang['Sv_Datas'] = 'Datas' ; 8 12 $lang['Sv_Group'] = $lang['Group']; … … 20 24 $lang['Sv_Envoyer'] = 'Envoyer'; 21 25 $lang['Sv_Valider'] = 'Valider'; 22 $lang['Sv_version'] = ' Version :';26 $lang['Sv_version'] = ' Version :'; 23 27 24 28 $lang['Sv_fai'] = $lang['Sv_username']; … … 27 31 $lang['Sv_no_mail_list'] = 'Bloque l\' émission de mail si l\' adresse IP est dans la liste noire.'; 28 32 $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" .'; 31 35 $lang['Sv_unset_black_list'] = 'Supprime de la liste noire'; 32 36 $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!.'; 35 39 $lang['Sv_Ajout'] = 'Ajouter à la liste noire.'; 36 40 … … 48 52 $lang['Sv_mail_sent_to'] = 'Mail envoyé à %s.'; 49 53 $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.'; 51 55 $lang['Sv_verifiez_les_destinataires']='Vérifiez les destinataires:'; 52 56 $lang['Sv_detection_de'] = 'Détection de :' ; … … 55 59 $lang['Sv_Tab_help'] = 'Aide'; 56 60 57 $lang['Sv_Howto'] = 'Gestion des param ètres de surveillance d\'envoides mails.';61 $lang['Sv_Howto'] = 'Gestion des parametres de surveillance d\' envoie des mails.'; 58 62 $lang['Sv_admin_titre'] = 'Administration de '.$lang['Sv_supervisor']; 59 63 $lang['Sv_admin_description'] = 'Dernier message renvoyé. '; … … 64 68 $lang['Sv_check_header_text'] = 'Ajouter un bloc "texte" dans l\'entête du mail.'; 65 69 66 $lang['Sv_admin'] = 'Exclure l\'administrateur des envoi s.';67 $lang['Sv_guest'] = 'Exclure le guest des des envoi s.';70 $lang['Sv_admin'] = 'Exclure l\'administrateur des envoies.'; 71 $lang['Sv_guest'] = 'Exclure le guest des des envoies.'; 68 72 69 73 $lang['Sv_periode'] = 'Période'; -
extensions/Mail_supervisor/main.inc.php
r8917 r9702 2 2 /* 3 3 Plugin Name: Mail supervisor 4 Version: 1.4.4 Beta4 Version: auto 5 5 Description: Mail supervisor surveille l'envoie des mails. 6 6 Plugin URI: http://piwigo.org/ext/extension_view.php?eid=315 … … 9 9 */ 10 10 if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 11 if (!defined(' MAIL_SUPERV_DIR')) define('MAIL_SUPERV_DIR' , basename(dirname(__FILE__)));11 if (!defined('mail_superv_DIR')) define('mail_superv_DIR' , basename(dirname(__FILE__))); 12 12 if (!defined('MAIL_SUPERV_PATH')) define('MAIL_SUPERV_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/'); 13 $MAIL_SUPERV_PATH_ABS=str_replace('\\','/',dirname(__FILE__) ); 14 if (!defined('MAIL_SUPERV_PATH_ABS')) define( 'MAIL_SUPERV_PATH_ABS', $MAIL_SUPERV_PATH_ABS."/"); 15 global $conf,$mails_options ; 13 16 include_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; 17 include_once(MAIL_SUPERV_PATH.'mail_super.inc.php'); 18 $mail_supervisor = new mail_supervisor(); 19 add_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 // 25 include_once (MAIL_SUPERV_PATH.'include/fonctions.php'); 26 //===============loc_begin_index==============loc_after_page_header============================================================= 27 add_event_handler('loc_after_page_header', array(&$mail_supervisor,'init') ); 28 add_event_handler('loc_begin_page_tail', array(&$mail_supervisor,'affiche_message') ); 29 30 //========================================================================================== 31 add_event_handler('send_mail', 'clj_mail',EVENT_HANDLER_PRIORITY_NEUTRAL - 10, 6); 32 function 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 22 38 // 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 ; 40 52 //======== 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' ) { 49 62 //---------- continuer si web master ---------- 50 }else{ 63 64 }else{ 51 65 if (!isset($_GET['admin'])) { 52 66 die('Blacklist : <br />' .$erreur_message. '<br /> Hacking attempt!'); … … 55 69 die('blacklist Hacking attempt!'); 56 70 } 57 return true;71 58 72 } 59 73 60 74 } 61 62 } 75 76 return true; 77 } 63 78 } 64 65 66 79 // lecture donnees ------------- 67 $mails_donnees =Get_Datas();80 $mails_donnees = mail_supervisor::Get_Datas(); 68 81 69 82 $nb_mails = $mails_donnees['nb_mails'] ; … … 91 104 92 105 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']); } 104 114 105 115 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("<",">") ;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("<",">") ; 112 122 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" ; 116 126 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); 123 133 124 134 125 }126 //=============================================================================135 } 136 //============================================================================= 127 137 128 138 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; 132 142 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); 145 155 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 } 149 159 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) { 216 212 $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 ; 239 231 } 240 232 //=========================================================================================== 241 function Gestion_erreurs($message,$ret,$nb_destinataires,$headers,$mailto) 242 { 233 function Gestion_erreurs($message,$ret,$nb_destinataires,$headers,$mailto){ 243 234 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("<",">"); 248 236 $string=array("<",">") ; 249 237 //Warning: mail() has been disabled for security reasons … … 266 254 $headers , 267 255 $nb_destinataires ); 268 //=============== La fonction mail retourneeune erreur ========================= 269 270 256 //=============== La fonction mail retourne une erreur ========================= 271 257 } 272 258 … … 288 274 $mails_donnees['date_quarantaine']= time() ; 289 275 $mails_donnees['quarantaine']= true ; 290 $infos_message .= memo_var($mails_donnees);276 $infos_message .= mail_supervisor::Memo_Var($mails_donnees); 291 277 } 292 293 278 } 294 279 $ret=true; 295 return $ret ; 296 280 return $ret ; 297 281 } 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 //Liableelard330 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 // }else347 $err[] = $user_name . " : " .$mail . " ". l10n('Sv_is_a_spam') ;348 }349 350 return $err ;351 }352 353 354 282 ?> -
extensions/Mail_supervisor/maintain.inc.php
r7050 r9702 21 21 // | USA. | 22 22 // +-----------------------------------------------------------------------+ 23 if (!defined('PHPWG_ROOT_PATH')) 24 { 25 die('Hacking attempt!'); 26 } 23 if (!defined('PHPWG_ROOT_PATH')) { die('Hacking attempt!');} 27 24 if (!defined('MAIL_SUPERV_PATH')) define('MAIL_SUPERV_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/'); 28 25 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 27 function plugin_install(){ 28 global $conf ; 29 if ( !isset($conf['mail_superv']) ){ 36 30 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");'; 41 42 pwg_query($query); 42 //================================================================== 43 44 } 45 43 } 46 44 } 47 48 49 50 function plugin_uninstall() 51 { 52 45 function plugin_uninstall(){ 53 46 $query = ' 54 47 DELETE FROM '.CONFIG_TABLE.' … … 58 51 $query = 'DROP TABLE IF EXISTS '.MAIL_BLACK_LISTE_TABLE.';'; 59 52 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); 64 55 } 65 56 66 function plugin_activate() 67 { 57 function plugin_activate(){ 68 58 include_once (MAIL_SUPERV_PATH.'include/fonctions.php'); 69 59 verif_base() ; 70 60 } 71 61 72 function plugin_deactivate() 73 { 62 function plugin_deactivate(){ 74 63 75 64 }
Note: See TracChangeset
for help on using the changeset viewer.