Changeset 10822 for extensions/Mail_supervisor
- Timestamp:
- May 9, 2011, 11:23:06 AM (13 years ago)
- Location:
- extensions/Mail_supervisor
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/Mail_supervisor/admin/mail_superv_admin.php
r10816 r10822 167 167 168 168 if ( $_POST['submit'] == l10n('Sv_raz') ) { 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 />';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 />'; 178 178 } 179 179 180 180 //=================================================================== 181 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' ;185 186 //donnees187 $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 //=======================================================================================================197 verif_mails_donnees();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 }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' ; 185 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 //======================================================================================================= 197 verif_mails_donnees(); 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 205 } 206 206 $mails_donnees = mail_supervisor::Get_Datas(); … … 287 287 288 288 if (function_exists('get_user_language_desc') ) $message = get_user_language_desc($message); 289 if ( $_POST['Submit']==l10n('Sv_Valider') ) { 290 $mails_donnees['message_test']= str_replace('"',"'",$message) ; 291 mail_supervisor::sauve_donnees(); 292 $_POST['Submit']=""; 289 290 if ( $_POST['Submit']==l10n('Sv_Valider') ) { 291 $mails_donnees['message_test']= str_replace('"',"'",$message) ; 292 mail_supervisor::sauve_donnees(); 293 $mails_options['debug_mail'] = isset($_POST['debug_mail']) ? "on" : "off" ; 294 mail_supervisor::sauve_options(); 295 $_POST['Submit']=""; 293 296 }else if ( $_POST['Submit']==l10n('Sv_Envoyer') ) { 294 297 /* … … 318 321 ); 319 322 320 $mails_donnees['message_test']= str_replace('"',"'",$message) ; 321 322 unset_make_full_url(); 323 $mails_donnees['message_test']= str_replace('"',"'",$message) ; 323 324 mail_supervisor::sauve_donnees(); 324 $mails_donnees = mail_supervisor::Get_Datas() ; 325 $mails_options['debug_mail'] = isset($_POST['debug_mail']) ? "on" : "off" ; 326 mail_supervisor::sauve_options(); 325 327 $query = 'SELECT 326 328 name … … 362 364 $List_dest=get_liste($group_id) ; 363 365 //$destinataires= implode("<br />".$chk_cl,get_liste($group_id)); 364 */ 365 366 366 */ 367 367 $destinataires=""; 368 368 $List_dest = get_liste($group_id) ; … … 372 372 if( $destinataires !="" ) $infos_message .= " List :<hr>" . $destinataires . "<hr>" ; 373 373 374 $mails_options['debug_mail'] = isset($mails_options['debug_mail']) ? $mails_options['debug_mail'] : "off" ; 375 374 376 $template->assign( 375 377 array( … … 377 379 'message_test' => $mails_donnees['message_test'] , 378 380 'liste' => get_liste($group_id) , 379 381 'debug_mail' => ($mails_options['debug_mail'] == 'on') ? 'checked="checked"' : '' , 380 382 'version' => $version , 381 383 'MAIL_CONTENT' => $mails_donnees['message_test'], … … 430 432 $mails_options['no_connect'] = isset($_POST['no_connect']) ? "on" : "off" ; 431 433 $mails_options['set_auto'] = isset($_POST['set_auto']) ? "on" : "off" ; 432 $mails_options['set_id'] = isset($_POST['set_id']) ? "on" : "off" ; 434 $mails_options['set_id'] = isset($_POST['set_id']) ? "on" : "off" ; 435 433 436 mail_supervisor::sauve_options(); 434 437 $infos_message .= l10n('Sv_save_config') . '<br />'; -
extensions/Mail_supervisor/admin/mail_superv_test.tpl
r10816 r10822 19 19 </select> 20 20 </td> 21 <td > 21 <td > 22 <input type="checkbox" name="debug_mail" value="on" {$debug_mail} /> {'Sv_debug_mail'|translate} 23 </td> 24 <td > 22 25 {if not empty($liste)} 23 26 … … 29 32 </td> 30 33 </tr> 31 34 </table> 35 <table> 32 36 <tr> 33 37 <td><strong>{'Sv_mail_content'|@translate}</strong></td> -
extensions/Mail_supervisor/language/en_UK/plugin.lang.php
r10419 r10822 5 5 if( !isset($lang['Second'])) $lang['Second'] = l10n('Seconde'); 6 6 //======================================================= 7 $lang['Sv_debug_mail'] = 'Debug.'; 7 8 $lang['Sv_Datas'] = 'Datas' ; 8 9 $lang['Sv_Group'] = $lang['Group']; … … 103 104 ' The %s <br />' ; 104 105 105 $lang['Sv_debug_message']= ' 106 The mail function returned [%s] <br /> 107 MESSAGE error : [ %s ] <br /> 108 mailto: [ %s ] <br /> 109 HEADERS: [ %s ] <br /> 110 Number of recipients [ %s ]<br /> 111 '; 106 107 108 $ms_f1='The mail function returned '; 109 $ms_f2='MESSAGE error'; 110 $ms_f3='MAILTO'; 111 $ms_f4='SUBJECT'; 112 $ms_f5='HEADERS'; 113 $ms_f6='CONTENT'; 114 $ms_f7='Number of recipients'; 115 116 $lang['Sv_debug_message']= '<div style="border: 1px solid red; color: green;"> 117 '.$ms_f1.' :<div style="background-color:white;color: black;"> %s </div> 118 '.$ms_f2.' :<div style="background-color:white; color: black;"> %s </div> 119 '.$ms_f3.' :<div style="background-color:white; color: black;"> %s </div> 120 '.$ms_f4.' :<div style="background-color:white; color: black;"> %s </div> 121 '.$ms_f5.' :<div style="background-color:white; color: black;"> %s </div> 122 '.$ms_f6.' :<div style="background-color:white; color: black;"> %s </div> 123 '.$ms_f7.' %s 124 </div>'; 125 112 126 113 127 $lang['Sv_message_texte "%s" "%s" "%s" "%s"'] =' -
extensions/Mail_supervisor/language/fr_FR/plugin.lang.php
r10419 r10822 5 5 if( !isset($lang['Second'])) $lang['Second'] = l10n('Seconde'); 6 6 //======================================================= 7 7 $lang['Sv_debug_mail'] = 'Débogage.'; 8 8 $lang['Sv_Are_you_sure'] = 'Etes-vous sûr' ; 9 9 $lang['Sv_no_verif'] = 'IP Non vérifié.' ; … … 108 108 ' Le %s <br />' ; 109 109 110 $lang['Sv_debug_message']= ' 111 La fonction mail à retourné [%s] <br /> 112 MESSAGE erreur : [ %s ] <br /> 113 mailto: [ %s ] <br /> 114 HEADERS: [ %s ] <br /> 115 Nombre de destinataires [ %s ]<br /> 116 '; 110 $ms_f1='La fonction mail à retourné'; 111 $ms_f2='MESSAGE erreur '; 112 $ms_f3='mailto '; 113 $ms_f4='SUJET '; 114 $ms_f5='HEADERS '; 115 $ms_f6='CONTENU '; 116 $ms_f7='Nombre de destinataires '; 117 118 $lang['Sv_debug_message']= '<div style="border: 1px solid red; color: green;"> 119 '.$ms_f1.' :<div style="background-color:white;color: black;"> %s </div> 120 '.$ms_f2.' :<div style="background-color:white; color: black;"> %s </div> 121 '.$ms_f3.' :<div style="background-color:white; color: black;"> %s </div> 122 '.$ms_f4.' :<div style="background-color:white; color: black;"> %s </div> 123 '.$ms_f5.' :<div style="background-color:white; color: black;"> %s </div> 124 '.$ms_f6.' :<div style="background-color:white; color: black;"> %s </div> 125 '.$ms_f7.' %s 126 </div>'; 117 127 118 128 $lang['Sv_message_texte "%s" "%s" "%s" "%s"'] =' -
extensions/Mail_supervisor/mail_super.inc.php
r10419 r10822 232 232 function Get_Options($parametres,$str_index){ 233 233 global $conf,$mails_options ; 234 $mails_options= $conf[$str_index];235 236 if(isset($mails_options))237 if ( preg_match("|s:(.*)|", $mails_options, $val) )238 $parametres = unserialize($conf['mail_superv']);239 else{240 $parametres=explode(",",$mails_options); 241 242 $def_para->check_mailto="on";243 $def_para->check_header_carbon="on";244 $def_para->check_header_text="on";245 $def_para->no_mail_list="on";246 $def_para->no_connect="on"; // empeche l'ip de se connecter au site.247 $def_para->set_auto="on"; // Test a l'ouverture et enregistrement248 $def_para->ip="127.0.0.1"; // dernièrre adresse IP249 $def_para->set_id="on"; // enregistrment nouvel250 $i=0;251 foreach ($def_para as $key => $value) {252 $value=$parametres[$i];253 unset( $parametres[$i]) ;254 $parametres[$key]= $value ;255 $i++;256 }257 }258 return mail_supervisor::Set_Options($parametres,$str_index);234 $mails_options= $conf[$str_index]; 235 if(isset($mails_options)) 236 if ( preg_match("|s:(.*)|", $mails_options, $val) ) 237 $parametres = unserialize($conf['mail_superv']); 238 else{ 239 $parametres=explode(",",$mails_options); 240 241 $def_para->check_mailto="on"; 242 $def_para->check_header_carbon="on"; 243 $def_para->check_header_text="on"; 244 $def_para->no_mail_list="on"; 245 $def_para->no_connect="on"; // empeche l'ip de se connecter au site. 246 $def_para->set_auto="on"; // Test a l'ouverture et enregistrement 247 $def_para->ip="127.0.0.1"; // dernièrre adresse IP 248 $def_para->set_id="on"; // enregistrment nouvel 249 $def_para->debug_mail="off"; // debogage 250 $i=0; 251 foreach ($def_para as $key => $value) { 252 $value=$parametres[$i]; 253 unset( $parametres[$i]) ; 254 $parametres[$key]= $value ; 255 $i++; 256 } 257 } 258 return mail_supervisor::Set_Options($parametres,$str_index); 259 259 } 260 260 //========================================================== … … 263 263 foreach ($parametres as $key => $value) { 264 264 $parametres[$key]=(isset($_POST[$key]))? "on" : $value ; 265 }266 $parametres['no_connect']= 'off' ;265 } 266 $parametres['no_connect']= 'off' ; 267 267 return $parametres ; 268 268 } -
extensions/Mail_supervisor/main.inc.php
r10816 r10822 173 173 } 174 174 175 $content= cl_pwg_mail($args); 176 177 178 if ( !preg_match('/'. $conf_mail['boundary_key'] .'/', $headers)){ 179 $erreur_message .= "ERREUR manque : boundary_key dans le headers <br />"; 175 $pattern = '/(http:\/\/)([0-9].*)([0-9]\/)/'; 176 //---- si adresse avec ip , certaine boite aux lettres traite ces messages en spam (orange+windowsmail) 177 if(preg_match($pattern, $content)){ 178 // remplace 192.168.1.25 par rien ?? 179 $replacement = '${1}'; 180 $content = preg_replace( $pattern, $replacement, $content ); 181 } 182 183 $content= preg_replace('#(?<!\r)\n#si', "\r\n", $content); //drop LF barre 184 185 if (!preg_match('/'. $conf_mail['boundary_key'] .'/', $headers)){ 186 $erreur_message .= "<br />ERREUR manque : boundary_key dans le headers <br />"; 180 187 $infos_message = l10n('Sv_mail_not_send'); 181 $envoie_ok= false ; 182 } 183 184 185 186 if( isset($conf['debug_mail']) && $conf['debug_mail']=="true") { 187 188 // $erreur_message .="DEBUG:"."<br />Theme: ". $file. "<br />"; 189 190 $content1 = htmlspecialchars( var_export($headers, true ) ); 191 $erreur_message .="<br />DEBUG -> "." Header: <br />". $content1 ."<br />"; 192 193 $content1 = htmlspecialchars( var_export($mailto, true ) ); 194 $erreur_message .="<br />DEBUG -> "." Mail to: <br />". $content1 ."<br />"; 195 196 $content1 = htmlspecialchars( var_export($subject ,true ) ); 197 $erreur_message .="<br />DEBUG -> "." Sujet: <br />". $content1 ."<br />"; 198 199 $content1 = htmlspecialchars( var_export($content, true ) ); 200 $erreur_message .="<br />DEBUG -> "." Contenu:<br />" . $content1 ."<br />"; 201 } 202 203 204 $ret=false; 188 $envoie_ok= false ; 189 } 190 $ret=false; 191 ob_start(); 205 192 //======== Non mise en quarantaine ============= 206 207 208 ob_start();193 //echo "warning spam" ; 194 // echo " Warning: mail() has been disabled for security reasons"; 195 209 196 if ($nb_destinataires > 0) { 210 197 if( $envoie_ok) $ret = mail($mailto, $subject,$content, $headers); … … 217 204 trigger_event('mail_supervisor_mail', $arg_trigg ); 218 205 $mails_donnees['message']=$message; 219 Gestion_erreurs($message,$ret,$nb_destinataires,$headers,$mailto );206 Gestion_erreurs($message,$ret,$nb_destinataires,$headers,$mailto, $subject,$content); 220 207 } else { 221 208 //================== Est en quarantaine ======================= … … 260 247 } 261 248 //=========================================================================================== 262 function Gestion_erreurs($message,$ret,$nb_destinataires,$headers,$mailto ){249 function Gestion_erreurs($message,$ret,$nb_destinataires,$headers,$mailto, $subject,$content){ 263 250 global $conf, $user, $conf_mail,$mails_options,$mails_donnees , $template,$page ,$infos_message,$erreur_message,$args,$lang, $lang_info; 264 251 $match=array("<",">"); 265 $string=array("<",">") ; 266 //Warning: mail() has been disabled for security reasons 267 268 $est_un_spam =!(strpos(strtolower($message), 'spam') === false); 269 $headers=str_replace( $match,$string, $headers); 270 252 $string=array("<",">") ; 253 // $headers=str_replace( $match,$string, $headers); 254 // Warning: mail() has been disabled for security reasons 255 $est_un_spam =!(strpos(strtolower($message), 'spam') === false); 271 256 if ( ($ret==false) || ($est_un_spam==true) || ($nb_destinataires == 0) ) { 272 ;// Bad recipient address syntax257 // Bad recipient address syntax 273 258 $pos1 = strpos(strtolower($message), 'bad recipient address syntax'); 274 259 if ( !($pos1 === false) ){ 275 260 $erreur_message .= l10n('Sv_detection_de').' Bad recipient address syntax .'; 276 261 $erreur_message .= l10n('Sv_verifiez_les_destinataires').' (Bcc,Cc,To)<br />'; 277 } 278 279 $erreur_message .= sprintf(l10n('Sv_debug_message'), 280 ($ret==true)? "true" : "false", 281 $message , 282 $mailto , 283 $headers , 284 $nb_destinataires ); 285 //=============== La fonction mail retourne une erreur ========================= 286 } 287 288 if ($est_un_spam == false) 289 { 262 } 263 264 $erreur_message .=sprintf(l10n('Sv_debug_message'), 265 ($ret==true)? "true" : "false", 266 htmlspecialchars($message) , 267 htmlspecialchars( $mailto) , 268 htmlspecialchars($subject) , 269 htmlspecialchars($headers) , 270 htmlspecialchars($content) , 271 $nb_destinataires ); 272 273 Mail_supervisor_log($mailto,$erreur_message) ; 274 //=============== La fonction mail retourne une erreur ========================= 275 }else{ 276 277 if( isset($mails_options['debug_mail']) && $mails_options['debug_mail']=="on") { 278 $erreur_message .="DEBUG : <br />" .sprintf(l10n('Sv_debug_message'), 279 "DEBUG", 280 htmlspecialchars( $message) , 281 htmlspecialchars( $mailto) , 282 htmlspecialchars($subject) , 283 htmlspecialchars($headers) , 284 htmlspecialchars($content) , 285 $nb_destinataires ); 286 287 Mail_supervisor_log($mailto,$erreur_message) ; 288 } 289 } 290 291 292 293 if ($est_un_spam == false){ 290 294 if ($mails_donnees['nb_mails']==0) { $mails_donnees['date_mail'] = time(); } 291 295 $mails_donnees['nb_mails'] += $nb_destinataires; 292 } 293 else 294 { 296 } else { 295 297 $mails_donnees['nb_spams'] += $nb_destinataires; 296 298 //--- Detection de spam ------------------ … … 308 310 $ret=true; 309 311 return $ret ; 312 } 313 //============================================================ 314 global $ms_file_log; 315 $dir=$conf['local_data_dir'].'/Mail_supervisor_log'; 316 if (!is_dir($dir)){ 317 $umask = umask(0); 318 $mkd = @mkdir($dir, 0755, true ); 319 umask($umask); 320 321 if ($mkd==false){ 322 fatal_error( "$dir ".l10n('no write access')); 323 return false; 324 } 325 $file = $dir.'/.htaccess'; 326 @file_put_contents( $file, 'allow from all' ); 327 328 } 329 if($ms_file_log=="") $ms_file_log=$dir."/"."pw1.html"; 330 331 332 //============================================================ 333 function Mail_supervisor_log($label_,$lines){ 334 global $ms_file_log,$conf; 335 $nb_lignes=300 ; 336 $t= var_export( $lines, true ); 337 $s = htmlspecialchars( $lines); 338 $s = ( $lines); 339 if (!file_exists($ms_file_log)) { 340 $handle = fopen($ms_file_log, 'w'); 341 fwrite($handle, "\n"); 342 fclose($handle); 343 } 344 $tableau=file($ms_file_log); 345 $handle = fopen($ms_file_log, 'a'); 346 $nb=count ($tableau); 347 if($nb>$nb_lignes) { 348 $handle = fopen($ms_file_log, 'w'); 349 fwrite($handle, $nb. " > " . $nb_lignes . " RAZ " ."\n"); 350 } 351 //rewind ($handle); // Go back to the beginning 352 //fwrite ($handle, sprintf("%5d ", $nb)); // Don't forget to increment the counter 353 $s="\n".date('Y m d H:m:s ')."\n".$s; 354 355 356 $s= nl2br($s); 357 358 if( $s !="") fwrite($handle,$s ); 359 fclose($handle); 310 360 } 311 361 … … 432 482 unset_make_full_url(); 433 483 434 $pattern = '/(http:\/\/)([0-9].*)([0-9]\/)/'; 435 if(preg_match($pattern, $content)){ 436 //remplace 192.168.1.25 par rien ?? 437 $replacement = '${1}'; 438 $content = preg_replace( $pattern, $replacement, $content ); 439 //$content1 = htmlspecialchars( var_export($content, true ) ); 440 } 441 442 $content= preg_replace('#(?<!\r)\n#si', "\r\n", $content); //drop LF barre 484 443 485 444 486 return $content; -
extensions/Mail_supervisor/maintain.inc.php
r10419 r10822 37 37 $my_para['ip']="127.0.0.1"; // dernièrre adresse IP 38 38 $my_para['set_id']="on"; // enregistrment nouvel 39 $my_para['debug_mail']="off"; // debogage 39 40 $mails_values= addslashes(serialize($my_para)); 40 41 $query = 'INSERT INTO '.CONFIG_TABLE.' (param, value, comment)
Note: See TracChangeset
for help on using the changeset viewer.