diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php
index 40b736596a5ed05f10f57a4f0db110ad67452241..184e679e1fcf6f67512a5e4e3b5e50f250da49ab 100644
--- a/htdocs/admin/modules.php
+++ b/htdocs/admin/modules.php
@@ -105,6 +105,7 @@ $categ = array();
 $dirmod = array();
 $i = 0;	// is a sequencer of modules found
 $j = 0;	// j is module number. Automatically affected if module number not defined.
+$modNameLoaded=array();
 
 foreach ($modulesdir as $dir)
 {
@@ -123,10 +124,18 @@ foreach ($modulesdir as $dir)
 
 		        if ($modName)
 		        {
+		        	if (! empty($modNameLoaded[$modName]))
+		        	{
+		        		$mesg="Error: Module ".$modName." was found twice: Into ".$modNameLoaded[$modName]." and ".$dir.". You probably have an old file on your disk.<br>";
+		                dol_syslog($mesg, LOG_ERR);
+						continue;		        		
+		        	}
+		        	
 		            try
 		            {
 		                $res=include_once($dir.$file);
 		                $objMod = new $modName($db);
+						$modNameLoaded[$modName]=$dir;
 
     		            if ($objMod->numero > 0)
     		            {
diff --git a/htdocs/core/modules/contract/modules_contract.php b/htdocs/core/modules/contract/modules_contract.php
index 768785f090cddc007765a24196ca6798192ba476..9b501f4529c1a6593277cc9ce3a519c09d545e1b 100755
--- a/htdocs/core/modules/contract/modules_contract.php
+++ b/htdocs/core/modules/contract/modules_contract.php
@@ -27,6 +27,9 @@
  *  \brief      File of class to manage contract numbering
  */
 
+/**
+ * Parent class for all contract numbering modules
+ */
 class ModelNumRefContracts
 {
 	var $error='';
diff --git a/htdocs/core/modules/dons/modules_don.php b/htdocs/core/modules/dons/modules_don.php
index 98976087f9237bead20fbb184534df6ff030bf31..079c22afa92eb824be7b48e664cac7d15c770e9b 100644
--- a/htdocs/core/modules/dons/modules_don.php
+++ b/htdocs/core/modules/dons/modules_don.php
@@ -156,7 +156,7 @@ function don_create($db, $id, $message, $modele, $outputlangs)
 
     $dir = DOL_DOCUMENT_ROOT . "/core/modules/dons/";
 
-    // Positionne modele sur le nom du modele � utiliser
+    // Set template to use
     if (! dol_strlen($modele))
     {
         if ($conf->global->DON_ADDON_MODEL)
diff --git a/htdocs/core/modules/export/export_csv.modules.php b/htdocs/core/modules/export/export_csv.modules.php
index 36e4e91115bc74549b38885877d63a7a8e32050d..a7cd25c270ae1fe49a9ee404548418586fce4980 100644
--- a/htdocs/core/modules/export/export_csv.modules.php
+++ b/htdocs/core/modules/export/export_csv.modules.php
@@ -72,36 +72,71 @@ class ExportCsv extends ModeleExports
 
 	}
 
+	/**
+	 * getDriverId
+	 *
+	 * @return int
+	 */
 	function getDriverId()
 	{
 		return $this->id;
 	}
 
+	/**
+	 * getDriverLabel
+	 *
+	 * @return string
+	 */
 	function getDriverLabel()
 	{
 		return $this->label;
 	}
 
+	/**
+	 * getDriverDesc
+	 *
+	 * @return string
+	 */
 	function getDriverDesc()
 	{
 		return $this->desc;
 	}
 
+	/**
+	 * getDriverExtension
+	 *
+	 * @return string
+	 */
 	function getDriverExtension()
 	{
 		return $this->extension;
 	}
 
+	/**
+	 * getDriverVersion
+	 *
+	 * @return string
+	 */
 	function getDriverVersion()
 	{
 		return $this->version;
 	}
 
+	/**
+	 * getLabelLabel
+	 *
+	 * @return string
+	 */
 	function getLibLabel()
 	{
 		return $this->label_lib;
 	}
 
+	/**
+	 * getLibVersion
+	 *
+	 * @return string
+	 */
 	function getLibVersion()
 	{
 		return $this->version_lib;
diff --git a/htdocs/core/modules/export/export_excel.modules.php b/htdocs/core/modules/export/export_excel.modules.php
index ba8df1e61c752bd4f5c5977f26c6410ed93d6bd9..c63dbe63cc575f6776d947788a79499f1c2c22fb 100644
--- a/htdocs/core/modules/export/export_excel.modules.php
+++ b/htdocs/core/modules/export/export_excel.modules.php
@@ -71,36 +71,71 @@ class ExportExcel extends ModeleExports
 		$this->row=0;
 	}
 
+	/**
+	 * getDriverId
+	 *
+	 * @return int
+	 */
 	function getDriverId()
 	{
 		return $this->id;
 	}
 
+	/**
+	 * getDriverLabel
+	 *
+	 * @return string
+	 */
 	function getDriverLabel()
 	{
 		return $this->label;
 	}
 
-    function getDriverDesc()
+	/**
+	 * getDriverDesc
+	 *
+	 * @return string
+	 */
+	function getDriverDesc()
     {
         return $this->desc;
     }
 
-	function getDriverExtension()
+	/**
+	 * getDriverExtension
+	 *
+	 * @return string
+	 */
+    function getDriverExtension()
 	{
 		return $this->extension;
 	}
 
+	/**
+	 * getDriverVersion
+	 *
+	 * @return string
+	 */
 	function getDriverVersion()
 	{
 		return $this->version;
 	}
 
+	/**
+	 * getLibLabel
+	 *
+	 * @return string
+	 */
 	function getLibLabel()
 	{
 		return $this->label_lib;
 	}
 
+	/**
+	 * getLibVersion
+	 *
+	 * @return string
+	 */
 	function getLibVersion()
 	{
 		return $this->version_lib;
diff --git a/htdocs/core/modules/export/export_excel2007.modules.php b/htdocs/core/modules/export/export_excel2007.modules.php
index 393a05d1530638eb802bb380688268caa05c3809..19316e61e2b810d7ad197a7495516555bfffa42f 100755
--- a/htdocs/core/modules/export/export_excel2007.modules.php
+++ b/htdocs/core/modules/export/export_excel2007.modules.php
@@ -72,36 +72,71 @@ class ExportExcel2007 extends ExportExcel
 		$this->row=0;
 	}
 
+	/**
+	 * getDriverLabel
+	 *
+	 * @return int
+	 */
 	function getDriverId()
 	{
 		return $this->id;
 	}
 
+	/**
+	 * getDriverLabel
+	 *
+	 * @return string
+	 */
 	function getDriverLabel()
 	{
 		return $this->label;
 	}
 
-    function getDriverDesc()
+	/**
+	 * getDriverDesc
+	 *
+	 * @return string
+	 */
+	function getDriverDesc()
     {
         return $this->desc;
     }
 
-	function getDriverExtension()
+	/**
+	 * getDriverExtension
+	 *
+	 * @return string
+	 */
+    function getDriverExtension()
 	{
 		return $this->extension;
 	}
 
+	/**
+	 * getDriverVersion
+	 *
+	 * @return string
+	 */
 	function getDriverVersion()
 	{
 		return $this->version;
 	}
 
+	/**
+	 * getLibLabel
+	 *
+	 * @return string
+	 */
 	function getLibLabel()
 	{
 		return $this->label_lib;
 	}
 
+	/**
+	 * getLibVersion
+	 *
+	 * @return string
+	 */
 	function getLibVersion()
 	{
 		return $this->version_lib;
diff --git a/htdocs/core/modules/export/export_tsv.modules.php b/htdocs/core/modules/export/export_tsv.modules.php
index 8e807aa2fcd755938626325af9fa825ac2ed6500..b8ef3ba491cdcb0590d615f3d939e2d443ff5d3a 100644
--- a/htdocs/core/modules/export/export_tsv.modules.php
+++ b/htdocs/core/modules/export/export_tsv.modules.php
@@ -66,36 +66,71 @@ class ExportTsv extends ModeleExports
         $this->version_lib=DOL_VERSION;
     }
 
+	/**
+	 * getDriverId
+	 *
+	 * @return int
+	 */
     function getDriverId()
     {
         return $this->id;
     }
 
+	/**
+	 * getDriverLabel
+	 *
+	 * @return string
+	 */
     function getDriverLabel()
     {
         return $this->label;
     }
 
+	/**
+	 * getDriverDesc
+	 *
+	 * @return string
+	 */
     function getDriverDesc()
     {
         return $this->desc;
     }
 
+	/**
+	 * getDriverExtension
+	 *
+	 * @return string
+	 */
     function getDriverExtension()
     {
         return $this->extension;
     }
 
+	/**
+	 * getDriverVersion
+	 *
+	 * @return string
+	 */
     function getDriverVersion()
     {
         return $this->version;
     }
 
+	/**
+	 * getLibLabel
+	 *
+	 * @return string
+	 */
     function getLibLabel()
     {
         return $this->label_lib;
     }
 
+	/**
+	 * getLibVersion
+	 *
+	 * @return string
+	 */
     function getLibVersion()
     {
         return $this->version_lib;
diff --git a/htdocs/core/modules/export/modules_export.php b/htdocs/core/modules/export/modules_export.php
index c4f879f1fbc39cd7b293b2fb0d9dba268b22c111..2a7cbbea6093dd395b2d986d8fa9676dac8a97f4 100644
--- a/htdocs/core/modules/export/modules_export.php
+++ b/htdocs/core/modules/export/modules_export.php
@@ -92,7 +92,10 @@ class ModeleExports extends CommonDocGenerator    // This class can't be abstrac
 
 
 	/**
-	 *      \brief      Return picto of export driver
+	 *  Return picto of export driver
+	 *
+	 *  @param	string	$key	Key of driver
+	 *  @return	string			Picto string
 	 */
 	function getPicto($key)
 	{
@@ -100,7 +103,10 @@ class ModeleExports extends CommonDocGenerator    // This class can't be abstrac
 	}
 
 	/**
-	 *      \brief      Renvoi libelle d'un driver export
+	 *  Renvoi libelle d'un driver export
+	 *
+	 *  @param	string	$key	Key of driver
+	 *  @return	string			Label
 	 */
 	function getDriverLabel($key)
 	{
@@ -108,7 +114,10 @@ class ModeleExports extends CommonDocGenerator    // This class can't be abstrac
 	}
 
 	/**
-	 *      \brief      Renvoi le descriptif d'un driver export
+	 *  Renvoi le descriptif d'un driver export
+	 *
+	 *  @param	string	$key	Key of driver
+	 *  @return	string			Description
 	 */
 	function getDriverDesc($key)
 	{
@@ -116,7 +125,10 @@ class ModeleExports extends CommonDocGenerator    // This class can't be abstrac
 	}
 
 	/**
-	 *      \brief      Renvoi version d'un driver export
+	 *  Renvoi version d'un driver export
+	 *
+	 *  @param	string	$key	Key of driver
+	 *  @return	string			Driver version
 	 */
 	function getDriverVersion($key)
 	{
@@ -124,7 +136,10 @@ class ModeleExports extends CommonDocGenerator    // This class can't be abstrac
 	}
 
 	/**
-	 *      \brief      Renvoi libelle de librairie externe du driver
+	 *  Renvoi libelle de librairie externe du driver
+	 *
+	 *  @param	string	$key	Key of driver
+	 *  @return	string			Label of library
 	 */
 	function getLibLabel($key)
 	{
@@ -132,7 +147,10 @@ class ModeleExports extends CommonDocGenerator    // This class can't be abstrac
 	}
 
 	/**
-	 *      \brief      Renvoi version de librairie externe du driver
+	 *  Renvoi version de librairie externe du driver
+	 *
+	 *  @param	string	$key	Key of driver
+	 *  @return	string			Version of library
 	 */
 	function getLibVersion($key)
 	{
diff --git a/htdocs/fichinter/fiche.php b/htdocs/fichinter/fiche.php
index c381fe14b94f371b75093e12c2b12cc9e3c85c66..e618463fef901251d233c35df2312f64994d7e06 100644
--- a/htdocs/fichinter/fiche.php
+++ b/htdocs/fichinter/fiche.php
@@ -693,13 +693,15 @@ if ($action == 'create')
         if ($conf->projet->enabled)
         {
             $langs->load("project");
-            
+
             print '<tr><td valign="top">'.$langs->trans("Project").'</td><td>';
+            /* Fix: If a project must be linked to any companies (suppliers or not), project must be not be set as limited to customer but must be not linked to any particular thirdparty
             if ($societe->fournisseur==1)
             	$numprojet=select_projects(-1,$_POST["projectid"],'projectid');
             else
             	$numprojet=select_projects($societe->id,$_POST["projectid"],'projectid');
-            //$numprojet=select_projects($soc->id,GETPOST('projectid','int'),'projectid');
+            	*/
+            $numprojet=select_projects($soc->id,GETPOST('projectid','int'),'projectid');
             if ($numprojet==0)
             {
                 print ' &nbsp; <a href="'.DOL_DOCUMENT_ROOT.'/projet/fiche.php?socid='.$soc->id.'&action=create">'.$langs->trans("AddProject").'</a>';
diff --git a/htdocs/install/mysql/migration/3.1.0-3.2.0.sql b/htdocs/install/mysql/migration/3.1.0-3.2.0.sql
index f2b9a4bbe7f75350ba179d106096f4ff6b470738..80606c4f6acbeaebaa5eeda560f6540bd0df291d 100755
--- a/htdocs/install/mysql/migration/3.1.0-3.2.0.sql
+++ b/htdocs/install/mysql/migration/3.1.0-3.2.0.sql
@@ -272,7 +272,7 @@ ALTER TABLE llx_product_extrafields  ADD COLUMN import_key varchar(14);
 ALTER TABLE llx_societe_extrafields  ADD COLUMN import_key varchar(14);
 
 -- Disable foreign key checks for external modules constraints
-SET FOREIGN_KEY_CHECKS=0;
+--SET FOREIGN_KEY_CHECKS=0;
 
 DROP TABLE llx_c_currencies;
 create table llx_c_currencies
@@ -425,7 +425,7 @@ INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'XEU'
 INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ARP', NULL, 0,	'Pesos argentins');
 INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'MXP', NULL, 0,	'Pesos Mexicans');
 
-SET FOREIGN_KEY_CHECKS=1;
+--SET FOREIGN_KEY_CHECKS=1;
 
 ALTER TABLE llx_propal ADD CONSTRAINT fk_propal_fk_currency		FOREIGN KEY (fk_currency) REFERENCES llx_c_currencies (code_iso);
 ALTER TABLE llx_commande ADD CONSTRAINT fk_commande_fk_currency	FOREIGN KEY (fk_currency) REFERENCES llx_c_currencies (code_iso);