25 include_once
"./Services/Xml/classes/class.ilXmlWriter.php";
26 include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
63 $this->EXPORT_VERSION =
"3";
73 $this->mode = $a_mode;
83 if($this->
getMode() == self::MODE_SOAP)
89 if ($this->attach_users)
96 elseif($this->
getMode() == self::MODE_EXPORT)
114 $this->
xmlSetDtdDef(
"<!DOCTYPE group PUBLIC \"-//ILIAS//DTD Group//EN\" \"".ILIAS_HTTP_PATH.
"/xml/ilias_group_3_10.dtd\">");
115 $this->
xmlSetGenCmt(
"Export of ILIAS group ". $this->group_obj->getId().
" of installation ".$this->ilias->getSetting(
'inst_id').
".");
128 $attrs[
"exportVersion"] = $this->EXPORT_VERSION;
129 $attrs[
"id"] =
"il_".$this->ilias->getSetting(
'inst_id').
'_grp_'.$this->group_obj->getId();
131 switch($this->group_obj->readGroupStatus())
134 $attrs[
'type'] =
'open';
139 $attrs[
'type'] =
'closed';
148 $this->
xmlElement(
'title',null,$this->group_obj->getTitle());
150 if($desc = $this->group_obj->getDescription())
155 $attr[
'id'] =
'il_'.$this->ilias->getSetting(
'inst_id').
'_usr_'.$this->group_obj->getOwner();
158 $this->
xmlElement(
'information',null,$this->group_obj->getInformation());
165 switch($this->group_obj->getRegistrationType())
168 $attrs[
'type'] =
'direct';
171 $attrs[
'type'] =
'confirmation';
174 $attrs[
'type'] =
'password';
179 $attrs[
'type'] =
'disabled';
182 $attrs[
'waitingList'] = $this->group_obj->isWaitingListEnabled() ?
'Yes' :
'No';
186 if(strlen($pwd = $this->group_obj->getPassword()))
193 if(!$this->group_obj->isRegistrationUnlimited())
198 $this->
xmlEndTag(
'temporarilyAvailable');
203 $attrs[
'enabled'] = $this->group_obj->isMembershipLimited() ?
'Yes' :
'No';
204 $this->
xmlElement(
'maxMembers',$attrs,$this->group_obj->getMaxMembers());
211 foreach($this->group_obj->getGroupAdminIds() as $id)
213 $attr[
'id'] =
'il_'.$this->ilias->getSetting(
'inst_id').
'_usr_'.$id;
214 $attr[
'notification'] = $this->participants->isNotificationEnabled($id) ?
'Yes' :
'No';
223 foreach($this->group_obj->getGroupMemberIds() as $id)
225 if(!$this->group_obj->isAdmin($id))
227 $attr[
'id'] =
'il_'.$this->ilias->getSetting(
'inst_id').
'_usr_'.$id;
241 $this->attach_users = $value ?
true :
false;