Index: /extensions/Mail_supervisor/admin/mail_superv_admin.php
===================================================================
--- /extensions/Mail_supervisor/admin/mail_superv_admin.php	(revision 4039)
+++ /extensions/Mail_supervisor/admin/mail_superv_admin.php	(revision 4040)
@@ -26,27 +26,66 @@
   die('Hacking attempt!');
 }
-
-
+global $user, $lang, $conf, $errors;
+global $args, $conf_mail,$infos_message,$erreu_message ;
+// +-----------------------------------------------------------------------+
+// | Check Access and exit when user status is not ok                      |
+// +-----------------------------------------------------------------------+
+check_status(ACCESS_ADMINISTRATOR);
+
+include_once (PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php');
 include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
 
-
-global $args, $conf_mail ;
+include_once (MAIL_SUPERV_PATH.'include/constants.php'); 
+include_once (MAIL_SUPERV_PATH.'include/fonctions.php'); 
+
+$my_base_url = get_admin_plugin_menu_link(__FILE__);
+
+
+
 
 $mails_options = explode("," , $conf['mail_superv']);
 $mails_données=Get_Datas();
 
-	
-
-		
-	$list_period=array('week','day','hour','minute','seconde');
-	$list_period_label=array(l10n('Week'),l10n('Day'),l10n('Hour'),l10n('Minute'),l10n('Seconde'));
-	
-
-if ( isset($_POST['test_envoie']) ) {
-test_envoie();
-		
-  } 	
+	if (!isset($_GET['tab']))
+	$page['tab'] = 'mail_superv_admin';
+else
+  $page['tab'] = $_GET['tab'];
+
+$tabsheet = new tabsheet();
+$tabsheet->add('mail_superv_admin',
+               l10n('Tab_set'),
+               $my_base_url.'&amp;tab=mail_superv_admin');
+$tabsheet->add('mail_superv_test',
+               l10n('Tab_test'),
+               $my_base_url.'&amp;tab=mail_superv_test');
+$tabsheet->add('mail_superv_help',
+               l10n('Tab_help'),
+               $my_base_url.'&amp;tab=mail_superv_help');
+$tabsheet->select($page['tab']);
+$tabsheet->assign();
+
+$page['global'] = array();
+$error = array();
+
+
+// *************************************************************************
+// |                          Sélection de l'onglet                        |
+// *************************************************************************
+
+	 	$modif=false ;
+//================================================================================
+switch ($page['tab'])
+ {
+    
+// *************************************************************************
+//                         initialisation                                  |
+// *************************************************************************
+  case 'mail_superv_admin':
+
 //=============================================================
-
+if ( isset($_POST['refresh']) ) {
+   	 
+  
+	}
 
 if ( isset($_POST['raz']) ) {
@@ -62,12 +101,9 @@
 	
      sauve_données();
-	
-	array_push($page['infos'], l10n('save_config'));
+	 array_push($page['infos'], l10n('save_config'));
 	}
 	
 if ( isset($_POST['submit']) )
 {
-	
-			
 //Options
   $mails_options[0] = isset($_POST['check_mailto']) ? $_POST['check_mailto'] : '' ;
@@ -89,5 +125,5 @@
          sauve_options();
 
-//==============================================================================================
+   //==============================================================================================
          sauve_données();
 	  
@@ -136,13 +172,124 @@
 	'header_text' => "'".$mails_données['header_text']."'" ,
 	
-	'list_period' => $list_period ,
-	'list_period_label' => $list_period_label ,
+
 	
 		 				)
 				);	
 
-$template->set_filenames(array('plugin_admin_content' => realpath(MAIL_SUPERV_PATH . 'admin/mail_superv_admin.tpl')));
-$template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
-
-
+	$template->set_filenames(array('plugin_admin_content' => realpath(MAIL_SUPERV_PATH . 'admin/mail_superv_admin.tpl')));
+		$template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
+		
+ break; 
+ 
+ 
+// *************************************************************************
+//                        TEST                                             |
+// *************************************************************************
+ 
+   case 'mail_superv_test':
+   
+   $mails_données = Get_Datas() ;
+   
+   	$group_id = isset($_POST['group']) ? $_POST['group'] :  '-1'  ;
+	if ($group_id >= 0) {
+      $query = '
+		SELECT
+    		name
+  		FROM '.GROUPS_TABLE.'
+  		WHERE id = '.$group_id.'
+		;';
+  		list($group_name) = mysql_fetch_row(pwg_query($query));
+		 
+		 
+		}		
+//================================================
+
+
+	
+if ( isset($_POST['test_envoie']) ) {
+	if ($group_id >= 0) {
+		$mails_données['message_test'] = isset($_POST['content']) ? $_POST['content'] :  $mails_données['message_test']  ;
+		$message=$mails_données['message_test'];
+		sauve_données();
+	 	test_envoie($message,$group_name,$group_id);   
+		$mails_données = Get_Datas() ;
+	}	
+  } 
+
+  $groups[-1] = '---------';
+
+  $query = '
+    SELECT id, name
+		FROM '.GROUPS_TABLE.'
+		ORDER BY name ASC
+		;';
+
+  $result = pwg_query($query);
+//----------------------------------------------------------------	
+  while ($row = mysql_fetch_array($result))
+  {
+    $groups[$row['id']] = $row['name'];
+  }
+ //--------------------------------------------------------------- 
+
+  $template->assign(
+    	'Group',
+   		array(
+	  		'group_options'=> $groups,
+			'selected' => $group_id 
+			)
+ 		);
+//=================================================================
+$destinataires= implode("<br />",get_liste($group_id));
+  $template->assign(
+  					array(
+				'Groupe'     => $groups,
+    			'message_test' => $mails_données['message_test'] ,
+				'liste' => $destinataires ,
+
+		 				)
+				);	
+				
+   	$template->set_filenames(array('plugin_admin_content' => realpath(MAIL_SUPERV_PATH . 'admin/mail_superv_test.tpl')));
+		$template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
+   break;
+// *************************************************************************
+//                      AIDE                                               |
+// *************************************************************************   
+     case 'mail_superv_help':
+	 
+	 	$template->set_filenames(array('plugin_admin_content' => realpath(MAIL_SUPERV_PATH . 'admin/mail_superv_help.tpl')));
+		$template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
+   break; 
+ //====================================================================
+
+ 
+ }
+//================================================================================
+ 	$rest_mail =    $mails_données['rest_mail'] ;
+	if ($rest_mail <=0 || $mails_données['nb_mails'] ==0 ){
+	   $mails_données['nb_mails'] =0 ;
+	   $mails_données['date_mail'] = time();
+	   $modif = true ;
+	}
+	
+	$rest_spam =    $mails_données['rest_spam'] ;
+
+ 	if ($rest_spam <=0 || $mails_données['nb_spams'] ==0 ){
+	   $mails_données['nb_spams'] =0 ;
+	   $mails_données['date_spam'] = time();
+	   $modif = true ;
+	}
+	if ( $modif == true ) 	{ 
+				sauve_données();
+ 				$modif = false ;
+ 		}
+		if (!isset($infos_message)){
+		$infos_message = "";
+		} 
+		 $infos_message .= 'Mails    : '.$mails_données['nb_mails']. '  \\  ' . $mails_données['nb_mails_maxi'];
+		 $infos_message .= "\n".'Spams : '.$mails_données['nb_spams']. '  \\  ' . $mails_données['nb_spams_maxi'];
+		 array_push($page['infos'], $infos_message);
+//========================================================================	
+		 
 ?>
Index: /extensions/Mail_supervisor/admin/mail_superv_admin.tpl
===================================================================
--- /extensions/Mail_supervisor/admin/mail_superv_admin.tpl	(revision 4039)
+++ /extensions/Mail_supervisor/admin/mail_superv_admin.tpl	(revision 4040)
@@ -76,6 +76,6 @@
 	</fieldset>
       <p><input class="submit" type="submit" name="submit" value="{'Submit'|translate}" />
-	   <input class="submit" type="submit" name="raz" value="raz" />
-	  <input class="submit" type="submit" name="test_envoie" value="{'test'|translate}" />
+	     <input class="submit" type="submit" name="raz" value="{'raz'|translate}" />
+         <input class="submit" type="submit" name="raffraichir" value="{'refresh'|translate}" />
 	  </p> 
 </fieldset>
Index: /extensions/Mail_supervisor/include/fonctions.php
===================================================================
--- /extensions/Mail_supervisor/include/fonctions.php	(revision 4039)
+++ /extensions/Mail_supervisor/include/fonctions.php	(revision 4040)
@@ -30,5 +30,12 @@
 load_language('plugin.lang', MAIL_SUPERV_PATH);
 include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php');
+include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
+
+include_once (MAIL_SUPERV_PATH.'include/function_test_send.php'); 
+
 global $period_search,$period_match ;
+
+
+
 	$period_search=array("D","H","M","S","W");
 	array_push($period_search,l10n('Week'),l10n('Day'),l10n('Hour'),l10n('Minute'),l10n('Seconde'));
@@ -71,9 +78,16 @@
 			
 			`message`          = "'.$mails_données['message'].'",
+			`message_test`          = "'.$mails_données['message_test'].'",
 			`header_text`      = "'.$mails_données['header_text'].'"
 		WHERE `id` =1 LIMIT 1 ';
 		
 
-      pwg_query($query);
+    if (  pwg_query($query)) return;
+	
+	vérif_base() ;
+	if (  pwg_query($query)) return;
+
+	
+	;
 
 
@@ -262,11 +276,12 @@
 		`nb_spams_periode` TEXT  ,	
 		
-		`quarantaine` TEXT NOT NULL ,
+		`quarantaine` TEXT ,
 		`date_quarantaine` INT NOT NULL DEFAULT '0',
 		`quarantaine_periode` TEXT  ,	
 			
 		
-		`message` TEXT NOT NULL , 
-		`header_text` TEXT NOT NULL , 
+		`message` TEXT  , 
+		`message_test` TEXT  , 
+		`header_text` TEXT , 
       	PRIMARY KEY  (`id` )
    	 )
@@ -306,5 +321,5 @@
 			   				
 		if (!in_array( "quarantaine",$table)) {	
-	  $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `quarantaine` TEXT NOT NULL , ";
+	  $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `quarantaine` TEXT  , ";
 			   pwg_query($query);            } 	
 			   
@@ -320,4 +335,8 @@
 	  $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `message` TEXT   ";
 			   pwg_query($query);            } 	
+			   
+		if (!in_array( "message_test",$table)) {	
+	  $query = "ALTER TABLE `".MAIL_SUPERV_TABLE."` ADD `message_test` TEXT   ";
+			   pwg_query($query);            } 				   
 			   
 		if (!in_array( "header_text",$table)) {	
@@ -380,30 +399,26 @@
 }
 
-function test_envoie()
-{
-global $infos_message,$erreur_message ,$conf,$user ;
-
-
-//$infos_message=memo_var($user);
-
-$admins = array();
+function get_liste($group_id)
+{
+global $conf ;
+
   $query = '
-select
-  U.'.$conf['user_fields']['username'].' as username,
-  U.'.$conf['user_fields']['email'].' as mail_address
-from
-  '.USERS_TABLE.' as U,
-  '.USER_INFOS_TABLE.' as I
-where
-  I.user_id =  U.'.$conf['user_fields']['id'].' and
-  I.status in (\'webmaster\',  \'admin\') and
-  I.adviser = \'false\' and
-  '.$conf['user_fields']['email'].' is not null and
-  I.user_id <> '.$user['id'].'
-order by
-  username
-';
-//==================================================================================
-
+SELECT DISTINCT u.'.$conf['user_fields']['id'].' AS id,
+                u.'.$conf['user_fields']['username'].' AS username,
+                u.'.$conf['user_fields']['email'].' AS email,
+                ui.status,
+                ui.adviser,
+                ui.enabled_high,
+                ui.level
+  FROM '.USERS_TABLE.' AS u
+    INNER JOIN '.USER_INFOS_TABLE.' AS ui
+      ON u.'.$conf['user_fields']['id'].' = ui.user_id
+    LEFT JOIN '.USER_GROUP_TABLE.' AS ug
+      ON u.'.$conf['user_fields']['id'].' = ug.user_id
+  WHERE ug.group_id='.$group_id.' ';
+
+
+ 
+ $groups=array();
   $datas = pwg_query($query);
   
@@ -411,57 +426,16 @@
   if (!empty($datas))
   {
-    while ($admin = mysql_fetch_array($datas))
+    while ($group = mysql_fetch_array($datas))
     {
-      if (!empty($admin['mail_address']))
+
+	
+      if (!empty($group['email']))
       {
-     	array_push($admins, format_email($admin['username'], $admin['mail_address']));
-	
+     	array_push($groups, format_email($group['username'], $group['email'] ));
       }
     }
-  }
-
-  if (count($admins) > 0)
-  {
-  
-  ob_start();
-  	$erreur_message ="";
- // 	$infos_message .=   memo_var($admins);
-	
-
-	  
- //===========================================================
-  	$args = array();
-  	$args['Bcc']=$admins;
-  	$message_texte="Bonjour.";
-  	$message_html="Test";
-/*
- 	$limite = "_parties_".generate_key(32);; 
- //	$limite=$conf_mail['boundary_key'];
-  		$nom ='piwigo_logo_sombre_214x100.png'; 
-		$typemime='image/jpeg';
-
-  $attachement = "-----=".$limite."\n"; 
-  $attachement .= "Content-Type: ".$typemime."; name=\"".$nom."\"\n"; 
-  $attachement .= "Content-Transfer-Encoding: base64\n"; 
-  $attachement .= "Content-Disposition: attachment; filename=\"".$nom."\"\n\n"; 
-  $fd = fopen( $fichier, "r" ); 
-  $contenu = fread( $fd, filesize( $fichier ) ); 
-  fclose( $fd ); 
-  $attachement .= chunk_split(base64_encode($contenu)); 
-  $attachement .= "\n\n\n-----=".$limite."\n"; 
-  */
- //==========================================================================
-
- $args['subject']="Plugin Piwigo TEST";
- $args['content']="TEST ";
- 
-	  $infos_message .="ARGUMENTS.".memo_var($args);
-   $infos_message .="TEST ENVOIE [admin].".memo_var($admins);
-
-        $ret= pwg_mail( "", $args); 
-  	  	$m= ob_get_contents();
-    	ob_end_clean();
-		$erreur_message .=$m;
-	}
+  } 
+  return $groups ;
+  
 }
 
Index: /extensions/Mail_supervisor/language/fr_FR/plugin.lang.php
===================================================================
--- /extensions/Mail_supervisor/language/fr_FR/plugin.lang.php	(revision 4039)
+++ /extensions/Mail_supervisor/language/fr_FR/plugin.lang.php	(revision 4040)
@@ -1,5 +1,25 @@
 <?php
 global $lang ;
+/*
 
+$lang['nbm_msg_error_sending_email_to'] = 'Erreur lors de l\'envoi du mail à %s [%s].';
+$lang['nbm_msg_mail_sent_to'] = 'Mail envoyé à %s [%s].';
+$lang['nbm_msg_n_mail_sent'] = '%s mail a été envoyé.';
+$lang['nbm_msg_n_mails_sent'] = '%s mails ont été envoyés.';
+$lang['nbm_msg_n_mail_not_send'] = '%s mail n\'a pas été envoyé.';
+$lang['nbm_msg_n_mails_not_send'] = '%s mails n\'ont pas été envoyés.';
+$lang['nbm_no_mail_to_send'] = 'Pas de mail à envoyer.';
+
+*/
+
+$lang['refresh'] = 'Rafraîchir';
+$lang['no_receiver_available'] = 'Il n\'y a pas de destinataire sélectionné.';
+$lang['mail_sent_to'] = 'Mail envoyé à %s.';
+$lang['mail_not_send'] = 'Le mail n\'a pas été envoyé.';
+$lang['message_to_send'] = 'Message a envoyer.';
+
+$lang['Tab_set'] ='Initialisation';
+$lang['Tab_test'] ='Test';
+$lang['Tab_help'] ='Aide';
 
 $lang['Howto'] = 'Gestion des parametres de surveillance d\' envoie des mails.';
@@ -45,14 +65,17 @@
 							'Nombre de %s envoyés  : %s  <br />'.
 							'Depuis le             : %s  <br />'.		
-							'Il vous reste encore    %s  avant le déblocage.<br />
-  							 Le        %s <br />' ;
+							'Il vous reste encore    %s  avant le déblocage<br />'.
+  							' Le        %s <br />' ;
 	
 
-$lang['alerte_mail %s %s'] = "<br />ALERTE !!! DANGER DE MISE EN QUARANTAINE PAR VOTRE FAI <br />
-					Vous avez dépassé le nombre de mails admissibles par période. <br /> <br />
-					Date du premier mail: %s  <br />
-					Encore : %s  <br />" ;
+$lang['alerte_mail %s %s %s %s %s'] = '
+                    		ALERTE !!! DANGER DE MISE EN QUARANTAINE PAR VOTRE FAI <br />'.
+							'Vous avez dépassé le nombre de mails admissibles par période. <br />'.
+							'Nombre de %s envoyés  : %s  <br />'.
+							'Depuis le             : %s  <br />'.		
+							'Il vous reste encore    %s  avant le déblocage<br />'.
+  							' Le        %s <br />' ;
 					
-$lang['debug_message %s %s %s %s %s']=	'<br />---- La fonction mail &agrave; retourn&eacute;e [%s]  ------
+$lang['debug_message %s %s %s %s %s']=	'<br />---- La fonction mail à retourné [%s]  ------
 		            -------- MESSAGE erreur : -------------
 		           [ %s ] 
@@ -63,3 +86,14 @@
 					%s
 					';
+					
+$lang['message_texte %s %s %s %s'] ='
+ %s
+	 Bonjour  %s ,
+	 %s
+	 Vous avez aussi reçu une pièce jointe.
+	  A bientot 
+	  %s
+	  '; 
+
+					
 ?>
Index: /extensions/Mail_supervisor/main.inc.php
===================================================================
--- /extensions/Mail_supervisor/main.inc.php	(revision 4039)
+++ /extensions/Mail_supervisor/main.inc.php	(revision 4040)
@@ -24,5 +24,5 @@
 /*
 Plugin Name: Mail supervisor
-Version: 1.0.2
+Version: 1.0.3
 Description:  Mail supervisor surveille l'envoie des mails. 
 Plugin URI: http://piwigo.org/ext/extension_view.php?eid=315
@@ -51,8 +51,13 @@
    
 	$mails_options = explode("," , $conf['mail_superv']);
-	$infos_message="";
 	$message ="";
-	$erreur_messages="";
-
+	if (!isset($infos_message))
+	{
+    	$infos_message = "";
+	}
+if (!isset($erreur_message))
+	{
+    	$erreur_message = '';
+	}
 	// lecture données       -------------
     $mails_données = Get_Datas();
@@ -79,6 +84,6 @@
 	$alerte =   ( $mails_données['reste'] >0 ) ? true : false ; 
 	
-	$alerte_mail =    ( $mails_données['nb_mails'] >   $mails_données['nb_mails_maxi'] ) ? true : false ;
-	$alerte_spam =    (  $mails_données['nb_spams'] >   $mails_données['nb_spams_maxi'] ) ? true : false ;
+	$alerte_mail =    ( $mails_données['nb_mails'] >   $mails_données['nb_mails_maxi']-1 ) ? true : false ;
+	$alerte_spam =    (  $mails_données['nb_spams'] >   $mails_données['nb_spams_maxi']-1 ) ? true : false ;
 	
  
@@ -144,5 +149,5 @@
 		        $type="Spams";
 				$d1=$mails_données['nb_spams'];
-				$d2=$mails_données['date_spam'];
+				$d1=$mails_données['nb_spams'] . '  \\  ' . $mails_données['nb_spams_maxi'];
  				$d3= $mails_données['rest_spam'];
 				$d4=time()+$d3 ;
@@ -152,16 +157,18 @@
 		        $type="Mails";
 		        
-				$d1=$mails_données['nb_mails'];
+				$d1=$mails_données['nb_mails']. '  \\  ' . $mails_données['nb_mails_maxi'];;
 				$d2=$mails_données['date_mail'];
  				$d3= $mails_données['rest_mail'];
 				$d4=time()+$d3 ;
+				
+				
  			}
 			if ($alerte) {
 		        $type="Spams(Quarantaine)";
-				$d1=$mails_données['nb_spams'];
+				$d1=$mails_données['nb_spams'] . '  \\  ' . $mails_données['nb_spams_maxi'];
 				$d2=$mails_données['date_quarantaine'];
  				$d3= $mails_données['reste'];
 				$d4=time()+$d3 ;
- } 
+ 			} 
 
 
@@ -170,5 +177,12 @@
 $d4=date(l10n('formatdate'),$d4);
 
-		$erreur_message .='<br />'.sprintf(l10n('mise_en_quarantaine %s %s %s %s %s'),$type,$d1,$d2,$d3,$d4).'<br />';
+	if ($alerte_mail) {
+	      $erreur_message .='<br />'.sprintf(l10n('alerte_mail %s %s %s %s %s'),$type,$d1,$d2,$d3,$d4).'<br />';
+ 		}else{
+		 	   $erreur_message .='<br />'.sprintf(l10n('mise_en_quarantaine %s %s %s %s %s'),$type,$d1,$d2,$d3,$d4).'<br />';
+
+		}
+ $infos_message = l10n('mail_not_send');
+ 
  }			
  sauve_données();
@@ -218,5 +232,5 @@
 						$mails_données['date_quarantaine']= time()  ;	
 						$mails_données['quarantaine']= true    ;	
-						$infos_message=memo_var($mails_données);
+						$infos_message .=memo_var($mails_données);
 					}
 
Index: /extensions/Mail_supervisor/maintain.inc.php
===================================================================
--- /extensions/Mail_supervisor/maintain.inc.php	(revision 4039)
+++ /extensions/Mail_supervisor/maintain.inc.php	(revision 4040)
@@ -71,5 +71,5 @@
   $q = '
     INSERT INTO '.CONFIG_TABLE.' (param, value, comment)
-    VALUES ("mail_superv","off,on,off ,off,off","Parametres du plugin Mail superviseur")
+    VALUES ("mail_superv","on,on,off ,off,off","Parametres du plugin Mail superviseur")
   ;';
   pwg_query($q);
