95 public function __construct(
int $a_id = 0,
bool $a_call_by_reference =
true)
102 $this->course_logger = $DIC->logger()->crs();
108 $query =
'SELECT tutorial_support_block FROM crs_settings' 109 .
' WHERE obj_id = ' .
$GLOBALS[
'DIC'][
'ilDB']->quote($a_obj_id,
'integer');
112 return (
bool) $row->tutorial_support_block;
119 $query =
'SELECT show_members FROM crs_settings ' .
120 'WHERE obj_id = ' .
$GLOBALS[
'DIC'][
'ilDB']->quote($a_obj_id,
'integer');
123 return (
bool) $row->show_members;
135 $this->member_export = $a_mem_export;
145 $this->reg_access_code = $a_code;
155 $this->reg_access_code_enabled = $a_status;
165 $this->important = $a_info;
175 $this->syllabus = $a_syllabus;
185 $this->target_group = $a_tg;
195 $this->contact_name = $a_cn;
205 $this->contact_consultation = $a_value;
215 $this->contact_phone = $a_value;
225 $this->contact_email = $a_value;
235 $this->contact_responsibility = $a_value;
250 $this->activation_start = $a_value;
260 $this->activation_end = $a_value;
265 $this->activation_visibility = $a_value;
280 $this->subscription_limitation_type = $a_type;
295 $this->subscription_start = $a_value;
305 $this->subscription_end = $a_value;
315 $this->subscription_type = $a_value;
325 $this->subscription_password = $a_value;
340 $this->waiting_list = $a_status;
356 $this->session_limit = $a_status;
366 $this->subscription_membership_limitation = $a_status;
371 $this->session_prev = $a_num;
381 $this->session_next = $a_num;
401 $this->subscription_max_members = $a_value;
408 $ilDB = $DIC->database();
409 $query =
"SELECT * FROM crs_settings " .
410 "WHERE obj_id = " .
$ilDB->quote($a_course_id,
'integer') .
" " .
411 "AND sub_notify = 1";
413 return (
bool)
$res->numRows();
423 $this->view_mode = $a_mode;
435 $ilDB = $DIC[
'ilDB'];
437 $query =
'SELECT timing_mode FROM crs_settings ' .
438 'WHERE obj_id = ' .
$ilDB->quote($a_obj_id,
'integer');
442 return (
int) $row->timing_mode;
449 $this->timing_mode = $a_mode;
459 $this->tutorial_support_block_setting_value = $value;
471 $ilDB = $DIC[
'ilDB'];
473 $query =
"SELECT view_mode FROM crs_settings WHERE obj_id = " .
$ilDB->quote($a_id,
'integer') .
" ";
476 return $row->view_mode;
485 $ilDB = $DIC[
'ilDB'];
487 $query =
"SELECT abo FROM crs_settings WHERE obj_id = " .
$ilDB->quote($a_id,
'integer') .
" ";
497 $this->abo = $a_status;
507 $this->show_members = $a_status;
517 $this->mail_members = $a_type;
532 $this->message = $a_message;
538 $this->message .=
"<br /> ";
540 $this->message .= $a_message;
585 $ilAppEventHandler = $DIC[
'ilAppEventHandler'];
587 $id = parent::create($a_upload);
593 $this->app_event_handler->raise(
594 'components/ILIAS/Course',
596 array(
'object' => $this,
597 'obj_id' => $this->
getId(),
607 $this->latitude = $a_latitude;
617 $this->longitude = $a_longitude;
627 $this->locationzoom = $a_locationzoom;
637 $this->enablemap = $a_enablemap;
653 ($start instanceof \
ilDate && !$end instanceof
ilDate) ||
654 ($end instanceof \ilDate && !$start instanceof ilDate)
659 if ($start instanceof \ilDate) {
670 $this->course_start_time_indication = $time_indication;
680 $this->crs_start = $a_value;
690 $this->crs_end = $a_value;
700 $this->leave_end = $a_value;
710 if ($a_value !== null) {
713 $this->min_members = $a_value;
723 $this->auto_fill_from_waiting = $a_value;
743 $new_obj = parent::cloneObject($a_target_id, $a_copy_id, $a_omit_tree);
749 $new_obj->getMemberObject()->updateContact($this->
user->getId(), 1);
752 if ($cwo->isRootNode($this->getRefId())) {
760 $obj_settings->cloneSettings($new_obj->getId());
761 unset($obj_settings);
771 $cloneAction->cloneCertificate($this, $new_obj);
774 $book_service->cloneSettings($this->
getId(), $new_obj->getId());
777 foreach ($badges as $badge) {
778 $badge->clone($new_obj->getId());
789 parent::cloneDependencies($a_target_id, $a_copy_id);
793 $start->cloneDependencies($a_target_id, $a_copy_id);
803 $crs_objective->ilClone($a_target_id, $a_copy_id);
807 $this->course_logger->info(
'Handling grouping id: ' . $grouping_id);
808 $grouping = new \ilObjCourseGrouping($grouping_id);
809 $grouping->cloneGrouping($a_target_id, $a_copy_id);
820 $new_admin = $new_obj->getDefaultAdminRole();
822 if (!$admin || !$new_admin || !$this->
getRefId() || !$new_obj->
getRefId()) {
823 $this->course_logger->debug(
'Error cloning auto generated role: il_crs_admin');
825 $this->rbac_admin->copyRolePermissions($admin, $this->
getRefId(), $new_obj->
getRefId(), $new_admin,
true);
826 $this->course_logger->debug(
'Finished copying of role crs_admin.');
829 $new_tutor = $new_obj->getDefaultTutorRole();
830 if (!$tutor || !$new_tutor) {
831 $this->course_logger->info(
'Error cloning auto generated role: il_crs_tutor');
833 $this->rbac_admin->copyRolePermissions($tutor, $this->
getRefId(), $new_obj->
getRefId(), $new_tutor,
true);
834 $this->course_logger->info(
'Finished copying of role crs_tutor.');
837 $new_member = $new_obj->getDefaultMemberRole();
838 if (!$member || !$new_member) {
839 $this->course_logger->debug(
'Error cloning auto generated role: il_crs_member');
841 $this->rbac_admin->copyRolePermissions($member, $this->
getRefId(), $new_obj->
getRefId(), $new_member,
true);
842 $this->course_logger->debug(
'Finished copying of role crs_member.');
885 foreach ($emails as $email) {
886 $email = trim($email);
888 $this->error->appendMessage($this->
lng->txt(
'contact_email_not_valid') .
" '" . $email .
"'");
907 public function delete():
bool 910 if (!parent::delete()) {
931 $this->app_event_handler->raise(
932 'components/ILIAS/Course',
934 array(
'object' => $this,
935 'obj_id' => $this->
getId(),
955 $this->app_event_handler->raise(
956 'components/ILIAS/Course',
958 array(
'object' => $this,
959 'obj_id' => $this->
getId(),
970 $query =
"SELECT * FROM crs_settings WHERE obj_id = " . $this->db->quote($this->
getId(),
'integer') .
" ";
971 $res = $this->db->query($query);
973 if (!
$res->numRows()) {
977 $query =
"UPDATE crs_settings SET " .
979 "syllabus = " . $this->db->quote($this->
getSyllabus(),
'text') .
", " .
980 "contact_name = " . $this->db->quote($this->
getContactName(),
'text') .
", " .
982 "contact_phone = " . $this->db->quote($this->
getContactPhone(),
'text') .
", " .
983 "contact_email = " . $this->db->quote($this->
getContactEmail(),
'text') .
", " .
985 "activation_type = " . $this->db->quote(!$this->
getOfflineStatus(),
'integer') .
", " .
994 "view_mode = " . $this->db->quote($this->
getViewMode(),
'integer') .
", " .
995 'timing_mode = ' . $this->db->quote($this->
getTimingMode(),
'integer') .
', ' .
996 "abo = " . $this->db->quote($this->
getAboStatus(),
'integer') .
", " .
1000 "show_members = " . $this->db->quote($this->
getShowMembers(),
'integer') .
", " .
1002 "latitude = " . $this->db->quote($this->
getLatitude(),
'text') .
", " .
1003 "longitude = " . $this->db->quote($this->
getLongitude(),
'text') .
", " .
1004 "location_zoom = " . $this->db->quote($this->
getLocationZoom(),
'integer') .
", " .
1005 "enable_course_map = " . $this->db->quote((
int) $this->
getEnableCourseMap(),
'integer') .
", " .
1011 'auto_notification = ' . $this->db->quote((
int) $this->
getAutoNotification(),
'integer') .
', ' .
1014 'period_start = ' . $this->db->quote(
1018 'period_end = ' . $this->db->quote(
1022 'period_time_indication = ' . $this->db->quote(
1027 'leave_end = ' . $this->db->quote(
1032 "WHERE obj_id = " . $this->db->quote($this->
getId(),
'integer') .
"";
1034 $res = $this->db->manipulate($query);
1037 if ($this->ref_id ??
false) {
1049 $item->update($this->ref_id);
1092 $new_obj->setCoursePeriod(
1113 $query =
"INSERT INTO crs_settings (obj_id,syllabus,contact_name,contact_responsibility," .
1114 "contact_phone,contact_email,contact_consultation," .
1115 "sub_limitation_type,sub_start,sub_end,sub_type,sub_password,sub_mem_limit," .
1116 "sub_max_members,sub_notify,view_mode,timing_mode,abo," .
1117 "latitude,longitude,location_zoom,enable_course_map,waiting_list,show_members,show_members_export, " .
1118 "session_limit,session_prev,session_next, reg_ac_enabled, reg_ac, auto_notification, status_dt, " .
1119 "mail_members_type, tutorial_support_block) " .
1121 $this->db->quote($this->
getId(),
'integer') .
", " .
1122 $this->db->quote($this->
getSyllabus(),
'text') .
", " .
1138 $this->db->quote($this->
getAboStatus(),
'integer') .
", " .
1139 $this->db->quote($this->
getLatitude(),
'text') .
", " .
1140 $this->db->quote($this->
getLongitude(),
'text') .
", " .
1143 #
"objective_view = '0', ".
1158 $res = $this->db->manipulate($query);
1168 $query =
"SELECT * FROM crs_settings WHERE obj_id = " . $this->db->quote($this->
getId(),
'integer');
1169 $res = $this->db->query($query);
1211 if ($row->period_time_indication) {
1216 } elseif (!is_null($row->period_start) && !is_null($row->period_end)) {
1229 if ($this->ref_id ??
false) {
1231 switch ($activation[
"timing_type"]) {
1244 $this->waiting_list_obj =
new ilCourseWaitingList($this->
getId());
1279 'il_crs_admin_' . $this->
getRefId(),
1280 "Admin of crs obj_no." . $this->
getId(),
1285 'il_crs_tutor_' . $this->
getRefId(),
1286 "Tutor of crs obj_no." . $this->
getId(),
1291 'il_crs_member_' . $this->
getRefId(),
1292 "Member of crs obj_no." . $this->
getId(),
1307 $parent_roles = $this->rbac_review->getParentRoleIds($a_parent_ref);
1308 foreach ($parent_roles as $parent_role) {
1309 $this->rbac_admin->initIntersectionPermissions(
1311 $parent_role[
'obj_id'],
1312 $parent_role[
'parent'],
1322 $q =
"SELECT obj_id FROM object_data WHERE type='rolt' AND title='il_crs_non_member'";
1325 return (
int) $row[
"obj_id"];
1332 $ilDB = $DIC->database();
1334 $query =
'SELECT obj_id FROM object_data WHERE type = ' .
$ilDB->quote(
1337 ) .
' AND title = ' .
$ilDB->quote(
'il_crs_non_member',
'text');
1340 return (
int) $row[
'obj_id'];
1351 if (empty($this->local_roles)) {
1352 $this->local_roles = array();
1353 $role_arr = $this->rbac_review->getRolesOfRoleFolder($this->
getRefId());
1355 foreach ($role_arr as $role_id) {
1356 if ($this->rbac_review->isAssignable($role_id, $this->getRefId()) ==
true) {
1361 $role_name = $role_Obj->getTitle();
1363 $this->local_roles[$role_name] = $role_Obj->getId();
1380 if (strlen($a_crs_id) > 0) {
1381 $crs_id = $a_crs_id;
1386 $role_arr = $this->rbac_review->getRolesOfRoleFolder($crs_id);
1388 $arr_crsDefaultRoles = [];
1389 foreach ($role_arr as $role_id) {
1390 $role_Obj = &$this->
ilias->obj_factory->getInstanceByObjId($role_id);
1392 $crs_Member =
"il_crs_member_" . $crs_id;
1393 $crs_Admin =
"il_crs_admin_" . $crs_id;
1394 $crs_Tutor =
"il_crs_tutor_" . $crs_id;
1396 if (strcmp($role_Obj->getTitle(), $crs_Member) == 0) {
1397 $arr_crsDefaultRoles[
"crs_member_role"] = $role_Obj->getId();
1400 if (strcmp($role_Obj->getTitle(), $crs_Admin) == 0) {
1401 $arr_crsDefaultRoles[
"crs_admin_role"] = $role_Obj->getId();
1404 if (strcmp($role_Obj->getTitle(), $crs_Tutor) == 0) {
1405 $arr_crsDefaultRoles[
"crs_tutor_role"] = $role_Obj->getId();
1409 return $arr_crsDefaultRoles;
1417 return $this->rbac_review->getRolesOfRoleFolder($this->
getRefId(),
false);
1422 $query =
"DELETE FROM crs_settings " .
1423 "WHERE obj_id = " . $this->db->quote($this->
getId(),
'integer') .
" ";
1424 $this->db->manipulate($query);
1430 foreach ($local_roles as $role_id) {
1432 if (substr(
$title, 0, 8) ==
'il_crs_m') {
1442 foreach ($local_roles as $role_id) {
1444 if (!strcmp($tmp_role->getTitle(),
"il_crs_tutor_" . $this->
getRefId())) {
1455 foreach ($local_roles as $role_id) {
1457 if (!strcmp($tmp_role->getTitle(),
"il_crs_admin_" . $this->
getRefId())) {
1474 switch ($a_element) {
1478 $ecs->handleContentUpdate();
1500 $app->setSubtitle(
'crs_cal_activation_start');
1508 $app->setSubtitle(
'crs_cal_activation_end');
1517 $app->setSubtitle(
'crs_cal_reg_start');
1525 $app->setSubtitle(
'crs_cal_reg_end');
1534 $app->setSubtitle(
'crs_cal_start');
1543 $app->setSubtitle(
'crs_cal_end');
1554 foreach ($active as $null => $item) {
1558 $app->setContextInfo($item[
'ref_id']);
1559 $app->setTitle($item[
'title']);
1560 $app->setSubtitle(
'cal_crs_timing_start');
1563 $app->setFullday(
true);
1567 $app->setContextInfo($item[
'ref_id']);
1568 $app->setTitle($item[
'title']);
1569 $app->setSubtitle(
'cal_crs_timing_end');
1572 $app->setFullday(
true);
1594 $ilDB = $DIC->database();
1596 $query =
"SELECT obj_id FROM crs_settings " .
1597 "WHERE reg_ac_enabled = " .
$ilDB->quote(1,
'integer') .
" " .
1598 "AND reg_ac = " .
$ilDB->quote($a_code,
'text');
1603 $obj_ids[] = (
int) $row->obj_id;
1612 public function register(
1615 bool $a_force_registration = false
1621 if (!$a_force_registration) {
1625 "Can't register to course, course is offline.",
1632 "Can't register to course, course is not activated.",
1640 'Cant registrate to course ' . $this->
getId() .
1641 ', course subscription is deactivated.',
1651 'Cant registrate to course ' . $this->
getId() .
1652 ', course is out of registration time.',
1663 $waiting_list->addToList($a_user_id);
1664 $this->
lng->loadLanguageModule(
"crs");
1666 $this->
lng->txt(
'crs_added_to_list'),
1667 $waiting_list->getPosition($a_user_id)
1670 $participants->sendNotification(
1709 $this->auto_notification = $value;
1717 $a_value = $a_value;
1720 if ($a_value == self::STATUS_DETERMINATION_LP) {
1722 $a_value = self::STATUS_DETERMINATION_MANUAL;
1726 $this->status_dt = $a_value;
1760 $this->
getMembersObject()->updatePassed($a_member_id, $has_completed,
false,
true);
1769 return parent::getOrderType();
1780 $this->course_logger->debug(
'Waiting list or auto fill disabled.');
1787 $this->course_logger->debug(
'Max members: ' . $max);
1788 $this->course_logger->debug(
'Current members: ' . $now);
1797 foreach ($waiting_list->getUserIds() as
$user_id) {
1799 $this->course_logger->warning(
'Cannot create user instance for id: ' .
$user_id);
1803 $this->course_logger->warning(
'User is already assigned to course. uid: ' .
$user_id .
' course_id: ' . $this->
getRefId());
1808 $waiting_list->removeFromList(
$user_id);
1811 $this->course_logger->info(
'Assigned user from waiting list to course: ' . $this->
getTitle());
1819 public static function mayLeave(
int $a_course_id,
int $a_user_id = 0, &$a_date = null): bool
1823 $ilUser = $DIC[
'ilUser'];
1824 $ilDB = $DIC[
'ilDB'];
1827 $a_user_id = $ilUser->getId();
1830 $set =
$ilDB->query(
"SELECT leave_end" .
1831 " FROM crs_settings" .
1832 " WHERE obj_id = " .
$ilDB->quote($a_course_id,
"integer"));
1833 $row =
$ilDB->fetchAssoc($set);
1834 if ($row && $row[
"leave_end"]) {
1836 $limit = date(
"Ymd", $row[
"leave_end"]);
1837 if ($limit < date(
"Ymd")) {
1856 $set =
$ilDB->query(
"SELECT obj_id, min_members" .
1857 " FROM crs_settings" .
1858 " WHERE min_members > " .
$ilDB->quote(0,
"integer") .
1859 " AND sub_mem_limit = " .
$ilDB->quote(1,
"integer") .
1860 " AND ((leave_end IS NOT NULL" .
1861 " AND leave_end < " .
$ilDB->quote($now,
"text") .
")" .
1862 " OR (leave_end IS NULL" .
1863 " AND sub_end IS NOT NULL" .
1864 " AND sub_end < " .
$ilDB->quote($now,
"text") .
"))" .
1866 while ($row =
$ilDB->fetchAssoc($set)) {
1875 $reci = $part->getNotificationRecipients();
1877 $missing = (
int) $row[
"min_members"] - $part->getCountMembers();
1879 $res[(
int) $row[
"obj_id"]] = array($missing, $reci);
const LP_STATUS_COMPLETED_NUM
getSubscriptionPassword()
static lookupTimingMode(int $a_obj_id)
string $contact_consultation
getSubscriptionMinMembers()
setSubscriptionLimitationType(int $a_type)
getSubscriptionMaxMembers()
const TYPE_ADMISSION_MEMBER
const ADDED_TO_WAITINGLIST
setSubscriptionStart(int $a_value)
const IL_CRS_VIEW_TIMING_ABSOLUTE
prepareAppointments(string $a_mode='create')
Prepare calendar appointments.
setLongitude(string $a_longitude)
setActivationEnd(int $a_value)
static convertDateToUtcDBTimestamp(\ilDateTime $date=null)
setAboStatus(bool $a_status)
static is_email(string $a_email, ilMailRfc822AddressParserFactory $mailAddressParserFactory=null)
This preg-based function checks whether an e-mail address is formally valid.
const TYPE_WAITING_LIST_MEMBER
setActivationVisibility(bool $a_value)
appendMessage(string $a_message)
setContactResponsibility(string $a_value)
const IL_CRS_SUBSCRIPTION_DIRECT
cloneObject(int $a_target_id, int $a_copy_id=0, bool $a_omit_tree=false)
Clone course (no member data)
static _deleteByContainer(int $a_container_id)
getActivationVisibility()
static lookupShowMembersEnabled(int $a_obj_id)
const IL_CRS_SUBSCRIPTION_DEACTIVATED
setCoursePeriod(?ilDateTime $start=null, ?ilDateTime $end=null)
bool $reg_access_code_enabled
static lookupCourseNonMemberTemplatesId()
static _isActivated(int $a_obj_id)
Is activated.
setNumberOfNextSessions(int $a_num)
static _getInstanceByObjId(int $a_obj_id, int $a_usr_id)
static _getAllReferences(int $id)
get all reference ids for object ID
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
isDeleted(int $a_node_id)
This is a wrapper for isSaved() with a more useful name.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
enableRegistrationAccessCode(bool $a_status)
const TIMINGS_DEACTIVATED
setNumberOfPreviousSessions(int $a_num)
setSubscriptionMinMembers(int $a_value)
const REGISTRATION_INVALID_OFFLINE
setShowMembers(bool $a_status)
const OUT_OF_REGISTRATION_PERIOD
Apointment templates are used for automatic generated apointments.
setTimingMode(int $a_mode)
isRegistrationAccessCodeEnabled()
setLocationZoom(int $a_locationzoom)
setActivationStart(int $a_value)
getStatusDetermination()
Get status determination mode.
setStatusDetermination(int $a_value)
Set status determination mode.
static createDefaultRole(string $a_title, string $a_description, string $a_tpl_name, int $a_ref_id)
string $subscription_password
cloneDependencies(int $a_target_id, int $a_copy_id)
static cloneDependencies(int $ref_id, int $target_id, int $copy_id)
const STATUS_DETERMINATION_LP
const TYPE_NOTIFICATION_ADMINS
setOrderType(int $a_value)
__createDefaultSettings()
static _usingRegistrationCode()
static mayLeave(int $a_course_id, int $a_user_id=0, &$a_date=null)
setCancellationEnd(?ilDate $a_value=null)
static _deleteUser(int $a_usr_id)
handleAutoFill()
Handle course auto fill.
setEnableCourseMap(bool $a_enablemap)
static _lookupViewMode(int $a_id)
setSubscriptionMaxMembers(int $a_value)
static _lookupObjId(int $ref_id)
getCourseStartTimeIndication()
static _deleteUser(int $a_usr_id)
Delete user data.
checkLPStatusSync(int $a_member_id)
sync course status from lp as lp data is not deleted on course exit new members may already have lp c...
static getUserIdByLogin(string $a_login)
static _lookupSortMode(int $a_obj_id)
static _deleteAll(int $course_id)
setSyllabus(string $a_syllabus)
static _deleteByCourse(int $a_course_id)
static _enabledLearningProgress()
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getTutorialSupportBlockSettingValue()
const CAL_ACTIVATION_START
const IL_CRS_SUBSCRIPTION_PASSWORD
cloneMetaData(ilObject $target_obj)
Copy meta data.
static _deleteAll(int $a_course_id)
const IL_CRS_SUBSCRIPTION_LIMITED
string $contact_responsibility
static _lookupTitle(int $obj_id)
static _getInstanceByObjId(int $a_obj_id)
setContactConsultation(string $a_value)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
bool $activation_visibility
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getNumberOfNextSessions()
setCourseStart(?ilDateTime $a_value=null)
cloneSettings(ilObject $new_obj)
setSubscriptionType(int $a_value)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
enableSessionLimit(int $a_status)
enableSubscriptionMembershipLimitation(bool $a_status)
getContactResponsibility()
syncMembersStatusWithLP()
__getCrsNonMemberTemplateId()
setSubscriptionEnd(int $a_value)
const REGISTRATION_CODE_DISABLED
setContactEmail(string $a_value)
setImportantInformation(string $a_info)
static _getTranslation(string $a_role_title)
static getTimingsItems(int $container_ref_id)
Get (sub) item data for timings view (no session material, no side blocks)
int $subscription_max_members
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _clone(int $a_source_id, int $a_target_id)
static getInstancesByParentId(int $a_parent_id, array $a_filter=null)
setMailToMembersType(int $a_type)
int $subscription_limitation_type
const CAL_COURSE_TIMING_END
getDefaultCourseRoles(string $a_crs_id="")
get default course roles, returns the defaultlike create roles il_crs_tutor, il_crs_admin and il_crs_...
ilCourseWaitingList $waiting_list_obj
Class ilObjForumAdministration.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setTutorialSupportBlockSettingValue(int $value)
static _isOffline(int $obj_id)
setWaitingListAutoFill(bool $a_value)
setOfflineStatus(bool $status)
const STATUS_DETERMINATION_MANUAL
static _lookupStatus(int $a_obj_id, int $a_user_id, bool $a_create=true)
Lookup status.
bool $auto_fill_from_waiting
getRegistrationAccessCode()
ilCourseParticipant $member_obj
getSubscriptionLimitationType()
static _cloneFiles(int $a_source_id, int $a_target_id)
static _getGroupings(int $a_course_id)
static _isActivated(int $a_obj_id, ?bool &$a_visible_flag=null, bool $a_mind_member_view=true)
static _deleteAllEntries(int $a_obj_id)
Delete all entries Normally called in case of object deletion.
getLocalCourseRoles($a_translate=false)
get ALL local roles of course, also those created and defined afterwards only fetch data once from da...
const IL_CRS_VIEW_OBJECTIVE
doMDUpdateListener(string $a_element)
getAutoNotification()
Returns automatic notification status from $this->auto_notification.
bool $crs_start_time_indication
static _registrationEnabled(int $a_obj_id)
setSubscriptionPassword(string $a_value)
bool $course_start_time_indication
static getInstanceByObjId(?int $obj_id, bool $stop_on_error=true)
get an instance of an Ilias object by object id
isSubscriptionMembershipLimited()
bool $subscription_membership_limitation
static _registrationEnabled(int $a_obj_id)
Registration enabled? Method is in Access class, since it is needed by Access/ListGUI.
setTargetGroup(?string $a_tg)
setContactName(string $a_cn)
setCourseEnd(?ilDateTime $a_value=null)
static generateCode()
Generate new registration key.
static getItem(int $ref_id)
ilCourseParticipants $members_obj
const CAL_COURSE_TIMING_START
const IL_CRS_SUBSCRIPTION_UNLIMITED
const REGISTRATION_INVALID_AVAILABILITY
static lookupNumberOfMembers(int $a_ref_id)
Lookup number of members.
getActivationUnlimitedStatus()
enableWaitingList(bool $a_status)
static findCoursesWithNotEnoughMembers()
static addAdditionalSubItemInformation(array &$item)
Parse item data for list entries.
__construct(int $a_id=0, bool $a_call_by_reference=true)
initCourseMembersObject()
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
__construct(Container $dic, ilPlugin $plugin)
int $tutorial_support_block_setting_value
static deleteResultsForUser(int $a_user_id)
getNumberOfPreviousSessions()
getLongDescription()
get object long description (stored in object_description)
static _deleteUser(int $a_usr_id)
getSubscriptionUnlimitedStatus()
toggleCourseStartTimeIndication(bool $time_indication)
setRegistrationAccessCode(string $a_code)
static _lookupAboStatus(int $a_id)
static lookupTutorialBlockSettingEabled(int $a_obj_id)
static _getInstance(int $a_copy_id)
setShowMembersExport(bool $a_mem_export)
setContactPhone(string $a_value)
setParentRolePermissions(int $a_parent_ref)
This method is called before "initDefaultRoles".
cloneAutoGeneratedRoles(ilObject $new_obj)
Clone automatic genrated roles (permissions and template permissions)
Class ilObjectActivation.
static cloneSettings(int $a_copy_id, int $a_container_id, int $a_new_container_id)
setMessage(string $a_message)
static lookupObjectsByCode(string $a_code)
getImportantInformation()
setLatitude(string $a_latitude)
addAdditionalSubItemInformation(array &$object)
Class ilECSCourseSettings.
static _isSubscriptionNotificationEnabled(int $a_course_id)
static _updateStatus(int $a_obj_id, int $a_usr_id, ?object $a_obj=null, bool $a_percentage=false, bool $a_force_raise=false)
static checkForumsExistsInsert(int $ref_id, int $user_id)
setAutoNotification(bool $value)
Sets automatic notification status in $this->auto_notification, using given $status.