diff --git a/htdocs/admin/tools/dolibarr_export.php b/htdocs/admin/tools/dolibarr_export.php index dcb561f5e3b..d4a483dd51f 100644 --- a/htdocs/admin/tools/dolibarr_export.php +++ b/htdocs/admin/tools/dolibarr_export.php @@ -50,7 +50,7 @@ print $langs->trans("BackupDesc",DOL_DOCUMENT_ROOT).'

'; print $langs->trans("BackupDesc2",DOL_DOCUMENT_ROOT).'
'; print $langs->trans("BackupDescX").'

'; print $langs->trans("BackupDesc3",DOL_DOCUMENT_ROOT).'
'; -print $langs->trans("BackupDescX").'

'; +print $langs->trans("BackupDescY").'

'; if ($_GET["msg"]) { @@ -190,9 +190,28 @@ print '
'; trans("MySqlExportParameters"); ?>
- trans("FullPathToMysqldumpCommand"); ?>
+ trans("FullPathToMysqldumpCommand"); + if (empty($conf->global->SYSTEMTOOLS_MYSQLDUMP)) + { + $resql=$db->query('SHOW VARIABLES LIKE \'basedir\''); + if ($resql) + { + $liste=$db->fetch_array($resql); + $basedir=$liste['Value']; + $fullpathofmysqldump=$basedir.'bin/mysqldump'; + } + else + { + $fullpathofmysqldump='/pathtomysqldump/mysqldump'; + } + } + else + { + $fullpathofmysqldump=$conf->global->SYSTEMTOOLS_MYSQLDUMP; + } + ?>
+ value="" />
@@ -579,7 +598,7 @@ if (window.parent.frames[1]) { show_documents('systemtools','',DOL_DATA_ROOT.'/admin/temp',$_SERVER['PHP_SELF'],0,1); +$result=$formfile->show_documents('systemtools','',DOL_DATA_ROOT.'/admin/temp',$_SERVER['PHP_SELF'],0,1,'','',0,0,48,0,'',$langs->trans("Files")); //if ($result) print '

'; diff --git a/htdocs/admin/tools/dolibarr_import.php b/htdocs/admin/tools/dolibarr_import.php index 1500201d3aa..030f0534c6c 100644 --- a/htdocs/admin/tools/dolibarr_import.php +++ b/htdocs/admin/tools/dolibarr_import.php @@ -42,9 +42,7 @@ print '
'; print $langs->trans("RestoreDesc",DOL_DOCUMENT_ROOT).'

'; print $langs->trans("RestoreDesc2",DOL_DOCUMENT_ROOT).'

'; -//print $langs->trans("BackupDescX").'

'; print $langs->trans("RestoreDesc3",DOL_DOCUMENT_ROOT).'

'; -//print $langs->trans("BackupDescX").'

'; ?> diff --git a/htdocs/admin/tools/export.php b/htdocs/admin/tools/export.php index de509060a53..55f3c5cf31d 100644 --- a/htdocs/admin/tools/export.php +++ b/htdocs/admin/tools/export.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2006-2009 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 @@ -17,10 +17,10 @@ */ /** - \file htdocs/admin/tools/export.php - \brief Page export de la base - \version $Id$ -*/ + * \file htdocs/admin/tools/export.php + * \brief Page export de la base + * \version $Id$ + */ require("./pre.inc.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); @@ -37,7 +37,7 @@ if (! $user->admin) accessforbidden(); -if ($file && ! $what) +if ($file && ! $what) { //print DOL_URL_ROOT.'/dolibarr_export.php'; header("Location: ".DOL_URL_ROOT.'/admin/tools/dolibarr_export.php?msg='.urlencode($langs->trans("ErrorFieldRequired",$langs->transnoentities("ExportMethod")))); @@ -85,13 +85,13 @@ if ($what == 'mysql') { dolibarr_set_const($db, 'SYSTEMTOOLS_MYSQLDUMP', $mysqldump, $type='chaine'); } - + create_exdir(DOL_DATA_ROOT.'/admin/temp'); - - // Parameteres execution + + // Parameteres execution $command=$mysqldump; if (eregi(" ",$command)) $command=$command=escapeshellarg($command); // Use quotes on command - + //$param=escapeshellarg($dolibarr_main_db_name)." -h ".escapeshellarg($dolibarr_main_db_host)." -u ".escapeshellarg($dolibarr_main_db_user)." -p".escapeshellarg($dolibarr_main_db_pass); $param=$dolibarr_main_db_name." -h ".$dolibarr_main_db_host; $param.=" -u ".$dolibarr_main_db_user; @@ -107,7 +107,7 @@ if ($what == 'mysql') } else { - $param.=" -t"; + $param.=" -t"; } if ($_POST["sql_data"]) { @@ -129,7 +129,7 @@ if ($what == 'mysql') $paramcrypted.=" -p".eregi_replace('.','*',$dolibarr_main_db_pass); $paramclear.=" -p".$dolibarr_main_db_pass; } - + $relativepathdir='/admin/temp'; $relativepathfile=$relativepathdir.'/'.$file; // for compression format, we add extension @@ -139,7 +139,7 @@ if ($what == 'mysql') $outputdir=DOL_DATA_ROOT.$relativepathdir; $outputfile=DOL_DATA_ROOT.$relativepathfile; $outputerror=DOL_DATA_ROOT.$relativepatherr; - + print $langs->trans("RunCommandSummary").':
'."\n"; print '
'."\n"; @@ -150,7 +150,7 @@ if ($what == 'mysql') $errormsg=''; $result=create_exdir($outputdir); - + // Debut appel methode execution $fullcommandcrypted=$command." ".$paramcrypted." 2>&1"; $fullcommandclear=$command." ".$paramclear." 2>&1"; @@ -159,7 +159,7 @@ if ($what == 'mysql') if ($compression == 'bz') $handle = bzopen($outputfile, 'w'); if ($handle) - { + { dol_syslog("Run command ".$fullcommandcrypted); $handlein = popen($fullcommandclear, 'r'); while (!feof($handlein)) @@ -168,12 +168,12 @@ if ($what == 'mysql') fwrite($handle,$read); } pclose($handlein); - + if ($compression == 'none') fclose($handle); if ($compression == 'gz') gzclose($handle); if ($compression == 'bz') bzclose($handle); - if (! empty($conf->global->MAIN_UMASK)) + if (! empty($conf->global->MAIN_UMASK)) @chmod($outputfile, octdec($conf->global->MAIN_UMASK)); } else @@ -195,12 +195,12 @@ if ($what == 'mysql') if (eregi('^-- MySql',$errormsg)) $errormsg=''; // Pas erreur else { - // Renommer fichier sortie en fichier erreur + // Renommer fichier sortie en fichier erreur //print "$outputfile -> $outputerror"; dol_delete_file($outputerror); @rename($outputfile,$outputerror); // Si safe_mode on et command hors du parametre exec, on a un fichier out vide donc errormsg vide - if (! $errormsg) $errormsg=$langs->trans("ErrorFailedToRunExternalCommand"); + if (! $errormsg) $errormsg=$langs->trans("ErrorFailedToRunExternalCommand"); } } // Fin execution commande @@ -227,14 +227,14 @@ if ($what) } } -$result=$formfile->show_documents('systemtools','',DOL_DATA_ROOT.'/admin/temp',$_SERVER['PHP_SELF'],0,1,'',array(),0,0,48); +$result=$formfile->show_documents('systemtools','',DOL_DATA_ROOT.'/admin/temp',$_SERVER['PHP_SELF'],0,1,'',array(),0,0,48,0,'',$langs->trans("Files")); if ($result == 0) { - print $langs->trans("NoBackupFileAvailable").'
'; - print $langs->trans("ToBuildBackupFileClickHere",DOL_URL_ROOT.'/admin/tools/dolibarr_export.php').'
'; + print $langs->trans("NoBackupFileAvailable").'
'; + print $langs->trans("ToBuildBackupFileClickHere",DOL_URL_ROOT.'/admin/tools/dolibarr_export.php').'
'; } - + print '
'; $time_end = time(); diff --git a/htdocs/html.formfile.class.php b/htdocs/html.formfile.class.php index dd70b7247d5..6cf5a40005c 100644 --- a/htdocs/html.formfile.class.php +++ b/htdocs/html.formfile.class.php @@ -138,7 +138,7 @@ class FormFile * REFFACTURE-XXXXXX-detail.pdf ou XXXXX est une forme diverse * \return int <0 si ko, nbre de fichiers affiches si ok */ - function show_documents($modulepart,$filename,$filedir,$urlsource,$genallowed,$delallowed=0,$modelselected='',$modelliste=array(),$forcenomultilang=0,$iconPDF=0,$maxfilenamelength=28,$noform=0,$param='') + function show_documents($modulepart,$filename,$filedir,$urlsource,$genallowed,$delallowed=0,$modelselected='',$modelliste=array(),$forcenomultilang=0,$iconPDF=0,$maxfilenamelength=28,$noform=0,$param='',$title='') { // filedir = conf->...dir_ouput."/".get_exdir(id) include_once(DOL_DOCUMENT_ROOT.'/lib/files.lib.php'); @@ -339,7 +339,9 @@ class FormFile if (sizeof($file_list) && ! $headershown && !$iconPDF) { $headershown=1; - print_titre($langs->trans("Documents")); + $titletoshow=$langs->trans("Documents"); + if (! empty($title)) $titletoshow=$title; + print_titre($titletoshow); print ''; } diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 636d1039740..926b4407625 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -664,7 +664,8 @@ SeeLocalSendMailSetup=See your local sendmail setup BackupDesc=To make a complete backup of Dolibarr, you must: BackupDesc2=* Save content of documents directory (%s) that contains all uplaoded and generated files (you can make a zip for exeample). BackupDesc3=* Save content of your database with a dump. for this, you can use following assistant. -BackupDescX=Built file should be stored in a secure place. +BackupDescX=Archived directory should be stored in a secure place. +BackupDescY=The generated dump file should be stored in a secure place. RestoreDesc=To restore a Dolibarr backup, you must: RestoreDesc2=* Restore archive file (zip file for example) of documents directory to extract tree of files in documents directory of a new Dolibarr installation or into this current documents directoy (%s). RestoreDesc3=* Restore, from saved dump file, the database of a new Dolibarr installation or database of this current installation. Warning, once restore is finished, you must use a login/password, that existed when backup was made, to connect again. To restore database for this current installation, you can follow this assistant. diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 026561516e2..7b3c43be721 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -661,9 +661,10 @@ NoEventOrNoAuditSetup=Aucun évenement d'audit de sécurité n'a été enregistr NoEventFoundWithCriteria=Aucun évenement d'audit de sécurité trouvé avec ces critères. SeeLocalSendMailSetup=Voir votre config local de sendmail BackupDesc=Pour réaliser une sauvegarde complète de Dolibarr, vous devez: -BackupDesc2=* Sauvegarder le contenu du répertoire document (%s) qui contient tous les fichiers uploadés ou générés (par un zip par exemple). -BackupDesc3=* Sauvegarder le contenu de votre base de données par un dump. Pour cela vous pouvez utiliser l'assistant ci-dessous. -BackupDescX=Le fichier fabriqué devra être placé en lieu sur. +BackupDesc2=* Sauvegarder le contenu du répertoire document (%s) qui contient tous les fichiers uploadés ou générés (en zippant le répertoire par exemple). +BackupDesc3=* Sauvegarder le contenu de votre base de données dans un fichier dump. Pour cela vous pouvez utiliser l'assistant ci-dessous. +BackupDescX=Le répertoire archivé devra être placé en lieu sur. +BackupDescY=Le fichier dump généré devra être placé en lieu sur. RestoreDesc=Pour restaurer une sauvegarde de Dolibarr, vous devez: RestoreDesc2=* Reprendre le fichier archive (fichier zip par exemple) du répertoire documents et en extraire l'arborescence dans le répertoire documents d'une nouvelle installation de dolibarr ou dans le répertoire documents de cette installation (%s). RestoreDesc3=* Recharger depuis le fichier dump sauvegardé, la base de donnée d'une nouvelle installation de Dolibarr ou de cette installation. Attention, une fois la restauration faite, il faudra utiliser un login/mot de passe administrateur existant à l'époque de la sauvegarde pour se connecter. Pour restaurer la base dans l'installation actuelle, vous pouvez utilisez l'assistant suivant.