Ignore:
Timestamp:
10/15/09 10:09:57 (10 years ago)
Author:
cljosse
Message:

[mail_supervisor] insert multi tabs

Location:
extensions/Mail_supervisor
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • extensions/Mail_supervisor/admin/mail_superv_admin.php

    r4029 r4040  
    2626  die('Hacking attempt!'); 
    2727} 
    28  
    29  
     28global $user, $lang, $conf, $errors; 
     29global $args, $conf_mail,$infos_message,$erreu_message ; 
     30// +-----------------------------------------------------------------------+ 
     31// | Check Access and exit when user status is not ok                      | 
     32// +-----------------------------------------------------------------------+ 
     33check_status(ACCESS_ADMINISTRATOR); 
     34 
     35include_once (PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php'); 
    3036include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); 
    3137 
    32  
    33 global $args, $conf_mail ; 
     38include_once (MAIL_SUPERV_PATH.'include/constants.php');  
     39include_once (MAIL_SUPERV_PATH.'include/fonctions.php');  
     40 
     41$my_base_url = get_admin_plugin_menu_link(__FILE__); 
     42 
     43 
     44 
    3445 
    3546$mails_options = explode("," , $conf['mail_superv']); 
    3647$mails_données=Get_Datas(); 
    3748 
    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'; 
     51else 
     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//================================================================================ 
     77switch ($page['tab']) 
     78 { 
     79     
     80// ************************************************************************* 
     81//                         initialisation                                  | 
     82// ************************************************************************* 
     83  case 'mail_superv_admin': 
     84 
    4985//============================================================= 
    50  
     86if ( isset($_POST['refresh']) ) { 
     87          
     88   
     89        } 
    5190 
    5291if ( isset($_POST['raz']) ) { 
     
    62101         
    63102     sauve_données(); 
    64          
    65         array_push($page['infos'], l10n('save_config')); 
     103         array_push($page['infos'], l10n('save_config')); 
    66104        } 
    67105         
    68106if ( isset($_POST['submit']) ) 
    69107{ 
    70          
    71                          
    72108//Options 
    73109  $mails_options[0] = isset($_POST['check_mailto']) ? $_POST['check_mailto'] : '' ; 
     
    89125         sauve_options(); 
    90126 
    91 //============================================================================================== 
     127   //============================================================================================== 
    92128         sauve_données(); 
    93129           
     
    136172        'header_text' => "'".$mails_données['header_text']."'" , 
    137173         
    138         'list_period' => $list_period , 
    139         'list_period_label' => $list_period_label , 
     174 
    140175         
    141176                                                ) 
    142177                                );       
    143178 
    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         
     209if ( 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                  
    148295?> 
  • extensions/Mail_supervisor/admin/mail_superv_admin.tpl

    r4030 r4040  
    7676        </fieldset> 
    7777      <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}" /> 
    8080          </p>  
    8181</fieldset> 
  • extensions/Mail_supervisor/include/fonctions.php

    r4030 r4040  
    3030load_language('plugin.lang', MAIL_SUPERV_PATH); 
    3131include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php'); 
     32include_once(PHPWG_ROOT_PATH.'admin/include/functions.php'); 
     33 
     34include_once (MAIL_SUPERV_PATH.'include/function_test_send.php');  
     35 
    3236global $period_search,$period_match ; 
     37 
     38 
     39 
    3340        $period_search=array("D","H","M","S","W"); 
    3441        array_push($period_search,l10n('Week'),l10n('Day'),l10n('Hour'),l10n('Minute'),l10n('Seconde')); 
     
    7178                         
    7279                        `message`          = "'.$mails_données['message'].'", 
     80                        `message_test`          = "'.$mails_données['message_test'].'", 
    7381                        `header_text`      = "'.$mails_données['header_text'].'" 
    7482                WHERE `id` =1 LIMIT 1 '; 
    7583                 
    7684 
    77       pwg_query($query); 
     85    if (  pwg_query($query)) return; 
     86         
     87        vérif_base() ; 
     88        if (  pwg_query($query)) return; 
     89 
     90         
     91        ; 
    7892 
    7993 
     
    262276                `nb_spams_periode` TEXT  ,       
    263277                 
    264                 `quarantaine` TEXT NOT NULL , 
     278                `quarantaine` TEXT , 
    265279                `date_quarantaine` INT NOT NULL DEFAULT '0', 
    266280                `quarantaine_periode` TEXT  ,    
    267281                         
    268282                 
    269                 `message` TEXT NOT NULL ,  
    270                 `header_text` TEXT NOT NULL ,  
     283                `message` TEXT  ,  
     284                `message_test` TEXT  ,  
     285                `header_text` TEXT ,  
    271286        PRIMARY KEY  (`id` ) 
    272287         ) 
     
    306321                                                         
    307322                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 , "; 
    309324                           pwg_query($query);            }       
    310325                            
     
    320335          $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `message` TEXT   "; 
    321336                           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);            }                                  
    322341                            
    323342                if (!in_array( "header_text",$table)) {  
     
    380399} 
    381400 
    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(); 
     401function get_liste($group_id) 
     402{ 
     403global $conf ; 
     404 
    390405  $query = ' 
    391 select 
    392   U.'.$conf['user_fields']['username'].' as username, 
    393   U.'.$conf['user_fields']['email'].' as mail_address 
    394 from 
    395   '.USERS_TABLE.' as U, 
    396   '.USER_INFOS_TABLE.' as I 
    397 where 
    398   I.user_id =  U.'.$conf['user_fields']['id'].' and 
    399   I.status in (\'webmaster\',  \'admin\') and 
    400   I.adviser = \'false\' and 
    401   '.$conf['user_fields']['email'].' is not null and 
    402   I.user_id <> '.$user['id'].' 
    403 order by 
    404   username 
    405 '; 
    406 //================================================================================== 
    407  
     406SELECT 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(); 
    408423  $datas = pwg_query($query); 
    409424   
     
    411426  if (!empty($datas)) 
    412427  { 
    413     while ($admin = mysql_fetch_array($datas)) 
     428    while ($group = mysql_fetch_array($datas)) 
    414429    { 
    415       if (!empty($admin['mail_address'])) 
     430 
     431         
     432      if (!empty($group['email'])) 
    416433      { 
    417         array_push($admins, format_email($admin['username'], $admin['mail_address'])); 
    418          
     434        array_push($groups, format_email($group['username'], $group['email'] )); 
    419435      } 
    420436    } 
    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   
    466440} 
    467441 
  • extensions/Mail_supervisor/language/fr_FR/plugin.lang.php

    r4029 r4040  
    11<?php 
    22global $lang ; 
     3/* 
    34 
     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'; 
    424 
    525$lang['Howto'] = 'Gestion des parametres de surveillance d\' envoie des mails.'; 
     
    4565                                                        'Nombre de %s envoyés  : %s  <br />'. 
    4666                                                        '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 />' ; 
    4969         
    5070 
    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 />' ; 
    5578                                         
    56 $lang['debug_message %s %s %s %s %s']=  '<br />---- La fonction mail &agrave; retourn&eacute;e [%s]  ------ 
     79$lang['debug_message %s %s %s %s %s']=  '<br />---- La fonction mail à retourné [%s]  ------ 
    5780                            -------- MESSAGE erreur : ------------- 
    5881                           [ %s ]  
     
    6386                                        %s 
    6487                                        '; 
     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                                         
    6599?> 
  • extensions/Mail_supervisor/main.inc.php

    r4030 r4040  
    2424/* 
    2525Plugin Name: Mail supervisor 
    26 Version: 1.0.2 
     26Version: 1.0.3 
    2727Description:  Mail supervisor surveille l'envoie des mails.  
    2828Plugin URI: http://piwigo.org/ext/extension_view.php?eid=315 
     
    5151    
    5252        $mails_options = explode("," , $conf['mail_superv']); 
    53         $infos_message=""; 
    5453        $message =""; 
    55         $erreur_messages=""; 
    56  
     54        if (!isset($infos_message)) 
     55        { 
     56        $infos_message = ""; 
     57        } 
     58if (!isset($erreur_message)) 
     59        { 
     60        $erreur_message = ''; 
     61        } 
    5762        // lecture données       ------------- 
    5863    $mails_données = Get_Datas(); 
     
    7984        $alerte =   ( $mails_données['reste'] >0 ) ? true : false ;  
    8085         
    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 ; 
    8388         
    8489  
     
    144149                        $type="Spams"; 
    145150                                $d1=$mails_données['nb_spams']; 
    146                                 $d2=$mails_données['date_spam']; 
     151                                $d1=$mails_données['nb_spams'] . '  \\  ' . $mails_données['nb_spams_maxi']; 
    147152                                $d3= $mails_données['rest_spam']; 
    148153                                $d4=time()+$d3 ; 
     
    152157                        $type="Mails"; 
    153158                         
    154                                 $d1=$mails_données['nb_mails']; 
     159                                $d1=$mails_données['nb_mails']. '  \\  ' . $mails_données['nb_mails_maxi'];; 
    155160                                $d2=$mails_données['date_mail']; 
    156161                                $d3= $mails_données['rest_mail']; 
    157162                                $d4=time()+$d3 ; 
     163                                 
     164                                 
    158165                        } 
    159166                        if ($alerte) { 
    160167                        $type="Spams(Quarantaine)"; 
    161                                 $d1=$mails_données['nb_spams']; 
     168                                $d1=$mails_données['nb_spams'] . '  \\  ' . $mails_données['nb_spams_maxi']; 
    162169                                $d2=$mails_données['date_quarantaine']; 
    163170                                $d3= $mails_données['reste']; 
    164171                                $d4=time()+$d3 ; 
    165  }  
     172                        }  
    166173 
    167174 
     
    170177$d4=date(l10n('formatdate'),$d4); 
    171178 
    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  
    173187 }                       
    174188 sauve_données(); 
     
    218232                                                $mails_données['date_quarantaine']= time()  ;    
    219233                                                $mails_données['quarantaine']= true    ;         
    220                                                 $infos_message=memo_var($mails_données); 
     234                                                $infos_message .=memo_var($mails_données); 
    221235                                        } 
    222236 
  • extensions/Mail_supervisor/maintain.inc.php

    r4029 r4040  
    7171  $q = ' 
    7272    INSERT INTO '.CONFIG_TABLE.' (param, value, comment) 
    73     VALUES ("mail_superv","off,on,off ,off,off","Parametres du plugin Mail superviseur") 
     73    VALUES ("mail_superv","on,on,off ,off,off","Parametres du plugin Mail superviseur") 
    7474  ;'; 
    7575  pwg_query($q); 
Note: See TracChangeset for help on using the changeset viewer.