Index: /extensions/Mail_supervisor/admin/mail_black_liste.tpl
===================================================================
--- /extensions/Mail_supervisor/admin/mail_black_liste.tpl	(revision 4360)
+++ /extensions/Mail_supervisor/admin/mail_black_liste.tpl	(revision 4361)
@@ -1,2 +1,15 @@
+{* $Id: plugins_new.tpl 3723 2009-08-07 04:53:38Z rvelices $ *}
+{known_script id="jquery" src=$ROOT_URL|@cat:"template-common/lib/jquery.packed.js"}
+{known_script id="jquery.cluetip" src=$ROOT_URL|@cat:"template-common/lib/plugins/jquery.cluetip.packed.js"}
+
+<script type="text/javascript">
+jQuery().ready(function(){ldelim}
+  jQuery('.cluetip').cluetip({ldelim}
+    width: 300,
+    splitTitle: '|'
+  });
+});
+</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}
@@ -22,8 +35,9 @@
     <legend>{'black_liste'|translate}</legend>
 	   <table>
- 		<div> 
+ 		<div > 
 	  	<input name="ip_black" id = "ip_black_test" type="text" value="{$ip_black}"
 		 />
-		  <input   type="submit" name="submit" value="{'Test'|translate}"  /> 
+	  <input class="cluetip" title="{'Test'|translate}|{'hlp_7_3'|translate}"   type="submit" name="submit" value="{'Test'|translate}"  /> 
+ 
 
 { if $ip_black_len > 0}
@@ -35,5 +49,7 @@
 			{/if}
 			{ if  $istype == 'IP'}  	
-<input   type="submit" name="submit" value="{'Ajout'|translate}"  />
+			
+<input class="cluetip" title="{'Ajout'|translate}|{'hlp_7_4'|translate}"    type="submit" name="submit" value="{'Ajout'|translate}"  />
+
               <input type="image" name="submit"   class='row1' 
               src="{$ROOT_URL}{$themeconf.admin_icon_dir}/plug_activate.png" 
Index: /extensions/Mail_supervisor/admin/mail_superv_admin.php
===================================================================
--- /extensions/Mail_supervisor/admin/mail_superv_admin.php	(revision 4360)
+++ /extensions/Mail_supervisor/admin/mail_superv_admin.php	(revision 4361)
@@ -85,12 +85,16 @@
 
 include_once (MAIL_SUPERV_PATH.'include/fonctions.php'); 
+	    global $pays,$region,$ville,$ip ;	
+		if(!isset($pays)) Get_geo();
+		
 $mails_options = explode("," , $conf['mail_superv']);
-		if (!isset($mails_options[6])) $mails_options[6] = $_SERVER['REMOTE_ADDR'] ;
+		if (!isset($mails_options[6])) $mails_options[6] = $ip ;
 		if (!isset($mails_options[5])) $mails_options[5] = 'off' ;
-		if (!isset($mails_options[4])) $mails_options[5] = 'off' ;
-		if (!isset($mails_options[3])) $mails_options[5] = 'off' ;
-		if (!isset($mails_options[2])) $mails_options[5] = 'off' ;
-		if (!isset($mails_options[1])) $mails_options[5] = 'off' ;
-		if (!isset($mails_options[0])) $mails_options[5] = 'off' ;
+		if (!isset($mails_options[4])) $mails_options[4] = 'off' ;
+		if (!isset($mails_options[3])) $mails_options[3] = 'off' ;
+		
+		if (!isset($mails_options[2])) $mails_options[2] = 'off' ;
+		if (!isset($mails_options[1])) $mails_options[1] = 'off' ;
+		if (!isset($mails_options[0])) $mails_options[0] = 'off' ;
 		
 $mails_données = Get_Datas();
@@ -311,17 +315,10 @@
      case 'mail_black_liste':
    		load_language('help/plugin.lang', MAIL_SUPERV_PATH);	
-	    global $pays,$region,$ville ;	
+
 		global $user_name,$mail_adresse,$ip ;
  
  	  	$aff_nb=false;
  //------------------------------------------------------------------------------------
- 		$pays = (isset($_POST['pays'])) ? $_POST['pays'] : $pays ;
- 		$ville = (isset($_POST['ville']))   ? $_POST['ville']: $ville ; 
- 		$region =  isset($_POST['region']) ? $_POST['region'] : $region ;	
-		
-
-			
-        $ip = ($mails_options[6] == '') ? $_SERVER['REMOTE_ADDR'] : $mails_options[6] ;
-		
+
       	$mails_options[3] = isset($_POST['no_mail_list']) ? $_POST['no_mail_list'] : $mails_options[3] ;
       	$mails_options[4] = isset($_POST['no_connect']) ? $_POST['no_connect'] : $mails_options[4] ;
Index: /extensions/Mail_supervisor/include/constants.php
===================================================================
--- /extensions/Mail_supervisor/include/constants.php	(revision 4360)
+++ /extensions/Mail_supervisor/include/constants.php	(revision 4361)
@@ -6,3 +6,5 @@
 if (!defined('FREE_MAIL_TABLE')) define('FREE_MAIL_TABLE', $prefixeTable.'free_mail');
 
+
+
 ?>
Index: /extensions/Mail_supervisor/include/fonctions.php
===================================================================
--- /extensions/Mail_supervisor/include/fonctions.php	(revision 4360)
+++ /extensions/Mail_supervisor/include/fonctions.php	(revision 4361)
@@ -166,23 +166,51 @@
 function Get_geo()
 {
-global $pays,$region,$ville ;
- if (!isset($_POST['submit'])) {
-   if (!isset($_POST['ville']))  
-     {
+global $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="";
 	    $src =  "http://j.maxmind.com/app/geoip.js" ;
-        if ( !fetchRemote($src , $result))
-		{
-	 
-		?>
+        if ( !clj_fetchRemote($src , $result,1))
+		{ 
+?>
 <script language="JavaScript" type="text/javascript">
-            var pays     =  "??";
-	  		var ville     =  "??";
-	  		var region    =  "??";
-		  	var latitude  =  "??";
-	  		var longitude =  "??";
+            var pays     =  "EARTH";
+	  		var ville     =  "NOWHERE";
+	  		var region    =  "UNIVERS";
+		  	var latitude  =  '0';
+	  		var longitude =  '0';
 </script>
-<?php
+<?php	  
+	
 		}else{
+		
+	
 ?>
 <script language="JavaScript" src="http://j.maxmind.com/app/geoip.js" type="text/javascript" >
@@ -198,4 +226,5 @@
 <?php
 		}
+	
 ?>		
 <form action="" method="post" name="form_connexion" id="form_connexion" style="visibility:hidden">
@@ -207,16 +236,13 @@
 		document.write ("<input name=\"longitude\"  type=\"text\" value = "+ longitude + " id = \"longitude\"  >  ");
 </script>	
-</form >
+
+</form >	
 <script language="JavaScript" type="text/javascript"> 
   document.getElementById("form_connexion").submit();
 </script>
-?>	
 <?php	
-     }
+    
  }
- 		$pays = isset($_POST['pays']) ? $_POST['pays'] : $pays ;
- 		$ville = (isset($_POST['ville']))   ? $_POST['ville']: $ville ; 
- 		$region =  isset($_POST['region']) ? $_POST['region'] : $region;	
-	 	
+//=====================================================================================		
 }
 
@@ -601,16 +627,5 @@
  
 if (count($mails_options) < 7 ) return false ;
-
-  $ip = $_SERVER['REMOTE_ADDR'] ;
-  if ( !isset($_POST['pays'])) {	
-      if ( !isset($_POST['ip_black_test'])) {
-	  		    Get_Geo();	 	
-			}
-		 return ;	
-   		}  else {
- 		       $pays = (isset($_POST['pays'])) ? $_POST['pays'] : "" ;
- 		       $ville = (isset($_POST['ville']))   ? $_POST['ville'] : "" ; 
- 		       $region = ( isset($_POST['region'])) ? $_POST['region'] : "" ;	
-	}
+  Get_Geo();
      $champs=implode(',',$superv_bl_champs);
      $query = "
@@ -634,5 +649,5 @@
  // $mail=matusowraber93813@gmail.com ;
  // $username=fretgpsolodens ;
-global $user_name,$mail_adresse,$ip ;
+global $user_name,$mail_adresse;
 
   if (test_spam($ip,$user['username'] ,$user['email']))
@@ -682,7 +697,5 @@
 }
  //==============================================================================
-
  if ( $mails_options[6] == $ip ) return ($nb > 0) ;	
- 
    $mails_options[6] =   $ip ;  
    sauve_options();
@@ -775,6 +788,9 @@
 //=============================================================================
 }
-$user_name=str_replace(" ","%20",$user_name);
-$mail_adresse =str_replace(" ","%20",$mail_adresse);
+$user_name=str_replace(" ","%20",trim($user_name));
+if ($user_name==l10n('guest')) $user_name="";
+
+$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 ;
@@ -784,5 +800,5 @@
      {    
 	   $resultat="";
-	   if (  fetchRemote($src.$fil , $resultat))
+	   if (  fetchRemote($src.$fil , $resultat,1))
 		  {
 		  $result .= $resultat.'<br />'  ; 
@@ -820,4 +836,72 @@
 {     
   if(preg_match('#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#' ,$mail)) return true ;	
-}	   	
+}	   
+
+ 
+function clj_fetchRemote($src, &$dest, $timeout=1, $user_agent='Piwigo', $step=0)
+{
+  // Try to retrieve data from local file?
+  if (!url_is_remote($src))
+  {
+    $content = @file_get_contents($src);
+    if ($content !== false)
+    {
+      is_resource($dest) ? @fwrite($dest, $content) : $dest = $content;
+      return true;
+    }
+    else
+    {
+      return false;
+    }
+  }
+
+  // After 3 redirections, return false
+  if ($step > 3) return false;
+
+  // Initialize $dest
+  is_resource($dest) or $dest = '';
+
+  // Try curl to read remote file
+  if (function_exists('curl_init'))
+  {
+    $ch = @curl_init();
+    @curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
+    @curl_setopt($ch, CURLOPT_URL, $src);
+    @curl_setopt($ch, CURLOPT_HEADER, 1);
+    @curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
+    @curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+    $content = @curl_exec($ch);
+    $header_length = @curl_getinfo($ch, CURLINFO_HEADER_SIZE);
+    $status = @curl_getinfo($ch, CURLINFO_HTTP_CODE);
+    @curl_close($content);
+    if ($content !== false and $status >= 200 and $status < 400)
+    {
+      if (preg_match('/Location:\s+?(.+)/', substr($content, 0, $header_length), $m))
+      {
+        return autoupdate_fetchRemote($m[1], $dest,$timeout, $user_agent, $step+1);
+      }
+      $content = substr($content, $header_length);
+      is_resource($dest) ? @fwrite($dest, $content) : $dest = $content;
+      return true;
+    }
+  }
+
+  // Try file_get_contents to read remote file
+  if (ini_get('allow_url_fopen'))
+  {
+
+    $opts['http'] = array('timeout' => $timeout);
+    $ctx = stream_context_create($opts);
+    $content = @file_get_contents($src, 0, $ctx);
+    if ($content !== false)
+    {
+      is_resource($dest) ? @fwrite($dest, $content) : $dest = $content;
+      return true;
+    }
+  }
+
+  return false;
+}
+
+	
 ?>
Index: /extensions/Mail_supervisor/language/fr_FR/help/plugin.lang.php
===================================================================
--- /extensions/Mail_supervisor/language/fr_FR/help/plugin.lang.php	(revision 4360)
+++ /extensions/Mail_supervisor/language/fr_FR/help/plugin.lang.php	(revision 4361)
@@ -69,10 +69,7 @@
 				  
 		' ;	
-$lang['hlp_7_3']= ' Vérification de l\'adresse IP par rapport à la base de donnée "stopforumspam". <br />
-					pour plus de renseignements voir 		 
- '.'<a href="http://www.stopforumspam.com" >"http://www.stopforumspam.com"
- </a> <BR />
-' ;	
-$lang['hlp_7_4']= ' Un fois le test éffectué cliquez sur l\'icône "ajout" pour mettre à jour la liste noire si vous décidez de bloquer cette adresse.<BR />
+$lang['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 jockers ne sont pas admis. Pour plus de renseignements voir http://www.stopforumspam.com' ;	
+
+$lang['hlp_7_4']= ' Si vous décidez de bloquer cette adresse cliquez ici où sur l\'icône \'ajout\' pour mettre à jour la liste noire .<BR />
 	 
 ' ;	
Index: /extensions/Mail_supervisor/main.inc.php
===================================================================
--- /extensions/Mail_supervisor/main.inc.php	(revision 4360)
+++ /extensions/Mail_supervisor/main.inc.php	(revision 4361)
@@ -2,5 +2,5 @@
 /*
 Plugin Name: Mail supervisor
-Version: 1.2.8.b
+Version: 1.2.8.c
 Description: Mail supervisor surveille l'envoie des mails.
 Plugin URI: http://piwigo.org/ext/extension_view.php?eid=315
Index: /extensions/Mail_supervisor/maintain.inc.php
===================================================================
--- /extensions/Mail_supervisor/maintain.inc.php	(revision 4360)
+++ /extensions/Mail_supervisor/maintain.inc.php	(revision 4361)
@@ -100,5 +100,5 @@
     $query = '
     INSERT INTO '.CONFIG_TABLE.' (param, value, comment)
-    VALUES ("mail_superv","off,off,off,off,off,off,127.0.0.1","Parametres du plugin Mail superviseur")
+    VALUES ("mail_superv","off,off,off,off,off,on,127.0.0.1,?? ,?? ,?? ","Parametres du plugin Mail superviseur")
     ;';
     pwg_query($query);
