Changeset 4040


Ignore:
Timestamp:
Oct 15, 2009, 10:09:57 AM (11 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.