diff --git a/htdocs/admin/external_rss.php b/htdocs/admin/external_rss.php
index f95d6d5f0acc814d04879b94949eebe749b085e5..11749b8de08cd9efe605c27f607f277e8598eb63 100644
--- a/htdocs/admin/external_rss.php
+++ b/htdocs/admin/external_rss.php
@@ -205,7 +205,7 @@ print '</tr>';
 print '<tr class="impair">';
 print '<td width="100">'.$langs->trans("Title").'</td>';
 print '<td><input type="text" name="external_rss_title_'.($lastexternalrss+1).'" value="'.@constant("EXTERNAL_RSS_TITLE_" . ($lastexternalrss+1)).'" size="64"></td>';
-print '<td>April,<br>LinuxFR,<br>Lolix</td>';
+print '<td>An interesting RSS feed</td>';
 print '</tr>';
 
 print '<tr class="pair">';
diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php
index 39a602eadc5e0d6f10a05fede148458375e3e8e3..fd1b48bcd728793243b58a0d71b7113ac85b63a6 100644
--- a/htdocs/comm/propal/class/propal.class.php
+++ b/htdocs/comm/propal/class/propal.class.php
@@ -8,17 +8,17 @@
  * Copyright (C) 2008      Raphael Bertrand			<raphael.bertrand@resultic.fr>
  * Copyright (C) 2010-2011 Juanjo Menent			<jmenent@2byte.es>
  * Copyright (C) 2010-2011 Philippe Grand			<philippe.grand@atoo-net.com>
- * 
+ *
  * 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; either version 2 of the License, or
  * (at your option) any later version.
- * 
+ *
  * 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, see <http://www.gnu.org/licenses/>.
  */
@@ -206,8 +206,8 @@ class Propal extends CommonObject
     /**
      *	Adding line of fixed discount in the proposal in DB
      *
-     *	@param     int		@idremise			Id of fixed discount
-     *  @return    int          				>0 si ok, <0 si ko
+     *	@param     int		$idremise			Id of fixed discount
+     *  @return    int          				>0 if OK, <0 if KO
      */
     function insert_discount($idremise)
     {
@@ -723,22 +723,22 @@ class Propal extends CommonObject
                         }
 
                         $result = $this->addline(
-                        $this->id,
-                        $this->lines[$i]->desc,
-                        $this->lines[$i]->subprice,
-                        $this->lines[$i]->qty,
-                        $this->lines[$i]->tva_tx,
-                        $this->lines[$i]->localtax1_tx,
-                        $this->lines[$i]->localtax2_tx,
-                        $this->lines[$i]->fk_product,
-                        $this->lines[$i]->remise_percent,
-    						'HT',
-                        0,
-                        0,
-                        $this->lines[$i]->product_type,
-                        $this->lines[$i]->rang,
-                        $this->lines[$i]->special_code,
-                        $fk_parent_line
+                            $this->id,
+                            $this->lines[$i]->desc,
+                            $this->lines[$i]->subprice,
+                            $this->lines[$i]->qty,
+                            $this->lines[$i]->tva_tx,
+                            $this->lines[$i]->localtax1_tx,
+                            $this->lines[$i]->localtax2_tx,
+                            $this->lines[$i]->fk_product,
+                            $this->lines[$i]->remise_percent,
+                            'HT',
+                            0,
+                            0,
+                            $this->lines[$i]->product_type,
+                            $this->lines[$i]->rang,
+                            $this->lines[$i]->special_code,
+                            $fk_parent_line
                         );
 
                         if ($result < 0)
@@ -828,6 +828,7 @@ class Propal extends CommonObject
 
     /**
      *	Insert into DB a proposal object completely defined by its data members (ex, results from copy).
+     *
      *	@param 		User	$user	User that create
      *	@return    	int				Id of the new object if ok, <0 if ko
      *	@see       	create
diff --git a/htdocs/core/boxes/box_external_rss.php b/htdocs/core/boxes/box_external_rss.php
index 8a3e57a2141bdd2914c59a6369d1ce87b34a6517..51f197ec3fde12a73d68fac41d49c6e90d6a5325 100644
--- a/htdocs/core/boxes/box_external_rss.php
+++ b/htdocs/core/boxes/box_external_rss.php
@@ -47,7 +47,8 @@ class box_external_rss extends ModeleBoxes
     /**
      *  Constructor
      *
-     * 	@param	DoliDB	$db		Database handler
+     * 	@param	DoliDB	$db			Database handler
+     *  @param	string	$param		More parameters
      */
     function box_external_rss($db,$param)
     {
diff --git a/htdocs/core/boxes/box_prospect.php b/htdocs/core/boxes/box_prospect.php
index e532f00509177914eff87f9d44733594db440ae3..87d2324013e90e947dc8bd40cef7f65cd0dec4cd 100644
--- a/htdocs/core/boxes/box_prospect.php
+++ b/htdocs/core/boxes/box_prospect.php
@@ -39,21 +39,22 @@ class box_prospect extends ModeleBoxes
 	var $depends = array("societe");
 
 	var $db;
-	var $param;
 
 	var $info_box_head = array();
 	var $info_box_contents = array();
 
+
 	/**
      *  Constructor
+     *
+     *  @param	DoliDB	$db		Database handler
 	 */
-	function box_prospect($DB,$param)
+	function box_prospect($db)
 	{
 		global $langs;
 		$langs->load("boxes");
 
-		$this->db=$DB;
-		$this->param=$param;
+		$this->db=$db;
 
 		$this->boxlabel=$langs->transnoentitiesnoconv("BoxLastProspects");
 	}
diff --git a/htdocs/core/class/canvas.class.php b/htdocs/core/class/canvas.class.php
index aff50c4de673760d8b27425af5024371a25ace50..73713118b51ade5068b5d6092bd0156430015b68 100644
--- a/htdocs/core/class/canvas.class.php
+++ b/htdocs/core/class/canvas.class.php
@@ -46,7 +46,7 @@ class Canvas
    /**
 	*   Constructor
 	*
-	*   @param     DoliDB	$DB          	Database handler
+	*   @param     DoliDB	$db          	Database handler
 	*   @param     string   $actiontype		Action type ('create', 'view', 'edit', 'list')
 	*/
 	function __construct($db, $actiontype='view')
@@ -129,7 +129,7 @@ class Canvas
      *	@return		int		0=Canvas template file does not exist, 1=Canvas template file exists
      */
     function displayCanvasExists($action)
-    {	
+    {
         if (empty($this->template_dir)) return 0;
 
         if (file_exists($this->template_dir.($this->card?$this->card.'_':'').$this->action.'.tpl.php')) return 1;
diff --git a/htdocs/core/class/commondocgenerator.class.php b/htdocs/core/class/commondocgenerator.class.php
index ed49e784dadca5adb3f682da036b847d52f779f0..f906ea3c75e3d8d0be798fc92a3ea66c69263a8f 100755
--- a/htdocs/core/class/commondocgenerator.class.php
+++ b/htdocs/core/class/commondocgenerator.class.php
@@ -38,8 +38,9 @@ abstract class CommonDocGenerator
     /**
      * Define array with couple subtitution key => subtitution value
      *
-     * @param   $user               User
-     * @param   $outputlangs        Language object for output
+     * @param   User		$user           User
+     * @param   Translate	$outputlangs    Language object for output
+     * @return	array						Array of substitution key->code
      */
     function get_substitutionarray_user($user,$outputlangs)
     {
@@ -61,8 +62,9 @@ abstract class CommonDocGenerator
     /**
      * Define array with couple subtitution key => subtitution value
      *
-     * @param   $mysoc
-     * @param   $outputlangs        Language object for output
+     * @param   Societe		$mysoc			Object thirdparty
+     * @param   Translate	$outputlangs    Language object for output
+     * @return	array						Array of substitution key->code
      */
     function get_substitutionarray_mysoc($mysoc,$outputlangs)
     {
@@ -103,8 +105,9 @@ abstract class CommonDocGenerator
     /**
      * Define array with couple subtitution key => subtitution value
      *
-     * @param   $object
-     * @param   $outputlangs        Language object for output
+     * @param	Object		$object			Object
+     * @param   Translate	$outputlangs    Language object for output
+     * @return	array						Array of substitution key->code
      */
     function get_substitutionarray_thirdparty($object,$outputlangs)
     {
diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php
index 679d380a40c6275df476eabc2c5b2bee6a06541c..dc62d653afedd6631567bb43522194d29a2879b1 100644
--- a/htdocs/core/class/commonobject.class.php
+++ b/htdocs/core/class/commonobject.class.php
@@ -2433,8 +2433,8 @@ abstract class CommonObject
      *
      *  @param	string		$action				GET/POST action
      * 	@param	array	    $line		       	Selected object line to output
-     *  @param  string	    $var               	Is it a an odd line
-     *  @param  int		    $num               	Number of line
+     *  @param  string	    $var               	Is it a an odd line (true)
+     *  @param  int		    $num               	Number of line (0)
      *  @param  int		    $i					I
      *  @param  int		    $dateSelector      	1=Show also date range input fields
      *  @param  string	    $seller            	Object of seller third party
@@ -2443,7 +2443,7 @@ abstract class CommonObject
      *  @param	HookManager	$hookmanager		Hook manager
      *  @return	void
 	 */
-	function printObjectLine($action,$line,$var=true,$num=0,$i=0,$dateSelector=0,$seller,$buyer,$selected=0,$hookmanager=false)
+	function printObjectLine($action,$line,$var,$num,$i,$dateSelector,$seller,$buyer,$selected=0,$hookmanager=false)
 	{
 		global $conf,$langs,$user;
 		global $form,$bc,$bcdd;
diff --git a/htdocs/core/class/genericobject.class.php b/htdocs/core/class/genericobject.class.php
index 06f8067f2b416909de22b658a4b4dbfbcec9fa2b..ace19b2a1748e1fc1f8ffb75e454a84825d06f8a 100755
--- a/htdocs/core/class/genericobject.class.php
+++ b/htdocs/core/class/genericobject.class.php
@@ -35,7 +35,7 @@ class GenericObject extends CommonObject
 	/**
 	 *	Constructor
 	 *
-	 *  @param		DoliDB		$DB      Database handler
+	 *  @param		DoliDB		$db      Database handler
 	 */
 	function __construct($db)
 	{
diff --git a/htdocs/core/class/hookmanager.class.php b/htdocs/core/class/hookmanager.class.php
index 5036e84c34f30ca9e97ca9c4701175ed3d68694c..1dc54c041b0d5569d28f98411d130c615c9fea5e 100755
--- a/htdocs/core/class/hookmanager.class.php
+++ b/htdocs/core/class/hookmanager.class.php
@@ -44,7 +44,7 @@ class HookManager
 	/**
 	 * Constructor
 	 *
-	 * @param	DoliDB	$DB		Handler acces base de donnees
+	 * @param	DoliDB		$db		Handler acces base de donnees
 	 */
 	function __construct($db)
 	{
diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php
index c0941ba7c483d442af266bbcc460cee4175d25f2..e64ba0072460bc6dc2c668422231e7d6c88936ff 100644
--- a/htdocs/core/class/html.form.class.php
+++ b/htdocs/core/class/html.form.class.php
@@ -389,7 +389,7 @@ class Form
      *	Show a text with a picto and a tooltip on picto
      *
      *	@param	string	$text				Text to show
-     *	@param  string	$htmltooltip     	Content of tooltip
+     *	@param  string	$htmltext	     	Content of tooltip
      *	@param	int		$direction			1=Icon is after text, -1=Icon is before text, 0=no icon
      * 	@param	string	$type				Type of picto (info, help, warning, superadmin...)
      *  @param  string	$extracss           Add a CSS style to td tags
@@ -651,7 +651,7 @@ class Form
      *	@param	int		$showempty		Add an empty field
      * 	@param	int		$showtype		Show third party type in combolist (customer, prospect or supplier)
      * 	@param	int		$forcecombo		Force to use combo box
-     	 @param	array	$event			Event options
+     *  @param	array	$event			Event options
      * 	@return	string					HTML string with
      */
     function select_company($selected='',$htmlname='socid',$filter='',$showempty=0, $showtype=0, $forcecombo=0, $event=array())
@@ -811,7 +811,7 @@ class Form
      *	@param	int		$socid      	Id ot third party or 0 for all
      *	@param  string	$selected   	Id contact pre-selectionne
      *	@param  string	$htmlname  	    Name of HTML field ('none' for a not editable field)
-     *	@param  int		$show_empty     0=no empty value, 1=add an empty value
+     *	@param  int		$showempty     	0=no empty value, 1=add an empty value
      *	@param  string	$exclude        List of contacts id to exclude
      *	@param	string	$limitto		Disable answers that are not id in this array list
      *	@param	string	$showfunction   Add function into label
@@ -822,9 +822,9 @@ class Form
     function selectcontacts($socid,$selected='',$htmlname='contactid',$showempty=0,$exclude='',$limitto='',$showfunction=0, $moreclass='', $options_only=false)
     {
         global $conf,$langs;
-        
+
         $langs->load('companies');
-        
+
         $out='';
 
         // On recherche les societes
@@ -901,7 +901,7 @@ class Form
             {
                 $out.= '</select>';
             }
-            
+
             $this->num = $num;
             return $out;
         }
@@ -1055,6 +1055,7 @@ class Form
      *  @param		int			$status					-1=Return all products, 0=Products not on sell, 1=Products on sell
      *  @param		int			$finished				2=all, 1=finished, 0=raw material
      *  @param		string		$selected_input_value	Value of preselected input text (with ajax)
+     *  @param		int			$hide_label				Hide label
      *  @return		void
      */
     function select_produits($selected='',$htmlname='productid',$filtertype='',$limit=20,$price_level=0,$status=1,$finished=2,$selected_input_value='',$hidelabel=0)
@@ -1306,13 +1307,13 @@ class Form
      *	Return list of products for customer (in Ajax if Ajax activated or go to select_produits_fournisseurs_do)
      *
      *	@param	int		$socid			Id third party
-     *	@param  string	$selected        Preselected product
-     *	@param  string	$htmlname        Name of HTML Select
-     *  @param	string	$filtertype      Filter on product type (''=nofilter, 0=product, 1=service)
-     *	@param  string	$filtre          For a SQL filter
+     *	@param  string	$selected       Preselected product
+     *	@param  string	$htmlname       Name of HTML Select
+     *  @param	string	$filtertype     Filter on product type (''=nofilter, 0=product, 1=service)
+     *	@param  string	$filtre			For a SQL filter
      *	@return	void
      */
-    function select_produits_fournisseurs($socid,$selected='',$htmlname='productid',$filtertype='',$filtre)
+    function select_produits_fournisseurs($socid,$selected='',$htmlname='productid',$filtertype='',$filtre='')
     {
         global $langs,$conf;
         global $price_level, $status, $finished;
@@ -1576,7 +1577,7 @@ class Form
      *    @param    int		$showempty         	Add an empty field
      *    @return	void
      */
-    function select_address($selected='', $socid, $htmlname='address_id',$showempty=0)
+    function select_address($selected, $socid, $htmlname='address_id',$showempty=0)
     {
         // On recherche les utilisateurs
         $sql = "SELECT a.rowid, a.label";
@@ -2064,6 +2065,7 @@ class Form
      *    @param    string	$select_name		HTML field name
      *    @param    int		$maxlength      	Maximum length for labels
      *    @param    int		$excludeafterid 	Exclude all categories after this leaf in category tree.
+     *    @return	void
      */
     function select_all_categories($type, $selected='', $select_name="", $maxlength=64, $excludeafterid=0)
     {
@@ -2606,7 +2608,7 @@ class Form
      *
      *  @param  string	$page        	Page URL where form is shown
      *  @param  int		$selected    	Value pre-selected
-     *	@param  string	$htmlname    	Nom du formulaire select. Si none, non modifiable
+     *	@param  string	$htmlname    	Nom du formulaire select. Si 'none', non modifiable. Example 'remise_id'.
      *	@param	int		$socid			Third party id
      * 	@param	float	$amount			Total amount available
      * 	@param	string	$filter			SQL filter on discounts
@@ -2614,7 +2616,7 @@ class Form
      *  @param  string	$more           More string to add
      *  @return	void
      */
-    function form_remise_dispo($page, $selected='', $htmlname='remise_id', $socid, $amount, $filter='', $maxvalue=0, $more='')
+    function form_remise_dispo($page, $selected, $htmlname, $socid, $amount, $filter='', $maxvalue=0, $more='')
     {
         global $conf,$langs;
         if ($htmlname != "none")
@@ -2728,7 +2730,7 @@ class Form
             print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
             print '<table class="nobordernopadding" cellpadding="0" cellspacing="0">';
             print '<tr><td>';
-            print $this->select_company($selected , $htmlname);
+            print $this->select_company($selected, $htmlname);
             print '</td>';
             print '<td align="left"><input type="submit" class="button" value="'.$langs->trans("Modify").'"></td>';
             print '</tr></table></form>';
@@ -2855,7 +2857,7 @@ class Form
      *  @param  Societe	$societe_acheteuse  Object societe acheteuse
      *  @param  int		$idprod             Id product
      *  @param  int		$info_bits          Miscellaneous information on line
-     *  @param  type               			''=Unknown, 0=Product, 1=Service (Used if idprod not defined)
+     *  @param  string	$type      			''=Unknown, 0=Product, 1=Service (Used if idprod not defined)
      *  						            Si vendeur non assujeti a TVA, TVA par defaut=0. Fin de regle.
      *              						Si le (pays vendeur = pays acheteur) alors la TVA par defaut=TVA du produit vendu. Fin de regle.
      *              						Si (vendeur et acheteur dans Communaute europeenne) et bien vendu = moyen de transports neuf (auto, bateau, avion), TVA par defaut=0 (La TVA doit etre paye par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de regle.
@@ -3048,7 +3050,7 @@ class Form
         {
             $return.= $this->error;
         }
-        
+
         $this->num = $num;
         return $return;
     }
@@ -3428,7 +3430,7 @@ class Form
     /**
      *	Return an html string with a select combo box to choose yes or no
      *
-     *	@param	string	$name			Name of html select field
+     *	@param	string	$htmlname		Name of html select field
      *	@param	string	$value			Pre-selected value
      *	@param	int		$option			0 return yes/no, 1 return 1/0
      *	@param	bool	$disabled		true or false
@@ -3649,7 +3651,7 @@ class Form
                 {
                     global $dolibarr_main_url_root;
                     $ret.='<!-- Put link to gravatar -->';
-                    $ret.='<img alt="Photo found on Gravatar" title="Photo Gravatar.com - email '.$email.'" border="0" width="'.$width.'" src="http://www.gravatar.com/avatar/'.dol_hash($email).'?s='.$width.'&d='.urlencode( dol_buildpath('/theme/common/nophoto.jpg',2) ).'">';
+                    $ret.='<img alt="Photo found on Gravatar" title="Photo Gravatar.com - email '.$email.'" border="0" width="'.$width.'" src="http://www.gravatar.com/avatar/'.dol_hash($email).'?s='.$width.'&d='.urlencode(dol_buildpath('/theme/common/nophoto.jpg',2)).'">';
                 }
                 else
                 {
diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php
index 52287a01dc218b482475548496a3ec1f8b1a50ed..43f864dbd9d7a363919341aef1b2595eced53d51 100644
--- a/htdocs/core/class/html.formfile.class.php
+++ b/htdocs/core/class/html.formfile.class.php
@@ -66,7 +66,7 @@ class FormFile
 
         if ($conf->global->MAIN_USE_JQUERY_FILEUPLOAD)
         {
-            return $this->_form_ajaxfileupload($object);
+            return $this->_formAjaxFileUpload($object);
         }
         else
         {
@@ -779,7 +779,7 @@ class FormFile
      *    @param	Object	$object		Object to use
      *    @return	void
      */
-    private function _form_ajaxfileupload($object)
+    private function _formAjaxFileUpload($object)
     {
         global $langs;
 
diff --git a/htdocs/core/class/html.formmail.class.php b/htdocs/core/class/html.formmail.class.php
index a60c2ef21aa766b51e837d618933455d8320b59e..cc904120cd53cfb3adab83ec993eaaf87eb3a7c8 100644
--- a/htdocs/core/class/html.formmail.class.php
+++ b/htdocs/core/class/html.formmail.class.php
@@ -71,7 +71,7 @@ class FormMail
     /**
      *	Constructor
      *
-     *  @param	DoliDB	$DB      Database handler
+     *  @param	DoliDB	$db      Database handler
      */
     function FormMail($db)
     {
diff --git a/htdocs/core/class/infobox.class.php b/htdocs/core/class/infobox.class.php
index 7baf404e808d0d38f2250794508a171559fefd68..622d364efd728743279f8ed60af53d1b16a4ece7 100644
--- a/htdocs/core/class/infobox.class.php
+++ b/htdocs/core/class/infobox.class.php
@@ -30,6 +30,7 @@ class InfoBox
     /**
      *  Return array of boxes qualified for area and user
      *
+     *  @param	DoliDB	$db				Database handler
      *  @param	string	$mode			'available' or 'activated'
      *  @param	string	$zone			Name or area (-1 for all, 0 for Homepage, 1 for xxx, ...)
      *  @param  User    $user	  		Objet user to filter (used only if $zone >= 0)
@@ -140,10 +141,11 @@ class InfoBox
     /**
      *  Save order of boxes for area and user
      *
-     *  @param	string	$zone       		Name of area (0 for Homepage, ...)
-     *  @param  string  $boxorder   		List of boxes with correct order 'A:123,456,...-B:789,321...'
-     *  @param  int     $userid     		Id of user
-     *  @return int                   		<0 if KO, >= 0 if OK
+     *  @param	DoliDB	$db				Database handler
+     *  @param	string	$zone       	Name of area (0 for Homepage, ...)
+     *  @param  string  $boxorder   	List of boxes with correct order 'A:123,456,...-B:789,321...'
+     *  @param  int     $userid     	Id of user
+     *  @return int                   	<0 if KO, >= 0 if OK
      */
     static function saveboxorder($db, $zone,$boxorder,$userid=0)
     {
diff --git a/htdocs/core/class/interfaces.class.php b/htdocs/core/class/interfaces.class.php
index d311c7bee4ae197dd2cc940a328678809a384d8c..b64dcb588810cf83645c361795381a47acae7026 100644
--- a/htdocs/core/class/interfaces.class.php
+++ b/htdocs/core/class/interfaces.class.php
@@ -50,7 +50,7 @@ class Interfaces
      *   @param		string		$action     Trigger event code
      *   @param     Object		$object     Objet concern
      *   @param     User		$user       Objet user
-     *   @param     Lang		$lang       Objet lang
+     *   @param     Lang		$langs      Objet lang
      *   @param     Conf		$conf       Objet conf
      *   @return    int         			Nb of triggers ran if no error, -Nb of triggers with errors otherwise.
      */
diff --git a/htdocs/core/class/ldap.class.php b/htdocs/core/class/ldap.class.php
index e564c78db28c7f41d22919c7b778fa2cadf60445..3598497a3a931a27244e3c0cff235f8f290776e2 100644
--- a/htdocs/core/class/ldap.class.php
+++ b/htdocs/core/class/ldap.class.php
@@ -141,7 +141,7 @@ class Ldap
 	 * anonymously, it creates an error code of -1. Returns true if connected,
 	 * false if failed. Takes an array of possible servers - if one doesn't work,
 	 * it tries the next and so on.
-	 * 
+	 *
 	 * @return	void
 	 * @deprecated		Utiliser connect_bind a la place
 	 */
@@ -286,7 +286,7 @@ class Ldap
 	/**
 	 * Simply closes the connection set up earlier.
 	 * Returns true if OK, false if there was an error.
-	 * 
+	 *
 	 * @return	boolean			true or false
 	 */
 	function close()
@@ -304,7 +304,7 @@ class Ldap
 	/**
 	 * Anonymously binds to the connection. After this is done,
 	 * queries and searches can be done - but read-only.
-	 * 
+	 *
 	 * @return	boolean			true or false
 	 */
 	function bind()
@@ -329,12 +329,12 @@ class Ldap
 	 * like "uid=jbloggs,ou=People,dc=foo,dc=com".
 	 *
 	 * @param	string	$bindDn			DN
-	 * @param	string	$pass			Password 
+	 * @param	string	$pass			Password
 	 * @return	boolean					true or false
 	 */
 	function bindauth($bindDn,$pass)
 	{
-		if (! $this->result = @ldap_bind( $this->connection,$bindDn,$pass))
+		if (! $this->result = @ldap_bind($this->connection, $bindDn, $pass))
 		{
 			$this->ldapErrorCode = ldap_errno($this->connection);
 			$this->ldapErrorText = ldap_error($this->connection);
@@ -349,7 +349,7 @@ class Ldap
 
 	/**
 	 * Unbind du serveur ldap.
-	 * 
+	 *
 	 * @return	boolean					true or false
 	 */
 	function unbind()
@@ -365,7 +365,7 @@ class Ldap
 
 	/**
 	 * Verification de la version du serveur ldap.
-	 * 
+	 *
 	 * @return	string					version
 	 */
 	function getVersion()
@@ -377,7 +377,7 @@ class Ldap
 
 	/**
 	 * Change ldap protocol version to use.
-	 * 
+	 *
 	 * @return	string					version
 	 */
 	function setVersion() {
@@ -388,7 +388,7 @@ class Ldap
 
 	/**
 	 * changement du referrals.
-	 * 
+	 *
 	 * @return	string					referrals
 	 */
 	function setReferrals() {
@@ -401,7 +401,7 @@ class Ldap
 	/**
 	 * 	Add a LDAP entry
 	 *	Ldap object connect and bind must have been done
-	 * 
+	 *
 	 *	@param	string	$dn			DN entry key
 	 *	@param	string	$info		Attributes array
 	 *	@param	User	$user		Objet user that create
@@ -453,7 +453,7 @@ class Ldap
 	/**
 	 * 	Modify a LDAP entry
 	 *	Ldap object connect and bind must have been done
-	 * 
+	 *
 	 *	@param	string		$dn			DN entry key
 	 *	@param	string		$info		Attributes array
 	 *	@param	string		$user		Objet user that modify
@@ -505,7 +505,7 @@ class Ldap
 	/**
 	 *  Modify a LDAP entry (to use if dn != olddn)
 	 *	Ldap object connect and bind must have been done
-	 * 
+	 *
 	 *  @param	string		$dn			DN entry key
 	 *  @param  string		$info		Attributes array
 	 *  @param  User		$user		Objet user that delete
@@ -560,7 +560,7 @@ class Ldap
 	/**
 	 * 	Delete a LDAP entry
 	 *	Ldap object connect and bind must have been done
-	 * 
+	 *
 	 *	@param	string	$dn			DN entry key
 	 *	@return	int					<0 if KO, >0 if OK
 	 */
@@ -593,7 +593,7 @@ class Ldap
 
 	/**
 	 * 	Build a LDAP message
-	 * 
+	 *
 	 *	@param	string	$dn			DN entry key
 	 *	@param	string	$info		Attributes array
 	 *	@return	string				Content of file
@@ -635,7 +635,7 @@ class Ldap
 
 	/**
 	 * 	Dump a LDAP message to ldapinput.in file
-	 * 
+	 *
 	 *	@param	string	$dn			DN entry key
 	 *	@param	string	$info		Attributes array
 	 *	@return	int					<0 if KO, >0 if OK
@@ -672,7 +672,7 @@ class Ldap
     /**
 	 * 	Add a LDAP attribute in entry
 	 *	Ldap object connect and bind must have been done
-	 * 
+	 *
 	 *	@param	string	$dn			DN entry key
 	 *	@param	string	$info		Attributes array
 	 *	@param	User	$user		Objet user that create
@@ -724,7 +724,7 @@ class Ldap
     /**
 	 * 	Update a LDAP attribute in entry
 	 *	Ldap object connect and bind must have been done
-	 * 
+	 *
 	 *	@param	string	$dn			DN entry key
 	 *	@param	string	$info		Attributes array
 	 *	@param	User	$user		Objet user that create
@@ -776,7 +776,7 @@ class Ldap
     /**
 	 * 	Delete a LDAP attribute in entry
 	 *	Ldap object connect and bind must have been done
-	 * 
+	 *
 	 *	@param	string	$dn			DN entry key
 	 *	@param	string	$info		Attributes array
 	 *	@param	User	$user		Objet user that create
@@ -827,10 +827,10 @@ class Ldap
 
     /**
 	 *  Returns an array containing attributes and values for first record
-	 * 
+	 *
 	 *	@param	string	$dn			DN entry key
 	 *	@param	string	$filter		Filter
-	 *	@return	int					<0 if KO, >0 if OK 
+	 *	@return	int					<0 if KO, >0 if OK
 	 */
 	function getAttribute($dn,$filter)
 	{
@@ -859,7 +859,7 @@ class Ldap
 		}
 
 		// Get values
-		if (! $values = ldap_get_attributes( $this->connection, $entry))
+		if (! $values = ldap_get_attributes($this->connection, $entry))
 		{
 			$this->ldapErrorCode = ldap_errno($this->connection);
 			$this->ldapErrorText = ldap_error($this->connection);
@@ -872,7 +872,7 @@ class Ldap
 
 	/**
 	 *  Returns an array containing values for an attribute and for first record matching filterrecord
-	 * 
+	 *
 	 * 	@param	string	$filterrecord		Record
 	 * 	@param	string	$attribute			Attributes
 	 * 	@return void
@@ -898,7 +898,7 @@ class Ldap
 		}
 
 		// Get values
-		if (! $values = @ldap_get_values( $this->connection, $entry, $attribute))
+		if (! $values = @ldap_get_values($this->connection, $entry, $attribute))
 		{
 			$this->ldapErrorCode = ldap_errno($this->connection);
 			$this->ldapErrorText = ldap_error($this->connection);
@@ -912,7 +912,7 @@ class Ldap
 	/**
 	 * 	Returns an array containing a details of elements
 	 * 	ldapsearch -LLLx -hlocalhost -Dcn=admin,dc=parinux,dc=org -w password -b "ou=adherents,ou=people,dc=parinux,dc=org" userPassword
-	 * 
+	 *
 	 *	@param	string	$search			 	Valeur champ cle recherche, sinon '*' pour tous.
 	 *	@param	string	$userDn			 	DN (Ex: ou=adherents,ou=people,dc=parinux,dc=org)
 	 *	@param	string	$useridentifier 	Name of key field (Ex: uid)
@@ -1012,8 +1012,9 @@ class Ldap
 	 *	Required by Active Directory
 	 *
 	 *	@param	string		$hex
+	 *	@return	string		little endian
 	 */
-	function littleEndian($hex) 
+	function littleEndian($hex)
 	{
 		for ($x=dol_strlen($hex)-2; $x >= 0; $x=$x-2) {
 			$result .= substr($hex,$x,2);
@@ -1023,10 +1024,11 @@ class Ldap
 
 
 	/**
-	 *  Recupere le SID de l'utilisateur 
+	 *  Recupere le SID de l'utilisateur
 	 *	Required by Active Directory
-	 * 
+	 *
 	 * 	@param	string		$ldapuser		Login de l'utilisateur
+	 * 	@return	string						Sid
 	 */
 	function getObjectSid($ldapUser)
 	{
@@ -1056,7 +1058,7 @@ class Ldap
 
 			if (!$entry)
 			{
-				// Si pas de r�sultat on cherche dans le domaine
+				// Si pas de resultat on cherche dans le domaine
 				$searchDN = $this->domain;
 				$i++;
 			}
@@ -1069,7 +1071,7 @@ class Ldap
 
 		if ($entry)
 		{
-			$ldapBinary = ldap_get_values_len ($this->connection, $entry, "objectsid");
+			$ldapBinary = ldap_get_values_len($this->connection, $entry, "objectsid");
 			$SIDText = $this->binSIDtoText($ldapBinary[0]);
 			return $SIDText;
 		}
@@ -1083,11 +1085,11 @@ class Ldap
 	/**
 	 * Returns the textual SID
 	 * Indispensable pour Active Directory
-	 * 
+	 *
 	 * @param	string	$binsid		Binary SID
 	 * @return	string				Textual SID
 	 */
-	function binSIDtoText($binsid) 
+	function binSIDtoText($binsid)
 	{
 		$hex_sid=bin2hex($binsid);
 		$rev = hexdec(substr($hex_sid,0,2));          // Get revision-part of SID
@@ -1109,9 +1111,9 @@ class Ldap
 	 *	car conflit majuscule-minuscule. A n'utiliser que pour les pages
 	 *	'Fiche LDAP' qui affiche champ lisibles par defaut.
 	 *
-	 * 	@param 		checkDn			DN de recherche (Ex: ou=users,cn=my-domain,cn=com)
-	 * 	@param 		filter			Filtre de recherche (ex: (sn=nom_personne) )
-	 *	@return		array			Tableau des reponses (cle en minuscule-valeur)
+	 * 	@param	string	$checkDn		DN de recherche (Ex: ou=users,cn=my-domain,cn=com)
+	 * 	@param 	string	$filter			Filtre de recherche (ex: (sn=nom_personne) )
+	 *	@return	array					Tableau des reponses (cle en minuscule-valeur)
 	 */
 	function search($checkDn, $filter)
 	{
@@ -1143,7 +1145,7 @@ class Ldap
 
 	/**
 	 * 		Load all attribute of a LDAP user
-	 * 
+	 *
 	 * 		@param	User	$user		User to search for. Not used if a filter is provided.
 	 *      @param  string	$filter		Filter for search. Must start with &.
 	 *                       	       	Examples: &(objectClass=inetOrgPerson) &(objectClass=user)(objectCategory=person) &(isMemberOf=cn=Sales,ou=Groups,dc=opencsi,dc=com)
@@ -1238,10 +1240,10 @@ class Ldap
 
 	/**
 	 * 	Returns the correct user identifier to use, based on the ldap server type
-	 * 
-	 *	@return	string 				Login 
+	 *
+	 *	@return	string 				Login
 	 */
-	function getUserIdentifier() 
+	function getUserIdentifier()
 	{
 		if ($this->serverType == "activedirectory") {
 			return $this->attr_sambalogin;
@@ -1256,7 +1258,7 @@ class Ldap
 	*	@param	string		$uacf		UACF
 	*	@return	void
 	*/
-	function parseUACF($uacf) 
+	function parseUACF($uacf)
 	{
 		//All flags array
 		$flags = array( "TRUSTED_TO_AUTH_FOR_DELEGATION"  =>    16777216,
@@ -1300,7 +1302,7 @@ class Ldap
 	*	@param	string	$samtype	SamType
 	*	@return	string				Sam string
 	*/
-	function parseSAT($samtype) 
+	function parseSAT($samtype)
 	{
 		$stypes = array(    805306368    =>    "NORMAL_ACCOUNT",
 		805306369    =>    "WORKSTATION_TRUST",
diff --git a/htdocs/core/class/rssparser.class.php b/htdocs/core/class/rssparser.class.php
index dfa1cb857b46fccb4bea3225f82cca95d214bcca..06d3eb057c4eb84a71ba010bb81152ccfdd61769 100755
--- a/htdocs/core/class/rssparser.class.php
+++ b/htdocs/core/class/rssparser.class.php
@@ -25,18 +25,18 @@ class RssParser
     var $db;
     var $error;
 
-    protected $_format='';
-    protected $_urlRSS;
-    protected $_language;
-    protected $_generator;
-    protected $_copyright;
-    protected $_lastbuilddate;
-    protected $_imageurl;
-    protected $_link;
-    protected $_title;
-    protected $_description;
-    protected $_lastfetchdate;    // Last successful fetch
-    protected $_rssarray=array();
+    private $_format='';
+    private $_urlRSS;
+    private $_language;
+    private $_generator;
+    private $_copyright;
+    private $_lastbuilddate;
+    private $_imageurl;
+    private $_link;
+    private $_title;
+    private $_description;
+    private $_lastfetchdate;    // Last successful fetch
+    private $_rssarray=array();
 
     /**
      * getFormat
diff --git a/htdocs/core/filemanagerdol/browser/default/browser.php b/htdocs/core/filemanagerdol/browser/default/browser.php
index bd308aa4eda1f5bb197268908a2807e92c6b05e4..497ab68055cd4c4a6d4157dadb5b6c56b8eb1a8e 100755
--- a/htdocs/core/filemanagerdol/browser/default/browser.php
+++ b/htdocs/core/filemanagerdol/browser/default/browser.php
@@ -1,197 +1,197 @@
-<?php
-/* Copyright (C) 2011      Laurent Destailleur  <eldy@users.sourceforge.net>
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben
- *
- * Source modified from part of fckeditor (http://www.fckeditor.net)
- * retreived as GPL v2 or later
- *
- * 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; either version 2 of the License, or
- * (at your option) any later version.
- *
- * 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, see <http://www.gnu.org/licenses/>.
- */
-
-require('../../../../main.inc.php');
-?>
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
-   "http://www.w3.org/TR/html4/frameset.dtd">
-<html>
-	<head>
-		<title>FCKeditor - Resources Browser</title>
-		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-		<script type="text/javascript" src="js/fckxml.js"></script>
-		<script type="text/javascript">
-// Automatically detect the correct document.domain (#1919).
-(function()
-{
-	var d = document.domain ;
-
-	while ( true )
-	{
-		// Test if we can access a parent property.
-		try
-		{
-			var test = window.opener.document.domain ;
-			break ;
-		}
-		catch( e )
-		{}
-
-		// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
-		d = d.replace( /.*?(?:\.|$)/, '' );
-
-		if ( d.length == 0 )
-			break ;		// It was not able to detect the domain.
-
-		try
-		{
-			document.domain = d ;
-		}
-		catch (e)
-		{
-			break ;
-		}
-	}
-})();
-
-function GetUrlParam( paramName )
-{
-	var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' );
-	var oMatch = oRegex.exec( window.top.location.search );
-
-	if ( oMatch && oMatch.length > 1 )
-		return decodeURIComponent( oMatch[1] );
-	else
-		return '' ;
-}
-
-var oConnector = new Object();
-oConnector.CurrentFolder	= '/' ;
-
-var sConnUrl = GetUrlParam( 'Connector' );
-
-// Gecko has some problems when using relative URLs (not starting with slash).
-if ( sConnUrl.substr(0,1) != '/' && sConnUrl.indexOf( '://' ) < 0 )
-	sConnUrl = window.location.href.replace( /browser.php.*$/, '' ) + sConnUrl ;
-
-oConnector.ConnectorUrl = sConnUrl + ( sConnUrl.indexOf('?') != -1 ? '&' : '?' );
-
-var sServerPath = GetUrlParam( 'ServerPath' );
-if ( sServerPath.length > 0 )
-	oConnector.ConnectorUrl += 'ServerPath=' + encodeURIComponent( sServerPath ) + '&' ;
-
-oConnector.ResourceType		= GetUrlParam( 'Type' );
-oConnector.ShowAllTypes		= ( oConnector.ResourceType.length == 0 );
-
-if ( oConnector.ShowAllTypes )
-	oConnector.ResourceType = 'File' ;
-
-oConnector.SendCommand = function( command, params, callBackFunction )
-{
-	var sUrl = this.ConnectorUrl + 'Command=' + command ;
-	sUrl += '&Type=' + this.ResourceType ;
-	sUrl += '&CurrentFolder=' + encodeURIComponent( this.CurrentFolder );
-
-	if ( params ) sUrl += '&' + params ;
-
-	// Add a random salt to avoid getting a cached version of the command execution
-	sUrl += '&uuid=' + new Date().getTime();
-
-	var oXML = new FCKXml();
-
-	if ( callBackFunction )
-		oXML.LoadUrl( sUrl, callBackFunction );	// Asynchronous load.
-	else
-		return oXML.LoadUrl( sUrl );
-
-	return null ;
-}
-
-oConnector.CheckError = function( responseXml )
-{
-	var iErrorNumber = 0 ;
-	var oErrorNode = responseXml.SelectSingleNode( 'Connector/Error' );
-
-	if ( oErrorNode )
-	{
-		iErrorNumber = parseInt( oErrorNode.attributes.getNamedItem('number').value, 10 );
-
-		switch ( iErrorNumber )
-		{
-			case 0 :
-				break ;
-			case 1 :	// Custom error. Message placed in the "text" attribute.
-				alert( oErrorNode.attributes.getNamedItem('text').value );
-				break ;
-			case 101 :
-				alert( 'Folder already exists' );
-				break ;
-			case 102 :
-				alert( 'Invalid folder name' );
-				break ;
-			case 103 :
-				alert( 'You have no permissions to create the folder' );
-				break ;
-			case 110 :
-				alert( 'Unknown error creating folder' );
-				break ;
-			default :
-				alert( 'Error on your request. Error number: ' + iErrorNumber );
-				break ;
-		}
-	}
-	return iErrorNumber ;
-}
-
-var oIcons = new Object();
-
-oIcons.AvailableIconsArray = [
-	'ai','avi','bmp','cs','dll','doc','exe','fla','gif','htm','html','jpg','js',
-	'mdb','mp3','pdf','png','ppt','rdp','swf','swt','txt','vsd','xls','xml','zip' ] ;
-
-oIcons.AvailableIcons = new Object();
-
-for ( var i = 0 ; i < oIcons.AvailableIconsArray.length ; i++ )
-	oIcons.AvailableIcons[ oIcons.AvailableIconsArray[i] ] = true ;
-
-oIcons.GetIcon = function( fileName )
-{
-	var sExtension = fileName.substr( fileName.lastIndexOf('.') + 1 ).toLowerCase();
-
-	if ( this.AvailableIcons[ sExtension ] == true )
-		return sExtension ;
-	else
-		return 'default.icon' ;
-}
-
-function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
-{
-	if (errorNumber == "1")
-		window.frames['frmUpload'].OnUploadCompleted( errorNumber, customMsg );
-	else
-		window.frames['frmUpload'].OnUploadCompleted( errorNumber, fileName );
-}
-
-		</script>
-	</head>
-	<frameset cols="150,*" framespacing="3" border="1" style="border: 2px solid #CCCCCC;">
-		<frame name="frmFolders" src="frmfolders.php" scrolling="auto" frameborder="1">
-		<frameset rows="50,*,50" framespacing="0">
-			<frame name="frmActualFolder" src="frmactualfolder.php" scrolling="no" frameborder="0">
-			<frame name="frmResourcesList" src="frmresourceslist.php" scrolling="auto" frameborder="0">
-			<frameset cols="150,*,0" framespacing="0" border="0">
-				<frame name="frmCreateFolder" src="frmcreatefolder.php" scrolling="no" frameborder="0">
-				<frame name="frmUpload" src="frmupload.php" scrolling="no" frameborder="0">
-				<frame name="frmUploadWorker" src="javascript:void(0)" scrolling="no" frameborder="0">
-			</frameset>
-		</frameset>
-	</frameset>
-</html>
+<?php
+/* Copyright (C) 2011      Laurent Destailleur  <eldy@users.sourceforge.net>
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
+ *
+ * Source modified from part of fckeditor (http://www.fckeditor.net)
+ * retreived as GPL v2 or later
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+require('../../../../main.inc.php');
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
+   "http://www.w3.org/TR/html4/frameset.dtd">
+<html>
+	<head>
+		<title>FCKeditor - Resources Browser</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<script type="text/javascript" src="js/fckxml.js"></script>
+		<script type="text/javascript">
+// Automatically detect the correct document.domain (#1919).
+(function()
+{
+	var d = document.domain ;
+
+	while ( true )
+	{
+		// Test if we can access a parent property.
+		try
+		{
+			var test = window.opener.document.domain ;
+			break ;
+		}
+		catch( e )
+		{}
+
+		// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
+		d = d.replace( /.*?(?:\.|$)/, '' );
+
+		if ( d.length == 0 )
+			break ;		// It was not able to detect the domain.
+
+		try
+		{
+			document.domain = d ;
+		}
+		catch (e)
+		{
+			break ;
+		}
+	}
+})();
+
+function GetUrlParam( paramName )
+{
+	var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' );
+	var oMatch = oRegex.exec( window.top.location.search );
+
+	if ( oMatch && oMatch.length > 1 )
+		return decodeURIComponent( oMatch[1] );
+	else
+		return '' ;
+}
+
+var oConnector = new Object();
+oConnector.CurrentFolder	= '/' ;
+
+var sConnUrl = GetUrlParam( 'Connector' );
+
+// Gecko has some problems when using relative URLs (not starting with slash).
+if ( sConnUrl.substr(0,1) != '/' && sConnUrl.indexOf( '://' ) < 0 )
+	sConnUrl = window.location.href.replace( /browser.php.*$/, '' ) + sConnUrl ;
+
+oConnector.ConnectorUrl = sConnUrl + ( sConnUrl.indexOf('?') != -1 ? '&' : '?' );
+
+var sServerPath = GetUrlParam( 'ServerPath' );
+if ( sServerPath.length > 0 )
+	oConnector.ConnectorUrl += 'ServerPath=' + encodeURIComponent( sServerPath ) + '&' ;
+
+oConnector.ResourceType		= GetUrlParam( 'Type' );
+oConnector.ShowAllTypes		= ( oConnector.ResourceType.length == 0 );
+
+if ( oConnector.ShowAllTypes )
+	oConnector.ResourceType = 'File' ;
+
+oConnector.SendCommand = function( command, params, callBackFunction )
+{
+	var sUrl = this.ConnectorUrl + 'Command=' + command ;
+	sUrl += '&Type=' + this.ResourceType ;
+	sUrl += '&CurrentFolder=' + encodeURIComponent( this.CurrentFolder );
+
+	if ( params ) sUrl += '&' + params ;
+
+	// Add a random salt to avoid getting a cached version of the command execution
+	sUrl += '&uuid=' + new Date().getTime();
+
+	var oXML = new FCKXml();
+
+	if ( callBackFunction )
+		oXML.LoadUrl( sUrl, callBackFunction );	// Asynchronous load.
+	else
+		return oXML.LoadUrl( sUrl );
+
+	return null ;
+}
+
+oConnector.CheckError = function( responseXml )
+{
+	var iErrorNumber = 0 ;
+	var oErrorNode = responseXml.SelectSingleNode( 'Connector/Error' );
+
+	if ( oErrorNode )
+	{
+		iErrorNumber = parseInt( oErrorNode.attributes.getNamedItem('number').value, 10 );
+
+		switch ( iErrorNumber )
+		{
+			case 0 :
+				break ;
+			case 1 :	// Custom error. Message placed in the "text" attribute.
+				alert( oErrorNode.attributes.getNamedItem('text').value );
+				break ;
+			case 101 :
+				alert( 'Folder already exists' );
+				break ;
+			case 102 :
+				alert( 'Invalid folder name' );
+				break ;
+			case 103 :
+				alert( 'You have no permissions to create the folder' );
+				break ;
+			case 110 :
+				alert( 'Unknown error creating folder' );
+				break ;
+			default :
+				alert( 'Error on your request. Error number: ' + iErrorNumber );
+				break ;
+		}
+	}
+	return iErrorNumber ;
+}
+
+var oIcons = new Object();
+
+oIcons.AvailableIconsArray = [
+	'ai','avi','bmp','cs','dll','doc','exe','fla','gif','htm','html','jpg','js',
+	'mdb','mp3','pdf','png','ppt','rdp','swf','swt','txt','vsd','xls','xml','zip' ] ;
+
+oIcons.AvailableIcons = new Object();
+
+for ( var i = 0 ; i < oIcons.AvailableIconsArray.length ; i++ )
+	oIcons.AvailableIcons[ oIcons.AvailableIconsArray[i] ] = true ;
+
+oIcons.GetIcon = function( fileName )
+{
+	var sExtension = fileName.substr( fileName.lastIndexOf('.') + 1 ).toLowerCase();
+
+	if ( this.AvailableIcons[ sExtension ] == true )
+		return sExtension ;
+	else
+		return 'default.icon' ;
+}
+
+function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
+{
+	if (errorNumber == "1")
+		window.frames['frmUpload'].OnUploadCompleted( errorNumber, customMsg );
+	else
+		window.frames['frmUpload'].OnUploadCompleted( errorNumber, fileName );
+}
+
+		</script>
+	</head>
+	<frameset cols="150,*" framespacing="3" border="1" style="border: 2px solid #CCCCCC;">
+		<frame name="frmFolders" src="frmfolders.php" scrolling="auto" frameborder="1">
+		<frameset rows="50,*,50" framespacing="0">
+			<frame name="frmActualFolder" src="frmactualfolder.php" scrolling="no" frameborder="0">
+			<frame name="frmResourcesList" src="frmresourceslist.php" scrolling="auto" frameborder="0">
+			<frameset cols="150,*,0" framespacing="0" border="0">
+				<frame name="frmCreateFolder" src="frmcreatefolder.php" scrolling="no" frameborder="0">
+				<frame name="frmUpload" src="frmupload.php" scrolling="no" frameborder="0">
+				<frame name="frmUploadWorker" src="javascript:void(0)" scrolling="no" frameborder="0">
+			</frameset>
+		</frameset>
+	</frameset>
+</html>
diff --git a/htdocs/core/filemanagerdol/browser/default/frmactualfolder.php b/htdocs/core/filemanagerdol/browser/default/frmactualfolder.php
index 982143e0a288df2f0e15e44c77e2a3f8325e7325..d51a0043da83608498dcceb8b7c29b14cb98a0ad 100755
--- a/htdocs/core/filemanagerdol/browser/default/frmactualfolder.php
+++ b/htdocs/core/filemanagerdol/browser/default/frmactualfolder.php
@@ -1,117 +1,118 @@
-<?php
-/* Copyright (C) 2011      Laurent Destailleur  <eldy@users.sourceforge.net>
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben
- *
- * Source modified from part of fckeditor (http://www.fckeditor.net)
- * retreived as GPL v2 or later
- *
- * 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; either version 2 of the License, or
- * (at your option) any later version.
- *
- * 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, see <http://www.gnu.org/licenses/>.
- */
-
-require('../../../../main.inc.php'); ?>
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<!--
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- *  - GNU General Public License Version 2 or later (the "GPL")
- *    http://www.gnu.org/licenses/gpl.html
- *
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- *    http://www.gnu.org/licenses/lgpl.html
- *
- *  - Mozilla Public License Version 1.1 or later (the "MPL")
- *    http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This page shows the actual folder path.
--->
-<html>
-	<head>
-		<title>Folder path</title>
-		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-		<link href="browser.css" type="text/css" rel="stylesheet">
-		<script type="text/javascript">
-// Automatically detect the correct document.domain (#1919).
-(function()
-{
-	var d = document.domain ;
-
-	while ( true )
-	{
-		// Test if we can access a parent property.
-		try
-		{
-			var test = window.top.opener.document.domain ;
-			break ;
-		}
-		catch( e )
-		{}
-
-		// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
-		d = d.replace( /.*?(?:\.|$)/, '' );
-
-		if ( d.length == 0 )
-			break ;		// It was not able to detect the domain.
-
-		try
-		{
-			document.domain = d ;
-		}
-		catch (e)
-		{
-			break ;
-		}
-	}
-})();
-
-function SetCurrentFolder( resourceType, folderPath )
-{
-	document.getElementById('tdName').innerHTML = folderPath ;
-}
-
-window.onload = function()
-{
-	window.top.IsLoadedActualFolder = true ;
-}
-
-		</script>
-	</head>
-	<body>
-		<table class="fullHeight" cellSpacing="0" cellPadding="0" width="100%" border="0">
-			<tr>
-				<td>
-					<button style="WIDTH: 100%" type="button">
-						<table cellSpacing="0" cellPadding="0" width="100%" border="0">
-							<tr>
-								<td><?php echo img_picto_common('','treemenu/folder.gif','width="16" height="16"'); ?></td>
-								<td>&nbsp;</td>
-								<td id="tdName" width="100%" nowrap class="ActualFolder">/</td>
-								<td>&nbsp;</td>
-								<td>&nbsp;</td>
-								<td>&nbsp;</td>
-							</tr>
-						</table>
-					</button>
-				</td>
-			</tr>
-		</table>
-	</body>
-</html>
+<?php
+/* Copyright (C) 2011      Laurent Destailleur  <eldy@users.sourceforge.net>
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
+ *
+ * Source modified from part of fckeditor (http://www.fckeditor.net)
+ * retreived as GPL v2 or later
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+require('../../../../main.inc.php');
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This page shows the actual folder path.
+-->
+<html>
+	<head>
+		<title>Folder path</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript">
+// Automatically detect the correct document.domain (#1919).
+(function()
+{
+	var d = document.domain ;
+
+	while ( true )
+	{
+		// Test if we can access a parent property.
+		try
+		{
+			var test = window.top.opener.document.domain ;
+			break ;
+		}
+		catch( e )
+		{}
+
+		// Remove a domain part: www.mytest.example.com => mytest.example.com => example.com ...
+		d = d.replace( /.*?(?:\.|$)/, '' );
+
+		if ( d.length == 0 )
+			break ;		// It was not able to detect the domain.
+
+		try
+		{
+			document.domain = d ;
+		}
+		catch (e)
+		{
+			break ;
+		}
+	}
+})();
+
+function SetCurrentFolder( resourceType, folderPath )
+{
+	document.getElementById('tdName').innerHTML = folderPath ;
+}
+
+window.onload = function()
+{
+	window.top.IsLoadedActualFolder = true ;
+}
+
+		</script>
+	</head>
+	<body>
+		<table class="fullHeight" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr>
+				<td>
+					<button style="WIDTH: 100%" type="button">
+						<table cellSpacing="0" cellPadding="0" width="100%" border="0">
+							<tr>
+								<td><?php echo img_picto_common('','treemenu/folder.gif','width="16" height="16"'); ?></td>
+								<td>&nbsp;</td>
+								<td id="tdName" width="100%" nowrap class="ActualFolder">/</td>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+								<td>&nbsp;</td>
+							</tr>
+						</table>
+					</button>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>
diff --git a/htdocs/core/filemanagerdol/browser/default/frmcreatefolder.php b/htdocs/core/filemanagerdol/browser/default/frmcreatefolder.php
index f90a81adc5b55f6e5b5e7727aae575a4457aa4fd..867fecf73b46be0dbf27c048423849cbf67719c7 100755
--- a/htdocs/core/filemanagerdol/browser/default/frmcreatefolder.php
+++ b/htdocs/core/filemanagerdol/browser/default/frmcreatefolder.php
@@ -1,136 +1,137 @@
-<?php
-/* Copyright (C) 2011      Laurent Destailleur  <eldy@users.sourceforge.net>
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben
- *
- * Source modified from part of fckeditor (http://www.fckeditor.net)
- * retreived as GPL v2 or later
- *
- * 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; either version 2 of the License, or
- * (at your option) any later version.
- *
- * 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, see <http://www.gnu.org/licenses/>.
- */
-
-require('../../../../main.inc.php'); ?>
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<!--
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- *  - GNU General Public License Version 2 or later (the "GPL")
- *    http://www.gnu.org/licenses/gpl.html
- *
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- *    http://www.gnu.org/licenses/lgpl.html
- *
- *  - Mozilla Public License Version 1.1 or later (the "MPL")
- *    http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Page used to create new folders in the current folder.
--->
-<html>
-	<head>
-		<title>Create Folder</title>
-		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-		<link href="browser.css" type="text/css" rel="stylesheet">
-		<script type="text/javascript" src="js/common.js"></script>
-		<script type="text/javascript">
-
-function SetCurrentFolder( resourceType, folderPath )
-{
-	oConnector.ResourceType = resourceType ;
-	oConnector.CurrentFolder = folderPath ;
-}
-
-function CreateFolder()
-{
-	var sFolderName ;
-
-	while ( true )
-	{
-		sFolderName = prompt( 'Type the name of the new folder:', '' );
-
-		if ( sFolderName == null )
-			return ;
-		else if ( sFolderName.length == 0 )
-			alert( 'Please type the folder name' );
-		else
-			break ;
-	}
-
-	oConnector.SendCommand( 'CreateFolder', 'NewFolderName=' + encodeURIComponent( sFolderName) , CreateFolderCallBack );
-}
-
-function CreateFolderCallBack( fckXml )
-{
-	if ( oConnector.CheckError( fckXml ) == 0 )
-		window.parent.frames['frmResourcesList'].Refresh();
-
-	/*
-	// Get the current folder path.
-	var oNode = fckXml.SelectSingleNode( 'Connector/Error' );
-	var iErrorNumber = parseInt( oNode.attributes.getNamedItem('number').value );
-
-	switch ( iErrorNumber )
-	{
-		case 0 :
-			window.parent.frames['frmResourcesList'].Refresh();
-			break ;
-		case 101 :
-			alert( 'Folder already exists' );
-			break ;
-		case 102 :
-			alert( 'Invalid folder name' );
-			break ;
-		case 103 :
-			alert( 'You have no permissions to create the folder' );
-			break ;
-		case 110 :
-			alert( 'Unknown error creating folder' );
-			break ;
-		default :
-			alert( 'Error creating folder. Error number: ' + iErrorNumber );
-			break ;
-	}
-	*/
-}
-
-window.onload = function()
-{
-	window.top.IsLoadedCreateFolder = true ;
-}
-		</script>
-	</head>
-	<body>
-		<table class="fullHeight" cellSpacing="0" cellPadding="0" width="100%" border="0">
-			<tr>
-				<td>
-					<button type="button" style="WIDTH: 100%" onclick="CreateFolder();">
-						<table cellSpacing="0" cellPadding="0" border="0">
-							<tr>
-								<td><?php echo img_picto_common('','treemenu/folder.gif','width="16" height="16"'); ?></td>
-								<td>&nbsp;</td>
-								<td nowrap>Create New Folder</td>
-							</tr>
-						</table>
-					</button>
-				</td>
-			</tr>
-		</table>
-	</body>
-</html>
+<?php
+/* Copyright (C) 2011      Laurent Destailleur  <eldy@users.sourceforge.net>
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
+ *
+ * Source modified from part of fckeditor (http://www.fckeditor.net)
+ * retreived as GPL v2 or later
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+require('../../../../main.inc.php');
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Page used to create new folders in the current folder.
+-->
+<html>
+	<head>
+		<title>Create Folder</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<script type="text/javascript" src="js/common.js"></script>
+		<script type="text/javascript">
+
+function SetCurrentFolder( resourceType, folderPath )
+{
+	oConnector.ResourceType = resourceType ;
+	oConnector.CurrentFolder = folderPath ;
+}
+
+function CreateFolder()
+{
+	var sFolderName ;
+
+	while ( true )
+	{
+		sFolderName = prompt( 'Type the name of the new folder:', '' );
+
+		if ( sFolderName == null )
+			return ;
+		else if ( sFolderName.length == 0 )
+			alert( 'Please type the folder name' );
+		else
+			break ;
+	}
+
+	oConnector.SendCommand( 'CreateFolder', 'NewFolderName=' + encodeURIComponent( sFolderName) , CreateFolderCallBack );
+}
+
+function CreateFolderCallBack( fckXml )
+{
+	if ( oConnector.CheckError( fckXml ) == 0 )
+		window.parent.frames['frmResourcesList'].Refresh();
+
+	/*
+	// Get the current folder path.
+	var oNode = fckXml.SelectSingleNode( 'Connector/Error' );
+	var iErrorNumber = parseInt( oNode.attributes.getNamedItem('number').value );
+
+	switch ( iErrorNumber )
+	{
+		case 0 :
+			window.parent.frames['frmResourcesList'].Refresh();
+			break ;
+		case 101 :
+			alert( 'Folder already exists' );
+			break ;
+		case 102 :
+			alert( 'Invalid folder name' );
+			break ;
+		case 103 :
+			alert( 'You have no permissions to create the folder' );
+			break ;
+		case 110 :
+			alert( 'Unknown error creating folder' );
+			break ;
+		default :
+			alert( 'Error creating folder. Error number: ' + iErrorNumber );
+			break ;
+	}
+	*/
+}
+
+window.onload = function()
+{
+	window.top.IsLoadedCreateFolder = true ;
+}
+		</script>
+	</head>
+	<body>
+		<table class="fullHeight" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr>
+				<td>
+					<button type="button" style="WIDTH: 100%" onclick="CreateFolder();">
+						<table cellSpacing="0" cellPadding="0" border="0">
+							<tr>
+								<td><?php echo img_picto_common('','treemenu/folder.gif','width="16" height="16"'); ?></td>
+								<td>&nbsp;</td>
+								<td nowrap>Create New Folder</td>
+							</tr>
+						</table>
+					</button>
+				</td>
+			</tr>
+		</table>
+	</body>
+</html>
diff --git a/htdocs/core/filemanagerdol/browser/default/frmfolders.php b/htdocs/core/filemanagerdol/browser/default/frmfolders.php
index 3978fb2d1f39f570196ab3550c4d47525bf8c88c..ccb67f9ecf29e03545477e8e59a64682f1163ef0 100755
--- a/htdocs/core/filemanagerdol/browser/default/frmfolders.php
+++ b/htdocs/core/filemanagerdol/browser/default/frmfolders.php
@@ -1,224 +1,225 @@
-<?php
-/* Copyright (C) 2011      Laurent Destailleur  <eldy@users.sourceforge.net>
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben
- *
- * Source modified from part of fckeditor (http://www.fckeditor.net)
- * retreived as GPL v2 or later
- *
- * 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; either version 2 of the License, or
- * (at your option) any later version.
- *
- * 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, see <http://www.gnu.org/licenses/>.
- */
-
-require('../../../../main.inc.php'); ?>
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<!--
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- *  - GNU General Public License Version 2 or later (the "GPL")
- *    http://www.gnu.org/licenses/gpl.html
- *
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- *    http://www.gnu.org/licenses/lgpl.html
- *
- *  - Mozilla Public License Version 1.1 or later (the "MPL")
- *    http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This page shows the list of folders available in the parent folder
- * of the current folder.
--->
-<?php
-//$arrayofjs=array('js/common.js');
-//echo top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss);	// Show html headers
-?>
-<html>
-	<head>
-		<title>Folders</title>
-		<link href="browser.css" type="text/css" rel="stylesheet">
-		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-		<script type="text/javascript" src="js/common.js"></script>
-		<script type="text/javascript">
-
-var sActiveFolder ;
-
-var bIsLoaded = false ;
-var iIntervalId ;
-
-var oListManager = new Object();
-
-oListManager.Init = function()
-{
-	this.Table = document.getElementById('tableFiles');
-	this.UpRow = document.getElementById('trUp');
-
-	this.TableRows = new Object();
-}
-
-oListManager.Clear = function()
-{
-	// Remove all other rows available.
-	while ( this.Table.rows.length > 1 )
-		this.Table.deleteRow(1);
-
-	// Reset the TableRows collection.
-	this.TableRows = new Object();
-}
-
-oListManager.AddItem = function( folderName, folderPath )
-{
-	// Create the new row.
-	var oRow = this.Table.insertRow(-1);
-	oRow.className = 'FolderListFolder' ;
-
-	// Build the link to view the folder.
-	var sLink = '<a href="#" onclick="OpenFolder(\'' + folderPath + '\');return false;">' ;
-
-	// Add the folder icon cell.
-	var oCell = oRow.insertCell(-1);
-	oCell.width = 16 ;
-	oCell.innerHTML = sLink + '<img alt="" src="spacer.gif" width="16" height="16" border="0"><\/a>' ;
-
-	// Add the folder name cell.
-	oCell = oRow.insertCell(-1);
-	oCell.noWrap = true ;
-	oCell.innerHTML = '&nbsp;' + sLink + folderName + '<\/a>' ;
-
-	this.TableRows[ folderPath ] = oRow ;
-}
-
-oListManager.ShowUpFolder = function( upFolderPath )
-{
-	this.UpRow.style.display = ( upFolderPath != null ? '' : 'none' );
-
-	if ( upFolderPath != null )
-	{
-		document.getElementById('linkUpIcon').onclick = document.getElementById('linkUp').onclick = function()
-		{
-			LoadFolders( upFolderPath );
-			return false ;
-		}
-	}
-}
-
-function CheckLoaded()
-{
-	if ( window.top.IsLoadedActualFolder
-		&& window.top.IsLoadedCreateFolder
-		&& window.top.IsLoadedUpload
-		&& window.top.IsLoadedResourcesList )
-	{
-		window.clearInterval( iIntervalId );
-		bIsLoaded = true ;
-		OpenFolder( sActiveFolder );
-	}
-}
-
-function OpenFolder( folderPath )
-{
-	sActiveFolder = folderPath ;
-
-	if ( ! bIsLoaded )
-	{
-		if ( ! iIntervalId )
-			iIntervalId = window.setInterval( CheckLoaded, 100 );
-		return ;
-	}
-
-	// Change the style for the select row (to show the opened folder).
-	for ( var sFolderPath in oListManager.TableRows )
-	{
-		oListManager.TableRows[ sFolderPath ].className =
-			( sFolderPath == folderPath ? 'FolderListCurrentFolder' : 'FolderListFolder' );
-	}
-
-	// Set the current folder in all frames.
-	window.parent.frames['frmActualFolder'].SetCurrentFolder( oConnector.ResourceType, folderPath );
-	window.parent.frames['frmCreateFolder'].SetCurrentFolder( oConnector.ResourceType, folderPath );
-	window.parent.frames['frmUpload'].SetCurrentFolder( oConnector.ResourceType, folderPath );
-
-	// Load the resources list for this folder.
-	window.parent.frames['frmResourcesList'].LoadResources( oConnector.ResourceType, folderPath );
-}
-
-function LoadFolders( folderPath )
-{
-	// Clear the folders list.
-	oListManager.Clear();
-
-	// Get the parent folder path.
-	var sParentFolderPath ;
-	if ( folderPath != '/' )
-		sParentFolderPath = folderPath.substring( 0, folderPath.lastIndexOf( '/', folderPath.length - 2 ) + 1 );
-
-	// Show/Hide the Up Folder.
-	oListManager.ShowUpFolder( sParentFolderPath );
-
-	if ( folderPath != '/' )
-	{
-		sActiveFolder = folderPath ;
-		oConnector.CurrentFolder = sParentFolderPath ;
-		oConnector.SendCommand( 'GetFolders', null, GetFoldersCallBack );
-	}
-	else
-		OpenFolder( '/' );
-}
-
-function GetFoldersCallBack( fckXml )
-{
-	if ( oConnector.CheckError( fckXml ) != 0 )
-		return ;
-
-	// Get the current folder path.
-	var oNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' );
-	var sCurrentFolderPath = oNode.attributes.getNamedItem('path').value ;
-
-	var oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' );
-
-	for ( var i = 0 ; i < oNodes.length ; i++ )
-	{
-		var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;
-		oListManager.AddItem( sFolderName, sCurrentFolderPath + sFolderName + '/' );
-	}
-
-	OpenFolder( sActiveFolder );
-}
-
-function SetResourceType( type )
-{
-	oConnector.ResourceType = type ;
-	LoadFolders( '/' );
-}
-
-window.onload = function()
-{
-	oListManager.Init();
-	LoadFolders( '/' );
-}
-		</script>
-	</head>
-	<body class="FileArea">
-		<table id="tableFiles" cellSpacing="0" cellPadding="0" width="100%" border="0">
-			<tr id="trUp" style="DISPLAY: none">
-				<td width="16"><a id="linkUpIcon" href="#"><img alt="" src="images/FolderUp.gif" width="16" height="16" border="0"></a></td>
-				<td nowrap width="100%">&nbsp;<a id="linkUp" href="#">..</a></td>
-			</tr>
-		</table>
-	</body>
-</html>
+<?php
+/* Copyright (C) 2011      Laurent Destailleur  <eldy@users.sourceforge.net>
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
+ *
+ * Source modified from part of fckeditor (http://www.fckeditor.net)
+ * retreived as GPL v2 or later
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+require('../../../../main.inc.php');
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This page shows the list of folders available in the parent folder
+ * of the current folder.
+-->
+<?php
+//$arrayofjs=array('js/common.js');
+//echo top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss);	// Show html headers
+?>
+<html>
+	<head>
+		<title>Folders</title>
+		<link href="browser.css" type="text/css" rel="stylesheet">
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<script type="text/javascript" src="js/common.js"></script>
+		<script type="text/javascript">
+
+var sActiveFolder ;
+
+var bIsLoaded = false ;
+var iIntervalId ;
+
+var oListManager = new Object();
+
+oListManager.Init = function()
+{
+	this.Table = document.getElementById('tableFiles');
+	this.UpRow = document.getElementById('trUp');
+
+	this.TableRows = new Object();
+}
+
+oListManager.Clear = function()
+{
+	// Remove all other rows available.
+	while ( this.Table.rows.length > 1 )
+		this.Table.deleteRow(1);
+
+	// Reset the TableRows collection.
+	this.TableRows = new Object();
+}
+
+oListManager.AddItem = function( folderName, folderPath )
+{
+	// Create the new row.
+	var oRow = this.Table.insertRow(-1);
+	oRow.className = 'FolderListFolder' ;
+
+	// Build the link to view the folder.
+	var sLink = '<a href="#" onclick="OpenFolder(\'' + folderPath + '\');return false;">' ;
+
+	// Add the folder icon cell.
+	var oCell = oRow.insertCell(-1);
+	oCell.width = 16 ;
+	oCell.innerHTML = sLink + '<img alt="" src="spacer.gif" width="16" height="16" border="0"><\/a>' ;
+
+	// Add the folder name cell.
+	oCell = oRow.insertCell(-1);
+	oCell.noWrap = true ;
+	oCell.innerHTML = '&nbsp;' + sLink + folderName + '<\/a>' ;
+
+	this.TableRows[ folderPath ] = oRow ;
+}
+
+oListManager.ShowUpFolder = function( upFolderPath )
+{
+	this.UpRow.style.display = ( upFolderPath != null ? '' : 'none' );
+
+	if ( upFolderPath != null )
+	{
+		document.getElementById('linkUpIcon').onclick = document.getElementById('linkUp').onclick = function()
+		{
+			LoadFolders( upFolderPath );
+			return false ;
+		}
+	}
+}
+
+function CheckLoaded()
+{
+	if ( window.top.IsLoadedActualFolder
+		&& window.top.IsLoadedCreateFolder
+		&& window.top.IsLoadedUpload
+		&& window.top.IsLoadedResourcesList )
+	{
+		window.clearInterval( iIntervalId );
+		bIsLoaded = true ;
+		OpenFolder( sActiveFolder );
+	}
+}
+
+function OpenFolder( folderPath )
+{
+	sActiveFolder = folderPath ;
+
+	if ( ! bIsLoaded )
+	{
+		if ( ! iIntervalId )
+			iIntervalId = window.setInterval( CheckLoaded, 100 );
+		return ;
+	}
+
+	// Change the style for the select row (to show the opened folder).
+	for ( var sFolderPath in oListManager.TableRows )
+	{
+		oListManager.TableRows[ sFolderPath ].className =
+			( sFolderPath == folderPath ? 'FolderListCurrentFolder' : 'FolderListFolder' );
+	}
+
+	// Set the current folder in all frames.
+	window.parent.frames['frmActualFolder'].SetCurrentFolder( oConnector.ResourceType, folderPath );
+	window.parent.frames['frmCreateFolder'].SetCurrentFolder( oConnector.ResourceType, folderPath );
+	window.parent.frames['frmUpload'].SetCurrentFolder( oConnector.ResourceType, folderPath );
+
+	// Load the resources list for this folder.
+	window.parent.frames['frmResourcesList'].LoadResources( oConnector.ResourceType, folderPath );
+}
+
+function LoadFolders( folderPath )
+{
+	// Clear the folders list.
+	oListManager.Clear();
+
+	// Get the parent folder path.
+	var sParentFolderPath ;
+	if ( folderPath != '/' )
+		sParentFolderPath = folderPath.substring( 0, folderPath.lastIndexOf( '/', folderPath.length - 2 ) + 1 );
+
+	// Show/Hide the Up Folder.
+	oListManager.ShowUpFolder( sParentFolderPath );
+
+	if ( folderPath != '/' )
+	{
+		sActiveFolder = folderPath ;
+		oConnector.CurrentFolder = sParentFolderPath ;
+		oConnector.SendCommand( 'GetFolders', null, GetFoldersCallBack );
+	}
+	else
+		OpenFolder( '/' );
+}
+
+function GetFoldersCallBack( fckXml )
+{
+	if ( oConnector.CheckError( fckXml ) != 0 )
+		return ;
+
+	// Get the current folder path.
+	var oNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' );
+	var sCurrentFolderPath = oNode.attributes.getNamedItem('path').value ;
+
+	var oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' );
+
+	for ( var i = 0 ; i < oNodes.length ; i++ )
+	{
+		var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;
+		oListManager.AddItem( sFolderName, sCurrentFolderPath + sFolderName + '/' );
+	}
+
+	OpenFolder( sActiveFolder );
+}
+
+function SetResourceType( type )
+{
+	oConnector.ResourceType = type ;
+	LoadFolders( '/' );
+}
+
+window.onload = function()
+{
+	oListManager.Init();
+	LoadFolders( '/' );
+}
+		</script>
+	</head>
+	<body class="FileArea">
+		<table id="tableFiles" cellSpacing="0" cellPadding="0" width="100%" border="0">
+			<tr id="trUp" style="DISPLAY: none">
+				<td width="16"><a id="linkUpIcon" href="#"><img alt="" src="images/FolderUp.gif" width="16" height="16" border="0"></a></td>
+				<td nowrap width="100%">&nbsp;<a id="linkUp" href="#">..</a></td>
+			</tr>
+		</table>
+	</body>
+</html>
diff --git a/htdocs/core/filemanagerdol/browser/default/frmresourceslist.php b/htdocs/core/filemanagerdol/browser/default/frmresourceslist.php
index e065c4d71078eceb1d760a5b142e6fe44829e995..ff497db02c447e73b709660ee9b67b4e2e13e21a 100755
--- a/htdocs/core/filemanagerdol/browser/default/frmresourceslist.php
+++ b/htdocs/core/filemanagerdol/browser/default/frmresourceslist.php
@@ -1,205 +1,206 @@
-<?php
-/* Copyright (C) 2011      Laurent Destailleur  <eldy@users.sourceforge.net>
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben
- *
- * Source modified from part of fckeditor (http://www.fckeditor.net)
- * retreived as GPL v2 or later
- *
- * 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; either version 2 of the License, or
- * (at your option) any later version.
- *
- * 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, see <http://www.gnu.org/licenses/>.
- */
-
-require('../../../../main.inc.php'); ?>
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<!--
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- *  - GNU General Public License Version 2 or later (the "GPL")
- *    http://www.gnu.org/licenses/gpl.html
- *
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- *    http://www.gnu.org/licenses/lgpl.html
- *
- *  - Mozilla Public License Version 1.1 or later (the "MPL")
- *    http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This page shows all resources available in a folder in the File Browser.
--->
-<html>
-<head>
-	<title>Resources</title>
-	<link href="browser.css" type="text/css" rel="stylesheet">
-	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-	<script type="text/javascript" src="js/common.js"></script>
-	<script type="text/javascript">
-
-var oListManager = new Object();
-
-oListManager.Clear = function()
-{
-	document.body.innerHTML = '' ;
-}
-
-function ProtectPath(path)
-{
-	path = path.replace( /\\/g, '\\\\');
-	path = path.replace( /'/g, '\\\'');
-	return path ;
-}
-
-oListManager.GetFolderRowHtml = function( folderName, folderPath )
-{
-	// Build the link to view the folder.
-	var sLink = '<a href="#" onclick="OpenFolder(\'' + ProtectPath(folderPath ) + '\');return false;">' ;
-
-	return '<tr>' +
-			'<td width="16">' +
-				sLink +
-				'<img alt="" src="images/Folder.gif" width="16" height="16" border="0"><\/a>' +
-			'<\/td><td nowrap colspan="2">&nbsp;' +
-				sLink +
-				folderName +
-				'<\/a>' +
-		'<\/td><\/tr>' ;
-}
-
-oListManager.GetFileRowHtml = function( fileName, fileUrl, fileSize )
-{
-	// Build the link to view the folder.
-	var sLink = '<a href="#" onclick="OpenFile(\'' + ProtectPath(fileUrl ) + '\');return false;">' ;
-
-	// Get the file icon.
-	var sIcon = oIcons.GetIcon( fileName );
-
-	return '<tr>' +
-			'<td width="16">' +
-				sLink +
-				'<img alt="" src="images/icons/' + sIcon + '.gif" width="16" height="16" border="0"><\/a>' +
-			'<\/td><td>&nbsp;' +
-				sLink +
-				fileName +
-				'<\/a>' +
-			'<\/td><td align="right" nowrap>&nbsp;' +
-				fileSize +
-				' KB' +
-		'<\/td><\/tr>' ;
-}
-
-function OpenFolder( folderPath )
-{
-	// Load the resources list for this folder.
-	window.parent.frames['frmFolders'].LoadFolders( folderPath );
-}
-
-function GetUrlParam( paramName )
-{
-    var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' );
-    var oMatch = oRegex.exec( window.top.location.search );
-
-    if ( oMatch && oMatch.length > 1 )
-        return decodeURIComponent( oMatch[1] );
-    else
-        return '' ;
-}
-
-function OpenFile( fileUrl )
-{
-    funcNum = GetUrlParam('CKEditorFuncNum');
-    window.top.opener.CKEDITOR.tools.callFunction(funcNum, encodeURI( fileUrl ).replace( '#', '%23' ));
-
-    ///////////////////////////////////
-    window.top.close();
-    window.top.opener.focus();
-}
-
-function LoadResources( resourceType, folderPath )
-{
-	oListManager.Clear();
-	oConnector.ResourceType = resourceType ;
-	oConnector.CurrentFolder = folderPath ;
-	oConnector.SendCommand( 'GetFoldersAndFiles', null, GetFoldersAndFilesCallBack );
-}
-
-function Refresh()
-{
-	LoadResources( oConnector.ResourceType, oConnector.CurrentFolder );
-}
-
-function GetFoldersAndFilesCallBack( fckXml )
-{
-	if ( oConnector.CheckError( fckXml ) != 0 )
-		return ;
-
-	// Get the current folder path.
-	var oFolderNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' );
-	if ( oFolderNode == null )
-	{
-		alert( 'The server didn\'t reply with a proper XML data. Please check your configuration.' );
-		return ;
-	}
-	var sCurrentFolderPath	= oFolderNode.attributes.getNamedItem('path').value ;
-	var sCurrentFolderUrl	= oFolderNode.attributes.getNamedItem('url').value ;
-
-//	var dTimer = new Date();
-
-	var oHtml = new StringBuilder( '<table id="tableFiles" cellspacing="1" cellpadding="0" width="100%" border="0">' );
-
-	// Add the Folders.
-	var oNodes ;
-	oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' );
-	for ( var i = 0 ; i < oNodes.length ; i++ )
-	{
-		var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;
-		oHtml.Append( oListManager.GetFolderRowHtml( sFolderName, sCurrentFolderPath + sFolderName + "/" ) );
-	}
-
-	// Add the Files.
-	oNodes = fckXml.SelectNodes( 'Connector/Files/File' );
-	for ( var j = 0 ; j < oNodes.length ; j++ )
-	{
-		var oNode = oNodes[j] ;
-		var sFileName = oNode.attributes.getNamedItem('name').value ;
-		var sFileSize = oNode.attributes.getNamedItem('size').value ;
-
-		// Get the optional "url" attribute. If not available, build the url.
-		var oFileUrlAtt = oNodes[j].attributes.getNamedItem('url');
-		var sFileUrl = oFileUrlAtt != null ? oFileUrlAtt.value : encodeURI( sCurrentFolderUrl + sFileName ).replace( /#/g, '%23' );
-
-		oHtml.Append( oListManager.GetFileRowHtml( sFileName, sFileUrl, sFileSize ) );
-	}
-
-	oHtml.Append( '<\/table>' );
-
-	document.body.innerHTML = oHtml.ToString();
-
-//	window.top.document.title = 'Finished processing in ' + ( ( ( new Date() ) - dTimer ) / 1000 ) + ' seconds' ;
-
-}
-
-window.onload = function()
-{
-	window.top.IsLoadedResourcesList = true ;
-}
-	</script>
-</head>
-<body class="FileArea">
-</body>
-</html>
+<?php
+/* Copyright (C) 2011      Laurent Destailleur  <eldy@users.sourceforge.net>
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
+ *
+ * Source modified from part of fckeditor (http://www.fckeditor.net)
+ * retreived as GPL v2 or later
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+require('../../../../main.inc.php');
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This page shows all resources available in a folder in the File Browser.
+-->
+<html>
+<head>
+	<title>Resources</title>
+	<link href="browser.css" type="text/css" rel="stylesheet">
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+	<script type="text/javascript" src="js/common.js"></script>
+	<script type="text/javascript">
+
+var oListManager = new Object();
+
+oListManager.Clear = function()
+{
+	document.body.innerHTML = '' ;
+}
+
+function ProtectPath(path)
+{
+	path = path.replace( /\\/g, '\\\\');
+	path = path.replace( /'/g, '\\\'');
+	return path ;
+}
+
+oListManager.GetFolderRowHtml = function( folderName, folderPath )
+{
+	// Build the link to view the folder.
+	var sLink = '<a href="#" onclick="OpenFolder(\'' + ProtectPath(folderPath ) + '\');return false;">' ;
+
+	return '<tr>' +
+			'<td width="16">' +
+				sLink +
+				'<img alt="" src="images/Folder.gif" width="16" height="16" border="0"><\/a>' +
+			'<\/td><td nowrap colspan="2">&nbsp;' +
+				sLink +
+				folderName +
+				'<\/a>' +
+		'<\/td><\/tr>' ;
+}
+
+oListManager.GetFileRowHtml = function( fileName, fileUrl, fileSize )
+{
+	// Build the link to view the folder.
+	var sLink = '<a href="#" onclick="OpenFile(\'' + ProtectPath(fileUrl ) + '\');return false;">' ;
+
+	// Get the file icon.
+	var sIcon = oIcons.GetIcon( fileName );
+
+	return '<tr>' +
+			'<td width="16">' +
+				sLink +
+				'<img alt="" src="images/icons/' + sIcon + '.gif" width="16" height="16" border="0"><\/a>' +
+			'<\/td><td>&nbsp;' +
+				sLink +
+				fileName +
+				'<\/a>' +
+			'<\/td><td align="right" nowrap>&nbsp;' +
+				fileSize +
+				' KB' +
+		'<\/td><\/tr>' ;
+}
+
+function OpenFolder( folderPath )
+{
+	// Load the resources list for this folder.
+	window.parent.frames['frmFolders'].LoadFolders( folderPath );
+}
+
+function GetUrlParam( paramName )
+{
+    var oRegex = new RegExp( '[\?&]' + paramName + '=([^&]+)', 'i' );
+    var oMatch = oRegex.exec( window.top.location.search );
+
+    if ( oMatch && oMatch.length > 1 )
+        return decodeURIComponent( oMatch[1] );
+    else
+        return '' ;
+}
+
+function OpenFile( fileUrl )
+{
+    funcNum = GetUrlParam('CKEditorFuncNum');
+    window.top.opener.CKEDITOR.tools.callFunction(funcNum, encodeURI( fileUrl ).replace( '#', '%23' ));
+
+    ///////////////////////////////////
+    window.top.close();
+    window.top.opener.focus();
+}
+
+function LoadResources( resourceType, folderPath )
+{
+	oListManager.Clear();
+	oConnector.ResourceType = resourceType ;
+	oConnector.CurrentFolder = folderPath ;
+	oConnector.SendCommand( 'GetFoldersAndFiles', null, GetFoldersAndFilesCallBack );
+}
+
+function Refresh()
+{
+	LoadResources( oConnector.ResourceType, oConnector.CurrentFolder );
+}
+
+function GetFoldersAndFilesCallBack( fckXml )
+{
+	if ( oConnector.CheckError( fckXml ) != 0 )
+		return ;
+
+	// Get the current folder path.
+	var oFolderNode = fckXml.SelectSingleNode( 'Connector/CurrentFolder' );
+	if ( oFolderNode == null )
+	{
+		alert( 'The server didn\'t reply with a proper XML data. Please check your configuration.' );
+		return ;
+	}
+	var sCurrentFolderPath	= oFolderNode.attributes.getNamedItem('path').value ;
+	var sCurrentFolderUrl	= oFolderNode.attributes.getNamedItem('url').value ;
+
+//	var dTimer = new Date();
+
+	var oHtml = new StringBuilder( '<table id="tableFiles" cellspacing="1" cellpadding="0" width="100%" border="0">' );
+
+	// Add the Folders.
+	var oNodes ;
+	oNodes = fckXml.SelectNodes( 'Connector/Folders/Folder' );
+	for ( var i = 0 ; i < oNodes.length ; i++ )
+	{
+		var sFolderName = oNodes[i].attributes.getNamedItem('name').value ;
+		oHtml.Append( oListManager.GetFolderRowHtml( sFolderName, sCurrentFolderPath + sFolderName + "/" ) );
+	}
+
+	// Add the Files.
+	oNodes = fckXml.SelectNodes( 'Connector/Files/File' );
+	for ( var j = 0 ; j < oNodes.length ; j++ )
+	{
+		var oNode = oNodes[j] ;
+		var sFileName = oNode.attributes.getNamedItem('name').value ;
+		var sFileSize = oNode.attributes.getNamedItem('size').value ;
+
+		// Get the optional "url" attribute. If not available, build the url.
+		var oFileUrlAtt = oNodes[j].attributes.getNamedItem('url');
+		var sFileUrl = oFileUrlAtt != null ? oFileUrlAtt.value : encodeURI( sCurrentFolderUrl + sFileName ).replace( /#/g, '%23' );
+
+		oHtml.Append( oListManager.GetFileRowHtml( sFileName, sFileUrl, sFileSize ) );
+	}
+
+	oHtml.Append( '<\/table>' );
+
+	document.body.innerHTML = oHtml.ToString();
+
+//	window.top.document.title = 'Finished processing in ' + ( ( ( new Date() ) - dTimer ) / 1000 ) + ' seconds' ;
+
+}
+
+window.onload = function()
+{
+	window.top.IsLoadedResourcesList = true ;
+}
+	</script>
+</head>
+<body class="FileArea">
+</body>
+</html>
diff --git a/htdocs/core/filemanagerdol/browser/default/frmupload.php b/htdocs/core/filemanagerdol/browser/default/frmupload.php
index a6ac4ddfa8bd118f3484c27a4f36c2c004af0f9b..20e30651eb513d1bb8b6594652ba598ff9980f56 100755
--- a/htdocs/core/filemanagerdol/browser/default/frmupload.php
+++ b/htdocs/core/filemanagerdol/browser/default/frmupload.php
@@ -1,137 +1,138 @@
-<?php
-/* Copyright (C) 2011      Laurent Destailleur  <eldy@users.sourceforge.net>
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben
- *
- * Source modified from part of fckeditor (http://www.fckeditor.net)
- * retreived as GPL v2 or later
- *
- * 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; either version 2 of the License, or
- * (at your option) any later version.
- *
- * 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, see <http://www.gnu.org/licenses/>.
- */
-
-require('../../../../main.inc.php'); ?>
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<!--
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- *  - GNU General Public License Version 2 or later (the "GPL")
- *    http://www.gnu.org/licenses/gpl.html
- *
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- *    http://www.gnu.org/licenses/lgpl.html
- *
- *  - Mozilla Public License Version 1.1 or later (the "MPL")
- *    http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Page used to upload new files in the current folder.
--->
-<html>
-	<head>
-		<title>File Upload</title>
-		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-		<link href="browser.css" type="text/css" rel="stylesheet" >
-		<script type="text/javascript" src="js/common.js"></script>
-		<script type="text/javascript">
-
-function SetCurrentFolder( resourceType, folderPath )
-{
-	var sUrl = oConnector.ConnectorUrl + 'Command=FileUpload' ;
-	sUrl += '&Type=' + resourceType ;
-	sUrl += '&CurrentFolder=' + encodeURIComponent( folderPath );
-
-	document.getElementById('frmUpload').action = sUrl ;
-}
-
-function OnSubmit()
-{
-	if ( document.getElementById('NewFile').value.length == 0 )
-	{
-		alert( 'Please select a file from your computer' );
-		return false ;
-	}
-
-	// Set the interface elements.
-	document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder (Upload in progress, please wait...)' ;
-	document.getElementById('btnUpload').disabled = true ;
-
-	return true ;
-}
-
-function OnUploadCompleted( errorNumber, data )
-{
-	// Reset the Upload Worker Frame.
-	window.parent.frames['frmUploadWorker'].location = 'javascript:void(0)' ;
-
-	// Reset the upload form (On IE we must do a little trick to avoid problems).
-	if ( document.all )
-		document.getElementById('NewFile').outerHTML = '<input id="NewFile" name="NewFile" style="WIDTH: 100%" type="file">' ;
-	else
-		document.getElementById('frmUpload').reset();
-
-	// Reset the interface elements.
-	document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder' ;
-	document.getElementById('btnUpload').disabled = false ;
-
-	switch ( errorNumber )
-	{
-		case 0 :
-			window.parent.frames['frmResourcesList'].Refresh();
-			break ;
-		case 1 :	// Custom error.
-			alert( data );
-			break ;
-		case 201 :
-			window.parent.frames['frmResourcesList'].Refresh();
-			alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + data + '"' );
-			break ;
-		case 202 :
-			alert( 'Invalid file' );
-			break ;
-		default :
-			alert( 'Error on file upload. Error number: ' + errorNumber );
-			break ;
-	}
-}
-
-window.onload = function()
-{
-	window.top.IsLoadedUpload = true ;
-}
-		</script>
-	</head>
-	<body>
-		<form id="frmUpload" action="" target="frmUploadWorker" method="post" enctype="multipart/form-data" onsubmit="return OnSubmit();">
-			<table class="fullHeight" cellspacing="0" cellpadding="0" width="100%" border="0">
-				<tr>
-					<td nowrap="nowrap">
-						<span id="eUploadMessage">Upload a new file in this folder</span><br>
-						<table cellspacing="0" cellpadding="0" width="100%" border="0">
-							<tr>
-								<td width="100%"><input id="NewFile" name="NewFile" style="WIDTH: 100%" type="file"></td>
-								<td nowrap="nowrap">&nbsp;<input id="btnUpload" type="submit" value="Upload"></td>
-							</tr>
-						</table>
-					</td>
-				</tr>
-			</table>
-		</form>
-	</body>
-</html>
+<?php
+/* Copyright (C) 2011      Laurent Destailleur  <eldy@users.sourceforge.net>
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
+ *
+ * Source modified from part of fckeditor (http://www.fckeditor.net)
+ * retreived as GPL v2 or later
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+require('../../../../main.inc.php');
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<!--
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Page used to upload new files in the current folder.
+-->
+<html>
+	<head>
+		<title>File Upload</title>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+		<link href="browser.css" type="text/css" rel="stylesheet" >
+		<script type="text/javascript" src="js/common.js"></script>
+		<script type="text/javascript">
+
+function SetCurrentFolder( resourceType, folderPath )
+{
+	var sUrl = oConnector.ConnectorUrl + 'Command=FileUpload' ;
+	sUrl += '&Type=' + resourceType ;
+	sUrl += '&CurrentFolder=' + encodeURIComponent( folderPath );
+
+	document.getElementById('frmUpload').action = sUrl ;
+}
+
+function OnSubmit()
+{
+	if ( document.getElementById('NewFile').value.length == 0 )
+	{
+		alert( 'Please select a file from your computer' );
+		return false ;
+	}
+
+	// Set the interface elements.
+	document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder (Upload in progress, please wait...)' ;
+	document.getElementById('btnUpload').disabled = true ;
+
+	return true ;
+}
+
+function OnUploadCompleted( errorNumber, data )
+{
+	// Reset the Upload Worker Frame.
+	window.parent.frames['frmUploadWorker'].location = 'javascript:void(0)' ;
+
+	// Reset the upload form (On IE we must do a little trick to avoid problems).
+	if ( document.all )
+		document.getElementById('NewFile').outerHTML = '<input id="NewFile" name="NewFile" style="WIDTH: 100%" type="file">' ;
+	else
+		document.getElementById('frmUpload').reset();
+
+	// Reset the interface elements.
+	document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder' ;
+	document.getElementById('btnUpload').disabled = false ;
+
+	switch ( errorNumber )
+	{
+		case 0 :
+			window.parent.frames['frmResourcesList'].Refresh();
+			break ;
+		case 1 :	// Custom error.
+			alert( data );
+			break ;
+		case 201 :
+			window.parent.frames['frmResourcesList'].Refresh();
+			alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + data + '"' );
+			break ;
+		case 202 :
+			alert( 'Invalid file' );
+			break ;
+		default :
+			alert( 'Error on file upload. Error number: ' + errorNumber );
+			break ;
+	}
+}
+
+window.onload = function()
+{
+	window.top.IsLoadedUpload = true ;
+}
+		</script>
+	</head>
+	<body>
+		<form id="frmUpload" action="" target="frmUploadWorker" method="post" enctype="multipart/form-data" onsubmit="return OnSubmit();">
+			<table class="fullHeight" cellspacing="0" cellpadding="0" width="100%" border="0">
+				<tr>
+					<td nowrap="nowrap">
+						<span id="eUploadMessage">Upload a new file in this folder</span><br>
+						<table cellspacing="0" cellpadding="0" width="100%" border="0">
+							<tr>
+								<td width="100%"><input id="NewFile" name="NewFile" style="WIDTH: 100%" type="file"></td>
+								<td nowrap="nowrap">&nbsp;<input id="btnUpload" type="submit" value="Upload"></td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+			</table>
+		</form>
+	</body>
+</html>
diff --git a/htdocs/core/filemanagerdol/connectors/php/basexml.php b/htdocs/core/filemanagerdol/connectors/php/basexml.php
index d0f377c34fc7428ef553907840272e07f17baa81..4098375a255de24e1e8fa75e727975371c958966 100755
--- a/htdocs/core/filemanagerdol/connectors/php/basexml.php
+++ b/htdocs/core/filemanagerdol/connectors/php/basexml.php
@@ -1,99 +1,104 @@
-<?php
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- *  - GNU General Public License Version 2 or later (the "GPL")
- *    http://www.gnu.org/licenses/gpl.html
- *
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- *    http://www.gnu.org/licenses/lgpl.html
- *
- *  - Mozilla Public License Version 1.1 or later (the "MPL")
- *    http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * These functions define the base of the XML response sent by the PHP
- * connector.
- */
-
-function SetXmlHeaders()
-{
-	ob_end_clean();
-
-	// Prevent the browser from caching the result.
-	// Date in the past
-	header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
-	// always modified
-	header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
-	// HTTP/1.1
-	header('Cache-Control: no-store, no-cache, must-revalidate');
-	header('Cache-Control: post-check=0, pre-check=0', false);
-	// HTTP/1.0
-	header('Pragma: no-cache');
-
-	// Set the response format.
-	header( 'Content-Type: text/xml; charset=utf-8' );
-}
-
-function CreateXmlHeader( $command, $resourceType, $currentFolder )
-{
-	SetXmlHeaders();
-
-	// Create the XML document header.
-	echo '<?xml version="1.0" encoding="utf-8" ?>' ;
-
-	// Create the main "Connector" node.
-	echo '<Connector command="' . $command . '" resourceType="' . $resourceType . '">' ;
-
-	// Add the current folder node.
-	echo '<CurrentFolder path="' . ConvertToXmlAttribute( $currentFolder ) . '" url="' . ConvertToXmlAttribute( GetUrlFromPath( $resourceType, $currentFolder, $command ) ) . '" />' ;
-
-	$GLOBALS['HeaderSent'] = true ;
-}
-
-function CreateXmlFooter()
-{
-	echo '</Connector>' ;
-}
-
-function SendError( $number, $text )
-{
-	if ( $_GET['Command'] == 'FileUpload' )
-		SendUploadResults( $number, "", "", $text );
-
-	if ( isset( $GLOBALS['HeaderSent'] ) && $GLOBALS['HeaderSent'] )
-	{
-		SendErrorNode( $number, $text );
-		CreateXmlFooter();
-	}
-	else
-	{
-		SetXmlHeaders();
-
-		// Create the XML document header
-		echo '<?xml version="1.0" encoding="utf-8" ?>' ;
-
-		echo '<Connector>' ;
-
-		SendErrorNode( $number, $text );
-
-		echo '</Connector>' ;
-	}
-	exit ;
-}
-
-function SendErrorNode(  $number, $text )
-{
-	if ($text)
-		echo '<Error number="' . $number . '" text="' . htmlspecialchars( $text ) . '" />' ;
-	else
-		echo '<Error number="' . $number . '" />' ;
-}
-?>
+<?php
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * These functions define the base of the XML response sent by the PHP
+ * connector.
+ */
+
+/**
+ * SetXmlHeaders
+ *
+ * @return	void
+ */
+function SetXmlHeaders()
+{
+	ob_end_clean();
+
+	// Prevent the browser from caching the result.
+	// Date in the past
+	header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
+	// always modified
+	header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
+	// HTTP/1.1
+	header('Cache-Control: no-store, no-cache, must-revalidate');
+	header('Cache-Control: post-check=0, pre-check=0', false);
+	// HTTP/1.0
+	header('Pragma: no-cache');
+
+	// Set the response format.
+	header( 'Content-Type: text/xml; charset=utf-8' );
+}
+
+function CreateXmlHeader( $command, $resourceType, $currentFolder )
+{
+	SetXmlHeaders();
+
+	// Create the XML document header.
+	echo '<?xml version="1.0" encoding="utf-8" ?>' ;
+
+	// Create the main "Connector" node.
+	echo '<Connector command="' . $command . '" resourceType="' . $resourceType . '">' ;
+
+	// Add the current folder node.
+	echo '<CurrentFolder path="' . ConvertToXmlAttribute( $currentFolder ) . '" url="' . ConvertToXmlAttribute( GetUrlFromPath( $resourceType, $currentFolder, $command ) ) . '" />' ;
+
+	$GLOBALS['HeaderSent'] = true ;
+}
+
+function CreateXmlFooter()
+{
+	echo '</Connector>' ;
+}
+
+function SendError( $number, $text )
+{
+	if ( $_GET['Command'] == 'FileUpload' )
+		SendUploadResults( $number, "", "", $text );
+
+	if ( isset( $GLOBALS['HeaderSent'] ) && $GLOBALS['HeaderSent'] )
+	{
+		SendErrorNode( $number, $text );
+		CreateXmlFooter();
+	}
+	else
+	{
+		SetXmlHeaders();
+
+		// Create the XML document header
+		echo '<?xml version="1.0" encoding="utf-8" ?>' ;
+
+		echo '<Connector>' ;
+
+		SendErrorNode( $number, $text );
+
+		echo '</Connector>' ;
+	}
+	exit ;
+}
+
+function SendErrorNode(  $number, $text )
+{
+	if ($text)
+		echo '<Error number="' . $number . '" text="' . htmlspecialchars( $text ) . '" />' ;
+	else
+		echo '<Error number="' . $number . '" />' ;
+}
+?>
diff --git a/htdocs/core/filemanagerdol/connectors/php/commands.php b/htdocs/core/filemanagerdol/connectors/php/commands.php
index 1b7946848e8d83205a3ebc3c29dbf01ee1bf146c..8f3be8e07df8fb1a2157e8bbb9ddceeaee2324b9 100755
--- a/htdocs/core/filemanagerdol/connectors/php/commands.php
+++ b/htdocs/core/filemanagerdol/connectors/php/commands.php
@@ -1,299 +1,299 @@
-<?php
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- *  - GNU General Public License Version 2 or later (the "GPL")
- *    http://www.gnu.org/licenses/gpl.html
- *
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- *    http://www.gnu.org/licenses/lgpl.html
- *
- *  - Mozilla Public License Version 1.1 or later (the "MPL")
- *    http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This is the File Manager Connector for PHP.
- */
-
-function GetFolders( $resourceType, $currentFolder )
-{
-	// Map the virtual path to the local server path.
-	$sServerDir = ServerMapFolder( $resourceType, $currentFolder, 'GetFolders' );
-
-	// Array that will hold the folders names.
-	$aFolders	= array();
-
-	$oCurrentFolder = @opendir( $sServerDir );
-
-	if ($oCurrentFolder !== false)
-	{
-		while ( $sFile = readdir( $oCurrentFolder ) )
-		{
-			if ( $sFile != '.' && $sFile != '..' && is_dir( $sServerDir . $sFile ) )
-				$aFolders[] = '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
-		}
-		closedir( $oCurrentFolder );
-	}
-
-	// Open the "Folders" node.
-	echo "<Folders>" ;
-
-	natcasesort( $aFolders );
-	foreach ( $aFolders as $sFolder )
-		echo $sFolder ;
-
-	// Close the "Folders" node.
-	echo "</Folders>" ;
-}
-
-function GetFoldersAndFiles( $resourceType, $currentFolder )
-{
-	// Map the virtual path to the local server path.
-	$sServerDir = ServerMapFolder( $resourceType, $currentFolder, 'GetFoldersAndFiles' );
-
-	// Arrays that will hold the folders and files names.
-	$aFolders	= array();
-	$aFiles		= array();
-
-	$oCurrentFolder = @opendir( $sServerDir );
-
-	if ($oCurrentFolder !== false)
-	{
-		while ( $sFile = readdir( $oCurrentFolder ) )
-		{
-			if ( $sFile != '.' && $sFile != '..' )
-			{
-				if ( is_dir( $sServerDir . $sFile ) )
-					$aFolders[] = '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
-				else
-				{
-					$iFileSize = @filesize( $sServerDir . $sFile );
-					if ( !$iFileSize ) {
-						$iFileSize = 0 ;
-					}
-					if ( $iFileSize > 0 )
-					{
-						$iFileSize = round( $iFileSize / 1024 );
-						if ( $iFileSize < 1 )
-							$iFileSize = 1 ;
-					}
-
-					$aFiles[] = '<File name="' . ConvertToXmlAttribute( $sFile ) . '" size="' . $iFileSize . '" />' ;
-				}
-			}
-		}
-		closedir( $oCurrentFolder );
-	}
-
-	// Send the folders
-	natcasesort( $aFolders );
-	echo '<Folders>' ;
-
-	foreach ( $aFolders as $sFolder )
-		echo $sFolder ;
-
-	echo '</Folders>' ;
-
-	// Send the files
-	natcasesort( $aFiles );
-	echo '<Files>' ;
-
-	foreach ( $aFiles as $sFiles )
-		echo $sFiles ;
-
-	echo '</Files>' ;
-}
-
-function CreateFolder( $resourceType, $currentFolder )
-{
-	if (!isset($_GET)) {
-		global $_GET;
-	}
-	$sErrorNumber	= '0' ;
-	$sErrorMsg		= '' ;
-
-	if ( isset( $_GET['NewFolderName'] ) )
-	{
-		$sNewFolderName = $_GET['NewFolderName'] ;
-		$sNewFolderName = SanitizeFolderName( $sNewFolderName );
-
-		if ( strpos( $sNewFolderName, '..' ) !== FALSE )
-			$sErrorNumber = '102' ;		// Invalid folder name.
-		else
-		{
-			// Map the virtual path to the local server path of the current folder.
-			$sServerDir = ServerMapFolder( $resourceType, $currentFolder, 'CreateFolder' );
-
-			if ( is_writable( $sServerDir ) )
-			{
-				$sServerDir .= $sNewFolderName ;
-
-				$sErrorMsg = CreateServerFolder( $sServerDir );
-
-				switch ( $sErrorMsg )
-				{
-					case '' :
-						$sErrorNumber = '0' ;
-						break ;
-					case 'Invalid argument' :
-					case 'No such file or directory' :
-						$sErrorNumber = '102' ;		// Path too long.
-						break ;
-					default :
-						$sErrorNumber = '110' ;
-						break ;
-				}
-			}
-			else
-				$sErrorNumber = '103' ;
-		}
-	}
-	else
-		$sErrorNumber = '102' ;
-
-	// Create the "Error" node.
-	echo '<Error number="' . $sErrorNumber . '" />' ;
-}
-
-// DOL_CHANGE
-//function FileUpload( $resourceType, $currentFolder, $sCommand )
-function FileUpload($resourceType, $currentFolder, $sCommand, $CKEcallback = '')
-{
-	if (!isset($_FILES)) {
-		global $_FILES;
-	}
-	$sErrorNumber = '0' ;
-	$sFileName = '' ;
-
-	if ( isset( $_FILES['NewFile'] ) && !is_null( $_FILES['NewFile']['tmp_name'] )
-       # This is for the QuickUpload tab box
-        or (isset($_FILES['upload']) and !is_null($_FILES['upload']['tmp_name'])))
-	{
-		global $Config ;
-
-		$oFile = isset($_FILES['NewFile']) ? $_FILES['NewFile'] : $_FILES['upload'];
-
-		// Map the virtual path to the local server path.
-		$sServerDir = ServerMapFolder( $resourceType, $currentFolder, $sCommand );
-
-		// Get the uploaded file name.
-		$sFileName = $oFile['name'] ;
-		$sFileName = SanitizeFileName( $sFileName );
-
-		$sOriginalFileName = $sFileName ;
-
-		// Get the extension.
-		$sExtension = substr( $sFileName, ( strrpos($sFileName, '.') + 1 ) );
-		$sExtension = strtolower( $sExtension );
-
-		if ( isset( $Config['SecureImageUploads'] ) )
-		{
-			if ( ( $isImageValid = IsImageValid( $oFile['tmp_name'], $sExtension ) ) === false )
-			{
-				$sErrorNumber = '202' ;
-			}
-		}
-
-		if ( isset( $Config['HtmlExtensions'] ) )
-		{
-			if ( !IsHtmlExtension( $sExtension, $Config['HtmlExtensions'] ) &&
-				( $detectHtml = DetectHtml( $oFile['tmp_name'] ) ) === true )
-			{
-				$sErrorNumber = '202' ;
-			}
-		}
-
-		// Check if it is an allowed extension.
-		if ( !$sErrorNumber && IsAllowedExt( $sExtension, $resourceType ) )
-		{
-			$iCounter = 0 ;
-
-			while ( true )
-			{
-				$sFilePath = $sServerDir . $sFileName ;
-
-				if ( is_file( $sFilePath ) )
-				{
-					$iCounter++ ;
-					$sFileName = RemoveExtension( $sOriginalFileName ) . '(' . $iCounter . ').' . $sExtension ;
-					$sErrorNumber = '201' ;
-				}
-				else
-				{
-					move_uploaded_file( $oFile['tmp_name'], $sFilePath );
-
-					if ( is_file( $sFilePath ) )
-					{
-						if ( isset( $Config['ChmodOnUpload'] ) && !$Config['ChmodOnUpload'] )
-						{
-							break ;
-						}
-
-						$permissions = 0777;
-
-						if ( isset( $Config['ChmodOnUpload'] ) && $Config['ChmodOnUpload'] )
-						{
-							$permissions = $Config['ChmodOnUpload'] ;
-						}
-
-						$oldumask = umask(0);
-						chmod( $sFilePath, $permissions );
-						umask( $oldumask );
-					}
-
-					break ;
-				}
-			}
-
-			if ( file_exists( $sFilePath ) )
-			{
-				//previous checks failed, try once again
-				if ( isset( $isImageValid ) && $isImageValid === -1 && IsImageValid( $sFilePath, $sExtension ) === false )
-				{
-					@unlink( $sFilePath );
-					$sErrorNumber = '202' ;
-				}
-				else if ( isset( $detectHtml ) && $detectHtml === -1 && DetectHtml( $sFilePath ) === true )
-				{
-					@unlink( $sFilePath );
-					$sErrorNumber = '202' ;
-				}
-			}
-		}
-		else
-			$sErrorNumber = '202' ;
-	}
-	else
-		$sErrorNumber = '202' ;
-
-
-	$sFileUrl = CombinePaths( GetResourceTypePath( $resourceType, $sCommand ) , $currentFolder );
-	$sFileUrl = CombinePaths( $sFileUrl, $sFileName );
-
-
-	// DOL_CHANGE
-	//SendUploadResults( $sErrorNumber, $sFileUrl, $sFileName );
-	if($CKEcallback == '')
-    {
-        // this line already exists so wrap the if block around it
-        SendUploadResults( $sErrorNumber, $sFileUrl, $sFileName );
-    }
-    else
-    {
-    //issue the CKEditor Callback
-    SendCKEditorResults ($CKEcallback, $sFileUrl,
-    ($sErrorNumber != 0
-      ? 'Error '. $sErrorNumber. ' upload failed.'
-      : 'Upload Successful'));
-  }
-
-	exit ;
-}
-?>
+<?php
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is the File Manager Connector for PHP.
+ */
+
+function GetFolders( $resourceType, $currentFolder )
+{
+	// Map the virtual path to the local server path.
+	$sServerDir = ServerMapFolder( $resourceType, $currentFolder, 'GetFolders' );
+
+	// Array that will hold the folders names.
+	$aFolders	= array();
+
+	$oCurrentFolder = @opendir( $sServerDir );
+
+	if ($oCurrentFolder !== false)
+	{
+		while ( $sFile = readdir( $oCurrentFolder ) )
+		{
+			if ( $sFile != '.' && $sFile != '..' && is_dir( $sServerDir . $sFile ) )
+				$aFolders[] = '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
+		}
+		closedir( $oCurrentFolder );
+	}
+
+	// Open the "Folders" node.
+	echo "<Folders>" ;
+
+	natcasesort( $aFolders );
+	foreach ( $aFolders as $sFolder )
+		echo $sFolder ;
+
+	// Close the "Folders" node.
+	echo "</Folders>" ;
+}
+
+function GetFoldersAndFiles( $resourceType, $currentFolder )
+{
+	// Map the virtual path to the local server path.
+	$sServerDir = ServerMapFolder( $resourceType, $currentFolder, 'GetFoldersAndFiles' );
+
+	// Arrays that will hold the folders and files names.
+	$aFolders	= array();
+	$aFiles		= array();
+
+	$oCurrentFolder = @opendir( $sServerDir );
+
+	if ($oCurrentFolder !== false)
+	{
+		while ( $sFile = readdir( $oCurrentFolder ) )
+		{
+			if ( $sFile != '.' && $sFile != '..' )
+			{
+				if ( is_dir( $sServerDir . $sFile ) )
+					$aFolders[] = '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
+				else
+				{
+					$iFileSize = @filesize( $sServerDir . $sFile );
+					if ( !$iFileSize ) {
+						$iFileSize = 0 ;
+					}
+					if ( $iFileSize > 0 )
+					{
+						$iFileSize = round( $iFileSize / 1024 );
+						if ( $iFileSize < 1 )
+							$iFileSize = 1 ;
+					}
+
+					$aFiles[] = '<File name="' . ConvertToXmlAttribute( $sFile ) . '" size="' . $iFileSize . '" />' ;
+				}
+			}
+		}
+		closedir( $oCurrentFolder );
+	}
+
+	// Send the folders
+	natcasesort( $aFolders );
+	echo '<Folders>' ;
+
+	foreach ( $aFolders as $sFolder )
+		echo $sFolder ;
+
+	echo '</Folders>' ;
+
+	// Send the files
+	natcasesort( $aFiles );
+	echo '<Files>' ;
+
+	foreach ( $aFiles as $sFiles )
+		echo $sFiles ;
+
+	echo '</Files>' ;
+}
+
+function CreateFolder( $resourceType, $currentFolder )
+{
+	if (!isset($_GET)) {
+		global $_GET;
+	}
+	$sErrorNumber	= '0' ;
+	$sErrorMsg		= '' ;
+
+	if ( isset( $_GET['NewFolderName'] ) )
+	{
+		$sNewFolderName = $_GET['NewFolderName'] ;
+		$sNewFolderName = SanitizeFolderName( $sNewFolderName );
+
+		if ( strpos( $sNewFolderName, '..' ) !== FALSE )
+			$sErrorNumber = '102' ;		// Invalid folder name.
+		else
+		{
+			// Map the virtual path to the local server path of the current folder.
+			$sServerDir = ServerMapFolder( $resourceType, $currentFolder, 'CreateFolder' );
+
+			if ( is_writable( $sServerDir ) )
+			{
+				$sServerDir .= $sNewFolderName ;
+
+				$sErrorMsg = CreateServerFolder( $sServerDir );
+
+				switch ( $sErrorMsg )
+				{
+					case '' :
+						$sErrorNumber = '0' ;
+						break ;
+					case 'Invalid argument' :
+					case 'No such file or directory' :
+						$sErrorNumber = '102' ;		// Path too long.
+						break ;
+					default :
+						$sErrorNumber = '110' ;
+						break ;
+				}
+			}
+			else
+				$sErrorNumber = '103' ;
+		}
+	}
+	else
+		$sErrorNumber = '102' ;
+
+	// Create the "Error" node.
+	echo '<Error number="' . $sErrorNumber . '" />' ;
+}
+
+// DOL_CHANGE
+//function FileUpload( $resourceType, $currentFolder, $sCommand )
+function FileUpload($resourceType, $currentFolder, $sCommand, $CKEcallback = '')
+{
+	if (!isset($_FILES)) {
+		global $_FILES;
+	}
+	$sErrorNumber = '0' ;
+	$sFileName = '' ;
+
+	if ( isset( $_FILES['NewFile'] ) && !is_null( $_FILES['NewFile']['tmp_name'] )
+       # This is for the QuickUpload tab box
+        or (isset($_FILES['upload']) and !is_null($_FILES['upload']['tmp_name'])))
+	{
+		global $Config ;
+
+		$oFile = isset($_FILES['NewFile']) ? $_FILES['NewFile'] : $_FILES['upload'];
+
+		// Map the virtual path to the local server path.
+		$sServerDir = ServerMapFolder( $resourceType, $currentFolder, $sCommand );
+
+		// Get the uploaded file name.
+		$sFileName = $oFile['name'] ;
+		$sFileName = SanitizeFileName( $sFileName );
+
+		$sOriginalFileName = $sFileName ;
+
+		// Get the extension.
+		$sExtension = substr( $sFileName, ( strrpos($sFileName, '.') + 1 ) );
+		$sExtension = strtolower( $sExtension );
+
+		if ( isset( $Config['SecureImageUploads'] ) )
+		{
+			if ( ( $isImageValid = IsImageValid( $oFile['tmp_name'], $sExtension ) ) === false )
+			{
+				$sErrorNumber = '202' ;
+			}
+		}
+
+		if ( isset( $Config['HtmlExtensions'] ) )
+		{
+			if ( !IsHtmlExtension( $sExtension, $Config['HtmlExtensions'] ) &&
+				( $detectHtml = DetectHtml( $oFile['tmp_name'] ) ) === true )
+			{
+				$sErrorNumber = '202' ;
+			}
+		}
+
+		// Check if it is an allowed extension.
+		if ( !$sErrorNumber && IsAllowedExt( $sExtension, $resourceType ) )
+		{
+			$iCounter = 0 ;
+
+			while ( true )
+			{
+				$sFilePath = $sServerDir . $sFileName ;
+
+				if ( is_file( $sFilePath ) )
+				{
+					$iCounter++ ;
+					$sFileName = RemoveExtension( $sOriginalFileName ) . '(' . $iCounter . ').' . $sExtension ;
+					$sErrorNumber = '201' ;
+				}
+				else
+				{
+					move_uploaded_file( $oFile['tmp_name'], $sFilePath );
+
+					if ( is_file( $sFilePath ) )
+					{
+						if ( isset( $Config['ChmodOnUpload'] ) && !$Config['ChmodOnUpload'] )
+						{
+							break ;
+						}
+
+						$permissions = 0777;
+
+						if ( isset( $Config['ChmodOnUpload'] ) && $Config['ChmodOnUpload'] )
+						{
+							$permissions = $Config['ChmodOnUpload'] ;
+						}
+
+						$oldumask = umask(0);
+						chmod( $sFilePath, $permissions );
+						umask( $oldumask );
+					}
+
+					break ;
+				}
+			}
+
+			if ( file_exists( $sFilePath ) )
+			{
+				//previous checks failed, try once again
+				if ( isset( $isImageValid ) && $isImageValid === -1 && IsImageValid( $sFilePath, $sExtension ) === false )
+				{
+					@unlink( $sFilePath );
+					$sErrorNumber = '202' ;
+				}
+				else if ( isset( $detectHtml ) && $detectHtml === -1 && DetectHtml( $sFilePath ) === true )
+				{
+					@unlink( $sFilePath );
+					$sErrorNumber = '202' ;
+				}
+			}
+		}
+		else
+			$sErrorNumber = '202' ;
+	}
+	else
+		$sErrorNumber = '202' ;
+
+
+	$sFileUrl = CombinePaths( GetResourceTypePath( $resourceType, $sCommand ) , $currentFolder );
+	$sFileUrl = CombinePaths( $sFileUrl, $sFileName );
+
+
+	// DOL_CHANGE
+	//SendUploadResults( $sErrorNumber, $sFileUrl, $sFileName );
+	if($CKEcallback == '')
+    {
+        // this line already exists so wrap the if block around it
+        SendUploadResults( $sErrorNumber, $sFileUrl, $sFileName );
+    }
+    else
+    {
+    //issue the CKEditor Callback
+    SendCKEditorResults ($CKEcallback, $sFileUrl,
+    ($sErrorNumber != 0
+      ? 'Error '. $sErrorNumber. ' upload failed.'
+      : 'Upload Successful'));
+  }
+
+	exit ;
+}
+?>
diff --git a/htdocs/core/filemanagerdol/connectors/php/config.php b/htdocs/core/filemanagerdol/connectors/php/config.php
index 87dc899465c11e69c1365e6f88bebec5c238e960..3248335120c1678a423abd2064d824cf35b291e1 100755
--- a/htdocs/core/filemanagerdol/connectors/php/config.php
+++ b/htdocs/core/filemanagerdol/connectors/php/config.php
@@ -1,163 +1,163 @@
-<?php
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- *  - GNU General Public License Version 2 or later (the "GPL")
- *    http://www.gnu.org/licenses/gpl.html
- *
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- *    http://www.gnu.org/licenses/lgpl.html
- *
- *  - Mozilla Public License Version 1.1 or later (the "MPL")
- *    http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Configuration file for the File Manager Connector for PHP.
- */
-
-global $Config ;
-
-define('NOTOKENRENEWAL',1); // Disables token renewal
-
-// We must include the main because this page is
-// a web page that require security controls and
-// is a security hole if anybody can access without
-// being an authenticated user.
-require_once("../../../../main.inc.php");
-$uri=preg_replace('/^http(s?):\/\//i','',$dolibarr_main_url_root);
-$pos = strstr ($uri, '/');      // $pos contient alors url sans nom domaine
-if ($pos == '/') $pos = '';     // si $pos vaut /, on le met a ''
-define('DOL_URL_ROOT', $pos);
-
-// SECURITY: You must explicitly enable this "connector". (Set it to "true").
-// WARNING: don't just set "$Config['Enabled'] = true ;", you must be sure that only
-//		authenticated users can access this file or use some kind of session checking.
-$Config['Enabled'] = true ;
-
-
-// Path to user files relative to the document root.
-$Config['UserFilesPath'] = DOL_URL_ROOT.'/viewimage.php?modulepart=fckeditor&file=' ;
-
-// Fill the following value it you prefer to specify the absolute path for the
-// user files directory. Useful if you are using a virtual directory, symbolic
-// link or alias. Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
-// Attention: The above 'UserFilesPath' must point to the same directory.
-$Config['UserFilesAbsolutePath'] = $dolibarr_main_data_root.'/fckeditor/';
-
-// Due to security issues with Apache modules, it is recommended to leave the
-// following setting enabled.
-$Config['ForceSingleExtension'] = true ;
-
-// Perform additional checks for image files.
-// If set to true, validate image size (using getimagesize).
-$Config['SecureImageUploads'] = true;
-
-// What the user can do with this connector.
-$Config['ConfigAllowedCommands'] = array('QuickUpload', 'FileUpload', 'GetFolders', 'GetFoldersAndFiles', 'CreateFolder');
-
-// Allowed Resource Types.
-$Config['ConfigAllowedTypes'] = array('File', 'Image', 'Flash', 'Media');
-
-// For security, HTML is allowed in the first Kb of data for files having the
-// following extensions only.
-$Config['HtmlExtensions'] = array("html", "htm", "xml", "xsd", "txt", "js");
-
-// After file is uploaded, sometimes it is required to change its permissions
-// so that it was possible to access it at the later time.
-// If possible, it is recommended to set more restrictive permissions, like 0755.
-// Set to 0 to disable this feature.
-// Note: not needed on Windows-based servers.
-$Config['ChmodOnUpload'] = 0775 ;
-
-// See comments above.
-// Used when creating folders that does not exist.
-$Config['ChmodOnFolderCreate'] = 0775 ;
-
-/*
-	Configuration settings for each Resource Type
-
-	- AllowedExtensions: the possible extensions that can be allowed.
-		If it is empty then any file type can be uploaded.
-	- DeniedExtensions: The extensions that won't be allowed.
-		If it is empty then no restrictions are done here.
-
-	For a file to be uploaded it has to fulfill both the AllowedExtensions
-	and DeniedExtensions (that's it: not being denied) conditions.
-
-	- FileTypesPath: the virtual folder relative to the document root where
-		these resources will be located.
-		Attention: It must start and end with a slash: '/'
-
-	- FileTypesAbsolutePath: the physical path to the above folder. It must be
-		an absolute path.
-		If it's an empty string then it will be autocalculated.
-		Useful if you are using a virtual directory, symbolic link or alias.
-		Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
-		Attention: The above 'FileTypesPath' must point to the same directory.
-		Attention: It must end with a slash: '/'
-
-	 - QuickUploadPath: the virtual folder relative to the document root where
-		these resources will be uploaded using the Upload tab in the resources
-		dialogs.
-		Attention: It must start and end with a slash: '/'
-
-	 - QuickUploadAbsolutePath: the physical path to the above folder. It must be
-		an absolute path.
-		If it's an empty string then it will be autocalculated.
-		Useful if you are using a virtual directory, symbolic link or alias.
-		Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
-		Attention: The above 'QuickUploadPath' must point to the same directory.
-		Attention: It must end with a slash: '/'
-
-	 	NOTE: by default, QuickUploadPath and QuickUploadAbsolutePath point to
-	 	"userfiles" directory to maintain backwards compatibility with older versions of FCKeditor.
-	 	This is fine, but you in some cases you will be not able to browse uploaded files using file browser.
-	 	Example: if you click on "image button", select "Upload" tab and send image
-	 	to the server, image will appear in FCKeditor correctly, but because it is placed
-	 	directly in /userfiles/ directory, you'll be not able to see it in built-in file browser.
-	 	The more expected behaviour would be to send images directly to "image" subfolder.
-	 	To achieve that, simply change
-			$Config['QuickUploadPath']['Image']			= $Config['UserFilesPath'] ;
-			$Config['QuickUploadAbsolutePath']['Image']	= $Config['UserFilesAbsolutePath'] ;
-		into:
-			$Config['QuickUploadPath']['Image']			= $Config['FileTypesPath']['Image'] ;
-			$Config['QuickUploadAbsolutePath']['Image'] 	= $Config['FileTypesAbsolutePath']['Image'] ;
-
-*/
-
-$Config['AllowedExtensions']['File']	= array('7z', 'aiff', 'asf', 'avi', 'bmp', 'csv', 'doc', 'fla', 'flv', 'gif', 'gz', 'gzip', 'jpeg', 'jpg', 'mid', 'mov', 'mp3', 'mp4', 'mpc', 'mpeg', 'mpg', 'ods', 'odt', 'pdf', 'png', 'ppt', 'pxd', 'qt', 'ram', 'rar', 'rm', 'rmi', 'rmvb', 'rtf', 'sdc', 'sitd', 'swf', 'sxc', 'sxw', 'tar', 'tgz', 'tif', 'tiff', 'txt', 'vsd', 'wav', 'wma', 'wmv', 'xls', 'xml', 'zip');
-$Config['DeniedExtensions']['File']		= array();
-$Config['FileTypesPath']['File']		= $Config['UserFilesPath'] . 'file/' ;
-$Config['FileTypesAbsolutePath']['File']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'file/' ;
-$Config['QuickUploadPath']['File']		= $Config['UserFilesPath'] ;
-$Config['QuickUploadAbsolutePath']['File']= $Config['UserFilesAbsolutePath'] ;
-
-$Config['AllowedExtensions']['Image']	= array('bmp','gif','jpeg','jpg','png');
-$Config['DeniedExtensions']['Image']	= array();
-$Config['FileTypesPath']['Image']		= $Config['UserFilesPath'] . 'image/' ;
-$Config['FileTypesAbsolutePath']['Image']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'image/' ;
-$Config['QuickUploadPath']['Image']		= $Config['UserFilesPath'] ;
-$Config['QuickUploadAbsolutePath']['Image']= $Config['UserFilesAbsolutePath'] ;
-
-$Config['AllowedExtensions']['Flash']	= array('swf','flv');
-$Config['DeniedExtensions']['Flash']	= array();
-$Config['FileTypesPath']['Flash']		= $Config['UserFilesPath'] . 'flash/' ;
-$Config['FileTypesAbsolutePath']['Flash']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'flash/' ;
-$Config['QuickUploadPath']['Flash']		= $Config['UserFilesPath'] ;
-$Config['QuickUploadAbsolutePath']['Flash']= $Config['UserFilesAbsolutePath'] ;
-
-$Config['AllowedExtensions']['Media']	= array('aiff', 'asf', 'avi', 'bmp', 'fla', 'flv', 'gif', 'jpeg', 'jpg', 'mid', 'mov', 'mp3', 'mp4', 'mpc', 'mpeg', 'mpg', 'png', 'qt', 'ram', 'rm', 'rmi', 'rmvb', 'swf', 'tif', 'tiff', 'wav', 'wma', 'wmv');
-$Config['DeniedExtensions']['Media']	= array();
-$Config['FileTypesPath']['Media']		= $Config['UserFilesPath'] . 'media/' ;
-$Config['FileTypesAbsolutePath']['Media']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'media/' ;
-$Config['QuickUploadPath']['Media']		= $Config['UserFilesPath'] ;
-$Config['QuickUploadAbsolutePath']['Media']= $Config['UserFilesAbsolutePath'] ;
-
-?>
+<?php
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Configuration file for the File Manager Connector for PHP.
+ */
+
+global $Config ;
+
+define('NOTOKENRENEWAL',1); // Disables token renewal
+
+// We must include the main because this page is
+// a web page that require security controls and
+// is a security hole if anybody can access without
+// being an authenticated user.
+require_once("../../../../main.inc.php");
+$uri=preg_replace('/^http(s?):\/\//i','',$dolibarr_main_url_root);
+$pos = strstr($uri, '/');       // $pos contient alors url sans nom domaine
+if ($pos == '/') $pos = '';     // si $pos vaut /, on le met a ''
+define('DOL_URL_ROOT', $pos);
+
+// SECURITY: You must explicitly enable this "connector". (Set it to "true").
+// WARNING: don't just set "$Config['Enabled'] = true ;", you must be sure that only
+//		authenticated users can access this file or use some kind of session checking.
+$Config['Enabled'] = true ;
+
+
+// Path to user files relative to the document root.
+$Config['UserFilesPath'] = DOL_URL_ROOT.'/viewimage.php?modulepart=fckeditor&file=' ;
+
+// Fill the following value it you prefer to specify the absolute path for the
+// user files directory. Useful if you are using a virtual directory, symbolic
+// link or alias. Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
+// Attention: The above 'UserFilesPath' must point to the same directory.
+$Config['UserFilesAbsolutePath'] = $dolibarr_main_data_root.'/fckeditor/';
+
+// Due to security issues with Apache modules, it is recommended to leave the
+// following setting enabled.
+$Config['ForceSingleExtension'] = true ;
+
+// Perform additional checks for image files.
+// If set to true, validate image size (using getimagesize).
+$Config['SecureImageUploads'] = true;
+
+// What the user can do with this connector.
+$Config['ConfigAllowedCommands'] = array('QuickUpload', 'FileUpload', 'GetFolders', 'GetFoldersAndFiles', 'CreateFolder');
+
+// Allowed Resource Types.
+$Config['ConfigAllowedTypes'] = array('File', 'Image', 'Flash', 'Media');
+
+// For security, HTML is allowed in the first Kb of data for files having the
+// following extensions only.
+$Config['HtmlExtensions'] = array("html", "htm", "xml", "xsd", "txt", "js");
+
+// After file is uploaded, sometimes it is required to change its permissions
+// so that it was possible to access it at the later time.
+// If possible, it is recommended to set more restrictive permissions, like 0755.
+// Set to 0 to disable this feature.
+// Note: not needed on Windows-based servers.
+$Config['ChmodOnUpload'] = 0775 ;
+
+// See comments above.
+// Used when creating folders that does not exist.
+$Config['ChmodOnFolderCreate'] = 0775 ;
+
+/*
+	Configuration settings for each Resource Type
+
+	- AllowedExtensions: the possible extensions that can be allowed.
+		If it is empty then any file type can be uploaded.
+	- DeniedExtensions: The extensions that won't be allowed.
+		If it is empty then no restrictions are done here.
+
+	For a file to be uploaded it has to fulfill both the AllowedExtensions
+	and DeniedExtensions (that's it: not being denied) conditions.
+
+	- FileTypesPath: the virtual folder relative to the document root where
+		these resources will be located.
+		Attention: It must start and end with a slash: '/'
+
+	- FileTypesAbsolutePath: the physical path to the above folder. It must be
+		an absolute path.
+		If it's an empty string then it will be autocalculated.
+		Useful if you are using a virtual directory, symbolic link or alias.
+		Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
+		Attention: The above 'FileTypesPath' must point to the same directory.
+		Attention: It must end with a slash: '/'
+
+	 - QuickUploadPath: the virtual folder relative to the document root where
+		these resources will be uploaded using the Upload tab in the resources
+		dialogs.
+		Attention: It must start and end with a slash: '/'
+
+	 - QuickUploadAbsolutePath: the physical path to the above folder. It must be
+		an absolute path.
+		If it's an empty string then it will be autocalculated.
+		Useful if you are using a virtual directory, symbolic link or alias.
+		Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'.
+		Attention: The above 'QuickUploadPath' must point to the same directory.
+		Attention: It must end with a slash: '/'
+
+	 	NOTE: by default, QuickUploadPath and QuickUploadAbsolutePath point to
+	 	"userfiles" directory to maintain backwards compatibility with older versions of FCKeditor.
+	 	This is fine, but you in some cases you will be not able to browse uploaded files using file browser.
+	 	Example: if you click on "image button", select "Upload" tab and send image
+	 	to the server, image will appear in FCKeditor correctly, but because it is placed
+	 	directly in /userfiles/ directory, you'll be not able to see it in built-in file browser.
+	 	The more expected behaviour would be to send images directly to "image" subfolder.
+	 	To achieve that, simply change
+			$Config['QuickUploadPath']['Image']			= $Config['UserFilesPath'] ;
+			$Config['QuickUploadAbsolutePath']['Image']	= $Config['UserFilesAbsolutePath'] ;
+		into:
+			$Config['QuickUploadPath']['Image']			= $Config['FileTypesPath']['Image'] ;
+			$Config['QuickUploadAbsolutePath']['Image'] 	= $Config['FileTypesAbsolutePath']['Image'] ;
+
+*/
+
+$Config['AllowedExtensions']['File']	= array('7z', 'aiff', 'asf', 'avi', 'bmp', 'csv', 'doc', 'fla', 'flv', 'gif', 'gz', 'gzip', 'jpeg', 'jpg', 'mid', 'mov', 'mp3', 'mp4', 'mpc', 'mpeg', 'mpg', 'ods', 'odt', 'pdf', 'png', 'ppt', 'pxd', 'qt', 'ram', 'rar', 'rm', 'rmi', 'rmvb', 'rtf', 'sdc', 'sitd', 'swf', 'sxc', 'sxw', 'tar', 'tgz', 'tif', 'tiff', 'txt', 'vsd', 'wav', 'wma', 'wmv', 'xls', 'xml', 'zip');
+$Config['DeniedExtensions']['File']		= array();
+$Config['FileTypesPath']['File']		= $Config['UserFilesPath'] . 'file/' ;
+$Config['FileTypesAbsolutePath']['File']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'file/' ;
+$Config['QuickUploadPath']['File']		= $Config['UserFilesPath'] ;
+$Config['QuickUploadAbsolutePath']['File']= $Config['UserFilesAbsolutePath'] ;
+
+$Config['AllowedExtensions']['Image']	= array('bmp','gif','jpeg','jpg','png');
+$Config['DeniedExtensions']['Image']	= array();
+$Config['FileTypesPath']['Image']		= $Config['UserFilesPath'] . 'image/' ;
+$Config['FileTypesAbsolutePath']['Image']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'image/' ;
+$Config['QuickUploadPath']['Image']		= $Config['UserFilesPath'] ;
+$Config['QuickUploadAbsolutePath']['Image']= $Config['UserFilesAbsolutePath'] ;
+
+$Config['AllowedExtensions']['Flash']	= array('swf','flv');
+$Config['DeniedExtensions']['Flash']	= array();
+$Config['FileTypesPath']['Flash']		= $Config['UserFilesPath'] . 'flash/' ;
+$Config['FileTypesAbsolutePath']['Flash']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'flash/' ;
+$Config['QuickUploadPath']['Flash']		= $Config['UserFilesPath'] ;
+$Config['QuickUploadAbsolutePath']['Flash']= $Config['UserFilesAbsolutePath'] ;
+
+$Config['AllowedExtensions']['Media']	= array('aiff', 'asf', 'avi', 'bmp', 'fla', 'flv', 'gif', 'jpeg', 'jpg', 'mid', 'mov', 'mp3', 'mp4', 'mpc', 'mpeg', 'mpg', 'png', 'qt', 'ram', 'rm', 'rmi', 'rmvb', 'swf', 'tif', 'tiff', 'wav', 'wma', 'wmv');
+$Config['DeniedExtensions']['Media']	= array();
+$Config['FileTypesPath']['Media']		= $Config['UserFilesPath'] . 'media/' ;
+$Config['FileTypesAbsolutePath']['Media']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'media/' ;
+$Config['QuickUploadPath']['Media']		= $Config['UserFilesPath'] ;
+$Config['QuickUploadAbsolutePath']['Media']= $Config['UserFilesAbsolutePath'] ;
+
+?>
diff --git a/htdocs/core/filemanagerdol/connectors/php/connector.php b/htdocs/core/filemanagerdol/connectors/php/connector.php
index 6f302c6ef53a916e76ec58aeb66c7aeca3dd7567..af720849a7905f9ce6915d7dc0090f685f06c59d 100755
--- a/htdocs/core/filemanagerdol/connectors/php/connector.php
+++ b/htdocs/core/filemanagerdol/connectors/php/connector.php
@@ -1,87 +1,87 @@
-<?php
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- *  - GNU General Public License Version 2 or later (the "GPL")
- *    http://www.gnu.org/licenses/gpl.html
- *
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- *    http://www.gnu.org/licenses/lgpl.html
- *
- *  - Mozilla Public License Version 1.1 or later (the "MPL")
- *    http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This is the File Manager Connector for PHP.
- */
-
-ob_start();
-
-require('./config.php');
-require('./util.php');
-require('./io.php');
-require('./basexml.php');
-require('./commands.php');
-require('./phpcompat.php');
-
-if ( !$Config['Enabled'] )
-	SendError( 1, 'This connector is disabled. Please check the "editor/filemanager/connectors/php/config.php" file' );
-
-DoResponse();
-
-function DoResponse()
-{
-    if (!isset($_GET)) {
-        global $_GET;
-    }
-	if ( !isset( $_GET['Command'] ) || !isset( $_GET['Type'] ) || !isset( $_GET['CurrentFolder'] ) )
-		return ;
-
-	// Get the main request informaiton.
-	$sCommand		= $_GET['Command'] ;
-	$sResourceType	= $_GET['Type'] ;
-	$sCurrentFolder	= GetCurrentFolder();
-
-	// Check if it is an allowed command
-	if ( ! IsAllowedCommand( $sCommand ) )
-		SendError( 1, 'The "' . $sCommand . '" command isn\'t allowed' );
-
-	// Check if it is an allowed type.
-	if ( !IsAllowedType( $sResourceType ) )
-		SendError( 1, 'Invalid type specified' );
-
-	// File Upload doesn't have to Return XML, so it must be intercepted before anything.
-	if ( $sCommand == 'FileUpload' )
-	{
-		FileUpload( $sResourceType, $sCurrentFolder, $sCommand );
-		return ;
-	}
-
-	CreateXmlHeader( $sCommand, $sResourceType, $sCurrentFolder );
-
-	// Execute the required command.
-	switch ( $sCommand )
-	{
-		case 'GetFolders' :
-			GetFolders( $sResourceType, $sCurrentFolder );
-			break ;
-		case 'GetFoldersAndFiles' :
-			GetFoldersAndFiles( $sResourceType, $sCurrentFolder );
-			break ;
-		case 'CreateFolder' :
-			CreateFolder( $sResourceType, $sCurrentFolder );
-			break ;
-	}
-
-	CreateXmlFooter();
-
-	exit ;
-}
-?>
+<?php
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is the File Manager Connector for PHP.
+ */
+
+ob_start();
+
+require('./config.php');
+require('./util.php');
+require('./io.php');
+require('./basexml.php');
+require('./commands.php');
+require('./phpcompat.php');
+
+if ( !$Config['Enabled'] )
+	SendError( 1, 'This connector is disabled. Please check the "editor/filemanager/connectors/php/config.php" file' );
+
+DoResponse();
+
+function DoResponse()
+{
+    if (!isset($_GET)) {
+        global $_GET;
+    }
+	if ( !isset( $_GET['Command'] ) || !isset( $_GET['Type'] ) || !isset( $_GET['CurrentFolder'] ) )
+		return ;
+
+	// Get the main request informaiton.
+	$sCommand		= $_GET['Command'] ;
+	$sResourceType	= $_GET['Type'] ;
+	$sCurrentFolder	= GetCurrentFolder();
+
+	// Check if it is an allowed command
+	if ( ! IsAllowedCommand( $sCommand ) )
+		SendError( 1, 'The "' . $sCommand . '" command isn\'t allowed' );
+
+	// Check if it is an allowed type.
+	if ( !IsAllowedType( $sResourceType ) )
+		SendError( 1, 'Invalid type specified' );
+
+	// File Upload doesn't have to Return XML, so it must be intercepted before anything.
+	if ( $sCommand == 'FileUpload' )
+	{
+		FileUpload( $sResourceType, $sCurrentFolder, $sCommand );
+		return ;
+	}
+
+	CreateXmlHeader( $sCommand, $sResourceType, $sCurrentFolder );
+
+	// Execute the required command.
+	switch ( $sCommand )
+	{
+		case 'GetFolders' :
+			GetFolders( $sResourceType, $sCurrentFolder );
+			break ;
+		case 'GetFoldersAndFiles' :
+			GetFoldersAndFiles( $sResourceType, $sCurrentFolder );
+			break ;
+		case 'CreateFolder' :
+			CreateFolder( $sResourceType, $sCurrentFolder );
+			break ;
+	}
+
+	CreateXmlFooter();
+
+	exit ;
+}
+?>
diff --git a/htdocs/core/filemanagerdol/connectors/php/io.php b/htdocs/core/filemanagerdol/connectors/php/io.php
index aa957e53fc51805d395a6c55878c859cf1685992..ed329ec13a4654c2a96d7b1be6ae4c55f6711a42 100755
--- a/htdocs/core/filemanagerdol/connectors/php/io.php
+++ b/htdocs/core/filemanagerdol/connectors/php/io.php
@@ -1,320 +1,320 @@
-<?php
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- *  - GNU General Public License Version 2 or later (the "GPL")
- *    http://www.gnu.org/licenses/gpl.html
- *
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- *    http://www.gnu.org/licenses/lgpl.html
- *
- *  - Mozilla Public License Version 1.1 or later (the "MPL")
- *    http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This is the File Manager Connector for PHP.
- */
-function CombinePaths( $sBasePath, $sFolder )
-{
-	return RemoveFromEnd( $sBasePath, '/' ) . '/' . RemoveFromStart( $sFolder, '/' );
-}
-function GetResourceTypePath( $resourceType, $sCommand )
-{
-	global $Config ;
-
-	if ( $sCommand == "QuickUpload")
-		return $Config['QuickUploadPath'][$resourceType] ;
-	else
-		return $Config['FileTypesPath'][$resourceType] ;
-}
-
-function GetResourceTypeDirectory( $resourceType, $sCommand )
-{
-	global $Config ;
-	if ( $sCommand == "QuickUpload")
-	{
-		if ( strlen( $Config['QuickUploadAbsolutePath'][$resourceType] ) > 0 )
-			return $Config['QuickUploadAbsolutePath'][$resourceType] ;
-
-		// Map the "UserFiles" path to a local directory.
-		return Server_MapPath( $Config['QuickUploadPath'][$resourceType] );
-	}
-	else
-	{
-		if ( strlen( $Config['FileTypesAbsolutePath'][$resourceType] ) > 0 )
-			return $Config['FileTypesAbsolutePath'][$resourceType] ;
-
-		// Map the "UserFiles" path to a local directory.
-		return Server_MapPath( $Config['FileTypesPath'][$resourceType] );
-	}
-}
-
-function GetUrlFromPath( $resourceType, $folderPath, $sCommand )
-{
-	return CombinePaths( GetResourceTypePath( $resourceType, $sCommand ), $folderPath );
-}
-
-function RemoveExtension( $fileName )
-{
-	return substr( $fileName, 0, strrpos( $fileName, '.' ) );
-}
-
-function ServerMapFolder( $resourceType, $folderPath, $sCommand )
-{
-	// Get the resource type directory.
-	$sResourceTypePath = GetResourceTypeDirectory( $resourceType, $sCommand );
-
-	// Ensure that the directory exists.
-	$sErrorMsg = CreateServerFolder( $sResourceTypePath );
-	if ( $sErrorMsg != '' )
-		SendError( 1, "Error creating folder \"{$sResourceTypePath}\" ({$sErrorMsg})" );
-
-	// Return the resource type directory combined with the required path.
-	return CombinePaths( $sResourceTypePath , $folderPath );
-}
-
-function GetParentFolder( $folderPath )
-{
-	$sPattern = "-[/\\\\][^/\\\\]+[/\\\\]?$-" ;
-	return preg_replace( $sPattern, '', $folderPath );
-}
-
-function CreateServerFolder( $folderPath, $lastFolder = null )
-{
-	global $Config ;
-	$sParent = GetParentFolder( $folderPath );
-
-	// Ensure the folder path has no double-slashes, or mkdir may fail on certain platforms
-	while ( strpos($folderPath, '//') !== false )
-	{
-		$folderPath = str_replace( '//', '/', $folderPath );
-	}
-
-	// Check if the parent exists, or create it.
-	if ( !empty($sParent) && !file_exists( $sParent ) )
-	{
-		//prevents agains infinite loop when we can't create root folder
-		if ( !is_null( $lastFolder ) && $lastFolder === $sParent) {
-			return "Can't create $folderPath directory" ;
-		}
-
-		$sErrorMsg = CreateServerFolder( $sParent, $folderPath );
-		if ( $sErrorMsg != '' )
-			return $sErrorMsg ;
-	}
-
-	if ( !file_exists( $folderPath ) )
-	{
-		// Turn off all error reporting.
-		error_reporting( 0 );
-
-		$php_errormsg = '' ;
-		// Enable error tracking to catch the error.
-		ini_set( 'track_errors', '1' );
-
-		if ( isset( $Config['ChmodOnFolderCreate'] ) && !$Config['ChmodOnFolderCreate'] )
-		{
-			mkdir( $folderPath );
-		}
-		else
-		{
-			$permissions = 0777 ;
-			if ( isset( $Config['ChmodOnFolderCreate'] ) )
-			{
-				$permissions = $Config['ChmodOnFolderCreate'] ;
-			}
-			// To create the folder with 0777 permissions, we need to set umask to zero.
-			$oldumask = umask(0);
-			mkdir( $folderPath, $permissions );
-			umask( $oldumask );
-		}
-
-		$sErrorMsg = $php_errormsg ;
-
-		// Restore the configurations.
-		ini_restore( 'track_errors' );
-		ini_restore( 'error_reporting' );
-
-		return $sErrorMsg ;
-	}
-	else
-		return '' ;
-}
-
-function GetRootPath()
-{
-	if (!isset($_SERVER)) {
-		global $_SERVER;
-	}
-	$sRealPath = realpath( './' );
-	// #2124 ensure that no slash is at the end
-	$sRealPath = rtrim($sRealPath,"\\/");
-
-	$sSelfPath = $_SERVER['PHP_SELF'] ;
-	$sSelfPath = substr( $sSelfPath, 0, strrpos( $sSelfPath, '/' ) );
-
-	$sSelfPath = str_replace( '/', DIRECTORY_SEPARATOR, $sSelfPath );
-
-	$position = strpos( $sRealPath, $sSelfPath );
-
-	// This can check only that this script isn't run from a virtual dir
-	// But it avoids the problems that arise if it isn't checked
-	if ( $position === false || $position <> strlen( $sRealPath ) - strlen( $sSelfPath ) )
-		SendError( 1, 'Sorry, can\'t map "UserFilesPath" to a physical path. You must set the "UserFilesAbsolutePath" value in "editor/filemanager/connectors/php/config.php".' );
-
-	return substr( $sRealPath, 0, $position );
-}
-
-// Emulate the asp Server.mapPath function.
-// given an url path return the physical directory that it corresponds to
-function Server_MapPath( $path )
-{
-	// This function is available only for Apache
-	if ( function_exists( 'apache_lookup_uri' ) )
-	{
-		$info = apache_lookup_uri( $path );
-		return $info->filename . $info->path_info ;
-	}
-
-	// This isn't correct but for the moment there's no other solution
-	// If this script is under a virtual directory or symlink it will detect the problem and stop
-	return GetRootPath() . $path ;
-}
-
-function IsAllowedExt( $sExtension, $resourceType )
-{
-	global $Config ;
-	// Get the allowed and denied extensions arrays.
-	$arAllowed	= $Config['AllowedExtensions'][$resourceType] ;
-	$arDenied	= $Config['DeniedExtensions'][$resourceType] ;
-
-	if ( count($arAllowed) > 0 && !in_array( $sExtension, $arAllowed ) )
-		return false ;
-
-	if ( count($arDenied) > 0 && in_array( $sExtension, $arDenied ) )
-		return false ;
-
-	return true ;
-}
-
-function IsAllowedType( $resourceType )
-{
-	global $Config ;
-	if ( !in_array( $resourceType, $Config['ConfigAllowedTypes'] ) )
-		return false ;
-
-	return true ;
-}
-
-function IsAllowedCommand( $sCommand )
-{
-	global $Config ;
-
-	if ( !in_array( $sCommand, $Config['ConfigAllowedCommands'] ) )
-		return false ;
-
-	return true ;
-}
-
-function GetCurrentFolder()
-{
-	if (!isset($_GET)) {
-		global $_GET;
-	}
-	$sCurrentFolder	= isset( $_GET['CurrentFolder'] ) ? $_GET['CurrentFolder'] : '/' ;
-
-	// Check the current folder syntax (must begin and start with a slash).
-	if ( !preg_match( '|/$|', $sCurrentFolder ) )
-		$sCurrentFolder .= '/' ;
-	if ( strpos( $sCurrentFolder, '/' ) !== 0 )
-		$sCurrentFolder = '/' . $sCurrentFolder ;
-
-	// Ensure the folder path has no double-slashes
-	while ( strpos ($sCurrentFolder, '//') !== false ) {
-		$sCurrentFolder = str_replace ('//', '/', $sCurrentFolder);
-	}
-
-	// Check for invalid folder paths (..)
-	if ( strpos( $sCurrentFolder, '..' ) || strpos( $sCurrentFolder, "\\" ))
-		SendError( 102, '' );
-
-	if ( preg_match(",(/\.)|[[:cntrl:]]|(//)|(\\\\)|([\:\*\?\"\<\>\|]),", $sCurrentFolder))
-		SendError( 102, '' );
-
-	return $sCurrentFolder ;
-}
-
-// Do a cleanup of the folder name to avoid possible problems
-function SanitizeFolderName( $sNewFolderName )
-{
-	$sNewFolderName = stripslashes( $sNewFolderName );
-
-	// Remove . \ / | : ? * " < >
-	$sNewFolderName = preg_replace( '/\\.|\\\\|\\/|\\||\\:|\\?|\\*|"|<|>|[[:cntrl:]]/', '_', $sNewFolderName );
-
-	return $sNewFolderName ;
-}
-
-// Do a cleanup of the file name to avoid possible problems
-function SanitizeFileName( $sNewFileName )
-{
-	global $Config ;
-
-	$sNewFileName = stripslashes( $sNewFileName );
-
-	// Replace dots in the name with underscores (only one dot can be there... security issue).
-	if ( $Config['ForceSingleExtension'] )
-		$sNewFileName = preg_replace( '/\\.(?![^.]*$)/', '_', $sNewFileName );
-
-	// Remove \ / | : ? * " < >
-	$sNewFileName = preg_replace( '/\\\\|\\/|\\||\\:|\\?|\\*|"|<|>|[[:cntrl:]]/', '_', $sNewFileName );
-
-	return $sNewFileName ;
-}
-
-// This is the function that sends the results of the uploading process.
-function SendUploadResults( $errorNumber, $fileUrl = '', $fileName = '', $customMsg = '' )
-{
-	// Minified version of the document.domain automatic fix script (#1919).
-	// The original script can be found at _dev/domain_fix_template.js
-	echo <<<EOF
-<script type="text/javascript">
-(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();
-EOF;
-
-	if ($errorNumber && $errorNumber != 201) {
-		$fileUrl = "";
-		$fileName = "";
-	}
-
-	$rpl = array( '\\' => '\\\\', '"' => '\\"' );
-	echo 'window.parent.OnUploadCompleted(' . $errorNumber . ',"' . strtr( $fileUrl, $rpl ) . '","' . strtr( $fileName, $rpl ) . '", "' . strtr( $customMsg, $rpl ) . '");' ;
-	echo '</script>' ;
-	exit ;
-}
-
-
-// DOL_CHANGE
-
-// This is the function that sends the results of the uploading process to CKE.
-function SendCKEditorResults ($callback, $sFileUrl, $customMsg = '')
-{
-  echo '<script type="text/javascript">';
-
-  $rpl = array( '\\' => '\\\\', '"' => '\\"' );
-
-  echo 'window.parent.CKEDITOR.tools.callFunction("'. $callback. '","'.
-    strtr($sFileUrl, $rpl). '", "'. strtr($customMsg, $rpl). '");' ;
-
-  echo '</script>';
-}
-
-
-?>
+<?php
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is the File Manager Connector for PHP.
+ */
+function CombinePaths( $sBasePath, $sFolder )
+{
+	return RemoveFromEnd( $sBasePath, '/' ) . '/' . RemoveFromStart( $sFolder, '/' );
+}
+function GetResourceTypePath( $resourceType, $sCommand )
+{
+	global $Config ;
+
+	if ( $sCommand == "QuickUpload")
+		return $Config['QuickUploadPath'][$resourceType] ;
+	else
+		return $Config['FileTypesPath'][$resourceType] ;
+}
+
+function GetResourceTypeDirectory( $resourceType, $sCommand )
+{
+	global $Config ;
+	if ( $sCommand == "QuickUpload")
+	{
+		if ( strlen( $Config['QuickUploadAbsolutePath'][$resourceType] ) > 0 )
+			return $Config['QuickUploadAbsolutePath'][$resourceType] ;
+
+		// Map the "UserFiles" path to a local directory.
+		return Server_MapPath( $Config['QuickUploadPath'][$resourceType] );
+	}
+	else
+	{
+		if ( strlen( $Config['FileTypesAbsolutePath'][$resourceType] ) > 0 )
+			return $Config['FileTypesAbsolutePath'][$resourceType] ;
+
+		// Map the "UserFiles" path to a local directory.
+		return Server_MapPath( $Config['FileTypesPath'][$resourceType] );
+	}
+}
+
+function GetUrlFromPath( $resourceType, $folderPath, $sCommand )
+{
+	return CombinePaths( GetResourceTypePath( $resourceType, $sCommand ), $folderPath );
+}
+
+function RemoveExtension( $fileName )
+{
+	return substr( $fileName, 0, strrpos( $fileName, '.' ) );
+}
+
+function ServerMapFolder( $resourceType, $folderPath, $sCommand )
+{
+	// Get the resource type directory.
+	$sResourceTypePath = GetResourceTypeDirectory( $resourceType, $sCommand );
+
+	// Ensure that the directory exists.
+	$sErrorMsg = CreateServerFolder( $sResourceTypePath );
+	if ( $sErrorMsg != '' )
+		SendError( 1, "Error creating folder \"{$sResourceTypePath}\" ({$sErrorMsg})" );
+
+	// Return the resource type directory combined with the required path.
+	return CombinePaths( $sResourceTypePath , $folderPath );
+}
+
+function GetParentFolder( $folderPath )
+{
+	$sPattern = "-[/\\\\][^/\\\\]+[/\\\\]?$-" ;
+	return preg_replace( $sPattern, '', $folderPath );
+}
+
+function CreateServerFolder( $folderPath, $lastFolder = null )
+{
+	global $Config ;
+	$sParent = GetParentFolder( $folderPath );
+
+	// Ensure the folder path has no double-slashes, or mkdir may fail on certain platforms
+	while ( strpos($folderPath, '//') !== false )
+	{
+		$folderPath = str_replace( '//', '/', $folderPath );
+	}
+
+	// Check if the parent exists, or create it.
+	if ( !empty($sParent) && !file_exists( $sParent ) )
+	{
+		//prevents agains infinite loop when we can't create root folder
+		if ( !is_null( $lastFolder ) && $lastFolder === $sParent) {
+			return "Can't create $folderPath directory" ;
+		}
+
+		$sErrorMsg = CreateServerFolder( $sParent, $folderPath );
+		if ( $sErrorMsg != '' )
+			return $sErrorMsg ;
+	}
+
+	if ( !file_exists( $folderPath ) )
+	{
+		// Turn off all error reporting.
+		error_reporting( 0 );
+
+		$php_errormsg = '' ;
+		// Enable error tracking to catch the error.
+		ini_set( 'track_errors', '1' );
+
+		if ( isset( $Config['ChmodOnFolderCreate'] ) && !$Config['ChmodOnFolderCreate'] )
+		{
+			mkdir( $folderPath );
+		}
+		else
+		{
+			$permissions = 0777 ;
+			if ( isset( $Config['ChmodOnFolderCreate'] ) )
+			{
+				$permissions = $Config['ChmodOnFolderCreate'] ;
+			}
+			// To create the folder with 0777 permissions, we need to set umask to zero.
+			$oldumask = umask(0);
+			mkdir( $folderPath, $permissions );
+			umask( $oldumask );
+		}
+
+		$sErrorMsg = $php_errormsg ;
+
+		// Restore the configurations.
+		ini_restore( 'track_errors' );
+		ini_restore( 'error_reporting' );
+
+		return $sErrorMsg ;
+	}
+	else
+		return '' ;
+}
+
+function GetRootPath()
+{
+	if (!isset($_SERVER)) {
+		global $_SERVER;
+	}
+	$sRealPath = realpath( './' );
+	// #2124 ensure that no slash is at the end
+	$sRealPath = rtrim($sRealPath,"\\/");
+
+	$sSelfPath = $_SERVER['PHP_SELF'] ;
+	$sSelfPath = substr( $sSelfPath, 0, strrpos( $sSelfPath, '/' ) );
+
+	$sSelfPath = str_replace( '/', DIRECTORY_SEPARATOR, $sSelfPath );
+
+	$position = strpos( $sRealPath, $sSelfPath );
+
+	// This can check only that this script isn't run from a virtual dir
+	// But it avoids the problems that arise if it isn't checked
+	if ( $position === false || $position <> strlen( $sRealPath ) - strlen( $sSelfPath ) )
+		SendError( 1, 'Sorry, can\'t map "UserFilesPath" to a physical path. You must set the "UserFilesAbsolutePath" value in "editor/filemanager/connectors/php/config.php".' );
+
+	return substr( $sRealPath, 0, $position );
+}
+
+// Emulate the asp Server.mapPath function.
+// given an url path return the physical directory that it corresponds to
+function Server_MapPath( $path )
+{
+	// This function is available only for Apache
+	if ( function_exists( 'apache_lookup_uri' ) )
+	{
+		$info = apache_lookup_uri( $path );
+		return $info->filename . $info->path_info ;
+	}
+
+	// This isn't correct but for the moment there's no other solution
+	// If this script is under a virtual directory or symlink it will detect the problem and stop
+	return GetRootPath() . $path ;
+}
+
+function IsAllowedExt( $sExtension, $resourceType )
+{
+	global $Config ;
+	// Get the allowed and denied extensions arrays.
+	$arAllowed	= $Config['AllowedExtensions'][$resourceType] ;
+	$arDenied	= $Config['DeniedExtensions'][$resourceType] ;
+
+	if ( count($arAllowed) > 0 && !in_array( $sExtension, $arAllowed ) )
+		return false ;
+
+	if ( count($arDenied) > 0 && in_array( $sExtension, $arDenied ) )
+		return false ;
+
+	return true ;
+}
+
+function IsAllowedType( $resourceType )
+{
+	global $Config ;
+	if ( !in_array( $resourceType, $Config['ConfigAllowedTypes'] ) )
+		return false ;
+
+	return true ;
+}
+
+function IsAllowedCommand( $sCommand )
+{
+	global $Config ;
+
+	if ( !in_array( $sCommand, $Config['ConfigAllowedCommands'] ) )
+		return false ;
+
+	return true ;
+}
+
+function GetCurrentFolder()
+{
+	if (!isset($_GET)) {
+		global $_GET;
+	}
+	$sCurrentFolder	= isset( $_GET['CurrentFolder'] ) ? $_GET['CurrentFolder'] : '/' ;
+
+	// Check the current folder syntax (must begin and start with a slash).
+	if ( !preg_match( '|/$|', $sCurrentFolder ) )
+		$sCurrentFolder .= '/' ;
+	if ( strpos( $sCurrentFolder, '/' ) !== 0 )
+		$sCurrentFolder = '/' . $sCurrentFolder ;
+
+	// Ensure the folder path has no double-slashes
+	while ( strpos ($sCurrentFolder, '//') !== false ) {
+		$sCurrentFolder = str_replace ('//', '/', $sCurrentFolder);
+	}
+
+	// Check for invalid folder paths (..)
+	if ( strpos( $sCurrentFolder, '..' ) || strpos( $sCurrentFolder, "\\" ))
+		SendError( 102, '' );
+
+	if ( preg_match(",(/\.)|[[:cntrl:]]|(//)|(\\\\)|([\:\*\?\"\<\>\|]),", $sCurrentFolder))
+		SendError( 102, '' );
+
+	return $sCurrentFolder ;
+}
+
+// Do a cleanup of the folder name to avoid possible problems
+function SanitizeFolderName( $sNewFolderName )
+{
+	$sNewFolderName = stripslashes( $sNewFolderName );
+
+	// Remove . \ / | : ? * " < >
+	$sNewFolderName = preg_replace( '/\\.|\\\\|\\/|\\||\\:|\\?|\\*|"|<|>|[[:cntrl:]]/', '_', $sNewFolderName );
+
+	return $sNewFolderName ;
+}
+
+// Do a cleanup of the file name to avoid possible problems
+function SanitizeFileName( $sNewFileName )
+{
+	global $Config ;
+
+	$sNewFileName = stripslashes( $sNewFileName );
+
+	// Replace dots in the name with underscores (only one dot can be there... security issue).
+	if ( $Config['ForceSingleExtension'] )
+		$sNewFileName = preg_replace( '/\\.(?![^.]*$)/', '_', $sNewFileName );
+
+	// Remove \ / | : ? * " < >
+	$sNewFileName = preg_replace( '/\\\\|\\/|\\||\\:|\\?|\\*|"|<|>|[[:cntrl:]]/', '_', $sNewFileName );
+
+	return $sNewFileName ;
+}
+
+// This is the function that sends the results of the uploading process.
+function SendUploadResults( $errorNumber, $fileUrl = '', $fileName = '', $customMsg = '' )
+{
+	// Minified version of the document.domain automatic fix script (#1919).
+	// The original script can be found at _dev/domain_fix_template.js
+	echo <<<EOF
+<script type="text/javascript">
+(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();
+EOF;
+
+	if ($errorNumber && $errorNumber != 201) {
+		$fileUrl = "";
+		$fileName = "";
+	}
+
+	$rpl = array( '\\' => '\\\\', '"' => '\\"' );
+	echo 'window.parent.OnUploadCompleted(' . $errorNumber . ',"' . strtr( $fileUrl, $rpl ) . '","' . strtr( $fileName, $rpl ) . '", "' . strtr( $customMsg, $rpl ) . '");' ;
+	echo '</script>' ;
+	exit ;
+}
+
+
+// DOL_CHANGE
+
+// This is the function that sends the results of the uploading process to CKE.
+function SendCKEditorResults ($callback, $sFileUrl, $customMsg = '')
+{
+  echo '<script type="text/javascript">';
+
+  $rpl = array( '\\' => '\\\\', '"' => '\\"' );
+
+  echo 'window.parent.CKEDITOR.tools.callFunction("'. $callback. '","'.
+    strtr($sFileUrl, $rpl). '", "'. strtr($customMsg, $rpl). '");' ;
+
+  echo '</script>';
+}
+
+
+?>
diff --git a/htdocs/core/filemanagerdol/connectors/php/phpcompat.php b/htdocs/core/filemanagerdol/connectors/php/phpcompat.php
index 2c96746429793f06da41a6296f8c6552f67ef037..518d533e2604453fb9b72921d01e33dbdc612857 100755
--- a/htdocs/core/filemanagerdol/connectors/php/phpcompat.php
+++ b/htdocs/core/filemanagerdol/connectors/php/phpcompat.php
@@ -1,17 +1,16 @@
-<?php
-
-if ( !isset( $_SERVER ) ) {
-    $_SERVER = $HTTP_SERVER_VARS ;
-}
-if ( !isset( $_GET ) ) {
-    $_GET = $HTTP_GET_VARS ;
-}
-if ( !isset( $_FILES ) ) {
-    $_FILES = $HTTP_POST_FILES ;
-}
-
-if ( !defined( 'DIRECTORY_SEPARATOR' ) ) {
-    define( 'DIRECTORY_SEPARATOR',
-        strtoupper(substr(PHP_OS, 0, 3) == 'WIN') ? '\\' : '/'
-    );
-}
+<?php
+
+if ( !isset( $_SERVER ) ) {
+    $_SERVER = $HTTP_SERVER_VARS ;
+}
+if ( !isset( $_GET ) ) {
+    $_GET = $HTTP_GET_VARS ;
+}
+if ( !isset( $_FILES ) ) {
+    $_FILES = $HTTP_POST_FILES ;
+}
+
+if (! defined('DIRECTORY_SEPARATOR'))
+{
+    define('DIRECTORY_SEPARATOR', strtoupper(substr(PHP_OS, 0, 3) == 'WIN') ? '\\' : '/');
+}
diff --git a/htdocs/core/filemanagerdol/connectors/php/upload.php b/htdocs/core/filemanagerdol/connectors/php/upload.php
index f00f3dbb3209cfbbf720ccaf8e43d25264fd2e05..7cd4a625ccceed186c200389c776c0a9876fcda6 100755
--- a/htdocs/core/filemanagerdol/connectors/php/upload.php
+++ b/htdocs/core/filemanagerdol/connectors/php/upload.php
@@ -1,67 +1,67 @@
-<?php
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- *  - GNU General Public License Version 2 or later (the "GPL")
- *    http://www.gnu.org/licenses/gpl.html
- *
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- *    http://www.gnu.org/licenses/lgpl.html
- *
- *  - Mozilla Public License Version 1.1 or later (the "MPL")
- *    http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * This is the "File Uploader" for PHP.
- */
-
-require('./config.php');
-require('./util.php');
-require('./io.php');
-require('./commands.php');
-require('./phpcompat.php');
-
-function SendError( $number, $text )
-{
-	SendUploadResults( $number, '', '', $text );
-}
-
-
-// Check if this uploader has been enabled.
-if ( !$Config['Enabled'] )
-	SendUploadResults( '1', '', '', 'This file uploader is disabled. Please check the "editor/filemanager/connectors/php/config.php" file' );
-
-$sCommand = 'QuickUpload' ;
-
-// The file type (from the QueryString, by default 'File').
-$sType = isset( $_GET['Type'] ) ? $_GET['Type'] : 'File' ;
-
-$sCurrentFolder	= "/" ;
-
-// Is enabled the upload?
-if ( ! IsAllowedCommand( $sCommand ) )
-	SendUploadResults( '1', '', '', 'The ""' . $sCommand . '"" command isn\'t allowed' );
-
-// Check if it is an allowed type.
-if ( !IsAllowedType( $sType ) )
-    SendUploadResults( 1, '', '', 'Invalid type specified' );
-
-
-// DOL_CHANGE
-//FileUpload( $sType, $sCurrentFolder, $sCommand )
-
-// Get the CKEditor Callback
-$CKEcallback = $_GET['CKEditorFuncNum'];
-
-//modify the next line adding in the new param
-FileUpload($sType, $sCurrentFolder, $sCommand, $CKEcallback);
-
-
-?>
+<?php
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * This is the "File Uploader" for PHP.
+ */
+
+require('./config.php');
+require('./util.php');
+require('./io.php');
+require('./commands.php');
+require('./phpcompat.php');
+
+function SendError( $number, $text )
+{
+	SendUploadResults( $number, '', '', $text );
+}
+
+
+// Check if this uploader has been enabled.
+if ( !$Config['Enabled'] )
+	SendUploadResults( '1', '', '', 'This file uploader is disabled. Please check the "editor/filemanager/connectors/php/config.php" file' );
+
+$sCommand = 'QuickUpload' ;
+
+// The file type (from the QueryString, by default 'File').
+$sType = isset( $_GET['Type'] ) ? $_GET['Type'] : 'File' ;
+
+$sCurrentFolder	= "/" ;
+
+// Is enabled the upload?
+if ( ! IsAllowedCommand( $sCommand ) )
+	SendUploadResults( '1', '', '', 'The ""' . $sCommand . '"" command isn\'t allowed' );
+
+// Check if it is an allowed type.
+if ( !IsAllowedType( $sType ) )
+    SendUploadResults( 1, '', '', 'Invalid type specified' );
+
+
+// DOL_CHANGE
+//FileUpload( $sType, $sCurrentFolder, $sCommand )
+
+// Get the CKEditor Callback
+$CKEcallback = $_GET['CKEditorFuncNum'];
+
+//modify the next line adding in the new param
+FileUpload($sType, $sCurrentFolder, $sCommand, $CKEcallback);
+
+
+?>
diff --git a/htdocs/core/filemanagerdol/connectors/php/util.php b/htdocs/core/filemanagerdol/connectors/php/util.php
index e3c9f5e8ef2e1b79f24aebb819d8d61361fbc5b5..fa2921cde8b3ee845385daf02fe6707a533c0551 100755
--- a/htdocs/core/filemanagerdol/connectors/php/util.php
+++ b/htdocs/core/filemanagerdol/connectors/php/util.php
@@ -1,220 +1,220 @@
-<?php
-/*
- * FCKeditor - The text editor for Internet - http://www.fckeditor.net
- * Copyright (C) 2003-2010 Frederico Caldeira Knabben
- *
- * == BEGIN LICENSE ==
- *
- * Licensed under the terms of any of the following licenses at your
- * choice:
- *
- *  - GNU General Public License Version 2 or later (the "GPL")
- *    http://www.gnu.org/licenses/gpl.html
- *
- *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- *    http://www.gnu.org/licenses/lgpl.html
- *
- *  - Mozilla Public License Version 1.1 or later (the "MPL")
- *    http://www.mozilla.org/MPL/MPL-1.1.html
- *
- * == END LICENSE ==
- *
- * Utility functions for the File Manager Connector for PHP.
- */
-
-function RemoveFromStart( $sourceString, $charToRemove )
-{
-	$sPattern = '|^' . $charToRemove . '+|' ;
-	return preg_replace( $sPattern, '', $sourceString );
-}
-
-function RemoveFromEnd( $sourceString, $charToRemove )
-{
-	$sPattern = '|' . $charToRemove . '+$|' ;
-	return preg_replace( $sPattern, '', $sourceString );
-}
-
-function FindBadUtf8( $string )
-{
-	$regex =
-	'([\x00-\x7F]'.
-	'|[\xC2-\xDF][\x80-\xBF]'.
-	'|\xE0[\xA0-\xBF][\x80-\xBF]'.
-	'|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}'.
-	'|\xED[\x80-\x9F][\x80-\xBF]'.
-	'|\xF0[\x90-\xBF][\x80-\xBF]{2}'.
-	'|[\xF1-\xF3][\x80-\xBF]{3}'.
-	'|\xF4[\x80-\x8F][\x80-\xBF]{2}'.
-	'|(.{1}))';
-
-	while (preg_match('/'.$regex.'/S', $string, $matches)) {
-		if ( isset($matches[2])) {
-			return true;
-		}
-		$string = substr($string, strlen($matches[0]));
-	}
-
-	return false;
-}
-
-function ConvertToXmlAttribute( $value )
-{
-	if ( defined( 'PHP_OS' ) )
-	{
-		$os = PHP_OS ;
-	}
-	else
-	{
-		$os = php_uname();
-	}
-
-	if ( strtoupper( substr( $os, 0, 3 ) ) === 'WIN' || FindBadUtf8( $value ) )
-	{
-		return ( utf8_encode( htmlspecialchars( $value ) ) );
-	}
-	else
-	{
-		return ( htmlspecialchars( $value ) );
-	}
-}
-
-/**
- * Check whether given extension is in html etensions list
- *
- * @param string $ext
- * @param array $formExtensions
- * @return boolean
- */
-function IsHtmlExtension( $ext, $formExtensions )
-{
-	if ( !$formExtensions || !is_array( $formExtensions ) )
-	{
-		return false ;
-	}
-	$lcaseHtmlExtensions = array();
-	foreach ( $formExtensions as $key => $val )
-	{
-		$lcaseHtmlExtensions[$key] = strtolower( $val );
-	}
-	return in_array( $ext, $lcaseHtmlExtensions );
-}
-
-/**
- * Detect HTML in the first KB to prevent against potential security issue with
- * IE/Safari/Opera file type auto detection bug.
- * Returns true if file contain insecure HTML code at the beginning.
- *
- * @param string $filePath absolute path to file
- * @return boolean
- */
-function DetectHtml( $filePath )
-{
-	$fp = @fopen( $filePath, 'rb' );
-
-	//open_basedir restriction, see #1906
-	if ( $fp === false || !flock( $fp, LOCK_SH ) )
-	{
-		return -1 ;
-	}
-
-	$chunk = fread( $fp, 1024 );
-	flock( $fp, LOCK_UN );
-	fclose( $fp );
-
-	$chunk = strtolower( $chunk );
-
-	if (!$chunk)
-	{
-		return false ;
-	}
-
-	$chunk = trim( $chunk );
-
-	if ( preg_match( "/<!DOCTYPE\W*X?HTML/sim", $chunk ) )
-	{
-		return true;
-	}
-
-	$tags = array( '<body', '<head', '<html', '<img', '<pre', '<script', '<table', '<title' );
-
-	foreach( $tags as $tag )
-	{
-		if( false !== strpos( $chunk, $tag ) )
-		{
-			return true ;
-		}
-	}
-
-	//type = javascript
-	if ( preg_match( '!type\s*=\s*[\'"]?\s*(?:\w*/)?(?:ecma|java)!sim', $chunk ) )
-	{
-		return true ;
-	}
-
-	//href = javascript
-	//src = javascript
-	//data = javascript
-	if ( preg_match( '!(?:href|src|data)\s*=\s*[\'"]?\s*(?:ecma|java)script:!sim', $chunk ) )
-	{
-		return true ;
-	}
-
-	//url(javascript
-	if ( preg_match( '!url\s*\(\s*[\'"]?\s*(?:ecma|java)script:!sim', $chunk ) )
-	{
-		return true ;
-	}
-
-	return false ;
-}
-
-/**
- * Check file content.
- * Currently this function validates only image files.
- * Returns false if file is invalid.
- *
- * @param string $filePath absolute path to file
- * @param string $extension file extension
- * @param integer $detectionLevel 0 = none, 1 = use getimagesize for images, 2 = use DetectHtml for images
- * @return boolean
- */
-function IsImageValid( $filePath, $extension )
-{
-	if (!@is_readable($filePath)) {
-		return -1;
-	}
-
-	$imageCheckExtensions = array('gif', 'jpeg', 'jpg', 'png', 'swf', 'psd', 'bmp', 'iff');
-
-	// version_compare is available since PHP4 >= 4.0.7
-	if ( function_exists( 'version_compare' ) ) {
-		$sCurrentVersion = phpversion();
-		if ( version_compare( $sCurrentVersion, "4.2.0" ) >= 0 ) {
-			$imageCheckExtensions[] = "tiff";
-			$imageCheckExtensions[] = "tif";
-		}
-		if ( version_compare( $sCurrentVersion, "4.3.0" ) >= 0 ) {
-			$imageCheckExtensions[] = "swc";
-		}
-		if ( version_compare( $sCurrentVersion, "4.3.2" ) >= 0 ) {
-			$imageCheckExtensions[] = "jpc";
-			$imageCheckExtensions[] = "jp2";
-			$imageCheckExtensions[] = "jpx";
-			$imageCheckExtensions[] = "jb2";
-			$imageCheckExtensions[] = "xbm";
-			$imageCheckExtensions[] = "wbmp";
-		}
-	}
-
-	if ( !in_array( $extension, $imageCheckExtensions ) ) {
-		return true;
-	}
-
-	if ( @getimagesize( $filePath ) === false ) {
-		return false ;
-	}
-
-	return true;
-}
-
-?>
+<?php
+/*
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
+ * Copyright (C) 2003-2010 Frederico Caldeira Knabben
+ *
+ * == BEGIN LICENSE ==
+ *
+ * Licensed under the terms of any of the following licenses at your
+ * choice:
+ *
+ *  - GNU General Public License Version 2 or later (the "GPL")
+ *    http://www.gnu.org/licenses/gpl.html
+ *
+ *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
+ *    http://www.gnu.org/licenses/lgpl.html
+ *
+ *  - Mozilla Public License Version 1.1 or later (the "MPL")
+ *    http://www.mozilla.org/MPL/MPL-1.1.html
+ *
+ * == END LICENSE ==
+ *
+ * Utility functions for the File Manager Connector for PHP.
+ */
+
+function RemoveFromStart( $sourceString, $charToRemove )
+{
+	$sPattern = '|^' . $charToRemove . '+|' ;
+	return preg_replace( $sPattern, '', $sourceString );
+}
+
+function RemoveFromEnd( $sourceString, $charToRemove )
+{
+	$sPattern = '|' . $charToRemove . '+$|' ;
+	return preg_replace( $sPattern, '', $sourceString );
+}
+
+function FindBadUtf8( $string )
+{
+	$regex =
+	'([\x00-\x7F]'.
+	'|[\xC2-\xDF][\x80-\xBF]'.
+	'|\xE0[\xA0-\xBF][\x80-\xBF]'.
+	'|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}'.
+	'|\xED[\x80-\x9F][\x80-\xBF]'.
+	'|\xF0[\x90-\xBF][\x80-\xBF]{2}'.
+	'|[\xF1-\xF3][\x80-\xBF]{3}'.
+	'|\xF4[\x80-\x8F][\x80-\xBF]{2}'.
+	'|(.{1}))';
+
+	while (preg_match('/'.$regex.'/S', $string, $matches)) {
+		if ( isset($matches[2])) {
+			return true;
+		}
+		$string = substr($string, strlen($matches[0]));
+	}
+
+	return false;
+}
+
+function ConvertToXmlAttribute( $value )
+{
+	if ( defined( 'PHP_OS' ) )
+	{
+		$os = PHP_OS ;
+	}
+	else
+	{
+		$os = php_uname();
+	}
+
+	if ( strtoupper( substr( $os, 0, 3 ) ) === 'WIN' || FindBadUtf8( $value ) )
+	{
+		return ( utf8_encode( htmlspecialchars( $value ) ) );
+	}
+	else
+	{
+		return ( htmlspecialchars( $value ) );
+	}
+}
+
+/**
+ * Check whether given extension is in html etensions list
+ *
+ * @param string $ext
+ * @param array $formExtensions
+ * @return boolean
+ */
+function IsHtmlExtension( $ext, $formExtensions )
+{
+	if ( !$formExtensions || !is_array( $formExtensions ) )
+	{
+		return false ;
+	}
+	$lcaseHtmlExtensions = array();
+	foreach ( $formExtensions as $key => $val )
+	{
+		$lcaseHtmlExtensions[$key] = strtolower( $val );
+	}
+	return in_array( $ext, $lcaseHtmlExtensions );
+}
+
+/**
+ * Detect HTML in the first KB to prevent against potential security issue with
+ * IE/Safari/Opera file type auto detection bug.
+ * Returns true if file contain insecure HTML code at the beginning.
+ *
+ * @param string $filePath absolute path to file
+ * @return boolean
+ */
+function DetectHtml( $filePath )
+{
+	$fp = @fopen( $filePath, 'rb' );
+
+	//open_basedir restriction, see #1906
+	if ( $fp === false || !flock( $fp, LOCK_SH ) )
+	{
+		return -1 ;
+	}
+
+	$chunk = fread( $fp, 1024 );
+	flock( $fp, LOCK_UN );
+	fclose( $fp );
+
+	$chunk = strtolower( $chunk );
+
+	if (!$chunk)
+	{
+		return false ;
+	}
+
+	$chunk = trim( $chunk );
+
+	if ( preg_match( "/<!DOCTYPE\W*X?HTML/sim", $chunk ) )
+	{
+		return true;
+	}
+
+	$tags = array( '<body', '<head', '<html', '<img', '<pre', '<script', '<table', '<title' );
+
+	foreach( $tags as $tag )
+	{
+		if( false !== strpos( $chunk, $tag ) )
+		{
+			return true ;
+		}
+	}
+
+	//type = javascript
+	if ( preg_match( '!type\s*=\s*[\'"]?\s*(?:\w*/)?(?:ecma|java)!sim', $chunk ) )
+	{
+		return true ;
+	}
+
+	//href = javascript
+	//src = javascript
+	//data = javascript
+	if ( preg_match( '!(?:href|src|data)\s*=\s*[\'"]?\s*(?:ecma|java)script:!sim', $chunk ) )
+	{
+		return true ;
+	}
+
+	//url(javascript
+	if ( preg_match( '!url\s*\(\s*[\'"]?\s*(?:ecma|java)script:!sim', $chunk ) )
+	{
+		return true ;
+	}
+
+	return false ;
+}
+
+/**
+ * Check file content.
+ * Currently this function validates only image files.
+ * Returns false if file is invalid.
+ *
+ * @param string $filePath absolute path to file
+ * @param string $extension file extension
+ * @param integer $detectionLevel 0 = none, 1 = use getimagesize for images, 2 = use DetectHtml for images
+ * @return boolean
+ */
+function IsImageValid( $filePath, $extension )
+{
+	if (!@is_readable($filePath)) {
+		return -1;
+	}
+
+	$imageCheckExtensions = array('gif', 'jpeg', 'jpg', 'png', 'swf', 'psd', 'bmp', 'iff');
+
+	// version_compare is available since PHP4 >= 4.0.7
+	if ( function_exists( 'version_compare' ) ) {
+		$sCurrentVersion = phpversion();
+		if ( version_compare( $sCurrentVersion, "4.2.0" ) >= 0 ) {
+			$imageCheckExtensions[] = "tiff";
+			$imageCheckExtensions[] = "tif";
+		}
+		if ( version_compare( $sCurrentVersion, "4.3.0" ) >= 0 ) {
+			$imageCheckExtensions[] = "swc";
+		}
+		if ( version_compare( $sCurrentVersion, "4.3.2" ) >= 0 ) {
+			$imageCheckExtensions[] = "jpc";
+			$imageCheckExtensions[] = "jp2";
+			$imageCheckExtensions[] = "jpx";
+			$imageCheckExtensions[] = "jb2";
+			$imageCheckExtensions[] = "xbm";
+			$imageCheckExtensions[] = "wbmp";
+		}
+	}
+
+	if ( !in_array( $extension, $imageCheckExtensions ) ) {
+		return true;
+	}
+
+	if ( @getimagesize( $filePath ) === false ) {
+		return false ;
+	}
+
+	return true;
+}
+
+?>
diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php
index 88fb0549e901555de9e4533c271f8d17da043670..94bb4d1e6bfb30d3a35f0e5f56405550c9467b1c 100644
--- a/htdocs/core/lib/pdf.lib.php
+++ b/htdocs/core/lib/pdf.lib.php
@@ -667,8 +667,8 @@ function pdf_pagefoot(&$pdf,$outputlangs,$paramfreetext,$fromcompany,$marge_bass
  *	@param	PDF			&$pdf				Object PDF
  *	@param	object		$object				Object
  *	@param  Translate	$outputlangs		Object lang
- *	@param  int			$curx				X
- *	@param  int			$cury				Y
+ *	@param  int			$posx				X
+ *	@param  int			$posy				Y
  *	@param	int			$align				Align
  *	@param	string		$default_font_size	Font size
  *	@param	HookManager	$hookmanager		Hook manager object
diff --git a/htdocs/core/login/functions_myopenid.php b/htdocs/core/login/functions_myopenid.php
index 6cde7eb820f58caf4398805b80c8d5eaa24059a8..b6f0e5977392cf470e5204b50185ba01c2a3d390 100644
--- a/htdocs/core/login/functions_myopenid.php
+++ b/htdocs/core/login/functions_myopenid.php
@@ -242,7 +242,6 @@ class SimpleOpenID
     /**
      * GetIdentity
      *
-     * @param	string	$a		Server
      * @return	void
      */
     function GetIdentity()
@@ -253,7 +252,6 @@ class SimpleOpenID
     /**
      * SetOpenIDServer
      *
-     * @param	string	$a		Server
      * @return	void
      */
     function GetError()
@@ -265,7 +263,8 @@ class SimpleOpenID
     /**
      * ErrorStore
      *
-     * @param	string	$a		Server
+     * @param	string	$code		Code
+     * @param	string	$desc		Description
      * @return	void
      */
     function ErrorStore($code, $desc = null)
@@ -280,14 +279,16 @@ class SimpleOpenID
     /**
      * IsError
      *
-     * @param	string	$a		Server
      * @return	void
      */
     function IsError()
     {
-        if (count($this->error) > 0){
+        if (count($this->error) > 0)
+        {
             return true;
-        }else{
+        }
+        else
+        {
             return false;
         }
     }
@@ -295,7 +296,7 @@ class SimpleOpenID
     /**
      * splitResponse
      *
-     * @param	string	$a		Server
+     * @param	string	$response		Server
      * @return	void
      */
     function splitResponse($response)
@@ -315,7 +316,7 @@ class SimpleOpenID
     /**
      * OpenID_Standarize
      *
-     * @param	string	$a		Server
+     * @param	string	$openidçidentity		Server
      * @return	void
      */
     function OpenID_Standarize($openid_identity = null)
@@ -434,7 +435,6 @@ class SimpleOpenID
     /**
      * GetRedirectURL
      *
-     * @param	string	$a		Server
      * @return	void
      */
     function GetRedirectURL()
@@ -459,7 +459,6 @@ class SimpleOpenID
     /**
      * Redirect
      *
-     * @param	string	$a		Server
      * @return	void
      */
     function Redirect()
@@ -480,7 +479,6 @@ class SimpleOpenID
     /**
      * ValidateWithServer
      *
-     * @param	string	$a		Server
      * @return	void
      */
     function ValidateWithServer()
diff --git a/htdocs/core/menus/smartphone/smartphone.lib.php b/htdocs/core/menus/smartphone/smartphone.lib.php
index 5750f883c9d2f870c092db7a1e4bb9235d829c5d..6895867cbd8e79d7d2f9a6a6611c7a0a7dfddc14 100755
--- a/htdocs/core/menus/smartphone/smartphone.lib.php
+++ b/htdocs/core/menus/smartphone/smartphone.lib.php
@@ -26,10 +26,11 @@
 /**
  * Core function to output top menu smartphone
  *
- * @param $db
- * @param $atarget
- * @param $type_user     0=Internal,1=External,2=All
- * @param $limitmenuto	 To limit menu to a top or left menu value
+ * @param 	DoliDB		$db				Database handler
+ * @param 	string		$atarget		Target
+ * @param 	int			$type_user     	0=Internal,1=External,2=All
+ * @param 	string		$limitmenuto	To limit menu to a top or left menu value
+ * @return	void
  */
 function print_smartphone_menu($db,$atarget,$type_user,$limitmenuto)
 {
@@ -141,34 +142,66 @@ function print_smartphone_menu($db,$atarget,$type_user,$limitmenuto)
 	print "\n";
 }
 
+/**
+ * Output menu entry
+ *
+ * @param	string	$theme		Theme
+ * @return	void
+ */
 function print_start_menu_array($theme='c')
 {
 	print '<ul data-role="listview" data-theme="'.$theme.'">';
 	print "\n";
 }
 
+/**
+ * Output start submenu entry
+ *
+ * @return	void
+ */
 function print_start_submenu_array()
 {
 	print '<ul>';
 	print "\n";
 }
 
+/**
+ * Output start menu entry
+ *
+ * @return	void
+ */
 function print_start_menu_entry()
 {
 	print '<li>';
 }
 
+/**
+ * Output menu entry
+ *
+ * @param	string	$text		Text
+ * @return	void
+ */
 function print_text_menu_entry($text)
 {
 	print $text;
 }
 
+/**
+ * Output end menu entry
+ *
+ * @return	void
+ */
 function print_end_menu_entry()
 {
 	print '</li>';
 	print "\n";
 }
 
+/**
+ * Output end menu
+ *
+ * @return	void
+ */
 function print_end_menu()
 {
 	print '</ul>';
diff --git a/htdocs/core/menus/smartphone/smartphone_backoffice.php b/htdocs/core/menus/smartphone/smartphone_backoffice.php
index d1cb1feb89bdad0e76c648dfb869f7bc2f582bc8..f19ac45351a8450a51702b51c47a39aa26f05fbe 100755
--- a/htdocs/core/menus/smartphone/smartphone_backoffice.php
+++ b/htdocs/core/menus/smartphone/smartphone_backoffice.php
@@ -25,8 +25,8 @@
 /**
  *	Class to manage smartphone menu smartphone (for internal users)
  */
-class MenuSmart {
-
+class MenuSmart
+{
 	var $db;
 	var $require_left=array("smartphone_backoffice");     // Si doit etre en phase avec un gestionnaire de menu particulier
 	var $hideifnotallowed=0;						// Put 0 for back office menu, 1 for front office menu
@@ -46,7 +46,7 @@ class MenuSmart {
 
 	/**
 	 *    Show menu
-	 * 
+	 *
 	 *    @param	string	$limitmenuto		To limit menu to a top or left menu value
 	 * 	  @return	void
 	 */
diff --git a/htdocs/core/menus/smartphone/smartphone_frontoffice.php b/htdocs/core/menus/smartphone/smartphone_frontoffice.php
index 4be38b571c870dc9d8ac531a513f8053a4a2798e..0739e894db3effb11170e7b0cf537631f44c7cb4 100755
--- a/htdocs/core/menus/smartphone/smartphone_frontoffice.php
+++ b/htdocs/core/menus/smartphone/smartphone_frontoffice.php
@@ -23,10 +23,10 @@
 
 
 /**
- *      \class      MenuSmart
- *	    \brief      Class to manage smartphone menu smartphone (for external users)
+ *	Class to manage smartphone menu smartphone (for external users)
  */
-class MenuSmart {
+class MenuSmart
+{
 
 	var $require_left=array("smartphone_frontoffice");    // Si doit etre en phase avec un gestionnaire de menu particulier
 	var $hideifnotallowed=1;						// Put 0 for back office menu, 1 for front office menu
@@ -36,7 +36,7 @@ class MenuSmart {
 	/**
 	 *	Constructor
 	 *
-	 *  @param		DoliDB		$DB      Database handler
+	 *  @param		DoliDB		$db      Database handler
 	 */
 	function MenuSmart($db)
 	{
@@ -47,7 +47,7 @@ class MenuSmart {
 	/**
 	 *    Show menu
 	 *
-	 *    @param		limitmenuto		To limit menu to a top or left menu value
+	 *    @param	string		$limitmenuto		To limit menu to a top or left menu value
 	 */
 	function showmenu($limitmenuto)
 	{
diff --git a/htdocs/core/menus/standard/auguria.lib.php b/htdocs/core/menus/standard/auguria.lib.php
index 02eab5484c8e0d93fbc1eca87ddd7875c0fd40be..de947d7edc3bb54628195532d4a4369dfe226cc1 100644
--- a/htdocs/core/menus/standard/auguria.lib.php
+++ b/htdocs/core/menus/standard/auguria.lib.php
@@ -108,7 +108,11 @@ function print_auguria_menu($db,$atarget,$type_user)
 }
 
 
-
+/**
+ * Output start menu entry
+ *
+ * @return	void
+ */
 function print_start_menu_array_auguria()
 {
 	global $conf;
@@ -116,6 +120,12 @@ function print_start_menu_array_auguria()
 	else print '<ul class="tmenu">';
 }
 
+/**
+ * Output menu entry
+ *
+ * @param	string	$idsel		Text
+ * @return	void
+ */
 function print_start_menu_entry_auguria($idsel)
 {
 	global $conf;
@@ -123,6 +133,12 @@ function print_start_menu_entry_auguria($idsel)
 	else print '<li class="tmenu" id="mainmenutd_'.$idsel.'">';
 }
 
+/**
+ * Output menu entry
+ *
+ * @param	string	$text		Text
+ * @return	void
+ */
 function print_text_menu_entry_auguria($text)
 {
 	global $conf;
@@ -131,6 +147,11 @@ function print_text_menu_entry_auguria($text)
 	print '</span>';
 }
 
+/**
+ * Output end menu entry
+ *
+ * @return	void
+ */
 function print_end_menu_entry_auguria()
 {
 	global $conf;
@@ -139,6 +160,11 @@ function print_end_menu_entry_auguria()
 	print "\n";
 }
 
+/**
+ * Output menu array
+ *
+ * @return	void
+ */
 function print_end_menu_array_auguria()
 {
 	global $conf;
diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php
index d2d4976f07d69ff7561b26c0912e44a72658d036..da878ae9275eddfd20e711ee8215331874e643e9 100644
--- a/htdocs/core/menus/standard/eldy.lib.php
+++ b/htdocs/core/menus/standard/eldy.lib.php
@@ -511,6 +511,12 @@ function print_start_menu_array()
 	else print '<ul class="tmenu">';
 }
 
+/**
+ * Output start menu entry
+ *
+ * @param	string	$idsel		Text
+ * @return	void
+ */
 function print_start_menu_entry($idsel)
 {
 	global $conf;
@@ -518,6 +524,12 @@ function print_start_menu_entry($idsel)
 	else print '<li class="tmenu" id="mainmenutd_'.$idsel.'">';
 }
 
+/**
+ * Output menu entry
+ *
+ * @param	string	$text		Text
+ * @return	void
+ */
 function print_text_menu_entry($text)
 {
 	global $conf;
@@ -526,6 +538,11 @@ function print_text_menu_entry($text)
 	print '</span>';
 }
 
+/**
+ * Output end menu entry
+ *
+ * @return	void
+ */
 function print_end_menu_entry()
 {
 	global $conf;
@@ -534,6 +551,11 @@ function print_end_menu_entry()
 	print "\n";
 }
 
+/**
+ * Output menu array
+ *
+ * @return	void
+ */
 function print_end_menu_array()
 {
 	global $conf;
diff --git a/htdocs/core/menus/standard/empty.php b/htdocs/core/menus/standard/empty.php
index 13e19711615e47a86c8faac129530450200073df..957b3fe4a5293dc9f93f51a57988664eb7d3d373 100644
--- a/htdocs/core/menus/standard/empty.php
+++ b/htdocs/core/menus/standard/empty.php
@@ -71,7 +71,11 @@ class MenuTop
 
 }
 
-
+/**
+ * Output menu entry
+ *
+ * @return	void
+ */
 function print_start_menu_array_empty()
 {
 	global $conf;
@@ -79,6 +83,12 @@ function print_start_menu_array_empty()
 	else print '<ul class="tmenu">';
 }
 
+/**
+ * Output start menu entry
+ *
+ * @param	string	$idsel		Text
+ * @return	void
+ */
 function print_start_menu_entry_empty($idsel)
 {
 	global $conf;
@@ -86,6 +96,12 @@ function print_start_menu_entry_empty($idsel)
 	else print '<li class="tmenu" id="mainmenutd_'.$idsel.'">';
 }
 
+/**
+ * Output menu entry
+ *
+ * @param	string	$text		Text
+ * @return	void
+ */
 function print_text_menu_entry_empty($text)
 {
 	global $conf;
@@ -94,6 +110,11 @@ function print_text_menu_entry_empty($text)
 	print '</span>';
 }
 
+/**
+ * Output end menu entry
+ *
+ * @return	void
+ */
 function print_end_menu_entry_empty()
 {
 	global $conf;
@@ -102,6 +123,11 @@ function print_end_menu_entry_empty()
 	print "\n";
 }
 
+/**
+ * Output menu array
+ *
+ * @return	void
+ */
 function print_end_menu_array_empty()
 {
 	global $conf;
diff --git a/htdocs/core/modules/expedition/doc/pdf_expedition_merou.modules.php b/htdocs/core/modules/expedition/doc/pdf_expedition_merou.modules.php
index fc30dbc712a56ae08a31da0898f284820fcbc57d..a76aea8c5b853bc4c3c9a7dd8f4b046bb13242d4 100644
--- a/htdocs/core/modules/expedition/doc/pdf_expedition_merou.modules.php
+++ b/htdocs/core/modules/expedition/doc/pdf_expedition_merou.modules.php
@@ -74,9 +74,9 @@ Class pdf_expedition_merou extends ModelePdfExpedition
 	/**
 	 *	Fonction generant le document sur le disque
 	 *
-	 *	@param	    object			Objet expedition a generer (ou id si ancienne methode)
-	 *	@param		outputlangs		Lang output object
-	 * 	@return	    int     		1=ok, 0=ko
+	 *	@param	Object		&$object			Objet expedition a generer (ou id si ancienne methode)
+	 *	@param	Translate	$outputlangs	Lang output object
+	 * 	@return	int     					1=ok, 0=ko
 	 */
 	function write_file(&$object, $outputlangs)
 	{
diff --git a/htdocs/core/modules/expedition/doc/pdf_expedition_rouget.modules.php b/htdocs/core/modules/expedition/doc/pdf_expedition_rouget.modules.php
index 5cb4252fda19a867965bb63e92068ad7b9fec743..6b1a62e8f3aa7536784b6bdaa422ffb972b71fd6 100644
--- a/htdocs/core/modules/expedition/doc/pdf_expedition_rouget.modules.php
+++ b/htdocs/core/modules/expedition/doc/pdf_expedition_rouget.modules.php
@@ -76,7 +76,7 @@ Class pdf_expedition_rouget extends ModelePdfExpedition
 	/**
 	 *	Fonction generant le document sur le disque
 	 *
-	 *	@param	Object		$object			Objet expedition a generer (ou id si ancienne methode)
+	 *	@param	Object		&$object			Objet expedition a generer (ou id si ancienne methode)
 	 *	@param	Translate	$outputlangs	Lang output object
 	 * 	@return	int     					1=ok, 0=ko
 	 */
diff --git a/htdocs/core/modules/expedition/mod_expedition_ribera.php b/htdocs/core/modules/expedition/mod_expedition_ribera.php
index bf78250774eb12a96f22d80b7f3be098c9164a78..03820ea7e0b51b90ef557bd52c09cdbe830fa340 100755
--- a/htdocs/core/modules/expedition/mod_expedition_ribera.php
+++ b/htdocs/core/modules/expedition/mod_expedition_ribera.php
@@ -120,7 +120,7 @@ class mod_expedition_ribera extends ModelNumRefExpedition
 	 *  Return next free value
 	 *
 	 *	@param	Societe		$objsoc     Third party object
-	 *	@param	Object		$shipment	Shipment object
+	 *	@param	Object		$objforref	Shipment object
 	 *	@return string      			Next free value
 	 */
     function expedition_get_num($objsoc,$objforref)
diff --git a/htdocs/core/modules/expedition/mod_expedition_safor.php b/htdocs/core/modules/expedition/mod_expedition_safor.php
index 0b37886267b799d8798016424170c4ff153700d4..648aef5ca83832a798b75d0e04ede2b915596ef9 100755
--- a/htdocs/core/modules/expedition/mod_expedition_safor.php
+++ b/htdocs/core/modules/expedition/mod_expedition_safor.php
@@ -132,7 +132,7 @@ class mod_expedition_safor extends ModelNumRefExpedition
 	 *  Return next free value
 	 *
 	 *	@param	Societe		$objsoc     Third party object
-	 *	@param	Object		$shipment	Shipment object
+	 *	@param	Object		$objforref	Shipment object
 	 *	@return string      			Next free value
 	 */
 	function expedition_get_num($objsoc,$objforref)
diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php
index f26ed1e708a375ea7b3f1c09b4a78a1bcfc7a825..3c14c48405793790e9e4856a9cfba50e290491ae 100755
--- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php
+++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php
@@ -513,7 +513,7 @@ class pdf_crabe extends ModelePDFFactures
 				$pdf->SetXY($tab3_posx+58, $tab3_top+$y);
 				$pdf->MultiCell(20, 3, $invoice->ref, 0, 'L', 0);
 
-				$pdf->line($tab3_posx, $tab3_top+$y+3, $tab3_posx+$tab3_width, $tab3_top+$y+3 );
+				$pdf->line($tab3_posx, $tab3_top+$y+3, $tab3_posx+$tab3_width, $tab3_top+$y+3);
 
 				$i++;
 			}
@@ -552,7 +552,7 @@ class pdf_crabe extends ModelePDFFactures
 				$pdf->SetXY($tab3_posx+58, $tab3_top+$y);
 				$pdf->MultiCell(30, 3, $row->num, 0, 'L', 0);
 
-				$pdf->line($tab3_posx, $tab3_top+$y+3, $tab3_posx+$tab3_width, $tab3_top+$y+3 );
+				$pdf->line($tab3_posx, $tab3_top+$y+3, $tab3_posx+$tab3_width, $tab3_top+$y+3);
 
 				$i++;
 			}
diff --git a/htdocs/core/modules/facture/doc/pdf_oursin.modules.php b/htdocs/core/modules/facture/doc/pdf_oursin.modules.php
index 813c51e036880faeeeb83d25b2cfabf5a05aa1de..ee1e51d3c8671c7c61a91125fd245abba9523155 100755
--- a/htdocs/core/modules/facture/doc/pdf_oursin.modules.php
+++ b/htdocs/core/modules/facture/doc/pdf_oursin.modules.php
@@ -209,7 +209,7 @@ class pdf_oursin extends ModelePDFFactures
 
 				$pdf->SetFillColor(220,220,220);
 				$pdf->SetFont('','', $default_font_size - 1);
-				$pdf->SetXY($this->marges['g'], $tab_top + $this->marges['g'] );
+				$pdf->SetXY($this->marges['g'], $tab_top + $this->marges['g']);
 
 				$iniY = $pdf->GetY();
 				$curY = $pdf->GetY();
@@ -356,13 +356,13 @@ class pdf_oursin extends ModelePDFFactures
 		$pdf->Rect($tab3_posx, $tab3_top-1, $tab3_width, $tab3_height);
 
 		$pdf->SetFont('','', $default_font_size - 4);
-		$pdf->SetXY($tab3_posx, $tab3_top-1 );
+		$pdf->SetXY($tab3_posx, $tab3_top-1);
 		$pdf->MultiCell(20, 4, $outputlangs->transnoentities("Payment"), 0, 'L', 0);
-		$pdf->SetXY($tab3_posx+21, $tab3_top-1 );
+		$pdf->SetXY($tab3_posx+21, $tab3_top-1);
 		$pdf->MultiCell(20, 4, $outputlangs->transnoentities("Amount"), 0, 'L', 0);
-		$pdf->SetXY($tab3_posx+40, $tab3_top-1 );
+		$pdf->SetXY($tab3_posx+40, $tab3_top-1);
 		$pdf->MultiCell(20, 4, $outputlangs->transnoentities("Type"), 0, 'L', 0);
-		$pdf->SetXY($tab3_posx+58, $tab3_top-1 );
+		$pdf->SetXY($tab3_posx+58, $tab3_top-1);
 		$pdf->MultiCell(20, 4, $outputlangs->transnoentities("Num"), 0, 'L', 0);
 
 		$y=0;
@@ -746,6 +746,7 @@ class pdf_oursin extends ModelePDFFactures
 	 *   @param		string		$tab_top		Top position of table
 	 *   @param		string		$tab_height		Height of table (rectangle)
 	 *   @param		int			$nexY			Y
+	 *   @param		Object		$object			Object
 	 *   @param		Translate	$outputlangs	Langs object
 	 *   @return	void
 	 */
diff --git a/htdocs/core/modules/facture/mod_facture_mercure.php b/htdocs/core/modules/facture/mod_facture_mercure.php
index 673c8e7db7cbb736039126766d33733500012d46..5230c987690b916925b7c97adf9cf5ee9a6bcc4c 100644
--- a/htdocs/core/modules/facture/mod_facture_mercure.php
+++ b/htdocs/core/modules/facture/mod_facture_mercure.php
@@ -110,10 +110,10 @@ class mod_facture_mercure extends ModeleNumRefFactures
     /**
      * Return next value
      *
-     * @param      objsoc      Object third party
-     * @param      facture		Object invoice
-     * @param      mode        'next' for next value or 'last' for last value
-     * @return     string      Value if OK, 0 if KO
+     * @param	Societe		$objsoc     Object third party
+     * @param   Facture		$facture	Object invoice
+     * @param   string		$mode       'next' for next value or 'last' for last value
+     * @return  string      			Value if OK, 0 if KO
      */
     function getNextValue($objsoc,$facture,$mode='next')
     {
diff --git a/htdocs/core/modules/facture/mod_facture_terre.php b/htdocs/core/modules/facture/mod_facture_terre.php
index e0ee2d98eb9df35905eebb681fc0bb871e2d859d..99eb3a3e40f42b0ea8d098f9b1beb2c5baab2a9c 100644
--- a/htdocs/core/modules/facture/mod_facture_terre.php
+++ b/htdocs/core/modules/facture/mod_facture_terre.php
@@ -114,12 +114,13 @@ class mod_facture_terre extends ModeleNumRefFactures
 		return true;
 	}
 
-	/**     Return next value not used or last value used
+	/**
+	 * Return next value not used or last value used
 	 *
-	 *      @param     objsoc		Object third party
-	 *      @param     facture		Object invoice
-     *      @param     mode         'next' for next value or 'last' for last value
-	 *      @return    string       Value
+	 * @param	Societe		$objsoc		Object third party
+	 * @param   Facture		$facture	Object invoice
+     * @param   string		$mode       'next' for next value or 'last' for last value
+	 * @return  string       			Value
 	 */
 	function getNextValue($objsoc,$facture,$mode='next')
 	{
diff --git a/htdocs/core/modules/facture/modules_facture.php b/htdocs/core/modules/facture/modules_facture.php
index e98cb3840d6f5c951535b20b8d5266fa0401d05d..c8b2b8a12e90ff363c9c4a5b40cb094aa0d1f8e4 100644
--- a/htdocs/core/modules/facture/modules_facture.php
+++ b/htdocs/core/modules/facture/modules_facture.php
@@ -116,9 +116,9 @@ abstract class ModeleNumRefFactures
 	/**
 	 * Renvoi prochaine valeur attribuee
 	 *
-	 * @param     objsoc		Objet societe
-	 * @param     facture		Objet facture
-	 * @return    string      Valeur
+	 * @param	Societe		$objsoc		Objet societe
+	 * @param   Facture		$facture	Objet facture
+	 * @return  string      			Value
 	 */
 	function getNextValue($objsoc,$facture)
 	{
diff --git a/htdocs/core/modules/livraison/mod_livraison_saphir.php b/htdocs/core/modules/livraison/mod_livraison_saphir.php
index 40fe0660def165dc75153049a960c7f465fcb032..357f814ceaa29e3aeae77b34343b68d558f5bcd5 100644
--- a/htdocs/core/modules/livraison/mod_livraison_saphir.php
+++ b/htdocs/core/modules/livraison/mod_livraison_saphir.php
@@ -143,7 +143,7 @@ class mod_livraison_saphir extends ModeleNumRefDeliveryOrder
 	 *  Return next free ref
 	 *
      *  @param	Societe		$objsoc      	Object thirdparty
-     *  @param  Object		$livraison		Objet livraison
+     *  @param  Object		$object			Objet livraison
      *  @return string      				Texte descripif
      */
     function livraison_get_num($objsoc=0,$object='')
diff --git a/htdocs/core/modules/societe/mod_codeclient_elephant.php b/htdocs/core/modules/societe/mod_codeclient_elephant.php
index 218b62af140d208590e218eb9ce57fba403c6f6a..a221a256e696182e27694e90f5ee063ad9e7b1ea 100644
--- a/htdocs/core/modules/societe/mod_codeclient_elephant.php
+++ b/htdocs/core/modules/societe/mod_codeclient_elephant.php
@@ -152,11 +152,12 @@ class mod_codeclient_elephant extends ModeleThirdPartyCode
 		return $examplecust.'<br>'.$examplesup;
 	}
 
-	/**		Return next value
+	/**
+	 * Return next value
 	 *
-	 *     	@param      objsoc      Object third party
-	 *	    @param      $type       Client ou fournisseur (0:customer, 1:supplier)
-	 *     	@return     string      Value if OK, '' if module not configured, <0 if KO
+	 * @param	Societe		$objsoc     Object third party
+	 * @param  	int		    $type       Client ou fournisseur (0:customer, 1:supplier)
+	 * @return 	string      			Value if OK, '' if module not configured, <0 if KO
 	 */
 	function getNextValue($objsoc=0,$type=-1)
 	{
diff --git a/htdocs/core/modules/societe/mod_codeclient_monkey.php b/htdocs/core/modules/societe/mod_codeclient_monkey.php
index 34153caafb5c7cb9ed93f76f72d943c0f74fbc08..8c0024e4632136d1462dafa396802f5c117ed9d1 100644
--- a/htdocs/core/modules/societe/mod_codeclient_monkey.php
+++ b/htdocs/core/modules/societe/mod_codeclient_monkey.php
@@ -247,7 +247,7 @@ class mod_codeclient_monkey extends ModeleThirdPartyCode
 	 *	Renvoi si un code respecte la syntaxe
 	 *
 	 *	@param	string		$code		Code a verifier
-*	 *	@return	int						0 si OK, <0 si KO
+	 *	@return	int						0 si OK, <0 si KO
 	 */
 	function verif_syntax($code)
 	{
diff --git a/htdocs/core/modules/societe/mod_codecompta_aquarium.php b/htdocs/core/modules/societe/mod_codecompta_aquarium.php
index d153c9690e339127e09b2e70dd6ebea4d88bc8c0..7f8f14d57037a92d55ef2b187715830569cafaa7 100644
--- a/htdocs/core/modules/societe/mod_codecompta_aquarium.php
+++ b/htdocs/core/modules/societe/mod_codecompta_aquarium.php
@@ -100,10 +100,10 @@ class mod_codecompta_aquarium extends ModeleAccountancyCode
 	/**
 	 *  Set accountancy account code for a third party into this->code
 	 *
-	 *  @param      db              Database handler
-	 *  @param      societe         Third party object
-	 *  @param      type			'customer' or 'supplier'
-	 *  @return		int				>=0 if OK, <0 if KO
+	 *  @param	DoliDB		$db             Database handler
+	 *  @param  Societe		$societe        Third party object
+	 *  @param  string		$type			'customer' or 'supplier'
+	 *  @return	int							>=0 if OK, <0 if KO
 	 */
 	function get_code($db, $societe, $type)
 	{
@@ -138,11 +138,11 @@ class mod_codecompta_aquarium extends ModeleAccountancyCode
 	/**
 	 *  Return if a code is available
 	 *
-	 *	@param		db			Database handler
-	 * 	@param		code		Code of third party
-	 * 	@param		societe		Object third party
-	 * 	@param		type		'supplier' or 'customer'
-	 *	@return		int			0 if OK but not available, >0 if OK and available, <0 if KO
+	 *	@param	DoliDB		$db			Database handler
+	 * 	@param	string		$code		Code of third party
+	 * 	@param	Societe		$societe	Object third party
+	 * 	@param	string		$type		'supplier' or 'customer'
+	 *	@return	int						0 if OK but not available, >0 if OK and available, <0 if KO
 	 */
 	function verif($db, $code, $societe, $type)
 	{
diff --git a/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php b/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php
index 02af7cba055f2d14acb55b012ea637ae2178c7cb..7efbeb98f9f042b3d7e72df4df4c6584c0caaa2f 100755
--- a/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php
+++ b/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php
@@ -115,9 +115,10 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
 
 	/**
      *      Write the invoice as a document onto disk
-     *      @param      object          Object invoice to build (or id if old method)
-     *      @param      outputlangs     Lang object for output language
-     *      @return     int             1=OK, 0=KO
+     *
+     *      @param	Object		$object         Object invoice to build (or id if old method)
+     *      @param  Translate	$outputlangs    Lang object for output language
+     *      @return int             			1=OK, 0=KO
 	 */
 	function write_file($object,$outputlangs='')
 	{
@@ -712,13 +713,13 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
 		$pdf->line($tab3_posx, $tab3_top-1+$tab3_height, $tab3_posx+$tab3_width, $tab3_top-1+$tab3_height);
 
 		$pdf->SetFont('','', $default_font_size - 4);
-		$pdf->SetXY($tab3_posx, $tab3_top );
+		$pdf->SetXY($tab3_posx, $tab3_top);
 		$pdf->MultiCell(20, 3, $outputlangs->transnoentities("Payment"), 0, 'L', 0);
-		$pdf->SetXY($tab3_posx+21, $tab3_top );
+		$pdf->SetXY($tab3_posx+21, $tab3_top);
 		$pdf->MultiCell(20, 3, $outputlangs->transnoentities("Amount"), 0, 'L', 0);
-		$pdf->SetXY($tab3_posx+40, $tab3_top );
+		$pdf->SetXY($tab3_posx+40, $tab3_top);
 		$pdf->MultiCell(20, 3, $outputlangs->transnoentities("Type"), 0, 'L', 0);
-		$pdf->SetXY($tab3_posx+58, $tab3_top );
+		$pdf->SetXY($tab3_posx+58, $tab3_top);
 		$pdf->MultiCell(20, 3, $outputlangs->transnoentities("Num"), 0, 'L', 0);
 
 		$y=0;
@@ -752,7 +753,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices
 				$pdf->SetXY($tab3_posx+58, $tab3_top+$y);
 				$pdf->MultiCell(30, 3, $row->num, 0, 'L', 0);
 
-				$pdf->line($tab3_posx, $tab3_top+$y+3, $tab3_posx+$tab3_width, $tab3_top+$y+3 );
+				$pdf->line($tab3_posx, $tab3_top+$y+3, $tab3_posx+$tab3_width, $tab3_top+$y+3);
 
 				$i++;
 			}
diff --git a/htdocs/core/triggers/interface_20_all_Logevents.class.php b/htdocs/core/triggers/interface_20_all_Logevents.class.php
index cffce2e33290cbc2f179c9e68749ec025594e297..a41ea6f0f66fc85b4ee32ef3af1e0429e022468c 100755
--- a/htdocs/core/triggers/interface_20_all_Logevents.class.php
+++ b/htdocs/core/triggers/interface_20_all_Logevents.class.php
@@ -93,13 +93,13 @@ class InterfaceLogevents
      *      Function called when a Dolibarrr business event is done.
      *      All functions "run_trigger" are triggered if file is inside directory htdocs/core/triggers
      *
-     *      @param      action      Code de l'evenement
-     *      @param      object      Objet concerne
-     *      @param      user        Objet user
-     *      @param      langs       Objet langs
-     *      @param      conf        Objet conf
-     *      @param      entity      Value for instance of data (Always 1 except if module MultiCompany is installed)
-     *      @return     int         <0 if KO, 0 if no triggered ran, >0 if OK
+     *      @param	string		$action		Event action code
+     *      @param  Object		$object     Object
+     *      @param  User		$user       Object user
+     *      @param  Translate	$langs      Object langs
+     *      @param  conf		$conf       Object conf
+     *      @param  string		$entity     Value for instance of data (Always 1 except if module MultiCompany is installed)
+     *      @return int         			<0 if KO, 0 if no triggered ran, >0 if OK
      */
     function run_trigger($action,$object,$user,$langs,$conf,$entity=1)
     {
diff --git a/htdocs/core/triggers/interface_20_modPaypal_PaypalWorkflow.class.php b/htdocs/core/triggers/interface_20_modPaypal_PaypalWorkflow.class.php
index 5aac808f5499dd4904f774aecd97c3b93290ef91..2d7b9ef6ee0e45e4675ae4260f5c387e32c718a3 100755
--- a/htdocs/core/triggers/interface_20_modPaypal_PaypalWorkflow.class.php
+++ b/htdocs/core/triggers/interface_20_modPaypal_PaypalWorkflow.class.php
@@ -88,12 +88,12 @@ class InterfacePaypalWorkflow
      *  Fonction appelee lors du declenchement d'un evenement Dolibarr.
      *  D'autres fonctions run_trigger peuvent etre presentes dans core/triggers
      *
-     *  @param	string			$action     Code de l'evenement
-     *  @param  CommonObject	$object     Objet concerne
-     *  @param  User			$user       Objet user
-     *  @param  Translate		$langs      Objet lang
-     *  @param  Conf			$conf       Objet conf
-     *  @return int         				<0 if fatal error, 0 si nothing done, >0 if ok
+     *      @param	string		$action		Event action code
+     *      @param  Object		$object     Object
+     *      @param  User		$user       Object user
+     *      @param  Translate	$langs      Object langs
+     *      @param  conf		$conf       Object conf
+     *      @return int         			<0 if KO, 0 if no triggered ran, >0 if OK
      */
 	function run_trigger($action,$object,$user,$langs,$conf)
     {
diff --git a/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php b/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php
index 4fbaacfca67b71133ea959ad2cab2e1301c259df..cac904871794f149176f1dc21f20627f90e6fbd1 100755
--- a/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php
+++ b/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php
@@ -90,12 +90,13 @@ class InterfaceWorkflowManager
      *      Function called when a Dolibarrr business event is done.
      *      All functions "run_trigger" are triggered if file is inside directory htdocs/core/triggers
      *
-     *      @param      action      Event code (COMPANY_CREATE, PROPAL_VALIDATE, ...)
-     *      @param      object      Object action is done on
-     *      @param      user        Object user
-     *      @param      langs       Object langs
-     *      @param      conf        Object conf
-     *      @return     int         <0 if KO, 0 if no action are done, >0 if OK
+     *      @param	string		$action		Event action code
+     *      @param  Object		$object     Object
+     *      @param  User		$user       Object user
+     *      @param  Translate	$langs      Object langs
+     *      @param  conf		$conf       Object conf
+     *      @param  string		$entity     Value for instance of data (Always 1 except if module MultiCompany is installed)
+     *      @return int         			<0 if KO, 0 if no triggered ran, >0 if OK
      */
 	function run_trigger($action,$object,$user,$langs,$conf)
     {
diff --git a/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php b/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php
index f303d8514f19d02f831066718e37c03e2a5e8daf..435b8afa554e8b218b4873ca3242bcd53a78e541 100755
--- a/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php
+++ b/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php
@@ -104,12 +104,12 @@ class InterfaceActionsAuto
      *      $object->fk_element
      *      $object->elementtype
      *
-     *      @param      action      Event code (COMPANY_CREATE, PROPAL_VALIDATE, ...)
-     *      @param      object      Object action is done on
-     *      @param      user        Object user
-     *      @param      langs       Object langs
-     *      @param      conf        Object conf
-     *      @return     int         <0 if KO, 0 if no action are done, >0 if OK
+     *      @param	string		$action		Event action code
+     *      @param  Object		$object     Object
+     *      @param  User		$user       Object user
+     *      @param  Translate	$langs      Object langs
+     *      @param  conf		$conf       Object conf
+     *      @return int         			<0 if KO, 0 if no triggered ran, >0 if OK
      */
     function run_trigger($action,$object,$user,$langs,$conf)
     {
diff --git a/htdocs/core/triggers/interface_50_modLdap_Ldapsynchro.class.php b/htdocs/core/triggers/interface_50_modLdap_Ldapsynchro.class.php
index dd1d1d316f08e154065ff905bca1c5325816d695..346ade67d03e86fce611b79f1859987304f9e49f 100755
--- a/htdocs/core/triggers/interface_50_modLdap_Ldapsynchro.class.php
+++ b/htdocs/core/triggers/interface_50_modLdap_Ldapsynchro.class.php
@@ -89,12 +89,12 @@ class InterfaceLdapsynchro
      *      Function called when a Dolibarrr business event is done.
      *      All functions "run_trigger" are triggered if file is inside directory htdocs/core/triggers
      *
-     *      @param      action      Event code (COMPANY_CREATE, PROPAL_VALIDATE, ...)
-     *      @param      object      Object action is done on
-     *      @param      user        Object user
-     *      @param      langs       Object langs
-     *      @param      conf        Object conf
-     *      @return     int         <0 if KO, 0 if no action are done, >0 if OK
+     *      @param	string		$action		Event action code
+     *      @param  Object		$object     Object
+     *      @param  User		$user       Object user
+     *      @param  Translate	$langs      Object langs
+     *      @param  conf		$conf       Object conf
+     *      @return int         			<0 if KO, 0 if no triggered ran, >0 if OK
      */
 	function run_trigger($action,$object,$user,$langs,$conf)
     {
diff --git a/htdocs/core/triggers/interface_50_modNotification_Notification.class.php b/htdocs/core/triggers/interface_50_modNotification_Notification.class.php
index eeb1b5c34dbe08e0bd11177b3703d82df76e5726..50d7bafa81204274e50d2b8a10b4a55f62a37b98 100755
--- a/htdocs/core/triggers/interface_50_modNotification_Notification.class.php
+++ b/htdocs/core/triggers/interface_50_modNotification_Notification.class.php
@@ -89,12 +89,12 @@ class InterfaceNotification
      *      Function called when a Dolibarrr business event is done.
      *      All functions "run_trigger" are triggered if file is inside directory htdocs/core/triggers
      *
-     *      @param      action      Event code (COMPANY_CREATE, PROPAL_VALIDATE, ...)
-     *      @param      object      Object action is done on
-     *      @param      user        Object user
-     *      @param      langs       Object langs
-     *      @param      conf        Object conf
-     *      @return     int         <0 if KO, 0 if no action are done, >0 if OK
+     *      @param	string		$action		Event action code
+     *      @param  Object		$object     Object
+     *      @param  User		$user       Object user
+     *      @param  Translate	$langs      Object langs
+     *      @param  conf		$conf       Object conf
+     *      @return int         			<0 if KO, 0 if no triggered ran, >0 if OK
      */
 	function run_trigger($action,$object,$user,$langs,$conf)
     {
diff --git a/htdocs/core/triggers/interface_90_all_Demo.class.php-NORUN b/htdocs/core/triggers/interface_90_all_Demo.class.php-NORUN
index 7d28d98760f84e93ff077abbedcab54391c1ea9f..15ee6544a940d8ed504dfd1df616a53acfc812ec 100755
--- a/htdocs/core/triggers/interface_90_all_Demo.class.php-NORUN
+++ b/htdocs/core/triggers/interface_90_all_Demo.class.php-NORUN
@@ -92,12 +92,13 @@ class InterfaceDemo
     /**
      *      Function called when a Dolibarrr business event is done.
      *      All functions "run_trigger" are triggered if file is inside directory htdocs/core/triggers
-     *      @param      action      Code de l'evenement
-     *      @param      object      Objet concerne
-     *      @param      user        Objet user
-     *      @param      langs       Objet langs
-     *      @param      conf        Objet conf
-     *      @return     int         <0 if KO, 0 if no triggered ran, >0 if OK
+     *
+     *      @param	string		$action		Event action code
+     *      @param  Object		$object     Object
+     *      @param  User		$user       Object user
+     *      @param  Translate	$langs      Object langs
+     *      @param  conf		$conf       Object conf
+     *      @return int         			<0 if KO, 0 if no triggered ran, >0 if OK
      */
 	function run_trigger($action,$object,$user,$langs,$conf)
     {
diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php
index c7c271c2a13d9a05ac0b2118d2dee8a10cb53266..bb4d872f75b7d42ff268b754064b45ceb9f771b1 100644
--- a/htdocs/install/upgrade2.php
+++ b/htdocs/install/upgrade2.php
@@ -806,6 +806,7 @@ function migrate_contracts_det($db,$langs,$conf)
 }
 
 /**
+ * Function to migrate links into llx_bank_url
  *
  * @param	DoliDB		$db		Database handler
  * @param	Translate	$langs	Object langs
@@ -2687,9 +2688,14 @@ function migrate_project_task_actors($db,$langs,$conf)
 /**
  * Migration des tables de relation
  *
- * @param	DoliDB		$db		Database handler
- * @param	Translate	$langs	Object langs
- * @param	Conf		$conf	Object conf
+ * @param	DoliDB		$db				Database handler
+ * @param	Translate	$langs			Object langs
+ * @param	Conf		$conf			Object conf
+ * @param	string		$table			Table name
+ * @param	int			$fk_source		Id of element source
+ * @param	type		$sourcetype		Type of element source
+ * @param	int			$fk_target		Id of element target
+ * @param	type		$targettype		Type of element target
  * @return	void
  */
 function migrate_relationship_tables($db,$langs,$conf,$table,$fk_source,$sourcetype,$fk_target,$targettype)
diff --git a/htdocs/paypal/lib/paypal.lib.php b/htdocs/paypal/lib/paypal.lib.php
index d5026c0028c50e34fba374e205290336764b3964..2f3e8e3b91af1ce3e879f6845b00230905254591 100755
--- a/htdocs/paypal/lib/paypal.lib.php
+++ b/htdocs/paypal/lib/paypal.lib.php
@@ -55,18 +55,18 @@ function llxHeaderPaypal($title, $head = "")
 		print '.CTableRow2      { margin: 1px; padding: 3px; font: 12px verdana,arial; background: #FFFFFF; color: #000000; -moz-border-radius-topleft:6px; -moz-border-radius-topright:6px; -moz-border-radius-bottomleft:6px; -moz-border-radius-bottomright:6px;}';
 		print '</style>';
 	}
-	
+
 	if ($conf->use_javascript_ajax)
 	{
 		print '<!-- Includes for JQuery (Ajax library) -->'."\n";
 		print '<link rel="stylesheet" type="text/css" href="'.DOL_URL_ROOT.'/includes/jquery/plugins/jnotify/jquery.jnotify-alt.min.css" />'."\n";          // JNotify
-		
+
 		// Output standard javascript links
 		$ext='.js';
 		if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x01)) {
 			$ext='.jgz';
 		}	// mini='_mini', ext='.gz'
-	
+
 		// JQuery. Must be before other includes
 		print '<!-- Includes JS for JQuery -->'."\n";
 		print '<script type="text/javascript" src="'.DOL_URL_ROOT.'/includes/jquery/js/jquery-latest.min'.$ext.'"></script>'."\n";
@@ -764,7 +764,9 @@ function deformatNVP($nvpstr)
 }
 
 /**
- * 	Get API errors
+ * 	Get API errors
+ *
+ * 	@return	array		Array of errors
  */
 function getApiError()
 {
diff --git a/htdocs/support/inc.php b/htdocs/support/inc.php
index a8a6a0c1ffb52645eb84d57d4bf5cb31f97c5bbd..b0bb626b84901a526d3a2ec03719c4a971589ce0 100644
--- a/htdocs/support/inc.php
+++ b/htdocs/support/inc.php
@@ -50,27 +50,6 @@ if (isset($_SERVER["DOCUMENT_URI"]) && $_SERVER["DOCUMENT_URI"])
 }
 
 
-// Define syslog constants
-if (! defined('LOG_DEBUG'))
-{
-    if (function_exists("define_syslog_variables"))
-    {
-    	define_syslog_variables(); // Deprecated since php 5.3.0, syslog variables no longer need to be initialized
-    }
-    else
-    {
-    	// Pour PHP sans syslog (comme sous Windows)
-    	define('LOG_EMERG',0);
-    	define('LOG_ALERT',1);
-    	define('LOG_CRIT',2);
-    	define('LOG_ERR',3);
-    	define('LOG_WARNING',4);
-    	define('LOG_NOTICE',5);
-    	define('LOG_INFO',6);
-    	define('LOG_DEBUG',7);
-    }
-}
-
 $includeconferror='';
 
 // Define vars
@@ -135,28 +114,6 @@ if (empty($conf->db->dolibarr_main_db_cryptkey))   $conf->db->dolibarr_main_db_c
 if (empty($conf->db->user)) $conf->db->user='';
 
 
-
-// Removed magic_quotes
-if (function_exists('get_magic_quotes_gpc'))	// magic_quotes_* removed in PHP6
-{
-	if (get_magic_quotes_gpc())
-	{
-		// Forcing parameter setting magic_quotes_gpc and cleaning parameters
-		// (Otherwise he would have for each position, condition
-		// Reading stripslashes variable according to state get_magic_quotes_gpc).
-		// Off mode (recommended, you just do $db->escape when an insert / update.
-		function stripslashes_deep($value)
-		{
-			return (is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value));
-		}
-		$_GET     = array_map('stripslashes_deep', $_GET);
-		$_POST    = array_map('stripslashes_deep', $_POST);
-		$_COOKIE  = array_map('stripslashes_deep', $_COOKIE);
-		$_REQUEST = array_map('stripslashes_deep', $_REQUEST);
-		@set_magic_quotes_runtime(0);
-	}
-}
-
 // Defini objet langs
 $langs = new Translate('..',$conf);
 if (GETPOST('lang')) $langs->setDefaultLang(GETPOST('lang'));
@@ -257,16 +214,4 @@ function pFooter($nonext=0,$setuplang='')
 	print '</html>'."\n";
 }
 
-/**
- * Output a text into a log file
- *
- * @param	string	$message		Message to show
- * @param   string	$level			Log level
- */
-function dolibarr_support_syslog($message, $level=LOG_DEBUG)
-{
-	if (! defined('LOG_DEBUG')) define('LOG_DEBUG',6);
-	dol_syslog($message,$level);
-}
-
 ?>
\ No newline at end of file
diff --git a/htdocs/support/index.php b/htdocs/support/index.php
index fc9f0a8bf67c50316f55379f0f3123ffd1d27a1c..dcfeb73c70f505d6df4dff05d7cbaaf13f04c0db 100644
--- a/htdocs/support/index.php
+++ b/htdocs/support/index.php
@@ -154,7 +154,7 @@ print '</td></tr></table>';
 
 print '</td>';
 print '</tr><tr>';
-$urlwiki='http://wiki.dolibarr.org/index.php/List_of_OpenSource_Software_companies_and_freelancers';
+$urlwiki='http://wiki.dolibarr.org/index.php/List of Dolibarr partners and providers';
 print '<td align="center" valign="top">';
 print '<table class="nocellnopadd">';
 /*print '<tr><td align="center" valign="top">';
@@ -190,7 +190,7 @@ print '</td></tr></table>';
 
 print '</td>';
 print '</tr><tr>';
-$urlwiki='http://wiki.dolibarr.org/index.php/List_of_OpenSource_Software_companies_and_freelancers';
+$urlwiki='http://wiki.dolibarr.org/index.php/List of Dolibarr partners and providers';
 print '<td align="center" valign="top">';
 print '<table class="nocellnopadd">';
 /*print '<tr><td align="center" valign="top">';