diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php index c1ff22a4da3..43ca9701e2c 100644 --- a/htdocs/comm/propal.php +++ b/htdocs/comm/propal.php @@ -328,7 +328,7 @@ if ($_POST['action'] == 'updateligne' && $user->rights->propale->creer && $_POST propale_pdf_create($db, $_GET['propalid'], $propal->modelpdf); } -if ($_POST['action'] == 'setpdfmodel' && $user->rights->propale->creer) +if ($_POST['action'] == 'builddoc' && $user->rights->propale->creer) { $propal = new Propal($db, 0, $_GET['propalid']); $propal->set_pdf_model($user, $_POST['modelpdf']); diff --git a/htdocs/exports/export.class.php b/htdocs/exports/export.class.php index 7b34cf73f22..b8eb67ce3f6 100644 --- a/htdocs/exports/export.class.php +++ b/htdocs/exports/export.class.php @@ -1,6 +1,5 @@ - * * * 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 @@ -97,15 +96,22 @@ class Export { $bool=$user->rights->$perm[0]->$perm[1]; } - if ($bool) // Permissions ok + + // Permissions ok + if ($bool) { - dolibarr_syslog("Export chargé pour le module ".$modulename." en index ".$i); + // Nom module $this->array_export_module[$i]=$module; + // Code du dataset export $this->array_export_code[$i]=$module->export_code[$r]; + // Libellé du dataset export $this->array_export_label[$i]=$module->export_label[$r]; - $this->array_export_fields_code[$i]=$module->export_fields_code[$r]; - $this->array_export_fields_label[$i]=$module->export_fields_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]; + + 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++; } } diff --git a/htdocs/exports/export.php b/htdocs/exports/export.php index 23bc1d63621..f9ace0345c5 100644 --- a/htdocs/exports/export.php +++ b/htdocs/exports/export.php @@ -36,18 +36,59 @@ $user->getrights(); if (! $user->societe_id == 0) accessforbidden(); - - +$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,isset($datatoexport)?$datatoexport:''); +$export->load_arrays($user,$datatoexport); +$action=isset($_GET["action"])?$_GET["action"]:''; +$step=isset($_GET["step"])?$_GET["step"]:'1'; -if (! isset($datatoexport)) + +/* + * Actions + */ +if ($action=='selectfield') +{ + $array_selected[$_GET["field"]]=1; + //print_r($array_selected); + $_SESSION["export_selected_fields"]=$array_selected; +} +if ($action=='unselectfield') +{ + $array_selected[$_GET["field"]]=0; + //print_r($array_selected); + $_SESSION["export_selected_fields"]=$array_selected; +} +if ($step == 1 || $action == 'cleanselect') +{ + $_SESSION["export_selected_fields"]=array(); +} + + +if ($step == 1 || ! $datatoexport) { llxHeader('',$langs->trans("NewExport")); + + /* + * Affichage onglets + */ + $h = 0; + + $head[$h][0] = DOL_URL_ROOT.'/exports/export.php?step=1'; + $head[$h][1] = $langs->trans("Step1"); + $hselected=$h; + $h++; + + /* + $head[$h][0] = ''; + $head[$h][1] = $langs->trans("Step2"); + $h++; + */ - print_fiche_titre($langs->trans("NewExport")); - + dolibarr_fiche_head($head, $hselected, $langs->trans("NewExport")); + + print ''; print $langs->trans("SelectExportDataSet").'
'; @@ -71,8 +112,8 @@ if (! isset($datatoexport)) print $export->array_export_module[$key]->getName(); print ''; } } @@ -85,40 +126,289 @@ if (! isset($datatoexport)) print '
'; print $export->array_export_label[$key]; - print ''; - print ''.img_picto($langs->trans("NewExport"),'filenew').''; + print ''; + print ''.img_picto($langs->trans("NewExport"),'filenew').''; print '
'; } -if (isset($datatoexport)) +if ($step == 2 && $datatoexport) { llxHeader('',$langs->trans("NewExport")); - print_fiche_titre($langs->trans("NewExport")." - ".$export->array_export_label[0]); - - print ''; + /* + * Affichage onglets + */ + $h = 0; - print $langs->trans("SelectExportFields").'
'; - print '
'; - - print '
'; - print ''; - print ''; - print ''; - print ''; + $head[$h][0] = DOL_URL_ROOT.'/exports/export.php?step=1'; + $head[$h][1] = $langs->trans("Step1"); + $h++; - print ''; print ''; print ''; print ''; -$var=!$var; -print ''; -print ''; -print ''; -$var=!$var; -print ''; -print ''; -print ''; + +include_once(DOL_DOCUMENT_ROOT.'/includes/modules/export/modules_export.php'); +$model=new ModeleExports(); +$liste=$model->liste_modeles($db); + +foreach($liste as $key) +{ + $var=!$var; + print ''; +} + print '
'.$langs->trans("ExportableFields").' '.$langs->trans("ExportedFields").'
'; - - // Champs exportables - $fieldscode=split(',',$export->array_export_fields_code); - $fieldslib=split(',',$export->array_export_fields_lib); - foreach($fieldscode as $i=>$code) - { - - - } + $head[$h][0] = DOL_URL_ROOT.'/exports/export.php?step=2&datatoexport='.$datatoexport; + $head[$h][1] = $langs->trans("Step2"); + $hselected=$h; + $h++; + dolibarr_fiche_head($head, $hselected, $langs->trans("NewExport")); + + print ''; + + // Module + print ''; + print ''; + // Lot de données à exporter + print ''; + print ''; + + print '
'.$langs->trans("Module").''; + print img_object($export->array_export_module[0]->getName(),$export->array_export_module[0]->picto).' '; + print $export->array_export_module[0]->getName(); print '
'.$langs->trans("DatasetToExport").''.$export->array_export_label[0].'
'; + print '
'; + + print $langs->trans("SelectExportFields").'
'; + + print ''; + print ''; + print ''; + print ''; + print ''; + + // Champs exportables + $fieldsarray=$export->array_export_fields[0]; + +# $this->array_export_module[$i]=$module; +# $this->array_export_code[$i]=$module->export_code[$r]; +# $this->array_export_label[$i]=$module->export_label[$r]; +# $this->array_export_fields_code[$i]=$module->export_fields_code[$r]; +# $this->array_export_fields_label[$i]=$module->export_fields_label[$r]; +# $this->array_export_sql[$i]=$module- + + $var=true; + foreach($fieldsarray as $code=>$label) + { + $var=!$var; + print ""; + + if (isset($array_selected[$code]) && $array_selected[$code]) + { + // Champ sélectionné + print ''; + print ''; + print ''; + } + else + { + print ''; + print ''; + print ''; + } + + print ''; + } + + print '
'.$langs->trans("ExportableFields").' '.$langs->trans("ExportedFields").'
 '.img_left().''.$label.' ('.$code.')'.$label.' ('.$code.')'.img_right().' 
'; + + print ''; + + /* + * Barre d'action + * + */ + print '
'; + + if (sizeof($array_selected)) + { + print ''.$langs->trans("NextStep").''; + } + + print '
'; +} + +if ($step == 3 && $datatoexport) +{ + llxHeader('',$langs->trans("NewExport")); + + /* + * Affichage onglets + */ + $h = 0; + + $head[$h][0] = DOL_URL_ROOT.'/exports/export.php?step=1'; + $head[$h][1] = $langs->trans("Step1"); + $h++; + + $head[$h][0] = DOL_URL_ROOT.'/exports/export.php?step=2&datatoexport='.$datatoexport; + $head[$h][1] = $langs->trans("Step2"); + $h++; + + $head[$h][0] = DOL_URL_ROOT.'/exports/export.php?step=3&datatoexport='.$datatoexport; + $head[$h][1] = $langs->trans("Step3"); + $hselected=$h; + $h++; + + dolibarr_fiche_head($head, $hselected, $langs->trans("NewExport")); + + print ''; + + // Module + print ''; + print ''; + + // Lot de données à exporter + print ''; + print ''; + + // Nbre champs exportés + print ''; + $list=''; + foreach($array_selected as $code=>$label) + { + $list.=($list?',':''); + $list.=$export->array_export_fields[0][$code]; + } + print ''; + + print '
'.$langs->trans("Module").''; + print img_object($export->array_export_module[0]->getName(),$export->array_export_module[0]->picto).' '; + print $export->array_export_module[0]->getName(); + print '
'.$langs->trans("DatasetToExport").''.$export->array_export_label[0].'
'.$langs->trans("ExportedFields").''.$list.'
'; + print '
'; + + print $langs->trans("ChooseFieldsOrdersAndTitle").'
'; + + print ''; + print ''; + print ''; + print ''; + print ''; + + $var=true; + foreach($array_selected as $code=>$value) + { + $var=!$var; + print ""; + + print ''; + + print ''; + + print ''; + + print ''; + } + + print '
'.$langs->trans("ExportedFields").''.$langs->trans("Position").''.$langs->trans("FieldsTitle").'
'.$export->array_export_fields[0][$code].' ('.$code.')'; + print ''.img_up().''; + print ''.img_down().''; + print ''.$export->array_export_fields[0][$code].'
'; + + print ''; + + /* + * Barre d'action + * + */ + print '
'; + + if (sizeof($array_selected)) + { + print ''.$langs->trans("NextStep").''; + } + + print '
'; +} + + +if ($step == 4 && $datatoexport) +{ + llxHeader('',$langs->trans("NewExport")); + + /* + * Affichage onglets + */ + $h = 0; + + $head[$h][0] = DOL_URL_ROOT.'/exports/export.php?step=1'; + $head[$h][1] = $langs->trans("Step1"); + $h++; + + $head[$h][0] = DOL_URL_ROOT.'/exports/export.php?step=2&datatoexport='.$datatoexport; + $head[$h][1] = $langs->trans("Step2"); + $h++; + + $head[$h][0] = DOL_URL_ROOT.'/exports/export.php?step=3&datatoexport='.$datatoexport; + $head[$h][1] = $langs->trans("Step3"); + $h++; + + $head[$h][0] = DOL_URL_ROOT.'/exports/export.php?step=4&datatoexport='.$datatoexport; + $head[$h][1] = $langs->trans("Step4"); + $hselected=$h; + $h++; + + dolibarr_fiche_head($head, $hselected, $langs->trans("NewExport")); + + print ''; + + // Module + print ''; + print ''; + + // Lot de données à exporter + print ''; + print ''; + + // Nbre champs exportés + print ''; + $list=''; + foreach($array_selected as $code=>$label) + { + $list.=($list?',':''); + $list.=$export->array_export_fields[0][$code]; + } + print ''; + + print '
'.$langs->trans("Module").''; + print img_object($export->array_export_module[0]->getName(),$export->array_export_module[0]->picto).' '; + print $export->array_export_module[0]->getName(); + print '
'.$langs->trans("DatasetToExport").''.$export->array_export_label[0].'
'.$langs->trans("ExportedFields").''.$list.'
'; + print '
'; + + print $langs->trans("NowClickToGenerateToBuildExportFile").'
'; + print '
'; + + // Liste des formats d'exports disponibles + $var=true; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + + include_once(DOL_DOCUMENT_ROOT.'/includes/modules/export/modules_export.php'); + $model=new ModeleExports(); + $liste=$model->liste_modeles($db); + + foreach($liste as $key) + { + $var=!$var; + print ''; + } + print '
'.$langs->trans("AvailableFormats").''.$langs->trans("LibraryUsed").''.$langs->trans("LibraryVersion").'
'.$model->getModelName($key).''.$model->getDriverName($key).''.$model->getDriverVersion($key).'
'; + + print ''; + + $htmlform=new Form($db); + print ''; print '
'; + + if (! is_dir($conf->export->dir_ouput)) create_exdir($conf->export->dir_ouput); + + $filename=$datatoexport; + $htmlform->show_documents('export',$filename,$conf->export->dir_ouput,$_SERVER["PHP_SELF"].'?step=4&datatoexport='.$datatoexport,1,1,'csv'); + + print ' 
'; } + $db->close(); llxFooter('$Date$ - $Revision$'); diff --git a/htdocs/exports/index.php b/htdocs/exports/index.php index bb2725692f5..a8af82e1873 100644 --- a/htdocs/exports/index.php +++ b/htdocs/exports/index.php @@ -59,14 +59,17 @@ print '
'.$langs->trans("AvailableFormats").''.$langs->trans("LibraryUsed").''.$langs->trans("LibraryVersion").'
ExcelPhp_WriteExcel 
CsvDolibarr 
'.$model->getModelName($key).''.$model->getDriverName($key).''.$model->getDriverVersion($key).'
'; @@ -92,7 +95,7 @@ if (sizeof($export->array_export_code)) print ''; print $export->array_export_label[$key]; print ''; - print ''.img_picto($langs->trans("NewExport"),'filenew').''; + print ''.img_picto($langs->trans("NewExport"),'filenew').''; print ''; } } diff --git a/htdocs/html.form.class.php b/htdocs/html.form.class.php index 40a22e5bfe4..6b85ce301ac 100644 --- a/htdocs/html.form.class.php +++ b/htdocs/html.form.class.php @@ -1809,54 +1809,71 @@ class Form if ($modulepart == 'expedition') { $extension='pdf'; $relativepath = get_exdir("${filename}")."${filename}.pdf"; } if ($modulepart == 'don') { $extension='html'; $relativepath = get_exdir("${filename}")."${filename}.html"; } - $i=0; + $headershown=0; + + // Affiche en-tete tableau + if ($genallowed) + { + $liste=array(); + if ($modulepart == 'propal') + { + include_once(DOL_DOCUMENT_ROOT.'/includes/modules/propale/modules_propale.php'); + $model=new ModelePDFPropales(); + $liste=$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); + } + elseif ($modulepart == 'export') + { + include_once(DOL_DOCUMENT_ROOT.'/includes/modules/export/modules_export.php'); + $model=new ModeleExports(); + $liste=$model->liste_modeles($this->db); + } + else + { + dolibarr_print_error($this->db,'Bad value for modulepart'); + return -1; + } + + $headershown=1; + + print '
'; + print ''; + + print_titre($langs->trans("Documents")); + print ''; + + print ''; + } + + // Affiche lignes if (is_dir($filedir)) { + $i=0; + $handle=opendir($filedir); while (($file = readdir($handle))!==false) { - // Si fichier non lisible ou non .pdf, on passe au suivant + // Si fichier non lisible ou mauvaise extension, on passe au suivant if (! is_readable($filedir."/".$file) || ! eregi('\.'.$extension.'$',$file)) continue; - if ($i==0) + if (! $headershown) { // Affiche en-tete tableau - if ($genallowed) - { - print ''; - print ''; - } + $headershown=1; print_titre($langs->trans("Documents")); print '
'.$langs->trans('Model').''; + $this->select_array('modelpdf',$liste,$modelselected); + $texte=$langs->trans('Generate'); + print ''; + print '
'; - - if ($genallowed) - { - $liste=array(); - if ($modulepart == 'propal') - { - include_once(DOL_DOCUMENT_ROOT.'/includes/modules/propale/modules_propale.php'); - $model=new ModelePDFPropales(); - $liste=$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); - } - else - { - dolibarr_print_error($this->db,'Bad value for modulepart'); - } - print ''; - } } - + print ""; $mimetype=strtoupper($extension); if ($extension == 'pdf') $mimetype='PDF'; @@ -1872,7 +1889,7 @@ class Form } } - if ($i > 0) + if ($headershown) { // Affiche pied du tableau print "
'.$langs->trans('Model').''; - $this->select_array('modelpdf',$liste,$modelselected); - $texte=$langs->trans('Generate'); - print ''; - print '
\n"; diff --git a/htdocs/includes/modules/export/modules_export.php b/htdocs/includes/modules/export/modules_export.php new file mode 100644 index 00000000000..051baed8b6e --- /dev/null +++ b/htdocs/includes/modules/export/modules_export.php @@ -0,0 +1,94 @@ + + * + * 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 + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * or see http://www.gnu.org/ + * + * $Id$ + * $Source$ + */ + +/** + \file htdocs/includes/modules/export/modules_export.php + \ingroup export + \brief Fichier contenant la classe mère de generation des exports + \version $Revision$ +*/ + + +/** + \class ModelePDFFactures + \brief Classe mère des modèles de facture +*/ + +class ModeleExports +{ + var $error=''; + + var $modelname; + var $drivername; + var $driverversion; + + + /** + * \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 + * \param db Handler de base + */ + function liste_modeles($db) + { + //$liste=array('csv','excel'); + $liste=array('csv'); + + return $liste; + } + + /** + * \brief Renvoi nom d'un format export + */ + function getModelName($key) + { + return $this->modelname[$key]; + } + + /** + * \brief Renvoi libelle d'un driver export + */ + function getDriverName($key) + { + return $this->drivername[$key]; + } + + /** + * \brief Renvoi version d'un driver export + */ + function getDriverVersion($key) + { + return $this->driverversion[$key]; + } + +} + + +?> diff --git a/htdocs/includes/modules/modAdherent.class.php b/htdocs/includes/modules/modAdherent.class.php index 95ee4aa1a25..c43f4016821 100644 --- a/htdocs/includes/modules/modAdherent.class.php +++ b/htdocs/includes/modules/modAdherent.class.php @@ -195,9 +195,8 @@ class modAdherent extends DolibarrModules $r++; $this->export_code[$r]=$this->numero.'_'.$r; $this->export_label[$r]='Adhérents et attributs'; - $this->export_fields_code[$r]=array(0=>'a.nom',1=>'a.prenom',2=>'a.login',3=>'a.cp',4=>'a.ville',5=>'a.pays',6=>'a.email',7=>'a.login',8=>'a.naiss'); - $this->export_fields_label[$r]=array(0=>"Lastname",1=>"Firstname",2=>"Address",3=>"Zip",4=>"Town",5=>"Country",6=>"Email",7=>"Login",8=>"Birthday"); - $this->export_sql[$r]="select ".join(',',$this->export_fields_code[$r]).' from '.MAIN_DB_PREFIX.'adherent'; + $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_permission[$r]=array(array("adherent","export")); } diff --git a/htdocs/includes/modules/modExport.class.php b/htdocs/includes/modules/modExport.class.php new file mode 100644 index 00000000000..8a9235e7585 --- /dev/null +++ b/htdocs/includes/modules/modExport.class.php @@ -0,0 +1,104 @@ + + * + * 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 + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + * + */ + +/** \defgroup export Module export + \brief Module générique pour réaliser des exports de données en base +*/ + +/** + \file htdocs/includes/modules/modExport.class.php + \ingroup export + \brief Fichier de description et activation du module export +*/ + +include_once "DolibarrModules.class.php"; + +/** \class modExport + \brief Classe de description et activation du module export +*/ + +class modExport extends DolibarrModules +{ + + /** + * \brief Constructeur. Definit les noms, constantes et boites + * \param DB handler d'accès base + */ + function modExport($DB) + { + $this->db = $DB ; + $this->numero = 240; + + $this->family = "technic"; + $this->name = "Exports"; + $this->description = "Permet export des données de la base en fichiers"; + $this->version = 'dolibarr'; // 'experimental' or 'dolibarr' or version + $this->const_name = 'MAIN_MODULE_EXPORT'; + $this->special = 0; + $this->picto=''; + + // Dir + $this->dirs = array(); + + // Config pages + $this->config_page_url = array(); + + // Dépendances + $this->depends = array(); + $this->requiredby = array(); + $this->phpmin = array(4,2,0); + $this->phpmax = array(); + + // Constantes + $this->const = array(); + + // Boxes + $this->boxes = array(); + + // Permissions + $this->rights = array(); + $this->rights_class = 'export'; + } + + /** + * \brief Fonction appelée lors de l'activation du module. Insère en base les constantes, boites, permissions du module. + * Définit également les répertoires de données à créer pour ce module. + */ + function init() + { + $sql = array(); + + return $this->_init($sql); + } + + /** + * \brief Fonction appelée lors de la désactivation d'un module. + * Supprime de la base les constantes, boites et permissions du module. + */ + function remove() + { + $sql = array(); + + return $this->_remove($sql); + } +} +?> diff --git a/htdocs/langs/en_US/exports.lang b/htdocs/langs/en_US/exports.lang index ac02d1c73ec..104077a5e38 100644 --- a/htdocs/langs/en_US/exports.lang +++ b/htdocs/langs/en_US/exports.lang @@ -4,4 +4,11 @@ ExportableDatas=Exportable dataset SelectExportDataSet=Choose dataset you want to export... SelectExportFields=Choose fields you want to export... ExportableFields=Exportable fields -ExportedFields=Exported fields \ No newline at end of file +ExportedFields=Exported fields +DatasetToExport=Dataset to export +Dataset=Dataset +ChooseFieldsOrdersAndTitle=Choose fields order and title +FieldsOrder=Fields order +FieldsTitle=Fields title +ChooseExportFormat=Choose export format +NowClickToGenerateToBuildExportFile=Now, click on "Generate" to build export file \ No newline at end of file diff --git a/htdocs/langs/fr_FR/exports.lang b/htdocs/langs/fr_FR/exports.lang index f34a19a1c67..2b005a6c347 100644 --- a/htdocs/langs/fr_FR/exports.lang +++ b/htdocs/langs/fr_FR/exports.lang @@ -4,4 +4,11 @@ ExportableDatas=Lot de donn SelectExportDataSet=Choisissez le lot de données que vous désirez exporter... SelectExportFields=Choisissez les champs à exporter... ExportableFields=Champs exportables -ExportedFields=Champs à exporter \ No newline at end of file +ExportedFields=Champs à exporter +DatasetToExport=Lot de données à exporter +Dataset=Lot de données +ChooseFieldsOrdersAndTitle=Choisissez l'ordre et titre 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 \ No newline at end of file diff --git a/htdocs/lib/functions.inc.php b/htdocs/lib/functions.inc.php index dbdae876465..706f6b1ec36 100644 --- a/htdocs/lib/functions.inc.php +++ b/htdocs/lib/functions.inc.php @@ -841,6 +841,33 @@ function img_up($alt = "default", $selected=1) else return ''.$alt.''; } +/** + \brief Affiche logo gauche + \param alt Texte sur le alt de l'image + \param selected Affiche version "selected" du logo + \return string Retourne tag img +*/ +function img_left($alt = "default", $selected=1) +{ + global $conf,$langs; + if ($alt=="default") $alt=$langs->trans("Left"); + if ($selected) return ''.$alt.''; + else return ''.$alt.''; +} + +/** + \brief Affiche logo droite + \param alt Texte sur le alt de l'image + \param selected Affiche version "selected" du logo + \return string Retourne tag img +*/ +function img_right($alt = "default", $selected=1) +{ + global $conf,$langs; + if ($alt=="default") $alt=$langs->trans("Right"); + if ($selected) return ''.$alt.''; + else return ''.$alt.''; +} /** \brief Affiche logo tick diff --git a/htdocs/master.inc.php b/htdocs/master.inc.php index 3b7f8e5f698..98635003df8 100644 --- a/htdocs/master.inc.php +++ b/htdocs/master.inc.php @@ -324,7 +324,8 @@ $conf->voyage->enabled=0; // Module actionscomm $conf->actionscomm->dir_output=DOL_DATA_ROOT."/action"; // Module export -$conf->export->enabled=0; +$conf->export->enabled=defined("MAIN_MODULE_EXPORT")?MAIN_MODULE_EXPORT:0; +$conf->export->dir_ouput=DOL_DATA_ROOT."/export"; /* diff --git a/htdocs/theme/eldy/img/1leftarrow.png b/htdocs/theme/eldy/img/1leftarrow.png index 70f0aed4c9a..123d94357ce 100644 Binary files a/htdocs/theme/eldy/img/1leftarrow.png and b/htdocs/theme/eldy/img/1leftarrow.png differ diff --git a/htdocs/theme/eldy/img/1rightarrow.png b/htdocs/theme/eldy/img/1rightarrow.png index f8d4f4f3208..06559cea65f 100644 Binary files a/htdocs/theme/eldy/img/1rightarrow.png and b/htdocs/theme/eldy/img/1rightarrow.png differ