65 : void {
67
68 $title = (string) $item['Title'];
69 $ref_id = (string) $item[
'RefId'];
70 $obj_id = (string) $item['Id'];
71 $type = (string) $item['Type'];
72
73
74 $new_ref = $this->
getMapping()->getMapping(
'components/ILIAS/Container',
'refs',
$ref_id);
75
76 if (
77 !$new_ref &&
78 ($obj_id == $this->root_id)
79 ) {
80
81
82 $new_ref = $this->mapping->getMapping('components/ILIAS/Container', 'refs', '0');
83
84
85 $this->mapping->addMapping(
'components/ILIAS/Container',
'objs', $obj_id, (
string)
ilObject::_lookupObjId((
int) $new_ref));
86 $this->mapping->addMapping(
'components/ILIAS/ILIASObject',
'obj', $obj_id, (
string)
ilObject::_lookupObjId((
int) $new_ref));
87 }
88
89 if (!$new_ref) {
90 $new_ref = $this->
createObject((
int)
$ref_id, (
int) $obj_id, $type, $title, $a_parent_node);
91 }
92 if (!$new_ref) {
93
94 return;
95 }
96
97
98 foreach ($item->Timing as $timing) {
99 $this->
parseTiming($new_ref, $a_parent_node, $timing);
100 }
101
102 foreach ($item->Item as $subitem) {
103 $this->
initItem($subitem, $new_ref);
104 }
105
106 $new_obj_id = $this->mapping->getMapping('components/ILIAS/Container', 'objs', $obj_id);
107
108
109 if ((int) $item['Style']) {
110 self::$style_map[(
int) $item[
'Style']][] = $new_obj_id;
111 }
112
113
114 if (
$ilSetting->get(
'enable_cat_page_edit',
'0')) {
115 if ($item['Page'] == "1") {
116 $this->mapping->addMapping('components/ILIAS/COPage', 'pg', 'cont:' . $obj_id, 'cont:' . $new_obj_id);
117 $this->cont_log->debug("add pg cont mapping, old: " . $obj_id . ", new: " . $new_obj_id . ", Page: -" . $item['Page'] . "-");
118 }
119
120 if ($item['StartPage'] == "1") {
121 $this->mapping->addMapping('components/ILIAS/COPage', 'pg', 'cstr:' . $obj_id, 'cstr:' . $new_obj_id);
122 }
123 }
124 }
initItem(SimpleXMLElement $item, int $a_parent_node)
parseTiming(int $a_ref_id, int $a_parent_id, SimpleXMLElement $timing)
createObject(int $ref_id, int $obj_id, string $type, string $title, int $parent_node)
static _lookupObjId(int $ref_id)