Index: /extensions/Mail_supervisor/admin/header_2_1.tpl
===================================================================
--- /extensions/Mail_supervisor/admin/header_2_1.tpl	(revision 9701)
+++ /extensions/Mail_supervisor/admin/header_2_1.tpl	(revision 9702)
@@ -1,5 +1,5 @@
-﻿{known_script id="jquery" src= $ROOT_URL|@cat:$path_js|@cat:"jquery.js" } 
-{known_script id="jquery.cluetip" src=$ROOT_URL|@cat:$path_js|@cat:"plugins/jquery.cluetip.js" }
-{known_script id="jquery" src= $ROOT_URL|@cat:$path_js|@cat:"jquery.js"}
+﻿{html_head}
+{known_script id="jquery" src= $ROOT_URL|@cat:$path_js|@cat:"jquery.packed.js" } 
 {known_script id="jquery.cluetip" src=$ROOT_URL|@cat:$path_js|@cat:"plugins/jquery.cluetip.packed.js" }
-{known_script id="mail_script" src= $MAIL_SUPERV_PATH|@cat:"include/Scripts.js"}
+{known_script id="mail_script" src= $MAIL_SUPERV_PATH|@cat:"include/Scripts.js"}{/html_head}
+<input id="action_spam" name="action_spam" type="hidden" value="{$action_spam}" />
Index: /extensions/Mail_supervisor/admin/header_2_2.tpl
===================================================================
--- /extensions/Mail_supervisor/admin/header_2_2.tpl	(revision 9701)
+++ /extensions/Mail_supervisor/admin/header_2_2.tpl	(revision 9702)
@@ -1,5 +1,5 @@
-﻿{combine_script id="jquery" path= $ROOT_URL|@cat:$path_js|@cat:"jquery.js" }
+﻿{combine_script id="jquery" path= $ROOT_URL|@cat:$path_js|@cat:"jquery.min.js" }
 {combine_script id="jquery.cluetip" path=$ROOT_URL|@cat:$path_js|@cat:"plugins/jquery.cluetip.js" require="jquery"}
-{combine_script id="jquery" src= $ROOT_URL|@cat:$path_js|@cat:"jquery.js"}
-{combine_script id="jquery.cluetip" path=$ROOT_URL|@cat:$path_js|@cat:"plugins/jquery.cluetip.packed.js" require="jquery"}
 {combine_script id="my_script" path= $MAIL_SUPERV_PATH|@cat:"include/Scripts.js" }
+
+<input id="action_spam" name="action_spam" type="hidden" value="{$action_spam}" />
Index: /extensions/Mail_supervisor/admin/index.php
===================================================================
--- /extensions/Mail_supervisor/admin/index.php	(revision 9701)
+++ /extensions/Mail_supervisor/admin/index.php	(revision 9702)
Index: /extensions/Mail_supervisor/admin/mail_black_liste.tpl
===================================================================
--- /extensions/Mail_supervisor/admin/mail_black_liste.tpl	(revision 9701)
+++ /extensions/Mail_supervisor/admin/mail_black_liste.tpl	(revision 9702)
@@ -1,18 +1,6 @@
-{* $Id: mail_black_liste.tpl 3723 2009-08-07 04:53:38Z rvelices $ *}
-{html_head}
-{if PHPWG_VERSION < 2.2 } {include file=$MAIL_SUPERV_PATH_ABS|@cat:'header_2_1.tpl'}
-{else} {include file= $MAIL_SUPERV_PATH_ABS|@cat:'header_2_2.tpl'} {/if} {/html_head}
-
+{* $Id: mail_black_liste.tpl cljosse $ *} 
 <script type="text/javascript">
-jQuery().ready(function()
-{ldelim}
-  jQuery('.cluetip').cluetip(
-  {ldelim}
-    width: 550,
-    splitTitle: '|'
-  {rdelim});
-{rdelim});
+ var confirm_message = "{'Sv_Are_you_sure'|@translate|@escape:'javascript'}?";  
 </script>
-
 <link href="theme.css" rel="stylesheet" type="text/css" />
 {html_head}<link rel="stylesheet" type="text/css" href="{$MAIL_SUPERV_PATH}admin/theme.css" />{/html_head}
@@ -24,55 +12,61 @@
 <form action='' method="post" name="form_black">
 <fieldset>
-    <legend >{'Sv_options'|translate}</legend>
- <table> 
-<td><input type="checkbox" name="no_mail_list" value="on" {$no_mail_list}  />&nbsp;&nbsp;{'Sv_no_mail_list'|translate}	</td>
-<td><input type="checkbox" style="visibility:hidden" name="no_connect" value="off" {$no_connect} />&nbsp;&nbsp; </td>
-<td><input type="checkbox" style="visibility:hidden" name="set_auto" value="off" {$set_auto} />&nbsp;&nbsp; </td>
-<td><input type="checkbox" name="set_id" value="on" {$set_id} />&nbsp;&nbsp;{'Sv_set_id'|translate}</td>
-<tr><p></p><td>
-<input class="submit" type="submit" name="submit" value="{'Sv_Valider'|translate}" /></td></tr>
- </table>
+<legend >{'Sv_options'|translate}</legend>
+  <table> 
+    <td><input type="checkbox" name="no_mail_list" value="on" {$no_mail_list}  />&nbsp;&nbsp;{'Sv_no_mail_list'|translate}	</td>
+    <td style="visibility:hidden" ><input type="checkbox" name="no_connect" value="off" {$no_connect} />&nbsp;&nbsp;{'Sv_no_connect'|translate} </td>
+    <td style="visibility:visible" ><input type="checkbox"  name="set_auto" value="off" {$set_auto} />&nbsp;&nbsp;{'Sv_set_auto'|translate} </td>
+    <td style="visibility:hidden" ><input type="checkbox" name="set_id" value="on" {$set_id} />&nbsp;&nbsp;{'Sv_set_id'|translate}</td>
+    <tr><p></p><td>
+    <input class="submit" type="submit" name="submit" value="{'Sv_Valider'|translate}" /></td></tr>
+  </table>
 </fieldset>
 <input name="info1" type="hidden" />
  <fieldset >
-    <legend>{'Sv_black_liste'|translate}</legend>
-	   <table>
- 		<div > 
-	  	<input name="ip_black" id = "ip_black_test" type="text" value="{$ip_black}"	 />
-	  <input class="cluetip" title="{'Sv_Test'|translate}|{'Sv_hlp_7_3'|translate}"   type="submit" name="submit" value="{'Sv_Test'|translate}"  /> 
-
-{ if $ip_black_len > 0}
-		
-	       {if  $IS_SPAM  == true }
-				<label class="erreur">	{'Sv_is_a_spam'|@translate} </label>
-				{ else }
-				 <label class="erreur">	{'Sv_not_a_spam'|@translate} </label>
-			{/if}
-			{ if  $istype == 'IP'}  	
+<legend>{'Sv_black_liste'|translate}</legend>
+<table>
+ <td><input name="ip_black" id = "ip_black_test" type="text" value="{$ip_black}"	 />
+ <input class="cluetip" title="{'Sv_Test'|translate}|{'Sv_hlp_7_3'|translate}"   type="submit" name="submit" value="{'Sv_Test'|translate}"  /> 
+ { if $ip_black_len > 0}		
+	{if  $IS_SPAM  == true }
+		<label class="erreur">	{'Sv_is_a_spam'|@translate} </label>
+	{ else }
+			{ if  $istype == 'IP'} 	
+				<label class="erreur">	{'Sv_not_a_spam'|@translate} </label>
+			{ else }
+			   <label class="erreur">	{'Sv_no_verif'|@translate} </label>
+			{/if}			
+	{/if}
+</td>
+	<td>
+	<input class="bp cluetip" 
+		title="{'Sv_Ajout'|translate}|{'Sv_hlp_7_4'|translate}"
+		type="submit" 
+		name="submit" 
+		rel="ajout:{$ip_black}"
+		value="{'Sv_Ajout'|@translate}" 
+		alt="{'Sv_Ajout'|@translate} : {$ip_black}" 
+	/>
+  </td>
+  <td>
+ <input type="image" name="submit"   class='bp row1' 
+  src="{$ROOT_URL}{$themeconf.admin_icon_dir}/plug_activate.png" 
+  rel="ajout:{$ip_black}"
+  id="btn_ajout{$ip_black}" 
+  alt="{'Sv_Ajout'|@translate} : {$ip_black}"  
+  title="{'Sv_Ajout'|@translate} {$ip_black}" />
+{ else }
+		   
+{/if}
 			
-<input class="cluetip" title="{'Sv_Ajout'|translate}|{'Sv_hlp_7_4'|translate}"    type="submit" name="submit" value="{'Sv_Ajout'|translate}"  />
-
-              <input type="image" name="submit"   class='row1' 
-              src="{$ROOT_URL}{$themeconf.admin_icon_dir}/plug_activate.png" 
-	          alt="{'Sv_Ajout'|@translate}" 
-	          onclick = "
- if (confirm( document.getElementById('btn_ajout{$ip_black}').title + '\n\n' + '{'Sv_Are you sure?'|@translate|@escape:'javascript'}'))
-  form_black.info1.value='ajout:{$ip_black}' 
-  "
-	          id="btn_ajout{$ip_black}" 
-              title="{'Sv_Ajout'|@translate} {$ip_black}" />				
-{/if}	
-	{ else }
-		   
-		{/if}
-			
-
-
-			  
+</td>
+	  
+	
 			    
-	     </div>
+	 <td>
 		 <a href="http://www.stopforumspam.com" >  <img src="{$img_logo}"  width="32"/>  http://www.stopforumspam.com
- </a>
-	 </table>  
+ </a></td>
+ </tr>	<tr>   </tr>
+     </table>  
  
 	<table class="table2" >
@@ -89,13 +83,10 @@
 			<td>{$group.nb}</td>
     		<td style="text-align:center;">
-			<input type="image" class="{if $smarty.foreach.group_loop.index is odd}row1{else}row2{/if}"  
+			<input type="image" class="bp {if $smarty.foreach.group_loop.index is odd}row1{else}row2{/if}"  
      				src="{$ROOT_URL}{$themeconf.admin_icon_dir}/delete.png" 
-	 				alt="{'Sv_delete'|@translate}" 
-	 				onclick = "
- 						if (confirm( document.getElementById('btn_delete{$group.ip}').title + '\n\n' + '{'Sv_Are you sure?'|@translate|@escape:'javascript'}'))
-  form_black.info1.value='raz:{$group.ip}' 
-  "
+	 				rel="raz:{$group.ip}"
 	 				id="btn_delete{$group.ip}" 
-      				title="{'Sv_delete'|@translate} {$group.ip}" />
+      				title="{'Sv_delete'|@translate} {$group.ip}" 
+					alt="{'Sv_delete'|@translate} {$group.ip}" />
     			</td>
   		  </tr>
@@ -121,63 +112,53 @@
 	   <td><input class="submit" type="submit" name="prev"  value=   "{'previous_page'|translate}" /></td>
 	{ /if}
-       <td>{'page'|translate}</td>	   
-	   <td><input type="text" name="start"  value="{$start}" size=5  /></td>
-	    <td>/ {$maxipage}  </td>	
-
-	   
+  <td>{'page'|translate}</td>	   
+  <td><input type="text" name="start"  value="{$start}" size=5  /></td>
+  <td>/ {$maxipage}  </td>		   
 	{if $start < $maxipage }   
 	   <td><input class="submit" type="submit" name="next"  value=  "{'Next'|translate}"  /></td>
 		{ /if}   
-	   <td>
-	  <input class="submit" type="submit" name="info" value="{'Sv_list'|translate}" /> 
-	  </td>
-</table>	
-
-
-<table class="table2">
-
-   <tr class="throw"> 
-  
-    <th>{$champs_ip[0]|@translate}</th>
-    <th>{$champs_ip[1]|@translate}</th>
-    <th>{$champs_ip[2]|@translate}</th>
-	<th>{$champs_ip[3]|@translate}</th>
-	<th>{$champs_ip[4]|@translate}</th>
-	<th>{$champs_ip[5]|@translate}</th>
-
-    <th>{'Sv_blackliste'|@translate}</th>
+	   <td><input class="submit" type="submit" name="info" value="{'Sv_list'|translate}" /></td>
+ </table>	
+ <table class="table2">
+  <tr class="throw">   
+   <th>{$champs_ip[0]|@translate}</th>
+   <th>{$champs_ip[1]|@translate}</th>
+   <th>{$champs_ip[2]|@translate}</th>
+   <th>{$champs_ip[3]|@translate}</th>
+   <th>{$champs_ip[4]|@translate}</th>
+   <th>{$champs_ip[5]|@translate}</th>
+   <th>{'Sv_blackliste'|@translate}</th>
   </tr>
-  {if not empty($liste_ip)}
-  
-  {foreach from=$liste_ip item=group name=group_loop}
-  
-  		<tr class="{if $smarty.foreach.group_loop.index is odd}row1{else}row2{/if}">
-		 <td>{$group.id}</td>
-          <td>{$group.date}</td>
-	      <td>{$group.time}</td>
-	      <td>{$group.user_id}</td>
-		  <td>{$group.IP}</td>
-         <td>{$group.total}</td>
-      <td style="text-align:center;">
-<input type="image" 
-  class="{if $smarty.foreach.group_loop.index is odd}row1{else}row2{/if}" 
-  src="{$ROOT_URL}{$themeconf.admin_icon_dir}/plug_activate.png" 
-  onclick = "
- if (confirm( document.getElementById('btn_permissions{$group.IP}').title + '\n\n' + '{'Sv_Are you sure?'|@translate|@escape:'javascript'}'))
-  form_black.info1.value='ajout:{$group.IP}' 
-  "  
-  id="btn_permissions{$group.IP}"
-  title="{'Sv_blacklist'|@translate} {$group.IP}"
-  alt="{'Sv_blacklist'|@translate} {$group.IP}" />
+  {if not empty($liste_ip)}  
+   {foreach from=$liste_ip item=group name=group_loop}  
+    <tr class="{if $smarty.foreach.group_loop.index is odd}row1{else}row2{/if}">
+    <td>{$group.id}</td>
+    <td>{$group.date}</td>
+    <td>{$group.time}</td>
+    <td>{$group.user_id}</td>
+    <td>{$group.IP}</td>
+    <td>{$group.total}</td>
+    <td style="text-align:center;">
+		 <input type="image" 
+		   class="bp {if $smarty.foreach.group_loop.index is odd}row1{else}row2{/if}" 
+		   src="{$ROOT_URL}{$themeconf.admin_icon_dir}/plug_activate.png" 
+		   rel='ajout:{$group.IP}' 
+		   id="btn_permissions{$group.IP}"
+		   title="{'Sv_blacklist'|@translate} {$group.IP}"
+		   alt="{'Sv_blacklist'|@translate} {$group.IP}" />
     </td>
-  
-    <td style="text-align:center;">
-
-    </td>
-  </tr>
-  			{/foreach}
- 		 {/if}
- 			<td> <img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/plug_activate.png" /> {'Sv_set_black_list'|@translate}</td> 
-	</table>
-	</fieldset> 
+    <td style="text-align:center;"></td>
+   </tr>
+   {/foreach}
+  {/if}
+  <td> <img src="{$ROOT_URL}{$themeconf.admin_icon_dir}/plug_activate.png" /> {'Sv_set_black_list'|@translate}</td> 
+ </table>
+</fieldset> 
 </form>
+<form action="" method="post" name="form_connexion" id="form_connexion" style="visibility:hidden"> 	
+		<input name="pays"  type="text" value =  ""  id = "pays"  >
+		<input name="ville"  type="text" value = ""  id = "ville"   >
+		<input name="region"  type="text" value =  ""   id = "region"   >
+		<input name="latitude"  type="text" value =  "" id = "latitude"   >
+		<input name="longitude"  type="text" value = "" id = "longitude"  >	
+</form >
Index: /extensions/Mail_supervisor/admin/mail_superv_admin.php
===================================================================
--- /extensions/Mail_supervisor/admin/mail_superv_admin.php	(revision 9701)
+++ /extensions/Mail_supervisor/admin/mail_superv_admin.php	(revision 9702)
@@ -22,8 +22,5 @@
 // +-----------------------------------------------------------------------+
 
-if ( !defined('PHPWG_ROOT_PATH')) 
-{
-  die('Hacking attempt!');
-}
+if ( !defined('PHPWG_ROOT_PATH')) {  die('Hacking attempt!');}
 
 if (!defined('MAIL_SUPERV_PATH')) define('MAIL_SUPERV_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
@@ -38,6 +35,4 @@
 include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
 include_once (PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php');
-
-
 $my_base_url = get_admin_plugin_menu_link(__FILE__);
 
@@ -102,61 +97,41 @@
 $error = array();
 
-
+include_once (MAIL_SUPERV_PATH.'mail_super.inc.php'); 
 include_once (MAIL_SUPERV_PATH.'include/constants.php'); 
 
-	if (!isset($infos_message))
-	{
-    	$infos_message = "";
-	}
-if (!isset($erreur_message))
-	{
-    	$erreur_message = "";
-	}
+  if (!isset($infos_message))	{
+      $infos_message = "";
+  }
+  if (!isset($erreur_message)){
+      $erreur_message = "";
+  }
 
 if (isset($conf['mail_superv'])) {
-
-include_once (MAIL_SUPERV_PATH.'include/fonctions.php'); 
-	    global $pays,$region,$ville,$ip ;	
-
-		
-$mails_options = explode("," , $conf['mail_superv']); 
-        if (!isset($mails_options[set_id])) $mails_options[set_id] = 'off' ;  // 7
-		if (!isset($mails_options[ip])) $mails_options[ip] = $ip   ;  //6
-		if (!isset($mails_options[set_auto])) $mails_options[set_auto] = 'off' ;  //5
-		if (!isset($mails_options[no_connect])) $mails_options[no_connect] = 'off' ;  //4
-		if (!isset($mails_options[no_mail_list])) $mails_options[no_mail_list] = 'off' ;  //3
-		
-		if (!isset($mails_options[check_header_text])) $mails_options[check_header_text] = 'off' ;  //2
-		if (!isset($mails_options[check_header_carbon])) $mails_options[check_header_carbon] = 'off' ;  //1
-		if (!isset($mails_options[check_mailto])) $mails_options[check_mailto] = 'off' ;  //0
+   global $pays,$region,$ville,$ip ;	
+    include_once (MAIL_SUPERV_PATH.'include/fonctions.php'); 
 //================================================================================================	
-$mails_options[set_auto] = 'off' ;
-$mails_options[no_connect] = 'off' ;
-	
-$mails_donnees = Get_Datas();
-
-
+
+   $mails_donnees = mail_supervisor::Get_Datas();
 }else {
-die ("mail");
+    die ("mail");
 }
 
 
 $aff_nb=true;
-
 // *************************************************************************
 // |                          Selection de l'onglet                        |
 // *************************************************************************
-
-	 	$modif=false ;
-
-	$plugin =  Get_Version_plugins( MAIL_SUPERV_PATH);
-	$version = $plugin['version'] ;
+  $modif=false ;
+  $plugin =  mail_supervisor::Get_Version_plugins( MAIL_SUPERV_PATH);
+  $version = $plugin['version'] ;
  //=========================================================
-
-		if (!isset($ip)) {
-		       if (getenv("HTTP_CLIENT_IP"))
-					    {    $ip=getenv("HTTP_CLIENT_IP"); 	}
-					else{   $ip=getenv("REMOTE_ADDR"); 	}
-			   }
+  if (!isset($ip)) {
+	  if (getenv("HTTP_CLIENT_IP")){    
+      $ip=getenv("HTTP_CLIENT_IP"); 	
+    } else{   
+      $ip=getenv("REMOTE_ADDR"); 	
+    }
+  }
+               
 //================================================================================
 switch ($page['tab'])
@@ -185,5 +160,5 @@
 	 }
 	 $infos_message .=  l10n('Sv_refresh') .'<br />';
-     sauve_donnees();
+     mail_supervisor::sauve_donnees();
  	 $aff_nb = false ;
  
@@ -192,102 +167,87 @@
 
 	if ( $_POST['submit'] == l10n('Sv_raz')   ) {
-
-	$mails_donnees['date_quarantaine']=time();
-	$mails_donnees['nb_mails'] = 0  ;
-	$mails_donnees['nb_spams'] = 0  ;
-	$mails_donnees['date_mail'] = time();
-	$mails_donnees['date_spam'] = time();
-	
-	$mails_donnees['reste'] = 0;
-	$mails_donnees['quarantaine']='false';
-	
-     sauve_donnees();
-	 $infos_message .=  l10n('Sv_raz') .'<br />'; ;
-	
+	 $mails_donnees['date_quarantaine']=time();
+	 $mails_donnees['nb_mails'] = 0  ;
+	 $mails_donnees['nb_spams'] = 0  ;
+	 $mails_donnees['date_mail'] = time();
+	 $mails_donnees['date_spam'] = time();	
+	 $mails_donnees['reste'] = 0;
+	 $mails_donnees['quarantaine']='false';	
+    mail_supervisor::sauve_donnees();
+	 $infos_message .=  l10n('Sv_raz') .'<br />'; 	
 	}
 
   //===================================================================
-	if ( $_POST['submit'] == l10n('Sv_Valider') )  
-		{
-  		$mails_options[check_mailto] = isset($_POST['check_mailto']) ? $_POST['check_mailto'] : 'off' ;               
-  		$mails_options[check_header_carbon] = isset($_POST['check_header_carbon']) ? $_POST['check_header_carbon'] : 'off' ; 
-  		$mails_options[check_header_text] = isset($_POST['check_header_text']) ? $_POST['check_header_text'] : 'off' ;     
+	if ( $_POST['submit'] == l10n('Sv_Valider') ) {
+    $mails_options['check_mailto'] = isset($_POST['check_mailto']) ? $_POST['check_mailto'] : 'off' ;               
+    $mails_options['check_header_carbon'] = isset($_POST['check_header_carbon']) ? $_POST['check_header_carbon'] : 'off' ; 
+    $mails_options['check_header_text'] = isset($_POST['check_header_text']) ? $_POST['check_header_text'] : 'off' ;     
   
-		//donnees  
-		$mails_donnees['nb_mails_maxi'] = isset($_POST['nb_mails_maxi']) ? $_POST['nb_mails_maxi'] :  $mails_donnees['nb_mails_maxi']  ;
-		$mails_donnees['nb_mails_periode'] = isset($_POST['nb_mails_periode']) ? $_POST['nb_mails_periode'] :  $mails_donnees['nb_mails_periode']  ;  
-		$mails_donnees['nb_spams_maxi'] = isset($_POST['nb_spams_maxi']) ? $_POST['nb_spams_maxi'] :  $mails_donnees['nb_spams_maxi']  ;
-		$mails_donnees['nb_spams_periode'] = isset($_POST['nb_spams_periode']) ? $_POST['nb_spams_periode'] :  $mails_donnees['nb_spams_periode']  ;
-
-		$mails_donnees['quarantaine_periode'] = isset($_POST['quarantaine_periode']) ? $_POST['quarantaine_periode'] :  $mails_donnees['quarantaine_periode']  ;
- 
-			$mails_donnees['message'] = isset($_POST['content']) ? $_POST['content'] :  $mails_donnees['message']  ;
-			$mails_donnees['header_text'] = isset($_POST['header_text']) ? $_POST['header_text'] :  $mails_donnees['header_text']  ;
- //=======================================================================================================
-	 		verif_mails_donnees();
-		 	sauve_options();
-         	sauve_donnees();
-//=======================================================================================================
-			$infos_message  =  l10n('Sv_save_config') . " : " . l10n('Sv_Datas') . "<br />" ;
-			$erreur_message = "";
-			$mails_donnees = Get_Datas() ;
-   			}
-       }
-	
-	$mails_donnees = Get_Datas();
+    //donnees  
+    $mails_donnees['nb_mails_maxi'] = isset($_POST['nb_mails_maxi']) ? $_POST['nb_mails_maxi'] :  $mails_donnees['nb_mails_maxi']  ;
+    $mails_donnees['nb_mails_periode'] = isset($_POST['nb_mails_periode']) ? $_POST['nb_mails_periode'] :  $mails_donnees['nb_mails_periode']  ;  
+    $mails_donnees['nb_spams_maxi'] = isset($_POST['nb_spams_maxi']) ? $_POST['nb_spams_maxi'] :  $mails_donnees['nb_spams_maxi']  ;
+    $mails_donnees['nb_spams_periode'] = isset($_POST['nb_spams_periode']) ? $_POST['nb_spams_periode'] :  $mails_donnees['nb_spams_periode']  ;
+
+    $mails_donnees['quarantaine_periode'] = isset($_POST['quarantaine_periode']) ? $_POST['quarantaine_periode'] :  $mails_donnees['quarantaine_periode']  ;
+ 
+    $mails_donnees['message'] = isset($_POST['content']) ? $_POST['content'] :  $mails_donnees['message']  ;
+    $mails_donnees['header_text'] = isset($_POST['header_text']) ? $_POST['header_text'] :  $mails_donnees['header_text']  ;
+    //=======================================================================================================
     verif_mails_donnees();
-//===============================================================================
- 
-	$rest_mail= $mails_donnees['rest_mail'];  	
- 	$rest_spam= $mails_donnees['rest_spam'];  	
-    $reste= $mails_donnees['reste'];  	
-
-$quarantaine = ($mails_donnees['quarantaine'] == 'true') ? true : false ;	
-
-$template->assign(
+    mail_supervisor::sauve_options();
+    mail_supervisor::sauve_donnees();
+    //==============================================================================
+    $infos_message  =  l10n('Sv_save_config') . " : " . l10n('Sv_Datas') . "<br />" ;
+    $erreur_message = "";
+    $mails_donnees = mail_supervisor::Get_Datas() ;
+  }
+ }	
+	$mails_donnees = mail_supervisor::Get_Datas();
+ verif_mails_donnees();
+//=============================================================================== 
+ $rest_mail= $mails_donnees['rest_mail'];  	
+ $rest_spam= $mails_donnees['rest_spam'];  	
+ $reste= $mails_donnees['reste'];  
+ $quarantaine = ($mails_donnees['quarantaine'] == 'true') ? true : false ;	
+ $template->assign(
   					array(
-   'check_mailto' => ($mails_options[check_mailto] == 'on') ? 'checked="checked"' : '' ,
-   'check_header_carbons' => ($mails_options[check_header_carbon] == 'on') ? 'checked="checked"' : '' ,
-   'check_header_text' => ($mails_options[check_header_text] == 'on') ? 'checked="checked"' : '' ,
+                        'check_mailto' => ($mails_options['check_mailto'] == 'on') ? 'checked="checked"' : '' ,
+                        'check_header_carbons' => ($mails_options['check_header_carbon'] == 'on') ? 'checked="checked"' : '' ,
+                        'check_header_text' => ($mails_options['check_header_text'] == 'on') ? 'checked="checked"' : '' ,
 
    
-   	'nb_mails' => $mails_donnees['nb_mails'] ,
-   	'date_mail' => "'".date(l10n('Sv_formatdate'),$mails_donnees['date_mail'])."'" ,
-   	'nb_mails_maxi' => $mails_donnees['nb_mails_maxi'] ,	
-	'nb_mails_periode' => "'". int_to_heure($mails_donnees['nb_mails_periode'])."'" ,	
- 	'time_mails_reste' => "'".int_to_heure( $rest_mail )."'" ,	
-	
-  	'nb_spams' => $mails_donnees['nb_spams'] ,
-	'date_spam' => "'".date(l10n('Sv_formatdate'),$mails_donnees['date_spam'])."'" ,
-	'nb_spams_maxi' => $mails_donnees['nb_spams_maxi'] ,	
-	 'nb_spams_periode' => "'".int_to_heure($mails_donnees['nb_spams_periode'])."'" ,
-	 'time_spams_reste' => "'".int_to_heure($rest_spam)."'" ,	
+                        'nb_mails' => $mails_donnees['nb_mails'] ,
+                        'date_mail' => "'".date(l10n('Sv_formatdate'),$mails_donnees['date_mail'])."'" ,
+                        'nb_mails_maxi' => $mails_donnees['nb_mails_maxi'] ,	
+                        'nb_mails_periode' => "'". int_to_heure($mails_donnees['nb_mails_periode'])."'" ,	
+                        'time_mails_reste' => "'".int_to_heure( $rest_mail )."'" ,	
+	
+                        'nb_spams' => $mails_donnees['nb_spams'] ,
+                        'date_spam' => "'".date(l10n('Sv_formatdate'),$mails_donnees['date_spam'])."'" ,
+                        'nb_spams_maxi' => $mails_donnees['nb_spams_maxi'] ,	
+                        'nb_spams_periode' => "'".int_to_heure($mails_donnees['nb_spams_periode'])."'" ,
+                        'time_spams_reste' => "'".int_to_heure($rest_spam)."'" ,	
 	 
-	 'quarantaine' => $quarantaine ,
-  	'date_quarantaine' => "'".date(l10n('Sv_formatdate'),time()+$reste)."'" ,
-	'quarantaine_periode' => "'".int_to_heure($mails_donnees['quarantaine_periode'])."'" ,
-     'reste' => "'".int_to_heure($reste)."'",
- 
-    'message' => $mails_donnees['message'] ,
-	'header_text' => "'".$mails_donnees['header_text']."'" ,
-	
-    'PHPWG_VERSION' =>	 PHPWG_VERSION ,
-	 'version' =>	 $version ,
-	'MAIL_SUPERV_PATH' =>  MAIL_SUPERV_PATH ,
-	'path_js' => $path_js,
-    'MAIL_SUPERV_PATH_ABS' => MAIL_SUPERV_PATH_ABS,
+                        'quarantaine' => $quarantaine ,
+                        'date_quarantaine' => "'".date(l10n('Sv_formatdate'),time()+$reste)."'" ,
+                        'quarantaine_periode' => "'".int_to_heure($mails_donnees['quarantaine_periode'])."'" ,
+                        'reste' => "'".int_to_heure($reste)."'",
+ 
+                        'message' => $mails_donnees['message'] ,
+                        'header_text' => "'".$mails_donnees['header_text']."'" ,
+	
+                        'PHPWG_VERSION' =>	 PHPWG_VERSION ,
+                        'version' =>	 $version ,
+                        'MAIL_SUPERV_PATH' =>  MAIL_SUPERV_PATH ,
+                        'path_js' => $path_js,
+                        'MAIL_SUPERV_PATH_ABS' => MAIL_SUPERV_PATH_ABS,
      
 		 				)
-				);	
-
-	$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                                             |
 // *************************************************************************
@@ -295,5 +255,5 @@
    case 'mail_superv_test':
    		load_language('plugin.lang', MAIL_SUPERV_PATH); 
-   		$mails_donnees = Get_Datas() ;
+   		$mails_donnees = mail_supervisor::Get_Datas() ;
    		$group_id = isset($_POST['group']) ? $_POST['group'] :  '-1'  ;
 
@@ -354,6 +314,6 @@
 
  	unset_make_full_url();
-	sauve_donnees();
-	$mails_donnees = Get_Datas() ;
+	mail_supervisor::sauve_donnees();
+	$mails_donnees = mail_supervisor::Get_Datas() ;
     $query = 'SELECT
     		name
@@ -426,50 +386,36 @@
 //              BLACK LISTE                                         |
 // *************************************************************************   
-     case 'mail_black_liste':
-		global $user_name,$mail_adresse,$ip ;
- 	  	$aff_nb=false;
- //------------------------------------------------------------------------------------
-      	$mails_options[no_mail_list] = isset($_POST['no_mail_list']) ? $_POST['no_mail_list'] : $mails_options[no_mail_list] ;
-      	$mails_options[no_connect] = 'off' ;//isset($_POST['no_connect']) ? $_POST['no_connect'] : $mails_options[no_connect] ;
-	    $mails_options[set_auto] = 'off' ;//isset($_POST['set_auto']) ? $_POST['set_auto'] : $mails_options[set_auto] ;		
-//=======================================================================================	
-    $info_ip = (isset($info_ip)) ? $info_ip : '' ;
-    $info_ip = (isset($_POST['info1'])) ? $_POST['info1'] : $info_ip ;
-    $info_ip = (isset($_POST['info'])) ? $_POST['info'] : $info_ip ;
-    $info_ip .= ":";
-   $val=explode(":",$info_ip);
-   $info_ip = trim($val[0]) ;
-   $ip_black = trim($val[1]) ;
-
+ case 'mail_black_liste': 
+  global $user_name,$mail_adresse,$ip ;
+  $aff_nb=false;
+  //=======================================================================================	
+  $info_ip = (isset($info_ip)) ? $info_ip : '' ;
+  $info_ip = (isset($_POST['info1'])) ? $_POST['info1'] : $info_ip ;
+  $info_ip = (isset($_POST['info'])) ? $_POST['info'] : $info_ip ;
+  $info_ip .= ":";
+  $val=explode(":",$info_ip);
+  $info_ip = trim($val[0]) ;
+  $ip_black = trim($val[1]) ;
   if (isset($_POST['ip_black']))   $ip_black = ($ip_black == "" ) ? $_POST['ip_black'] : $ip_black ;
-   
-		 	$istype="";
-		 
-		 
-	if ( isset($_POST['submit']) )
-		{
-
-	if (clj_is_ip($ip_black)) $istype='IP';
-	 elseif (clj_is_mail($ip_black))  $istype='MAIL';
-     else   $istype='LOGIN';
-	 
-			if (  $_POST['submit'] == l10n('Sv_Ajout') )
-      		{
-			       $info_ip = 'Ajout' ;
-                   $ip_black = trim( $_POST['ip_black']) ;
-			       $infos_message .= $info_ip . '---->'. $ip_black ;   
-			}
-			if (  $_POST['submit'] == l10n('Sv_Valider') )
-      		{
-				$mails_options[no_mail_list] = isset($_POST['no_mail_list']) ? $_POST['no_mail_list'] : "off" ;
-      			$mails_options[no_connect] ='off' ;// isset($_POST['no_connect']) ? $_POST['no_connect'] : "off" ;
-      			$mails_options[set_auto] = 'off' ;//isset($_POST['set_auto']) ? $_POST['set_auto'] : "off" ;
-				$mails_options[set_id] = isset($_POST['set_id']) ? $_POST['set_id'] : "off" ;
-				sauve_options();
-			    $infos_message .=  l10n('Sv_save_config') . '<br />';   
-			    
-			}
-		} 	
-
+		$istype="";
+	if ( isset($_POST['submit']) ){
+	 if (clj_is_ip($ip_black)) $istype='IP';
+	 else if (clj_is_mail($ip_black))  $istype='MAIL';
+      else   $istype='LOGIN';	 
+    if (  $_POST['submit'] == l10n('Sv_Ajout') )	{
+      $info_ip = 'Ajout' ;
+      $ip_black = trim( $_POST['ip_black']) ;
+      $infos_message .= $info_ip . '---->'. $ip_black ;   
+    }
+	 if (  $_POST['submit'] == l10n('Sv_Valider') )	{
+    
+     $mails_options['no_mail_list'] = isset($_POST['no_mail_list']) ? "on" : "off" ;
+     $mails_options['no_connect'] = isset($_POST['no_connect']) ? "on" : "off" ;
+     $mails_options['set_auto'] = isset($_POST['set_auto']) ? "on" : "off" ;
+     $mails_options['set_id'] = isset($_POST['set_id']) ? "on" : "off" ;
+     mail_supervisor::sauve_options();
+     $infos_message .=  l10n('Sv_save_config') . '<br />'; 
+  }
+}
 if (!isset($params)) $params=array();
 if (!isset($params['per_page'])) $params['per_page'] = 20 ;
@@ -480,16 +426,13 @@
 if (isset($_POST['next'])) $params['start'] +=   1;
 if (isset($_POST['prev']))  $params['start'] -=   1;
-
-$params['start']= ($params['start']>=0) ? $params['start'] : 0 ;
-
-
-include  (MAIL_SUPERV_PATH.'include/save_info.php'); 	   
-$maxipage=(int) (	$nbip  / $params['per_page']) ;
+ $params['start']= ($params['start']>=0) ? $params['start'] : 0 ;
 //=======================================================================================	
+ include  (MAIL_SUPERV_PATH.'include/save_info.php'); 	   
+  $maxipage=(int) (	$nbip  / $params['per_page']) ;
 	$f_action  = $my_base_url.'&amp;tab=mail_black_liste' ;
 	$champs_ip=array();
 	$champs_bl=array();
 	if (!empty($liste_ip))		$champs_ip=array_keys($liste_ip[0]);
-	if (!empty($liste_bl))      $champs_bl=array_keys($liste_bl[0]);
+	if (!empty($liste_bl))  $champs_bl=array_keys($liste_bl[0]);
 	   $smile_bonjour=MAIL_SUPERV_PATH."smilies/mouche.gif" ; 
 	   $img_logo=MAIL_SUPERV_PATH."smilies/logo.png" ; 
@@ -514,8 +457,8 @@
                         'F_ACTION' => $f_action ,
 						
-                        'no_mail_list' => ($mails_options[no_mail_list] == 'on') ? 'checked="checked"' : '' ,
-                        'no_connect' => ($mails_options[no_connect] == 'on') ? 'checked="checked"' : '' ,
-                        'set_auto' => ($mails_options[set_auto] == 'on') ? 'checked="checked"' : '' ,
-                        'set_id' => ($mails_options[set_id] == 'on') ? 'checked="checked"' : '' ,
+                        'no_mail_list' => ($mails_options['no_mail_list'] == 'on') ? 'checked="checked"' : '' ,
+                        'no_connect' => ($mails_options['no_connect'] == 'on') ? 'checked="checked"' : '' ,
+                        'set_auto' => ($mails_options['set_auto'] == 'on') ? 'checked="checked"' : '' ,
+                        'set_id' => ($mails_options['set_id'] == 'on') ? 'checked="checked"' : '' ,
                         'IP' =>  $ip ,						
                         'PAYS' =>  $pays  ,
@@ -526,9 +469,9 @@
 		 			)
 				);			 
-	 //===============================================================	
-	 	
-				 
-	 	$template->set_filenames(array('plugin_admin_content' => realpath(MAIL_SUPERV_PATH . 'admin/mail_black_liste.tpl')));
-		$template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
+	 //===============================================================					 
+  $template->set_filenames(array('plugin_admin_content' => realpath(MAIL_SUPERV_PATH . 'admin/mail_black_liste.tpl')));
+  $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
+      
+
    break; 
 
@@ -585,5 +528,5 @@
 	}
 	if ( $modif == true ) 	{ 
-				sauve_donnees();
+				mail_supervisor::sauve_donnees();
  				$modif = false ;
  		}
@@ -593,19 +536,7 @@
 		 $infos_message .= "\n".'Spams : '.$mails_donnees['nb_spams']. '  \\  ' . $mails_donnees['nb_spams_maxi'];
 		}
-		
-
-		  
-		if  ($infos_message != "")  {
-		   array_push($page['infos'],  $infos_message);
-		   $infos_message="";
-		 }
-		 
-		if  ($erreur_message != "")  {
-	
-		  array_push($page['errors'], $erreur_message);
-		  $erreur_message="";
-	
-		 
-		 }		 
+
+
+	 mail_supervisor::affiche_message();
 //========================================================================	
 ?>
Index: /extensions/Mail_supervisor/admin/mail_superv_admin.tpl
===================================================================
--- /extensions/Mail_supervisor/admin/mail_superv_admin.tpl	(revision 9701)
+++ /extensions/Mail_supervisor/admin/mail_superv_admin.tpl	(revision 9702)
@@ -1,5 +1,2 @@
-{html_head} {if PHPWG_VERSION < 2.2 } {include file=$MAIL_SUPERV_PATH_ABS|@cat:'header_2_1.tpl'}
-{else} {include file= $MAIL_SUPERV_PATH_ABS|@cat:'header_2_2.tpl'} {/if} {/html_head}
-
 <script type="text/javascript">
 jQuery().ready(function(){ldelim}
Index: /extensions/Mail_supervisor/admin/mail_superv_help.tpl
===================================================================
--- /extensions/Mail_supervisor/admin/mail_superv_help.tpl	(revision 9701)
+++ /extensions/Mail_supervisor/admin/mail_superv_help.tpl	(revision 9702)
@@ -1,10 +1,7 @@
-{html_head} {if PHPWG_VERSION < 2.2 } {include file=$MAIL_SUPERV_PATH_ABS|@cat:'header_2_1.tpl'}
-{else} {include file= $MAIL_SUPERV_PATH_ABS|@cat:'header_2_2.tpl'} {/if} {/html_head}
 <div class="instructions" >
 <h2>{'Sv_Tab_help'|translate}{'Sv_version'|translate}{$version}</h2>
 <fieldset style=" position:relative ; top:15px">
   <legend>{'Sv_admin_titre'|translate}</legend>
-<div id="instructionFonction" class="instructionBlock" >
- 
+<div id="instructionFonction" class="instructionBlock" > 
   <div
     id="fonction_header"
Index: /extensions/Mail_supervisor/admin/mail_superv_test.tpl
===================================================================
--- /extensions/Mail_supervisor/admin/mail_superv_test.tpl	(revision 9701)
+++ /extensions/Mail_supervisor/admin/mail_superv_test.tpl	(revision 9702)
@@ -1,10 +1,6 @@
-{html_head} {if PHPWG_VERSION < 2.2 } {include file=$MAIL_SUPERV_PATH_ABS|@cat:'header_2_1.tpl'}
-{else} {include file= $MAIL_SUPERV_PATH_ABS|@cat:'header_2_2.tpl'} {/if} {/html_head}
 <div class="titrePage">
 	<h2>{'Sv_supervisor'|translate}{'Sv_version'|translate}{$version}</h2>
 </div>
-
 <form action="" method="post" name="form">
-
   <fieldset>
     <legend>{'Sv_Tab_test'|translate}</legend>
Index: /extensions/Mail_supervisor/include/Scripts.js
===================================================================
--- /extensions/Mail_supervisor/include/Scripts.js	(revision 9701)
+++ /extensions/Mail_supervisor/include/Scripts.js	(revision 9702)
@@ -1,15 +1,81 @@
-function blockToggleDisplay(headerId, contentId){
-	var revHeader = document.getElementById(headerId);
-	var revContent = document.getElementById(contentId);
+function blockToggleDisplay(headerId, contentId) {
+ var revHeader = document.getElementById(headerId);
+ var revContent = document.getElementById(contentId);
 
-	if (revContent.style.display == 'none')
-	{
-		revContent.style.display = 'block';
-		revHeader.className = 'instructionBlockHeaderExpanded';
-	}
-	else
-	{
-		revContent.style.display = 'none';
-		revHeader.className = 'instructionBlockHeaderCollapsed';
-	}
+ if (revContent.style.display == 'none') {
+  revContent.style.display = 'block';
+  revHeader.className = 'instructionBlockHeaderExpanded';
+ }
+ else {
+  revContent.style.display = 'none';
+  revHeader.className = 'instructionBlockHeaderCollapsed';
+ }
 }
+/*******************************************
+* get_script_geo()
+********************************************/
+function get_script_geo() {
+ try {
+  if (typeof pays == "undefined") {
+   pays = geoip_country_name();
+   ville = geoip_city();
+   region = geoip_region_name();
+   latitude = geoip_latitude();
+   longitude = geoip_longitude();
+  }
+  jQuery("#pays").val(pays);
+  jQuery("#ville").val(ville);
+  jQuery("#region").val(region);
+  jQuery("#latitude").val(latitude);
+  jQuery("#longitude").val(longitude);
+
+ } catch (e) {
+  url = "http://j.maxmind.com/app/geoip.js";
+  jQuery.getScript(url, function () {
+   try {
+    pays = geoip_country_name();
+    ville = geoip_city();
+    region = geoip_region_name();
+    latitude = geoip_latitude();
+    longitude = geoip_longitude();
+    jQuery("#pays").val(pays);
+    jQuery("#ville").val(ville);
+    jQuery("#region").val(region);
+    jQuery("#latitude").val(latitude);
+    jQuery("#longitude").val(longitude);
+   } catch (e) {
+
+   }
+  });
+ }
+
+}
+jQuery(document).ready(
+     function (jQuery) {
+       jQuery(window).load(function () {
+         // get_script_geo();
+         jQuery('.cluetip').cluetip({ width: 350, splitTitle: '|' });
+
+         spam = jQuery("#action_spam").val();
+         if (spam == "true") get_script_geo();
+         if (jQuery(".infos").length > 0)
+           if (spam == "true") {
+             jQuery(".infos").css("color", "red");            
+
+           }
+
+         jQuery(".bp").click(function () {
+           if (confirm(this.alt + '\n\n' + confirm_message)) form_black.info1.value = this.rel;
+
+         });
+
+
+         function ajout_action(titre, message, valeur) {
+           alert("");
+
+
+         }
+
+
+       });
+     });
Index: /extensions/Mail_supervisor/include/constants.php
===================================================================
--- /extensions/Mail_supervisor/include/constants.php	(revision 9701)
+++ /extensions/Mail_supervisor/include/constants.php	(revision 9702)
@@ -2,31 +2,25 @@
 global $prefixeTable;
 
-if (!defined('MAIL_SUPERV_TABLE')) define('MAIL_SUPERV_TABLE', $prefixeTable.'mail_superv');
+if (!defined('mail_superv_TABLE')) define('mail_superv_TABLE', $prefixeTable.'mail_superv');
 if (!defined('MAIL_BLACK_LISTE_TABLE')) define('MAIL_BLACK_LISTE_TABLE', $prefixeTable.'mail_black_list');
 if (!defined('Sv_MAIL_TABLE')) define('Sv_MAIL_TABLE', $prefixeTable.'Sv_mail');
-
-
-
 global 	$superv_champs , $superv_type ,$superv_bl_champs , $superv_bl_type ; 
-
-
-	  $superv_champs = array(
-	               "id",
-					"nb_mails",
-					"date_mail",
-					"nb_mails_maxi",		
-					"nb_mails_periode",	
-					"nb_spams",
-					"date_spam",	
-					"nb_spams_maxi",	
-					"nb_spams_periode",	
-					"quarantaine",
-					"date_quarantaine",
-					"quarantaine_periode",	
-					"message", 
-					"message_test", 
-				    "header_text",
-				
-					);	
+$superv_champs = array(
+  "id",
+  "nb_mails",
+  "date_mail",
+  "nb_mails_maxi",		
+  "nb_mails_periode",	
+  "nb_spams",
+  "date_spam",	
+  "nb_spams_maxi",	
+  "nb_spams_periode",	
+  "quarantaine",
+  "date_quarantaine",
+  "quarantaine_periode",	
+  "message", 
+  "message_test", 
+  "header_text",				
+		);	
 									
  	$superv_type = array(
Index: /extensions/Mail_supervisor/include/fonctions.php
===================================================================
--- /extensions/Mail_supervisor/include/fonctions.php	(revision 9701)
+++ /extensions/Mail_supervisor/include/fonctions.php	(revision 9702)
@@ -22,275 +22,13 @@
 // +-----------------------------------------------------------------------+
 
-if (!defined('PHPWG_ROOT_PATH'))
-{
-  die('Hacking attempt!');
-}
-
+if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
 if (!defined('MAIL_SUPERV_PATH')) define('MAIL_SUPERV_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
 
-    define ("check_mailto", 0);
-	define ("check_header_carbon",1);
-	define ("check_header_text",2);
-    define ("no_mail_list", 3);
-	define ("no_connect",4);	// empeche l'ip de se connecter au site.
-	define ("set_auto",5);		// Test a l'ouverture et enregistrement 
-    define ("ip",6);  			// dernirre adresse IP
-	define ("set_id",7);		// enregistrment nouvel 
-  
-  
- if (!isset($_COOKIE[session_name()]))
-{
-
-
-
-}
-include_once(PHPWG_ROOT_PATH.'include/functions_mail.inc.php');
-include_once(PHPWG_ROOT_PATH.'include/functions.inc.php');
-include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
+global 	$superv_champs , $superv_type ,$superv_bl_champs , $superv_bl_type ; 
+// if (!isset($_COOKIE[session_name()])){}
+
 global $lang ;
-
-include_once (MAIL_SUPERV_PATH.'include/function_test_send.php'); 
-    load_language('plugin.lang', MAIL_SUPERV_PATH);
-global 	$superv_champs , $superv_type ,$superv_bl_champs , $superv_bl_type ; 
-	  
-//==========================================================
-function sauve_options()
-{
-global $mails_options ;
- if ( isset($mails_options) )
- 	{
-	 
-	 while ( count($mails_options) < 10 ) 
-	   {
-	  
-	      $mails_options[]='?';
-	   }
-	   
-		$valeurs = implode( ',',$mails_options);
- 
-		
-		$query = '
-    		UPDATE '.CONFIG_TABLE.'
-    		SET value="'. $valeurs . '"
-    		WHERE param = "mail_superv"
-    		LIMIT 1';
- 			pwg_query($query);
-	  
-	}
-}
-//=================================================================================
-function sauve_donnees()
-{
-
-global $mails_donnees,$superv_champs,$superv_type,$erreur_message ;
-//=====================================================================	
- 	$clefs = $superv_champs ;
- 	$valeurs = array();
-
-foreach ( $clefs as $champ)
-   {
-     $champ = trim($champ);
-     
-	 if ( isset($mails_donnees[  $champ ]) ) {
-	   $sep= (is_string($mails_donnees[ $champ ])) ? '"' : '' ;
-       array_push($valeurs , "`".$champ."`" . ' = ' . $sep . $mails_donnees[  $champ ] . $sep)  ;
-	 }else{
-	 
-	    array_push($valeurs , "`".$champ."`" . ' = ' .  "0"  )  ;
-	 }
-	 
-    }
-$valeurs = implode(", ",$valeurs) ;
-//=====================================================================
-$query = '
-        UPDATE '.MAIL_SUPERV_TABLE.'
-        SET '. $valeurs .'
-		WHERE `id` = 1 LIMIT 1 ';
-		;
-	ob_start();
-		$ret=  pwg_query($query)    ;
-	  	$m= ob_get_contents();
-	ob_end_clean() ;
-	$erreur_message .= $m ;
-
-}
-	 
-//=================================================================================
-function affiche_message()
-{
- global $template,$infos_message,$erreur_message, $user ,$ip;
-
-global $mails_options,$conf,$lang ;
-
-$mails_options = explode("," , $conf['mail_superv']);
-		if (!isset($ip)) {
-		       if (getenv("HTTP_CLIENT_IP"))
-					    {    $ip=getenv("HTTP_CLIENT_IP"); 	}
-					else{   $ip=getenv("REMOTE_ADDR"); 	}
-			   }
-//  unset ($_SESSION['pwg_'.'action_spam']);
-     $action_spam = pwg_get_session_var('action_spam') ;
-    if  ($action_spam == null) { $action_spam = kill_list();  }
-	
-	if (is_bool($action_spam)) $action_spam =($action_spam == true) ? "true" : "false" ;
-	  if ($action_spam == "true" )
-		 {  
-		  $erreur_message = $ip . " "  . $action_spam  ;
-		  pwg_set_session_var('action_spam', "true"); 
-		  $erreur_message .= "<BR />".l10n('Sv_is_a_spam') ;
-		 if ($mails_options[no_connect] == 'on' ){
-			//[status] => guest
-			//[status] => normal
-			//[status] => webmaster
-			if ($user['status'] != 'webmaster'  )
-				if (!isset($_GET['admin'])) {
-	  					 die('Blacklist : <br />' .$erreur_message. '<br /> Hacking attempt!');
-	  			}elseif   ($_GET['admin'] != 'piwigo')
-	  				{
-	  					 die('blacklist Hacking attempt!');
-	  				}
-				unset ($_SESSION['pwg_'.'action_spam']);
-	   }
-	     }else{
-		   pwg_set_session_var('action_spam', "false"); 
-		 }
-	
- 
-// }	  
-
- //==============================================================
-  if (isset($erreur_message))
-		{	
- 
-		if ($erreur_message <> "")
-			{
-			    $erreur_message = str_replace("\n",'<br />',$erreur_message) ;
-   				$template->assign('errors',$erreur_message);
-				$erreur_message = "";
-			}
-  		}
-		
-	
-  if (isset($infos_message))
-		{	
-		
-		if ($infos_message <> "")
-			{
-				$infos_message = str_replace("\n",'<br />',$infos_message) ;
-   				$template->assign('infos',$infos_message);
-				$infos_message = "";
-			}
-  		}
-		//=============================================================
-	
-	
-return;		 
-		
-}
-
-function Get_geo()
-{
-global $ip,$pays,$region,$ville, $latitude ,$longitude,$mails_options;
-	 //===================================================================================
-	$info_geo = pwg_get_session_var('info_geo');
-	print_r($info_geo );
- 	if (count($info_geo) > 0)  
-	{
-		
-	 	$pays  = $info_geo[0];
-	 	$region  = $info_geo[1];
-	 	$ville  = $info_geo[2];
-	 	$latitude = $info_geo[3];
-	 	$longitude = $info_geo[4];
-		$ip = $info_geo[5];
-		return true;
-	}
-//=======================================================================
-
- if (isset($_POST['pays'])) { 
-			$pays = isset($_POST['pays']) ? $_POST['pays'] : "";
- 			$region =  isset($_POST['region']) ? $_POST['region'] :"";				
- 			$ville = (isset($_POST['ville']))   ? $_POST['ville']: ""; 
-			$latitude =  isset($_POST['latitude']) ? $_POST['latitude'] : "";	
-			$longitude =  isset($_POST['longitude']) ? $_POST['longitude'] : "";
-				
- 			$info_geo = array(   $pays ,$region , $ville ,$latitude, $longitude,$_SERVER['REMOTE_ADDR']  );
-  			pwg_set_session_var('info_geo', $info_geo); 
-			return true;
- 
- }else{
-
- 	    $result="";
-?>
-<script language="JavaScript" src="http://j.maxmind.com/app/geoip.js" type="text/javascript" >
-</script>	  
-<script language="JavaScript" type="text/javascript">
-            var pays     =  geoip_country_name();
-	  		var ville     =  geoip_city();
-	  		var region    =  geoip_region_name() ;
-		  	var latitude  =  geoip_latitude() ;
-	  		var longitude =  geoip_longitude() ; 
-			
-</script>
-<form action="" method="post" name="form_connexion" id="form_connexion" style="visibility:hidden">
-<script language="JavaScript" type="text/javascript">			
-		document.write ("<input name=\"pays\"  type=\"text\" value =  "+ pays + "  id = \"pays\"  > ");
-		document.write ("<input name=\"ville\"  type=\"text\" value = "+ ville + "  id = \"ville\"   >  ");
-		document.write ("<input name=\"region\"  type=\"text\" value =  "+ region + "   id = \"region\"   > ");
-		document.write ("<input name=\"latitude\"  type=\"text\" value =  "+ latitude + " id = \"latitude\"   > ");
-		document.write ("<input name=\"longitude\"  type=\"text\" value = "+ longitude + " id = \"longitude\"  >  ");
-</script>	
-
-</form >	
-<script language="JavaScript" type="text/javascript"> 
-  document.getElementById("form_connexion").submit();
-</script>
-<?php	
-    
- }
-//=====================================================================================		
-}
-
-//=================================================================================
-function Get_Datas()
-{
-global $superv_champs ;
-$champs = implode(",",$superv_champs );
-    $query = "SELECT ".$champs." 
-    FROM ".MAIL_SUPERV_TABLE."
-  	;";
-			 $result = @pwg_query($query);
- 
-	if (!$result) {
-					verif_base();
-	 				$result = @pwg_query($query);
-					}
-
-					
-    $data = mysql_fetch_array($result,MYSQL_ASSOC);
-	//====================================================================================
-
-	$next_day = Str_To_Time( $data['nb_mails_periode'], $data['date_mail'] ); 
- $next_day = ($next_day >0) ? $next_day :  (604800  + time()) ; 
-	$data['rest_mail'] =    $next_day - time() ;
-
-	$next_day = Str_To_Time( $data['nb_spams_periode'],$data['date_spam']);
-	$next_day = ($next_day >0) ? $next_day :  (172800  + time()) ;
-	$data['rest_spam'] =  $next_day - time() ;
-
-
-	$next_day = Str_To_Time($data['quarantaine_periode'] ,$data['date_quarantaine']);	
-	$next_day = ($next_day >0) ? $next_day :  (172800 + time()) ;
-	
-	if ($data['quarantaine'] == 'true' ) {
-			$data['reste'] =   ( $next_day )-time() ;
-	}else{
-			$data['reste'] = 0;
-	}
-	
-	 return $data;
-}
+global $template ;
 //===============================================
-
 function corrige_header($Carbonne,$headers,$args,$cl_list_mail)
 	{
@@ -301,5 +39,5 @@
  	 	if ( count($args[$Carbonne]) > 0 ) 
 		{
-		        if ($mails_options[check_header_carbon] == 'on') {
+		        if ($mails_options['check_header_carbon'] == 'on') {
 				        $cl_list_mail  =  str_replace(","," , ",get_strict_email_list(implode(',', $args[$Carbonne])))." \n"  ;
 				        $headers = preg_replace('/.*'.$Carbonne.'(.*).\n/i', $Carbonne.': '.$cl_list_mail, $headers);
@@ -361,59 +99,38 @@
 $retour=str_replace("+0","+",$retour);
 //================================================================================================   
-
-
 return $retour;
-
-}	
-
-function memo_var($variables)
-{
-   		ob_start();
-		echo '<pre>';
-		print_r($variables);
-		echo '</pre>';
- 	  	$m= ob_get_contents();
-
-    	ob_end_clean();
-		return $m;
-		
-}
-    
+}	  
 
 	
-function verif_base()
-{
-
-global $lang,$superv_champs,$superv_type,$superv_bl_champs,$superv_bl_type;
-    load_language('plugin.lang', MAIL_SUPERV_PATH);
-//==============================================================================		
-    create_table(MAIL_BLACK_LISTE_TABLE,$superv_bl_champs,$superv_bl_type) ;
-  	ajust_table(MAIL_BLACK_LISTE_TABLE,$superv_bl_champs,$superv_bl_type)  ; 
-//==============================================================================		
-	create_table(MAIL_SUPERV_TABLE,$superv_champs,$superv_type) ;
-  	ajust_table(MAIL_SUPERV_TABLE,$superv_champs,$superv_type)  ;
-//==============================================================================		
+function verif_base(){
+  global $lang,$superv_champs,$superv_type,$superv_bl_champs,$superv_bl_type;
+  load_language('plugin.lang', MAIL_SUPERV_PATH);
+  //==============================================================================		
+  create_table(MAIL_BLACK_LISTE_TABLE,$superv_bl_champs,$superv_bl_type) ;
+  ajust_table(MAIL_BLACK_LISTE_TABLE,$superv_bl_champs,$superv_bl_type)  ; 
+  //==============================================================================		
+  create_table(mail_superv_TABLE,$superv_champs,$superv_type) ;
+  ajust_table(mail_superv_TABLE,$superv_champs,$superv_type)  ;
+  //==============================================================================		
     $valeurs= array (	1,
-						0,
-			   time(),
+						          0,
+			           time(),
 	                 2000,
-	 '"604800"' ,
+	          '"604800"' ,
 	                    0,
-	          time(),
+	               time(),
 	                   10,
-	  '"172800"',
-	               '"false"',
-	        time(),
-	  '"172800"',
-	  '"Init"',
+	           '"172800"',
+	            '"false"',
+	               time(),
+	           '"172800"',
+	             '"Init"',
    '"'.l10n('Sv_supervisor').'"',
 	'"'.l10n('hello').'"',
-	 )
- 	;
-//==================================================================================
-	ajout_ligne(MAIL_SUPERV_TABLE,$superv_champs, $valeurs,false ) ;
-	
-
-}
+	 );
+	ajout_ligne(mail_superv_TABLE,$superv_champs, $valeurs,false ) ;
+}
+//=================================================================================
+
 
 //=========================================
@@ -434,5 +151,4 @@
 {
 global $conf ;
-
   $query = '
 SELECT DISTINCT u.'.$conf['user_fields']['id'].' AS id,
@@ -447,21 +163,13 @@
     LEFT JOIN '.USER_GROUP_TABLE.' AS ug
       ON u.'.$conf['user_fields']['id'].' = ug.user_id
-  WHERE ug.group_id='.$group_id.' ';
-
-
- 
+  WHERE ug.group_id='.$group_id.' '; 
  $groups=array();
-  $datas = pwg_query($query);
-  
-  
-  if (!empty($datas))
-  {
+  $datas = pwg_query($query); 
+  
+  if (!empty($datas)) {
     while ($group = mysql_fetch_array($datas,MYSQL_ASSOC))
-    {
-
-	
+    {	
       if (!empty($group['email']))
-      {
-     	array_push($groups, format_email($group['username'], $group['email'] ));
+      {     	array_push($groups, format_email($group['username'], $group['email'] ));
       }
     }
@@ -472,13 +180,12 @@
 //=================================================================================
 
-function create_table($nom_table,$champs,$types)  //MAIL_SUPERV_TABLE
+function create_table($nom_table,$champs,$types)  //mail_superv_TABLE
 {
 	$i=0;
  	$valeurs=array();
-foreach ( $champs as $champ)
-   {
-      	$champ = trim($champ);
-         	array_push($valeurs , " `".$champ."`" . '  ' . $types[ $i] )  ;
-	 	$i +=1;
+  foreach ( $champs as $champ) {
+      $champ = trim($champ);
+      array_push($valeurs , " `".$champ."`" . '  ' . $types[ $i] )  ;
+      $i +=1;
     }
 
@@ -495,5 +202,5 @@
 	 
 }
-function ajust_table($nom_table,$champs,$types)  //MAIL_SUPERV_TABLE
+function ajust_table($nom_table,$champs,$types)  //mail_superv_TABLE
 {
 global $infos_message ;
@@ -514,5 +221,5 @@
 	if ( count($valeurs) == 0) return ;
 	
-  $infos_message .=  "AJUSTE TABLE : ". $nom_table . "<br />" . "NB (col) : ". count($colonnes) . memo_var($valeurs) . "<br />" ;
+  $infos_message .=  "AJUSTE TABLE : ". $nom_table . "<br />" . "NB (col) : ". count($colonnes) . mail_supervisor::Memo_Var($valeurs) . "<br />" ;
 	
      $valeurs=implode(", ",$valeurs) ;
@@ -556,31 +263,24 @@
 global $mails_donnees,$infos_message,$erreur_message,$page;
 
-if (!is_numeric($mails_donnees['nb_mails_periode']))
-{
- $periode = Str_To_Time( $mails_donnees['nb_mails_periode'],0);
- $mails_donnees['nb_mails_periode']= ($periode > 0) ? $periode : '604800' ;
+if (!is_numeric($mails_donnees['nb_mails_periode'])){
+  $periode = Str_To_Time( $mails_donnees['nb_mails_periode'],0);
+  $mails_donnees['nb_mails_periode']= ($periode > 0) ? $periode : '604800' ;
  }
-
-if (!is_numeric($mails_donnees['nb_spams_periode']))
-{
- 
- $periode=Str_To_Time( $mails_donnees['nb_spams_periode'],0);
- $mails_donnees['nb_spams_periode']= ($periode > 0) ? $periode : '172800' ; ;
+if (!is_numeric($mails_donnees['nb_spams_periode'])){
+  $periode=Str_To_Time( $mails_donnees['nb_spams_periode'],0);
+  $mails_donnees['nb_spams_periode']= ($periode > 0) ? $periode : '172800' ; ;
  }
-if (!is_numeric($mails_donnees['quarantaine_periode']))
-{
- $periode=Str_To_Time( $mails_donnees['quarantaine_periode'],0);
- $mails_donnees['quarantaine_periode']= ($periode > 0) ? $periode : '172800' ; 
+if (!is_numeric($mails_donnees['quarantaine_periode'])){
+  $periode=Str_To_Time( $mails_donnees['quarantaine_periode'],0);
+  $mails_donnees['quarantaine_periode']= ($periode > 0) ? $periode : '172800' ; 
  }
-
-  	if  ($infos_message != "")  {
-		   array_push($page['infos'],  $infos_message);
-		   $infos_message="";
-		 }
-		 
-		if  ($erreur_message != "")  {
-		  array_push($page['errors'], $erreur_message);
-		  $erreur_message ="";
-		 }	
+    if  ($infos_message != "")  {
+        array_push($page['infos'],  $infos_message);
+        $infos_message="";
+    }		 
+    if  ($erreur_message != "")  {
+        array_push($page['errors'], $erreur_message);
+        $erreur_message ="";
+    }	
 		 
 }
@@ -730,9 +430,10 @@
 	$sep=" ";
 	$chaine = trim($chaine);
+    if ($chaine=="") return ;
 	$existe = (strpos($sep.$sep,$chaine )===false) ;
 	 while  ($existe ){
     	 $str_temp = str_replace($sep.$sep, $sep, $chaine );  
     		if($str_temp == $chaine ) return $chaine ;
-//			$erreur_message .= memo_var($str_temp) ;
+//			$erreur_message .= mail_supervisor::Memo_Var($str_temp) ;
     		$chaine  = $str_temp;
 			$existe =  (strpos($sep.$sep,$chaine )===false) ;
@@ -740,93 +441,76 @@
 	return $chaine;
 }
-
-
-
-function kill_list()
-{
- //==================== TEST black_liste ============================================	
- global $pays,$region,$ville,$ip ;
- global $erreur_message,$infos_message,$conf;	
- global $conf, $user, $page;
- global $mails_options ;
- global $superv_bl_champs,$superv_bl_type ; 
- global $nb ;
- 
-if (count($mails_options) < 7 ) return false ;
-   
-     $champs=implode(',',$superv_bl_champs);
-     $query = "
-    		SELECT ".$champs.",COUNT(`ip`) as total 
-    		FROM `".MAIL_BLACK_LISTE_TABLE."` 
-		    WHERE '".$ip."' LIKE `ip` 
-			GROUP by `ip` 
-  		;";	
-		 $result = @pwg_query($query);
-	if (!$result) {
-					verif_base();
-	 				$result = @pwg_query($query);
-				}
-	$datas = mysql_fetch_array($result,MYSQL_ASSOC);
-	$nb = $datas['total']; 
-//=======================================================================	
-
-if ($mails_options[set_auto] == 'nonoui') // ne plus tester automatiquement .
-{
- // $ip="94.102.63.13"; ' Spammeurs 
- // $ip="94.102.63.15";
- // $mail=matusowraber93813@gmail.com ;
- // $username=fretgpsolodens ;
-global $user_name,$mail_adresse;
-
-  if (test_spam($ip,$user['username'] ,$user['email']))
-  {
-
-  if ($nb==0) {
-  	$valeurs=array( 'NULL',
-		            "'".$ip."'",
-					"'".$pays."'",
-					"'".$region."'",	
-					"'".$ville."'",
-					"'".$user['email']."'",
-					"'".$user['username']."'",	
-					$nb+1
-	);
- 	  ajout_ligne(MAIL_BLACK_LISTE_TABLE,$superv_bl_champs, $valeurs,$nb==0) ;	
-	}else{	
-	
-	$nb +=1;
-	
-		 $query ="
-			UPDATE " . MAIL_BLACK_LISTE_TABLE . " 
-			SET ";
-		    if (isset($_POST['pays']))	
-		 $query .= "	
-			`pays` = '". $pays ."',
-			`region` = '" . $region ."',
-			`ville` = '" . $ville . "',
-			
-			";
-			
-		 $query .= "
-		    `adresse` = '".$user['email']."',		
-			`fai` = '".$user['username']."',		
-			`nb` = " . $nb . "
-		    WHERE '".$ip."' like `ip` 
-        	";
-		
-				pwg_query($query );	
-	}
- 	  $erreur_message .=  $mails_options[ip] ." ".$user['username']." ".$user['email'] . ' -----> ' . l10n('Sv_black_list') ;
-	// die($nb." ".$ip." ".$user['username']." ".$user['email']);  
-	return true ;	
-
-    }
-  
-}
+//==================== TEST black_liste ============================================	
+function kill_list() {
+  global $pays,$region,$ville,$ip ;
+  global $erreur_message,$infos_message,$conf;	
+  global $conf, $user, $page;
+  global $mails_options ;
+  global $superv_bl_champs,$superv_bl_type ; 
+  global $nb ; 
+  if (!isset($ip)) {
+    if (getenv("HTTP_CLIENT_IP"))   {
+      $ip=getenv("HTTP_CLIENT_IP");
+    }else{
+      $ip=getenv("REMOTE_ADDR");
+    }
+  }
+  $champs=implode(',',$superv_bl_champs);
+   $query = "SELECT ".$champs.",COUNT(`ip`) as total 
+  FROM `".MAIL_BLACK_LISTE_TABLE."` 
+		WHERE '".$ip."' LIKE `ip` 
+		GROUP by `ip` 
+  ;";	
+	$result = @pwg_query($query);
+	 if (!$result) {
+			verif_base();
+	 		$result = @pwg_query($query);
+			}
+	  $datas = mysql_fetch_array($result,MYSQL_ASSOC);
+  	$nb = $datas['total']|0; 
+    //=======================================================================	
+    if ($mails_options['set_auto'] == 'on') {  
+      global $user_name,$mail_adresse;
+
+       if (isset($nb) && $nb>0) {
+       //if (test_spam($ip,$user['username'] ,$user['email']))  // ne plus tester automatiquement . 
+            if ($nb==0) {
+  	          $valeurs=array( 'NULL',
+		           "'".$ip."'",
+					        "'".$pays."'",
+					        "'".$region."'",	
+					        "'".$ville."'",
+					        "'".$user['email']."'",
+					        "'".$user['username']."'",	
+					        $nb+1
+	            );
+ 	          ajout_ligne(MAIL_BLACK_LISTE_TABLE,$superv_bl_champs, $valeurs,$nb==0) ;	
+	        }else{	
+            mail_supervisor::Get_geo();    
+            $nb +=1;	
+		         $query ="UPDATE " . MAIL_BLACK_LISTE_TABLE . " SET ";
+		         if (isset($_POST['pays']))	
+		         $query .= "`pays` = '". $pays ."',
+			        `region` = '" . $region ."',
+			        `ville` = '" . $ville . "',			
+			        ";			
+		         $query .= "`adresse` = '".$user['email']."',		
+			        `fai` = '".$user['username']."',		
+			        `nb` = " . $nb . "
+		         WHERE '".$ip."' like `ip` ";		
+				       pwg_query($query );	
+	        }
+ 	     $erreur_message .= $pays . $ip ." <br />User Name :".$user['username']."<br />User Mail :".$user['email'] . ' -----> ' . l10n('Sv_black_liste') ;
+       // die($nb." ".$ip." ".$user['username']." ".$user['email']);  
+ 
+       return true ;	
+      }  
+    }
  //==============================================================================
- if ( $mails_options[ip] == $ip ) return ($nb > 0) ;	
-   $mails_options[ip] =   $ip ;  
-   sauve_options();
-  
+
+ if ( $mails_options['ip'] == $ip ) return ($nb > 0) ;	 
+   $ip0= $mails_options['ip'] ;
+   $mails_options['ip'] = $ip ;  
+   mail_supervisor::sauve_options();  
  	if (  $nb > 0 )
 	{
@@ -848,5 +532,5 @@
 	    $row  = mysql_fetch_row(pwg_query($query));
 	    $nb =  ($row[7]);
-      $erreur_message .= $ip . ' | ' . $pays . ' | ' . $region . ' | ' . $ville . ' ' . $nb . ' ==> ';	
+        $erreur_message .= $ip0 . ' | ' .$ip . ' | ' . $pays . ' | ' . $region . ' | ' . $ville . ' ' . $nb . ' ==> ';	
   
   	 if ($nb == 0)
@@ -858,5 +542,5 @@
 					"'".$ville."'",
 					"'".$user['email']."'",		
-			       "'".$user['username']."'",		
+			  "'".$user['username']."'",		
 					1
 	      );
@@ -883,63 +567,50 @@
 				pwg_query($query );	
 				}
-	//================================================================================	
-		
 	}
- 
-
-return ($nb > 0) ;
+ return ($nb > 0) ;
 }
 //=====================================================================================
 function test_spam($ip =0,$user_name ='', $mail_adresse = "")
 {
-	$buffer="";
-	global $page,$infos_message;
-
-// fretgpsolodens
-	$src =  "http://www.stopforumspam.com/api?";
-	$type=array();
-	$result="";
-if (strlen($ip)>3) { 
-//==================  Verifie si l'IP est correct  ================================
-if (clj_is_ip($ip)){     
+ $buffer="";
+ global $page,$infos_message;
+ $src =  "http://www.stopforumspam.com/api?";
+ $type=array();
+ $result="";
+ $ip= sup_double_espace($ip);
+ if (strlen($ip)>3) { 
+   //==================  Verifie si l'IP est correct  ================================
+   if (clj_is_ip($ip)){     
      
-} else {  
-//==================  Verifie si l'adresse mail est correcte  ================================ 
-      if( clj_is_mail($ip) ){  
-	 		  $mail_adresse=$ip ;
+   } else {  
+   //==================  Verifie si l'adresse mail est correcte  ================================ 
+         if( clj_is_mail($ip) ){  
+	 		 $mail_adresse=$ip ;
+	         $ip="";
+	    }
+	    else
+	    {
+   //==================  Login  ================ 
+	      $user_name=$ip;
 	      $ip="";
-	 }
-	 else
-	 {
-//==================  Login  ================ 
-	   $user_name=$ip;
-	   $ip="";
-	 }
-}    
-//=============================================================================
-}
-
-$user_name=str_replace(" ","%20",trim($user_name));
-if ($user_name==l10n('Sv_guest')) $user_name="";
-$user_name="";  // ne plus tester sur le login.
-$mail_adresse =str_replace(" ","%20",trim($mail_adresse));
-
-if ( strlen($user_name) > 3)  	  $type[]="username=$user_name" ;
-if ( strlen($mail_adresse) > 3)   $type[]="email=".$mail_adresse ;
-if ( strlen($ip) > 3)   $type[]="ip=".$ip ; 
-
-	 foreach  ( $type as $fil )
-     {    
-	  $resultat="";
-	   if (  clj_fetchRemote($src.$fil , $resultat,1))
-		  {
-		    $result .= $resultat.'<br />'  ; 
-		  }  else {
-		  
-		  }
-		  
-      }
-
-return !(strpos(  $result ,'yes' ) === false) ;
+	    }
+   }    
+   //=============================================================================
+ }
+
+ $user_name=str_replace(" ","%20",trim($user_name));
+ if ($user_name==l10n('Sv_guest')) $user_name="";
+ $user_name="";  // ne plus tester sur le login.
+ $mail_adresse =str_replace(" ","%20",trim($mail_adresse));
+ if ( strlen($user_name) > 3)  	  $type[]="username=$user_name" ;
+ if ( strlen($mail_adresse) > 3)   $type[]="email=".$mail_adresse ;
+ if ( strlen($ip) > 3)   $type[]="ip=".$ip ; 
+ foreach  ( $type as $fil ) {    
+  $resultat="";
+  if (  clj_fetchRemote($src.$fil , $resultat,1))
+   $result .= $resultat.'<br />'  ; 		  
+ }
+
+ return !(strpos(  $result ,'yes' ) === false) ;
   
 }
@@ -1044,49 +715,4 @@
 }
 
- function Get_Version_plugins($dir)
-  {
-        $path = $dir;
-          $plg_data = implode( '', file($path.'main.inc.php') );
-          if ( preg_match("|Plugin Name: (.*)|", $plg_data, $val) )
-          {
-            $plugin['name'] = trim( $val[1] );
-          }
-          if (preg_match("|Version: (.*)|", $plg_data, $val))
-          {
-            $plugin['version'] = trim($val[1]);
-          }
-          if ( preg_match("|Plugin URI: (.*)|", $plg_data, $val) )
-          {
-            $plugin['uri'] = trim($val[1]);
-          }
-          if ($desc = load_language('description.txt', $path.'/', array('return' => true)))
-          {
-            $plugin['description'] = trim($desc);
-          }
-          elseif ( preg_match("|Description: (.*)|", $plg_data, $val) )
-          {
-            $plugin['description'] = trim($val[1]);
-          }
-          if ( preg_match("|Author: (.*)|", $plg_data, $val) )
-          {
-            $plugin['author'] = trim($val[1]);
-          }
-          if ( preg_match("|Author URI: (.*)|", $plg_data, $val) )
-          {
-            $plugin['author uri'] = trim($val[1]);
-          }
-          if (!empty($plugin['uri']) and strpos($plugin['uri'] , 'extension_view.php?eid='))
-          {
-            list( , $extension) = explode('extension_view.php?eid=', $plugin['uri']);
-            if (is_numeric($extension)) $plugin['extension'] = $extension;
-          }
-          // IMPORTANT SECURITY !
-          $plugin = array_map('htmlspecialchars', $plugin);
-
-         return $plugin ;
-
-  }
-
-
 
 ?>
Index: /extensions/Mail_supervisor/include/function_test_send.php
===================================================================
--- /extensions/Mail_supervisor/include/function_test_send.php	(revision 9701)
+++ /extensions/Mail_supervisor/include/function_test_send.php	(revision 9702)
@@ -22,16 +22,8 @@
 // +-----------------------------------------------------------------------+
 
-if ( !defined('PHPWG_ROOT_PATH')) 
-{
-  die('Hacking attempt!');
-}
-
-
-
-function test_envoie($message,$group_name,$group_id)
-{
-    global $infos_message,$erreur_message ,$conf,$user,$conf_mail,$mail_donnees,$args,$lang ;
-	$mailto="";  
-	
+if ( !defined('PHPWG_ROOT_PATH'))   die('Hacking attempt!');
+function test_envoie($message,$group_name,$group_id){    
+  global $infos_message,$erreur_message ,$conf,$user,$conf_mail,$mail_donnees,$args,$lang ;
+	$mailto="";	
  load_language('plugin.lang', MAIL_SUPERV_PATH);
  
@@ -47,5 +39,5 @@
 if (!isset($mails_donnees))
 	{
-    	$mails_donnees = Get_Datas();
+    	$mails_donnees = mail_supervisor::Get_Datas();
 	}		
 if (!isset($conf_mail))
@@ -55,5 +47,5 @@
   	  if (isset($args))
   { 
-    $infos_message=memo_var($args);
+    $infos_message=mail_supervisor::Memo_Var($args);
   }else{
   	$args = array();
@@ -88,6 +80,4 @@
  	//==================================================================
 	$message_html .= "</br>" . $message . "</br>" . $message_texte;
-
-	
  //==========================================================================
 
@@ -109,12 +99,10 @@
 	       $infos_message .='<br />'.l10n('Sv_no_receiver_available') ;
 	}
-
 }
 //===============================================================================================================
-function mail_attachement($args)
-{
+function mail_attachement($args){
  global $infos_message,$erreur_message ,$conf,$user,$conf_mail,$mail_donnees,$lang ;
 
-    $mails_donnees = Get_Datas();
+    $mails_donnees = mail_supervisor::Get_Datas();
 	  if (!isset($conf_mail))
   {
@@ -145,85 +133,67 @@
 		
  
-	$message_html =  	'<img src="'.PHPWG_ROOT_PATH.'admin/template/goto/theme/roma/images/piwigo_logo_sombre_214x100.png" />';
-	 ob_start();	
+  $message_html =  	'<img src="'.PHPWG_ROOT_PATH.'admin/template/goto/theme/roma/images/piwigo_logo_sombre_214x100.png" />';
+  ob_start();	
  
-	echo str_replace("\n","<br />",$message_texte);
+  echo str_replace("\n","<br />",$message_texte);
 	
-	 $message_html .= ob_get_contents()."\n";
-	 //ob_flush();
-   	ob_end_clean();
+  $message_html .= ob_get_contents()."\n";
+  //ob_flush();
+  ob_end_clean();
 
-       $limite=$conf_mail['boundary_key'];   
-  		$headers =   date("Y-m-d H:i:s") ."\n"; 
+  $limite=$conf_mail['boundary_key'];   
+  $headers =   date("Y-m-d H:i:s") ."\n"; 
 
   //=======================================================================================
- 		$headers = "From: ".$args['from']."\n";
- 		$headers.= "Reply-To: ".$args['from']."\n";
-  		$nb_destinataires=0;
-$destinataire = $conf_mail['email_webmaster'];
+    $headers = "From: ".$args['from']."\n";
+    $headers.= "Reply-To: ".$args['from']."\n";
+    $nb_destinataires=0;
+    $destinataire = $conf_mail['email_webmaster'];  
+    if (!empty($args['Cc'])){
+      $nb_destinataires += count($args['Cc']);
+      $to= explode(',', $args['Cc']);
+      $headers	.= get_strict_email_list($to) ;		    
+  	}
+    if (!empty($args['Bcc'])){  
+      $nb_destinataires += count($args['Bcc']); 
+      $to = implode(',', $args['Bcc']);
+      $headers	.= 'Bcc :'.get_strict_email_list($to)."\n" ;		   
+    }
 
-  
-   		if (!empty($args['Cc']))
-  		{$nb_destinataires += count($args['Cc']);
-		 $to= explode(',', $args['Cc']);
-		 $headers	.= get_strict_email_list($to) ;
-		    
-  		}
-  		if (!empty($args['Bcc']))
-  		{  $nb_destinataires += count($args['Bcc']); 
-	    $to = implode(',', $args['Bcc']);
-	    $headers	.= 'Bcc :'.get_strict_email_list($to)."\n" ;
-		   
-		}
-
-  $headers.= 'Content-Type: multipart/alternative;'."\n";
-  $headers.= '  boundary="---='.$limite.'";'."\n";
-  $headers.= '  reply-type=original'."\n";
-  $headers.= 'MIME-Version: 1.0'."\n";
-  $headers.= 'X-Mailer: Piwigo Mailer'."\n";
-
-  //Le message en texte simple pour les navigateurs qui n'acceptent pas le HTML 
-    $texte = "This is a multi-part message in MIME format.\n"; 
-	
-    	$texte .= "-----=".$limite."\n"; 
-      	$texte .= "Ceci est un message est au format MIME.\n"; 
-      	$texte .= 'Content-Type: text/plain; charset="UTF-8"'."\n"; 
-      	$texte .= 'Content-Transfer-Encoding: 8bit'."\n\n";  
-      	$texte .= $message_texte ; 
-	  	$texte .= "\n\n"; 
-		
-   		$texte .= "-----=".$limite."\n"; 
-      	$texte .= 'Content-Type: text/html; charset="UTF-8"'."\n"; 
-      	$texte .= 'Content-Transfer-Encoding: 8bit'."\n\n";  
-     	$texte .= $message_html; 
-      	$texte .= "\n\n"; 
-	  
-
-
-  		$attachement = "-----=".$limite."\n"; 
-  		$attachement .= "Content-Type: ".$typemime."; name=\"".$nom."\"\n"; 
-  		$attachement .= "Content-Transfer-Encoding: base64\n"; 
-  		$attachement .= "Content-Disposition: attachment; filename=\"".$nom."\"\n\n"; 
-  		$attachement .= $piecejointe; 
-  		$attachement .= "\n\n\n-----=".$limite."\n"; 
-
-
-  $ret=false;
-
-ob_start();
-
+    $headers.= 'Content-Type: multipart/alternative;'."\n";
+    $headers.= '  boundary="---='.$limite.'";'."\n";
+    $headers.= '  reply-type=original'."\n";
+    $headers.= 'MIME-Version: 1.0'."\n";
+    $headers.= 'X-Mailer: Piwigo Mailer'."\n";
+    //Le message en texte simple pour les navigateurs qui n'acceptent pas le HTML 
+    $texte = "This is a multi-part message in MIME format.\n"; 	
+    $texte .= "-----=".$limite."\n"; 
+    $texte .= "Ceci est un message est au format MIME.\n"; 
+    $texte .= 'Content-Type: text/plain; charset="UTF-8"'."\n"; 
+    $texte .= 'Content-Transfer-Encoding: 8bit'."\n\n";  
+    $texte .= $message_texte ; 
+    $texte .= "\n\n"; 		
+    $texte .= "-----=".$limite."\n"; 
+    $texte .= 'Content-Type: text/html; charset="UTF-8"'."\n"; 
+    $texte .= 'Content-Transfer-Encoding: 8bit'."\n\n";  
+    $texte .= $message_html; 
+    $texte .= "\n\n"; 
+    $attachement = "-----=".$limite."\n"; 
+    $attachement .= "Content-Type: ".$typemime."; name=\"".$nom."\"\n"; 
+    $attachement .= "Content-Transfer-Encoding: base64\n"; 
+    $attachement .= "Content-Disposition: attachment; filename=\"".$nom."\"\n\n"; 
+    $attachement .= $piecejointe; 
+    $attachement .= "\n\n\n-----=".$limite."\n"; 
+    $ret=false;
+    ob_start();
     $ret= mail( $destinataire, $args['subject'], $texte.$attachement, $headers); 
-   $message =  ob_get_contents() ;
-	//ob_flush();
-   ob_end_clean();
-   if (($message)<>"") {
-   $erreur_message .=  $message ;
-   $infos_message =  "-------------------";
-   }
-
-    return  $ret;
-  
+    $message =  ob_get_contents() ;
+  //ob_flush();
+  ob_end_clean();
+  if (($message)<>"") {
+    $erreur_message .=  $message ;
+    $infos_message =  "-------------------";
+  }
+  return  $ret;  
 }
-
-
 ?>
Index: /extensions/Mail_supervisor/include/save_info.php
===================================================================
--- /extensions/Mail_supervisor/include/save_info.php	(revision 9701)
+++ /extensions/Mail_supervisor/include/save_info.php	(revision 9702)
@@ -2,12 +2,8 @@
 //=======================================================================================
 if (!defined('MAIL_SUPERV_PATH')) define('MAIL_SUPERV_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
-
 switch (strtolower($info_ip))
  {
-  case  'ajout' :
-  
+  case  'ajout' :  
  $ip_black=str_replace("*","%",$ip_black);
- 
-
  if (!($ip_black == '')) {
    $query = "
@@ -17,15 +13,15 @@
   		;";	
 	//==============================================================================		
-	list($count) = mysql_fetch_row(pwg_query($query));
-	//==============================================================================	
-	$valeurs=array( 'NULL',
+  list($count) = mysql_fetch_row(pwg_query($query));
+  //==============================================================================	
+  $valeurs=array( 'NULL',
 		            "'".$ip_black."'",
-					"'".$pays."'",
-					"'".$region."'",	
-					"'".$ville."'",
-					'"adresse"',
-					'"fai" ',
-					$count + 1
-	);
+					         "'".$pays."'",
+					         "'".$region."'",	
+					         "'".$ville."'",
+					         '"adresse"',
+					         '"fai" ',
+					         $count + 1
+	        );
  	ajout_ligne(MAIL_BLACK_LISTE_TABLE,$superv_bl_champs, $valeurs,($count==0)) ;	
  }
@@ -34,13 +30,12 @@
  //================================================================================================
   case 'raz':
-        $ip_black=str_replace('*',"%",$ip_black);
+    $ip_black=str_replace('*',"%",$ip_black);
   		$query = "DELETE FROM `".MAIL_BLACK_LISTE_TABLE."` WHERE `ip`  like '%".$ip_black."%' ";
-			pwg_query($query);
+			 pwg_query($query);
+   
+    unset ($_SESSION['pwg_'.'action_spam']);
    break;
    
-    default:
-
-
-				
+    default:				
    break;
    
@@ -48,49 +43,42 @@
 //================ Liste Black liste =================
   $query = "
-    SELECT *,  COUNT(`ip`) as total ,	`ip` as blacklist, `ip` as U_DELETE 
-    FROM ".MAIL_BLACK_LISTE_TABLE."
-		GROUP by ip 
-  	;";
+     SELECT *,  COUNT(`ip`) as total ,	`ip` as blacklist, `ip` as U_DELETE 
+     FROM ".MAIL_BLACK_LISTE_TABLE."
+     GROUP by ip 
+     ;";
 	$liste_bl = array();
-    $result = pwg_query($query);
-		while ($row = mysql_fetch_array($result,MYSQL_ASSOC))
-          		{
+ $result = pwg_query($query);
+		while ($row = mysql_fetch_array($result,MYSQL_ASSOC))	{
     			 array_push($liste_bl,$row);
-   				}
+   				}	   
 //================ Liste IP ==============		
 $req = mysql_query('SELECT count(distinct(`IP`)) FROM '.HISTORY_TABLE.'    '); 
 $nbip =  array_pop(mysql_fetch_row($req)) ;
 
-
-	     $query = '
-    SELECT DISTINCT 	H.`id`,
-	H.`date`,
-	H.`time`,
-	H.`user_id`,
-	H.`IP`, 
-	COUNT(H.`IP`) as total  
-    FROM '.HISTORY_TABLE.'  AS H 
-	WHERE  "'.$_SERVER['REMOTE_ADDR'].'"not LIKE H.`IP` 
-	';//
-	if (count($liste_bl)>0)
-	 {
-	$query .= '
-	AND  H.`IP` not IN (     SELECT `ip`
+	$query = 'SELECT DISTINCT 	H.`id`,
+            H.`date`,
+            H.`time`,
+            H.`user_id`,
+            H.`IP`, 
+            COUNT(H.`IP`) as total  
+            FROM '.HISTORY_TABLE.'  AS H 
+            WHERE  "'.$ip.'"not LIKE H.`IP` 	';//
+	if (count($liste_bl)>0){
+	$query .= '	AND  H.`IP` not IN ( SELECT `ip`
     FROM '.MAIL_BLACK_LISTE_TABLE.' ) ';
 	}
-	
+ 
 	$query .= '	
 	GROUP by H.`IP` 
 	ORDER by `id` DESC
-	LIMIT '.(int)($params['per_page']*$params['start']).','.(int)$params['per_page'].'
-	
+	LIMIT '.(int)($params['per_page']*$params['start']).','.(int)$params['per_page'].'	
 	'   ;
+
 	$result = pwg_query($query);
 	$liste_ip=array();
-	while ($row = mysql_fetch_array($result,MYSQL_ASSOC))
-          		{
-    		           array_push($liste_ip, $row);
+	while ($row = mysql_fetch_array($result,MYSQL_ASSOC))	{ 
+
+    		  array_push($liste_ip, $row);
    				}
-				
 
 ?>
Index: /extensions/Mail_supervisor/index.php
===================================================================
--- /extensions/Mail_supervisor/index.php	(revision 9701)
+++ /extensions/Mail_supervisor/index.php	(revision 9702)
Index: /extensions/Mail_supervisor/language/en_UK/description.txt
===================================================================
--- /extensions/Mail_supervisor/language/en_UK/description.txt	(revision 9701)
+++ /extensions/Mail_supervisor/language/en_UK/description.txt	(revision 9702)
@@ -1,5 +1,5 @@
-This plugin limits mail emission within a defined period.
-Processes Warning messages of mail function (spam, bad recipient address syntax).
-Prevents mail emission if IP address is in the users blacklisting.
-Prevents connection to the site if IP address is in the users blacklisting.
-Checks if IP address is registered in a AntiSpam database.
+Ce plugin limite l'envoie de mails par période paramétrable.
+Traite les messages Warning de la fonction mail (spam, bad recipient address syntax).
+Bloque l'émission des mails si l'adresse de IP est dans la liste des utilisateurs bloqués.
+Empêche la connexion au site si l'adresse de IP est dans la liste des utilisateurs bloqués.
+Test si l'adresse IP fait partie d'une base de données AntiSpammeur.
Index: /extensions/Mail_supervisor/language/fr_FR/description.txt
===================================================================
--- /extensions/Mail_supervisor/language/fr_FR/description.txt	(revision 9701)
+++ /extensions/Mail_supervisor/language/fr_FR/description.txt	(revision 9702)
@@ -1,5 +1,5 @@
-Ce plugin limite l'envoi de mails par période paramétrable.
+Ce plugin limite l'envoie de mails par période paramétrable.
 Traite les messages Warning de la fonction mail (spam, bad recipient address syntax).
-Bloque l'émission des mails si l'adresse IP est dans la liste des utilisateurs bloqués.
-Empêche la connexion au site si l'adresse IP est dans la liste des utilisateurs bloqués.
-Teste si l'adresse IP fait partie d'une base de données AntiSpammeur.
+Bloque l'émission des mails si l'adresse de IP est dans la liste des utilisateurs bloqués.
+Empêche la connexion au site si l'adresse de IP est dans la liste des utilisateurs bloqués.
+Test si l'adresse IP fait partie d'une base de données AntiSpammeur.
Index: /extensions/Mail_supervisor/language/fr_FR/help/plugin.lang.php
===================================================================
--- /extensions/Mail_supervisor/language/fr_FR/help/plugin.lang.php	(revision 9701)
+++ /extensions/Mail_supervisor/language/fr_FR/help/plugin.lang.php	(revision 9702)
@@ -7,27 +7,29 @@
 
 //========================================================================================================
-$lang['Sv_Oversees_management_emails']='Supervise la gestion des mails et bloque l\' envoi des mails lors de la mise en quarantaine';   
-$lang['Sv_hlp_1_1']='Compte le nombre de mails envoyés par le site.';
-$lang['Sv_hlp_1_2']='Détecte les différents messages d\'alertes générés par la fonction mail[]';
-$lang['Sv_hlp_1_3']='Compte le nombre de mails considérés par le FAI comme spams.';
-$lang['Sv_hlp_1_4']='Mise en quarantaine si le nombre de mails envoyés est supérieur à la valeur maxi définie par période prédéterminée.';
-$lang['Sv_hlp_1_5']='Mise en quarantaine si le nombre de spams détectés est supérieur à la valeur maxi définie par période prédéterminée.';
-$lang['Sv_hlp_1_6']='Mise en quarantaine si détection de "TROP DE SPAMS" pour une période déterminée.';
+$lang['Sv_Fonctionality']='Fonctionnalites';
+
+$lang['Sv_Oversees_management_emails']='Supervise la gestion des mails et bloque l\' envoie des mails lors de la mise en quarantaine';	
+$lang['Sv_hlp_1_1']='Compte le nombre de mails envoyes par le site.';
+$lang['Sv_hlp_1_2']='Detecte les differents messages d\'alertes generes par la fonction mail[]';
+$lang['Sv_hlp_1_3']='Compte le nombre de mails considere par le FAI comme spams.';
+$lang['Sv_hlp_1_4']='Mise en quarantaine si le nombre de mails envoyes est superieur à la valeur maxi defini par periode predeterminee.';
+$lang['Sv_hlp_1_5']='Mise en quarantaine si le nombre de spams detectes est superieur à la valeur maxi defini par periode predeterminee.';
+$lang['Sv_hlp_1_6']='Mise en quarantaine si detection de "TROP DE SPAMS" pour une periode determinee.';
 //========================================================================================================
 $lang['Sv_Options']='Options';
 
-$lang['Sv_hlp_2_1']='Envoie une copie du mail au Webmestre.';
-$lang['Sv_hlp_2_2']='Modifie la structure des destinataires en copie carbone si défaut \'bad syntax\'';
-$lang['Sv_hlp_2_3']='Si la version Piwigo est inférieure à 2.0.5, rajoute un bloc texte dans l\'entête de mail. ';
+$lang['Sv_hlp_2_1']='Envoie une copie du mail au Webmaster..';
+$lang['Sv_hlp_2_2']='Modifie la structure des destnataires en copie carbonne si defaut \'bad syntax\'';
+$lang['Sv_hlp_2_3']='Si la version piwigo est inferieur à 2.0.5, rajoute un bloc texte dans l\' entête de mail. ';
 
 //========================================================================================================
 $lang['Sv_Options']='Options';
 
-$lang['Sv_hlp_3_1']='Nombre d\'envois depuis la dernière remise à zéro.';
-$lang['Sv_hlp_3_2']='Date du premier envoi.';
-$lang['Sv_hlp_3_3']='Nombre d\'envois avant la mise en quarantaine.';
-$lang['Sv_hlp_3_4']='Durée pendant laquelle l\'envoi des mails est possible';
+$lang['Sv_hlp_3_1']='Nombre d\' envoie depuis la dernière remise à zero.';
+$lang['Sv_hlp_3_2']='Date du premier envoie.';
+$lang['Sv_hlp_3_3']='Nombre d\' envois avant la mise en quarantaine.';
+$lang['Sv_hlp_3_4']='Duree pendant laquelle l\'envoie des mails est possible';
 
-$lang['Sv_hlp_3_4_0']='<br />Valeurs acceptées : <br />
+$lang['Sv_hlp_3_4_0']='<br />Valeurs acceptees: <br />
   + n '.l10n('Week').'<br />
   + n '.l10n('Day').'<br />
@@ -35,43 +37,43 @@
   + n '.l10n('Minute').'<br />
   + n '.l10n('Second').'<br />
-n étant le nombre de (semaine, jour, heure, minute, seconde) '
+ n etant le nombre de (semaine,jour,heure,minute,seconde) '
 ;
 
-$lang['Sv_hlp_3_5']='Durée restante avant la remise à zéro du compteur.';
+$lang['Sv_hlp_3_5']='Duree restante avant la remise à zero du compteur.';
 
-$lang['Sv_state']='État';
+$lang['Sv_state']='Etat';
 
 $lang['Sv_hlp_4_1']='Date limite de la mise en quarantaine.';
-$lang['Sv_hlp_4_2']='Durée restante avant l\'annulation de la mise en quarantaine.';
-    
-$lang['Sv_last_message']='Dernier message renvoyé.';
-$lang['Sv_hlp_5_1']='Dernier message renvoyé par la fonction mail() en cas d\'erreur.';
+$lang['Sv_hlp_4_2']='Duree restante avant l\' anulation de la mise en quarantaine.';
+	 
+$lang['Sv_last_message']='Dernier message renvoye.';
+$lang['Sv_hlp_5_1']='Dernier message renvoye par la fonction mail() en cas d\'erreur.';
 
 
-//======================================================================
-$lang['Sv_hlp_7_1']='Ce module permet de créer une liste noire contenant les adresses IP indésirables.<br />
-          ' ;   
-$lang['Sv_hlp_7_1_1']='Option 1 Bloque l\'émission de mails si l\'adresse IP est dans la liste noire. <br />
-          ' ;   
-$lang['Sv_hlp_7_1_2']='Option 2 Rejet de l\'adresse IP.<br />
-          ' ;   
-$lang['Sv_hlp_7_1_3']='Option 3 À chaque nouvelle connexion, le module teste l\'adresses IP et la compare à une base de données de Spammeurs, et l\'insère automatiquement dans la liste noire si le test est positif.<br />
-           Un compteur dans cette liste indique le nombre de tentatives de connexion.<br />
-           Des informations sur le pays et la ville du FAI sont également stockées.<br />
-          
-                   ' ;   
-$lang['Sv_hlp_7_2']= 'Ajout manuel des adresses indésirables.<br />
-          
-                  Les jokers (*) pour remplacer un groupe d\'adresse  sont autorisés.<br />
-                    Exemple : 94.102.63.* :
-                  Exclusion de toutes les adresses IP de 94.102.63.0 à 94.102.63.255 <br />
-                      Exemple : 94.102.*.13 :
-                  Exclusion de toutes les adresses IP de 94.102.0.13 à 94.102.255.13 <br />
-                  
-        ' ;   
-$lang['Sv_hlp_7_3']= ' Cliquez ici pour vérifier si l\'adresse IP ou le nom de l\'utilisateur ou l\'adresse courriel introduit dans le champs texte est dans la base de donnée de stopforumspam.Les jokers ne sont pas admis. Pour plus de renseignements voir http://www.stopforumspam.com' ;   
+//====================================================================== 
+$lang['Sv_hlp_7_1']='Ce module permet de creer une liste noire contenant les adresses IP indesirables.<br />
+          ' ;	
+$lang['Sv_hlp_7_1_1']='Option 1 Bloque l\' emission de mail si l\' adresse IP est dans la liste noire. <br />
+		  ' ;	
+$lang['Sv_hlp_7_1_2']='Option 2 Rejet de l\' adresse IP .<br />
+		  ' ;	
+$lang['Sv_hlp_7_1_3']='Option 3 A chaque nouvelle connexion, le module teste l\'adresses IP et la compare à une base de donnees de Spammeurs, et l\' insere automatiquement dans la liste noire si le test est positif.<br />
+		   Un compteur dans cette liste indique le nombre de tentative de connexion.<br />
+		   Des informations sur le pays et la ville du FAI sont egalement stockees.<br />
+		   
+		   		' ;	
+$lang['Sv_hlp_7_2']= 'Ajout manuel des adresses indesirables.<br />
+		   
+				  Les jockers (*) pour remplacer un groupe d\'adresse  sont autorises.<br />
+				    Exemple : 94.102.63.* :
+				  Exclusion de toutes les adresses IP de 94.102.63.0 à 94.102.63.255 <br />
+				  	Exemple : 94.102.*.13 :
+				  Exclusion de toutes les adresses IP de 94.102.0.13 à 94.102.255.13 <br />
+				  
+		' ;	
+$lang['Sv_hlp_7_3']= ' Cliquez ici pour verifier si l\'adresse IP ou le nom de l\'utilisateur ou l\'adresse courriel introduit dans le champs texte est dans la base de donnee de stopforumspam.Les jockers ne sont pas admis. Pour plus de renseignements voir http://www.stopforumspam.com' ;	
 
-$lang['Sv_hlp_7_4']= ' Si vous décidez de bloquer cette adresse, cliquez ici ou sur l\'icône \'ajout\' pour mettre à jour la liste noire.<BR />
-    
-' ;
+$lang['Sv_hlp_7_4']= ' Si vous decidez de bloquer cette adresse cliquez ici où sur l\'icône \'ajout\' pour mettre à jour la liste noire .<BR />
+	 
+' ;	
 ?>
Index: /extensions/Mail_supervisor/language/fr_FR/plugin.lang.php
===================================================================
--- /extensions/Mail_supervisor/language/fr_FR/plugin.lang.php	(revision 9701)
+++ /extensions/Mail_supervisor/language/fr_FR/plugin.lang.php	(revision 9702)
@@ -5,4 +5,8 @@
 if( !isset($lang['Second'])) $lang['Second'] =   l10n('Seconde');
 //=======================================================
+
+$lang['Sv_Are_you_sure'] =  'Etes-vous sûr' ; 
+$lang['Sv_no_verif'] =  'IP Non vérifié.' ; 
+$lang['Sv_delete'] =  'Supprimer' ; 
 $lang['Sv_Datas'] =  'Datas' ; 
 $lang['Sv_Group'] = $lang['Group']; 
@@ -20,5 +24,5 @@
 $lang['Sv_Envoyer'] = 'Envoyer';
 $lang['Sv_Valider'] = 'Valider';
-$lang['Sv_version'] = ' Version :';
+$lang['Sv_version'] = ' Version  :';
 
 $lang['Sv_fai'] = $lang['Sv_username'];
@@ -27,10 +31,10 @@
 $lang['Sv_no_mail_list'] = 'Bloque l\' émission de mail si l\' adresse IP est dans la liste noire.';
 $lang['Sv_no_connect'] = 'Empêche l\' adresse IP de se connecter au site.';
-$lang['Sv_set_auto'] = 'Enregistre automatiquement l\' adresse IP dans la liste noire si elle existe dans la base de données de "stopforumspam".';
-$lang['Sv_set_id'] = 'Lors de l\'enregistrement du nouvel utilisateur, vérifie que l\' adresse mail n\'est pas dans la base de données de "stopforumspam".';
+$lang['Sv_set_auto'] = 'Compte le nombre de connexion dans la liste noire.';
+$lang['Sv_set_id'] = 'Lors de l\'enregistrement du nouvel utilisateur, vérifie que l\' adresse mail n\'est pas dans la base de données de "stopforumspam" .';
 $lang['Sv_unset_black_list'] = 'Supprime de la liste noire';
 $lang['Sv_set_black_list'] = 'Mise sur la liste noire';
-$lang['Sv_is_a_spam'] = 'Spammeur détecté !';
-$lang['Sv_is_a_login_spam'] = ': Je suis désolé mais ce login est interdit !';
+$lang['Sv_is_a_spam'] = 'Spammeur détecté!.';
+$lang['Sv_is_a_login_spam'] = ': Je suis désolé mais ce login est interdit!.';
 $lang['Sv_Ajout'] = 'Ajouter à la liste noire.';
 
@@ -48,5 +52,5 @@
 $lang['Sv_mail_sent_to'] = 'Mail envoyé à %s.';
 $lang['Sv_mail_not_send'] = 'Le mail n\'a pas été envoyé.';
-$lang['Sv_message_to_send'] = 'Message à envoyer.';
+$lang['Sv_message_to_send'] = 'Message a envoyer.';
 $lang['Sv_verifiez_les_destinataires']='Vérifiez les destinataires:';
 $lang['Sv_detection_de'] = 'Détection de :' ;
@@ -55,5 +59,5 @@
 $lang['Sv_Tab_help'] = 'Aide';
 
-$lang['Sv_Howto'] = 'Gestion des paramètres de surveillance d\'envoi des mails.';
+$lang['Sv_Howto'] = 'Gestion des parametres de surveillance d\' envoie des mails.';
 $lang['Sv_admin_titre'] = 'Administration de '.$lang['Sv_supervisor'];
 $lang['Sv_admin_description'] = 'Dernier message renvoyé. ';
@@ -64,6 +68,6 @@
 $lang['Sv_check_header_text'] = 'Ajouter un bloc "texte" dans l\'entête du mail.';
 
-$lang['Sv_admin'] = 'Exclure l\'administrateur des envois.';
-$lang['Sv_guest'] = 'Exclure le guest des des envois.';
+$lang['Sv_admin'] = 'Exclure l\'administrateur des envoies.';
+$lang['Sv_guest'] = 'Exclure le guest des des envoies.';
 
 $lang['Sv_periode'] = 'Période';
Index: /extensions/Mail_supervisor/mail_super.inc.php
===================================================================
--- /extensions/Mail_supervisor/mail_super.inc.php	(revision 9702)
+++ /extensions/Mail_supervisor/mail_super.inc.php	(revision 9702)
@@ -0,0 +1,346 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery                                  |
+// | Mail supervisor                                              |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2010      cljosse                                        |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify  |
+// | it under the terms of the GNU General Public License as published by  |
+// | the Free Software Foundation                                          |
+// |                                                                       |
+// | This program is distributed in the hope that it will be useful, but   |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
+// | General Public License for more details.                              |
+// |                                                                       |
+// | You should have received a copy of the GNU General Public License     |
+// | along with this program; if not, write to the Free Software           |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA.                                                                  |
+// +-----------------------------------------------------------------------+
+if (!defined('MAIL_SUPERV_PATH'))
+define('MAIL_SUPERV_PATH', PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
+if (!defined('ROOT_URL'))
+define(  'ROOT_URL',  get_root_url().'/' );
+$MAIL_SUPERV_PATH_ABS=str_replace('\\','/',dirname(__FILE__) );
+if (!defined('MAIL_SUPERV_PATH_ABS'))
+define('MAIL_SUPERV_PATH_ABS',   $MAIL_SUPERV_PATH_ABS."/");
+
+class mail_supervisor {
+ //============================================================
+ /*
+  *  admin_menu
+ */
+ static public function admin_menu($menu) {
+  array_push($menu,
+             array( 'NAME' => 'Mail supervisor',
+                            'URL' => get_admin_plugin_menu_link(MAIL_SUPERV_PATH . 'admin/mail_superv_admin.php')
+                        )
+            );
+    return $menu;
+ }
+ //============================================================
+ /*
+  *  init
+ */
+ static public function init() {
+  global  $template,$version,$path_js,$icon_path;
+  if (PHPWG_VERSION < 2.2 ) {
+    $file =MAIL_SUPERV_PATH_ABS.'admin/header_2_1.tpl' ;
+    if (PHPWG_VERSION < 2.0 ) $path_js =  "template-common/lib/";
+    else $path_js=  'themes/default/js/' ;
+  } else {
+    $file =MAIL_SUPERV_PATH_ABS.'admin/header_2_2.tpl' ;
+    $path_js=  'themes/default/js/' ;
+  }
+  if(isset($_GET['action_spam']) and $_GET['action_spam']=="no"){
+    $action_spam = pwg_get_session_var('action_spam') ;
+    pwg_set_session_var('action_spam', "false");
+    unset ($_SESSION['pwg_'.'action_spam']);
+  }
+
+  $template->set_filenames(array('mail_superv_init'=> $file ));
+  if (file_exists ( 'admin/themes/clear/icon/help.png')) $icon_path = 'themes/default/icon/help.png';
+  else  $icon_path =  "admin/template/goto/theme/clear/icon/help.png";
+  $template->assign(
+      array('version' => $version,
+      'PHPWG_VERSION' =>     PHPWG_VERSION ,
+      'MAIL_SUPERV_PATH' =>  MAIL_SUPERV_PATH ,
+      'path_js' => $path_js,
+      'MAIL_SUPERV_PATH_ABS' => MAIL_SUPERV_PATH_ABS,
+      'action_spam' => pwg_get_session_var('action_spam')
+      )
+  );
+  $template->parse( 'mail_superv_init', false);
+
+  return ;//
+}// function init
+  //============================================================
+  /*
+  * affiche_message
+  */
+  //============================================================
+  static public function affiche_message(){
+    global $template,$infos_message,$erreur_message, $user ,$ip;
+    global $mails_options,$conf,$lang,$page ;
+    global $action_spam ;
+    if (!isset($ip)) {
+      if (getenv("HTTP_CLIENT_IP"))   {
+        $ip=getenv("HTTP_CLIENT_IP");
+      }else{
+          $ip=getenv("REMOTE_ADDR");
+      }
+    }    
+      //  unset ($_SESSION['pwg_'.'action_spam']);
+      $action_spam = pwg_get_session_var('action_spam') ;
+        
+      if  ($action_spam == null or $action_spam == 'false') {
+        $action_spam = kill_list();
+      }
+
+      if (is_bool($action_spam)) $action_spam =($action_spam == true) ? "true" : "false" ; 
+      if ($action_spam == "true" ) {
+        $erreur_message .= $ip . " "  . $action_spam  ;
+        pwg_set_session_var('action_spam', "true");
+        $erreur_message .= "<br />".l10n('Sv_is_a_spam') ;
+        if ($mails_options['no_connect'] == 'on1' ){
+                  //[status] => guest
+                  //[status] => normal
+                  //[status] => webmaster
+          if ($user['status'] != 'webmaster'  )
+            if (!isset($_GET['admin'])) {
+              die('Blacklist : <br />' .$erreur_message. '<br /> Hacking attempt!');
+            }elseif ($_GET['admin'] != 'piwigo'){
+              die('blacklist Hacking attempt!');
+            }
+         unset ($_SESSION['pwg_'.'action_spam']);
+      }
+    }else{
+      pwg_set_session_var('action_spam', "false");
+    }
+
+    if (isset($infos_message))
+      if  ($infos_message != "")  {
+        $infos_message = str_replace("\n",'<br />',$infos_message) ;
+        if(is_array($page['infos'])) array_push($page['infos'], $infos_message);
+        else $page['infos']=Array($infos_message);
+        $infos_message="";
+      }    
+    if (isset($erreur_message))
+      if  ($erreur_message != "")  {
+        $erreur_message = str_replace("\n",'<br />',$erreur_message) ;
+        if (!isset($page['errors'])) $page['errors']=Array($erreur_message);
+        if(is_array($page['errors'])) array_push($page['errors'], $erreur_message);
+        else $page['errors']=Array($erreur_message);
+        $erreur_message ="";
+      } 
+    return $action_spam;
+  } //fin Affiche_message
+
+    //============================================================
+  /*
+    *   Get_geo
+  */
+  static public function Get_geo() {
+    global  $info_geo,$ip,$pays,$region,$ville, $latitude ,$longitude,$mails_options;
+    //===================================================================================   
+    $info_geo = pwg_get_session_var('info_geo'); 
+    if (count($info_geo) > 0){
+        $pays  = $info_geo[0];
+        $region  = $info_geo[1];
+        $ville  = $info_geo[2];
+        $latitude = $info_geo[3];
+        $longitude = $info_geo[4];
+        $ip = $info_geo[5];
+        return true;
+    }
+    //=======================================================================
+    if (isset($_POST['pays'])) {
+      $pays = isset($_POST['pays']) ? $_POST['pays'] : "";
+      $region =  isset($_POST['region']) ? $_POST['region'] :"";
+      $ville = (isset($_POST['ville']))   ? $_POST['ville']: "";
+      $latitude =  isset($_POST['latitude']) ? $_POST['latitude'] : "";
+      $longitude =  isset($_POST['longitude']) ? $_POST['longitude'] : "";
+      $info_geo = array(   $pays ,$region , $ville ,$latitude, $longitude,$_SERVER['REMOTE_ADDR']  );
+      pwg_set_session_var('info_geo', $info_geo);
+        return true;
+      }else{
+
+     $result="";
+      echo '<script type="text/javascript">get_script_geo();</script>';
+   return true;
+      }
+    } // fin get_geo
+    //=====================================================================================
+    /*
+    * Memo_Var
+    */
+    static public function Memo_Var($variables) {
+    ob_start();
+    echo '<pre>';
+    foreach($variables as $key => $line){
+      echo  $key . " =>  " . $line ; 
+      echo "<br />";
+    }       
+    $m= ob_get_contents();
+    ob_end_clean();
+    return $m;
+    }
+  //======================================================================================
+   static public function Get_Version_plugins($dir){
+      $path = $dir;
+      $plg_data = implode( '', file($path.'main.inc.php') );
+      if ( preg_match("|Plugin Name: (.*)|", $plg_data, $val) )
+      {
+        $plugin['name'] = trim( $val[1] );
+      }
+      if (preg_match("|Version: (.*)|", $plg_data, $val))
+      {
+        $plugin['version'] = trim($val[1]);
+      }
+      if ( preg_match("|Plugin URI: (.*)|", $plg_data, $val) )
+      {
+        $plugin['uri'] = trim($val[1]);
+      }
+      if ($desc = load_language('description.txt', $path.'/', array('return' => true)))
+      {
+        $plugin['description'] = trim($desc);
+      }
+      elseif ( preg_match("|Description: (.*)|", $plg_data, $val) )
+      {
+        $plugin['description'] = trim($val[1]);
+      }
+      if ( preg_match("|Author: (.*)|", $plg_data, $val) )
+      {
+        $plugin['author'] = trim($val[1]);
+      }
+      if ( preg_match("|Author URI: (.*)|", $plg_data, $val) )
+      {
+        $plugin['author uri'] = trim($val[1]);
+      }
+      if (!empty($plugin['uri']) and strpos($plugin['uri'] , 'extension_view.php?eid='))
+      {
+        list( , $extension) = explode('extension_view.php?eid=', $plugin['uri']);
+        if (is_numeric($extension)) $plugin['extension'] = $extension;
+      }
+      // IMPORTANT SECURITY !
+      $plugin = array_map('htmlspecialchars', $plugin);
+      return $plugin ;
+    }
+  //==========================================================
+  function Get_Options($parametres,$str_index){
+    global $conf,$mails_options ;
+  $mails_options=  $conf[$str_index];
+ 
+ if(isset($mails_options))
+   if ( preg_match("|s:(.*)|", $mails_options, $val) )
+    $parametres =  unserialize($conf['mail_superv']);
+   else{
+     $parametres=explode(",",$mails_options);
+   
+    $def_para->check_mailto="on";
+    $def_para->check_header_carbon="on";
+    $def_para->check_header_text="on";
+    $def_para->no_mail_list="on";
+    $def_para->no_connect="on";	// empeche l'ip de se connecter au site.
+    $def_para->set_auto="on";		// Test a l'ouverture et enregistrement 
+    $def_para->ip="127.0.0.1";		// dernièrre adresse IP
+    $def_para->set_id="on";		  // enregistrment nouvel  
+    $i=0;
+    foreach ($def_para as $key => $value) {
+        $value=$parametres[$i];
+        unset( $parametres[$i]) ;
+        $parametres[$key]= $value  ; 
+        $i++;
+    }
+     }
+  return mail_supervisor::Set_Options($parametres,$str_index);
+  }	  
+  //==========================================================
+  function Set_Options($parametres,$str_index){  
+  global $infos_message,$conf;
+      foreach ($parametres as $key => $value) { 
+       $parametres[$key]=(isset($_POST[$key]))? "on" : $value ;
+     }
+   $parametres['no_connect']= 'off' ;     
+     return $parametres ;
+  }
+  //==========================================================
+function sauve_options(){
+global $options,$infos_message,$conf,$mails_options  ;
+$infos_message .=l10n("save_config")."<br>";
+ $mails_parametres=mail_supervisor::Set_Options($mails_options,"mail_superv");
+
+ if ( isset($mails_parametres) )
+ 	{		$query = '
+    		UPDATE '.CONFIG_TABLE.'
+    		SET value="'.addslashes(serialize($mails_parametres)).'"
+    		WHERE param = "mail_superv"
+    		LIMIT 1';
+ 			pwg_query($query);
+	  }
+	  
+ }
+
+  //=================================================================================
+  function sauve_donnees(){
+  global $mails_donnees,$superv_champs,$superv_type,$erreur_message ;
+  //=====================================================================	
+  $clefs = $superv_champs ;
+  $valeurs = array();
+  foreach ( $clefs as $champ){
+        $champ = trim($champ);     
+	    if ( isset($mails_donnees[  $champ ]) ) {
+	      $sep= (is_string($mails_donnees[ $champ ])) ? '"' : '' ;
+          array_push($valeurs , "`".$champ."`" . ' = ' . $sep . $mails_donnees[  $champ ] . $sep)  ;
+	    }else{	 
+	      array_push($valeurs , "`".$champ."`" . ' = ' .  "0"  )  ;
+	    }	 
+      }
+  $valeurs = implode(", ",$valeurs) ;
+  //=====================================================================
+  $query = '
+          UPDATE '.mail_superv_TABLE.'
+          SET '. $valeurs .'
+		  WHERE `id` = 1 LIMIT 1 ';
+		  ;
+  ob_start();
+  $ret=  pwg_query($query)    ;
+  $m= ob_get_contents();
+  ob_end_clean() ;
+  $erreur_message .= $m ;
+  }
+//=================================================================================
+  function Get_Datas(){
+    global $superv_champs ;
+    $champs = implode(",",$superv_champs );
+      $query = "SELECT ".$champs." 
+      FROM ".mail_superv_TABLE."
+      ;";
+		$result = @pwg_query($query); 
+    if (!$result) {
+			verif_base();
+	 		$result = @pwg_query($query);
+		}					
+    $data = mysql_fetch_array($result,MYSQL_ASSOC);
+    //====================================================================================
+    $next_day = Str_To_Time( $data['nb_mails_periode'], $data['date_mail'] ); 
+    $next_day = ($next_day >0) ? $next_day :  (604800  + time()) ; 
+    $data['rest_mail'] =    $next_day - time() ;
+    $next_day = Str_To_Time( $data['nb_spams_periode'],$data['date_spam']);
+    $next_day = ($next_day >0) ? $next_day :  (172800  + time()) ;
+    $data['rest_spam'] =  $next_day - time() ;
+    $next_day = Str_To_Time($data['quarantaine_periode'] ,$data['date_quarantaine']);	
+    $next_day = ($next_day >0) ? $next_day :  (172800 + time()) ;
+	
+    if ($data['quarantaine'] == 'true' ) {
+		    $data['reste'] =   ( $next_day )-time() ;
+    }else{
+		    $data['reste'] = 0;
+    }
+	
+	    return $data;
+  }
+ }
+?>
Index: /extensions/Mail_supervisor/main.inc.php
===================================================================
--- /extensions/Mail_supervisor/main.inc.php	(revision 9701)
+++ /extensions/Mail_supervisor/main.inc.php	(revision 9702)
@@ -2,5 +2,5 @@
 /*
 Plugin Name: Mail supervisor
-Version: 1.4.4 Beta
+Version: auto
 Description: Mail supervisor surveille l'envoie des mails.
 Plugin URI: http://piwigo.org/ext/extension_view.php?eid=315
@@ -9,44 +9,58 @@
 */
 if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
-if (!defined('MAIL_SUPERV_DIR')) define('MAIL_SUPERV_DIR' , basename(dirname(__FILE__)));
+if (!defined('mail_superv_DIR')) define('mail_superv_DIR' , basename(dirname(__FILE__)));
 if (!defined('MAIL_SUPERV_PATH')) define('MAIL_SUPERV_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
+$MAIL_SUPERV_PATH_ABS=str_replace('\\','/',dirname(__FILE__) );
+if (!defined('MAIL_SUPERV_PATH_ABS')) define(  'MAIL_SUPERV_PATH_ABS',   $MAIL_SUPERV_PATH_ABS."/");
+global $conf,$mails_options ;
 include_once (MAIL_SUPERV_PATH.'include/constants.php'); 
-
-/* EVENT_HANDLER_PRIORITY_NEUTRAL  */
-
- global $conf ;
-add_event_handler('send_mail', 'clj_mail',EVENT_HANDLER_PRIORITY_NEUTRAL - 1 , 6);
-function clj_mail($result, $mailto, $subject, $content, $headers, $args)
-{
-    global $conf, $user, $lang_info,  $conf_mail,$mails_options,$mails_donnees , $template,$page ,$erreur_message,$infos_message, $lang; 
+include_once(MAIL_SUPERV_PATH.'mail_super.inc.php');
+$mail_supervisor = new mail_supervisor();
+add_event_handler('get_admin_plugin_menu_links', array(&$mail_supervisor,'admin_menu')  );
+
+$mails_options = mail_supervisor::Get_Options($mails_options,"mail_superv");
+/* EVENT_HANDLER_PRIORITY_NEUTRAL  */ 	
+//
+//
+include_once (MAIL_SUPERV_PATH.'include/fonctions.php');  
+//===============loc_begin_index==============loc_after_page_header=============================================================
+add_event_handler('loc_after_page_header',  array(&$mail_supervisor,'init')  );
+add_event_handler('loc_begin_page_tail',  array(&$mail_supervisor,'affiche_message')  );
+
+//==========================================================================================
+add_event_handler('send_mail', 'clj_mail',EVENT_HANDLER_PRIORITY_NEUTRAL - 10, 6);
+function clj_mail($result, $mailto, $subject, $content, $headers, $args) {
+    global $conf, $user, $lang_info;  
+    global $conf_mail,$mails_options,$mails_donnees ;
+    global  $template,$page ,$erreur_message,$infos_message, $lang; 
+    global $errors;
+ 
 	// lecture config table -------------
-	 include_once (MAIL_SUPERV_PATH.'include/fonctions.php'); 
-     load_language('plugin.lang', MAIL_SUPERV_PATH);
-	 
-	 if (isset($_POST["Submit"]) )
-	 {
-	 if ($_POST["Submit"] != l10n('Sv_Envoyer') ) return true ;
-	 }
-	$message ="";
-	if (!isset($infos_message))
-	{
-    	$infos_message = "";
-	}
-if (!isset($erreur_message))
-	{
-    	$erreur_message = '';
-	}	 
-	 $mails_options = explode("," , $conf['mail_superv']);
+	  include_once (MAIL_SUPERV_PATH.'include/fonctions.php'); 
+   load_language('plugin.lang', MAIL_SUPERV_PATH); 
+	 if (isset($_POST["Submit"]) ) {
+	    if ($_POST["Submit"] != l10n('Sv_Envoyer') ) return true ;
+	 }  
+   // remove_event_handler('send_mail', 'pwg_send_mail');
+     
+	   $message ="";
+    if (!isset($infos_message))	{ 	$infos_message = "";	}
+    if (!isset($erreur_message))	{  	$erreur_message = '';	}	 
+   
+   // $mails_options = explode("," , $conf['mail_superv']);
+    $envoie_ok=true ;
 //======== verification si envoie de mail ou blocage connexion =====================
-	if ($mails_options[no_mail_list]=='on' || $mails_options[no_connect] == 'on' )
-	{
-		if (kill_list())
-		 {
-		  $erreur_message .= "<BR />".l10n('Sv_is_a_spam') ;
-		 if ($mails_options[no_connect] == 'on' ){
-		  if ($user['status'] == 'webmaster'  )
-			{  
+
+	if ($mails_options['no_mail_list']=='on' || $mails_options['no_connect'] == 'on' )	{ 
+		if (kill_list()) {
+      $nb_destinataires=0; ;
+      $envoie_ok= false ;
+      $erreur_message .= "<BR />".l10n('Sv_is_a_spam') ;
+      $infos_message = l10n('Sv_mail_not_send')."<BR />"; 
+		   if ($mails_options['no_connect'] == 'on' ){
+		   if ($user['status'] == 'webmaster'  )		{  
 			  //---------- continuer si web master ----------
-			}else{
+
+			  }else{
 				  if (!isset($_GET['admin'])) {
 	  					 die('Blacklist : <br />' .$erreur_message. '<br /> Hacking attempt!');
@@ -55,15 +69,14 @@
 	  					 die('blacklist Hacking attempt!');
 	  				}
-	              return true;
+	             
 			  } 
 			 
 			}
-		 	
-		 }
+
+       	 return true;
+		}
 	}
-	
-
 	// lecture donnees       -------------
-    $mails_donnees = Get_Datas();
+ $mails_donnees = mail_supervisor::Get_Datas();
  
 	$nb_mails	  =	$mails_donnees['nb_mails'] ;
@@ -91,159 +104,134 @@
 	
  
- if ( ( !$alerte  && !$alerte_spam  && !$alerte_mail ) ) 
-  	{
-	     	 
-  $nb_destinataires=0;
-		if ($mails_options[check_mailto] == 'on') {
- 			if ($mailto == "" )	$mailto = $conf_mail['email_webmaster'];
-		}    
- if ($mailto<>"" )            $nb_destinataires +=1; 
-
- 		if (!empty($args['Bcc'])) { $nb_destinataires += count($args['Bcc']); 	} 
-		if (!empty($args['Cc']))  {	$nb_destinataires += count($args['Cc']); 	}
+    if ( ( !$alerte  && !$alerte_spam  && !$alerte_mail ) ) {	     	 
+            $nb_destinataires=0;
+		    if ($mails_options['check_mailto'] == 'on') {
+ 			    if ($mailto == "" )	$mailto = $conf_mail['email_webmaster'];
+		    }    
+            if ($mailto<>"" )            $nb_destinataires +=1; 
+ 		    if (!empty($args['Bcc'])) { $nb_destinataires += count($args['Bcc']); 	} 
+		    if (!empty($args['Cc']))  {	$nb_destinataires += count($args['Cc']); 	}
 
    
-  	$infos_message .= "<hr> Theme :" . ($args['theme'] ) ."<br />";
-    $infos_message .="nombre de destinataire:".$nb_destinataires." <br />" ;
-
-   //================= reecriture de l'entete ===============================
-    $match=array("<",">");
-    $string=array("&lt;","&gt;") ;	
+  	        $infos_message .= "<hr> Theme :" . ($args['theme'] ) ."<br />";
+            $infos_message .="nombre de destinataire:".$nb_destinataires." <br />" ;
+
+           //================= reecriture de l'entete ===============================
+            $match=array("<",">");
+            $string=array("&lt;","&gt;") ;	
   	
-if ( $nb_destinataires  == 1 && $mailto != "" )
-	{   
-    $infos_message .="--> Mailto: " . $mailto." \n" ;
+            if ( $nb_destinataires  == 1 && $mailto != "" )
+	            {   
+                    $infos_message .="--> Mailto: " . $mailto." \n" ;
     
-		if ($mailto != "" ) 
-		  {
-
-                 $mailto  = $mailto ." \n"   ;
-                $headers =  preg_replace('/.*Bcc(.*).\n/i', '', $headers);
-				$headers =  preg_replace('/.*Cc(.*).\n/i', '', $headers);
+		            if ($mailto != "" ) 
+		                {
+
+                            $mailto  = $mailto ." \n"   ;
+                            $headers =  preg_replace('/.*Bcc(.*).\n/i', '', $headers);
+				            $headers =  preg_replace('/.*Cc(.*).\n/i', '', $headers);
                 
 			
-		  }
-     //=============================================================================
+		                }
+                    //=============================================================================
              
             
-                if (!empty($args['Bcc']) ) $infos_message .="Bcc: " . memo_var($args['Bcc']) ." \n";
-                if (!empty($args['Cc']) ) $infos_message .="Cc: " . memo_var($args['Cc'])." \n" ;
-                $infos_message .="Mailto: [" . $mailto . "]"." \n".$headers;             
+                            if (!empty($args['Bcc']) ) $infos_message .="Bcc: " . mail_supervisor::Memo_Var($args['Bcc']) ." \n";
+                            if (!empty($args['Cc']) ) $infos_message .="Cc: " . mail_supervisor::Memo_Var($args['Cc'])." \n" ;
+                            $infos_message .="Mailto: [" . $mailto . "]"." \n".$headers;             
           
-	}else{
-//=== plusieurs destinataires ===========
-$cl_list_mail="";
-
-  if ($mailto !="") $infos_message .="To: " . $mailto . " "." /n" ;     
-        if (!empty($args['Cc'])) {
-        $ret= corrige_header('Cc',$headers,$args,$cl_list_mail);
-          $headers = $ret->headers;
-          $infos_message .="Cc: " .  ( $ret->list_mail)."  <br />" ;
-        }
-        if (!empty($args['Bcc'])){ 
-           $ret	= corrige_header('Bcc',$headers,$args,$cl_list_mail); 
+	            }else{
+                    //=== plusieurs destinataires ===========
+                    $cl_list_mail="";
+
+                    if ($mailto !="") $infos_message .="To: " . $mailto . " "." /n" ;     
+                    if (!empty($args['Cc'])) {
+                    $ret= corrige_header('Cc',$headers,$args,$cl_list_mail);
+                        $headers = $ret->headers;
+                        $infos_message .="Cc: " .  ( $ret->list_mail)."  <br />" ;
+                    }
+                    if (!empty($args['Bcc'])){ 
+                        $ret	= corrige_header('Bcc',$headers,$args,$cl_list_mail); 
           
-           $headers = $ret->headers ;
-           $infos_message .="Bcc: " . ( $ret->list_mail) ."  <br />";
-        }
+                        $headers = $ret->headers ;
+                        $infos_message .="Bcc: " . ( $ret->list_mail) ."  <br />";
+                    }
       
-	$infos_message .=  " " ;
-}
-// $infos_message .= $content ;
-//=============================================================================
-if ($mails_options[check_header_text]=='on')   {
-
-        $texte = "This is a multi-part message in MIME format.\n"; 
-	
-     	$texte .= "-----=".$conf_mail['boundary_key']."\n"; 
-      	$texte .= "Ceci est un message est au format MIME.\n"; 
-       	$texte .= 'Content-Type: text/plain; charset="UTF-8"'."\n"; 
-       	$texte .= 'Content-Transfer-Encoding: 8bit'."\n\n";  
-       	$texte .= $mails_donnees['header_text']; // A voir texte brut...
-	   
-	   	$texte .= "\n\n"; 
-	
-	  	$content =$texte .$content ;
-}
- 
-$ret=false;
-
- 	    //======== Non mise en quarantaine =============
-   		ob_start();
-		$ret = false;
-		 if ($nb_destinataires > 0) {
-		 // corrige erreur 'mail dropped, bare LF found'
-		 $content = str_replace("\n.", "\n..", $content);
-		 $headers = str_replace("\n.", "\n..", $headers);
-		 $subject = str_replace("\n.", "\n..", $subject);
-		 $mailto = str_replace("\n.", "\n..", $mailto);
-   	     $ret = mail($mailto, $subject, $content, $headers);
-	
-			}else{
-			   $message .= l10n('Sv_no_receiver_available');
-			}
- 	  		$message .= ob_get_contents();
-    	    ob_end_clean();
-			$mails_donnees['message']=$message;	
-	 		Gestion_erreurs($message,$ret,$nb_destinataires,$headers,$mailto);
-		
-  	
-	
-	} else {
-
-	//================== Est en quarantaine =======================	
-		$erreur_message .= 	l10n('Sv_To_day_is')."<br />";
-			if ($alerte_spam ) { 
-		        $type="Spams";
-				
-				$d1=$mails_donnees['nb_spams'] . '  \\  ' . $mails_donnees['nb_spams_maxi'];
-				$d2=$mails_donnees['nb_spams'];
- 				$d3= $mails_donnees['rest_spam'];
-				$d4=time()+$d3 ;
- 			} 
- 
-			if ($alerte_mail) {
-		        $type="Mails";
-		        
-				$d1=$mails_donnees['nb_mails']. '  \\  ' . $mails_donnees['nb_mails_maxi'];;
-				$d2=$mails_donnees['date_mail'];
- 				$d3= $mails_donnees['rest_mail'];
-				$d4=time()+$d3 ;
-				
-				
- 			}
-			if ($alerte) {
+	            $infos_message .=  " " ;
+            }
+            // $infos_message .= $content ;
+            //=============================================================================
+            if ($mails_options['check_header_text']=='on')   {
+              $texte = "This is a multi-part message in MIME format.\n"; 	
+              $texte .= "-----=".$conf_mail['boundary_key']."\n"; 
+              $texte .= "Ceci est un message est au format MIME.\n"; 
+              $texte .= 'Content-Type: text/plain; charset="UTF-8"'."\n"; 
+              $texte .= 'Content-Transfer-Encoding: 8bit'."\n\n";  
+              $texte .= $mails_donnees['header_text']; // A voir texte brut...	   
+              $texte .= "\n\n"; 	
+              $content =$texte .$content ;
+            }
+ 
+            $ret=false;
+ 	        //======== Non mise en quarantaine =============
+   		    ob_start();
+		    $ret = false;
+		      if ($nb_destinataires > 0) {
+		         // corrige erreur 'mail dropped, bare LF found'
+		         $content = str_replace("\n.", "\n..", $content);
+		         $headers = str_replace("\n.", "\n..", $headers);
+		         $subject = str_replace("\n.", "\n..", $subject);
+		         $mailto = str_replace("\n.", "\n..", $mailto);
+                if( $envoie_ok)  $ret = mail($mailto, $subject, $content, $headers);
+	
+			  }else{
+			       $message .= l10n('Sv_no_receiver_available');
+			  }
+ 	  		    $message .= ob_get_contents();
+    	        ob_end_clean();
+			    $mails_donnees['message']=$message;	
+	 		    Gestion_erreurs($message,$ret,$nb_destinataires,$headers,$mailto);
+            } else {
+	            //================== Est en quarantaine =======================	
+		        $erreur_message .= 	l10n('Sv_To_day_is')."<br />";
+			    if ($alerte_spam ) { 
+		                $type="Spams";				
+				        $d1=$mails_donnees['nb_spams'] . '  \\  ' . $mails_donnees['nb_spams_maxi'];
+				        $d2=$mails_donnees['nb_spams'];
+ 				        $d3= $mails_donnees['rest_spam'];
+				        $d4=time()+$d3 ;
+ 			    }  
+			    if ($alerte_mail) {
+                    $type="Mails";		        
+                    $d1=$mails_donnees['nb_mails']. '  \\  ' . $mails_donnees['nb_mails_maxi'];;
+                    $d2=$mails_donnees['date_mail'];
+                    $d3= $mails_donnees['rest_mail'];
+                    $d4=time()+$d3 ;
+ 			    }
+			    if ($alerte) {
 		        $type="Spams(Quarantaine)";
-				$d1=$mails_donnees['nb_spams'] . '  \\  ' . $mails_donnees['nb_spams_maxi'];
-				$d2=$mails_donnees['date_quarantaine'];
- 				$d3= $mails_donnees['reste'];
-				$d4=time()+$d3 ;
- 			} 
-
-
-$d2=date(l10n('Sv_formatdate'),$d2);
-$d3=int_to_heure($d3) ;
-$d4=date(l10n('Sv_formatdate'),$d4);
-
-	if ($alerte_mail) {
-	      $erreur_message .='<br />'.sprintf(l10n('Sv_alerte_mail %s %s %s %s %s'),$type,$d1,$d2,$d3,$d4).'<br />';
- 		}else{
-		 	   $erreur_message .='<br />'.sprintf(l10n('Sv_mise_en_quarantaine %s %s %s %s %s'),$type,$d1,$d2,$d3,$d4).'<br />';
-
-		}
- $infos_message .= l10n('Sv_mail_not_send');
- 
- }			
- sauve_donnees();
- return true ;
+				    $d1=$mails_donnees['nb_spams'] . '  \\  ' . $mails_donnees['nb_spams_maxi'];
+				    $d2=$mails_donnees['date_quarantaine'];
+ 				    $d3= $mails_donnees['reste'];
+				    $d4=time()+$d3 ;
+ 			    } 
+            $d2=date(l10n('Sv_formatdate'),$d2);
+            $d3=int_to_heure($d3) ;
+            $d4=date(l10n('Sv_formatdate'),$d4);
+            if ($alerte_mail) {
+	            $erreur_message .='<br />'.sprintf(l10n('Sv_alerte_mail %s %s %s %s %s'),$type,$d1,$d2,$d3,$d4).'<br />';
+            }else{
+		        $erreur_message .='<br />'.sprintf(l10n('Sv_mise_en_quarantaine %s %s %s %s %s'),$type,$d1,$d2,$d3,$d4).'<br />';
+            }
+            $infos_message .= l10n('Sv_mail_not_send'); 
+            }			
+    mail_supervisor::sauve_donnees();
+    mail_supervisor::affiche_message();
+    return true ;
 }
 //===========================================================================================	
-function Gestion_erreurs($message,$ret,$nb_destinataires,$headers,$mailto)
-{			
+function Gestion_erreurs($message,$ret,$nb_destinataires,$headers,$mailto){			
 	 global $conf, $user,  $conf_mail,$mails_options,$mails_donnees , $template,$page ,$infos_message,$erreur_message,$args,$lang, $lang_info; 
-
-	 
-	  
-    $match=array("<",">");
+     $match=array("<",">");
     $string=array("&lt;","&gt;") ;	 
 //Warning: mail() has been disabled for security reasons 
@@ -266,7 +254,5 @@
 	$headers ,
 	$nb_destinataires );
-       //=============== La fonction mail   retourneeune erreur =========================		
-
-				
+       //=============== La fonction mail retourne une erreur =========================		
 				}	
 				
@@ -288,67 +274,9 @@
 						$mails_donnees['date_quarantaine']= time()  ;	
 						$mails_donnees['quarantaine']= true    ;	
-						$infos_message .=memo_var($mails_donnees);
+						$infos_message .= mail_supervisor::Memo_Var($mails_donnees);
 					}
-
  			}
  $ret=true;
- return $ret ;
- 
+ return $ret ; 
 }
-
-//==========================================================================================
-add_event_handler('get_admin_plugin_menu_links', 'admin_menu');
-function admin_menu($menu)
-{
-    array_push($menu, array('NAME' => 'Mail_Superv',
-      'URL' => get_admin_plugin_menu_link(MAIL_SUPERV_PATH . 'admin/mail_superv_admin.php')));
-    return $menu;
-}
-//==========================================================================================
-add_event_handler('loc_after_page_header','affiche_spam' );//
-function affiche_spam ()
-
-{
-include_once (MAIL_SUPERV_PATH.'include/fonctions.php'); 
-
-  affiche_message();
-   
-}
-    include_once (MAIL_SUPERV_PATH.'include/fonctions.php');
-	$mails_options = explode("," , $conf['mail_superv']);
-
-//==========================================================================================
-if ($mails_options[set_id]=='on'  ) {
- add_event_handler('register_user_check', 'Test_spam_g', EVENT_HANDLER_PRIORITY_NEUTRAL +2  , 2);
- }
-function Test_spam_g ($err, $user)
-{
-
-if (count($err)!=0 ) return $err ; 
-if ( !isset($_POST['submit_add']) && !isset($_POST['submit'])  ) return $err ; 
-//Liableelard
-include_once (MAIL_SUPERV_PATH.'include/fonctions.php');
-
-if ( isset($_POST['submit'])) {
-	$mail  =  $_POST['mail_address'] ;
-	$user_name = $_POST['login'] ;
-}else{
-	$mail  = $user['email'];
-	$user_name = $user['username'];
-}
- $user_name =""; // suppression du test sur user name.
- $ip='0'; 
- 
-		if (test_spam($ip,$user_name ,$mail ))
-		 { 
-		 //if (test_spam($ip,$user_name ,"" )) {
-		 // $err[] = $user_name . " ". l10n('Sv_is_a_login_spam')   ;
-		// }else		 
-	  	    $err[] = $user_name . " : " .$mail . " ". l10n('Sv_is_a_spam')   ;
-		 }
-		 
-return $err ; 
-}
-
-
 ?>
Index: /extensions/Mail_supervisor/maintain.inc.php
===================================================================
--- /extensions/Mail_supervisor/maintain.inc.php	(revision 9701)
+++ /extensions/Mail_supervisor/maintain.inc.php	(revision 9702)
@@ -21,34 +21,27 @@
 // | USA.                                                                  |
 // +-----------------------------------------------------------------------+
-if  (!defined('PHPWG_ROOT_PATH'))  
-{
-  die('Hacking attempt!');
-}
+if  (!defined('PHPWG_ROOT_PATH')) {  die('Hacking attempt!');}
 if (!defined('MAIL_SUPERV_PATH')) define('MAIL_SUPERV_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
  include_once (MAIL_SUPERV_PATH.'include/constants.php');
-
-
-function plugin_install()
-{
-global $conf ;
- if ( !isset($conf['mail_superv']) ) 
- {
+  
+function plugin_install(){
+  global $conf ;
+   if ( !isset($conf['mail_superv']) ){
     plugin_uninstall() ;
-    $query = '
-    INSERT INTO '.CONFIG_TABLE.' (param, value, comment)
-    VALUES ("mail_superv","off,off,off,off,off,on,127.0.0.1,on ,?? ,?? ","Parametres du plugin Mail superviseur")
-    ;';
+    $my_para['check_mailto']="on";
+    $my_para['check_header_carbon']="on";
+    $my_para['check_header_text']="on";
+    $my_para['no_mail_list']="on";
+    $my_para['no_connect']="off";	// empeche l'ip de se connecter au site.
+    $my_para['set_auto']="on";		// Test a l'ouverture et enregistrement 
+    $my_para['ip']="127.0.0.1";		// dernièrre adresse IP
+    $my_para['set_id']="on";		  // enregistrment nouvel  
+    $mails_values=  addslashes(serialize($my_para));
+    $query = 'INSERT INTO '.CONFIG_TABLE.' (param, value, comment)
+    VALUES ("mail_superv", "'.$mails_values.'" ,"Parametres du plugin Mail superviseur");';
     pwg_query($query);
-	//==================================================================
-	
- } 
-
+  } 
 }
-
-
-
-function plugin_uninstall()
-{
-
+function plugin_uninstall(){
     $query = '
       DELETE FROM '.CONFIG_TABLE.'
@@ -58,18 +51,14 @@
     $query = 'DROP TABLE IF EXISTS  '.MAIL_BLACK_LISTE_TABLE.';';
     pwg_query( $query );  
-    $query = 'DROP TABLE IF EXISTS  '.MAIL_SUPERV_TABLE.';';
-    pwg_query( $query);
-   
-  
+    $query = 'DROP TABLE IF EXISTS  '.mail_superv_TABLE.';';
+    pwg_query( $query);  
 }
 
-function plugin_activate()
-{
+function plugin_activate(){
 include_once (MAIL_SUPERV_PATH.'include/fonctions.php'); 
  verif_base() ;
 }
 
-function plugin_deactivate()
-{
+function plugin_deactivate(){
 
 }
