source: extensions/Mail_supervisor/admin/mail_superv_admin.php @ 4151

Last change on this file since 4151 was 4151, checked in by cljosse, 14 years ago

[mail_supervisor] update mail_superv_admin.php

File size: 15.3 KB
RevLine 
[4020]1<?php
[4029]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
24if ( !defined('PHPWG_ROOT_PATH')) 
25{
26  die('Hacking attempt!');
27}
[4132]28
[4041]29if (!defined('MAIL_SUPERV_PATH')) define('MAIL_SUPERV_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
30
31
[4040]32// +-----------------------------------------------------------------------+
33// | Check Access and exit when user status is not ok                      |
34// +-----------------------------------------------------------------------+
[4132]35//check_status(ACCESS_ADMINISTRATOR);
[4029]36
[4054]37global $user, $lang, $conf, $errors,$mails_données;
38global $args, $conf_mail,$infos_message,$erreur_message ;
39
[4132]40
[4020]41include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
42
[4041]43
[4040]44include_once (MAIL_SUPERV_PATH.'include/constants.php'); 
45include_once (MAIL_SUPERV_PATH.'include/fonctions.php'); 
[4132]46include_once (PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php');
[4040]47$my_base_url = get_admin_plugin_menu_link(__FILE__);
[4020]48
[4040]49
50
[4054]51 load_language('plugin.lang', MAIL_SUPERV_PATH);
[4065]52
[4132]53
[4020]54$mails_options = explode("," , $conf['mail_superv']);
55$mails_données=Get_Datas();
56
[4040]57        if (!isset($_GET['tab']))
58        $page['tab'] = 'mail_superv_admin';
59else
60  $page['tab'] = $_GET['tab'];
[4029]61
[4059]62 $icon_path = 'template/yoga/icon/help.png';
63
64$tabhelp=  '  <img src="'.PHPWG_ROOT_PATH. $icon_path .'" class="button" alt="(?)"> ';
65
66 
67
[4040]68$tabsheet = new tabsheet();
69$tabsheet->add('mail_superv_admin',
70               l10n('Tab_set'),
71               $my_base_url.'&amp;tab=mail_superv_admin');
[4132]72                           
[4040]73$tabsheet->add('mail_superv_test',
74               l10n('Tab_test'),
75               $my_base_url.'&amp;tab=mail_superv_test');
[4132]76                           
77$tabsheet->add( 'mail_black_liste',
78               l10n('blackliste'),
79                           $my_base_url.'&amp;tab=mail_black_liste');
80 
81                                                   
[4059]82$tabsheet->add('mail_superv_help',$tabhelp
83              ,
[4040]84               $my_base_url.'&amp;tab=mail_superv_help');
[4132]85                           
86                           
[4040]87$tabsheet->select($page['tab']);
88$tabsheet->assign();
[4020]89
[4040]90$page['global'] = array();
91$error = array();
92
[4051]93vérif_base();
[4040]94
[4052]95$aff_nb=true;
[4051]96
97
[4040]98// *************************************************************************
99// |                          Sélection de l'onglet                        |
100// *************************************************************************
101
102                $modif=false ;
[4132]103
104
[4040]105//================================================================================
106switch ($page['tab'])
107 {
[4132]108   
[4040]109// *************************************************************************
110//                         initialisation                                  |
111// *************************************************************************
112  case 'mail_superv_admin':
113
[4020]114//=============================================================
[4040]115if ( isset($_POST['refresh']) ) {
[4059]116               
117        if ($mails_données['nb_mails'] == 0 ) 
118            $mails_données['date_mail'] = time();       
119       
120        if ($mails_données['nb_spams'] == 0 )
121           $mails_données['date_spam'] = time();
122       
123       
124        if ($mails_données['quarantaine'] == false)
125        { $mails_données['reste'] = 0;
126          $mails_données['date_quarantaine']=time();
127         }
128     sauve_données();
129        $mails_données = Get_Datas() ; 
130 $erreur_message .="<DIV  > <input name='' type='checkbox' value='' /> </DIV>" ;
131 $aff_nb = false ;
132 
[4040]133        }
[4020]134
135if ( isset($_POST['raz']) ) {
136        $mails_données['date_quarantaine']=time();
137        $mails_données['nb_mails'] = 0  ;
138        $mails_données['nb_spams'] = 0  ;
139        $mails_données['date_mail'] = time();
140        $mails_données['date_spam'] = time();
[4029]141       
[4020]142        $mails_données['reste'] = 0;
[4132]143        $mails_données['quarantaine']='false';
[4020]144       
[4029]145     sauve_données();
[4040]146         array_push($page['infos'], l10n('save_config'));
[4020]147        }
148       
149if ( isset($_POST['submit']) )
150{
151//Options
152  $mails_options[0] = isset($_POST['check_mailto']) ? $_POST['check_mailto'] : '' ;
153  $mails_options[1] = isset($_POST['check_header_carbon']) ? $_POST['check_header_carbon'] : '' ;
154  $mails_options[2] = isset($_POST['check_header_text']) ? $_POST['check_header_text'] : '' ;
155  $mails_options[3] = isset($_POST['mail_superv_admin']) ? $_POST['mail_superv_admin'] : '' ;
156  $mails_options[4] = isset($_POST['superv_guest']) ? $_POST['superv_guest'] : '' ;
157 
158//données 
159$mails_données['nb_mails_maxi'] = isset($_POST['nb_mails_maxi']) ? $_POST['nb_mails_maxi'] :  $mails_données['nb_mails_maxi']  ;
160$mails_données['nb_mails_periode'] = isset($_POST['nb_mails_periode']) ? $_POST['nb_mails_periode'] :  $mails_données['nb_mails_periode']  ;
161$mails_données['nb_spams_maxi'] = isset($_POST['nb_spams_maxi']) ? $_POST['nb_spams_maxi'] :  $mails_données['nb_spams_maxi']  ;
162$mails_données['nb_spams_periode'] = isset($_POST['nb_spams_periode']) ? $_POST['nb_spams_periode'] :  $mails_données['nb_spams_periode']  ;
[4029]163$mails_données['quarantaine_periode'] = isset($_POST['quarantaine_periode']) ? $_POST['quarantaine_periode'] :  $mails_données['quarantaine_periode']  ;
[4020]164
165$mails_données['message'] = isset($_POST['content']) ? $_POST['content'] :  $mails_données['message']  ;
166$mails_données['header_text'] = isset($_POST['header_text']) ? $_POST['header_text'] :  $mails_données['header_text']  ;
167  //===========================================================================================================
[4029]168         sauve_options();
[4020]169
[4040]170   //==============================================================================================
[4029]171         sauve_données();
[4020]172         
173   //===========================================================================================================
174
175array_push($page['infos'], l10n('save_config'));
176
177}
178
[4029]179$mails_données = Get_Datas() ;
180
181        $rest_mail= $mails_données['rest_mail'];       
182        $rest_spam= $mails_données['rest_spam'];       
183    $reste= $mails_données['reste'];   
184
[4132]185$quarantaine = ($mails_données['quarantaine'] == 'true') ? true : false ;;     
186
187         
188       
[4059]189$PHPWG_VERSION=PHPWG_VERSION;
[4029]190
[4020]191$template->assign(
192                                        array(
193   'check_mailto' => $mails_options[0] == 'on' ? 'checked="checked"' : '' ,
194   'check_header_carbons' => $mails_options[1] == 'on' ? 'checked="checked"' : '' ,
195   'check_header_text' => $mails_options[2] == 'on' ? 'checked="checked"' : '' ,
196   'free_admin' => $mails_options[3] == 'on' ? 'checked="checked"' : '' ,
197   'free_guest' => $mails_options[4] == 'on' ? 'checked="checked"' : '' ,
198   
199        'nb_mails' => $mails_données['nb_mails'] ,
[4029]200        'date_mail' => "'".date(l10n('formatdate'),$mails_données['date_mail'])."'" ,
[4020]201        'nb_mails_maxi' => $mails_données['nb_mails_maxi'] ,   
202        'nb_mails_periode' => "'".$mails_données['nb_mails_periode']."'" ,     
[4029]203        'time_mails_reste' => "'".int_to_heure( $rest_mail )."'" ,     
[4020]204       
205        'nb_spams' => $mails_données['nb_spams'] ,
[4029]206        'date_spam' => "'".date(l10n('formatdate'),$mails_données['date_spam'])."'" ,
[4020]207        'nb_spams_maxi' => $mails_données['nb_spams_maxi'] ,   
208         'nb_spams_periode' => "'".$mails_données['nb_spams_periode']."'" ,
[4029]209         'time_spams_reste' => "'".int_to_heure($rest_spam)."'" ,       
[4020]210         
[4132]211         'quarantaine' => $quarantaine ,
[4059]212        'date_quarantaine' => "'".date(l10n('formatdate'),time()+$reste)."'" ,
[4029]213        'quarantaine_periode' => "'".$mails_données['quarantaine_periode']."'" ,
214     'reste' => "'".int_to_heure($reste)."'",
[4020]215 
216    'message' => $mails_données['message'] ,
217        'header_text' => "'".$mails_données['header_text']."'" ,
[4029]218       
[4059]219 'PHPWG_VERSION' =>      PHPWG_VERSION ,
220         
[4029]221       
[4020]222                                                )
223                                );     
224
[4040]225        $template->set_filenames(array('plugin_admin_content' => realpath(MAIL_SUPERV_PATH . 'admin/mail_superv_admin.tpl')));
226                $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
227               
228 break; 
229 
230 
231// *************************************************************************
232//                        TEST                                             |
233// *************************************************************************
234 
235   case 'mail_superv_test':
236   
237   $mails_données = Get_Datas() ;
238   
239        $group_id = isset($_POST['group']) ? $_POST['group'] :  '-1'  ;
240        if ($group_id >= 0) {
241      $query = '
242                SELECT
243                name
244                FROM '.GROUPS_TABLE.'
245                WHERE id = '.$group_id.'
246                ;';
247                list($group_name) = mysql_fetch_row(pwg_query($query));
[4054]248                }       else {
249                                $group_name="";         
[4040]250                }               
251//================================================
[4020]252
253
[4040]254       
255if ( isset($_POST['test_envoie']) ) {
[4054]256       
[4040]257                $mails_données['message_test'] = isset($_POST['content']) ? $_POST['content'] :  $mails_données['message_test']  ;
258                $message=$mails_données['message_test'];
259                sauve_données();
260                test_envoie($message,$group_name,$group_id);   
261                $mails_données = Get_Datas() ;
[4054]262               
[4040]263  } 
264
265  $groups[-1] = '---------';
266
267  $query = '
268    SELECT id, name
269                FROM '.GROUPS_TABLE.'
270                ORDER BY name ASC
271                ;';
272
273  $result = pwg_query($query);
274//----------------------------------------------------------------     
[4132]275  while ($row = mysql_fetch_array($result,MYSQL_ASSOC))
[4040]276  {
277    $groups[$row['id']] = $row['name'];
278  }
279 //---------------------------------------------------------------
280
281  $template->assign(
282        'Group',
283                array(
284                        'group_options'=> $groups,
285                        'selected' => $group_id 
286                        )
287                );
288//=================================================================
289$destinataires= implode("<br />",get_liste($group_id));
290  $template->assign(
291                                        array(
292                                'Groupe'     => $groups,
293                        'message_test' => $mails_données['message_test'] ,
294                                'liste' => $destinataires ,
295
296                                                )
297                                );     
298                               
299        $template->set_filenames(array('plugin_admin_content' => realpath(MAIL_SUPERV_PATH . 'admin/mail_superv_test.tpl')));
300                $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
301   break;
302// *************************************************************************
[4132]303//              BLACK LISTE                                         |
304// *************************************************************************   
305     case 'mail_black_liste':
306
307   load_language('help/plugin.lang', MAIL_SUPERV_PATH); 
308 
309          $aff_nb=false;
310          $smile_bonjour=MAIL_SUPERV_PATH."smilies/bonjour.gif" ; 
311      $template->assign(
312                                        array(
313                                        'smile_bonjour' => $smile_bonjour ,
314                                        )
315                        );             
316        $aff_nb = false;
317        ;
318         $liste_bl=array();
319         $liste_ip=array();
320
321                $ip_black="";
322                $info_ip ="";
323
324                include  (MAIL_SUPERV_PATH.'include/save_info.php'); 
325               
326$fonction_raz = $my_base_url.'&amp;tab=mail_black_liste&amp;info=raz:';
327$fonction_set = $my_base_url.'&amp;tab=mail_black_liste&amp;info=ajout:';
328$f_action  = $my_base_url.'&amp;tab=mail_black_liste' ;
329                // array_keys($liste_bl[0]);array_keys($liste_ip[0])
330        $champs_ip=array();
331        $champs_bl=array();
332       
333                 if (!empty($liste_ip))
334                $champs_ip=array_keys($liste_ip[0]);
335               
336                 if (!empty($liste_bl))
337        $champs_bl=array_keys($liste_bl[0]);
338 
339               
340                  $smile_bonjour=MAIL_SUPERV_PATH."smilies/mouche.gif" ; 
341      $template->assign(
342                                        array(
343                                        'smile_bonjour' => $smile_bonjour ,
344
345                                'champs_ip' => $champs_ip ,                                     
346                                                'liste_ip' => $liste_ip,
347                                                'champs_bl' =>  $champs_bl       ,     
348                                                'liste_bl' => $liste_bl ,
349                                'conf_admin_layout' => $conf['admin_layout'] ,
350                                                'ip_black' => $ip_black ,
[4136]351                                                'ip_black_test' => (isset($_POST['ip_black_test']) ) ? $_POST['ip_black_test'] : $ip_black ,
[4132]352                                                'MAIL_SUPERV_PATH' => MAIL_SUPERV_PATH ,
353                                                'fonction_raz' => $fonction_raz ,
354                                                'fonction_set' => $fonction_set ,
355                                                'F_ACTION' => $f_action ,
356                                                'IP' => $_SERVER['REMOTE_ADDR'],
357                                        )
358                                );                       
359         //===============================================================                       
360                $template->set_filenames(array('plugin_admin_content' => realpath(MAIL_SUPERV_PATH . 'admin/mail_black_liste.tpl')));
361                $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
362   break; 
363
364// *************************************************************************
[4040]365//                      AIDE                                               |
366// *************************************************************************   
367     case 'mail_superv_help':
[4052]368
[4065]369   load_language('help/plugin.lang', MAIL_SUPERV_PATH); 
370 
[4052]371          $aff_nb=false;
372          $smile_bonjour=MAIL_SUPERV_PATH."smilies/bonjour.gif" ; 
373      $template->assign(
374                                        array(
375                                        'smile_bonjour' => $smile_bonjour ,
376                                        )
377                        );             
[4059]378        $aff_nb = false;
[4065]379        ;
[4040]380         
381                $template->set_filenames(array('plugin_admin_content' => realpath(MAIL_SUPERV_PATH . 'admin/mail_superv_help.tpl')));
382                $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
383   break; 
384 //====================================================================
[4132]385  }
[4040]386//================================================================================
[4059]387
388
[4045]389        if  ( $mails_données['reste'] < 0 ) {
390            $mails_données['quarantaine'] =false ;
391            $mails_données['date_quarantaine']= time()  ;       
392                $mails_données['nb_spams'] = 0 ;
393            $modif == true ;
394        }
395         
396         
[4040]397        $rest_mail =    $mails_données['rest_mail'] ;
398        if ($rest_mail <=0 || $mails_données['nb_mails'] ==0 ){
399           $mails_données['nb_mails'] =0 ;
400           $mails_données['date_mail'] = time();
401           $modif = true ;
402        }
403       
404        $rest_spam =    $mails_données['rest_spam'] ;
405
406        if ($rest_spam <=0 || $mails_données['nb_spams'] ==0 ){
407           $mails_données['nb_spams'] =0 ;
408           $mails_données['date_spam'] = time();
409           $modif = true ;
410        }
411        if ( $modif == true )   { 
412                                sauve_données();
413                                $modif = false ;
414                }
415                if (!isset($infos_message)){
[4052]416                  $infos_message = "";
[4040]417                } 
[4052]418                if ($aff_nb == true) {
[4040]419                 $infos_message .= 'Mails    : '.$mails_données['nb_mails']. '  \\  ' . $mails_données['nb_mails_maxi'];
420                 $infos_message .= "\n".'Spams : '.$mails_données['nb_spams']. '  \\  ' . $mails_données['nb_spams_maxi'];
[4052]421                }
[4059]422               
[4132]423
[4059]424                 
[4052]425                if  ($infos_message != "") 
[4040]426                 array_push($page['infos'], $infos_message);
[4052]427                 
428                if (!isset($erreur_message)){
429                  $erreur_message = "";
430                }               
431                if  ($erreur_message != "") 
432                 array_push($page['errors'], $erreur_message);           
433                 
[4040]434//========================================================================     
435                 
[4020]436?>
Note: See TracBrowser for help on using the repository browser.