Index: /extensions/GrumPluginClasses/classes/CommonPlugin.class.inc.php
===================================================================
--- /extensions/GrumPluginClasses/classes/CommonPlugin.class.inc.php	(revision 5957)
+++ /extensions/GrumPluginClasses/classes/CommonPlugin.class.inc.php	(revision 5958)
@@ -225,5 +225,5 @@
 
   /*
-    intialize plugin's events
+    initialize plugin's events
     to be surcharged by child's classes
   */
Index: /extensions/GrumPluginClasses/classes/GPCCore.class.inc.php
===================================================================
--- /extensions/GrumPluginClasses/classes/GPCCore.class.inc.php	(revision 5957)
+++ /extensions/GrumPluginClasses/classes/GPCCore.class.inc.php	(revision 5958)
@@ -3,6 +3,6 @@
 /* -----------------------------------------------------------------------------
   class name     : GPCCore
-  class version  : 3.0.0
-  plugin version : 3.0.0
+  class version  : 1.1.0
+  plugin version : 3.1.0
   date           : 2010-03-30
   ------------------------------------------------------------------------------
@@ -14,6 +14,7 @@
 
 | release | date       |
-| 3.0.0   | 2010/03/30 | * Update class & function names
-|         |            |
+| 1.0.0   | 2010/03/30 | * Update class & function names
+|         |            |
+| 1.1.0   | 2010/03/30 | * add the BBtoHTML function
 |         |            |
 |         |            |
@@ -31,4 +32,5 @@
     - static function register
     - static function unregister
+    - static function BBtoHTML
    ---------------------------------------------------------------------- */
 
@@ -48,5 +50,5 @@
         Array('name' => "CommonPlugin", 'version' => "2.1.0"),
         Array('name' => "GPCAjax", 'version' => "3.0.0"),
-        Array('name' => "GPCCore", 'version' => "1.0.0"),
+        Array('name' => "GPCCore", 'version' => "1.1.0"),
         Array('name' => "GPCCss", 'version' => "3.0.0"),
         Array('name' => "GPCPagesNavigations", 'version' => "2.0.0"),
@@ -223,4 +225,45 @@
   }
 
+
+  /**
+   * convert (light) BB tag to HTML tag
+   *
+   * all BB codes are not recognized, only :
+   *  - [ul] [/ul]
+   *  - [li] [/li]
+   *  - [b] [/b]
+   *  - [i] [/i]
+   *  - [url] [/url]
+   *  - carriage return is replaced by a <br>
+   *
+   * @param String $text : text to convert
+   * @return String : BB to HTML text
+   */
+  static public function BBtoHTML($text)
+  {
+    $patterns = Array(
+      '/\[li\](.*?)\[\/li\]\n*/im',
+      '/\[b\](.*?)\[\/b\]/ism',
+      '/\[i\](.*?)\[\/i\]/ism',
+      '/\[url\]([\w]+?:\/\/[^ \"\n\r\t<]*?)\[\/url\]/ism',
+      '/\[url=([\w]+?:\/\/[^ \"\n\r\t<]*?)\](.*?)\[\/url\]/ism',
+      '/\n{0,1}\[ul\]\n{0,1}/im',
+      '/\n{0,1}\[\/ul\]\n{0,1}/im',
+      '/\n/im',
+    );
+    $replacements = Array(
+      '<li>\1</li>',
+      '<b>\1</b>',
+      '<i>\1</i>',
+      '<a href="\1">\1</a>',
+      '<a href="\1">\2</a>',
+      '<ul>',
+      '</ul>',
+      '<br>',
+    );
+
+    return(preg_replace($patterns, $replacements, $text));
+  }
+
 } //class
 
Index: /extensions/GrumPluginClasses/classes/GPCCss.class.inc.php
===================================================================
--- /extensions/GrumPluginClasses/classes/GPCCss.class.inc.php	(revision 5957)
+++ /extensions/GrumPluginClasses/classes/GPCCss.class.inc.php	(revision 5958)
@@ -41,4 +41,25 @@
 {
   private $filename;
+
+  static public function applyGpcCss()
+  {
+    add_event_handler('loc_end_page_header', array('GPCCss', 'applyCSSFile'));
+  }
+
+  static public function applyCSSFile($fileName="")
+  {
+    global $template;
+
+    if($fileName=="")
+    {
+      //if no filename given, load the gpc.css file
+      $fileName=basename(dirname(dirname(__FILE__))).'/css/gpc.css';
+      $template->append('head_elements', '<link rel="stylesheet" type="text/css" href="plugins/'.$fileName.'">');
+    }
+    elseif(file_exists($fileName))
+    {
+      $template->append('head_elements', '<link rel="stylesheet" type="text/css" href="plugins/'.basename(dirname($fileName))."/".basename($fileName).'">');
+    }
+  }
 
   public function __construct($filename)
@@ -86,9 +107,8 @@
     global $template;
 
-    if($this->fileExists())
-    {
-      $template->append('head_elements', '<link rel="stylesheet" type="text/css" href="plugins/'.basename(dirname($this->filename))."/".basename($this->filename).'">');
-    }
+    GPCCss::applyCSSFile($this->filename);
   }
+
+
 } //class
 
Index: /extensions/GrumPluginClasses/classes/genericjs.class.inc.php
===================================================================
--- /extensions/GrumPluginClasses/classes/genericjs.class.inc.php	(revision 5957)
+++ /extensions/GrumPluginClasses/classes/genericjs.class.inc.php	(revision 5958)
@@ -12,5 +12,5 @@
    this classes provides base functions to add genericjs.js file into html page
 
-   > see genericjs.js file to know javascript functions added 
+   > see genericjs.js file to know javascript functions added
 
     - constructor genericjs()
@@ -29,5 +29,5 @@
     global $template;
 
-    $name='plugins/'.basename(dirname(__FILE__)).'/genericjs.js';
+    $name='plugins/'.basename(dirname(dirname(__FILE__))).'/js/genericjs.js';
 
     $template->append('head_elements', '<script src="'.$name.'" type="text/javascript"></script>');
Index: /extensions/GrumPluginClasses/css/gpc.css
===================================================================
--- /extensions/GrumPluginClasses/css/gpc.css	(revision 5958)
+++ /extensions/GrumPluginClasses/css/gpc.css	(revision 5958)
@@ -0,0 +1,54 @@
+.formtable, .formtable P { text-align:justify; display:block; }
+.formtable tr { vertical-align:top; }
+.littlefont { font-size:90%; }
+.littlefont td { padding:1px; }
+table.littlefont th { padding:3px; text-align:left;}
+table.littlefont td { padding:1px 3px; }
+#iprogressbar_contener { margin:0px; padding:0px; display:block; height:20px; border-width:1px; border-style:solid;}
+#iprogressbar_bg { display:block; z-index:100; position:relative; height:20px; }
+#iprogressbar_fg { width:100%; text-align:center; display: block; z-index:200; position:relative; top:-18px;  }
+.nfo ul { margin-top:0em; margin-bottom:1em; }
+.warning { color:#ffffff; background:#dd0000; margin-bottom:8px; margin-top:8px; padding:8px; }
+.warning p, .nfo p { margin-top:0.5em; margin-bottom:0em; }
+.warning ul { margin-top:0em; margin-bottom:0.5em; }
+.pctBarroma { height:6px; background:#FF7700; }
+.pctBarclear { height:6px; background:#005E89; }
+li.groupItems { border:1px solid #666666; margin-bottom:5px; padding:0 5px; width:90%; cursor:move; padding:4px; }
+
+.ui-dialog { border-width:1px; border-style:solid; }
+.ui-dialog-buttonpane { padding:4px; }
+.ui-dialog-buttonpane button { margin-right:8px; }
+.ui-dialog-titlebar { font-weight:bold; }
+.ui-dialog-title-dialog { text-align: left; }
+.ui-dialog-titlebar-close { float: right; }
+.ui-dialog-content { overflow:auto; }
+.ui-dialog-container { }
+.ui-dialog-titlebar-close { display:none; }
+
+.ui-widget-overlay { background:#000000; opacity:0.5; filter:alpha(opacity:50); position:absolute; top:0px; left:0px; }
+
+.dialogForm { text-align:left; margin:8px; }
+
+#iDialogProgress { margin:16px 8px 8px; }
+#iDialogProgress p { text-align: center; margin-top: 8px; margin-bottom: 0pt; }
+
+.tabsheet2 {
+display:table;
+font-family:verdana,arial,helvetica,sans-serif; font-size:8px;
+list-style-image:none; padding: 0 0 0 10px; position:relative; text-decoration:none;
+white-space:nowrap; margin: 0 0 0 -6px;top:-21px;border-bottom:1px solid;
+width:100%;
+}
+.tabsheet2 li { float:left; margin:0 0 0 0; overflow:hidden; text-align:right; border-width:1px; position:relative; }
+.tabsheet2 a {
+display:block; font-size:11px; border:0;
+font-weight:bold; overflow:hidden; padding:2px 6px;
+text-align:right; text-decoration:none; margin: 0; }
+.tabsheet2 a:first-letter { text-transform:capitalize; }
+
+.tabsheet2 li:hover, .tabsheet2 li.selected_tab  {
+padding-top:6px; border-bottom:5px solid;
+ }
+/* .tabsheet a:hover */
+.tabsheet2 a span { display:block; font-size:10px; margin-right:2px; padding:0 3px 0 1px; }
+
Index: tensions/GrumPluginClasses/gpc.css
===================================================================
--- /extensions/GrumPluginClasses/gpc.css	(revision 5957)
+++ 	(revision )
@@ -1,13 +1,0 @@
-
-.StatTableRow:hover { background-color:#; }
-.formtable, .formtable P { text-align:left; display:block; }
-.formtable tr { vertical-align:top; }
-.invisible { visibility:hidden; display:none; }
-.littlefont { font-size:90%; }
-table.table2.littlefont td { text-align:center;padding:0px;padding-left:3px;padding-right:3px; }
-.throw { line-height:auto; font-size:100%; }
-table.table2 tr.throw { height:26px; }
-table.table2 td.toLeft  { text-align:left; }
-div.table { margin-bottom:15px; }
-pointerHand { cursor:pointer; }
-    
Index: /extensions/GrumPluginClasses/main.inc.php
===================================================================
--- /extensions/GrumPluginClasses/main.inc.php	(revision 5957)
+++ /extensions/GrumPluginClasses/main.inc.php	(revision 5958)
@@ -42,5 +42,6 @@
 |         |            |   . it_IT
 |         |            |
-| 3.1.0   | 2010/04/18 | * add the GPCTabSheet class
+| 3.1.0   | 2010/04/24 | * add the GPCTabSheet class
+|         |            | * update the GPCCore class
 |         |            | * Add new languages
 |         |            |   . nl_NL
