4 include_once
'./Services/Export/classes/class.ilExportFileInfo.php';
5 include_once
'./Services/Export/classes/class.ilExport.php';
30 parent::__construct();
44 if ($a_target_release ==
"") {
46 $a_target_release = $v[0] .
"." . $v[1] .
".0";
53 $sub_dir = $ts .
"__" . IL_INST_ID .
"__" .
$a_type .
"_" . $a_id;
55 $this->cont_export_dir = $export_dir . DIRECTORY_SEPARATOR . $sub_dir;
58 $GLOBALS[
'ilLog']->write(__METHOD__ .
' using base directory: ' . $this->export_run_dir);
65 ilUtil::zip($this->cont_export_dir, $this->cont_export_dir .
'.zip');
75 $GLOBALS[
'ilLog']->write(__METHOD__ .
': wrinting manifest');
76 include_once
"./Services/Xml/classes/class.ilXmlWriter.php";
78 $this->cont_manifest_writer->xmlHeader();
79 $this->cont_manifest_writer->xmlStartTag(
84 "TargetRelease" => $a_target_release,
85 "InstallationId" => IL_INST_ID,
86 "InstallationUrl" => ILIAS_HTTP_PATH)
107 $GLOBALS[
'ilLog']->write(__METHOD__);
109 foreach ($this->eo->getSubitemsForExport() as $ref_id) {
121 $exp_full = $exp_dir . DIRECTORY_SEPARATOR . $expi->getFilename();
123 $GLOBALS[
'ilLog']->write(__METHOD__ .
': zip path ' . $exp_full);
132 $new_path_rel =
'set_' . $set_number . DIRECTORY_SEPARATOR . $expi->getBasename();
133 $new_path_abs = $this->cont_export_dir . DIRECTORY_SEPARATOR . $new_path_rel;
135 $GLOBALS[
'ilLog']->write(__METHOD__ .
': ' . $new_path_rel .
' ' . $new_path_abs);
139 $exp_dir . DIRECTORY_SEPARATOR . $expi->getBasename(),
143 $GLOBALS[
'ilLog']->write($exp_dir . DIRECTORY_SEPARATOR . $expi->getBasename() .
' -> ' . $new_path_abs);
146 if ($a_id == $obj_id) {
148 if (file_exists($exp_full)) {
149 $GLOBALS[
'ilLog']->write(__METHOD__ .
': Deleting' . $exp_full);
154 $this->cont_manifest_writer->xmlElement(
157 'Path' => $new_path_rel,
176 $this->cont_manifest_writer->xmlEndTag(
'Manifest');
177 $GLOBALS[
'ilLog']->write(__METHOD__ .
': ' . $this->cont_export_dir . DIRECTORY_SEPARATOR .
'manifest.xml');
178 $this->cont_manifest_writer->xmlDumpFile($this->cont_export_dir . DIRECTORY_SEPARATOR .
'manifest.xml',
true);
static _createExportDirectory($a_obj_id, $a_export_type="xml", $a_obj_type="")
static makeDirParents($a_dir)
Create a new directory and all parent directories.
__construct(ilExportOptions $eo)
Constructor.
const ILIAS_VERSION_NUMERIC
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
static unzip($a_file, $overwrite=false, $a_flat=false)
unzip file
static _lookupTitle($a_id)
lookup object title
manifestWriterEnd($a_type, $a_id, $a_target_release)
Write manifest footer.
manifestWriterBegin($a_type, $a_id, $a_target_release)
Write container manifest.
static _lookupObjId($a_id)
static lookupLastExport($a_obj_id, $a_type, $a_version='')
Lookup last export.
Stores information of creation date and versions of export files
static zip($a_dir, $a_file, $compress_content=false)
zips given directory/file into given zip.file
Create styles array
The data for the language used.
static _lookupType($a_id, $a_reference=false)
lookup object type
addContainer()
Add container description.
addSubitems($a_id, $a_type, $a_target_release)
Add subitems.
static _getExportDirectory($a_obj_id, $a_type="xml", $a_obj_type="", $a_entity="")
Get export directory for an repository object.
exportObject($a_type, $a_id, $a_target_release="")
Export a container.
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.
static delDir($a_dir, $a_clean_only=false)
removes a dir and all its content (subdirs and files) recursively