25 include_once
"./Services/Xml/classes/class.ilXmlWriter.php";
67 $this->EXPORT_VERSION =
"2";
75 $this->mode = $a_mode;
85 if($this->
getMode() == self::MODE_SOAP)
92 if ($this->attach_users)
105 elseif($this->
getMode() == self::MODE_EXPORT)
117 #var_dump("<pre>", htmlentities($this->xmlDumpMem()),"<pre>");
124 if ($a_tag ==
"Identifier" && $a_param ==
"Entry")
126 $a_value =
"il_".$this->ilias->getSetting(
'inst_id').
"_crs_".$this->course_obj->getId();
135 $this->
xmlSetDtdDef(
"<!DOCTYPE Course PUBLIC \"-//ILIAS//DTD Course//EN\" \"".ILIAS_HTTP_PATH.
"/xml/ilias_course_3_10.dtd\">");
136 $this->
xmlSetGenCmt(
"Export of ILIAS course ". $this->course_obj->getId().
" of installation ".$this->ilias->getSetting(
'inst_id').
".");
145 $attrs[
"exportVersion"] = $this->EXPORT_VERSION;
146 $attrs[
"id"] =
"il_".$this->ilias->getSetting(
'inst_id').
'_crs_'.$this->course_obj->getId();
147 $attrs[
'showMembers'] = ($this->course_obj->getShowMembers() ?
'Yes' :
'No');
153 include_once
'Services/MetaData/classes/class.ilMD2XML.php';
155 $md2xml =
new ilMD2XML($this->course_obj->getId(),$this->course_obj->getId(),
'crs');
170 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDValues.php');
176 foreach($this->course_obj->getMembersObject()->getAdmins() as $id)
178 $attr[
'id'] =
'il_'.$this->ilias->getSetting(
'inst_id').
'_usr_'.$id;
179 $attr[
'notification'] = ($this->course_obj->getMembersObject()->isNotificationEnabled($id)) ?
'Yes' :
'No';
180 $attr[
'passed'] = $this->course_obj->getMembersObject()->hasPassed($id) ?
'Yes' :
'No';
190 foreach($this->course_obj->getMembersObject()->getTutors() as $id)
192 $attr[
'id'] =
'il_'.$this->ilias->getSetting(
'inst_id').
'_usr_'.$id;
193 $attr[
'notification'] = ($this->course_obj->getMembersObject()->isNotificationEnabled($id)) ?
'Yes' :
'No';
194 $attr[
'passed'] = $this->course_obj->getMembersObject()->hasPassed($id) ?
'Yes' :
'No';
203 foreach($this->course_obj->getMembersObject()->getMembers() as $id)
205 $attr[
'id'] =
'il_'.$this->ilias->getSetting(
'inst_id').
'_usr_'.$id;
206 $attr[
'blocked'] = ($this->course_obj->getMembersObject()->isBlocked($id)) ?
'Yes' :
'No';
207 $attr[
'passed'] = $this->course_obj->getMembersObject()->hasPassed($id) ?
'Yes' :
'No';
217 foreach($this->course_obj->getMembersObject()->getSubscribers() as $id)
219 $data = $this->course_obj->getMembersObject()->getSubscriberData($id);
221 $attr[
'id'] =
'il_'.$this->ilias->getSetting(
'inst_id').
'_usr_'.$id;
222 $attr[
'subscriptionTime'] = $data[
'time'];
232 include_once
'Modules/Course/classes/class.ilCourseWaitingList.php';
236 foreach($waiting_list->getAllUsers() as $data)
238 $attr[
'id'] =
'il_'.$this->ilias->getSetting(
'inst_id').
'_usr_'.$data[
'usr_id'];
239 $attr[
'position'] = $data[
'position'];
240 $attr[
'subscriptionTime'] = $data[
'time'];
255 if($this->course_obj->getOfflineStatus())
259 elseif($this->course_obj->getActivationUnlimitedStatus())
266 $this->
xmlElement(
'Start',null,$this->course_obj->getActivationStart());
267 $this->
xmlElement(
'End',null,$this->course_obj->getActivationEnd());
268 $this->
xmlEndTag(
'TemporarilyAvailable');
273 $this->
xmlElement(
'Syllabus',null,$this->course_obj->getSyllabus());
274 $this->
xmlElement(
'ImportantInformation',null,$this->course_obj->getImportantInformation());
279 $this->
xmlElement(
'Name',null,$this->course_obj->getContactName());
280 $this->
xmlElement(
'Responsibility',null,$this->course_obj->getContactResponsibility());
281 $this->
xmlElement(
'Phone',null,$this->course_obj->getContactPhone());
282 $this->
xmlElement(
'Email',null,$this->course_obj->getContactEmail());
283 $this->
xmlElement(
'Consultation',null,$this->course_obj->getContactConsultation());
291 $attr[
'registrationType'] =
'Confirmation';
295 $attr[
'registrationType'] =
'Direct';
299 $attr[
'registrationType'] =
'Password';
302 $attr[
'maxMembers'] = $this->course_obj->isSubscriptionMembershipLimited() ?
303 $this->course_obj->getSubscriptionMaxMembers() : 0;
304 $attr[
'notification'] = $this->course_obj->getSubscriptionNotify() ?
'Yes' :
'No';
305 $attr[
'waitingList'] = $this->course_obj->enabledWaitingList() ?
'Yes' :
'No';
320 $this->
xmlElement(
'Start',null,$this->course_obj->getSubscriptionStart());
321 $this->
xmlElement(
'End',null,$this->course_obj->getSubscriptionEnd());
322 $this->
xmlEndTag(
'TemporarilyAvailable');
324 if(strlen($pwd = $this->course_obj->getSubscriptionPassword()))
334 $attr[
'type'] =
'Manual';
338 $attr[
'type'] =
'Title';
342 $attr[
'type'] =
'Activation';
350 $attr[
'Access'] =
'Disabled';
354 $attr[
'Access'] =
'Read';
358 $attr[
'Access'] =
'Download';
362 $this->
xmlElement(
'Start',null,$this->course_obj->getArchiveStart());
363 $this->
xmlElement(
'End',null,$this->course_obj->getArchiveEnd());
383 $this->attach_users = $value ?
true :
false;