';
@@ -498,7 +500,6 @@ print " \n";
print '
';
print '';
print '';
-print '';
print '
';
print '
';
diff --git a/htdocs/admin/tools/export.php b/htdocs/admin/tools/export.php
index c8a2a02498c..d21622d1f68 100644
--- a/htdocs/admin/tools/export.php
+++ b/htdocs/admin/tools/export.php
@@ -216,8 +216,7 @@ if ($errormsg) {
}*/
}
+$db->close();
// Redirect to backup page
header("Location: dolibarr_export.php".(GETPOST('page_y', 'int') ? '?page_y='.GETPOST('page_y', 'int') : ''));
-
-$db->close();
diff --git a/htdocs/admin/tools/export_files.php b/htdocs/admin/tools/export_files.php
index 7c96d487288..871added47c 100644
--- a/htdocs/admin/tools/export_files.php
+++ b/htdocs/admin/tools/export_files.php
@@ -127,10 +127,18 @@ $result = dol_mkdir($outputdir);
$utils = new Utils($db);
+if ($export_type == 'externalmodule' && ! empty($what)) {
+ $fulldirtocompress = DOL_DOCUMENT_ROOT.'/custom/'.dol_sanitizeFileName($what);
+} else {
+ $fulldirtocompress = DOL_DATA_ROOT;
+}
+$dirtoswitch = dirname($fulldirtocompress);
+$dirtocompress = basename($fulldirtocompress);
+
if ($compression == 'zip') {
$file .= '.zip';
$excludefiles = '/(\.back|\.old|\.log|[\/\\\]temp[\/\\\]|documents[\/\\\]admin[\/\\\]documents[\/\\\])/i';
- $ret = dol_compress_dir(DOL_DATA_ROOT, $outputdir."/".$file, $compression, $excludefiles);
+ $ret = dol_compress_dir($fulldirtocompress, $outputdir."/".$file, $compression, $excludefiles);
if ($ret < 0) {
if ($ret == -2) {
$langs->load("errors");
@@ -147,7 +155,7 @@ if ($compression == 'zip') {
$file .= '.tar';
// We also exclude '/temp/' dir and 'documents/admin/documents'
- $cmd = "tar -cf ".$outputdir."/".$file." --exclude-vcs --exclude 'temp' --exclude 'dolibarr.log' --exclude 'dolibarr_*.log' --exclude 'documents/admin/documents' -C ".dirname(DOL_DATA_ROOT)." ".basename(DOL_DATA_ROOT);
+ $cmd = "tar -cf ".$outputdir."/".$file." --exclude-vcs --exclude 'temp' --exclude 'dolibarr.log' --exclude 'dolibarr_*.log' --exclude 'documents/admin/documents' -C ".dol_sanitizePathName($dirtoswitch)." ".dol_sanitizeFileName($dirtocompress);
$result = $utils->executeCLI($cmd, $outputfile);
@@ -177,11 +185,13 @@ if ($compression == 'zip') {
if ($errormsg) {
setEventMessages($langs->trans("Error")." : ".$errormsg, null, 'errors');
+} else {
+ setEventMessages($langs->trans("BackupFileSuccessfullyCreated").'.
'.$langs->trans("YouCanDownloadBackupFile"), null, 'mesgs');
}
+$db->close();
+
// Redirect to calling page
$returnto = 'dolibarr_export.php';
-$db->close();
-
header("Location: ".$returnto);