diff --git a/htdocs/exports/export.class.php b/htdocs/exports/export.class.php
index 98ab6d419ab..97e5469dea3 100644
--- a/htdocs/exports/export.class.php
+++ b/htdocs/exports/export.class.php
@@ -61,11 +61,11 @@ class Export
/**
* \brief Load an exportable dataset
* \param user Object user making export
- * \param filter Code export pour charger un lot de donn�es particulier
+ * \param filter Code export pour charger un lot de donnees particulier
*/
function load_arrays($user,$filter='')
{
- global $langs;
+ global $langs,$conf;
dolibarr_syslog("Export::load_arrays user=".$user->id." filter=".$filter);
@@ -81,71 +81,79 @@ class Export
{
$modulename=$reg[1];
- // Chargement de la classe
- $file = $dir."/".$modulename.".class.php";
- $classname = $modulename;
- require_once($file);
- $module = new $classname($this->db);
+ // Defined if module is enabled
+ $enabled=true;
+ $part=strtolower(eregi_replace('^mod','',$modulename));
+ if (empty($conf->$part->enabled)) $enabled=false;
- if (is_array($module->export_code))
+ if ($enabled)
{
- foreach($module->export_code as $r => $value)
- {
- if ($filter && ($filter != $module->export_code[$r])) continue;
-
- // Test si permissions ok \todo tester sur toutes permissions
- $perm=$module->export_permission[$r][0];
- //print_r("$perm[0]-$perm[1]-$perm[2]
");
- if ($perm[2])
- {
- $bool=$user->rights->$perm[0]->$perm[1]->$perm[2];
- }
- else
- {
- $bool=$user->rights->$perm[0]->$perm[1];
- }
- if ($perm[0]=='user' && $user->admin) $bool=true;
- //print("$bool
");
-
- // Permissions ok
- if ($bool)
- {
- // Charge fichier lang en rapport
- $langtoload=$module->getLangFilesArray();
- if (is_array($langtoload))
- {
- foreach($langtoload as $key)
- {
- $langs->load($key);
- }
- }
+ // Chargement de la classe
+ $file = $dir."/".$modulename.".class.php";
+ $classname = $modulename;
+ require_once($file);
+ $module = new $classname($this->db);
- // Module
- $this->array_export_module[$i]=$module;
- // Icon
- $this->array_export_icon[$i]=(isset($module->export_icon[$r])?$module->export_icon[$r]:$module->picto);
- // Code du dataset export
- $this->array_export_code[$i]=$module->export_code[$r];
- // Libelle du dataset export
- $this->array_export_label[$i]=$module->getDatasetLabel($r);
- // Tableau des champ a exporter (cle=champ, valeur=libelle)
- $this->array_export_fields[$i]=$module->export_fields_array[$r];
- // Tableau des entites a exporter (cle=champ, valeur=entite)
- $this->array_export_entities[$i]=$module->export_entities_array[$r];
- // Tableau des alias a exporter (cle=champ, valeur=alias)
- $this->array_export_alias[$i]=$module->export_alias_array[$r];
- // Tableau des operations speciales sur champ
- $this->array_export_special[$i]=$module->export_special_array[$r];
-
- // Requete sql du dataset
- $this->array_export_sql_start[$i]=$module->export_sql_start[$r];
- $this->array_export_sql_end[$i]=$module->export_sql_end[$r];
- //$this->array_export_sql[$i]=$module->export_sql[$r];
-
- dolibarr_syslog("Export loaded for module ".$modulename." with index ".$i.", dataset=".$module->export_code[$r].", nb of fields=".sizeof($module->export_fields_code[$r]));
- $i++;
- }
- }
+ if (is_array($module->export_code))
+ {
+ foreach($module->export_code as $r => $value)
+ {
+ if ($filter && ($filter != $module->export_code[$r])) continue;
+
+ // Test si permissions ok \todo tester sur toutes permissions
+ $perm=$module->export_permission[$r][0];
+ //print_r("$perm[0]-$perm[1]-$perm[2]
");
+ if ($perm[2])
+ {
+ $bool=$user->rights->$perm[0]->$perm[1]->$perm[2];
+ }
+ else
+ {
+ $bool=$user->rights->$perm[0]->$perm[1];
+ }
+ if ($perm[0]=='user' && $user->admin) $bool=true;
+ //print("$bool
");
+
+ // Permissions ok
+ if ($bool)
+ {
+ // Charge fichier lang en rapport
+ $langtoload=$module->getLangFilesArray();
+ if (is_array($langtoload))
+ {
+ foreach($langtoload as $key)
+ {
+ $langs->load($key);
+ }
+ }
+
+ // Module
+ $this->array_export_module[$i]=$module;
+ // Icon
+ $this->array_export_icon[$i]=(isset($module->export_icon[$r])?$module->export_icon[$r]:$module->picto);
+ // Code du dataset export
+ $this->array_export_code[$i]=$module->export_code[$r];
+ // Libelle du dataset export
+ $this->array_export_label[$i]=$module->getDatasetLabel($r);
+ // Tableau des champ a exporter (cle=champ, valeur=libelle)
+ $this->array_export_fields[$i]=$module->export_fields_array[$r];
+ // Tableau des entites a exporter (cle=champ, valeur=entite)
+ $this->array_export_entities[$i]=$module->export_entities_array[$r];
+ // Tableau des alias a exporter (cle=champ, valeur=alias)
+ $this->array_export_alias[$i]=$module->export_alias_array[$r];
+ // Tableau des operations speciales sur champ
+ $this->array_export_special[$i]=$module->export_special_array[$r];
+
+ // Requete sql du dataset
+ $this->array_export_sql_start[$i]=$module->export_sql_start[$r];
+ $this->array_export_sql_end[$i]=$module->export_sql_end[$r];
+ //$this->array_export_sql[$i]=$module->export_sql[$r];
+
+ dolibarr_syslog("Export loaded for module ".$modulename." with index ".$i.", dataset=".$module->export_code[$r].", nb of fields=".sizeof($module->export_fields_code[$r]));
+ $i++;
+ }
+ }
+ }
}
}
}