ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
ilObjGroup Class Reference

Class ilObjGroup. More...

+ Inheritance diagram for ilObjGroup:
+ Collaboration diagram for ilObjGroup:

Public Member Functions

 __construct ($a_id=0, $a_call_by_reference=true)
 Constructor public. More...
 
 setInformation ($a_information)
 set information More...
 
 getInformation ()
 get Information More...
 
 setGroupType ($a_type)
 set group type More...
 
 getGroupType ()
 get group type More...
 
 setRegistrationType ($a_type)
 set registration type More...
 
 getRegistrationType ()
 get registration type More...
 
 isRegistrationEnabled ()
 is registration enabled More...
 
 enableUnlimitedRegistration ($a_status)
 enable unlimited registration More...
 
 isRegistrationUnlimited ()
 is registration unlimited More...
 
 setRegistrationStart ($a_start)
 set registration start More...
 
 getRegistrationStart ()
 get registration start More...
 
 setRegistrationEnd ($a_end)
 set registration end More...
 
 getRegistrationEnd ()
 get registration end More...
 
 setPassword ($a_pass)
 set password More...
 
 getPassword ()
 get password More...
 
 enableMembershipLimitation ($a_status)
 enable max member limitation More...
 
 isMembershipLimited ()
 is max member limited More...
 
 setMinMembers ($a_max)
 set min members More...
 
 getMinMembers ()
 get min members More...
 
 setMaxMembers ($a_max)
 set max members More...
 
 getMaxMembers ()
 get max members More...
 
 enableWaitingList ($a_status)
 enable waiting list More...
 
 isWaitingListEnabled ()
 is waiting list enabled More...
 
 setWaitingListAutoFill ($a_value)
 
 hasWaitingListAutoFill ()
 
 setLatitude ($a_latitude)
 Set Latitude. More...
 
 getLatitude ()
 Get Latitude. More...
 
 setLongitude ($a_longitude)
 Set Longitude. More...
 
 getLongitude ()
 Get Longitude. More...
 
 setLocationZoom ($a_locationzoom)
 Set LocationZoom. More...
 
 getLocationZoom ()
 Get LocationZoom. More...
 
 setEnableGroupMap ($a_enablemap)
 Set Enable Group Map. More...
 
 getEnableMap ()
 Type independent wrapper. More...
 
 getEnableGroupMap ()
 Get Enable Group Map. More...
 
 getRegistrationAccessCode ()
 get access code More...
 
 setRegistrationAccessCode ($a_code)
 Set refistration access code. More...
 
 isRegistrationAccessCodeEnabled ()
 Check if access code is enabled. More...
 
 enableRegistrationAccessCode ($a_status)
 En/disable registration access code. More...
 
 setMailToMembersType ($a_type)
 Set mail to members type. More...
 
 getMailToMembersType ()
 Get mail to members type. More...
 
 setCancellationEnd (ilDate $a_value=null)
 
 getCancellationEnd ()
 
 setShowMembers ($a_status)
 
 getShowMembers ()
 
 setAutoNotification (bool $a_status)
 
 getAutoNotification ()
 
 setPeriod (\ilDateTime $start=null, \ilDateTime $end=null)
 
 getStartTimeIndication ()
 
 getStart ()
 
 getEnd ()
 
 enableSessionLimit (bool $a_status)
 en/disable limited number of sessions More...
 
 isSessionLimitEnabled ()
 
 setNumberOfPreviousSessions (int $a_num)
 Set number of previous sessions. More...
 
 getNumberOfPreviousSessions ()
 Get number of previous sessions. More...
 
 setNumberOfNextSessions (int $a_num)
 Set number of upcoming sessions. More...
 
 getNumberOfNextSessions ()
 Get number of upcomoing sessions. More...
 
 validate ()
 validate group settings More...
 
 create ()
 Create group. More...
 
 update ()
 Update group. More...
 
 delete ()
 delete group and all related data More...
 
 read ()
 Read group. More...
 
 cloneDependencies ($a_target_id, $a_copy_id)
 Clone object dependencies (crs items, preconditions) More...
 
 cloneAutoGeneratedRoles ($new_obj)
 Clone group admin and member role permissions. More...
 
 join ($a_user_id, $a_mem_role="")
 join Group, assigns user to role private More...
 
 getDefaultMemberRole ()
 returns object id of created default member role public More...
 
 getDefaultAdminRole ()
 returns object id of created default adminstrator role public More...
 
 addMember ($a_user_id, $a_mem_role)
 add Member to Group public More...
 
 leaveGroup ()
 is called when a member decides to leave group public More...
 
 leave ($a_user_id)
 deassign member from group role private More...
 
 getGroupMemberIds ()
 get all group Member ids regardless of role public More...
 
 getGroupMemberData ($a_mem_ids, $active=1)
 get all group Members regardless of group role. More...
 
 getCountMembers ()
 
 getGroupAdminIds ($a_grpId="")
 get Group Admin Id public More...
 
 getDefaultGroupRoles ($a_grp_id="")
 get default group roles, returns the defaultlike create roles il_grp_member, il_grp_admin public More...
 
 getLocalGroupRoles ($a_translate=false)
 get ALL local roles of group, also those created and defined afterwards only fetch data once from database. More...
 
 getGrpStatusClosedTemplateId ()
 get group status closed template public More...
 
 getGrpStatusOpenTemplateId ()
 get group status open template public More...
 
 updateGroupType ($a_group_type=GRP_TYPE_OPEN)
 Change group type. More...
 
 setGroupStatus ($a_status)
 Set group status. More...
 
 getGroupStatus ()
 get group status More...
 
 readGroupStatus ()
 Read group type. More...
 
 getMemberRoles ($a_user_id)
 get group member status public More...
 
 isAdmin ($a_userId)
 is Admin public More...
 
 initDefaultRoles ()
 init default roles settings public More...
 
 setParentRolePermissions ($a_parent_ref)
 This method is called before "initDefaultRoles". More...
 
 applyDidacticTemplate ($a_tpl_id)
 Apply template. More...
 
 _isMember ($a_user_id, $a_ref_id, $a_field='')
 
 _getMembers ($a_obj_id)
 
 getViewMode ()
 Get effective container view mode. More...
 
 setViewMode ($a_view_mode)
 Set group view mode. More...
 
 addAdditionalSubItemInformation (&$a_item_data)
 Add additional information to sub item, e.g. More...
 
 getMessage ()
 
 setMessage ($a_message)
 
 appendMessage ($a_message)
 
 getMembersObject ()
 Get members objects. More...
 
 register ($a_user_id, $a_role=IL_GRP_MEMBER, $a_force_registration=false)
 
 handleAutoFill ()
 
 getSubItems ( $a_admin_panel_enabled=false, $a_include_side_block=false, $a_get_single=0, \ilContainerUserFilter $container_user_filter=null)
 Get subitems of container. More...
 
- Public Member Functions inherited from ilObject
 __construct ($a_id=0, $a_reference=true)
 Constructor public. More...
 
 withReferences ()
 determines wehter objects are referenced or not (got ref ids or not) More...
 
 read ()
 read object data from db into object More...
 
 getId ()
 get object id public More...
 
 setId ($a_id)
 set object id public More...
 
 setRefId ($a_id)
 set reference id public More...
 
 getRefId ()
 get reference id public More...
 
 getType ()
 get object type public More...
 
 setType ($a_type)
 set object type public More...
 
 getPresentationTitle ()
 get presentation title Normally same as title Overwritten for sessions More...
 
 getTitle ()
 get object title public More...
 
 getUntranslatedTitle ()
 get untranslated object title public More...
 
 setTitle ($a_title)
 set object title More...
 
 getDescription ()
 get object description More...
 
 setDescription ($a_desc)
 set object description More...
 
 getLongDescription ()
 get object long description (stored in object_description) More...
 
 getImportId ()
 get import id More...
 
 setImportId ($a_import_id)
 set import id More...
 
 setOfflineStatus ($a_status)
 Set offline status. More...
 
 getOfflineStatus ()
 Get offline status. More...
 
 supportsOfflineHandling ()
 Check whether object supports offline handling. More...
 
 getOwner ()
 get object owner More...
 
 getOwnerName ()
 
 setOwner ($a_owner)
 set object owner More...
 
 getCreateDate ()
 get create date public More...
 
 getLastUpdateDate ()
 get last update date public More...
 
 getDiskUsage ()
 Gets the disk usage of the object in bytes. More...
 
 create ()
 create More...
 
 update ()
 update object in db More...
 
 MDUpdateListener ($a_element)
 Meta data update listener. More...
 
 createMetaData ()
 create meta data entry More...
 
 updateMetaData ()
 update meta data entry More...
 
 deleteMetaData ()
 delete meta data entry More...
 
 updateOwner ()
 update owner of object in db More...
 
 putInTree ($a_parent_ref)
 maybe this method should be in tree object!? More...
 
 setPermissions ($a_parent_ref)
 set permissions of object More...
 
 setParentRolePermissions ($a_parent_ref)
 Initialize the permissions of parent roles (local roles of categories, global roles...) This method is overwritten in e.g courses, groups for building permission intersections with non_member templates. More...
 
 createReference ()
 creates reference for object More...
 
 countReferences ()
 count references of object More...
 
 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 If you want to setup default local roles you MUST overwrite this method in derived object classes (see ilObjForum for an example) public More...
 
 applyDidacticTemplate ($a_tpl_id)
 Apply template. More...
 
 setRegisterMode ($a_bool)
 
 isUserRegistered ($a_user_id=0)
 
 requireRegistration ()
 
 getXMLZip ()
 
 getHTMLDirectory ()
 
 appendCopyInfo ($a_target_id, $a_copy_id)
 Prepend Copy info if object with same name exists in that container. More...
 
 cloneDependencies ($a_target_id, $a_copy_id)
 Clone object dependencies. More...
 
 cloneMetaData ($target_obj)
 Copy meta data. More...
 
 getPossibleSubObjects ($a_filter=true)
 get all possible subobjects of this type the object can decide which types of subobjects are possible jut in time overwrite if the decision distinguish from standard model More...
 
- Public Member Functions inherited from ilContainer
 __construct ($a_id=0, $a_reference=true)
 
 getObjectTranslation ()
 Get object translation. More...
 
 setObjectTranslation (ilObjectTranslation $obj_trans)
 Get object translation. More...
 
 createContainerDirectory ()
 Create directory for the container. More...
 
 getContainerDirectory ()
 Get the container directory. More...
 
 setHiddenFilesFound ($a_hiddenfilesfound)
 Set Found hidden files (set by getSubItems). More...
 
 getHiddenFilesFound ()
 Get Found hidden files (set by getSubItems). More...
 
 getStyleSheetId ()
 get ID of assigned style sheet object More...
 
 setStyleSheetId ($a_style_id)
 set ID of assigned style sheet object More...
 
 setNewsTimeline ($a_val)
 Set news timeline. More...
 
 getNewsTimeline ()
 Get news timeline. More...
 
 setNewsTimelineAutoEntries ($a_val)
 Set news timeline auto entries. More...
 
 getNewsTimelineAutoEntries ()
 Get news timeline auto entries. More...
 
 setNewsTimelineLandingPage ($a_val)
 Set news timline is landing page. More...
 
 getNewsTimelineLandingPage ()
 Get news timline is landing page. More...
 
 isNewsTimelineEffective ()
 Is news timeline effective? More...
 
 isNewsTimelineLandingPageEffective ()
 Is news timeline landing page effective? More...
 
 setNewsBlockActivated ($a_val)
 Set news block activated. More...
 
 getNewsBlockActivated ()
 Get news block activated. More...
 
 setUseNews ($a_val)
 Set use news. More...
 
 getUseNews ()
 Get use news. More...
 
 cloneDependencies ($a_target_id, $a_copy_id)
 Clone object dependencies (container sorting) More...
 
 cloneAllObject ($session_id, $client_id, $new_type, $ref_id, $clone_source, $options, $soap_call=false, $a_submode=1)
 clone all objects according to this container More...
 
 delete ()
 delete category and all related data More...
 
 getViewMode ()
 Get container view mode. More...
 
 getOrderType ()
 Get order type default implementation. More...
 
 setOrderType ($a_value)
 
 isClassificationFilterActive ()
 Is classification filter active? More...
 
 filteredSubtree ()
 Note grp/crs currently allow to filter in their whole subtrees Catetories only their direct childs. More...
 
 getSubItems ( $a_admin_panel_enabled=false, $a_include_side_block=false, $a_get_single=0, \ilContainerUserFilter $container_user_filter=null)
 Get subitems of container. More...
 
 gotItems ()
 Check whether we got any items. More...
 
 addAdditionalSubItemInformation (&$object)
 Add additional information to sub item, e.g. More...
 
 getGroupedObjTypes ()
 Get grouped repository object types. More...
 
 enablePageEditing ()
 Check whether page editing is allowed for container. More...
 
 create ()
 Create. More...
 
 putInTree ($a_parent_ref)
 
 update ()
 Update. More...
 
 read ()
 read More...
 
 readContainerSettings ()
 Read container settings. More...
 
 removeTranslations ()
 Remove all translations of container. More...
 
 deleteTranslation ($a_lang)
 Delete translation. More...
 
 addTranslation ($a_title, $a_desc, $a_lang, $a_lang_default)
 Add translation. More...
 
- Public Member Functions inherited from ilMembershipRegistrationCodes
 register ($a_user_id)
 Register an user. More...
 

Static Public Member Functions

static lookupGroupTye ($a_id)
 Lookup group type. More...
 
static lookupGroupStatusTemplateId ($a_obj_id)
 $ilDB $ilDB More...
 
static _lookupIdByTitle ($a_title)
 
static lookupViewMode ($a_obj_id)
 lookup view mode $ilDB More...
 
static translateViewMode ($a_obj_id, $a_view_mode, $a_ref_id=null)
 translate view mode More...
 
static lookupObjectsByCode ($a_code)
 
static mayLeave ($a_group_id, $a_user_id=null, &$a_date=null)
 
static findGroupsWithNotEnoughMembers ()
 Minimum members check $ilDB $ilDB. More...
 
static lookupShowMembersEnabled (int $a_obj_id)
 
- Static Public Member Functions inherited from ilObject
static _lookupObjIdByImportId ($a_import_id)
 
static _lookupImportId ($a_obj_id)
 
static _lookupOwnerName ($a_owner_id)
 lookup owner name for owner id More...
 
static _getIdForImportId ($a_import_id)
 get current object id for import id (static) More...
 
static _getAllReferences ($a_id)
 get all reference ids of object More...
 
static _lookupTitle ($a_id)
 lookup object title More...
 
static lookupOfflineStatus ($a_obj_id)
 Lookup offline status using objectDataCache. More...
 
static _lookupOwner ($a_id)
 lookup object owner More...
 
static _getIdsForTitle ($title, $type='', $partialmatch=false)
 
static _lookupDescription ($a_id)
 lookup object description More...
 
static _lookupLastUpdate ($a_id, $a_as_string=false)
 lookup last update More...
 
static _getLastUpdateOfObjects ($a_objs)
 Get last update for a set of media objects. More...
 
static _lookupObjId ($a_id)
 
static _setDeletedDate ($a_ref_id, $a_deleted_by)
 
static setDeletedDates ($a_ref_ids, $a_user_id)
 Set deleted date. More...
 
static _resetDeletedDate ($a_ref_id)
 only called in ilObjectGUI::insertSavedNodes More...
 
static _lookupDeletedDate ($a_ref_id)
 only called in ilObjectGUI::insertSavedNodes More...
 
static _writeTitle ($a_obj_id, $a_title)
 write title to db (static) More...
 
static _writeDescription ($a_obj_id, $a_desc)
 write description to db (static) More...
 
static _writeImportId ($a_obj_id, $a_import_id)
 write import id to db (static) More...
 
static _lookupType ($a_id, $a_reference=false)
 lookup object type More...
 
static _isInTrash ($a_ref_id)
 checks wether object is in trash More...
 
static _hasUntrashedReference ($a_obj_id)
 checks wether an object has at least one reference that is not in trash More...
 
static _lookupObjectId ($a_ref_id)
 lookup object id More...
 
static _getObjectsDataForType ($a_type, $a_omit_trash=false)
 get all objects of a certain type More...
 
static _exists ($a_id, $a_reference=false, $a_type=null)
 checks if an object exists in object_data More...
 
static _getObjectsByType ($a_obj_type="", $a_owner="")
 Get objects by type. More...
 
static _prepareCloneSelection ($a_ref_ids, $new_type, $show_path=true)
 Prepare copy wizard object selection. More...
 
static _getIcon ( $a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
 Get icon for repository item. More...
 
static collectDeletionDependencies (&$deps, $a_ref_id, $a_obj_id, $a_type, $a_depth=0)
 Collect deletion dependencies. More...
 
static getDeletionDependencies ($a_obj_id)
 Get deletion dependencies. More...
 
static getLongDescriptions (array $a_obj_ids)
 Get long description data. More...
 
static getAllOwnedRepositoryObjects ($a_user_id)
 Get all ids of objects user owns. More...
 
static fixMissingTitles ($a_type, array &$a_obj_title_map)
 Try to fix missing object titles. More...
 
static _lookupCreationDate ($a_id)
 Lookup creation date. More...
 
static hasAutoRating ($a_type, $a_ref_id)
 Check if auto rating is active for parent group/course. More...
 
- Static Public Member Functions inherited from ilContainer
static _getContainerDirectory ($a_id)
 Get the container directory. More...
 
static _lookupContainerSetting ($a_id, $a_keyword, $a_default_value=null)
 Lookup a container setting. More...
 
static _writeContainerSetting ($a_id, $a_keyword, $a_value)
 
static _getContainerSettings ($a_id)
 
static _deleteContainerSettings ($a_id, $a_keyword=null, $a_keyword_like=false)
 
static _exportContainerSettings (ilXmlWriter $a_xml, $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...
 

Data Fields

const CAL_REG_START = 1
 
const CAL_REG_END = 2
 
const CAL_START = 3
 
const CAL_END = 4
 
const GRP_MEMBER = 1
 
const GRP_ADMIN = 2
 
const ERR_MISSING_TITLE = 'msg_no_title'
 
const ERR_MISSING_GROUP_TYPE = 'grp_missing_grp_type'
 
const ERR_MISSING_PASSWORD = 'grp_missing_password'
 
const ERR_WRONG_MAX_MEMBERS = 'grp_wrong_max_members'
 
const ERR_WRONG_REG_TIME_LIMIT = 'grp_wrong_reg_time_limit'
 
const ERR_MISSING_MIN_MAX_MEMBERS = 'grp_wrong_min_max_members'
 
const ERR_WRONG_MIN_MAX_MEMBERS = 'grp_max_and_min_members_invalid'
 
const ERR_WRONG_REGISTRATION_LIMITED = 'grp_err_registration_limited'
 
const MAIL_ALLOWED_ALL = 1
 
const MAIL_ALLOWED_TUTORS = 2
 
 $SHOW_MEMBERS_ENABLED = 1
 
 $SHOW_MEMBERS_DISABLED = 0
 
 $members_obj
 
 $file_obj = null
 Group file object for handling of export files. More...
 
 $m_grpStatus
 
 $m_roleMemberId
 
 $m_roleAdminId
 
- Data Fields inherited from ilObject
const TITLE_LENGTH = 255
 max length of object title More...
 
const DESC_LENGTH = 128
 
 $lng
 
 $id
 
 $ref_id
 
 $type
 
 $title
 
 $untranslatedTitle
 
 $desc
 
 $long_desc
 
 $owner
 
 $create_date
 
 $last_update
 
 $import_id
 
 $register = false
 
 $referenced
 
 $objectList
 
 $max_title
 
 $max_desc
 
 $add_dots
 
- 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
 

Protected Member Functions

 toggleStartTimeIndication (bool $time_indication)
 
 setStart (ilDateTime $a_value=null)
 
 setEnd (ilDateTime $a_value=null)
 
 prepareAppointments ($a_mode='create')
 Prepare calendar appointments. More...
 
 initParticipants ()
 init participants object More...
 
- Protected Member Functions inherited from ilContainer
 getInitialSubitems ()
 Get initial subitems. More...
 
 applyContainerUserFilter ($objects, ilContainerUserFilter $container_user_filter=null)
 Apply container user filter on objects. More...
 
 legacyOnlineFilter ($obj_ids, $objects, $val)
 Legacy online filter. More...
 

Protected Attributes

 $information
 
 $group_type = null
 
 $reg_type = GRP_REGISTRATION_DIRECT
 
 $reg_enabled = true
 
 $reg_unlimited = true
 
 $reg_start = null
 
 $reg_end = null
 
 $reg_password = ''
 
 $reg_membership_limitation = false
 
 $reg_min_members = 0
 
 $reg_max_members = 0
 
 $waiting_list = false
 
 $auto_fill_from_waiting
 
 $leave_end
 
 $show_members = 1
 
 $auto_notification = true
 
 $grp_start_time_indication = false
 
 $start = null
 
 $end = null
 
- Protected Attributes inherited from ilObject
 $objDefinition
 
 $db
 
 $log
 
 $error
 
 $tree
 
 $app_event_handler
 
 $rbacadmin
 
 $rbacreview
 
- Protected Attributes inherited from ilContainer
 $news
 
 $db
 
 $log
 
 $access
 
 $error
 
 $rbacsystem
 
 $tree
 
 $user
 
 $obj_definition
 
 $order_type = 0
 
 $hiddenfilesfound = false
 
 $news_timeline = false
 
 $news_timeline_auto_entries = false
 
 $setting
 
 $obj_trans = null
 
 $recommended_content_manager
 

Private Attributes

 $session_limit = 0
 
 $session_prev = -1
 
 $session_next = -1
 
 $latitude = ''
 
 $longitude = ''
 
 $locationzoom = 0
 
 $enablemap = 0
 
 $reg_access_code = ''
 
 $reg_access_code_enabled = false
 
 $view_mode = ilContainer::VIEW_DEFAULT
 
 $mail_members = self::MAIL_ALLOWED_ALL
 

Additional Inherited Members

- Static Public Attributes inherited from ilContainer
static $data_preloaded = false
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilObjGroup::__construct (   $a_id = 0,
  $a_call_by_reference = true 
)

Constructor public.

Parameters
integerreference_id or object_id
booleantreat the id as reference_id (true) or object_id (false)

Definition at line 137 of file class.ilObjGroup.php.

References $DIC, ilContainer\$tree, ILIAS\GlobalScreen\Provider\__construct(), and ilObject\setRegisterMode().

138  {
139  global $DIC;
140 
141  $tree = $DIC['tree'];
142 
143  $this->tree = &$tree;
144 
145  $this->type = "grp";
146  parent::__construct($a_id, $a_call_by_reference);
147  $this->setRegisterMode(true); // ???
148  }
global $DIC
Definition: goto.php:24
__construct(Container $dic, ilPlugin $plugin)
setRegisterMode($a_bool)
+ Here is the call graph for this function:

Member Function Documentation

◆ _getMembers()

ilObjGroup::_getMembers (   $a_obj_id)

Definition at line 1792 of file class.ilObjGroup.php.

References $DIC, ilObject\$rbacreview, ilObject\$ref_id, and ilObject\_getAllReferences().

Referenced by _isMember().

1793  {
1794  global $DIC;
1795 
1796  $rbacreview = $DIC['rbacreview'];
1797 
1798  // get reference
1799  $ref_ids = ilObject::_getAllReferences($a_obj_id);
1800  $ref_id = current($ref_ids);
1801 
1802  $local_roles = $rbacreview->getRolesOfRoleFolder($ref_id, false);
1803 
1804  $users = array();
1805  foreach ($local_roles as $role_id) {
1806  $users = array_merge($users, $rbacreview->assignedUsers($role_id));
1807  }
1808 
1809  return array_unique($users);
1810  }
static _getAllReferences($a_id)
get all reference ids of object
global $DIC
Definition: goto.php:24
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _isMember()

ilObjGroup::_isMember (   $a_user_id,
  $a_ref_id,
  $a_field = '' 
)

Definition at line 1743 of file class.ilObjGroup.php.

References $DIC, $ilDB, $query, ilObject\$rbacreview, $res, _getMembers(), ilObjectFactory\getInstanceByObjId(), and ilUtil\quoteArray().

Referenced by ilObjCourseGrouping\_checkGroupingDependencies().

1744  {
1745  global $DIC;
1746 
1747  $rbacreview = $DIC['rbacreview'];
1748  $ilObjDataCache = $DIC['ilObjDataCache'];
1749  $ilDB = $DIC['ilDB'];
1750 
1751  $local_roles = $rbacreview->getRolesOfRoleFolder($a_ref_id, false);
1752  $user_roles = $rbacreview->assignedRoles($a_user_id);
1753 
1754  // Used for membership limitations -> check membership by given field
1755  if ($a_field) {
1756  include_once './Services/User/classes/class.ilObjUser.php';
1757 
1758  $tmp_user = &ilObjectFactory::getInstanceByObjId($a_user_id);
1759  switch ($a_field) {
1760  case 'login':
1761  $and = "AND login = '" . $tmp_user->getLogin() . "' ";
1762  break;
1763  case 'email':
1764  $and = "AND email = '" . $tmp_user->getEmail() . "' ";
1765  break;
1766  case 'matriculation':
1767  $and = "AND matriculation = '" . $tmp_user->getMatriculation() . "' ";
1768  break;
1769 
1770  default:
1771  $and = "AND usr_id = '" . $a_user_id . "'";
1772  break;
1773  }
1774  if (!$members = ilObjGroup::_getMembers($ilObjDataCache->lookupObjId($a_ref_id))) {
1775  return false;
1776  }
1777  $query = "SELECT * FROM usr_data as ud " .
1778  "WHERE usr_id IN (" . implode(",", ilUtil::quoteArray($members)) . ") " .
1779  $and;
1780  $res = $ilDB->query($query);
1781 
1782  return $res->numRows() ? true : false;
1783  }
1784 
1785  if (!array_intersect($local_roles, $user_roles)) {
1786  return false;
1787  }
1788 
1789  return true;
1790  }
_getMembers($a_obj_id)
foreach($_POST as $key=> $value) $res
global $DIC
Definition: goto.php:24
$query
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
static quoteArray($a_array)
Quotes all members of an array for usage in DB query statement.
global $ilDB
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _lookupIdByTitle()

static ilObjGroup::_lookupIdByTitle (   $a_title)
static

Definition at line 1727 of file class.ilObjGroup.php.

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

Referenced by ilMailAddressTypeHelperImpl\getGroupObjIdByTitle().

1728  {
1729  global $DIC;
1730 
1731  $ilDB = $DIC['ilDB'];
1732 
1733  $query = "SELECT * FROM object_data WHERE title = " .
1734  $ilDB->quote($a_title, 'text') . " AND type = 'grp'";
1735  $res = $ilDB->query($query);
1736  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
1737  return $row->obj_id;
1738  }
1739  return 0;
1740  }
foreach($_POST as $key=> $value) $res
global $DIC
Definition: goto.php:24
$query
global $ilDB
+ Here is the caller graph for this function:

◆ addAdditionalSubItemInformation()

ilObjGroup::addAdditionalSubItemInformation ( $a_item_data)

Add additional information to sub item, e.g.

used in courses for timings information etc.

Definition at line 1920 of file class.ilObjGroup.php.

References ilObjectActivation\addAdditionalSubItemInformation().

1921  {
1922  include_once './Services/Object/classes/class.ilObjectActivation.php';
1924  }
static addAdditionalSubItemInformation(array &$a_item)
Parse item data for list entries.
+ Here is the call graph for this function:

◆ addMember()

ilObjGroup::addMember (   $a_user_id,
  $a_mem_role 
)

add Member to Group public

Parameters
integeruser_id
integermember role_id of local group_role

Definition at line 1223 of file class.ilObjGroup.php.

References $DIC, ilObject\$rbacadmin, and join().

1224  {
1225  global $DIC;
1226 
1227  $rbacadmin = $DIC['rbacadmin'];
1228 
1229  if (isset($a_user_id) && isset($a_mem_role)) {
1230  $this->join($a_user_id, $a_mem_role);
1231  return true;
1232  } else {
1233  $this->ilias->raiseError(get_class($this) . "::addMember(): Missing parameters !", $this->ilias->error_obj->WARNING);
1234  return false;
1235  }
1236  }
join($a_user_id, $a_mem_role="")
join Group, assigns user to role private
global $DIC
Definition: goto.php:24
redirection script todo: (a better solution should control the processing via a xml file) ...
+ Here is the call graph for this function:

◆ appendMessage()

ilObjGroup::appendMessage (   $a_message)

Definition at line 1934 of file class.ilObjGroup.php.

References getMessage().

1935  {
1936  if ($this->getMessage()) {
1937  $this->message .= "<br /> ";
1938  }
1939  $this->message .= $a_message;
1940  }
+ Here is the call graph for this function:

◆ applyDidacticTemplate()

ilObjGroup::applyDidacticTemplate (   $a_tpl_id)

Apply template.

Parameters
int$a_tpl_id

Definition at line 1716 of file class.ilObjGroup.php.

References ilObject\getRefId(), and setParentRolePermissions().

Referenced by updateGroupType().

1717  {
1718  parent::applyDidacticTemplate($a_tpl_id);
1719 
1720  if (!$a_tpl_id) {
1721  // init default type
1722  $this->setParentRolePermissions($this->getRefId());
1723  }
1724  }
setParentRolePermissions($a_parent_ref)
This method is called before "initDefaultRoles".
getRefId()
get reference id public
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cloneAutoGeneratedRoles()

ilObjGroup::cloneAutoGeneratedRoles (   $new_obj)

Clone group admin and member role permissions.

public

Parameters
objectnew group object

Definition at line 1148 of file class.ilObjGroup.php.

References $DIC, ilObject\$rbacadmin, ilObject\$rbacreview, getDefaultAdminRole(), getDefaultMemberRole(), ilLoggerFactory\getLogger(), and ilObject\getRefId().

Referenced by read().

1149  {
1150  global $DIC;
1151 
1152  $rbacadmin = $DIC['rbacadmin'];
1153  $rbacreview = $DIC['rbacreview'];
1154 
1155  $admin = $this->getDefaultAdminRole();
1156  $new_admin = $new_obj->getDefaultAdminRole();
1157  if (!$admin || !$new_admin || !$this->getRefId() || !$new_obj->getRefId()) {
1158  ilLoggerFactory::getLogger('grp')->warning('Error cloning auto generated rol: il_grp_admin');
1159  }
1160  $rbacadmin->copyRolePermissions($admin, $this->getRefId(), $new_obj->getRefId(), $new_admin, true);
1161  ilLoggerFactory::getLogger('grp')->info('Finished copying of role il_grp_admin.');
1162 
1163  $member = $this->getDefaultMemberRole();
1164  $new_member = $new_obj->getDefaultMemberRole();
1165  if (!$member || !$new_member) {
1166  ilLoggerFactory::getLogger('grp')->warning('Error cloning auto generated rol: il_grp_member');
1167  }
1168  $rbacadmin->copyRolePermissions($member, $this->getRefId(), $new_obj->getRefId(), $new_member, true);
1169  ilLoggerFactory::getLogger('grp')->info('Finished copying of role il_grp_member.');
1170  }
getDefaultAdminRole()
returns object id of created default adminstrator role public
getDefaultMemberRole()
returns object id of created default member role public
global $DIC
Definition: goto.php:24
getRefId()
get reference id public
static getLogger($a_component_id)
Get component logger.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cloneDependencies()

ilObjGroup::cloneDependencies (   $a_target_id,
  $a_copy_id 
)

Clone object dependencies (crs items, preconditions)

public

Parameters
inttarget ref id of new course
intcopy id

Definition at line 1120 of file class.ilObjGroup.php.

References $DIC, ilContainer\$tree, ilObjCourseGrouping\_getGroupings(), ilObjectActivation\cloneDependencies(), ilObject\getId(), ilLoggerFactory\getLogger(), and ilObject\getRefId().

1121  {
1122  global $DIC;
1123 
1124  $tree = $DIC['tree'];
1125 
1126  parent::cloneDependencies($a_target_id, $a_copy_id);
1127 
1128  include_once('Services/Object/classes/class.ilObjectActivation.php');
1129  ilObjectActivation::cloneDependencies($this->getRefId(), $a_target_id, $a_copy_id);
1130 
1131  // clone membership limitation
1132  foreach (\ilObjCourseGrouping::_getGroupings($this->getId()) as $grouping_id) {
1133  \ilLoggerFactory::getLogger('grp')->info('Handling grouping id: ' . $grouping_id);
1134  $grouping = new \ilObjCourseGrouping($grouping_id);
1135  $grouping->cloneGrouping($a_target_id, $a_copy_id);
1136  }
1137 
1138  return true;
1139  }
getId()
get object id public
global $DIC
Definition: goto.php:24
static cloneDependencies($a_ref_id, $a_target_id, $a_copy_id)
Clone dependencies.
getRefId()
get reference id public
static getLogger($a_component_id)
Get component logger.
static _getGroupings($a_course_id)
+ Here is the call graph for this function:

◆ create()

ilObjGroup::create ( )

Create group.

Definition at line 803 of file class.ilObjGroup.php.

References $DIC, $ilDB, $query, $res, ilObject\createMetaData(), getAutoNotification(), getCancellationEnd(), getEnableGroupMap(), getEnd(), getGroupType(), ilObject\getId(), getInformation(), getLatitude(), getLocationZoom(), getLongitude(), getMailToMembersType(), getMaxMembers(), getMinMembers(), getNumberOfNextSessions(), getNumberOfPreviousSessions(), getPassword(), getRegistrationAccessCode(), getRegistrationEnd(), getRegistrationStart(), getRegistrationType(), getStart(), hasWaitingListAutoFill(), IL_CAL_DATETIME, IL_CAL_UNIX, isMembershipLimited(), isRegistrationAccessCodeEnabled(), isRegistrationEnabled(), isRegistrationUnlimited(), isSessionLimitEnabled(), isWaitingListEnabled(), prepareAppointments(), and ilDBConstants\T_INTEGER.

804  {
805  global $DIC;
806 
807  $ilDB = $DIC['ilDB'];
808  $ilAppEventHandler = $DIC['ilAppEventHandler'];
809 
810  if (!parent::create()) {
811  return false;
812  }
813 
814  if (!$a_upload) {
815  $this->createMetaData();
816  }
817 
818 
819  $query = "INSERT INTO grp_settings (obj_id,information,grp_type,registration_type,registration_enabled," .
820  "registration_unlimited,registration_start,registration_end,registration_password,registration_mem_limit," .
821  "registration_max_members,waiting_list,latitude,longitude,location_zoom,enablemap,reg_ac_enabled,reg_ac,view_mode,mail_members_type," .
822  "leave_end,registration_min_members,auto_wait, grp_start, grp_end, auto_notification, session_limit, session_prev, session_next) " .
823  "VALUES(" .
824  $ilDB->quote($this->getId(), 'integer') . ", " .
825  $ilDB->quote($this->getInformation(), 'text') . ", " .
826  $ilDB->quote((int) $this->getGroupType(), 'integer') . ", " .
827  $ilDB->quote($this->getRegistrationType(), 'integer') . ", " .
828  $ilDB->quote(($this->isRegistrationEnabled() ? 1 : 0), 'integer') . ", " .
829  $ilDB->quote(($this->isRegistrationUnlimited() ? 1 : 0), 'integer') . ", " .
830  $ilDB->quote(($this->getRegistrationStart() && !$this->getRegistrationStart()->isNull()) ? $this->getRegistrationStart()->get(IL_CAL_DATETIME, '') : null, 'timestamp') . ", " .
831  $ilDB->quote(($this->getRegistrationEnd() && !$this->getRegistrationEnd()->isNull()) ? $this->getRegistrationEnd()->get(IL_CAL_DATETIME, '') : null, 'timestamp') . ", " .
832  $ilDB->quote($this->getPassword(), 'text') . ", " .
833  $ilDB->quote((int) $this->isMembershipLimited(), 'integer') . ", " .
834  $ilDB->quote($this->getMaxMembers(), 'integer') . ", " .
835  $ilDB->quote($this->isWaitingListEnabled() ? 1 : 0, 'integer') . ", " .
836  $ilDB->quote($this->getLatitude(), 'text') . ", " .
837  $ilDB->quote($this->getLongitude(), 'text') . ", " .
838  $ilDB->quote($this->getLocationZoom(), 'integer') . ", " .
839  $ilDB->quote((int) $this->getEnableGroupMap(), 'integer') . ", " .
840  $ilDB->quote($this->isRegistrationAccessCodeEnabled(), 'integer') . ', ' .
841  $ilDB->quote($this->getRegistrationAccessCode(), 'text') . ', ' .
842  $ilDB->quote($this->view_mode, 'integer') . ', ' .
843  $ilDB->quote($this->getMailToMembersType(), 'integer') . ', ' .
844  $ilDB->quote(($this->getCancellationEnd() && !$this->getCancellationEnd()->isNull()) ? $this->getCancellationEnd()->get(IL_CAL_UNIX) : null, 'integer') . ', ' .
845  $ilDB->quote($this->getMinMembers(), 'integer') . ', ' .
846  $ilDB->quote($this->hasWaitingListAutoFill(), 'integer') . ', ' .
847  $ilDB->quote($this->getStart() instanceof ilDate ? $this->getStart()->get(IL_CAL_UNIX) : null, 'integer') . ', ' .
848  $ilDB->quote($this->getEnd() instanceof ilDate ? $this->getEnd()->get(IL_CAL_UNIX) : null, 'integer') . ', ' .
849  $ilDB->quote($this->getAutoNotification(), \ilDBConstants::T_INTEGER) . ', ' .
850  $ilDB->quote($this->isSessionLimitEnabled(), ilDBConstants::T_INTEGER) . ', ' .
853  ')';
854  $res = $ilDB->manipulate($query);
855 
856  $ilAppEventHandler->raise(
857  'Modules/Group',
858  'create',
859  array('object' => $this,
860  'obj_id' => $this->getId(),
861  'appointments' => $this->prepareAppointments('create'))
862  );
863 
864  return $this->getId();
865  }
getMaxMembers()
get max members
isRegistrationEnabled()
is registration enabled
getLongitude()
Get Longitude.
isRegistrationUnlimited()
is registration unlimited
const IL_CAL_DATETIME
isMembershipLimited()
is max member limited
getRegistrationType()
get registration type
getRegistrationEnd()
get registration end
createMetaData()
create meta data entry
getLatitude()
Get Latitude.
getRegistrationAccessCode()
get access code
getNumberOfPreviousSessions()
Get number of previous sessions.
const IL_CAL_UNIX
getRegistrationStart()
get registration start
getGroupType()
get group type
Class for single dates.
foreach($_POST as $key=> $value) $res
getId()
get object id public
prepareAppointments($a_mode='create')
Prepare calendar appointments.
global $DIC
Definition: goto.php:24
getLocationZoom()
Get LocationZoom.
$query
getEnableGroupMap()
Get Enable Group Map.
getInformation()
get Information
getMailToMembersType()
Get mail to members type.
getPassword()
get password
isRegistrationAccessCodeEnabled()
Check if access code is enabled.
getNumberOfNextSessions()
Get number of upcomoing sessions.
global $ilDB
getMinMembers()
get min members
isWaitingListEnabled()
is waiting list enabled
+ Here is the call graph for this function:

◆ delete()

ilObjGroup::delete ( )

delete group and all related data

public

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

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

References $DIC, $ilDB, $query, $res, ilParticipants\_deleteAllEntries(), ilObject\deleteMetaData(), ilObject\getId(), and prepareAppointments().

937  {
938  global $DIC;
939 
940  $ilDB = $DIC['ilDB'];
941  $ilAppEventHandler = $DIC['ilAppEventHandler'];
942 
943  // always call parent delete function first!!
944  if (!parent::delete()) {
945  return false;
946  }
947 
948  $this->deleteMetaData();
949 
950  $query = "DELETE FROM grp_settings " .
951  "WHERE obj_id = " . $ilDB->quote($this->getId(), 'integer');
952  $res = $ilDB->manipulate($query);
953 
954  include_once('./Modules/Group/classes/class.ilGroupParticipants.php');
956 
957  $ilAppEventHandler->raise(
958  'Modules/Group',
959  'delete',
960  array('object' => $this,
961  'obj_id' => $this->getId(),
962  'appointments' => $this->prepareAppointments('delete'))
963  );
964 
965 
966  return true;
967  }
static _deleteAllEntries($a_obj_id)
Delete all entries Normally called for course deletion.
foreach($_POST as $key=> $value) $res
getId()
get object id public
prepareAppointments($a_mode='create')
Prepare calendar appointments.
global $DIC
Definition: goto.php:24
$query
global $ilDB
deleteMetaData()
delete meta data entry
+ Here is the call graph for this function:

◆ enableMembershipLimitation()

ilObjGroup::enableMembershipLimitation (   $a_status)

enable max member limitation

public

Parameters
boolstatus
Returns

Definition at line 350 of file class.ilObjGroup.php.

Referenced by read().

351  {
352  $this->reg_membership_limitation = $a_status;
353  }
+ Here is the caller graph for this function:

◆ enableRegistrationAccessCode()

ilObjGroup::enableRegistrationAccessCode (   $a_status)

En/disable registration access code.

Parameters
object$a_status
Returns

Definition at line 566 of file class.ilObjGroup.php.

Referenced by read().

567  {
568  $this->reg_access_code_enabled = $a_status;
569  }
+ Here is the caller graph for this function:

◆ enableSessionLimit()

ilObjGroup::enableSessionLimit ( bool  $a_status)

en/disable limited number of sessions

Returns
Parameters
object$a_status

Definition at line 703 of file class.ilObjGroup.php.

Referenced by read().

704  {
705  $this->session_limit = $a_status;
706  }
+ Here is the caller graph for this function:

◆ enableUnlimitedRegistration()

ilObjGroup::enableUnlimitedRegistration (   $a_status)

enable unlimited registration

public

Parameters
bool
Returns

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

Referenced by read().

259  {
260  $this->reg_unlimited = $a_status;
261  }
+ Here is the caller graph for this function:

◆ enableWaitingList()

ilObjGroup::enableWaitingList (   $a_status)

enable waiting list

public

Parameters
bool
Returns

Definition at line 417 of file class.ilObjGroup.php.

Referenced by read().

418  {
419  $this->waiting_list = $a_status;
420  }
+ Here is the caller graph for this function:

◆ findGroupsWithNotEnoughMembers()

static ilObjGroup::findGroupsWithNotEnoughMembers ( )
static

Minimum members check $ilDB $ilDB.

Returns
array

Definition at line 2193 of file class.ilObjGroup.php.

References $GLOBALS, $ilDB, $res, ilContainer\$tree, ilObject\_getAllReferences(), IL_CAL_DATETIME, IL_CAL_DAY, and IL_CAL_UNIX.

Referenced by ilMembershipCronMinMembers\getGroups().

2194  {
2195  $ilDB = $GLOBALS['DIC']->database();
2196  $tree = $GLOBALS['DIC']->repositoryTree();
2197 
2198  $res = array();
2199 
2200  $now = date("Y-m-d H:i:s");
2201 
2202  $before = new ilDateTime(time(), IL_CAL_UNIX);
2203  $before->increment(IL_CAL_DAY, -1);
2204  $now_date = $before->get(IL_CAL_DATETIME);
2205  $now = $before->get(IL_CAL_UNIX);
2206 
2207  $set = $ilDB->query($q = "SELECT obj_id, registration_min_members" .
2208  " FROM grp_settings" .
2209  " WHERE registration_min_members > " . $ilDB->quote(0, "integer") .
2210  " AND registration_mem_limit = " . $ilDB->quote(1, "integer") . // #17206
2211  " AND ((leave_end IS NOT NULL" .
2212  " AND leave_end < " . $ilDB->quote($now, "integer") . ")" .
2213  " OR (leave_end IS NULL" .
2214  " AND registration_end IS NOT NULL" .
2215  " AND registration_end < " . $ilDB->quote($now_date, "text") . "))" .
2216  " AND (period_start IS NULL OR period_start > " . $ilDB->quote($now, "integer") . ")");
2217  while ($row = $ilDB->fetchAssoc($set)) {
2218  $refs = ilObject::_getAllReferences($row['obj_id']);
2219  $ref = end($refs);
2220 
2221  if ($tree->isDeleted($ref)) {
2222  continue;
2223  }
2224 
2225  $part = new ilGroupParticipants($row["obj_id"]);
2226  $reci = $part->getNotificationRecipients();
2227  if (sizeof($reci)) {
2228  $missing = (int) $row["registration_min_members"] - $part->getCountMembers();
2229  if ($missing > 0) {
2230  $res[$row["obj_id"]] = array($missing, $reci);
2231  }
2232  }
2233  }
2234 
2235  return $res;
2236  }
const IL_CAL_DATETIME
const IL_CAL_UNIX
static _getAllReferences($a_id)
get all reference ids of object
const IL_CAL_DAY
foreach($_POST as $key=> $value) $res
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
Definition: PEAR.php:64
global $ilDB
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getAutoNotification()

ilObjGroup::getAutoNotification ( )
Returns
bool|null

Definition at line 620 of file class.ilObjGroup.php.

References $auto_notification.

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

620  : ?bool
621  {
623  }
+ Here is the caller graph for this function:

◆ getCancellationEnd()

ilObjGroup::getCancellationEnd ( )

Definition at line 595 of file class.ilObjGroup.php.

References $leave_end.

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

596  {
597  return $this->leave_end;
598  }
+ Here is the caller graph for this function:

◆ getCountMembers()

ilObjGroup::getCountMembers ( )

Definition at line 1361 of file class.ilObjGroup.php.

References getGroupMemberIds().

1362  {
1363  return count($this->getGroupMemberIds());
1364  }
getGroupMemberIds()
get all group Member ids regardless of role public
+ Here is the call graph for this function:

◆ getDefaultAdminRole()

ilObjGroup::getDefaultAdminRole ( )

returns object id of created default adminstrator role public

Definition at line 1210 of file class.ilObjGroup.php.

References getLocalGroupRoles(), and ilObject\getRefId().

Referenced by cloneAutoGeneratedRoles().

1211  {
1212  $local_group_Roles = $this->getLocalGroupRoles();
1213 
1214  return $local_group_Roles["il_grp_admin_" . $this->getRefId()];
1215  }
getLocalGroupRoles($a_translate=false)
get ALL local roles of group, also those created and defined afterwards only fetch data once from dat...
getRefId()
get reference id public
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getDefaultGroupRoles()

ilObjGroup::getDefaultGroupRoles (   $a_grp_id = "")

get default group roles, returns the defaultlike create roles il_grp_member, il_grp_admin public

Parameters
returnsthe obj_ids of group specific roles(il_grp_member,il_grp_admin)

Definition at line 1399 of file class.ilObjGroup.php.

References $DIC, ilObject\$rbacadmin, ilObject\$rbacreview, and ilObject\getRefId().

Referenced by getGroupAdminIds(), and isAdmin().

1400  {
1401  global $DIC;
1402 
1403  $rbacadmin = $DIC['rbacadmin'];
1404  $rbacreview = $DIC['rbacreview'];
1405 
1406  if (strlen($a_grp_id) > 0) {
1407  $grp_id = $a_grp_id;
1408  } else {
1409  $grp_id = $this->getRefId();
1410  }
1411 
1412  $role_arr = $rbacreview->getRolesOfRoleFolder($grp_id);
1413 
1414  foreach ($role_arr as $role_id) {
1415  $role_Obj = &$this->ilias->obj_factory->getInstanceByObjId($role_id);
1416 
1417  $grp_Member = "il_grp_member_" . $grp_id;
1418  $grp_Admin = "il_grp_admin_" . $grp_id;
1419 
1420  if (strcmp($role_Obj->getTitle(), $grp_Member) == 0) {
1421  $arr_grpDefaultRoles["grp_member_role"] = $role_Obj->getId();
1422  }
1423 
1424  if (strcmp($role_Obj->getTitle(), $grp_Admin) == 0) {
1425  $arr_grpDefaultRoles["grp_admin_role"] = $role_Obj->getId();
1426  }
1427  }
1428 
1429  return $arr_grpDefaultRoles;
1430  }
global $DIC
Definition: goto.php:24
redirection script todo: (a better solution should control the processing via a xml file) ...
getRefId()
get reference id public
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getDefaultMemberRole()

ilObjGroup::getDefaultMemberRole ( )

returns object id of created default member role public

Definition at line 1199 of file class.ilObjGroup.php.

References getLocalGroupRoles(), and ilObject\getRefId().

Referenced by cloneAutoGeneratedRoles().

1200  {
1201  $local_group_Roles = $this->getLocalGroupRoles();
1202 
1203  return $local_group_Roles["il_grp_member_" . $this->getRefId()];
1204  }
getLocalGroupRoles($a_translate=false)
get ALL local roles of group, also those created and defined afterwards only fetch data once from dat...
getRefId()
get reference id public
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getEnableGroupMap()

ilObjGroup::getEnableGroupMap ( )

Get Enable Group Map.

Returns
boolean Enable Group Map

Definition at line 528 of file class.ilObjGroup.php.

References $enablemap.

Referenced by create(), getEnableMap(), read(), and update().

529  {
530  return (bool) $this->enablemap;
531  }
+ Here is the caller graph for this function:

◆ getEnableMap()

ilObjGroup::getEnableMap ( )

Type independent wrapper.

Returns
type

Definition at line 518 of file class.ilObjGroup.php.

References getEnableGroupMap().

519  {
520  return $this->getEnableGroupMap();
521  }
getEnableGroupMap()
Get Enable Group Map.
+ Here is the call graph for this function:

◆ getEnd()

ilObjGroup::getEnd ( )
Returns
|null

Definition at line 693 of file class.ilObjGroup.php.

Referenced by create(), prepareAppointments(), read(), and update().

693  : ?\ilDateTime
694  {
695  return $this->grp_end;
696  }
Date and time handling
+ Here is the caller graph for this function:

◆ getGroupAdminIds()

ilObjGroup::getGroupAdminIds (   $a_grpId = "")

get Group Admin Id public

Parameters
integergroup id
returnsuserids that are assigned to a group administrator! role

Definition at line 1372 of file class.ilObjGroup.php.

References $DIC, ilObject\$rbacreview, getDefaultGroupRoles(), and ilObject\getRefId().

Referenced by leaveGroup().

1373  {
1374  global $DIC;
1375 
1376  $rbacreview = $DIC['rbacreview'];
1377 
1378  if (!empty($a_grpId)) {
1379  $grp_id = $a_grpId;
1380  } else {
1381  $grp_id = $this->getRefId();
1382  }
1383 
1384  $usr_arr = array();
1385  $roles = $this->getDefaultGroupRoles($this->getRefId());
1386 
1387  foreach ($rbacreview->assignedUsers($this->getDefaultAdminRole()) as $member_id) {
1388  array_push($usr_arr, $member_id);
1389  }
1390 
1391  return $usr_arr;
1392  }
getDefaultGroupRoles($a_grp_id="")
get default group roles, returns the defaultlike create roles il_grp_member, il_grp_admin public ...
global $DIC
Definition: goto.php:24
getRefId()
get reference id public
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getGroupMemberData()

ilObjGroup::getGroupMemberData (   $a_mem_ids,
  $active = 1 
)

get all group Members regardless of group role.

fetch all users data in one shot to improve performance public

Parameters
arrayof user ids
Returns
return array of userdata

Definition at line 1326 of file class.ilObjGroup.php.

References $DIC, $ilBench, $ilDB, ilObject\$rbacadmin, ilObject\$rbacreview, ilDBConstants\FETCHMODE_OBJECT, and ilUtil\quoteArray().

1327  {
1328  global $DIC;
1329 
1330  $rbacadmin = $DIC['rbacadmin'];
1331  $rbacreview = $DIC['rbacreview'];
1332  $ilBench = $DIC['ilBench'];
1333  $ilDB = $DIC['ilDB'];
1334 
1335  $usr_arr = array();
1336 
1337  $q = "SELECT login,firstname,lastname,title,usr_id,last_login " .
1338  "FROM usr_data " .
1339  "WHERE usr_id IN (" . implode(',', ilUtil::quoteArray($a_mem_ids)) . ") ";
1340 
1341  if (is_numeric($active) && $active > -1) {
1342  $q .= "AND active = '$active'";
1343  }
1344 
1345  $q .= 'ORDER BY lastname,firstname';
1346 
1347  $r = $ilDB->query($q);
1348 
1349  while ($row = $r->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
1350  $mem_arr[] = array("id" => $row->usr_id,
1351  "login" => $row->login,
1352  "firstname" => $row->firstname,
1353  "lastname" => $row->lastname,
1354  "last_login" => $row->last_login
1355  );
1356  }
1357 
1358  return $mem_arr ? $mem_arr : array();
1359  }
global $DIC
Definition: goto.php:24
static quoteArray($a_array)
Quotes all members of an array for usage in DB query statement.
global $ilBench
Definition: ilias.php:21
global $ilDB
+ Here is the call graph for this function:

◆ getGroupMemberIds()

ilObjGroup::getGroupMemberIds ( )

get all group Member ids regardless of role public

Returns
return array of users (obj_ids) that are assigned to the groupspecific roles (grp_member,grp_admin)

Definition at line 1297 of file class.ilObjGroup.php.

References $DIC, ilObject\$rbacadmin, ilObject\$rbacreview, and getLocalGroupRoles().

Referenced by getCountMembers(), and leaveGroup().

1298  {
1299  global $DIC;
1300 
1301  $rbacadmin = $DIC['rbacadmin'];
1302  $rbacreview = $DIC['rbacreview'];
1303 
1304  $usr_arr = array();
1305 
1306  $rol = $this->getLocalGroupRoles();
1307 
1308  foreach ($rol as $value) {
1309  foreach ($rbacreview->assignedUsers($value) as $member_id) {
1310  array_push($usr_arr, $member_id);
1311  }
1312  }
1313 
1314  $mem_arr = array_unique($usr_arr);
1315 
1316  return $mem_arr ? $mem_arr : array();
1317  }
getLocalGroupRoles($a_translate=false)
get ALL local roles of group, also those created and defined afterwards only fetch data once from dat...
global $DIC
Definition: goto.php:24
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getGroupStatus()

ilObjGroup::getGroupStatus ( )

get group status

public

Parameters
intgroup status

Definition at line 1573 of file class.ilObjGroup.php.

1574  {
1575  return $this->group_status;
1576  }

◆ getGroupType()

ilObjGroup::getGroupType ( )

get group type

public

Returns
int group type

Definition at line 212 of file class.ilObjGroup.php.

References $group_type.

Referenced by create(), and update().

213  {
214  return $this->group_type;
215  }
+ Here is the caller graph for this function:

◆ getGrpStatusClosedTemplateId()

ilObjGroup::getGrpStatusClosedTemplateId ( )

get group status closed template public

Parameters
returnobj_id of roletemplate containing permissionsettings for a closed group

Definition at line 1472 of file class.ilObjGroup.php.

References $res, and ilDBConstants\FETCHMODE_ASSOC.

1473  {
1474  $q = "SELECT obj_id FROM object_data WHERE type='rolt' AND title='il_grp_status_closed'";
1475  $res = $this->ilias->db->query($q);
1476  $row = $res->fetchRow(ilDBConstants::FETCHMODE_ASSOC);
1477 
1478  return $row["obj_id"];
1479  }
foreach($_POST as $key=> $value) $res
redirection script todo: (a better solution should control the processing via a xml file) ...

◆ getGrpStatusOpenTemplateId()

ilObjGroup::getGrpStatusOpenTemplateId ( )

get group status open template public

Parameters
returnobj_id of roletemplate containing permissionsettings for an open group

Definition at line 1486 of file class.ilObjGroup.php.

References $res, and ilDBConstants\FETCHMODE_ASSOC.

Referenced by setParentRolePermissions().

1487  {
1488  $q = "SELECT obj_id FROM object_data WHERE type='rolt' AND title='il_grp_status_open'";
1489  $res = $this->ilias->db->query($q);
1490  $row = $res->fetchRow(ilDBConstants::FETCHMODE_ASSOC);
1491 
1492  return $row["obj_id"];
1493  }
foreach($_POST as $key=> $value) $res
redirection script todo: (a better solution should control the processing via a xml file) ...
+ Here is the caller graph for this function:

◆ getInformation()

ilObjGroup::getInformation ( )

get Information

public

Parameters

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

References $information.

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

191  {
192  return $this->information;
193  }
+ Here is the caller graph for this function:

◆ getLatitude()

ilObjGroup::getLatitude ( )

Get Latitude.

Returns
string Latitude

Definition at line 459 of file class.ilObjGroup.php.

References $latitude.

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

460  {
461  return $this->latitude;
462  }
+ Here is the caller graph for this function:

◆ getLocalGroupRoles()

ilObjGroup::getLocalGroupRoles (   $a_translate = false)

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

info is stored in object variable public

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

Definition at line 1438 of file class.ilObjGroup.php.

References $DIC, ilObject\$rbacadmin, ilObject\$rbacreview, ilObjRole\_getTranslation(), and ilObject\getRefId().

Referenced by getDefaultAdminRole(), getDefaultMemberRole(), getGroupMemberIds(), and getMemberRoles().

1439  {
1440  global $DIC;
1441 
1442  $rbacadmin = $DIC['rbacadmin'];
1443  $rbacreview = $DIC['rbacreview'];
1444 
1445  if (empty($this->local_roles)) {
1446  $this->local_roles = array();
1447  $role_arr = $rbacreview->getRolesOfRoleFolder($this->getRefId());
1448 
1449  foreach ($role_arr as $role_id) {
1450  if ($rbacreview->isAssignable($role_id, $this->getRefId()) == true) {
1451  $role_Obj = &$this->ilias->obj_factory->getInstanceByObjId($role_id);
1452 
1453  if ($a_translate) {
1454  $role_name = ilObjRole::_getTranslation($role_Obj->getTitle());
1455  } else {
1456  $role_name = $role_Obj->getTitle();
1457  }
1458 
1459  $this->local_roles[$role_name] = $role_Obj->getId();
1460  }
1461  }
1462  }
1463 
1464  return $this->local_roles;
1465  }
global $DIC
Definition: goto.php:24
redirection script todo: (a better solution should control the processing via a xml file) ...
static _getTranslation($a_role_title)
getRefId()
get reference id public
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getLocationZoom()

ilObjGroup::getLocationZoom ( )

Get LocationZoom.

Returns
int LocationZoom

Definition at line 499 of file class.ilObjGroup.php.

References $locationzoom.

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

500  {
501  return $this->locationzoom;
502  }
+ Here is the caller graph for this function:

◆ getLongitude()

ilObjGroup::getLongitude ( )

Get Longitude.

Returns
string Longitude

Definition at line 479 of file class.ilObjGroup.php.

References $longitude.

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

480  {
481  return $this->longitude;
482  }
+ Here is the caller graph for this function:

◆ getMailToMembersType()

ilObjGroup::getMailToMembersType ( )

Get mail to members type.

Returns
int

Definition at line 585 of file class.ilObjGroup.php.

References $mail_members.

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

586  {
587  return $this->mail_members;
588  }
+ Here is the caller graph for this function:

◆ getMaxMembers()

ilObjGroup::getMaxMembers ( )

get max members

public

Returns

Definition at line 405 of file class.ilObjGroup.php.

References $reg_max_members.

Referenced by create(), handleAutoFill(), read(), register(), update(), and validate().

406  {
407  return $this->reg_max_members;
408  }
+ Here is the caller graph for this function:

◆ getMemberRoles()

ilObjGroup::getMemberRoles (   $a_user_id)

get group member status public

Parameters
integeruser_id
Returns
returns array of obj_ids of assigned local roles

Definition at line 1602 of file class.ilObjGroup.php.

References $DIC, $ilBench, ilObject\$rbacadmin, ilObject\$rbacreview, and getLocalGroupRoles().

Referenced by leave().

1603  {
1604  global $DIC;
1605 
1606  $rbacadmin = $DIC['rbacadmin'];
1607  $rbacreview = $DIC['rbacreview'];
1608  $ilBench = $DIC['ilBench'];
1609 
1610  $ilBench->start("Group", "getMemberRoles");
1611 
1612  $arr_assignedRoles = array();
1613 
1614  $arr_assignedRoles = array_intersect($rbacreview->assignedRoles($a_user_id), $this->getLocalGroupRoles());
1615 
1616  $ilBench->stop("Group", "getMemberRoles");
1617 
1618  return $arr_assignedRoles;
1619  }
getLocalGroupRoles($a_translate=false)
get ALL local roles of group, also those created and defined afterwards only fetch data once from dat...
global $DIC
Definition: goto.php:24
global $ilBench
Definition: ilias.php:21
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getMembersObject()

ilObjGroup::getMembersObject ( )

Get members objects.

Returns
ilGroupParticipants

Definition at line 2024 of file class.ilObjGroup.php.

References $members_obj, and initParticipants().

Referenced by handleAutoFill().

2025  {
2026  // #17886
2027  if (!$this->members_obj instanceof ilGroupParticipants) {
2028  $this->initParticipants();
2029  }
2030  return $this->members_obj;
2031  }
initParticipants()
init participants object
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getMessage()

ilObjGroup::getMessage ( )

Definition at line 1926 of file class.ilObjGroup.php.

References $message.

Referenced by appendMessage().

1927  {
1928  return $this->message;
1929  }
$message
Definition: xapiexit.php:14
+ Here is the caller graph for this function:

◆ getMinMembers()

ilObjGroup::getMinMembers ( )

get min members

public

Returns

Definition at line 383 of file class.ilObjGroup.php.

References $reg_min_members.

Referenced by create(), read(), update(), and validate().

384  {
385  return $this->reg_min_members;
386  }
+ Here is the caller graph for this function:

◆ getNumberOfNextSessions()

ilObjGroup::getNumberOfNextSessions ( )

Get number of upcomoing sessions.

Returns

Definition at line 744 of file class.ilObjGroup.php.

References $session_next.

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

744  : int
745  {
746  return $this->session_next;
747  }
+ Here is the caller graph for this function:

◆ getNumberOfPreviousSessions()

ilObjGroup::getNumberOfPreviousSessions ( )

Get number of previous sessions.

Returns

Definition at line 726 of file class.ilObjGroup.php.

References $session_prev.

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

726  : int
727  {
728  return $this->session_prev;
729  }
+ Here is the caller graph for this function:

◆ getPassword()

ilObjGroup::getPassword ( )

get password

public

Returns
string password

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

References $reg_password.

Referenced by create(), read(), update(), and validate().

339  {
340  return $this->reg_password;
341  }
+ Here is the caller graph for this function:

◆ getRegistrationAccessCode()

ilObjGroup::getRegistrationAccessCode ( )

get access code

Returns

Definition at line 537 of file class.ilObjGroup.php.

References $reg_access_code.

Referenced by create(), and update().

538  {
539  return $this->reg_access_code;
540  }
+ Here is the caller graph for this function:

◆ getRegistrationEnd()

ilObjGroup::getRegistrationEnd ( )

get registration end

public

Returns
int registration end

Definition at line 316 of file class.ilObjGroup.php.

References $reg_end.

Referenced by create(), prepareAppointments(), read(), register(), update(), and validate().

317  {
318  return $this->reg_end;
319  }
+ Here is the caller graph for this function:

◆ getRegistrationStart()

ilObjGroup::getRegistrationStart ( )

get registration start

public

Returns
int registration start

Definition at line 292 of file class.ilObjGroup.php.

References $reg_start.

Referenced by create(), prepareAppointments(), read(), register(), update(), and validate().

293  {
294  return $this->reg_start;
295  }
+ Here is the caller graph for this function:

◆ getRegistrationType()

ilObjGroup::getRegistrationType ( )

get registration type

public

Returns
int registration type

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

References $reg_type.

Referenced by create(), isRegistrationEnabled(), read(), update(), and validate().

236  {
237  return $this->reg_type;
238  }
+ Here is the caller graph for this function:

◆ getShowMembers()

ilObjGroup::getShowMembers ( )

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

References $show_members.

Referenced by read(), and update().

605  {
606  return $this->show_members;
607  }
+ Here is the caller graph for this function:

◆ getStart()

ilObjGroup::getStart ( )
Returns
| null

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

Referenced by create(), prepareAppointments(), read(), and update().

677  : ?\ilDateTime
678  {
679  return $this->grp_start;
680  }
Date and time handling
+ Here is the caller graph for this function:

◆ getStartTimeIndication()

ilObjGroup::getStartTimeIndication ( )
Returns
bool

Definition at line 660 of file class.ilObjGroup.php.

Referenced by prepareAppointments(), and update().

660  : ?bool
661  {
662  return $this->start_time_indication;
663  }
+ Here is the caller graph for this function:

◆ getSubItems()

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

Get subitems of container.

Parameters
bool$a_admin_panel_enabled,[optional]
bool$a_include_side_block,[optional]
Returns
array

Definition at line 2259 of file class.ilObjGroup.php.

References ilContainerSessionsContentGUI\prepareSessionPresentationLimitation().

2264  {
2265  // Caching
2266  if (is_array($this->items[(int) $a_admin_panel_enabled][(int) $a_include_side_block])) {
2267  return $this->items[(int) $a_admin_panel_enabled][(int) $a_include_side_block];
2268  }
2269 
2270  // Results are stored in $this->items
2271  parent::getSubItems($a_admin_panel_enabled, $a_include_side_block, $a_get_single);
2273  $this->items,
2274  $this,
2275  (bool) $a_admin_panel_enabled,
2276  (bool) $a_include_side_block
2277  );
2278  return $this->items[(int) $a_admin_panel_enabled][(int) $a_include_side_block];
2279  }
static prepareSessionPresentationLimitation(array $items, ilContainer $container, bool $admin_panel_enabled=false, bool $include_side_block=false)
+ Here is the call graph for this function:

◆ getViewMode()

ilObjGroup::getViewMode ( )

Get effective container view mode.

Returns
int

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

References ilContainer\$tree, $view_mode, ilObject\_lookupObjId(), ilObjCourseAccess\_lookupViewMode(), ilObject\getId(), ilContainer\VIEW_BY_TYPE, ilContainer\VIEW_DEFAULT, ilContainer\VIEW_INHERIT, ilContainer\VIEW_SESSIONS, and ilContainer\VIEW_SIMPLE.

1817  {
1818  $tree = $this->tree;
1819 
1820  // default: by type
1821  $view = self::lookupViewMode($this->getId());
1822 
1823  if ($view != ilContainer::VIEW_INHERIT) {
1824  return $view;
1825  }
1826 
1827  $container_ref_id = $tree->checkForParentType($this->ref_id, 'crs');
1828  if ($container_ref_id) {
1830  // these three are available...
1831  if (
1835  return $view_mode;
1836  }
1837  }
1839  }
getId()
get object id public
static _lookupObjId($a_id)
static _lookupViewMode($a_id)
Lookup view mode.
+ Here is the call graph for this function:

◆ handleAutoFill()

ilObjGroup::handleAutoFill ( )

Definition at line 2130 of file class.ilObjGroup.php.

References $waiting_list, ilObject\getId(), ilObjectFactory\getInstanceByObjId(), getMaxMembers(), getMembersObject(), ilObject\getRefId(), hasWaitingListAutoFill(), IL_GRP_MEMBER, isWaitingListEnabled(), ilParticipants\lookupNumberOfMembers(), and ilGroupMembershipMailNotification\TYPE_ACCEPTED_SUBSCRIPTION_MEMBER.

2131  {
2132  if ($this->isWaitingListEnabled() &&
2133  $this->hasWaitingListAutoFill()) {
2134  $max = $this->getMaxMembers();
2136  if ($max > $now) {
2137  // see assignFromWaitingListObject()
2138  include_once('./Modules/Group/classes/class.ilGroupWaitingList.php');
2139  $waiting_list = new ilGroupWaitingList($this->getId());
2140 
2141  foreach ($waiting_list->getUserIds() as $user_id) {
2142  if (!$tmp_obj = ilObjectFactory::getInstanceByObjId($user_id, false)) {
2143  continue;
2144  }
2145  if ($this->getMembersObject()->isAssigned($user_id)) {
2146  continue;
2147  }
2148  $this->getMembersObject()->add($user_id, IL_GRP_MEMBER); // #18213
2149  include_once './Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
2151  $waiting_list->removeFromList($user_id);
2152 
2153  $now++;
2154  if ($now >= $max) {
2155  break;
2156  }
2157  }
2158  }
2159  }
2160  }
getMaxMembers()
get max members
static lookupNumberOfMembers($a_ref_id)
Lookup number of members ilRbacReview $rbacreview <type> $ilObjDataCache.
getMembersObject()
Get members objects.
const IL_GRP_MEMBER
getId()
get object id public
Waiting list for groups.
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
getRefId()
get reference id public
isWaitingListEnabled()
is waiting list enabled
+ Here is the call graph for this function:

◆ hasWaitingListAutoFill()

ilObjGroup::hasWaitingListAutoFill ( )

Definition at line 439 of file class.ilObjGroup.php.

References $auto_fill_from_waiting.

Referenced by create(), handleAutoFill(), read(), and update().

440  {
441  return (bool) $this->auto_fill_from_waiting;
442  }
+ Here is the caller graph for this function:

◆ initDefaultRoles()

ilObjGroup::initDefaultRoles ( )

init default roles settings public

Returns
array object IDs of created local roles.

Definition at line 1646 of file class.ilObjGroup.php.

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

1647  {
1648  include_once './Services/AccessControl/classes/class.ilObjRole.php';
1650  'il_grp_admin_' . $this->getRefId(),
1651  "Groupadmin group obj_no." . $this->getId(),
1652  'il_grp_admin',
1653  $this->getRefId()
1654  );
1655  $this->m_roleAdminId = $role->getId();
1656 
1658  'il_grp_member_' . $this->getRefId(),
1659  "Groupmember of group obj_no." . $this->getId(),
1660  'il_grp_member',
1661  $this->getRefId()
1662  );
1663  $this->m_roleMemberId = $role->getId();
1664 
1665  return array();
1666  }
static createDefaultRole($a_title, $a_description, $a_tpl_name, $a_ref_id)
getId()
get object id public
getRefId()
get reference id public
+ Here is the call graph for this function:

◆ initParticipants()

ilObjGroup::initParticipants ( )
protected

init participants object

protected

Returns

Definition at line 2013 of file class.ilObjGroup.php.

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

Referenced by getMembersObject(), and read().

2014  {
2015  include_once('./Modules/Group/classes/class.ilGroupParticipants.php');
2016  $this->members_obj = ilGroupParticipants::_getInstanceByObjId($this->getId());
2017  }
getId()
get object id public
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isAdmin()

ilObjGroup::isAdmin (   $a_userId)

is Admin public

Parameters
integeruser_id
boolean,trueif user is group administrator

Definition at line 1627 of file class.ilObjGroup.php.

References $DIC, ilObject\$rbacreview, and getDefaultGroupRoles().

Referenced by leaveGroup().

1628  {
1629  global $DIC;
1630 
1631  $rbacreview = $DIC['rbacreview'];
1632 
1633  $grp_Roles = $this->getDefaultGroupRoles();
1634 
1635  if (in_array($a_userId, $rbacreview->assignedUsers($grp_Roles["grp_admin_role"]))) {
1636  return true;
1637  } else {
1638  return false;
1639  }
1640  }
getDefaultGroupRoles($a_grp_id="")
get default group roles, returns the defaultlike create roles il_grp_member, il_grp_admin public ...
global $DIC
Definition: goto.php:24
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isMembershipLimited()

ilObjGroup::isMembershipLimited ( )

is max member limited

public

Returns

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

References $reg_membership_limitation.

Referenced by create(), read(), register(), update(), and validate().

362  {
363  return (bool) $this->reg_membership_limitation;
364  }
+ Here is the caller graph for this function:

◆ isRegistrationAccessCodeEnabled()

ilObjGroup::isRegistrationAccessCodeEnabled ( )

Check if access code is enabled.

Returns

Definition at line 556 of file class.ilObjGroup.php.

References $reg_access_code_enabled.

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

557  {
558  return (bool) $this->reg_access_code_enabled;
559  }
+ Here is the caller graph for this function:

◆ isRegistrationEnabled()

ilObjGroup::isRegistrationEnabled ( )

is registration enabled

public

Returns
bool

Definition at line 246 of file class.ilObjGroup.php.

References getRegistrationType(), and GRP_REGISTRATION_DEACTIVATED.

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

247  {
249  }
const GRP_REGISTRATION_DEACTIVATED
getRegistrationType()
get registration type
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isRegistrationUnlimited()

ilObjGroup::isRegistrationUnlimited ( )

is registration unlimited

public

Returns
bool

Definition at line 269 of file class.ilObjGroup.php.

References $reg_unlimited.

Referenced by create(), prepareAppointments(), read(), register(), and update().

270  {
271  return $this->reg_unlimited;
272  }
+ Here is the caller graph for this function:

◆ isSessionLimitEnabled()

ilObjGroup::isSessionLimitEnabled ( )

Definition at line 708 of file class.ilObjGroup.php.

References $session_limit.

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

708  : bool
709  {
710  return (bool) $this->session_limit;
711  }
+ Here is the caller graph for this function:

◆ isWaitingListEnabled()

ilObjGroup::isWaitingListEnabled ( )

is waiting list enabled

public

Parameters

Definition at line 429 of file class.ilObjGroup.php.

References $waiting_list.

Referenced by create(), handleAutoFill(), read(), register(), update(), and validate().

430  {
431  return $this->waiting_list;
432  }
+ Here is the caller graph for this function:

◆ join()

ilObjGroup::join (   $a_user_id,
  $a_mem_role = "" 
)

join Group, assigns user to role private

Parameters
integermember status = obj_id of local_group_role

Definition at line 1178 of file class.ilObjGroup.php.

References $DIC, and ilObject\$rbacadmin.

Referenced by addMember().

1179  {
1180  global $DIC;
1181 
1182  $rbacadmin = $DIC['rbacadmin'];
1183 
1184  if (is_array($a_mem_role)) {
1185  foreach ($a_mem_role as $role) {
1186  $rbacadmin->assignUser($role, $a_user_id, false);
1187  }
1188  } else {
1189  $rbacadmin->assignUser($a_mem_role, $a_user_id, false);
1190  }
1191 
1192  return true;
1193  }
global $DIC
Definition: goto.php:24
+ Here is the caller graph for this function:

◆ leave()

ilObjGroup::leave (   $a_user_id)

deassign member from group role private

Definition at line 1272 of file class.ilObjGroup.php.

References $DIC, ilObject\$rbacadmin, and getMemberRoles().

Referenced by leaveGroup().

1273  {
1274  global $DIC;
1275 
1276  $rbacadmin = $DIC['rbacadmin'];
1277 
1278  $arr_groupRoles = $this->getMemberRoles($a_user_id);
1279 
1280  if (is_array($arr_groupRoles)) {
1281  foreach ($arr_groupRoles as $groupRole) {
1282  $rbacadmin->deassignUser($groupRole, $a_user_id);
1283  }
1284  } else {
1285  $rbacadmin->deassignUser($arr_groupRoles, $a_user_id);
1286  }
1287 
1288  return true;
1289  }
global $DIC
Definition: goto.php:24
getMemberRoles($a_user_id)
get group member status public
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ leaveGroup()

ilObjGroup::leaveGroup ( )

is called when a member decides to leave group public

Parameters
integeruser-Id
integergroup-Id

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

References $DIC, ilObject\$rbacadmin, ilObject\$rbacreview, getGroupAdminIds(), getGroupMemberIds(), ilObject\getRefId(), isAdmin(), leave(), and user().

1246  {
1247  global $DIC;
1248 
1249  $rbacadmin = $DIC['rbacadmin'];
1250  $rbacreview = $DIC['rbacreview'];
1251 
1252  $member_ids = $this->getGroupMemberIds();
1253 
1254  if (count($member_ids) <= 1 || !in_array($this->ilias->account->getId(), $member_ids)) {
1255  return 2;
1256  } else {
1257  if (!$this->isAdmin($this->ilias->account->getId())) {
1258  $this->leave($this->ilias->account->getId());
1259  $this->recommended_content_manager->removeObjectRecommendation($this->user->getId(), $this->getRefId());
1260 
1261  return 0;
1262  } elseif (count($this->getGroupAdminIds()) == 1) {
1263  return 1;
1264  }
1265  }
1266  }
user()
Definition: user.php:4
leave($a_user_id)
deassign member from group role private
global $DIC
Definition: goto.php:24
redirection script todo: (a better solution should control the processing via a xml file) ...
getGroupAdminIds($a_grpId="")
get Group Admin Id public
getRefId()
get reference id public
getGroupMemberIds()
get all group Member ids regardless of role public
isAdmin($a_userId)
is Admin public
+ Here is the call graph for this function:

◆ lookupGroupStatusTemplateId()

static ilObjGroup::lookupGroupStatusTemplateId (   $a_obj_id)
static

$ilDB $ilDB

Parameters
int$a_obj_id
Returns
int

Definition at line 1501 of file class.ilObjGroup.php.

References $DIC, $ilDB, $query, $res, ilObject\$type, ilDBConstants\FETCHMODE_ASSOC, and GRP_TYPE_CLOSED.

Referenced by ilRbacAdmin\adjustMovedObjectPermissions().

1502  {
1503  global $DIC;
1504 
1505  $ilDB = $DIC['ilDB'];
1506 
1507  $type = self::lookupGroupTye($a_obj_id);
1508  if ($type == GRP_TYPE_CLOSED) {
1509  $query = 'SELECT obj_id FROM object_data WHERE type = ' . $ilDB->quote('rolt', 'text') . ' AND title = ' . $ilDB->quote('il_grp_status_closed', 'text');
1510  } else {
1511  $query = 'SELECT obj_id FROM object_data WHERE type = ' . $ilDB->quote('rolt', 'text') . ' AND title = ' . $ilDB->quote('il_grp_status_open', 'text');
1512  }
1513  $res = $ilDB->query($query);
1514  $row = $res->fetchRow(ilDBConstants::FETCHMODE_ASSOC);
1515 
1516  return isset($row['obj_id']) ? $row['obj_id'] : 0;
1517  }
foreach($_POST as $key=> $value) $res
const GRP_TYPE_CLOSED
global $DIC
Definition: goto.php:24
$query
global $ilDB
+ Here is the caller graph for this function:

◆ lookupGroupTye()

static ilObjGroup::lookupGroupTye (   $a_id)
static

Lookup group type.

Parameters
object$a_id
Returns

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

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

Referenced by ilObjRole\createPermissionIntersection().

156  {
157  global $DIC;
158 
159  $ilDB = $DIC['ilDB'];
160 
161  $query = "SELECT grp_type FROM grp_settings " .
162  "WHERE obj_id = " . $ilDB->quote($a_id, 'integer');
163  $res = $ilDB->query($query);
164  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
165  return $row->grp_type;
166  }
167  return GRP_TYPE_UNKNOWN;
168  }
const GRP_TYPE_UNKNOWN
foreach($_POST as $key=> $value) $res
global $DIC
Definition: goto.php:24
$query
global $ilDB
+ Here is the caller graph for this function:

◆ lookupObjectsByCode()

static ilObjGroup::lookupObjectsByCode (   $a_code)
static
See also
interface.ilMembershipRegistrationCodes
Returns
array obj ids

Implements ilMembershipRegistrationCodes.

Definition at line 2037 of file class.ilObjGroup.php.

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

Referenced by ilMembershipRegistrationCodeUtils\lookupObjectsByCode().

2038  {
2039  global $DIC;
2040 
2041  $ilDB = $DIC['ilDB'];
2042 
2043  $query = "SELECT obj_id FROM grp_settings " .
2044  "WHERE reg_ac_enabled = " . $ilDB->quote(1, 'integer') . " " .
2045  "AND reg_ac = " . $ilDB->quote($a_code, 'text');
2046  $res = $ilDB->query($query);
2047 
2048  $obj_ids = array();
2049  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
2050  $obj_ids[] = $row->obj_id;
2051  }
2052  return $obj_ids;
2053  }
foreach($_POST as $key=> $value) $res
global $DIC
Definition: goto.php:24
$query
global $ilDB
+ Here is the caller graph for this function:

◆ lookupShowMembersEnabled()

static ilObjGroup::lookupShowMembersEnabled ( int  $a_obj_id)
static

Definition at line 2238 of file class.ilObjGroup.php.

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

Referenced by ilParticipants\hasParticipantListAccess().

2238  : bool
2239  {
2240  global $DIC;
2241  $ilDB = $DIC["ilDB"];
2242  $query = 'SELECT show_members FROM grp_settings'
2243  . ' WHERE obj_id = ' . $ilDB->quote($a_obj_id, 'integer');
2244  $res = $ilDB->query($query);
2245  if ($ilDB->numRows($res) == 0) {
2246  return false;
2247  }
2248  $row = $ilDB->fetchAssoc($res);
2249  return (bool) $row['show_members'];
2250  }
foreach($_POST as $key=> $value) $res
global $DIC
Definition: goto.php:24
$query
global $ilDB
+ Here is the caller graph for this function:

◆ lookupViewMode()

static ilObjGroup::lookupViewMode (   $a_obj_id)
static

lookup view mode $ilDB

Definition at line 1855 of file class.ilObjGroup.php.

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

Referenced by ilGroupXMLWriter\__buildExtraSettings(), ilObjFolder\getViewMode(), and ilObjGroupGUI\initForm().

1856  {
1857  global $DIC;
1858 
1859  $ilDB = $DIC['ilDB'];
1860 
1861  $query = 'SELECT view_mode FROM grp_settings ' .
1862  'WHERE obj_id = ' . $ilDB->quote($a_obj_id, 'integer');
1863  $res = $ilDB->query($query);
1864 
1865  $view_mode = null;
1866  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
1867  $view_mode = $row->view_mode;
1868  }
1869  return $view_mode;
1870  }
foreach($_POST as $key=> $value) $res
global $DIC
Definition: goto.php:24
$query
global $ilDB
+ Here is the caller graph for this function:

◆ mayLeave()

static ilObjGroup::mayLeave (   $a_group_id,
  $a_user_id = null,
$a_date = null 
)
static

Definition at line 2162 of file class.ilObjGroup.php.

References $DIC, $ilDB, $ilUser, and IL_CAL_DATE.

Referenced by ilObjGroupAccess\_checkAccess().

2163  {
2164  global $DIC;
2165 
2166  $ilUser = $DIC['ilUser'];
2167  $ilDB = $DIC['ilDB'];
2168 
2169  if (!$a_user_id) {
2170  $a_user_id = $ilUser->getId();
2171  }
2172 
2173  $set = $ilDB->query("SELECT leave_end" .
2174  " FROM grp_settings" .
2175  " WHERE obj_id = " . $ilDB->quote($a_group_id, "integer"));
2176  $row = $ilDB->fetchAssoc($set);
2177  if ($row && $row["leave_end"]) {
2178  // timestamp to date
2179  $limit = date("Ymd", $row["leave_end"]);
2180  if ($limit < date("Ymd")) {
2181  $a_date = new ilDate(date("Y-m-d", $row["leave_end"]), IL_CAL_DATE);
2182  return false;
2183  }
2184  }
2185  return true;
2186  }
Class for single dates.
global $DIC
Definition: goto.php:24
const IL_CAL_DATE
global $ilDB
$ilUser
Definition: imgupload.php:18
+ Here is the caller graph for this function:

◆ prepareAppointments()

ilObjGroup::prepareAppointments (   $a_mode = 'create')
protected

Prepare calendar appointments.

protected

Parameters
stringmode UPDATE|CREATE|DELETE
Returns

Definition at line 1949 of file class.ilObjGroup.php.

References $app, getEnd(), ilObject\getLongDescription(), getRegistrationEnd(), getRegistrationStart(), getStart(), getStartTimeIndication(), ilObject\getTitle(), IL_CAL_TRANSLATION_SYSTEM, and isRegistrationUnlimited().

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

1950  {
1951  include_once('./Services/Calendar/classes/class.ilCalendarAppointmentTemplate.php');
1952 
1953  switch ($a_mode) {
1954  case 'create':
1955  case 'update':
1956 
1957  $apps = array();
1958  if ($this->getStart() && $this->getEnd()) {
1959  $app = new ilCalendarAppointmentTemplate(self::CAL_START);
1960  $app->setTitle($this->getTitle());
1961  $app->setSubtitle('grp_cal_start');
1962  $app->setTranslationType(IL_CAL_TRANSLATION_SYSTEM);
1963  $app->setDescription($this->getLongDescription());
1964  $app->setStart($this->getStart());
1965  $app->setFullday(!$this->getStartTimeIndication());
1966  $apps[] = $app;
1967 
1968  $app = new ilCalendarAppointmentTemplate(self::CAL_END);
1969  $app->setTitle($this->getTitle());
1970  $app->setSubtitle('grp_cal_end');
1971  $app->setTranslationType(IL_CAL_TRANSLATION_SYSTEM);
1972  $app->setDescription($this->getLongDescription());
1973  $app->setStart($this->getEnd());
1974  $app->setFullday(!$this->getStartTimeIndication());
1975  $apps[] = $app;
1976  }
1977  if ($this->isRegistrationUnlimited()) {
1978  return $apps;
1979  }
1980 
1981  $app = new ilCalendarAppointmentTemplate(self::CAL_REG_START);
1982  $app->setTitle($this->getTitle());
1983  $app->setSubtitle('grp_cal_reg_start');
1984  $app->setTranslationType(IL_CAL_TRANSLATION_SYSTEM);
1985  $app->setDescription($this->getLongDescription());
1986  $app->setStart($this->getRegistrationStart());
1987  $apps[] = $app;
1988 
1989  $app = new ilCalendarAppointmentTemplate(self::CAL_REG_END);
1990  $app->setTitle($this->getTitle());
1991  $app->setSubtitle('grp_cal_reg_end');
1992  $app->setTranslationType(IL_CAL_TRANSLATION_SYSTEM);
1993  $app->setDescription($this->getLongDescription());
1994  $app->setStart($this->getRegistrationEnd());
1995  $apps[] = $app;
1996 
1997 
1998  return $apps;
1999 
2000  case 'delete':
2001  // Nothing to do: The category and all assigned appointments will be deleted.
2002  return array();
2003  }
2004  }
$app
Definition: cli.php:38
isRegistrationUnlimited()
is registration unlimited
const IL_CAL_TRANSLATION_SYSTEM
getRegistrationEnd()
get registration end
Apointment templates are used for automatic generated apointments.
getRegistrationStart()
get registration start
getTitle()
get object title public
getLongDescription()
get object long description (stored in object_description)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ read()

ilObjGroup::read ( )

Read group.

Definition at line 973 of file class.ilObjGroup.php.

References $DIC, $ilDB, $ilSetting, $ilUser, $query, $res, ilCourseDefinedFieldDefinition\_clone(), ilGroupParticipants\_getInstanceByObjId(), ilContainerSortingSettings\_lookupSortMode(), cloneAutoGeneratedRoles(), ilObject\cloneMetaData(), enableMembershipLimitation(), enableRegistrationAccessCode(), enableSessionLimit(), enableUnlimitedRegistration(), enableWaitingList(), ilDBConstants\FETCHMODE_OBJECT, ilMembershipRegistrationCodeUtils\generateCode(), getAutoNotification(), getCancellationEnd(), getEnableGroupMap(), getEnd(), ilObject\getId(), getInformation(), getLatitude(), getLocationZoom(), getLongitude(), getMailToMembersType(), getMaxMembers(), getMinMembers(), getNumberOfNextSessions(), getNumberOfPreviousSessions(), getPassword(), ilObject\getRefId(), getRegistrationEnd(), getRegistrationStart(), getRegistrationType(), getShowMembers(), getStart(), hasWaitingListAutoFill(), IL_CAL_DATE, IL_CAL_DATETIME, IL_CAL_UNIX, IL_GRP_ADMIN, initParticipants(), isMembershipLimited(), isRegistrationAccessCodeEnabled(), isRegistrationUnlimited(), isSessionLimitEnabled(), isWaitingListEnabled(), ilDidacticTemplateObjSettings\lookupTemplateId(), setAutoNotification(), setCancellationEnd(), setEnableGroupMap(), setGroupType(), setInformation(), setLatitude(), setLocationZoom(), setLongitude(), setMailToMembersType(), setMaxMembers(), setMinMembers(), setNumberOfNextSessions(), setNumberOfPreviousSessions(), ilContainer\setOrderType(), setPassword(), setPeriod(), setRegistrationAccessCode(), setRegistrationEnd(), setRegistrationStart(), setRegistrationType(), setShowMembers(), setViewMode(), setWaitingListAutoFill(), toggleStartTimeIndication(), and ilTimeZone\UTC.

974  {
975  global $DIC;
976 
977  $ilDB = $DIC['ilDB'];
978 
979  parent::read();
980 
981  $query = "SELECT * FROM grp_settings " .
982  "WHERE obj_id = " . $ilDB->quote($this->getId(), 'integer');
983 
984  $res = $ilDB->query($query);
985  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
986  $this->setInformation($row->information);
987  $this->setGroupType($row->grp_type);
988  $this->setRegistrationType($row->registration_type);
989  $this->enableUnlimitedRegistration($row->registration_unlimited);
990  $this->setRegistrationStart(new ilDateTime($row->registration_start, IL_CAL_DATETIME));
991  $this->setRegistrationEnd(new ilDateTime($row->registration_end, IL_CAL_DATETIME));
992  $this->setPassword($row->registration_password);
993  $this->enableMembershipLimitation((bool) $row->registration_mem_limit);
994  $this->setMaxMembers($row->registration_max_members);
995  $this->enableWaitingList($row->waiting_list);
996  $this->setLatitude($row->latitude);
997  $this->setLongitude($row->longitude);
998  $this->setLocationZoom($row->location_zoom);
999  $this->setEnableGroupMap($row->enablemap);
1000  $this->enableRegistrationAccessCode($row->reg_ac_enabled);
1001  $this->setRegistrationAccessCode($row->reg_ac);
1002  $this->setViewMode($row->view_mode);
1003  $this->setMailToMembersType($row->mail_members_type);
1004  $this->setCancellationEnd($row->leave_end ? new ilDate($row->leave_end, IL_CAL_UNIX) : null);
1005  $this->setMinMembers($row->registration_min_members);
1006  $this->setWaitingListAutoFill($row->auto_wait);
1007  $this->setShowMembers($row->show_members);
1008  $this->setAutoNotification((bool) $row->auto_notification);
1009  if ($row->period_time_indication) {
1010  $this->setPeriod(
1011  new \ilDateTime($row->period_start, IL_CAL_DATETIME, \ilTimeZone::UTC),
1012  new \ilDateTime($row->period_end, IL_CAL_DATETIME, \ilTimeZone::UTC)
1013  );
1014  } elseif (!is_null($row->period_start) && !is_null($row->period_end)) {
1015  $this->setPeriod(
1016  new \ilDate($row->period_start, IL_CAL_DATE),
1017  new \ilDate($row->period_end, IL_CAL_DATE)
1018  );
1019  }
1020  $this->toggleStartTimeIndication((bool) $row->period_time_indication);
1021  $this->enableSessionLimit((bool) $row->session_limit);
1022  $this->setNumberOfPreviousSessions((int) $row->session_prev);
1023  $this->setNumberOfNextSessions((int) $row->session_next);
1024  }
1025  $this->initParticipants();
1026 
1027  // Inherit order type from parent course (if exists)
1028  include_once('./Services/Container/classes/class.ilContainerSortingSettings.php');
1030  }
setCancellationEnd(ilDate $a_value=null)
const IL_CAL_DATETIME
setWaitingListAutoFill($a_value)
setLongitude($a_longitude)
Set Longitude.
setNumberOfPreviousSessions(int $a_num)
Set number of previous sessions.
toggleStartTimeIndication(bool $time_indication)
setNumberOfNextSessions(int $a_num)
Set number of upcoming sessions.
const IL_CAL_UNIX
enableUnlimitedRegistration($a_status)
enable unlimited registration
enableWaitingList($a_status)
enable waiting list
setShowMembers($a_status)
setLatitude($a_latitude)
Set Latitude.
Class for single dates.
foreach($_POST as $key=> $value) $res
getId()
get object id public
enableMembershipLimitation($a_status)
enable max member limitation
global $DIC
Definition: goto.php:24
setPassword($a_pass)
set password
setViewMode($a_view_mode)
Set group view mode.
setMaxMembers($a_max)
set max members
setRegistrationEnd($a_end)
set registration end
setRegistrationType($a_type)
set registration type
initParticipants()
init participants object
$query
setGroupType($a_type)
set group type
setMinMembers($a_max)
set min members
setInformation($a_information)
set information
setPeriod(\ilDateTime $start=null, \ilDateTime $end=null)
setEnableGroupMap($a_enablemap)
Set Enable Group Map.
const IL_CAL_DATE
setRegistrationStart($a_start)
set registration start
enableRegistrationAccessCode($a_status)
En/disable registration access code.
setLocationZoom($a_locationzoom)
Set LocationZoom.
setOrderType($a_value)
global $ilDB
static _lookupSortMode($a_obj_id)
lookup sort mode
setMailToMembersType($a_type)
Set mail to members type.
setAutoNotification(bool $a_status)
setRegistrationAccessCode($a_code)
Set refistration access code.
enableSessionLimit(bool $a_status)
en/disable limited number of sessions
+ Here is the call graph for this function:

◆ readGroupStatus()

ilObjGroup::readGroupStatus ( )

Read group type.

Returns
int

Definition at line 1582 of file class.ilObjGroup.php.

References $DIC, ilObject\getRefId(), GRP_TYPE_CLOSED, GRP_TYPE_OPEN, and ilDidacticTemplateObjSettings\lookupTemplateId().

1582  : int
1583  {
1584  global $DIC;
1585 
1586 
1588  $logger = $DIC->logger()->grp();
1589  $logger->dump($tpl_id);
1590  if (!$tpl_id) {
1591  return GRP_TYPE_OPEN;
1592  }
1593  return GRP_TYPE_CLOSED;
1594  }
static lookupTemplateId($a_ref_id)
Lookup template id ilDB $ilDB.
const GRP_TYPE_OPEN
const GRP_TYPE_CLOSED
global $DIC
Definition: goto.php:24
getRefId()
get reference id public
+ Here is the call graph for this function:

◆ register()

ilObjGroup::register (   $a_user_id,
  $a_role = IL_GRP_MEMBER,
  $a_force_registration = false 
)
See also
ilMembershipRegistrationCodes::register()
Parameters
intuser_id
introle
boolforce registration and do not check registration constraints.

Definition at line 2061 of file class.ilObjGroup.php.

References $end, $start, $waiting_list, ilDateTime\_after(), ilDateTime\_before(), ilGroupParticipants\_getInstanceByObjId(), ilObjGroupAccess\_usingRegistrationCode(), ilMembershipRegistrationException\ADDED_TO_WAITINGLIST, ilObject\getId(), getMaxMembers(), getRegistrationEnd(), getRegistrationStart(), ilObject\getTitle(), IL_CAL_UNIX, isMembershipLimited(), isRegistrationEnabled(), isRegistrationUnlimited(), isWaitingListEnabled(), ilMembershipRegistrationException\OBJECT_IS_FULL, ilMembershipRegistrationException\OUT_OF_REGISTRATION_PERIOD, ilMembershipRegistrationException\REGISTRATION_CODE_DISABLED, ilGroupMembershipMailNotification\TYPE_ADMISSION_MEMBER, ilGroupMembershipMailNotification\TYPE_NOTIFICATION_REGISTRATION, and ilGroupMembershipMailNotification\TYPE_WAITING_LIST_MEMBER.

2062  {
2063  include_once './Services/Membership/exceptions/class.ilMembershipRegistrationException.php';
2064  include_once "./Modules/Group/classes/class.ilGroupParticipants.php";
2066 
2067  if ($part->isAssigned($a_user_id)) {
2068  return true;
2069  }
2070 
2071  if (!$a_force_registration) {
2072  // Availability
2073  if (!$this->isRegistrationEnabled()) {
2074  include_once './Modules/Group/classes/class.ilObjGroupAccess.php';
2075 
2077  throw new ilMembershipRegistrationException('Cannot registrate to group ' . $this->getId() .
2078  ', group subscription is deactivated.', ilMembershipRegistrationException::REGISTRATION_CODE_DISABLED);
2079  }
2080  }
2081 
2082  // Time Limitation
2083  if (!$this->isRegistrationUnlimited()) {
2084  $start = $this->getRegistrationStart();
2085  $end = $this->getRegistrationEnd();
2086  $time = new ilDateTime(time(), IL_CAL_UNIX);
2087 
2088  if (!(ilDateTime::_after($time, $start) and ilDateTime::_before($time, $end))) {
2089  throw new ilMembershipRegistrationException('Cannot registrate to group ' . $this->getId() .
2090  ', group is out of registration time.', ilMembershipRegistrationException::OUT_OF_REGISTRATION_PERIOD);
2091  }
2092  }
2093 
2094  // Max members
2095  if ($this->isMembershipLimited()) {
2096  $free = max(0, $this->getMaxMembers() - $part->getCountMembers());
2097  include_once('./Modules/Group/classes/class.ilGroupWaitingList.php');
2098  $waiting_list = new ilGroupWaitingList($this->getId());
2099  if ($this->isWaitingListEnabled() and (!$free or $waiting_list->getCountUsers())) {
2100  $this->lng->loadLanguageModule("grp");
2101  $waiting_list->addToList($a_user_id);
2102 
2103  $info = sprintf(
2104  $this->lng->txt('grp_added_to_list'),
2105  $this->getTitle(),
2106  $waiting_list->getPosition($a_user_id)
2107  );
2108 
2109  include_once('./Modules/Group/classes/class.ilGroupParticipants.php');
2110  include_once('./Modules/Group/classes/class.ilGroupMembershipMailNotification.php');
2111  $participants = ilGroupParticipants::_getInstanceByObjId($this->getId());
2112  $participants->sendNotification(ilGroupMembershipMailNotification::TYPE_WAITING_LIST_MEMBER, $a_user_id);
2113 
2115  }
2116 
2117  if (!$free or $waiting_list->getCountUsers()) {
2118  throw new ilMembershipRegistrationException('Cannot registrate to group ' . $this->getId() .
2119  ', membership is limited.', ilMembershipRegistrationException::OBJECT_IS_FULL);
2120  }
2121  }
2122  }
2123 
2124  $part->add($a_user_id, $a_role);
2125  $part->sendNotification(ilGroupMembershipMailNotification::TYPE_ADMISSION_MEMBER, $a_user_id);
2126  $part->sendNotification(ilGroupMembershipMailNotification::TYPE_NOTIFICATION_REGISTRATION, $a_user_id);
2127  return true;
2128  }
getMaxMembers()
get max members
isRegistrationEnabled()
is registration enabled
isRegistrationUnlimited()
is registration unlimited
isMembershipLimited()
is max member limited
getRegistrationEnd()
get registration end
static _after(ilDateTime $start, ilDateTime $end, $a_compare_field='', $a_tz='')
compare two dates and check start is after end This method does not consider tz offsets.
static _before(ilDateTime $start, ilDateTime $end, $a_compare_field='', $a_tz='')
compare two dates and check start is before end This method does not consider tz offsets.
const IL_CAL_UNIX
getRegistrationStart()
get registration start
getId()
get object id public
static _usingRegistrationCode()
Using Registration code.
Waiting list for groups.
getTitle()
get object title public
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
isWaitingListEnabled()
is waiting list enabled
+ Here is the call graph for this function:

◆ setAutoNotification()

ilObjGroup::setAutoNotification ( bool  $a_status)
Parameters
bool$a_status

Definition at line 612 of file class.ilObjGroup.php.

Referenced by read().

613  {
614  $this->auto_notification = $a_status;
615  }
+ Here is the caller graph for this function:

◆ setCancellationEnd()

ilObjGroup::setCancellationEnd ( ilDate  $a_value = null)

Definition at line 590 of file class.ilObjGroup.php.

Referenced by read().

591  {
592  $this->leave_end = $a_value;
593  }
+ Here is the caller graph for this function:

◆ setEnableGroupMap()

ilObjGroup::setEnableGroupMap (   $a_enablemap)

Set Enable Group Map.

Parameters
boolean$a_enablemapEnable Group Map

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

Referenced by read().

510  {
511  $this->enablemap = $a_enablemap;
512  }
+ Here is the caller graph for this function:

◆ setEnd()

ilObjGroup::setEnd ( ilDateTime  $a_value = null)
protected
Parameters
\ilDateTime | null$a_value

Definition at line 685 of file class.ilObjGroup.php.

Referenced by setPeriod().

686  {
687  $this->grp_end = $a_value;
688  }
+ Here is the caller graph for this function:

◆ setGroupStatus()

ilObjGroup::setGroupStatus (   $a_status)

Set group status.

public

Parameters
intgroup status[0=public|2=closed]

Definition at line 1561 of file class.ilObjGroup.php.

1562  {
1563  $this->group_status = $a_status;
1564  }

◆ setGroupType()

ilObjGroup::setGroupType (   $a_type)

set group type

public

Parameters
inttype

Definition at line 201 of file class.ilObjGroup.php.

Referenced by read().

202  {
203  $this->group_type = $a_type;
204  }
+ Here is the caller graph for this function:

◆ setInformation()

ilObjGroup::setInformation (   $a_information)

set information

public

Parameters
stringinformation
Returns

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

Referenced by read().

179  {
180  $this->information = $a_information;
181  }
+ Here is the caller graph for this function:

◆ setLatitude()

ilObjGroup::setLatitude (   $a_latitude)

Set Latitude.

Parameters
string$a_latitudeLatitude

Definition at line 449 of file class.ilObjGroup.php.

Referenced by read().

450  {
451  $this->latitude = $a_latitude;
452  }
+ Here is the caller graph for this function:

◆ setLocationZoom()

ilObjGroup::setLocationZoom (   $a_locationzoom)

Set LocationZoom.

Parameters
int$a_locationzoomLocationZoom

Definition at line 489 of file class.ilObjGroup.php.

Referenced by read().

490  {
491  $this->locationzoom = $a_locationzoom;
492  }
+ Here is the caller graph for this function:

◆ setLongitude()

ilObjGroup::setLongitude (   $a_longitude)

Set Longitude.

Parameters
string$a_longitudeLongitude

Definition at line 469 of file class.ilObjGroup.php.

Referenced by read().

470  {
471  $this->longitude = $a_longitude;
472  }
+ Here is the caller graph for this function:

◆ setMailToMembersType()

ilObjGroup::setMailToMembersType (   $a_type)

Set mail to members type.

See also
ilCourseConstants
Parameters
type$a_type

Definition at line 576 of file class.ilObjGroup.php.

Referenced by read().

577  {
578  $this->mail_members = $a_type;
579  }
+ Here is the caller graph for this function:

◆ setMaxMembers()

ilObjGroup::setMaxMembers (   $a_max)

set max members

public

Parameters
intmax members

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

Referenced by read().

395  {
396  $this->reg_max_members = $a_max;
397  }
+ Here is the caller graph for this function:

◆ setMessage()

ilObjGroup::setMessage (   $a_message)

Definition at line 1930 of file class.ilObjGroup.php.

1931  {
1932  $this->message = $a_message;
1933  }

◆ setMinMembers()

ilObjGroup::setMinMembers (   $a_max)

set min members

public

Parameters
intmin members

Definition at line 372 of file class.ilObjGroup.php.

Referenced by read().

373  {
374  $this->reg_min_members = $a_max;
375  }
+ Here is the caller graph for this function:

◆ setNumberOfNextSessions()

ilObjGroup::setNumberOfNextSessions ( int  $a_num)

Set number of upcoming sessions.

Parameters
int$a_num

Definition at line 735 of file class.ilObjGroup.php.

Referenced by read().

736  {
737  $this->session_next = $a_num;
738  }
+ Here is the caller graph for this function:

◆ setNumberOfPreviousSessions()

ilObjGroup::setNumberOfPreviousSessions ( int  $a_num)

Set number of previous sessions.

Parameters
int$a_num

Definition at line 717 of file class.ilObjGroup.php.

Referenced by read().

718  {
719  $this->session_prev = $a_num;
720  }
+ Here is the caller graph for this function:

◆ setParentRolePermissions()

ilObjGroup::setParentRolePermissions (   $a_parent_ref)

This method is called before "initDefaultRoles".

Therefore no local group roles are created.

Grants permissions on the group object for all parent roles. Each permission is granted by computing the intersection of the template il_grp_status and the permission template of the parent role.

Parameters
intparent ref id

Definition at line 1677 of file class.ilObjGroup.php.

References $GLOBALS, ilObject\$rbacadmin, ilObject\$rbacreview, getGrpStatusOpenTemplateId(), ilObject\getRefId(), ilObject\getType(), and ROLE_FOLDER_ID.

Referenced by applyDidacticTemplate().

1678  {
1679  $rbacadmin = $GLOBALS['DIC']->rbac()->admin();
1680  $rbacreview = $GLOBALS['DIC']->rbac()->review();
1681 
1682  $parent_roles = $rbacreview->getParentRoleIds($a_parent_ref);
1683  foreach ((array) $parent_roles as $parent_role) {
1684  if ($parent_role['parent'] == $this->getRefId()) {
1685  continue;
1686  }
1687  if ($rbacreview->isProtected($parent_role['parent'], $parent_role['rol_id'])) {
1688  $operations = $rbacreview->getOperationsOfRole(
1689  $parent_role['obj_id'],
1690  $this->getType(),
1691  $parent_role['parent']
1692  );
1693  $rbacadmin->grantPermission(
1694  $parent_role['obj_id'],
1695  $operations,
1696  $this->getRefId()
1697  );
1698  continue;
1699  }
1700 
1701  $rbacadmin->initIntersectionPermissions(
1702  $this->getRefId(),
1703  $parent_role['obj_id'],
1704  $parent_role['parent'],
1705  $this->getGrpStatusOpenTemplateId(),
1707  );
1708  }
1709  }
getGrpStatusOpenTemplateId()
get group status open template public
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
Definition: PEAR.php:64
getType()
get object type public
const ROLE_FOLDER_ID
Definition: constants.php:32
getRefId()
get reference id public
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setPassword()

ilObjGroup::setPassword (   $a_pass)

set password

public

Parameters
stringpassword

Definition at line 327 of file class.ilObjGroup.php.

Referenced by read().

328  {
329  $this->reg_password = $a_pass;
330  }
+ Here is the caller graph for this function:

◆ setPeriod()

ilObjGroup::setPeriod ( \ilDateTime  $start = null,
\ilDateTime  $end = null 
)
Parameters
\ilDateTime | null$start
\ilDateTime | null$end
Exceptions
InvalidArgumentException

Definition at line 631 of file class.ilObjGroup.php.

References $end, $start, setEnd(), setStart(), and toggleStartTimeIndication().

Referenced by read().

632  {
633  if (
634  ($start instanceof \ilDate && !$end instanceof ilDate) ||
635  ($end instanceof \ilDate && !$start instanceof ilDate)
636  ) {
637  throw new InvalidArgumentException('Different date types not supported.');
638  }
639 
640  if ($start instanceof \ilDate) {
641  $this->toggleStartTimeIndication(false);
642  } else {
643  $this->toggleStartTimeIndication(true);
644  }
645  $this->setStart($start);
646  $this->setEnd($end);
647  }
setEnd(ilDateTime $a_value=null)
toggleStartTimeIndication(bool $time_indication)
Class for single dates.
setStart(ilDateTime $a_value=null)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setRegistrationAccessCode()

ilObjGroup::setRegistrationAccessCode (   $a_code)

Set refistration access code.

Parameters
string$a_code
Returns

Definition at line 547 of file class.ilObjGroup.php.

Referenced by read().

548  {
549  $this->reg_access_code = $a_code;
550  }
+ Here is the caller graph for this function:

◆ setRegistrationEnd()

ilObjGroup::setRegistrationEnd (   $a_end)

set registration end

public

Parameters
intunix time
Returns

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

Referenced by read().

306  {
307  $this->reg_end = $a_end;
308  }
+ Here is the caller graph for this function:

◆ setRegistrationStart()

ilObjGroup::setRegistrationStart (   $a_start)

set registration start

public

Parameters
objectilDateTime
Returns

Definition at line 281 of file class.ilObjGroup.php.

Referenced by read().

282  {
283  $this->reg_start = $a_start;
284  }
+ Here is the caller graph for this function:

◆ setRegistrationType()

ilObjGroup::setRegistrationType (   $a_type)

set registration type

public

Parameters
intregistration type
Returns

Definition at line 224 of file class.ilObjGroup.php.

Referenced by read().

225  {
226  $this->reg_type = $a_type;
227  }
+ Here is the caller graph for this function:

◆ setShowMembers()

ilObjGroup::setShowMembers (   $a_status)

Definition at line 600 of file class.ilObjGroup.php.

Referenced by read().

601  {
602  $this->show_members = $a_status;
603  }
+ Here is the caller graph for this function:

◆ setStart()

ilObjGroup::setStart ( ilDateTime  $a_value = null)
protected
Parameters
\ilDateTime | null$a_value

Definition at line 669 of file class.ilObjGroup.php.

Referenced by setPeriod().

670  {
671  $this->grp_start = $a_value;
672  }
+ Here is the caller graph for this function:

◆ setViewMode()

ilObjGroup::setViewMode (   $a_view_mode)

Set group view mode.

Parameters
int$a_view_mode

Definition at line 1846 of file class.ilObjGroup.php.

Referenced by read().

1847  {
1848  $this->view_mode = $a_view_mode;
1849  }
+ Here is the caller graph for this function:

◆ setWaitingListAutoFill()

ilObjGroup::setWaitingListAutoFill (   $a_value)

Definition at line 434 of file class.ilObjGroup.php.

Referenced by read().

435  {
436  $this->auto_fill_from_waiting = (bool) $a_value;
437  }
+ Here is the caller graph for this function:

◆ toggleStartTimeIndication()

ilObjGroup::toggleStartTimeIndication ( bool  $time_indication)
protected
Parameters
bool$time_indication

Definition at line 652 of file class.ilObjGroup.php.

Referenced by read(), and setPeriod().

653  {
654  $this->start_time_indication = $time_indication;
655  }
+ Here is the caller graph for this function:

◆ translateViewMode()

static ilObjGroup::translateViewMode (   $a_obj_id,
  $a_view_mode,
  $a_ref_id = null 
)
static

translate view mode

Parameters
int$a_obj_id
int$a_view_mode
int$a_ref_id
Returns
int

Definition at line 1879 of file class.ilObjGroup.php.

References $DIC, ilContainer\$tree, $view_mode, ilObject\_getAllReferences(), ilObject\_lookupObjId(), ilObjCourse\_lookupViewMode(), ilContainer\VIEW_BY_TYPE, ilContainer\VIEW_DEFAULT, ilContainer\VIEW_INHERIT, ilContainer\VIEW_SESSIONS, and ilContainer\VIEW_SIMPLE.

1880  {
1881  global $DIC;
1882 
1883  $tree = $DIC['tree'];
1884 
1885  if (!$a_view_mode) {
1886  $a_view_mode = ilContainer::VIEW_DEFAULT;
1887  }
1888 
1889  // view mode is inherit => check for parent course
1890  if ($a_view_mode == ilContainer::VIEW_INHERIT) {
1891  if (!$a_ref_id) {
1892  $ref = ilObject::_getAllReferences($a_obj_id);
1893  $a_ref_id = end($ref);
1894  }
1895 
1896  $crs_ref = $tree->checkForParentType($a_ref_id, 'crs');
1897  if (!$crs_ref) {
1899  }
1900 
1901  include_once './Modules/Course/classes/class.ilObjCourse.php';
1903 
1904  // validate course view mode
1905  if (!in_array($view_mode, array(ilContainer::VIEW_SESSIONS,
1908  }
1909 
1910  return $view_mode;
1911  }
1912 
1913  return $a_view_mode;
1914  }
static _lookupViewMode($a_id)
lookup view mode of container
static _getAllReferences($a_id)
get all reference ids of object
static _lookupObjId($a_id)
global $DIC
Definition: goto.php:24
+ Here is the call graph for this function:

◆ update()

ilObjGroup::update ( )

Update group.

Definition at line 870 of file class.ilObjGroup.php.

References $DIC, $ilDB, $query, $res, ilCalendarUtil\convertDateToUtcDBTimestamp(), getAutoNotification(), getCancellationEnd(), getEnableGroupMap(), getEnd(), getGroupType(), ilObject\getId(), getInformation(), getLatitude(), getLocationZoom(), getLongitude(), getMailToMembersType(), getMaxMembers(), getMinMembers(), getNumberOfNextSessions(), getNumberOfPreviousSessions(), getPassword(), getRegistrationAccessCode(), getRegistrationEnd(), getRegistrationStart(), getRegistrationType(), getShowMembers(), getStart(), getStartTimeIndication(), hasWaitingListAutoFill(), IL_CAL_DATETIME, IL_CAL_UNIX, isMembershipLimited(), isRegistrationAccessCodeEnabled(), isRegistrationEnabled(), isRegistrationUnlimited(), isSessionLimitEnabled(), isWaitingListEnabled(), prepareAppointments(), ilDBConstants\T_INTEGER, ilDBConstants\T_TIMESTAMP, and ilObject\updateMetaData().

871  {
872  global $DIC;
873 
874  $ilDB = $DIC['ilDB'];
875  $ilAppEventHandler = $DIC['ilAppEventHandler'];
876 
877  if (!parent::update()) {
878  return false;
879  }
880 
881  $this->updateMetaData();
882 
883  $query = "UPDATE grp_settings " .
884  "SET information = " . $ilDB->quote($this->getInformation(), 'text') . ", " .
885  "grp_type = " . $ilDB->quote((int) $this->getGroupType(), 'integer') . ", " .
886  "registration_type = " . $ilDB->quote($this->getRegistrationType(), 'integer') . ", " .
887  "registration_enabled = " . $ilDB->quote($this->isRegistrationEnabled() ? 1 : 0, 'integer') . ", " .
888  "registration_unlimited = " . $ilDB->quote($this->isRegistrationUnlimited() ? 1 : 0, 'integer') . ", " .
889  "registration_start = " . $ilDB->quote(($this->getRegistrationStart() && !$this->getRegistrationStart()->isNull()) ? $this->getRegistrationStart()->get(IL_CAL_DATETIME, '') : null, 'timestamp') . ", " .
890  "registration_end = " . $ilDB->quote(($this->getRegistrationEnd() && !$this->getRegistrationEnd()->isNull()) ? $this->getRegistrationEnd()->get(IL_CAL_DATETIME, '') : null, 'timestamp') . ", " .
891  "registration_password = " . $ilDB->quote($this->getPassword(), 'text') . ", " .
892 // "registration_membership_limited = ".$ilDB->quote((int) $this->isMembershipLimited() ,'integer').", ".
893  "registration_mem_limit = " . $ilDB->quote((int) $this->isMembershipLimited(), 'integer') . ", " .
894  "registration_max_members = " . $ilDB->quote($this->getMaxMembers(), 'integer') . ", " .
895  "waiting_list = " . $ilDB->quote($this->isWaitingListEnabled() ? 1 : 0, 'integer') . ", " .
896  "latitude = " . $ilDB->quote($this->getLatitude(), 'text') . ", " .
897  "longitude = " . $ilDB->quote($this->getLongitude(), 'text') . ", " .
898  "location_zoom = " . $ilDB->quote($this->getLocationZoom(), 'integer') . ", " .
899  "enablemap = " . $ilDB->quote((int) $this->getEnableGroupMap(), 'integer') . ", " .
900  'reg_ac_enabled = ' . $ilDB->quote($this->isRegistrationAccessCodeEnabled(), 'integer') . ', ' .
901  'reg_ac = ' . $ilDB->quote($this->getRegistrationAccessCode(), 'text') . ', ' .
902  'view_mode = ' . $ilDB->quote($this->view_mode, 'integer') . ', ' .
903  'mail_members_type = ' . $ilDB->quote($this->getMailToMembersType(), 'integer') . ', ' .
904  'leave_end = ' . $ilDB->quote(($this->getCancellationEnd() && !$this->getCancellationEnd()->isNull()) ? $this->getCancellationEnd()->get(IL_CAL_UNIX) : null, 'integer') . ', ' .
905  "registration_min_members = " . $ilDB->quote($this->getMinMembers(), 'integer') . ", " .
906  "auto_wait = " . $ilDB->quote($this->hasWaitingListAutoFill(), 'integer') . ", " .
907  "show_members = " . $ilDB->quote((int) $this->getShowMembers(), 'integer') . ", " .
908  'period_start = ' . $ilDB->quote(\ilCalendarUtil::convertDateToUtcDBTimestamp($this->getStart()), \ilDBConstants::T_TIMESTAMP) . ', ' .
909  'period_end = ' . $ilDB->quote(\ilCalendarUtil::convertDateToUtcDBTimestamp($this->getEnd()), \ilDBConstants::T_TIMESTAMP) . ', ' .
910  'period_time_indication = ' . $ilDB->quote($this->getStartTimeIndication() ? 1 : 0, \ilDBConstants::T_INTEGER) . ', ' .
911  'auto_notification = ' . $ilDB->quote($this->getAutoNotification(), \ilDBConstants::T_INTEGER) . ', ' .
912  'session_limit = ' . $ilDB->quote($this->isSessionLimitEnabled(), ilDBConstants::T_INTEGER) . ', ' .
913  'session_prev = ' . $ilDB->quote($this->getNumberOfPreviousSessions(), ilDBConstants::T_INTEGER) . ', ' .
914  'session_next = ' . $ilDB->quote($this->getNumberOfNextSessions(), ilDBConstants::T_INTEGER) . ' ' .
915  "WHERE obj_id = " . $ilDB->quote($this->getId(), 'integer');
916  $res = $ilDB->manipulate($query);
917 
918  $ilAppEventHandler->raise(
919  'Modules/Group',
920  'update',
921  array('object' => $this,
922  'obj_id' => $this->getId(),
923  'appointments' => $this->prepareAppointments('update'))
924  );
925 
926 
927  return true;
928  }
getMaxMembers()
get max members
isRegistrationEnabled()
is registration enabled
getLongitude()
Get Longitude.
isRegistrationUnlimited()
is registration unlimited
const IL_CAL_DATETIME
static convertDateToUtcDBTimestamp(\ilDateTime $date=null)
isMembershipLimited()
is max member limited
getRegistrationType()
get registration type
getRegistrationEnd()
get registration end
updateMetaData()
update meta data entry
getLatitude()
Get Latitude.
getRegistrationAccessCode()
get access code
getNumberOfPreviousSessions()
Get number of previous sessions.
const IL_CAL_UNIX
getRegistrationStart()
get registration start
getGroupType()
get group type
foreach($_POST as $key=> $value) $res
getId()
get object id public
prepareAppointments($a_mode='create')
Prepare calendar appointments.
global $DIC
Definition: goto.php:24
getLocationZoom()
Get LocationZoom.
$query
getEnableGroupMap()
Get Enable Group Map.
getInformation()
get Information
getMailToMembersType()
Get mail to members type.
getPassword()
get password
isRegistrationAccessCodeEnabled()
Check if access code is enabled.
getNumberOfNextSessions()
Get number of upcomoing sessions.
global $ilDB
getMinMembers()
get min members
isWaitingListEnabled()
is waiting list enabled
+ Here is the call graph for this function:

◆ updateGroupType()

ilObjGroup::updateGroupType (   $a_group_type = GRP_TYPE_OPEN)

Change group type.

Revokes permissions of all parent non-protected roles and initiates these roles with the according il_grp_(open|closed) template.

public

Returns

Definition at line 1530 of file class.ilObjGroup.php.

References $DIC, applyDidacticTemplate(), ilDidacticTemplateSettings\getInstanceByObjectType(), ilObject\getType(), and GRP_TYPE_OPEN.

1531  {
1532  global $DIC;
1533 
1534  $logger = $DIC->logger()->grp();
1535 
1536  if ($a_group_type == GRP_TYPE_OPEN) {
1537  $this->applyDidacticTemplate(0);
1538  return;
1539  }
1540 
1541  $templates = ilDidacticTemplateSettings::getInstanceByObjectType($this->getType())->getTemplates();
1542  foreach ($templates as $template) {
1543  // the closed template
1544  if ($template->isAutoGenerated()) {
1545  $logger->info('Appying default closed template');
1546  $this->applyDidacticTemplate($template->getId());
1547  return;
1548  }
1549  }
1550  $logger->warning('No closed didactic template available.');
1551  }
const GRP_TYPE_OPEN
applyDidacticTemplate($a_tpl_id)
Apply template.
global $DIC
Definition: goto.php:24
getType()
get object type public
static getInstanceByObjectType($a_obj_type)
Get instance by obj type.
+ Here is the call graph for this function:

◆ validate()

ilObjGroup::validate ( )

validate group settings

public

Returns
bool

Definition at line 756 of file class.ilObjGroup.php.

References $DIC, $ilErr, getMaxMembers(), getMinMembers(), getPassword(), getRegistrationEnd(), getRegistrationStart(), getRegistrationType(), ilObject\getTitle(), GRP_REGISTRATION_PASSWORD, isMembershipLimited(), and isWaitingListEnabled().

757  {
758  global $DIC;
759 
760  $ilErr = $DIC['ilErr'];
761 
762  if (!$this->getTitle()) {
763  $this->title = '';
764  $ilErr->appendMessage($this->lng->txt(self::ERR_MISSING_TITLE));
765  }
766  if ($this->getRegistrationType() == GRP_REGISTRATION_PASSWORD and !strlen($this->getPassword())) {
767  $ilErr->appendMessage($this->lng->txt(self::ERR_MISSING_PASSWORD));
768  }
769  /*
770  if(ilDateTime::_before($this->getRegistrationEnd(),$this->getRegistrationStart()))
771  {
772  $ilErr->appendMessage($this->lng->txt(self::ERR_WRONG_REG_TIME_LIMIT));
773  }
774  */
775  if ($this->isMembershipLimited()) {
776  if ($this->getMinMembers() <= 0 && $this->getMaxMembers() <= 0) {
777  $ilErr->appendMessage($this->lng->txt(self::ERR_MISSING_MIN_MAX_MEMBERS));
778  }
779  if ($this->getMaxMembers() <= 0 && $this->isWaitingListEnabled()) {
780  $ilErr->appendMessage($this->lng->txt(self::ERR_WRONG_MAX_MEMBERS));
781  }
782  if ($this->getMaxMembers() > 0 && $this->getMinMembers() > $this->getMaxMembers()) {
783  $ilErr->appendMessage($this->lng->txt(self::ERR_WRONG_MIN_MAX_MEMBERS));
784  }
785  }
786  if (
787  ($this->getRegistrationStart() && !$this->getRegistrationEnd()) ||
788  (!$this->getRegistrationStart() && $this->getRegistrationEnd()) ||
789  $this->getRegistrationEnd() <= $this->getRegistrationStart()
790  ) {
791  $ilErr->appendMessage($this->lng->txt((self::ERR_WRONG_REGISTRATION_LIMITED)));
792  }
793 
794  return strlen($ilErr->getMessage()) == 0;
795  }
getMaxMembers()
get max members
isMembershipLimited()
is max member limited
getRegistrationType()
get registration type
getRegistrationEnd()
get registration end
const GRP_REGISTRATION_PASSWORD
getRegistrationStart()
get registration start
$ilErr
Definition: raiseError.php:18
global $DIC
Definition: goto.php:24
getTitle()
get object title public
getPassword()
get password
getMinMembers()
get min members
isWaitingListEnabled()
is waiting list enabled
+ Here is the call graph for this function:

Field Documentation

◆ $auto_fill_from_waiting

ilObjGroup::$auto_fill_from_waiting
protected

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

Referenced by hasWaitingListAutoFill().

◆ $auto_notification

ilObjGroup::$auto_notification = true
protected

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

Referenced by getAutoNotification().

◆ $enablemap

ilObjGroup::$enablemap = 0
private

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

Referenced by getEnableGroupMap().

◆ $end

ilObjGroup::$end = null
protected

Definition at line 99 of file class.ilObjGroup.php.

Referenced by register(), and setPeriod().

◆ $file_obj

ilObjGroup::$file_obj = null

Group file object for handling of export files.

Definition at line 122 of file class.ilObjGroup.php.

◆ $group_type

ilObjGroup::$group_type = null
protected

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

Referenced by getGroupType().

◆ $grp_start_time_indication

ilObjGroup::$grp_start_time_indication = false
protected

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

◆ $information

ilObjGroup::$information
protected

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

Referenced by getInformation().

◆ $latitude

ilObjGroup::$latitude = ''
private

Definition at line 103 of file class.ilObjGroup.php.

Referenced by getLatitude().

◆ $leave_end

ilObjGroup::$leave_end
protected

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

Referenced by getCancellationEnd().

◆ $locationzoom

ilObjGroup::$locationzoom = 0
private

Definition at line 105 of file class.ilObjGroup.php.

Referenced by getLocationZoom().

◆ $longitude

ilObjGroup::$longitude = ''
private

Definition at line 104 of file class.ilObjGroup.php.

Referenced by getLongitude().

◆ $m_grpStatus

ilObjGroup::$m_grpStatus

Definition at line 124 of file class.ilObjGroup.php.

◆ $m_roleAdminId

ilObjGroup::$m_roleAdminId

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

◆ $m_roleMemberId

ilObjGroup::$m_roleMemberId

Definition at line 126 of file class.ilObjGroup.php.

◆ $mail_members

ilObjGroup::$mail_members = self::MAIL_ALLOWED_ALL
private

Definition at line 113 of file class.ilObjGroup.php.

Referenced by getMailToMembersType().

◆ $members_obj

ilObjGroup::$members_obj

Definition at line 116 of file class.ilObjGroup.php.

Referenced by getMembersObject().

◆ $reg_access_code

ilObjGroup::$reg_access_code = ''
private

Definition at line 108 of file class.ilObjGroup.php.

Referenced by getRegistrationAccessCode().

◆ $reg_access_code_enabled

ilObjGroup::$reg_access_code_enabled = false
private

Definition at line 109 of file class.ilObjGroup.php.

Referenced by isRegistrationAccessCodeEnabled().

◆ $reg_enabled

ilObjGroup::$reg_enabled = true
protected

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

◆ $reg_end

ilObjGroup::$reg_end = null
protected

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

Referenced by getRegistrationEnd().

◆ $reg_max_members

ilObjGroup::$reg_max_members = 0
protected

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

Referenced by getMaxMembers().

◆ $reg_membership_limitation

ilObjGroup::$reg_membership_limitation = false
protected

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

Referenced by isMembershipLimited().

◆ $reg_min_members

ilObjGroup::$reg_min_members = 0
protected

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

Referenced by getMinMembers().

◆ $reg_password

ilObjGroup::$reg_password = ''
protected

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

Referenced by getPassword().

◆ $reg_start

ilObjGroup::$reg_start = null
protected

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

Referenced by getRegistrationStart().

◆ $reg_type

ilObjGroup::$reg_type = GRP_REGISTRATION_DIRECT
protected

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

Referenced by getRegistrationType().

◆ $reg_unlimited

ilObjGroup::$reg_unlimited = true
protected

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

Referenced by isRegistrationUnlimited().

◆ $session_limit

ilObjGroup::$session_limit = 0
private

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

Referenced by isSessionLimitEnabled().

◆ $session_next

ilObjGroup::$session_next = -1
private

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

Referenced by getNumberOfNextSessions().

◆ $session_prev

ilObjGroup::$session_prev = -1
private

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

Referenced by getNumberOfPreviousSessions().

◆ $show_members

ilObjGroup::$show_members = 1
protected

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

Referenced by getShowMembers().

◆ $SHOW_MEMBERS_DISABLED

ilObjGroup::$SHOW_MEMBERS_DISABLED = 0

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

◆ $SHOW_MEMBERS_ENABLED

ilObjGroup::$SHOW_MEMBERS_ENABLED = 1

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

◆ $start

ilObjGroup::$start = null
protected

Definition at line 94 of file class.ilObjGroup.php.

Referenced by register(), and setPeriod().

◆ $view_mode

ilObjGroup::$view_mode = ilContainer::VIEW_DEFAULT
private

Definition at line 111 of file class.ilObjGroup.php.

Referenced by getViewMode(), lookupViewMode(), and translateViewMode().

◆ $waiting_list

ilObjGroup::$waiting_list = false
protected

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

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

◆ CAL_END

const ilObjGroup::CAL_END = 4

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

◆ CAL_REG_END

const ilObjGroup::CAL_REG_END = 2

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

◆ CAL_REG_START

const ilObjGroup::CAL_REG_START = 1

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

◆ CAL_START

const ilObjGroup::CAL_START = 3

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

◆ ERR_MISSING_GROUP_TYPE

const ilObjGroup::ERR_MISSING_GROUP_TYPE = 'grp_missing_grp_type'

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

◆ ERR_MISSING_MIN_MAX_MEMBERS

const ilObjGroup::ERR_MISSING_MIN_MAX_MEMBERS = 'grp_wrong_min_max_members'

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

◆ ERR_MISSING_PASSWORD

const ilObjGroup::ERR_MISSING_PASSWORD = 'grp_missing_password'

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

◆ ERR_MISSING_TITLE

const ilObjGroup::ERR_MISSING_TITLE = 'msg_no_title'

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

◆ ERR_WRONG_MAX_MEMBERS

const ilObjGroup::ERR_WRONG_MAX_MEMBERS = 'grp_wrong_max_members'

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

◆ ERR_WRONG_MIN_MAX_MEMBERS

const ilObjGroup::ERR_WRONG_MIN_MAX_MEMBERS = 'grp_max_and_min_members_invalid'

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

◆ ERR_WRONG_REG_TIME_LIMIT

const ilObjGroup::ERR_WRONG_REG_TIME_LIMIT = 'grp_wrong_reg_time_limit'

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

◆ ERR_WRONG_REGISTRATION_LIMITED

const ilObjGroup::ERR_WRONG_REGISTRATION_LIMITED = 'grp_err_registration_limited'

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

◆ GRP_ADMIN

const ilObjGroup::GRP_ADMIN = 2

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

◆ GRP_MEMBER

const ilObjGroup::GRP_MEMBER = 1

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

◆ MAIL_ALLOWED_ALL

const ilObjGroup::MAIL_ALLOWED_ALL = 1

◆ MAIL_ALLOWED_TUTORS

const ilObjGroup::MAIL_ALLOWED_TUTORS = 2

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

Referenced by ilObjGroupGUI\initForm().


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