diff --git a/htdocs/exports/export.class.php b/htdocs/exports/export.class.php
index 4a06f228e74..2464b2a0278 100644
--- a/htdocs/exports/export.class.php
+++ b/htdocs/exports/export.class.php
@@ -21,7 +21,7 @@
/**
\file htdocs/exports/export.class.php
- \ingroup core
+ \ingroup export
\brief Fichier de la classe des exports
\version $Revision$
*/
@@ -37,9 +37,9 @@ class Export
var $array_export_code=array(); // Tableau de "idmodule_numlot"
var $array_export_module=array(); // Tableau de "nom de modules"
var $array_export_label=array(); // Tableau de "libellé de lots"
- var $array_export_fields_code=array();
- var $array_export_fields_label=array();
- var $array_export_sql=array();
+ var $array_export_sql=array(); // Tableau des "requetes sql"
+ var $array_export_fields=array(); // Tableau des liste de champ+libellé à exporter
+ var $array_export_alias=array(); // Tableau des liste de champ+alias à exporter
/**
@@ -59,6 +59,8 @@ class Export
*/
function load_arrays($user,$filter='')
{
+ global $langs;
+
dolibarr_syslog("Export::load_arrays user=$user filter=$filter");
$dir=DOL_DOCUMENT_ROOT."/includes/modules";
@@ -108,11 +110,19 @@ class Export
$this->array_export_code[$i]=$module->export_code[$r];
// Libellé du dataset export
$this->array_export_label[$i]=$module->export_label[$r];
- // Tableau des champ à exporter (clé=champ, valeur=libellé)
- $this->array_export_fields[$i]=$module->export_fields_array[$r];
// Requete sql du dataset
$this->array_export_sql[$i]=$module->export_sql[$r];
+ // Tableau des champ à exporter (clé=champ, valeur=libellé)
+ $this->array_export_fields[$i]=$module->export_fields_array[$r];
+ // Tableau des alias à exporter (clé=champ, valeur=alias)
+ $this->array_export_alias[$i]=$module->export_alias_array[$r];
+ // Charge fichier lang en rapport
+ foreach($module->getLangFilesArray() as $key)
+ {
+ $langs->load($key);
+ }
+
dolibarr_syslog("Export chargé pour le module ".$modulename." en index ".$i.", dataset=".$module->export_code[$r].", nbre de champs=".sizeof($module->export_fields_code[$r]));
$i++;
}
@@ -137,6 +147,7 @@ class Export
global $conf,$langs;
$indice=0;
+ asort($array_selected);
dolibarr_syslog("Export::build_file $model, $datatoexport, $array_selected");
@@ -145,7 +156,7 @@ class Export
$file = "export_".$model.".modules.php";
$classname = "Export".$model;
require_once($dir.$file);
- $obj = new $classname($db);
+ $objmodel = new $classname($db);
// Execute requete export
$sql=$this->array_export_sql[$indice];
@@ -153,37 +164,37 @@ class Export
if ($resql)
{
//$this->array_export_label[$indice]
- $filename="export_user".$user->id."_set".$datatoexport;
- $filename.='.'.$obj->get_extension();
- $dirname=$conf->export->dir_ouput;
-
+ $filename="export_set".$datatoexport;
+ $filename.='.'.$objmodel->getDriverExtension();
+ $dirname=$conf->export->dir_ouput.'/'.$user->id;
+
// Open file
create_exdir($dirname);
- $obj->open_file($dirname."/".$filename);
+ $objmodel->open_file($dirname."/".$filename);
// Genere en-tete
- $obj->write_header();
-
+ $objmodel->write_header($langs);
+
// Genere ligne de titre
- $obj->write_title();
+ $objmodel->write_title($this->array_export_fields[$indice],$array_selected,$langs);
while ($objp = $this->db->fetch_object($resql))
{
$var=!$var;
- $obj->write_record($objp,$array_selected);
+ $objmodel->write_record($this->array_export_alias[$indice],$array_selected,$objp);
}
// Genere en-tete
- $obj->write_footer();
+ $objmodel->write_footer($langs);
// Close file
- $obj->close_file();
+ $objmodel->close_file();
}
else
{
- $this->error=$this->db->error();
- dolibarr_syslog("Error: sql=$sql ".$this->error);
+ $this->error=$this->db->error()." - sql=".$sql;
+ dolibarr_syslog("Error: ".$this->error);
return -1;
}
}
diff --git a/htdocs/exports/export.php b/htdocs/exports/export.php
index 8849e4aa584..a747711a90d 100644
--- a/htdocs/exports/export.php
+++ b/htdocs/exports/export.php
@@ -21,13 +21,15 @@
/**
\file htdocs/exports/export.php
- \ingroup core
+ \ingroup export
\brief Page d'edition d'un export
\version $Revision$
*/
require_once("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/exports/export.class.php");
+require_once(DOL_DOCUMENT_ROOT.'/includes/modules/export/modules_export.php');
+
$langs->load("exports");
@@ -38,11 +40,13 @@ if (! $user->societe_id == 0)
$array_selected=isset($_SESSION["export_selected_fields"])?$_SESSION["export_selected_fields"]:array();
$datatoexport=isset($_GET["datatoexport"])?$_GET["datatoexport"]:'';
-$export=new Export($db);
-$export->load_arrays($user,$datatoexport);
$action=isset($_GET["action"]) ? $_GET["action"] : (isset($_POST["action"])?$_POST["action"]:'');
$step=isset($_GET["step"])?$_GET["step"]:'1';
+$objexport=new Export($db);
+$objexport->load_arrays($user,$datatoexport);
+
+$objmodel=new ModeleExports();
/*
@@ -100,14 +104,16 @@ if ($step == 1 || $action == 'cleanselect')
if ($action == 'builddoc')
{
- include_once(DOL_DOCUMENT_ROOT.'/includes/modules/export/modules_export.php');
- $model=new ModeleExports();
- $liste=$model->liste_modeles($db);
-
- $model=$liste[$_POST["model"]];
-
// Genère le fichier
- $export->build_file($user, $model, $datatoexport, $array_selected);
+ $result=$objexport->build_file($user, $_POST["model"], $datatoexport, $array_selected);
+ if ($result < 0)
+ {
+ $mesg='
'.$objexport->error.'
';
+ }
+ else
+ {
+// $mesg=''.$langs->trans("FileSuccessfulyBuilt").'
';
+ }
}
@@ -151,18 +157,18 @@ if ($step == 1 || ! $datatoexport)
print ' ';
print '';
$val=true;
- if (sizeof($export->array_export_code))
+ if (sizeof($objexport->array_export_code))
{
- foreach ($export->array_export_code as $key => $value)
+ foreach ($objexport->array_export_code as $key => $value)
{
$val=!$val;
print '';
- print img_object($export->array_export_module[$key]->getName(),$export->array_export_module[$key]->picto).' ';
- print $export->array_export_module[$key]->getName();
+ print img_object($objexport->array_export_module[$key]->getName(),$objexport->array_export_module[$key]->picto).' ';
+ print $objexport->array_export_module[$key]->getName();
print ' ';
- print $export->array_export_label[$key];
+ print $objexport->array_export_label[$key];
print ' ';
- print ''.img_picto($langs->trans("NewExport"),'filenew').' ';
+ print ''.img_picto($langs->trans("NewExport"),'filenew').' ';
print ' ';
}
}
@@ -200,13 +206,13 @@ if ($step == 2 && $datatoexport)
// Module
print ''.$langs->trans("Module").' ';
print '';
- print img_object($export->array_export_module[0]->getName(),$export->array_export_module[0]->picto).' ';
- print $export->array_export_module[0]->getName();
+ print img_object($objexport->array_export_module[0]->getName(),$objexport->array_export_module[0]->picto).' ';
+ print $objexport->array_export_module[0]->getName();
print ' ';
// Lot de données à exporter
print ''.$langs->trans("DatasetToExport").' ';
- print ''.$export->array_export_label[0].' ';
+ print ''.$objexport->array_export_label[0].' ';
print '';
print ' ';
@@ -220,7 +226,7 @@ if ($step == 2 && $datatoexport)
print '';
// Champs exportables
- $fieldsarray=$export->array_export_fields[0];
+ $fieldsarray=$objexport->array_export_fields[0];
# $this->array_export_module[$i]=$module;
# $this->array_export_code[$i]=$module->export_code[$r];
@@ -301,13 +307,13 @@ if ($step == 3 && $datatoexport)
// Module
print ''.$langs->trans("Module").' ';
print '';
- print img_object($export->array_export_module[0]->getName(),$export->array_export_module[0]->picto).' ';
- print $export->array_export_module[0]->getName();
+ print img_object($objexport->array_export_module[0]->getName(),$objexport->array_export_module[0]->picto).' ';
+ print $objexport->array_export_module[0]->getName();
print ' ';
// Lot de données à exporter
print ''.$langs->trans("DatasetToExport").' ';
- print ''.$export->array_export_label[0].' ';
+ print ''.$objexport->array_export_label[0].' ';
// Nbre champs exportés
print ''.$langs->trans("ExportedFields").' ';
@@ -315,7 +321,7 @@ if ($step == 3 && $datatoexport)
foreach($array_selected as $code=>$value)
{
$list.=($list?',':'');
- $list.=$langs->trans($export->array_export_fields[0][$code]);
+ $list.=$langs->trans($objexport->array_export_fields[0][$code]);
}
print ''.$list.' ';
@@ -337,7 +343,7 @@ if ($step == 3 && $datatoexport)
$var=!$var;
print "";
- print ''.$langs->trans($export->array_export_fields[0][$code]).' ('.$code.') ';
+ print ''.$langs->trans($objexport->array_export_fields[0][$code]).' ('.$code.') ';
print '';
print $value.' ';
@@ -348,7 +354,7 @@ if ($step == 3 && $datatoexport)
print ' ';
- print ''.$langs->trans($export->array_export_fields[0][$code]).' ';
+ print ''.$langs->trans($objexport->array_export_fields[0][$code]).' ';
print ' ';
}
@@ -371,7 +377,6 @@ if ($step == 3 && $datatoexport)
print '';
}
-
if ($step == 4 && $datatoexport)
{
asort($array_selected);
@@ -407,13 +412,13 @@ if ($step == 4 && $datatoexport)
// Module
print ''.$langs->trans("Module").' ';
print '';
- print img_object($export->array_export_module[0]->getName(),$export->array_export_module[0]->picto).' ';
- print $export->array_export_module[0]->getName();
+ print img_object($objexport->array_export_module[0]->getName(),$objexport->array_export_module[0]->picto).' ';
+ print $objexport->array_export_module[0]->getName();
print ' ';
// Lot de données à exporter
print ''.$langs->trans("DatasetToExport").' ';
- print ''.$export->array_export_label[0].' ';
+ print ''.$objexport->array_export_label[0].' ';
// Nbre champs exportés
print ''.$langs->trans("ExportedFields").' ';
@@ -421,7 +426,7 @@ if ($step == 4 && $datatoexport)
foreach($array_selected as $code=>$label)
{
$list.=($list?',':'');
- $list.=$langs->trans($export->array_export_fields[0][$code]);
+ $list.=$langs->trans($objexport->array_export_fields[0][$code]);
}
print ''.$list.' ';
@@ -429,7 +434,6 @@ if ($step == 4 && $datatoexport)
print ' ';
print $langs->trans("NowClickToGenerateToBuildExportFile").' ';
- print ' ';
// Liste des formats d'exports disponibles
$var=true;
@@ -440,26 +444,27 @@ if ($step == 4 && $datatoexport)
print ''.$langs->trans("LibraryVersion").' ';
print '';
- include_once(DOL_DOCUMENT_ROOT.'/includes/modules/export/modules_export.php');
- $model=new ModeleExports();
- $liste=$model->liste_modeles($db);
-
+ $liste=$objmodel->liste_modeles($db);
foreach($liste as $key)
{
$var=!$var;
- print ''.$model->getModelName($key).' '.$model->getDriverName($key).' '.$model->getDriverVersion($key).' ';
+ print ''.$objmodel->getDriverLabel($key).' '.$objmodel->getLibLabel($key).' '.$objmodel->getLibVersion($key).' ';
}
print '';
print '';
+ if ($mesg) print $mesg;
+
$htmlform=new Form($db);
print '';
if (! is_dir($conf->export->dir_ouput)) create_exdir($conf->export->dir_ouput);
+ // Affiche liste des documents
+ // NB: La fonction show_documents rescanne les modules qd genallowed=1
$filename=$datatoexport;
- $htmlform->show_documents('export',$filename,$conf->export->dir_ouput,$_SERVER["PHP_SELF"].'?step=4&datatoexport='.$datatoexport,1,1,'csv');
+ $htmlform->show_documents('export',$filename,$conf->export->dir_ouput.'/'.$user->id,$_SERVER["PHP_SELF"].'?step=4&datatoexport='.$datatoexport,$liste,1,'csv');
print ' ';
print '
';
diff --git a/htdocs/exports/index.php b/htdocs/exports/index.php
index d755d7cc01c..815cead50d5 100644
--- a/htdocs/exports/index.php
+++ b/htdocs/exports/index.php
@@ -1,5 +1,5 @@
+/* Copyright (C) 2005-2006 Laurent Destailleur
*
* 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
@@ -67,7 +67,7 @@ $liste=$model->liste_modeles($db);
foreach($liste as $key)
{
$var=!$var;
- print ''.$model->getModelName($key).' '.$model->getDriverName($key).' '.$model->getDriverVersion($key).' ';
+ print ''.$model->getDriverLabel($key).' '.$model->getLibLabel($key).' '.$model->getLibVersion($key).' ';
}
print '';
diff --git a/htdocs/html.form.class.php b/htdocs/html.form.class.php
index ba72fa1faf4..567253c7671 100644
--- a/htdocs/html.form.class.php
+++ b/htdocs/html.form.class.php
@@ -1606,62 +1606,65 @@ class Form
}
}
- /**
- \brief Affiche un select à partir d'un tableau
- \param name nom de la zone select
- \param array tableau de key+valeur
- \param id key présélectionnée
- \param empty 1 si il faut un valeur " " dans la liste, 0 sinon
- \param key_libelle 1 pour afficher la key dans la valeur "[key] value"
- */
-
- function select_array($name, $array, $id='', $empty=0, $key_libelle=0)
- {
- print '';
-
- $i = 0;
-
- if (strlen($id)) {
- if ($empty == 1)
- {
- $array[0] = " ";
- }
- reset($array);
+ /**
+ \brief Affiche un select à partir d'un tableau
+ \param htmlname Nom de la zone select
+ \param array Tableau de key+valeur
+ \param id Key pré-sélectionnée
+ \param show_empty 1 si il faut un valeur " " dans la liste, 0 sinon
+ \param key_in_label 1 pour afficher la key dans la valeur "[key] value"
+ \param value_as_key 1 pour utiliser la valeur comme clé
+ */
+ function select_array($htmlname, $array, $id='', $show_empty=0, $key_in_label=0, $value_as_key=0)
+ {
+ print '';
+
+ $i = 0;
+
+ if (strlen($id))
+ {
+ if ($show_empty == 1)
+ {
+ $array[0] = " ";
+ }
+ reset($array);
+ }
+
+ while (list($key, $value) = each ($array))
+ {
+ print '['.$key.'] '.$value." \n";
+ }
+ else
+ {
+ if ($value == '-') { $value=' '; }
+ print ">".$value."\n";
+ }
+ }
+
+ print " \n";
}
-
- while (list($key, $value) = each ($array))
- {
- print "[$key] $value \n";
- }
- else
- {
- if ($value=="-") { $value=" "; }
- print ">$value\n";
- }
- }
-
- print " ";
- }
-
- /**
- * \brief Renvoie la chaîne de caractère décrivant l'erreur
- *
- */
-
- function error()
- {
- return $this->errorstr;
- }
+ /**
+ * \brief Renvoie la chaîne de caractère décrivant l'erreur
+ */
+ function error()
+ {
+ return $this->errorstr;
+ }
/**
@@ -1789,13 +1792,13 @@ class Form
* \param filename Nom fichier sans extension
* \param filedir Repertoire à scanner
* \param urlsource Url page origine
- * \param genallowed Génération autorisée
- * \param delallowed Suppression autorisée
+ * \param genallowed Génération autorisée (1/0 ou array des formats)
+ * \param delallowed Suppression autorisée (1/0)
* \param modelselected Modele à présélectionner par défaut
* \remarks Le fichier de facture détaillée est de la forme
* REFFACTURE-XXXXXX-detail.pdf ou XXXXX est une forme diverse
*/
- function show_documents($modulepart,$filename,$filedir,$urlsource,$genallowed,$delallowed=0,$modelselected='')
+ function show_documents($modulepart,$filename,$filedir,$urlsource,$genallowed,$delallowed=0,$modelselected='',$modelliste=array())
{
// filedir = conf->...dir_ouput."/".get_exdir(id)
@@ -1808,24 +1811,36 @@ class Form
// Affiche en-tete tableau
if ($genallowed)
{
- $liste=array();
+ $modellist=array();
if ($modulepart == 'propal')
{
- include_once(DOL_DOCUMENT_ROOT.'/includes/modules/propale/modules_propale.php');
- $model=new ModelePDFPropales();
- $liste=$model->liste_modeles($this->db);
+ if (is_array($genallowed)) $modellist=$genallowed;
+ else
+ {
+ include_once(DOL_DOCUMENT_ROOT.'/includes/modules/propale/modules_propale.php');
+ $model=new ModelePDFPropales();
+ $modellist=$model->liste_modeles($this->db);
+ }
}
elseif ($modulepart == 'facture')
{
- include_once(DOL_DOCUMENT_ROOT.'/includes/modules/facture/modules_facture.php');
- $model=new ModelePDFFactures();
- $liste=$model->liste_modeles($this->db);
+ if (is_array($genallowed)) $modellist=$genallowed;
+ else
+ {
+ include_once(DOL_DOCUMENT_ROOT.'/includes/modules/facture/modules_facture.php');
+ $model=new ModelePDFFactures();
+ $modellist=$model->liste_modeles($this->db);
+ }
}
elseif ($modulepart == 'export')
{
- include_once(DOL_DOCUMENT_ROOT.'/includes/modules/export/modules_export.php');
- $model=new ModeleExports();
- $liste=$model->liste_modeles($this->db);
+ if (is_array($genallowed)) $modellist=$genallowed;
+ else
+ {
+ include_once(DOL_DOCUMENT_ROOT.'/includes/modules/export/modules_export.php');
+ $model=new ModeleExports();
+ $modellist=$model->liste_modeles($this->db);
+ }
}
else
{
@@ -1842,7 +1857,7 @@ class Form
print '';
print ''.$langs->trans('Model').' ';
- $this->select_array('model',$liste,$modelselected);
+ $this->select_array('model',$modellist,$modelselected,0,0,1);
$texte=$langs->trans('Generate');
print ' ';
print ' ';
diff --git a/htdocs/includes/modules/DolibarrModules.class.php b/htdocs/includes/modules/DolibarrModules.class.php
index 26e910960ab..b6cd0005341 100644
--- a/htdocs/includes/modules/DolibarrModules.class.php
+++ b/htdocs/includes/modules/DolibarrModules.class.php
@@ -253,9 +253,19 @@ class DolibarrModules
}
+ /**
+ \brief Retourne la liste des fichiers lang en rapport avec le module
+ \return array Tableau des fichier lang
+ */
+ function getLangFilesArray()
+ {
+ return $this->langfiles;
+ }
+
+
/**
\brief Insère ligne module
- \return int Nombre d'erreurs (0 si ok)
+ \return int Nombre d'erreurs (0 si ok)
*/
function _dbactive()
{
diff --git a/htdocs/includes/modules/export/export_csv.modules.php b/htdocs/includes/modules/export/export_csv.modules.php
index 9122b0afbeb..6e0ea41039b 100644
--- a/htdocs/includes/modules/export/export_csv.modules.php
+++ b/htdocs/includes/modules/export/export_csv.modules.php
@@ -38,9 +38,16 @@ require_once(DOL_DOCUMENT_ROOT ."/includes/modules/export/modules_export.php");
class ExportCsv extends ModeleExports
{
+ var $id;
+ var $label;
var $extension;
+ var $version;
+
+ var $label_lib;
+ var $version_lib;
+
var $handle; // Handle fichier
-
+
/**
\brief Constructeur
@@ -51,50 +58,96 @@ class ExportCsv extends ModeleExports
global $conf,$langs;
$this->db = $db;
- $this->extension='csv';
+ $this->id='csv'; // Same value then xxx in file name export_xxx.modules.php
+ $this->label='Csv'; // Label of driver
+ $this->extension='csv'; // Extension for generated file by this driver
+ $ver=split(' ','$Revision$');
+ $this->version=$ver[2]; // Driver version
+
+ // If driver use an external library, put its name here
+ $this->label_lib='Dolibarr';
+ $this->version_lib=DOL_VERSION;
}
+ function getDriverId()
+ {
+ return $this->id;
+ }
- function get_extension()
+ function getDriverLabel()
+ {
+ return $this->label;
+ }
+
+ function getDriverExtension()
{
return $this->extension;
}
+ function getDriverVersion()
+ {
+ return $this->version;
+ }
+
+ function getLibLabel()
+ {
+ return $this->label_lib;
+ }
+
+ function getLibVersion()
+ {
+ return $this->version_lib;
+ }
+
function open_file($file)
{
dolibarr_syslog("ExportCsv::open_file file=$file");
$this->handle = fopen($file, "wt");
+ return 0;
}
- function write_header()
+ function write_header($langs)
{
-
+ return 0;
}
- function write_title()
+ function write_title($array_export_fields_label,$array_selected_sorted,$langs)
{
-
+ foreach($array_selected_sorted as $code => $value)
+ {
+ fwrite($this->handle,$langs->trans($array_export_fields_label[$code]).";");
+ }
+ fwrite($this->handle,"\n");
+ return 0;
}
- function write_record()
+ function write_record($array_alias,$array_selected_sorted,$objp)
{
-
+ foreach($array_selected_sorted as $code => $value)
+ {
+ $alias=$array_alias[$code];
+ //print "dd".$alias;
+ fwrite($this->handle,ereg_replace(';',',',$objp->$alias).";");
+ }
+ fwrite($this->handle,"\n");
+ return 0;
}
- function write_footer()
+ function write_footer($langs)
{
-
+ return 0;
}
function close_file()
{
fclose($this->handle);
+ return 0;
}
}
diff --git a/htdocs/includes/modules/export/modules_export.php b/htdocs/includes/modules/export/modules_export.php
index d732436995a..4f6abf156ce 100644
--- a/htdocs/includes/modules/export/modules_export.php
+++ b/htdocs/includes/modules/export/modules_export.php
@@ -37,47 +37,68 @@ class ModeleExports
{
var $error='';
- var $modelname;
- var $drivername;
+ var $driverlabel;
var $driverversion;
+ var $libabel;
+ var $libversion;
+
/**
* \brief Constructeur
*/
function ModeleExports()
{
- $this->modelname=array('csv'=>'Csv','excel'=>'Excel');
- $this->drivername=array('csv'=>'Dolibarr','excel'=>'Php_WriteExcel');
- $this->driverversion=array('csv'=>DOL_VERSION,'excel'=>'?');
}
/**
- * \brief Renvoi la liste des modèles actifs
+ * \brief Charge en memoire et renvoie la liste des modèles actifs
* \param db Handler de base
*/
function liste_modeles($db)
{
- //$liste=array('csv','excel');
- $liste=array('csv');
+ dolibarr_syslog("ModeleExport::loadFormat");
+
+ $dir=DOL_DOCUMENT_ROOT."/includes/modules/export/";
+ $handle=opendir($dir);
+
+ // Recherche des fichiers drivers exports disponibles
+ $var=True;
+ $i=0;
+ while (($file = readdir($handle))!==false)
+ {
+ if (eregi("^export_(.*)\.modules\.php",$file,$reg))
+ {
+ $moduleid=$reg[1];
- return $liste;
- }
+ // Chargement de la classe
+ $file = $dir."/export_".$moduleid.".modules.php";
+ $classname = "Export".ucfirst($moduleid);
+
+ require_once($file);
+ $module = new $classname($db);
+
+ // Driver properties
+ $this->driverlabel[$module->id]=$module->getDriverLabel();
+ $this->driverversion[$module->id]=$module->getDriverVersion();
+ // If use an external lib
+ $this->liblabel[$module->id]=$module->getLibLabel();
+ $this->libversion[$module->id]=$module->getLibVersion();
+
+ $i++;
+ }
+ }
- /**
- * \brief Renvoi nom d'un format export
- */
- function getModelName($key)
- {
- return $this->modelname[$key];
+ return array_keys($this->driverlabel);
}
+
/**
* \brief Renvoi libelle d'un driver export
*/
- function getDriverName($key)
+ function getDriverLabel($key)
{
- return $this->drivername[$key];
+ return $this->driverlabel[$key];
}
/**
@@ -88,6 +109,22 @@ class ModeleExports
return $this->driverversion[$key];
}
+ /**
+ * \brief Renvoi libelle de librairie externe du driver
+ */
+ function getLibLabel($key)
+ {
+ return $this->liblabel[$key];
+ }
+
+ /**
+ * \brief Renvoi version de librairie externe du driver
+ */
+ function getLibVersion($key)
+ {
+ return $this->libversion[$key];
+ }
+
/**
diff --git a/htdocs/includes/modules/modAdherent.class.php b/htdocs/includes/modules/modAdherent.class.php
index c43f4016821..bbcb24a6184 100644
--- a/htdocs/includes/modules/modAdherent.class.php
+++ b/htdocs/includes/modules/modAdherent.class.php
@@ -73,6 +73,7 @@ class modAdherent extends DolibarrModules
//------------
$this->depends = array();
$this->requiredby = array();
+ $this->langfiles = array("members","companies");
// Constantes
//-----------
@@ -195,8 +196,17 @@ class modAdherent extends DolibarrModules
$r++;
$this->export_code[$r]=$this->numero.'_'.$r;
$this->export_label[$r]='Adhérents et attributs';
- $this->export_fields_array[$r]=array('a.nom'=>"Lastname",'a.prenom'=>"Firstname",'a.address'=>"Address",'a.cp'=>"Zip",'a.ville'=>"Town",'a.pays'=>"Country",'a.email'=>"Email",'a.login'=>"Login",'a.naiss'=>"Birthday");
- $this->export_sql[$r]="select ".join(',',array_keys($this->export_fields_array[$r])).' from '.MAIN_DB_PREFIX.'adherent as a';
+ $this->export_fields_array[$r]=array('a.nom'=>"Lastname",'a.prenom'=>"Firstname",'a.adresse'=>"Address",'a.cp'=>"Zip",'a.ville'=>"Town",'a.pays'=>"Country",'a.email'=>"Email",'a.login'=>"Login",'a.naiss'=>"Birthday");
+ $this->export_alias_array[$r]=array('a.nom'=>"lastname",'a.prenom'=>"firstname",'a.adresse'=>"address",'a.cp'=>"zip",'a.ville'=>"town",'a.pays'=>"country",'a.email'=>"email",'a.login'=>"login",'a.naiss'=>"birthday");
+ $this->export_sql[$r]="select ";
+ $i=0;
+ foreach ($this->export_alias_array[$r] as $key => $value)
+ {
+ if ($i > 0) $this->export_sql[$r].=', ';
+ else $i++;
+ $this->export_sql[$r].=$key.' as '.$value;
+ }
+ $this->export_sql[$r].=' from '.MAIN_DB_PREFIX.'adherent as a';
$this->export_permission[$r]=array(array("adherent","export"));
}
diff --git a/htdocs/includes/modules/modSociete.class.php b/htdocs/includes/modules/modSociete.class.php
index 4e8d1333e4d..4d97e230849 100644
--- a/htdocs/includes/modules/modSociete.class.php
+++ b/htdocs/includes/modules/modSociete.class.php
@@ -72,7 +72,8 @@ class modSociete extends DolibarrModules
// Dépendances
$this->depends = array();
$this->requiredby = array("modCommercial","modFacture","modFournisseur","modFicheinter","modPropale","modContrat","modCommande");
-
+ $this->langfiles = array("companies");
+
// Constantes
$this->const = array();
@@ -148,18 +149,38 @@ class modSociete extends DolibarrModules
//--------
$r=0;
+ // Export des liste des societes et attributs
$r++;
$this->export_code[$r]=$this->numero.'_'.$r;
$this->export_label[$r]='Liste des societes et attributs';
- $this->export_fields_array[$r]=array('s.idp'=>"Id",'s.nom'=>"Name",'s.prefix'=>"Prefix",'s.client'=>"Customer",'s.fournisseur'=>"Supplier",'s.datec'=>"DateCreation",'s.tms'=>"DateLastModification",'s.code_client'=>"CustomerCode",'s.code_fournisseur'=>"SupplierCode",'s.address'=>"Address",'s.cp'=>"Zip",'s.ville'=>"Town",'p.libelle'=>"Country",'p.code'=>"CountryCode",'s.tel'=>"Phone",'s.fax'=>"Fax",'s.url'=>"Url",'s.siret'=>"IdProf1",'s.siren'=>"IdProf2",'s.ape'=>"IdProf3",'s.tva_intra'=>"VATIntraShort",'s.capital'=>"Capital",'s.note'=>"Note");
- $this->export_sql[$r]="select ".join(',',array_keys($this->export_fields_array[$r])).' from '.MAIN_DB_PREFIX.'societe as s, '.MAIN_DB_PREFIX.'c_pays as p where s.fk_pays = p.rowid';
+ $this->export_fields_array[$r]=array('s.idp'=>"Id",'s.nom'=>"Name",'s.prefix_comm'=>"Prefix",'s.client'=>"Customer",'s.fournisseur'=>"Supplier",'s.datec'=>"DateCreation",'s.tms'=>"DateLastModification",'s.code_client'=>"CustomerCode",'s.code_fournisseur'=>"SupplierCode",'s.address'=>"Address",'s.cp'=>"Zip",'s.ville'=>"Town",'p.libelle'=>"Country",'p.code'=>"CountryCode",'s.tel'=>"Phone",'s.fax'=>"Fax",'s.url'=>"Url",'s.siret'=>"IdProf1",'s.siren'=>"IdProf2",'s.ape'=>"IdProf3",'s.tva_intra'=>"VATIntraShort",'s.capital'=>"Capital",'s.note'=>"Note");
+ $this->export_alias_array[$r]=array('s.idp'=>"idsoc",'s.nom'=>"name",'s.prefix_comm'=>"prefix",'s.client'=>"iscustomer",'s.fournisseur'=>"issupplier",'s.datec'=>"datecreation",'s.tms'=>"datelastmodification",'s.code_client'=>"customercode",'s.code_fournisseur'=>"suppliercode",'s.address'=>"address",'s.cp'=>"zip",'s.ville'=>"town",'p.libelle'=>"country",'p.code'=>"countrycode",'s.tel'=>"phone",'s.fax'=>"fax",'s.url'=>"url",'s.siret'=>"idprof1",'s.siren'=>"idprof2",'s.ape'=>"idprof3",'s.tva_intra'=>"vatintra",'s.capital'=>"capital",'s.note'=>"note");
+ $this->export_sql[$r]="select ";
+ $i=0;
+ foreach ($this->export_alias_array[$r] as $key => $value)
+ {
+ if ($i > 0) $this->export_sql[$r].=', ';
+ else $i++;
+ $this->export_sql[$r].=$key.' as '.$value;
+ }
+ $this->export_sql[$r].=' from '.MAIN_DB_PREFIX.'societe as s, '.MAIN_DB_PREFIX.'c_pays as p where s.fk_pays = p.rowid';
$this->export_permission[$r]=array(array("societe","export"));
+ // Export des liste des contacts et attributs
$r++;
$this->export_code[$r]=$this->numero.'_'.$r;
$this->export_label[$r]='Liste des contacts et attributs';
- $this->export_fields_array[$r]=array('s.civilite'=>"CivilityCode",'c.name'=>'Lastname','c.firstname'=>'Firstname','c.datec'=>"DateCreation",'c.tms'=>"DateLastModification",'c.address'=>"Address",'c.cp'=>"Zip",'c.ville'=>"Town",'c.tel'=>"Phone",'s.fax'=>"Fax",'s.email'=>"EMail",'s.note'=>"Note",'p.libelle'=>"Country",'p.code'=>"CountryCode",'s.idp'=>"IdCompany",'s.nom'=>"CompanyName");
- $this->export_sql[$r]="select ".join(',',array_keys($this->export_fields_array[$r])).' from '.MAIN_DB_PREFIX.'contact as c, '.MAIN_DB_PREFIX.'c_pays as p where c.fk_pays = p.rowid LEFT JOIN '.MAIN_DB_PREFIX.'societe as s ON c.fk_soc = s.idp';
+ $this->export_fields_array[$r]=array('c.civilite'=>"CivilityCode",'c.name'=>'Lastname','c.firstname'=>'Firstname','c.datec'=>"DateCreation",'c.tms'=>"DateLastModification",'c.address'=>"Address",'c.cp'=>"Zip",'c.ville'=>"Town",'c.phone'=>"Phone",'c.fax'=>"Fax",'c.email'=>"EMail",'p.libelle'=>"Country",'p.code'=>"CountryCode",'s.idp'=>"IdCompany",'s.nom'=>"CompanyName");
+ $this->export_alias_array[$r]=array('c.civilite'=>"civilitycode",'c.name'=>'lastname','c.firstname'=>'firstname','c.datec'=>"datecreation",'c.tms'=>"datelastmodification",'c.address'=>"address",'c.cp'=>"zip",'c.ville'=>"town",'c.phone'=>"phone",'c.fax'=>"fax",'c.email'=>"email",'p.libelle'=>"country",'p.code'=>"countrycode",'s.idp'=>"idcompany",'s.nom'=>"companyname");
+ $this->export_sql[$r]="select ";
+ $i=0;
+ foreach ($this->export_alias_array[$r] as $key => $value)
+ {
+ if ($i > 0) $this->export_sql[$r].=', ';
+ else $i++;
+ $this->export_sql[$r].=$key.' as '.$value;
+ }
+ $this->export_sql[$r].=' from '.MAIN_DB_PREFIX.'c_pays as p, '.MAIN_DB_PREFIX.'socpeople as c LEFT JOIN '.MAIN_DB_PREFIX.'societe as s ON c.fk_soc = s.idp WHERE c.fk_pays = p.rowid';
$this->export_permission[$r]=array(array("societe","contact","export"));
}
diff --git a/htdocs/includes/modules/modUser.class.php b/htdocs/includes/modules/modUser.class.php
index a30527fb327..0fc1c80e426 100644
--- a/htdocs/includes/modules/modUser.class.php
+++ b/htdocs/includes/modules/modUser.class.php
@@ -69,6 +69,7 @@ class modUser extends DolibarrModules
// Dépendances
$this->depends = array();
$this->requiredby = array();
+ $this->langfiles = array("users","companies");
// Constantes
$this->const = array();
@@ -145,7 +146,16 @@ class modUser extends DolibarrModules
$this->export_code[$r]=$this->numero.'_'.$r;
$this->export_label[$r]='Liste des utilisateurs Dolibarr et attributs';
$this->export_fields_array[$r]=array('u.rowid'=>"Id",'u.name'=>"Lastname",'u.firstname'=>"Firstname",'u.code'=>"Code",'u.login'=>"Login",'u.datec'=>"DateCreation",'u.tms'=>"DateLastModification",'u.admin'=>"Admin",'u.fk_socpeople'=>"IdContact",'u.note'=>"Note",'u.datelastaccess'=>'DateLastAccess');
- $this->export_sql[$r]="select ".join(',',array_keys($this->export_fields_array[$r])).' from '.MAIN_DB_PREFIX.'user as u';
+ $this->export_alias_array[$r]=array('u.rowid'=>"rowid",'u.name'=>"name",'u.firstname'=>"firstname",'u.code'=>"code",'u.login'=>"login",'u.datec'=>"datecreation",'u.tms'=>"datelastmodification",'u.admin'=>"admin",'u.fk_socpeople'=>"idcontact",'u.note'=>"note",'u.datelastaccess'=>'datelastaccess');
+ $this->export_sql[$r]="select ";
+ $i=0;
+ foreach ($this->export_alias_array[$r] as $key => $value)
+ {
+ if ($i > 0) $this->export_sql[$r].=', ';
+ else $i++;
+ $this->export_sql[$r].=$key.' as '.$value;
+ }
+ $this->export_sql[$r].=' from '.MAIN_DB_PREFIX.'user as u';
$this->export_permission[$r]=array(array("user","user","export"));
}
diff --git a/htdocs/langs/en_US/exports.lang b/htdocs/langs/en_US/exports.lang
index 5756294f3b6..a307d8ad22f 100644
--- a/htdocs/langs/en_US/exports.lang
+++ b/htdocs/langs/en_US/exports.lang
@@ -8,11 +8,11 @@ ExportableFields=Exportable fields
ExportedFields=Exported fields
DatasetToExport=Dataset to export
Dataset=Dataset
-ChooseFieldsOrdersAndTitle=Choose fields order and title
+ChooseFieldsOrdersAndTitle=Choose fields order...
FieldsOrder=Fields order
FieldsTitle=Fields title
ChooseExportFormat=Choose export format
-NowClickToGenerateToBuildExportFile=Now, click on "Generate" to build export file
+NowClickToGenerateToBuildExportFile=Now, click on "Generate" to build export file...
AvailableFormats=Formats disponibles
LibraryUsed=Librairie
LibraryVersion=Version
\ No newline at end of file
diff --git a/htdocs/langs/fr_FR/companies.lang b/htdocs/langs/fr_FR/companies.lang
index 825ba726e16..988bc19dac1 100644
--- a/htdocs/langs/fr_FR/companies.lang
+++ b/htdocs/langs/fr_FR/companies.lang
@@ -15,7 +15,7 @@ ProspectionArea=Espace prospection
SocGroup=Groupement de sociétés
IdCompany=Id société
Company=Société
-CompanyName=Nom société
+CompanyName=Raison sociale
Companies=Sociétés
ParentCompany=Maison mère
CivilityCode=Code civilité
diff --git a/htdocs/langs/fr_FR/exports.lang b/htdocs/langs/fr_FR/exports.lang
index 7d6a91e0d48..72830b5694b 100644
--- a/htdocs/langs/fr_FR/exports.lang
+++ b/htdocs/langs/fr_FR/exports.lang
@@ -8,11 +8,11 @@ ExportableFields=Champs exportables
ExportedFields=Champs à exporter
DatasetToExport=Lot de données à exporter
Dataset=Lot de données
-ChooseFieldsOrdersAndTitle=Choisissez l'ordre et titre des champs
+ChooseFieldsOrdersAndTitle=Choisissez l'ordre des champs...
FieldsOrder=Ordre des champs
FieldsTitle=Titre champs
ChooseExportFormat=Choisissez le format d'export
-NowClickToGenerateToBuildExportFile=Maintenant, cliquez sur "Générer" pour générer le fichier export
+NowClickToGenerateToBuildExportFile=Maintenant, cliquez sur "Générer" pour générer le fichier export...
AvailableFormats=Available formats
LibraryUsed=Library used
LibraryVersion=Version
\ No newline at end of file