<?php
-class wsPackager {
+class wsPackager
+{
protected $dir;
protected $vdir;
protected $_clean = true;
public $cleanOnDestruct = true;
- public static function package($book_id, $version, $zip = true, $cleanOnDestruct = true) {
+ public static function package($book_id, $version, $zip = true, $cleanOnDestruct = true)
+ {
global $packager;
cubePHP::neverStop();
return $packager->makePackage($zip);
}
- public function __construct($book_id, $vdir = null, $whole = true) {
+ public function __construct($book_id, $vdir = null, $whole = true)
+ {
$this->_clean = (null === $vdir);
global $core;
$this->compile();
}
- protected function compile() {
+ protected function compile()
+ {
$this->daoBook->compile($this->book_id, '2', false, $this->book->parametres->forceCompileOnDownload);
}
- protected function preparePackage() {
+ protected function preparePackage()
+ {
$this->initTempDir();
}
- public function makePackage($zip) {
+ public function makePackage($zip)
+ {
$this->preparePackage();
}
- protected function replaceContents($str, $toReplace) {
+ protected function replaceContents($str, $toReplace)
+ {
$res = $str;
foreach ($toReplace as $k => $v) {
if (is_null($v)) {
return $res;
}
- protected function copyFluidbookFiles() {
+ protected function copyFluidbookFiles()
+ {
// Copie du FB vers un répertoire temporaire
$cp = new cubeCommandLine('cp');
$cp->setArg('R');
$cp->execute();
}
- protected function copyOtherFiles($files) {
+ protected function copyOtherFiles($files)
+ {
foreach ($files as $source => $dest) {
if (is_int($source)) {
$source = $dest;
}
}
- protected function getBaseFile() {
+ protected function getBaseFile()
+ {
return $this->version . '-' . date('Ymdhis', TIME) . '-' . cubeText::str2URL($this->book->parametres->title);
}
- protected function getRelativeBase() {
+ protected function getRelativeBase()
+ {
return '/packager/download/' . $this->getBaseFile();
}
- protected function getURLBase($ext = '') {
+ protected function getURLBase($ext = '')
+ {
$res = '/fluidbook' . $this->getRelativeBase();
if ($ext != '') {
$res .= '.' . $ext;
return $res;
}
- protected function getPathBase($ext = '') {
+ protected function getPathBase($ext = '')
+ {
$res = WS_FILES . $this->getRelativeBase();
if ($ext != '') {
$res .= '.' . $ext;
return $res;
}
- protected function zip($zipfile = null) {
+ protected function zip($zipfile = null)
+ {
if (!$this->whole) {
return;
}
$rename = true;
}
- $dir=$this->getFinalPackageDir();
- if(file_exists($dir)) {
- $zip = new cubeCommandLine('zip');
- $zip->cd($dir);
- $zip->setArg(null, $zipfile);
- $zip->setArg('symlinks');
- $zip->setArg('0');
- $zip->setArg('r');
- $zip->setArg('u');
- $zip->setArg(null, '.');
- $zip->execute();
- }
+ $dir = $this->getFinalPackageDir();
+ if (file_exists($dir)) {
+ $zip = new CubeIT_CommandLine('zip');
+ $zip->cd($dir);
+ $zip->setArg(null, $zipfile);
+ $zip->setArg('symlinks');
+ $zip->setArg('0');
+ $zip->setArg('r');
+ $zip->setArg('u');
+ $zip->setArg(null, '.');
+ $zip->setManualArg('-x "*/\.*"');
+ $zip->execute();
+ }
if (!file_exists(WS_FILES . '/packager/download')) {
mkdir(WS_FILES . '/packager/download', 0777, true);
return $url;
}
- public function getFinalPackageDir() {
+ public function getFinalPackageDir()
+ {
$dir = $this->vdir;
if ($this->book->parametres->alwaysHTML5) {
$dir .= '/m/';
return $dir;
}
- protected function initTempDir() {
+ protected function initTempDir()
+ {
if (is_null($this->vdir)) {
$this->vdir = $this->dir . $this->version . '/';
}
}
}
- protected function cleanVdir() {
+ protected function cleanVdir()
+ {
if (!$this->_clean) {
return;
}
}
}
- protected function moveDatasSWF() {
+ protected function moveDatasSWF()
+ {
if (file_exists($this->vdir . '/FluidbookDatas.swf')) {
rename($this->vdir . '/FluidbookDatas.swf', $this->vdir . '/data/FluidbookDatas.swf');
}
}
}
- protected function postPackage() {
+ protected function postPackage()
+ {
}
- public function __destruct() {
+ public function __destruct()
+ {
if ($this->whole && $this->cleanOnDestruct) {
$this->cleanVdir();
}
}
- public function copy($source, $dest) {
+ public function copy($source, $dest)
+ {
if (!file_exists($source)) {
return;
}