ILIAS  Release_4_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilContObjectExport Class Reference

Export class for content objects. More...

+ Collaboration diagram for ilContObjectExport:

Public Member Functions

 ilContObjectExport (&$a_cont_obj, $a_mode="xml")
 Constructor public.
 getInstId ()
 buildExportFile ()
 build export file (complete zip file)
 buildExportFileXML ()
 build xml export file
 buildExportFilePDF ()
 build pdf offline file
 buildExportFileHTML ()
 build html package
 buildExportFileSCORM ()
 build scorm package

Data Fields

 $err
 $db
 $ilias
 $cont_obj
 $inst_id
 $mode

Detailed Description

Export class for content objects.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Databay AG ay@da.nosp@m.taba.nosp@m.y.de
Version
Id:
class.ilContObjectExport.php 22341 2009-11-12 10:43:54Z akill

Definition at line 16 of file class.ilContObjectExport.php.

Member Function Documentation

ilContObjectExport::buildExportFile ( )

build export file (complete zip file)

public

Returns

Definition at line 86 of file class.ilContObjectExport.php.

References buildExportFileHTML(), buildExportFilePDF(), buildExportFileSCORM(), and buildExportFileXML().

{
switch ($this->mode)
{
case "html":
return $this->buildExportFileHTML();
break;
case "scorm":
return $this->buildExportFileSCORM();
break;
case "pdf":
return $this->buildExportFilePDF();
break;
default:
return $this->buildExportFileXML();
break;
}
}

+ Here is the call graph for this function:

ilContObjectExport::buildExportFileHTML ( )

build html package

Definition at line 260 of file class.ilContObjectExport.php.

References $ilBench.

Referenced by buildExportFile().

{
global $ilBench;
$ilBench->start("ContentObjectExport", "buildHTMLPackage");
// create directories
$this->cont_obj->createExportDirectory("html");
// get html content
$ilBench->start("ContentObjectExport", "buildHTMLPackage_getHTML");
$this->cont_obj->exportHTML($this->export_dir."/".$this->subdir, $expLog);
$ilBench->stop("ContentObjectExport", "buildHTMLPackage_getHTML");
//$expLog->write(date("[y-m-d H:i:s] ")."Finished Export");
$ilBench->stop("ContentObjectExport", "buildHTMLPackage");
}

+ Here is the caller graph for this function:

ilContObjectExport::buildExportFilePDF ( )

build pdf offline file

Definition at line 196 of file class.ilContObjectExport.php.

References $ilBench, ilFOPUtil\makePDF(), and ilXmlWriter\xmlHeader().

Referenced by buildExportFile().

{
global $ilBench;
$ilBench->start("ContentObjectExport", "buildPDFFile");
require_once("classes/class.ilXmlWriter.php");
$this->xml = new ilXmlWriter;
// set dtd definition
//$this->xml->xmlSetDtdDef("<!DOCTYPE LearningModule SYSTEM \"http://www.ilias.uni-koeln.de/download/dtd/ilias_co.dtd\">");
// set generated comment
//$this->xml->xmlSetGenCmt("Export of ILIAS Content Module ".
// $this->cont_obj->getId()." of installation ".$this->inst.".");
// set xml header
$this->xml->xmlHeader();
// create directories
//$this->cont_obj->createExportDirectory("pdf"); //not implemened!
//ilUtil::makeDir($this->export_dir."/".$this->subdir);
//ilUtil::makeDir($this->export_dir."/".$this->subdir."/objects");
// get Log File
/*
$expDir = $this->cont_obj->getExportDirectory();
$expLog = new ilLog($expDir, "export.log");
$expLog->delete();
$expLog->setLogFormat("");
$expLog->write(date("[y-m-d H:i:s] ")."Start Export");*/
// get xml content
$ilBench->start("ContentObjectExport", "buildPDFFile_getFO");
$this->cont_obj->exportFO($this->xml,
$this->export_dir."/".$this->subdir, $expLog);
$ilBench->stop("ContentObjectExport", "buildPDFFile_getFO");
// dump fo document to file
$ilBench->start("ContentObjectExport", "buildPDFFile_dumpToFile");
//echo "dumping:".$this->export_dir."/".$this->filename;
$this->xml->xmlDumpFile($this->export_dir."/".$this->filename
, false);
$ilBench->stop("ContentObjectExport", "buildPDFFile_dumpToFile");
// convert fo to pdf file
//$ilBench->start("ContentObjectExport", "buildExportFile_zipFile");
include_once("classes/class.ilFOPUtil.php");
ilFOPUtil::makePDF($this->export_dir."/".$this->filename,
$this->export_dir."/".$this->subdir.".pdf");
//$ilBench->stop("ContentObjectExport", "buildExportFile_zipFile");
// destroy writer object
$this->xml->_XmlWriter;
//$expLog->write(date("[y-m-d H:i:s] ")."Finished Export");
$ilBench->stop("ContentObjectExport", "buildPDFFile");
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilContObjectExport::buildExportFileSCORM ( )

build scorm package

Definition at line 281 of file class.ilContObjectExport.php.

References $ilBench.

Referenced by buildExportFile().

{
global $ilBench;
$ilBench->start("ContentObjectExport", "buildSCORMPackage");
// create directories
$this->cont_obj->createExportDirectory("scorm");
// get html content
$ilBench->start("ContentObjectExport", "buildSCORMPackage_getSCORM");
$this->cont_obj->exportSCORM($this->export_dir."/".$this->subdir, $expLog);
$ilBench->stop("ContentObjectExport", "buildSCORMPackage_getSCORM");
//$expLog->write(date("[y-m-d H:i:s] ")."Finished Export");
$ilBench->stop("ContentObjectExport", "buildSCORMPackage");
}

+ Here is the caller graph for this function:

ilContObjectExport::buildExportFileXML ( )

build xml export file

Definition at line 111 of file class.ilContObjectExport.php.

References $ilBench, ilUtil\makeDir(), ilObjStyleSheet\setExportSubDir(), ilXmlWriter\xmlSetDtdDef(), and ilUtil\zip().

Referenced by buildExportFile().

{
global $ilBench;
$ilBench->start("ContentObjectExport", "buildExportFile");
require_once("classes/class.ilXmlWriter.php");
$this->xml = new ilXmlWriter;
// set dtd definition
$this->xml->xmlSetDtdDef("<!DOCTYPE ContentObject SYSTEM \"http://www.ilias.de/download/dtd/ilias_co_3_7.dtd\">");
// set generated comment
$this->xml->xmlSetGenCmt("Export of ILIAS Content Module ".
$this->cont_obj->getId()." of installation ".$this->inst.".");
// set xml header
$this->xml->xmlHeader();
// create directories
$this->cont_obj->createExportDirectory();
ilUtil::makeDir($this->export_dir."/".$this->subdir);
ilUtil::makeDir($this->export_dir."/".$this->subdir."/objects");
// get Log File
$expDir = $this->cont_obj->getExportDirectory();
$expLog = new ilLog($expDir, "export.log");
$expLog->delete();
$expLog->setLogFormat("");
$expLog->write(date("[y-m-d H:i:s] ")."Start Export");
// get xml content
//echo "ContObjExport:".$this->inst_id.":<br>";
$ilBench->start("ContentObjectExport", "buildExportFile_getXML");
$this->cont_obj->exportXML($this->xml, $this->inst_id,
$this->export_dir."/".$this->subdir, $expLog);
$ilBench->stop("ContentObjectExport", "buildExportFile_getXML");
// export style
if ($this->cont_obj->getStyleSheetId() > 0)
{
include_once("./Services/Style/classes/class.ilObjStyleSheet.php");
$style_obj = new ilObjStyleSheet($this->cont_obj->getStyleSheetId(), false);
//$style_obj->exportXML($this->export_dir."/".$this->subdir);
$style_obj->setExportSubDir("style");
$style_file = $style_obj->export();
if (is_file($style_file))
{
copy($style_file, $this->export_dir."/".$this->subdir."/style.zip");
}
}
// dump xml document to screen (only for debugging reasons)
/*
echo "<PRE>";
echo htmlentities($this->xml->xmlDumpMem($format));
echo "</PRE>";
*/
// dump xml document to file
$ilBench->start("ContentObjectExport", "buildExportFile_dumpToFile");
$this->xml->xmlDumpFile($this->export_dir."/".$this->subdir."/".$this->filename
, false);
$ilBench->stop("ContentObjectExport", "buildExportFile_dumpToFile");
// zip the file
$ilBench->start("ContentObjectExport", "buildExportFile_zipFile");
//echo "-".$this->export_dir."/".$this->subdir."-";
ilUtil::zip($this->export_dir."/".$this->subdir,
$this->export_dir."/".$this->subdir.".zip");
$ilBench->stop("ContentObjectExport", "buildExportFile_zipFile");
// destroy writer object
$this->xml->_XmlWriter;
$expLog->write(date("[y-m-d H:i:s] ")."Finished Export");
$ilBench->stop("ContentObjectExport", "buildExportFile");
return $this->export_dir."/".$this->subdir.".zip";
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilContObjectExport::getInstId ( )

Definition at line 75 of file class.ilContObjectExport.php.

References $inst_id.

{
}
ilContObjectExport::ilContObjectExport ( $a_cont_obj,
  $a_mode = "xml" 
)

Constructor public.

Definition at line 29 of file class.ilContObjectExport.php.

References $ilDB, $ilErr, and $ilias.

{
global $ilErr, $ilDB, $ilias;
$this->cont_obj =& $a_cont_obj;
$this->err =& $ilErr;
$this->ilias =& $ilias;
$this->db =& $ilDB;
$this->mode = $a_mode;
$settings = $this->ilias->getAllSettings();
//$this->inst_id = $settings["inst_id"];
$this->inst_id = IL_INST_ID;
$date = time();
switch($this->mode)
{
case "html":
$this->export_dir = $this->cont_obj->getExportDirectory("html");
$this->subdir = $this->cont_obj->getType()."_".$this->cont_obj->getId();
$this->filename = $this->subdir.".zip";
break;
case "scorm":
$this->export_dir = $this->cont_obj->getExportDirectory("scorm");
$this->subdir = $this->cont_obj->getType()."_".$this->cont_obj->getId();
$this->filename = $this->subdir.".zip";
break;
case "pdf":
$this->export_dir = $this->cont_obj->getOfflineDirectory();
$this->subdir = $date."__".$this->inst_id."__".
$this->cont_obj->getType()."_".$this->cont_obj->getId();
$this->filename = $this->subdir.".fo";
break;
default:
$this->export_dir = $this->cont_obj->getExportDirectory();
$this->subdir = $date."__".$this->inst_id."__".
$this->cont_obj->getType()."_".$this->cont_obj->getId();
$this->filename = $this->subdir.".xml";
break;
}
}

Field Documentation

ilContObjectExport::$cont_obj

Definition at line 21 of file class.ilContObjectExport.php.

ilContObjectExport::$db

Definition at line 19 of file class.ilContObjectExport.php.

ilContObjectExport::$err

Definition at line 18 of file class.ilContObjectExport.php.

ilContObjectExport::$ilias

Definition at line 20 of file class.ilContObjectExport.php.

Referenced by ilContObjectExport().

ilContObjectExport::$inst_id

Definition at line 22 of file class.ilContObjectExport.php.

Referenced by getInstId().

ilContObjectExport::$mode

Definition at line 23 of file class.ilContObjectExport.php.


The documentation for this class was generated from the following file: