Changeset 4040
- Timestamp:
- Oct 15, 2009, 10:09:57 AM (15 years ago)
- Location:
- extensions/Mail_supervisor
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/Mail_supervisor/admin/mail_superv_admin.php
r4029 r4040 26 26 die('Hacking attempt!'); 27 27 } 28 29 28 global $user, $lang, $conf, $errors; 29 global $args, $conf_mail,$infos_message,$erreu_message ; 30 // +-----------------------------------------------------------------------+ 31 // | Check Access and exit when user status is not ok | 32 // +-----------------------------------------------------------------------+ 33 check_status(ACCESS_ADMINISTRATOR); 34 35 include_once (PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php'); 30 36 include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); 31 37 32 33 global $args, $conf_mail ; 38 include_once (MAIL_SUPERV_PATH.'include/constants.php'); 39 include_once (MAIL_SUPERV_PATH.'include/fonctions.php'); 40 41 $my_base_url = get_admin_plugin_menu_link(__FILE__); 42 43 44 34 45 35 46 $mails_options = explode("," , $conf['mail_superv']); 36 47 $mails_données=Get_Datas(); 37 48 38 39 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 44 45 if ( isset($_POST['test_envoie']) ) { 46 test_envoie(); 47 48 } 49 if (!isset($_GET['tab'])) 50 $page['tab'] = 'mail_superv_admin'; 51 else 52 $page['tab'] = $_GET['tab']; 53 54 $tabsheet = new tabsheet(); 55 $tabsheet->add('mail_superv_admin', 56 l10n('Tab_set'), 57 $my_base_url.'&tab=mail_superv_admin'); 58 $tabsheet->add('mail_superv_test', 59 l10n('Tab_test'), 60 $my_base_url.'&tab=mail_superv_test'); 61 $tabsheet->add('mail_superv_help', 62 l10n('Tab_help'), 63 $my_base_url.'&tab=mail_superv_help'); 64 $tabsheet->select($page['tab']); 65 $tabsheet->assign(); 66 67 $page['global'] = array(); 68 $error = array(); 69 70 71 // ************************************************************************* 72 // | Sélection de l'onglet | 73 // ************************************************************************* 74 75 $modif=false ; 76 //================================================================================ 77 switch ($page['tab']) 78 { 79 80 // ************************************************************************* 81 // initialisation | 82 // ************************************************************************* 83 case 'mail_superv_admin': 84 49 85 //============================================================= 50 86 if ( isset($_POST['refresh']) ) { 87 88 89 } 51 90 52 91 if ( isset($_POST['raz']) ) { … … 62 101 63 102 sauve_données(); 64 65 array_push($page['infos'], l10n('save_config')); 103 array_push($page['infos'], l10n('save_config')); 66 104 } 67 105 68 106 if ( isset($_POST['submit']) ) 69 107 { 70 71 72 108 //Options 73 109 $mails_options[0] = isset($_POST['check_mailto']) ? $_POST['check_mailto'] : '' ; … … 89 125 sauve_options(); 90 126 91 //==============================================================================================127 //============================================================================================== 92 128 sauve_données(); 93 129 … … 136 172 'header_text' => "'".$mails_données['header_text']."'" , 137 173 138 'list_period' => $list_period , 139 'list_period_label' => $list_period_label , 174 140 175 141 176 ) 142 177 ); 143 178 144 $template->set_filenames(array('plugin_admin_content' => realpath(MAIL_SUPERV_PATH . 'admin/mail_superv_admin.tpl'))); 145 $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content'); 146 147 179 $template->set_filenames(array('plugin_admin_content' => realpath(MAIL_SUPERV_PATH . 'admin/mail_superv_admin.tpl'))); 180 $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content'); 181 182 break; 183 184 185 // ************************************************************************* 186 // TEST | 187 // ************************************************************************* 188 189 case 'mail_superv_test': 190 191 $mails_données = Get_Datas() ; 192 193 $group_id = isset($_POST['group']) ? $_POST['group'] : '-1' ; 194 if ($group_id >= 0) { 195 $query = ' 196 SELECT 197 name 198 FROM '.GROUPS_TABLE.' 199 WHERE id = '.$group_id.' 200 ;'; 201 list($group_name) = mysql_fetch_row(pwg_query($query)); 202 203 204 } 205 //================================================ 206 207 208 209 if ( isset($_POST['test_envoie']) ) { 210 if ($group_id >= 0) { 211 $mails_données['message_test'] = isset($_POST['content']) ? $_POST['content'] : $mails_données['message_test'] ; 212 $message=$mails_données['message_test']; 213 sauve_données(); 214 test_envoie($message,$group_name,$group_id); 215 $mails_données = Get_Datas() ; 216 } 217 } 218 219 $groups[-1] = '---------'; 220 221 $query = ' 222 SELECT id, name 223 FROM '.GROUPS_TABLE.' 224 ORDER BY name ASC 225 ;'; 226 227 $result = pwg_query($query); 228 //---------------------------------------------------------------- 229 while ($row = mysql_fetch_array($result)) 230 { 231 $groups[$row['id']] = $row['name']; 232 } 233 //--------------------------------------------------------------- 234 235 $template->assign( 236 'Group', 237 array( 238 'group_options'=> $groups, 239 'selected' => $group_id 240 ) 241 ); 242 //================================================================= 243 $destinataires= implode("<br />",get_liste($group_id)); 244 $template->assign( 245 array( 246 'Groupe' => $groups, 247 'message_test' => $mails_données['message_test'] , 248 'liste' => $destinataires , 249 250 ) 251 ); 252 253 $template->set_filenames(array('plugin_admin_content' => realpath(MAIL_SUPERV_PATH . 'admin/mail_superv_test.tpl'))); 254 $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content'); 255 break; 256 // ************************************************************************* 257 // AIDE | 258 // ************************************************************************* 259 case 'mail_superv_help': 260 261 $template->set_filenames(array('plugin_admin_content' => realpath(MAIL_SUPERV_PATH . 'admin/mail_superv_help.tpl'))); 262 $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content'); 263 break; 264 //==================================================================== 265 266 267 } 268 //================================================================================ 269 $rest_mail = $mails_données['rest_mail'] ; 270 if ($rest_mail <=0 || $mails_données['nb_mails'] ==0 ){ 271 $mails_données['nb_mails'] =0 ; 272 $mails_données['date_mail'] = time(); 273 $modif = true ; 274 } 275 276 $rest_spam = $mails_données['rest_spam'] ; 277 278 if ($rest_spam <=0 || $mails_données['nb_spams'] ==0 ){ 279 $mails_données['nb_spams'] =0 ; 280 $mails_données['date_spam'] = time(); 281 $modif = true ; 282 } 283 if ( $modif == true ) { 284 sauve_données(); 285 $modif = false ; 286 } 287 if (!isset($infos_message)){ 288 $infos_message = ""; 289 } 290 $infos_message .= 'Mails : '.$mails_données['nb_mails']. ' \\ ' . $mails_données['nb_mails_maxi']; 291 $infos_message .= "\n".'Spams : '.$mails_données['nb_spams']. ' \\ ' . $mails_données['nb_spams_maxi']; 292 array_push($page['infos'], $infos_message); 293 //======================================================================== 294 148 295 ?> -
extensions/Mail_supervisor/admin/mail_superv_admin.tpl
r4030 r4040 76 76 </fieldset> 77 77 <p><input class="submit" type="submit" name="submit" value="{'Submit'|translate}" /> 78 <input class="submit" type="submit" name="raz" value="raz" />79 <input class="submit" type="submit" name="test_envoie" value="{'test'|translate}" />78 <input class="submit" type="submit" name="raz" value="{'raz'|translate}" /> 79 <input class="submit" type="submit" name="raffraichir" value="{'refresh'|translate}" /> 80 80 </p> 81 81 </fieldset> -
extensions/Mail_supervisor/include/fonctions.php
r4030 r4040 30 30 load_language('plugin.lang', MAIL_SUPERV_PATH); 31 31 include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 32 include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); 33 34 include_once (MAIL_SUPERV_PATH.'include/function_test_send.php'); 35 32 36 global $period_search,$period_match ; 37 38 39 33 40 $period_search=array("D","H","M","S","W"); 34 41 array_push($period_search,l10n('Week'),l10n('Day'),l10n('Hour'),l10n('Minute'),l10n('Seconde')); … … 71 78 72 79 `message` = "'.$mails_données['message'].'", 80 `message_test` = "'.$mails_données['message_test'].'", 73 81 `header_text` = "'.$mails_données['header_text'].'" 74 82 WHERE `id` =1 LIMIT 1 '; 75 83 76 84 77 pwg_query($query); 85 if ( pwg_query($query)) return; 86 87 vérif_base() ; 88 if ( pwg_query($query)) return; 89 90 91 ; 78 92 79 93 … … 262 276 `nb_spams_periode` TEXT , 263 277 264 `quarantaine` TEXT NOT NULL,278 `quarantaine` TEXT , 265 279 `date_quarantaine` INT NOT NULL DEFAULT '0', 266 280 `quarantaine_periode` TEXT , 267 281 268 282 269 `message` TEXT NOT NULL , 270 `header_text` TEXT NOT NULL , 283 `message` TEXT , 284 `message_test` TEXT , 285 `header_text` TEXT , 271 286 PRIMARY KEY (`id` ) 272 287 ) … … 306 321 307 322 if (!in_array( "quarantaine",$table)) { 308 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `quarantaine` TEXT NOT NULL, ";323 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `quarantaine` TEXT , "; 309 324 pwg_query($query); } 310 325 … … 320 335 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `message` TEXT "; 321 336 pwg_query($query); } 337 338 if (!in_array( "message_test",$table)) { 339 $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `message_test` TEXT "; 340 pwg_query($query); } 322 341 323 342 if (!in_array( "header_text",$table)) { … … 380 399 } 381 400 382 function test_envoie() 383 { 384 global $infos_message,$erreur_message ,$conf,$user ; 385 386 387 //$infos_message=memo_var($user); 388 389 $admins = array(); 401 function get_liste($group_id) 402 { 403 global $conf ; 404 390 405 $query = ' 391 select 392 U.'.$conf['user_fields']['username'].' asusername,393 U.'.$conf['user_fields']['email'].' as mail_address394 from 395 '.USERS_TABLE.' as U,396 '.USER_INFOS_TABLE.' as I397 where 398 I.user_id = U.'.$conf['user_fields']['id'].' and399 I.status in (\'webmaster\', \'admin\') and400 I.adviser = \'false\' and401 '.$conf['user_fields']['email'].' is not null and402 I.user_id <> '.$user['id'].'403 order by 404 username 405 '; 406 //================================================================================== 407 406 SELECT DISTINCT u.'.$conf['user_fields']['id'].' AS id, 407 u.'.$conf['user_fields']['username'].' AS username, 408 u.'.$conf['user_fields']['email'].' AS email, 409 ui.status, 410 ui.adviser, 411 ui.enabled_high, 412 ui.level 413 FROM '.USERS_TABLE.' AS u 414 INNER JOIN '.USER_INFOS_TABLE.' AS ui 415 ON u.'.$conf['user_fields']['id'].' = ui.user_id 416 LEFT JOIN '.USER_GROUP_TABLE.' AS ug 417 ON u.'.$conf['user_fields']['id'].' = ug.user_id 418 WHERE ug.group_id='.$group_id.' '; 419 420 421 422 $groups=array(); 408 423 $datas = pwg_query($query); 409 424 … … 411 426 if (!empty($datas)) 412 427 { 413 while ($ admin= mysql_fetch_array($datas))428 while ($group = mysql_fetch_array($datas)) 414 429 { 415 if (!empty($admin['mail_address'])) 430 431 432 if (!empty($group['email'])) 416 433 { 417 array_push($admins, format_email($admin['username'], $admin['mail_address'])); 418 434 array_push($groups, format_email($group['username'], $group['email'] )); 419 435 } 420 436 } 421 } 422 423 if (count($admins) > 0) 424 { 425 426 ob_start(); 427 $erreur_message =""; 428 // $infos_message .= memo_var($admins); 429 430 431 432 //=========================================================== 433 $args = array(); 434 $args['Bcc']=$admins; 435 $message_texte="Bonjour."; 436 $message_html="Test"; 437 /* 438 $limite = "_parties_".generate_key(32);; 439 // $limite=$conf_mail['boundary_key']; 440 $nom ='piwigo_logo_sombre_214x100.png'; 441 $typemime='image/jpeg'; 442 443 $attachement = "-----=".$limite."\n"; 444 $attachement .= "Content-Type: ".$typemime."; name=\"".$nom."\"\n"; 445 $attachement .= "Content-Transfer-Encoding: base64\n"; 446 $attachement .= "Content-Disposition: attachment; filename=\"".$nom."\"\n\n"; 447 $fd = fopen( $fichier, "r" ); 448 $contenu = fread( $fd, filesize( $fichier ) ); 449 fclose( $fd ); 450 $attachement .= chunk_split(base64_encode($contenu)); 451 $attachement .= "\n\n\n-----=".$limite."\n"; 452 */ 453 //========================================================================== 454 455 $args['subject']="Plugin Piwigo TEST"; 456 $args['content']="TEST "; 457 458 $infos_message .="ARGUMENTS.".memo_var($args); 459 $infos_message .="TEST ENVOIE [admin].".memo_var($admins); 460 461 $ret= pwg_mail( "", $args); 462 $m= ob_get_contents(); 463 ob_end_clean(); 464 $erreur_message .=$m; 465 } 437 } 438 return $groups ; 439 466 440 } 467 441 -
extensions/Mail_supervisor/language/fr_FR/plugin.lang.php
r4029 r4040 1 1 <?php 2 2 global $lang ; 3 /* 3 4 5 $lang['nbm_msg_error_sending_email_to'] = 'Erreur lors de l\'envoi du mail à %s [%s].'; 6 $lang['nbm_msg_mail_sent_to'] = 'Mail envoyé à %s [%s].'; 7 $lang['nbm_msg_n_mail_sent'] = '%s mail a été envoyé.'; 8 $lang['nbm_msg_n_mails_sent'] = '%s mails ont été envoyés.'; 9 $lang['nbm_msg_n_mail_not_send'] = '%s mail n\'a pas été envoyé.'; 10 $lang['nbm_msg_n_mails_not_send'] = '%s mails n\'ont pas été envoyés.'; 11 $lang['nbm_no_mail_to_send'] = 'Pas de mail à envoyer.'; 12 13 */ 14 15 $lang['refresh'] = 'Rafraîchir'; 16 $lang['no_receiver_available'] = 'Il n\'y a pas de destinataire sélectionné.'; 17 $lang['mail_sent_to'] = 'Mail envoyé à %s.'; 18 $lang['mail_not_send'] = 'Le mail n\'a pas été envoyé.'; 19 $lang['message_to_send'] = 'Message a envoyer.'; 20 21 $lang['Tab_set'] ='Initialisation'; 22 $lang['Tab_test'] ='Test'; 23 $lang['Tab_help'] ='Aide'; 4 24 5 25 $lang['Howto'] = 'Gestion des parametres de surveillance d\' envoie des mails.'; … … 45 65 'Nombre de %s envoyés : %s <br />'. 46 66 'Depuis le : %s <br />'. 47 'Il vous reste encore %s avant le déblocage .<br />48 Le %s <br />' ;67 'Il vous reste encore %s avant le déblocage<br />'. 68 ' Le %s <br />' ; 49 69 50 70 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 />" ; 71 $lang['alerte_mail %s %s %s %s %s'] = ' 72 ALERTE !!! DANGER DE MISE EN QUARANTAINE PAR VOTRE FAI <br />'. 73 'Vous avez dépassé le nombre de mails admissibles par période. <br />'. 74 'Nombre de %s envoyés : %s <br />'. 75 'Depuis le : %s <br />'. 76 'Il vous reste encore %s avant le déblocage<br />'. 77 ' Le %s <br />' ; 55 78 56 $lang['debug_message %s %s %s %s %s']= '<br />---- La fonction mail à retournée[%s] ------79 $lang['debug_message %s %s %s %s %s']= '<br />---- La fonction mail à retourné [%s] ------ 57 80 -------- MESSAGE erreur : ------------- 58 81 [ %s ] … … 63 86 %s 64 87 '; 88 89 $lang['message_texte %s %s %s %s'] =' 90 %s 91 Bonjour %s , 92 %s 93 Vous avez aussi reçu une pièce jointe. 94 A bientot 95 %s 96 '; 97 98 65 99 ?> -
extensions/Mail_supervisor/main.inc.php
r4030 r4040 24 24 /* 25 25 Plugin Name: Mail supervisor 26 Version: 1.0. 226 Version: 1.0.3 27 27 Description: Mail supervisor surveille l'envoie des mails. 28 28 Plugin URI: http://piwigo.org/ext/extension_view.php?eid=315 … … 51 51 52 52 $mails_options = explode("," , $conf['mail_superv']); 53 $infos_message="";54 53 $message =""; 55 $erreur_messages=""; 56 54 if (!isset($infos_message)) 55 { 56 $infos_message = ""; 57 } 58 if (!isset($erreur_message)) 59 { 60 $erreur_message = ''; 61 } 57 62 // lecture données ------------- 58 63 $mails_données = Get_Datas(); … … 79 84 $alerte = ( $mails_données['reste'] >0 ) ? true : false ; 80 85 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 ;86 $alerte_mail = ( $mails_données['nb_mails'] > $mails_données['nb_mails_maxi']-1 ) ? true : false ; 87 $alerte_spam = ( $mails_données['nb_spams'] > $mails_données['nb_spams_maxi']-1 ) ? true : false ; 83 88 84 89 … … 144 149 $type="Spams"; 145 150 $d1=$mails_données['nb_spams']; 146 $d 2=$mails_données['date_spam'];151 $d1=$mails_données['nb_spams'] . ' \\ ' . $mails_données['nb_spams_maxi']; 147 152 $d3= $mails_données['rest_spam']; 148 153 $d4=time()+$d3 ; … … 152 157 $type="Mails"; 153 158 154 $d1=$mails_données['nb_mails'] ;159 $d1=$mails_données['nb_mails']. ' \\ ' . $mails_données['nb_mails_maxi'];; 155 160 $d2=$mails_données['date_mail']; 156 161 $d3= $mails_données['rest_mail']; 157 162 $d4=time()+$d3 ; 163 164 158 165 } 159 166 if ($alerte) { 160 167 $type="Spams(Quarantaine)"; 161 $d1=$mails_données['nb_spams'] ;168 $d1=$mails_données['nb_spams'] . ' \\ ' . $mails_données['nb_spams_maxi']; 162 169 $d2=$mails_données['date_quarantaine']; 163 170 $d3= $mails_données['reste']; 164 171 $d4=time()+$d3 ; 165 }172 } 166 173 167 174 … … 170 177 $d4=date(l10n('formatdate'),$d4); 171 178 172 $erreur_message .='<br />'.sprintf(l10n('mise_en_quarantaine %s %s %s %s %s'),$type,$d1,$d2,$d3,$d4).'<br />'; 179 if ($alerte_mail) { 180 $erreur_message .='<br />'.sprintf(l10n('alerte_mail %s %s %s %s %s'),$type,$d1,$d2,$d3,$d4).'<br />'; 181 }else{ 182 $erreur_message .='<br />'.sprintf(l10n('mise_en_quarantaine %s %s %s %s %s'),$type,$d1,$d2,$d3,$d4).'<br />'; 183 184 } 185 $infos_message = l10n('mail_not_send'); 186 173 187 } 174 188 sauve_données(); … … 218 232 $mails_données['date_quarantaine']= time() ; 219 233 $mails_données['quarantaine']= true ; 220 $infos_message =memo_var($mails_données);234 $infos_message .=memo_var($mails_données); 221 235 } 222 236 -
extensions/Mail_supervisor/maintain.inc.php
r4029 r4040 71 71 $q = ' 72 72 INSERT INTO '.CONFIG_TABLE.' (param, value, comment) 73 VALUES ("mail_superv","o ff,on,off ,off,off","Parametres du plugin Mail superviseur")73 VALUES ("mail_superv","on,on,off ,off,off","Parametres du plugin Mail superviseur") 74 74 ;'; 75 75 pwg_query($q);
Note: See TracChangeset
for help on using the changeset viewer.