XML writer class. More...
Public Member Functions | |
ilCourseXMLWriter (&$course_obj) | |
constructor | |
start () | |
getXML () | |
modifyExportIdentifier ($a_tag, $a_param, $a_value) | |
__buildHeader () | |
__buildMetaData () | |
__buildAdmin () | |
__buildTutor () | |
__buildMember () | |
__buildSubscriber () | |
__buildWaitingList () | |
__buildSetting () | |
__buildObject ($a_parent_id) | |
__buildFooter () | |
Data Fields | |
$ilias | |
$xml | |
$course_obj |
XML writer class.
Class to simplify manual writing of xml documents. It only supports writing xml sequentially, because the xml document is saved in a string with no additional structure information. The author is responsible for well-formedness and validity of the xml document.
Definition at line 40 of file class.ilCourseXMLWriter.php.
ilCourseXMLWriter::__buildAdmin | ( | ) |
Definition at line 126 of file class.ilCourseXMLWriter.php.
References $data, $id, ilXmlWriter::xmlEndTag(), and ilXmlWriter::xmlStartTag().
Referenced by start().
{ $this->course_obj->initCourseMemberObject(); foreach($this->course_obj->members_obj->getAdmins() as $id) { $data = $this->course_obj->members_obj->getUserData($id); $attr['id'] = 'il_'.$this->ilias->getSetting('inst_id').'_usr_'.$id; $attr['notification'] = ($data['status'] == $this->course_obj->members_obj->STATUS_NOTIFY) ? 'Yes' : 'No'; $attr['passed'] = $data['passed'] ? 'Yes' : 'No'; $this->xmlStartTag('Admin',$attr); $this->xmlEndTag('Admin'); } return true; }
ilCourseXMLWriter::__buildFooter | ( | ) |
Definition at line 376 of file class.ilCourseXMLWriter.php.
References ilXmlWriter::xmlEndTag().
Referenced by start().
{ $this->xmlEndTag('Course'); }
ilCourseXMLWriter::__buildHeader | ( | ) |
Definition at line 102 of file class.ilCourseXMLWriter.php.
References ilXmlWriter::xmlHeader(), ilXmlWriter::xmlSetGenCmt(), and ilXmlWriter::xmlStartTag().
Referenced by start().
{ #$this->xmlSetDtdDef("<!DOCTYPE Course SYSTEM \"http://www.ilias.uni-koeln.de/download/dtd/ilias_course_0_1.dtd\">"); $this->xmlSetGenCmt("Export of ILIAS course ". $this->course_obj->getId()." of installation ".$this->ilias->getSetting('inst_id')."."); $this->xmlHeader(); $attrs["exportVersion"] = $this->EXPORT_VERSION; $attrs["id"] = "il_".$this->ilias->getSetting('inst_id').'_crs_'.$this->course_obj->getId(); $this->xmlStartTag("Course", $attrs); return true; }
ilCourseXMLWriter::__buildMember | ( | ) |
Definition at line 162 of file class.ilCourseXMLWriter.php.
References $data, $id, ilXmlWriter::xmlEndTag(), and ilXmlWriter::xmlStartTag().
Referenced by start().
{ $this->course_obj->initCourseMemberObject(); foreach($this->course_obj->members_obj->getMembers() as $id) { $data = $this->course_obj->members_obj->getUserData($id); $attr['id'] = 'il_'.$this->ilias->getSetting('inst_id').'_usr_'.$id; $attr['blocked'] = ($data['status'] == $this->course_obj->members_obj->STATUS_BLOCKED) ? 'Yes' : 'No'; $attr['passed'] = $data['passed'] ? 'Yes' : 'No'; $this->xmlStartTag('Member',$attr); $this->xmlEndTag('Member'); } return true; }
ilCourseXMLWriter::__buildMetaData | ( | ) |
Definition at line 115 of file class.ilCourseXMLWriter.php.
References ilXmlWriter::appendXML().
Referenced by start().
{ include_once 'Services/MetaData/classes/class.ilMD2XML.php'; $md2xml = new ilMD2XML($this->course_obj->getId(),$this->course_obj->getId(),'crs'); $md2xml->startExport(); $this->appendXML($md2xml->getXML()); return true; }
ilCourseXMLWriter::__buildObject | ( | $ | a_parent_id | ) |
Definition at line 338 of file class.ilCourseXMLWriter.php.
References ilObjectFactory::getInstanceByRefId(), ilXmlWriter::xmlElement(), ilXmlWriter::xmlEndTag(), and ilXmlWriter::xmlStartTag().
{ $this->course_obj->initCourseItemObject(); $this->course_obj->items_obj->setParentId($a_parent_id); foreach($this->course_obj->items_obj->getAllItems() as $item) { if(!$tmp_obj =& ilObjectFactory::getInstanceByRefId($item['child'],false)) { continue; } $attr = array(); $attr['id'] = 'il_'.$this->ilias->getSetting('inst_id').'_'.$tmp_obj->getType().'_'.$item['child']; $attr['type'] = $tmp_obj->getType(); $attr['Unlimited'] = $item['activation_unlimited'] ? 1 : 0; $attr['Position'] = $item['position']; $this->xmlStartTag('Object',$attr); $this->xmlElement('Title',null,$item['title']); $this->xmlElement('Description',null,$item['description']); $this->xmlElement('Start',null,$item['activation_start']); $this->xmlElement('End',null,$item['activation_end']); if($item['type'] == 'file') { $this->xmlElement('FileType',null,$tmp_obj->getFileType()); } $this->__buildObject($item['child']); $this->xmlEndTag('Object'); unset($tmp_obj); } }
ilCourseXMLWriter::__buildSetting | ( | ) |
Definition at line 216 of file class.ilCourseXMLWriter.php.
References ilXmlWriter::xmlElement(), ilXmlWriter::xmlEndTag(), and ilXmlWriter::xmlStartTag().
Referenced by start().
{ $this->xmlStartTag('Settings'); // Availability $this->xmlStartTag('Availability'); if($this->course_obj->getOfflineStatus()) { $this->xmlElement('NotAvailable'); } elseif($this->course_obj->getActivationUnlimitedStatus()) { $this->xmlElement('Unlimited'); } else { $this->xmlStartTag('TemporarilyAvailable'); $this->xmlElement('Start',null,$this->course_obj->getActivationStart()); $this->xmlElement('End',null,$this->course_obj->getActivationEnd()); $this->xmlEndTag('TemporarilyAvailable'); } $this->xmlEndTag('Availability'); // Syllabus $this->xmlElement('Syllabus',null,$this->course_obj->getSyllabus()); // Contact $this->xmlStartTag('Contact'); $this->xmlElement('Name',null,$this->course_obj->getContactName()); $this->xmlElement('Responsibility',null,$this->course_obj->getContactResponsibility()); $this->xmlElement('Phone',null,$this->course_obj->getContactPhone()); $this->xmlElement('Email',null,$this->course_obj->getContactEmail()); $this->xmlElement('Consultation',null,$this->course_obj->getContactConsultation()); $this->xmlEndTag('Contact'); // Registration $attr = array(); if($this->course_obj->getSubscriptionType() == IL_CRS_SUBSCRIPTION_CONFIRMATION) { $attr['registrationType'] = 'Confirmation'; } elseif($this->course_obj->getSubscriptionType() == IL_CRS_SUBSCRIPTION_DIRECT) { $attr['registrationType'] = 'Direct'; } else { $attr['registrationType'] = 'Password'; } $attr['maxMembers'] = $this->course_obj->getSubscriptionMaxMembers(); $attr['notification'] = $this->course_obj->getSubscriptionNotify() ? 'Yes' : 'No'; $attr['waitingList'] = $this->course_obj->enabledWaitingList() ? 'Yes' : 'No'; $this->xmlStartTag('Registration',$attr); if($this->course_obj->getSubscriptionLimitationType() == IL_CRS_SUBSCRIPTION_DEACTIVATED) { $this->xmlElement('Disabled'); } elseif($this->course_obj->getSubscriptionLimitationType() == IL_CRS_SUBSCRIPTION_UNLIMITED) { $this->xmlElement('Unlimited'); } else { $this->xmlStartTag('TemporarilyAvailable'); $this->xmlElement('Start',null,$this->course_obj->getSubscriptionStart()); $this->xmlElement('End',null,$this->course_obj->getSubscriptionEnd()); $this->xmlEndTag('TemporarilyAvailable'); } if(strlen($pwd = $this->course_obj->getSubscriptionPassword())) { $this->xmlElement('Password',null,$pwd); } $this->xmlEndTag('Registration'); // Sort $attr = array(); if($this->course_obj->getOrderType() == IL_CRS_SORT_MANUAL) { $attr['type'] = 'Manual'; } elseif($this->course_obj->getOrderType() == IL_CRS_SORT_TITLE) { $attr['type'] = 'Title'; } else { $attr['type'] = 'Activation'; } $this->xmlElement('Sort',$attr); // Archives $attr = array(); if($this->course_obj->getViewMode() != IL_CRS_VIEW_ARCHIVE) { $attr['Access'] = 'Disabled'; } elseif($this->course_obj->getViewMode() == IL_CRS_VIEW_ARCHIVE) { $attr['Access'] = 'Read'; } if($this->course_obj->getArchiveType() == IL_CRS_ARCHIVE_DOWNLOAD) { $attr['Access'] = 'Download'; } $this->xmlStartTag('Archive',$attr); $this->xmlElement('Start',null,$this->course_obj->getArchiveStart()); $this->xmlElement('End',null,$this->course_obj->getArchiveEnd()); $this->xmlEndTag('Archive'); $this->xmlEndTag('Settings'); return true; }
ilCourseXMLWriter::__buildSubscriber | ( | ) |
Definition at line 180 of file class.ilCourseXMLWriter.php.
References $data, $id, ilXmlWriter::xmlEndTag(), and ilXmlWriter::xmlStartTag().
Referenced by start().
{ $this->course_obj->initCourseMemberObject(); foreach($this->course_obj->members_obj->getSubscribers() as $id) { $data = $this->course_obj->members_obj->getSubscriberData($id); $attr['id'] = 'il_'.$this->ilias->getSetting('inst_id').'_usr_'.$id; $attr['subscriptionTime'] = $data['time']; $this->xmlStartTag('Subscriber',$attr); $this->xmlEndTag('Subscriber'); } return true; }
ilCourseXMLWriter::__buildTutor | ( | ) |
Definition at line 145 of file class.ilCourseXMLWriter.php.
References $data, $id, ilXmlWriter::xmlEndTag(), and ilXmlWriter::xmlStartTag().
Referenced by start().
{ $this->course_obj->initCourseMemberObject(); foreach($this->course_obj->members_obj->getTutors() as $id) { $data = $this->course_obj->members_obj->getUserData($id); $attr['id'] = 'il_'.$this->ilias->getSetting('inst_id').'_usr_'.$id; $attr['notification'] = ($data['status'] == $this->course_obj->members_obj->STATUS_NOTIFY) ? 'Yes' : 'No'; $attr['passed'] = $data['passed'] ? 'Yes' : 'No'; $this->xmlStartTag('Tutor',$attr); $this->xmlEndTag('Tutor'); } return true; }
ilCourseXMLWriter::__buildWaitingList | ( | ) |
Definition at line 197 of file class.ilCourseXMLWriter.php.
References $data, ilXmlWriter::xmlEndTag(), and ilXmlWriter::xmlStartTag().
Referenced by start().
{ include_once 'course/classes/class.ilCourseWaitingList.php'; $waiting_list = new ilCourseWaitingList($this->course_obj->getId()); foreach($waiting_list->getAllUsers() as $data) { $attr['id'] = 'il_'.$this->ilias->getSetting('inst_id').'_usr_'.$data['usr_id']; $attr['position'] = $data['position']; $attr['subscriptionTime'] = $data['time']; $this->xmlStartTag('WaitingList',$attr); $this->xmlEndTag('WaitingList'); } return true; }
ilCourseXMLWriter::getXML | ( | ) |
Definition at line 84 of file class.ilCourseXMLWriter.php.
References ilXmlWriter::xmlDumpMem().
{ #var_dump("<pre>", htmlentities($this->xmlDumpMem()),"<pre>"); return $this->xmlDumpMem(); }
ilCourseXMLWriter::ilCourseXMLWriter | ( | &$ | course_obj | ) |
constructor
string | xml version | |
string | output encoding | |
string | input encoding public |
Definition at line 54 of file class.ilCourseXMLWriter.php.
References $course_obj, $ilias, and ilXmlWriter::ilXmlWriter().
{ global $ilias; parent::ilXmlWriter(); $this->EXPORT_VERSION = "2"; $this->ilias =& $ilias; $this->course_obj =& $course_obj; }
ilCourseXMLWriter::modifyExportIdentifier | ( | $ | a_tag, | |
$ | a_param, | |||
$ | a_value | |||
) |
Definition at line 91 of file class.ilCourseXMLWriter.php.
{ if ($a_tag == "Identifier" && $a_param == "Entry") { $a_value = "il_".$this->ilias->getSetting('inst_id')."_crs_".$this->course_obj->getId(); } return $a_value; }
ilCourseXMLWriter::start | ( | ) |
Definition at line 66 of file class.ilCourseXMLWriter.php.
References __buildAdmin(), __buildFooter(), __buildHeader(), __buildMember(), __buildMetaData(), __buildSetting(), __buildSubscriber(), __buildTutor(), and __buildWaitingList().
{ $this->__buildHeader(); $this->__buildMetaData(); $this->__buildAdmin(); $this->__buildTutor(); $this->__buildMember(); $this->__buildSubscriber(); $this->__buildWaitingList(); $this->__buildSetting(); #$this->__buildObject($this->course_obj->getRefId()); $this->__buildFooter(); }
ilCourseXMLWriter::$course_obj |
Definition at line 45 of file class.ilCourseXMLWriter.php.
Referenced by ilCourseXMLWriter().
ilCourseXMLWriter::$ilias |
Definition at line 42 of file class.ilCourseXMLWriter.php.
Referenced by ilCourseXMLWriter().
ilCourseXMLWriter::$xml |
Definition at line 44 of file class.ilCourseXMLWriter.php.