Index: /extensions/GrumPluginClasses/classes/GPCTabSheet.class.inc.php
===================================================================
--- /extensions/GrumPluginClasses/classes/GPCTabSheet.class.inc.php	(revision 5918)
+++ /extensions/GrumPluginClasses/classes/GPCTabSheet.class.inc.php	(revision 5918)
@@ -0,0 +1,141 @@
+<?php
+/* -----------------------------------------------------------------------------
+  class name     : GPCTabSheet
+  class version  : 1.0.0
+  plugin version : 3.0.2
+  date           : 2010-04-18
+  ------------------------------------------------------------------------------
+  author: grum at piwigo.org
+  << May the Little SpaceFrog be with you >>
+  ------------------------------------------------------------------------------
+
+  :: HISTORY
+
+| release | date       |
+| 1.0.0   | 2010/04/18 | * create class
+|         |            |
+|         |            |
+|         |            |
+|         |            |
+|         |            |
+|         |            |
+
+  ------------------------------------------------------------------------------
+
+   this class provides base functions to manage tabsheet navigation
+
+   this class extends the Piwigo tabsheet class
+
+    - constructor GPCPagesNavigation()
+    - (public) function setNbItems($nbitems)
+    - (public) function getNbItems()
+    - (public) function setNbItemsPerPage($nbitems)
+    - (public) function getNbItemsPerPage()
+    - (public) function getNbPages()
+    - (public) function setCurrentPage($page)
+    - (public) function getCurrentPage()
+    - (public) function setBaseUrl($url)
+    - (public) function getBaseUrl()
+    - (public) function setOptions($var)
+    - (public) function getOptions()
+    - (public) function makeNavigation()
+    - (private) function calcNbPages()
+   ---------------------------------------------------------------------- */
+
+include_once(PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php');
+
+class GPCTabSheet extends tabsheet
+{
+  protected $classes;
+  protected $id;
+  protected $tplFile;
+  /*
+    $name is the tabsheet's name inside the template .tpl file
+    $titlename in the template is affected by $titlename value
+  */
+  public function __construct($name = 'TABSHEET', $titlename = 'TABSHEET_TITLE', $classes="", $id="", $tplFile="")
+  {
+    parent::tabsheet($name, $titlename);
+    $this->classes=$classes;
+    $this->id=$id;
+    $this->setTplFile($tplFile);
+  }
+
+
+  public function setClasses($classes)
+  {
+    $this->classes=$classes;
+    return($this->classes);
+  }
+
+  public function getClasses()
+  {
+    return($this->classes);
+  }
+
+  public function setId($id)
+  {
+    $this->id=$id;
+    return($this->id);
+  }
+
+  public function getId()
+  {
+    return($this->id);
+  }
+
+  public function setTplFile($fileName)
+  {
+    if(file_exists($fileName) or $fileName=="")
+    {
+      $this->tplFile=$fileName;
+    }
+    return($this->tplFile);
+  }
+
+  public function getTplFile()
+  {
+    return($this->tplFile);
+  }
+
+
+  /*
+   * Build TabSheet and assign this content to current page
+   *
+   * Fill $this->$name {default value = TABSHEET} with HTML code for tabsheet
+   * Fill $this->titlename {default value = TABSHEET_TITLE} with formated caption of the selected tab
+   */
+  function assign()
+  {
+    global $template;
+
+    if($this->tplFile=="")
+    {
+      $tplFile=dirname(dirname(__FILE__)).'/templates/GPCTabSheet.tpl';
+    }
+    else
+    {
+      $tplFile=$this->tplFile;
+    }
+
+    $template->set_filename('tabsheet', $tplFile);
+    $template->assign('tabsheet', $this->sheets);
+    $template->assign('tabsheet_selected', $this->selected);
+
+    $selected_tab = $this->get_selected();
+
+    if (isset($selected_tab))
+    {
+      $template->assign(
+        array($this->titlename => '['.$selected_tab['caption'].']'));
+    }
+
+    if($this->classes!="") $template->assign('tabsheet_classes', $this->classes);
+    if($this->id!="") $template->assign('tabsheet_id', $this->id);
+
+    $template->assign_var_from_handle($this->name, 'tabsheet');
+    $template->clear_assign('tabsheet');
+  }
+}
+
+?>
Index: /extensions/GrumPluginClasses/gpc_version.inc.php
===================================================================
--- /extensions/GrumPluginClasses/gpc_version.inc.php	(revision 5917)
+++ /extensions/GrumPluginClasses/gpc_version.inc.php	(revision 5918)
@@ -15,5 +15,5 @@
   if(!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
 
-  if(!defined('GPC_VERSION')) define('GPC_VERSION',  '3.0.1');
-  if(!defined('GPC_VERSION2')) define('GPC_VERSION2', '03.03.01');
+  if(!defined('GPC_VERSION')) define('GPC_VERSION',  '3.1.0');
+  if(!defined('GPC_VERSION2')) define('GPC_VERSION2', '03.01.00');
 ?>
Index: /extensions/GrumPluginClasses/main.inc.php
===================================================================
--- /extensions/GrumPluginClasses/main.inc.php	(revision 5917)
+++ /extensions/GrumPluginClasses/main.inc.php	(revision 5918)
@@ -2,7 +2,7 @@
 /*
 Plugin Name: Grum Plugins Classes.3
-Version: 3.0.1
+Version: 3.1.0
 Description: Collection de classes partagées entre mes plugins (existants, ou à venir) / Partaged classes between my plugins (actuals or futures)
-Plugin URI: http://phpwebgallery.net/ext/extension_view.php?eid=199
+Plugin URI: http://piwigo.org/ext/extension_view.php?eid=199
 Author: grum@piwigo.org
 Author URI: http://photos.grum.fr/
@@ -14,5 +14,4 @@
     email    : grum@piwigo.org
     website  : http://photos.grum.fr
-    PWG user : http://forum.phpwebgallery.net/profile.php?id=3706
 
     << May the Little SpaceFrog be with you ! >>
@@ -43,4 +42,13 @@
 |         |            |   . it_IT
 |         |            |
+| 3.1.0   | 2010/04/18 | * add the GPCTabSheet class
+|         |            | * Add new languages
+|         |            |   . nl_NL
+|         |            |   . de_DE
+|         |            |
+|         |            |
+|         |            |
+|         |            |
+|         |            |
 |         |            |
 |         |            |
@@ -66,4 +74,5 @@
     GPCTranslate.class.inc.php + google_translate.js
     GPCUsersGroups.class.inc.php
+    GPCTabSheet.class.inc.php
 
     genericjs.class.inc.php  + genericjs.js
Index: /extensions/GrumPluginClasses/templates/GPCTabSheet.tpl
===================================================================
--- /extensions/GrumPluginClasses/templates/GPCTabSheet.tpl	(revision 5918)
+++ /extensions/GrumPluginClasses/templates/GPCTabSheet.tpl	(revision 5918)
@@ -0,0 +1,9 @@
+{if isset($tabsheet) and count($tabsheet)}
+<ul {if isset($tabsheet_classes)}class="{$tabsheet_classes}"{/if} {if isset($tabsheet_id)}id="{$tabsheet_id}"{/if} >
+{foreach from=$tabsheet key=name item=sheet}
+  <li class="{if ($name == $tabsheet_selected)}selected_tab{else}normal_tab{/if}">
+    <a href="{$sheet.url}"><span>{$sheet.caption}</span></a>
+  </li>
+{/foreach}
+</ul>
+{/if}
