From 48aada60902adda1f4092bfe67fd5686b4de8114 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 11 Dec 2017 21:27:43 +0100 Subject: [PATCH] Export of website --- htdocs/core/lib/files.lib.php | 8 ++++---- htdocs/website/class/website.class.php | 27 +++++++++++++++++++------- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index 77476b0d506..220a390d577 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -540,7 +540,7 @@ function dol_filemtime($pathoffile) * @param int $newmask Mask for new file (0 by default means $conf->global->MAIN_UMASK). Example: '0666' * @param int $indexdatabase Index new file into database. * @return int <0 if error, 0 if nothing done (dest file already exists), >0 if OK - * @see dolCopyr dolReplaceRegExInFile + * @see dol_copy dolReplaceRegExInFile */ function dolReplaceInFile($srcfile, $arrayreplacement, $destfile='', $newmask=0, $indexdatabase=0) { @@ -610,7 +610,7 @@ function dolReplaceInFile($srcfile, $arrayreplacement, $destfile='', $newmask=0, * @param int $newmask Mask for new file (0 by default means $conf->global->MAIN_UMASK). Example: '0666' * @param int $indexdatabase Index new file into database. * @return int <0 if error, 0 if nothing done (dest file already exists), >0 if OK - * @see dolCopyr dolReplaceInFile + * @see dol_copy dolReplaceInFile */ function dolReplaceRegExInFile($srcfile, $arrayreplacement, $destfile='', $newmask=0, $indexdatabase=0) { @@ -626,7 +626,7 @@ function dolReplaceRegExInFile($srcfile, $arrayreplacement, $destfile='', $newma * @param int $newmask Mask for new file (0 by default means $conf->global->MAIN_UMASK). Example: '0666' * @param int $overwriteifexists Overwrite file if exists (1 by default) * @return int <0 if error, 0 if nothing done (dest file already exists and overwriteifexists=0), >0 if OK - * @see dolCopyr + * @see dol_delete_file */ function dol_copy($srcfile, $destfile, $newmask=0, $overwriteifexists=1) { @@ -1205,7 +1205,7 @@ function dol_delete_file($file,$disableglob=0,$nophperrors=0,$nohook=0,$object=n * @param string $dir Directory to delete * @param int $nophperrors Disable all PHP output errors * @return boolean True if success, false if error - * @see dol_delete_file + * @see dol_delete_file dol_copy */ function dol_delete_dir($dir,$nophperrors=0) { diff --git a/htdocs/website/class/website.class.php b/htdocs/website/class/website.class.php index df0dd8050b6..2a1af0f2a80 100644 --- a/htdocs/website/class/website.class.php +++ b/htdocs/website/class/website.class.php @@ -770,6 +770,13 @@ class Website extends CommonObject $website = $this; + if (empty($website->id) || empty($website->ref)) + { + setEventMessages("Website id or ref is not defined", null, 'errors'); + return ''; + } + + dol_syslog("Create temp dir ".$conf->website->dir_temp); dol_mkdir($conf->website->dir_temp); if (! is_writable($conf->website->dir_temp)) { @@ -778,21 +785,27 @@ class Website extends CommonObject } $srcdir = $conf->website->dir_output.'/'.$website->ref; - $destdir = $conf->website->dir_temp.'/'.$website->ref; + $destdir = $conf->website->dir_temp.'/'.$website->ref.'/containers'; $arrayreplacement=array(); + dol_syslog("Clear temp dir ".$destdir); + dol_delete_dir($destdir, 1); + + dol_syslog("Copy content from ".$srcdir." into ".$destdir); dolCopyDir($srcdir, $destdir, 0, 1, $arrayreplacement); - $srcdir = DOL_DATA_ROOT.'/medias/images/'.$website->ref; - $destdir = $conf->website->dir_temp.'/'.$website->ref.'/medias/images/'.$website->ref; + $srcdir = DOL_DATA_ROOT.'/medias/image/'.$website->ref; + $destdir = $conf->website->dir_temp.'/'.$website->ref.'/medias/image/'.$website->ref; + dol_syslog("Copy content from ".$srcdir." into ".$destdir); dolCopyDir($srcdir, $destdir, 0, 1, $arrayreplacement); // Build sql file - dol_mkdir($conf->website->dir_temp.'/'.$website->ref.'/export'); + dol_syslog("Create containers dir"); + dol_mkdir($conf->website->dir_temp.'/'.$website->ref.'/containers'); - $filesql = $conf->website->dir_temp.'/'.$website->ref.'/export/pages.sql'; + $filesql = $conf->website->dir_temp.'/'.$website->ref.'/website_pages.sql'; $fp = fopen($filesql,"w"); if (empty($fp)) { @@ -855,8 +868,8 @@ class Website extends CommonObject // Build zip file $filedir = $conf->website->dir_temp.'/'.$website->ref; - $fileglob = $conf->website->dir_temp.'/'.$website->ref.'/export/website_'.$website->ref.'-*.zip'; - $filename = $conf->website->dir_temp.'/'.$website->ref.'/export/website_'.$website->ref.'-'.dol_print_date(dol_now(),'dayhourlog').'.zip'; + $fileglob = $conf->website->dir_temp.'/'.$website->ref.'/website_'.$website->ref.'-*.zip'; + $filename = $conf->website->dir_temp.'/'.$website->ref.'/website_'.$website->ref.'-'.dol_print_date(dol_now(),'dayhourlog').'.zip'; dol_delete_file($fileglob, 0); dol_compress_file($filedir, $filename, 'zip');