5 require_once
"./Services/Container/classes/class.ilContainerGUI.php";
41 $this->ctrl->saveParameter($this,
array(
"ref_id",
"cmdClass"));
44 parent::__construct(
'',(
int)
$_GET[
'ref_id'],
true,
false);
46 $this->lng->loadLanguageModule(
'crs');
48 $this->SEARCH_USER = 1;
49 $this->SEARCH_GROUP = 2;
50 $this->SEARCH_COURSE = 3;
58 case "deleteSubscribers":
59 $this->deleteSubscribers();
62 case "addSubscribers":
63 $this->addSubscribers();
66 case "addFromWaitingList":
67 $this->addFromWaitingList();
70 case "removeFromWaitingList":
71 $this->removeFromWaitingList();
90 include_once
'./Modules/Course/classes/class.ilCourseParticipants.php';
93 $part->updateNotification($ilUser->getId(), $ilSetting->get(
'mail_crs_admin_notification',
true));
95 parent::afterImport($a_new_object);
100 $this->ctrl->setCmd(
"view");
118 include_once
'./Modules/Course/classes/class.ilCourseContentGUI.php';
120 $this->ctrl->setCmdClass(get_class($course_content_obj));
121 $this->ctrl->setCmd(
'editUserTimings');
122 $this->ctrl->forwardCommand($course_content_obj);
135 $this->tabs_gui->setTabActive(
'view_content');
145 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui")
147 parent::viewObject();
152 include_once(
'Services/MetaData/classes/class.ilMDUtils.php');
156 if ($ilCtrl->getNextClass() !=
"ilcolumngui")
158 include_once
'Services/Tracking/classes/class.ilLearningProgress.php';
160 $this->
object->getRefId(),
'crs');
165 include_once(
'Services/Membership/classes/class.ilMemberAgreementGUI.php');
166 $this->tabs_gui->clearTargets();
167 $this->ctrl->setReturn($this,
'view_content');
169 $this->ctrl->setCmdClass(get_class($agreement));
170 $this->ctrl->forwardCommand($agreement);
176 include_once
"Services/Container/classes/class.ilContainerStartObjectsContentGUI.php";
178 $stgui->enableDesktop($this->
object->getAboStatus(), $this);
179 return $stgui->getHTML();
190 $ret = parent::renderObject();
195 include_once
'./Modules/Course/classes/class.ilCourseContentGUI.php';
198 $this->ctrl->setCmdClass(get_class($course_content_obj));
199 $this->ctrl->forwardCommand($course_content_obj);
207 return parent::renderObject();
217 $this->ctrl->setCmd(
"showSummary");
218 $this->ctrl->setCmdClass(
"ilinfoscreengui");
231 include_once(
'Services/MetaData/classes/class.ilMDUtils.php');
234 $this->tabs_gui->setTabActive(
'info_short');
236 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
237 include_once
'Modules/Course/classes/class.ilCourseFile.php';
242 $info->enablePrivateNotes();
243 $info->enableFeedback();
245 if ($ilAccess->checkAccess(
"write",
"",
$_GET[
"ref_id"]))
247 $info->enableNewsEditing();
250 if(strlen($this->
object->getImportantInformation())
or 251 strlen($this->
object->getSyllabus())
or 254 $info->addSection($this->lng->txt(
'crs_general_informations'));
257 if(strlen($this->
object->getImportantInformation()))
259 $info->addProperty($this->lng->txt(
'crs_important_info'),
263 if(strlen($this->
object->getSyllabus()))
265 $info->addProperty($this->lng->txt(
'crs_syllabus'), nl2br(
271 $tpl =
new ilTemplate(
'tpl.event_info_file.html',
true,
true,
'Modules/Course');
275 $tpl->setCurrentBlock(
"files");
276 $this->ctrl->setParameter($this,
'file_id',$file->getFileId());
277 $tpl->setVariable(
"DOWN_LINK",$this->ctrl->getLinkTarget($this,
'sendfile'));
278 $tpl->setVariable(
"DOWN_NAME",$file->getFileName());
279 $tpl->setVariable(
"DOWN_INFO_TXT",$this->lng->txt(
'crs_file_size_info'));
280 $tpl->setVariable(
"DOWN_SIZE",$file->getFileSize());
281 $tpl->setVariable(
"TXT_BYTES",$this->lng->txt(
'bytes'));
282 $tpl->parseCurrentBlock();
284 $info->addProperty($this->lng->txt(
'crs_file_download'),
288 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordGUI.php');
291 $record_gui->parse();
294 $info->addMetaDataSections($this->
object->getId(),0, $this->
object->getType());
297 if($this->
object->hasContactData())
299 $info->addSection($this->lng->txt(
"crs_contact"));
301 if(strlen($this->
object->getContactName()))
303 $info->addProperty($this->lng->txt(
"crs_contact_name"),
304 $this->
object->getContactName());
306 if(strlen($this->
object->getContactResponsibility()))
308 $info->addProperty($this->lng->txt(
"crs_contact_responsibility"),
309 $this->
object->getContactResponsibility());
311 if(strlen($this->
object->getContactPhone()))
313 $info->addProperty($this->lng->txt(
"crs_contact_phone"),
314 $this->
object->getContactPhone());
316 if($this->
object->getContactEmail())
318 include_once
'./Modules/Course/classes/class.ilCourseMailTemplateMemberContext.php';
319 require_once
'Services/Mail/classes/class.ilMailFormCall.php';
321 $emails = explode(
",",$this->
object->getContactEmail());
322 foreach ($emails as $email) {
323 $email = trim($email);
324 $etpl =
new ilTemplate(
"tpl.crs_contact_email.html",
true,
true ,
'Modules/Course');
328 $info,
'showSummary',
array(),
336 'ref_id' => $this->
object->getRefId(),
341 $etpl->setVariable(
"CONTACT_EMAIL", $email);
342 $mailString .= $etpl->get().
"<br />";
344 $info->addProperty($this->lng->txt(
"crs_contact_email"), $mailString);
346 if(strlen($this->
object->getContactConsultation()))
348 $info->addProperty($this->lng->txt(
"crs_contact_consultation"),
349 nl2br($this->
object->getContactConsultation()));
355 $conts = $parts->getContacts();
356 if (count($conts) > 0)
358 $info->addSection($this->lng->txt(
"crs_mem_contacts"));
359 foreach ($conts as $c)
361 include_once(
"./Services/User/classes/class.ilPublicUserProfileGUI.php");
363 $pgui->setBackUrl($this->ctrl->getLinkTargetByClass(
"ilinfoscreengui"));
364 $pgui->setEmbedded(
true);
365 $info->addProperty(
"", $pgui->getHTML());
376 $this->lng->loadLanguageModule(
"rep");
377 $info->addSection($this->lng->txt(
"rep_activation_availability"));
378 $info->showLDAPRoleGroupMappingInfo();
381 if($this->
object->getActivationUnlimitedStatus())
383 $info->addProperty($this->lng->txt(
"rep_activation_access"),
384 $this->lng->txt(
'crs_visibility_limitless'));
388 $info->addProperty($this->lng->txt(
'rep_activation_access'),
394 switch($this->
object->getSubscriptionLimitationType())
397 $txt = $this->lng->txt(
"crs_info_reg_deactivated");
401 switch($this->
object->getSubscriptionType())
404 $txt = $this->lng->txt(
"crs_info_reg_confirmation");
407 $txt = $this->lng->txt(
"crs_info_reg_direct");
410 $txt = $this->lng->txt(
"crs_info_reg_password");
416 $info->addProperty($this->lng->txt(
"crs_info_reg"),
$txt);
421 if($this->
object->getSubscriptionUnlimitedStatus())
423 $info->addProperty($this->lng->txt(
"crs_reg_until"),
424 $this->lng->txt(
'crs_unlimited'));
426 elseif($this->
object->getSubscriptionStart() <
time())
428 $info->addProperty($this->lng->txt(
"crs_reg_until"),
429 $this->lng->txt(
'crs_to').
' '.
432 elseif($this->
object->getSubscriptionStart() >
time())
434 $info->addProperty($this->lng->txt(
"crs_reg_until"),
435 $this->lng->txt(
'crs_from').
' '.
438 if ($this->
object->isSubscriptionMembershipLimited())
440 if($this->
object->getSubscriptionMinMembers())
443 $this->lng->txt(
"mem_min_users"),
444 $this->
object->getSubscriptionMinMembers()
447 if($this->
object->getSubscriptionMaxMembers())
449 include_once
'./Modules/Course/classes/class.ilObjCourseAccess.php';
453 $this->lng->txt(
'mem_free_places'),
454 $reg_info[
'reg_info_free_places']
460 if($this->
object->getCancellationEnd())
462 $info->addProperty($this->lng->txt(
'crs_cancellation_end'),
466 if($this->
object->getCourseStart())
468 $info->addProperty($this->lng->txt(
'crs_period'),
470 $this->
object->getCourseStart(),
471 $this->
object->getCourseEnd()
476 include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
479 include_once(
'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
482 include_once(
'Services/PrivacySecurity/classes/class.ilExportFieldsInfo.php');
486 $this->lng->loadLanguageModule(
'ps');
487 $info->addSection($this->lng->txt(
'crs_user_agreement_info'));
488 $info->addProperty($this->lng->txt(
'ps_export_data'),$field_info->exportableFieldsToInfoString());
492 $info->addProperty($this->lng->txt(
'ps_crs_user_fields'),$fields);
496 $info->enableLearningProgress(
true);
499 $this->ctrl->forwardCommand($info);
507 include_once
"Services/Membership/classes/class.ilMembershipNotifications.php";
509 if($noti->canCurrentUserEdit())
511 if((
bool)$_REQUEST[
"crs_ntf"])
513 $noti->activateUser();
517 $noti->deactivateUser();
521 $this->ctrl->redirect($this,
"");
532 include_once
'Modules/Course/classes/class.ilCourseFile.php';
544 $this->tabs_gui->setTabActive(
'settings');
545 $this->tabs_gui->setSubTabActive(
'crs_info_settings');
551 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.edit_info.html',
'Modules/Course');
552 $this->tpl->setVariable(
'INFO_TABLE',$a_form->getHTML());
561 $table_data[
'id'] = $file->getFileId();
562 $table_data[
'filename'] = $file->getFileName();
563 $table_data[
'filetype'] = $file->getFileType();
564 $table_data[
'filesize'] = $file->getFileSize();
566 $rows[] = $table_data;
569 include_once(
"./Modules/Course/classes/class.ilCourseInfoFileTableGUI.php");
571 $table_gui->setTitle($this->lng->txt(
"crs_info_download"));
572 $table_gui->setData($rows);
573 $table_gui->addCommandButton(
"cancel", $this->lng->txt(
"cancel"));
574 $table_gui->addMultiCommand(
"confirmDeleteInfoFiles", $this->lng->txt(
"delete"));
575 $table_gui->setSelectAllCheckbox(
"file_id");
576 $this->tpl->setVariable(
'INFO_FILE_TABLE',$table_gui->getHTML());
591 if(!count(
$_POST[
'file_id']))
599 $this->tabs_gui->setTabActive(
'settings');
600 $this->tabs_gui->setSubTabActive(
'crs_info_settings');
602 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
606 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"deleteInfoFiles"));
607 $c_gui->setHeaderText($this->lng->txt(
"info_delete_sure"));
608 $c_gui->setCancel($this->lng->txt(
"cancel"),
"editInfo");
609 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"deleteInfoFiles");
612 include_once(
'Modules/Course/classes/class.ilCourseFile.php');
613 foreach(
$_POST[
"file_id"] as $file_id)
616 $c_gui->addItem(
"file_id[]", $file_id,
$file->getFileName());
619 $this->tpl->setContent($c_gui->getHTML());
630 if(!count(
$_POST[
'file_id']))
636 include_once(
'Modules/Course/classes/class.ilCourseFile.php');
638 foreach(
$_POST[
'file_id'] as $file_id)
660 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
662 $form->setFormAction($this->ctrl->getFormAction($this,
'updateInfo'));
663 $form->setMultipart(
true);
664 $form->setTitle($this->lng->txt(
'crs_general_info'));
665 $form->addCommandButton(
'updateInfo',$this->lng->txt(
'save'));
666 $form->addCommandButton(
'cancel',$this->lng->txt(
'cancel'));
672 $form->addItem($area);
678 $form->addItem($area);
681 $section->setTitle($this->lng->txt(
'crs_info_download'));
685 $file->enableFileNameSelection(
'file_name');
686 $form->addItem(
$file);
689 $section->setTitle($this->lng->txt(
'crs_contact'));
695 $text->setMaxLength(70);
696 $form->addItem(
$text);
698 $text =
new ilTextInputGUI($this->lng->txt(
'crs_contact_responsibility'),
'contact_responsibility');
699 $text->setValue($this->
object->getContactResponsibility());
701 $text->setMaxLength(70);
702 $form->addItem(
$text);
707 $text->setMaxLength(40);
708 $form->addItem(
$text);
712 $text->setInfo($this->lng->txt(
'crs_contact_email_info'));
714 $text->setMaxLength(255);
715 $form->addItem(
$text);
717 $area =
new ilTextAreaInputGUI($this->lng->txt(
'crs_contact_consultation'),
'contact_consultation');
721 $form->addItem($area);
723 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordGUI.php');
726 $this->record_gui->parse();
737 include_once
'Modules/Course/classes/class.ilCourseFile.php';
739 $file_obj->setCourseId($this->
object->getId());
740 $file_obj->setFileName(strlen(
$_POST[
'file_name']) ?
742 $_FILES[
'file'][
'name']);
743 $file_obj->setFileSize($_FILES[
'file'][
'size']);
744 $file_obj->setFileType($_FILES[
'file'][
'type']);
745 $file_obj->setTemporaryName($_FILES[
'file'][
'tmp_name']);
746 $file_obj->setErrorCode($_FILES[
'file'][
'error']);
760 $ilErr->setMessage(
'');
762 $file_obj->validate();
763 $this->
object->validateInfoSettings();
764 if(strlen($ilErr->getMessage()))
766 $error = $ilErr->getMessage();
772 if(!$this->record_gui->importEditFormPostValues())
787 $this->
object->update();
789 $this->record_gui->writeEditForm();
793 include_once
'Modules/Course/classes/class.ilECSCourseSettings.php';
795 $ecs->handleContentUpdate();
812 if(!$form->checkInput())
814 $form->setValuesByPost();
822 $this->
object->setTitle($form->getInput(
'title'));
823 $this->
object->setDescription($form->getInput(
'desc'));
826 $crs_period = $form->getItemByPostVar(
"period");
827 $this->
object->setCourseStart($crs_period->getStart());
828 $this->
object->setCourseEnd($crs_period->getEnd());
831 $this->
object->setOfflineStatus((
bool) !$form->getInput(
'activation_online'));
834 $period = $form->getItemByPostVar(
"access_period");
835 if($period->getStart() && $period->getEnd())
838 $this->
object->setActivationStart($period->getStart()->get(
IL_CAL_UNIX));
839 $this->
object->setActivationEnd($period->getEnd()->get(
IL_CAL_UNIX));
840 $this->
object->setActivationVisibility((
int) $form->getInput(
'activation_visibility'));
845 $this->
object->setActivationStart(null);
846 $this->
object->setActivationEnd(null);
850 $this->
object->setSubscriptionPassword($form->getInput(
'subscription_password'));
851 $this->
object->setSubscriptionStart(null);
852 $this->
object->setSubscriptionEnd(null);
854 $sub_type = $form->getInput(
'subscription_type');
855 $sub_period = $form->getItemByPostVar(
'subscription_period');
857 $this->
object->setSubscriptionType($sub_type);
860 if($sub_period->getStart() && $sub_period->getEnd())
863 $this->
object->setSubscriptionStart($sub_period->getStart()->get(
IL_CAL_UNIX));
864 $this->
object->setSubscriptionEnd($sub_period->getEnd()->get(
IL_CAL_UNIX));
878 $this->
object->enableRegistrationAccessCode((
int) $form->getInput(
'reg_code_enabled'));
879 $this->
object->setRegistrationAccessCode($form->getInput(
'reg_code'));
882 $this->
object->setCancellationEnd($form->getItemByPostVar(
"cancel_end")->getDate());
885 $this->
object->enableSubscriptionMembershipLimitation((
int) $form->getInput(
'subscription_membership_limitation'));
886 $this->
object->setSubscriptionMaxMembers((
int) $form->getInput(
'subscription_max'));
887 $this->
object->setSubscriptionMinMembers((
int) $form->getInput(
'subscription_min'));
888 $old_autofill = $this->
object->hasWaitingListAutoFill();
889 switch((
int) $form->getInput(
'waiting_list'))
892 $this->
object->enableWaitingList(
true);
893 $this->
object->setWaitingListAutoFill(
true);
897 $this->
object->enableWaitingList(
true);
898 $this->
object->setWaitingListAutoFill(
false);
902 $this->
object->enableWaitingList(
false);
903 $this->
object->setWaitingListAutoFill(
false);
908 $this->
object->setViewMode((
int) $form->getInput(
'view_mode'));
915 $this->
object->setOrderType($form->getInput(
'sorting'));
919 $this->
object->setAboStatus((
int) $form->getInput(
'abo'));
920 $this->
object->setShowMembers((
int) $form->getInput(
'show_members'));
921 $this->
object->setMailToMembersType((
int) $form->getInput(
'mail_type'));
923 $this->
object->enableSessionLimit((
int) $form->getInput(
'sl'));
925 $session_sp = $form->getInput(
'sp');
926 $this->
object->setNumberOfPreviousSessions(is_numeric($session_sp) ? (
int) $session_sp : -1 );
927 $session_sn = $form->getInput(
'sn');
928 $this->
object->setNumberOfnextSessions(is_numeric($session_sn) ? (
int) $session_sn : -1 );
929 $this->
object->setAutoNotification($form->getInput(
'auto_notification') == 1 ? true :
false);
932 $show_lp_sync_confirmation =
false;
935 if(isset(
$_POST[
'status_dt']))
942 $show_lp_sync_confirmation =
true;
946 $this->
object->setStatusDetermination((
int) $form->getInput(
'status_dt'));
950 if(!$old_autofill && $this->
object->hasWaitingListAutoFill())
952 $this->
object->handleAutoFill();
954 $this->
object->update();
957 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
971 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
977 if($show_lp_sync_confirmation)
983 include_once
'Modules/Course/classes/class.ilECSCourseSettings.php';
985 if(!$ecs->handleSettingsUpdate())
987 $form->setValuesByPost();
999 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
1001 $cgui->setFormAction($this->ctrl->getFormAction($this,
"setLPSync"));
1002 $cgui->setHeaderText($this->lng->txt(
"crs_status_determination_sync"));
1003 $cgui->setCancel($this->lng->txt(
"cancel"),
"edit");
1004 $cgui->setConfirm($this->lng->txt(
"confirm"),
"setLPSync");
1006 $tpl->setContent($cgui->getHTML());
1012 $this->
object->update();
1014 $this->
object->syncMembersStatusWithLP();
1017 $this->ctrl->redirect($this,
"edit");
1029 $this->tabs_gui->setSubTabActive(
'crs_settings');
1033 $GLOBALS[
'tpl']->setContent($form->getHTML());
1038 parent::editObject();
1051 include_once(
'./Services/Form/classes/class.ilPropertyFormGUI.php');
1052 include_once(
'./Services/Calendar/classes/class.ilDateTime.php');
1055 $form->setTitle($this->lng->txt(
'crs_edit'));
1057 $form->addCommandButton(
'update',$this->lng->txt(
'save'));
1058 $form->addCommandButton(
'cancel',$this->lng->txt(
'cancel'));
1060 $form->setFormAction($this->ctrl->getFormAction($this,
'update'));
1064 $title->setSubmitFormOnEnter(
true);
1068 $title->setRequired(
true);
1076 $form->addItem($desc);
1082 include_once
"Services/Form/classes/class.ilDateDurationInputGUI.php";
1084 $cdur->
setInfo($this->lng->txt(
'crs_period_info'));
1085 if($this->
object->getCourseStart())
1087 $cdur->setStart($this->
object->getCourseStart());
1089 if($this->
object->getCourseStart())
1091 $cdur->setEnd($this->
object->getCourseEnd());
1093 $form->addItem($cdur);
1098 $this->lng->loadLanguageModule(
'rep');
1101 $section->setTitle($this->lng->txt(
'rep_activation_availability'));
1104 $online =
new ilCheckboxInputGUI($this->lng->txt(
'rep_activation_online'),
'activation_online');
1106 $online->setInfo($this->lng->txt(
'crs_activation_online_info'));
1107 $form->addItem($online);
1114 include_once
"Services/Form/classes/class.ilDateDurationInputGUI.php";
1119 $form->addItem($dur);
1121 $visible =
new ilCheckboxInputGUI($this->lng->txt(
'rep_activation_limited_visibility'),
'activation_visibility');
1122 $visible->
setInfo($this->lng->txt(
'crs_activation_limited_visibility_info'));
1123 $visible->setChecked($this->
object->getActivationVisibility());
1124 $dur->addSubItem($visible);
1128 $section->setTitle($this->lng->txt(
'crs_reg'));
1131 $reg_proc =
new ilRadioGroupInputGUI($this->lng->txt(
'crs_registration_type'),
'subscription_type');
1134 ? $this->
object->getSubscriptionType()
1139 $reg_proc->addOption($opt);
1144 $pass->
setInfo($this->lng->txt(
'crs_reg_password_info'));
1145 $pass->setSubmitFormOnEnter(
true);
1147 $pass->setMaxLength(12);
1150 $opt->addSubItem($pass);
1151 $reg_proc->addOption($opt);
1154 $opt->
setInfo($this->lng->txt(
'crs_registration_confirmation_info'));
1155 $reg_proc->addOption($opt);
1158 $opt->
setInfo($this->lng->txt(
'crs_registration_deactivated'));
1159 $reg_proc->addOption($opt);
1161 $form->addItem($reg_proc);
1165 $reg_code =
new ilCheckboxInputGUI($this->lng->txt(
'crs_reg_code'),
'reg_code_enabled');
1167 $reg_code->setValue(1);
1168 $reg_code->setInfo($this->lng->txt(
'crs_reg_code_enabled_info'));
1176 #$link = new ilNonEditableValueGUI($this->lng->txt('crs_reg_code_link')); 1178 if(!$this->
object->getRegistrationAccessCode())
1180 include_once
'./Services/Membership/classes/class.ilMembershipRegistrationCodeUtils.php';
1184 $reg_link->setValue($this->
object->getRegistrationAccessCode());
1185 $form->addItem($reg_link);
1188 include_once
'./Services/Link/classes/class.ilLink.php';
1189 $val =
ilLink::_getLink($this->
object->getRefId(),$this->
object->getType(),
array(),
'_rcode'.$this->object->getRegistrationAccessCode());
1190 $link->setHTML(
'<font class="small">'.$val.
'</font>');
1191 $reg_code->addSubItem($link);
1193 $form->addItem($reg_code);
1196 include_once
"Services/Form/classes/class.ilDateDurationInputGUI.php";
1199 if($this->
object->getSubscriptionStart())
1203 if($this->
object->getSubscriptionEnd())
1207 $form->addItem($sdur);
1210 $cancel =
new ilDateTimeInputGUI($this->lng->txt(
'crs_cancellation_end'),
'cancel_end');
1211 $cancel->
setInfo($this->lng->txt(
'crs_cancellation_end_info'));
1212 $cancel_end = $this->
object->getCancellationEnd();
1215 $cancel->setDate($cancel_end);
1217 $form->addItem($cancel);
1220 $lim =
new ilCheckboxInputGUI($this->lng->txt(
'crs_subscription_max_members_short'),
'subscription_membership_limitation');
1221 $lim->
setInfo($this->lng->txt(
'crs_subscription_max_members_short_info'));
1223 $lim->setChecked($this->
object->isSubscriptionMembershipLimited());
1226 $min->setSubmitFormOnEnter(
true);
1228 $min->setMaxLength(4);
1229 $min->setValue($this->
object->getSubscriptionMinMembers() ? $this->
object->getSubscriptionMinMembers() :
'');
1230 $min->setTitle($this->lng->txt(
'crs_subscription_min_members'));
1231 $min->setInfo($this->lng->txt(
'crs_subscription_min_members_info'));
1232 $lim->addSubItem($min);
1235 $max->setSubmitFormOnEnter(
true);
1237 $max->setMaxLength(4);
1238 $max->setValue($this->
object->getSubscriptionMaxMembers() ? $this->
object->getSubscriptionMaxMembers() :
'');
1239 $max->setTitle($this->lng->txt(
'crs_subscription_max_members'));
1240 $max->setInfo($this->lng->txt(
'crs_reg_max_info'));
1242 $lim->addSubItem($max);
1264 $wait->addOption($option);
1266 $option =
new ilRadioOption($this->lng->txt(
'crs_waiting_list_no_autofill'), 1);
1267 $option->
setInfo($this->lng->txt(
'crs_wait_info'));
1268 $wait->addOption($option);
1270 $option =
new ilRadioOption($this->lng->txt(
'crs_waiting_list_autofill'), 2);
1271 $option->
setInfo($this->lng->txt(
'crs_waiting_list_autofill_info'));
1272 $wait->addOption($option);
1274 if($this->
object->hasWaitingListAutoFill())
1278 else if($this->
object->enabledWaitingList())
1283 $lim->addSubItem($wait);
1285 $form->addItem($lim);
1289 $pres->setTitle($this->lng->txt(
'crs_view_mode'));
1291 $form->addItem($pres);
1298 $opts->
setInfo($this->lng->txt(
'cntr_view_info_sessions'));
1299 $view_type->addOption($opts);
1304 $sess->setChecked($this->
object->isSessionLimitEnabled());
1305 $sess->setInfo($this->lng->txt(
'sess_limit_info'));
1308 #$prev->setSubmitFormOnEnter(true); 1310 $prev->setValue($this->
object->getNumberOfPreviousSessions() == -1 ?
1312 $this->
object->getNumberOfPreviousSessions()
1315 $prev->setMaxLength(3);
1316 $sess->addSubItem($prev);
1319 #$next->setSubmitFormOnEnter(true); 1321 $next->setValue($this->
object->getNumberOfNextSessions() == -1 ?
1323 $this->
object->getNumberOfnextSessions()
1326 $next->setMaxLength(3);
1327 $sess->addSubItem($next);
1329 $opts->addSubItem(
$sess);
1335 $optsi->
setInfo($this->lng->txt(
'cntr_view_info_simple'));
1336 $view_type->addOption($optsi);
1339 $optbt->
setInfo($this->lng->txt(
'cntr_view_info_by_type'));
1340 $view_type->addOption($optbt);
1343 $opto->
setInfo($this->lng->txt(
'crs_view_info_objective'));
1344 $view_type->addOption($opto);
1347 $optt->
setInfo($this->lng->txt(
'crs_view_info_timing'));
1348 $view_type->addOption($optt);
1350 $form->addItem($view_type);
1365 include_once(
"Services/Tracking/classes/class.ilObjUserTracking.php");
1368 include_once
'./Services/Object/classes/class.ilObjectLP.php';
1370 if($olp->getCurrentMode())
1373 $lp_status->setTitle($this->lng->txt(
'crs_course_status_of_users'));
1374 $form->addItem($lp_status);
1376 $lp_status_options =
new ilRadioGroupInputGUI($this->lng->txt(
'crs_status_determination'),
"status_dt");
1378 $lp_status_options->
setValue($this->
object->getStatusDetermination());
1380 $lp_option =
new ilRadioOption($this->lng->txt(
'crs_status_determination_lp'),
1382 $lp_status_options->addOption($lp_option);
1383 $lp_status_options->addOption(
new ilRadioOption($this->lng->txt(
'crs_status_determination_manual'),
1386 $form->addItem($lp_status_options);
1392 $feat->setTitle($this->lng->txt(
'obj_features'));
1393 $form->addItem($feat);
1395 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
1411 $mem->setInfo($this->lng->txt(
'crs_show_members_info'));
1412 $form->addItem($mem);
1419 $this->lng->txt(
'crs_mail_tutors_only_info'));
1420 $mail_type->addOption($mail_tutors);
1423 $this->lng->txt(
'crs_mail_all_info'));
1424 $mail_type->addOption($mail_all);
1425 $form->addItem($mail_type);
1433 $not =
new ilCheckboxInputGUI($this->lng->txt(
'crs_auto_notification'),
'auto_notification');
1435 $not->setInfo($this->lng->txt(
'crs_auto_notification_info'));
1436 $not->setChecked( $this->
object->getAutoNotification() );
1437 $form->addItem($not);
1445 $desk =
new ilCheckboxInputGUI($this->lng->txt(
'crs_add_remove_from_desktop'),
'abo');
1447 $desk->setInfo($this->lng->txt(
'crs_add_remove_from_desktop_info'));
1448 $form->addItem($desk);
1452 include_once
'Modules/Course/classes/class.ilECSCourseSettings.php';
1454 $ecs->addSettingsToForm($form,
'crs');
1474 $this->tabs_gui->setTabActive(
'settings');
1475 $this->tabs_gui->activateSubTab(
'icon_settings');
1482 $tpl->setContent($a_form->getHTML());
1487 include_once
"Services/Form/classes/class.ilPropertyFormGUI.php";
1489 $form->setFormAction($this->ctrl->getFormAction($this));
1494 $form->addCommandButton(
'updateCourseIcons', $this->lng->txt(
'save'));
1501 include_once
'Modules/Course/classes/class.ilCourseFile.php';
1517 if($form->checkInput())
1520 if ($ilSetting->get(
"custom_icons"))
1522 if(
$_POST[
"cont_icon_delete"])
1524 $this->
object->removeCustomIcon();
1526 $this->
object->saveIcons($_FILES[
"cont_icon"][
'tmp_name']);
1530 $this->ctrl->redirect($this,
"editCourseIcons");
1533 $form->setValuesByPost();
1548 $this->tabs_gui->addSubTabTarget(
"crs_settings",
1549 $this->ctrl->getLinkTarget($this,
'edit'),
1550 "edit", get_class($this));
1552 $this->tabs_gui->addSubTabTarget(
"crs_info_settings",
1553 $this->ctrl->getLinkTarget($this,
'editInfo'),
1554 "editInfo", get_class($this));
1556 $this->tabs_gui->addSubTabTarget(
"preconditions",
1557 $this->ctrl->getLinkTargetByClass(
'ilConditionHandlerGUI',
'listConditions'),
1558 "",
"ilConditionHandlerGUI");
1560 $this->tabs_gui->addSubTabTarget(
"crs_start_objects",
1561 $this->ctrl->getLinkTargetByClass(
'ilContainerStartObjectsGUI',
'listStructure'),
1562 "listStructure", get_class($this));
1564 $this->tabs_gui->addSubTabTarget(
'groupings',
1565 $this->ctrl->getLinkTargetByClass(
'ilobjcoursegroupinggui',
'listGroupings'),
1570 if ($this->
ilias->getSetting(
"custom_icons"))
1572 $this->tabs_gui->addSubTabTarget(
"icon_settings",
1573 $this->ctrl->getLinkTarget($this,
'editCourseIcons'),
1574 "editCourseIcons", get_class($this));
1578 include_once(
"./Services/Maps/classes/class.ilMapUtil.php");
1581 $this->tabs_gui->addSubTabTarget(
"crs_map_settings",
1582 $this->ctrl->getLinkTarget($this,
'editMapSettings'),
1583 "editMapSettings", get_class($this));
1587 include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
1588 include_once(
'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
1592 $this->tabs_gui->addSubTabTarget(
'crs_custom_user_fields',
1593 $this->ctrl->getLinkTargetByClass(
'ilobjectcustomuserfieldsgui'),
1595 'ilobjectcustomuserfieldsgui');
1599 include_once
"Services/Certificate/classes/class.ilCertificate.php";
1602 $this->tabs_gui->addSubTabTarget(
1604 $this->ctrl->getLinkTargetByClass(
"ilcertificategui",
"certificateeditor"),
1605 "",
"ilcertificategui");
1608 if ($this->
object->getUseNews())
1610 $this->tabs_gui->addSubTab(
'obj_news_settings',
1611 $this->lng->txt(
"cont_news_settings"),
1612 $this->ctrl->getLinkTargetByClass(
'ilcontainernewssettingsgui'));
1629 parent::showPossibleSubObjects();
1639 $this->
object->removeSmallIcon();
1640 $this->ctrl->redirect($this,
'editCourseIcons');
1650 $this->
object->removeBigIcon();
1651 $this->ctrl->redirect($this,
'editCourseIcons');
1662 $this->
object->removeTinyIcon();
1663 $this->ctrl->redirect($this,
'editCourseIcons');
1674 $a_new_object->getMemberObject()->add($ilUser->getId(),
IL_CRS_ADMIN);
1675 $a_new_object->getMemberObject()->updateNotification($ilUser->getId(),$ilSetting->get(
'mail_crs_admin_notification',
true));
1677 $a_new_object->getMemberObject()->updateContact($ilUser->getId(),1);
1682 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
1690 $this->ctrl->setParameter($this,
"ref_id", $a_new_object->
getRefId());
1692 $this->ctrl->getLinkTarget($this,
"edit",
"",
false,
false)));
1705 if(isset(
$_GET[
'admin_hide']))
1707 $ilUser->writePref(
'crs_admin_hide',(
int)
$_GET[
'admin_hide']);
1709 if(isset(
$_GET[
'tutor_hide']))
1711 $ilUser->writePref(
'crs_tutor_hide',(
int)
$_GET[
'tutor_hide']);
1713 if(isset(
$_GET[
'member_hide']))
1715 $ilUser->writePref(
'crs_member_hide',(
int)
$_GET[
'member_hide']);
1717 if(isset(
$_GET[
'subscriber_hide']))
1719 $ilUser->writePref(
'crs_subscriber_hide',(
int)
$_GET[
'subscriber_hide']);
1721 if(isset(
$_GET[
'wait_hide']))
1723 $ilUser->writePref(
'crs_wait_hide',(
int)
$_GET[
'wait_hide']);
1725 include_once
'./Modules/Course/classes/class.ilCourseParticipants.php';
1728 if(isset(
$_GET[
'role_hide_'.$role_id]))
1730 $ilUser->writePref(
'crs_role_hide_'.$role_id,(
int)
$_GET[
'role_hide_'.$role_id]);
1737 include_once
'./Services/Tracking/classes/class.ilObjUserTracking.php';
1738 $this->show_tracking =
1742 if($this->show_tracking)
1744 include_once(
'./Services/Object/classes/class.ilObjectLP.php');
1746 $this->show_tracking = $olp->isActive();
1749 if($this->show_tracking)
1751 include_once
'Services/Tracking/classes/class.ilLPStatusWrapper.php';
1756 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
1759 if($privacy->enabledCourseAccessTimes())
1761 include_once(
'./Services/Tracking/classes/class.ilLearningProgress.php');
1765 $do_prtf = (is_array($selected_columns) &&
1766 in_array(
'prtf', $selected_columns) &&
1770 include_once
"Modules/Portfolio/classes/class.ilObjPortfolio.php";
1772 $this->ctrl->getLinkTarget($this,
"members"));
1775 foreach((
array) $ids as $usr_id)
1778 $tmp_data[
'firstname'] = $name[
'firstname'];
1779 $tmp_data[
'lastname'] = $name[
'lastname'];
1781 $tmp_data[
'passed'] = $this->
object->getMembersObject()->hasPassed($usr_id) ? 1 : 0;
1784 $tmp_data[
'passed_info'] = $this->
object->getMembersObject()->getPassedInfo($usr_id);
1786 $tmp_data[
'notification'] = $this->
object->getMembersObject()->isNotificationEnabled($usr_id) ? 1 : 0;
1787 $tmp_data[
'blocked'] = $this->
object->getMembersObject()->isBlocked($usr_id) ? 1 : 0;
1789 $tmp_data[
'contact'] = $this->
object->getMembersObject()->isContact($usr_id) ? 1 : 0;
1792 $tmp_data[
'usr_id'] = $usr_id;
1794 if($this->show_tracking)
1796 if(in_array($usr_id,$completed))
1800 elseif(in_array($usr_id,$in_progress))
1804 elseif(in_array($usr_id,
$failed))
1814 if($privacy->enabledCourseAccessTimes())
1816 if(isset($progress[$usr_id][
'ts'])
and $progress[$usr_id][
'ts'])
1818 $tmp_data[
'access_ut'] = $progress[$usr_id][
'ts'];
1823 $tmp_data[
'access_ut'] = 0;
1824 $tmp_data[
'access_time'] = $this->lng->txt(
'no_date');
1830 $tmp_data[
'prtf'] = $all_prtf[$usr_id];
1833 $members[$usr_id] = $tmp_data;
1835 return $members ? $members :
array();
1848 include_once(
"Services/Tracking/classes/class.ilObjUserTracking.php");
1852 include_once
'./Services/Object/classes/class.ilObjectLP.php';
1856 include_once
'Services/Tracking/classes/class.ilLPMarks.php';
1860 if($marks->getCompleted() != $a_has_passed)
1866 include_once(
"./Modules/Course/classes/class.ilCourseAppEventListener.php");
1869 include_once(
"./Services/Tracking/classes/class.ilLPStatusWrapper.php");
1884 if($this->
object->isSubscriptionMembershipLimited()
and $this->
object->getSubscriptionMaxMembers()
and 1885 $this->
object->getSubscriptionMaxMembers() <= $this->
object->getMembersObject()->getCountMembers())
1892 if($number = $this->
object->getMembersObject()->autoFillSubscribers())
1911 if($this->
object->getMembersObject()->isLastAdmin($ilUser->getId()))
1918 $this->tabs_gui->setTabActive(
'crs_unsubscribe');
1920 include_once
"Services/Utilities/classes/class.ilConfirmationGUI.php";
1922 $cgui->setHeaderText($this->lng->txt(
'crs_unsubscribe_sure'));
1923 $cgui->setFormAction($this->ctrl->getFormAction($this));
1924 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancel");
1925 $cgui->setConfirm($this->lng->txt(
"crs_unsubscribe"),
"performUnsubscribe");
1926 $this->tpl->setContent($cgui->getHTML());
1943 $this->
object->getMembersObject()->delete($this->
ilias->account->getId());
1944 $this->
object->getMembersObject()->sendUnsubscribeNotificationToAdmins($this->
ilias->account->getId());
1945 $this->
object->getMembersObject()->sendNotification($this->
object->getMembersObject()->NOTIFY_UNSUBSCRIBE,$ilUser->getId());
1949 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id", $this->tree->getParentId($this->ref_id));
1950 $ilCtrl->redirectByClass(
"ilrepositorygui",
"");
1958 if (
$GLOBALS[
'ilAccess']->checkAccess(
'visible',
'',$this->ref_id))
1960 $GLOBALS[
'ilTabs']->addTarget(
"info_short",
1961 $this->ctrl->getLinkTargetByClass(
1962 array(
"ilobjcoursegui",
"ilinfoscreengui"),
"showSummary"),
1966 if(
$GLOBALS[
'ilAccess']->checkAccess(
'leave',
'',$this->
object->getRefId())
and $this->
object->getMemberObject()->isMember())
1968 $GLOBALS[
'ilTabs']->addTarget(
"crs_unsubscribe",
1969 $this->ctrl->getLinkTarget($this,
"unsubscribe"),
1984 $this->tabs_gui->addTab(
"view_content", $this->lng->txt(
"content"),
1985 $this->ctrl->getLinkTarget($this,
"view"));
1993 global $rbacsystem,$ilAccess,
$ilUser,
$lng, $ilHelp;
1995 $ilHelp->setScreenIdComponent(
"crs");
1997 $this->ctrl->setParameter($this,
"ref_id",$this->ref_id);
1999 if($ilAccess->checkAccess(
'read',
'',$this->ref_id))
2002 $this->tabs_gui->activateTab(
'view_content');
2003 if ($this->
object->isNewsTimelineEffective())
2005 if (!$this->
object->isNewsTimelineLandingPageEffective())
2009 $this->tabs_gui->addTab(
"news_timeline", $lng->txt(
"cont_news_timeline_tab"),
2010 $this->ctrl->getLinkTargetByClass(
"ilnewstimelinegui",
"show"));
2011 if ($this->
object->isNewsTimelineLandingPageEffective())
2023 if($ilAccess->checkAccess(
'write',
'',$this->ref_id))
2025 include_once(
'./Modules/Course/classes/class.ilCourseObjective.php');
2028 $this->tabs_gui->addTarget(
2030 $this->ctrl->getLinkTargetByClass(
'illoeditorgui',
''),
2037 if ($ilAccess->checkAccess(
'visible',
'',$this->ref_id))
2044 $force_active = (strtolower(
$_GET[
"cmdClass"]) ==
"ilinfoscreengui" 2045 || strtolower(
$_GET[
"cmdClass"]) ==
"ilnotegui")
2048 $this->tabs_gui->addTarget(
"info_short",
2049 $this->ctrl->getLinkTargetByClass(
2050 array(
"ilobjcoursegui",
"ilinfoscreengui"),
"showSummary"),
2052 "",
"", $force_active);
2054 if ($ilAccess->checkAccess(
'write',
'',$this->ref_id))
2056 $force_active = (strtolower(
$_GET[
"cmdClass"]) ==
"ilconditionhandlergui" 2057 &&
$_GET[
"item_id"] ==
"")
2060 $this->tabs_gui->addTarget(
"settings",
2061 $this->ctrl->getLinkTarget($this,
"edit"),
2062 array(
"edit",
"editMapSettings",
"editCourseIcons",
"listStructure"),
"",
"", $force_active);
2066 include_once
'./Modules/Course/classes/class.ilCourseParticipants.php';
2068 include_once
'./Services/Mail/classes/class.ilMail.php';
2071 include_once
'./Modules/Course/classes/class.ilCourseMembershipGUI.php';
2073 $membership_gui->addMemberTab($this->tabs_gui, $is_participant);
2076 if($ilAccess->checkAccess(
'write',
'',$this->ref_id))
2078 include_once
'Services/Badge/classes/class.ilBadgeHandler.php';
2081 $this->tabs_gui->addTarget(
"obj_tool_setting_badges",
2082 $this->ctrl->getLinkTargetByClass(
"ilbadgemanagementgui",
""),
2084 "ilbadgemanagementgui");
2090 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
2093 $this->tabs_gui->addTarget(
'learning_progress',
2094 $this->ctrl->getLinkTargetByClass(
array(
'ilobjcoursegui',
'illearningprogressgui'),
''),
2096 array(
'illplistofobjectsgui',
'illplistofsettingsgui',
'illearningprogressgui',
'illplistofprogressgui'));
2100 include_once(
"Services/License/classes/class.ilLicenseAccess.php");
2101 if ($ilAccess->checkAccess(
'edit_permission',
'', $this->ref_id)
2104 $this->tabs_gui->addTarget(
"licenses",
2105 $this->ctrl->getLinkTargetByClass(
'illicenseoverviewgui',
''),
2106 "",
"illicenseoverviewgui");
2110 if ($ilAccess->checkAccess(
'write',
'',$this->ref_id))
2112 include_once
"Services/Object/classes/class.ilObjectMetaDataGUI.php";
2114 $mdtab = $mdgui->getTab();
2117 $this->tabs_gui->addTarget(
"meta_data",
2120 "ilobjectmetadatagui");
2124 if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
2126 $this->tabs_gui->addTarget(
2128 $this->ctrl->getLinkTargetByClass(
'ilexportgui',
''),
2134 if ($ilAccess->checkAccess(
'edit_permission',
'',$this->ref_id))
2136 $this->tabs_gui->addTarget(
"perm_settings",
2137 $this->ctrl->getLinkTargetByClass(
array(get_class($this),
'ilpermissiongui'),
"perm"),
2138 array(
"perm",
"info",
"owner"),
'ilpermissiongui');
2141 if ($this->ctrl->getTargetScript() ==
"adm_object.php")
2143 $this->tabs_gui->addTarget(
"show_owner",
2144 $this->ctrl->getLinkTarget($this,
"owner"),
"owner", get_class($this));
2146 if ($this->tree->getSavedNodeData($this->ref_id))
2148 $this->tabs_gui->addTarget(
"trash",
2149 $this->ctrl->getLinkTarget($this,
"trash"),
"trash", get_class($this));
2153 if($ilAccess->checkAccess(
'join',
'',$this->ref_id)
2154 and !$this->
object->getMemberObject()->isAssigned())
2156 include_once
'./Modules/Course/classes/class.ilCourseWaitingList.php';
2159 $this->tabs_gui->addTab(
2161 $this->lng->txt(
'membership_leave'),
2162 $this->ctrl->getLinkTargetByClass(
'ilcourseregistrationgui',
'show',
'')
2169 $this->tabs_gui->addTarget(
"join",
2170 $this->ctrl->getLinkTargetByClass(
'ilcourseregistrationgui',
"show"),
2175 if($ilAccess->checkAccess(
'leave',
'',$this->object->getRefId())
2176 and $this->
object->getMemberObject()->isMember())
2178 $this->tabs_gui->addTarget(
"crs_unsubscribe",
2179 $this->ctrl->getLinkTarget($this,
"unsubscribe"),
2191 $next_class = $this->ctrl->getNextClass($this);
2192 $cmd = $this->ctrl->getCmd();
2201 $ilAccess->checkAccess(
'read',
'',
$_GET[
'ref_id']))
2203 include_once(
"./Services/Link/classes/class.ilLink.php");
2204 $ilNavigationHistory->addItem(
$_GET[
"ref_id"],
2210 case 'ilcoursemembershipgui':
2212 $this->tabs_gui->activateTab(
'members');
2214 include_once
'./Modules/Course/classes/class.ilCourseMembershipGUI.php';
2216 $this->ctrl->forwardCommand($mem_gui);
2219 case "ilinfoscreengui":
2223 case 'ilobjectmetadatagui';
2224 if(!$ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
2226 $ilErr->raiseError($this->lng->txt(
'permission_denied'),$ilErr->WARNING);
2228 $this->tabs_gui->setTabActive(
'meta_data');
2229 include_once
'Services/Object/classes/class.ilObjectMetaDataGUI.php';
2231 $this->ctrl->forwardCommand($md_gui);
2234 case 'ilcourseregistrationgui':
2235 $this->ctrl->setReturn($this,
'');
2236 $this->tabs_gui->setTabActive(
'join');
2237 include_once(
'./Modules/Course/classes/class.ilCourseRegistrationGUI.php');
2239 $this->ctrl->forwardCommand($registration);
2242 case 'ilobjectcustomuserfieldsgui':
2243 include_once
'./Services/Membership/classes/class.ilObjectCustomUserFieldsGUI.php';
2246 $this->tabs_gui->setTabActive(
'settings');
2247 $this->ctrl->forwardCommand($cdf_gui);
2250 case "ilcourseobjectivesgui":
2251 include_once
'./Modules/Course/classes/class.ilCourseObjectivesGUI.php';
2253 $this->ctrl->setReturn($this,
"");
2255 $ret =& $this->ctrl->forwardCommand($reg_gui);
2258 case 'ilobjcoursegroupinggui':
2259 include_once
'./Modules/Course/classes/class.ilObjCourseGroupingGUI.php';
2261 $this->ctrl->setReturn($this,
'edit');
2264 $this->ctrl->forwardCommand($crs_grp_gui);
2265 $this->tabs_gui->setTabActive(
'settings');
2266 $this->tabs_gui->setSubTabActive(
'groupings');
2270 $this->tabs_gui->setTabActive(
'none');
2280 case "ilconditionhandlergui":
2281 include_once
'./Services/AccessControl/classes/class.ilConditionHandlerGUI.php';
2284 $this->tabs_gui->setTabActive(
'settings');
2286 $this->ctrl->forwardCommand($new_gui);
2289 case "illearningprogressgui":
2290 include_once
'./Services/Tracking/classes/class.ilLearningProgressGUI.php';
2293 $this->
object->getRefId(),
2294 $_GET[
'user_id'] ? $_GET[
'user_id'] : $ilUser->getId());
2295 $this->ctrl->forwardCommand($new_gui);
2296 $this->tabs_gui->setTabActive(
'learning_progress');
2300 case 'illicenseoverviewgui':
2301 include_once(
"./Services/License/classes/class.ilLicenseOverviewGUI.php");
2303 $ret =& $this->ctrl->forwardCommand($license_gui);
2304 $this->tabs_gui->setTabActive(
'licenses');
2307 case 'ilpermissiongui':
2308 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
2309 $this->tabs_gui->setTabActive(
'perm_settings');
2311 $ret =& $this->ctrl->forwardCommand($perm_gui);
2315 case 'ilcoursecontentinterface':
2317 $this->initCourseContentInterface();
2318 $this->cci_obj->cci_setContainer($this);
2320 $this->ctrl->forwardCommand($this->cci_obj);
2322 $this->tabs_gui->setTabActive(
'content');
2325 case 'ilcoursecontentgui':
2326 $this->ctrl->setReturn($this,
'members');
2327 include_once
'./Modules/Course/classes/class.ilCourseContentGUI.php';
2329 $this->ctrl->forwardCommand($course_content_obj);
2332 case 'ilpublicuserprofilegui':
2333 $this->tpl->enableDragDropFileUpload(null);
2334 require_once
'./Services/User/classes/class.ilPublicUserProfileGUI.php';
2336 $this->tabs_gui->setTabActive(
'members');
2338 $profile_gui->setBackUrl($this->ctrl->getLinkTargetByClass([
"ilCourseMembershipGUI",
"ilUsersGalleryGUI"],
'view'));
2339 $this->tabs_gui->setSubTabActive(
'crs_members_gallery');
2340 $html = $this->ctrl->forwardCommand($profile_gui);
2341 $this->tpl->setVariable(
"ADM_CONTENT",
$html);
2345 case 'ilmemberagreementgui':
2346 include_once(
'Services/Membership/classes/class.ilMemberAgreementGUI.php');
2347 $this->tabs_gui->clearTargets();
2349 $this->ctrl->setReturn($this,
'');
2351 $this->ctrl->forwardCommand($agreement);
2356 case "ilcontainerpagegui":
2360 $this->tpl->setContent($ret);
2364 case "ilcontainerstartobjectspagegui":
2366 include_once
"Services/Container/classes/class.ilContainerStartObjectsPageGUI.php";
2368 $ret = $this->ctrl->forwardCommand($pgui);
2371 $this->tpl->setContent($ret);
2375 case 'ilobjectcopygui':
2376 include_once
'./Services/Object/classes/class.ilObjectCopyGUI.php';
2378 $cp->setType(
'crs');
2379 $this->ctrl->forwardCommand($cp);
2382 case "ilobjstylesheetgui":
2388 $this->tabs_gui->setTabActive(
'export');
2389 include_once
'./Services/Export/classes/class.ilExportGUI.php';
2391 $exp->addFormat(
'xml');
2392 $this->ctrl->forwardCommand($exp);
2395 case "ilcommonactiondispatchergui":
2396 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
2398 $this->ctrl->forwardCommand($gui);
2401 case 'ildidactictemplategui':
2402 $this->ctrl->setReturn($this,
'edit');
2403 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateGUI.php';
2405 $this->ctrl->forwardCommand($did);
2408 case "ilcertificategui":
2409 $this->tabs_gui->activateTab(
"settings");
2412 include_once
"./Services/Certificate/classes/class.ilCertificateGUI.php";
2413 include_once
"./Modules/Course/classes/class.ilCourseCertificateAdapter.php";
2415 $this->ctrl->forwardCommand($output_gui);
2418 case 'ilobjectservicesettingsgui':
2419 $this->ctrl->setReturn($this,
'edit');
2421 $this->tabs_gui->activateTab(
'settings');
2422 $this->tabs_gui->acltivateSubTab(
'tool_settings');
2424 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
2431 $this->ctrl->forwardCommand($service);
2434 case 'illoeditorgui':
2435 #$this->tabs_gui->clearTargets(); 2436 #$this->tabs_gui->setBackTarget($this->lng->txt('back'),$this->ctrl->getLinkTarget($this,'')); 2437 $this->tabs_gui->activateTab(
'crs_objectives');
2439 include_once
'./Modules/Course/classes/Objectives/class.ilLOEditorGUI.php';
2441 $this->ctrl->forwardCommand($editor);
2444 case 'ilcontainerstartobjectsgui':
2445 $this->ctrl->setReturn($this,
'edit');
2446 $this->tabs_gui->clearTargets();
2447 $this->tabs_gui->setBackTarget($this->lng->txt(
"back_to_crs_content"),
2448 $this->ctrl->getLinkTarget($this,
"edit"));
2449 $this->tabs_gui->addTab(
"start",
2450 $this->lng->txt(
"crs_start_objects"),
2451 $this->ctrl->getLinkTargetByClass(
"ilcontainerstartobjectsgui",
"listStructure"));
2453 $ilHelp->setScreenIdComponent(
"crs");
2455 include_once
'./Services/Container/classes/class.ilContainerStartObjectsGUI.php';
2457 $this->ctrl->forwardCommand($stgui);
2460 case 'illomembertestresultgui':
2461 include_once
'./Modules/Course/classes/Objectives/class.ilLOMemberTestResultGUI.php';
2462 $GLOBALS[
'ilCtrl']->setReturn($this,
'members');
2463 $GLOBALS[
'ilTabs']->clearTargets();
2466 $GLOBALS[
'ilCtrl']->getLinkTarget($this,
'members')
2470 $this->ctrl->forwardCommand($result_view);
2473 case 'ilmailmembersearchgui':
2474 include_once
'Services/Mail/classes/class.ilMail.php';
2475 $mail =
new ilMail($ilUser->getId());
2478 $ilAccess->checkAccess(
'manage_members',
"",$this->
object->getRefId())) &&
2479 $rbacsystem->checkAccess(
'internal_mail',$mail->getMailObjectReferenceId()))
2481 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_read"),$ilErr->MESSAGE);
2484 $this->tabs_gui->setTabActive(
'members');
2486 include_once
'./Services/Contact/classes/class.ilMailMemberSearchGUI.php';
2487 include_once
'./Services/Contact/classes/class.ilMailMemberCourseRoles.php';
2491 $this->ctrl->forwardCommand($mail_search);
2494 case 'ilbadgemanagementgui':
2495 $this->tabs_gui->setTabActive(
'obj_tool_setting_badges');
2496 include_once
'Services/Badge/classes/class.ilBadgeManagementGUI.php';
2498 $this->ctrl->forwardCommand($bgui);
2501 case "ilcontainernewssettingsgui":
2503 $this->tabs_gui->setTabActive(
'settings');
2504 include_once(
"./Services/Container/classes/class.ilContainerNewsSettingsGUI.php");
2506 $this->ctrl->forwardCommand($news_set_gui);
2509 case "ilnewstimelinegui":
2510 $this->tabs_gui->setTabActive(
'news_timeline');
2511 include_once(
"./Services/News/classes/class.ilNewsTimelineGUI.php");
2513 $t->setUserEditAll($ilAccess->checkAccess(
'write',
'',$this->object->getRefId(),
'grp'));
2515 $this->ctrl->forwardCommand(
$t);
2531 if(
$cmd ==
'infoScreenGoto')
2540 $cmd =
'infoScreen';
2544 if(!$this->creation_mode)
2546 if (
$cmd ==
"infoScreen")
2557 if( !$this->creation_mode
2558 &&
$cmd !=
'infoScreen' 2559 &&
$cmd !=
'sendfile' 2560 &&
$cmd !=
'unsubscribe' 2561 &&
$cmd !=
'performUnsubscribe' 2562 && !$ilAccess->checkAccess(
"read",
'',$this->object->getRefId())
2564 ||
$cmd ==
'subscribe')
2566 include_once
'./Modules/Course/classes/class.ilCourseParticipants.php';
2567 if($rbacsystem->checkAccess(
'join',$this->object->getRefId()) &&
2570 include_once(
'./Modules/Course/classes/class.ilCourseRegistrationGUI.php');
2571 $this->ctrl->redirectByClass(
"ilCourseRegistrationGUI");
2580 if(
$cmd ==
'listObjectives')
2582 include_once
'./Modules/Course/classes/class.ilCourseObjectivesGUI.php';
2584 $this->ctrl->setReturn($this,
"");
2586 $ret =& $this->ctrl->forwardCommand($obj_gui);
2597 if (
$cmd ==
"" && $this->
object->isNewsTimelineLandingPageEffective())
2599 $this->ctrl->redirectbyclass(
"ilnewstimelinegui");
2627 if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
2633 if(!$this->
object->getMemberObject()->isAssigned())
2638 include_once
'./Services/Container/classes/class.ilMemberViewSettings.php';
2644 include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
2645 include_once(
'Services/Membership/classes/class.ilMemberAgreement.php');
2652 $GLOBALS[
'ilLog']->write(__METHOD__.
': Missing course confirmation.');
2656 include_once(
'Modules/Course/classes/Export/class.ilCourseUserData.php');
2659 $GLOBALS[
'ilLog']->write(__METHOD__.
': Missing required fields');
2677 include_once(
"Services/License/classes/class.ilLicenseAccess.php");
2681 $buffer = $lic_set->get(
"license_warning");
2683 include_once(
"./Services/License/classes/class.ilLicense.php");
2685 foreach ($licensed_items as $item)
2687 $license =
new ilLicense($item[
'obj_id']);
2688 $remaining = $license->getRemainingLicenses();
2689 if ($remaining <= $buffer)
2691 $lng->loadlanguageModule(
"license");
2692 ilUtil::sendInfo(sprintf($this->lng->txt(
"course_licenses_rare"), $remaining), $a_keep);
2702 return array(
"ilCourseRegisterGUI",
'ilConditionHandlerGUI');
2708 switch ($this->ctrl->getCmd())
2711 #$ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this, "")); 2721 $GLOBALS[
'ilCtrl']->redirectByClass(
'ilcoursemembershipgui');
2727 public static function _goto($a_target, $a_add =
"")
2731 include_once
'./Services/Membership/classes/class.ilMembershipRegistrationCodeUtils.php';
2732 if(substr($a_add,0,5) ==
'rcode')
2734 if($ilUser->getId() == ANONYMOUS_USER_ID)
2738 "login.php?target=".
$_GET[
"target"].
"&cmd=force_login&lang=".
2739 $ilUser->getCurrentLanguage()
2751 if ($a_add ==
"mem" && $ilAccess->checkAccess(
"manage_members",
"", $a_target))
2756 if ($ilAccess->checkAccess(
"read",
"", $a_target))
2763 if ($ilAccess->checkAccess(
"visible",
"", $a_target))
2769 if ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID))
2777 $ilErr->raiseError($lng->txt(
"msg_no_perm_read"), $ilErr->FATAL);
2789 $this->tabs_gui->setTabActive(
'settings');
2792 !$ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
2797 $latitude = $this->
object->getLatitude();
2798 $longitude = $this->
object->getLongitude();
2799 $zoom = $this->
object->getLocationZoom();
2802 if ($latitude == 0 && $longitude == 0 && $zoom == 0)
2805 $latitude = $def[
"latitude"];
2806 $longitude = $def[
"longitude"];
2807 $zoom = $def[
"zoom"];
2810 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
2812 $form->setFormAction($ilCtrl->getFormAction($this));
2814 $form->setTitle($this->lng->txt(
"crs_map_settings"));
2820 $public->setChecked($this->
object->getEnableCourseMap());
2821 $form->addItem($public);
2827 $loc_prop->setLongitude($longitude);
2828 $loc_prop->setZoom($zoom);
2829 $form->addItem($loc_prop);
2831 $form->addCommandButton(
"saveMapSettings", $this->lng->txt(
"save"));
2833 $this->tpl->setVariable(
"ADM_CONTENT", $form->getHTML());
2845 $this->
object->update();
2847 $ilCtrl->redirect($this,
"editMapSettings");
2861 $this->
object->getAboStatus(), $this->
object->getRefId(), $this->
object->getId());
2867 public static function _modifyItemGUI($a_item_list_gui, $a_cmd_class, $a_item_data, $a_show_path,
2868 $a_abo_status, $a_course_ref_id, $a_course_obj_id, $a_parent_ref_id = 0)
2870 global
$lng, $ilAccess;
2873 if ($a_parent_ref_id == 0)
2875 $a_parent_ref_id = $a_course_ref_id;
2879 if($a_item_data[
'type'] ==
'tst' and 2882 $a_item_list_gui->addCommandLinkParameter(
array(
'crs_show_result' => $a_course_ref_id));
2885 $a_item_list_gui->enableSubscribe($a_abo_status);
2887 $is_tutor = ($ilAccess->checkAccess(
'write',
'',
2888 $a_course_ref_id,
'crs', $a_course_obj_id));
2890 if($a_show_path
and $is_tutor)
2892 $a_item_list_gui->addCustomProperty($lng->txt(
'path'),
2893 ilContainer::_buildPath($a_item_data[
'ref_id'], $a_course_ref_id),
2906 if ($this->
object->getType() !=
'crs')
2910 if (!$ilAccess->checkAccess(
'write',
'',
2911 $this->object->getRefId(),
'crs',$this->
object->getId()))
2915 if($this->
object->enabledObjectiveView())
2933 $this->tabs_gui->addSubTab(
"view_content", $lng->txt(
"view"), $ilCtrl->getLinkTargetByClass(
"ilobjcoursegui",
"view"));
2937 $this->tabs_gui->addSubTab(
"view_content", $lng->txt(
"view"), $ilCtrl->getLinkTargetByClass(
"ilobjcoursegui",
"disableAdministrationPanel"));
2942 $this->tabs_gui->addSubTabTarget(
'timings_timings',
2943 $this->ctrl->getLinkTargetByClass(
'ilcoursecontentgui',
'editUserTimings'));
2963 include_once(
'./Services/Calendar/classes/class.ilDateTime.php');
2966 if(is_array(
$_POST[$a_field][
'date']))
2968 $dt[
'year'] = (int)
$_POST[$a_field][
'date'][
'y'];
2969 $dt[
'mon'] = (int)
$_POST[$a_field][
'date'][
'm'];
2970 $dt[
'mday'] = (int)
$_POST[$a_field][
'date'][
'd'];
2971 $dt[
'hours'] = (int)
$_POST[$a_field][
'time'][
'h'];
2972 $dt[
'minutes'] = (int)
$_POST[$a_field][
'time'][
'm'];
2973 $dt[
'seconds'] = (int)
$_POST[$a_field][
'time'][
's'];
2977 $date = date_parse(
$_POST[$a_field][
'date'].
" ".
$_POST[$a_field][
'time']);
2978 $dt[
'year'] = (int) $date[
'year'];
2979 $dt[
'mon'] = (int) $date[
'month'];
2980 $dt[
'mday'] = (int) $date[
'day'];
2981 $dt[
'hours'] = (int) $date[
'hour'];
2982 $dt[
'minutes'] = (int) $date[
'minute'];
2983 $dt[
'seconds'] = (int) $date[
'second'];
3001 include_once
'./Services/Utilities/classes/class.ilConfirmationGUI.php';
3003 $confirm->setFormAction($this->ctrl->getFormAction($this));
3004 $confirm->setConfirm($this->lng->txt(
'reset'),
'reset');
3005 $confirm->setCancel($this->lng->txt(
'cancel'),
'cancel');
3007 $GLOBALS[
'tpl']->setContent($confirm->getHTML());
3015 include_once
'./Modules/Course/classes/Objectives/class.ilLOUserResults.php';
3020 include_once
'./Modules/Course/classes/Objectives/class.ilLOTestRun.php';
3021 include_once
'./Modules/Course/classes/Objectives/class.ilLOSettings.php';
3027 include_once
'./Modules/Course/classes/class.ilCourseObjectiveResult.php';
3032 $ilUser->deletePref(
'crs_objectives_force_details_'.$this->
object->getId());
3042 if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
3047 include_once
'./Services/Container/classes/class.ilContainerStartObjects.php';
3049 $this->
object->getId());
3050 if(count($this->start_obj->getStartObjects()) &&
3051 !$this->start_obj->allFullfilled($ilUser->getId()))
3068 include_once
'./Services/Container/classes/class.ilMemberViewSettings.php';
3070 if($settings->isActive()
and $settings->getContainer() != $this->
object->getRefId())
3072 $settings->setContainer($this->
object->getRefId());
3073 $rbacsystem->initMemberView();
3076 parent::prepareOutput($a_show_subobjects);
3085 $link = chr(13).chr(10).chr(13).chr(10);
3086 $link .= $this->lng->txt(
'crs_mail_permanent_link');
3087 $link .= chr(13).chr(10).chr(13).chr(10);
3088 include_once
'./Services/Link/classes/class.ilLink.php';
3090 return rawurlencode(base64_encode($link));
3097 $lg = parent::initHeaderAction($a_sub_type, $a_sub_id);
3102 include_once
"Services/Certificate/classes/class.ilCertificate.php";
3107 $cert_url = $this->ctrl->getLinkTarget($this,
"deliverCertificate");
3109 $this->lng->loadLanguageModule(
"certificate");
3110 $lg->addCustomCommand($cert_url,
"download_certificate");
3112 $lg->addHeaderIcon(
"cert_icon",
3114 $this->lng->txt(
"download_certificate"),
3121 include_once
"Services/Membership/classes/class.ilMembershipNotifications.php";
3125 if(!$noti->isCurrentUserActive())
3127 $lg->addHeaderIcon(
"not_icon",
3129 $this->lng->txt(
"crs_notification_deactivated"));
3131 $this->ctrl->setParameter($this,
"crs_ntf", 1);
3132 $caption =
"crs_activate_notification";
3136 $lg->addHeaderIcon(
"not_icon",
3138 $this->lng->txt(
"crs_notification_activated"));
3140 $this->ctrl->setParameter($this,
"crs_ntf", 0);
3141 $caption =
"crs_deactivate_notification";
3144 if($noti->canCurrentUserEdit())
3146 $lg->addCustomCommand($this->ctrl->getLinkTarget($this,
"saveNotification"),
3150 $this->ctrl->setParameter($this,
"crs_ntf",
"");
3162 if ($ilAccess->checkAccess(
'manage_members',
'',$this->ref_id))
3164 $user_id = $_REQUEST[
"member_id"];
3168 $user_id = $ilUser->getId();
3171 include_once
"Services/Certificate/classes/class.ilCertificate.php";
3177 $this->ctrl->redirect($this);
3180 include_once
"./Modules/Course/classes/class.ilCourseCertificateAdapter.php";
3188 $this->ctrl->redirectByClass(
array(
'ilrepositorygui',
'ilobjcoursegui',
'illoeditorgui'),
'materials');
3193 if(isset(
$_POST[
'position'][
"lobj"]))
3195 $lobj =
$_POST[
'position'][
"lobj"];
3196 unset(
$_POST[
'position'][
"lobj"]);
3198 $objective_order =
array();
3199 foreach($lobj as $objective_id => $materials)
3201 $objective_order[$objective_id] = $materials[0];
3202 unset($lobj[$objective_id][0]);
3206 include_once
"Modules/Course/classes/class.ilCourseObjective.php";
3207 asort($objective_order);
3209 foreach(array_keys($objective_order) as $objective_id)
3212 $obj->writePosition(++$pos);
3216 include_once
"Modules/Course/classes/class.ilCourseObjectiveMaterials.php";
3217 foreach($lobj as $objective_id => $materials)
3223 foreach(array_keys($materials) as $ass_id)
3225 $objmat->writePosition($ass_id, ++$pos);
3230 return parent::saveSortingObject();
3239 include_once
'./Services/Link/classes/class.ilLink.php';
3250 $objective_id = (int) $_REQUEST[
'objective_id'];
3251 $test_id = (int) $_REQUEST[
'tid'];
3253 include_once
'./Modules/Course/classes/Objectives/class.ilLOUserResults.php';
3254 include_once
'./Modules/Course/classes/Objectives/class.ilLOSettings.php';
3255 include_once
'./Modules/Course/classes/Objectives/class.ilLOTestAssignments.php';
3261 $passed =
$res->getCompletedObjectiveIds();
3263 $has_completed = FALSE;
3266 $objective_ids =
array($objective_id);
3267 if(in_array($objective_id, $passed))
3269 $has_completed = TRUE;
3275 include_once
'./Modules/Course/classes/class.ilCourseObjective.php';
3279 if(count($objective_ids) == count($passed))
3281 $has_completed = TRUE;
3293 include_once
'./Services/Link/classes/class.ilLink.php';
3306 include_once
'./Services/Utilities/classes/class.ilConfirmationGUI.php';
3312 $question = $this->lng->txt(
'crs_loc_objective_passed_confirmation');
3316 $question = $this->lng->txt(
'crs_loc_objectives_passed_confirmation');
3319 $confirm->addHiddenItem(
'objective_id', $a_objective_id);
3320 $confirm->addHiddenItem(
'tid', $a_test_id);
3321 $confirm->setConfirm($this->lng->txt(
'crs_loc_tst_start'),
'redirectLocToTestConfirmed');
3322 $confirm->setCancel($this->lng->txt(
'cancel'),
'view');
3326 $GLOBALS[
'tpl']->setContent($confirm->getHTML());
3339 $crs_admin = $this->
object->getDefaultAdminRole();
3340 $crs_member = $this->
object->getDefaultMemberRole();
3341 $local_roles = $this->
object->getLocalCourseRoles(
false);
3342 $crs_roles =
array();
3345 if(in_array($crs_member, $local_roles))
3347 #$crs_roles[$crs_member] = ilObjRole::_getTranslation(array_search ($crs_member, $local_roles)); 3348 #unset($local_roles[$crs_roles[$crs_member]]); 3351 foreach($local_roles as
$title => $role_id)
3361 if(count($a_exclude) > 0)
3363 foreach($a_exclude as $excluded_role)
3365 if(isset($crs_roles[$excluded_role]))
3367 unset($crs_roles[$excluded_role]);
3391 $this->ctrl->redirectByClass(
'ilUsersGalleryGUI');
3399 $this->ctrl->setReturn($this,
"view");
static _modifyItemGUI($a_item_list_gui, $a_cmd_class, $a_item_data, $a_show_path, $a_abo_status, $a_course_ref_id, $a_course_obj_id, $a_parent_ref_id=0)
We need a static version of this, e.g.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static _lookupLogin($a_user_id)
lookup login
static _lookupName($a_user_id)
lookup user name
static _isParticipant($a_ref_id, $a_usr_id)
Static function to check if a user is a participant of the container object.
redirectLocToTestConfirmedObject()
This class represents an option in a radio group.
unsubscribeObject()
DEPRECATED?
const IL_CRS_ACTIVATION_LIMITED
showPossibleSubObjects()
show possible sub objects selection list
class ilConditionHandlerGUI
static isActive()
Is feature active?
const IL_CRS_SUBSCRIPTION_LIMITED
Container start objects page GUI class.
setObjParticipants($objParticipants)
const IL_CRS_VIEW_OBJECTIVE
const CALENDAR_VISIBILITY
redirectLocToTestObject($a_force_new_run=NULL)
Test redirection will be moved lo adapter.
loadDate($a_field)
load date
const LP_MODE_MANUAL_BY_TUTOR
static _fieldsToInfoString($a_obj_id)
Fields to info string.
saveSortingSettings(ilPropertyFormGUI $form)
Save sorting settings.
hasAdminPermission()
user has admin permission or "edit permission" permission on this course
updateLPFromStatus($a_member_id, $a_has_passed)
sync course status and lp status
GUI class for the workflow of copying objects.
setPropertyForm($form)
set property form object
const TITLE_LENGTH
max length of object title
static getDateTimeOfPassed($a_obj_id, $a_usr_id)
confirmDeleteInfoFilesObject()
show info file donfimation table
static _registrationEnabled($a_obj_id)
Registration enabled? Method is in Access class, since it is needed by Access/ListGUI.
jump2UsersGalleryObject()
const LP_STATUS_NOT_ATTEMPTED
Class ilObject Basic functions for all objects.
static _updateStatus($a_obj_id, $a_usr_id, $a_obj=null, $a_percentage=false, $a_force_raise=false)
Update status.
static _isEnabled()
Check, if licencing is enabled This check is called from the ilAccessHandler class.
delete()
Delete for user and course type $ilDB.
static _recordWriteEvent($obj_id, $usr_id, $action, $parent_obj_id=null)
Records a write event.
readMemberData($ids, $selected_columns=null)
static formatPeriod(ilDateTime $start, ilDateTime $end)
Format a period of two date Shows: 14.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
getLocalRoles($a_exclude=array())
setValue($a_value)
Set Value.
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
static _getObjectiveIds($course_id, $a_activated_only=false)
static _lookupFailedForObject($a_obj_id, $a_user_ids=null)
Get failed users for object.
static _tracProgress($a_user_id, $a_obj_id, $a_ref_id, $a_obj_type='')
setShowHidePrefs()
set preferences (show/hide tabel content)
removeTinyIconObject()
remove small icon
static _lookupTitle($a_id)
lookup object title
Class ilMailMemberSearchGUI.
static getMemberRoles($a_ref_id)
Get member roles.
static _lookupViewMode($a_id)
lookup view mode of container
const IL_CRS_SUBSCRIPTION_CONFIRMATION
static _goto($a_target, $a_add="")
goto target course
static handleCode($a_ref_id, $a_type, $a_code)
Handle target parameter.
const STATUS_DETERMINATION_LP
setInfo($a_info)
Set Info.
modifyItemGUI($a_item_list_gui, $a_item_data, $a_show_path)
Modify Item ListGUI for presentation in container.
initHeaderAction($a_sub_type=null, $a_sub_id=null)
updateObject()
Update course settings type $ilUser.
static _hasAccepted($a_usr_id, $a_obj_id)
Check if user has accepted agreement.
isActiveAdministrationPanel()
const LP_STATUS_IN_PROGRESS
deliverCertificateObject()
editObject(ilPropertyFormGUI $form=null)
edit object
const IL_CRS_VIEW_BY_TYPE
static _catchupWriteEvents($obj_id, $usr_id, $timestamp=null)
Catches up with all write events which occured before the specified timestamp.
static deleteRuns($a_container_id, $a_user_id)
Delete runs type $ilDB.
setSideColumnReturn()
Set return point for side column actions.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if(@file_exists(dirname(__FILE__).'/lang/eng.php')) $certificate
Test certificate adapter.
Export User Interface Class.
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
static _enabledUserRelatedData()
check wether user related tracking is enabled or not
class ilCourseObjectiveMaterials
performUnsubscribeObject()
const LIC_MODE_REPOSITORY
GUI class for public user profile presentation.
static _enabledLearningProgress()
check wether learing progress is enabled or not
const IL_CRS_SUBSCRIPTION_PASSWORD
afterSave(ilObject $a_new_object)
save object public
prepareOutput($a_show_subobjects=true)
Handle member view.
Class ilMailMemberCourseRoles.
class ilobjcourseobjectivesgui
updateCourseIconsObject()
update container icons
setValue($a_value)
Set Value.
GUI class for didactic template settings inside repository objects.
static _lookupProgressByObjId($a_obj_id)
lookup progress for a specific object
showPermanentLink(&$tpl)
show permanent link
const IL_CRS_VIEW_SESSIONS
setInfoObject($info)
get info sections
const MAIL_ALLOWED_TUTORS
getId()
get object id public
createMailSignature()
Create a course mail signature.
showCustomIconsEditing($a_input_colspan=1, ilPropertyFormGUI $a_form=null, $a_as_section=true)
show edit section of custom icons for container
static _getInstanceByType($a_type)
Get Singleton Instance.
addContentTab()
Add content tab.
static _gotoRepositoryNode($a_ref_id, $a_cmd="frameset")
Goto repository root.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
News settings for containers.
This class handles base functions for mail handling.
initDidacticTemplate(ilPropertyFormGUI $form)
Show didactic template types.
static _lookupObjId($a_id)
static makeClickable($a_text, $detectGotoLinks=false)
makeClickable In Texten enthaltene URLs und Mail-Adressen klickbar machen
editMapSettingsObject()
Edit Map Settings.
special template class to simplify handling of ITX/PEAR
static getDefaultSettings()
Get default longitude, latitude and zoom.
This class represents a text property in a property form.
const IL_CRS_SUBSCRIPTION_UNLIMITED
static formatDate(ilDateTime $date)
Format a date public.
getAgreementTabs()
Get tabs for member agreement.
GUI class to create PDF certificates.
static lookupRegistrationInfo($a_obj_id)
Lookup registration info ilDB $ilDB ilObjUser $ilUser ilLanguage $lng.
forwardToStyleSheet()
Forward to style object.
& forwardToPageObject()
forward command to page object
redirection script todo: (a better solution should control the processing via a xml file) ...
membersObject()
Called from goto?
const IL_CRS_ADMIN
Base class for course and group participants.
redirectLocToTestConfirmation($a_objective_id, $a_test_id)
Show confirmation whether user wants to start a new run or resume a previous run. ...
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
static deliverFile($a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
askResetObject()
ask reset test results
const STATUS_DETERMINATION_MANUAL
static getAvailablePortfolioLinksForUserIds(array $a_owner_ids, $a_back_url=null)
static _getInstanceByObjId($a_obj_id, $a_usr_id)
Get singleton instance.
removeSmallIconObject()
remove small icon
static _readFilesByCourse($a_course_id)
static updateServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Update service settings.
static _checkRequired($a_usr_id, $a_obj_id)
Check required fields.
static _isOnList($a_usr_id, $a_obj_id)
Check if a user on the waiting list.
static _getTranslation($a_role_title)
Create styles array
The data for the language used.
static _lookupType($a_id, $a_reference=false)
lookup object type
const AUTO_RATING_NEW_OBJECTS
Class ilObjCourseGroupingGUI.
afterImport(ilObject $a_new_object)
add course admin after import file
static _hasFields($a_container_id)
Check if there are any define fields.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static _lookupInProgressForObject($a_obj_id, $a_user_ids=null)
Get in progress users for object.
GUI class for course registrations.
static isActivated()
Checks whether Map feature is activated.
removeBigIconObject()
remove big icon
setSubTabs($a_tab)
set sub tabs
static _isActivated($a_obj_id)
Is activated.
static isObjectActive($a_obj_id)
static generateCode()
Generate new registration key.
checkLicenses($a_keep=false)
Check the remaining licenses of course objects and generate a message if raare.
static _getCountObjectives($a_obj_id, $a_activated_only=false)
get count objectives
static _fillHTMLMetaTags($a_rbac_id, $a_obj_id, $a_type)
Fill html meta tags.
initSortingForm(ilPropertyFormGUI $form, array $a_sorting_settings)
Append sorting settings to property form.
Create new PHPExcel object
obj_idprivate
__construct()
Constructor public.
static getInstance()
Get instance.
const LP_CONTEXT_REPOSITORY
This class represents a text area property in a property form.
Class ilCourseContentGUI.
static initServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Init service settings form.
getCreationMode()
get creation mode
getRefId()
get reference id public
Class ilContainerStartObjectsContentGUI.
deleteInfoFilesObject()
Delete info files.
checkAgreement()
Check agreement and redirect if it is not accepted.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
const IL_CRS_SUBSCRIPTION_DIRECT
static _getInstance()
Get instance of ilPrivacySettings.
editInfoObject(ilPropertyFormGUI $a_form=null)
Edit info page informations.
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
GUI class for service settings (calendar, notes, comments)
static _lookupCompletedForObject($a_obj_id, $a_user_ids=null)
Get completed users for object.
update()
update object in db
infoScreenObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually...
static redirect($a_script)
http redirect to other script
const LP_STATUS_COMPLETED
getFormAction($a_cmd, $a_formaction="")
get form action for command (command is method name without "Object", e.g.
editCourseIconsObject($a_form=null)
edit container icons
static getInstance($a_obj_id)
addHeaderAction()
Add header action menu.
infoScreen()
show information screen
Membership notification settings.
static _getLicensedChildObjects($a_ref_id)
Get a list of all sub objects with activated licensing.
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
Class ilObjUserTrackingGUI.
getReturnLocation($a_cmd, $a_location="")
get return location for command (command is method name without "Object", e.g.
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
static getInstanceByObjId($a_obj_id)
Get instance by obj type.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
Class ilContainerStartObjectsGUI.
saveNotificationObject()
:TEMP: Save notification setting (from infoscreen)
Class ilECSCourseSettings.
setContentSubTabs()
Set content sub tabs.
initInfoEditor()
init info editor
const IL_CRS_SUBSCRIPTION_DEACTIVATED
const IL_CRS_ACTIVATION_UNLIMITED
addStandardContainerSubTabs($a_include_view=true)
Add standar container subtabs for view, manage, oderdering and text/media editor link.
Confirmation screen class.
static getInstance()
Constructor.
static getInstance($a_ref_id, $a_include_auto_entries)
Get instance.
static _getFields($a_container_id, $a_sort=IL_CDF_SORT_NAME)
Get all fields of a container.
static setBlockedForLP($a_status)
Toggle LP blocking property status.