Public Member Functions | |
| ilContObjectExport (&$a_cont_obj, $a_mode="xml") | |
| Constructor public. | |
| getInstId () | |
| exportRekursiv ($depth, $left, $right) | |
| exports lm_data-table to xml-structure | |
| 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 | |
Definition at line 36 of file class.ilContObjectExport.php.
| ilContObjectExport::buildExportFile | ( | ) |
build export file (complete zip file)
public
Definition at line 182 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 349 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 285 of file class.ilContObjectExport.php.
References $ilBench, and ilFOPUtil::makePDF().
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 370 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 207 of file class.ilContObjectExport.php.
References $ilBench, ilUtil::makeDir(), 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 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();
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("classes/class.ilObjStyleSheet.php");
$style_obj = new ilObjStyleSheet($this->cont_obj->getStyleSheetId(), false);
$style_obj->exportXML($this->export_dir."/".$this->subdir);
}
// 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");
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::exportRekursiv | ( | $ | depth, | |
| $ | left, | |||
| $ | right | |||
| ) |
exports lm_data-table to xml-structure
| integer | $depth | |
| integer | $left left border of nested-set-structure | |
| integer | $right right border of nested-set-structure public |
Definition at line 109 of file class.ilContObjectExport.php.
References $dom, $nested, $path, $query, $res, $result, $row, $xml, $xpc, domxml_open_mem(), xpath_eval(), and xpath_new_context().
{
// Jetzt alle lm_data anhand der obj_id auslesen.
$query = "SELECT *
FROM lm_tree, lm_data
WHERE lm_tree.lm_id = ".$this->cont_obj->getId()."
AND lm_tree.child = lm_data.obj_id
AND ( lm_data.type = 'st' OR lm_data.type = 'pg' )
AND lm_tree.depth = $depth
AND lm_tree.lft>$left and lm_tree.rgt<$right
ORDER BY lm_tree.lft";
$result = $this->db->query($query);
while (is_array($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) )
{
if ($row["type"] == "st")
{
$xml .= "<StructureObject>";
$nested = new ilNestedSetXML();
$xml .= $nested->export($row["obj_id"],"st");
$xml .= "\n";
$xml .= $this->exportRekursiv($depth+1, $row["lft"], $row["rgt"]);
$xml .= "</StructureObject>";
}
if ($row["type"] == "pg")
{
$query = "SELECT * FROM page_object WHERE page_id='".$row["obj_id"]."' ";
$result2 = $this->db->query($query);
$row2 = $result2->fetchRow(DB_FETCHMODE_ASSOC);
$PO = $row2["content"]."\n";
if (stristr($PO,"MediaObject"))
{
$dom = domxml_open_mem($PO);
$xpc = xpath_new_context($dom);
$path = "//MediaObject/MediaAlias";
$res =& xpath_eval($xpc, $path);
for($i = 0; $i < count($res->nodeset); $i++)
{
$id_arr = explode("_", $res->nodeset[$i]->get_attribute("OriginId"));
$mob_id = $id_arr[count($id_arr) - 1];
$this->mob_ids[$mob_id] = true;
}
}
$nested = new ilNestedSetXML();
$mdxml = $nested->export($row["obj_id"],"pg");
$PO = str_replace("<PageObject>","<PageObject>\n$mdxml\n",$PO);
$xml .= $PO;
}
}
return($xml);
}
Here is the call graph for this function:| ilContObjectExport::getInstId | ( | ) |
Definition at line 95 of file class.ilContObjectExport.php.
{
return $this->inst_id;
}
| ilContObjectExport::ilContObjectExport | ( | &$ | a_cont_obj, | |
| $ | a_mode = "xml" | |||
| ) |
Constructor public.
Definition at line 49 of file class.ilContObjectExport.php.
References $ilErr, $ilias, and $settings.
{
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;
}
}
| ilContObjectExport::$cont_obj |
Definition at line 41 of file class.ilContObjectExport.php.
| ilContObjectExport::$db |
Definition at line 39 of file class.ilContObjectExport.php.
| ilContObjectExport::$err |
Definition at line 38 of file class.ilContObjectExport.php.
| ilContObjectExport::$ilias |
Definition at line 40 of file class.ilContObjectExport.php.
Referenced by ilContObjectExport().
| ilContObjectExport::$inst_id |
Definition at line 42 of file class.ilContObjectExport.php.
| ilContObjectExport::$mode |
Definition at line 43 of file class.ilContObjectExport.php.
1.7.1