diff --git a/htdocs/admin/tools/dolibarr_export.php b/htdocs/admin/tools/dolibarr_export.php index e95d93ddf86..1eb19b2d0ff 100644 --- a/htdocs/admin/tools/dolibarr_export.php +++ b/htdocs/admin/tools/dolibarr_export.php @@ -145,6 +145,8 @@ print "\n"; print '
'; print ''; print ''; +print ''; + print '
1'; print ''; @@ -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);