Changeset 4029 for extensions/Mail_supervisor
- Timestamp:
- Oct 13, 2009, 1:40:08 PM (14 years ago)
- Location:
- extensions/Mail_supervisor
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/Mail_supervisor/admin/mail_superv_admin.php
r4023 r4029 1 1 <?php 2 if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 3 load_language('plugin.lang', MAIL_SUPERV_PATH); 2 // +-----------------------------------------------------------------------+ 3 // | Piwigo - a PHP based picture gallery | 4 // +-----------------------------------------------------------------------+ 5 // | Copyright(C) 2008-2009 Piwigo Team http://piwigo.org | 6 // | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net | 7 // | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick | 8 // +-----------------------------------------------------------------------+ 9 // | This program is free software; you can redistribute it and/or modify | 10 // | it under the terms of the GNU General Public License as published by | 11 // | the Free Software Foundation | 12 // | | 13 // | This program is distributed in the hope that it will be useful, but | 14 // | WITHOUT ANY WARRANTY; without even the implied warranty of | 15 // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 16 // | General Public License for more details. | 17 // | | 18 // | You should have received a copy of the GNU General Public License | 19 // | along with this program; if not, write to the Free Software | 20 // | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | 21 // | USA. | 22 // +-----------------------------------------------------------------------+ 23 24 if ( !defined('PHPWG_ROOT_PATH')) 25 { 26 die('Hacking attempt!'); 27 } 28 29 4 30 include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); 5 31 … … 10 36 $mails_données=Get_Datas(); 11 37 12 $search=array("D","H","M","S","W");13 $replace=array(" day"," Hour"," minute"," second"," week"); 38 39 14 40 41 $list_period=array('week','day','hour','minute','seconde'); 42 $list_period_label=array(l10n('Week'),l10n('Day'),l10n('Hour'),l10n('Minute'),l10n('Seconde')); 43 15 44 16 45 if ( isset($_POST['test_envoie']) ) { … … 27 56 $mails_données['date_mail'] = time(); 28 57 $mails_données['date_spam'] = time(); 58 29 59 $mails_données['reste'] = 0; 30 60 31 $query = ' 32 UPDATE '.MAIL_SUPERV_TABLE.' 33 SET `nb_mails` = 0, 34 `date_mail` = '.time().', 35 `nb_mails_maxi` = '.$mails_données['nb_mails_maxi'].', 36 `nb_mails_periode` = "'.$mails_données['nb_mails_periode'].'", 37 38 `nb_spams` = 0, 39 `date_spam` = '.time().', 40 `nb_spams_maxi` = '.$mails_données['nb_spams_maxi'].', 41 `nb_spams_periode` = "'.$mails_données['nb_spams_periode'].'", 42 43 `quarantaine` = "false", 44 `date_quarantaine` = '.time().', 45 46 `message` = "'.$mails_données['message'].'", 47 `header_text` = "'.$mails_données['header_text'].'" 48 WHERE `id` =1 LIMIT 1 '; 49 50 51 pwg_query($query); 61 $mails_données['quarantaine']=false; 62 63 sauve_données(); 52 64 53 65 array_push($page['infos'], l10n('save_config')); … … 70 82 $mails_données['nb_spams_maxi'] = isset($_POST['nb_spams_maxi']) ? $_POST['nb_spams_maxi'] : $mails_données['nb_spams_maxi'] ; 71 83 $mails_données['nb_spams_periode'] = isset($_POST['nb_spams_periode']) ? $_POST['nb_spams_periode'] : $mails_données['nb_spams_periode'] ; 84 $mails_données['quarantaine_periode'] = isset($_POST['quarantaine_periode']) ? $_POST['quarantaine_periode'] : $mails_données['quarantaine_periode'] ; 72 85 73 86 $mails_données['message'] = isset($_POST['content']) ? $_POST['content'] : $mails_données['message'] ; 74 87 $mails_données['header_text'] = isset($_POST['header_text']) ? $_POST['header_text'] : $mails_données['header_text'] ; 75 88 //=========================================================================================================== 76 $query = ' 77 UPDATE '.CONFIG_TABLE.' 78 SET value="'.$mails_options[0]. ',' .$mails_options[1]. ',' .$mails_options[2].',' .$mails_options[3]. ',' .$mails_options[4]. '" 79 WHERE param="mail_superv" 80 LIMIT 1'; 81 pwg_query($query); 89 sauve_options(); 82 90 83 84 $query = ' 85 UPDATE '.MAIL_SUPERV_TABLE.' 86 SET `nb_mails` = '.$mails_données['nb_mails'].', 87 `date_mail` = '.$mails_données['date_mail'].', 88 `nb_mails_maxi` = '.$mails_données['nb_mails_maxi'].', 89 `nb_mails_periode` = "'.$mails_données['nb_mails_periode'].'", 90 91 `nb_spams` = '.$mails_données['nb_spams'].', 92 `date_spam` = '.$mails_données['date_spam'].', 93 `nb_spams_maxi` = '.$mails_données['nb_spams_maxi'].', 94 `nb_spams_periode` = "'.$mails_données['nb_spams_periode'].'", 95 96 `quarantaine` = "'.$mails_données['quarantaine'].'", 97 `date_quarantaine` = '.$mails_données['date_quarantaine'].', 98 99 `message` = "'.$mails_données['message'].'", 100 `header_text` = "'.$mails_données['header_text'].'" 101 WHERE `id` =1 LIMIT 1 '; 102 103 104 pwg_query($query); 91 //============================================================================================== 92 sauve_données(); 105 93 106 94 //=========================================================================================================== … … 110 98 } 111 99 100 $mails_données = Get_Datas() ; 101 102 $rest_mail= $mails_données['rest_mail']; 103 $rest_spam= $mails_données['rest_spam']; 104 $reste= $mails_données['reste']; 105 106 $quarantaine= $mails_données['quarantaine']; 107 112 108 113 $rest_mail= $mails_données['date_mail']-time() ;114 $rest_mail= "'".int_to_heure($rest_mail)."'";115 116 $rest_spam= $mails_données['date_spam']-time() ;117 $rest_spam= "'".int_to_heure($rest_spam)."'";118 109 119 110 $template->assign( … … 126 117 127 118 'nb_mails' => $mails_données['nb_mails'] , 128 'date_mail' => "'".date( 'Y-M-d H:m:s',$mails_données['date_mail'])."'" ,119 'date_mail' => "'".date(l10n('formatdate'),$mails_données['date_mail'])."'" , 129 120 'nb_mails_maxi' => $mails_données['nb_mails_maxi'] , 130 121 'nb_mails_periode' => "'".$mails_données['nb_mails_periode']."'" , 131 'time_mails_reste' => ( $rest_mail ),122 'time_mails_reste' => "'".int_to_heure( $rest_mail )."'" , 132 123 133 124 'nb_spams' => $mails_données['nb_spams'] , 134 'date_spam' => "'".date( 'Y-M-d H:m:s',$mails_données['date_spam'])."'" ,125 'date_spam' => "'".date(l10n('formatdate'),$mails_données['date_spam'])."'" , 135 126 'nb_spams_maxi' => $mails_données['nb_spams_maxi'] , 136 127 'nb_spams_periode' => "'".$mails_données['nb_spams_periode']."'" , 137 'time_spams_reste' => ($rest_spam),128 'time_spams_reste' => "'".int_to_heure($rest_spam)."'" , 138 129 139 'date_quarantaine' => "'".date('Y-M-d H:m:s',$mails_données['date_quarantaine'])."'" , 140 'reste' => int_to_heure($mails_données['reste']), 130 'quarantaine' => $mails_données['quarantaine'] , 131 'date_quarantaine' => "'".date(l10n('formatdate'),$mails_données['date_quarantaine'])."'" , 132 'quarantaine_periode' => "'".$mails_données['quarantaine_periode']."'" , 133 'reste' => "'".int_to_heure($reste)."'", 141 134 142 135 'message' => $mails_données['message'] , 143 136 'header_text' => "'".$mails_données['header_text']."'" , 137 138 'list_period' => $list_period , 139 'list_period_label' => $list_period_label , 140 144 141 ) 145 142 ); -
extensions/Mail_supervisor/admin/mail_superv_admin.tpl
r4021 r4029 4 4 <span>{'Howto'|translate}</span> 5 5 <form action="" method="post" name="form"> 6 6 7 <fieldset> 7 8 <legend>{'free_admin_titre'|translate}</legend> … … 12 13 <td><input type="checkbox" name="check_header_text" value="on" {$check_header_text} /> {'check_header_text'|translate}</td> 13 14 <td><input type="text" name="header_text" value={$header_text} /></td> 14 15 15 16 16 … … 25 25 <td><input type="text" name="date_mail" value={$date_mail} /></td> 26 26 <td><input type="text" name="nb_mails_maxi" size="10%" value={$nb_mails_maxi} /></td> 27 <td><input type="text" name="nb_mails_periode" size="10%" value={$nb_mails_periode} /></td> 27 <td><input type="text" name="nb_mails_periode" size="10%" value={$nb_mails_periode} /> 28 </td> 29 28 30 <td><input type="text" name="time_mails_reste" size="50%" value={$time_mails_reste} /></td> 29 31 </tr> … … 42 44 43 45 <tr> 44 45 <td>{'free_quarantaine'|translate}</td> 46 <td><input type="text" name="reste" value={$reste} /></td> 47 <td>{'free_heures'|translate}</td> 48 49 <td><input type="text" name="date_quarantaine" value={$date_quarantaine} /> 46 47 { if $quarantaine } 48 <td>{'free_quarantaine'|translate}</td>' 49 <td> </td> 50 <td><input type="text" name="date_quarantaine" value={$date_quarantaine} /> 51 <td> </td> 52 53 <td><input type="text" name="quarantaine_periode" size="10%" value={$quarantaine_periode} /></td> 54 <td><input type="text" name="reste" size="50%" value={$reste} /></td> 55 {/if} 56 { if !$quarantaine } 57 <td> </td> 58 <td> Quarantaine </td> 59 <td> </td> 60 <td> </td> 61 <td><input type="text" name="quarantaine_periode" size="10%" value={$quarantaine_periode} /></td> 50 62 51 <input class="submit" type="submit" name="raz" value="raz" /> 52 </td></tr> 63 {/if} 64 65 66 </tr> 53 67 54 68 </table> … … 60 74 61 75 </table> 62 76 </fieldset> 63 77 <p><input class="submit" type="submit" name="submit" value="{'Submit'|translate}" /> 78 <input class="submit" type="submit" name="raz" value="raz" /> 64 79 <input class="submit" type="submit" name="test_envoie" value="{'test'|translate}" /> 65 80 </p> -
extensions/Mail_supervisor/include/constants.php
r4020 r4029 1 1 <?php 2 2 global $prefixeTable; 3 3 4 if (!defined('MAIL_SUPERV_TABLE')) define('MAIL_SUPERV_TABLE', $prefixeTable.'mail_superv'); 4 5 if (!defined('FREE_MAIL_TABLE')) define('FREE_MAIL_TABLE', $prefixeTable.'free_mail'); -
extensions/Mail_supervisor/include/fonctions.php
r4020 r4029 1 1 <?php 2 // +-----------------------------------------------------------------------+ 3 // | Piwigo - a PHP based picture gallery | 4 // +-----------------------------------------------------------------------+ 5 // | Copyright(C) 2008-2009 Piwigo Team http://piwigo.org | 6 // | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net | 7 // | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick | 8 // +-----------------------------------------------------------------------+ 9 // | This program is free software; you can redistribute it and/or modify | 10 // | it under the terms of the GNU General Public License as published by | 11 // | the Free Software Foundation | 12 // | | 13 // | This program is distributed in the hope that it will be useful, but | 14 // | WITHOUT ANY WARRANTY; without even the implied warranty of | 15 // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 16 // | General Public License for more details. | 17 // | | 18 // | You should have received a copy of the GNU General Public License | 19 // | along with this program; if not, write to the Free Software | 20 // | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | 21 // | USA. | 22 // +-----------------------------------------------------------------------+ 23 24 if (!defined('PHPWG_ROOT_PATH')) 25 { 26 die('Hacking attempt!'); 27 } 28 29 2 30 load_language('plugin.lang', MAIL_SUPERV_PATH); 3 31 include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 32 global $period_search,$period_match ; 33 $period_search=array("D","H","M","S","W"); 34 array_push($period_search,l10n('Week'),l10n('Day'),l10n('Hour'),l10n('Minute'),l10n('Seconde')); 35 36 $period_match=array(" day"," hour"," minute"," second"," week"); 37 array_push($period_match,'week','day','hour','minute','seconde'); 4 38 5 39 function sauve_options() … … 18 52 { 19 53 global $mails_données ; 20 $query = ' 54 55 $query = ' 21 56 UPDATE '.MAIL_SUPERV_TABLE.' 22 57 SET `nb_mails` = '.$mails_données['nb_mails'].', 23 58 `date_mail` = '.$mails_données['date_mail'].', 24 59 `nb_mails_maxi` = '.$mails_données['nb_mails_maxi'].', 25 `nb_mails_periode` = "'.$mails_données['nb_mails_periode'].'",26 60 `nb_mails_periode` = "'.$mails_données['nb_mails_periode'].'", 61 27 62 `nb_spams` = '.$mails_données['nb_spams'].', 28 63 `date_spam` = '.$mails_données['date_spam'].', 29 64 `nb_spams_maxi` = '.$mails_données['nb_spams_maxi'].', 30 `nb_spams_periode` = "'.$mails_données['nb_spams_periode'].'",65 `nb_spams_periode` = "'.$mails_données['nb_spams_periode'].'", 31 66 32 67 `quarantaine` = "'.$mails_données['quarantaine'].'", 33 68 `date_quarantaine` = '.$mails_données['date_quarantaine'].', 34 69 70 `quarantaine_periode` = "'.$mails_données['quarantaine_periode'].'", 71 35 72 `message` = "'.$mails_données['message'].'", 36 73 `header_text` = "'.$mails_données['header_text'].'" 37 74 WHERE `id` =1 LIMIT 1 '; 75 76 38 77 pwg_query($query); 78 79 39 80 } 40 81 //================================================================================= … … 48 89 if ($erreur_message <> "") 49 90 { 50 $erreur_message=str_replace("\n",'<br />',$erreur_message) ; 51 $erreur_message=sprintf(l10n('free_message "%s"'), $erreur_message ) ; 91 $erreur_message=str_replace("\n",'<br />',$erreur_message) ; 52 92 $template->assign('errors',$erreur_message); 53 93 $erreur_message=""; … … 61 101 if ($infos_message <> "") 62 102 { 63 $infos_message=str_replace("\n",'<br />',$infos_message) ;103 $infos_message=str_replace("\n",'<br />',$infos_message) ; 64 104 $template->assign('infos',$infos_message); 65 105 $infos_message=""; … … 76 116 function Get_Datas() 77 117 { 78 79 $query = " 118 ob_start(); 119 120 $data=Lire_datas(); 121 122 123 $m= ob_get_contents(); 124 ob_end_clean(); 125 126 if (strlen($m)>0) { 127 vérif_base() ; 128 $data=Lire_datas(); 129 } 130 return $data; 131 } 132 133 function Lire_datas() 134 { 135 global $period_search,$period_match ; 136 $query = " 80 137 SELECT * 81 138 FROM ".MAIL_SUPERV_TABLE." 82 139 ;"; 83 140 $data = mysql_fetch_array(pwg_query($query)); 84 $data['reste']= ($data['date_quarantaine']-time()) ; 85 $data['reste_mail']= ($data['date_mail']-time()) ; 86 $data['reste_spam']= ($data['date_spam']-time()) ; 87 88 return $data; 141 //==================================================================================== 142 143 144 $mails_periode="+".str_replace($period_search, $period_match, $data['nb_mails_periode']); 145 $next_day = strtotime( $mails_periode,$data['date_mail']); 146 $data['rest_mail']= ( $next_day )-time() ; 147 148 149 $spams_periode="+".str_replace($period_search, $period_match, $data['nb_spams_periode']); 150 $next_day = strtotime( $spams_periode,$data['date_spam']); 151 $data['rest_spam']= ( $next_day )-time() ; 152 153 154 $quarantaine_periode="+".str_replace($period_search, $period_match, $data['quarantaine_periode']); 155 $next_day = strtotime( $quarantaine_periode,$data['date_quarantaine']); 156 if ($data['quarantaine']) { 157 $data['reste'] = ( $next_day )-time() ; 158 }else{ 159 $data['reste'] = 0; 160 } 161 162 return $data; 89 163 } 90 164 … … 147 221 $minutes=substr ('00'.$minutes,-2,2); 148 222 $secondes=substr ('00'.$secondes,-2,2); 223 149 224 if ($week > 0 ) 150 225 { 226 151 227 return $week. " " .l10n('Week'). " " . $day . " " .l10n('Day'). "s ". $heures . " ". l10n('Hour'). "s " . $minutes. " " .l10n('minute'). "s ". $secondes." " .l10n('seconde')."s"; 152 228 } 153 return $day . " " .l10n('Day'). "s ". $heures . " ". l10n('Hour'). "s " . $minutes. " " .l10n(' minute'). "s ". $secondes." " .l10n('seconde')."s";229 return $day . " " .l10n('Day'). "s ". $heures . " ". l10n('Hour'). "s " . $minutes. " " .l10n('Minute'). "s ". $secondes." " .l10n('Seconde')."s"; 154 230 155 231 } … … 168 244 } 169 245 246 function vérif_base() 247 { 248 249 $q = " 250 CREATE TABLE IF NOT EXISTS ".MAIL_SUPERV_TABLE." ( 251 `id` SMALLINT( 5 ) NOT NULL DEFAULT '0', 252 253 `nb_mails` INT NOT NULL DEFAULT '0', 254 `date_mail` INT NOT NULL DEFAULT '0', 255 `nb_mails_maxi` INT NOT NULL DEFAULT '2000', 256 `nb_mails_periode` TEXT , 257 258 `nb_spams` INT NOT NULL DEFAULT '0', 259 `date_spam` INT NOT NULL DEFAULT '0', 260 261 `nb_spams_maxi` INT NOT NULL DEFAULT '10', 262 `nb_spams_periode` TEXT , 263 264 `quarantaine` TEXT NOT NULL , 265 `date_quarantaine` INT NOT NULL DEFAULT '0', 266 `quarantaine_periode` TEXT , 267 268 269 `message` TEXT NOT NULL , 270 `header_text` TEXT NOT NULL , 271 PRIMARY KEY (`id` ) 272 ) 273 ;"; 274 pwg_query($q); 275 276 $nb = Get_colonnes_de(MAIL_SUPERV_TABLE); 277 $table=$nb[MAIL_SUPERV_TABLE]; 278 //================================================================================ 279 if (!in_array( "nb_mails",$table)) { 280 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `nb_mails` INT NOT NULL default '0' "; 281 pwg_query($query); } 282 if (!in_array( "date_mail",$table)) { 283 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `date_mail` INT NOT NULL default '0' "; 284 pwg_query($query); } 285 if (!in_array( "nb_mails_maxi",$table)) { 286 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `nb_mails_maxi` INT NOT NULL default '2000' "; 287 pwg_query($query); } 288 if (!in_array( "nb_mails_periode",$table)) { 289 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `nb_mails_periode` TEXT "; 290 pwg_query($query); } 291 292 293 if (!in_array( "nb_spams",$table)) { 294 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `nb_spams` INT NOT NULL default '0' "; 295 pwg_query($query); } 296 if (!in_array( "date_spam",$table)) { 297 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `date_spam` INT NOT NULL default '0' "; 298 pwg_query($query); } 299 300 if (!in_array( "nb_spams_maxi",$table)) { 301 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `nb_spams_maxi` INT NOT NULL default '10' "; 302 pwg_query($query); 303 if (!in_array( "nb_spams_periode",$table)) { 304 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `nb_spams_periode` TEXT "; 305 pwg_query($query); } } 306 307 if (!in_array( "quarantaine",$table)) { 308 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `quarantaine` TEXT NOT NULL , "; 309 pwg_query($query); } 310 311 if (!in_array( "date_quarantaine",$table)) { 312 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `date_quarantaine` INT NOT NULL default '0' "; 313 pwg_query($query); 314 } 315 if (!in_array( "quarantaine_periode",$table)) { 316 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `quarantaine_periode` TEXT "; 317 pwg_query($query); } 318 319 if (!in_array( "message",$table)) { 320 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `message` TEXT "; 321 pwg_query($query); } 322 323 if (!in_array( "header_text",$table)) { 324 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `header_text` TEXT "; 325 pwg_query($query); } 326 327 328 $query = " 329 SELECT COUNT(*) 330 FROM ".MAIL_SUPERV_TABLE." 331 ;"; 332 //============================================================================== 333 list($count) = mysql_fetch_row(pwg_query($query)); 334 if ($count == 0) 335 { 336 $next_day = time() ; 337 $date_quarantaine=time(); 338 $q = ' 339 INSERT INTO '.MAIL_SUPERV_TABLE.' (id, 340 nb_mails,date_mail,nb_mails_maxi,nb_mails_periode, 341 nb_spams,date_spam,nb_spams_maxi,nb_spams_periode, 342 quarantaine, date_quarantaine,quarantaine_periode, 343 message,header_text) 344 VALUES (1, 345 0, 346 '.time().', 347 2000, 348 "1 week", 349 350 0, 351 '.time().', 352 10, 353 "2 day", 354 355 false, 356 '.time().', 357 "2 day", 358 359 "Init.", 360 "'.l10n('hello').'" 361 ) 362 ;'; 363 364 365 pwg_query($q); 366 367 } 368 } 369 function Get_colonnes_de($table) 370 { 371 $columns_of = array(); 372 $query = 'DESC '.$table.';'; 373 $result = mysql_query($query); 374 $columns_of[$table] = array(); 375 while ($row = mysql_fetch_row($result)) 376 { 377 array_push($columns_of[$table], $row[0]); 378 } 379 return $columns_of; 380 } 381 170 382 function test_envoie() 171 383 { 172 384 global $infos_message,$erreur_message ,$conf,$user ; 385 386 387 $infos_message=memo_var($user); 388 173 389 $admins = array(); 174 390 $query = ' … … 210 426 ob_start(); 211 427 $erreur_message =""; 212 $infos_message = memo_var($admins); 428 $infos_message .= memo_var($admins); 429 430 431 213 432 //=========================================================== 214 433 $args = array(); 215 216 434 $args['Bcc']=$admins; 217 218 $message_texte="Bonjour."; 219 $message_html="Test"; 220 435 $message_texte="Bonjour."; 436 $message_html="Test"; 221 437 /* 222 438 $limite = "_parties_".generate_key(32);; … … 235 451 $attachement .= "\n\n\n-----=".$limite."\n"; 236 452 */ 237 238 //========================================================================== 453 //========================================================================== 239 454 240 455 $args['subject']="Plugin Piwigo TEST"; 241 456 $args['content']="TEST "; 242 243 $infos_message ="TEST ENVOIE [admin].".memo_var($admins); 457 458 $infos_message .="ARGUMENTS.".memo_var($args); 459 $infos_message .="TEST ENVOIE [admin].".memo_var($admins); 460 244 461 $ret= pwg_mail( "", $args); 245 462 $m= ob_get_contents(); -
extensions/Mail_supervisor/language/fr_FR/plugin.lang.php
r4021 r4029 1 1 <?php 2 global $lang ; 3 4 2 5 $lang['Howto'] = 'Gestion des parametres de surveillance d\' envoie des mails.'; 3 6 $lang['free_admin_titre'] = 'Administration de Free mail'; … … 12 15 $lang['free_guest'] = 'Exclure le guest des des envoies.'; 13 16 17 $lang['periode'] = 'Période'; 18 14 19 $lang['free_mails'] = ' mails '; 15 20 $lang['free_depuis_le'] = ' depuis le :'; … … 17 22 $lang['free_nb'] = ' Nombre '; 18 23 $lang['free_nb_maxi'] = ' Nombre maxi '; 19 $lang['free_quarantaine'] = 'Vous êtes en quarantaine pour: ';24 $lang['free_quarantaine'] = 'Vous êtes en quarantaine jusqu\'au : '; 20 25 $lang['free_heures'] = ' Heures '; 21 26 $lang['free_date'] = ' Date : '; … … 23 28 $lang['free_message "%s"'] = ' Erreur : <br /> "%s" <br />!'; 24 29 $lang['supervisor'] = 'Superviseur de MAILS'; 30 //======================================================================== 31 $lang['To_day_is'] = 'Nous sommes le:'.date('d-M-Y H:i:s') ; 32 25 33 34 $lang['Week'] = 'semaine'; 35 $lang['Day'] = 'jour'; 36 $lang['Hour'] = 'heure'; 37 $lang['Minute'] = 'minute'; 38 $lang['Seconde'] = 'seconde'; 39 40 41 $lang['formatdate'] = 'd-M-Y H:i:s'; 42 43 $lang['mise_en_quarantaine %s %s %s %s %s'] = ' 44 MISE EN QUARANTAINE !<br />'. 45 'Nombre de %s envoyés : %s <br />'. 46 'Depuis le : %s <br />'. 47 'Il vous reste encore %s avant le déblocage.<br /> 48 Le %s <br />' ; 49 50 51 $lang['alerte_mail %s %s'] = "<br />ALERTE !!! DANGER DE MISE EN QUARANTAINE PAR VOTRE FAI <br /> 52 Vous avez dépassé le nombre de mails admissibles par période. <br /> <br /> 53 Date du premier mail: %s <br /> 54 Encore : %s <br />" ; 55 56 $lang['debug_message %s %s %s %s %s']= '<br />---- La fonction mail à retournée [%s] ------ 57 -------- MESSAGE erreur : ------------- 58 [ %s ] 59 mailto: "%s" 60 -------- HEADERS ----------------- 61 %s 62 -------- Nombre de destinataires ---- 63 %s 64 '; 26 65 ?> -
extensions/Mail_supervisor/main.inc.php
r4023 r4029 1 1 <?php 2 // +-----------------------------------------------------------------------+ 3 // | Piwigo - a PHP based picture gallery | 4 // +-----------------------------------------------------------------------+ 5 // | Copyright(C) 2008-2009 Piwigo Team http://piwigo.org | 6 // | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net | 7 // | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick | 8 // +-----------------------------------------------------------------------+ 9 // | This program is free software; you can redistribute it and/or modify | 10 // | it under the terms of the GNU General Public License as published by | 11 // | the Free Software Foundation | 12 // | | 13 // | This program is distributed in the hope that it will be useful, but | 14 // | WITHOUT ANY WARRANTY; without even the implied warranty of | 15 // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 16 // | General Public License for more details. | 17 // | | 18 // | You should have received a copy of the GNU General Public License | 19 // | along with this program; if not, write to the Free Software | 20 // | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | 21 // | USA. | 22 // +-----------------------------------------------------------------------+ 23 2 24 /* 3 25 Plugin Name: Mail supervisor 4 Version: 1.0. 126 Version: 1.0.2 5 27 Description: Mail supervisor surveille l'envoie des mails. 6 28 Plugin URI: http://piwigo.org/ext/extension_view.php?eid=315 … … 11 33 12 34 if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 35 13 36 define('mail_superv_DIR' , basename(dirname(__FILE__))); 14 37 define('MAIL_SUPERV_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/'); … … 23 46 function clj_mail($result, $mailto, $subject, $content, $headers, $args) 24 47 { 25 global $conf, $user, $lang_info, $conf_mail,$mails_options,$mails_données , $template,$page ,$erreur_message ;48 global $conf, $user, $lang_info, $conf_mail,$mails_options,$mails_données , $template,$page ,$erreur_message,$infos_message; 26 49 // lecture config table ------------- 27 50 28 51 29 52 $mails_options = explode("," , $conf['mail_superv']); 30 53 $infos_message=""; 54 $message =""; 55 $erreur_messages=""; 56 31 57 // lecture données ------------- 32 58 $mails_données = Get_Datas(); 59 33 60 34 61 $nb_mails = $mails_données['nb_mails'] ; … … 36 63 37 64 $reste = $mails_données['reste'] ; 38 $reste_mail = $mails_données['reste_mail'] ; 39 $reste_spam = $mails_données['reste_spam'] ; 40 41 $mails_données['quarantaine'] = ( $mails_données['reste'] >0 ) ? "true" : "false" ; 42 43 44 $match=array("<",">"); 45 $string=array("<",">") ; 46 $search=array("D","H","M","S","W"); 47 $replace=array(" day"," Hour"," minute"," second"," week"); 48 49 $header_message='<pre> 50 Destinataire :'.$mailto.' 51 Headers : 52 '.str_replace( $match,$string, $headers).' 53 Sujet :'.$subject.' 54 </pre>'; 55 65 66 67 $rest_mail = $mails_données['rest_mail'] ; 68 if ($rest_mail <=0 || $mails_données['nb_mails'] ==0 ){ 69 $mails_données['nb_mails'] =0 ; 70 $mails_données['date_mail'] = time(); 71 } 72 73 $rest_spam = $mails_données['rest_spam'] ; 74 if ($rest_spam <=0 || $mails_données['nb_spams'] ==0 ){ 75 $mails_données['nb_spams'] =0 ; 76 $mails_données['date_spam'] = time(); 77 } 78 79 $alerte = ( $mails_données['reste'] >0 ) ? true : false ; 80 81 $alerte_mail = ( $mails_données['nb_mails'] > $mails_données['nb_mails_maxi'] ) ? true : false ; 82 $alerte_spam = ( $mails_données['nb_spams'] > $mails_données['nb_spams_maxi'] ) ? true : false ; 83 84 85 if ( ( !$alerte && !$alerte_spam && !$alerte_mail ) ) 86 { 87 56 88 $nb_destinataires=0; 89 57 90 if ($mailto<>"" ) $nb_destinataires +=1; 58 91 //================= réécriture de l'entête =============================== … … 61 94 if ($mailto=="") $mailto=$conf_mail['email_webmaster']; 62 95 } 63 if ($mails_options[1] == 'on') {64 96 if (!empty($args['Cc'])) 65 { 66 $nb_destinataires += count($args['Cc']); 67 $headers= corrige_header('Cc:',$headers); 97 {$nb_destinataires += count($args['Cc']); 98 if ($mails_options[1] == 'on') { $headers= corrige_header('Cc:',$headers);} 68 99 } 69 100 if (!empty($args['Bcc'])) 70 { 71 $nb_destinataires += count($args['Bcc']); 72 $headers = corrige_header('Bcc',$headers); 101 { $nb_destinataires += count($args['Bcc']); 102 if ($mails_options[1] == 'on') { $headers = corrige_header('Bcc',$headers);} 73 103 } 74 104 75 }76 105 77 106 if ($mails_options[2]=='on') { … … 89 118 $content =$texte .$content ; 90 119 } 91 92 120 93 121 $ret=false; 94 if ( ($mails_données['quarantaine']=="false") ) 95 { 96 //======== Non mise en quarantaine ============= 97 122 123 $infos_message .=$nb_destinataires; 124 125 126 //======== Non mise en quarantaine ============= 98 127 ob_start(); 99 $ret = mail($mailto, 'Plugin'.$subject, $content, $headers); 100 $message = ob_get_contents(); 101 ob_end_clean(); 128 $ret = false; 129 if ($nb_destinataires > 0) { 130 $ret = mail($mailto, $subject, $content, $headers); 131 132 }else{ 133 $message .='Nombre de destinataires = 0'; 134 } 135 $message .= ob_get_contents(); 136 ob_end_clean(); 137 $mails_données['message']=$message; 138 Gestion_erreurs($message,$ret,$nb_destinataires,$headers,$mailto); 102 139 103 $mails_données['message']=$message; 104 $est_un_spam =!(strpos(strtolower($message), 'spam') === false); 105 if ($est_un_spam == false) { 106 //--- Non détection de spam ------------------ 107 if ($mails_données['nb_mails']==0) { 108 $date_mail=time(); 109 110 $mails_periode="+".str_replace( $search, $replace, $mails_données['nb_mails_periode']); 111 $next_day = strtotime($mails_periode,time()); 112 $mails_données['date_mail'] = $next_day; 113 } 114 $next_day = time() + (0); 115 $mails_données['date_quarantaine'] = $next_day ; 140 141 142 } else { 143 144 //================== Est en quarantaine ======================= 145 $erreur_message .= l10n('To_day_is')."<br />"; 146 if ($alerte_spam ) { 147 $type="Spams"; 148 $d1=$mails_données['nb_spams']; 149 $d2=$mails_données['date_spam']; 150 $d3= $mails_données['rest_spam']; 151 $d4=time()+$d3 ; 152 } 153 154 if ($alerte_mail) { 155 $type="Mails"; 156 157 $d1=$mails_données['nb_mails']; 158 $d2=$mails_données['date_mail']; 159 $d3= $mails_données['rest_mail']; 160 $d4=time()+$d3 ; 161 } 162 if ($alerte) { 163 $type="Spams(Quarantaine)"; 164 $d1=$mails_données['nb_spams']; 165 $d2=$mails_données['date_quarantaine']; 166 $d3= $mails_données['reste']; 167 $d4=time()+$d3 ; 168 } 169 170 171 $d2=date(l10n('formatdate'),$d2); 172 $d3=int_to_heure($d3) ; 173 $d4=date(l10n('formatdate'),$d4); 174 175 $erreur_message .='<br />'.sprintf(l10n('mise_en_quarantaine %s %s %s %s %s'),$type,$d1,$d2,$d3,$d4).'<br />'; 176 } 177 sauve_données(); 178 return true ; 179 } 180 //=========================================================================================== 181 function Gestion_erreurs($message,$ret,$nb_destinataires,$headers,$mailto) 182 { 183 global $conf, $user, $lang_info, $conf_mail,$mails_options,$mails_données , $template,$page ,$infos_message,$erreur_message,$args; 184 $match=array("<",">"); 185 $string=array("<",">") ; 186 187 188 $est_un_spam =!(strpos(strtolower($message), 'spam') === false); 189 $headers=str_replace( $match,$string, $headers); 190 191 if ( ($ret==false) || ($est_un_spam==true) || ($nb_destinataires == 0) ) { 192 ; // Bad recipient address syntax 193 $pos1 = strpos(strtolower($message), 'bad recipient address syntax'); 194 if ( !($pos1 === false) ){ 195 $erreur_message .='Détection de : Bad recipient address syntax .'; 196 $erreur_message .='Vérifiez les destinataires: (Bcc,Cc,To)<br />'; 197 } 198 199 $erreur_message .= sprintf(l10n('debug_message %s %s %s %s %s'),($ret==true)? "true" : "false",$message,$mailto,$headers,$nb_destinataires); 200 //=============== La fonction mail à retournéeune erreur ========================= 201 202 203 } 204 205 if ($est_un_spam == false) 206 { 207 if ($mails_données['nb_mails']==0) { $mails_données['date_mail'] = time(); } 116 208 $mails_données['nb_mails'] += $nb_destinataires; 117 // teste limite atteinte :118 119 if (($mails_données['nb_mails'] >= $mails_données['nb_mails_maxi']))120 {121 $erreur_message .= "ALERTE !!! DANGER DE MISE EN QUARANTAINE PAR VOTRE FAI <br />" ;122 $erreur_message .= "Vous avez dépassé le nombre de mails admissibles par semaine. <br /> <br />";123 $erreur_message .='Date du premier mail: ' . date('d-M-Y H:m:s',$mails_données['date_mail']);124 $rest_mail= $mails_données['date_mail']-time() ;125 $erreur_message .= '<br />Encore : '. int_to_heure($rest_mail) ;126 127 if ( (float) $rest_mail <= 0)128 {129 $mails_periode="+".str_replace( $search, $replace, $mails_données['nb_mails_periode']);130 $next_day = strtotime($mails_periode,time());131 $mails_données['date_mail'] = $next_day;132 133 }134 135 136 }137 if ($ret==false) {138 //=============== La fonction mail à retournée false=========================139 $erreur_message .= '<br />---- La fonction mail à retournée [false] ------<br />';140 $erreur_message .='-------- MESSAGE erreur : -------------<br />';141 $erreur_message .=$message ; // Bad recipient address syntax142 $pos1 = strpos(strtolower($message), 'bad recipient address syntax');143 if ( !($pos1 === false) ){144 $erreur_message .='Détection de : Bad recipient address syntax .';145 $erreur_message .='Vérifiez les destinataires: (Bcc,Cc,To)<br />';146 }147 $erreur_message .='mailto: "'.$mailto.'"<br />';148 149 $erreur_message .='--------HEADERS -----------------<br />150 ';151 $erreur_message .=$headers ;152 153 154 }155 156 }else{157 //--- Détection de spam ------------------158 159 if ($mails_données['nb_spams']==0) { $mails_données['date_spam']= time(); }160 $mails_données['nb_spams'] += $nb_destinataires;161 162 $est_un_spam =!(strpos(strtolower($message), 'trop de spam') === false);163 164 if ( $est_un_spam ) {165 $mails_données['quarantaine']=true;166 $spams_periode="+".str_replace($search, $replace, $mails_données['nb_spams_periode']);167 168 $next_day = strtotime( $spams_periode);169 170 // $next_day = strtotime('+2 day');171 $mails_données['date_quarantaine']= $next_day ;172 209 } 173 210 else 174 211 { 175 $mails_données['quarantaine']= ($mails_données['nb_spams'] >= $mails_données['nb_spams_maxi']); 176 } 177 // $next_day = time() + (2 * 24 * 60 * 60); 178 if ($mails_données['quarantaine']) 179 { 180 $erreur_message .= "ALERTE !!! DANGER DE MISE EN QUARANTAINE <br />" ; 181 $erreur_message .= "Vous avez dépassé le nombre de spmas admissibles. <br /> <br />"; 182 } 183 $erreur_message .="<br> Detection $message <br />". 184 "Nombre de spams détectés; ".$mails_données['nb_spams']; 212 $mails_données['nb_spams'] += $nb_destinataires; 213 //--- Détection de spam ------------------ 214 if ($mails_données['nb_spams']==0) {$mails_données['date_spam'] = time(); } 215 216 $trop_de_spam =!(strpos(strtolower($message), 'trop de spam') === false); 217 if ( $trop_de_spam ) { 218 $mails_données['nb_spams_maxi']=$mails_données['nb_spams']; 219 $quarantaine_periode="+".str_replace( $period_search, $period_match, $mails_données['quarantaine_periode']); 220 $next_day = strtotime($quarantaine_periode); // détection de 'Trop de spam 221 $mails_données['date_quarantaine']= time() ; 222 $mails_données['quarantaine']= true ; 223 $infos_message=memo_var($mails_données); 224 } 225 185 226 } 186 227 187 }else{ 188 //======== Mise en quarantaine ============= 189 $erreur_message = '<br /> 190 Nous sommes le : '. date('d-M-Y H:m:s') ."<br />"; 191 192 if ($reste >= 0) { 193 $erreur_message .= 194 "MISE EN QUARANTAINE !"."<br />". 195 "Nombre de spams envoyés :". $mails_données['nb_spams']."<br />". 196 "Depuis le :". date('d-M-Y H:m:s',$mails_données['date_spam'])."<br />". 197 "Il vous reste encore ". int_to_heure($mails_données['reste']) . " avant le déblocage par votre FAI<br /> 198 qui devrait avoir lieu le ".date('d-M-Y H:m:s',$mails_données['date_quarantaine'])."." ; 199 200 } 201 202 $erreur_message .= '</pre>'. 203 ' 204 205 '. 206 "Dernier message reçu.:<br />". $mails_données['message']. "<br /> "; 207 $ret = "break"; 208 } 209 210 sauve_données(); 228 229 230 231 211 232 $ret=true; 212 213 233 return $ret ; 214 234 -
extensions/Mail_supervisor/maintain.inc.php
r4020 r4029 1 1 <?php 2 // +-----------------------------------------------------------------------+ 3 // | Piwigo - a PHP based picture gallery | 4 // +-----------------------------------------------------------------------+ 5 // | Copyright(C) 2008-2009 Piwigo Team http://piwigo.org | 6 // | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net | 7 // | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick | 8 // +-----------------------------------------------------------------------+ 9 // | This program is free software; you can redistribute it and/or modify | 10 // | it under the terms of the GNU General Public License as published by | 11 // | the Free Software Foundation | 12 // | | 13 // | This program is distributed in the hope that it will be useful, but | 14 // | WITHOUT ANY WARRANTY; without even the implied warranty of | 15 // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 16 // | General Public License for more details. | 17 // | | 18 // | You should have received a copy of the GNU General Public License | 19 // | along with this program; if not, write to the Free Software | 20 // | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | 21 // | USA. | 22 // +-----------------------------------------------------------------------+ 23 if (!defined('PHPWG_ROOT_PATH')) 24 { 25 die('Hacking attempt!'); 26 } 2 27 3 28 if(!defined("MAIL_SUPERV_PATH")) … … 10 35 { 11 36 37 // efface free mail 38 $q = ' 39 SELECT count(`id`) as total FROM `'.PLUGINS_TABLE.'` WHERE `id` LIKE "free_mail" ;'; 40 $plugs = mysql_fetch_array(pwg_query($q)); 41 $nb= $plugs['total']; 42 43 if (count($nb)>=1) { 44 /* $q = ' 45 UPDATE ' . PLUGINS_TABLE . ' SET state="inactive" WHERE `id` LIKE "free_mail"'; 46 pwg_query($q); 47 pwg_query( $q );*/ 48 $q = ' 49 DELETE FROM '.PLUGINS_TABLE.' 50 WHERE `id` LIKE "free_mail" 51 ;'; 52 pwg_query($q); 53 $q = 'DROP TABLE IF EXISTS '.FREE_MAIL_TABLE.';'; 54 55 pwg_query( $q ); 56 $q = ' 57 DELETE FROM '.CONFIG_TABLE.' 58 WHERE param="free_mail" 59 ;'; 60 pwg_query($q); 61 62 63 64 } 65 66 67 68 69 70 12 71 $q = ' 13 72 INSERT INTO '.CONFIG_TABLE.' (param, value, comment) … … 46 105 47 106 48 function vérif_base()49 {50 107 51 $q = "52 CREATE TABLE IF NOT EXISTS ".MAIL_SUPERV_TABLE." (53 `id` SMALLINT( 5 ) NOT NULL DEFAULT '0',54 55 `nb_mails` INT NOT NULL DEFAULT '0',56 `date_mail` INT NOT NULL DEFAULT '0',57 `nb_mails_maxi` INT NOT NULL DEFAULT '2000',58 `nb_mails_periode` TEXT ,59 60 `nb_spams` INT NOT NULL DEFAULT '0',61 `date_spam` INT NOT NULL DEFAULT '0',62 63 `nb_spams_maxi` INT NOT NULL DEFAULT '10',64 `nb_spams_periode` TEXT ,65 66 `quarantaine` TEXT NOT NULL ,67 `date_quarantaine` INT NOT NULL DEFAULT '0',68 69 70 `message` TEXT NOT NULL ,71 `header_text` TEXT NOT NULL ,72 PRIMARY KEY (`id` )73 )74 ;";75 pwg_query($q);76 77 $nb = Get_colonnes_de(MAIL_SUPERV_TABLE);78 $table=$nb[MAIL_SUPERV_TABLE];79 //================================================================================80 if (!in_array( "nb_mails",$table)) {81 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `nb_mails` INT NOT NULL default '0' ";82 pwg_query($query); }83 if (!in_array( "date_mail",$table)) {84 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `date_mail` INT NOT NULL default '0' ";85 pwg_query($query); }86 87 if (!in_array( "nb_mails_maxi",$table)) {88 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `nb_mails_maxi` INT NOT NULL default '2000' ";89 pwg_query($query); }90 91 if (!in_array( "nb_spams",$table)) {92 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `nb_spams` INT NOT NULL default '0' ";93 pwg_query($query); }94 if (!in_array( "date_spam",$table)) {95 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `date_spam` INT NOT NULL default '0' ";96 pwg_query($query); }97 98 if (!in_array( "nb_spams_maxi",$table)) {99 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `nb_spams_maxi` INT NOT NULL default '10' ";100 pwg_query($query); }101 102 if (!in_array( "quarantaine",$table)) {103 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `quarantaine` TEXT NOT NULL , ";104 pwg_query($query); }105 106 if (!in_array( "date_quarantaine",$table)) {107 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `date_quarantaine` INT NOT NULL default '0' ";108 pwg_query($query); }109 110 if (!in_array( "message",$table)) {111 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `message` TEXT ";112 pwg_query($query); }113 114 if (!in_array( "header_text",$table)) {115 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `header_text` TEXT ";116 pwg_query($query); }117 118 119 $query = "120 SELECT COUNT(*)121 FROM ".MAIL_SUPERV_TABLE."122 ;";123 //==============================================================================124 list($count) = mysql_fetch_row(pwg_query($query));125 if ($count == 0)126 {127 $next_day = time() ;128 $date_quarantaine=time();129 $q = '130 INSERT INTO '.MAIL_SUPERV_TABLE.' (id,131 nb_mails,date_mail,nb_mails_maxi,nb_mails_periode,132 nb_spams,date_spam,nb_spams_maxi,nb_spams_periode,133 quarantaine, date_quarantaine,message,header_text)134 VALUES (1,135 0,136 '.time().',137 2000,138 "1W",139 140 0,141 '.time().',142 10,143 "2D",144 145 false,146 '.time().',147 148 "Init.",149 "'.l10n('hello').'"150 )151 ;';152 153 154 pwg_query($q);155 156 }157 }158 function Get_colonnes_de($table)159 {160 $columns_of = array();161 $query = 'DESC '.$table.';';162 $result = mysql_query($query);163 $columns_of[$table] = array();164 while ($row = mysql_fetch_row($result))165 {166 array_push($columns_of[$table], $row[0]);167 }168 return $columns_of;169 }170 108 ?>
Note: See TracChangeset
for help on using the changeset viewer.