New: Ca y est. L'export est compltement oprationnel.

This commit is contained in:
Laurent Destailleur 2006-01-22 16:14:33 +00:00
parent 597e2a5d98
commit 879f882a77
13 changed files with 342 additions and 170 deletions

View File

@ -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;
}
}

View File

@ -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='<div class="error">'.$objexport->error.'</div>';
}
else
{
// $mesg='<div class="ok">'.$langs->trans("FileSuccessfulyBuilt").'</div>';
}
}
@ -151,18 +157,18 @@ if ($step == 1 || ! $datatoexport)
print '<td>&nbsp;</td>';
print '</tr>';
$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 '<tr '.$bc[$val].'><td>';
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 '</td><td>';
print $export->array_export_label[$key];
print $objexport->array_export_label[$key];
print '</td><td align="right">';
print '<a href="'.DOL_URL_ROOT.'/exports/export.php?step=2&amp;datatoexport='.$export->array_export_code[$key].'">'.img_picto($langs->trans("NewExport"),'filenew').'</a>';
print '<a href="'.DOL_URL_ROOT.'/exports/export.php?step=2&amp;datatoexport='.$objexport->array_export_code[$key].'">'.img_picto($langs->trans("NewExport"),'filenew').'</a>';
print '</td></tr>';
}
}
@ -200,13 +206,13 @@ if ($step == 2 && $datatoexport)
// Module
print '<tr><td width="25%">'.$langs->trans("Module").'</td>';
print '<td>';
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 '</td></tr>';
// Lot de données à exporter
print '<tr><td width="25%">'.$langs->trans("DatasetToExport").'</td>';
print '<td>'.$export->array_export_label[0].'</td></tr>';
print '<td>'.$objexport->array_export_label[0].'</td></tr>';
print '</table>';
print '<br>';
@ -220,7 +226,7 @@ if ($step == 2 && $datatoexport)
print '</tr>';
// 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 '<tr><td width="25%">'.$langs->trans("Module").'</td>';
print '<td>';
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 '</td></tr>';
// Lot de données à exporter
print '<tr><td width="25%">'.$langs->trans("DatasetToExport").'</td>';
print '<td>'.$export->array_export_label[0].'</td></tr>';
print '<td>'.$objexport->array_export_label[0].'</td></tr>';
// Nbre champs exportés
print '<tr><td width="25%">'.$langs->trans("ExportedFields").'</td>';
@ -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 '<td>'.$list.'</td></tr>';
@ -337,7 +343,7 @@ if ($step == 3 && $datatoexport)
$var=!$var;
print "<tr $bc[$var]>";
print '<td>'.$langs->trans($export->array_export_fields[0][$code]).' ('.$code.')</td>';
print '<td>'.$langs->trans($objexport->array_export_fields[0][$code]).' ('.$code.')</td>';
print '<td align="right" width="100">';
print $value.' ';
@ -348,7 +354,7 @@ if ($step == 3 && $datatoexport)
print '<td>&nbsp;</td>';
print '<td>'.$langs->trans($export->array_export_fields[0][$code]).'</td>';
print '<td>'.$langs->trans($objexport->array_export_fields[0][$code]).'</td>';
print '</tr>';
}
@ -371,7 +377,6 @@ if ($step == 3 && $datatoexport)
print '</div>';
}
if ($step == 4 && $datatoexport)
{
asort($array_selected);
@ -407,13 +412,13 @@ if ($step == 4 && $datatoexport)
// Module
print '<tr><td width="25%">'.$langs->trans("Module").'</td>';
print '<td>';
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 '</td></tr>';
// Lot de données à exporter
print '<tr><td width="25%">'.$langs->trans("DatasetToExport").'</td>';
print '<td>'.$export->array_export_label[0].'</td></tr>';
print '<td>'.$objexport->array_export_label[0].'</td></tr>';
// Nbre champs exportés
print '<tr><td width="25%">'.$langs->trans("ExportedFields").'</td>';
@ -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 '<td>'.$list.'</td></tr>';
@ -429,7 +434,6 @@ if ($step == 4 && $datatoexport)
print '<br>';
print $langs->trans("NowClickToGenerateToBuildExportFile").'<br>';
print '<br>';
// Liste des formats d'exports disponibles
$var=true;
@ -440,26 +444,27 @@ if ($step == 4 && $datatoexport)
print '<td>'.$langs->trans("LibraryVersion").'</td>';
print '</tr>';
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 '<tr '.$bc[$var].'><td>'.$model->getModelName($key).'</td><td>'.$model->getDriverName($key).'</td><td>'.$model->getDriverVersion($key).'</td></tr>';
print '<tr '.$bc[$var].'><td>'.$objmodel->getDriverLabel($key).'</td><td>'.$objmodel->getLibLabel($key).'</td><td>'.$objmodel->getLibVersion($key).'</td></tr>';
}
print '</table>';
print '</div>';
if ($mesg) print $mesg;
$htmlform=new Form($db);
print '<table width="100%"><tr><td width="50%">';
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&amp;datatoexport='.$datatoexport,1,1,'csv');
$htmlform->show_documents('export',$filename,$conf->export->dir_ouput.'/'.$user->id,$_SERVER["PHP_SELF"].'?step=4&amp;datatoexport='.$datatoexport,$liste,1,'csv');
print '</td><td width="50%">&nbsp;</td></tr>';
print '</table>';

View File

@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net>
/* Copyright (C) 2005-2006 Laurent Destailleur <eldy@users.sourceforge.net>
*
* 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 '<tr '.$bc[$var].'><td>'.$model->getModelName($key).'</td><td>'.$model->getDriverName($key).'</td><td>'.$model->getDriverVersion($key).'</td></tr>';
print '<tr '.$bc[$var].'><td>'.$model->getDriverLabel($key).'</td><td>'.$model->getLibLabel($key).'</td><td>'.$model->getLibVersion($key).'</td></tr>';
}
print '</table>';

View File

@ -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 '<select class="flat" name="'.$name.'">';
$i = 0;
if (strlen($id)) {
if ($empty == 1)
{
$array[0] = "&nbsp;";
}
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 '<select class="flat" name="'.$htmlname.'">';
$i = 0;
if (strlen($id))
{
if ($show_empty == 1)
{
$array[0] = "&nbsp;";
}
reset($array);
}
while (list($key, $value) = each ($array))
{
print '<option value="';
if ($value_as_key) print $value;
else print $key;
print '" ';
// Si il faut présélectionner une valeur
if ($id && $id == $key)
{
print 'selected="true"';
}
if ($key_in_label)
{
print '>['.$key.'] '.$value."</option>\n";
}
else
{
if ($value == '-') { $value='&nbsp;'; }
print ">".$value."</option>\n";
}
}
print "</select>\n";
}
while (list($key, $value) = each ($array))
{
print "<option value=\"$key\" ";
// Si il faut présélectionner une valeur
if ($id && $id == $key)
{
print 'selected="true"';
}
if ($key_libelle)
{
print ">[$key] $value</option>\n";
}
else
{
if ($value=="-") { $value="&nbsp;"; }
print ">$value</option>\n";
}
}
print "</select>";
}
/**
* \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 '<table class="border" width="100%">';
print '<tr '.$bc[$var].'><td>'.$langs->trans('Model').'</td><td align="center">';
$this->select_array('model',$liste,$modelselected);
$this->select_array('model',$modellist,$modelselected,0,0,1);
$texte=$langs->trans('Generate');
print '</td><td align="center" colspan="2"><input class="button" type="submit" value="'.$texte.'">';
print '</td></tr>';

View File

@ -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()
{

View File

@ -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;
}
}

View File

@ -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];
}
/**

View File

@ -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"));
}

View File

@ -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"));
}

View File

@ -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"));
}

View File

@ -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

View File

@ -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é

View File

@ -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