ILIAS  release_8 Revision v8.24
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)
 
 getSubItems (bool $a_admin_panel_enabled=false, bool $a_include_side_block=false, int $a_get_single=0, \ilContainerUserFilter $container_user_filter=null)
 
 getSubscriptionNotify ()
 
 setViewMode (int $a_mode)
 
 getViewMode ()
 
 setTimingMode (int $a_mode)
 
 getTimingMode ()
 
 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 ($a_upload=false)
 
 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 $a_target_id, int $a_copy_id=0, bool $a_omit_tree=false)
 Clone course (no member data) More...
 
 cloneDependencies (int $a_target_id, int $a_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 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 $a_parent_ref)
 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 (?ilObjectTranslation $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
 __construct (int $id=0, bool $reference=true)
 
 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 $desc)
 
 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)
 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 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 _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 CAL_REG_START = 1
 
const CAL_REG_END = 2
 
const CAL_ACTIVATION_START = 3
 
const CAL_ACTIVATION_END = 4
 
const CAL_COURSE_START = 5
 
const CAL_COURSE_END = 6
 
const CAL_COURSE_TIMING_START = 7
 
const CAL_COURSE_TIMING_END = 8
 
const STATUS_DETERMINATION_LP = 1
 
const 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)
 Apply container user filter on objects. More...
 
 filterObjIdsByCopyright (array $obj_ids, string $copyright_id)
 
 filterObjIdsByDefaultCopyright (array $obj_ids, string $default_identifier)
 
 legacyOnlineFilter (array $obj_ids, array $objects, int $val)
 Legacy online filter. More...
 
- 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
 
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
 

Additional Inherited Members

- Static Public Attributes inherited from ilContainer
static bool $data_preloaded = false
 
- Protected Attributes inherited from ilContainer
ILIAS Style Content DomainService $content_style_domain
 
ilNewsService $news
 
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
 
ilObjectTranslation $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
 
- 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
 
int $id
 
bool $referenced
 
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 = ""
 
bool $offline = false
 
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
Version
$Id$

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

Constructor & Destructor Documentation

◆ __construct()

ilObjCourse::__construct ( int  $id = 0,
bool  $reference = true 
)
Parameters
int$idreference_id or object_id
bool$referencebool treat the id as reference_id (true) or object_id (false)

Reimplemented from ilObject.

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

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

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 1108 of file class.ilObjCourse.php.

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

References $query, $res, ilMembershipRegistrationCodeUtils\generateCode(), ILIAS\Survey\Mode\getId(), ilCourseConstants\IL_CRS_SUBSCRIPTION_DEACTIVATED, ilCourseConstants\IL_CRS_SUBSCRIPTION_DIRECT, ilCourseConstants\IL_CRS_VIEW_TIMING_ABSOLUTE, and ilContainer\SORT_MANUAL.

+ Here is the call graph for this function:

◆ __deleteSettings()

ilObjCourse::__deleteSettings ( )

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

1417 : void
1418 {
1419 $query = "DELETE FROM crs_settings " .
1420 "WHERE obj_id = " . $this->db->quote($this->getId(), 'integer') . " ";
1421 $this->db->manipulate($query);
1422 }

References $query, and ILIAS\Survey\Mode\getId().

+ Here is the call graph for this function:

◆ __getCrsNonMemberTemplateId()

ilObjCourse::__getCrsNonMemberTemplateId ( )

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

1317 : int
1318 {
1319 $q = "SELECT obj_id FROM object_data WHERE type='rolt' AND title='il_crs_non_member'";
1320 $res = $this->ilias->db->query($q);
1321 $row = $res->fetchRow(ilDBConstants::FETCHMODE_ASSOC);
1322 return (int) $row["obj_id"];
1323 }
header include for all ilias files.

References $res, and ilDBConstants\FETCHMODE_ASSOC.

◆ __getLocalRoles()

ilObjCourse::__getLocalRoles ( )
Returns
int[]

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

1412 : array
1413 {
1414 return $this->rbac_review->getRolesOfRoleFolder($this->getRefId(), false);
1415 }

◆ __readSettings()

ilObjCourse::__readSettings ( )

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

1163 : void
1164 {
1165 $query = "SELECT * FROM crs_settings WHERE obj_id = " . $this->db->quote($this->getId(), 'integer');
1166 $res = $this->db->query($query);
1167 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
1168 $this->setSyllabus((string) $row->syllabus);
1169 $this->setTargetGroup($row->target_group);
1170 $this->setContactName((string) $row->contact_name);
1171 $this->setContactResponsibility((string) $row->contact_responsibility);
1172 $this->setContactPhone((string) $row->contact_phone);
1173 $this->setContactEmail((string) $row->contact_email);
1174 $this->setContactConsultation((string) $row->contact_consultation);
1175 $this->setOfflineStatus(!(bool) $row->activation_type); // see below
1176 $this->setSubscriptionLimitationType((int) $row->sub_limitation_type);
1177 $this->setSubscriptionStart((int) $row->sub_start);
1178 $this->setSubscriptionEnd((int) $row->sub_end);
1179 $this->setSubscriptionType((int) $row->sub_type);
1180 $this->setSubscriptionPassword((string) $row->sub_password);
1181 $this->enableSubscriptionMembershipLimitation((bool) $row->sub_mem_limit);
1182 $this->setSubscriptionMaxMembers((int) $row->sub_max_members);
1183 $this->setViewMode((int) $row->view_mode);
1184 $this->setTimingMode((int) $row->timing_mode);
1185 $this->setAboStatus((bool) $row->abo);
1186 $this->enableWaitingList((bool) $row->waiting_list);
1187 $this->setImportantInformation((string) $row->important);
1188 $this->setShowMembers((bool) $row->show_members);
1189
1190 if (\ilPrivacySettings::getInstance()->participantsListInCoursesEnabled()) {
1191 $this->setShowMembersExport((bool) $row->show_members_export);
1192 } else {
1193 $this->setShowMembersExport(false);
1194 }
1195 $this->setLatitude((string) $row->latitude);
1196 $this->setLongitude((string) $row->longitude);
1197 $this->setLocationZoom((int) $row->location_zoom);
1198 $this->setEnableCourseMap((bool) $row->enable_course_map);
1199 $this->enableSessionLimit((int) $row->session_limit);
1200 $this->setNumberOfPreviousSessions((int) $row->session_prev);
1201 $this->setNumberOfNextSessions((int) $row->session_next);
1202 $this->enableRegistrationAccessCode((bool) $row->reg_ac_enabled);
1203 $this->setRegistrationAccessCode((string) $row->reg_ac);
1204 $this->setAutoNotification((bool) $row->auto_notification);
1205 $this->setStatusDetermination((int) $row->status_dt);
1206 $this->setMailToMembersType((int) $row->mail_members_type);
1207
1208 if ($row->period_time_indication) {
1209 $this->setCoursePeriod(
1210 new \ilDateTime($row->period_start, IL_CAL_DATETIME, \ilTimeZone::UTC),
1211 new \ilDateTime($row->period_end, IL_CAL_DATETIME, \ilTimeZone::UTC)
1212 );
1213 } elseif (!is_null($row->period_start) && !is_null($row->period_end)) {
1214 $this->setCoursePeriod(
1215 new \ilDate($row->period_start, IL_CAL_DATE),
1216 new \ilDate($row->period_end, IL_CAL_DATE)
1217 );
1218 }
1219 $this->toggleCourseStartTimeIndication((bool) $row->period_time_indication);
1220 $this->setCancellationEnd($row->leave_end ? new ilDate($row->leave_end, IL_CAL_UNIX) : null);
1221 $this->setWaitingListAutoFill((bool) $row->auto_wait);
1222 $this->setSubscriptionMinMembers((int) $row->min_members);
1223 }
1224
1225 // moved activation to ilObjectActivation
1226 if ($this->ref_id ?? false) {
1227 $activation = ilObjectActivation::getItem($this->ref_id);
1228 switch ($activation["timing_type"]) {
1230 $this->setActivationStart((int) $activation["timing_start"]);
1231 $this->setActivationEnd((int) $activation["timing_end"]);
1232 $this->setActivationVisibility((bool) $activation["visible"]);
1233 break;
1234 }
1235 }
1236 }
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)
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)
setOfflineStatus(bool $status)

References $query, $res, ilDBConstants\FETCHMODE_OBJECT, ILIAS\Survey\Mode\getId(), ilPrivacySettings\getInstance(), ilObjectActivation\getItem(), IL_CAL_DATE, IL_CAL_DATETIME, IL_CAL_UNIX, ilObjectActivation\TIMINGS_ACTIVATION, and ilTimeZone\UTC.

+ Here is the call graph for this function:

◆ _deleteUser()

static ilObjCourse::_deleteUser ( int  $a_usr_id)
static

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

1462 : void
1463 {
1467 }
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 560 of file class.ilObjCourse.php.

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

References ilObjCourseAccess\_isActivated().

Referenced by ilStartUpGUI\_checkGoto(), and 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 391 of file class.ilObjCourse.php.

391 : bool
392 {
393 global $DIC;
394
395 $ilDB = $DIC->database();
396 $query = "SELECT * FROM crs_settings " .
397 "WHERE obj_id = " . $ilDB->quote($a_course_id, 'integer') . " " .
398 "AND sub_notify = 1";
399 $res = $ilDB->query($query);
400 return (bool) $res->numRows();
401 }

References $DIC, $ilDB, $query, and $res.

◆ _lookupAboStatus()

static ilObjCourse::_lookupAboStatus ( int  $a_id)
static

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

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

References $DIC, $ilDB, $query, $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 466 of file class.ilObjCourse.php.

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

References $DIC, $ilDB, $query, $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 568 of file class.ilObjCourse.php.

568 : bool
569 {
571 }
static _registrationEnabled(int $a_obj_id)

References ilObjCourseAccess\_registrationEnabled().

Referenced by ilStartUpGUI\_checkGoto(), and 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 1480 of file class.ilObjCourse.php.

1480 : void
1481 {
1483 }
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 534 of file class.ilObjCourse.php.

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

◆ 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 1746 of file class.ilObjCourse.php.

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

References ilObjUserTracking\_enabledLearningProgress(), ilLPStatus\_lookupStatus(), ILIAS\Survey\Mode\getId(), ilLPStatus\LP_STATUS_COMPLETED_NUM, and STATUS_DETERMINATION_LP.

+ Here is the call graph for this function:

◆ cloneAutoGeneratedRoles()

ilObjCourse::cloneAutoGeneratedRoles ( ilObject  $new_obj)

Clone automatic genrated roles (permissions and template permissions)

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

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

References ilObject\getRefId().

+ Here is the call graph for this function:

◆ cloneDependencies()

ilObjCourse::cloneDependencies ( int  $a_target_id,
int  $a_copy_id 
)

@inheritDoc

Reimplemented from ilContainer.

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

788 : bool
789 {
790 parent::cloneDependencies($a_target_id, $a_copy_id);
791
792 // Clone course start objects
793 $start = new ilContainerStartObjects($this->getRefId(), $this->getId());
794 $start->cloneDependencies($a_target_id, $a_copy_id);
795
796 // Clone course item settings
797 ilObjectActivation::cloneDependencies($this->getRefId(), $a_target_id, $a_copy_id);
798
799 // clone objective settings
800 ilLOSettings::cloneSettings($a_copy_id, $this->getId(), ilObject::_lookupObjId($a_target_id));
801
802 // Clone course learning objectives
803 $crs_objective = new ilCourseObjective($this);
804 $crs_objective->ilClone($a_target_id, $a_copy_id);
805
806 // clone membership limitation
807 foreach (\ilObjCourseGrouping::_getGroupings($this->getId()) as $grouping_id) {
808 $this->course_logger->info('Handling grouping id: ' . $grouping_id);
809 $grouping = new \ilObjCourseGrouping($grouping_id);
810 $grouping->cloneGrouping($a_target_id, $a_copy_id);
811 }
812 return true;
813 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
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(), and ILIAS\Survey\Mode\getId().

+ Here is the call graph for this function:

◆ cloneObject()

ilObjCourse::cloneObject ( int  $a_target_id,
int  $a_copy_id = 0,
bool  $a_omit_tree = false 
)

Clone course (no member data)

@access public

Parameters
inttarget ref_id
intcopy id

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

738 : ?ilObject
739 {
740 global $DIC;
741
742 $new_obj = parent::cloneObject($a_target_id, $a_copy_id, $a_omit_tree);
743
744 $this->cloneAutoGeneratedRoles($new_obj);
745 $this->cloneMetaData($new_obj);
746
747 $new_obj->getMemberObject()->add($this->user->getId(), ilParticipants::IL_CRS_ADMIN);
748 $new_obj->getMemberObject()->updateContact($this->user->getId(), 1);
749
750 $cwo = ilCopyWizardOptions::_getInstance($a_copy_id);
751 if ($cwo->isRootNode($this->getRefId())) {
752 $this->setOfflineStatus(true);
753 }
754
755 $this->cloneSettings($new_obj);
756 ilCourseDefinedFieldDefinition::_clone($this->getId(), $new_obj->getId());
757 ilCourseFile::_cloneFiles($this->getId(), $new_obj->getId());
758 $obj_settings = new ilLPObjSettings($this->getId());
759 $obj_settings->cloneSettings($new_obj->getId());
760 unset($obj_settings);
761 $pathFactory = new ilCertificatePathFactory();
762 $templateRepository = new ilCertificateTemplateDatabaseRepository($this->db);
763
764 $cloneAction = new ilCertificateCloneAction(
765 $this->db,
766 $pathFactory,
767 $templateRepository,
768 $DIC->filesystem()->web(),
769 null,
771 );
772 $cloneAction->cloneCertificate($this, $new_obj);
773
774 $book_service = new ilBookingService();
775 $book_service->cloneSettings($this->getId(), $new_obj->getId());
776
777 $badges = ilBadge::getInstancesByParentId($this->getId());
778 foreach ($badges as $badge) {
779 $badge->clone($new_obj->getId());
780 }
781
782 return $new_obj;
783 }
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)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
cloneMetaData(ilObject $target_obj)
Copy meta data.

References $DIC, ilCourseDefinedFieldDefinition\_clone(), ilCourseFile\_cloneFiles(), ilCopyWizardOptions\_getInstance(), ILIAS\Survey\Mode\getId(), ilBadge\getInstancesByParentId(), ilParticipants\IL_CRS_ADMIN, and ILIAS\Repository\user().

+ Here is the call graph for this function:

◆ cloneSettings()

ilObjCourse::cloneSettings ( ilObject  $new_obj)

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

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

References ilMembershipRegistrationCodeUtils\generateCode(), ilObject\setOfflineStatus(), and ilObject\update().

+ Here is the call graph for this function:

◆ create()

ilObjCourse::create (   $a_upload = false)

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

580 : int
581 {
582 global $DIC;
583
584 $ilAppEventHandler = $DIC['ilAppEventHandler'];
585
586 $id = parent::create($a_upload);
587
588 if (!$a_upload) {
589 $this->createMetaData();
590 }
592 $this->app_event_handler->raise(
593 'Modules/Course',
594 'create',
595 array('object' => $this,
596 'obj_id' => $this->getId(),
597 'appointments' => $this->prepareAppointments('create')
598 )
599 );
600
601 return $id;
602 }
prepareAppointments(string $a_mode='create')
Prepare calendar appointments.

References $DIC, $id, and ILIAS\Survey\Mode\getId().

+ Here is the call graph for this function:

◆ delete()

ilObjCourse::delete ( )

delete course and all related data

@access public

Returns
boolean true if all object data were removed; false if only a references were removed

Reimplemented from ilContainer.

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

908 : bool
909 {
910 // always call parent delete function first!!
911 if (!parent::delete()) {
912 return false;
913 }
914
915 // delete meta data
916 $this->deleteMetaData();
917
918 // put here course specific stuff
919
920 $this->__deleteSettings();
921
923
925
927
929
931
932 $this->app_event_handler->raise(
933 'Modules/Course',
934 'delete',
935 array('object' => $this,
936 'obj_id' => $this->getId(),
937 'appointments' => $this->prepareAppointments('delete')
938 )
939 );
940 return true;
941 }
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 ilObjCourseGrouping\_deleteAll(), ilCourseObjective\_deleteAll(), ilParticipants\_deleteAllEntries(), ilCourseDefinedFieldDefinition\_deleteByContainer(), ilCourseFile\_deleteByCourse(), and ILIAS\Survey\Mode\getId().

+ Here is the call graph for this function:

◆ doMDUpdateListener()

ilObjCourse::doMDUpdateListener ( string  $a_element)
protected

Reimplemented from ilObject.

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

1469 : void
1470 {
1471 switch ($a_element) {
1472 case 'General':
1473 // Update ecs content
1474 $ecs = new ilECSCourseSettings($this);
1475 $ecs->handleContentUpdate();
1476 break;
1477 }
1478 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ enabledObjectiveView()

ilObjCourse::enabledObjectiveView ( )

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

315 : bool
316 {
317 return $this->view_mode == ilCourseConstants::IL_CRS_VIEW_OBJECTIVE;
318 }

References ilCourseConstants\IL_CRS_VIEW_OBJECTIVE.

◆ enabledWaitingList()

ilObjCourse::enabledWaitingList ( )

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

320 : bool
321 {
322 return $this->waiting_list;
323 }

References $waiting_list.

◆ enableRegistrationAccessCode()

ilObjCourse::enableRegistrationAccessCode ( bool  $a_status)

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

140 : void
141 {
142 $this->reg_access_code_enabled = $a_status;
143 }

◆ enableSessionLimit()

ilObjCourse::enableSessionLimit ( int  $a_status)

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

341 : void
342 {
343 $this->session_limit = $a_status;
344 }

◆ enableSubscriptionMembershipLimitation()

ilObjCourse::enableSubscriptionMembershipLimitation ( bool  $a_status)

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

351 : void
352 {
353 $this->subscription_membership_limitation = $a_status;
354 }

◆ enableWaitingList()

ilObjCourse::enableWaitingList ( bool  $a_status)

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

325 : void
326 {
327 $this->waiting_list = $a_status;
328 }

◆ findCoursesWithNotEnoughMembers()

static ilObjCourse::findCoursesWithNotEnoughMembers ( )
static

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

1842 : array
1843 {
1844 $ilDB = $GLOBALS['DIC']->database();
1845 $tree = $GLOBALS['DIC']->repositoryTree();
1846
1847 $res = array();
1848
1849 $before = new ilDateTime(time(), IL_CAL_UNIX);
1850 $now = $before->get(IL_CAL_UNIX);
1851 $now_dt = $before->get(IL_CAL_DATETIME, '', ilTimeZone::UTC);
1852
1853 $set = $ilDB->query("SELECT obj_id, min_members" .
1854 " FROM crs_settings" .
1855 " WHERE min_members > " . $ilDB->quote(0, "integer") .
1856 " AND sub_mem_limit = " . $ilDB->quote(1, "integer") . // #17206
1857 " AND ((leave_end IS NOT NULL" .
1858 " AND leave_end < " . $ilDB->quote($now, "text") . ")" .
1859 " OR (leave_end IS NULL" .
1860 " AND sub_end IS NOT NULL" .
1861 " AND sub_end < " . $ilDB->quote($now, "text") . "))" .
1862 " AND (period_start IS NULL OR period_start > " . $ilDB->quote($now_dt, ilDBConstants::T_TEXT) . ")");
1863 while ($row = $ilDB->fetchAssoc($set)) {
1864 $refs = ilObject::_getAllReferences((int) $row['obj_id']);
1865 $ref = end($refs);
1866
1867 if ($tree->isDeleted($ref)) {
1868 continue;
1869 }
1870
1871 $part = new ilCourseParticipants((int) $row["obj_id"]);
1872 $reci = $part->getNotificationRecipients();
1873 if ($reci !== []) {
1874 $missing = (int) $row["min_members"] - $part->getCountMembers();
1875 if ($missing > 0) {
1876 $res[(int) $row["obj_id"]] = array($missing, $reci);
1877 }
1878 }
1879 }
1880
1881 return $res;
1882 }
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
Definition: PEAR.php:64
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.

References $GLOBALS, $ilDB, $res, ilObject\_getAllReferences(), IL_CAL_DATETIME, IL_CAL_UNIX, ILIAS\Repository\int(), 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 499 of file class.ilObjCourse.php.

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

◆ getActivationEnd()

ilObjCourse::getActivationEnd ( )

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

240 : int
241 {
243 }

References $activation_end.

Referenced by getActivationUnlimitedStatus().

+ Here is the caller graph for this function:

◆ getActivationStart()

ilObjCourse::getActivationStart ( )

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

230 : int
231 {
233 }

References $activation_start.

Referenced by getActivationUnlimitedStatus().

+ Here is the caller graph for this function:

◆ getActivationUnlimitedStatus()

ilObjCourse::getActivationUnlimitedStatus ( )

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

225 : bool
226 {
227 return !$this->getActivationStart() || !$this->getActivationEnd();
228 }

References getActivationEnd(), and getActivationStart().

+ Here is the call graph for this function:

◆ getActivationVisibility()

ilObjCourse::getActivationVisibility ( )

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

255 : bool
256 {
258 }
bool $activation_visibility

References $activation_visibility.

◆ getAutoNotification()

ilObjCourse::getAutoNotification ( )

Returns automatic notification status from $this->auto_notification.

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

1695 : bool
1696 {
1698 }

◆ getCancellationEnd()

ilObjCourse::getCancellationEnd ( )

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

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

◆ getContactConsultation()

ilObjCourse::getContactConsultation ( )

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

185 : string
186 {
188 }
string $contact_consultation

References $contact_consultation.

◆ getContactEmail()

ilObjCourse::getContactEmail ( )

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

205 : string
206 {
208 }

References $contact_email.

◆ getContactName()

ilObjCourse::getContactName ( )

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

175 : string
176 {
177 return $this->contact_name;
178 }

References $contact_name.

◆ getContactPhone()

ilObjCourse::getContactPhone ( )

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

195 : string
196 {
198 }

References $contact_phone.

◆ getContactResponsibility()

ilObjCourse::getContactResponsibility ( )

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

215 : string
216 {
218 }
string $contact_responsibility

References $contact_responsibility.

◆ getCourseEnd()

ilObjCourse::getCourseEnd ( )

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

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

◆ getCourseStart()

ilObjCourse::getCourseStart ( )

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

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

◆ getCourseStartTimeIndication()

ilObjCourse::getCourseStartTimeIndication ( )

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

672 : bool
673 {
675 }
bool $course_start_time_indication

◆ getDefaultAdminRole()

ilObjCourse::getDefaultAdminRole ( )

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

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

References ilObjectFactory\getInstanceByObjId().

+ Here is the call 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 1375 of file class.ilObjCourse.php.

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

◆ getDefaultMemberRole()

ilObjCourse::getDefaultMemberRole ( )

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

1424 : int
1425 {
1426 $local_roles = $this->__getLocalRoles();
1427 foreach ($local_roles as $role_id) {
1428 $title = ilObject::_lookupTitle($role_id);
1429 if (substr($title, 0, 8) == 'il_crs_m') {
1430 return $role_id;
1431 }
1432 }
1433 return 0;
1434 }
string $title
static _lookupTitle(int $obj_id)

References ilObject\_lookupTitle().

+ Here is the call graph for this function:

◆ getDefaultTutorRole()

ilObjCourse::getDefaultTutorRole ( )

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

1436 : int
1437 {
1438 $local_roles = $this->__getLocalRoles();
1439 foreach ($local_roles as $role_id) {
1440 if ($tmp_role = ilObjectFactory::getInstanceByObjId($role_id, false)) {
1441 if (!strcmp($tmp_role->getTitle(), "il_crs_tutor_" . $this->getRefId())) {
1442 return $role_id;
1443 }
1444 }
1445 }
1446 return 0;
1447 }

References ilObjectFactory\getInstanceByObjId().

+ Here is the call graph for this function:

◆ getEnableCourseMap()

ilObjCourse::getEnableCourseMap ( )

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

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

◆ getEnableMap()

ilObjCourse::getEnableMap ( )

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

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

◆ getImportantInformation()

ilObjCourse::getImportantInformation ( )

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

145 : string
146 {
147 return $this->important;
148 }

References $important.

◆ getLatitude()

ilObjCourse::getLatitude ( )

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

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

◆ 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 1346 of file class.ilObjCourse.php.

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

References ilObjRole\_getTranslation(), and ilObjectFactory\getInstanceByObjId().

+ Here is the call graph for this function:

◆ getLocationZoom()

ilObjCourse::getLocationZoom ( )

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

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

◆ getLongitude()

ilObjCourse::getLongitude ( )

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

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

◆ getMailToMembersType()

ilObjCourse::getMailToMembersType ( )

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

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

◆ getMemberObject()

ilObjCourse::getMemberObject ( )

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

1256 {
1257 if (!$this->member_obj instanceof ilCourseParticipant) {
1258 $this->initCourseMemberObject();
1259 }
1260 return $this->member_obj;
1261 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
ilCourseParticipant $member_obj

◆ getMembersObject()

ilObjCourse::getMembersObject ( )

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

1264 {
1265 if (!$this->members_obj instanceof ilCourseParticipants) {
1266 $this->initCourseMembersObject();
1267 }
1268 return $this->members_obj;
1269 }
ilCourseParticipants $members_obj

◆ getMessage()

ilObjCourse::getMessage ( )

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

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

References $message.

◆ getNumberOfNextSessions()

ilObjCourse::getNumberOfNextSessions ( )

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

371 : int
372 {
373 return $this->session_next;
374 }

References $session_next.

◆ getNumberOfPreviousSessions()

ilObjCourse::getNumberOfPreviousSessions ( )

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

361 : int
362 {
363 return $this->session_prev;
364 }

References $session_prev.

◆ getOrderType()

ilObjCourse::getOrderType ( )

Reimplemented from ilContainer.

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

1761 : int
1762 {
1763 if ($this->enabledObjectiveView()) {
1765 }
1766 return parent::getOrderType();
1767 }

References ilContainer\SORT_MANUAL.

◆ getRegistrationAccessCode()

ilObjCourse::getRegistrationAccessCode ( )

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

125 : string
126 {
128 }
string $reg_access_code

References $reg_access_code.

◆ getShowMembers()

ilObjCourse::getShowMembers ( )

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

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

◆ getShowMembersExport()

ilObjCourse::getShowMembersExport ( )

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

115 : bool
116 {
118 }

References $member_export.

◆ getStatusDetermination()

ilObjCourse::getStatusDetermination ( )

Get status determination mode.

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

1729 : int
1730 {
1731 return $this->status_dt;
1732 }

◆ getSubItems()

ilObjCourse::getSubItems ( bool  $a_admin_panel_enabled = false,
bool  $a_include_side_block = false,
int  $a_get_single = 0,
\ilContainerUserFilter  $container_user_filter = null 
)

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

408 : array {
409 // Caching
410 if (isset($this->items[(int) $a_admin_panel_enabled][(int) $a_include_side_block])) {
411 return $this->items[(int) $a_admin_panel_enabled][(int) $a_include_side_block];
412 }
413
414 // Results are stored in $this->items
415 parent::getSubItems($a_admin_panel_enabled, $a_include_side_block, $a_get_single);
416 $this->items = ilContainerSessionsContentGUI::prepareSessionPresentationLimitation(
417 $this->items,
418 $this,
419 $a_admin_panel_enabled,
420 $a_include_side_block
421 );
422 return $this->items[(int) $a_admin_panel_enabled][(int) $a_include_side_block];
423 }

References ILIAS\Repository\int().

+ Here is the call graph for this function:

◆ getSubscriptionEnd()

ilObjCourse::getSubscriptionEnd ( )

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

285 : int
286 {
288 }

References $subscription_end.

Referenced by inSubscriptionTime().

+ Here is the caller graph for this function:

◆ getSubscriptionLimitationType()

ilObjCourse::getSubscriptionLimitationType ( )

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

260 : int
261 {
263 }
int $subscription_limitation_type

References $subscription_limitation_type.

◆ getSubscriptionMaxMembers()

ilObjCourse::getSubscriptionMaxMembers ( )

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

381 : int
382 {
384 }
int $subscription_max_members

References $subscription_max_members.

◆ getSubscriptionMinMembers()

ilObjCourse::getSubscriptionMinMembers ( )

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

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

◆ getSubscriptionNotify()

ilObjCourse::getSubscriptionNotify ( )

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

425 : bool
426 {
427 return true;
428 }

◆ getSubscriptionPassword()

ilObjCourse::getSubscriptionPassword ( )

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

305 : string
306 {
308 }
string $subscription_password

References $subscription_password.

◆ getSubscriptionStart()

ilObjCourse::getSubscriptionStart ( )

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

275 : int
276 {
278 }

References $subscription_start.

Referenced by inSubscriptionTime().

+ Here is the caller graph for this function:

◆ getSubscriptionType()

ilObjCourse::getSubscriptionType ( )

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

295 : int
296 {
297 return $this->subscription_type ?: ilCourseConstants::IL_CRS_SUBSCRIPTION_DIRECT;
298 }

References ilCourseConstants\IL_CRS_SUBSCRIPTION_DIRECT.

◆ getSubscriptionUnlimitedStatus()

ilObjCourse::getSubscriptionUnlimitedStatus ( )

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

270 : bool
271 {
272 return $this->subscription_limitation_type == ilCourseConstants::IL_CRS_SUBSCRIPTION_UNLIMITED;
273 }

References ilCourseConstants\IL_CRS_SUBSCRIPTION_UNLIMITED.

Referenced by inSubscriptionTime().

+ Here is the caller graph for this function:

◆ getSyllabus()

ilObjCourse::getSyllabus ( )

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

155 : string
156 {
157 return $this->syllabus;
158 }

References $syllabus.

◆ getTargetGroup()

ilObjCourse::getTargetGroup ( )

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

165 : ?string
166 {
167 return $this->target_group;
168 }

References $target_group.

◆ getTimingMode()

ilObjCourse::getTimingMode ( )

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

461 : int
462 {
463 return $this->timing_mode;
464 }

◆ getViewMode()

ilObjCourse::getViewMode ( )

Reimplemented from ilContainer.

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

435 : int
436 {
437 return $this->view_mode;
438 }

◆ handleAutoFill()

ilObjCourse::handleAutoFill ( )

Handle course auto fill.

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

1772 : void
1773 {
1774 if (
1775 !$this->enabledWaitingList() || !$this->hasWaitingListAutoFill()
1776 ) {
1777 $this->course_logger->debug('Waiting list or auto fill disabled.');
1778 return;
1779 }
1780
1781 $max = $this->getSubscriptionMaxMembers();
1783
1784 $this->course_logger->debug('Max members: ' . $max);
1785 $this->course_logger->debug('Current members: ' . $now);
1786
1787 if ($max <= $now) {
1788 return;
1789 }
1790
1791 // see assignFromWaitingListObject()
1792 $waiting_list = new ilCourseWaitingList($this->getId());
1793
1794 foreach ($waiting_list->getUserIds() as $user_id) {
1795 if (!$tmp_obj = ilObjectFactory::getInstanceByObjId($user_id, false)) {
1796 $this->course_logger->warning('Cannot create user instance for id: ' . $user_id);
1797 continue;
1798 }
1799 if ($this->getMembersObject()->isAssigned($user_id)) {
1800 $this->course_logger->warning('User is already assigned to course. uid: ' . $user_id . ' course_id: ' . $this->getRefId());
1801 continue;
1802 }
1803 $this->getMembersObject()->add($user_id, ilParticipants::IL_CRS_MEMBER);
1804 $this->getMembersObject()->sendNotification(ilCourseMembershipMailNotification::TYPE_ADMISSION_MEMBER, $user_id, true);
1805 $waiting_list->removeFromList($user_id);
1806 $this->checkLPStatusSync($user_id);
1807
1808 $this->course_logger->info('Assigned user from waiting list to course: ' . $this->getTitle());
1809 $now++;
1810 if ($now >= $max) {
1811 break;
1812 }
1813 }
1814 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
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 ILIAS\Survey\Mode\getId(), ilObjectFactory\getInstanceByObjId(), 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 897 of file class.ilObjCourse.php.

897 : bool
898 {
899 return strlen($this->getContactName()) || strlen($this->getContactResponsibility()) || strlen($this->getContactEmail()) || strlen($this->getContactPhone()) || strlen($this->getContactConsultation());
900 }

◆ hasWaitingListAutoFill()

ilObjCourse::hasWaitingListAutoFill ( )

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

725 : bool
726 {
728 }
bool $auto_fill_from_waiting

◆ initCourseMemberObject()

ilObjCourse::initCourseMemberObject ( )
protected

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

1245 : void
1246 {
1247 $this->member_obj = ilCourseParticipant::_getInstanceByObjId($this->getId(), $this->user->getId());
1248 }
static _getInstanceByObjId(int $a_obj_id, int $a_usr_id)

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

+ Here is the call graph for this function:

◆ initCourseMembersObject()

ilObjCourse::initCourseMembersObject ( )
protected

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

1250 : void
1251 {
1252 $this->members_obj = ilCourseParticipants::_getInstanceByObjId($this->getId());
1253 }
static _getInstanceByObjId(int $a_obj_id)

References ilCourseParticipants\_getInstanceByObjId(), and ILIAS\Survey\Mode\getId().

+ Here is the call 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 1273 of file class.ilObjCourse.php.

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

References ilObjRole\createDefaultRole(), and ILIAS\Survey\Mode\getId().

+ Here is the call graph for this function:

◆ initWaitingList()

ilObjCourse::initWaitingList ( )

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

1238 : void
1239 {
1240 if (!$this->waiting_list_obj instanceof ilCourseWaitingList) {
1241 $this->waiting_list_obj = new ilCourseWaitingList($this->getId());
1242 }
1243 }

References ILIAS\Survey\Mode\getId().

+ Here is the call graph for this function:

◆ inSubscriptionTime()

ilObjCourse::inSubscriptionTime ( )

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

330 : bool
331 {
332 if ($this->getSubscriptionUnlimitedStatus()) {
333 return true;
334 }
335 if (time() > $this->getSubscriptionStart() and time() < $this->getSubscriptionEnd()) {
336 return true;
337 }
338 return false;
339 }

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

+ Here is the call graph for this function:

◆ isActivated()

ilObjCourse::isActivated ( )

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

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

◆ isRegistrationAccessCodeEnabled()

ilObjCourse::isRegistrationAccessCodeEnabled ( )

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

135 : bool
136 {
138 }
bool $reg_access_code_enabled

References $reg_access_code_enabled.

◆ isSessionLimitEnabled()

ilObjCourse::isSessionLimitEnabled ( )

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

346 : bool
347 {
348 return (bool) $this->session_limit;
349 }

References $session_limit.

◆ isSubscriptionMembershipLimited()

ilObjCourse::isSubscriptionMembershipLimited ( )

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

376 : bool
377 {
379 }
bool $subscription_membership_limitation

References $subscription_membership_limitation.

◆ lookupCourseNonMemberTemplatesId()

static ilObjCourse::lookupCourseNonMemberTemplatesId ( )
static

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

1325 : int
1326 {
1327 global $DIC;
1328
1329 $ilDB = $DIC->database();
1330
1331 $query = 'SELECT obj_id FROM object_data WHERE type = ' . $ilDB->quote(
1332 'rolt',
1333 'text'
1334 ) . ' AND title = ' . $ilDB->quote('il_crs_non_member', 'text');
1335 $res = $ilDB->query($query);
1336 $row = $res->fetchRow(ilDBConstants::FETCHMODE_ASSOC);
1337 return (int) $row['obj_id'];
1338 }

References $DIC, $ilDB, $query, $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 1587 of file class.ilObjCourse.php.

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

References $DIC, $ilDB, $query, $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 104 of file class.ilObjCourse.php.

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

References $GLOBALS, $query, $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 440 of file class.ilObjCourse.php.

440 : int
441 {
442 global $DIC;
443
444 $ilDB = $DIC['ilDB'];
445
446 $query = 'SELECT timing_mode FROM crs_settings ' .
447 'WHERE obj_id = ' . $ilDB->quote($a_obj_id, 'integer');
448 $res = $ilDB->query($query);
449
450 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
451 return (int) $row->timing_mode;
452 }
454 }

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

Referenced by ilCalendarScheduleFilterTimings\addCustomEvents(), ilCourseAppEventListener\initializeTimings(), ilObjectActivationGUI\initTimingMode(), and ilCalendarScheduleFilterTimings\modifyEvent().

+ Here is the caller graph for this function:

◆ mayLeave()

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

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

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

References $DIC, $ilDB, $ilUser, 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 1488 of file class.ilObjCourse.php.

1488 : array
1489 {
1490 switch ($a_mode) {
1491 case 'create':
1492 case 'update':
1493 $apps = [];
1494 if (!$this->getActivationUnlimitedStatus() && !$this->getOfflineStatus()) {
1495 $app = new ilCalendarAppointmentTemplate(self::CAL_ACTIVATION_START);
1496 $app->setTitle($this->getTitle());
1497 $app->setSubtitle('crs_cal_activation_start');
1498 $app->setTranslationType(ilCalendarEntry::TRANSLATION_SYSTEM);
1499 $app->setDescription($this->getLongDescription());
1500 $app->setStart(new ilDateTime($this->getActivationStart(), IL_CAL_UNIX));
1501 $apps[] = $app;
1502
1503 $app = new ilCalendarAppointmentTemplate(self::CAL_ACTIVATION_END);
1504 $app->setTitle($this->getTitle());
1505 $app->setSubtitle('crs_cal_activation_end');
1506 $app->setTranslationType(ilCalendarEntry::TRANSLATION_SYSTEM);
1507 $app->setDescription($this->getLongDescription());
1508 $app->setStart(new ilDateTime($this->getActivationEnd(), IL_CAL_UNIX));
1509 $apps[] = $app;
1510 }
1512 $app = new ilCalendarAppointmentTemplate(self::CAL_REG_START);
1513 $app->setTitle($this->getTitle());
1514 $app->setSubtitle('crs_cal_reg_start');
1515 $app->setTranslationType(ilCalendarEntry::TRANSLATION_SYSTEM);
1516 $app->setDescription($this->getLongDescription());
1517 $app->setStart(new ilDateTime($this->getSubscriptionStart(), IL_CAL_UNIX));
1518 $apps[] = $app;
1519
1520 $app = new ilCalendarAppointmentTemplate(self::CAL_REG_END);
1521 $app->setTitle($this->getTitle());
1522 $app->setSubtitle('crs_cal_reg_end');
1523 $app->setTranslationType(ilCalendarEntry::TRANSLATION_SYSTEM);
1524 $app->setDescription($this->getLongDescription());
1525 $app->setStart(new ilDateTime($this->getSubscriptionEnd(), IL_CAL_UNIX));
1526 $apps[] = $app;
1527 }
1528 if ($this->getCourseStart() && $this->getCourseEnd()) {
1529 $app = new ilCalendarAppointmentTemplate(self::CAL_COURSE_START);
1530 $app->setTitle($this->getTitle());
1531 $app->setSubtitle('crs_cal_start');
1532 $app->setTranslationType(ilCalendarEntry::TRANSLATION_SYSTEM);
1533 $app->setDescription($this->getLongDescription());
1534 $app->setStart($this->getCourseStart());
1535 $app->setFullday(!$this->getCourseStartTimeIndication());
1536 $apps[] = $app;
1537
1538 $app = new ilCalendarAppointmentTemplate(self::CAL_COURSE_END);
1539 $app->setTitle($this->getTitle());
1540 $app->setSubtitle('crs_cal_end');
1541 $app->setTranslationType(ilCalendarEntry::TRANSLATION_SYSTEM);
1542 $app->setDescription($this->getLongDescription());
1543 $app->setStart($this->getCourseEnd());
1544 $app->setFullday(!$this->getCourseStartTimeIndication());
1545 $apps[] = $app;
1546 }
1547 if (
1549 ) {
1551 foreach ($active as $null => $item) {
1552 if ($item['timing_type'] == ilObjectActivation::TIMINGS_PRESETTING) {
1553 // create calendar entry for fixed types
1554 $app = new ilCalendarAppointmentTemplate(self::CAL_COURSE_TIMING_START);
1555 $app->setContextInfo($item['ref_id']);
1556 $app->setTitle($item['title']);
1557 $app->setSubtitle('cal_crs_timing_start');
1558 $app->setTranslationType(ilCalendarEntry::TRANSLATION_SYSTEM);
1559 $app->setStart(new ilDate($item['suggestion_start'], IL_CAL_UNIX));
1560 $app->setFullday(true);
1561 $apps[] = $app;
1562
1563 $app = new ilCalendarAppointmentTemplate(self::CAL_COURSE_TIMING_END);
1564 $app->setContextInfo($item['ref_id']);
1565 $app->setTitle($item['title']);
1566 $app->setSubtitle('cal_crs_timing_end');
1567 $app->setTranslationType(ilCalendarEntry::TRANSLATION_SYSTEM);
1568 $app->setStart(new ilDate($item['suggestion_end'], IL_CAL_UNIX));
1569 $app->setFullday(true);
1570 $apps[] = $app;
1571 }
1572 }
1573 }
1574 return $apps;
1575
1576 case 'delete':
1577 // Nothing to do: The category and all assigned appointments will be deleted.
1578 return array();
1579 }
1580 return [];
1581 }
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)
$app
Definition: cli.php:39

References $app, ilObjectActivation\getTimingsItems(), IL_CAL_UNIX, ilCourseConstants\IL_CRS_SUBSCRIPTION_LIMITED, ilCourseConstants\IL_CRS_VIEW_TIMING, ilObjectActivation\TIMINGS_PRESETTING, and ilCalendarEntry\TRANSLATION_SYSTEM.

+ Here is the call graph for this function:

◆ read()

ilObjCourse::read ( )

Reimplemented from ilContainer.

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

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

References ilContainerSortingSettings\_lookupSortMode(), and ILIAS\Survey\Mode\getId().

+ 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 1609 of file class.ilObjCourse.php.

1613 : void {
1614 if ($this->getMembersObject()->isAssigned($a_user_id)) {
1615 return;
1616 }
1617
1618 if (!$a_force_registration) {
1619 // offline
1620 if (ilObjCourseAccess::_isOffline($this->getId())) {
1622 "Can't register to course, course is offline.",
1624 );
1625 }
1626 // activation
1627 if (!ilObjCourseAccess::_isActivated($this->getId())) {
1629 "Can't register to course, course is not activated.",
1631 );
1632 }
1633
1637 'Cant registrate to course ' . $this->getId() .
1638 ', course subscription is deactivated.',
1640 );
1641 }
1642 }
1643
1644 // Time Limitation
1646 if (!$this->inSubscriptionTime()) {
1648 'Cant registrate to course ' . $this->getId() .
1649 ', course is out of registration time.',
1651 );
1652 }
1653 }
1654
1655 // Max members
1656 if ($this->isSubscriptionMembershipLimited()) {
1657 $free = max(0, $this->getSubscriptionMaxMembers() - $this->getMembersObject()->getCountMembers());
1658 $waiting_list = new ilCourseWaitingList($this->getId());
1659 if ($this->enabledWaitingList() && (!$free || $waiting_list->getCountUsers())) {
1660 $waiting_list->addToList($a_user_id);
1661 $this->lng->loadLanguageModule("crs");
1662 $info = sprintf(
1663 $this->lng->txt('crs_added_to_list'),
1664 $waiting_list->getPosition($a_user_id)
1665 );
1666 $participants = ilCourseParticipants::_getInstanceByObjId($this->getId());
1667 $participants->sendNotification(
1669 $a_user_id
1670 );
1671
1673 $info,
1675 );
1676 }
1677
1678 if (!$this->enabledWaitingList() && !$free) {
1679 throw new ilMembershipRegistrationException('Cant registrate to course ' . $this->getId() .
1680 ', membership is limited.', ilMembershipRegistrationException::OBJECT_IS_FULL);
1681 }
1682 }
1683 }
1684
1685 $this->getMembersObject()->add($a_user_id, $a_role);
1689 }
static checkForumsExistsInsert(int $ref_id, int $user_id)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _isOffline(int $obj_id)
Type-specific implementation of general status, has to be overwritten if object type does not support...

References ilCourseParticipants\_getInstanceByObjId(), ilObjCourseAccess\_isActivated(), ilObjCourseAccess\_isOffline(), ilObjCourseAccess\_usingRegistrationCode(), ilMembershipRegistrationException\ADDED_TO_WAITINGLIST, ilForumNotification\checkForumsExistsInsert(), ILIAS\Survey\Mode\getId(), ilCourseConstants\IL_CRS_SUBSCRIPTION_DEACTIVATED, ilCourseConstants\IL_CRS_SUBSCRIPTION_LIMITED, 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 494 of file class.ilObjCourse.php.

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

◆ setActivationEnd()

ilObjCourse::setActivationEnd ( int  $a_value)

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

245 : void
246 {
247 $this->activation_end = $a_value;
248 }

◆ setActivationStart()

ilObjCourse::setActivationStart ( int  $a_value)

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

235 : void
236 {
237 $this->activation_start = $a_value;
238 }

◆ setActivationVisibility()

ilObjCourse::setActivationVisibility ( bool  $a_value)

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

250 : void
251 {
252 $this->activation_visibility = $a_value;
253 }

◆ setAutoNotification()

ilObjCourse::setAutoNotification ( bool  $value)

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

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

1704 : void
1705 {
1706 $this->auto_notification = $value;
1707 }

◆ setCancellationEnd()

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

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

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

◆ setContactConsultation()

ilObjCourse::setContactConsultation ( string  $a_value)

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

190 : void
191 {
192 $this->contact_consultation = $a_value;
193 }

◆ setContactEmail()

ilObjCourse::setContactEmail ( string  $a_value)

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

210 : void
211 {
212 $this->contact_email = $a_value;
213 }

◆ setContactName()

ilObjCourse::setContactName ( string  $a_cn)

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

180 : void
181 {
182 $this->contact_name = $a_cn;
183 }

◆ setContactPhone()

ilObjCourse::setContactPhone ( string  $a_value)

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

200 : void
201 {
202 $this->contact_phone = $a_value;
203 }

◆ setContactResponsibility()

ilObjCourse::setContactResponsibility ( string  $a_value)

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

220 : void
221 {
222 $this->contact_responsibility = $a_value;
223 }

◆ setCourseEnd()

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

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

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

◆ setCoursePeriod()

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

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

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

◆ setCourseStart()

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

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

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

◆ setEnableCourseMap()

ilObjCourse::setEnableCourseMap ( bool  $a_enablemap)

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

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

◆ setImportantInformation()

ilObjCourse::setImportantInformation ( string  $a_info)

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

150 : void
151 {
152 $this->important = $a_info;
153 }

◆ setLatitude()

ilObjCourse::setLatitude ( string  $a_latitude)

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

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

◆ setLocationZoom()

ilObjCourse::setLocationZoom ( int  $a_locationzoom)

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

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

◆ setLongitude()

ilObjCourse::setLongitude ( string  $a_longitude)

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

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

◆ setMailToMembersType()

ilObjCourse::setMailToMembersType ( int  $a_type)

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

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

◆ setMessage()

ilObjCourse::setMessage ( string  $a_message)

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

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

◆ setNumberOfNextSessions()

ilObjCourse::setNumberOfNextSessions ( int  $a_num)

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

366 : void
367 {
368 $this->session_next = $a_num;
369 }

◆ setNumberOfPreviousSessions()

ilObjCourse::setNumberOfPreviousSessions ( int  $a_num)

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

356 : void
357 {
358 $this->session_prev = $a_num;
359 }

◆ setParentRolePermissions()

ilObjCourse::setParentRolePermissions ( int  $a_parent_ref)

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 1302 of file class.ilObjCourse.php.

1302 : bool
1303 {
1304 $parent_roles = $this->rbac_review->getParentRoleIds($a_parent_ref);
1305 foreach ($parent_roles as $parent_role) {
1306 $this->rbac_admin->initIntersectionPermissions(
1307 $this->getRefId(),
1308 $parent_role['obj_id'],
1309 $parent_role['parent'],
1312 );
1313 }
1314 return true;
1315 }
const ROLE_FOLDER_ID
Definition: constants.php:34

References ROLE_FOLDER_ID.

◆ setRegistrationAccessCode()

ilObjCourse::setRegistrationAccessCode ( string  $a_code)

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

130 : void
131 {
132 $this->reg_access_code = $a_code;
133 }

◆ setShowMembers()

ilObjCourse::setShowMembers ( bool  $a_status)

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

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

◆ setShowMembersExport()

ilObjCourse::setShowMembersExport ( bool  $a_mem_export)

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

120 : void
121 {
122 $this->member_export = $a_mem_export;
123 }

◆ setStatusDetermination()

ilObjCourse::setStatusDetermination ( int  $a_value)

Set status determination mode.

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

1712 : void
1713 {
1714 $a_value = $a_value;
1715
1716 // #13905
1717 if ($a_value == self::STATUS_DETERMINATION_LP) {
1720 }
1721 }
1722
1723 $this->status_dt = $a_value;
1724 }
const STATUS_DETERMINATION_MANUAL

References ilObjUserTracking\_enabledLearningProgress().

Referenced by __construct().

+ 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 290 of file class.ilObjCourse.php.

290 : void
291 {
292 $this->subscription_end = $a_value;
293 }

◆ setSubscriptionLimitationType()

ilObjCourse::setSubscriptionLimitationType ( int  $a_type)

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

265 : void
266 {
267 $this->subscription_limitation_type = $a_type;
268 }

◆ setSubscriptionMaxMembers()

ilObjCourse::setSubscriptionMaxMembers ( int  $a_value)

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

386 : void
387 {
388 $this->subscription_max_members = $a_value;
389 }

◆ setSubscriptionMinMembers()

ilObjCourse::setSubscriptionMinMembers ( int  $a_value)

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

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

◆ setSubscriptionPassword()

ilObjCourse::setSubscriptionPassword ( string  $a_value)

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

310 : void
311 {
312 $this->subscription_password = $a_value;
313 }

◆ setSubscriptionStart()

ilObjCourse::setSubscriptionStart ( int  $a_value)

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

280 : void
281 {
282 $this->subscription_start = $a_value;
283 }

◆ setSubscriptionType()

ilObjCourse::setSubscriptionType ( int  $a_value)

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

300 : void
301 {
302 $this->subscription_type = $a_value;
303 }

◆ setSyllabus()

ilObjCourse::setSyllabus ( string  $a_syllabus)

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

160 : void
161 {
162 $this->syllabus = $a_syllabus;
163 }

◆ setTargetGroup()

ilObjCourse::setTargetGroup ( ?string  $a_tg)

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

170 : void
171 {
172 $this->target_group = $a_tg;
173 }

◆ setTimingMode()

ilObjCourse::setTimingMode ( int  $a_mode)

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

456 : void
457 {
458 $this->timing_mode = $a_mode;
459 }

◆ setViewMode()

ilObjCourse::setViewMode ( int  $a_mode)

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

430 : void
431 {
432 $this->view_mode = $a_mode;
433 }

◆ setWaitingListAutoFill()

ilObjCourse::setWaitingListAutoFill ( bool  $a_value)

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

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

◆ syncMembersStatusWithLP()

ilObjCourse::syncMembersStatusWithLP ( )

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

1734 : void
1735 {
1736 foreach ($this->getMembersObject()->getParticipants() as $user_id) {
1737 // #15529 - force raise on sync
1738 ilLPStatusWrapper::_updateStatus($this->getId(), $user_id, null, false, true);
1739 }
1740 }
static _updateStatus(int $a_obj_id, int $a_usr_id, ?object $a_obj=null, bool $a_percentage=false, bool $a_force_raise=false)

References ilLPStatusWrapper\_updateStatus(), and ILIAS\Survey\Mode\getId().

+ Here is the call graph for this function:

◆ toggleCourseStartTimeIndication()

ilObjCourse::toggleCourseStartTimeIndication ( bool  $time_indication)
protected

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

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

◆ update()

ilObjCourse::update ( )

@inheritDoc

Reimplemented from ilContainer.

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

946 : bool
947 {
948 $sorting = new ilContainerSortingSettings($this->getId());
949 $sorting->setSortMode($this->getOrderType());
950 $sorting->update();
951
952 $this->updateMetaData();
953 $this->updateSettings();
954 parent::update();
955
956 $this->app_event_handler->raise(
957 'Modules/Course',
958 'update',
959 array('object' => $this,
960 'obj_id' => $this->getId(),
961 'appointments' => $this->prepareAppointments('update')
962 )
963 );
964 return true;
965 }

References ILIAS\Survey\Mode\getId().

+ Here is the call graph for this function:

◆ updateSettings()

ilObjCourse::updateSettings ( )

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

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

References $query, $res, ilCalendarUtil\convertDateToUtcDBTimestamp(), ILIAS\Survey\Mode\getId(), ilObjectActivation\getItem(), IL_CAL_UNIX, ilDBConstants\T_INTEGER, ilDBConstants\T_TEXT, ilDBConstants\T_TIMESTAMP, ilObjectActivation\TIMINGS_ACTIVATION, and ilObjectActivation\TIMINGS_DEACTIVATED.

+ Here is the call graph for this function:

◆ validate()

ilObjCourse::validate ( )

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

846 : bool
847 {
848 $this->setMessage('');
849
851 $this->getSubscriptionStart() > $this->getSubscriptionEnd()) {
852 $this->appendMessage($this->lng->txt("subscription_times_not_valid"));
853 }
855 $this->appendMessage($this->lng->txt("crs_password_required"));
856 }
857 if ($this->isSubscriptionMembershipLimited()) {
858 if ($this->getSubscriptionMinMembers() <= 0 && $this->getSubscriptionMaxMembers() <= 0) {
859 $this->appendMessage($this->lng->txt("crs_max_and_min_members_needed"));
860 }
861 if ($this->getSubscriptionMaxMembers() <= 0 && $this->enabledWaitingList()) {
862 $this->appendMessage($this->lng->txt("crs_max_members_needed"));
863 }
864 if ($this->getSubscriptionMaxMembers() > 0 && $this->getSubscriptionMinMembers() > $this->getSubscriptionMaxMembers()) {
865 $this->appendMessage($this->lng->txt("crs_max_and_min_members_invalid"));
866 }
867 }
868 if (!$this->getTitle() || !$this->getStatusDetermination()) {
869 $this->appendMessage($this->lng->txt('err_check_input'));
870 }
871 if (($this->getCourseStart() && !$this->getCourseEnd()) ||
872 (!$this->getCourseStart() && $this->getCourseEnd()) ||
873 ($this->getCourseStart() && $this->getCourseEnd() && $this->getCourseStart()->get(IL_CAL_UNIX) > $this->getCourseEnd()->get(IL_CAL_UNIX))) {
874 $this->appendMessage($this->lng->txt("crs_course_period_not_valid"));
875 }
876
877 return strlen($this->getMessage()) > 0;
878 }
appendMessage(string $a_message)
setMessage(string $a_message)

References IL_CAL_UNIX, ilCourseConstants\IL_CRS_SUBSCRIPTION_LIMITED, ilCourseConstants\IL_CRS_SUBSCRIPTION_PASSWORD, and ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ validateInfoSettings()

ilObjCourse::validateInfoSettings ( )

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

880 : bool
881 {
882 $error = false;
883 if ($this->getContactEmail()) {
884 $emails = explode(",", $this->getContactEmail());
885
886 foreach ($emails as $email) {
887 $email = trim($email);
889 $this->error->appendMessage($this->lng->txt('contact_email_not_valid') . " '" . $email . "'");
890 $error = true;
891 }
892 }
893 }
894 return !$error;
895 }
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.
if( $orgName !==null) if($spconfig->hasValue('contacts')) $email
Definition: metadata.php:302

References $email, error(), 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 52 of file class.ilObjCourse.php.

◆ $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 81 of file class.ilObjCourse.php.

◆ $auto_notification

bool ilObjCourse::$auto_notification = true
private

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

◆ $contact_consultation

string ilObjCourse::$contact_consultation = ''
private

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

Referenced by getContactConsultation().

◆ $contact_email

string ilObjCourse::$contact_email = ''
private

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

Referenced by getContactEmail().

◆ $contact_name

string ilObjCourse::$contact_name = ''
private

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

Referenced by getContactName().

◆ $contact_phone

string ilObjCourse::$contact_phone = ''
private

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

Referenced by getContactPhone().

◆ $contact_responsibility

string ilObjCourse::$contact_responsibility = ''
private

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

Referenced by getContactResponsibility().

◆ $course_logger

ilLogger ilObjCourse::$course_logger
private

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

◆ $course_start_time_indication

bool ilObjCourse::$course_start_time_indication = true
private

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

◆ $crs_end

ilDateTime ilObjCourse::$crs_end = null
private

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

◆ $crs_start

ilDateTime ilObjCourse::$crs_start = null
private

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

◆ $crs_start_time_indication

bool ilObjCourse::$crs_start_time_indication = false
private

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

◆ $enablemap

bool ilObjCourse::$enablemap = false
private

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

◆ $important

string ilObjCourse::$important = ''
private

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

Referenced by getImportantInformation().

◆ $latitude

string ilObjCourse::$latitude = ''
private

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

◆ $leave_end

ilDate ilObjCourse::$leave_end = null
private

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

◆ $locationzoom

int ilObjCourse::$locationzoom = 0
private

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

◆ $longitude

string ilObjCourse::$longitude = ''
private

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

◆ $mail_members

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

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

◆ $member_export

bool ilObjCourse::$member_export = false
private

Definition at line 82 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.

◆ $members_obj

ilCourseParticipants ilObjCourse::$members_obj = null
private

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

◆ $message

string ilObjCourse::$message = ''
private

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

◆ $min_members

int ilObjCourse::$min_members = 0
private

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

◆ $reg_access_code

string ilObjCourse::$reg_access_code = ''
private

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

Referenced by getRegistrationAccessCode().

◆ $reg_access_code_enabled

bool ilObjCourse::$reg_access_code_enabled = false
private

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

Referenced by isRegistrationAccessCodeEnabled().

◆ $session_limit

int ilObjCourse::$session_limit = 0
private

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

Referenced by isSessionLimitEnabled().

◆ $session_next

int ilObjCourse::$session_next = -1
private

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

Referenced by getNumberOfNextSessions().

◆ $session_prev

int ilObjCourse::$session_prev = -1
private

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

Referenced by getNumberOfPreviousSessions().

◆ $show_members

bool ilObjCourse::$show_members = true
private

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

◆ $status_dt

int ilObjCourse::$status_dt = 0
private

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

◆ $subscription_end

int ilObjCourse::$subscription_end = 0
private

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

Referenced by getSubscriptionEnd().

◆ $subscription_limitation_type

int ilObjCourse::$subscription_limitation_type = 0
private

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

Referenced by getSubscriptionLimitationType().

◆ $subscription_max_members

int ilObjCourse::$subscription_max_members = 0
private

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

Referenced by getSubscriptionMaxMembers().

◆ $subscription_membership_limitation

bool ilObjCourse::$subscription_membership_limitation = false
private

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

Referenced by isSubscriptionMembershipLimited().

◆ $subscription_password

string ilObjCourse::$subscription_password = ''
private

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

Referenced by getSubscriptionPassword().

◆ $subscription_start

int ilObjCourse::$subscription_start = 0
private

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

Referenced by getSubscriptionStart().

◆ $subscription_type

int ilObjCourse::$subscription_type = 0
private

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

◆ $syllabus

string ilObjCourse::$syllabus = ''
private

Definition at line 58 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 83 of file class.ilObjCourse.php.

◆ $view_mode

int ilObjCourse::$view_mode = 0
private

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

◆ $waiting_list

bool ilObjCourse::$waiting_list = false
private

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

Referenced by enabledWaitingList().

◆ $waiting_list_obj

ilCourseWaitingList ilObjCourse::$waiting_list_obj = null
private

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

◆ CAL_ACTIVATION_END

const ilObjCourse::CAL_ACTIVATION_END = 4

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

◆ CAL_ACTIVATION_START

const ilObjCourse::CAL_ACTIVATION_START = 3

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

◆ CAL_COURSE_END

const ilObjCourse::CAL_COURSE_END = 6

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

◆ CAL_COURSE_START

const ilObjCourse::CAL_COURSE_START = 5

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

◆ CAL_COURSE_TIMING_END

◆ CAL_COURSE_TIMING_START

◆ CAL_REG_END

const ilObjCourse::CAL_REG_END = 2

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

◆ CAL_REG_START

const ilObjCourse::CAL_REG_START = 1

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

◆ STATUS_DETERMINATION_LP

◆ STATUS_DETERMINATION_MANUAL

const ilObjCourse::STATUS_DETERMINATION_MANUAL = 2

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

Referenced by ilObjCourseGUI\initEditForm().


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