diff --git a/htdocs/admin/barcode.php b/htdocs/admin/barcode.php
index 69f651f3bb701b5d79f3954d913daf58dc9cc4bb..cb56c1bee68b74816c87d8fb28fc08760b7aee41 100644
--- a/htdocs/admin/barcode.php
+++ b/htdocs/admin/barcode.php
@@ -84,7 +84,7 @@ $barcodelist=array();
 clearstatcache();
 
 
-foreach ($conf->dol_document_root as $dirroot)
+foreach ($conf->file->dol_document_root as $dirroot)
 {
 	$dir = $dirroot . "/includes/modules/barcode/";
 
diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php
index b9c513289f0ad0df33154514b707fed2c7a190bc..7046e412dba63a7d69ab2bd5bd960cce1798fabd 100644
--- a/htdocs/admin/modules.php
+++ b/htdocs/admin/modules.php
@@ -78,7 +78,7 @@ function Activate($value,$withdeps=1)
 		$file = $modName . ".class.php";
 
 		// Loop on each directory
-		foreach ($conf->dol_document_root as $dol_document_root)
+		foreach ($conf->file->dol_document_root as $dol_document_root)
 		{
 			$found=@include_once($dol_document_root."/includes/modules/".$file);
 			if ($found) break;
@@ -144,7 +144,7 @@ function UnActivate($value,$requiredby=1)
 		$file = $modName . ".class.php";
 
 		// Loop on each directory
-		foreach ($conf->dol_document_root as $dol_document_root)
+		foreach ($conf->file->dol_document_root as $dol_document_root)
 		{
 			$found=@include_once($dol_document_root."/includes/modules/".$file);
 			if ($found) break;
@@ -198,7 +198,7 @@ $categ = array();
 $dirmod = array();
 $i = 0;	// is a sequencer of modules found
 $j = 0;	// j is module number. Automatically affeted if module number not defined.
-foreach ($conf->dol_document_root as $dirroot)
+foreach ($conf->file->dol_document_root as $dirroot)
 {
 	$dir = $dirroot . "/includes/modules/";
 
diff --git a/htdocs/admin/perms.php b/htdocs/admin/perms.php
index 7820c9aa6b9a097731ebe18a77d99479836644dd..8af1d9ad7e1f87674266d525ee06e778c2bc05a0 100644
--- a/htdocs/admin/perms.php
+++ b/htdocs/admin/perms.php
@@ -79,7 +79,7 @@ $db->begin();
 
 // Charge les modules soumis a permissions
 $modules = array();
-foreach ($conf->dol_document_root as $dirroot)
+foreach ($conf->file->dol_document_root as $dirroot)
 {
 	$dir = $dirroot . "/includes/modules/";
 
diff --git a/htdocs/comm/mailing/cibles.php b/htdocs/comm/mailing/cibles.php
index ad80e2e6c6ce0af55438f92178c437f5cdb28d9e..3ad9476a92bfd840ab0c41af62a57691cfa8d174 100644
--- a/htdocs/comm/mailing/cibles.php
+++ b/htdocs/comm/mailing/cibles.php
@@ -62,7 +62,7 @@ if ($_GET["action"] == 'add')
 	$result=0;
 
 	$var=true;
-	foreach ($conf->dol_document_root as $dirmod)
+	foreach ($conf->file->dol_document_root as $dirmod)
 	{
 		$dir=$dirmod."/includes/modules/mailings/";
 
@@ -209,7 +209,7 @@ if ($mil->fetch($_REQUEST["id"]) >= 0)
 		clearstatcache();
 
 		$var=true;
-		foreach ($conf->dol_document_root as $dirroot)
+		foreach ($conf->file->dol_document_root as $dirroot)
 		{
 			$dir=$dirroot."/includes/modules/mailings/";
 
diff --git a/htdocs/core/conf.class.php b/htdocs/core/conf.class.php
index 9307ae0d26fd9c832165a5895814926238be4972..cfc29d6b9dab4ca382364f7735259980ff03179e 100644
--- a/htdocs/core/conf.class.php
+++ b/htdocs/core/conf.class.php
@@ -62,7 +62,6 @@ class Conf
 	/**
 	*      \brief      Load setup values into conf object
 	*      \param      $db			    Handler d'acces base
-	*      \param      $entity			Id of company
 	*      \return     int         		< 0 if KO, >= 0 if OK
 	*/
 	function setValues($db)
diff --git a/htdocs/includes/boxes/box_external_rss.php b/htdocs/includes/boxes/box_external_rss.php
index 78af3c636d66342548a91e43460a823079ae7da3..b1e38ff9267dff04db92c3070120c8a87ce68896 100644
--- a/htdocs/includes/boxes/box_external_rss.php
+++ b/htdocs/includes/boxes/box_external_rss.php
@@ -132,8 +132,8 @@ class box_external_rss extends ModeleBoxes {
 			if (is_numeric($date)) $date=dol_print_date($date,"dayhour");
 			
 			$isutf8 = utf8_check($title);
-	        if (! $isutf8 && $conf->character_set_client == 'UTF-8') $title=utf8_encode($title); 
-	        elseif ($isutf8 && $conf->character_set_client == 'ISO-8859-1') $title=utf8_decode($title); 
+	        if (! $isutf8 && $conf->file->character_set_client == 'UTF-8') $title=utf8_encode($title); 
+	        elseif ($isutf8 && $conf->file->character_set_client == 'ISO-8859-1') $title=utf8_decode($title); 
 
 	        $title=ereg_replace("([[:alnum:]])\?([[:alnum:]])","\\1'\\2",$title);   // G�re probl�me des apostrophes mal cod�e/d�cod�e par utf8
             $title=ereg_replace("^\s+","",$title);                                  // Supprime espaces de d�but
diff --git a/htdocs/includes/modules/DolibarrModules.class.php b/htdocs/includes/modules/DolibarrModules.class.php
index 4312a69be2d9bc7f6475ed39808ecd1158964695..a3fb2bf2c405cc3bf0a5870859eb8f9076d373e9 100644
--- a/htdocs/includes/modules/DolibarrModules.class.php
+++ b/htdocs/includes/modules/DolibarrModules.class.php
@@ -273,7 +273,7 @@ class DolibarrModules
 	function getDbVersion()
 	{
 		global $langs,$conf;
-		
+
 		$langs->load("admin");
 
 		$sql ="SELECT active_version";
@@ -346,13 +346,13 @@ class DolibarrModules
 	function _dbactive()
 	{
 		global $conf;
-		
+
 		$err = 0;
 
 		$sql = "DELETE FROM ".MAIN_DB_PREFIX."dolibarr_modules";
 		$sql.= " WHERE numero = ".$this->numero;
 		$sql.= " AND entity = ".$conf->entity;
-		
+
 		dol_syslog("DolibarrModules::_dbactive sql=".$sql, LOG_DEBUG);
 		$this->db->query($sql);
 
@@ -370,7 +370,7 @@ class DolibarrModules
 		$sql.= ", ".$this->db->idate(gmmktime());
 		$sql.= ", '".$this->version."'";
 		$sql.= ")";
-		
+
 		dol_syslog("DolibarrModules::_dbactive sql=".$sql, LOG_DEBUG);
 		$this->db->query($sql);
 
@@ -386,13 +386,13 @@ class DolibarrModules
 	function _dbunactive()
 	{
 		global $conf;
-		
+
 		$err = 0;
 
 		$sql = "DELETE FROM ".MAIN_DB_PREFIX."dolibarr_modules";
 		$sql.= " WHERE numero = ".$this->numero;
 		$sql.= " AND entity = ".$conf->entity;
-		
+
 		dol_syslog("DolibarrModules::_dbunactive sql=".$sql, LOG_DEBUG);
 		$this->db->query($sql);
 
@@ -409,20 +409,20 @@ class DolibarrModules
 		global $conf;
 
 		$err = 0;
-		
+
 		// Common module
 		$entity = ((isset($this->always_enabled)||isset($this->core_enabled)) ? 0 : $conf->entity);
 
 		$sql = "DELETE FROM ".MAIN_DB_PREFIX."const";
 		$sql.= " WHERE name = '".$this->const_name."'";
 		$sql.= " AND entity = ".$entity;
-		
+
 		dol_syslog("DolibarrModules::_active sql=".$sql, LOG_DEBUG);
 		$this->db->query($sql);
 
 		$sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,value,visible,entity) VALUES";
 		$sql.= " ('".$this->const_name."','1',0,".$entity.")";
-		
+
 		dol_syslog("DolibarrModules::_active sql=".$sql, LOG_DEBUG);
 		if (!$this->db->query($sql))
 		{
@@ -442,14 +442,14 @@ class DolibarrModules
 		global $conf;
 
 		$err = 0;
-		
+
 		// Common module
 		$entity = (isset($this->core_enabled) ? 0 : $conf->entity);
 
 		$sql = "DELETE FROM ".MAIN_DB_PREFIX."const";
 		$sql.= " WHERE name = '".$this->const_name."'";
 		$sql.= " AND entity = ".$entity;
-		
+
 		dol_syslog("DolibarrModules::_unactive sql=".$sql);
 		$this->db->query($sql);
 
@@ -471,7 +471,7 @@ class DolibarrModules
 		include_once(DOL_DOCUMENT_ROOT ."/lib/admin.lib.php");
 
 		$ok = 1;
-		foreach($conf->dol_document_root as $dirroot)
+		foreach($conf->file->dol_document_root as $dirroot)
 		{
 			if ($ok)
 			{
@@ -538,7 +538,7 @@ class DolibarrModules
 				$sql = "SELECT count(*) FROM ".MAIN_DB_PREFIX."boxes_def";
 				$sql.= " WHERE file = '".$file."'";
 				$sql.= " AND entity = ".$conf->entity;
-				
+
 				if ($note) $sql.=" AND note ='".addslashes($note)."'";
 
 				$result=$this->db->query($sql);
@@ -552,7 +552,7 @@ class DolibarrModules
 						$sql.= $conf->entity.",";
 						$sql.= $note?"'".addslashes($note)."'":"null";
 						$sql.= ")";
-						
+
 						dol_syslog("DolibarrModules::insert_boxes sql=".$sql);
 						if (! $this->db->query($sql))
 						{
@@ -594,14 +594,14 @@ class DolibarrModules
 				$sql.= " WHERE ".MAIN_DB_PREFIX."boxes.box_id = ".MAIN_DB_PREFIX."boxes_def.rowid";
 				$sql.= " AND ".MAIN_DB_PREFIX."boxes_def.file = '".addslashes($file)."'";
 				$sql.= " AND ".MAIN_DB_PREFIX."boxes_def.entity = ".$conf->entity;
-				
+
 				dol_syslog("DolibarrModules::delete_boxes sql=".$sql);
 				$this->db->query($sql);
 
 				$sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes_def";
 				$sql.= " WHERE file = '".addslashes($file)."'";
 				$sql.= " AND entity = ".$conf->entity;
-				
+
 				dol_syslog("DolibarrModules::delete_boxes sql=".$sql);
 				if (! $this->db->query($sql))
 				{
@@ -630,7 +630,7 @@ class DolibarrModules
 			$sql = "DELETE FROM ".MAIN_DB_PREFIX."const";
 			$sql.= " WHERE name = '".$this->const_name."_CSS'";
 			$sql.= " AND entity = ".$conf->entity;
-			
+
 			dol_syslog("DolibarrModules::delete_style_sheet sql=".$sql);
 			if (! $this->db->query($sql))
 			{
@@ -656,7 +656,7 @@ class DolibarrModules
 		$sql = "DELETE FROM ".MAIN_DB_PREFIX."const";
 		$sql.= " WHERE name like '".$this->const_name."_TABS_%'";
 		$sql.= " AND entity = ".$conf->entity;
-		
+
 		dol_syslog("DolibarrModules::delete_tabs sql=".$sql);
 		if (! $this->db->query($sql))
 		{
@@ -696,7 +696,7 @@ class DolibarrModules
 			$sql.= ", '0'";
 			$sql.= ", ".$conf->entity;
 			$sql.= ")";
-			
+
 			dol_syslog("DolibarrModules::insert_style_sheet sql=".$sql);
 			$resql=$this->db->query($sql);
 			/* Allow duplicate key
@@ -743,7 +743,7 @@ class DolibarrModules
 					$sql.= ", '0'";
 					$sql.= ", ".$conf->entity;
 					$sql.= ")";
-					
+
 					dol_syslog("DolibarrModules::insert_tabs sql=".$sql);
 					$resql=$this->db->query($sql);
 					/* Allow duplicate key
diff --git a/htdocs/install/etape2.php b/htdocs/install/etape2.php
index f491130366aecbf7d8f8ed6c913ccb21f1702915..76c15f535ce463842d383681ecd2a11ead023008 100644
--- a/htdocs/install/etape2.php
+++ b/htdocs/install/etape2.php
@@ -154,7 +154,7 @@ if ($_POST["action"] == "set")
 
 	                //print "<tr><td>Creation de la table $name/td>";
 					$requestnb++;
-					if ($conf->character_set_client == "UTF-8")
+					if ($conf->file->character_set_client == "UTF-8")
 					{
 						$buffer=utf8_encode($buffer);
 					}
@@ -266,7 +266,7 @@ if ($_POST["action"] == "set")
 	                    {
 			                //print "<tr><td>Creation des cles et index de la table $name: '$buffer'</td>";
 							$requestnb++;
-							if ($conf->character_set_client == "UTF-8")
+							if ($conf->file->character_set_client == "UTF-8")
 							{
 								$buffer=utf8_encode($buffer);
 							}
diff --git a/htdocs/install/inc.php b/htdocs/install/inc.php
index 1ac5e2ed0aa7193d8e3c682e6329f37ae503ef1e..3371fb51cc7b764da66744a17386a232ae3bb506 100644
--- a/htdocs/install/inc.php
+++ b/htdocs/install/inc.php
@@ -115,7 +115,7 @@ if (! isset($dolibarr_main_db_prefix) || ! $dolibarr_main_db_prefix) $dolibarr_m
 define('MAIN_DB_PREFIX',(isset($dolibarr_main_db_prefix)?$dolibarr_main_db_prefix:''));
 
 define('DOL_DATA_ROOT',(isset($dolibarr_main_data_root)?$dolibarr_main_data_root:''));
-if (empty($conf->character_set_client))     	  $conf->character_set_client="UTF-8";
+if (empty($conf->file->character_set_client))     	  $conf->file->character_set_client="UTF-8";
 if (empty($conf->db->dolibarr_main_db_collation)) $conf->db->dolibarr_main_db_collation='latin1_swedish_ci';
 if (empty($conf->db->user)) $conf->db->user='';
 
@@ -212,7 +212,7 @@ function conf($dolibarr_main_document_root)
 	$conf->db->pass = trim($dolibarr_main_db_pass);
 
 	if (empty($character_set_client)) $character_set_client="UTF-8";
-	$conf->character_set_client=strtoupper($character_set_client);
+	$conf->file->character_set_client=strtoupper($character_set_client);
 	if (empty($dolibarr_main_db_charset)) $dolibarr_main_db_charset='latin1';
 	$conf->db->character_set=$dolibarr_main_db_charset;
 	if (empty($dolibarr_main_db_collation)) $dolibarr_main_db_collation='latin1_swedish_ci';
@@ -248,12 +248,12 @@ function pHeader($soutitre,$next,$action='set')
     $langs->load("admin");
 
 	// On force contenu dans format sortie
-	header("Content-type: text/html; charset=".$conf->character_set_client);
+	header("Content-type: text/html; charset=".$conf->file->character_set_client);
 
     print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'."\n";
     print '<html>'."\n";
     print '<head>'."\n";
-    print '<meta http-equiv="content-type" content="text/html; charset='.$conf->character_set_client.'">'."\n";
+    print '<meta http-equiv="content-type" content="text/html; charset='.$conf->file->character_set_client.'">'."\n";
     print '<link rel="stylesheet" type="text/css" href="./default.css">'."\n";
     print '<title>'.$langs->trans("DolibarrSetup").'</title>'."\n";
     print '</head>'."\n";
diff --git a/htdocs/lib/CMailFile.class.php b/htdocs/lib/CMailFile.class.php
index 99f599785a29342f5b0304f2678a42217ca31c6b..3eb8c0ac2c14f40bab1b2a03af3c0bffbf645d5c 100644
--- a/htdocs/lib/CMailFile.class.php
+++ b/htdocs/lib/CMailFile.class.php
@@ -78,7 +78,7 @@ class CMailFile
 		// If ending method not defined
 		if (empty($conf->global->MAIN_MAIL_SENDMODE)) $conf->global->MAIN_MAIL_SENDMODE='mail';
 
-		dol_syslog("CMailFile::CMailfile: MAIN_MAIL_SENDMODE=".$conf->global->MAIN_MAIL_SENDMODE." charset=".$conf->character_set_client." from=$from, to=$to, addr_cc=$addr_cc, addr_bcc=$addr_bcc, errors_to=$errors_to", LOG_DEBUG);
+		dol_syslog("CMailFile::CMailfile: MAIN_MAIL_SENDMODE=".$conf->global->MAIN_MAIL_SENDMODE." charset=".$conf->file->character_set_client." from=$from, to=$to, addr_cc=$addr_cc, addr_bcc=$addr_bcc, errors_to=$errors_to", LOG_DEBUG);
 		dol_syslog("CMailFile::CMailfile: subject=$subject, deliveryreceipt=$deliveryreceipt, msgishtml=$msgishtml", LOG_DEBUG);
 
 		// Detect if message is HTML (use fast method)
@@ -162,7 +162,7 @@ class CMailFile
 
 			require_once(DOL_DOCUMENT_ROOT."/includes/smtps/SMTPs.php");
 			$smtps = new SMTPs();
-			$smtps->setCharSet($conf->character_set_client);
+			$smtps->setCharSet($conf->file->character_set_client);
 			$smtps->setSubject($subject);
 			$smtps->setTO($to);
 			$smtps->setFrom($from);
@@ -419,12 +419,12 @@ class CMailFile
 
 		if ($this->msgishtml)
 		{
-			if (! $this->atleastonefile) $out.= "Content-Type: text/html; charset=".$conf->character_set_client.$this->eol;
+			if (! $this->atleastonefile) $out.= "Content-Type: text/html; charset=".$conf->file->character_set_client.$this->eol;
 			$out.= "Content-Transfer-Encoding: 8bit".$this->eol;
 		}
 		else
 		{
-			if (! $this->atleastonefile) $out.= "Content-Type: text/plain; charset=".$conf->character_set_client.$this->eol;
+			if (! $this->atleastonefile) $out.= "Content-Type: text/plain; charset=".$conf->file->character_set_client.$this->eol;
 			$out.= "Content-Transfer-Encoding: 8bit".$this->eol;
 		}
 
@@ -476,11 +476,11 @@ class CMailFile
 			$out.= "--" . $this->mime_boundary . $this->eol;
 			if ($this->msgishtml)
 			{
-				$out.= "Content-Type: text/html; charset=".$conf->character_set_client.$this->eol;
+				$out.= "Content-Type: text/html; charset=".$conf->file->character_set_client.$this->eol;
 			}
 			else
 			{
-				$out.= "Content-Type: text/plain; charset=".$conf->character_set_client.$this->eol;
+				$out.= "Content-Type: text/plain; charset=".$conf->file->character_set_client.$this->eol;
 			}
 			$out.= $this->eol;
 		}
diff --git a/htdocs/lib/databases/mysql.lib.php b/htdocs/lib/databases/mysql.lib.php
index a695c2f5a24eb29a98b3f97a9bf61d20e967edb4..a88b5a765fae37f3094d0997c94d0171a57d5dc5 100644
--- a/htdocs/lib/databases/mysql.lib.php
+++ b/htdocs/lib/databases/mysql.lib.php
@@ -139,8 +139,8 @@ class DoliDb
 
 				// If client connected with different charset than Dolibarr HTML output
 				$clientmustbe='';
-				if (eregi('UTF-8',$conf->character_set_client))      $clientmustbe='utf8';
-				if (eregi('ISO-8859-1',$conf->character_set_client)) $clientmustbe='latin1';
+				if (eregi('UTF-8',$conf->file->character_set_client))      $clientmustbe='utf8';
+				if (eregi('ISO-8859-1',$conf->file->character_set_client)) $clientmustbe='latin1';
 				if (mysql_client_encoding($this->db) != $clientmustbe)
 				{
 					$this->query("SET NAMES '".$clientmustbe."'", $this->db);
@@ -165,8 +165,8 @@ class DoliDb
 			{
 				// If client connected with different charset than Dolibarr HTML output
 				$clientmustbe='';
-				if (eregi('UTF-8',$conf->character_set_client))      $clientmustbe='utf8';
-				if (eregi('ISO-8859-1',$conf->character_set_client)) $clientmustbe='latin1';
+				if (eregi('UTF-8',$conf->file->character_set_client))      $clientmustbe='utf8';
+				if (eregi('ISO-8859-1',$conf->file->character_set_client)) $clientmustbe='latin1';
 				if (mysql_client_encoding($this->db) != $clientmustbe)
 				{
 					$this->query("SET NAMES '".$clientmustbe."'", $this->db);
diff --git a/htdocs/lib/databases/mysqli.lib.php b/htdocs/lib/databases/mysqli.lib.php
index ed6ac87d2174a068090c0e429647e40b90abcc62..cc89ceecb18db3c5460349bd94df78e13b8786b0 100644
--- a/htdocs/lib/databases/mysqli.lib.php
+++ b/htdocs/lib/databases/mysqli.lib.php
@@ -141,8 +141,8 @@ class DoliDb
 
 				// If client connected with different charset than Dolibarr HTML output
 				$clientmustbe='';
-				if (eregi('UTF-8',$conf->character_set_client))      $clientmustbe='utf8';
-				if (eregi('ISO-8859-1',$conf->character_set_client)) $clientmustbe='latin1';
+				if (eregi('UTF-8',$conf->file->character_set_client))      $clientmustbe='utf8';
+				if (eregi('ISO-8859-1',$conf->file->character_set_client)) $clientmustbe='latin1';
 				if (mysqli_client_encoding($this->db) != $clientmustbe)
 				{
 					$this->query("SET NAMES '".$clientmustbe."'", $this->db);
@@ -167,8 +167,8 @@ class DoliDb
 			{
 				// If client connected with different charset than Dolibarr HTML output
 				$clientmustbe='';
-				if (eregi('UTF-8',$conf->character_set_client))      $clientmustbe='utf8';
-				if (eregi('ISO-8859-1',$conf->character_set_client)) $clientmustbe='latin1';
+				if (eregi('UTF-8',$conf->file->character_set_client))      $clientmustbe='utf8';
+				if (eregi('ISO-8859-1',$conf->file->character_set_client)) $clientmustbe='latin1';
 				if (mysqli_client_encoding($this->db) != $clientmustbe)
 				{
 					$this->query("SET NAMES '".$clientmustbe."'", $this->db);
diff --git a/htdocs/lib/databases/pgsql.lib.php b/htdocs/lib/databases/pgsql.lib.php
index 924d88f76a25b26ecf6b6eab15ed467588974aef..2a4197318bf5e5ced49d99e52dfd0b8195c763a2 100644
--- a/htdocs/lib/databases/pgsql.lib.php
+++ b/htdocs/lib/databases/pgsql.lib.php
@@ -72,7 +72,7 @@ class DoliDb
     {
     	global $conf,$langs;
 
-		$this->forcecharset=$conf->character_set_client;
+		$this->forcecharset=$conf->file->character_set_client;
 	    $this->forcecollate=$conf->db->dolibarr_main_db_collation;
 	    $this->database_user=$user;
 
diff --git a/htdocs/lib/ldap.class.php b/htdocs/lib/ldap.class.php
index 860173f7be0241078270a42d0cce85f177362fc1..84754782d062365d296634a8e396cd1d45d33dc1 100644
--- a/htdocs/lib/ldap.class.php
+++ b/htdocs/lib/ldap.class.php
@@ -1109,8 +1109,8 @@ class Ldap
     function convToOutputCharset($str,$pagecodefrom='UTF-8')
     {
     	global $conf;
-    	if ($pagecodefrom == 'ISO-8859-1' && $conf->character_set_client == 'UTF-8')  $str=utf8_encode($str);
-		if ($pagecodefrom == 'UTF-8' && $conf->character_set_client == 'ISO-8859-1')  $str=utf8_decode($str);
+    	if ($pagecodefrom == 'ISO-8859-1' && $conf->file->character_set_client == 'UTF-8')  $str=utf8_encode($str);
+		if ($pagecodefrom == 'UTF-8' && $conf->file->character_set_client == 'ISO-8859-1')  $str=utf8_decode($str);
 		return $str;
     }
 
@@ -1123,8 +1123,8 @@ class Ldap
     function convFromOutputCharset($str,$pagecodeto='UTF-8')
     {
     	global $conf;
-    	if ($pagecodeto == 'ISO-8859-1' && $conf->character_set_client == 'UTF-8')  $str=utf8_decode($str);
-		if ($pagecodeto == 'UTF-8' && $conf->character_set_client == 'ISO-8859-1')	$str=utf8_encode($str);
+    	if ($pagecodeto == 'ISO-8859-1' && $conf->file->character_set_client == 'UTF-8')  $str=utf8_decode($str);
+		if ($pagecodeto == 'UTF-8' && $conf->file->character_set_client == 'ISO-8859-1')	$str=utf8_encode($str);
 		return $str;
     }
 }
diff --git a/htdocs/lib/xcal.lib.php b/htdocs/lib/xcal.lib.php
index 91a1ec3ff71a43f7a0727612ccc6c9d81fd3a6e7..bd0ff9e15800c3b78c1a6f90848e78c7aa12bed2 100644
--- a/htdocs/lib/xcal.lib.php
+++ b/htdocs/lib/xcal.lib.php
@@ -331,13 +331,13 @@ function build_rssfile($format='rss',$title,$desc,$events_array,$outputfile,$fil
  * 	\param		format		vcal or ical
  * 	\param 		string		string to encode
  * 	\return		string		string encoded
- * 	\remarks	string must be encoded in conf->character_set_client
+ * 	\remarks	string must be encoded in conf->file->character_set_client
  */
 function format_cal($format,$string)
 {
 	global $conf;
 	
-	if ($conf->character_set_client == 'ISO-8859-1') $newstring=utf8_encode($string);
+	if ($conf->file->character_set_client == 'ISO-8859-1') $newstring=utf8_encode($string);
 	else $newstring=$string;
 
 	// Now newstring is always UTF8 string
diff --git a/htdocs/paybox/paybox.lib.php b/htdocs/paybox/paybox.lib.php
index cda76524cfcd4fabb8bf3cbf1001c5a7d7e5f91d..aef6d361be8bd2ab1faa9baa6493af53d4538666 100644
--- a/htdocs/paybox/paybox.lib.php
+++ b/htdocs/paybox/paybox.lib.php
@@ -32,7 +32,7 @@ function llxHeaderPaybox($title, $head = "")
 	// Si feuille de style en php existe
 	if (file_exists(DOL_DOCUMENT_ROOT.'/'.$conf->css.".php")) $conf->css.=".php";
 
-	header("Content-type: text/html; charset=".$conf->character_set_client);
+	header("Content-type: text/html; charset=".$conf->file->character_set_client);
 
 	print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">';
 	//print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd>';
@@ -156,11 +156,11 @@ function print_paybox_redirect($PRICE,$CURRENCY,$EMAIL,$urlok,$urlko,$TAG)
     dol_syslog("PBX_SOURCE: $PBX_SOURCE", LOG_DEBUG);
     dol_syslog("PBX_TYPEPAIEMENT: $PBX_TYPEPAIEMENT", LOG_DEBUG);
 
-    header("Content-type: text/html; charset=".$conf->character_set_client);
+    header("Content-type: text/html; charset=".$conf->file->character_set_client);
 
     print '<html>'."\n";
     print '<head>'."\n";
-    print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=".$conf->character_set_client."\">\n";
+    print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=".$conf->file->character_set_client."\">\n";
     print '</head>'."\n";
     print '<body>'."\n";
     print "\n";
diff --git a/htdocs/public/demo/index.php b/htdocs/public/demo/index.php
index be1be5d3b6ab89e284649b0bbab94c9cba63ddd5..a32ae3e5ecbed9b98911221d191af7fc3cfdc2d3 100644
--- a/htdocs/public/demo/index.php
+++ b/htdocs/public/demo/index.php
@@ -60,7 +60,7 @@ function llxHeaderVierge($title, $head = "")
 {
 	global $user, $conf, $langs;
 
-	header("Content-type: text/html; charset=".$conf->character_set_client);
+	header("Content-type: text/html; charset=".$conf->file->character_set_client);
 
 	print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">';
 	//print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd>';
@@ -124,7 +124,7 @@ llxHeaderVierge($langs->trans("DolibarrDemo"));
 
 
 // Search modules
-$dirlist=$conf->dol_document_root;
+$dirlist=$conf->file->dol_document_root;
 
 $filename = array();
 $modules = array();
diff --git a/htdocs/public/members/public_card.php b/htdocs/public/members/public_card.php
index 9e31c34b9ac6542e1b4fad52f8f7890b9be2ac18..5689f241d3e7e1accd15a1e7c47a1ceeb954794e 100644
--- a/htdocs/public/members/public_card.php
+++ b/htdocs/public/members/public_card.php
@@ -110,7 +110,7 @@ function llxHeaderVierge($title, $head = "")
 {
 	global $user, $conf, $langs;
 
-	header("Content-type: text/html; charset=".$conf->character_set_client);
+	header("Content-type: text/html; charset=".$conf->file->character_set_client);
 	print "<html>\n";
 	print "<head>\n";
 	print "<title>".$title."</title>\n";
diff --git a/htdocs/public/members/public_list.php b/htdocs/public/members/public_list.php
index b4fd45fdb4bf9cc5b033054655e32b07f870c5ed..d818bf4c7cbc9eee7e94993ec83e85841d24d6a7 100644
--- a/htdocs/public/members/public_list.php
+++ b/htdocs/public/members/public_list.php
@@ -37,7 +37,7 @@ function llxHeaderVierge($title, $head = "")
 {
 	global $user, $conf, $langs;
 
-	header("Content-type: text/html; charset=".$conf->character_set_client);
+	header("Content-type: text/html; charset=".$conf->file->character_set_client);
 	print "<html>\n";
     print "<head>\n";
     print "<title>".$title."</title>\n";
diff --git a/htdocs/support/inc.php b/htdocs/support/inc.php
index 3e6cac5145cd9227217c398517624dcb6514b040..f82cefc98fe05fd0cd9870738ebff826e0f94553 100644
--- a/htdocs/support/inc.php
+++ b/htdocs/support/inc.php
@@ -109,7 +109,7 @@ if (! defined('DONOTLOADCONF') && file_exists($conffile))
 if (! isset($dolibarr_main_db_prefix) || ! $dolibarr_main_db_prefix) $dolibarr_main_db_prefix='llx_';
 define('MAIN_DB_PREFIX',(isset($dolibarr_main_db_prefix)?$dolibarr_main_db_prefix:''));
 define('DOL_DATA_ROOT',(isset($dolibarr_main_data_root)?$dolibarr_main_data_root:''));
-if (empty($conf->character_set_client))     	  $conf->character_set_client=$charset;
+if (empty($conf->file->character_set_client))     	  $conf->file->character_set_client=$charset;
 if (empty($conf->db->dolibarr_main_db_collation)) $conf->db->dolibarr_main_db_collation='latin1_swedish_ci';
 if (empty($conf->db->user)) $conf->db->user='';
 
@@ -172,7 +172,7 @@ function conf($dolibarr_main_document_root)
 	$conf->db->user = trim($dolibarr_main_db_user);
 	$conf->db->pass = trim($dolibarr_main_db_pass);
 
-	if (empty($conf->character_set_client))     	  $conf->character_set_client="UTF-8";
+	if (empty($conf->file->character_set_client))     	  $conf->file->character_set_client="UTF-8";
 	if (empty($conf->db->dolibarr_main_db_collation)) $conf->db->dolibarr_main_db_collation='latin1_swedish_ci';
 
 	return 1;
@@ -190,12 +190,12 @@ function pHeader($soutitre,$next,$action='none')
     $langs->load("admin");
 
 	// On force contenu dans format sortie
-	header("Content-type: text/html; charset=".$conf->character_set_client);
+	header("Content-type: text/html; charset=".$conf->file->character_set_client);
 
     print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'."\n";
     print '<html>'."\n";
     print '<head>'."\n";
-    print '<meta http-equiv="content-type" content="text/html; charset='.$conf->character_set_client.'">'."\n";
+    print '<meta http-equiv="content-type" content="text/html; charset='.$conf->file->character_set_client.'">'."\n";
     print '<link rel="stylesheet" type="text/css" href="default.css">'."\n";
     print '<title>'.$langs->trans("Help").'</title>'."\n";
     print '</head>'."\n";
diff --git a/htdocs/user/group/perms.php b/htdocs/user/group/perms.php
index 3133a48209f1af2f7d14d15e692a63ce44cf17af..ea144acda471b646a90d737dd4877cd003810b46 100644
--- a/htdocs/user/group/perms.php
+++ b/htdocs/user/group/perms.php
@@ -81,7 +81,7 @@ if ($_GET["id"])
 
     // Charge les modules soumis a permissions
     $modules = array();
-    foreach ($conf->dol_document_root as $dirroot)
+    foreach ($conf->file->dol_document_root as $dirroot)
 	{
 		$dir = $dirroot . "/includes/modules/";
 
diff --git a/htdocs/user/passwordforgotten.php b/htdocs/user/passwordforgotten.php
index de88ebf203767a68cd04f68478f2a383b64049af..bae5851896661d82a251ffa07c21f1323b43a851 100644
--- a/htdocs/user/passwordforgotten.php
+++ b/htdocs/user/passwordforgotten.php
@@ -227,7 +227,7 @@ print '<td valign="bottom"><input id="username" type="text" '.$disabled.' name="
 
 $title='';
 $title.=$langs->trans("SessionName").': '.session_name();
-if ($conf->main_authentication) $title.=", ".$langs->trans("AuthenticationMode").': '.$conf->main_authentication;
+if ($conf->file->main_authentication) $title.=", ".$langs->trans("AuthenticationMode").': '.$conf->file->main_authentication;
 
 // Show logo (search in order: small company logo, large company logo, theme logo, common logo)
 $width=0;
diff --git a/htdocs/user/perms.php b/htdocs/user/perms.php
index c86d3e56678dc30582243a06ad6120f20c332e18..5c28e727ca697c5e2e5a3514d128892e7a046e66 100644
--- a/htdocs/user/perms.php
+++ b/htdocs/user/perms.php
@@ -103,7 +103,7 @@ $db->begin();
 // Charge les modules soumis a permissions
 $modules = array();
 
-$listdir=$conf->dol_document_root;
+$listdir=$conf->file->dol_document_root;
 foreach($listdir as $dirroot)
 {
 	$dir=$dirroot."/includes/modules/";