ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilObjCourse Class Reference

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V. More...

+ Inheritance diagram for ilObjCourse:
+ Collaboration diagram for ilObjCourse:

Public Member Functions

 __construct (int $a_id=0, bool $a_call_by_reference=true)
 
 getShowMembersExport ()
 
 setShowMembersExport (bool $a_mem_export)
 
 getRegistrationAccessCode ()
 
 setRegistrationAccessCode (string $a_code)
 
 isRegistrationAccessCodeEnabled ()
 
 enableRegistrationAccessCode (bool $a_status)
 
 getImportantInformation ()
 
 setImportantInformation (string $a_info)
 
 getSyllabus ()
 
 setSyllabus (string $a_syllabus)
 
 getTargetGroup ()
 
 setTargetGroup (?string $a_tg)
 
 getContactName ()
 
 setContactName (string $a_cn)
 
 getContactConsultation ()
 
 setContactConsultation (string $a_value)
 
 getContactPhone ()
 
 setContactPhone (string $a_value)
 
 getContactEmail ()
 
 setContactEmail (string $a_value)
 
 getContactResponsibility ()
 
 setContactResponsibility (string $a_value)
 
 getActivationUnlimitedStatus ()
 
 getActivationStart ()
 
 setActivationStart (int $a_value)
 
 getActivationEnd ()
 
 setActivationEnd (int $a_value)
 
 setActivationVisibility (bool $a_value)
 
 getActivationVisibility ()
 
 getSubscriptionLimitationType ()
 
 setSubscriptionLimitationType (int $a_type)
 
 getSubscriptionUnlimitedStatus ()
 
 getSubscriptionStart ()
 
 setSubscriptionStart (int $a_value)
 
 getSubscriptionEnd ()
 
 setSubscriptionEnd (int $a_value)
 
 getSubscriptionType ()
 
 setSubscriptionType (int $a_value)
 
 getSubscriptionPassword ()
 
 setSubscriptionPassword (string $a_value)
 
 enabledObjectiveView ()
 
 enabledWaitingList ()
 
 enableWaitingList (bool $a_status)
 
 inSubscriptionTime ()
 
 enableSessionLimit (int $a_status)
 
 isSessionLimitEnabled ()
 
 enableSubscriptionMembershipLimitation (bool $a_status)
 
 setNumberOfPreviousSessions (int $a_num)
 
 getNumberOfPreviousSessions ()
 
 setNumberOfNextSessions (int $a_num)
 
 getNumberOfNextSessions ()
 
 isSubscriptionMembershipLimited ()
 
 getSubscriptionMaxMembers ()
 
 setSubscriptionMaxMembers (int $a_value)
 
 getSubscriptionNotify ()
 
 setViewMode (int $a_mode)
 
 getViewMode ()
 
 setTimingMode (int $a_mode)
 
 getTimingMode ()
 
 setTutorialSupportBlockSettingValue (int $value)
 
 getTutorialSupportBlockSettingValue ()
 
 setAboStatus (bool $a_status)
 
 getAboStatus ()
 
 setShowMembers (bool $a_status)
 
 getShowMembers ()
 
 setMailToMembersType (int $a_type)
 
 getMailToMembersType ()
 
 getMessage ()
 
 setMessage (string $a_message)
 
 appendMessage (string $a_message)
 
 isActivated ()
 
 read ()
 
 create ()
 note: title, description and type should be set when this function is called More...
 
 setLatitude (string $a_latitude)
 
 getLatitude ()
 
 setLongitude (string $a_longitude)
 
 getLongitude ()
 
 setLocationZoom (int $a_locationzoom)
 
 getLocationZoom ()
 
 setEnableCourseMap (bool $a_enablemap)
 
 getEnableMap ()
 
 getEnableCourseMap ()
 
 setCoursePeriod (?ilDateTime $start=null, ?ilDateTime $end=null)
 
 getCourseStartTimeIndication ()
 
 getCourseStart ()
 
 getCourseEnd ()
 
 setCancellationEnd (?ilDate $a_value=null)
 
 getCancellationEnd ()
 
 setSubscriptionMinMembers (int $a_value)
 
 getSubscriptionMinMembers ()
 
 setWaitingListAutoFill (bool $a_value)
 
 hasWaitingListAutoFill ()
 
 cloneObject (int $target_id, int $copy_id=0, bool $omit_tree=false)
 Clone course (no member data) More...
 
 cloneDependencies (int $target_id, int $copy_id)
 @inheritDoc More...
 
 cloneAutoGeneratedRoles (ilObject $new_obj)
 Clone automatic genrated roles (permissions and template permissions) More...
 
 validate ()
 
 validateInfoSettings ()
 
 hasContactData ()
 
 delete ()
 delete course and all related data return true if all object data were removed; false if only a references were removed More...
 
 update ()
 @inheritDoc More...
 
 updateSettings ()
 
 cloneSettings (ilObject $new_obj)
 
 __createDefaultSettings ()
 
 __readSettings ()
 
 initWaitingList ()
 
 getMemberObject ()
 
 getMembersObject ()
 
 initDefaultRoles ()
 init default roles settings Purpose of this function is to create a local role folder and local roles, that are needed depending on the object type. More...
 
 setParentRolePermissions (int $parent_ref_id)
 This method is called before "initDefaultRoles". More...
 
 __getCrsNonMemberTemplateId ()
 
 getLocalCourseRoles ($a_translate=false)
 get ALL local roles of course, also those created and defined afterwards only fetch data once from database. More...
 
 getDefaultCourseRoles (string $a_crs_id="")
 get default course roles, returns the defaultlike create roles il_crs_tutor, il_crs_admin and il_crs_member Returns the obj_ids of course specific roles in an associative array. More...
 
 __getLocalRoles ()
 
 __deleteSettings ()
 
 getDefaultMemberRole ()
 
 getDefaultTutorRole ()
 
 getDefaultAdminRole ()
 
 addAdditionalSubItemInformation (array &$object)
 Add additional information to sub item, e.g. More...
 
 register (int $a_user_id, int $a_role=ilCourseConstants::CRS_MEMBER, bool $a_force_registration=false)
 
 getAutoNotification ()
 Returns automatic notification status from $this->auto_notification. More...
 
 setAutoNotification (bool $value)
 Sets automatic notification status in $this->auto_notification, using given $status. More...
 
 setStatusDetermination (int $a_value)
 Set status determination mode. More...
 
 getStatusDetermination ()
 Get status determination mode. More...
 
 syncMembersStatusWithLP ()
 
 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 completed More...
 
 getOrderType ()
 
 handleAutoFill ()
 Handle course auto fill. More...
 
- Public Member Functions inherited from ilContainer
 getTileSizes ()
 
 getObjectTranslation ()
 
 setObjectTranslation (?Translations $obj_trans)
 
 createContainerDirectory ()
 
 getContainerDirectory ()
 
 setHiddenFilesFound (bool $a_hiddenfilesfound)
 
 getHiddenFilesFound ()
 
 getStyleSheetId ()
 
 setStyleSheetId (int $a_style_id)
 
 setNewsTimeline (bool $a_val)
 
 getNewsTimeline ()
 
 setNewsTimelineAutoEntries (bool $a_val)
 
 getNewsTimelineAutoEntries ()
 
 setNewsTimelineLandingPage (bool $a_val)
 
 getNewsTimelineLandingPage ()
 
 isNewsTimelineEffective ()
 
 isNewsTimelineLandingPageEffective ()
 
 setNewsBlockActivated (bool $a_val)
 
 getNewsBlockActivated ()
 
 setUseNews (bool $a_val)
 
 getUseNews ()
 
 cloneDependencies (int $target_id, int $copy_id)
 Clone object dependencies (container sorting) More...
 
 cloneAllObject (string $session_id, string $client_id, string $new_type, int $ref_id, int $clone_source, array $options, bool $soap_call=false, int $a_submode=1)
 
 delete ()
 delete category and all related data More...
 
 getViewMode ()
 
 getOrderType ()
 
 setOrderType (int $a_value)
 
 isClassificationFilterActive ()
 
 filteredSubtree ()
 Note grp/crs currently allow to filter in their whole subtrees Catetories only their direct childs. More...
 
 getSubItems (bool $a_admin_panel_enabled=false, bool $a_include_side_block=false, int $a_get_single=0, ?ilContainerUserFilter $container_user_filter=null)
 
 gotItems ()
 
 addAdditionalSubItemInformation (array &$object)
 Add additional information to sub item, e.g. More...
 
 getGroupedObjTypes ()
 
 enablePageEditing ()
 
 create ()
 note: title, description and type should be set when this function is called More...
 
 putInTree (int $parent_ref_id)
 maybe this method should be in tree object!? More...
 
 update ()
 
 read ()
 
 readContainerSettings ()
 
 removeTranslations ()
 
 deleteTranslation (string $a_lang)
 
 addTranslation (string $a_title, string $a_desc, string $a_lang, string $a_lang_default)
 
- Public Member Functions inherited from ilObject
 getObjectProperties ()
 
 flushObjectProperties ()
 
 withReferences ()
 determines whether objects are referenced or not (got ref ids or not) More...
 
 processAutoRating ()
 
 read ()
 
 getId ()
 
 setId (int $id)
 
 setRefId (int $ref_id)
 
 getRefId ()
 
 getType ()
 
 setType (string $type)
 
 getPresentationTitle ()
 get presentation title Normally same as title Overwritten for sessions More...
 
 getTitle ()
 
 getUntranslatedTitle ()
 Get untranslated object title WebDAV needs to access the untranslated title of an object. More...
 
 setTitle (string $title)
 
 getDescription ()
 
 setDescription (string $description)
 
 getLongDescription ()
 get object long description (stored in object_description) More...
 
 getImportId ()
 
 setImportId (string $import_id)
 
 setOfflineStatus (bool $status)
 
 getOfflineStatus ()
 
 supportsOfflineHandling ()
 
 getOwner ()
 
 getOwnerName ()
 get full name of object owner More...
 
 setOwner (int $usr_id)
 
 getCreateDate ()
 Get create date in YYYY-MM-DD HH-MM-SS format. More...
 
 getLastUpdateDate ()
 Get last update date in YYYY-MM-DD HH-MM-SS format. More...
 
 create ()
 note: title, description and type should be set when this function is called More...
 
 update ()
 
 MDUpdateListener (string $element)
 Metadata update listener. More...
 
 createMetaData ()
 
 updateMetaData ()
 
 deleteMetaData ()
 
 updateOwner ()
 update owner of object in db More...
 
 putInTree (int $parent_ref_id)
 maybe this method should be in tree object!? More...
 
 setPermissions (int $parent_ref_id)
 
 setParentRolePermissions (int $parent_ref_id)
 Initialize the permissions of parent roles (local roles of categories, global roles...) This method is overwritten in e.g. More...
 
 createReference ()
 creates reference for object More...
 
 countReferences ()
 
 delete ()
 delete object or referenced object (in the case of a referenced object, object data is only deleted if last reference is deleted) This function removes an object entirely from system!! More...
 
 initDefaultRoles ()
 init default roles settings Purpose of this function is to create a local role folder and local roles, that are needed depending on the object type. More...
 
 applyDidacticTemplate (int $tpl_id)
 
 getXMLZip ()
 
 getHTMLDirectory ()
 
 appendCopyInfo (int $target_id, int $copy_id, int $new_obj_id)
 Prepend Copy info if object with same name exists in that container. More...
 
 cloneDependencies (int $target_id, int $copy_id)
 Clone object dependencies. More...
 
 cloneMetaData (ilObject $target_obj)
 Copy meta data. More...
 
 selfOrParentWithRatingEnabled ()
 
 getPossibleSubObjects (bool $filter=true)
 get all possible sub objects of this type the object can decide which types of sub objects are possible jut in time overwrite if the decision distinguish from standard model More...
 
- Public Member Functions inherited from ilMembershipRegistrationCodes
 register (int $a_user_id)
 Register an user. More...
 

Static Public Member Functions

static lookupTutorialBlockSettingEabled (int $a_obj_id)
 
static lookupShowMembersEnabled (int $a_obj_id)
 
static _isSubscriptionNotificationEnabled (int $a_course_id)
 
static lookupTimingMode (int $a_obj_id)
 
static _lookupViewMode (int $a_id)
 
static _lookupAboStatus (int $a_id)
 
static _isActivated (int $a_obj_id)
 Is activated. More...
 
static _registrationEnabled (int $a_obj_id)
 Registration enabled? Method is in Access class, since it is needed by Access/ListGUI. More...
 
static lookupCourseNonMemberTemplatesId ()
 
static _deleteUser (int $a_usr_id)
 
static lookupObjectsByCode (string $a_code)
 
static mayLeave (int $a_course_id, int $a_user_id=0, &$a_date=null)
 
static findCoursesWithNotEnoughMembers ()
 
- Static Public Member Functions inherited from ilContainer
static _getContainerDirectory (int $a_id)
 
static _lookupContainerSetting (int $a_id, string $a_keyword, ?string $a_default_value=null)
 
static _hasContainerSetting (int $a_id, string $a_keyword)
 
static _writeContainerSetting (int $a_id, string $a_keyword, string $a_value)
 
static _getContainerSettings (int $a_id)
 
static _deleteContainerSettings (int $a_id, string $a_keyword="", bool $a_keyword_like=false)
 
static _exportContainerSettings (ilXmlWriter $a_xml, int $a_obj_id)
 
static getCompleteDescriptions (array $objects)
 overwrites description fields to long or short description in an assoc array keys needed (obj_id and description) More...
 
- Static Public Member Functions inherited from ilObject
static _lookupObjIdByImportId (string $import_id)
 Get (latest) object id for an import id. More...
 
static _lookupImportId (int $obj_id)
 
static _lookupOwnerName (int $owner_id)
 Lookup owner name for owner id. More...
 
static _getIdForImportId (string $import_id)
 
static _getAllReferences (int $id)
 get all reference ids for object ID More...
 
static _lookupTitle (int $obj_id)
 
static lookupOfflineStatus (int $obj_id)
 Lookup offline status using objectDataCache. More...
 
static _lookupOwner (int $obj_id)
 Lookup owner user ID for object ID. More...
 
static _getIdsForTitle (string $title, string $type='', bool $partial_match=false)
 
static _lookupDescription (int $obj_id)
 
static _lookupLastUpdate (int $obj_id, bool $formatted=false)
 
static _getLastUpdateOfObjects (array $obj_ids)
 
static _lookupObjId (int $ref_id)
 
static _setDeletedDate (int $ref_id, int $deleted_by)
 
static setDeletedDates (array $ref_ids, int $user_id)
 
static _resetDeletedDate (int $ref_id)
 
static _lookupDeletedDate (int $ref_id)
 
static _writeTitle (int $obj_id, string $title)
 write title to db (static) More...
 
static _writeDescription (int $obj_id, string $desc)
 write description to db (static) More...
 
static _writeImportId (int $obj_id, string $import_id)
 write import id to db (static) More...
 
static _lookupType (int $id, bool $reference=false)
 
static _isInTrash (int $ref_id)
 
static _hasUntrashedReference (int $obj_id)
 checks whether an object has at least one reference that is not in trash More...
 
static _lookupObjectId (int $ref_id)
 
static _getObjectsDataForType (string $type, bool $omit_trash=false)
 get all objects of a certain type More...
 
static _exists (int $id, bool $reference=false, ?string $type=null)
 checks if an object exists in object_data More...
 
static _getObjectsByType (string $obj_type="", ?int $owner=null)
 
static _prepareCloneSelection (array $ref_ids, string $new_type, bool $show_path=true)
 Prepare copy wizard object selection. More...
 
static getIconForType (string $type)
 
static _getIcon (int $obj_id=0, string $size="big", string $type="", bool $offline=false)
 Get icon for repository item. More...
 
static collectDeletionDependencies (array &$deps, int $ref_id, int $obj_id, string $type, int $depth=0)
 Collect deletion dependencies. More...
 
static getDeletionDependencies (int $obj_id)
 Get deletion dependencies. More...
 
static getLongDescriptions (array $obj_ids)
 
static getAllOwnedRepositoryObjects (int $user_id)
 
static fixMissingTitles ($type, array &$obj_title_map)
 Try to fix missing object titles. More...
 
static _lookupCreationDate (int $obj_id)
 
static _getObjectTypeIdByTitle (string $type, ?\ilDBInterface $ilDB=null)
 
static lookupObjectsByCode (string $a_code)
 Lookup all objects with reg_access_code enabled and. More...
 

Data Fields

const int CAL_REG_START = 1
 
const int CAL_REG_END = 2
 
const int CAL_ACTIVATION_START = 3
 
const int CAL_ACTIVATION_END = 4
 
const int CAL_COURSE_START = 5
 
const int CAL_COURSE_END = 6
 
const int CAL_COURSE_TIMING_START = 7
 
const int CAL_COURSE_TIMING_END = 8
 
const int STATUS_DETERMINATION_LP = 1
 
const int STATUS_DETERMINATION_MANUAL = 2
 
- Data Fields inherited from ilContainer
const VIEW_SESSIONS = 0
 
const VIEW_OBJECTIVE = 1
 
const VIEW_TIMING = 2
 
const VIEW_ARCHIVE = 3
 
const VIEW_SIMPLE = 4
 
const VIEW_BY_TYPE = 5
 
const VIEW_INHERIT = 6
 
const VIEW_DEFAULT = self::VIEW_BY_TYPE
 
const SORT_TITLE = 0
 
const SORT_MANUAL = 1
 
const SORT_ACTIVATION = 2
 
const SORT_INHERIT = 3
 
const SORT_CREATION = 4
 
const SORT_DIRECTION_ASC = 0
 
const SORT_DIRECTION_DESC = 1
 
const SORT_NEW_ITEMS_POSITION_TOP = 0
 
const SORT_NEW_ITEMS_POSITION_BOTTOM = 1
 
const SORT_NEW_ITEMS_ORDER_TITLE = 0
 
const SORT_NEW_ITEMS_ORDER_CREATION = 1
 
const SORT_NEW_ITEMS_ORDER_ACTIVATION = 2
 
const TILE_NORMAL = 0
 
const TILE_SMALL = 1
 
const TILE_LARGE = 2
 
const TILE_EXTRA_LARGE = 3
 
const TILE_FULL = 4
 
array $items = []
 
- Data Fields inherited from ilObject
const TITLE_LENGTH = 255
 
const DESC_LENGTH = 128
 
const LONG_DESC_LENGTH = 4000
 
const TABLE_OBJECT_DATA = "object_data"
 
array $objectList
 
string $untranslatedTitle
 

Protected Member Functions

 toggleCourseStartTimeIndication (bool $time_indication)
 
 setCourseStart (?ilDateTime $a_value=null)
 
 setCourseEnd (?ilDateTime $a_value=null)
 
 initCourseMemberObject ()
 
 initCourseMembersObject ()
 
 doMDUpdateListener (string $a_element)
 
 prepareAppointments (string $a_mode='create')
 Prepare calendar appointments. More...
 
- Protected Member Functions inherited from ilContainer
 getInitialSubitems ()
 
 applyContainerUserFilter (array $objects, ?ilContainerUserFilter $container_user_filter=null)
 
- Protected Member Functions inherited from ilObject
 doMDUpdateListener (string $a_element)
 
 beforeMDUpdateListener (string $a_element)
 
 doCreateMetaData ()
 
 beforeCreateMetaData ()
 
 doUpdateMetaData ()
 
 beforeUpdateMetaData ()
 
 doDeleteMetaData ()
 
 beforeDeleteMetaData ()
 
 handleAutoRating ()
 
 hasAutoRating ()
 

Private Attributes

string $contact_consultation = ''
 
string $contact_phone = ''
 
string $contact_email = ''
 
string $contact_name = ''
 
string $contact_responsibility = ''
 
int $subscription_limitation_type = 0
 
int $subscription_start = 0
 
int $subscription_end = 0
 
int $subscription_type = 0
 
string $subscription_password = ''
 
int $view_mode = 0
 
bool $waiting_list = false
 
bool $subscription_membership_limitation = false
 
int $subscription_max_members = 0
 
bool $abo = true
 
bool $show_members = true
 
string $message = ''
 
bool $course_start_time_indication = true
 
ilCourseWaitingList $waiting_list_obj = null
 
string $important = ''
 
string $syllabus = ''
 
ilLogger $course_logger
 
string $latitude = ''
 
string $longitude = ''
 
int $locationzoom = 0
 
bool $enablemap = false
 
int $session_limit = 0
 
int $session_prev = -1
 
int $session_next = -1
 
string $reg_access_code = ''
 
bool $reg_access_code_enabled = false
 
int $status_dt = 0
 
int $mail_members = ilCourseConstants::MAIL_ALLOWED_ALL
 
bool $crs_start_time_indication = false
 
ilDateTime $crs_start = null
 
ilDateTime $crs_end = null
 
ilDate $leave_end = null
 
int $min_members = 0
 
bool $auto_fill_from_waiting = false
 
bool $member_export = false
 
int $timing_mode = ilCourseConstants::IL_CRS_VIEW_TIMING_ABSOLUTE
 
int $tutorial_support_block_setting_value = 0
 
bool $auto_notification = true
 
string $target_group = null
 
int $activation_start = 0
 
int $activation_end = 0
 
bool $activation_visibility = false
 
ilCourseParticipant $member_obj = null
 
ilCourseParticipants $members_obj = null
 
array $local_roles = []
 

Additional Inherited Members

- Static Public Attributes inherited from ilContainer
static bool $data_preloaded = false
 
- Protected Attributes inherited from ilContainer
News $news
 
ILIAS Style Content DomainService $content_style_domain
 
ILIAS Container InternalDomainService $domain
 
ilAccessHandler $access
 
ilRbacSystem $rbacsystem
 
ilObjUser $user
 
ilObjectDefinition $obj_definition
 
int $order_type = 0
 
bool $hiddenfilesfound = false
 
bool $news_timeline = false
 
bool $news_timeline_auto_entries = false
 
ilSetting $setting
 
Translations $obj_trans = null
 
int $style_id = 0
 
bool $news_timeline_landing_page = false
 
bool $news_block_activated = false
 
bool $use_news = false
 
ilRecommendedContentManager $recommended_content_manager
 
array $type_grps = null
 
- Protected Attributes inherited from ilObject
ilLogger $obj_log
 
ILIAS $ilias
 
ilObjectDefinition $obj_definition
 
ilDBInterface $db
 
ilLogger $log
 
ilErrorHandling $error
 
ilTree $tree
 
ilAppEventHandler $app_event_handler
 
ilRbacAdmin $rbac_admin
 
ilRbacReview $rbac_review
 
ilObjUser $user
 
ilLanguage $lng
 
LOMServices $lom_services
 
bool $call_by_reference
 
int $max_title = self::TITLE_LENGTH
 
int $max_desc = self::DESC_LENGTH
 
bool $add_dots = true
 
int $ref_id = null
 
string $type = ""
 
string $title = ""
 
string $desc = ""
 
string $long_desc = ""
 
int $owner = 0
 
string $create_date = ""
 
string $last_update = ""
 
string $import_id = ""
 
bool $register = false
 

Detailed Description

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V.

ILIAS is licensed with the GPL-3.0, see https://www.gnu.org/licenses/gpl-3.0.en.html You should have received a copy of said license along with the source code, too.

If this is not the case or you just want to try ILIAS, you'll find us at: https://www.ilias.de https://github.com/ILIAS-eLearning Class ilObjCourse

Author
Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om

Definition at line 23 of file class.ilObjCourse.php.

Constructor & Destructor Documentation

◆ __construct()

ilObjCourse::__construct ( int  $a_id = 0,
bool  $a_call_by_reference = true 
)

Definition at line 95 of file class.ilObjCourse.php.

96 {
97 global $DIC;
98
99 $this->setStatusDetermination(self::STATUS_DETERMINATION_LP);
100
101 $this->type = "crs";
102 $this->course_logger = $DIC->logger()->crs();
103 parent::__construct($a_id, $a_call_by_reference);
104 }
setStatusDetermination(int $a_value)
Set status determination mode.
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
global $DIC
Definition: shib_login.php:26

References $DIC, ILIAS\GlobalScreen\Provider\__construct(), and setStatusDetermination().

+ Here is the call graph for this function:

Member Function Documentation

◆ __createDefaultSettings()

ilObjCourse::__createDefaultSettings ( )

Definition at line 1100 of file class.ilObjCourse.php.

1100 : void
1101 {
1103
1104 $query = "INSERT INTO crs_settings (obj_id,syllabus,contact_name,contact_responsibility," .
1105 "contact_phone,contact_email,contact_consultation," .
1106 "sub_limitation_type,sub_start,sub_end,sub_type,sub_password,sub_mem_limit," .
1107 "sub_max_members,sub_notify,view_mode,timing_mode,abo," .
1108 "latitude,longitude,location_zoom,enable_course_map,waiting_list,show_members,show_members_export, " .
1109 "session_limit,session_prev,session_next, reg_ac_enabled, reg_ac, auto_notification, status_dt, " .
1110 "mail_members_type, tutorial_support_block) " .
1111 "VALUES( " .
1112 $this->db->quote($this->getId(), 'integer') . ", " .
1113 $this->db->quote($this->getSyllabus(), 'text') . ", " .
1114 $this->db->quote($this->getContactName(), 'text') . ", " .
1115 $this->db->quote($this->getContactResponsibility(), 'text') . ", " .
1116 $this->db->quote($this->getContactPhone(), 'text') . ", " .
1117 $this->db->quote($this->getContactEmail(), 'text') . ", " .
1118 $this->db->quote($this->getContactConsultation(), 'text') . ", " .
1119 $this->db->quote(ilCourseConstants::IL_CRS_SUBSCRIPTION_DEACTIVATED, 'integer') . ", " .
1120 $this->db->quote($this->getSubscriptionStart(), 'integer') . ", " .
1121 $this->db->quote($this->getSubscriptionEnd(), 'integer') . ", " .
1122 $this->db->quote(ilCourseConstants::IL_CRS_SUBSCRIPTION_DIRECT, 'integer') . ", " .
1123 $this->db->quote($this->getSubscriptionPassword(), 'text') . ", " .
1124 "0, " .
1125 $this->db->quote($this->getSubscriptionMaxMembers(), 'integer') . ", " .
1126 "1, " .
1127 "0, " .
1128 $this->db->quote(ilCourseConstants::IL_CRS_VIEW_TIMING_ABSOLUTE, 'integer') . ', ' .
1129 $this->db->quote($this->getAboStatus(), 'integer') . ", " .
1130 $this->db->quote($this->getLatitude(), 'text') . ", " .
1131 $this->db->quote($this->getLongitude(), 'text') . ", " .
1132 $this->db->quote($this->getLocationZoom(), 'integer') . ", " .
1133 $this->db->quote($this->getEnableCourseMap(), 'integer') . ", " .
1134 #"objective_view = '0', ".
1135 "1, " .
1136 "1," .
1137 '0,' .
1138 $this->db->quote($this->isSessionLimitEnabled(), 'integer') . ', ' .
1139 $this->db->quote($this->getNumberOfPreviousSessions(), 'integer') . ', ' .
1140 $this->db->quote($this->getNumberOfPreviousSessions(), 'integer') . ', ' .
1141 $this->db->quote($this->isRegistrationAccessCodeEnabled(), 'integer') . ', ' .
1142 $this->db->quote($this->getRegistrationAccessCode(), 'text') . ', ' .
1143 $this->db->quote((int) $this->getAutoNotification(), 'integer') . ', ' .
1144 $this->db->quote($this->getStatusDetermination(), 'integer') . ', ' .
1145 $this->db->quote($this->getMailToMembersType(), 'integer') . ', ' .
1146 $this->db->quote($this->getTutorialSupportBlockSettingValue(), 'integer') . ' ' .
1147 ")";
1148
1149 $res = $this->db->manipulate($query);
1150 $this->__readSettings();
1151
1152 $sorting = new ilContainerSortingSettings($this->getId());
1153 $sorting->setSortMode(ilContainer::SORT_MANUAL);
1154 $sorting->update();
1155 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static generateCode()
Generate new registration key.
getTutorialSupportBlockSettingValue()
getStatusDetermination()
Get status determination mode.
setRegistrationAccessCode(string $a_code)
getAutoNotification()
Returns automatic notification status from $this->auto_notification.
$res
Definition: ltiservices.php:69

References $res, __readSettings(), ilMembershipRegistrationCodeUtils\generateCode(), getAboStatus(), getAutoNotification(), getContactConsultation(), getContactEmail(), getContactName(), getContactPhone(), getContactResponsibility(), getEnableCourseMap(), ilObject\getId(), getLatitude(), getLocationZoom(), getLongitude(), getMailToMembersType(), getNumberOfPreviousSessions(), getRegistrationAccessCode(), getStatusDetermination(), getSubscriptionEnd(), getSubscriptionMaxMembers(), getSubscriptionPassword(), getSubscriptionStart(), getSyllabus(), getTutorialSupportBlockSettingValue(), ilCourseConstants\IL_CRS_SUBSCRIPTION_DEACTIVATED, ilCourseConstants\IL_CRS_SUBSCRIPTION_DIRECT, ilCourseConstants\IL_CRS_VIEW_TIMING_ABSOLUTE, isRegistrationAccessCodeEnabled(), isSessionLimitEnabled(), setRegistrationAccessCode(), and ilContainer\SORT_MANUAL.

Referenced by create(), and updateSettings().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __deleteSettings()

ilObjCourse::__deleteSettings ( )

Definition at line 1411 of file class.ilObjCourse.php.

1411 : void
1412 {
1413 $query = "DELETE FROM crs_settings " .
1414 "WHERE obj_id = " . $this->db->quote($this->getId(), 'integer') . " ";
1415 $this->db->manipulate($query);
1416 }

References ilObject\getId().

Referenced by delete().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __getCrsNonMemberTemplateId()

ilObjCourse::__getCrsNonMemberTemplateId ( )

Definition at line 1311 of file class.ilObjCourse.php.

1311 : int
1312 {
1313 $q = "SELECT obj_id FROM object_data WHERE type='rolt' AND title='il_crs_non_member'";
1314 $res = $this->ilias->db->query($q);
1315 $row = $res->fetchRow(ilDBConstants::FETCHMODE_ASSOC);
1316 return (int) $row["obj_id"];
1317 }
Class ilObjForumAdministration.
$q
Definition: shib_logout.php:23

References $q, $res, and ilDBConstants\FETCHMODE_ASSOC.

Referenced by setParentRolePermissions().

+ Here is the caller graph for this function:

◆ __getLocalRoles()

ilObjCourse::__getLocalRoles ( )
Returns
int[]

Definition at line 1406 of file class.ilObjCourse.php.

1406 : array
1407 {
1408 return $this->rbac_review->getRolesOfRoleFolder($this->getRefId(), false);
1409 }

References ilObject\getRefId().

Referenced by getDefaultAdminRole(), getDefaultMemberRole(), and getDefaultTutorRole().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __readSettings()

ilObjCourse::__readSettings ( )

Definition at line 1157 of file class.ilObjCourse.php.

1157 : void
1158 {
1159 $query = "SELECT * FROM crs_settings WHERE obj_id = " . $this->db->quote($this->getId(), 'integer');
1160 $res = $this->db->query($query);
1161 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
1162 $this->setTutorialSupportBlockSettingValue((int) $row->tutorial_support_block);
1163 $this->setSyllabus((string) $row->syllabus);
1164 $this->setTargetGroup($row->target_group);
1165 $this->setContactName((string) $row->contact_name);
1166 $this->setContactResponsibility((string) $row->contact_responsibility);
1167 $this->setContactPhone((string) $row->contact_phone);
1168 $this->setContactEmail((string) $row->contact_email);
1169 $this->setContactConsultation((string) $row->contact_consultation);
1170 $this->setSubscriptionLimitationType((int) $row->sub_limitation_type);
1171 $this->setSubscriptionStart((int) $row->sub_start);
1172 $this->setSubscriptionEnd((int) $row->sub_end);
1173 $this->setSubscriptionType((int) $row->sub_type);
1174 $this->setSubscriptionPassword((string) $row->sub_password);
1175 $this->enableSubscriptionMembershipLimitation((bool) $row->sub_mem_limit);
1176 $this->setSubscriptionMaxMembers((int) $row->sub_max_members);
1177 $this->setViewMode((int) $row->view_mode);
1178 $this->setTimingMode((int) $row->timing_mode);
1179 $this->setAboStatus((bool) $row->abo);
1180 $this->enableWaitingList((bool) $row->waiting_list);
1181 $this->setImportantInformation((string) $row->important);
1182 $this->setShowMembers((bool) $row->show_members);
1183
1184 if (\ilPrivacySettings::getInstance()->participantsListInCoursesEnabled()) {
1185 $this->setShowMembersExport((bool) $row->show_members_export);
1186 } else {
1187 $this->setShowMembersExport(false);
1188 }
1189 $this->setLatitude((string) $row->latitude);
1190 $this->setLongitude((string) $row->longitude);
1191 $this->setLocationZoom((int) $row->location_zoom);
1192 $this->setEnableCourseMap((bool) $row->enable_course_map);
1193 $this->enableSessionLimit((int) $row->session_limit);
1194 $this->setNumberOfPreviousSessions((int) $row->session_prev);
1195 $this->setNumberOfNextSessions((int) $row->session_next);
1196 $this->enableRegistrationAccessCode((bool) $row->reg_ac_enabled);
1197 $this->setRegistrationAccessCode((string) $row->reg_ac);
1198 $this->setAutoNotification((bool) $row->auto_notification);
1199 $this->setStatusDetermination((int) $row->status_dt);
1200 $this->setMailToMembersType((int) $row->mail_members_type);
1201
1202 if ($row->period_time_indication) {
1203 $this->setCoursePeriod(
1204 new \ilDateTime($row->period_start, IL_CAL_DATETIME, \ilTimeZone::UTC),
1205 new \ilDateTime($row->period_end, IL_CAL_DATETIME, \ilTimeZone::UTC)
1206 );
1207 } elseif (!is_null($row->period_start) && !is_null($row->period_end)) {
1208 $this->setCoursePeriod(
1209 new \ilDate($row->period_start, IL_CAL_DATE),
1210 new \ilDate($row->period_end, IL_CAL_DATE)
1211 );
1212 }
1213 $this->toggleCourseStartTimeIndication((bool) $row->period_time_indication);
1214 $this->setCancellationEnd($row->leave_end ? new ilDate($row->leave_end, IL_CAL_UNIX) : null);
1215 $this->setWaitingListAutoFill((bool) $row->auto_wait);
1216 $this->setSubscriptionMinMembers((int) $row->min_members);
1217 }
1218
1219 // moved activation to ilObjectActivation
1220 if ($this->ref_id ?? false) {
1221 $activation = ilObjectActivation::getItem($this->ref_id);
1222 switch ($activation["timing_type"]) {
1224 $this->setActivationStart((int) $activation["timing_start"]);
1225 $this->setActivationEnd((int) $activation["timing_end"]);
1226 $this->setActivationVisibility((bool) $activation["visible"]);
1227 break;
1228 }
1229 }
1230 }
const IL_CAL_DATE
const IL_CAL_UNIX
const IL_CAL_DATETIME
@classDescription Date and time handling
Class for single dates.
setSubscriptionMaxMembers(int $a_value)
setLongitude(string $a_longitude)
enableSubscriptionMembershipLimitation(bool $a_status)
setTargetGroup(?string $a_tg)
setSubscriptionLimitationType(int $a_type)
setNumberOfPreviousSessions(int $a_num)
setContactEmail(string $a_value)
setCoursePeriod(?ilDateTime $start=null, ?ilDateTime $end=null)
setContactPhone(string $a_value)
setImportantInformation(string $a_info)
setShowMembersExport(bool $a_mem_export)
enableSessionLimit(int $a_status)
setSubscriptionEnd(int $a_value)
setActivationVisibility(bool $a_value)
setLatitude(string $a_latitude)
enableRegistrationAccessCode(bool $a_status)
setViewMode(int $a_mode)
setTutorialSupportBlockSettingValue(int $value)
setTimingMode(int $a_mode)
setContactConsultation(string $a_value)
setSubscriptionPassword(string $a_value)
setContactName(string $a_cn)
setNumberOfNextSessions(int $a_num)
setMailToMembersType(int $a_type)
toggleCourseStartTimeIndication(bool $time_indication)
setActivationEnd(int $a_value)
setSubscriptionStart(int $a_value)
setActivationStart(int $a_value)
setSubscriptionType(int $a_value)
setSyllabus(string $a_syllabus)
setAboStatus(bool $a_status)
setShowMembers(bool $a_status)
setEnableCourseMap(bool $a_enablemap)
setLocationZoom(int $a_locationzoom)
setCancellationEnd(?ilDate $a_value=null)
setWaitingListAutoFill(bool $a_value)
enableWaitingList(bool $a_status)
setContactResponsibility(string $a_value)
setSubscriptionMinMembers(int $a_value)
setAutoNotification(bool $value)
Sets automatic notification status in $this->auto_notification, using given $status.
static getItem(int $ref_id)

References $res, enableRegistrationAccessCode(), enableSessionLimit(), enableSubscriptionMembershipLimitation(), enableWaitingList(), ilDBConstants\FETCHMODE_OBJECT, ilObject\getId(), ilPrivacySettings\getInstance(), ilObjectActivation\getItem(), IL_CAL_DATE, IL_CAL_DATETIME, IL_CAL_UNIX, setAboStatus(), setActivationEnd(), setActivationStart(), setActivationVisibility(), setAutoNotification(), setCancellationEnd(), setContactConsultation(), setContactEmail(), setContactName(), setContactPhone(), setContactResponsibility(), setCoursePeriod(), setEnableCourseMap(), setImportantInformation(), setLatitude(), setLocationZoom(), setLongitude(), setMailToMembersType(), setNumberOfNextSessions(), setNumberOfPreviousSessions(), setRegistrationAccessCode(), setShowMembers(), setShowMembersExport(), setStatusDetermination(), setSubscriptionEnd(), setSubscriptionLimitationType(), setSubscriptionMaxMembers(), setSubscriptionMinMembers(), setSubscriptionPassword(), setSubscriptionStart(), setSubscriptionType(), setSyllabus(), setTargetGroup(), setTimingMode(), setTutorialSupportBlockSettingValue(), setViewMode(), setWaitingListAutoFill(), ilObjectActivation\TIMINGS_ACTIVATION, toggleCourseStartTimeIndication(), and ilTimeZone\UTC.

Referenced by __createDefaultSettings(), and read().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _deleteUser()

static ilObjCourse::_deleteUser ( int  $a_usr_id)
static

Definition at line 1456 of file class.ilObjCourse.php.

1456 : void
1457 {
1461 }
static _deleteUser(int $a_usr_id)
static deleteResultsForUser(int $a_user_id)
static _deleteUser(int $a_usr_id)
Delete user data.

References ilCourseLMHistory\_deleteUser(), ilParticipants\_deleteUser(), and ilLOUserResults\deleteResultsForUser().

Referenced by ilObjUser\delete().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _isActivated()

static ilObjCourse::_isActivated ( int  $a_obj_id)
static

Is activated.

Method is in Access class, since it is needed by Access/ListGUI.

Definition at line 561 of file class.ilObjCourse.php.

561 : bool
562 {
563 return ilObjCourseAccess::_isActivated($a_obj_id);
564 }
static _isActivated(int $a_obj_id, ?bool &$a_visible_flag=null, bool $a_mind_member_view=true)

References ilObjCourseAccess\_isActivated().

Referenced by ilObjCourseGUI\executeCommand().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _isSubscriptionNotificationEnabled()

static ilObjCourse::_isSubscriptionNotificationEnabled ( int  $a_course_id)
static

Definition at line 404 of file class.ilObjCourse.php.

404 : bool
405 {
406 global $DIC;
407
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";
412 $res = $ilDB->query($query);
413 return (bool) $res->numRows();
414 }

References $DIC, $ilDB, and $res.

◆ _lookupAboStatus()

static ilObjCourse::_lookupAboStatus ( int  $a_id)
static

Definition at line 481 of file class.ilObjCourse.php.

481 : bool
482 {
483 global $DIC;
484
485 $ilDB = $DIC['ilDB'];
486
487 $query = "SELECT abo FROM crs_settings WHERE obj_id = " . $ilDB->quote($a_id, 'integer') . " ";
488 $res = $ilDB->query($query);
489 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
490 return $row->abo;
491 }
492 return false;
493 }

References $DIC, $ilDB, $res, and ilDBConstants\FETCHMODE_OBJECT.

Referenced by ilObjFolderGUI\modifyItemGUI(), and ilObjGroupGUI\modifyItemGUI().

+ Here is the caller graph for this function:

◆ _lookupViewMode()

static ilObjCourse::_lookupViewMode ( int  $a_id)
static

Definition at line 467 of file class.ilObjCourse.php.

467 : int
468 {
469 global $DIC;
470
471 $ilDB = $DIC['ilDB'];
472
473 $query = "SELECT view_mode FROM crs_settings WHERE obj_id = " . $ilDB->quote($a_id, 'integer') . " ";
474 $res = $ilDB->query($query);
475 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
476 return $row->view_mode;
477 }
478 return false;
479 }

References $DIC, $ilDB, $res, and ilDBConstants\FETCHMODE_OBJECT.

Referenced by ilCourseLP\checkObjectives(), ilCalendarScheduleFilterTimings\enabledCourseTimings(), ilObjFolderGUI\forwardToTimingsView(), and ilObjGroup\translateViewMode().

+ Here is the caller graph for this function:

◆ _registrationEnabled()

static ilObjCourse::_registrationEnabled ( int  $a_obj_id)
static

Registration enabled? Method is in Access class, since it is needed by Access/ListGUI.

Definition at line 569 of file class.ilObjCourse.php.

569 : bool
570 {
572 }
static _registrationEnabled(int $a_obj_id)

References ilObjCourseAccess\_registrationEnabled().

Referenced by ilObjCourseGUI\executeCommand().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addAdditionalSubItemInformation()

ilObjCourse::addAdditionalSubItemInformation ( array &  $object)

Add additional information to sub item, e.g.

used in courses for timings information etc.

Reimplemented from ilContainer.

Definition at line 1474 of file class.ilObjCourse.php.

1474 : void
1475 {
1477 }
static addAdditionalSubItemInformation(array &$item)
Parse item data for list entries.

References ilObjectActivation\addAdditionalSubItemInformation().

+ Here is the call graph for this function:

◆ appendMessage()

ilObjCourse::appendMessage ( string  $a_message)

Definition at line 535 of file class.ilObjCourse.php.

535 : void
536 {
537 if ($this->getMessage()) {
538 $this->message .= "<br /> ";
539 }
540 $this->message .= $a_message;
541 }

References getMessage().

Referenced by validate().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkLPStatusSync()

ilObjCourse::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 completed

Definition at line 1740 of file class.ilObjCourse.php.

1740 : void
1741 {
1742 // #11113
1745 // #13811 - we need to suppress creation if status entry
1746 $has_completed = (ilLPStatus::_lookupStatus(
1747 $this->getId(),
1748 $a_member_id,
1749 false
1751 $this->getMembersObject()->updatePassed($a_member_id, $has_completed, false, true);
1752 }
1753 }
const LP_STATUS_COMPLETED_NUM
static _lookupStatus(int $a_obj_id, int $a_user_id, bool $a_create=true)
Lookup status.
const int STATUS_DETERMINATION_LP

References ilObjUserTracking\_enabledLearningProgress(), ilLPStatus\_lookupStatus(), ilObject\getId(), getMembersObject(), getStatusDetermination(), ilLPStatus\LP_STATUS_COMPLETED_NUM, and STATUS_DETERMINATION_LP.

Referenced by handleAutoFill().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cloneAutoGeneratedRoles()

ilObjCourse::cloneAutoGeneratedRoles ( ilObject  $new_obj)

Clone automatic genrated roles (permissions and template permissions)

Definition at line 810 of file class.ilObjCourse.php.

810 : void
811 {
812 $admin = $this->getDefaultAdminRole();
813 $new_admin = $new_obj->getDefaultAdminRole();
814
815 if (!$admin || !$new_admin || !$this->getRefId() || !$new_obj->getRefId()) {
816 $this->course_logger->debug('Error cloning auto generated role: il_crs_admin');
817 }
818 $this->rbac_admin->copyRolePermissions($admin, $this->getRefId(), $new_obj->getRefId(), $new_admin, true);
819 $this->course_logger->debug('Finished copying of role crs_admin.');
820
821 $tutor = $this->getDefaultTutorRole();
822 $new_tutor = $new_obj->getDefaultTutorRole();
823 if (!$tutor || !$new_tutor) {
824 $this->course_logger->info('Error cloning auto generated role: il_crs_tutor');
825 }
826 $this->rbac_admin->copyRolePermissions($tutor, $this->getRefId(), $new_obj->getRefId(), $new_tutor, true);
827 $this->course_logger->info('Finished copying of role crs_tutor.');
828
829 $member = $this->getDefaultMemberRole();
830 $new_member = $new_obj->getDefaultMemberRole();
831 if (!$member || !$new_member) {
832 $this->course_logger->debug('Error cloning auto generated role: il_crs_member');
833 }
834 $this->rbac_admin->copyRolePermissions($member, $this->getRefId(), $new_obj->getRefId(), $new_member, true);
835 $this->course_logger->debug('Finished copying of role crs_member.');
836 }

References getDefaultAdminRole(), getDefaultMemberRole(), getDefaultTutorRole(), and ilObject\getRefId().

Referenced by cloneObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cloneDependencies()

ilObjCourse::cloneDependencies ( int  $target_id,
int  $copy_id 
)

@inheritDoc

Reimplemented from ilContainer.

Definition at line 780 of file class.ilObjCourse.php.

780 : bool
781 {
782 parent::cloneDependencies($target_id, $copy_id);
783
784 // Clone course start objects
785 $start = new ilContainerStartObjects($this->getRefId(), $this->getId());
786 $start->cloneDependencies($target_id, $copy_id);
787
788 // Clone course item settings
789 ilObjectActivation::cloneDependencies($this->getRefId(), $target_id, $copy_id);
790
791 // clone objective settings
792 ilLOSettings::cloneSettings($copy_id, $this->getId(), ilObject::_lookupObjId($target_id));
793
794 // Clone course learning objectives
795 $crs_objective = new ilCourseObjective($this);
796 $crs_objective->ilClone($target_id, $copy_id);
797
798 // clone membership limitation
799 foreach (\ilObjCourseGrouping::_getGroupings($this->getId()) as $grouping_id) {
800 $this->course_logger->info('Handling grouping id: ' . $grouping_id);
801 $grouping = new \ilObjCourseGrouping($grouping_id);
802 $grouping->cloneGrouping($target_id, $copy_id);
803 }
804 return true;
805 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
class ilcourseobjective
static cloneSettings(int $a_copy_id, int $a_container_id, int $a_new_container_id)
static _getGroupings(int $a_course_id)
static cloneDependencies(int $ref_id, int $target_id, int $copy_id)
static _lookupObjId(int $ref_id)

References ilObjCourseGrouping\_getGroupings(), ilObject\_lookupObjId(), ilObjectActivation\cloneDependencies(), ilLOSettings\cloneSettings(), ilObject\getId(), and ilObject\getRefId().

+ Here is the call graph for this function:

◆ cloneObject()

ilObjCourse::cloneObject ( int  $target_id,
int  $copy_id = 0,
bool  $omit_tree = false 
)

Clone course (no member data)

Definition at line 732 of file class.ilObjCourse.php.

732 : ?ilObject
733 {
734 global $DIC;
735
736 $new_obj = parent::cloneObject($target_id, $copy_id, $omit_tree);
737
738 $this->cloneAutoGeneratedRoles($new_obj);
739 $this->cloneMetaData($new_obj);
740
741 $new_obj->getMemberObject()->add($this->user->getId(), ilParticipants::IL_CRS_ADMIN);
742 $new_obj->getMemberObject()->updateContact($this->user->getId(), 1);
743
744 $cwo = ilCopyWizardOptions::_getInstance($copy_id);
745 if ($cwo->isRootNode($this->getRefId())) {
746 $this->setOfflineStatus(true);
747 }
748
749 $this->cloneSettings($new_obj);
750 ilCourseDefinedFieldDefinition::_clone($this->getId(), $new_obj->getId());
751 ilCourseFile::_cloneFiles($this->getId(), $new_obj->getId());
752 $obj_settings = new ilLPObjSettings($this->getId());
753 $obj_settings->cloneSettings($new_obj->getId());
754 unset($obj_settings);
755 $pathFactory = new ilCertificatePathFactory();
756 $templateRepository = new ilCertificateTemplateDatabaseRepository($this->db);
757
758 $cloneAction = new ilCertificateCloneAction(
759 $this->db,
760 $pathFactory,
761 $templateRepository,
763 );
764 $cloneAction->cloneCertificate($this, $new_obj);
765
766 $book_service = new ilBookingService();
767 $book_service->cloneSettings($this->getId(), $new_obj->getId());
768
769 $badges = ilBadge::getInstancesByParentId($this->getId());
770 foreach ($badges as $badge) {
771 $badge->clone($new_obj->getId());
772 }
773
774 return $new_obj;
775 }
static getInstancesByParentId(int $a_parent_id, ?array $a_filter=null)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _getInstance(int $a_copy_id)
static _clone(int $a_source_id, int $a_target_id)
static _cloneFiles(int $a_source_id, int $a_target_id)
cloneSettings(ilObject $new_obj)
cloneAutoGeneratedRoles(ilObject $new_obj)
Clone automatic genrated roles (permissions and template permissions)
Class ilObject Basic functions for all objects.
cloneMetaData(ilObject $target_obj)
Copy meta data.
setOfflineStatus(bool $status)

References $DIC, ilCourseDefinedFieldDefinition\_clone(), ilCourseFile\_cloneFiles(), ilCopyWizardOptions\_getInstance(), cloneAutoGeneratedRoles(), ilObject\cloneMetaData(), cloneSettings(), ilObject\getId(), ilBadge\getInstancesByParentId(), ilParticipants\IL_CRS_ADMIN, ilObject\setOfflineStatus(), and ILIAS\Repository\user().

+ Here is the call graph for this function:

◆ cloneSettings()

ilObjCourse::cloneSettings ( ilObject  $new_obj)

Definition at line 1044 of file class.ilObjCourse.php.

1044 : void
1045 {
1046 $new_obj->setTutorialSupportBlockSettingValue($this->getTutorialSupportBlockSettingValue());
1047 $new_obj->setSyllabus($this->getSyllabus());
1048 $new_obj->setContactName($this->getContactName());
1049 $new_obj->setContactResponsibility($this->getContactResponsibility());
1050 $new_obj->setContactPhone($this->getContactPhone());
1051 $new_obj->setContactEmail($this->getContactEmail());
1052 $new_obj->setContactConsultation($this->getContactConsultation());
1053 $new_obj->setOfflineStatus($this->getOfflineStatus()); // #9914
1054 $new_obj->setActivationStart($this->getActivationStart());
1055 $new_obj->setActivationEnd($this->getActivationEnd());
1056 $new_obj->setActivationVisibility($this->getActivationVisibility());
1057 $new_obj->setSubscriptionLimitationType($this->getSubscriptionLimitationType());
1058 $new_obj->setSubscriptionStart($this->getSubscriptionStart());
1059 $new_obj->setSubscriptionEnd($this->getSubscriptionEnd());
1060 $new_obj->setSubscriptionType($this->getSubscriptionType());
1061 $new_obj->setSubscriptionPassword($this->getSubscriptionPassword());
1062 $new_obj->enableSubscriptionMembershipLimitation($this->isSubscriptionMembershipLimited());
1063 $new_obj->setSubscriptionMaxMembers($this->getSubscriptionMaxMembers());
1064 $new_obj->setViewMode($this->getViewMode());
1065 $new_obj->setTimingMode($this->getTimingMode());
1066 $new_obj->setOrderType($this->getOrderType());
1067 $new_obj->setAboStatus($this->getAboStatus());
1068 $new_obj->enableWaitingList($this->enabledWaitingList());
1069 $new_obj->setImportantInformation($this->getImportantInformation());
1070 $new_obj->setTargetGroup($this->getTargetGroup());
1071 $new_obj->setShowMembers($this->getShowMembers());
1072 // patch mem_exp
1073 $new_obj->setShowMembersExport($this->getShowMembersExport());
1074 // patch mem_exp
1075 $new_obj->enableSessionLimit($this->isSessionLimitEnabled());
1076 $new_obj->setNumberOfPreviousSessions($this->getNumberOfPreviousSessions());
1077 $new_obj->setNumberOfNextSessions($this->getNumberOfNextSessions());
1078 $new_obj->setAutoNotification($this->getAutoNotification());
1079 $new_obj->enableRegistrationAccessCode($this->isRegistrationAccessCodeEnabled());
1080 $new_obj->setRegistrationAccessCode(ilMembershipRegistrationCodeUtils::generateCode());
1081 $new_obj->setStatusDetermination($this->getStatusDetermination());
1082 $new_obj->setMailToMembersType($this->getMailToMembersType());
1083 $new_obj->setCoursePeriod(
1084 $this->getCourseStart(),
1085 $this->getCourseEnd()
1086 );
1087 $new_obj->setCancellationEnd($this->getCancellationEnd());
1088 $new_obj->setWaitingListAutoFill($this->hasWaitingListAutoFill());
1089 $new_obj->setSubscriptionMinMembers($this->getSubscriptionMinMembers());
1090
1091 // #10271
1092 $new_obj->setEnableCourseMap($this->getEnableCourseMap());
1093 $new_obj->setLatitude($this->getLatitude());
1094 $new_obj->setLongitude($this->getLongitude());
1095 $new_obj->setLocationZoom($this->getLocationZoom());
1096
1097 $new_obj->update();
1098 }

References enabledWaitingList(), ilMembershipRegistrationCodeUtils\generateCode(), getAboStatus(), getActivationEnd(), getActivationStart(), getActivationVisibility(), getAutoNotification(), getCancellationEnd(), getContactConsultation(), getContactEmail(), getContactName(), getContactPhone(), getContactResponsibility(), getCourseEnd(), getCourseStart(), getEnableCourseMap(), getImportantInformation(), getLatitude(), getLocationZoom(), getLongitude(), getMailToMembersType(), getNumberOfNextSessions(), getNumberOfPreviousSessions(), ilObject\getOfflineStatus(), getOrderType(), getShowMembers(), getShowMembersExport(), getStatusDetermination(), getSubscriptionEnd(), getSubscriptionLimitationType(), getSubscriptionMaxMembers(), getSubscriptionMinMembers(), getSubscriptionPassword(), getSubscriptionStart(), getSubscriptionType(), getSyllabus(), getTargetGroup(), getTimingMode(), getTutorialSupportBlockSettingValue(), getViewMode(), hasWaitingListAutoFill(), isRegistrationAccessCodeEnabled(), isSessionLimitEnabled(), isSubscriptionMembershipLimited(), ilObject\setOfflineStatus(), and ilObject\update().

Referenced by cloneObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ create()

ilObjCourse::create ( )

note: title, description and type should be set when this function is called

Reimplemented from ilContainer.

Definition at line 581 of file class.ilObjCourse.php.

581 : int
582 {
583 global $DIC;
584
585 $ilAppEventHandler = $DIC['ilAppEventHandler'];
586
587 $id = parent::create();
588
589 $this->createMetaData();
591 $this->app_event_handler->raise(
592 'components/ILIAS/Course',
593 'create',
594 array('object' => $this,
595 'obj_id' => $this->getId(),
596 'appointments' => $this->prepareAppointments('create')
597 )
598 );
599
600 return $id;
601 }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
prepareAppointments(string $a_mode='create')
Prepare calendar appointments.

References $DIC, $id, __createDefaultSettings(), ilObject\createMetaData(), ilObject\getId(), and prepareAppointments().

+ Here is the call graph for this function:

◆ delete()

ilObjCourse::delete ( )

delete course and all related data return true if all object data were removed; false if only a references were removed

Reimplemented from ilContainer.

Definition at line 898 of file class.ilObjCourse.php.

898 : bool
899 {
900 // always call parent delete function first!!
901 if (!parent::delete()) {
902 return false;
903 }
904
905 // delete meta data
906 $this->deleteMetaData();
907
908 // put here course specific stuff
909
910 $this->__deleteSettings();
911
913
915
917
919
921
922 $this->app_event_handler->raise(
923 'components/ILIAS/Course',
924 'delete',
925 array('object' => $this,
926 'obj_id' => $this->getId(),
927 'appointments' => $this->prepareAppointments('delete')
928 )
929 );
930 return true;
931 }
static _deleteByCourse(int $a_course_id)
static _deleteAll(int $course_id)
static _deleteAll(int $a_course_id)
static _deleteAllEntries(int $a_obj_id)
Delete all entries Normally called in case of object deletion.

References __deleteSettings(), ilObjCourseGrouping\_deleteAll(), ilCourseObjective\_deleteAll(), ilParticipants\_deleteAllEntries(), ilCourseDefinedFieldDefinition\_deleteByContainer(), ilCourseFile\_deleteByCourse(), ilObject\deleteMetaData(), ilObject\getId(), and prepareAppointments().

+ Here is the call graph for this function:

◆ doMDUpdateListener()

ilObjCourse::doMDUpdateListener ( string  $a_element)
protected

Reimplemented from ilObject.

Definition at line 1463 of file class.ilObjCourse.php.

1463 : void
1464 {
1465 switch ($a_element) {
1466 case 'General':
1467 // Update ecs content
1468 $ecs = new ilECSCourseSettings($this);
1469 $ecs->handleContentUpdate();
1470 break;
1471 }
1472 }
Class ilECSCourseSettings.

◆ enabledObjectiveView()

ilObjCourse::enabledObjectiveView ( )

Definition at line 328 of file class.ilObjCourse.php.

328 : bool
329 {
330 return $this->view_mode == ilCourseConstants::IL_CRS_VIEW_OBJECTIVE;
331 }

References ilCourseConstants\IL_CRS_VIEW_OBJECTIVE.

Referenced by getOrderType().

+ Here is the caller graph for this function:

◆ enabledWaitingList()

ilObjCourse::enabledWaitingList ( )

Definition at line 333 of file class.ilObjCourse.php.

333 : bool
334 {
335 return $this->waiting_list;
336 }

References $waiting_list.

Referenced by cloneSettings(), handleAutoFill(), register(), updateSettings(), and validate().

+ Here is the caller graph for this function:

◆ enableRegistrationAccessCode()

ilObjCourse::enableRegistrationAccessCode ( bool  $a_status)

Definition at line 153 of file class.ilObjCourse.php.

153 : void
154 {
155 $this->reg_access_code_enabled = $a_status;
156 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ enableSessionLimit()

ilObjCourse::enableSessionLimit ( int  $a_status)

Definition at line 354 of file class.ilObjCourse.php.

354 : void
355 {
356 $this->session_limit = $a_status;
357 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ enableSubscriptionMembershipLimitation()

ilObjCourse::enableSubscriptionMembershipLimitation ( bool  $a_status)

Definition at line 364 of file class.ilObjCourse.php.

364 : void
365 {
366 $this->subscription_membership_limitation = $a_status;
367 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ enableWaitingList()

ilObjCourse::enableWaitingList ( bool  $a_status)

Definition at line 338 of file class.ilObjCourse.php.

338 : void
339 {
340 $this->waiting_list = $a_status;
341 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ findCoursesWithNotEnoughMembers()

static ilObjCourse::findCoursesWithNotEnoughMembers ( )
static

Definition at line 1836 of file class.ilObjCourse.php.

1836 : array
1837 {
1838 $ilDB = $GLOBALS['DIC']->database();
1839 $tree = $GLOBALS['DIC']->repositoryTree();
1840
1841 $res = array();
1842
1843 $before = new ilDateTime(time(), IL_CAL_UNIX);
1844 $now = $before->get(IL_CAL_UNIX);
1845 $now_dt = $before->get(IL_CAL_DATETIME, '', ilTimeZone::UTC);
1846
1847 $set = $ilDB->query("SELECT obj_id, min_members" .
1848 " FROM crs_settings" .
1849 " WHERE min_members > " . $ilDB->quote(0, "integer") .
1850 " AND sub_mem_limit = " . $ilDB->quote(1, "integer") . // #17206
1851 " AND ((leave_end IS NOT NULL" .
1852 " AND leave_end < " . $ilDB->quote($now, "text") . ")" .
1853 " OR (leave_end IS NULL" .
1854 " AND sub_end IS NOT NULL" .
1855 " AND sub_end < " . $ilDB->quote($now, "text") . "))" .
1856 " AND (period_start IS NULL OR period_start > " . $ilDB->quote($now_dt, ilDBConstants::T_TEXT) . ")");
1857 while ($row = $ilDB->fetchAssoc($set)) {
1858 $refs = ilObject::_getAllReferences((int) $row['obj_id']);
1859 $ref = end($refs);
1860
1861 if ($tree->isDeleted($ref)) {
1862 continue;
1863 }
1864
1865 $part = new ilCourseParticipants((int) $row["obj_id"]);
1866 $reci = $part->getNotificationRecipients();
1867 if ($reci !== []) {
1868 $missing = (int) $row["min_members"] - $part->getCountMembers();
1869 if ($missing > 0) {
1870 $res[(int) $row["obj_id"]] = array($missing, $reci);
1871 }
1872 }
1873 }
1874
1875 return $res;
1876 }
static _getAllReferences(int $id)
get all reference ids for object ID
ilTree $tree
isDeleted(int $a_node_id)
This is a wrapper for isSaved() with a more useful name.
$GLOBALS["DIC"]
Definition: wac.php:54

References $GLOBALS, $ilDB, $res, ilObject\$tree, ilObject\_getAllReferences(), IL_CAL_DATETIME, IL_CAL_UNIX, ILIAS\Repository\int(), ilTree\isDeleted(), ilDBConstants\T_TEXT, and ilTimeZone\UTC.

Referenced by ilMembershipCronMinMembers\getCourses().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getAboStatus()

ilObjCourse::getAboStatus ( )

Definition at line 500 of file class.ilObjCourse.php.

500 : bool
501 {
502 return $this->abo;
503 }

References $abo.

Referenced by __createDefaultSettings(), cloneSettings(), and updateSettings().

+ Here is the caller graph for this function:

◆ getActivationEnd()

ilObjCourse::getActivationEnd ( )

Definition at line 253 of file class.ilObjCourse.php.

253 : int
254 {
256 }

References $activation_end.

Referenced by cloneSettings(), getActivationUnlimitedStatus(), isActivated(), prepareAppointments(), and updateSettings().

+ Here is the caller graph for this function:

◆ getActivationStart()

ilObjCourse::getActivationStart ( )

Definition at line 243 of file class.ilObjCourse.php.

243 : int
244 {
246 }

References $activation_start.

Referenced by cloneSettings(), getActivationUnlimitedStatus(), isActivated(), prepareAppointments(), and updateSettings().

+ Here is the caller graph for this function:

◆ getActivationUnlimitedStatus()

ilObjCourse::getActivationUnlimitedStatus ( )

Definition at line 238 of file class.ilObjCourse.php.

238 : bool
239 {
240 return !$this->getActivationStart() || !$this->getActivationEnd();
241 }

References getActivationEnd(), and getActivationStart().

Referenced by isActivated(), and prepareAppointments().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getActivationVisibility()

ilObjCourse::getActivationVisibility ( )

Definition at line 268 of file class.ilObjCourse.php.

268 : bool
269 {
271 }
bool $activation_visibility

References $activation_visibility.

Referenced by cloneSettings(), and updateSettings().

+ Here is the caller graph for this function:

◆ getAutoNotification()

ilObjCourse::getAutoNotification ( )

Returns automatic notification status from $this->auto_notification.

Definition at line 1689 of file class.ilObjCourse.php.

1689 : bool
1690 {
1692 }

References $auto_notification.

Referenced by __createDefaultSettings(), cloneSettings(), and updateSettings().

+ Here is the caller graph for this function:

◆ getCancellationEnd()

ilObjCourse::getCancellationEnd ( )

Definition at line 701 of file class.ilObjCourse.php.

701 : ?ilDate
702 {
703 return $this->leave_end;
704 }

References $leave_end.

Referenced by cloneSettings(), and updateSettings().

+ Here is the caller graph for this function:

◆ getContactConsultation()

ilObjCourse::getContactConsultation ( )

Definition at line 198 of file class.ilObjCourse.php.

198 : string
199 {
201 }
string $contact_consultation

References $contact_consultation.

Referenced by __createDefaultSettings(), cloneSettings(), hasContactData(), and updateSettings().

+ Here is the caller graph for this function:

◆ getContactEmail()

ilObjCourse::getContactEmail ( )

Definition at line 218 of file class.ilObjCourse.php.

218 : string
219 {
221 }

References $contact_email.

Referenced by __createDefaultSettings(), cloneSettings(), hasContactData(), updateSettings(), and validateInfoSettings().

+ Here is the caller graph for this function:

◆ getContactName()

ilObjCourse::getContactName ( )

Definition at line 188 of file class.ilObjCourse.php.

188 : string
189 {
190 return $this->contact_name;
191 }

References $contact_name.

Referenced by __createDefaultSettings(), cloneSettings(), hasContactData(), and updateSettings().

+ Here is the caller graph for this function:

◆ getContactPhone()

ilObjCourse::getContactPhone ( )

Definition at line 208 of file class.ilObjCourse.php.

208 : string
209 {
211 }

References $contact_phone.

Referenced by __createDefaultSettings(), cloneSettings(), hasContactData(), and updateSettings().

+ Here is the caller graph for this function:

◆ getContactResponsibility()

ilObjCourse::getContactResponsibility ( )

Definition at line 228 of file class.ilObjCourse.php.

228 : string
229 {
231 }
string $contact_responsibility

References $contact_responsibility.

Referenced by __createDefaultSettings(), cloneSettings(), hasContactData(), and updateSettings().

+ Here is the caller graph for this function:

◆ getCourseEnd()

ilObjCourse::getCourseEnd ( )

Definition at line 691 of file class.ilObjCourse.php.

691 : ?ilDateTime
692 {
693 return $this->crs_end;
694 }
ilDateTime $crs_end

References $crs_end.

Referenced by cloneSettings(), prepareAppointments(), updateSettings(), and validate().

+ Here is the caller graph for this function:

◆ getCourseStart()

ilObjCourse::getCourseStart ( )

Definition at line 681 of file class.ilObjCourse.php.

681 : ?ilDateTime
682 {
683 return $this->crs_start;
684 }
ilDateTime $crs_start

References $crs_start.

Referenced by cloneSettings(), prepareAppointments(), updateSettings(), and validate().

+ Here is the caller graph for this function:

◆ getCourseStartTimeIndication()

ilObjCourse::getCourseStartTimeIndication ( )

Definition at line 671 of file class.ilObjCourse.php.

671 : bool
672 {
674 }
bool $course_start_time_indication

References $course_start_time_indication.

Referenced by prepareAppointments(), and updateSettings().

+ Here is the caller graph for this function:

◆ getDefaultAdminRole()

ilObjCourse::getDefaultAdminRole ( )

Definition at line 1443 of file class.ilObjCourse.php.

1443 : int
1444 {
1445 $local_roles = $this->__getLocalRoles();
1446 foreach ($local_roles as $role_id) {
1447 if ($tmp_role = ilObjectFactory::getInstanceByObjId($role_id, false)) {
1448 if (!strcmp($tmp_role->getTitle(), "il_crs_admin_" . $this->getRefId())) {
1449 return $role_id;
1450 }
1451 }
1452 }
1453 return 0;
1454 }
static getInstanceByObjId(?int $obj_id, bool $stop_on_error=true)
get an instance of an Ilias object by object id

References $local_roles, __getLocalRoles(), and ilObjectFactory\getInstanceByObjId().

Referenced by cloneAutoGeneratedRoles().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getDefaultCourseRoles()

ilObjCourse::getDefaultCourseRoles ( string  $a_crs_id = "")

get default course roles, returns the defaultlike create roles il_crs_tutor, il_crs_admin and il_crs_member Returns the obj_ids of course specific roles in an associative array.

key=descripiton of the role (i.e. "il_crs_tutor", "il_crs_admin", "il_crs_member". value=obj_id of the role

Definition at line 1369 of file class.ilObjCourse.php.

1369 : array
1370 {
1371 if (strlen($a_crs_id) > 0) {
1372 $crs_id = $a_crs_id;
1373 } else {
1374 $crs_id = $this->getRefId();
1375 }
1376
1377 $role_arr = $this->rbac_review->getRolesOfRoleFolder($crs_id);
1378
1379 $arr_crsDefaultRoles = [];
1380 foreach ($role_arr as $role_id) {
1381 $role_Obj = &$this->ilias->obj_factory->getInstanceByObjId($role_id);
1382
1383 $crs_Member = "il_crs_member_" . $crs_id;
1384 $crs_Admin = "il_crs_admin_" . $crs_id;
1385 $crs_Tutor = "il_crs_tutor_" . $crs_id;
1386
1387 if (strcmp($role_Obj->getTitle(), $crs_Member) == 0) {
1388 $arr_crsDefaultRoles["crs_member_role"] = $role_Obj->getId();
1389 }
1390
1391 if (strcmp($role_Obj->getTitle(), $crs_Admin) == 0) {
1392 $arr_crsDefaultRoles["crs_admin_role"] = $role_Obj->getId();
1393 }
1394
1395 if (strcmp($role_Obj->getTitle(), $crs_Tutor) == 0) {
1396 $arr_crsDefaultRoles["crs_tutor_role"] = $role_Obj->getId();
1397 }
1398 }
1399
1400 return $arr_crsDefaultRoles;
1401 }

References ilObject\getRefId().

+ Here is the call graph for this function:

◆ getDefaultMemberRole()

ilObjCourse::getDefaultMemberRole ( )

Definition at line 1418 of file class.ilObjCourse.php.

1418 : int
1419 {
1420 $local_roles = $this->__getLocalRoles();
1421 foreach ($local_roles as $role_id) {
1422 $title = ilObject::_lookupTitle($role_id);
1423 if (substr($title, 0, 8) == 'il_crs_m') {
1424 return $role_id;
1425 }
1426 }
1427 return 0;
1428 }
string $title
static _lookupTitle(int $obj_id)

References $local_roles, ilObject\$title, __getLocalRoles(), and ilObject\_lookupTitle().

Referenced by cloneAutoGeneratedRoles().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getDefaultTutorRole()

ilObjCourse::getDefaultTutorRole ( )

Definition at line 1430 of file class.ilObjCourse.php.

1430 : int
1431 {
1432 $local_roles = $this->__getLocalRoles();
1433 foreach ($local_roles as $role_id) {
1434 if ($tmp_role = ilObjectFactory::getInstanceByObjId($role_id, false)) {
1435 if (!strcmp($tmp_role->getTitle(), "il_crs_tutor_" . $this->getRefId())) {
1436 return $role_id;
1437 }
1438 }
1439 }
1440 return 0;
1441 }

References $local_roles, __getLocalRoles(), and ilObjectFactory\getInstanceByObjId().

Referenced by cloneAutoGeneratedRoles().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getEnableCourseMap()

ilObjCourse::getEnableCourseMap ( )

Definition at line 643 of file class.ilObjCourse.php.

643 : bool
644 {
645 return $this->enablemap;
646 }

References $enablemap.

Referenced by __createDefaultSettings(), cloneSettings(), getEnableMap(), and updateSettings().

+ Here is the caller graph for this function:

◆ getEnableMap()

ilObjCourse::getEnableMap ( )

Definition at line 638 of file class.ilObjCourse.php.

638 : bool
639 {
640 return $this->getEnableCourseMap();
641 }

References getEnableCourseMap().

+ Here is the call graph for this function:

◆ getImportantInformation()

ilObjCourse::getImportantInformation ( )

Definition at line 158 of file class.ilObjCourse.php.

158 : string
159 {
160 return $this->important;
161 }

References $important.

Referenced by cloneSettings(), and updateSettings().

+ Here is the caller graph for this function:

◆ getLatitude()

ilObjCourse::getLatitude ( )

Definition at line 608 of file class.ilObjCourse.php.

608 : string
609 {
610 return $this->latitude;
611 }

References $latitude.

Referenced by __createDefaultSettings(), cloneSettings(), and updateSettings().

+ Here is the caller graph for this function:

◆ getLocalCourseRoles()

ilObjCourse::getLocalCourseRoles (   $a_translate = false)

get ALL local roles of course, also those created and defined afterwards only fetch data once from database.

info is stored in object variable @access public

Returns
array [title|id] of roles...

Definition at line 1340 of file class.ilObjCourse.php.

1340 : array
1341 {
1342 if (empty($this->local_roles)) {
1343 $this->local_roles = array();
1344 $role_arr = $this->rbac_review->getRolesOfRoleFolder($this->getRefId());
1345
1346 foreach ($role_arr as $role_id) {
1347 if ($this->rbac_review->isAssignable($role_id, $this->getRefId())) {
1348 $role_Obj = ilObjectFactory::getInstanceByObjId($role_id);
1349 if ($a_translate) {
1350 $role_name = ilObjRole::_getTranslation($role_Obj->getTitle());
1351 } else {
1352 $role_name = $role_Obj->getTitle();
1353 }
1354 $this->local_roles[$role_name] = $role_Obj->getId();
1355 }
1356 }
1357 }
1358 return $this->local_roles;
1359 }
static _getTranslation(string $a_role_title)

References $local_roles, ilObjRole\_getTranslation(), ilObjectFactory\getInstanceByObjId(), and ilObject\getRefId().

+ Here is the call graph for this function:

◆ getLocationZoom()

ilObjCourse::getLocationZoom ( )

Definition at line 628 of file class.ilObjCourse.php.

628 : int
629 {
630 return $this->locationzoom;
631 }

References $locationzoom.

Referenced by __createDefaultSettings(), cloneSettings(), and updateSettings().

+ Here is the caller graph for this function:

◆ getLongitude()

ilObjCourse::getLongitude ( )

Definition at line 618 of file class.ilObjCourse.php.

618 : string
619 {
620 return $this->longitude;
621 }

References $longitude.

Referenced by __createDefaultSettings(), cloneSettings(), and updateSettings().

+ Here is the caller graph for this function:

◆ getMailToMembersType()

ilObjCourse::getMailToMembersType ( )

Definition at line 520 of file class.ilObjCourse.php.

520 : int
521 {
522 return $this->mail_members;
523 }

References $mail_members.

Referenced by __createDefaultSettings(), cloneSettings(), and updateSettings().

+ Here is the caller graph for this function:

◆ getMemberObject()

ilObjCourse::getMemberObject ( )

Definition at line 1249 of file class.ilObjCourse.php.

1250 {
1251 if (!$this->member_obj instanceof ilCourseParticipant) {
1252 $this->initCourseMemberObject();
1253 }
1254 return $this->member_obj;
1255 }
ilCourseParticipant $member_obj

References $member_obj, and initCourseMemberObject().

+ Here is the call graph for this function:

◆ getMembersObject()

ilObjCourse::getMembersObject ( )

Definition at line 1257 of file class.ilObjCourse.php.

1258 {
1259 if (!$this->members_obj instanceof ilCourseParticipants) {
1260 $this->initCourseMembersObject();
1261 }
1262 return $this->members_obj;
1263 }
ilCourseParticipants $members_obj

References $members_obj, and initCourseMembersObject().

Referenced by checkLPStatusSync(), handleAutoFill(), register(), and syncMembersStatusWithLP().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getMessage()

ilObjCourse::getMessage ( )

Definition at line 525 of file class.ilObjCourse.php.

525 : string
526 {
527 return $this->message;
528 }

References $message.

Referenced by appendMessage(), and validate().

+ Here is the caller graph for this function:

◆ getNumberOfNextSessions()

ilObjCourse::getNumberOfNextSessions ( )

Definition at line 384 of file class.ilObjCourse.php.

384 : int
385 {
386 return $this->session_next;
387 }

References $session_next.

Referenced by cloneSettings(), and updateSettings().

+ Here is the caller graph for this function:

◆ getNumberOfPreviousSessions()

ilObjCourse::getNumberOfPreviousSessions ( )

Definition at line 374 of file class.ilObjCourse.php.

374 : int
375 {
376 return $this->session_prev;
377 }

References $session_prev.

Referenced by __createDefaultSettings(), cloneSettings(), and updateSettings().

+ Here is the caller graph for this function:

◆ getOrderType()

ilObjCourse::getOrderType ( )

Reimplemented from ilContainer.

Definition at line 1755 of file class.ilObjCourse.php.

1755 : int
1756 {
1757 if ($this->enabledObjectiveView()) {
1759 }
1760 return parent::getOrderType();
1761 }

References enabledObjectiveView(), and ilContainer\SORT_MANUAL.

Referenced by cloneSettings(), and update().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getRegistrationAccessCode()

ilObjCourse::getRegistrationAccessCode ( )

Definition at line 138 of file class.ilObjCourse.php.

138 : string
139 {
141 }
string $reg_access_code

References $reg_access_code.

Referenced by __createDefaultSettings(), and updateSettings().

+ Here is the caller graph for this function:

◆ getShowMembers()

ilObjCourse::getShowMembers ( )

Definition at line 510 of file class.ilObjCourse.php.

510 : bool
511 {
512 return $this->show_members;
513 }

References $show_members.

Referenced by cloneSettings(), and updateSettings().

+ Here is the caller graph for this function:

◆ getShowMembersExport()

ilObjCourse::getShowMembersExport ( )

Definition at line 128 of file class.ilObjCourse.php.

128 : bool
129 {
131 }

References $member_export.

Referenced by cloneSettings(), and updateSettings().

+ Here is the caller graph for this function:

◆ getStatusDetermination()

ilObjCourse::getStatusDetermination ( )

Get status determination mode.

Definition at line 1723 of file class.ilObjCourse.php.

1723 : int
1724 {
1725 return $this->status_dt;
1726 }

References $status_dt.

Referenced by __createDefaultSettings(), checkLPStatusSync(), cloneSettings(), updateSettings(), and validate().

+ Here is the caller graph for this function:

◆ getSubscriptionEnd()

ilObjCourse::getSubscriptionEnd ( )

Definition at line 298 of file class.ilObjCourse.php.

298 : int
299 {
301 }

References $subscription_end.

Referenced by __createDefaultSettings(), cloneSettings(), inSubscriptionTime(), prepareAppointments(), updateSettings(), and validate().

+ Here is the caller graph for this function:

◆ getSubscriptionLimitationType()

ilObjCourse::getSubscriptionLimitationType ( )

Definition at line 273 of file class.ilObjCourse.php.

273 : int
274 {
276 }
int $subscription_limitation_type

References $subscription_limitation_type.

Referenced by cloneSettings(), prepareAppointments(), register(), updateSettings(), and validate().

+ Here is the caller graph for this function:

◆ getSubscriptionMaxMembers()

ilObjCourse::getSubscriptionMaxMembers ( )

Definition at line 394 of file class.ilObjCourse.php.

394 : int
395 {
397 }
int $subscription_max_members

References $subscription_max_members.

Referenced by __createDefaultSettings(), cloneSettings(), handleAutoFill(), register(), updateSettings(), and validate().

+ Here is the caller graph for this function:

◆ getSubscriptionMinMembers()

ilObjCourse::getSubscriptionMinMembers ( )

Definition at line 714 of file class.ilObjCourse.php.

714 : int
715 {
716 return $this->min_members;
717 }

References $min_members.

Referenced by cloneSettings(), updateSettings(), and validate().

+ Here is the caller graph for this function:

◆ getSubscriptionNotify()

ilObjCourse::getSubscriptionNotify ( )

Definition at line 416 of file class.ilObjCourse.php.

416 : bool
417 {
418 return true;
419 }

Referenced by updateSettings().

+ Here is the caller graph for this function:

◆ getSubscriptionPassword()

ilObjCourse::getSubscriptionPassword ( )

Definition at line 318 of file class.ilObjCourse.php.

318 : string
319 {
321 }
string $subscription_password

References $subscription_password.

Referenced by __createDefaultSettings(), cloneSettings(), updateSettings(), and validate().

+ Here is the caller graph for this function:

◆ getSubscriptionStart()

ilObjCourse::getSubscriptionStart ( )

Definition at line 288 of file class.ilObjCourse.php.

288 : int
289 {
291 }

References $subscription_start.

Referenced by __createDefaultSettings(), cloneSettings(), inSubscriptionTime(), prepareAppointments(), updateSettings(), and validate().

+ Here is the caller graph for this function:

◆ getSubscriptionType()

ilObjCourse::getSubscriptionType ( )

Definition at line 308 of file class.ilObjCourse.php.

308 : int
309 {
310 return $this->subscription_type ?: ilCourseConstants::IL_CRS_SUBSCRIPTION_DIRECT;
311 }

References ilCourseConstants\IL_CRS_SUBSCRIPTION_DIRECT.

Referenced by cloneSettings(), updateSettings(), and validate().

+ Here is the caller graph for this function:

◆ getSubscriptionUnlimitedStatus()

ilObjCourse::getSubscriptionUnlimitedStatus ( )

Definition at line 283 of file class.ilObjCourse.php.

283 : bool
284 {
285 return $this->subscription_limitation_type == ilCourseConstants::IL_CRS_SUBSCRIPTION_UNLIMITED;
286 }

References ilCourseConstants\IL_CRS_SUBSCRIPTION_UNLIMITED.

Referenced by inSubscriptionTime().

+ Here is the caller graph for this function:

◆ getSyllabus()

ilObjCourse::getSyllabus ( )

Definition at line 168 of file class.ilObjCourse.php.

168 : string
169 {
170 return $this->syllabus;
171 }

References $syllabus.

Referenced by __createDefaultSettings(), cloneSettings(), and updateSettings().

+ Here is the caller graph for this function:

◆ getTargetGroup()

ilObjCourse::getTargetGroup ( )

Definition at line 178 of file class.ilObjCourse.php.

178 : ?string
179 {
180 return $this->target_group;
181 }

References $target_group.

Referenced by cloneSettings(), and updateSettings().

+ Here is the caller graph for this function:

◆ getTimingMode()

ilObjCourse::getTimingMode ( )

Definition at line 452 of file class.ilObjCourse.php.

452 : int
453 {
454 return $this->timing_mode;
455 }

References $timing_mode.

Referenced by cloneSettings(), and updateSettings().

+ Here is the caller graph for this function:

◆ getTutorialSupportBlockSettingValue()

ilObjCourse::getTutorialSupportBlockSettingValue ( )

Definition at line 462 of file class.ilObjCourse.php.

462 : int
463 {
465 }
int $tutorial_support_block_setting_value

References $tutorial_support_block_setting_value.

Referenced by __createDefaultSettings(), cloneSettings(), and updateSettings().

+ Here is the caller graph for this function:

◆ getViewMode()

ilObjCourse::getViewMode ( )

Reimplemented from ilContainer.

Definition at line 426 of file class.ilObjCourse.php.

426 : int
427 {
428 return $this->view_mode;
429 }

References $view_mode.

Referenced by cloneSettings(), prepareAppointments(), and updateSettings().

+ Here is the caller graph for this function:

◆ handleAutoFill()

ilObjCourse::handleAutoFill ( )

Handle course auto fill.

Definition at line 1766 of file class.ilObjCourse.php.

1766 : void
1767 {
1768 if (
1769 !$this->enabledWaitingList() || !$this->hasWaitingListAutoFill()
1770 ) {
1771 $this->course_logger->debug('Waiting list or auto fill disabled.');
1772 return;
1773 }
1774
1775 $max = $this->getSubscriptionMaxMembers();
1777
1778 $this->course_logger->debug('Max members: ' . $max);
1779 $this->course_logger->debug('Current members: ' . $now);
1780
1781 if ($max <= $now) {
1782 return;
1783 }
1784
1785 // see assignFromWaitingListObject()
1786 $waiting_list = new ilCourseWaitingList($this->getId());
1787
1788 foreach ($waiting_list->getUserIds() as $user_id) {
1789 if (!$tmp_obj = ilObjectFactory::getInstanceByObjId($user_id, false)) {
1790 $this->course_logger->warning('Cannot create user instance for id: ' . $user_id);
1791 continue;
1792 }
1793 if ($this->getMembersObject()->isAssigned($user_id)) {
1794 $this->course_logger->warning('User is already assigned to course. uid: ' . $user_id . ' course_id: ' . $this->getRefId());
1795 continue;
1796 }
1797 $this->getMembersObject()->add($user_id, ilParticipants::IL_CRS_MEMBER);
1798 $this->getMembersObject()->sendNotification(ilCourseMembershipMailNotification::TYPE_ADMISSION_MEMBER, $user_id, true);
1799 $waiting_list->removeFromList($user_id);
1800 $this->checkLPStatusSync($user_id);
1801
1802 $this->course_logger->info('Assigned user from waiting list to course: ' . $this->getTitle());
1803 $now++;
1804 if ($now >= $max) {
1805 break;
1806 }
1807 }
1808 }
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 lookupNumberOfMembers(int $a_ref_id)
Lookup number of members.

References $user_id, $waiting_list, checkLPStatusSync(), enabledWaitingList(), ilObject\getId(), ilObjectFactory\getInstanceByObjId(), getMembersObject(), ilObject\getRefId(), getSubscriptionMaxMembers(), ilObject\getTitle(), hasWaitingListAutoFill(), ilParticipants\IL_CRS_MEMBER, ilParticipants\lookupNumberOfMembers(), and ilCourseMembershipMailNotification\TYPE_ADMISSION_MEMBER.

+ Here is the call graph for this function:

◆ hasContactData()

ilObjCourse::hasContactData ( )

Definition at line 889 of file class.ilObjCourse.php.

889 : bool
890 {
891 return strlen($this->getContactName()) || strlen($this->getContactResponsibility()) || strlen($this->getContactEmail()) || strlen($this->getContactPhone()) || strlen($this->getContactConsultation());
892 }

References getContactConsultation(), getContactEmail(), getContactName(), getContactPhone(), and getContactResponsibility().

+ Here is the call graph for this function:

◆ hasWaitingListAutoFill()

ilObjCourse::hasWaitingListAutoFill ( )

Definition at line 724 of file class.ilObjCourse.php.

724 : bool
725 {
727 }
bool $auto_fill_from_waiting

References $auto_fill_from_waiting.

Referenced by cloneSettings(), handleAutoFill(), and updateSettings().

+ Here is the caller graph for this function:

◆ initCourseMemberObject()

ilObjCourse::initCourseMemberObject ( )
protected

Definition at line 1239 of file class.ilObjCourse.php.

1239 : void
1240 {
1241 $this->member_obj = ilCourseParticipant::_getInstanceByObjId($this->getId(), $this->user->getId());
1242 }
static _getInstanceByObjId(int $a_obj_id, int $a_usr_id)

References ilCourseParticipant\_getInstanceByObjId(), ilObject\getId(), and ILIAS\Repository\user().

Referenced by getMemberObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initCourseMembersObject()

ilObjCourse::initCourseMembersObject ( )
protected

Definition at line 1244 of file class.ilObjCourse.php.

1244 : void
1245 {
1246 $this->members_obj = ilCourseParticipants::_getInstanceByObjId($this->getId());
1247 }
static _getInstanceByObjId(int $a_obj_id)

References ilCourseParticipants\_getInstanceByObjId(), and ilObject\getId().

Referenced by getMembersObject().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initDefaultRoles()

ilObjCourse::initDefaultRoles ( )

init default roles settings Purpose of this function is to create a local role folder and local roles, that are needed depending on the object type.

If you want to set up default local roles you MUST overwrite this method in derived object classes (see ilObjForum for an example).

Reimplemented from ilObject.

Definition at line 1267 of file class.ilObjCourse.php.

1267 : void
1268 {
1270 'il_crs_admin_' . $this->getRefId(),
1271 "Admin of crs obj_no." . $this->getId(),
1272 'il_crs_admin',
1273 $this->getRefId()
1274 );
1276 'il_crs_tutor_' . $this->getRefId(),
1277 "Tutor of crs obj_no." . $this->getId(),
1278 'il_crs_tutor',
1279 $this->getRefId()
1280 );
1282 'il_crs_member_' . $this->getRefId(),
1283 "Member of crs obj_no." . $this->getId(),
1284 'il_crs_member',
1285 $this->getRefId()
1286 );
1287 }
static createDefaultRole(string $a_title, string $a_description, string $a_tpl_name, int $a_ref_id)

References ilObjRole\createDefaultRole(), ilObject\getId(), and ilObject\getRefId().

+ Here is the call graph for this function:

◆ initWaitingList()

ilObjCourse::initWaitingList ( )

Definition at line 1232 of file class.ilObjCourse.php.

1232 : void
1233 {
1234 if (!$this->waiting_list_obj instanceof ilCourseWaitingList) {
1235 $this->waiting_list_obj = new ilCourseWaitingList($this->getId());
1236 }
1237 }

References ilObject\getId().

+ Here is the call graph for this function:

◆ inSubscriptionTime()

ilObjCourse::inSubscriptionTime ( )

Definition at line 343 of file class.ilObjCourse.php.

343 : bool
344 {
345 if ($this->getSubscriptionUnlimitedStatus()) {
346 return true;
347 }
348 if (time() > $this->getSubscriptionStart() and time() < $this->getSubscriptionEnd()) {
349 return true;
350 }
351 return false;
352 }

References getSubscriptionEnd(), getSubscriptionStart(), and getSubscriptionUnlimitedStatus().

Referenced by register().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isActivated()

ilObjCourse::isActivated ( )

Definition at line 543 of file class.ilObjCourse.php.

543 : bool
544 {
545 if ($this->getOfflineStatus()) {
546 return false;
547 }
548 if ($this->getActivationUnlimitedStatus()) {
549 return true;
550 }
551 if (time() < $this->getActivationStart() or
552 time() > $this->getActivationEnd()) {
553 return false;
554 }
555 return true;
556 }

References getActivationEnd(), getActivationStart(), getActivationUnlimitedStatus(), and ilObject\getOfflineStatus().

+ Here is the call graph for this function:

◆ isRegistrationAccessCodeEnabled()

ilObjCourse::isRegistrationAccessCodeEnabled ( )

Definition at line 148 of file class.ilObjCourse.php.

148 : bool
149 {
151 }
bool $reg_access_code_enabled

References $reg_access_code_enabled.

Referenced by __createDefaultSettings(), cloneSettings(), and updateSettings().

+ Here is the caller graph for this function:

◆ isSessionLimitEnabled()

ilObjCourse::isSessionLimitEnabled ( )

Definition at line 359 of file class.ilObjCourse.php.

359 : bool
360 {
361 return (bool) $this->session_limit;
362 }

References $session_limit.

Referenced by __createDefaultSettings(), cloneSettings(), and updateSettings().

+ Here is the caller graph for this function:

◆ isSubscriptionMembershipLimited()

ilObjCourse::isSubscriptionMembershipLimited ( )

Definition at line 389 of file class.ilObjCourse.php.

389 : bool
390 {
392 }
bool $subscription_membership_limitation

References $subscription_membership_limitation.

Referenced by cloneSettings(), register(), updateSettings(), and validate().

+ Here is the caller graph for this function:

◆ lookupCourseNonMemberTemplatesId()

static ilObjCourse::lookupCourseNonMemberTemplatesId ( )
static

Definition at line 1319 of file class.ilObjCourse.php.

1319 : int
1320 {
1321 global $DIC;
1322
1323 $ilDB = $DIC->database();
1324
1325 $query = 'SELECT obj_id FROM object_data WHERE type = ' . $ilDB->quote(
1326 'rolt',
1327 'text'
1328 ) . ' AND title = ' . $ilDB->quote('il_crs_non_member', 'text');
1329 $res = $ilDB->query($query);
1330 $row = $res->fetchRow(ilDBConstants::FETCHMODE_ASSOC);
1331 return (int) $row['obj_id'];
1332 }

References $DIC, $ilDB, $res, and ilDBConstants\FETCHMODE_ASSOC.

Referenced by ilRbacAdmin\adjustMovedObjectPermissions().

+ Here is the caller graph for this function:

◆ lookupObjectsByCode()

static ilObjCourse::lookupObjectsByCode ( string  $a_code)
static
See also
interface.ilMembershipRegistrationCodes
Returns
int[]

Implements ilMembershipRegistrationCodes.

Definition at line 1581 of file class.ilObjCourse.php.

1581 : array
1582 {
1583 global $DIC;
1584
1585 $ilDB = $DIC->database();
1586
1587 $query = "SELECT obj_id FROM crs_settings " .
1588 "WHERE reg_ac_enabled = " . $ilDB->quote(1, 'integer') . " " .
1589 "AND reg_ac = " . $ilDB->quote($a_code, 'text');
1590 $res = $ilDB->query($query);
1591
1592 $obj_ids = array();
1593 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
1594 $obj_ids[] = (int) $row->obj_id;
1595 }
1596 return $obj_ids;
1597 }

References $DIC, $ilDB, $res, ilDBConstants\FETCHMODE_OBJECT, and ILIAS\Repository\int().

Referenced by ilMembershipRegistrationCodeUtils\lookupObjectsByCode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lookupShowMembersEnabled()

static ilObjCourse::lookupShowMembersEnabled ( int  $a_obj_id)
static

Definition at line 117 of file class.ilObjCourse.php.

117 : bool
118 {
119 $query = 'SELECT show_members FROM crs_settings ' .
120 'WHERE obj_id = ' . $GLOBALS['DIC']['ilDB']->quote($a_obj_id, 'integer');
121 $res = $GLOBALS['DIC']['ilDB']->query($query);
122 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
123 return (bool) $row->show_members;
124 }
125 return false;
126 }

References $GLOBALS, $res, and ilDBConstants\FETCHMODE_OBJECT.

Referenced by ILIAS\Awareness\User\ProviderCurrentCourse\getInitialUserSet(), and ilParticipants\hasParticipantListAccess().

+ Here is the caller graph for this function:

◆ lookupTimingMode()

static ilObjCourse::lookupTimingMode ( int  $a_obj_id)
static

Definition at line 431 of file class.ilObjCourse.php.

431 : int
432 {
433 global $DIC;
434
435 $ilDB = $DIC['ilDB'];
436
437 $query = 'SELECT timing_mode FROM crs_settings ' .
438 'WHERE obj_id = ' . $ilDB->quote($a_obj_id, 'integer');
439 $res = $ilDB->query($query);
440
441 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
442 return (int) $row->timing_mode;
443 }
445 }

References $DIC, $ilDB, $res, ilDBConstants\FETCHMODE_OBJECT, and ilCourseConstants\IL_CRS_VIEW_TIMING_ABSOLUTE.

Referenced by ilObjectActivation\addAdditionalSubItemInformation(), ilCalendarScheduleFilterTimings\addCustomEvents(), ilCourseAppEventListener\initializeTimings(), and ilCalendarScheduleFilterTimings\modifyEvent().

+ Here is the caller graph for this function:

◆ lookupTutorialBlockSettingEabled()

static ilObjCourse::lookupTutorialBlockSettingEabled ( int  $a_obj_id)
static

Definition at line 106 of file class.ilObjCourse.php.

106 : bool
107 {
108 $query = 'SELECT tutorial_support_block FROM crs_settings'
109 . ' WHERE obj_id = ' . $GLOBALS['DIC']['ilDB']->quote($a_obj_id, 'integer');
110 $res = $GLOBALS['DIC']['ilDB']->query($query);
111 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
112 return (bool) $row->tutorial_support_block;
113 }
114 return false;
115 }

References $GLOBALS, $res, and ilDBConstants\FETCHMODE_OBJECT.

◆ mayLeave()

static ilObjCourse::mayLeave ( int  $a_course_id,
int  $a_user_id = 0,
$a_date = null 
)
static

Definition at line 1810 of file class.ilObjCourse.php.

1810 : bool
1811 {
1812 global $DIC;
1813
1814 $ilUser = $DIC['ilUser'];
1815 $ilDB = $DIC['ilDB'];
1816
1817 if (!$a_user_id) {
1818 $a_user_id = $ilUser->getId();
1819 }
1820
1821 $set = $ilDB->query("SELECT leave_end" .
1822 " FROM crs_settings" .
1823 " WHERE obj_id = " . $ilDB->quote($a_course_id, "integer"));
1824 $row = $ilDB->fetchAssoc($set);
1825 if ($row && $row["leave_end"]) {
1826 // timestamp to date
1827 $limit = date("Ymd", $row["leave_end"]);
1828 if ($limit < date("Ymd")) {
1829 $a_date = new ilDate(date("Y-m-d", $row["leave_end"]), IL_CAL_DATE);
1830 return false;
1831 }
1832 }
1833 return true;
1834 }

References $DIC, $ilDB, and IL_CAL_DATE.

Referenced by ilObjCourseAccess\_checkAccess().

+ Here is the caller graph for this function:

◆ prepareAppointments()

ilObjCourse::prepareAppointments ( string  $a_mode = 'create')
protected

Prepare calendar appointments.

Definition at line 1482 of file class.ilObjCourse.php.

1482 : array
1483 {
1484 switch ($a_mode) {
1485 case 'create':
1486 case 'update':
1487 $apps = [];
1488 if (!$this->getActivationUnlimitedStatus() && !$this->getOfflineStatus()) {
1489 $app = new ilCalendarAppointmentTemplate(self::CAL_ACTIVATION_START);
1490 $app->setTitle($this->getTitle());
1491 $app->setSubtitle('crs_cal_activation_start');
1492 $app->setTranslationType(ilCalendarEntry::TRANSLATION_SYSTEM);
1493 $app->setDescription($this->getLongDescription());
1494 $app->setStart(new ilDateTime($this->getActivationStart(), IL_CAL_UNIX));
1495 $apps[] = $app;
1496
1497 $app = new ilCalendarAppointmentTemplate(self::CAL_ACTIVATION_END);
1498 $app->setTitle($this->getTitle());
1499 $app->setSubtitle('crs_cal_activation_end');
1500 $app->setTranslationType(ilCalendarEntry::TRANSLATION_SYSTEM);
1501 $app->setDescription($this->getLongDescription());
1502 $app->setStart(new ilDateTime($this->getActivationEnd(), IL_CAL_UNIX));
1503 $apps[] = $app;
1504 }
1506 $app = new ilCalendarAppointmentTemplate(self::CAL_REG_START);
1507 $app->setTitle($this->getTitle());
1508 $app->setSubtitle('crs_cal_reg_start');
1509 $app->setTranslationType(ilCalendarEntry::TRANSLATION_SYSTEM);
1510 $app->setDescription($this->getLongDescription());
1511 $app->setStart(new ilDateTime($this->getSubscriptionStart(), IL_CAL_UNIX));
1512 $apps[] = $app;
1513
1514 $app = new ilCalendarAppointmentTemplate(self::CAL_REG_END);
1515 $app->setTitle($this->getTitle());
1516 $app->setSubtitle('crs_cal_reg_end');
1517 $app->setTranslationType(ilCalendarEntry::TRANSLATION_SYSTEM);
1518 $app->setDescription($this->getLongDescription());
1519 $app->setStart(new ilDateTime($this->getSubscriptionEnd(), IL_CAL_UNIX));
1520 $apps[] = $app;
1521 }
1522 if ($this->getCourseStart() && $this->getCourseEnd()) {
1523 $app = new ilCalendarAppointmentTemplate(self::CAL_COURSE_START);
1524 $app->setTitle($this->getTitle());
1525 $app->setSubtitle('crs_cal_start');
1526 $app->setTranslationType(ilCalendarEntry::TRANSLATION_SYSTEM);
1527 $app->setDescription($this->getLongDescription());
1528 $app->setStart($this->getCourseStart());
1529 $app->setFullday(!$this->getCourseStartTimeIndication());
1530 $apps[] = $app;
1531
1532 $app = new ilCalendarAppointmentTemplate(self::CAL_COURSE_END);
1533 $app->setTitle($this->getTitle());
1534 $app->setSubtitle('crs_cal_end');
1535 $app->setTranslationType(ilCalendarEntry::TRANSLATION_SYSTEM);
1536 $app->setDescription($this->getLongDescription());
1537 $app->setStart($this->getCourseEnd());
1538 $app->setFullday(!$this->getCourseStartTimeIndication());
1539 $apps[] = $app;
1540 }
1541 if (
1543 ) {
1545 foreach ($active as $null => $item) {
1546 if ($item['timing_type'] == ilObjectActivation::TIMINGS_PRESETTING) {
1547 // create calendar entry for fixed types
1548 $app = new ilCalendarAppointmentTemplate(self::CAL_COURSE_TIMING_START);
1549 $app->setContextInfo($item['ref_id']);
1550 $app->setTitle($item['title']);
1551 $app->setSubtitle('cal_crs_timing_start');
1552 $app->setTranslationType(ilCalendarEntry::TRANSLATION_SYSTEM);
1553 $app->setStart(new ilDate($item['suggestion_start'], IL_CAL_UNIX));
1554 $app->setFullday(true);
1555 $apps[] = $app;
1556
1557 $app = new ilCalendarAppointmentTemplate(self::CAL_COURSE_TIMING_END);
1558 $app->setContextInfo($item['ref_id']);
1559 $app->setTitle($item['title']);
1560 $app->setSubtitle('cal_crs_timing_end');
1561 $app->setTranslationType(ilCalendarEntry::TRANSLATION_SYSTEM);
1562 $app->setStart(new ilDate($item['suggestion_end'], IL_CAL_UNIX));
1563 $app->setFullday(true);
1564 $apps[] = $app;
1565 }
1566 }
1567 }
1568 return $apps;
1569
1570 case 'delete':
1571 // Nothing to do: The category and all assigned appointments will be deleted.
1572 return array();
1573 }
1574 return [];
1575 }
Apointment templates are used for automatic generated apointments.
static getTimingsItems(int $container_ref_id)
Get (sub) item data for timings view (no session material, no side blocks)
getLongDescription()
get object long description (stored in object_description)

References getActivationEnd(), getActivationStart(), getActivationUnlimitedStatus(), getCourseEnd(), getCourseStart(), getCourseStartTimeIndication(), ilObject\getLongDescription(), ilObject\getOfflineStatus(), ilObject\getRefId(), getSubscriptionEnd(), getSubscriptionLimitationType(), getSubscriptionStart(), ilObjectActivation\getTimingsItems(), ilObject\getTitle(), getViewMode(), IL_CAL_UNIX, ilCourseConstants\IL_CRS_SUBSCRIPTION_LIMITED, ilCourseConstants\IL_CRS_VIEW_TIMING, ilObjectActivation\TIMINGS_PRESETTING, and ilCalendarEntry\TRANSLATION_SYSTEM.

Referenced by create(), delete(), and update().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ read()

ilObjCourse::read ( )

Reimplemented from ilContainer.

Definition at line 574 of file class.ilObjCourse.php.

574 : void
575 {
576 parent::read();
578 $this->__readSettings();
579 }
setOrderType(int $a_value)

References __readSettings(), ilContainerSortingSettings\_lookupSortMode(), ilObject\getId(), and ilContainer\setOrderType().

+ Here is the call graph for this function:

◆ register()

ilObjCourse::register ( int  $a_user_id,
int  $a_role = ilCourseConstants::CRS_MEMBER,
bool  $a_force_registration = false 
)
Exceptions
ilMembershipRegistrationException
See also
ilMembershipRegistrationCodes::register()

Definition at line 1603 of file class.ilObjCourse.php.

1607 : void {
1608 if ($this->getMembersObject()->isAssigned($a_user_id)) {
1609 return;
1610 }
1611
1612 if (!$a_force_registration) {
1613 // offline
1614 if (ilObjCourseAccess::_isOffline($this->getId())) {
1616 "Can't register to course, course is offline.",
1618 );
1619 }
1620 // activation
1621 if (!ilObjCourseAccess::_isActivated($this->getId())) {
1623 "Can't register to course, course is not activated.",
1625 );
1626 }
1627
1631 'Cant registrate to course ' . $this->getId() .
1632 ', course subscription is deactivated.',
1634 );
1635 }
1636 }
1637
1638 // Time Limitation
1640 if (!$this->inSubscriptionTime()) {
1642 'Cant registrate to course ' . $this->getId() .
1643 ', course is out of registration time.',
1645 );
1646 }
1647 }
1648
1649 // Max members
1650 if ($this->isSubscriptionMembershipLimited()) {
1651 $free = max(0, $this->getSubscriptionMaxMembers() - $this->getMembersObject()->getCountMembers());
1652 $waiting_list = new ilCourseWaitingList($this->getId());
1653 if ($this->enabledWaitingList() && (!$free || $waiting_list->getCountUsers())) {
1654 $waiting_list->addToList($a_user_id);
1655 $this->lng->loadLanguageModule("crs");
1656 $info = sprintf(
1657 $this->lng->txt('crs_added_to_list'),
1658 $waiting_list->getPosition($a_user_id)
1659 );
1660 $participants = ilCourseParticipants::_getInstanceByObjId($this->getId());
1661 $participants->sendNotification(
1663 $a_user_id
1664 );
1665
1667 $info,
1669 );
1670 }
1671
1672 if (!$this->enabledWaitingList() && !$free) {
1673 throw new ilMembershipRegistrationException('Cant registrate to course ' . $this->getId() .
1674 ', membership is limited.', ilMembershipRegistrationException::OBJECT_IS_FULL);
1675 }
1676 }
1677 }
1678
1679 $this->getMembersObject()->add($a_user_id, $a_role);
1683 }
static checkForumsExistsInsert(int $ref_id, int $user_id)
static _isOffline(int $obj_id)
Type-specific implementation of general status, has to be overwritten if object type does not support...
$info
Definition: entry_point.php:21

References $info, $waiting_list, ilCourseParticipants\_getInstanceByObjId(), ilObjCourseAccess\_isActivated(), ilObjCourseAccess\_isOffline(), ilObjCourseAccess\_usingRegistrationCode(), ilMembershipRegistrationException\ADDED_TO_WAITINGLIST, ilForumNotification\checkForumsExistsInsert(), enabledWaitingList(), ilObject\getId(), getMembersObject(), ilObject\getRefId(), getSubscriptionLimitationType(), getSubscriptionMaxMembers(), ilCourseConstants\IL_CRS_SUBSCRIPTION_DEACTIVATED, ilCourseConstants\IL_CRS_SUBSCRIPTION_LIMITED, inSubscriptionTime(), isSubscriptionMembershipLimited(), ILIAS\Repository\lng(), ilMembershipRegistrationException\OBJECT_IS_FULL, ilMembershipRegistrationException\OUT_OF_REGISTRATION_PERIOD, ilMembershipRegistrationException\REGISTRATION_CODE_DISABLED, ilMembershipRegistrationException\REGISTRATION_INVALID_AVAILABILITY, ilMembershipRegistrationException\REGISTRATION_INVALID_OFFLINE, ilCourseMembershipMailNotification\TYPE_ADMISSION_MEMBER, ilCourseMembershipMailNotification\TYPE_NOTIFICATION_ADMINS, and ilCourseMembershipMailNotification\TYPE_WAITING_LIST_MEMBER.

+ Here is the call graph for this function:

◆ setAboStatus()

ilObjCourse::setAboStatus ( bool  $a_status)

Definition at line 495 of file class.ilObjCourse.php.

495 : void
496 {
497 $this->abo = $a_status;
498 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setActivationEnd()

ilObjCourse::setActivationEnd ( int  $a_value)

Definition at line 258 of file class.ilObjCourse.php.

258 : void
259 {
260 $this->activation_end = $a_value;
261 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setActivationStart()

ilObjCourse::setActivationStart ( int  $a_value)

Definition at line 248 of file class.ilObjCourse.php.

248 : void
249 {
250 $this->activation_start = $a_value;
251 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setActivationVisibility()

ilObjCourse::setActivationVisibility ( bool  $a_value)

Definition at line 263 of file class.ilObjCourse.php.

263 : void
264 {
265 $this->activation_visibility = $a_value;
266 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setAutoNotification()

ilObjCourse::setAutoNotification ( bool  $value)

Sets automatic notification status in $this->auto_notification, using given $status.

Definition at line 1698 of file class.ilObjCourse.php.

1698 : void
1699 {
1700 $this->auto_notification = $value;
1701 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setCancellationEnd()

ilObjCourse::setCancellationEnd ( ?ilDate  $a_value = null)

Definition at line 696 of file class.ilObjCourse.php.

696 : void
697 {
698 $this->leave_end = $a_value;
699 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setContactConsultation()

ilObjCourse::setContactConsultation ( string  $a_value)

Definition at line 203 of file class.ilObjCourse.php.

203 : void
204 {
205 $this->contact_consultation = $a_value;
206 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setContactEmail()

ilObjCourse::setContactEmail ( string  $a_value)

Definition at line 223 of file class.ilObjCourse.php.

223 : void
224 {
225 $this->contact_email = $a_value;
226 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setContactName()

ilObjCourse::setContactName ( string  $a_cn)

Definition at line 193 of file class.ilObjCourse.php.

193 : void
194 {
195 $this->contact_name = $a_cn;
196 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setContactPhone()

ilObjCourse::setContactPhone ( string  $a_value)

Definition at line 213 of file class.ilObjCourse.php.

213 : void
214 {
215 $this->contact_phone = $a_value;
216 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setContactResponsibility()

ilObjCourse::setContactResponsibility ( string  $a_value)

Definition at line 233 of file class.ilObjCourse.php.

233 : void
234 {
235 $this->contact_responsibility = $a_value;
236 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setCourseEnd()

ilObjCourse::setCourseEnd ( ?ilDateTime  $a_value = null)
protected

Definition at line 686 of file class.ilObjCourse.php.

686 : void
687 {
688 $this->crs_end = $a_value;
689 }

Referenced by setCoursePeriod().

+ Here is the caller graph for this function:

◆ setCoursePeriod()

ilObjCourse::setCoursePeriod ( ?ilDateTime  $start = null,
?ilDateTime  $end = null 
)

Definition at line 648 of file class.ilObjCourse.php.

648 : void
649 {
650 if (
651 ($start instanceof \ilDate && !$end instanceof ilDate) ||
652 ($end instanceof \ilDate && !$start instanceof ilDate)
653 ) {
654 throw new InvalidArgumentException('Different date types not supported.');
655 }
656
657 if ($start instanceof \ilDate) {
659 } else {
661 }
662 $this->setCourseStart($start);
663 $this->setCourseEnd($end);
664 }
setCourseStart(?ilDateTime $a_value=null)
setCourseEnd(?ilDateTime $a_value=null)

References setCourseEnd(), setCourseStart(), and toggleCourseStartTimeIndication().

Referenced by __readSettings().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setCourseStart()

ilObjCourse::setCourseStart ( ?ilDateTime  $a_value = null)
protected

Definition at line 676 of file class.ilObjCourse.php.

676 : void
677 {
678 $this->crs_start = $a_value;
679 }

Referenced by setCoursePeriod().

+ Here is the caller graph for this function:

◆ setEnableCourseMap()

ilObjCourse::setEnableCourseMap ( bool  $a_enablemap)

Definition at line 633 of file class.ilObjCourse.php.

633 : void
634 {
635 $this->enablemap = $a_enablemap;
636 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setImportantInformation()

ilObjCourse::setImportantInformation ( string  $a_info)

Definition at line 163 of file class.ilObjCourse.php.

163 : void
164 {
165 $this->important = $a_info;
166 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setLatitude()

ilObjCourse::setLatitude ( string  $a_latitude)

Definition at line 603 of file class.ilObjCourse.php.

603 : void
604 {
605 $this->latitude = $a_latitude;
606 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setLocationZoom()

ilObjCourse::setLocationZoom ( int  $a_locationzoom)

Definition at line 623 of file class.ilObjCourse.php.

623 : void
624 {
625 $this->locationzoom = $a_locationzoom;
626 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setLongitude()

ilObjCourse::setLongitude ( string  $a_longitude)

Definition at line 613 of file class.ilObjCourse.php.

613 : void
614 {
615 $this->longitude = $a_longitude;
616 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setMailToMembersType()

ilObjCourse::setMailToMembersType ( int  $a_type)

Definition at line 515 of file class.ilObjCourse.php.

515 : void
516 {
517 $this->mail_members = $a_type;
518 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setMessage()

ilObjCourse::setMessage ( string  $a_message)

Definition at line 530 of file class.ilObjCourse.php.

530 : void
531 {
532 $this->message = $a_message;
533 }

Referenced by validate().

+ Here is the caller graph for this function:

◆ setNumberOfNextSessions()

ilObjCourse::setNumberOfNextSessions ( int  $a_num)

Definition at line 379 of file class.ilObjCourse.php.

379 : void
380 {
381 $this->session_next = $a_num;
382 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setNumberOfPreviousSessions()

ilObjCourse::setNumberOfPreviousSessions ( int  $a_num)

Definition at line 369 of file class.ilObjCourse.php.

369 : void
370 {
371 $this->session_prev = $a_num;
372 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setParentRolePermissions()

ilObjCourse::setParentRolePermissions ( int  $parent_ref_id)

This method is called before "initDefaultRoles".

Therefore now local course roles are created. Grants permissions on the course object for all parent roles. Each permission is granted by computing the intersection of the template il_crs_non_member and the permission template of the parent role.

Reimplemented from ilObject.

Definition at line 1296 of file class.ilObjCourse.php.

1296 : bool
1297 {
1298 $parent_roles = $this->rbac_review->getParentRoleIds($parent_ref_id);
1299 foreach ($parent_roles as $parent_role) {
1300 $this->rbac_admin->initIntersectionPermissions(
1301 $this->getRefId(),
1302 $parent_role['obj_id'],
1303 $parent_role['parent'],
1306 );
1307 }
1308 return true;
1309 }
const ROLE_FOLDER_ID
Definition: constants.php:34

References __getCrsNonMemberTemplateId(), ilObject\getRefId(), and ROLE_FOLDER_ID.

+ Here is the call graph for this function:

◆ setRegistrationAccessCode()

ilObjCourse::setRegistrationAccessCode ( string  $a_code)

Definition at line 143 of file class.ilObjCourse.php.

143 : void
144 {
145 $this->reg_access_code = $a_code;
146 }

Referenced by __createDefaultSettings(), and __readSettings().

+ Here is the caller graph for this function:

◆ setShowMembers()

ilObjCourse::setShowMembers ( bool  $a_status)

Definition at line 505 of file class.ilObjCourse.php.

505 : void
506 {
507 $this->show_members = $a_status;
508 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setShowMembersExport()

ilObjCourse::setShowMembersExport ( bool  $a_mem_export)

Definition at line 133 of file class.ilObjCourse.php.

133 : void
134 {
135 $this->member_export = $a_mem_export;
136 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setStatusDetermination()

ilObjCourse::setStatusDetermination ( int  $a_value)

Set status determination mode.

Definition at line 1706 of file class.ilObjCourse.php.

1706 : void
1707 {
1708 $a_value = $a_value;
1709
1710 // #13905
1711 if ($a_value == self::STATUS_DETERMINATION_LP) {
1714 }
1715 }
1716
1717 $this->status_dt = $a_value;
1718 }
const int STATUS_DETERMINATION_MANUAL

References ilObjUserTracking\_enabledLearningProgress(), and STATUS_DETERMINATION_MANUAL.

Referenced by __construct(), and __readSettings().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setSubscriptionEnd()

ilObjCourse::setSubscriptionEnd ( int  $a_value)

Definition at line 303 of file class.ilObjCourse.php.

303 : void
304 {
305 $this->subscription_end = $a_value;
306 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setSubscriptionLimitationType()

ilObjCourse::setSubscriptionLimitationType ( int  $a_type)

Definition at line 278 of file class.ilObjCourse.php.

278 : void
279 {
280 $this->subscription_limitation_type = $a_type;
281 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setSubscriptionMaxMembers()

ilObjCourse::setSubscriptionMaxMembers ( int  $a_value)

Definition at line 399 of file class.ilObjCourse.php.

399 : void
400 {
401 $this->subscription_max_members = $a_value;
402 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setSubscriptionMinMembers()

ilObjCourse::setSubscriptionMinMembers ( int  $a_value)

Definition at line 706 of file class.ilObjCourse.php.

706 : void
707 {
708 if ($a_value !== null) {
709 $a_value = $a_value;
710 }
711 $this->min_members = $a_value;
712 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setSubscriptionPassword()

ilObjCourse::setSubscriptionPassword ( string  $a_value)

Definition at line 323 of file class.ilObjCourse.php.

323 : void
324 {
325 $this->subscription_password = $a_value;
326 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setSubscriptionStart()

ilObjCourse::setSubscriptionStart ( int  $a_value)

Definition at line 293 of file class.ilObjCourse.php.

293 : void
294 {
295 $this->subscription_start = $a_value;
296 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setSubscriptionType()

ilObjCourse::setSubscriptionType ( int  $a_value)

Definition at line 313 of file class.ilObjCourse.php.

313 : void
314 {
315 $this->subscription_type = $a_value;
316 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setSyllabus()

ilObjCourse::setSyllabus ( string  $a_syllabus)

Definition at line 173 of file class.ilObjCourse.php.

173 : void
174 {
175 $this->syllabus = $a_syllabus;
176 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setTargetGroup()

ilObjCourse::setTargetGroup ( ?string  $a_tg)

Definition at line 183 of file class.ilObjCourse.php.

183 : void
184 {
185 $this->target_group = $a_tg;
186 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setTimingMode()

ilObjCourse::setTimingMode ( int  $a_mode)

Definition at line 447 of file class.ilObjCourse.php.

447 : void
448 {
449 $this->timing_mode = $a_mode;
450 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setTutorialSupportBlockSettingValue()

ilObjCourse::setTutorialSupportBlockSettingValue ( int  $value)

Definition at line 457 of file class.ilObjCourse.php.

457 : void
458 {
459 $this->tutorial_support_block_setting_value = $value;
460 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setViewMode()

ilObjCourse::setViewMode ( int  $a_mode)

Definition at line 421 of file class.ilObjCourse.php.

421 : void
422 {
423 $this->view_mode = $a_mode;
424 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ setWaitingListAutoFill()

ilObjCourse::setWaitingListAutoFill ( bool  $a_value)

Definition at line 719 of file class.ilObjCourse.php.

719 : void
720 {
721 $this->auto_fill_from_waiting = $a_value;
722 }

Referenced by __readSettings().

+ Here is the caller graph for this function:

◆ syncMembersStatusWithLP()

ilObjCourse::syncMembersStatusWithLP ( )

Definition at line 1728 of file class.ilObjCourse.php.

1728 : void
1729 {
1730 foreach ($this->getMembersObject()->getParticipants() as $user_id) {
1731 // #15529 - force raise on sync
1732 ilLPStatusWrapper::_updateStatus($this->getId(), $user_id, null, false, true);
1733 }
1734 }
static _updateStatus(int $a_obj_id, int $a_usr_id, ?object $a_obj=null, bool $a_percentage=false, bool $a_force_raise=false)

References $user_id, ilLPStatusWrapper\_updateStatus(), ilObject\getId(), and getMembersObject().

+ Here is the call graph for this function:

◆ toggleCourseStartTimeIndication()

ilObjCourse::toggleCourseStartTimeIndication ( bool  $time_indication)
protected

Definition at line 666 of file class.ilObjCourse.php.

666 : void
667 {
668 $this->course_start_time_indication = $time_indication;
669 }

Referenced by __readSettings(), and setCoursePeriod().

+ Here is the caller graph for this function:

◆ update()

ilObjCourse::update ( )

@inheritDoc

Reimplemented from ilContainer.

Definition at line 936 of file class.ilObjCourse.php.

936 : bool
937 {
938 $sorting = new ilContainerSortingSettings($this->getId());
939 $sorting->setSortMode($this->getOrderType());
940 $sorting->update();
941
942 $this->updateMetaData();
943 $this->updateSettings();
944 parent::update();
945
946 $this->app_event_handler->raise(
947 'components/ILIAS/Course',
948 'update',
949 array('object' => $this,
950 'obj_id' => $this->getId(),
951 'appointments' => $this->prepareAppointments('update')
952 )
953 );
954 return true;
955 }

References ilObject\getId(), getOrderType(), prepareAppointments(), ilObject\updateMetaData(), and updateSettings().

+ Here is the call graph for this function:

◆ updateSettings()

ilObjCourse::updateSettings ( )

Definition at line 959 of file class.ilObjCourse.php.

959 : void
960 {
961 $query = "SELECT * FROM crs_settings WHERE obj_id = " . $this->db->quote($this->getId(), 'integer') . " ";
962 $res = $this->db->query($query);
963
964 if (!$res->numRows()) {
966 }
967
968 $query = "UPDATE crs_settings SET " .
969 'tutorial_support_block = ' . $this->db->quote($this->getTutorialSupportBlockSettingValue(), 'integer') . ", " .
970 "syllabus = " . $this->db->quote($this->getSyllabus(), 'text') . ", " .
971 "contact_name = " . $this->db->quote($this->getContactName(), 'text') . ", " .
972 "contact_responsibility = " . $this->db->quote($this->getContactResponsibility(), 'text') . ", " .
973 "contact_phone = " . $this->db->quote($this->getContactPhone(), 'text') . ", " .
974 "contact_email = " . $this->db->quote($this->getContactEmail(), 'text') . ", " .
975 "contact_consultation = " . $this->db->quote($this->getContactConsultation(), 'text') . ", " .
976 "activation_type = " . $this->db->quote(!$this->getOfflineStatus(), 'integer') . ", " .
977 "sub_limitation_type = " . $this->db->quote($this->getSubscriptionLimitationType(), 'integer') . ", " .
978 "sub_start = " . $this->db->quote($this->getSubscriptionStart(), 'integer') . ", " .
979 "sub_end = " . $this->db->quote($this->getSubscriptionEnd(), 'integer') . ", " .
980 "sub_type = " . $this->db->quote($this->getSubscriptionType(), 'integer') . ", " .
981 "sub_password = " . $this->db->quote($this->getSubscriptionPassword(), 'text') . ", " .
982 "sub_mem_limit = " . $this->db->quote((int) $this->isSubscriptionMembershipLimited(), 'integer') . ", " .
983 "sub_max_members = " . $this->db->quote($this->getSubscriptionMaxMembers(), 'integer') . ", " .
984 "sub_notify = " . $this->db->quote($this->getSubscriptionNotify(), 'integer') . ", " .
985 "view_mode = " . $this->db->quote($this->getViewMode(), 'integer') . ", " .
986 'timing_mode = ' . $this->db->quote($this->getTimingMode(), 'integer') . ', ' .
987 "abo = " . $this->db->quote($this->getAboStatus(), 'integer') . ", " .
988 "waiting_list = " . $this->db->quote($this->enabledWaitingList(), 'integer') . ", " .
989 "important = " . $this->db->quote($this->getImportantInformation(), 'text') . ", " .
990 'target_group = ' . $this->db->quote($this->getTargetGroup(), \ilDBConstants::T_TEXT) . ', ' .
991 "show_members = " . $this->db->quote($this->getShowMembers(), 'integer') . ", " .
992 "show_members_export = " . $this->db->quote($this->getShowMembersExport(), 'integer') . ", " .
993 "latitude = " . $this->db->quote($this->getLatitude(), 'text') . ", " .
994 "longitude = " . $this->db->quote($this->getLongitude(), 'text') . ", " .
995 "location_zoom = " . $this->db->quote($this->getLocationZoom(), 'integer') . ", " .
996 "enable_course_map = " . $this->db->quote((int) $this->getEnableCourseMap(), 'integer') . ", " .
997 'session_limit = ' . $this->db->quote($this->isSessionLimitEnabled(), 'integer') . ', ' .
998 'session_prev = ' . $this->db->quote($this->getNumberOfPreviousSessions(), 'integer') . ', ' .
999 'session_next = ' . $this->db->quote($this->getNumberOfNextSessions(), 'integer') . ', ' .
1000 'reg_ac_enabled = ' . $this->db->quote($this->isRegistrationAccessCodeEnabled(), 'integer') . ', ' .
1001 'reg_ac = ' . $this->db->quote($this->getRegistrationAccessCode(), 'text') . ', ' .
1002 'auto_notification = ' . $this->db->quote((int) $this->getAutoNotification(), 'integer') . ', ' .
1003 'status_dt = ' . $this->db->quote($this->getStatusDetermination(), ilDBConstants::T_INTEGER) . ', ' .
1004 'mail_members_type = ' . $this->db->quote($this->getMailToMembersType(), 'integer') . ', ' .
1005 'period_start = ' . $this->db->quote(
1008 ) . ', ' .
1009 'period_end = ' . $this->db->quote(
1012 ) . ', ' .
1013 'period_time_indication = ' . $this->db->quote(
1014 $this->getCourseStartTimeIndication() ? 1 : 0,
1016 ) . ', ' .
1017 'auto_wait = ' . $this->db->quote((int) $this->hasWaitingListAutoFill(), 'integer') . ', ' .
1018 'leave_end = ' . $this->db->quote(
1019 ($this->getCancellationEnd() && !$this->getCancellationEnd()->isNull()) ? $this->getCancellationEnd()->get(IL_CAL_UNIX) : null,
1020 'integer'
1021 ) . ', ' .
1022 'min_members = ' . $this->db->quote($this->getSubscriptionMinMembers(), 'integer') . ' ' .
1023 "WHERE obj_id = " . $this->db->quote($this->getId(), 'integer');
1024
1025 $res = $this->db->manipulate($query);
1026
1027 // moved activation to ilObjectActivation
1028 if ($this->ref_id ?? false) {
1029 ilObjectActivation::getItem($this->ref_id);
1030
1031 $item = new ilObjectActivation();
1032 if (!$this->getActivationStart() || !$this->getActivationEnd()) {
1033 $item->setTimingType(ilObjectActivation::TIMINGS_DEACTIVATED);
1034 } else {
1035 $item->setTimingType(ilObjectActivation::TIMINGS_ACTIVATION);
1036 $item->setTimingStart($this->getActivationStart());
1037 $item->setTimingEnd($this->getActivationEnd());
1038 $item->toggleVisible($this->getActivationVisibility());
1039 }
1040 $item->update($this->ref_id);
1041 }
1042 }
static convertDateToUtcDBTimestamp(?\ilDateTime $date=null)
Class ilObjectActivation.

References $res, __createDefaultSettings(), ilCalendarUtil\convertDateToUtcDBTimestamp(), enabledWaitingList(), getAboStatus(), getActivationEnd(), getActivationStart(), getActivationVisibility(), getAutoNotification(), getCancellationEnd(), getContactConsultation(), getContactEmail(), getContactName(), getContactPhone(), getContactResponsibility(), getCourseEnd(), getCourseStart(), getCourseStartTimeIndication(), getEnableCourseMap(), ilObject\getId(), getImportantInformation(), ilObjectActivation\getItem(), getLatitude(), getLocationZoom(), getLongitude(), getMailToMembersType(), getNumberOfNextSessions(), getNumberOfPreviousSessions(), ilObject\getOfflineStatus(), getRegistrationAccessCode(), getShowMembers(), getShowMembersExport(), getStatusDetermination(), getSubscriptionEnd(), getSubscriptionLimitationType(), getSubscriptionMaxMembers(), getSubscriptionMinMembers(), getSubscriptionNotify(), getSubscriptionPassword(), getSubscriptionStart(), getSubscriptionType(), getSyllabus(), getTargetGroup(), getTimingMode(), getTutorialSupportBlockSettingValue(), getViewMode(), hasWaitingListAutoFill(), IL_CAL_UNIX, isRegistrationAccessCodeEnabled(), isSessionLimitEnabled(), isSubscriptionMembershipLimited(), ilDBConstants\T_INTEGER, ilDBConstants\T_TEXT, ilDBConstants\T_TIMESTAMP, ilObjectActivation\TIMINGS_ACTIVATION, and ilObjectActivation\TIMINGS_DEACTIVATED.

Referenced by update().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ validate()

ilObjCourse::validate ( )

Definition at line 838 of file class.ilObjCourse.php.

838 : bool
839 {
840 $this->setMessage('');
841
843 $this->getSubscriptionStart() > $this->getSubscriptionEnd()) {
844 $this->appendMessage($this->lng->txt("subscription_times_not_valid"));
845 }
847 $this->appendMessage($this->lng->txt("crs_password_required"));
848 }
849 if ($this->isSubscriptionMembershipLimited()) {
850 if ($this->getSubscriptionMinMembers() <= 0 && $this->getSubscriptionMaxMembers() <= 0) {
851 $this->appendMessage($this->lng->txt("crs_max_and_min_members_needed"));
852 }
853 if ($this->getSubscriptionMaxMembers() <= 0 && $this->enabledWaitingList()) {
854 $this->appendMessage($this->lng->txt("crs_max_members_needed"));
855 }
856 if ($this->getSubscriptionMaxMembers() > 0 && $this->getSubscriptionMinMembers() > $this->getSubscriptionMaxMembers()) {
857 $this->appendMessage($this->lng->txt("crs_max_and_min_members_invalid"));
858 }
859 }
860 if (!$this->getTitle() || !$this->getStatusDetermination()) {
861 $this->appendMessage($this->lng->txt('err_check_input'));
862 }
863 if (($this->getCourseStart() && !$this->getCourseEnd()) ||
864 (!$this->getCourseStart() && $this->getCourseEnd()) ||
865 ($this->getCourseStart() && $this->getCourseEnd() && $this->getCourseStart()->get(IL_CAL_UNIX) > $this->getCourseEnd()->get(IL_CAL_UNIX))) {
866 $this->appendMessage($this->lng->txt("crs_course_period_not_valid"));
867 }
868
869 return strlen($this->getMessage()) > 0;
870 }
appendMessage(string $a_message)
setMessage(string $a_message)

References appendMessage(), enabledWaitingList(), getCourseEnd(), getCourseStart(), getMessage(), getStatusDetermination(), getSubscriptionEnd(), getSubscriptionLimitationType(), getSubscriptionMaxMembers(), getSubscriptionMinMembers(), getSubscriptionPassword(), getSubscriptionStart(), getSubscriptionType(), ilObject\getTitle(), IL_CAL_UNIX, ilCourseConstants\IL_CRS_SUBSCRIPTION_LIMITED, ilCourseConstants\IL_CRS_SUBSCRIPTION_PASSWORD, isSubscriptionMembershipLimited(), ILIAS\Repository\lng(), and setMessage().

+ Here is the call graph for this function:

◆ validateInfoSettings()

ilObjCourse::validateInfoSettings ( )

Definition at line 872 of file class.ilObjCourse.php.

872 : bool
873 {
874 $error = false;
875 if ($this->getContactEmail()) {
876 $emails = explode(",", $this->getContactEmail());
877
878 foreach ($emails as $email) {
879 $email = trim($email);
880 if (!ilUtil::is_email($email) && !ilObjUser::getUserIdByLogin($email)) {
881 $this->error->appendMessage($this->lng->txt('contact_email_not_valid') . " '" . $email . "'");
882 $error = true;
883 }
884 }
885 }
886 return !$error;
887 }
error(string $a_errmsg)
static getUserIdByLogin(string $a_login)
ilErrorHandling $error
static is_email(string $a_email, ?ilMailRfc822AddressParserFactory $mailAddressParserFactory=null)
This preg-based function checks whether an e-mail address is formally valid.

References ilObject\$error, error(), getContactEmail(), ilObjUser\getUserIdByLogin(), ilUtil\is_email(), and ILIAS\Repository\lng().

+ Here is the call graph for this function:

Field Documentation

◆ $abo

bool ilObjCourse::$abo = true
private

Definition at line 51 of file class.ilObjCourse.php.

Referenced by getAboStatus().

◆ $activation_end

int ilObjCourse::$activation_end = 0
private

Definition at line 87 of file class.ilObjCourse.php.

Referenced by getActivationEnd().

◆ $activation_start

int ilObjCourse::$activation_start = 0
private

Definition at line 86 of file class.ilObjCourse.php.

Referenced by getActivationStart().

◆ $activation_visibility

bool ilObjCourse::$activation_visibility = false
private

Definition at line 88 of file class.ilObjCourse.php.

Referenced by getActivationVisibility().

◆ $auto_fill_from_waiting

bool ilObjCourse::$auto_fill_from_waiting = false
private

Definition at line 80 of file class.ilObjCourse.php.

Referenced by hasWaitingListAutoFill().

◆ $auto_notification

bool ilObjCourse::$auto_notification = true
private

Definition at line 84 of file class.ilObjCourse.php.

Referenced by getAutoNotification().

◆ $contact_consultation

string ilObjCourse::$contact_consultation = ''
private

Definition at line 37 of file class.ilObjCourse.php.

Referenced by getContactConsultation().

◆ $contact_email

string ilObjCourse::$contact_email = ''
private

Definition at line 39 of file class.ilObjCourse.php.

Referenced by getContactEmail().

◆ $contact_name

string ilObjCourse::$contact_name = ''
private

Definition at line 40 of file class.ilObjCourse.php.

Referenced by getContactName().

◆ $contact_phone

string ilObjCourse::$contact_phone = ''
private

Definition at line 38 of file class.ilObjCourse.php.

Referenced by getContactPhone().

◆ $contact_responsibility

string ilObjCourse::$contact_responsibility = ''
private

Definition at line 41 of file class.ilObjCourse.php.

Referenced by getContactResponsibility().

◆ $course_logger

ilLogger ilObjCourse::$course_logger
private

Definition at line 58 of file class.ilObjCourse.php.

◆ $course_start_time_indication

bool ilObjCourse::$course_start_time_indication = true
private

Definition at line 54 of file class.ilObjCourse.php.

Referenced by getCourseStartTimeIndication().

◆ $crs_end

ilDateTime ilObjCourse::$crs_end = null
private

Definition at line 77 of file class.ilObjCourse.php.

Referenced by getCourseEnd().

◆ $crs_start

ilDateTime ilObjCourse::$crs_start = null
private

Definition at line 76 of file class.ilObjCourse.php.

Referenced by getCourseStart().

◆ $crs_start_time_indication

bool ilObjCourse::$crs_start_time_indication = false
private

Definition at line 74 of file class.ilObjCourse.php.

◆ $enablemap

bool ilObjCourse::$enablemap = false
private

Definition at line 62 of file class.ilObjCourse.php.

Referenced by getEnableCourseMap().

◆ $important

string ilObjCourse::$important = ''
private

Definition at line 56 of file class.ilObjCourse.php.

Referenced by getImportantInformation().

◆ $latitude

string ilObjCourse::$latitude = ''
private

Definition at line 59 of file class.ilObjCourse.php.

Referenced by getLatitude().

◆ $leave_end

ilDate ilObjCourse::$leave_end = null
private

Definition at line 78 of file class.ilObjCourse.php.

Referenced by getCancellationEnd().

◆ $local_roles

array ilObjCourse::$local_roles = []
private

◆ $locationzoom

int ilObjCourse::$locationzoom = 0
private

Definition at line 61 of file class.ilObjCourse.php.

Referenced by getLocationZoom().

◆ $longitude

string ilObjCourse::$longitude = ''
private

Definition at line 60 of file class.ilObjCourse.php.

Referenced by getLongitude().

◆ $mail_members

int ilObjCourse::$mail_members = ilCourseConstants::MAIL_ALLOWED_ALL
private

Definition at line 72 of file class.ilObjCourse.php.

Referenced by getMailToMembersType().

◆ $member_export

bool ilObjCourse::$member_export = false
private

Definition at line 81 of file class.ilObjCourse.php.

Referenced by getShowMembersExport().

◆ $member_obj

ilCourseParticipant ilObjCourse::$member_obj = null
private

Definition at line 90 of file class.ilObjCourse.php.

Referenced by getMemberObject().

◆ $members_obj

ilCourseParticipants ilObjCourse::$members_obj = null
private

Definition at line 91 of file class.ilObjCourse.php.

Referenced by getMembersObject().

◆ $message

string ilObjCourse::$message = ''
private

Definition at line 53 of file class.ilObjCourse.php.

Referenced by getMessage().

◆ $min_members

int ilObjCourse::$min_members = 0
private

Definition at line 79 of file class.ilObjCourse.php.

Referenced by getSubscriptionMinMembers().

◆ $reg_access_code

string ilObjCourse::$reg_access_code = ''
private

Definition at line 68 of file class.ilObjCourse.php.

Referenced by getRegistrationAccessCode().

◆ $reg_access_code_enabled

bool ilObjCourse::$reg_access_code_enabled = false
private

Definition at line 69 of file class.ilObjCourse.php.

Referenced by isRegistrationAccessCodeEnabled().

◆ $session_limit

int ilObjCourse::$session_limit = 0
private

Definition at line 64 of file class.ilObjCourse.php.

Referenced by isSessionLimitEnabled().

◆ $session_next

int ilObjCourse::$session_next = -1
private

Definition at line 66 of file class.ilObjCourse.php.

Referenced by getNumberOfNextSessions().

◆ $session_prev

int ilObjCourse::$session_prev = -1
private

Definition at line 65 of file class.ilObjCourse.php.

Referenced by getNumberOfPreviousSessions().

◆ $show_members

bool ilObjCourse::$show_members = true
private

Definition at line 52 of file class.ilObjCourse.php.

Referenced by getShowMembers().

◆ $status_dt

int ilObjCourse::$status_dt = 0
private

Definition at line 70 of file class.ilObjCourse.php.

Referenced by getStatusDetermination().

◆ $subscription_end

int ilObjCourse::$subscription_end = 0
private

Definition at line 44 of file class.ilObjCourse.php.

Referenced by getSubscriptionEnd().

◆ $subscription_limitation_type

int ilObjCourse::$subscription_limitation_type = 0
private

Definition at line 42 of file class.ilObjCourse.php.

Referenced by getSubscriptionLimitationType().

◆ $subscription_max_members

int ilObjCourse::$subscription_max_members = 0
private

Definition at line 50 of file class.ilObjCourse.php.

Referenced by getSubscriptionMaxMembers().

◆ $subscription_membership_limitation

bool ilObjCourse::$subscription_membership_limitation = false
private

Definition at line 49 of file class.ilObjCourse.php.

Referenced by isSubscriptionMembershipLimited().

◆ $subscription_password

string ilObjCourse::$subscription_password = ''
private

Definition at line 46 of file class.ilObjCourse.php.

Referenced by getSubscriptionPassword().

◆ $subscription_start

int ilObjCourse::$subscription_start = 0
private

Definition at line 43 of file class.ilObjCourse.php.

Referenced by getSubscriptionStart().

◆ $subscription_type

int ilObjCourse::$subscription_type = 0
private

Definition at line 45 of file class.ilObjCourse.php.

◆ $syllabus

string ilObjCourse::$syllabus = ''
private

Definition at line 57 of file class.ilObjCourse.php.

Referenced by getSyllabus().

◆ $target_group

string ilObjCourse::$target_group = null
private

Definition at line 85 of file class.ilObjCourse.php.

Referenced by getTargetGroup().

◆ $timing_mode

int ilObjCourse::$timing_mode = ilCourseConstants::IL_CRS_VIEW_TIMING_ABSOLUTE
private

Definition at line 82 of file class.ilObjCourse.php.

Referenced by getTimingMode().

◆ $tutorial_support_block_setting_value

int ilObjCourse::$tutorial_support_block_setting_value = 0
private

Definition at line 83 of file class.ilObjCourse.php.

Referenced by getTutorialSupportBlockSettingValue().

◆ $view_mode

int ilObjCourse::$view_mode = 0
private

Definition at line 47 of file class.ilObjCourse.php.

Referenced by getViewMode().

◆ $waiting_list

bool ilObjCourse::$waiting_list = false
private

Definition at line 48 of file class.ilObjCourse.php.

Referenced by enabledWaitingList(), handleAutoFill(), and register().

◆ $waiting_list_obj

ilCourseWaitingList ilObjCourse::$waiting_list_obj = null
private

Definition at line 55 of file class.ilObjCourse.php.

◆ CAL_ACTIVATION_END

const int ilObjCourse::CAL_ACTIVATION_END = 4

Definition at line 28 of file class.ilObjCourse.php.

◆ CAL_ACTIVATION_START

const int ilObjCourse::CAL_ACTIVATION_START = 3

Definition at line 27 of file class.ilObjCourse.php.

◆ CAL_COURSE_END

const int ilObjCourse::CAL_COURSE_END = 6

Definition at line 30 of file class.ilObjCourse.php.

◆ CAL_COURSE_START

const int ilObjCourse::CAL_COURSE_START = 5

Definition at line 29 of file class.ilObjCourse.php.

◆ CAL_COURSE_TIMING_END

◆ CAL_COURSE_TIMING_START

◆ CAL_REG_END

const int ilObjCourse::CAL_REG_END = 2

Definition at line 26 of file class.ilObjCourse.php.

◆ CAL_REG_START

const int ilObjCourse::CAL_REG_START = 1

Definition at line 25 of file class.ilObjCourse.php.

◆ STATUS_DETERMINATION_LP

◆ STATUS_DETERMINATION_MANUAL

const int ilObjCourse::STATUS_DETERMINATION_MANUAL = 2

Definition at line 35 of file class.ilObjCourse.php.

Referenced by ilObjCourseGUI\initEditForm(), and setStatusDetermination().


The documentation for this class was generated from the following file: