Index: /extensions/HistoryIPExcluder/trunk/main.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/trunk/main.inc.php	(revision 9870)
+++ /extensions/HistoryIPExcluder/trunk/main.inc.php	(revision 9870)
@@ -0,0 +1,128 @@
+<?php
+/*
+Plugin Name: History IP Excluder
+Version: 2.2.0
+Description: Permet l'exclusion d'une IP ou d'une plage d'IP de l'historique et de les blacklister à l'inscription - Base MySql seulement! / Excludes one IP or a range of IP from the history and to blacklist them on registration - MySql database only!
+Plugin URI: http://phpwebgallery.net/ext/extension_view.php?eid=147
+Author: Nicco, Eric
+Author URI: http://gallery-nicco.no-ip.org - http://www.infernoweb.net
+*/
+
+/*
+:: HISTORY
+
+1.0.x to 1.6.x		- Plugin only for PWG 1.7.x
+
+2.0.0             - Compliance with Piwigo 2.0.x
+
+2.1.0             - Compliance with Piwigo 2.1.x
+                  - Multiple database support
+                  - Removing "nbc_" prefix in plugin code and display in piwigo's plugin manager
+                  - Displaying the good plugin name and current version in admin panel
+                  
+2.1.1             - Bug 1792 fixed (Thx to TOnin)
+                  - Bug 1511 fixed - New function to blacklist excluded IPs or ranged IPs for registration
+
+2.2.0             - Compliance with Piwigo 2.2.x
+                  - Plugin directory renamed from nbc_HistoryIPExcluder to HistoryIPExcluder
+
+--------------------------------------------------------------------------------
+*/
+
+if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
+
+if (!defined('HIPE_PATH')) define('HIPE_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
+
+include_once (HIPE_PATH.'/include/functions.inc.php');
+
+load_language('plugin.lang', HIPE_PATH);
+
+add_event_handler('get_admin_plugin_menu_links', 'HIPE_admin_menu');
+
+/* Set the administration panel of the plugin */
+function HIPE_admin_menu($menu)
+{
+// +-----------------------------------------------------------------------+
+// |                      Getting plugin name                              |
+// +-----------------------------------------------------------------------+
+  $plugin =  HIPE_infos(HIPE_PATH);
+  $name = $plugin['name'];
+  
+  array_push($menu,
+    array(
+      'NAME' => $name,
+      'URL' => get_root_url().'admin.php?page=plugin-'.basename(HIPE_PATH)
+    )
+  );
+    
+  return $menu;
+}
+
+// IP exclusion from logs
+add_event_handler('pwg_log_allowed', 'HIPE_IP_Filtrer');
+
+function HIPE_IP_Filtrer($do_log)
+{
+  global $conf;
+
+  $conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+
+  if (!$do_log)
+    return $do_log;
+  else
+  {
+    $IP_Client = explode('.', $_SERVER['REMOTE_ADDR']);
+  
+    foreach ($conf_HIPE as $Exclusion)
+    {
+      $IP_Exclude = explode('.', $Exclusion);
+  
+      if (
+        (($IP_Client[0] == $IP_Exclude[0]) or ($IP_Exclude[0] == '%')) and
+        (!isset($IP_Exclude[1]) or ($IP_Client[1] == $IP_Exclude[1]) or ($IP_Exclude[1] == '%')) and
+        (!isset($IP_Exclude[2]) or ($IP_Client[2] == $IP_Exclude[2]) or ($IP_Exclude[2] == '%')) and
+        (!isset($IP_Exclude[3]) or ($IP_Client[3] == $IP_Exclude[3]) or ($IP_Exclude[3] == '%'))
+      )
+      {
+        $do_log = false;
+      }    
+    }
+     
+    return $do_log;
+  }
+}
+
+/* Check users registration */
+add_event_handler('register_user_check', 'HIPE_RegistrationCheck', EVENT_HANDLER_PRIORITY_NEUTRAL +2, 2);
+
+function HIPE_RegistrationCheck($err, $user)
+{
+  global $errors, $conf;
+  load_language('plugin.lang', HIPE_PATH);
+  
+  if (count($err)!=0 ) return $err;
+  
+  $IP_Client = explode('.', $_SERVER['REMOTE_ADDR']);
+  $HIPE_Config = unserialize($conf['HistoryIPConfig']);
+  $conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+  
+  if (isset($HIPE_Config['Blacklist']) and $HIPE_Config['Blacklist'] == true)
+  {
+    foreach ($conf_HIPE as $Exclusion)
+    {
+      $IP_Exclude = explode('.', $Exclusion);
+  
+      if (
+        (($IP_Client[0] == $IP_Exclude[0]) or ($IP_Exclude[0] == '%')) and
+        (!isset($IP_Exclude[1]) or ($IP_Client[1] == $IP_Exclude[1]) or ($IP_Exclude[1] == '%')) and
+        (!isset($IP_Exclude[2]) or ($IP_Client[2] == $IP_Exclude[2]) or ($IP_Exclude[2] == '%')) and
+        (!isset($IP_Exclude[3]) or ($IP_Client[3] == $IP_Exclude[3]) or ($IP_Exclude[3] == '%'))
+      )
+      {
+        $err = l10n('Error_HIPE_BlacklistedIP');
+      }
+    }
+    return $err;
+  }
+}
+?>
Index: /extensions/HistoryIPExcluder/trunk/include/functions.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/trunk/include/functions.inc.php	(revision 5615)
+++ /extensions/HistoryIPExcluder/trunk/include/functions.inc.php	(revision 5615)
@@ -0,0 +1,48 @@
+<?php
+
+load_language('plugin.lang', HIPE_PATH);
+
+function HIPE_infos($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/HistoryIPExcluder/trunk/language/de_DE/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/trunk/language/de_DE/description.txt	(revision 6760)
+++ /extensions/HistoryIPExcluder/trunk/language/de_DE/description.txt	(revision 6760)
@@ -0,0 +1,1 @@
+Es erlaubt der Ausschluss von einer IP oder IP-Bereich der Geschichte und der Blacklist sie für die Aufnahme
Index: /extensions/HistoryIPExcluder/trunk/language/de_DE/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/trunk/language/de_DE/plugin.lang.php	(revision 6765)
+++ /extensions/HistoryIPExcluder/trunk/language/de_DE/plugin.lang.php	(revision 6765)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Diese Erweiterung erlaubt es, einzelne IP Adressen oder Adressbereiche von der Erfassung in der Historie und den Statistiken auszunehmen . <br>Wird die Erweiterung aktiviert, werden die unten angegebenen IP Adressen nicht in die *_history Tabellen übernommen.';
+$lang['HIPE_admin_section1'] = 'Auszunehmende IP Adressen';
+$lang['HIPE_admin_description1'] = 'Geben Sie die auszunehmen IP Adresse oder den auszunehmenden Addressbereich (ein Eintrag pro Zeile) in das Feld unten ein. Benutzen Sie das Stellvertretersymbol "%", um Adressbereiche einzugeben.<br>Beispiel: 74.6.1.2 oder 74.6.%';
+$lang['HIPE_save_config']='Einstellungen gespeichert.';
+$lang['HIPE_CleanHist']='Historie löschen';
+
+$lang['HIPE_admin_section2'] = 'Abfragen in der History Tabelle';
+$lang['HIPE_admin_section3'] = 'Ergebnis der Abfrage';
+$lang['HIPE_IPByMember'] = 'IP Adressen von Mitgliedern';
+$lang['HIPE_IPByMember_description'] = 'Zeigt die IP Adressen an, die von Mitgliedern benutzt werden (nach IP Adresse sortiert)';
+$lang['HIPE_OnlyGuest'] = 'IP Adressen von Gästen';
+$lang['HIPE_OnlyGuest_description'] = 'Zeigt die IP Adressen von Gastbenutzern und die Anzahl der Einträge in der History Tabelle an (sortiert nach der Anzahl der Einträge)';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP Adressen eines Mitglieds';
+$lang['HIPE_IPForMember_description'] = 'Zeigt die IP Adressen, die von einem registrierten Mitglied verwendet werden (nach IP Adressen sortiert)';
+$lang['HIPE_MemberForIp'] = 'Einer IP Adresse zugeordnete Mitglieder';
+$lang['HIPE_MemberForIp_description'] = 'Zeigt die Mitglieder, die einer IP Adresse zugeordnet sind (sortiert nach Name)';
+
+$lang['HIPE_resquet_ok'] = 'Anfrage OK.';
+$lang['HIPE_hist_cleaned'] = 'Die Einträge wurden aus der History Tabelle entfernt.';
+
+$lang['IP_geolocalisation'] = 'Geolokalisierung';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Version: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+$lang['HIPE_IPBlacklist_title'] = 'Registrierungs-Blacklist';
+$lang['HIPE_IPBlacklisted'] = 'Verhindert, sich von gesperrten IP Adressen zu registrieren';
+$lang['Error_HIPE_BlacklistedIP'] = 'Fehler! Ihre IP Adresse wurde gesperrt, Sie können sich nicht registrieren. Kontaktieren Sie den Administrator, um weitere Informationen zu erhalten.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/trunk/language/de_DE/index.php
===================================================================
--- /extensions/HistoryIPExcluder/trunk/language/de_DE/index.php	(revision 6008)
+++ /extensions/HistoryIPExcluder/trunk/language/de_DE/index.php	(revision 6008)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/trunk/language/en_UK/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/trunk/language/en_UK/description.txt	(revision 6760)
+++ /extensions/HistoryIPExcluder/trunk/language/en_UK/description.txt	(revision 6760)
@@ -0,0 +1,1 @@
+Excludes one IP or a range of IP from the history and to blacklist them on registration
Index: /extensions/HistoryIPExcluder/trunk/language/en_UK/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/trunk/language/en_UK/plugin.lang.php	(revision 6759)
+++ /extensions/HistoryIPExcluder/trunk/language/en_UK/plugin.lang.php	(revision 6759)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'This plugin allows to exclude from the history and statistics of IP or IP ranges. <br>Its activation blocks record in the table of IP *_history specified in the table below.';
+$lang['HIPE_admin_section1'] = 'IP Exclusion';
+$lang['HIPE_admin_description1'] = 'Enter the complete IP or IP ranges to exclude (one per line) in the box below. To specify an IP range, use the wildcard character "%".<br>Example : 74.6.1.2 or 74.6.%';
+$lang['HIPE_save_config']='Configuration saved.';
+$lang['HIPE_CleanHist']='Clean History';
+
+$lang['HIPE_admin_section2'] = 'Queries on history table';
+$lang['HIPE_admin_section3'] = 'Result of the historic request';
+$lang['HIPE_IPByMember'] = 'IPs by member';
+$lang['HIPE_IPByMember_description'] = 'Show the IPs used by members, sorted by IP';
+$lang['HIPE_OnlyGuest'] = 'Only Guests IPs';
+$lang['HIPE_OnlyGuest_description'] = 'Show the IPs only used by Guests and the number of times it\'s found in the history table, sorted by the number of times';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IPs for a member';
+$lang['HIPE_IPForMember_description'] = 'Search and displays the IPs associated with a registered user (sorted by IP)';
+$lang['HIPE_MemberForIp'] = 'Members for one IP';
+$lang['HIPE_MemberForIp_description'] = 'Search and display users attached to one IP (sorted by name)';
+
+$lang['HIPE_resquet_ok'] = 'Request OK.';
+$lang['HIPE_hist_cleaned'] = 'Cleaning of the history table done.';
+
+$lang['IP_geolocalisation'] = 'Geolocalisation';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Version: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+$lang['HIPE_IPBlacklist_title'] = 'Registration blacklist';
+$lang['HIPE_IPBlacklisted'] = ' Prevent registration to the gallery of excluded IPs (blacklist)';
+$lang['Error_HIPE_BlacklistedIP'] = 'Error! Your IP has been banned. You can not subscribe to this gallery. Contact the administrator for further details.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/trunk/language/en_UK/index.php
===================================================================
--- /extensions/HistoryIPExcluder/trunk/language/en_UK/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/trunk/language/en_UK/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/trunk/language/hu_HU/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/trunk/language/hu_HU/description.txt	(revision 5149)
+++ /extensions/HistoryIPExcluder/trunk/language/hu_HU/description.txt	(revision 5149)
@@ -0,0 +1,1 @@
+Lehetővé teszi IP címek vagy IP tartományok kizárását, események felülvizsgálatát.
Index: /extensions/HistoryIPExcluder/trunk/language/hu_HU/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/trunk/language/hu_HU/plugin.lang.php	(revision 6764)
+++ /extensions/HistoryIPExcluder/trunk/language/hu_HU/plugin.lang.php	(revision 6764)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Ezzel a bővítménnyel kizárhat IP címeket, vagy IP tartományokat az előzményekből és a statisztikából. <br>A blokkolt rekordokat az IP *_history táblában az alábbi táblázat tartalmazza.';
+$lang['HIPE_admin_section1'] = 'IP-k kizárása';
+$lang['HIPE_admin_description1'] = 'IP címek kizárásához írja be az alábbi mezőbe a kizárandó IP-ket, vagy adjon meg IP tartományokat (soronként egyet). IP tartomány kizárásához használja a helyettesítő karaktert "%".<br>Példa : 74.6.1.2 vagy 74.6.%';
+$lang['HIPE_save_config']='Beállítások mentve.';
+$lang['HIPE_CleanHist']='Előzmények törlése';
+$lang['submit']='Elküld';
+$lang['HIPE_admin_section2'] = 'Előzmények tábla lekérdezése';
+$lang['HIPE_admin_section3'] = 'Előzmények lekérdezésének eredménye';
+$lang['HIPE_IPByMember'] = 'Felhasználói IP-k';
+$lang['HIPE_IPByMember_description'] = 'Tagok által használt IP címeket mutatja IP cím szerint rendezve.';
+$lang['HIPE_OnlyGuest'] = 'Csak vendég IP-k';
+$lang['HIPE_OnlyGuest_description'] = 'Az előzmények tábla szerint rendezve csak azon IP címeket mutatja melyekről a vendégek meglátogatták az oldalt. Felsorolja az IP címeket és azt, hogy az adott IP-ről hányszor kapcsolódtak.';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP cím keresése felhasználónév szerint';
+$lang['HIPE_IPForMember_description'] = 'Megkeresi és megjeleníti a regisztrált felhasználó  IP címét (rendezve IP szerint).';
+$lang['HIPE_MemberForIp'] = 'Felhasználó keresése IP cím szerint';
+$lang['HIPE_MemberForIp_description'] = 'Megkeresi és megjeleníti az IP címről csatlakozott felhasználót (rendezve név szerint).';
+
+$lang['HIPE_resquet_ok'] = 'Sikeres lekérdezés.';
+$lang['HIPE_hist_cleaned'] = 'Az előzmények tábla tisztítása kész.';
+
+$lang['IP_geolocalisation'] = 'Földrajzi hely';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Változat: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+$lang['HIPE_IPBlacklist_title'] = 'Regisztrációs feketelista';
+$lang['HIPE_IPBlacklisted'] = ' Regisztráció tiltása az alábbi IP címekről (feketelista)';
+$lang['Error_HIPE_BlacklistedIP'] = 'Hiba! Az IP címed le van tiltva, nem regisztrálhatsz a galériába. További részletekért fordulj a galéria adminisztrátorához.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/trunk/language/hu_HU/index.php
===================================================================
--- /extensions/HistoryIPExcluder/trunk/language/hu_HU/index.php	(revision 5149)
+++ /extensions/HistoryIPExcluder/trunk/language/hu_HU/index.php	(revision 5149)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/trunk/language/it_IT/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/trunk/language/it_IT/description.txt	(revision 6760)
+++ /extensions/HistoryIPExcluder/trunk/language/it_IT/description.txt	(revision 6760)
@@ -0,0 +1,1 @@
+Consenta l'esclusione di un IP o un intervallo IP della storia e della loro "lista nera" per l'inclusione
Index: /extensions/HistoryIPExcluder/trunk/language/it_IT/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/trunk/language/it_IT/plugin.lang.php	(revision 6759)
+++ /extensions/HistoryIPExcluder/trunk/language/it_IT/plugin.lang.php	(revision 6759)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Questo plugin esclude gli indirizzi IP o intervalli d\indieizzi dalla cronologgia e dalle statistiche.<br>Attivandolo, gli indirizzi IP specifici della tabella sottostante non saranno pi� registrati nella tabella *.history de PWG.';
+$lang['HIPE_admin_section1'] = 'Esclusione d\'IP';
+$lang['HIPE_admin_description1'] = 'Riempite le tabella sottostante con gli indirizzi IP o intervalli da escludere (uno per riga). Potete usare degli IP completi o una serie usando il carattere jolly "%".<br>Per esempio : 74.6.2.1 o 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configurazione registrata.';
+$lang['HIPE_CleanHist']='Ripulire la cronologgia';
+
+$lang['HIPE_admin_section2'] = 'Selezioni sulla cronologgia';
+$lang['HIPE_admin_section3'] = 'Risultato della selezione';
+$lang['HIPE_IPByMember'] = 'IP per utente';
+$lang['HIPE_IPByMember_description'] = 'Visualizza gli indirizzi IP legati a degli utenti, per indirizzo';
+$lang['HIPE_OnlyGuest'] = 'IP solo degli ospiti';
+$lang['HIPE_OnlyGuest_description'] = 'Visualizza gli indirizzi IP usati unicamente dagli ospiti e il numero di volte che appaiono nella base, per numero di volte per IP';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP di un\'utente';
+$lang['HIPE_IPForMember_description'] = 'Visualizza gli indirizzi IP legati agli utenti, per IP';
+$lang['HIPE_MemberForIp'] = 'Utenti di un\'indirizzo IP';
+$lang['HIPE_MemberForIp_description'] = 'Visualizza gli utenti legati ad un\'indirizzo IP, per utente';
+
+$lang['HIPE_resquet_ok'] = 'Esecuzzione della selezzione riuscita.';
+$lang['HIPE_hist_cleaned'] = 'Operazzione di "pulizzia" della cronologgia riuscito.';
+
+$lang['IP_geolocalisation'] = 'Geolocalizzazione';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Versione: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+/*TODO*/$lang['HIPE_IPBlacklist_title'] = 'Registration blacklist';
+/*TODO*/$lang['HIPE_IPBlacklisted'] = ' Prevent registration to the gallery of excluded IPs (blacklist)';
+/*TODO*/$lang['Error_HIPE_BlacklistedIP'] = 'Error! Your IP has been banned. You can not subscribe to this gallery. Contact the administrator for further details.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/trunk/language/it_IT/index.php
===================================================================
--- /extensions/HistoryIPExcluder/trunk/language/it_IT/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/trunk/language/it_IT/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/trunk/language/index.php
===================================================================
--- /extensions/HistoryIPExcluder/trunk/language/index.php	(revision 5099)
+++ /extensions/HistoryIPExcluder/trunk/language/index.php	(revision 5099)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/trunk/language/es_ES/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/trunk/language/es_ES/description.txt	(revision 5135)
+++ /extensions/HistoryIPExcluder/trunk/language/es_ES/description.txt	(revision 5135)
@@ -0,0 +1,1 @@
+Permite la exclusión de un IP o de una playa de IP de l reseña histórica.
Index: /extensions/HistoryIPExcluder/trunk/language/es_ES/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/trunk/language/es_ES/plugin.lang.php	(revision 6759)
+++ /extensions/HistoryIPExcluder/trunk/language/es_ES/plugin.lang.php	(revision 6759)
@@ -0,0 +1,39 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Este plugin permite excluir de la reseña histórica y las estadísticas del IP o las playas d \'IP. <br> Su activación bloquea el registro en la mesa * _history IP especificados en el tablero más abajo.';
+$lang['HIPE_admin_section1'] = 'IP a excluir';
+$lang['HIPE_admin_description1'] = 'Coja el IP completo o las playas de IP a excluir (Uno por línea) En el marco(ejecutivo) más abajo. Para indicar una playa de IP, utilice el carácter mono "%".<br>Por Ejemplo : 74.6.2.1 o 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configuración registrada.';
+$lang['HIPE_CleanHist']='Limpiar la reseña histórica';
+
+$lang['HIPE_admin_section2'] = 'Demandas sobre la reseña histórica';
+$lang['HIPE_admin_section3'] = 'El resultado de la demanda sobre la reseña histórica';
+$lang['HIPE_IPByMember'] = 'IP de usuarios';
+$lang['HIPE_IPByMember_description'] = 'Búsqueda y fija el IP de usuarios inscritos, (selección por IP)';
+$lang['HIPE_OnlyGuest'] = 'IP de invitados solamente';
+$lang['HIPE_OnlyGuest_description'] = 'Búsqueda y anuncio únicamente el IP utilizados por invitados, y el número de visitas asociados (selección por número de visitas por IP)';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP de un usuario';
+$lang['HIPE_IPForMember_description'] = 'Búsqueda y fija el IP asociados con un usuario inscrito (selección por IP)';
+$lang['HIPE_MemberForIp'] = 'Usuarios de un IP';
+$lang['HIPE_MemberForIp_description'] = 'Búsqueda y fija a los usuarios pegados a un IP (selección por usuario)';
+
+$lang['HIPE_resquet_ok'] = 'Demanda ejecutada.';
+$lang['HIPE_hist_cleaned'] = 'Limpieza de la reseña histórica efectuada.';
+
+$lang['IP_geolocalisation'] = 'Geolocalización';
+$lang['submit'] = 'Someter';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Versión: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+/*TODO*/$lang['HIPE_IPBlacklist_title'] = 'Registration blacklist';
+/*TODO*/$lang['HIPE_IPBlacklisted'] = ' Prevent registration to the gallery of excluded IPs (blacklist)';
+/*TODO*/$lang['Error_HIPE_BlacklistedIP'] = 'Error! Your IP has been banned. You can not subscribe to this gallery. Contact the administrator for further details.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/trunk/language/es_ES/index.php
===================================================================
--- /extensions/HistoryIPExcluder/trunk/language/es_ES/index.php	(revision 5135)
+++ /extensions/HistoryIPExcluder/trunk/language/es_ES/index.php	(revision 5135)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id$
+// | last update   : $Date$
+// | last modifier : $Author$
+// | revision      : $Revision$
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/trunk/language/fr_FR/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/trunk/language/fr_FR/description.txt	(revision 6760)
+++ /extensions/HistoryIPExcluder/trunk/language/fr_FR/description.txt	(revision 6760)
@@ -0,0 +1,1 @@
+Permet l'exclusion d'une IP ou d'une plage d'IP de l historique et de les blacklister à l'inscription
Index: /extensions/HistoryIPExcluder/trunk/language/fr_FR/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/trunk/language/fr_FR/plugin.lang.php	(revision 6758)
+++ /extensions/HistoryIPExcluder/trunk/language/fr_FR/plugin.lang.php	(revision 6758)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Ce plugin permet d\'exclure de l\'historique et des statistiques des IP ou plages d\'IP.<br>Son activation bloque l\'enregistrement dans la table *_history des IP spécifiées dans le tableau ci-dessous.';
+$lang['HIPE_admin_section1'] = 'IP à exclure';
+$lang['HIPE_admin_description1'] = 'Saisissez les IP complètes ou plages d\'IP à exclure (une par ligne) dans le cadre ci-dessous. Pour indiquer une plage d\'IP, utilisez le caractère joker "%".<br>Par exemple : 74.6.2.1 ou 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configuration enregistrée.';
+$lang['HIPE_CleanHist']='Nettoyer l\'historique';
+
+$lang['HIPE_admin_section2'] = 'Requêtes sur l\'historique';
+$lang['HIPE_admin_section3'] = 'Résultat de la requête sur l\'historique';
+$lang['HIPE_IPByMember'] = 'IP d\'utilisateurs';
+$lang['HIPE_IPByMember_description'] = 'Recherche et affiche les IP d\'utilisateurs inscrits, (tri par IP)';
+$lang['HIPE_OnlyGuest'] = 'IP d\'invités seulement';
+$lang['HIPE_OnlyGuest_description'] = 'Recherche et affiche uniquement les IP utilisées par des invités, et le nombre de visites associées (tri par nombre de visites par IP)';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP d\'un utilisateur';
+$lang['HIPE_IPForMember_description'] = 'Recherche et affiche les IP associées à un utilisateur inscrit (tri par IP)';
+$lang['HIPE_MemberForIp'] = 'Utilisateurs d\'une IP';
+$lang['HIPE_MemberForIp_description'] = 'Recherche et affiche les utilisateurs attachés à une IP (tri par utilisateur)';
+
+$lang['HIPE_resquet_ok'] = 'Requête exécutée.';
+$lang['HIPE_hist_cleaned'] = 'Nettoyage de l\'historique effectué.';
+
+$lang['IP_geolocalisation'] = 'Géolocalisation';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Version: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+$lang['HIPE_IPBlacklist_title'] = 'Exclusion à l\'inscription';
+$lang['HIPE_IPBlacklisted'] = ' Empêcher l\'inscription à la galerie des IP exclues de l\'historique (Blacklistage)';
+$lang['Error_HIPE_BlacklistedIP'] = 'Erreur! Votre IP a été bannie. Vous ne pouvez plus vous inscrire à cette galerie. Contactez l\'administrateur pour de plus amples détails.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/trunk/language/fr_FR/index.php
===================================================================
--- /extensions/HistoryIPExcluder/trunk/language/fr_FR/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/trunk/language/fr_FR/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/trunk/admin/HIPE_admin.php
===================================================================
--- /extensions/HistoryIPExcluder/trunk/admin/HIPE_admin.php	(revision 6758)
+++ /extensions/HistoryIPExcluder/trunk/admin/HIPE_admin.php	(revision 6758)
@@ -0,0 +1,238 @@
+<?php
+
+if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
+
+load_language('plugin.lang', HIPE_PATH);
+
+// +-----------------------------------------------------------------------+
+// |                      Getting plugin version                           |
+// +-----------------------------------------------------------------------+
+$plugin =  HIPE_infos(HIPE_PATH);
+$version = $plugin['version'];
+$name = $plugin['name'];
+
+
+$ip_geolocalisation1 = '<a href="http://www.geoiptool.com/fr/?IP=';
+$ip_geolocalisation2 = '" title="Geo IP localisation" target="_blank"><img src="'.HIPE_PATH.'/geoip.ico" class="button" alt="'.l10n('IP_geolocalisation').'"></a>';
+
+$ip_ripe1 = '<a href="http://www.ripe.net/whois?form_type=simple&amp;full_query_string=&amp;searchtext=';
+$ip_ripe2 = '+&amp;do_search=Search" title="Ripe Whois" target="_blank">';
+$ip_ripe3 = '</a>';
+
+
+
+if ( isset($_POST['submit']) and !is_adviser() )
+{
+  $v = $_POST['HIPE_IPs_Excluded'];
+  $v = str_replace( "\r\n", ",", $v );
+  $v = str_replace( ",,", ",", $v );
+
+  $conf['HistoryIPExcluder'] = stripslashes($v);
+
+  $query = '
+    UPDATE '.CONFIG_TABLE.'
+    SET value="'.$conf['HistoryIPExcluder'].'"
+    WHERE param="HistoryIPExcluder"
+    LIMIT 1';
+  pwg_query($query);
+
+  if (!isset($_POST['HIPE_chkb'])) $_POST['HIPE_chkb'] = '0';
+  $newconf_HIPE = array(
+    'Blacklist' => $_POST['HIPE_chkb'],
+    'Version'   => $version,
+  );
+  
+  $conf['HistoryIPConfig'] = serialize($newconf_HIPE);
+
+  $query = '
+    UPDATE '.CONFIG_TABLE.'
+    SET value="'.addslashes($conf['HistoryIPConfig']).'"
+    WHERE param="HistoryIPConfig"
+    LIMIT 1';
+  pwg_query($query);
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_save_config'));
+}
+elseif ( isset($_POST['CleanHist']) )
+{
+  $conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+
+  foreach ( $conf_HIPE as $Exclusion )
+  {
+    $query = '
+      delete FROM '.HISTORY_TABLE.' where
+      IP like \''.$Exclusion.'\';';
+    pwg_query($query);
+   }
+
+
+  $query = '
+    truncate '.HISTORY_SUMMARY_TABLE.';';
+  pwg_query($query);
+
+  $query = '
+    UPDATE '.HISTORY_TABLE.'
+    SET summarized = \'false\';';
+  pwg_query($query);
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_hist_cleaned'));
+}
+elseif ( isset($_POST['HIPE_IPByMember']) )
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_IPByMember_description'),
+    )
+  );
+
+  $query = '
+    select distinct h.ip, u.username
+    from '.HISTORY_TABLE.' as h
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where h.user_id <> 2
+    order by h.ip
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->append(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['username'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_OnlyGuest']) )
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_OnlyGuest_description'),
+    )
+  );
+
+  $query1 = '
+    select distinct h.ip
+    from '.HISTORY_TABLE.' as h
+    where h.user_id <> 2
+  ;';
+  
+  $IPsMember = array_from_query($query1, 'ip');
+
+  $query = '
+    select h.ip, count(h.ip) as nbreIP
+    from '.HISTORY_TABLE.' as h
+    where h.ip not in (\''.implode('\',\'', $IPsMember).'\')
+    group by h.ip
+    order by nbreIP desc
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->append(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['nbreIP'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_IPForMember']) and isset($_POST['HIPE_input']))
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_IPForMember_description'),
+    )
+  );
+
+  $query = '
+    select h.ip, u.username
+    from '.HISTORY_TABLE.' as h 
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where u.username like \''.$_POST['HIPE_input'].'\'
+    group by h.ip
+    order by h.ip
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->append(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $subrow['username'],
+        'HIPE_RESULTAT2' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_MemberForIp']) and isset($_POST['HIPE_input']))
+{
+  $template->append(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_MemberForIp_description'),
+    )
+  );
+
+  $query = '
+    select h.ip, u.username
+    from '.HISTORY_TABLE.' as h 
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where h.ip like \''.$_POST['HIPE_input'].'\'
+    group by u.username
+    order by u.username
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->assign(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['username'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+
+$conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+$HIPE_Config = unserialize($conf['HistoryIPConfig']);
+
+$template->assign(
+  array(
+    'HIPE_VERSION' => $version,
+    'HIPE_NAME'    => $name,
+    'HIPE_PATH'    => HIPE_PATH,
+    'IPs_EXCLUDED' => implode("\n", $conf_HIPE),
+  )
+);
+
+  if ($HIPE_Config['Blacklist'] == 1) $template->assign(array('HIPE_IPBlacklisted' => 'checked="checked"'));
+
+  $template->set_filename('plugin_admin_content', dirname(__FILE__) . '/HIPE_admin.tpl');
+  $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
+
+?>
Index: /extensions/HistoryIPExcluder/trunk/admin/HIPE_admin.tpl
===================================================================
--- /extensions/HistoryIPExcluder/trunk/admin/HIPE_admin.tpl	(revision 6758)
+++ /extensions/HistoryIPExcluder/trunk/admin/HIPE_admin.tpl	(revision 6758)
@@ -0,0 +1,68 @@
+<div class="titrePage">
+  <h2>{$HIPE_NAME}{'HIPE_version'|@translate}{$HIPE_VERSION}</h2>
+</div>
+
+<p>{'HIPE_description'|@translate}</p>
+
+<form method="post" action="" class="general">
+  <fieldset>
+    <legend>{'HIPE_admin_section1'|@translate}</legend>
+
+    <br>
+
+    <label>{'HIPE_admin_description1'|@translate}</label>
+    
+    <div style="text-align:center;">
+      <textarea name="HIPE_IPs_Excluded" rows="10" cols="30" {$TAG_INPUT_ENABLED}>{$IPs_EXCLUDED}</textarea>
+    </div>
+
+    <fieldset>
+    <legend>{'HIPE_IPBlacklist_title'|@translate}</legend>
+      <ul>
+		    <li><input type="checkbox" name="HIPE_chkb" {$HIPE_IPBlacklisted} value="1">&nbsp;{'HIPE_IPBlacklisted'|@translate}</li>
+      </ul>
+    </fieldset>
+    
+    <p><input type="submit" name="submit" value="{'submit'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}> <input type="submit" name="CleanHist" value="{'HIPE_CleanHist'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}></p>
+  
+  </fieldset>
+
+  <fieldset>
+    <legend>{'HIPE_admin_section2'|@translate}</legend>
+  
+      <p style="text-align:center;">
+        <input type="submit" name="HIPE_IPByMember" value="{'HIPE_IPByMember'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+        <input type="submit" name="HIPE_OnlyGuest" value="{'HIPE_OnlyGuest'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+      </p>
+  
+      <p style="text-align:center;">
+        <input type="submit" name="HIPE_MemberForIp" value="{'HIPE_MemberForIp'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+		    <input type="text" name="HIPE_input" value="" size="20" style="text-align: center;" {$TAG_INPUT_ENABLED}>
+        <input type="submit" name="HIPE_IPForMember" value="{'HIPE_IPForMember'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+      </p>
+
+    <fieldset>
+      <legend>{'HIPE_admin_section3'|@translate}</legend>
+	 
+      <label>{$HIPE_DESCRIPTION2}</label>
+
+      <p style="text-align:center;">
+      <table>
+      <!-- BEGIN resultat -->
+      {foreach from=$resultat item=result}
+        <tr style="color: red;">
+          <td>{$result.HIPE_RESULTAT1}</td>
+          <td>{$result.HIPE_RESULTAT2}</td>
+          <td>{$result.HIPE_RESULTAT3}</td>
+          <td>{$result.HIPE_RESULTAT4}</td>
+          <td>{$result.HIPE_RESULTAT5}</td>
+        </tr>
+      {/foreach} 
+      <!-- END resultat -->
+      </table>
+
+    </fieldset>
+    
+  </fieldset>
+
+</form>
Index: /extensions/HistoryIPExcluder/trunk/admin/index.php
===================================================================
--- /extensions/HistoryIPExcluder/trunk/admin/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/trunk/admin/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/trunk/index.php
===================================================================
--- /extensions/HistoryIPExcluder/trunk/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/trunk/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/trunk/admin.php
===================================================================
--- /extensions/HistoryIPExcluder/trunk/admin.php	(revision 9870)
+++ /extensions/HistoryIPExcluder/trunk/admin.php	(revision 9870)
@@ -0,0 +1,3 @@
+<?php
+  include(HIPE_PATH.'admin/HIPE_admin.php');
+?>
Index: /extensions/HistoryIPExcluder/trunk/maintain.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/trunk/maintain.inc.php	(revision 9870)
+++ /extensions/HistoryIPExcluder/trunk/maintain.inc.php	(revision 9870)
@@ -0,0 +1,217 @@
+<?php
+
+if (!defined('HIPE_PATH')) define('HIPE_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
+
+include_once (HIPE_PATH.'include/functions.inc.php');
+
+function plugin_install()
+{
+  global $conf;
+  
+// Set plugin parameters
+  $default= array();
+
+	$query = '
+SELECT param
+  FROM '.CONFIG_TABLE.'
+WHERE param = "HistoryIPExcluder"
+;';
+  $count = pwg_db_num_rows(pwg_query($query));
+  
+  if ($count == 0)
+  {
+    $q = '
+INSERT INTO '.CONFIG_TABLE.' (param,value,comment)
+VALUES ("HistoryIPExcluder","","History IP Excluder parameters");
+';
+      
+    pwg_query($q);
+  }
+
+// Set plugin config
+  $plugin =  HIPE_infos(HIPE_PATH);
+  $version = $plugin['version'];
+
+  $default = array (
+    'Blacklist' => "0",
+    'Version'=> $version,
+  );
+
+	$query = '
+SELECT param
+  FROM '.CONFIG_TABLE.'
+WHERE param = "HistoryIPConfig"
+;';
+  $count = pwg_db_num_rows(pwg_query($query));
+  
+  if ($count == 0)
+  {
+    $q = '
+INSERT INTO '.CONFIG_TABLE.' (param,value,comment)
+VALUES ("HistoryIPConfig","'.addslashes(serialize($default)).'","History IP Excluder options");
+';
+    pwg_query($q);
+  }
+}
+
+
+function plugin_activate()
+{
+  global $conf;
+  
+/* Check for upgrade from 2.0.0 to 2.0.1 */
+/* *************************************** */
+	$query = '
+SELECT param
+  FROM '.CONFIG_TABLE.'
+WHERE param = "nbc_HistoryIPExcluder"
+;';
+  $count = pwg_db_num_rows(pwg_query($query));
+  
+	if ($count == 1)
+	{
+  /* upgrade from version 2.0.0 to 2.0.1  */
+  /* ************************************ */
+		upgrade_200();
+	}
+
+	$query = '
+SELECT param
+  FROM '.CONFIG_TABLE.'
+WHERE param = "HistoryIPConfig"
+;';
+  $count = pwg_db_num_rows(pwg_query($query));
+
+	if ($count == 0)
+	{
+  /* upgrade from version 2.1.0 to 2.1.1  */
+  /* ************************************ */
+		upgrade_210();
+	}
+
+  /* upgrade from version 2.1.1 to 2.2.0 */
+  /* *********************************** */
+  $HIPE_Config = unserialize($conf['HistoryIPConfig']);
+  if ($HIPE_Config['Version'] != "2.2.0")
+  {
+    upgrade_211();
+  }
+}
+
+
+function plugin_uninstall()
+{
+  global $conf;
+
+  if (isset($conf['HistoryIPExcluder']))
+  {
+    $q = '
+DELETE FROM '.CONFIG_TABLE.'
+WHERE param="HistoryIPExcluder" LIMIT 1;
+';
+
+    pwg_query($q);
+  }
+  if (isset($conf['HistoryIPConfig']))
+  {
+    $q = '
+DELETE FROM '.CONFIG_TABLE.'
+WHERE param="HistoryIPConfig" LIMIT 1;
+';
+
+    pwg_query($q);
+  }  
+}
+
+
+function upgrade_200()
+{
+  global $conf;
+  
+  $q = '
+UPDATE '.CONFIG_TABLE.'
+SET param = "HistoryIPExcluder"
+WHERE param = "nbc_HistoryIPExcluder"
+;';
+  pwg_query($q);
+
+  $q = '
+UPDATE '.CONFIG_TABLE.'
+SET comment = "History IP Excluder parameters"
+WHERE comment = "Parametres nbc History IP Excluder"
+;';
+  pwg_query($q);
+
+  upgrade_210();
+}
+
+function upgrade_210()
+{
+  global $conf;
+  
+  $default = array (
+    'Blacklist' => "0",
+    'Version'=> "2.1.1",
+  );
+
+  $q = '
+INSERT INTO '.CONFIG_TABLE.' (param,value,comment)
+VALUES ("HistoryIPConfig","'.addslashes(serialize($default)).'","History IP Excluder options");
+';
+      
+  pwg_query($q);
+}
+
+function upgrade_211()
+{
+  global $conf;
+
+// Update plugin version
+  $query = '
+SELECT value
+  FROM '.CONFIG_TABLE.'
+WHERE param = "HistoryIPConfig"
+;';
+  $result = pwg_query($query);
+  
+  $conf_HIPE = pwg_db_fetch_assoc($result);
+    
+  $Newconf_HIPE = unserialize($conf_HIPE['value']);
+  
+  $Newconf_HIPE[1] = '2.2.0';
+  
+  $update_conf = serialize($Newconf_HIPE);
+
+  $query = '
+UPDATE '.CONFIG_TABLE.'
+SET value="'.addslashes($update_conf).'"
+WHERE param="HistoryIPConfig"
+LIMIT 1
+;';
+
+	pwg_query($query); 
+
+  // Create new HIPE entry in plugins table 
+  $query = '
+INSERT INTO '.PLUGINS_TABLE.' (id, state, version)
+VALUES ("HistoryIPExcluder","active","2.2.0")
+;';
+  
+  pwg_query($query);
+
+  // Delete old plugin entry in plugins table 
+  $query = '
+DELETE FROM '.PLUGINS_TABLE.'
+WHERE id="nbc_HistoryIPExcluder"
+LIMIT 1
+;';
+  
+  pwg_query($query);
+
+  // rename directory
+  if (!rename(PHPWG_PLUGINS_PATH.'nbc_HistoryIPExcluder', PHPWG_PLUGINS_PATH.'HistoryIPExcluder'))
+  {
+    die('Fatal error on plugin upgrade process : Unable to rename directory ! Please, rename manualy the plugin directory name from ../plugins/nbc_HistoryIPExcluder to ../plugins/HistoryIPExcluder.');
+  }
+}
+?>
Index: /extensions/HistoryIPExcluder/branches/2.0/main.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.0/main.inc.php	(revision 5131)
+++ /extensions/HistoryIPExcluder/branches/2.0/main.inc.php	(revision 5131)
@@ -0,0 +1,65 @@
+<?php
+/*
+Plugin Name: NBC History IP Excluder
+Version: 2.0.0
+Description: Permet l'exclusion d'une IP ou d'une plage d'IP de l historique - Excludes one IP or a range of IP from the history. plugin directement derive de Stats Ip Excluder de Eric 
+Plugin URI: http://phpwebgallery.net/ext/extension_view.php?eid=147
+Author: Nicco, Eric
+Author URI: http://gallery-nicco.no-ip.org - http://www.infernoweb.net
+*/
+
+if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
+
+if (!defined('HIPE_DIR')) define('HIPE_DIR' , basename(dirname(__FILE__)));
+if (!defined('HIPE_PATH')) define('HIPE_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
+
+load_language('plugin.lang', HIPE_PATH);
+
+add_event_handler('pwg_log_allowed', 'HIPE_IP_Filtrer');
+add_event_handler('get_admin_plugin_menu_links', 'HIPE_admin_menu');
+
+/* Set the administration panel of the plugin */
+function HIPE_admin_menu($menu)
+{
+  array_push($menu,
+    array(
+      'NAME' => 'History IP Excluder',
+      'URL' => get_admin_plugin_menu_link(HIPE_PATH.'admin/HIPE_admin.php')
+    )
+  );
+    
+  return $menu;
+}
+
+
+function HIPE_IP_Filtrer($do_log)
+{
+  global $conf;
+
+  $conf_HIPE = explode("," , $conf['nbc_HistoryIPExcluder']);
+
+  if (!$do_log)
+    return $do_log;
+  else
+  {
+    $IP_Client = explode('.', $_SERVER['REMOTE_ADDR']);
+  
+    foreach ($conf_HIPE as $Exclusion)
+    {
+      $IP_Exclude = explode('.', $Exclusion);
+  
+      if (
+        (($IP_Client[0] == $IP_Exclude[0]) or ($IP_Exclude[0] == '%')) and
+        (!isset($IP_Exclude[1]) or ($IP_Client[1] == $IP_Exclude[1]) or ($IP_Exclude[1] == '%')) and
+        (!isset($IP_Exclude[2]) or ($IP_Client[2] == $IP_Exclude[2]) or ($IP_Exclude[2] == '%')) and
+        (!isset($IP_Exclude[3]) or ($IP_Client[3] == $IP_Exclude[3]) or ($IP_Exclude[3] == '%'))
+      )
+      {
+        $do_log = false;
+      }    
+    }
+     
+    return $do_log;
+  }
+}
+?>
Index: /extensions/HistoryIPExcluder/branches/2.0/language/en_UK/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.0/language/en_UK/plugin.lang.php	(revision 5131)
+++ /extensions/HistoryIPExcluder/branches/2.0/language/en_UK/plugin.lang.php	(revision 5131)
@@ -0,0 +1,29 @@
+<?php
+global $lang;
+
+$lang['HIPE_admin_title'] = 'NBC History IP Excluder';
+$lang['HIPE_description'] = 'This plugin allows to exclude from the history and statistics of IP or IP ranges. <br>Its activation blocks record in the table of IP *_history specified in the table below.';
+$lang['HIPE_admin_section1'] = 'IP Exclusion';
+$lang['HIPE_admin_description1'] = 'Enter the complete IP or IP ranges to exclude (one per line) in the box below. To specify an IP range, use the wildcard character "%".<br>Example : 74.6.1.2 or 74.6.%';
+$lang['HIPE_save_config']='Configuration saved.';
+$lang['HIPE_CleanHist']='Clean History';
+
+$lang['HIPE_admin_section2'] = 'Queries on history table';
+$lang['HIPE_admin_section3'] = 'Result of the historic request';
+$lang['HIPE_IPByMember'] = 'IPs by member';
+$lang['HIPE_IPByMember_description'] = 'Show the IPs used by members, sorted by IP';
+$lang['HIPE_OnlyGuest'] = 'Only Guests IPs';
+$lang['HIPE_OnlyGuest_description'] = 'Show the IPs only used by Guests and the number of times it\'s found in the history table, sorted by the number of times';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IPs for a member';
+$lang['HIPE_IPForMember_description'] = 'Search and displays the IPs associated with a registered user (sorted by IP)';
+$lang['HIPE_MemberForIp'] = 'Members for one IP';
+$lang['HIPE_MemberForIp_description'] = 'Search and display users attached to one IP (sorted by name)';
+
+$lang['HIPE_resquet_ok'] = 'Request OK.';
+$lang['HIPE_hist_cleaned'] = 'Cleaning of the history table done.';
+
+$lang['IP_geolocalisation'] = 'Geolocalisation';
+?>
Index: /extensions/HistoryIPExcluder/branches/2.0/language/en_UK/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.0/language/en_UK/index.php	(revision 5131)
+++ /extensions/HistoryIPExcluder/branches/2.0/language/en_UK/index.php	(revision 5131)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.0/language/hu_HU/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.0/language/hu_HU/description.txt	(revision 5148)
+++ /extensions/HistoryIPExcluder/branches/2.0/language/hu_HU/description.txt	(revision 5148)
@@ -0,0 +1,1 @@
+Lehetővé teszi IP címek vagy IP tartományok kizárását, események felülvizsgálatát.
Index: /extensions/HistoryIPExcluder/branches/2.0/language/hu_HU/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.0/language/hu_HU/plugin.lang.php	(revision 5148)
+++ /extensions/HistoryIPExcluder/branches/2.0/language/hu_HU/plugin.lang.php	(revision 5148)
@@ -0,0 +1,29 @@
+<?php
+global $lang;
+
+$lang['HIPE_admin_title'] = 'NBC History IP Excluder';
+$lang['HIPE_description'] = 'Ezzel a bővítménnyel kizárhat IP címeket, vagy IP tartományokat az előzményekből és a statisztikából. <br>A blokkolt rekordokat az IP *_history táblában az alábbi táblázat tartalmazza.';
+$lang['HIPE_admin_section1'] = 'IP-k kizárása';
+$lang['HIPE_admin_description1'] = 'IP címek kizárásához írja be az alábbi mezőbe a kizárandó IP-ket, vagy adjon meg IP tartományokat (soronként egyet). IP tartomány kizárásához használja a helyettesítő karaktert "%".<br>Példa : 74.6.1.2 vagy 74.6.%';
+$lang['HIPE_save_config']='Beállítások mentve.';
+$lang['HIPE_CleanHist']='Előzmények törlése';
+$lang['submit']='Elküld';
+$lang['HIPE_admin_section2'] = 'Előzmények tábla lekérdezése';
+$lang['HIPE_admin_section3'] = 'Előzmények lekérdezésének eredménye';
+$lang['HIPE_IPByMember'] = 'Felhasználói IP-k';
+$lang['HIPE_IPByMember_description'] = 'Tagok által használt IP címeket mutatja IP cím szerint rendezve.';
+$lang['HIPE_OnlyGuest'] = 'Csak vendég IP-k';
+$lang['HIPE_OnlyGuest_description'] = 'Az előzmények tábla szerint rendezve csak azon IP címeket mutatja melyekről a vendégek meglátogatták az oldalt. Felsorolja az IP címeket és azt, hogy az adott IP-ről hányszor kapcsolódtak.';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP cím keresése felhasználónév szerint';
+$lang['HIPE_IPForMember_description'] = 'Megkeresi és megjeleníti a regisztrált felhasználó  IP címét (rendezve IP szerint).';
+$lang['HIPE_MemberForIp'] = 'Felhasználó keresése IP cím szerint';
+$lang['HIPE_MemberForIp_description'] = 'Megkeresi és megjeleníti az IP címről csatlakozott felhasználót (rendezve név szerint).';
+
+$lang['HIPE_resquet_ok'] = 'Sikeres lekérdezés.';
+$lang['HIPE_hist_cleaned'] = 'Az előzmények tábla tisztítása kész.';
+
+$lang['IP_geolocalisation'] = 'Földrajzi hely';
+?>
Index: /extensions/HistoryIPExcluder/branches/2.0/language/hu_HU/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.0/language/hu_HU/index.php	(revision 5148)
+++ /extensions/HistoryIPExcluder/branches/2.0/language/hu_HU/index.php	(revision 5148)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.0/language/it_IT/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.0/language/it_IT/plugin.lang.php	(revision 5131)
+++ /extensions/HistoryIPExcluder/branches/2.0/language/it_IT/plugin.lang.php	(revision 5131)
@@ -0,0 +1,29 @@
+<?php
+global $lang;
+
+$lang['HIPE_admin_title'] = 'NBC History IP Excluder';
+$lang['HIPE_description'] = 'Questo plugin permette di escludere dalla storia e le statistiche di IP o intervalli di indirizzi IP.<br> il suo record di attivazione blocchi nella tabella di IP *_history specificato nella tabella sottostante.';
+$lang['HIPE_admin_section1'] = 'Esclusione d\'IP';
+$lang['HIPE_admin_description1'] = 'Riempite le tabella sottostante con gli indirizzi IP o intervalli da escludere (uno per riga). Potete usare degli IP completi o una serie usando il carattere jolly "%".<br>Per esempio : 74.6.2.1 o 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configurazione registrata.';
+$lang['HIPE_CleanHist']='Ripulire la cronologgia';
+
+$lang['HIPE_admin_section2'] = 'Selezioni sulla cronologgia';
+$lang['HIPE_admin_section3'] = 'Risultato della selezione';
+$lang['HIPE_IPByMember'] = 'IP per utente';
+$lang['HIPE_IPByMember_description'] = 'Visualizza gli indirizzi IP legati a degli utenti, per indirizzo';
+$lang['HIPE_OnlyGuest'] = 'IP solo degli ospiti';
+$lang['HIPE_OnlyGuest_description'] = 'Visualizza gli indirizzi IP usati unicamente dagli ospiti e il numero di volte che appaiono nella base, per numero di volte per IP';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP di un\'utente';
+$lang['HIPE_IPForMember_description'] = 'Visualizza gli indirizzi IP legati agli utenti, per IP';
+$lang['HIPE_MemberForIp'] = 'Utenti di un\'indirizzo IP';
+$lang['HIPE_MemberForIp_description'] = 'Visualizza gli utenti legati ad un\'indirizzo IP, per utente';
+
+$lang['HIPE_resquet_ok'] = 'Esecuzzione della selezzione riuscita.';
+$lang['HIPE_hist_cleaned'] = 'Operazzione di "pulizzia" della cronologgia riuscito.';
+
+$lang['IP_geolocalisation'] = 'Geolocalizzazione';
+?>
Index: /extensions/HistoryIPExcluder/branches/2.0/language/it_IT/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.0/language/it_IT/index.php	(revision 5131)
+++ /extensions/HistoryIPExcluder/branches/2.0/language/it_IT/index.php	(revision 5131)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.0/language/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.0/language/index.php	(revision 5131)
+++ /extensions/HistoryIPExcluder/branches/2.0/language/index.php	(revision 5131)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.0/language/fr_FR/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.0/language/fr_FR/plugin.lang.php	(revision 5131)
+++ /extensions/HistoryIPExcluder/branches/2.0/language/fr_FR/plugin.lang.php	(revision 5131)
@@ -0,0 +1,29 @@
+<?php
+global $lang;
+
+$lang['HIPE_admin_title'] = 'NBC History IP Excluder';
+$lang['HIPE_description'] = 'Ce plugin permet d\'exclure de l\'historique et des statistiques des IP ou plages d\'IP.<br>Son activation bloque l\'enregistrement dans la table *_history des IP spécifiées dans le tableau ci-dessous.';
+$lang['HIPE_admin_section1'] = 'IP à exclure';
+$lang['HIPE_admin_description1'] = 'Saisissez les IP complètes ou plages d\'IP à exclure (une par ligne) dans le cadre ci-dessous. Pour indiquer une plage d\'IP, utilisez le caractère joker "%".<br>Par exemple : 74.6.2.1 ou 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configuration enregistrée.';
+$lang['HIPE_CleanHist']='Nettoyer l\'historique';
+
+$lang['HIPE_admin_section2'] = 'Requêtes sur l\'historique';
+$lang['HIPE_admin_section3'] = 'Résultat de la requête sur l\'historique';
+$lang['HIPE_IPByMember'] = 'IP d\'utilisateurs';
+$lang['HIPE_IPByMember_description'] = 'Recherche et affiche les IP d\'utilisateurs inscrits, (tri par IP)';
+$lang['HIPE_OnlyGuest'] = 'IP d\'invités seulement';
+$lang['HIPE_OnlyGuest_description'] = 'Recherche et affiche uniquement les IP utilisées par des invités, et le nombre de visites associées (tri par nombre de visites par IP)';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP d\'un utilisateur';
+$lang['HIPE_IPForMember_description'] = 'Recherche et affiche les IP associées à un utilisateur inscrit (tri par IP)';
+$lang['HIPE_MemberForIp'] = 'Utilisateurs d\'une IP';
+$lang['HIPE_MemberForIp_description'] = 'Recherche et affiche les utilisateurs attachés à une IP (tri par utilisateur)';
+
+$lang['HIPE_resquet_ok'] = 'Requête exécutée.';
+$lang['HIPE_hist_cleaned'] = 'Nettoyage de l\'historique effectué.';
+
+$lang['IP_geolocalisation'] = 'Géolocalisation';
+?>
Index: /extensions/HistoryIPExcluder/branches/2.0/language/fr_FR/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.0/language/fr_FR/index.php	(revision 5131)
+++ /extensions/HistoryIPExcluder/branches/2.0/language/fr_FR/index.php	(revision 5131)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.0/admin/HIPE_admin.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.0/admin/HIPE_admin.php	(revision 5131)
+++ /extensions/HistoryIPExcluder/branches/2.0/admin/HIPE_admin.php	(revision 5131)
@@ -0,0 +1,211 @@
+<?php
+
+if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
+
+load_language('plugin.lang', HIPE_PATH);
+
+
+$ip_geolocalisation1 = '<a href="http://www.geoiptool.com/fr/?IP=';
+$ip_geolocalisation2 = '" title="Geo IP localisation" target="_blank"><img src="'.HIPE_PATH.'/geoip.ico" class="button" alt="'.l10n('IP_geolocalisation').'"></a>';
+
+$ip_ripe1 = '<a href="http://www.ripe.net/whois?form_type=simple&amp;full_query_string=&amp;searchtext=';
+$ip_ripe2 = '+&amp;do_search=Search" title="Ripe Whois" target="_blank">';
+$ip_ripe3 = '</a>';
+
+
+
+if ( isset($_POST['submit']) and !is_adviser() )
+{
+  $v = $_POST['HIPE_IPs_Excluded'];
+  $v = str_replace( "\r\n", ",", $v );
+  $v = str_replace( ",,", ",", $v );
+
+  $conf['nbc_HistoryIPExcluder'] = stripslashes($v);
+
+  $query = '
+    UPDATE '.CONFIG_TABLE.'
+    SET value="'.$conf['nbc_HistoryIPExcluder'].'"
+    WHERE param="nbc_HistoryIPExcluder"
+    LIMIT 1';
+  pwg_query($query);
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_save_config'));
+}
+elseif ( isset($_POST['CleanHist']) )
+{
+  $conf_HIPE = explode("," , $conf['nbc_HistoryIPExcluder']);
+
+  foreach ( $conf_HIPE as $Exclusion )
+  {
+    $query = '
+      delete FROM '.HISTORY_TABLE.' where
+      IP like \''.$Exclusion.'\';';
+    pwg_query($query);
+   }
+
+
+  $query = '
+    truncate '.HISTORY_SUMMARY_TABLE.';';
+  pwg_query($query);
+
+  $query = '
+    UPDATE '.HISTORY_TABLE.'
+    SET summarized = \'false\';';
+  pwg_query($query);
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_hist_cleaned'));
+}
+elseif ( isset($_POST['HIPE_IPByMember']) )
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_IPByMember_description'),
+    )
+  );
+
+  $query = '
+    select distinct h.ip, u.username
+    from '.HISTORY_TABLE.' as h
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where h.user_id <> 2
+    order by h.ip
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = mysql_fetch_array($subresult))
+  {
+    $template->assign(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['username'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_OnlyGuest']) )
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_OnlyGuest_description'),
+    )
+  );
+
+  $query1 = '
+    select distinct h.ip
+    from '.HISTORY_TABLE.' as h
+    where h.user_id <> 2
+  ;';
+  
+  $IPsMember = array_from_query($query1, 'ip');
+
+  $query = '
+    select h.ip, count(h.ip) as nbreIP
+    from '.HISTORY_TABLE.' as h
+    where h.ip not in (\''.implode('\',\'', $IPsMember).'\')
+    group by h.ip
+    order by nbreIP desc
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = mysql_fetch_array($subresult))
+  {
+    $template->assign(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['nbreIP'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_IPForMember']) and isset($_POST['HIPE_input']))
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_IPForMember_description'),
+    )
+  );
+
+  $query = '
+    select h.ip, u.username
+    from '.HISTORY_TABLE.' as h 
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where u.username like \''.$_POST['HIPE_input'].'\'
+    group by h.ip
+    order by h.ip
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = mysql_fetch_array($subresult))
+  {
+    $template->assign(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $subrow['username'],
+        'HIPE_RESULTAT2' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_MemberForIp']) and isset($_POST['HIPE_input']))
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_MemberForIp_description'),
+    )
+  );
+
+  $query = '
+    select h.ip, u.username
+    from '.HISTORY_TABLE.' as h 
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where h.ip like \''.$_POST['HIPE_input'].'\'
+    group by u.username
+    order by u.username
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = mysql_fetch_array($subresult))
+  {
+    $template->assign(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['username'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+
+$conf_HIPE = explode("," , $conf['nbc_HistoryIPExcluder']);
+
+$template->assign(
+  array(
+    'HIPE_F_ACTION' => PHPWG_ROOT_PATH.'admin.php?page=plugin&section=nbc_HistoryIPExcluder%2Fadmin%2FHIPE_admin.php',
+    'IPs_EXCLUDED' => implode("\n", $conf_HIPE),
+  )
+);
+
+  $template->set_filename('plugin_admin_content', dirname(__FILE__) . '/HIPE_admin.tpl');
+  $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
+
+?>
Index: /extensions/HistoryIPExcluder/branches/2.0/admin/HIPE_admin.tpl
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.0/admin/HIPE_admin.tpl	(revision 5131)
+++ /extensions/HistoryIPExcluder/branches/2.0/admin/HIPE_admin.tpl	(revision 5131)
@@ -0,0 +1,59 @@
+<div class="titrePage">
+  <h2>{'HIPE_admin_title'|@translate}</h2>
+</div>
+
+<p>{'HIPE_description'|@translate}</p>
+
+<form method="post" action="{$HIPE_F_ACTION}" class="general">
+  <fieldset>
+    <legend>{'HIPE_admin_section1'|@translate}</legend>
+
+    <br>
+
+    <label>{'HIPE_admin_description1'|@translate}</label>
+    
+    <div style="text-align:center;">
+      <textarea name="HIPE_IPs_Excluded" rows="10" cols="60" {$TAG_INPUT_ENABLED}>{$IPs_EXCLUDED}</textarea>
+    </div>
+    
+    <p><input type="submit" name="submit" value="{'submit'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}> <input type="submit" name="CleanHist" value="{'HIPE_CleanHist'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}></p>
+  
+  </fieldset>
+
+  <fieldset>
+    <legend>{'HIPE_admin_section2'|@translate}</legend>
+  
+      <p style="text-align:center;">
+        <input type="submit" name="HIPE_IPByMember" value="{'HIPE_IPByMember'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+        <input type="submit" name="HIPE_OnlyGuest" value="{'HIPE_OnlyGuest'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+      </p>
+  
+      <p style="text-align:center;">
+        <input type="submit" name="HIPE_MemberForIp" value="{'HIPE_MemberForIp'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+		    <input type="text" name="HIPE_input" value="" size="20" style="text-align: center;" {$TAG_INPUT_ENABLED}>
+        <input type="submit" name="HIPE_IPForMember" value="{'HIPE_IPForMember'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+      </p>
+
+    <fieldset>
+      <legend>{'HIPE_admin_section3'|@translate}</legend>
+	 
+      <label>{$HIPE_DESCRIPTION2}</label>
+
+      <p style="text-align:center;">
+      <table>
+      <!-- BEGIN resultat -->
+        <tr>
+          <td>{$resultat.HIPE_RESULTAT1}</td>
+          <td>{$resultat.HIPE_RESULTAT2}</td>
+          <td>{$resultat.HIPE_RESULTAT3}</td>
+          <td>{$resultat.HIPE_RESULTAT4}</td>
+          <td>{$resultat.HIPE_RESULTAT5}</td>
+        </tr>
+      <!-- END resultat -->
+      </table>
+
+    </fieldset>
+    
+  </fieldset>
+
+</form>
Index: /extensions/HistoryIPExcluder/branches/2.0/admin/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.0/admin/index.php	(revision 5131)
+++ /extensions/HistoryIPExcluder/branches/2.0/admin/index.php	(revision 5131)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.0/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.0/index.php	(revision 5131)
+++ /extensions/HistoryIPExcluder/branches/2.0/index.php	(revision 5131)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.0/maintain.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.0/maintain.inc.php	(revision 5131)
+++ /extensions/HistoryIPExcluder/branches/2.0/maintain.inc.php	(revision 5131)
@@ -0,0 +1,33 @@
+<?php
+
+function plugin_install()
+{
+  global $conf;
+  
+  $default= array();
+
+  $q = '
+INSERT INTO '.CONFIG_TABLE.' (param,value,comment)
+VALUES ("nbc_HistoryIPExcluder","","Parametres nbc History IP Excluder");
+';
+      
+  pwg_query($q);
+}
+
+
+function plugin_uninstall()
+{
+  global $conf;
+
+  if (isset($conf['nbc_HistoryIPExcluder']))
+  {
+    $q = '
+DELETE FROM '.CONFIG_TABLE.'
+WHERE param="nbc_HistoryIPExcluder" LIMIT 1;
+';
+
+    pwg_query($q);
+  }
+}
+
+?>
Index: /extensions/HistoryIPExcluder/branches/2.1/main.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/main.inc.php	(revision 6761)
+++ /extensions/HistoryIPExcluder/branches/2.1/main.inc.php	(revision 6761)
@@ -0,0 +1,125 @@
+<?php
+/*
+Plugin Name: History IP Excluder
+Version: 2.1.1
+Description: Permet l'exclusion d'une IP ou d'une plage d'IP de l'historique et de les blacklister à l'inscription - Base MySql seulement! / Excludes one IP or a range of IP from the history and to blacklist them on registration - MySql database only!
+Plugin URI: http://phpwebgallery.net/ext/extension_view.php?eid=147
+Author: Nicco, Eric
+Author URI: http://gallery-nicco.no-ip.org - http://www.infernoweb.net
+*/
+
+/*
+:: HISTORY
+
+1.0.x to 1.6.x		- Plugin only for PWG 1.7.x
+
+2.0.0             - Compliance with Piwigo 2.0.x
+
+2.1.0             - Compliance with Piwigo 2.1.x
+                  - Multiple database support
+                  - Removing "nbc_" prefix in plugin code and display in piwigo's plugin manager
+                  - Displaying the good plugin name and current version in admin panel
+                  
+2.1.1             - Bug 1792 fixed (Thx to TOnin)
+                  - Bug 1511 fixed - New function to blacklist excluded IPs or ranged IPs for registration
+
+--------------------------------------------------------------------------------
+*/
+
+if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
+
+if (!defined('HIPE_DIR')) define('HIPE_DIR' , basename(dirname(__FILE__)));
+if (!defined('HIPE_PATH')) define('HIPE_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
+
+include_once (HIPE_PATH.'/include/functions.inc.php');
+
+load_language('plugin.lang', HIPE_PATH);
+
+add_event_handler('pwg_log_allowed', 'HIPE_IP_Filtrer');
+add_event_handler('get_admin_plugin_menu_links', 'HIPE_admin_menu');
+
+/* Set the administration panel of the plugin */
+function HIPE_admin_menu($menu)
+{
+// +-----------------------------------------------------------------------+
+// |                      Getting plugin name                              |
+// +-----------------------------------------------------------------------+
+  $plugin =  HIPE_infos(HIPE_PATH);
+  $name = $plugin['name'];
+  
+  array_push($menu,
+    array(
+      'NAME' => $name,
+      'URL' => get_admin_plugin_menu_link(HIPE_PATH.'admin/HIPE_admin.php')
+    )
+  );
+    
+  return $menu;
+}
+
+
+function HIPE_IP_Filtrer($do_log)
+{
+  global $conf;
+
+  $conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+
+  if (!$do_log)
+    return $do_log;
+  else
+  {
+    $IP_Client = explode('.', $_SERVER['REMOTE_ADDR']);
+  
+    foreach ($conf_HIPE as $Exclusion)
+    {
+      $IP_Exclude = explode('.', $Exclusion);
+  
+      if (
+        (($IP_Client[0] == $IP_Exclude[0]) or ($IP_Exclude[0] == '%')) and
+        (!isset($IP_Exclude[1]) or ($IP_Client[1] == $IP_Exclude[1]) or ($IP_Exclude[1] == '%')) and
+        (!isset($IP_Exclude[2]) or ($IP_Client[2] == $IP_Exclude[2]) or ($IP_Exclude[2] == '%')) and
+        (!isset($IP_Exclude[3]) or ($IP_Client[3] == $IP_Exclude[3]) or ($IP_Exclude[3] == '%'))
+      )
+      {
+        $do_log = false;
+      }    
+    }
+     
+    return $do_log;
+  }
+}
+
+/* Check users registration */
+add_event_handler('register_user_check', 'HIPE_RegistrationCheck', EVENT_HANDLER_PRIORITY_NEUTRAL +2, 2);
+
+function HIPE_RegistrationCheck($err, $user)
+{
+  global $errors, $conf;
+  load_language('plugin.lang', HIPE_PATH);
+  
+  if (count($err)!=0 ) return $err;
+  
+  $IP_Client = explode('.', $_SERVER['REMOTE_ADDR']);
+  $HIPE_Config = unserialize($conf['HistoryIPConfig']);
+  $conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+  
+  if (isset($HIPE_Config['Blacklist']) and $HIPE_Config['Blacklist'] == true)
+  {
+    foreach ($conf_HIPE as $Exclusion)
+    {
+      $IP_Exclude = explode('.', $Exclusion);
+  
+      if (
+        (($IP_Client[0] == $IP_Exclude[0]) or ($IP_Exclude[0] == '%')) and
+        (!isset($IP_Exclude[1]) or ($IP_Client[1] == $IP_Exclude[1]) or ($IP_Exclude[1] == '%')) and
+        (!isset($IP_Exclude[2]) or ($IP_Client[2] == $IP_Exclude[2]) or ($IP_Exclude[2] == '%')) and
+        (!isset($IP_Exclude[3]) or ($IP_Client[3] == $IP_Exclude[3]) or ($IP_Exclude[3] == '%'))
+      )
+      {
+        $err = l10n('Error_HIPE_BlacklistedIP');
+      }
+    }
+    return $err;
+  }
+}
+?>
Index: /extensions/HistoryIPExcluder/branches/2.1/include/functions.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/include/functions.inc.php	(revision 5615)
+++ /extensions/HistoryIPExcluder/branches/2.1/include/functions.inc.php	(revision 5615)
@@ -0,0 +1,48 @@
+<?php
+
+load_language('plugin.lang', HIPE_PATH);
+
+function HIPE_infos($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/HistoryIPExcluder/branches/2.1/language/en_UK/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/language/en_UK/description.txt	(revision 6761)
+++ /extensions/HistoryIPExcluder/branches/2.1/language/en_UK/description.txt	(revision 6761)
@@ -0,0 +1,1 @@
+Excludes one IP or a range of IP from the history and to blacklist them on registration
Index: /extensions/HistoryIPExcluder/branches/2.1/language/en_UK/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/language/en_UK/plugin.lang.php	(revision 6761)
+++ /extensions/HistoryIPExcluder/branches/2.1/language/en_UK/plugin.lang.php	(revision 6761)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'This plugin allows to exclude from the history and statistics of IP or IP ranges. <br>Its activation blocks record in the table of IP *_history specified in the table below.';
+$lang['HIPE_admin_section1'] = 'IP Exclusion';
+$lang['HIPE_admin_description1'] = 'Enter the complete IP or IP ranges to exclude (one per line) in the box below. To specify an IP range, use the wildcard character "%".<br>Example : 74.6.1.2 or 74.6.%';
+$lang['HIPE_save_config']='Configuration saved.';
+$lang['HIPE_CleanHist']='Clean History';
+
+$lang['HIPE_admin_section2'] = 'Queries on history table';
+$lang['HIPE_admin_section3'] = 'Result of the historic request';
+$lang['HIPE_IPByMember'] = 'IPs by member';
+$lang['HIPE_IPByMember_description'] = 'Show the IPs used by members, sorted by IP';
+$lang['HIPE_OnlyGuest'] = 'Only Guests IPs';
+$lang['HIPE_OnlyGuest_description'] = 'Show the IPs only used by Guests and the number of times it\'s found in the history table, sorted by the number of times';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IPs for a member';
+$lang['HIPE_IPForMember_description'] = 'Search and displays the IPs associated with a registered user (sorted by IP)';
+$lang['HIPE_MemberForIp'] = 'Members for one IP';
+$lang['HIPE_MemberForIp_description'] = 'Search and display users attached to one IP (sorted by name)';
+
+$lang['HIPE_resquet_ok'] = 'Request OK.';
+$lang['HIPE_hist_cleaned'] = 'Cleaning of the history table done.';
+
+$lang['IP_geolocalisation'] = 'Geolocalisation';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Version: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+$lang['HIPE_IPBlacklist_title'] = 'Registration blacklist';
+$lang['HIPE_IPBlacklisted'] = ' Prevent registration to the gallery of excluded IPs (blacklist)';
+$lang['Error_HIPE_BlacklistedIP'] = 'Error! Your IP has been banned. You can not subscribe to this gallery. Contact the administrator for further details.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/branches/2.1/language/en_UK/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/language/en_UK/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/branches/2.1/language/en_UK/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.1/language/hu_HU/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/language/hu_HU/description.txt	(revision 5149)
+++ /extensions/HistoryIPExcluder/branches/2.1/language/hu_HU/description.txt	(revision 5149)
@@ -0,0 +1,1 @@
+Lehetővé teszi IP címek vagy IP tartományok kizárását, események felülvizsgálatát.
Index: /extensions/HistoryIPExcluder/branches/2.1/language/hu_HU/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/language/hu_HU/plugin.lang.php	(revision 6761)
+++ /extensions/HistoryIPExcluder/branches/2.1/language/hu_HU/plugin.lang.php	(revision 6761)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Ezzel a bővítménnyel kizárhat IP címeket, vagy IP tartományokat az előzményekből és a statisztikából. <br>A blokkolt rekordokat az IP *_history táblában az alábbi táblázat tartalmazza.';
+$lang['HIPE_admin_section1'] = 'IP-k kizárása';
+$lang['HIPE_admin_description1'] = 'IP címek kizárásához írja be az alábbi mezőbe a kizárandó IP-ket, vagy adjon meg IP tartományokat (soronként egyet). IP tartomány kizárásához használja a helyettesítő karaktert "%".<br>Példa : 74.6.1.2 vagy 74.6.%';
+$lang['HIPE_save_config']='Beállítások mentve.';
+$lang['HIPE_CleanHist']='Előzmények törlése';
+$lang['submit']='Elküld';
+$lang['HIPE_admin_section2'] = 'Előzmények tábla lekérdezése';
+$lang['HIPE_admin_section3'] = 'Előzmények lekérdezésének eredménye';
+$lang['HIPE_IPByMember'] = 'Felhasználói IP-k';
+$lang['HIPE_IPByMember_description'] = 'Tagok által használt IP címeket mutatja IP cím szerint rendezve.';
+$lang['HIPE_OnlyGuest'] = 'Csak vendég IP-k';
+$lang['HIPE_OnlyGuest_description'] = 'Az előzmények tábla szerint rendezve csak azon IP címeket mutatja melyekről a vendégek meglátogatták az oldalt. Felsorolja az IP címeket és azt, hogy az adott IP-ről hányszor kapcsolódtak.';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP cím keresése felhasználónév szerint';
+$lang['HIPE_IPForMember_description'] = 'Megkeresi és megjeleníti a regisztrált felhasználó  IP címét (rendezve IP szerint).';
+$lang['HIPE_MemberForIp'] = 'Felhasználó keresése IP cím szerint';
+$lang['HIPE_MemberForIp_description'] = 'Megkeresi és megjeleníti az IP címről csatlakozott felhasználót (rendezve név szerint).';
+
+$lang['HIPE_resquet_ok'] = 'Sikeres lekérdezés.';
+$lang['HIPE_hist_cleaned'] = 'Az előzmények tábla tisztítása kész.';
+
+$lang['IP_geolocalisation'] = 'Földrajzi hely';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Változat: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+/*TODO*/$lang['HIPE_IPBlacklist_title'] = 'Registration blacklist';
+/*TODO*/$lang['HIPE_IPBlacklisted'] = ' Prevent registration to the gallery of excluded IPs (blacklist)';
+/*TODO*/$lang['Error_HIPE_BlacklistedIP'] = 'Error! Your IP has been banned. You can not subscribe to this gallery. Contact the administrator for further details.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/branches/2.1/language/hu_HU/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/language/hu_HU/index.php	(revision 5149)
+++ /extensions/HistoryIPExcluder/branches/2.1/language/hu_HU/index.php	(revision 5149)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.1/language/it_IT/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/language/it_IT/description.txt	(revision 6761)
+++ /extensions/HistoryIPExcluder/branches/2.1/language/it_IT/description.txt	(revision 6761)
@@ -0,0 +1,1 @@
+Consenta l'esclusione di un IP o un intervallo IP della storia e della loro "lista nera" per l'inclusione
Index: /extensions/HistoryIPExcluder/branches/2.1/language/it_IT/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/language/it_IT/plugin.lang.php	(revision 6761)
+++ /extensions/HistoryIPExcluder/branches/2.1/language/it_IT/plugin.lang.php	(revision 6761)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Questo plugin esclude gli indirizzi IP o intervalli d\indieizzi dalla cronologgia e dalle statistiche.<br>Attivandolo, gli indirizzi IP specifici della tabella sottostante non saranno pi� registrati nella tabella *.history de PWG.';
+$lang['HIPE_admin_section1'] = 'Esclusione d\'IP';
+$lang['HIPE_admin_description1'] = 'Riempite le tabella sottostante con gli indirizzi IP o intervalli da escludere (uno per riga). Potete usare degli IP completi o una serie usando il carattere jolly "%".<br>Per esempio : 74.6.2.1 o 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configurazione registrata.';
+$lang['HIPE_CleanHist']='Ripulire la cronologgia';
+
+$lang['HIPE_admin_section2'] = 'Selezioni sulla cronologgia';
+$lang['HIPE_admin_section3'] = 'Risultato della selezione';
+$lang['HIPE_IPByMember'] = 'IP per utente';
+$lang['HIPE_IPByMember_description'] = 'Visualizza gli indirizzi IP legati a degli utenti, per indirizzo';
+$lang['HIPE_OnlyGuest'] = 'IP solo degli ospiti';
+$lang['HIPE_OnlyGuest_description'] = 'Visualizza gli indirizzi IP usati unicamente dagli ospiti e il numero di volte che appaiono nella base, per numero di volte per IP';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP di un\'utente';
+$lang['HIPE_IPForMember_description'] = 'Visualizza gli indirizzi IP legati agli utenti, per IP';
+$lang['HIPE_MemberForIp'] = 'Utenti di un\'indirizzo IP';
+$lang['HIPE_MemberForIp_description'] = 'Visualizza gli utenti legati ad un\'indirizzo IP, per utente';
+
+$lang['HIPE_resquet_ok'] = 'Esecuzzione della selezzione riuscita.';
+$lang['HIPE_hist_cleaned'] = 'Operazzione di "pulizzia" della cronologgia riuscito.';
+
+$lang['IP_geolocalisation'] = 'Geolocalizzazione';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Versione: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+/*TODO*/$lang['HIPE_IPBlacklist_title'] = 'Registration blacklist';
+/*TODO*/$lang['HIPE_IPBlacklisted'] = ' Prevent registration to the gallery of excluded IPs (blacklist)';
+/*TODO*/$lang['Error_HIPE_BlacklistedIP'] = 'Error! Your IP has been banned. You can not subscribe to this gallery. Contact the administrator for further details.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/branches/2.1/language/it_IT/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/language/it_IT/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/branches/2.1/language/it_IT/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.1/language/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/language/index.php	(revision 5099)
+++ /extensions/HistoryIPExcluder/branches/2.1/language/index.php	(revision 5099)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.1/language/es_ES/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/language/es_ES/description.txt	(revision 5135)
+++ /extensions/HistoryIPExcluder/branches/2.1/language/es_ES/description.txt	(revision 5135)
@@ -0,0 +1,1 @@
+Permite la exclusión de un IP o de una playa de IP de l reseña histórica.
Index: /extensions/HistoryIPExcluder/branches/2.1/language/es_ES/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/language/es_ES/plugin.lang.php	(revision 6761)
+++ /extensions/HistoryIPExcluder/branches/2.1/language/es_ES/plugin.lang.php	(revision 6761)
@@ -0,0 +1,39 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Este plugin permite excluir de la reseña histórica y las estadísticas del IP o las playas d \'IP. <br> Su activación bloquea el registro en la mesa * _history IP especificados en el tablero más abajo.';
+$lang['HIPE_admin_section1'] = 'IP a excluir';
+$lang['HIPE_admin_description1'] = 'Coja el IP completo o las playas de IP a excluir (Uno por línea) En el marco(ejecutivo) más abajo. Para indicar una playa de IP, utilice el carácter mono "%".<br>Por Ejemplo : 74.6.2.1 o 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configuración registrada.';
+$lang['HIPE_CleanHist']='Limpiar la reseña histórica';
+
+$lang['HIPE_admin_section2'] = 'Demandas sobre la reseña histórica';
+$lang['HIPE_admin_section3'] = 'El resultado de la demanda sobre la reseña histórica';
+$lang['HIPE_IPByMember'] = 'IP de usuarios';
+$lang['HIPE_IPByMember_description'] = 'Búsqueda y fija el IP de usuarios inscritos, (selección por IP)';
+$lang['HIPE_OnlyGuest'] = 'IP de invitados solamente';
+$lang['HIPE_OnlyGuest_description'] = 'Búsqueda y anuncio únicamente el IP utilizados por invitados, y el número de visitas asociados (selección por número de visitas por IP)';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP de un usuario';
+$lang['HIPE_IPForMember_description'] = 'Búsqueda y fija el IP asociados con un usuario inscrito (selección por IP)';
+$lang['HIPE_MemberForIp'] = 'Usuarios de un IP';
+$lang['HIPE_MemberForIp_description'] = 'Búsqueda y fija a los usuarios pegados a un IP (selección por usuario)';
+
+$lang['HIPE_resquet_ok'] = 'Demanda ejecutada.';
+$lang['HIPE_hist_cleaned'] = 'Limpieza de la reseña histórica efectuada.';
+
+$lang['IP_geolocalisation'] = 'Geolocalización';
+$lang['submit'] = 'Someter';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Versión: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+/*TODO*/$lang['HIPE_IPBlacklist_title'] = 'Registration blacklist';
+/*TODO*/$lang['HIPE_IPBlacklisted'] = ' Prevent registration to the gallery of excluded IPs (blacklist)';
+/*TODO*/$lang['Error_HIPE_BlacklistedIP'] = 'Error! Your IP has been banned. You can not subscribe to this gallery. Contact the administrator for further details.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/branches/2.1/language/es_ES/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/language/es_ES/index.php	(revision 5135)
+++ /extensions/HistoryIPExcluder/branches/2.1/language/es_ES/index.php	(revision 5135)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id$
+// | last update   : $Date$
+// | last modifier : $Author$
+// | revision      : $Revision$
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.1/language/fr_FR/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/language/fr_FR/description.txt	(revision 6761)
+++ /extensions/HistoryIPExcluder/branches/2.1/language/fr_FR/description.txt	(revision 6761)
@@ -0,0 +1,1 @@
+Permet l'exclusion d'une IP ou d'une plage d'IP de l historique et de les blacklister à l'inscription
Index: /extensions/HistoryIPExcluder/branches/2.1/language/fr_FR/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/language/fr_FR/plugin.lang.php	(revision 6761)
+++ /extensions/HistoryIPExcluder/branches/2.1/language/fr_FR/plugin.lang.php	(revision 6761)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Ce plugin permet d\'exclure de l\'historique et des statistiques des IP ou plages d\'IP.<br>Son activation bloque l\'enregistrement dans la table *_history des IP spécifiées dans le tableau ci-dessous.';
+$lang['HIPE_admin_section1'] = 'IP à exclure';
+$lang['HIPE_admin_description1'] = 'Saisissez les IP complètes ou plages d\'IP à exclure (une par ligne) dans le cadre ci-dessous. Pour indiquer une plage d\'IP, utilisez le caractère joker "%".<br>Par exemple : 74.6.2.1 ou 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configuration enregistrée.';
+$lang['HIPE_CleanHist']='Nettoyer l\'historique';
+
+$lang['HIPE_admin_section2'] = 'Requêtes sur l\'historique';
+$lang['HIPE_admin_section3'] = 'Résultat de la requête sur l\'historique';
+$lang['HIPE_IPByMember'] = 'IP d\'utilisateurs';
+$lang['HIPE_IPByMember_description'] = 'Recherche et affiche les IP d\'utilisateurs inscrits, (tri par IP)';
+$lang['HIPE_OnlyGuest'] = 'IP d\'invités seulement';
+$lang['HIPE_OnlyGuest_description'] = 'Recherche et affiche uniquement les IP utilisées par des invités, et le nombre de visites associées (tri par nombre de visites par IP)';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP d\'un utilisateur';
+$lang['HIPE_IPForMember_description'] = 'Recherche et affiche les IP associées à un utilisateur inscrit (tri par IP)';
+$lang['HIPE_MemberForIp'] = 'Utilisateurs d\'une IP';
+$lang['HIPE_MemberForIp_description'] = 'Recherche et affiche les utilisateurs attachés à une IP (tri par utilisateur)';
+
+$lang['HIPE_resquet_ok'] = 'Requête exécutée.';
+$lang['HIPE_hist_cleaned'] = 'Nettoyage de l\'historique effectué.';
+
+$lang['IP_geolocalisation'] = 'Géolocalisation';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Version: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+$lang['HIPE_IPBlacklist_title'] = 'Exclusion à l\'inscription';
+$lang['HIPE_IPBlacklisted'] = ' Empêcher l\'inscription à la galerie des IP exclues de l\'historique (Blacklistage)';
+$lang['Error_HIPE_BlacklistedIP'] = 'Erreur! Votre IP a été bannie. Vous ne pouvez plus vous inscrire à cette galerie. Contactez l\'administrateur pour de plus amples détails.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/branches/2.1/language/fr_FR/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/language/fr_FR/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/branches/2.1/language/fr_FR/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.1/admin/HIPE_admin.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/admin/HIPE_admin.php	(revision 6761)
+++ /extensions/HistoryIPExcluder/branches/2.1/admin/HIPE_admin.php	(revision 6761)
@@ -0,0 +1,238 @@
+<?php
+
+if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
+
+load_language('plugin.lang', HIPE_PATH);
+
+// +-----------------------------------------------------------------------+
+// |                      Getting plugin version                           |
+// +-----------------------------------------------------------------------+
+$plugin =  HIPE_infos(HIPE_PATH);
+$version = $plugin['version'];
+$name = $plugin['name'];
+
+
+$ip_geolocalisation1 = '<a href="http://www.geoiptool.com/fr/?IP=';
+$ip_geolocalisation2 = '" title="Geo IP localisation" target="_blank"><img src="'.HIPE_PATH.'/geoip.ico" class="button" alt="'.l10n('IP_geolocalisation').'"></a>';
+
+$ip_ripe1 = '<a href="http://www.ripe.net/whois?form_type=simple&amp;full_query_string=&amp;searchtext=';
+$ip_ripe2 = '+&amp;do_search=Search" title="Ripe Whois" target="_blank">';
+$ip_ripe3 = '</a>';
+
+
+
+if ( isset($_POST['submit']) and !is_adviser() )
+{
+  $v = $_POST['HIPE_IPs_Excluded'];
+  $v = str_replace( "\r\n", ",", $v );
+  $v = str_replace( ",,", ",", $v );
+
+  $conf['HistoryIPExcluder'] = stripslashes($v);
+
+  $query = '
+    UPDATE '.CONFIG_TABLE.'
+    SET value="'.$conf['HistoryIPExcluder'].'"
+    WHERE param="HistoryIPExcluder"
+    LIMIT 1';
+  pwg_query($query);
+
+  if (!isset($_POST['HIPE_chkb'])) $_POST['HIPE_chkb'] = '0';
+  $newconf_HIPE = array(
+    'Blacklist' => $_POST['HIPE_chkb'],
+    'Version'   => $version,
+  );
+  
+  $conf['HistoryIPConfig'] = serialize($newconf_HIPE);
+
+  $query = '
+    UPDATE '.CONFIG_TABLE.'
+    SET value="'.addslashes($conf['HistoryIPConfig']).'"
+    WHERE param="HistoryIPConfig"
+    LIMIT 1';
+  pwg_query($query);
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_save_config'));
+}
+elseif ( isset($_POST['CleanHist']) )
+{
+  $conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+
+  foreach ( $conf_HIPE as $Exclusion )
+  {
+    $query = '
+      delete FROM '.HISTORY_TABLE.' where
+      IP like \''.$Exclusion.'\';';
+    pwg_query($query);
+   }
+
+
+  $query = '
+    truncate '.HISTORY_SUMMARY_TABLE.';';
+  pwg_query($query);
+
+  $query = '
+    UPDATE '.HISTORY_TABLE.'
+    SET summarized = \'false\';';
+  pwg_query($query);
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_hist_cleaned'));
+}
+elseif ( isset($_POST['HIPE_IPByMember']) )
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_IPByMember_description'),
+    )
+  );
+
+  $query = '
+    select distinct h.ip, u.username
+    from '.HISTORY_TABLE.' as h
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where h.user_id <> 2
+    order by h.ip
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->append(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['username'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_OnlyGuest']) )
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_OnlyGuest_description'),
+    )
+  );
+
+  $query1 = '
+    select distinct h.ip
+    from '.HISTORY_TABLE.' as h
+    where h.user_id <> 2
+  ;';
+  
+  $IPsMember = array_from_query($query1, 'ip');
+
+  $query = '
+    select h.ip, count(h.ip) as nbreIP
+    from '.HISTORY_TABLE.' as h
+    where h.ip not in (\''.implode('\',\'', $IPsMember).'\')
+    group by h.ip
+    order by nbreIP desc
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->append(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['nbreIP'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_IPForMember']) and isset($_POST['HIPE_input']))
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_IPForMember_description'),
+    )
+  );
+
+  $query = '
+    select h.ip, u.username
+    from '.HISTORY_TABLE.' as h 
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where u.username like \''.$_POST['HIPE_input'].'\'
+    group by h.ip
+    order by h.ip
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->append(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $subrow['username'],
+        'HIPE_RESULTAT2' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_MemberForIp']) and isset($_POST['HIPE_input']))
+{
+  $template->append(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_MemberForIp_description'),
+    )
+  );
+
+  $query = '
+    select h.ip, u.username
+    from '.HISTORY_TABLE.' as h 
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where h.ip like \''.$_POST['HIPE_input'].'\'
+    group by u.username
+    order by u.username
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->assign(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['username'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+
+$conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+$HIPE_Config = unserialize($conf['HistoryIPConfig']);
+
+$template->assign(
+  array(
+    'HIPE_VERSION' => $version,
+    'HIPE_NAME'    => $name,
+    'HIPE_PATH'    => HIPE_PATH,
+    'IPs_EXCLUDED' => implode("\n", $conf_HIPE),
+  )
+);
+
+  if ($HIPE_Config['Blacklist'] == 1) $template->assign(array('HIPE_IPBlacklisted' => 'checked="checked"'));
+
+  $template->set_filename('plugin_admin_content', dirname(__FILE__) . '/HIPE_admin.tpl');
+  $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
+
+?>
Index: /extensions/HistoryIPExcluder/branches/2.1/admin/HIPE_admin.tpl
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/admin/HIPE_admin.tpl	(revision 6761)
+++ /extensions/HistoryIPExcluder/branches/2.1/admin/HIPE_admin.tpl	(revision 6761)
@@ -0,0 +1,68 @@
+<div class="titrePage">
+  <h2>{$HIPE_NAME}{'HIPE_version'|@translate}{$HIPE_VERSION}</h2>
+</div>
+
+<p>{'HIPE_description'|@translate}</p>
+
+<form method="post" action="" class="general">
+  <fieldset>
+    <legend>{'HIPE_admin_section1'|@translate}</legend>
+
+    <br>
+
+    <label>{'HIPE_admin_description1'|@translate}</label>
+    
+    <div style="text-align:center;">
+      <textarea name="HIPE_IPs_Excluded" rows="10" cols="30" {$TAG_INPUT_ENABLED}>{$IPs_EXCLUDED}</textarea>
+    </div>
+
+    <fieldset>
+    <legend>{'HIPE_IPBlacklist_title'|@translate}</legend>
+      <ul>
+		    <li><input type="checkbox" name="HIPE_chkb" {$HIPE_IPBlacklisted} value="1">&nbsp;{'HIPE_IPBlacklisted'|@translate}</li>
+      </ul>
+    </fieldset>
+    
+    <p><input type="submit" name="submit" value="{'submit'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}> <input type="submit" name="CleanHist" value="{'HIPE_CleanHist'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}></p>
+  
+  </fieldset>
+
+  <fieldset>
+    <legend>{'HIPE_admin_section2'|@translate}</legend>
+  
+      <p style="text-align:center;">
+        <input type="submit" name="HIPE_IPByMember" value="{'HIPE_IPByMember'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+        <input type="submit" name="HIPE_OnlyGuest" value="{'HIPE_OnlyGuest'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+      </p>
+  
+      <p style="text-align:center;">
+        <input type="submit" name="HIPE_MemberForIp" value="{'HIPE_MemberForIp'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+		    <input type="text" name="HIPE_input" value="" size="20" style="text-align: center;" {$TAG_INPUT_ENABLED}>
+        <input type="submit" name="HIPE_IPForMember" value="{'HIPE_IPForMember'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+      </p>
+
+    <fieldset>
+      <legend>{'HIPE_admin_section3'|@translate}</legend>
+	 
+      <label>{$HIPE_DESCRIPTION2}</label>
+
+      <p style="text-align:center;">
+      <table>
+      <!-- BEGIN resultat -->
+      {foreach from=$resultat item=result}
+        <tr style="color: red;">
+          <td>{$result.HIPE_RESULTAT1}</td>
+          <td>{$result.HIPE_RESULTAT2}</td>
+          <td>{$result.HIPE_RESULTAT3}</td>
+          <td>{$result.HIPE_RESULTAT4}</td>
+          <td>{$result.HIPE_RESULTAT5}</td>
+        </tr>
+      {/foreach} 
+      <!-- END resultat -->
+      </table>
+
+    </fieldset>
+    
+  </fieldset>
+
+</form>
Index: /extensions/HistoryIPExcluder/branches/2.1/admin/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/admin/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/branches/2.1/admin/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.1/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/branches/2.1/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.1/maintain.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.1/maintain.inc.php	(revision 6761)
+++ /extensions/HistoryIPExcluder/branches/2.1/maintain.inc.php	(revision 6761)
@@ -0,0 +1,128 @@
+<?php
+
+function plugin_install()
+{
+  global $conf;
+  
+  $default= array();
+
+  $q = '
+INSERT INTO '.CONFIG_TABLE.' (param,value,comment)
+VALUES ("HistoryIPExcluder","","History IP Excluder parameters");
+';
+      
+  pwg_query($q);
+
+$default = array (
+  'Blacklist' => "0",
+  'Version'=> "2.1.1",
+);
+
+  $q = '
+INSERT INTO '.CONFIG_TABLE.' (param,value,comment)
+VALUES ("HistoryIPConfig","'.addslashes(serialize($default)).'","History IP Excluder options");
+';
+      
+  pwg_query($q);
+}
+
+
+function plugin_activate()
+{
+  global $conf;
+  
+/* Check for upgrade from 2.0.0 to 2.0.1 */
+/* *************************************** */
+	$query = '
+SELECT param
+  FROM '.CONFIG_TABLE.'
+WHERE param = "nbc_HistoryIPExcluder"
+;';
+  $count = pwg_db_num_rows(pwg_query($query));
+  
+	if ($count == 1)
+	{
+  /* upgrade from branch 2.0.0 to 2.0.1   */
+  /* ************************************ */
+		upgrade_200();
+	}
+
+	$query = '
+SELECT param
+  FROM '.CONFIG_TABLE.'
+WHERE param = "HistoryIPConfig"
+;';
+  $count = pwg_db_num_rows(pwg_query($query));
+
+	if ($count == 0)
+	{
+  /* upgrade from branch 2.1.0 to 2.1.1   */
+  /* ************************************ */
+		upgrade_210();
+	}
+}
+
+
+function plugin_uninstall()
+{
+  global $conf;
+
+  if (isset($conf['HistoryIPExcluder']))
+  {
+    $q = '
+DELETE FROM '.CONFIG_TABLE.'
+WHERE param="HistoryIPExcluder" LIMIT 1;
+';
+
+    pwg_query($q);
+  }
+  if (isset($conf['HistoryIPConfig']))
+  {
+    $q = '
+DELETE FROM '.CONFIG_TABLE.'
+WHERE param="HistoryIPConfig" LIMIT 1;
+';
+
+    pwg_query($q);
+  }  
+}
+
+
+function upgrade_200()
+{
+  global $conf;
+  
+  $q = '
+UPDATE '.CONFIG_TABLE.'
+SET param = "HistoryIPExcluder"
+WHERE param = "nbc_HistoryIPExcluder"
+;';
+  pwg_query($q);
+
+  $q = '
+UPDATE '.CONFIG_TABLE.'
+SET comment = "History IP Excluder parameters"
+WHERE comment = "Parametres nbc History IP Excluder"
+;';
+  pwg_query($q);
+
+  upgrade_210();
+}
+
+function upgrade_210()
+{
+  global $conf;
+  
+  $default = array (
+    'Blacklist' => "0",
+    'Version'=> "2.1.1",
+  );
+
+  $q = '
+INSERT INTO '.CONFIG_TABLE.' (param,value,comment)
+VALUES ("HistoryIPConfig","'.addslashes(serialize($default)).'","History IP Excluder options");
+';
+      
+  pwg_query($q);
+}
+?>
Index: /extensions/HistoryIPExcluder/branches/2.2/main.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/main.inc.php	(revision 9870)
+++ /extensions/HistoryIPExcluder/branches/2.2/main.inc.php	(revision 9870)
@@ -0,0 +1,128 @@
+<?php
+/*
+Plugin Name: History IP Excluder
+Version: 2.2.0
+Description: Permet l'exclusion d'une IP ou d'une plage d'IP de l'historique et de les blacklister à l'inscription - Base MySql seulement! / Excludes one IP or a range of IP from the history and to blacklist them on registration - MySql database only!
+Plugin URI: http://phpwebgallery.net/ext/extension_view.php?eid=147
+Author: Nicco, Eric
+Author URI: http://gallery-nicco.no-ip.org - http://www.infernoweb.net
+*/
+
+/*
+:: HISTORY
+
+1.0.x to 1.6.x		- Plugin only for PWG 1.7.x
+
+2.0.0             - Compliance with Piwigo 2.0.x
+
+2.1.0             - Compliance with Piwigo 2.1.x
+                  - Multiple database support
+                  - Removing "nbc_" prefix in plugin code and display in piwigo's plugin manager
+                  - Displaying the good plugin name and current version in admin panel
+                  
+2.1.1             - Bug 1792 fixed (Thx to TOnin)
+                  - Bug 1511 fixed - New function to blacklist excluded IPs or ranged IPs for registration
+
+2.2.0             - Compliance with Piwigo 2.2.x
+                  - Plugin directory renamed from nbc_HistoryIPExcluder to HistoryIPExcluder
+
+--------------------------------------------------------------------------------
+*/
+
+if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
+
+if (!defined('HIPE_PATH')) define('HIPE_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
+
+include_once (HIPE_PATH.'/include/functions.inc.php');
+
+load_language('plugin.lang', HIPE_PATH);
+
+add_event_handler('get_admin_plugin_menu_links', 'HIPE_admin_menu');
+
+/* Set the administration panel of the plugin */
+function HIPE_admin_menu($menu)
+{
+// +-----------------------------------------------------------------------+
+// |                      Getting plugin name                              |
+// +-----------------------------------------------------------------------+
+  $plugin =  HIPE_infos(HIPE_PATH);
+  $name = $plugin['name'];
+  
+  array_push($menu,
+    array(
+      'NAME' => $name,
+      'URL' => get_root_url().'admin.php?page=plugin-'.basename(HIPE_PATH)
+    )
+  );
+    
+  return $menu;
+}
+
+// IP exclusion from logs
+add_event_handler('pwg_log_allowed', 'HIPE_IP_Filtrer');
+
+function HIPE_IP_Filtrer($do_log)
+{
+  global $conf;
+
+  $conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+
+  if (!$do_log)
+    return $do_log;
+  else
+  {
+    $IP_Client = explode('.', $_SERVER['REMOTE_ADDR']);
+  
+    foreach ($conf_HIPE as $Exclusion)
+    {
+      $IP_Exclude = explode('.', $Exclusion);
+  
+      if (
+        (($IP_Client[0] == $IP_Exclude[0]) or ($IP_Exclude[0] == '%')) and
+        (!isset($IP_Exclude[1]) or ($IP_Client[1] == $IP_Exclude[1]) or ($IP_Exclude[1] == '%')) and
+        (!isset($IP_Exclude[2]) or ($IP_Client[2] == $IP_Exclude[2]) or ($IP_Exclude[2] == '%')) and
+        (!isset($IP_Exclude[3]) or ($IP_Client[3] == $IP_Exclude[3]) or ($IP_Exclude[3] == '%'))
+      )
+      {
+        $do_log = false;
+      }    
+    }
+     
+    return $do_log;
+  }
+}
+
+/* Check users registration */
+add_event_handler('register_user_check', 'HIPE_RegistrationCheck', EVENT_HANDLER_PRIORITY_NEUTRAL +2, 2);
+
+function HIPE_RegistrationCheck($err, $user)
+{
+  global $errors, $conf;
+  load_language('plugin.lang', HIPE_PATH);
+  
+  if (count($err)!=0 ) return $err;
+  
+  $IP_Client = explode('.', $_SERVER['REMOTE_ADDR']);
+  $HIPE_Config = unserialize($conf['HistoryIPConfig']);
+  $conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+  
+  if (isset($HIPE_Config['Blacklist']) and $HIPE_Config['Blacklist'] == true)
+  {
+    foreach ($conf_HIPE as $Exclusion)
+    {
+      $IP_Exclude = explode('.', $Exclusion);
+  
+      if (
+        (($IP_Client[0] == $IP_Exclude[0]) or ($IP_Exclude[0] == '%')) and
+        (!isset($IP_Exclude[1]) or ($IP_Client[1] == $IP_Exclude[1]) or ($IP_Exclude[1] == '%')) and
+        (!isset($IP_Exclude[2]) or ($IP_Client[2] == $IP_Exclude[2]) or ($IP_Exclude[2] == '%')) and
+        (!isset($IP_Exclude[3]) or ($IP_Client[3] == $IP_Exclude[3]) or ($IP_Exclude[3] == '%'))
+      )
+      {
+        $err = l10n('Error_HIPE_BlacklistedIP');
+      }
+    }
+    return $err;
+  }
+}
+?>
Index: /extensions/HistoryIPExcluder/branches/2.2/include/functions.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/include/functions.inc.php	(revision 5615)
+++ /extensions/HistoryIPExcluder/branches/2.2/include/functions.inc.php	(revision 5615)
@@ -0,0 +1,48 @@
+<?php
+
+load_language('plugin.lang', HIPE_PATH);
+
+function HIPE_infos($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/HistoryIPExcluder/branches/2.2/language/de_DE/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/language/de_DE/description.txt	(revision 6760)
+++ /extensions/HistoryIPExcluder/branches/2.2/language/de_DE/description.txt	(revision 6760)
@@ -0,0 +1,1 @@
+Es erlaubt der Ausschluss von einer IP oder IP-Bereich der Geschichte und der Blacklist sie für die Aufnahme
Index: /extensions/HistoryIPExcluder/branches/2.2/language/de_DE/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/language/de_DE/plugin.lang.php	(revision 6765)
+++ /extensions/HistoryIPExcluder/branches/2.2/language/de_DE/plugin.lang.php	(revision 6765)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Diese Erweiterung erlaubt es, einzelne IP Adressen oder Adressbereiche von der Erfassung in der Historie und den Statistiken auszunehmen . <br>Wird die Erweiterung aktiviert, werden die unten angegebenen IP Adressen nicht in die *_history Tabellen übernommen.';
+$lang['HIPE_admin_section1'] = 'Auszunehmende IP Adressen';
+$lang['HIPE_admin_description1'] = 'Geben Sie die auszunehmen IP Adresse oder den auszunehmenden Addressbereich (ein Eintrag pro Zeile) in das Feld unten ein. Benutzen Sie das Stellvertretersymbol "%", um Adressbereiche einzugeben.<br>Beispiel: 74.6.1.2 oder 74.6.%';
+$lang['HIPE_save_config']='Einstellungen gespeichert.';
+$lang['HIPE_CleanHist']='Historie löschen';
+
+$lang['HIPE_admin_section2'] = 'Abfragen in der History Tabelle';
+$lang['HIPE_admin_section3'] = 'Ergebnis der Abfrage';
+$lang['HIPE_IPByMember'] = 'IP Adressen von Mitgliedern';
+$lang['HIPE_IPByMember_description'] = 'Zeigt die IP Adressen an, die von Mitgliedern benutzt werden (nach IP Adresse sortiert)';
+$lang['HIPE_OnlyGuest'] = 'IP Adressen von Gästen';
+$lang['HIPE_OnlyGuest_description'] = 'Zeigt die IP Adressen von Gastbenutzern und die Anzahl der Einträge in der History Tabelle an (sortiert nach der Anzahl der Einträge)';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP Adressen eines Mitglieds';
+$lang['HIPE_IPForMember_description'] = 'Zeigt die IP Adressen, die von einem registrierten Mitglied verwendet werden (nach IP Adressen sortiert)';
+$lang['HIPE_MemberForIp'] = 'Einer IP Adresse zugeordnete Mitglieder';
+$lang['HIPE_MemberForIp_description'] = 'Zeigt die Mitglieder, die einer IP Adresse zugeordnet sind (sortiert nach Name)';
+
+$lang['HIPE_resquet_ok'] = 'Anfrage OK.';
+$lang['HIPE_hist_cleaned'] = 'Die Einträge wurden aus der History Tabelle entfernt.';
+
+$lang['IP_geolocalisation'] = 'Geolokalisierung';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Version: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+$lang['HIPE_IPBlacklist_title'] = 'Registrierungs-Blacklist';
+$lang['HIPE_IPBlacklisted'] = 'Verhindert, sich von gesperrten IP Adressen zu registrieren';
+$lang['Error_HIPE_BlacklistedIP'] = 'Fehler! Ihre IP Adresse wurde gesperrt, Sie können sich nicht registrieren. Kontaktieren Sie den Administrator, um weitere Informationen zu erhalten.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/branches/2.2/language/de_DE/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/language/de_DE/index.php	(revision 6008)
+++ /extensions/HistoryIPExcluder/branches/2.2/language/de_DE/index.php	(revision 6008)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.2/language/en_UK/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/language/en_UK/description.txt	(revision 6760)
+++ /extensions/HistoryIPExcluder/branches/2.2/language/en_UK/description.txt	(revision 6760)
@@ -0,0 +1,1 @@
+Excludes one IP or a range of IP from the history and to blacklist them on registration
Index: /extensions/HistoryIPExcluder/branches/2.2/language/en_UK/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/language/en_UK/plugin.lang.php	(revision 6759)
+++ /extensions/HistoryIPExcluder/branches/2.2/language/en_UK/plugin.lang.php	(revision 6759)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'This plugin allows to exclude from the history and statistics of IP or IP ranges. <br>Its activation blocks record in the table of IP *_history specified in the table below.';
+$lang['HIPE_admin_section1'] = 'IP Exclusion';
+$lang['HIPE_admin_description1'] = 'Enter the complete IP or IP ranges to exclude (one per line) in the box below. To specify an IP range, use the wildcard character "%".<br>Example : 74.6.1.2 or 74.6.%';
+$lang['HIPE_save_config']='Configuration saved.';
+$lang['HIPE_CleanHist']='Clean History';
+
+$lang['HIPE_admin_section2'] = 'Queries on history table';
+$lang['HIPE_admin_section3'] = 'Result of the historic request';
+$lang['HIPE_IPByMember'] = 'IPs by member';
+$lang['HIPE_IPByMember_description'] = 'Show the IPs used by members, sorted by IP';
+$lang['HIPE_OnlyGuest'] = 'Only Guests IPs';
+$lang['HIPE_OnlyGuest_description'] = 'Show the IPs only used by Guests and the number of times it\'s found in the history table, sorted by the number of times';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IPs for a member';
+$lang['HIPE_IPForMember_description'] = 'Search and displays the IPs associated with a registered user (sorted by IP)';
+$lang['HIPE_MemberForIp'] = 'Members for one IP';
+$lang['HIPE_MemberForIp_description'] = 'Search and display users attached to one IP (sorted by name)';
+
+$lang['HIPE_resquet_ok'] = 'Request OK.';
+$lang['HIPE_hist_cleaned'] = 'Cleaning of the history table done.';
+
+$lang['IP_geolocalisation'] = 'Geolocalisation';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Version: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+$lang['HIPE_IPBlacklist_title'] = 'Registration blacklist';
+$lang['HIPE_IPBlacklisted'] = ' Prevent registration to the gallery of excluded IPs (blacklist)';
+$lang['Error_HIPE_BlacklistedIP'] = 'Error! Your IP has been banned. You can not subscribe to this gallery. Contact the administrator for further details.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/branches/2.2/language/en_UK/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/language/en_UK/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/branches/2.2/language/en_UK/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.2/language/hu_HU/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/language/hu_HU/description.txt	(revision 5149)
+++ /extensions/HistoryIPExcluder/branches/2.2/language/hu_HU/description.txt	(revision 5149)
@@ -0,0 +1,1 @@
+Lehetővé teszi IP címek vagy IP tartományok kizárását, események felülvizsgálatát.
Index: /extensions/HistoryIPExcluder/branches/2.2/language/hu_HU/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/language/hu_HU/plugin.lang.php	(revision 6764)
+++ /extensions/HistoryIPExcluder/branches/2.2/language/hu_HU/plugin.lang.php	(revision 6764)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Ezzel a bővítménnyel kizárhat IP címeket, vagy IP tartományokat az előzményekből és a statisztikából. <br>A blokkolt rekordokat az IP *_history táblában az alábbi táblázat tartalmazza.';
+$lang['HIPE_admin_section1'] = 'IP-k kizárása';
+$lang['HIPE_admin_description1'] = 'IP címek kizárásához írja be az alábbi mezőbe a kizárandó IP-ket, vagy adjon meg IP tartományokat (soronként egyet). IP tartomány kizárásához használja a helyettesítő karaktert "%".<br>Példa : 74.6.1.2 vagy 74.6.%';
+$lang['HIPE_save_config']='Beállítások mentve.';
+$lang['HIPE_CleanHist']='Előzmények törlése';
+$lang['submit']='Elküld';
+$lang['HIPE_admin_section2'] = 'Előzmények tábla lekérdezése';
+$lang['HIPE_admin_section3'] = 'Előzmények lekérdezésének eredménye';
+$lang['HIPE_IPByMember'] = 'Felhasználói IP-k';
+$lang['HIPE_IPByMember_description'] = 'Tagok által használt IP címeket mutatja IP cím szerint rendezve.';
+$lang['HIPE_OnlyGuest'] = 'Csak vendég IP-k';
+$lang['HIPE_OnlyGuest_description'] = 'Az előzmények tábla szerint rendezve csak azon IP címeket mutatja melyekről a vendégek meglátogatták az oldalt. Felsorolja az IP címeket és azt, hogy az adott IP-ről hányszor kapcsolódtak.';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP cím keresése felhasználónév szerint';
+$lang['HIPE_IPForMember_description'] = 'Megkeresi és megjeleníti a regisztrált felhasználó  IP címét (rendezve IP szerint).';
+$lang['HIPE_MemberForIp'] = 'Felhasználó keresése IP cím szerint';
+$lang['HIPE_MemberForIp_description'] = 'Megkeresi és megjeleníti az IP címről csatlakozott felhasználót (rendezve név szerint).';
+
+$lang['HIPE_resquet_ok'] = 'Sikeres lekérdezés.';
+$lang['HIPE_hist_cleaned'] = 'Az előzmények tábla tisztítása kész.';
+
+$lang['IP_geolocalisation'] = 'Földrajzi hely';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Változat: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+$lang['HIPE_IPBlacklist_title'] = 'Regisztrációs feketelista';
+$lang['HIPE_IPBlacklisted'] = ' Regisztráció tiltása az alábbi IP címekről (feketelista)';
+$lang['Error_HIPE_BlacklistedIP'] = 'Hiba! Az IP címed le van tiltva, nem regisztrálhatsz a galériába. További részletekért fordulj a galéria adminisztrátorához.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/branches/2.2/language/hu_HU/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/language/hu_HU/index.php	(revision 5149)
+++ /extensions/HistoryIPExcluder/branches/2.2/language/hu_HU/index.php	(revision 5149)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.2/language/it_IT/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/language/it_IT/description.txt	(revision 6760)
+++ /extensions/HistoryIPExcluder/branches/2.2/language/it_IT/description.txt	(revision 6760)
@@ -0,0 +1,1 @@
+Consenta l'esclusione di un IP o un intervallo IP della storia e della loro "lista nera" per l'inclusione
Index: /extensions/HistoryIPExcluder/branches/2.2/language/it_IT/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/language/it_IT/plugin.lang.php	(revision 6759)
+++ /extensions/HistoryIPExcluder/branches/2.2/language/it_IT/plugin.lang.php	(revision 6759)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Questo plugin esclude gli indirizzi IP o intervalli d\indieizzi dalla cronologgia e dalle statistiche.<br>Attivandolo, gli indirizzi IP specifici della tabella sottostante non saranno pi� registrati nella tabella *.history de PWG.';
+$lang['HIPE_admin_section1'] = 'Esclusione d\'IP';
+$lang['HIPE_admin_description1'] = 'Riempite le tabella sottostante con gli indirizzi IP o intervalli da escludere (uno per riga). Potete usare degli IP completi o una serie usando il carattere jolly "%".<br>Per esempio : 74.6.2.1 o 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configurazione registrata.';
+$lang['HIPE_CleanHist']='Ripulire la cronologgia';
+
+$lang['HIPE_admin_section2'] = 'Selezioni sulla cronologgia';
+$lang['HIPE_admin_section3'] = 'Risultato della selezione';
+$lang['HIPE_IPByMember'] = 'IP per utente';
+$lang['HIPE_IPByMember_description'] = 'Visualizza gli indirizzi IP legati a degli utenti, per indirizzo';
+$lang['HIPE_OnlyGuest'] = 'IP solo degli ospiti';
+$lang['HIPE_OnlyGuest_description'] = 'Visualizza gli indirizzi IP usati unicamente dagli ospiti e il numero di volte che appaiono nella base, per numero di volte per IP';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP di un\'utente';
+$lang['HIPE_IPForMember_description'] = 'Visualizza gli indirizzi IP legati agli utenti, per IP';
+$lang['HIPE_MemberForIp'] = 'Utenti di un\'indirizzo IP';
+$lang['HIPE_MemberForIp_description'] = 'Visualizza gli utenti legati ad un\'indirizzo IP, per utente';
+
+$lang['HIPE_resquet_ok'] = 'Esecuzzione della selezzione riuscita.';
+$lang['HIPE_hist_cleaned'] = 'Operazzione di "pulizzia" della cronologgia riuscito.';
+
+$lang['IP_geolocalisation'] = 'Geolocalizzazione';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Versione: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+/*TODO*/$lang['HIPE_IPBlacklist_title'] = 'Registration blacklist';
+/*TODO*/$lang['HIPE_IPBlacklisted'] = ' Prevent registration to the gallery of excluded IPs (blacklist)';
+/*TODO*/$lang['Error_HIPE_BlacklistedIP'] = 'Error! Your IP has been banned. You can not subscribe to this gallery. Contact the administrator for further details.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/branches/2.2/language/it_IT/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/language/it_IT/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/branches/2.2/language/it_IT/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.2/language/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/language/index.php	(revision 5099)
+++ /extensions/HistoryIPExcluder/branches/2.2/language/index.php	(revision 5099)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.2/language/es_ES/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/language/es_ES/description.txt	(revision 5135)
+++ /extensions/HistoryIPExcluder/branches/2.2/language/es_ES/description.txt	(revision 5135)
@@ -0,0 +1,1 @@
+Permite la exclusión de un IP o de una playa de IP de l reseña histórica.
Index: /extensions/HistoryIPExcluder/branches/2.2/language/es_ES/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/language/es_ES/plugin.lang.php	(revision 6759)
+++ /extensions/HistoryIPExcluder/branches/2.2/language/es_ES/plugin.lang.php	(revision 6759)
@@ -0,0 +1,39 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Este plugin permite excluir de la reseña histórica y las estadísticas del IP o las playas d \'IP. <br> Su activación bloquea el registro en la mesa * _history IP especificados en el tablero más abajo.';
+$lang['HIPE_admin_section1'] = 'IP a excluir';
+$lang['HIPE_admin_description1'] = 'Coja el IP completo o las playas de IP a excluir (Uno por línea) En el marco(ejecutivo) más abajo. Para indicar una playa de IP, utilice el carácter mono "%".<br>Por Ejemplo : 74.6.2.1 o 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configuración registrada.';
+$lang['HIPE_CleanHist']='Limpiar la reseña histórica';
+
+$lang['HIPE_admin_section2'] = 'Demandas sobre la reseña histórica';
+$lang['HIPE_admin_section3'] = 'El resultado de la demanda sobre la reseña histórica';
+$lang['HIPE_IPByMember'] = 'IP de usuarios';
+$lang['HIPE_IPByMember_description'] = 'Búsqueda y fija el IP de usuarios inscritos, (selección por IP)';
+$lang['HIPE_OnlyGuest'] = 'IP de invitados solamente';
+$lang['HIPE_OnlyGuest_description'] = 'Búsqueda y anuncio únicamente el IP utilizados por invitados, y el número de visitas asociados (selección por número de visitas por IP)';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP de un usuario';
+$lang['HIPE_IPForMember_description'] = 'Búsqueda y fija el IP asociados con un usuario inscrito (selección por IP)';
+$lang['HIPE_MemberForIp'] = 'Usuarios de un IP';
+$lang['HIPE_MemberForIp_description'] = 'Búsqueda y fija a los usuarios pegados a un IP (selección por usuario)';
+
+$lang['HIPE_resquet_ok'] = 'Demanda ejecutada.';
+$lang['HIPE_hist_cleaned'] = 'Limpieza de la reseña histórica efectuada.';
+
+$lang['IP_geolocalisation'] = 'Geolocalización';
+$lang['submit'] = 'Someter';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Versión: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+/*TODO*/$lang['HIPE_IPBlacklist_title'] = 'Registration blacklist';
+/*TODO*/$lang['HIPE_IPBlacklisted'] = ' Prevent registration to the gallery of excluded IPs (blacklist)';
+/*TODO*/$lang['Error_HIPE_BlacklistedIP'] = 'Error! Your IP has been banned. You can not subscribe to this gallery. Contact the administrator for further details.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/branches/2.2/language/es_ES/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/language/es_ES/index.php	(revision 5135)
+++ /extensions/HistoryIPExcluder/branches/2.2/language/es_ES/index.php	(revision 5135)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id$
+// | last update   : $Date$
+// | last modifier : $Author$
+// | revision      : $Revision$
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.2/language/fr_FR/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/language/fr_FR/description.txt	(revision 6760)
+++ /extensions/HistoryIPExcluder/branches/2.2/language/fr_FR/description.txt	(revision 6760)
@@ -0,0 +1,1 @@
+Permet l'exclusion d'une IP ou d'une plage d'IP de l historique et de les blacklister à l'inscription
Index: /extensions/HistoryIPExcluder/branches/2.2/language/fr_FR/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/language/fr_FR/plugin.lang.php	(revision 6758)
+++ /extensions/HistoryIPExcluder/branches/2.2/language/fr_FR/plugin.lang.php	(revision 6758)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Ce plugin permet d\'exclure de l\'historique et des statistiques des IP ou plages d\'IP.<br>Son activation bloque l\'enregistrement dans la table *_history des IP spécifiées dans le tableau ci-dessous.';
+$lang['HIPE_admin_section1'] = 'IP à exclure';
+$lang['HIPE_admin_description1'] = 'Saisissez les IP complètes ou plages d\'IP à exclure (une par ligne) dans le cadre ci-dessous. Pour indiquer une plage d\'IP, utilisez le caractère joker "%".<br>Par exemple : 74.6.2.1 ou 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configuration enregistrée.';
+$lang['HIPE_CleanHist']='Nettoyer l\'historique';
+
+$lang['HIPE_admin_section2'] = 'Requêtes sur l\'historique';
+$lang['HIPE_admin_section3'] = 'Résultat de la requête sur l\'historique';
+$lang['HIPE_IPByMember'] = 'IP d\'utilisateurs';
+$lang['HIPE_IPByMember_description'] = 'Recherche et affiche les IP d\'utilisateurs inscrits, (tri par IP)';
+$lang['HIPE_OnlyGuest'] = 'IP d\'invités seulement';
+$lang['HIPE_OnlyGuest_description'] = 'Recherche et affiche uniquement les IP utilisées par des invités, et le nombre de visites associées (tri par nombre de visites par IP)';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP d\'un utilisateur';
+$lang['HIPE_IPForMember_description'] = 'Recherche et affiche les IP associées à un utilisateur inscrit (tri par IP)';
+$lang['HIPE_MemberForIp'] = 'Utilisateurs d\'une IP';
+$lang['HIPE_MemberForIp_description'] = 'Recherche et affiche les utilisateurs attachés à une IP (tri par utilisateur)';
+
+$lang['HIPE_resquet_ok'] = 'Requête exécutée.';
+$lang['HIPE_hist_cleaned'] = 'Nettoyage de l\'historique effectué.';
+
+$lang['IP_geolocalisation'] = 'Géolocalisation';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Version: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+$lang['HIPE_IPBlacklist_title'] = 'Exclusion à l\'inscription';
+$lang['HIPE_IPBlacklisted'] = ' Empêcher l\'inscription à la galerie des IP exclues de l\'historique (Blacklistage)';
+$lang['Error_HIPE_BlacklistedIP'] = 'Erreur! Votre IP a été bannie. Vous ne pouvez plus vous inscrire à cette galerie. Contactez l\'administrateur pour de plus amples détails.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/branches/2.2/language/fr_FR/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/language/fr_FR/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/branches/2.2/language/fr_FR/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.2/admin/HIPE_admin.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/admin/HIPE_admin.php	(revision 6758)
+++ /extensions/HistoryIPExcluder/branches/2.2/admin/HIPE_admin.php	(revision 6758)
@@ -0,0 +1,238 @@
+<?php
+
+if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
+
+load_language('plugin.lang', HIPE_PATH);
+
+// +-----------------------------------------------------------------------+
+// |                      Getting plugin version                           |
+// +-----------------------------------------------------------------------+
+$plugin =  HIPE_infos(HIPE_PATH);
+$version = $plugin['version'];
+$name = $plugin['name'];
+
+
+$ip_geolocalisation1 = '<a href="http://www.geoiptool.com/fr/?IP=';
+$ip_geolocalisation2 = '" title="Geo IP localisation" target="_blank"><img src="'.HIPE_PATH.'/geoip.ico" class="button" alt="'.l10n('IP_geolocalisation').'"></a>';
+
+$ip_ripe1 = '<a href="http://www.ripe.net/whois?form_type=simple&amp;full_query_string=&amp;searchtext=';
+$ip_ripe2 = '+&amp;do_search=Search" title="Ripe Whois" target="_blank">';
+$ip_ripe3 = '</a>';
+
+
+
+if ( isset($_POST['submit']) and !is_adviser() )
+{
+  $v = $_POST['HIPE_IPs_Excluded'];
+  $v = str_replace( "\r\n", ",", $v );
+  $v = str_replace( ",,", ",", $v );
+
+  $conf['HistoryIPExcluder'] = stripslashes($v);
+
+  $query = '
+    UPDATE '.CONFIG_TABLE.'
+    SET value="'.$conf['HistoryIPExcluder'].'"
+    WHERE param="HistoryIPExcluder"
+    LIMIT 1';
+  pwg_query($query);
+
+  if (!isset($_POST['HIPE_chkb'])) $_POST['HIPE_chkb'] = '0';
+  $newconf_HIPE = array(
+    'Blacklist' => $_POST['HIPE_chkb'],
+    'Version'   => $version,
+  );
+  
+  $conf['HistoryIPConfig'] = serialize($newconf_HIPE);
+
+  $query = '
+    UPDATE '.CONFIG_TABLE.'
+    SET value="'.addslashes($conf['HistoryIPConfig']).'"
+    WHERE param="HistoryIPConfig"
+    LIMIT 1';
+  pwg_query($query);
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_save_config'));
+}
+elseif ( isset($_POST['CleanHist']) )
+{
+  $conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+
+  foreach ( $conf_HIPE as $Exclusion )
+  {
+    $query = '
+      delete FROM '.HISTORY_TABLE.' where
+      IP like \''.$Exclusion.'\';';
+    pwg_query($query);
+   }
+
+
+  $query = '
+    truncate '.HISTORY_SUMMARY_TABLE.';';
+  pwg_query($query);
+
+  $query = '
+    UPDATE '.HISTORY_TABLE.'
+    SET summarized = \'false\';';
+  pwg_query($query);
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_hist_cleaned'));
+}
+elseif ( isset($_POST['HIPE_IPByMember']) )
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_IPByMember_description'),
+    )
+  );
+
+  $query = '
+    select distinct h.ip, u.username
+    from '.HISTORY_TABLE.' as h
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where h.user_id <> 2
+    order by h.ip
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->append(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['username'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_OnlyGuest']) )
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_OnlyGuest_description'),
+    )
+  );
+
+  $query1 = '
+    select distinct h.ip
+    from '.HISTORY_TABLE.' as h
+    where h.user_id <> 2
+  ;';
+  
+  $IPsMember = array_from_query($query1, 'ip');
+
+  $query = '
+    select h.ip, count(h.ip) as nbreIP
+    from '.HISTORY_TABLE.' as h
+    where h.ip not in (\''.implode('\',\'', $IPsMember).'\')
+    group by h.ip
+    order by nbreIP desc
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->append(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['nbreIP'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_IPForMember']) and isset($_POST['HIPE_input']))
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_IPForMember_description'),
+    )
+  );
+
+  $query = '
+    select h.ip, u.username
+    from '.HISTORY_TABLE.' as h 
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where u.username like \''.$_POST['HIPE_input'].'\'
+    group by h.ip
+    order by h.ip
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->append(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $subrow['username'],
+        'HIPE_RESULTAT2' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_MemberForIp']) and isset($_POST['HIPE_input']))
+{
+  $template->append(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_MemberForIp_description'),
+    )
+  );
+
+  $query = '
+    select h.ip, u.username
+    from '.HISTORY_TABLE.' as h 
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where h.ip like \''.$_POST['HIPE_input'].'\'
+    group by u.username
+    order by u.username
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->assign(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['username'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+
+$conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+$HIPE_Config = unserialize($conf['HistoryIPConfig']);
+
+$template->assign(
+  array(
+    'HIPE_VERSION' => $version,
+    'HIPE_NAME'    => $name,
+    'HIPE_PATH'    => HIPE_PATH,
+    'IPs_EXCLUDED' => implode("\n", $conf_HIPE),
+  )
+);
+
+  if ($HIPE_Config['Blacklist'] == 1) $template->assign(array('HIPE_IPBlacklisted' => 'checked="checked"'));
+
+  $template->set_filename('plugin_admin_content', dirname(__FILE__) . '/HIPE_admin.tpl');
+  $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
+
+?>
Index: /extensions/HistoryIPExcluder/branches/2.2/admin/HIPE_admin.tpl
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/admin/HIPE_admin.tpl	(revision 6758)
+++ /extensions/HistoryIPExcluder/branches/2.2/admin/HIPE_admin.tpl	(revision 6758)
@@ -0,0 +1,68 @@
+<div class="titrePage">
+  <h2>{$HIPE_NAME}{'HIPE_version'|@translate}{$HIPE_VERSION}</h2>
+</div>
+
+<p>{'HIPE_description'|@translate}</p>
+
+<form method="post" action="" class="general">
+  <fieldset>
+    <legend>{'HIPE_admin_section1'|@translate}</legend>
+
+    <br>
+
+    <label>{'HIPE_admin_description1'|@translate}</label>
+    
+    <div style="text-align:center;">
+      <textarea name="HIPE_IPs_Excluded" rows="10" cols="30" {$TAG_INPUT_ENABLED}>{$IPs_EXCLUDED}</textarea>
+    </div>
+
+    <fieldset>
+    <legend>{'HIPE_IPBlacklist_title'|@translate}</legend>
+      <ul>
+		    <li><input type="checkbox" name="HIPE_chkb" {$HIPE_IPBlacklisted} value="1">&nbsp;{'HIPE_IPBlacklisted'|@translate}</li>
+      </ul>
+    </fieldset>
+    
+    <p><input type="submit" name="submit" value="{'submit'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}> <input type="submit" name="CleanHist" value="{'HIPE_CleanHist'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}></p>
+  
+  </fieldset>
+
+  <fieldset>
+    <legend>{'HIPE_admin_section2'|@translate}</legend>
+  
+      <p style="text-align:center;">
+        <input type="submit" name="HIPE_IPByMember" value="{'HIPE_IPByMember'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+        <input type="submit" name="HIPE_OnlyGuest" value="{'HIPE_OnlyGuest'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+      </p>
+  
+      <p style="text-align:center;">
+        <input type="submit" name="HIPE_MemberForIp" value="{'HIPE_MemberForIp'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+		    <input type="text" name="HIPE_input" value="" size="20" style="text-align: center;" {$TAG_INPUT_ENABLED}>
+        <input type="submit" name="HIPE_IPForMember" value="{'HIPE_IPForMember'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+      </p>
+
+    <fieldset>
+      <legend>{'HIPE_admin_section3'|@translate}</legend>
+	 
+      <label>{$HIPE_DESCRIPTION2}</label>
+
+      <p style="text-align:center;">
+      <table>
+      <!-- BEGIN resultat -->
+      {foreach from=$resultat item=result}
+        <tr style="color: red;">
+          <td>{$result.HIPE_RESULTAT1}</td>
+          <td>{$result.HIPE_RESULTAT2}</td>
+          <td>{$result.HIPE_RESULTAT3}</td>
+          <td>{$result.HIPE_RESULTAT4}</td>
+          <td>{$result.HIPE_RESULTAT5}</td>
+        </tr>
+      {/foreach} 
+      <!-- END resultat -->
+      </table>
+
+    </fieldset>
+    
+  </fieldset>
+
+</form>
Index: /extensions/HistoryIPExcluder/branches/2.2/admin/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/admin/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/branches/2.2/admin/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.2/index.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/branches/2.2/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/branches/2.2/admin.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/admin.php	(revision 9870)
+++ /extensions/HistoryIPExcluder/branches/2.2/admin.php	(revision 9870)
@@ -0,0 +1,3 @@
+<?php
+  include(HIPE_PATH.'admin/HIPE_admin.php');
+?>
Index: /extensions/HistoryIPExcluder/branches/2.2/maintain.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/branches/2.2/maintain.inc.php	(revision 9870)
+++ /extensions/HistoryIPExcluder/branches/2.2/maintain.inc.php	(revision 9870)
@@ -0,0 +1,217 @@
+<?php
+
+if (!defined('HIPE_PATH')) define('HIPE_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
+
+include_once (HIPE_PATH.'include/functions.inc.php');
+
+function plugin_install()
+{
+  global $conf;
+  
+// Set plugin parameters
+  $default= array();
+
+	$query = '
+SELECT param
+  FROM '.CONFIG_TABLE.'
+WHERE param = "HistoryIPExcluder"
+;';
+  $count = pwg_db_num_rows(pwg_query($query));
+  
+  if ($count == 0)
+  {
+    $q = '
+INSERT INTO '.CONFIG_TABLE.' (param,value,comment)
+VALUES ("HistoryIPExcluder","","History IP Excluder parameters");
+';
+      
+    pwg_query($q);
+  }
+
+// Set plugin config
+  $plugin =  HIPE_infos(HIPE_PATH);
+  $version = $plugin['version'];
+
+  $default = array (
+    'Blacklist' => "0",
+    'Version'=> $version,
+  );
+
+	$query = '
+SELECT param
+  FROM '.CONFIG_TABLE.'
+WHERE param = "HistoryIPConfig"
+;';
+  $count = pwg_db_num_rows(pwg_query($query));
+  
+  if ($count == 0)
+  {
+    $q = '
+INSERT INTO '.CONFIG_TABLE.' (param,value,comment)
+VALUES ("HistoryIPConfig","'.addslashes(serialize($default)).'","History IP Excluder options");
+';
+    pwg_query($q);
+  }
+}
+
+
+function plugin_activate()
+{
+  global $conf;
+  
+/* Check for upgrade from 2.0.0 to 2.0.1 */
+/* *************************************** */
+	$query = '
+SELECT param
+  FROM '.CONFIG_TABLE.'
+WHERE param = "nbc_HistoryIPExcluder"
+;';
+  $count = pwg_db_num_rows(pwg_query($query));
+  
+	if ($count == 1)
+	{
+  /* upgrade from version 2.0.0 to 2.0.1  */
+  /* ************************************ */
+		upgrade_200();
+	}
+
+	$query = '
+SELECT param
+  FROM '.CONFIG_TABLE.'
+WHERE param = "HistoryIPConfig"
+;';
+  $count = pwg_db_num_rows(pwg_query($query));
+
+	if ($count == 0)
+	{
+  /* upgrade from version 2.1.0 to 2.1.1  */
+  /* ************************************ */
+		upgrade_210();
+	}
+
+  /* upgrade from version 2.1.1 to 2.2.0 */
+  /* *********************************** */
+  $HIPE_Config = unserialize($conf['HistoryIPConfig']);
+  if ($HIPE_Config['Version'] != "2.2.0")
+  {
+    upgrade_211();
+  }
+}
+
+
+function plugin_uninstall()
+{
+  global $conf;
+
+  if (isset($conf['HistoryIPExcluder']))
+  {
+    $q = '
+DELETE FROM '.CONFIG_TABLE.'
+WHERE param="HistoryIPExcluder" LIMIT 1;
+';
+
+    pwg_query($q);
+  }
+  if (isset($conf['HistoryIPConfig']))
+  {
+    $q = '
+DELETE FROM '.CONFIG_TABLE.'
+WHERE param="HistoryIPConfig" LIMIT 1;
+';
+
+    pwg_query($q);
+  }  
+}
+
+
+function upgrade_200()
+{
+  global $conf;
+  
+  $q = '
+UPDATE '.CONFIG_TABLE.'
+SET param = "HistoryIPExcluder"
+WHERE param = "nbc_HistoryIPExcluder"
+;';
+  pwg_query($q);
+
+  $q = '
+UPDATE '.CONFIG_TABLE.'
+SET comment = "History IP Excluder parameters"
+WHERE comment = "Parametres nbc History IP Excluder"
+;';
+  pwg_query($q);
+
+  upgrade_210();
+}
+
+function upgrade_210()
+{
+  global $conf;
+  
+  $default = array (
+    'Blacklist' => "0",
+    'Version'=> "2.1.1",
+  );
+
+  $q = '
+INSERT INTO '.CONFIG_TABLE.' (param,value,comment)
+VALUES ("HistoryIPConfig","'.addslashes(serialize($default)).'","History IP Excluder options");
+';
+      
+  pwg_query($q);
+}
+
+function upgrade_211()
+{
+  global $conf;
+
+// Update plugin version
+  $query = '
+SELECT value
+  FROM '.CONFIG_TABLE.'
+WHERE param = "HistoryIPConfig"
+;';
+  $result = pwg_query($query);
+  
+  $conf_HIPE = pwg_db_fetch_assoc($result);
+    
+  $Newconf_HIPE = unserialize($conf_HIPE['value']);
+  
+  $Newconf_HIPE[1] = '2.2.0';
+  
+  $update_conf = serialize($Newconf_HIPE);
+
+  $query = '
+UPDATE '.CONFIG_TABLE.'
+SET value="'.addslashes($update_conf).'"
+WHERE param="HistoryIPConfig"
+LIMIT 1
+;';
+
+	pwg_query($query); 
+
+  // Create new HIPE entry in plugins table 
+  $query = '
+INSERT INTO '.PLUGINS_TABLE.' (id, state, version)
+VALUES ("HistoryIPExcluder","active","2.2.0")
+;';
+  
+  pwg_query($query);
+
+  // Delete old plugin entry in plugins table 
+  $query = '
+DELETE FROM '.PLUGINS_TABLE.'
+WHERE id="nbc_HistoryIPExcluder"
+LIMIT 1
+;';
+  
+  pwg_query($query);
+
+  // rename directory
+  if (!rename(PHPWG_PLUGINS_PATH.'nbc_HistoryIPExcluder', PHPWG_PLUGINS_PATH.'HistoryIPExcluder'))
+  {
+    die('Fatal error on plugin upgrade process : Unable to rename directory ! Please, rename manualy the plugin directory name from ../plugins/nbc_HistoryIPExcluder to ../plugins/HistoryIPExcluder.');
+  }
+}
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.1/main.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/main.inc.php	(revision 6761)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/main.inc.php	(revision 6761)
@@ -0,0 +1,125 @@
+<?php
+/*
+Plugin Name: History IP Excluder
+Version: 2.1.1
+Description: Permet l'exclusion d'une IP ou d'une plage d'IP de l'historique et de les blacklister à l'inscription - Base MySql seulement! / Excludes one IP or a range of IP from the history and to blacklist them on registration - MySql database only!
+Plugin URI: http://phpwebgallery.net/ext/extension_view.php?eid=147
+Author: Nicco, Eric
+Author URI: http://gallery-nicco.no-ip.org - http://www.infernoweb.net
+*/
+
+/*
+:: HISTORY
+
+1.0.x to 1.6.x		- Plugin only for PWG 1.7.x
+
+2.0.0             - Compliance with Piwigo 2.0.x
+
+2.1.0             - Compliance with Piwigo 2.1.x
+                  - Multiple database support
+                  - Removing "nbc_" prefix in plugin code and display in piwigo's plugin manager
+                  - Displaying the good plugin name and current version in admin panel
+                  
+2.1.1             - Bug 1792 fixed (Thx to TOnin)
+                  - Bug 1511 fixed - New function to blacklist excluded IPs or ranged IPs for registration
+
+--------------------------------------------------------------------------------
+*/
+
+if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
+
+if (!defined('HIPE_DIR')) define('HIPE_DIR' , basename(dirname(__FILE__)));
+if (!defined('HIPE_PATH')) define('HIPE_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
+
+include_once (HIPE_PATH.'/include/functions.inc.php');
+
+load_language('plugin.lang', HIPE_PATH);
+
+add_event_handler('pwg_log_allowed', 'HIPE_IP_Filtrer');
+add_event_handler('get_admin_plugin_menu_links', 'HIPE_admin_menu');
+
+/* Set the administration panel of the plugin */
+function HIPE_admin_menu($menu)
+{
+// +-----------------------------------------------------------------------+
+// |                      Getting plugin name                              |
+// +-----------------------------------------------------------------------+
+  $plugin =  HIPE_infos(HIPE_PATH);
+  $name = $plugin['name'];
+  
+  array_push($menu,
+    array(
+      'NAME' => $name,
+      'URL' => get_admin_plugin_menu_link(HIPE_PATH.'admin/HIPE_admin.php')
+    )
+  );
+    
+  return $menu;
+}
+
+
+function HIPE_IP_Filtrer($do_log)
+{
+  global $conf;
+
+  $conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+
+  if (!$do_log)
+    return $do_log;
+  else
+  {
+    $IP_Client = explode('.', $_SERVER['REMOTE_ADDR']);
+  
+    foreach ($conf_HIPE as $Exclusion)
+    {
+      $IP_Exclude = explode('.', $Exclusion);
+  
+      if (
+        (($IP_Client[0] == $IP_Exclude[0]) or ($IP_Exclude[0] == '%')) and
+        (!isset($IP_Exclude[1]) or ($IP_Client[1] == $IP_Exclude[1]) or ($IP_Exclude[1] == '%')) and
+        (!isset($IP_Exclude[2]) or ($IP_Client[2] == $IP_Exclude[2]) or ($IP_Exclude[2] == '%')) and
+        (!isset($IP_Exclude[3]) or ($IP_Client[3] == $IP_Exclude[3]) or ($IP_Exclude[3] == '%'))
+      )
+      {
+        $do_log = false;
+      }    
+    }
+     
+    return $do_log;
+  }
+}
+
+/* Check users registration */
+add_event_handler('register_user_check', 'HIPE_RegistrationCheck', EVENT_HANDLER_PRIORITY_NEUTRAL +2, 2);
+
+function HIPE_RegistrationCheck($err, $user)
+{
+  global $errors, $conf;
+  load_language('plugin.lang', HIPE_PATH);
+  
+  if (count($err)!=0 ) return $err;
+  
+  $IP_Client = explode('.', $_SERVER['REMOTE_ADDR']);
+  $HIPE_Config = unserialize($conf['HistoryIPConfig']);
+  $conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+  
+  if (isset($HIPE_Config['Blacklist']) and $HIPE_Config['Blacklist'] == true)
+  {
+    foreach ($conf_HIPE as $Exclusion)
+    {
+      $IP_Exclude = explode('.', $Exclusion);
+  
+      if (
+        (($IP_Client[0] == $IP_Exclude[0]) or ($IP_Exclude[0] == '%')) and
+        (!isset($IP_Exclude[1]) or ($IP_Client[1] == $IP_Exclude[1]) or ($IP_Exclude[1] == '%')) and
+        (!isset($IP_Exclude[2]) or ($IP_Client[2] == $IP_Exclude[2]) or ($IP_Exclude[2] == '%')) and
+        (!isset($IP_Exclude[3]) or ($IP_Client[3] == $IP_Exclude[3]) or ($IP_Exclude[3] == '%'))
+      )
+      {
+        $err = l10n('Error_HIPE_BlacklistedIP');
+      }
+    }
+    return $err;
+  }
+}
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.1/include/functions.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/include/functions.inc.php	(revision 5615)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/include/functions.inc.php	(revision 5615)
@@ -0,0 +1,48 @@
+<?php
+
+load_language('plugin.lang', HIPE_PATH);
+
+function HIPE_infos($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/HistoryIPExcluder/tags/2.1.1/language/en_UK/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/language/en_UK/description.txt	(revision 6761)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/language/en_UK/description.txt	(revision 6761)
@@ -0,0 +1,1 @@
+Excludes one IP or a range of IP from the history and to blacklist them on registration
Index: /extensions/HistoryIPExcluder/tags/2.1.1/language/en_UK/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/language/en_UK/plugin.lang.php	(revision 6761)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/language/en_UK/plugin.lang.php	(revision 6761)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'This plugin allows to exclude from the history and statistics of IP or IP ranges. <br>Its activation blocks record in the table of IP *_history specified in the table below.';
+$lang['HIPE_admin_section1'] = 'IP Exclusion';
+$lang['HIPE_admin_description1'] = 'Enter the complete IP or IP ranges to exclude (one per line) in the box below. To specify an IP range, use the wildcard character "%".<br>Example : 74.6.1.2 or 74.6.%';
+$lang['HIPE_save_config']='Configuration saved.';
+$lang['HIPE_CleanHist']='Clean History';
+
+$lang['HIPE_admin_section2'] = 'Queries on history table';
+$lang['HIPE_admin_section3'] = 'Result of the historic request';
+$lang['HIPE_IPByMember'] = 'IPs by member';
+$lang['HIPE_IPByMember_description'] = 'Show the IPs used by members, sorted by IP';
+$lang['HIPE_OnlyGuest'] = 'Only Guests IPs';
+$lang['HIPE_OnlyGuest_description'] = 'Show the IPs only used by Guests and the number of times it\'s found in the history table, sorted by the number of times';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IPs for a member';
+$lang['HIPE_IPForMember_description'] = 'Search and displays the IPs associated with a registered user (sorted by IP)';
+$lang['HIPE_MemberForIp'] = 'Members for one IP';
+$lang['HIPE_MemberForIp_description'] = 'Search and display users attached to one IP (sorted by name)';
+
+$lang['HIPE_resquet_ok'] = 'Request OK.';
+$lang['HIPE_hist_cleaned'] = 'Cleaning of the history table done.';
+
+$lang['IP_geolocalisation'] = 'Geolocalisation';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Version: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+$lang['HIPE_IPBlacklist_title'] = 'Registration blacklist';
+$lang['HIPE_IPBlacklisted'] = ' Prevent registration to the gallery of excluded IPs (blacklist)';
+$lang['Error_HIPE_BlacklistedIP'] = 'Error! Your IP has been banned. You can not subscribe to this gallery. Contact the administrator for further details.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.1/language/en_UK/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/language/en_UK/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/language/en_UK/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.1/language/hu_HU/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/language/hu_HU/description.txt	(revision 5149)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/language/hu_HU/description.txt	(revision 5149)
@@ -0,0 +1,1 @@
+Lehetővé teszi IP címek vagy IP tartományok kizárását, események felülvizsgálatát.
Index: /extensions/HistoryIPExcluder/tags/2.1.1/language/hu_HU/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/language/hu_HU/plugin.lang.php	(revision 6761)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/language/hu_HU/plugin.lang.php	(revision 6761)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Ezzel a bővítménnyel kizárhat IP címeket, vagy IP tartományokat az előzményekből és a statisztikából. <br>A blokkolt rekordokat az IP *_history táblában az alábbi táblázat tartalmazza.';
+$lang['HIPE_admin_section1'] = 'IP-k kizárása';
+$lang['HIPE_admin_description1'] = 'IP címek kizárásához írja be az alábbi mezőbe a kizárandó IP-ket, vagy adjon meg IP tartományokat (soronként egyet). IP tartomány kizárásához használja a helyettesítő karaktert "%".<br>Példa : 74.6.1.2 vagy 74.6.%';
+$lang['HIPE_save_config']='Beállítások mentve.';
+$lang['HIPE_CleanHist']='Előzmények törlése';
+$lang['submit']='Elküld';
+$lang['HIPE_admin_section2'] = 'Előzmények tábla lekérdezése';
+$lang['HIPE_admin_section3'] = 'Előzmények lekérdezésének eredménye';
+$lang['HIPE_IPByMember'] = 'Felhasználói IP-k';
+$lang['HIPE_IPByMember_description'] = 'Tagok által használt IP címeket mutatja IP cím szerint rendezve.';
+$lang['HIPE_OnlyGuest'] = 'Csak vendég IP-k';
+$lang['HIPE_OnlyGuest_description'] = 'Az előzmények tábla szerint rendezve csak azon IP címeket mutatja melyekről a vendégek meglátogatták az oldalt. Felsorolja az IP címeket és azt, hogy az adott IP-ről hányszor kapcsolódtak.';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP cím keresése felhasználónév szerint';
+$lang['HIPE_IPForMember_description'] = 'Megkeresi és megjeleníti a regisztrált felhasználó  IP címét (rendezve IP szerint).';
+$lang['HIPE_MemberForIp'] = 'Felhasználó keresése IP cím szerint';
+$lang['HIPE_MemberForIp_description'] = 'Megkeresi és megjeleníti az IP címről csatlakozott felhasználót (rendezve név szerint).';
+
+$lang['HIPE_resquet_ok'] = 'Sikeres lekérdezés.';
+$lang['HIPE_hist_cleaned'] = 'Az előzmények tábla tisztítása kész.';
+
+$lang['IP_geolocalisation'] = 'Földrajzi hely';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Változat: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+/*TODO*/$lang['HIPE_IPBlacklist_title'] = 'Registration blacklist';
+/*TODO*/$lang['HIPE_IPBlacklisted'] = ' Prevent registration to the gallery of excluded IPs (blacklist)';
+/*TODO*/$lang['Error_HIPE_BlacklistedIP'] = 'Error! Your IP has been banned. You can not subscribe to this gallery. Contact the administrator for further details.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.1/language/hu_HU/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/language/hu_HU/index.php	(revision 5149)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/language/hu_HU/index.php	(revision 5149)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.1/language/it_IT/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/language/it_IT/description.txt	(revision 6761)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/language/it_IT/description.txt	(revision 6761)
@@ -0,0 +1,1 @@
+Consenta l'esclusione di un IP o un intervallo IP della storia e della loro "lista nera" per l'inclusione
Index: /extensions/HistoryIPExcluder/tags/2.1.1/language/it_IT/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/language/it_IT/plugin.lang.php	(revision 6761)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/language/it_IT/plugin.lang.php	(revision 6761)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Questo plugin esclude gli indirizzi IP o intervalli d\indieizzi dalla cronologgia e dalle statistiche.<br>Attivandolo, gli indirizzi IP specifici della tabella sottostante non saranno pi� registrati nella tabella *.history de PWG.';
+$lang['HIPE_admin_section1'] = 'Esclusione d\'IP';
+$lang['HIPE_admin_description1'] = 'Riempite le tabella sottostante con gli indirizzi IP o intervalli da escludere (uno per riga). Potete usare degli IP completi o una serie usando il carattere jolly "%".<br>Per esempio : 74.6.2.1 o 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configurazione registrata.';
+$lang['HIPE_CleanHist']='Ripulire la cronologgia';
+
+$lang['HIPE_admin_section2'] = 'Selezioni sulla cronologgia';
+$lang['HIPE_admin_section3'] = 'Risultato della selezione';
+$lang['HIPE_IPByMember'] = 'IP per utente';
+$lang['HIPE_IPByMember_description'] = 'Visualizza gli indirizzi IP legati a degli utenti, per indirizzo';
+$lang['HIPE_OnlyGuest'] = 'IP solo degli ospiti';
+$lang['HIPE_OnlyGuest_description'] = 'Visualizza gli indirizzi IP usati unicamente dagli ospiti e il numero di volte che appaiono nella base, per numero di volte per IP';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP di un\'utente';
+$lang['HIPE_IPForMember_description'] = 'Visualizza gli indirizzi IP legati agli utenti, per IP';
+$lang['HIPE_MemberForIp'] = 'Utenti di un\'indirizzo IP';
+$lang['HIPE_MemberForIp_description'] = 'Visualizza gli utenti legati ad un\'indirizzo IP, per utente';
+
+$lang['HIPE_resquet_ok'] = 'Esecuzzione della selezzione riuscita.';
+$lang['HIPE_hist_cleaned'] = 'Operazzione di "pulizzia" della cronologgia riuscito.';
+
+$lang['IP_geolocalisation'] = 'Geolocalizzazione';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Versione: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+/*TODO*/$lang['HIPE_IPBlacklist_title'] = 'Registration blacklist';
+/*TODO*/$lang['HIPE_IPBlacklisted'] = ' Prevent registration to the gallery of excluded IPs (blacklist)';
+/*TODO*/$lang['Error_HIPE_BlacklistedIP'] = 'Error! Your IP has been banned. You can not subscribe to this gallery. Contact the administrator for further details.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.1/language/it_IT/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/language/it_IT/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/language/it_IT/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.1/language/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/language/index.php	(revision 5099)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/language/index.php	(revision 5099)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.1/language/es_ES/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/language/es_ES/description.txt	(revision 5135)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/language/es_ES/description.txt	(revision 5135)
@@ -0,0 +1,1 @@
+Permite la exclusión de un IP o de una playa de IP de l reseña histórica.
Index: /extensions/HistoryIPExcluder/tags/2.1.1/language/es_ES/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/language/es_ES/plugin.lang.php	(revision 6761)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/language/es_ES/plugin.lang.php	(revision 6761)
@@ -0,0 +1,39 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Este plugin permite excluir de la reseña histórica y las estadísticas del IP o las playas d \'IP. <br> Su activación bloquea el registro en la mesa * _history IP especificados en el tablero más abajo.';
+$lang['HIPE_admin_section1'] = 'IP a excluir';
+$lang['HIPE_admin_description1'] = 'Coja el IP completo o las playas de IP a excluir (Uno por línea) En el marco(ejecutivo) más abajo. Para indicar una playa de IP, utilice el carácter mono "%".<br>Por Ejemplo : 74.6.2.1 o 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configuración registrada.';
+$lang['HIPE_CleanHist']='Limpiar la reseña histórica';
+
+$lang['HIPE_admin_section2'] = 'Demandas sobre la reseña histórica';
+$lang['HIPE_admin_section3'] = 'El resultado de la demanda sobre la reseña histórica';
+$lang['HIPE_IPByMember'] = 'IP de usuarios';
+$lang['HIPE_IPByMember_description'] = 'Búsqueda y fija el IP de usuarios inscritos, (selección por IP)';
+$lang['HIPE_OnlyGuest'] = 'IP de invitados solamente';
+$lang['HIPE_OnlyGuest_description'] = 'Búsqueda y anuncio únicamente el IP utilizados por invitados, y el número de visitas asociados (selección por número de visitas por IP)';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP de un usuario';
+$lang['HIPE_IPForMember_description'] = 'Búsqueda y fija el IP asociados con un usuario inscrito (selección por IP)';
+$lang['HIPE_MemberForIp'] = 'Usuarios de un IP';
+$lang['HIPE_MemberForIp_description'] = 'Búsqueda y fija a los usuarios pegados a un IP (selección por usuario)';
+
+$lang['HIPE_resquet_ok'] = 'Demanda ejecutada.';
+$lang['HIPE_hist_cleaned'] = 'Limpieza de la reseña histórica efectuada.';
+
+$lang['IP_geolocalisation'] = 'Geolocalización';
+$lang['submit'] = 'Someter';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Versión: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+/*TODO*/$lang['HIPE_IPBlacklist_title'] = 'Registration blacklist';
+/*TODO*/$lang['HIPE_IPBlacklisted'] = ' Prevent registration to the gallery of excluded IPs (blacklist)';
+/*TODO*/$lang['Error_HIPE_BlacklistedIP'] = 'Error! Your IP has been banned. You can not subscribe to this gallery. Contact the administrator for further details.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.1/language/es_ES/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/language/es_ES/index.php	(revision 5135)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/language/es_ES/index.php	(revision 5135)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id$
+// | last update   : $Date$
+// | last modifier : $Author$
+// | revision      : $Revision$
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.1/language/fr_FR/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/language/fr_FR/description.txt	(revision 6761)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/language/fr_FR/description.txt	(revision 6761)
@@ -0,0 +1,1 @@
+Permet l'exclusion d'une IP ou d'une plage d'IP de l historique et de les blacklister à l'inscription
Index: /extensions/HistoryIPExcluder/tags/2.1.1/language/fr_FR/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/language/fr_FR/plugin.lang.php	(revision 6761)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/language/fr_FR/plugin.lang.php	(revision 6761)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Ce plugin permet d\'exclure de l\'historique et des statistiques des IP ou plages d\'IP.<br>Son activation bloque l\'enregistrement dans la table *_history des IP spécifiées dans le tableau ci-dessous.';
+$lang['HIPE_admin_section1'] = 'IP à exclure';
+$lang['HIPE_admin_description1'] = 'Saisissez les IP complètes ou plages d\'IP à exclure (une par ligne) dans le cadre ci-dessous. Pour indiquer une plage d\'IP, utilisez le caractère joker "%".<br>Par exemple : 74.6.2.1 ou 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configuration enregistrée.';
+$lang['HIPE_CleanHist']='Nettoyer l\'historique';
+
+$lang['HIPE_admin_section2'] = 'Requêtes sur l\'historique';
+$lang['HIPE_admin_section3'] = 'Résultat de la requête sur l\'historique';
+$lang['HIPE_IPByMember'] = 'IP d\'utilisateurs';
+$lang['HIPE_IPByMember_description'] = 'Recherche et affiche les IP d\'utilisateurs inscrits, (tri par IP)';
+$lang['HIPE_OnlyGuest'] = 'IP d\'invités seulement';
+$lang['HIPE_OnlyGuest_description'] = 'Recherche et affiche uniquement les IP utilisées par des invités, et le nombre de visites associées (tri par nombre de visites par IP)';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP d\'un utilisateur';
+$lang['HIPE_IPForMember_description'] = 'Recherche et affiche les IP associées à un utilisateur inscrit (tri par IP)';
+$lang['HIPE_MemberForIp'] = 'Utilisateurs d\'une IP';
+$lang['HIPE_MemberForIp_description'] = 'Recherche et affiche les utilisateurs attachés à une IP (tri par utilisateur)';
+
+$lang['HIPE_resquet_ok'] = 'Requête exécutée.';
+$lang['HIPE_hist_cleaned'] = 'Nettoyage de l\'historique effectué.';
+
+$lang['IP_geolocalisation'] = 'Géolocalisation';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Version: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+$lang['HIPE_IPBlacklist_title'] = 'Exclusion à l\'inscription';
+$lang['HIPE_IPBlacklisted'] = ' Empêcher l\'inscription à la galerie des IP exclues de l\'historique (Blacklistage)';
+$lang['Error_HIPE_BlacklistedIP'] = 'Erreur! Votre IP a été bannie. Vous ne pouvez plus vous inscrire à cette galerie. Contactez l\'administrateur pour de plus amples détails.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.1/language/fr_FR/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/language/fr_FR/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/language/fr_FR/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.1/admin/HIPE_admin.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/admin/HIPE_admin.php	(revision 6761)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/admin/HIPE_admin.php	(revision 6761)
@@ -0,0 +1,238 @@
+<?php
+
+if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
+
+load_language('plugin.lang', HIPE_PATH);
+
+// +-----------------------------------------------------------------------+
+// |                      Getting plugin version                           |
+// +-----------------------------------------------------------------------+
+$plugin =  HIPE_infos(HIPE_PATH);
+$version = $plugin['version'];
+$name = $plugin['name'];
+
+
+$ip_geolocalisation1 = '<a href="http://www.geoiptool.com/fr/?IP=';
+$ip_geolocalisation2 = '" title="Geo IP localisation" target="_blank"><img src="'.HIPE_PATH.'/geoip.ico" class="button" alt="'.l10n('IP_geolocalisation').'"></a>';
+
+$ip_ripe1 = '<a href="http://www.ripe.net/whois?form_type=simple&amp;full_query_string=&amp;searchtext=';
+$ip_ripe2 = '+&amp;do_search=Search" title="Ripe Whois" target="_blank">';
+$ip_ripe3 = '</a>';
+
+
+
+if ( isset($_POST['submit']) and !is_adviser() )
+{
+  $v = $_POST['HIPE_IPs_Excluded'];
+  $v = str_replace( "\r\n", ",", $v );
+  $v = str_replace( ",,", ",", $v );
+
+  $conf['HistoryIPExcluder'] = stripslashes($v);
+
+  $query = '
+    UPDATE '.CONFIG_TABLE.'
+    SET value="'.$conf['HistoryIPExcluder'].'"
+    WHERE param="HistoryIPExcluder"
+    LIMIT 1';
+  pwg_query($query);
+
+  if (!isset($_POST['HIPE_chkb'])) $_POST['HIPE_chkb'] = '0';
+  $newconf_HIPE = array(
+    'Blacklist' => $_POST['HIPE_chkb'],
+    'Version'   => $version,
+  );
+  
+  $conf['HistoryIPConfig'] = serialize($newconf_HIPE);
+
+  $query = '
+    UPDATE '.CONFIG_TABLE.'
+    SET value="'.addslashes($conf['HistoryIPConfig']).'"
+    WHERE param="HistoryIPConfig"
+    LIMIT 1';
+  pwg_query($query);
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_save_config'));
+}
+elseif ( isset($_POST['CleanHist']) )
+{
+  $conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+
+  foreach ( $conf_HIPE as $Exclusion )
+  {
+    $query = '
+      delete FROM '.HISTORY_TABLE.' where
+      IP like \''.$Exclusion.'\';';
+    pwg_query($query);
+   }
+
+
+  $query = '
+    truncate '.HISTORY_SUMMARY_TABLE.';';
+  pwg_query($query);
+
+  $query = '
+    UPDATE '.HISTORY_TABLE.'
+    SET summarized = \'false\';';
+  pwg_query($query);
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_hist_cleaned'));
+}
+elseif ( isset($_POST['HIPE_IPByMember']) )
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_IPByMember_description'),
+    )
+  );
+
+  $query = '
+    select distinct h.ip, u.username
+    from '.HISTORY_TABLE.' as h
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where h.user_id <> 2
+    order by h.ip
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->append(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['username'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_OnlyGuest']) )
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_OnlyGuest_description'),
+    )
+  );
+
+  $query1 = '
+    select distinct h.ip
+    from '.HISTORY_TABLE.' as h
+    where h.user_id <> 2
+  ;';
+  
+  $IPsMember = array_from_query($query1, 'ip');
+
+  $query = '
+    select h.ip, count(h.ip) as nbreIP
+    from '.HISTORY_TABLE.' as h
+    where h.ip not in (\''.implode('\',\'', $IPsMember).'\')
+    group by h.ip
+    order by nbreIP desc
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->append(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['nbreIP'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_IPForMember']) and isset($_POST['HIPE_input']))
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_IPForMember_description'),
+    )
+  );
+
+  $query = '
+    select h.ip, u.username
+    from '.HISTORY_TABLE.' as h 
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where u.username like \''.$_POST['HIPE_input'].'\'
+    group by h.ip
+    order by h.ip
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->append(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $subrow['username'],
+        'HIPE_RESULTAT2' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_MemberForIp']) and isset($_POST['HIPE_input']))
+{
+  $template->append(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_MemberForIp_description'),
+    )
+  );
+
+  $query = '
+    select h.ip, u.username
+    from '.HISTORY_TABLE.' as h 
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where h.ip like \''.$_POST['HIPE_input'].'\'
+    group by u.username
+    order by u.username
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->assign(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['username'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+
+$conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+$HIPE_Config = unserialize($conf['HistoryIPConfig']);
+
+$template->assign(
+  array(
+    'HIPE_VERSION' => $version,
+    'HIPE_NAME'    => $name,
+    'HIPE_PATH'    => HIPE_PATH,
+    'IPs_EXCLUDED' => implode("\n", $conf_HIPE),
+  )
+);
+
+  if ($HIPE_Config['Blacklist'] == 1) $template->assign(array('HIPE_IPBlacklisted' => 'checked="checked"'));
+
+  $template->set_filename('plugin_admin_content', dirname(__FILE__) . '/HIPE_admin.tpl');
+  $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
+
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.1/admin/HIPE_admin.tpl
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/admin/HIPE_admin.tpl	(revision 6761)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/admin/HIPE_admin.tpl	(revision 6761)
@@ -0,0 +1,68 @@
+<div class="titrePage">
+  <h2>{$HIPE_NAME}{'HIPE_version'|@translate}{$HIPE_VERSION}</h2>
+</div>
+
+<p>{'HIPE_description'|@translate}</p>
+
+<form method="post" action="" class="general">
+  <fieldset>
+    <legend>{'HIPE_admin_section1'|@translate}</legend>
+
+    <br>
+
+    <label>{'HIPE_admin_description1'|@translate}</label>
+    
+    <div style="text-align:center;">
+      <textarea name="HIPE_IPs_Excluded" rows="10" cols="30" {$TAG_INPUT_ENABLED}>{$IPs_EXCLUDED}</textarea>
+    </div>
+
+    <fieldset>
+    <legend>{'HIPE_IPBlacklist_title'|@translate}</legend>
+      <ul>
+		    <li><input type="checkbox" name="HIPE_chkb" {$HIPE_IPBlacklisted} value="1">&nbsp;{'HIPE_IPBlacklisted'|@translate}</li>
+      </ul>
+    </fieldset>
+    
+    <p><input type="submit" name="submit" value="{'submit'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}> <input type="submit" name="CleanHist" value="{'HIPE_CleanHist'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}></p>
+  
+  </fieldset>
+
+  <fieldset>
+    <legend>{'HIPE_admin_section2'|@translate}</legend>
+  
+      <p style="text-align:center;">
+        <input type="submit" name="HIPE_IPByMember" value="{'HIPE_IPByMember'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+        <input type="submit" name="HIPE_OnlyGuest" value="{'HIPE_OnlyGuest'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+      </p>
+  
+      <p style="text-align:center;">
+        <input type="submit" name="HIPE_MemberForIp" value="{'HIPE_MemberForIp'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+		    <input type="text" name="HIPE_input" value="" size="20" style="text-align: center;" {$TAG_INPUT_ENABLED}>
+        <input type="submit" name="HIPE_IPForMember" value="{'HIPE_IPForMember'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+      </p>
+
+    <fieldset>
+      <legend>{'HIPE_admin_section3'|@translate}</legend>
+	 
+      <label>{$HIPE_DESCRIPTION2}</label>
+
+      <p style="text-align:center;">
+      <table>
+      <!-- BEGIN resultat -->
+      {foreach from=$resultat item=result}
+        <tr style="color: red;">
+          <td>{$result.HIPE_RESULTAT1}</td>
+          <td>{$result.HIPE_RESULTAT2}</td>
+          <td>{$result.HIPE_RESULTAT3}</td>
+          <td>{$result.HIPE_RESULTAT4}</td>
+          <td>{$result.HIPE_RESULTAT5}</td>
+        </tr>
+      {/foreach} 
+      <!-- END resultat -->
+      </table>
+
+    </fieldset>
+    
+  </fieldset>
+
+</form>
Index: /extensions/HistoryIPExcluder/tags/2.1.1/admin/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/admin/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/admin/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.1/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.1/maintain.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.1/maintain.inc.php	(revision 6761)
+++ /extensions/HistoryIPExcluder/tags/2.1.1/maintain.inc.php	(revision 6761)
@@ -0,0 +1,128 @@
+<?php
+
+function plugin_install()
+{
+  global $conf;
+  
+  $default= array();
+
+  $q = '
+INSERT INTO '.CONFIG_TABLE.' (param,value,comment)
+VALUES ("HistoryIPExcluder","","History IP Excluder parameters");
+';
+      
+  pwg_query($q);
+
+$default = array (
+  'Blacklist' => "0",
+  'Version'=> "2.1.1",
+);
+
+  $q = '
+INSERT INTO '.CONFIG_TABLE.' (param,value,comment)
+VALUES ("HistoryIPConfig","'.addslashes(serialize($default)).'","History IP Excluder options");
+';
+      
+  pwg_query($q);
+}
+
+
+function plugin_activate()
+{
+  global $conf;
+  
+/* Check for upgrade from 2.0.0 to 2.0.1 */
+/* *************************************** */
+	$query = '
+SELECT param
+  FROM '.CONFIG_TABLE.'
+WHERE param = "nbc_HistoryIPExcluder"
+;';
+  $count = pwg_db_num_rows(pwg_query($query));
+  
+	if ($count == 1)
+	{
+  /* upgrade from branch 2.0.0 to 2.0.1   */
+  /* ************************************ */
+		upgrade_200();
+	}
+
+	$query = '
+SELECT param
+  FROM '.CONFIG_TABLE.'
+WHERE param = "HistoryIPConfig"
+;';
+  $count = pwg_db_num_rows(pwg_query($query));
+
+	if ($count == 0)
+	{
+  /* upgrade from branch 2.1.0 to 2.1.1   */
+  /* ************************************ */
+		upgrade_210();
+	}
+}
+
+
+function plugin_uninstall()
+{
+  global $conf;
+
+  if (isset($conf['HistoryIPExcluder']))
+  {
+    $q = '
+DELETE FROM '.CONFIG_TABLE.'
+WHERE param="HistoryIPExcluder" LIMIT 1;
+';
+
+    pwg_query($q);
+  }
+  if (isset($conf['HistoryIPConfig']))
+  {
+    $q = '
+DELETE FROM '.CONFIG_TABLE.'
+WHERE param="HistoryIPConfig" LIMIT 1;
+';
+
+    pwg_query($q);
+  }  
+}
+
+
+function upgrade_200()
+{
+  global $conf;
+  
+  $q = '
+UPDATE '.CONFIG_TABLE.'
+SET param = "HistoryIPExcluder"
+WHERE param = "nbc_HistoryIPExcluder"
+;';
+  pwg_query($q);
+
+  $q = '
+UPDATE '.CONFIG_TABLE.'
+SET comment = "History IP Excluder parameters"
+WHERE comment = "Parametres nbc History IP Excluder"
+;';
+  pwg_query($q);
+
+  upgrade_210();
+}
+
+function upgrade_210()
+{
+  global $conf;
+  
+  $default = array (
+    'Blacklist' => "0",
+    'Version'=> "2.1.1",
+  );
+
+  $q = '
+INSERT INTO '.CONFIG_TABLE.' (param,value,comment)
+VALUES ("HistoryIPConfig","'.addslashes(serialize($default)).'","History IP Excluder options");
+';
+      
+  pwg_query($q);
+}
+?>
Index: /extensions/HistoryIPExcluder/tags/2.2.0/main.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/main.inc.php	(revision 9870)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/main.inc.php	(revision 9870)
@@ -0,0 +1,128 @@
+<?php
+/*
+Plugin Name: History IP Excluder
+Version: 2.2.0
+Description: Permet l'exclusion d'une IP ou d'une plage d'IP de l'historique et de les blacklister à l'inscription - Base MySql seulement! / Excludes one IP or a range of IP from the history and to blacklist them on registration - MySql database only!
+Plugin URI: http://phpwebgallery.net/ext/extension_view.php?eid=147
+Author: Nicco, Eric
+Author URI: http://gallery-nicco.no-ip.org - http://www.infernoweb.net
+*/
+
+/*
+:: HISTORY
+
+1.0.x to 1.6.x		- Plugin only for PWG 1.7.x
+
+2.0.0             - Compliance with Piwigo 2.0.x
+
+2.1.0             - Compliance with Piwigo 2.1.x
+                  - Multiple database support
+                  - Removing "nbc_" prefix in plugin code and display in piwigo's plugin manager
+                  - Displaying the good plugin name and current version in admin panel
+                  
+2.1.1             - Bug 1792 fixed (Thx to TOnin)
+                  - Bug 1511 fixed - New function to blacklist excluded IPs or ranged IPs for registration
+
+2.2.0             - Compliance with Piwigo 2.2.x
+                  - Plugin directory renamed from nbc_HistoryIPExcluder to HistoryIPExcluder
+
+--------------------------------------------------------------------------------
+*/
+
+if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
+
+if (!defined('HIPE_PATH')) define('HIPE_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
+
+include_once (HIPE_PATH.'/include/functions.inc.php');
+
+load_language('plugin.lang', HIPE_PATH);
+
+add_event_handler('get_admin_plugin_menu_links', 'HIPE_admin_menu');
+
+/* Set the administration panel of the plugin */
+function HIPE_admin_menu($menu)
+{
+// +-----------------------------------------------------------------------+
+// |                      Getting plugin name                              |
+// +-----------------------------------------------------------------------+
+  $plugin =  HIPE_infos(HIPE_PATH);
+  $name = $plugin['name'];
+  
+  array_push($menu,
+    array(
+      'NAME' => $name,
+      'URL' => get_root_url().'admin.php?page=plugin-'.basename(HIPE_PATH)
+    )
+  );
+    
+  return $menu;
+}
+
+// IP exclusion from logs
+add_event_handler('pwg_log_allowed', 'HIPE_IP_Filtrer');
+
+function HIPE_IP_Filtrer($do_log)
+{
+  global $conf;
+
+  $conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+
+  if (!$do_log)
+    return $do_log;
+  else
+  {
+    $IP_Client = explode('.', $_SERVER['REMOTE_ADDR']);
+  
+    foreach ($conf_HIPE as $Exclusion)
+    {
+      $IP_Exclude = explode('.', $Exclusion);
+  
+      if (
+        (($IP_Client[0] == $IP_Exclude[0]) or ($IP_Exclude[0] == '%')) and
+        (!isset($IP_Exclude[1]) or ($IP_Client[1] == $IP_Exclude[1]) or ($IP_Exclude[1] == '%')) and
+        (!isset($IP_Exclude[2]) or ($IP_Client[2] == $IP_Exclude[2]) or ($IP_Exclude[2] == '%')) and
+        (!isset($IP_Exclude[3]) or ($IP_Client[3] == $IP_Exclude[3]) or ($IP_Exclude[3] == '%'))
+      )
+      {
+        $do_log = false;
+      }    
+    }
+     
+    return $do_log;
+  }
+}
+
+/* Check users registration */
+add_event_handler('register_user_check', 'HIPE_RegistrationCheck', EVENT_HANDLER_PRIORITY_NEUTRAL +2, 2);
+
+function HIPE_RegistrationCheck($err, $user)
+{
+  global $errors, $conf;
+  load_language('plugin.lang', HIPE_PATH);
+  
+  if (count($err)!=0 ) return $err;
+  
+  $IP_Client = explode('.', $_SERVER['REMOTE_ADDR']);
+  $HIPE_Config = unserialize($conf['HistoryIPConfig']);
+  $conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+  
+  if (isset($HIPE_Config['Blacklist']) and $HIPE_Config['Blacklist'] == true)
+  {
+    foreach ($conf_HIPE as $Exclusion)
+    {
+      $IP_Exclude = explode('.', $Exclusion);
+  
+      if (
+        (($IP_Client[0] == $IP_Exclude[0]) or ($IP_Exclude[0] == '%')) and
+        (!isset($IP_Exclude[1]) or ($IP_Client[1] == $IP_Exclude[1]) or ($IP_Exclude[1] == '%')) and
+        (!isset($IP_Exclude[2]) or ($IP_Client[2] == $IP_Exclude[2]) or ($IP_Exclude[2] == '%')) and
+        (!isset($IP_Exclude[3]) or ($IP_Client[3] == $IP_Exclude[3]) or ($IP_Exclude[3] == '%'))
+      )
+      {
+        $err = l10n('Error_HIPE_BlacklistedIP');
+      }
+    }
+    return $err;
+  }
+}
+?>
Index: /extensions/HistoryIPExcluder/tags/2.2.0/include/functions.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/include/functions.inc.php	(revision 5615)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/include/functions.inc.php	(revision 5615)
@@ -0,0 +1,48 @@
+<?php
+
+load_language('plugin.lang', HIPE_PATH);
+
+function HIPE_infos($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/HistoryIPExcluder/tags/2.2.0/language/de_DE/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/language/de_DE/description.txt	(revision 6760)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/language/de_DE/description.txt	(revision 6760)
@@ -0,0 +1,1 @@
+Es erlaubt der Ausschluss von einer IP oder IP-Bereich der Geschichte und der Blacklist sie für die Aufnahme
Index: /extensions/HistoryIPExcluder/tags/2.2.0/language/de_DE/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/language/de_DE/plugin.lang.php	(revision 6765)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/language/de_DE/plugin.lang.php	(revision 6765)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Diese Erweiterung erlaubt es, einzelne IP Adressen oder Adressbereiche von der Erfassung in der Historie und den Statistiken auszunehmen . <br>Wird die Erweiterung aktiviert, werden die unten angegebenen IP Adressen nicht in die *_history Tabellen übernommen.';
+$lang['HIPE_admin_section1'] = 'Auszunehmende IP Adressen';
+$lang['HIPE_admin_description1'] = 'Geben Sie die auszunehmen IP Adresse oder den auszunehmenden Addressbereich (ein Eintrag pro Zeile) in das Feld unten ein. Benutzen Sie das Stellvertretersymbol "%", um Adressbereiche einzugeben.<br>Beispiel: 74.6.1.2 oder 74.6.%';
+$lang['HIPE_save_config']='Einstellungen gespeichert.';
+$lang['HIPE_CleanHist']='Historie löschen';
+
+$lang['HIPE_admin_section2'] = 'Abfragen in der History Tabelle';
+$lang['HIPE_admin_section3'] = 'Ergebnis der Abfrage';
+$lang['HIPE_IPByMember'] = 'IP Adressen von Mitgliedern';
+$lang['HIPE_IPByMember_description'] = 'Zeigt die IP Adressen an, die von Mitgliedern benutzt werden (nach IP Adresse sortiert)';
+$lang['HIPE_OnlyGuest'] = 'IP Adressen von Gästen';
+$lang['HIPE_OnlyGuest_description'] = 'Zeigt die IP Adressen von Gastbenutzern und die Anzahl der Einträge in der History Tabelle an (sortiert nach der Anzahl der Einträge)';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP Adressen eines Mitglieds';
+$lang['HIPE_IPForMember_description'] = 'Zeigt die IP Adressen, die von einem registrierten Mitglied verwendet werden (nach IP Adressen sortiert)';
+$lang['HIPE_MemberForIp'] = 'Einer IP Adresse zugeordnete Mitglieder';
+$lang['HIPE_MemberForIp_description'] = 'Zeigt die Mitglieder, die einer IP Adresse zugeordnet sind (sortiert nach Name)';
+
+$lang['HIPE_resquet_ok'] = 'Anfrage OK.';
+$lang['HIPE_hist_cleaned'] = 'Die Einträge wurden aus der History Tabelle entfernt.';
+
+$lang['IP_geolocalisation'] = 'Geolokalisierung';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Version: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+$lang['HIPE_IPBlacklist_title'] = 'Registrierungs-Blacklist';
+$lang['HIPE_IPBlacklisted'] = 'Verhindert, sich von gesperrten IP Adressen zu registrieren';
+$lang['Error_HIPE_BlacklistedIP'] = 'Fehler! Ihre IP Adresse wurde gesperrt, Sie können sich nicht registrieren. Kontaktieren Sie den Administrator, um weitere Informationen zu erhalten.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/tags/2.2.0/language/de_DE/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/language/de_DE/index.php	(revision 6008)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/language/de_DE/index.php	(revision 6008)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.2.0/language/en_UK/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/language/en_UK/description.txt	(revision 6760)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/language/en_UK/description.txt	(revision 6760)
@@ -0,0 +1,1 @@
+Excludes one IP or a range of IP from the history and to blacklist them on registration
Index: /extensions/HistoryIPExcluder/tags/2.2.0/language/en_UK/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/language/en_UK/plugin.lang.php	(revision 6759)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/language/en_UK/plugin.lang.php	(revision 6759)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'This plugin allows to exclude from the history and statistics of IP or IP ranges. <br>Its activation blocks record in the table of IP *_history specified in the table below.';
+$lang['HIPE_admin_section1'] = 'IP Exclusion';
+$lang['HIPE_admin_description1'] = 'Enter the complete IP or IP ranges to exclude (one per line) in the box below. To specify an IP range, use the wildcard character "%".<br>Example : 74.6.1.2 or 74.6.%';
+$lang['HIPE_save_config']='Configuration saved.';
+$lang['HIPE_CleanHist']='Clean History';
+
+$lang['HIPE_admin_section2'] = 'Queries on history table';
+$lang['HIPE_admin_section3'] = 'Result of the historic request';
+$lang['HIPE_IPByMember'] = 'IPs by member';
+$lang['HIPE_IPByMember_description'] = 'Show the IPs used by members, sorted by IP';
+$lang['HIPE_OnlyGuest'] = 'Only Guests IPs';
+$lang['HIPE_OnlyGuest_description'] = 'Show the IPs only used by Guests and the number of times it\'s found in the history table, sorted by the number of times';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IPs for a member';
+$lang['HIPE_IPForMember_description'] = 'Search and displays the IPs associated with a registered user (sorted by IP)';
+$lang['HIPE_MemberForIp'] = 'Members for one IP';
+$lang['HIPE_MemberForIp_description'] = 'Search and display users attached to one IP (sorted by name)';
+
+$lang['HIPE_resquet_ok'] = 'Request OK.';
+$lang['HIPE_hist_cleaned'] = 'Cleaning of the history table done.';
+
+$lang['IP_geolocalisation'] = 'Geolocalisation';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Version: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+$lang['HIPE_IPBlacklist_title'] = 'Registration blacklist';
+$lang['HIPE_IPBlacklisted'] = ' Prevent registration to the gallery of excluded IPs (blacklist)';
+$lang['Error_HIPE_BlacklistedIP'] = 'Error! Your IP has been banned. You can not subscribe to this gallery. Contact the administrator for further details.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/tags/2.2.0/language/en_UK/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/language/en_UK/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/language/en_UK/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.2.0/language/hu_HU/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/language/hu_HU/description.txt	(revision 5149)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/language/hu_HU/description.txt	(revision 5149)
@@ -0,0 +1,1 @@
+Lehetővé teszi IP címek vagy IP tartományok kizárását, események felülvizsgálatát.
Index: /extensions/HistoryIPExcluder/tags/2.2.0/language/hu_HU/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/language/hu_HU/plugin.lang.php	(revision 6764)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/language/hu_HU/plugin.lang.php	(revision 6764)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Ezzel a bővítménnyel kizárhat IP címeket, vagy IP tartományokat az előzményekből és a statisztikából. <br>A blokkolt rekordokat az IP *_history táblában az alábbi táblázat tartalmazza.';
+$lang['HIPE_admin_section1'] = 'IP-k kizárása';
+$lang['HIPE_admin_description1'] = 'IP címek kizárásához írja be az alábbi mezőbe a kizárandó IP-ket, vagy adjon meg IP tartományokat (soronként egyet). IP tartomány kizárásához használja a helyettesítő karaktert "%".<br>Példa : 74.6.1.2 vagy 74.6.%';
+$lang['HIPE_save_config']='Beállítások mentve.';
+$lang['HIPE_CleanHist']='Előzmények törlése';
+$lang['submit']='Elküld';
+$lang['HIPE_admin_section2'] = 'Előzmények tábla lekérdezése';
+$lang['HIPE_admin_section3'] = 'Előzmények lekérdezésének eredménye';
+$lang['HIPE_IPByMember'] = 'Felhasználói IP-k';
+$lang['HIPE_IPByMember_description'] = 'Tagok által használt IP címeket mutatja IP cím szerint rendezve.';
+$lang['HIPE_OnlyGuest'] = 'Csak vendég IP-k';
+$lang['HIPE_OnlyGuest_description'] = 'Az előzmények tábla szerint rendezve csak azon IP címeket mutatja melyekről a vendégek meglátogatták az oldalt. Felsorolja az IP címeket és azt, hogy az adott IP-ről hányszor kapcsolódtak.';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP cím keresése felhasználónév szerint';
+$lang['HIPE_IPForMember_description'] = 'Megkeresi és megjeleníti a regisztrált felhasználó  IP címét (rendezve IP szerint).';
+$lang['HIPE_MemberForIp'] = 'Felhasználó keresése IP cím szerint';
+$lang['HIPE_MemberForIp_description'] = 'Megkeresi és megjeleníti az IP címről csatlakozott felhasználót (rendezve név szerint).';
+
+$lang['HIPE_resquet_ok'] = 'Sikeres lekérdezés.';
+$lang['HIPE_hist_cleaned'] = 'Az előzmények tábla tisztítása kész.';
+
+$lang['IP_geolocalisation'] = 'Földrajzi hely';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Változat: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+$lang['HIPE_IPBlacklist_title'] = 'Regisztrációs feketelista';
+$lang['HIPE_IPBlacklisted'] = ' Regisztráció tiltása az alábbi IP címekről (feketelista)';
+$lang['Error_HIPE_BlacklistedIP'] = 'Hiba! Az IP címed le van tiltva, nem regisztrálhatsz a galériába. További részletekért fordulj a galéria adminisztrátorához.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/tags/2.2.0/language/hu_HU/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/language/hu_HU/index.php	(revision 5149)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/language/hu_HU/index.php	(revision 5149)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.2.0/language/it_IT/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/language/it_IT/description.txt	(revision 6760)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/language/it_IT/description.txt	(revision 6760)
@@ -0,0 +1,1 @@
+Consenta l'esclusione di un IP o un intervallo IP della storia e della loro "lista nera" per l'inclusione
Index: /extensions/HistoryIPExcluder/tags/2.2.0/language/it_IT/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/language/it_IT/plugin.lang.php	(revision 6759)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/language/it_IT/plugin.lang.php	(revision 6759)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Questo plugin esclude gli indirizzi IP o intervalli d\indieizzi dalla cronologgia e dalle statistiche.<br>Attivandolo, gli indirizzi IP specifici della tabella sottostante non saranno pi� registrati nella tabella *.history de PWG.';
+$lang['HIPE_admin_section1'] = 'Esclusione d\'IP';
+$lang['HIPE_admin_description1'] = 'Riempite le tabella sottostante con gli indirizzi IP o intervalli da escludere (uno per riga). Potete usare degli IP completi o una serie usando il carattere jolly "%".<br>Per esempio : 74.6.2.1 o 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configurazione registrata.';
+$lang['HIPE_CleanHist']='Ripulire la cronologgia';
+
+$lang['HIPE_admin_section2'] = 'Selezioni sulla cronologgia';
+$lang['HIPE_admin_section3'] = 'Risultato della selezione';
+$lang['HIPE_IPByMember'] = 'IP per utente';
+$lang['HIPE_IPByMember_description'] = 'Visualizza gli indirizzi IP legati a degli utenti, per indirizzo';
+$lang['HIPE_OnlyGuest'] = 'IP solo degli ospiti';
+$lang['HIPE_OnlyGuest_description'] = 'Visualizza gli indirizzi IP usati unicamente dagli ospiti e il numero di volte che appaiono nella base, per numero di volte per IP';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP di un\'utente';
+$lang['HIPE_IPForMember_description'] = 'Visualizza gli indirizzi IP legati agli utenti, per IP';
+$lang['HIPE_MemberForIp'] = 'Utenti di un\'indirizzo IP';
+$lang['HIPE_MemberForIp_description'] = 'Visualizza gli utenti legati ad un\'indirizzo IP, per utente';
+
+$lang['HIPE_resquet_ok'] = 'Esecuzzione della selezzione riuscita.';
+$lang['HIPE_hist_cleaned'] = 'Operazzione di "pulizzia" della cronologgia riuscito.';
+
+$lang['IP_geolocalisation'] = 'Geolocalizzazione';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Versione: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+/*TODO*/$lang['HIPE_IPBlacklist_title'] = 'Registration blacklist';
+/*TODO*/$lang['HIPE_IPBlacklisted'] = ' Prevent registration to the gallery of excluded IPs (blacklist)';
+/*TODO*/$lang['Error_HIPE_BlacklistedIP'] = 'Error! Your IP has been banned. You can not subscribe to this gallery. Contact the administrator for further details.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/tags/2.2.0/language/it_IT/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/language/it_IT/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/language/it_IT/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.2.0/language/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/language/index.php	(revision 5099)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/language/index.php	(revision 5099)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.2.0/language/es_ES/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/language/es_ES/description.txt	(revision 5135)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/language/es_ES/description.txt	(revision 5135)
@@ -0,0 +1,1 @@
+Permite la exclusión de un IP o de una playa de IP de l reseña histórica.
Index: /extensions/HistoryIPExcluder/tags/2.2.0/language/es_ES/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/language/es_ES/plugin.lang.php	(revision 6759)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/language/es_ES/plugin.lang.php	(revision 6759)
@@ -0,0 +1,39 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Este plugin permite excluir de la reseña histórica y las estadísticas del IP o las playas d \'IP. <br> Su activación bloquea el registro en la mesa * _history IP especificados en el tablero más abajo.';
+$lang['HIPE_admin_section1'] = 'IP a excluir';
+$lang['HIPE_admin_description1'] = 'Coja el IP completo o las playas de IP a excluir (Uno por línea) En el marco(ejecutivo) más abajo. Para indicar una playa de IP, utilice el carácter mono "%".<br>Por Ejemplo : 74.6.2.1 o 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configuración registrada.';
+$lang['HIPE_CleanHist']='Limpiar la reseña histórica';
+
+$lang['HIPE_admin_section2'] = 'Demandas sobre la reseña histórica';
+$lang['HIPE_admin_section3'] = 'El resultado de la demanda sobre la reseña histórica';
+$lang['HIPE_IPByMember'] = 'IP de usuarios';
+$lang['HIPE_IPByMember_description'] = 'Búsqueda y fija el IP de usuarios inscritos, (selección por IP)';
+$lang['HIPE_OnlyGuest'] = 'IP de invitados solamente';
+$lang['HIPE_OnlyGuest_description'] = 'Búsqueda y anuncio únicamente el IP utilizados por invitados, y el número de visitas asociados (selección por número de visitas por IP)';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP de un usuario';
+$lang['HIPE_IPForMember_description'] = 'Búsqueda y fija el IP asociados con un usuario inscrito (selección por IP)';
+$lang['HIPE_MemberForIp'] = 'Usuarios de un IP';
+$lang['HIPE_MemberForIp_description'] = 'Búsqueda y fija a los usuarios pegados a un IP (selección por usuario)';
+
+$lang['HIPE_resquet_ok'] = 'Demanda ejecutada.';
+$lang['HIPE_hist_cleaned'] = 'Limpieza de la reseña histórica efectuada.';
+
+$lang['IP_geolocalisation'] = 'Geolocalización';
+$lang['submit'] = 'Someter';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Versión: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+/*TODO*/$lang['HIPE_IPBlacklist_title'] = 'Registration blacklist';
+/*TODO*/$lang['HIPE_IPBlacklisted'] = ' Prevent registration to the gallery of excluded IPs (blacklist)';
+/*TODO*/$lang['Error_HIPE_BlacklistedIP'] = 'Error! Your IP has been banned. You can not subscribe to this gallery. Contact the administrator for further details.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/tags/2.2.0/language/es_ES/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/language/es_ES/index.php	(revision 5135)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/language/es_ES/index.php	(revision 5135)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id$
+// | last update   : $Date$
+// | last modifier : $Author$
+// | revision      : $Revision$
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.2.0/language/fr_FR/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/language/fr_FR/description.txt	(revision 6760)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/language/fr_FR/description.txt	(revision 6760)
@@ -0,0 +1,1 @@
+Permet l'exclusion d'une IP ou d'une plage d'IP de l historique et de les blacklister à l'inscription
Index: /extensions/HistoryIPExcluder/tags/2.2.0/language/fr_FR/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/language/fr_FR/plugin.lang.php	(revision 6758)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/language/fr_FR/plugin.lang.php	(revision 6758)
@@ -0,0 +1,38 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Ce plugin permet d\'exclure de l\'historique et des statistiques des IP ou plages d\'IP.<br>Son activation bloque l\'enregistrement dans la table *_history des IP spécifiées dans le tableau ci-dessous.';
+$lang['HIPE_admin_section1'] = 'IP à exclure';
+$lang['HIPE_admin_description1'] = 'Saisissez les IP complètes ou plages d\'IP à exclure (une par ligne) dans le cadre ci-dessous. Pour indiquer une plage d\'IP, utilisez le caractère joker "%".<br>Par exemple : 74.6.2.1 ou 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configuration enregistrée.';
+$lang['HIPE_CleanHist']='Nettoyer l\'historique';
+
+$lang['HIPE_admin_section2'] = 'Requêtes sur l\'historique';
+$lang['HIPE_admin_section3'] = 'Résultat de la requête sur l\'historique';
+$lang['HIPE_IPByMember'] = 'IP d\'utilisateurs';
+$lang['HIPE_IPByMember_description'] = 'Recherche et affiche les IP d\'utilisateurs inscrits, (tri par IP)';
+$lang['HIPE_OnlyGuest'] = 'IP d\'invités seulement';
+$lang['HIPE_OnlyGuest_description'] = 'Recherche et affiche uniquement les IP utilisées par des invités, et le nombre de visites associées (tri par nombre de visites par IP)';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP d\'un utilisateur';
+$lang['HIPE_IPForMember_description'] = 'Recherche et affiche les IP associées à un utilisateur inscrit (tri par IP)';
+$lang['HIPE_MemberForIp'] = 'Utilisateurs d\'une IP';
+$lang['HIPE_MemberForIp_description'] = 'Recherche et affiche les utilisateurs attachés à une IP (tri par utilisateur)';
+
+$lang['HIPE_resquet_ok'] = 'Requête exécutée.';
+$lang['HIPE_hist_cleaned'] = 'Nettoyage de l\'historique effectué.';
+
+$lang['IP_geolocalisation'] = 'Géolocalisation';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Version: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.1
+$lang['HIPE_IPBlacklist_title'] = 'Exclusion à l\'inscription';
+$lang['HIPE_IPBlacklisted'] = ' Empêcher l\'inscription à la galerie des IP exclues de l\'historique (Blacklistage)';
+$lang['Error_HIPE_BlacklistedIP'] = 'Erreur! Votre IP a été bannie. Vous ne pouvez plus vous inscrire à cette galerie. Contactez l\'administrateur pour de plus amples détails.';
+// --------- End: New or revised $lang ---- from version 2.1.1
+?>
Index: /extensions/HistoryIPExcluder/tags/2.2.0/language/fr_FR/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/language/fr_FR/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/language/fr_FR/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.2.0/admin/HIPE_admin.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/admin/HIPE_admin.php	(revision 6758)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/admin/HIPE_admin.php	(revision 6758)
@@ -0,0 +1,238 @@
+<?php
+
+if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
+
+load_language('plugin.lang', HIPE_PATH);
+
+// +-----------------------------------------------------------------------+
+// |                      Getting plugin version                           |
+// +-----------------------------------------------------------------------+
+$plugin =  HIPE_infos(HIPE_PATH);
+$version = $plugin['version'];
+$name = $plugin['name'];
+
+
+$ip_geolocalisation1 = '<a href="http://www.geoiptool.com/fr/?IP=';
+$ip_geolocalisation2 = '" title="Geo IP localisation" target="_blank"><img src="'.HIPE_PATH.'/geoip.ico" class="button" alt="'.l10n('IP_geolocalisation').'"></a>';
+
+$ip_ripe1 = '<a href="http://www.ripe.net/whois?form_type=simple&amp;full_query_string=&amp;searchtext=';
+$ip_ripe2 = '+&amp;do_search=Search" title="Ripe Whois" target="_blank">';
+$ip_ripe3 = '</a>';
+
+
+
+if ( isset($_POST['submit']) and !is_adviser() )
+{
+  $v = $_POST['HIPE_IPs_Excluded'];
+  $v = str_replace( "\r\n", ",", $v );
+  $v = str_replace( ",,", ",", $v );
+
+  $conf['HistoryIPExcluder'] = stripslashes($v);
+
+  $query = '
+    UPDATE '.CONFIG_TABLE.'
+    SET value="'.$conf['HistoryIPExcluder'].'"
+    WHERE param="HistoryIPExcluder"
+    LIMIT 1';
+  pwg_query($query);
+
+  if (!isset($_POST['HIPE_chkb'])) $_POST['HIPE_chkb'] = '0';
+  $newconf_HIPE = array(
+    'Blacklist' => $_POST['HIPE_chkb'],
+    'Version'   => $version,
+  );
+  
+  $conf['HistoryIPConfig'] = serialize($newconf_HIPE);
+
+  $query = '
+    UPDATE '.CONFIG_TABLE.'
+    SET value="'.addslashes($conf['HistoryIPConfig']).'"
+    WHERE param="HistoryIPConfig"
+    LIMIT 1';
+  pwg_query($query);
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_save_config'));
+}
+elseif ( isset($_POST['CleanHist']) )
+{
+  $conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+
+  foreach ( $conf_HIPE as $Exclusion )
+  {
+    $query = '
+      delete FROM '.HISTORY_TABLE.' where
+      IP like \''.$Exclusion.'\';';
+    pwg_query($query);
+   }
+
+
+  $query = '
+    truncate '.HISTORY_SUMMARY_TABLE.';';
+  pwg_query($query);
+
+  $query = '
+    UPDATE '.HISTORY_TABLE.'
+    SET summarized = \'false\';';
+  pwg_query($query);
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_hist_cleaned'));
+}
+elseif ( isset($_POST['HIPE_IPByMember']) )
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_IPByMember_description'),
+    )
+  );
+
+  $query = '
+    select distinct h.ip, u.username
+    from '.HISTORY_TABLE.' as h
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where h.user_id <> 2
+    order by h.ip
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->append(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['username'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_OnlyGuest']) )
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_OnlyGuest_description'),
+    )
+  );
+
+  $query1 = '
+    select distinct h.ip
+    from '.HISTORY_TABLE.' as h
+    where h.user_id <> 2
+  ;';
+  
+  $IPsMember = array_from_query($query1, 'ip');
+
+  $query = '
+    select h.ip, count(h.ip) as nbreIP
+    from '.HISTORY_TABLE.' as h
+    where h.ip not in (\''.implode('\',\'', $IPsMember).'\')
+    group by h.ip
+    order by nbreIP desc
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->append(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['nbreIP'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_IPForMember']) and isset($_POST['HIPE_input']))
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_IPForMember_description'),
+    )
+  );
+
+  $query = '
+    select h.ip, u.username
+    from '.HISTORY_TABLE.' as h 
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where u.username like \''.$_POST['HIPE_input'].'\'
+    group by h.ip
+    order by h.ip
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->append(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $subrow['username'],
+        'HIPE_RESULTAT2' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_MemberForIp']) and isset($_POST['HIPE_input']))
+{
+  $template->append(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_MemberForIp_description'),
+    )
+  );
+
+  $query = '
+    select h.ip, u.username
+    from '.HISTORY_TABLE.' as h 
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where h.ip like \''.$_POST['HIPE_input'].'\'
+    group by u.username
+    order by u.username
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->assign(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['username'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+
+$conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+$HIPE_Config = unserialize($conf['HistoryIPConfig']);
+
+$template->assign(
+  array(
+    'HIPE_VERSION' => $version,
+    'HIPE_NAME'    => $name,
+    'HIPE_PATH'    => HIPE_PATH,
+    'IPs_EXCLUDED' => implode("\n", $conf_HIPE),
+  )
+);
+
+  if ($HIPE_Config['Blacklist'] == 1) $template->assign(array('HIPE_IPBlacklisted' => 'checked="checked"'));
+
+  $template->set_filename('plugin_admin_content', dirname(__FILE__) . '/HIPE_admin.tpl');
+  $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
+
+?>
Index: /extensions/HistoryIPExcluder/tags/2.2.0/admin/HIPE_admin.tpl
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/admin/HIPE_admin.tpl	(revision 6758)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/admin/HIPE_admin.tpl	(revision 6758)
@@ -0,0 +1,68 @@
+<div class="titrePage">
+  <h2>{$HIPE_NAME}{'HIPE_version'|@translate}{$HIPE_VERSION}</h2>
+</div>
+
+<p>{'HIPE_description'|@translate}</p>
+
+<form method="post" action="" class="general">
+  <fieldset>
+    <legend>{'HIPE_admin_section1'|@translate}</legend>
+
+    <br>
+
+    <label>{'HIPE_admin_description1'|@translate}</label>
+    
+    <div style="text-align:center;">
+      <textarea name="HIPE_IPs_Excluded" rows="10" cols="30" {$TAG_INPUT_ENABLED}>{$IPs_EXCLUDED}</textarea>
+    </div>
+
+    <fieldset>
+    <legend>{'HIPE_IPBlacklist_title'|@translate}</legend>
+      <ul>
+		    <li><input type="checkbox" name="HIPE_chkb" {$HIPE_IPBlacklisted} value="1">&nbsp;{'HIPE_IPBlacklisted'|@translate}</li>
+      </ul>
+    </fieldset>
+    
+    <p><input type="submit" name="submit" value="{'submit'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}> <input type="submit" name="CleanHist" value="{'HIPE_CleanHist'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}></p>
+  
+  </fieldset>
+
+  <fieldset>
+    <legend>{'HIPE_admin_section2'|@translate}</legend>
+  
+      <p style="text-align:center;">
+        <input type="submit" name="HIPE_IPByMember" value="{'HIPE_IPByMember'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+        <input type="submit" name="HIPE_OnlyGuest" value="{'HIPE_OnlyGuest'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+      </p>
+  
+      <p style="text-align:center;">
+        <input type="submit" name="HIPE_MemberForIp" value="{'HIPE_MemberForIp'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+		    <input type="text" name="HIPE_input" value="" size="20" style="text-align: center;" {$TAG_INPUT_ENABLED}>
+        <input type="submit" name="HIPE_IPForMember" value="{'HIPE_IPForMember'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+      </p>
+
+    <fieldset>
+      <legend>{'HIPE_admin_section3'|@translate}</legend>
+	 
+      <label>{$HIPE_DESCRIPTION2}</label>
+
+      <p style="text-align:center;">
+      <table>
+      <!-- BEGIN resultat -->
+      {foreach from=$resultat item=result}
+        <tr style="color: red;">
+          <td>{$result.HIPE_RESULTAT1}</td>
+          <td>{$result.HIPE_RESULTAT2}</td>
+          <td>{$result.HIPE_RESULTAT3}</td>
+          <td>{$result.HIPE_RESULTAT4}</td>
+          <td>{$result.HIPE_RESULTAT5}</td>
+        </tr>
+      {/foreach} 
+      <!-- END resultat -->
+      </table>
+
+    </fieldset>
+    
+  </fieldset>
+
+</form>
Index: /extensions/HistoryIPExcluder/tags/2.2.0/admin/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/admin/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/admin/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.2.0/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.2.0/admin.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/admin.php	(revision 9870)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/admin.php	(revision 9870)
@@ -0,0 +1,3 @@
+<?php
+  include(HIPE_PATH.'admin/HIPE_admin.php');
+?>
Index: /extensions/HistoryIPExcluder/tags/2.2.0/maintain.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.2.0/maintain.inc.php	(revision 9870)
+++ /extensions/HistoryIPExcluder/tags/2.2.0/maintain.inc.php	(revision 9870)
@@ -0,0 +1,217 @@
+<?php
+
+if (!defined('HIPE_PATH')) define('HIPE_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
+
+include_once (HIPE_PATH.'include/functions.inc.php');
+
+function plugin_install()
+{
+  global $conf;
+  
+// Set plugin parameters
+  $default= array();
+
+	$query = '
+SELECT param
+  FROM '.CONFIG_TABLE.'
+WHERE param = "HistoryIPExcluder"
+;';
+  $count = pwg_db_num_rows(pwg_query($query));
+  
+  if ($count == 0)
+  {
+    $q = '
+INSERT INTO '.CONFIG_TABLE.' (param,value,comment)
+VALUES ("HistoryIPExcluder","","History IP Excluder parameters");
+';
+      
+    pwg_query($q);
+  }
+
+// Set plugin config
+  $plugin =  HIPE_infos(HIPE_PATH);
+  $version = $plugin['version'];
+
+  $default = array (
+    'Blacklist' => "0",
+    'Version'=> $version,
+  );
+
+	$query = '
+SELECT param
+  FROM '.CONFIG_TABLE.'
+WHERE param = "HistoryIPConfig"
+;';
+  $count = pwg_db_num_rows(pwg_query($query));
+  
+  if ($count == 0)
+  {
+    $q = '
+INSERT INTO '.CONFIG_TABLE.' (param,value,comment)
+VALUES ("HistoryIPConfig","'.addslashes(serialize($default)).'","History IP Excluder options");
+';
+    pwg_query($q);
+  }
+}
+
+
+function plugin_activate()
+{
+  global $conf;
+  
+/* Check for upgrade from 2.0.0 to 2.0.1 */
+/* *************************************** */
+	$query = '
+SELECT param
+  FROM '.CONFIG_TABLE.'
+WHERE param = "nbc_HistoryIPExcluder"
+;';
+  $count = pwg_db_num_rows(pwg_query($query));
+  
+	if ($count == 1)
+	{
+  /* upgrade from version 2.0.0 to 2.0.1  */
+  /* ************************************ */
+		upgrade_200();
+	}
+
+	$query = '
+SELECT param
+  FROM '.CONFIG_TABLE.'
+WHERE param = "HistoryIPConfig"
+;';
+  $count = pwg_db_num_rows(pwg_query($query));
+
+	if ($count == 0)
+	{
+  /* upgrade from version 2.1.0 to 2.1.1  */
+  /* ************************************ */
+		upgrade_210();
+	}
+
+  /* upgrade from version 2.1.1 to 2.2.0 */
+  /* *********************************** */
+  $HIPE_Config = unserialize($conf['HistoryIPConfig']);
+  if ($HIPE_Config['Version'] != "2.2.0")
+  {
+    upgrade_211();
+  }
+}
+
+
+function plugin_uninstall()
+{
+  global $conf;
+
+  if (isset($conf['HistoryIPExcluder']))
+  {
+    $q = '
+DELETE FROM '.CONFIG_TABLE.'
+WHERE param="HistoryIPExcluder" LIMIT 1;
+';
+
+    pwg_query($q);
+  }
+  if (isset($conf['HistoryIPConfig']))
+  {
+    $q = '
+DELETE FROM '.CONFIG_TABLE.'
+WHERE param="HistoryIPConfig" LIMIT 1;
+';
+
+    pwg_query($q);
+  }  
+}
+
+
+function upgrade_200()
+{
+  global $conf;
+  
+  $q = '
+UPDATE '.CONFIG_TABLE.'
+SET param = "HistoryIPExcluder"
+WHERE param = "nbc_HistoryIPExcluder"
+;';
+  pwg_query($q);
+
+  $q = '
+UPDATE '.CONFIG_TABLE.'
+SET comment = "History IP Excluder parameters"
+WHERE comment = "Parametres nbc History IP Excluder"
+;';
+  pwg_query($q);
+
+  upgrade_210();
+}
+
+function upgrade_210()
+{
+  global $conf;
+  
+  $default = array (
+    'Blacklist' => "0",
+    'Version'=> "2.1.1",
+  );
+
+  $q = '
+INSERT INTO '.CONFIG_TABLE.' (param,value,comment)
+VALUES ("HistoryIPConfig","'.addslashes(serialize($default)).'","History IP Excluder options");
+';
+      
+  pwg_query($q);
+}
+
+function upgrade_211()
+{
+  global $conf;
+
+// Update plugin version
+  $query = '
+SELECT value
+  FROM '.CONFIG_TABLE.'
+WHERE param = "HistoryIPConfig"
+;';
+  $result = pwg_query($query);
+  
+  $conf_HIPE = pwg_db_fetch_assoc($result);
+    
+  $Newconf_HIPE = unserialize($conf_HIPE['value']);
+  
+  $Newconf_HIPE[1] = '2.2.0';
+  
+  $update_conf = serialize($Newconf_HIPE);
+
+  $query = '
+UPDATE '.CONFIG_TABLE.'
+SET value="'.addslashes($update_conf).'"
+WHERE param="HistoryIPConfig"
+LIMIT 1
+;';
+
+	pwg_query($query); 
+
+  // Create new HIPE entry in plugins table 
+  $query = '
+INSERT INTO '.PLUGINS_TABLE.' (id, state, version)
+VALUES ("HistoryIPExcluder","active","2.2.0")
+;';
+  
+  pwg_query($query);
+
+  // Delete old plugin entry in plugins table 
+  $query = '
+DELETE FROM '.PLUGINS_TABLE.'
+WHERE id="nbc_HistoryIPExcluder"
+LIMIT 1
+;';
+  
+  pwg_query($query);
+
+  // rename directory
+  if (!rename(PHPWG_PLUGINS_PATH.'nbc_HistoryIPExcluder', PHPWG_PLUGINS_PATH.'HistoryIPExcluder'))
+  {
+    die('Fatal error on plugin upgrade process : Unable to rename directory ! Please, rename manualy the plugin directory name from ../plugins/nbc_HistoryIPExcluder to ../plugins/HistoryIPExcluder.');
+  }
+}
+?>
Index: /extensions/HistoryIPExcluder/tags/2.0.0/main.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.0.0/main.inc.php	(revision 5132)
+++ /extensions/HistoryIPExcluder/tags/2.0.0/main.inc.php	(revision 5132)
@@ -0,0 +1,65 @@
+<?php
+/*
+Plugin Name: NBC History IP Excluder
+Version: 2.0.0
+Description: Permet l'exclusion d'une IP ou d'une plage d'IP de l historique - Excludes one IP or a range of IP from the history. plugin directement derive de Stats Ip Excluder de Eric 
+Plugin URI: http://phpwebgallery.net/ext/extension_view.php?eid=147
+Author: Nicco, Eric
+Author URI: http://gallery-nicco.no-ip.org - http://www.infernoweb.net
+*/
+
+if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
+
+if (!defined('HIPE_DIR')) define('HIPE_DIR' , basename(dirname(__FILE__)));
+if (!defined('HIPE_PATH')) define('HIPE_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
+
+load_language('plugin.lang', HIPE_PATH);
+
+add_event_handler('pwg_log_allowed', 'HIPE_IP_Filtrer');
+add_event_handler('get_admin_plugin_menu_links', 'HIPE_admin_menu');
+
+/* Set the administration panel of the plugin */
+function HIPE_admin_menu($menu)
+{
+  array_push($menu,
+    array(
+      'NAME' => 'History IP Excluder',
+      'URL' => get_admin_plugin_menu_link(HIPE_PATH.'admin/HIPE_admin.php')
+    )
+  );
+    
+  return $menu;
+}
+
+
+function HIPE_IP_Filtrer($do_log)
+{
+  global $conf;
+
+  $conf_HIPE = explode("," , $conf['nbc_HistoryIPExcluder']);
+
+  if (!$do_log)
+    return $do_log;
+  else
+  {
+    $IP_Client = explode('.', $_SERVER['REMOTE_ADDR']);
+  
+    foreach ($conf_HIPE as $Exclusion)
+    {
+      $IP_Exclude = explode('.', $Exclusion);
+  
+      if (
+        (($IP_Client[0] == $IP_Exclude[0]) or ($IP_Exclude[0] == '%')) and
+        (!isset($IP_Exclude[1]) or ($IP_Client[1] == $IP_Exclude[1]) or ($IP_Exclude[1] == '%')) and
+        (!isset($IP_Exclude[2]) or ($IP_Client[2] == $IP_Exclude[2]) or ($IP_Exclude[2] == '%')) and
+        (!isset($IP_Exclude[3]) or ($IP_Client[3] == $IP_Exclude[3]) or ($IP_Exclude[3] == '%'))
+      )
+      {
+        $do_log = false;
+      }    
+    }
+     
+    return $do_log;
+  }
+}
+?>
Index: /extensions/HistoryIPExcluder/tags/2.0.0/language/en_UK/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.0.0/language/en_UK/plugin.lang.php	(revision 5132)
+++ /extensions/HistoryIPExcluder/tags/2.0.0/language/en_UK/plugin.lang.php	(revision 5132)
@@ -0,0 +1,29 @@
+<?php
+global $lang;
+
+$lang['HIPE_admin_title'] = 'NBC History IP Excluder';
+$lang['HIPE_description'] = 'This plugin allows to exclude from the history and statistics of IP or IP ranges. <br>Its activation blocks record in the table of IP *_history specified in the table below.';
+$lang['HIPE_admin_section1'] = 'IP Exclusion';
+$lang['HIPE_admin_description1'] = 'Enter the complete IP or IP ranges to exclude (one per line) in the box below. To specify an IP range, use the wildcard character "%".<br>Example : 74.6.1.2 or 74.6.%';
+$lang['HIPE_save_config']='Configuration saved.';
+$lang['HIPE_CleanHist']='Clean History';
+
+$lang['HIPE_admin_section2'] = 'Queries on history table';
+$lang['HIPE_admin_section3'] = 'Result of the historic request';
+$lang['HIPE_IPByMember'] = 'IPs by member';
+$lang['HIPE_IPByMember_description'] = 'Show the IPs used by members, sorted by IP';
+$lang['HIPE_OnlyGuest'] = 'Only Guests IPs';
+$lang['HIPE_OnlyGuest_description'] = 'Show the IPs only used by Guests and the number of times it\'s found in the history table, sorted by the number of times';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IPs for a member';
+$lang['HIPE_IPForMember_description'] = 'Search and displays the IPs associated with a registered user (sorted by IP)';
+$lang['HIPE_MemberForIp'] = 'Members for one IP';
+$lang['HIPE_MemberForIp_description'] = 'Search and display users attached to one IP (sorted by name)';
+
+$lang['HIPE_resquet_ok'] = 'Request OK.';
+$lang['HIPE_hist_cleaned'] = 'Cleaning of the history table done.';
+
+$lang['IP_geolocalisation'] = 'Geolocalisation';
+?>
Index: /extensions/HistoryIPExcluder/tags/2.0.0/language/en_UK/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.0.0/language/en_UK/index.php	(revision 5132)
+++ /extensions/HistoryIPExcluder/tags/2.0.0/language/en_UK/index.php	(revision 5132)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.0.0/language/it_IT/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.0.0/language/it_IT/plugin.lang.php	(revision 5132)
+++ /extensions/HistoryIPExcluder/tags/2.0.0/language/it_IT/plugin.lang.php	(revision 5132)
@@ -0,0 +1,29 @@
+<?php
+global $lang;
+
+$lang['HIPE_admin_title'] = 'NBC History IP Excluder';
+$lang['HIPE_description'] = 'Questo plugin permette di escludere dalla storia e le statistiche di IP o intervalli di indirizzi IP.<br> il suo record di attivazione blocchi nella tabella di IP *_history specificato nella tabella sottostante.';
+$lang['HIPE_admin_section1'] = 'Esclusione d\'IP';
+$lang['HIPE_admin_description1'] = 'Riempite le tabella sottostante con gli indirizzi IP o intervalli da escludere (uno per riga). Potete usare degli IP completi o una serie usando il carattere jolly "%".<br>Per esempio : 74.6.2.1 o 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configurazione registrata.';
+$lang['HIPE_CleanHist']='Ripulire la cronologgia';
+
+$lang['HIPE_admin_section2'] = 'Selezioni sulla cronologgia';
+$lang['HIPE_admin_section3'] = 'Risultato della selezione';
+$lang['HIPE_IPByMember'] = 'IP per utente';
+$lang['HIPE_IPByMember_description'] = 'Visualizza gli indirizzi IP legati a degli utenti, per indirizzo';
+$lang['HIPE_OnlyGuest'] = 'IP solo degli ospiti';
+$lang['HIPE_OnlyGuest_description'] = 'Visualizza gli indirizzi IP usati unicamente dagli ospiti e il numero di volte che appaiono nella base, per numero di volte per IP';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP di un\'utente';
+$lang['HIPE_IPForMember_description'] = 'Visualizza gli indirizzi IP legati agli utenti, per IP';
+$lang['HIPE_MemberForIp'] = 'Utenti di un\'indirizzo IP';
+$lang['HIPE_MemberForIp_description'] = 'Visualizza gli utenti legati ad un\'indirizzo IP, per utente';
+
+$lang['HIPE_resquet_ok'] = 'Esecuzzione della selezzione riuscita.';
+$lang['HIPE_hist_cleaned'] = 'Operazzione di "pulizzia" della cronologgia riuscito.';
+
+$lang['IP_geolocalisation'] = 'Geolocalizzazione';
+?>
Index: /extensions/HistoryIPExcluder/tags/2.0.0/language/it_IT/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.0.0/language/it_IT/index.php	(revision 5132)
+++ /extensions/HistoryIPExcluder/tags/2.0.0/language/it_IT/index.php	(revision 5132)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.0.0/language/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.0.0/language/index.php	(revision 5132)
+++ /extensions/HistoryIPExcluder/tags/2.0.0/language/index.php	(revision 5132)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.0.0/language/fr_FR/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.0.0/language/fr_FR/plugin.lang.php	(revision 5132)
+++ /extensions/HistoryIPExcluder/tags/2.0.0/language/fr_FR/plugin.lang.php	(revision 5132)
@@ -0,0 +1,29 @@
+<?php
+global $lang;
+
+$lang['HIPE_admin_title'] = 'NBC History IP Excluder';
+$lang['HIPE_description'] = 'Ce plugin permet d\'exclure de l\'historique et des statistiques des IP ou plages d\'IP.<br>Son activation bloque l\'enregistrement dans la table *_history des IP spécifiées dans le tableau ci-dessous.';
+$lang['HIPE_admin_section1'] = 'IP à exclure';
+$lang['HIPE_admin_description1'] = 'Saisissez les IP complètes ou plages d\'IP à exclure (une par ligne) dans le cadre ci-dessous. Pour indiquer une plage d\'IP, utilisez le caractère joker "%".<br>Par exemple : 74.6.2.1 ou 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configuration enregistrée.';
+$lang['HIPE_CleanHist']='Nettoyer l\'historique';
+
+$lang['HIPE_admin_section2'] = 'Requêtes sur l\'historique';
+$lang['HIPE_admin_section3'] = 'Résultat de la requête sur l\'historique';
+$lang['HIPE_IPByMember'] = 'IP d\'utilisateurs';
+$lang['HIPE_IPByMember_description'] = 'Recherche et affiche les IP d\'utilisateurs inscrits, (tri par IP)';
+$lang['HIPE_OnlyGuest'] = 'IP d\'invités seulement';
+$lang['HIPE_OnlyGuest_description'] = 'Recherche et affiche uniquement les IP utilisées par des invités, et le nombre de visites associées (tri par nombre de visites par IP)';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP d\'un utilisateur';
+$lang['HIPE_IPForMember_description'] = 'Recherche et affiche les IP associées à un utilisateur inscrit (tri par IP)';
+$lang['HIPE_MemberForIp'] = 'Utilisateurs d\'une IP';
+$lang['HIPE_MemberForIp_description'] = 'Recherche et affiche les utilisateurs attachés à une IP (tri par utilisateur)';
+
+$lang['HIPE_resquet_ok'] = 'Requête exécutée.';
+$lang['HIPE_hist_cleaned'] = 'Nettoyage de l\'historique effectué.';
+
+$lang['IP_geolocalisation'] = 'Géolocalisation';
+?>
Index: /extensions/HistoryIPExcluder/tags/2.0.0/language/fr_FR/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.0.0/language/fr_FR/index.php	(revision 5132)
+++ /extensions/HistoryIPExcluder/tags/2.0.0/language/fr_FR/index.php	(revision 5132)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.0.0/admin/HIPE_admin.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.0.0/admin/HIPE_admin.php	(revision 5132)
+++ /extensions/HistoryIPExcluder/tags/2.0.0/admin/HIPE_admin.php	(revision 5132)
@@ -0,0 +1,211 @@
+<?php
+
+if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
+
+load_language('plugin.lang', HIPE_PATH);
+
+
+$ip_geolocalisation1 = '<a href="http://www.geoiptool.com/fr/?IP=';
+$ip_geolocalisation2 = '" title="Geo IP localisation" target="_blank"><img src="'.HIPE_PATH.'/geoip.ico" class="button" alt="'.l10n('IP_geolocalisation').'"></a>';
+
+$ip_ripe1 = '<a href="http://www.ripe.net/whois?form_type=simple&amp;full_query_string=&amp;searchtext=';
+$ip_ripe2 = '+&amp;do_search=Search" title="Ripe Whois" target="_blank">';
+$ip_ripe3 = '</a>';
+
+
+
+if ( isset($_POST['submit']) and !is_adviser() )
+{
+  $v = $_POST['HIPE_IPs_Excluded'];
+  $v = str_replace( "\r\n", ",", $v );
+  $v = str_replace( ",,", ",", $v );
+
+  $conf['nbc_HistoryIPExcluder'] = stripslashes($v);
+
+  $query = '
+    UPDATE '.CONFIG_TABLE.'
+    SET value="'.$conf['nbc_HistoryIPExcluder'].'"
+    WHERE param="nbc_HistoryIPExcluder"
+    LIMIT 1';
+  pwg_query($query);
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_save_config'));
+}
+elseif ( isset($_POST['CleanHist']) )
+{
+  $conf_HIPE = explode("," , $conf['nbc_HistoryIPExcluder']);
+
+  foreach ( $conf_HIPE as $Exclusion )
+  {
+    $query = '
+      delete FROM '.HISTORY_TABLE.' where
+      IP like \''.$Exclusion.'\';';
+    pwg_query($query);
+   }
+
+
+  $query = '
+    truncate '.HISTORY_SUMMARY_TABLE.';';
+  pwg_query($query);
+
+  $query = '
+    UPDATE '.HISTORY_TABLE.'
+    SET summarized = \'false\';';
+  pwg_query($query);
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_hist_cleaned'));
+}
+elseif ( isset($_POST['HIPE_IPByMember']) )
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_IPByMember_description'),
+    )
+  );
+
+  $query = '
+    select distinct h.ip, u.username
+    from '.HISTORY_TABLE.' as h
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where h.user_id <> 2
+    order by h.ip
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = mysql_fetch_array($subresult))
+  {
+    $template->assign(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['username'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_OnlyGuest']) )
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_OnlyGuest_description'),
+    )
+  );
+
+  $query1 = '
+    select distinct h.ip
+    from '.HISTORY_TABLE.' as h
+    where h.user_id <> 2
+  ;';
+  
+  $IPsMember = array_from_query($query1, 'ip');
+
+  $query = '
+    select h.ip, count(h.ip) as nbreIP
+    from '.HISTORY_TABLE.' as h
+    where h.ip not in (\''.implode('\',\'', $IPsMember).'\')
+    group by h.ip
+    order by nbreIP desc
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = mysql_fetch_array($subresult))
+  {
+    $template->assign(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['nbreIP'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_IPForMember']) and isset($_POST['HIPE_input']))
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_IPForMember_description'),
+    )
+  );
+
+  $query = '
+    select h.ip, u.username
+    from '.HISTORY_TABLE.' as h 
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where u.username like \''.$_POST['HIPE_input'].'\'
+    group by h.ip
+    order by h.ip
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = mysql_fetch_array($subresult))
+  {
+    $template->assign(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $subrow['username'],
+        'HIPE_RESULTAT2' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_MemberForIp']) and isset($_POST['HIPE_input']))
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_MemberForIp_description'),
+    )
+  );
+
+  $query = '
+    select h.ip, u.username
+    from '.HISTORY_TABLE.' as h 
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where h.ip like \''.$_POST['HIPE_input'].'\'
+    group by u.username
+    order by u.username
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = mysql_fetch_array($subresult))
+  {
+    $template->assign(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['username'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+
+$conf_HIPE = explode("," , $conf['nbc_HistoryIPExcluder']);
+
+$template->assign(
+  array(
+    'HIPE_F_ACTION' => PHPWG_ROOT_PATH.'admin.php?page=plugin&section=nbc_HistoryIPExcluder%2Fadmin%2FHIPE_admin.php',
+    'IPs_EXCLUDED' => implode("\n", $conf_HIPE),
+  )
+);
+
+  $template->set_filename('plugin_admin_content', dirname(__FILE__) . '/HIPE_admin.tpl');
+  $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
+
+?>
Index: /extensions/HistoryIPExcluder/tags/2.0.0/admin/HIPE_admin.tpl
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.0.0/admin/HIPE_admin.tpl	(revision 5132)
+++ /extensions/HistoryIPExcluder/tags/2.0.0/admin/HIPE_admin.tpl	(revision 5132)
@@ -0,0 +1,59 @@
+<div class="titrePage">
+  <h2>{'HIPE_admin_title'|@translate}</h2>
+</div>
+
+<p>{'HIPE_description'|@translate}</p>
+
+<form method="post" action="{$HIPE_F_ACTION}" class="general">
+  <fieldset>
+    <legend>{'HIPE_admin_section1'|@translate}</legend>
+
+    <br>
+
+    <label>{'HIPE_admin_description1'|@translate}</label>
+    
+    <div style="text-align:center;">
+      <textarea name="HIPE_IPs_Excluded" rows="10" cols="60" {$TAG_INPUT_ENABLED}>{$IPs_EXCLUDED}</textarea>
+    </div>
+    
+    <p><input type="submit" name="submit" value="{'submit'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}> <input type="submit" name="CleanHist" value="{'HIPE_CleanHist'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}></p>
+  
+  </fieldset>
+
+  <fieldset>
+    <legend>{'HIPE_admin_section2'|@translate}</legend>
+  
+      <p style="text-align:center;">
+        <input type="submit" name="HIPE_IPByMember" value="{'HIPE_IPByMember'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+        <input type="submit" name="HIPE_OnlyGuest" value="{'HIPE_OnlyGuest'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+      </p>
+  
+      <p style="text-align:center;">
+        <input type="submit" name="HIPE_MemberForIp" value="{'HIPE_MemberForIp'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+		    <input type="text" name="HIPE_input" value="" size="20" style="text-align: center;" {$TAG_INPUT_ENABLED}>
+        <input type="submit" name="HIPE_IPForMember" value="{'HIPE_IPForMember'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+      </p>
+
+    <fieldset>
+      <legend>{'HIPE_admin_section3'|@translate}</legend>
+	 
+      <label>{$HIPE_DESCRIPTION2}</label>
+
+      <p style="text-align:center;">
+      <table>
+      <!-- BEGIN resultat -->
+        <tr>
+          <td>{$resultat.HIPE_RESULTAT1}</td>
+          <td>{$resultat.HIPE_RESULTAT2}</td>
+          <td>{$resultat.HIPE_RESULTAT3}</td>
+          <td>{$resultat.HIPE_RESULTAT4}</td>
+          <td>{$resultat.HIPE_RESULTAT5}</td>
+        </tr>
+      <!-- END resultat -->
+      </table>
+
+    </fieldset>
+    
+  </fieldset>
+
+</form>
Index: /extensions/HistoryIPExcluder/tags/2.0.0/admin/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.0.0/admin/index.php	(revision 5132)
+++ /extensions/HistoryIPExcluder/tags/2.0.0/admin/index.php	(revision 5132)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.0.0/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.0.0/index.php	(revision 5132)
+++ /extensions/HistoryIPExcluder/tags/2.0.0/index.php	(revision 5132)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.0.0/maintain.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.0.0/maintain.inc.php	(revision 5132)
+++ /extensions/HistoryIPExcluder/tags/2.0.0/maintain.inc.php	(revision 5132)
@@ -0,0 +1,33 @@
+<?php
+
+function plugin_install()
+{
+  global $conf;
+  
+  $default= array();
+
+  $q = '
+INSERT INTO '.CONFIG_TABLE.' (param,value,comment)
+VALUES ("nbc_HistoryIPExcluder","","Parametres nbc History IP Excluder");
+';
+      
+  pwg_query($q);
+}
+
+
+function plugin_uninstall()
+{
+  global $conf;
+
+  if (isset($conf['nbc_HistoryIPExcluder']))
+  {
+    $q = '
+DELETE FROM '.CONFIG_TABLE.'
+WHERE param="nbc_HistoryIPExcluder" LIMIT 1;
+';
+
+    pwg_query($q);
+  }
+}
+
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.0/main.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.0/main.inc.php	(revision 5615)
+++ /extensions/HistoryIPExcluder/tags/2.1.0/main.inc.php	(revision 5615)
@@ -0,0 +1,88 @@
+<?php
+/*
+Plugin Name: History IP Excluder
+Version: 2.1.0
+Description: Permet l'exclusion d'une IP ou d'une plage d'IP de l historique - Excludes one IP or a range of IP from the history.
+Plugin URI: http://phpwebgallery.net/ext/extension_view.php?eid=147
+Author: Nicco, Eric
+Author URI: http://gallery-nicco.no-ip.org - http://www.infernoweb.net
+*/
+
+/*
+:: HISTORY
+
+1.0.x to 1.6.x		- Plugin only for PWG 1.7.x
+
+2.0.0             - Compliance with Piwigo 2.0.x
+
+2.1.0             - Compliance with Piwigo 2.1.x
+                  - Multiple database support
+                  - Removing "nbc_" prefix in plugin code and display in piwigo's plugin manager
+                  - Displaying the good plugin name and current version in admin panel
+
+--------------------------------------------------------------------------------
+*/
+
+if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
+
+if (!defined('HIPE_DIR')) define('HIPE_DIR' , basename(dirname(__FILE__)));
+if (!defined('HIPE_PATH')) define('HIPE_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
+
+include_once (HIPE_PATH.'/include/functions.inc.php');
+
+load_language('plugin.lang', HIPE_PATH);
+
+add_event_handler('pwg_log_allowed', 'HIPE_IP_Filtrer');
+add_event_handler('get_admin_plugin_menu_links', 'HIPE_admin_menu');
+
+/* Set the administration panel of the plugin */
+function HIPE_admin_menu($menu)
+{
+// +-----------------------------------------------------------------------+
+// |                      Getting plugin name                              |
+// +-----------------------------------------------------------------------+
+  $plugin =  HIPE_infos(HIPE_PATH);
+  $name = $plugin['name'];
+  
+  array_push($menu,
+    array(
+      'NAME' => $name,
+      'URL' => get_admin_plugin_menu_link(HIPE_PATH.'admin/HIPE_admin.php')
+    )
+  );
+    
+  return $menu;
+}
+
+
+function HIPE_IP_Filtrer($do_log)
+{
+  global $conf;
+
+  $conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+
+  if (!$do_log)
+    return $do_log;
+  else
+  {
+    $IP_Client = explode('.', $_SERVER['REMOTE_ADDR']);
+  
+    foreach ($conf_HIPE as $Exclusion)
+    {
+      $IP_Exclude = explode('.', $Exclusion);
+  
+      if (
+        (($IP_Client[0] == $IP_Exclude[0]) or ($IP_Exclude[0] == '%')) and
+        (!isset($IP_Exclude[1]) or ($IP_Client[1] == $IP_Exclude[1]) or ($IP_Exclude[1] == '%')) and
+        (!isset($IP_Exclude[2]) or ($IP_Client[2] == $IP_Exclude[2]) or ($IP_Exclude[2] == '%')) and
+        (!isset($IP_Exclude[3]) or ($IP_Client[3] == $IP_Exclude[3]) or ($IP_Exclude[3] == '%'))
+      )
+      {
+        $do_log = false;
+      }    
+    }
+     
+    return $do_log;
+  }
+}
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.0/include/functions.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.0/include/functions.inc.php	(revision 5615)
+++ /extensions/HistoryIPExcluder/tags/2.1.0/include/functions.inc.php	(revision 5615)
@@ -0,0 +1,48 @@
+<?php
+
+load_language('plugin.lang', HIPE_PATH);
+
+function HIPE_infos($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/HistoryIPExcluder/tags/2.1.0/language/en_UK/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.0/language/en_UK/plugin.lang.php	(revision 5615)
+++ /extensions/HistoryIPExcluder/tags/2.1.0/language/en_UK/plugin.lang.php	(revision 5615)
@@ -0,0 +1,32 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'This plugin allows to exclude from the history and statistics of IP or IP ranges. <br>Its activation blocks record in the table of IP *_history specified in the table below.';
+$lang['HIPE_admin_section1'] = 'IP Exclusion';
+$lang['HIPE_admin_description1'] = 'Enter the complete IP or IP ranges to exclude (one per line) in the box below. To specify an IP range, use the wildcard character "%".<br>Example : 74.6.1.2 or 74.6.%';
+$lang['HIPE_save_config']='Configuration saved.';
+$lang['HIPE_CleanHist']='Clean History';
+
+$lang['HIPE_admin_section2'] = 'Queries on history table';
+$lang['HIPE_admin_section3'] = 'Result of the historic request';
+$lang['HIPE_IPByMember'] = 'IPs by member';
+$lang['HIPE_IPByMember_description'] = 'Show the IPs used by members, sorted by IP';
+$lang['HIPE_OnlyGuest'] = 'Only Guests IPs';
+$lang['HIPE_OnlyGuest_description'] = 'Show the IPs only used by Guests and the number of times it\'s found in the history table, sorted by the number of times';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IPs for a member';
+$lang['HIPE_IPForMember_description'] = 'Search and displays the IPs associated with a registered user (sorted by IP)';
+$lang['HIPE_MemberForIp'] = 'Members for one IP';
+$lang['HIPE_MemberForIp_description'] = 'Search and display users attached to one IP (sorted by name)';
+
+$lang['HIPE_resquet_ok'] = 'Request OK.';
+$lang['HIPE_hist_cleaned'] = 'Cleaning of the history table done.';
+
+$lang['IP_geolocalisation'] = 'Geolocalisation';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Version: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.0/language/en_UK/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.0/language/en_UK/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/tags/2.1.0/language/en_UK/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.0/language/hu_HU/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.0/language/hu_HU/description.txt	(revision 5149)
+++ /extensions/HistoryIPExcluder/tags/2.1.0/language/hu_HU/description.txt	(revision 5149)
@@ -0,0 +1,1 @@
+Lehetővé teszi IP címek vagy IP tartományok kizárását, események felülvizsgálatát.
Index: /extensions/HistoryIPExcluder/tags/2.1.0/language/hu_HU/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.0/language/hu_HU/plugin.lang.php	(revision 5615)
+++ /extensions/HistoryIPExcluder/tags/2.1.0/language/hu_HU/plugin.lang.php	(revision 5615)
@@ -0,0 +1,32 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Ezzel a bővítménnyel kizárhat IP címeket, vagy IP tartományokat az előzményekből és a statisztikából. <br>A blokkolt rekordokat az IP *_history táblában az alábbi táblázat tartalmazza.';
+$lang['HIPE_admin_section1'] = 'IP-k kizárása';
+$lang['HIPE_admin_description1'] = 'IP címek kizárásához írja be az alábbi mezőbe a kizárandó IP-ket, vagy adjon meg IP tartományokat (soronként egyet). IP tartomány kizárásához használja a helyettesítő karaktert "%".<br>Példa : 74.6.1.2 vagy 74.6.%';
+$lang['HIPE_save_config']='Beállítások mentve.';
+$lang['HIPE_CleanHist']='Előzmények törlése';
+$lang['submit']='Elküld';
+$lang['HIPE_admin_section2'] = 'Előzmények tábla lekérdezése';
+$lang['HIPE_admin_section3'] = 'Előzmények lekérdezésének eredménye';
+$lang['HIPE_IPByMember'] = 'Felhasználói IP-k';
+$lang['HIPE_IPByMember_description'] = 'Tagok által használt IP címeket mutatja IP cím szerint rendezve.';
+$lang['HIPE_OnlyGuest'] = 'Csak vendég IP-k';
+$lang['HIPE_OnlyGuest_description'] = 'Az előzmények tábla szerint rendezve csak azon IP címeket mutatja melyekről a vendégek meglátogatták az oldalt. Felsorolja az IP címeket és azt, hogy az adott IP-ről hányszor kapcsolódtak.';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP cím keresése felhasználónév szerint';
+$lang['HIPE_IPForMember_description'] = 'Megkeresi és megjeleníti a regisztrált felhasználó  IP címét (rendezve IP szerint).';
+$lang['HIPE_MemberForIp'] = 'Felhasználó keresése IP cím szerint';
+$lang['HIPE_MemberForIp_description'] = 'Megkeresi és megjeleníti az IP címről csatlakozott felhasználót (rendezve név szerint).';
+
+$lang['HIPE_resquet_ok'] = 'Sikeres lekérdezés.';
+$lang['HIPE_hist_cleaned'] = 'Az előzmények tábla tisztítása kész.';
+
+$lang['IP_geolocalisation'] = 'Földrajzi hely';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Változat: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.0/language/hu_HU/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.0/language/hu_HU/index.php	(revision 5149)
+++ /extensions/HistoryIPExcluder/tags/2.1.0/language/hu_HU/index.php	(revision 5149)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.0/language/it_IT/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.0/language/it_IT/plugin.lang.php	(revision 5615)
+++ /extensions/HistoryIPExcluder/tags/2.1.0/language/it_IT/plugin.lang.php	(revision 5615)
@@ -0,0 +1,32 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Questo plugin esclude gli indirizzi IP o intervalli d\indieizzi dalla cronologgia e dalle statistiche.<br>Attivandolo, gli indirizzi IP specifici della tabella sottostante non saranno pi� registrati nella tabella *.history de PWG.';
+$lang['HIPE_admin_section1'] = 'Esclusione d\'IP';
+$lang['HIPE_admin_description1'] = 'Riempite le tabella sottostante con gli indirizzi IP o intervalli da escludere (uno per riga). Potete usare degli IP completi o una serie usando il carattere jolly "%".<br>Per esempio : 74.6.2.1 o 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configurazione registrata.';
+$lang['HIPE_CleanHist']='Ripulire la cronologgia';
+
+$lang['HIPE_admin_section2'] = 'Selezioni sulla cronologgia';
+$lang['HIPE_admin_section3'] = 'Risultato della selezione';
+$lang['HIPE_IPByMember'] = 'IP per utente';
+$lang['HIPE_IPByMember_description'] = 'Visualizza gli indirizzi IP legati a degli utenti, per indirizzo';
+$lang['HIPE_OnlyGuest'] = 'IP solo degli ospiti';
+$lang['HIPE_OnlyGuest_description'] = 'Visualizza gli indirizzi IP usati unicamente dagli ospiti e il numero di volte che appaiono nella base, per numero di volte per IP';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP di un\'utente';
+$lang['HIPE_IPForMember_description'] = 'Visualizza gli indirizzi IP legati agli utenti, per IP';
+$lang['HIPE_MemberForIp'] = 'Utenti di un\'indirizzo IP';
+$lang['HIPE_MemberForIp_description'] = 'Visualizza gli utenti legati ad un\'indirizzo IP, per utente';
+
+$lang['HIPE_resquet_ok'] = 'Esecuzzione della selezzione riuscita.';
+$lang['HIPE_hist_cleaned'] = 'Operazzione di "pulizzia" della cronologgia riuscito.';
+
+$lang['IP_geolocalisation'] = 'Geolocalizzazione';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Versione: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.0/language/it_IT/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.0/language/it_IT/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/tags/2.1.0/language/it_IT/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.0/language/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.0/language/index.php	(revision 5099)
+++ /extensions/HistoryIPExcluder/tags/2.1.0/language/index.php	(revision 5099)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.0/language/es_ES/description.txt
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.0/language/es_ES/description.txt	(revision 5135)
+++ /extensions/HistoryIPExcluder/tags/2.1.0/language/es_ES/description.txt	(revision 5135)
@@ -0,0 +1,1 @@
+Permite la exclusión de un IP o de una playa de IP de l reseña histórica.
Index: /extensions/HistoryIPExcluder/tags/2.1.0/language/es_ES/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.0/language/es_ES/plugin.lang.php	(revision 5615)
+++ /extensions/HistoryIPExcluder/tags/2.1.0/language/es_ES/plugin.lang.php	(revision 5615)
@@ -0,0 +1,33 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Este plugin permite excluir de la reseña histórica y las estadísticas del IP o las playas d \'IP. <br> Su activación bloquea el registro en la mesa * _history IP especificados en el tablero más abajo.';
+$lang['HIPE_admin_section1'] = 'IP a excluir';
+$lang['HIPE_admin_description1'] = 'Coja el IP completo o las playas de IP a excluir (Uno por línea) En el marco(ejecutivo) más abajo. Para indicar una playa de IP, utilice el carácter mono "%".<br>Por Ejemplo : 74.6.2.1 o 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configuración registrada.';
+$lang['HIPE_CleanHist']='Limpiar la reseña histórica';
+
+$lang['HIPE_admin_section2'] = 'Demandas sobre la reseña histórica';
+$lang['HIPE_admin_section3'] = 'El resultado de la demanda sobre la reseña histórica';
+$lang['HIPE_IPByMember'] = 'IP de usuarios';
+$lang['HIPE_IPByMember_description'] = 'Búsqueda y fija el IP de usuarios inscritos, (selección por IP)';
+$lang['HIPE_OnlyGuest'] = 'IP de invitados solamente';
+$lang['HIPE_OnlyGuest_description'] = 'Búsqueda y anuncio únicamente el IP utilizados por invitados, y el número de visitas asociados (selección por número de visitas por IP)';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP de un usuario';
+$lang['HIPE_IPForMember_description'] = 'Búsqueda y fija el IP asociados con un usuario inscrito (selección por IP)';
+$lang['HIPE_MemberForIp'] = 'Usuarios de un IP';
+$lang['HIPE_MemberForIp_description'] = 'Búsqueda y fija a los usuarios pegados a un IP (selección por usuario)';
+
+$lang['HIPE_resquet_ok'] = 'Demanda ejecutada.';
+$lang['HIPE_hist_cleaned'] = 'Limpieza de la reseña histórica efectuada.';
+
+$lang['IP_geolocalisation'] = 'Geolocalización';
+$lang['submit'] = 'Someter';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Versión: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.0/language/es_ES/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.0/language/es_ES/index.php	(revision 5135)
+++ /extensions/HistoryIPExcluder/tags/2.1.0/language/es_ES/index.php	(revision 5135)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id$
+// | last update   : $Date$
+// | last modifier : $Author$
+// | revision      : $Revision$
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.0/language/fr_FR/plugin.lang.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.0/language/fr_FR/plugin.lang.php	(revision 5615)
+++ /extensions/HistoryIPExcluder/tags/2.1.0/language/fr_FR/plugin.lang.php	(revision 5615)
@@ -0,0 +1,32 @@
+<?php
+global $lang;
+
+$lang['HIPE_description'] = 'Ce plugin permet d\'exclure de l\'historique et des statistiques des IP ou plages d\'IP.<br>Son activation bloque l\'enregistrement dans la table *_history des IP spécifiées dans le tableau ci-dessous.';
+$lang['HIPE_admin_section1'] = 'IP à exclure';
+$lang['HIPE_admin_description1'] = 'Saisissez les IP complètes ou plages d\'IP à exclure (une par ligne) dans le cadre ci-dessous. Pour indiquer une plage d\'IP, utilisez le caractère joker "%".<br>Par exemple : 74.6.2.1 ou 74.6.%<br><br>';
+$lang['HIPE_save_config']='Configuration enregistrée.';
+$lang['HIPE_CleanHist']='Nettoyer l\'historique';
+
+$lang['HIPE_admin_section2'] = 'Requêtes sur l\'historique';
+$lang['HIPE_admin_section3'] = 'Résultat de la requête sur l\'historique';
+$lang['HIPE_IPByMember'] = 'IP d\'utilisateurs';
+$lang['HIPE_IPByMember_description'] = 'Recherche et affiche les IP d\'utilisateurs inscrits, (tri par IP)';
+$lang['HIPE_OnlyGuest'] = 'IP d\'invités seulement';
+$lang['HIPE_OnlyGuest_description'] = 'Recherche et affiche uniquement les IP utilisées par des invités, et le nombre de visites associées (tri par nombre de visites par IP)';
+$lang['HIPE_IPnoGuest'] = '';
+$lang['HIPE_IPnoGuest_description'] = '';
+
+$lang['HIPE_IPForMember'] = 'IP d\'un utilisateur';
+$lang['HIPE_IPForMember_description'] = 'Recherche et affiche les IP associées à un utilisateur inscrit (tri par IP)';
+$lang['HIPE_MemberForIp'] = 'Utilisateurs d\'une IP';
+$lang['HIPE_MemberForIp_description'] = 'Recherche et affiche les utilisateurs attachés à une IP (tri par utilisateur)';
+
+$lang['HIPE_resquet_ok'] = 'Requête exécutée.';
+$lang['HIPE_hist_cleaned'] = 'Nettoyage de l\'historique effectué.';
+
+$lang['IP_geolocalisation'] = 'Géolocalisation';
+
+// --------- Starting below: New or revised $lang ---- from version 2.1.0
+$lang['HIPE_version'] = ' - Version: ';
+// --------- End: New or revised $lang ---- from version 2.1.0
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.0/language/fr_FR/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.0/language/fr_FR/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/tags/2.1.0/language/fr_FR/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.0/admin/HIPE_admin.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.0/admin/HIPE_admin.php	(revision 5615)
+++ /extensions/HistoryIPExcluder/tags/2.1.0/admin/HIPE_admin.php	(revision 5615)
@@ -0,0 +1,220 @@
+<?php
+
+if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
+
+load_language('plugin.lang', HIPE_PATH);
+
+// +-----------------------------------------------------------------------+
+// |                      Getting plugin version                           |
+// +-----------------------------------------------------------------------+
+$plugin =  HIPE_infos(HIPE_PATH);
+$version = $plugin['version'];
+$name = $plugin['name'];
+
+
+$ip_geolocalisation1 = '<a href="http://www.geoiptool.com/fr/?IP=';
+$ip_geolocalisation2 = '" title="Geo IP localisation" target="_blank"><img src="'.HIPE_PATH.'/geoip.ico" class="button" alt="'.l10n('IP_geolocalisation').'"></a>';
+
+$ip_ripe1 = '<a href="http://www.ripe.net/whois?form_type=simple&amp;full_query_string=&amp;searchtext=';
+$ip_ripe2 = '+&amp;do_search=Search" title="Ripe Whois" target="_blank">';
+$ip_ripe3 = '</a>';
+
+
+
+if ( isset($_POST['submit']) and !is_adviser() )
+{
+  $v = $_POST['HIPE_IPs_Excluded'];
+  $v = str_replace( "\r\n", ",", $v );
+  $v = str_replace( ",,", ",", $v );
+
+  $conf['HistoryIPExcluder'] = stripslashes($v);
+
+  $query = '
+    UPDATE '.CONFIG_TABLE.'
+    SET value="'.$conf['HistoryIPExcluder'].'"
+    WHERE param="HistoryIPExcluder"
+    LIMIT 1';
+  pwg_query($query);
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_save_config'));
+}
+elseif ( isset($_POST['CleanHist']) )
+{
+  $conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+
+  foreach ( $conf_HIPE as $Exclusion )
+  {
+    $query = '
+      delete FROM '.HISTORY_TABLE.' where
+      IP like \''.$Exclusion.'\';';
+    pwg_query($query);
+   }
+
+
+  $query = '
+    truncate '.HISTORY_SUMMARY_TABLE.';';
+  pwg_query($query);
+
+  $query = '
+    UPDATE '.HISTORY_TABLE.'
+    SET summarized = \'false\';';
+  pwg_query($query);
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_hist_cleaned'));
+}
+elseif ( isset($_POST['HIPE_IPByMember']) )
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_IPByMember_description'),
+    )
+  );
+
+  $query = '
+    select distinct h.ip, u.username
+    from '.HISTORY_TABLE.' as h
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where h.user_id <> 2
+    order by h.ip
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->assign(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['username'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_OnlyGuest']) )
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_OnlyGuest_description'),
+    )
+  );
+
+  $query1 = '
+    select distinct h.ip
+    from '.HISTORY_TABLE.' as h
+    where h.user_id <> 2
+  ;';
+  
+  $IPsMember = array_from_query($query1, 'ip');
+
+  $query = '
+    select h.ip, count(h.ip) as nbreIP
+    from '.HISTORY_TABLE.' as h
+    where h.ip not in (\''.implode('\',\'', $IPsMember).'\')
+    group by h.ip
+    order by nbreIP desc
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->assign(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['nbreIP'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_IPForMember']) and isset($_POST['HIPE_input']))
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_IPForMember_description'),
+    )
+  );
+
+  $query = '
+    select h.ip, u.username
+    from '.HISTORY_TABLE.' as h 
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where u.username like \''.$_POST['HIPE_input'].'\'
+    group by h.ip
+    order by h.ip
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->assign(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $subrow['username'],
+        'HIPE_RESULTAT2' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+elseif ( isset($_POST['HIPE_MemberForIp']) and isset($_POST['HIPE_input']))
+{
+  $template->assign(
+    array(
+      'HIPE_DESCRIPTION2' => l10n('HIPE_MemberForIp_description'),
+    )
+  );
+
+  $query = '
+    select h.ip, u.username
+    from '.HISTORY_TABLE.' as h 
+    inner join '.USERS_TABLE.' as u on u.id = h.user_id
+    where h.ip like \''.$_POST['HIPE_input'].'\'
+    group by u.username
+    order by u.username
+  ;';
+  
+  $subresult = pwg_query($query);
+
+  while ($subrow = pwg_db_fetch_assoc($subresult))
+  {
+    $template->assign(
+      'resultat',
+      array(
+        'HIPE_RESULTAT1' => $ip_geolocalisation1.$subrow['ip'].$ip_geolocalisation2.' '.$ip_ripe1.$subrow['ip'].$ip_ripe2.$subrow['ip'].$ip_ripe3,
+        'HIPE_RESULTAT2' => $subrow['username'],
+      )
+    );    
+  }
+
+  // information message
+  array_push($page['infos'], l10n('HIPE_resquet_ok'));
+}
+
+$conf_HIPE = explode("," , $conf['HistoryIPExcluder']);
+
+$template->assign(
+  array(
+    'HIPE_VERSION' => $version,
+    'HIPE_NAME'    => $name,
+    'HIPE_PATH'    => HIPE_PATH,
+    'IPs_EXCLUDED' => implode("\n", $conf_HIPE),
+  )
+);
+
+  $template->set_filename('plugin_admin_content', dirname(__FILE__) . '/HIPE_admin.tpl');
+  $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
+
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.0/admin/HIPE_admin.tpl
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.0/admin/HIPE_admin.tpl	(revision 5615)
+++ /extensions/HistoryIPExcluder/tags/2.1.0/admin/HIPE_admin.tpl	(revision 5615)
@@ -0,0 +1,60 @@
+<div class="titrePage">
+  <h2>{$HIPE_NAME}{'HIPE_version'|@translate}{$HIPE_VERSION}</h2>
+</div>
+
+<p>{'HIPE_description'|@translate}</p>
+
+<form method="post" action="" class="general">
+  <fieldset>
+    <legend>{'HIPE_admin_section1'|@translate}</legend>
+
+    <br>
+
+    <label>{'HIPE_admin_description1'|@translate}</label>
+    
+    <div style="text-align:center;">
+      <textarea name="HIPE_IPs_Excluded" rows="10" cols="30" {$TAG_INPUT_ENABLED}>{$IPs_EXCLUDED}</textarea>
+
+    </div>
+    
+    <p><input type="submit" name="submit" value="{'submit'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}> <input type="submit" name="CleanHist" value="{'HIPE_CleanHist'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}></p>
+  
+  </fieldset>
+
+  <fieldset>
+    <legend>{'HIPE_admin_section2'|@translate}</legend>
+  
+      <p style="text-align:center;">
+        <input type="submit" name="HIPE_IPByMember" value="{'HIPE_IPByMember'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+        <input type="submit" name="HIPE_OnlyGuest" value="{'HIPE_OnlyGuest'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+      </p>
+  
+      <p style="text-align:center;">
+        <input type="submit" name="HIPE_MemberForIp" value="{'HIPE_MemberForIp'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+		    <input type="text" name="HIPE_input" value="" size="20" style="text-align: center;" {$TAG_INPUT_ENABLED}>
+        <input type="submit" name="HIPE_IPForMember" value="{'HIPE_IPForMember'|@translate}" class="bouton" {$TAG_INPUT_ENABLED}>
+      </p>
+
+    <fieldset>
+      <legend>{'HIPE_admin_section3'|@translate}</legend>
+	 
+      <label>{$HIPE_DESCRIPTION2}</label>
+
+      <p style="text-align:center;">
+      <table>
+      <!-- BEGIN resultat -->
+        <tr>
+          <td>{$resultat.HIPE_RESULTAT1}</td>
+          <td>{$resultat.HIPE_RESULTAT2}</td>
+          <td>{$resultat.HIPE_RESULTAT3}</td>
+          <td>{$resultat.HIPE_RESULTAT4}</td>
+          <td>{$resultat.HIPE_RESULTAT5}</td>
+        </tr>
+      <!-- END resultat -->
+      </table>
+
+    </fieldset>
+    
+  </fieldset>
+
+</form>
Index: /extensions/HistoryIPExcluder/tags/2.1.0/admin/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.0/admin/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/tags/2.1.0/admin/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.0/index.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.0/index.php	(revision 5121)
+++ /extensions/HistoryIPExcluder/tags/2.1.0/index.php	(revision 5121)
@@ -0,0 +1,33 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | PhpWebGallery - a PHP based picture gallery                           |
+// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
+// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// +-----------------------------------------------------------------------+
+// | file          : $Id: index.php 1912 2007-03-16 06:30:07Z rub $
+// | last update   : $Date: 2007-03-16 07:30:07 +0100 (ven, 16 mar 2007) $
+// | last modifier : $Author: rub $
+// | revision      : $Revision: 1912 $
+// +-----------------------------------------------------------------------+
+// | 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.                                                                  |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
Index: /extensions/HistoryIPExcluder/tags/2.1.0/maintain.inc.php
===================================================================
--- /extensions/HistoryIPExcluder/tags/2.1.0/maintain.inc.php	(revision 5615)
+++ /extensions/HistoryIPExcluder/tags/2.1.0/maintain.inc.php	(revision 5615)
@@ -0,0 +1,74 @@
+<?php
+
+function plugin_install()
+{
+  global $conf;
+  
+  $default= array();
+
+  $q = '
+INSERT INTO '.CONFIG_TABLE.' (param,value,comment)
+VALUES ("HistoryIPExcluder","","History IP Excluder parameters");
+';
+      
+  pwg_query($q);
+}
+
+
+function plugin_activate()
+{
+  global $conf;
+  
+/* Check for upgrade from 2.0.0 to 2.0.1 */
+/* *************************************** */
+	$query = '
+SELECT param
+  FROM '.CONFIG_TABLE.'
+WHERE param = "nbc_HistoryIPExcluder"
+;';
+  $count = pwg_db_num_rows(pwg_query($query));
+  
+	if ($count == 1)
+	{
+  /* upgrade from branch 2.0.0 to 2.0.1 */
+  /* ************************************ */
+		upgrade_200();
+	}
+}
+
+
+function plugin_uninstall()
+{
+  global $conf;
+
+  if (isset($conf['nbc_HistoryIPExcluder']))
+  {
+    $q = '
+DELETE FROM '.CONFIG_TABLE.'
+WHERE param="nbc_HistoryIPExcluder" LIMIT 1;
+';
+
+    pwg_query($q);
+  }
+}
+
+
+function upgrade_200()
+{
+  global $conf;
+  
+  $q = '
+UPDATE '.CONFIG_TABLE.'
+SET param = "HistoryIPExcluder"
+WHERE param = "nbc_HistoryIPExcluder"
+;';
+  pwg_query($q);
+
+  $q = '
+UPDATE '.CONFIG_TABLE.'
+SET comment = "History IP Excluder parameters"
+WHERE comment = "Parametres nbc History IP Excluder"
+;';
+  pwg_query($q);
+}
+?>
