ILIAS  release_5-2 Revision v5.2.25-18-g3f80b82851
ilContObjectManifestBuilder Class Reference

Content Object (ILIAS native learning module / digilib book) Manifest export class. More...

+ Collaboration diagram for ilContObjectManifestBuilder:

Public Member Functions

 __construct (&$a_cont_obj)
 Constructor public. More...
 
 buildManifest ()
 build manifest structure More...
 
 dump ($a_target_dir)
 dump manifest file into directory More...
 
 writeItemHierarchy ()
 write item hierarchy More...
 
 writeResources ()
 write resources More...
 
 __construct (&$a_cont_obj)
 Constructor public. More...
 
 buildManifest ($ver, $revision=null)
 build manifest structure More...
 
 dump ($a_target_dir)
 dump manifest file into directory More...
 
 writeItemHierarchy ()
 write item hierarchy More...
 
 writeItemHierarchyRec ($tree, $a_parent_node)
 write item hierarchy (Recursive Style) More...
 
 writeResources ()
 Create resource entries for the learning module "PKG" and all SCOS and Assets. More...
 

Data Fields

 $db
 
 $ilias
 
 $cont_obj
 
 $inst_id
 
 $writer
 
 $version
 

Detailed Description

Content Object (ILIAS native learning module / digilib book) Manifest export class.

Scorm 2004 Content Object Manifest export class.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$
Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
Id
class.ilContObjectManifestBuilder.php 12658 2006-11-29 08:51:48Z akill

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

Constructor & Destructor Documentation

◆ __construct() [1/2]

ilContObjectManifestBuilder::__construct ( $a_cont_obj)

Constructor public.

Definition at line 27 of file class.ilContObjectManifestBuilder.php.

References $ilDB, and $ilias.

28  {
29  global $ilDB, $ilias;
30 
31  $this->cont_obj = $a_cont_obj;
32 
33  $this->ilias = $ilias;
34  $this->db = $ilDB;
35 
36  $this->inst_id = IL_INST_ID;
37 
38  }
redirection script todo: (a better solution should control the processing via a xml file) ...
global $ilDB

◆ __construct() [2/2]

ilContObjectManifestBuilder::__construct ( $a_cont_obj)

Constructor public.

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

References $ilDB, and $ilias.

30  {
31  global $ilDB, $ilias;
32 
33  $this->cont_obj = $a_cont_obj;
34 
35  $this->ilias = $ilias;
36  $this->db = $ilDB;
37 
38  $this->inst_id = IL_INST_ID;
39 
40  }
redirection script todo: (a better solution should control the processing via a xml file) ...
global $ilDB

Member Function Documentation

◆ buildManifest() [1/2]

ilContObjectManifestBuilder::buildManifest ( )

build manifest structure

Definition at line 43 of file class.ilContObjectManifestBuilder.php.

References array, writeItemHierarchy(), writeResources(), and ilXmlWriter\xmlHeader().

44  {
45  require_once("./Services/Xml/classes/class.ilXmlWriter.php");
46 
47  $this->writer = new ilXmlWriter;
48 
49  // set xml header
50  $this->writer->xmlHeader();
51 
52  // manifest start tag
53  $attrs = array();
54  $attrs["identifier"] = "il_".IL_INST_ID."_"."man".
55  "_".$this->cont_obj->getId();
56  $attrs["version"] = "";
57  $attrs["xmlns:xsi"] = "http://www.w3.org/2001/XMLSchema-instance";
58  $attrs["xsi:schemaLocation"] = "http://www.imsproject.org/xsd/imscp_rootv1p1p2".
59  " imscp_rootv1p1p2.xsd".
60  " http://www.imsglobal.org/xsd/imsmd_rootv1p2p1".
61  " imsmd_rootv1p2p1.xsd".
62  " http://www.adlnet.org/xsd/adlcp_rootv1p2".
63  " adlcp_rootv1p2.xsd";
64  $attrs["xmlns:imsmd"] = "http://www.imsproject.org/xsd/imsmd_rootv1p2p1";
65  $attrs["xmlns:adlcp"] = "http://www.adlnet.org/xsd/adlcp_rootv1p2";
66  $attrs["xmlns"] = "http://www.imsproject.org/xsd/imscp_rootv1p1p2";
67  $this->writer->xmlStartTag("manifest", $attrs);
68 
69  // organizations start tag
70  $attrs = array();
71  $this->writer->xmlStartTag("organizations", $attrs);
72 
73  // organization start tag
74  $attrs = array();
75  $attrs["identifier"] = "il_".IL_INST_ID."_".$this->cont_obj->getType().
76  "_".$this->cont_obj->getId();
77  $attrs["structure"] = "hierarchical";
78  $this->writer->xmlStartTag("organization", $attrs);
79 
80  // title element
81  $attrs = array();
82  $this->writer->xmlElement("title", $attrs, $this->cont_obj->getTitle());
83 
84  // write item hierarchy
85  $this->writeItemHierarchy();
86 
87  // organization end tag
88  $this->writer->xmlEndTag("organization");
89 
90  // organizations end tag
91  $this->writer->xmlEndTag("organizations");
92 
93  // resources start tag
94  $attrs = array();
95  $this->writer->xmlStartTag("resources", $attrs);
96 
97  // write resources
98  $this->writeResources();
99 
100  // resources end tag
101  $this->writer->xmlEndTag("resources");
102 
103  // manifest end tag
104  $this->writer->xmlEndTag("manifest");
105 
106  // write manifest file
107  //$this->xml->xmlDumpFile($this->export_dir."/".$this->subdir."/".$this->filename
108  // , false);
109 
110  // destroy writer object
111  $this->writer->_XmlWriter;
112  }
XML writer class.
xmlHeader()
Writes xml header public.
Create styles array
The data for the language used.
+ Here is the call graph for this function:

◆ buildManifest() [2/2]

ilContObjectManifestBuilder::buildManifest (   $ver,
  $revision = null 
)

build manifest structure

Definition at line 45 of file class.ilContObjectManifestBuilder.php.

References array, writeItemHierarchyRec(), writeResources(), and ilXmlWriter\xmlHeader().

46  {
47  require_once("./Services/Xml/classes/class.ilXmlWriter.php");
48  require_once("./Modules/Scorm2004/classes/seq_editor/class.ilSCORM2004Item.php");
49 
50  $this->version = $ver;
51  $this->writer = new ilXmlWriter;
52 
53  // set xml header
54  $this->writer->xmlHeader();
55 
56  // manifest start tag
57  $attrs = array();
58  $attrs["identifier"] = "il_".IL_INST_ID."_".$this->cont_obj->getType()."_m_".$this->cont_obj->getId();
59  switch ($this->version)
60  {
61  case "2004":
62  $attrs["xmlns:imsss"]="http://www.imsglobal.org/xsd/imsss";
63  $attrs["xmlns:adlseq"]="http://www.adlnet.org/xsd/adlseq_v1p3";
64  $attrs["xmlns:adlnav"]="http://www.adlnet.org/xsd/adlnav_v1p3";
65  $attrs["xmlns:xsi"]="http://www.w3.org/2001/XMLSchema-instance";
66  $attrs["xmlns:adlcp"]="http://www.adlnet.org/xsd/adlcp_v1p3";
67  $attrs["xmlns"]="http://www.imsglobal.org/xsd/imscp_v1p1";
68  $attrs["xsi:schemaLocation"]="http://www.imsglobal.org/xsd/imscp_v1p1 imscp_v1p1.xsd http://www.adlnet.org/xsd/adlcp_v1p3 adlcp_v1p3.xsd http://www.imsglobal.org/xsd/imsss imsss_v1p0.xsd http://www.adlnet.org/xsd/adlseq_v1p3 adlseq_v1p3.xsd http://www.adlnet.org/xsd/adlnav_v1p3 adlnav_v1p3.xsd";
69  $attrs["version"]="2004 ".$revision." Edition";
70  break;
71  case "12":
72  $attrs["xmlns"]="http://www.imsproject.org/xsd/imscp_rootv1p1p2";
73  $attrs["xmlns:adlcp"]="http://www.adlnet.org/xsd/adlcp_rootv1p2";
74  $attrs["xmlns:xsi"]="http://www.w3.org/2001/XMLSchema-instance";
75  $attrs["xsi:schemaLocation"]="http://www.imsproject.org/xsd/imscp_rootv1p1p2 imscp_rootv1p1p2.xsd http://www.imsglobal.org/xsd/imsmd_rootv1p2p1 imsmd_rootv1p2p1.xsd http://www.adlnet.org/xsd/adlcp_rootv1p2 adlcp_rootv1p2.xsd";
76  $attrs["version"]="1.1";
77  break;
78  }
79  $this->writer->xmlStartTag("manifest", $attrs);
80 
81  if($this->version=="2004")
82  {
83  $this->writer->xmlStartTag("metadata");
84  $this->writer->xmlElement("schema",null,"ADL SCORM");
85  $this->writer->xmlElement("schemaversion",null,"2004 ".$revision." Edition");
86  $this->writer->xmlElement("adlcp:location",null,"indexMD.xml");
87  $this->writer->xmlEndTag("metadata");
88  }
89  // organizations start tag
90  $attrs = array();
91  if($this->version=="2004")
92  $attrs["xmlns:imscp"] = "http://www.imsglobal.org/xsd/imscp_v1p1";
93  $attrs["default"] = "il_".IL_INST_ID."_".$this->cont_obj->getType()."_".$this->cont_obj->getId();
94  $this->writer->xmlStartTag("organizations", $attrs);
95 
96  // organization start tag
97  $attrs = array();
98  $attrs["identifier"] = "il_".IL_INST_ID."_".$this->cont_obj->getType()."_".$this->cont_obj->getId();
99  $attrs["structure"] = "hierarchical";
100  $this->writer->xmlStartTag("organization", $attrs);
101 
102  // title element
103  $attrs = array();
104  $this->writer->xmlElement("title", $attrs, $this->cont_obj->getTitle());
105 
106  // write item hierarchy
107  //$this->writeItemHierarchy();
108  include_once("./Modules/Scorm2004/classes/class.ilSCORM2004Tree.php");
109  $tree = new ilSCORM2004Tree($this->cont_obj->getId());
110 
111  //$tree = new ilTree($this->cont_obj->getId());
112  //$tree->setTableNames('sahs_sc13_tree', 'sahs_sc13_tree_node');
113  //$tree->setTreeTablePK("slm_id");
114  $this->writeItemHierarchyRec($tree,$tree->getRootId());
115 
116 
117  // sequencing information
118  if($this->version=="2004") {
119  $seq_item = new ilSCORM2004Item($this->cont_obj->getId(),true);
120  $this->writer->xmlData($this->writer->xmlFormatData($seq_item->exportAsXML()),false,false);
121  }
122 
123  // organization end tag
124  $this->writer->xmlEndTag("organization");
125 
126  // organizations end tag
127  $this->writer->xmlEndTag("organizations");
128 
129  // resources start tag
130  $attrs = array();
131  $this->writer->xmlStartTag("resources", $attrs);
132 
133  // write resources
134  $this->writeResources();
135 
136  // resources end tag
137  $this->writer->xmlEndTag("resources");
138 
139  // manifest end tag
140  $this->writer->xmlEndTag("manifest");
141 
142  // write manifest file
143  //$this->xml->xmlDumpFile($this->export_dir."/".$this->subdir."/".$this->filename
144  // , false);
145 
146  // destroy writer object
147  $this->writer->_XmlWriter;
148  }
Class ilSCORM2004Condition.
writeItemHierarchyRec($tree, $a_parent_node)
write item hierarchy (Recursive Style)
XML writer class.
SCORM 2004 Editing tree.
xmlHeader()
Writes xml header public.
Create styles array
The data for the language used.
+ Here is the call graph for this function:

◆ dump() [1/2]

ilContObjectManifestBuilder::dump (   $a_target_dir)

dump manifest file into directory

Definition at line 117 of file class.ilContObjectManifestBuilder.php.

118  {
119  $this->writer->xmlDumpFile($a_target_dir."/imsmanifest.xml", false);
120  }

◆ dump() [2/2]

ilContObjectManifestBuilder::dump (   $a_target_dir)

dump manifest file into directory

Definition at line 153 of file class.ilContObjectManifestBuilder.php.

154  {
155  $this->writer->xmlDumpFile($a_target_dir."/imsmanifest.xml", false);
156  }

◆ writeItemHierarchy() [1/2]

ilContObjectManifestBuilder::writeItemHierarchy ( )

write item hierarchy

this first version only writes one item for the whole learning module

Definition at line 127 of file class.ilContObjectManifestBuilder.php.

References array.

Referenced by buildManifest().

128  {
129  // start item
130  $attrs = array();
131  $attrs["identifier"] = "INDEX";
132  $attrs["identifierref"] = "RINDEX";
133  $this->writer->xmlStartTag("item", $attrs);
134 
135  // title element
136  $attrs = array();
137  $this->writer->xmlElement("title", $attrs, $this->cont_obj->getTitle());
138 
139  // end item
140  $this->writer->xmlEndTag("item");
141  }
Create styles array
The data for the language used.
+ Here is the caller graph for this function:

◆ writeItemHierarchy() [2/2]

ilContObjectManifestBuilder::writeItemHierarchy ( )

write item hierarchy

this first version only writes one item for the whole learning module

Definition at line 163 of file class.ilContObjectManifestBuilder.php.

References array.

164  {
165  include_once("Services/MetaData/classes/class.ilMD2XML.php");
166  require_once("./Modules/Scorm2004/classes/seq_editor/class.ilSCORM2004Item.php");
167 
168  include_once("./Modules/Scorm2004/classes/class.ilSCORM2004Tree.php");
169  $tree = new ilSCORM2004Tree($this->cont_obj->getId());
170 
171  //$tree = new ilTree($this->cont_obj->getId());
172  //$tree->setTableNames('sahs_sc13_tree', 'sahs_sc13_tree_node');
173  //$tree->setTreeTablePK("slm_id");
174  $last_type = "";
175  foreach($tree->getFilteredSubTree($tree->getRootId(),Array('page')) as $obj)
176  {
177  if($obj['type']=='') continue;
178  $attrs = array();
179  if($obj['type']!='sco'&&$last_type=="sco")
180  $this->writer->xmlEndTag("item");
181  $attrs["identifier"] = "il_".IL_INST_ID."_".$obj['type']."_".$obj['obj_id'];
182  if($obj['type']=='sco')
183  $attrs["identifierref"] = $attrs["identifier"]."_ref";
184  $this->writer->xmlStartTag("item", $attrs);
185  $attrs = array();
186 
187  $this->writer->xmlElement("title", $attrs, $obj['title']);
188 
189  if($this->version=="2004")
190  {
191  // sequencing information
192  $seq_item = new ilSCORM2004Item($obj['obj_id']);
193  $this->writer->xmlData($this->writer->xmlFormatData($seq_item->exportAsXML()),false,false);
194  }
195 
196  if($obj['type']=='sco') {
197  $this->writer->xmlEndTag("item");
198  }
199  $last_type=$obj['type'];
200  }
201  $this->writer->xmlEndTag("item");
202  }
Class ilSCORM2004Condition.
SCORM 2004 Editing tree.
Create styles array
The data for the language used.

◆ writeItemHierarchyRec()

ilContObjectManifestBuilder::writeItemHierarchyRec (   $tree,
  $a_parent_node 
)

write item hierarchy (Recursive Style)

Definition at line 208 of file class.ilContObjectManifestBuilder.php.

References array.

Referenced by buildManifest().

208  {
209 
210  foreach ($tree->getFilteredChilds(Array('page'),$a_parent_node) as $obj)
211  {
212  if($obj['type']=='') continue;
213  $attrs = array();
214  $attrs["identifier"] = "il_".IL_INST_ID."_".$obj['type']."_".$obj['obj_id'];
215  if($obj['type']=='sco' || $obj['type']=='ass')
216  {
217  $attrs["identifierref"] = $attrs["identifier"]."_ref";
218  }
219  $this->writer->xmlStartTag("item", $attrs);
220  $attrs = array();
221  $this->writer->xmlElement("title", $attrs, $obj['title']);
222 
223  if ($tree->getFilteredChilds(Array('page'),$obj['obj_id']))
224  {
225  $this->writeItemHierarchyRec($tree,$obj['obj_id']);
226  }
227 
228  if($this->version=="2004")
229  {
230  if($obj['type']=='sco' || $obj['type']=='ass')
231  {
232  $this->writer->xmlStartTag("metadata");
233  $this->writer->xmlElement("adlcp:location",null,$obj['obj_id']."/indexMD.xml");
234  $this->writer->xmlEndTag("metadata");
235  }
236  require_once("./Modules/Scorm2004/classes/seq_editor/class.ilSCORM2004Item.php");
237  $seq_item = new ilSCORM2004Item($obj['obj_id']);
238  $this->writer->xmlData($this->writer->xmlFormatData($seq_item->exportAsXML()),false,false);
239  }
240  $this->writer->xmlEndTag("item");
241  }
242 
243  }
Class ilSCORM2004Condition.
writeItemHierarchyRec($tree, $a_parent_node)
write item hierarchy (Recursive Style)
Create styles array
The data for the language used.
+ Here is the caller graph for this function:

◆ writeResources() [1/2]

ilContObjectManifestBuilder::writeResources ( )

write resources

this first version only writes one resource for the whole learning module

Definition at line 149 of file class.ilContObjectManifestBuilder.php.

References array.

Referenced by buildManifest().

150  {
151  $attrs = array();
152  $attrs["identifier"] = "RINDEX";
153  $attrs["type"] = "webcontent";
154  $attrs["adlcp:scormtype"] = "asset";
155  $attrs["href"] = "res/index.html";
156  $this->writer->xmlElement("resource", $attrs, "");
157  }
Create styles array
The data for the language used.
+ Here is the caller graph for this function:

◆ writeResources() [2/2]

ilContObjectManifestBuilder::writeResources ( )

Create resource entries for the learning module "PKG" and all SCOS and Assets.

Definition at line 248 of file class.ilContObjectManifestBuilder.php.

References ilObject\_exists(), ilObject\_lookupType(), array, ilPCFileList\collectFileItems(), and ilObjStyleSheet\getContentStylePath().

249  {
250  include_once("./Modules/Scorm2004/classes/class.ilSCORM2004Tree.php");
251  $tree = new ilSCORM2004Tree($this->cont_obj->getId());
252 
253  //$tree = new ilTree($this->cont_obj->getId());
254  //$tree->setTableNames('sahs_sc13_tree', 'sahs_sc13_tree_node');
255  //$tree->setTreeTablePK("slm_id");
256  foreach($tree->getSubTree($tree->getNodeData($tree->root_id),true,array('sco', 'ass')) as $obj)
257  {
258  $attrs = array();
259  $attrs["identifier"] = "il_".IL_INST_ID."_".$obj['type']."_".$obj['obj_id']."_ref";
260  $attrs["type"] = "webcontent";
261  if ($obj['type'] == "sco")
262  {
263  $attrs[($this->version=="2004"?"adlcp:scormType":"adlcp:scormtype")] = "sco";
264  }
265  else
266  {
267  $attrs[($this->version=="2004"?"adlcp:scormType":"adlcp:scormtype")] = "asset";
268  }
269  $attrs["href"] = "./".$obj['obj_id']."/index.html";
270  $this->writer->xmlStartTag("resource", $attrs, "");
271  $this->writer->xmlElement("dependency", array("identifierref"=>"il_".IL_INST_ID."_".$obj['type']."_".$obj['obj_id'].'ITSELF'), "");
272  $this->writer->xmlElement("dependency", array("identifierref"=>"il_".IL_INST_ID."_".$obj['type']."_".$obj['obj_id'].'OBJECTS'), "");
273  $this->writer->xmlElement("dependency", array("identifierref"=>"il_".IL_INST_ID."_".$obj['type']."_".$obj['obj_id'].'RESOURCES'), "");
274  $this->writer->xmlElement("dependency", array("identifierref"=>"il_".IL_INST_ID."_".$obj['type']."_".$obj['obj_id'].'FLAVOUR'), "");
275  $this->writer->xmlEndTag("resource");
276 
277  $attrs = array();
278  $attrs["identifier"] = "il_".IL_INST_ID."_".$obj['type']."_".$obj['obj_id'].'ITSELF';
279  $attrs["type"] = "webcontent";
280  $attrs[($this->version=="2004"?"adlcp:scormType":"adlcp:scormtype")] = "asset";
281  $this->writer->xmlStartTag("resource", $attrs, "");
282  $this->writer->xmlElement("file", array("href"=>"./".$obj['obj_id']."/index.xml"), "");
283  $this->writer->xmlElement("file", array("href"=>"./".$obj['obj_id']."/ilias_co_3_7.dtd"), "");
284  $this->writer->xmlElement("file", array("href"=>"./".$obj['obj_id']."/index.html"), "");
285  $this->writer->xmlEndTag("resource");
286 
287  $attrs = array();
288  $attrs["identifier"] = "il_".IL_INST_ID."_".$obj['type']."_".$obj['obj_id'].'RESOURCES';
289  $attrs["type"] = "webcontent";
290  $attrs[($this->version=="2004"?"adlcp:scormType":"adlcp:scormtype")] = "asset";
291  $this->writer->xmlStartTag("resource", $attrs, "");
292  $this->writer->xmlEndTag("resource");
293 
294  $attrs = array();
295  $attrs["identifier"] = "il_".IL_INST_ID."_".$obj['type']."_".$obj['obj_id'].'FLAVOUR';
296  $attrs["type"] = "webcontent";
297  $attrs[($this->version=="2004"?"adlcp:scormType":"adlcp:scormtype")] = "asset";
298  $this->writer->xmlStartTag("resource", $attrs, "");
299  $this->writer->xmlElement("file", array("href"=>"./".$obj['obj_id']."/index.xml"), "");
300  $this->writer->xmlElement("file", array("href"=>"./".$obj['obj_id']."/sco.xsl"), "");
301  $this->writer->xmlElement("file", array("href"=>"./".$obj['obj_id']."/css/system.css"), "");
302  $this->writer->xmlElement("file", array("href"=>"./".$obj['obj_id']."/css/style.css"), "");
303  $this->writer->xmlElement("file", array("href"=>"./".$obj['obj_id']."/js/scorm.js"), "");
304  $this->writer->xmlEndTag("resource");
305 
306  $attrs = array();
307  $attrs["identifier"] = "il_".IL_INST_ID."_".$obj['type']."_".$obj['obj_id'].'OBJECTS';
308  $attrs["type"] = "webcontent";
309  $attrs[($this->version=="2004"?"adlcp:scormType":"adlcp:scormtype")] = "asset";
310  $this->writer->xmlStartTag("resource", $attrs, "");
311 
312  include_once("./Services/Style/Content/classes/class.ilObjStyleSheet.php");
313 
314  $active_css = ilObjStyleSheet::getContentStylePath($this->cont_obj->getStyleSheetId());
315  $active_css = explode('?', $active_css);
316  $css = fread(fopen($active_css[0],'r'),filesize($active_css[0]));
317  preg_match_all("/url\(([^\)]*)\)/",$css,$css_files);
318  $css_files = array_unique($css_files[1]);
319  $currdir = getcwd();
320  chdir(dirname($active_css[0]));
321  foreach ($css_files as $fileref)
322  {
323  if(file_exists($fileref))
324  {
325  $this->writer->xmlElement("file", array("href"=>"./".$obj['obj_id']."/images/".basename($fileref)), "");
326  }
327  }
328  chdir($currdir);
329 
330  include_once("./Modules/Scorm2004/classes/class.ilSCORM2004Tree.php");
331  $pagetree = new ilSCORM2004Tree($this->cont_obj->getId());
332 
333  //$pagetree = new ilTree($this->cont_obj->getId());
334  //$pagetree->setTableNames('sahs_sc13_tree', 'sahs_sc13_tree_node');
335  //$pagetree->setTreeTablePK("slm_id");
336  foreach($pagetree->getSubTree($pagetree->getNodeData($obj['obj_id']),false,'page') as $page)
337  {
338  $page_obj = new ilSCORM2004Page($page);
339  $page_obj->buildDom();
340  $mob_ids = $page_obj->collectMediaObjects(false);
341  foreach($mob_ids as $mob_id)
342  {
343  if ($mob_id > 0 && ilObject::_exists($mob_id))
344  {
345  $media_obj = new ilObjMediaObject($mob_id);
346  $media_obj = $media_obj->getMediaItem("Standard");
347  if($media_obj!=null && $media_obj->getLocationType() == "LocalFile")
348  $this->writer->xmlElement("file", array("href"=>"./".$obj['obj_id']."/objects/il_".IL_INST_ID."_mob_".$mob_id."/".rawurlencode($media_obj->getLocation())), "");
349  }
350  }
351 
352  include_once("./Services/COPage/classes/class.ilPCFileList.php");
353  $file_ids = ilPCFileList::collectFileItems($page_obj, $page_obj->getDomDoc());
354  foreach($file_ids as $file_id)
355  {
356  if (ilObject::_lookupType($file_id) == "file")
357  {
358  include_once("./Modules/File/classes/class.ilObjFile.php");
359  $file_obj = new ilObjFile($file_id, false);
360  $this->writer->xmlElement("file", array("href"=>"./".$obj['obj_id']."/objects/il_".IL_INST_ID."_file_".$file_id."/".rawurlencode($file_obj->filename)), "");
361  }
362  }
363  unset($page_obj);
364  }
365 
366  $this->writer->xmlEndTag("resource");
367  }
368  if($this->version=="2004")
369  {
370  $attrs = array();
371  $attrs["identifier"] = "PKG";
372  $attrs["type"] = "webcontent";
373  $attrs[($this->version=="2004"?"adlcp:scormType":"adlcp:scormtype")] = "asset";
374  $this->writer->xmlStartTag("resource", $attrs, "");
375 
376  $xsd_files = array('adlcp_v1p3.xsd','adlseq_v1p3.xsd','imsss_v1p0.xsd','adlnav_v1p3.xsd','adlnav_v1p3.xsd',
377  'imscp_v1p1.xsd','imsmanifest.xml','imsss_v1p0auxresource.xsd','imsss_v1p0control.xsd','imsss_v1p0delivery.xsd',
378  'imsss_v1p0limit.xsd','imsss_v1p0objective.xsd','imsss_v1p0random.xsd','imsss_v1p0rollup.xsd','imsss_v1p0seqrule.xsd',
379  'imsss_v1p0util.xsd','xml.xsd','index.html');
380  foreach($xsd_files as $xsd_file)
381  {
382  $attrs = array();
383  $attrs["href"] = $xsd_file;
384  $this->writer->xmlElement("file", $attrs, "");
385  }
386  $this->writer->xmlEndTag("resource");
387  }
388  }
static _exists($a_id, $a_reference=false, $a_type=null)
checks if an object exists in object_data
SCORM 2004 Editing tree.
Class ilSCORM2004Page.
static collectFileItems($a_page, $a_domdoc)
Get all file items that are used within the page.
Class ilObjFile.
Class ilObjMediaObject.
Create styles array
The data for the language used.
static _lookupType($a_id, $a_reference=false)
lookup object type
static getContentStylePath($a_style_id)
get content style path
+ Here is the call graph for this function:

Field Documentation

◆ $cont_obj

ilContObjectManifestBuilder::$cont_obj

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

◆ $db

ilContObjectManifestBuilder::$db

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

◆ $ilias

ilContObjectManifestBuilder::$ilias

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

Referenced by __construct().

◆ $inst_id

ilContObjectManifestBuilder::$inst_id

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

◆ $version

ilContObjectManifestBuilder::$version

Definition at line 24 of file class.ilContObjectManifestBuilder.php.

◆ $writer

ilContObjectManifestBuilder::$writer

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


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