3 declare(strict_types=0);
    38     private int $mode = self::MODE_SOAP;
    51         $this->setting = $DIC->settings();
    52         $this->
access = $DIC->access();
    58     public function setMode(
int $a_mode): void
    60         $this->mode = $a_mode;
    70         if ($this->
getMode() == self::MODE_SOAP) {
    75             if ($this->attach_users) {
    87         } elseif ($this->
getMode() == self::MODE_EXPORT) {
   103         if ($a_tag == 
"Identifier" && $a_param == 
"Entry") {
   104             $a_value = 
"il_" . $this->setting->get(
'inst_id') . 
"_crs_" . $this->course_obj->getId();
   113         $this->
xmlSetGenCmt(
"Export of ILIAS course " . $this->course_obj->getId() . 
" of installation " . $this->setting->get(
'inst_id') . 
".");
   119         $attrs[
"exportVersion"] = self::EXPORT_VERSION;
   120         $attrs[
"id"] = 
"il_" . $this->setting->get(
'inst_id') . 
'_crs_' . $this->course_obj->getId();
   121         $attrs[
'showMembers'] = ($this->course_obj->getShowMembers() ? 
'Yes' : 
'No');
   127         $md2xml = 
new ilMD2XML($this->course_obj->getId(), $this->course_obj->getId(), 
'crs');
   139         $admins = $this->course_obj->getMembersObject()->getAdmins();
   140         $admins = 
$GLOBALS[
'DIC']->access()->filterUserIdsByRbacOrPositionOfCurrentUser(
   143             $this->course_obj->getRefId(),
   147         foreach ($admins as 
$id) {
   148             $attr[
'id'] = 
'il_' . $this->setting->get(
'inst_id') . 
'_usr_' . 
$id;
   149             $attr[
'notification'] = ($this->course_obj->getMembersObject()->isNotificationEnabled($id)) ? 
'Yes' : 
'No';
   150             $attr[
'passed'] = $this->course_obj->getMembersObject()->hasPassed($id) ? 
'Yes' : 
'No';
   151             $attr[
'contact'] = $this->course_obj->getMembersObject()->isContact($id) ? 
'Yes' : 
'No';
   160         $tutors = $this->course_obj->getMembersObject()->getTutors();
   161         $tutors = $this->
access->filterUserIdsByRbacOrPositionOfCurrentUser(
   164             $this->course_obj->getRefId(),
   167         foreach ($tutors as 
$id) {
   168             $attr[
'id'] = 
'il_' . $this->setting->get(
'inst_id') . 
'_usr_' . 
$id;
   169             $attr[
'notification'] = ($this->course_obj->getMembersObject()->isNotificationEnabled($id)) ? 
'Yes' : 
'No';
   170             $attr[
'passed'] = $this->course_obj->getMembersObject()->hasPassed($id) ? 
'Yes' : 
'No';
   171             $attr[
'contact'] = $this->course_obj->getMembersObject()->isContact($id) ? 
'Yes' : 
'No';
   180         $members = $this->course_obj->getMembersObject()->getMembers();
   181         $members = 
$GLOBALS[
'DIC']->access()->filterUserIdsByRbacOrPositionOfCurrentUser(
   184             $this->course_obj->getRefId(),
   187         foreach ($members as 
$id) {
   188             $attr[
'id'] = 
'il_' . $this->setting->get(
'inst_id') . 
'_usr_' . 
$id;
   189             $attr[
'blocked'] = ($this->course_obj->getMembersObject()->isBlocked($id)) ? 
'Yes' : 
'No';
   190             $attr[
'passed'] = $this->course_obj->getMembersObject()->hasPassed($id) ? 
'Yes' : 
'No';
   199         $subs = $this->course_obj->getMembersObject()->getSubscribers();
   200         $subs = $this->
access->filterUserIdsByRbacOrPositionOfCurrentUser(
   203             $this->course_obj->getRefId(),
   207         foreach ($subs as 
$id) {
   208             $data = $this->course_obj->getMembersObject()->getSubscriberData($id);
   210             $attr[
'id'] = 
'il_' . $this->setting->get(
'inst_id') . 
'_usr_' . 
$id;
   211             $attr[
'subscriptionTime'] = 
$data[
'time'];
   222         foreach ($wait as 
$data) {
   223             $is_accessible = 
$GLOBALS[
'DIC']->access()->filterUserIdsByRbacOrPositionOfCurrentUser(
   226                 $this->course_obj->getRefId(),
   229             if (count($is_accessible) === 0) {
   233             $attr[
'id'] = 
'il_' . $this->setting->get(
'inst_id') . 
'_usr_' . $data[
'usr_id'];
   234             $attr[
'position'] = $data[
'position'];
   235             $attr[
'subscriptionTime'] = $data[
'time'];
   248         if ($this->course_obj->getOfflineStatus()) {
   250         } elseif ($this->course_obj->getActivationUnlimitedStatus()) {
   254             $this->
xmlElement(
'Start', null, $this->course_obj->getActivationStart());
   255             $this->
xmlElement(
'End', null, $this->course_obj->getActivationEnd());
   256             $this->
xmlEndTag(
'TemporarilyAvailable');
   261         $this->
xmlElement(
'Syllabus', null, $this->course_obj->getSyllabus());
   262         $this->
xmlElement(
'ImportantInformation', null, $this->course_obj->getImportantInformation());
   263         $this->
xmlElement(
'TargetGroup', null, $this->course_obj->getTargetGroup());
   267         $this->
xmlElement(
'Name', null, $this->course_obj->getContactName());
   268         $this->
xmlElement(
'Responsibility', null, $this->course_obj->getContactResponsibility());
   269         $this->
xmlElement(
'Phone', null, $this->course_obj->getContactPhone());
   270         $this->
xmlElement(
'Email', null, $this->course_obj->getContactEmail());
   271         $this->
xmlElement(
'Consultation', null, $this->course_obj->getContactConsultation());
   278             $attr[
'registrationType'] = 
'Confirmation';
   280             $attr[
'registrationType'] = 
'Direct';
   282             $attr[
'registrationType'] = 
'Password';
   285         $attr[
'maxMembers'] = $this->course_obj->isSubscriptionMembershipLimited() ?
   286             $this->course_obj->getSubscriptionMaxMembers() : 0;
   287         $attr[
'notification'] = $this->course_obj->getSubscriptionNotify() ? 
'Yes' : 
'No';
   288         $attr[
'waitingList'] = $this->course_obj->enabledWaitingList() ? 
'Yes' : 
'No';
   298             $this->
xmlElement(
'Start', null, $this->course_obj->getSubscriptionStart());
   299             $this->
xmlElement(
'End', null, $this->course_obj->getSubscriptionEnd());
   300             $this->
xmlEndTag(
'TemporarilyAvailable');
   302         if (strlen($pwd = $this->course_obj->getSubscriptionPassword())) {
   307         $this->
xmlStartTag(
'Period', [
'withTime' => $this->course_obj->getCourseStartTimeIndication() ? 1 : 0]);
   311             $this->course_obj->getCourseStart()
   312                 ? $this->course_obj->getCourseStart()->get(
IL_CAL_UNIX)
   318             $this->course_obj->getCourseEnd()
   319                 ? $this->course_obj->getCourseEnd()->get(
IL_CAL_UNIX)
   323         $this->
xmlElement(
'WaitingListAutoFill', null, (
int) $this->course_obj->hasWaitingListAutoFill());
   327             ($this->course_obj->getCancellationEnd() && !$this->course_obj->getCancellationEnd()->isNull()) ? $this->course_obj->getCancellationEnd()->get(
IL_CAL_UNIX) : null
   329         $this->
xmlElement(
'MinMembers', null, $this->course_obj->getSubscriptionMinMembers());
   331         $this->
xmlElement(
'ViewMode', null, $this->course_obj->getViewMode());
   333             $this->
xmlElement(
'TimingMode', null, $this->course_obj->getTimingMode());
   337             'active' => $this->course_obj->getTutorialSupportBlockSettingValue()
   343                 'active' => $this->course_obj->isSessionLimitEnabled() ? 1 : 0,
   344                 'previous' => $this->course_obj->getNumberOfPreviousSessions(),
   345                 'next' => $this->course_obj->getNumberOfNextSessions()
   352                 'status' => $this->course_obj->getAutoNotification() ? 1 : 0
   356         $this->
xmlElement(
'StatusDetermination', null, (
int) $this->course_obj->getStatusDetermination());
   357         $this->
xmlElement(
'MailToMembersType', null, (
int) $this->course_obj->getMailToMembersType());
   359             'enabled' => (
int) $this->course_obj->getEnableCourseMap(),
   360             'latitude' => $this->course_obj->getLatitude(),
   361             'longitude' => $this->course_obj->getLongitude(),
   362             'location_zoom' => $this->course_obj->getLocationZoom()
   375         $this->attach_users = (bool) $value;
 
const IL_CRS_SUBSCRIPTION_DIRECT
 
const IL_CRS_SUBSCRIPTION_DEACTIVATED
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
__construct(ilObjCourse $course_obj)
 
xmlSetGenCmt(string $genCmt)
Sets generated comment. 
 
appendXML(string $a_str)
append xml string to document 
 
xmlEndTag(string $tag)
Writes an endtag. 
 
static _exportContainerSortingSettings(ilXmlWriter $xml, int $obj_id)
sorting XML-export for all container objects 
 
getAllUsers()
get all users on waiting list  public 
 
xmlHeader()
Writes xml header. 
 
static _exportContainerSettings(ilXmlWriter $a_xml, int $a_obj_id)
 
static _appendXMLByObjId(ilXmlWriter $a_xml_writer, int $a_obj_id)
Get xml of object values. 
 
modifyExportIdentifier($a_tag, $a_param, $a_value)
 
const IL_CRS_SUBSCRIPTION_UNLIMITED
 
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins 
 
__construct(Container $dic, ilPlugin $plugin)
 
const IL_CRS_SUBSCRIPTION_CONFIRMATION
 
xmlStartTag(string $tag, ?array $attrs=null, bool $empty=false, bool $encode=true, bool $escape=true)
Writes a starttag. 
 
xmlElement(string $tag, $attrs=null, $data=null, $encode=true, $escape=true)
Writes a basic element (no children, just textual content) 
 
xmlDumpMem(bool $format=true)
Returns xml document from memory. 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
__buildAdvancedMetaData()