Export of website

This commit is contained in:
Laurent Destailleur 2017-12-11 21:27:43 +01:00
parent 6f3c839d65
commit 48aada6090
2 changed files with 24 additions and 11 deletions

View File

@ -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)
{

View File

@ -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');