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

Revision 4220, 16.8 KB checked in by cljosse, 10 years ago (diff)

[mail_supervisor] Fix Bug 'session_start() ' ???

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