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.