27 require_once
"./Services/Container/classes/class.ilContainer.php";
28 include_once(
'./Services/Calendar/classes/class.ilDateTime.php');
31 define(
'GRP_REGISTRATION_DEACTIVATED',-1);
32 define(
'GRP_REGISTRATION_DIRECT',0);
33 define(
'GRP_REGISTRATION_REQUEST',1);
34 define(
'GRP_REGISTRATION_PASSWORD',2);
36 define(
'GRP_REGISTRATION_LIMITED',1);
37 define(
'GRP_REGISTRATION_UNLIMITED',2);
39 define(
'GRP_TYPE_UNKNOWN',0);
40 define(
'GRP_TYPE_CLOSED',1);
41 define(
'GRP_TYPE_OPEN',2);
42 define(
'GRP_TYPE_PUBLIC',3);
105 public function __construct($a_id = 0,$a_call_by_reference =
true)
109 $this->tree =& $tree;
112 $this->
ilObject($a_id,$a_call_by_reference);
126 $this->information = $a_information;
149 $this->group_type = $a_type;
192 $this->reg_type = $a_type;
226 $this->reg_unlimited = $a_status;
249 $this->reg_start = $a_start;
260 return $this->reg_start ? $this->reg_start : $this->reg_start =
new ilDateTime(date(
'Y-m-d').
' 08:00:00',
IL_CAL_DATETIME);
273 $this->reg_end = $a_end;
295 $this->reg_password = $a_pass;
318 $this->reg_membership_limitation = $a_status;
340 $this->reg_max_members = $a_max;
363 $this->waiting_list = $a_status;
385 $this->latitude = $a_latitude;
405 $this->longitude = $a_longitude;
425 $this->locationzoom = $a_locationzoom;
435 return $this->locationzoom;
445 $this->enablemap = $a_enablemap;
471 $ilErr->appendMessage(self::ERR_MISSING_TITLE);
475 $ilErr->appendMessage(self::ERR_MISSING_GROUP_TYPE);
479 $ilErr->appendMessage(self::ERR_MISSING_PASSWORD);
483 $ilErr->appendMessage(self::ERR_WRONG_REG_TIME_LIMIT);
487 $ilErr->appendMessage(self::ERR_WRONG_MAX_MEMBERS);
489 return strlen($ilErr->getMessage()) == 0;
500 global $ilDB,$ilAppEventHandler;
502 if(!parent::create())
507 $query =
"INSERT INTO grp_settings ".
508 "SET obj_id = ".$ilDB->quote($this->
getId()).
", ".
510 "grp_type = ".$ilDB->quote((
int) $this->
getGroupType()).
", ".
512 "registration_enabled = ".($this->isRegistrationEnabled() ? 1 : 0).
", ".
514 "registration_start = ".$ilDB->quote($this->getRegistrationStart()->get(
IL_CAL_DATETIME,
'')).
", ".
515 "registration_end = ".$ilDB->quote($this->getRegistrationEnd()->get(
IL_CAL_DATETIME,
'')).
", ".
516 "registration_password = ".$ilDB->quote($this->getPassword()).
", ".
517 "registration_membership_limited = ".$ilDB->quote((
int) $this->isMembershipLimited()).
", ".
518 "registration_max_members = ".$ilDB->quote($this->getMaxMembers()).
", ".
519 "waiting_list = ".$ilDB->quote($this->isWaitingListEnabled() ? 1 : 0).
", ".
520 "latitude = ".$ilDB->quote($this->getLatitude()).
", ".
521 "longitude = ".$ilDB->quote($this->getLongitude()).
", ".
522 "location_zoom = ".$ilDB->quote($this->getLocationZoom()).
", ".
523 "enablemap = ".$ilDB->quote($this->getEnableGroupMap()).
" ";
525 $ilDB->query($query);
527 $ilAppEventHandler->raise(
'Modules/Group',
529 array(
'object' => $this,
530 'obj_id' => $this->
getId(),
533 return $this->
getId();
541 global $ilDB,$ilAppEventHandler;
543 if (!parent::update())
548 $query =
"UPDATE grp_settings ".
550 "grp_type = ".$ilDB->quote((
int) $this->
getGroupType()).
", ".
552 "registration_enabled = ".($this->isRegistrationEnabled() ? 1 : 0).
", ".
554 "registration_start = ".$ilDB->quote($this->getRegistrationStart()->get(
IL_CAL_DATETIME,
'')).
", ".
555 "registration_end = ".$ilDB->quote($this->getRegistrationEnd()->get(
IL_CAL_DATETIME,
'')).
", ".
556 "registration_password = ".$ilDB->quote($this->getPassword()).
", ".
557 "registration_membership_limited = ".$ilDB->quote((
int) $this->isMembershipLimited()).
", ".
558 "registration_max_members = ".$ilDB->quote($this->getMaxMembers()).
", ".
559 "waiting_list = ".$ilDB->quote($this->isWaitingListEnabled() ? 1 : 0).
", ".
560 "latitude = ".$ilDB->quote($this->getLatitude()).
", ".
561 "longitude = ".$ilDB->quote($this->getLongitude()).
", ".
562 "location_zoom = ".$ilDB->quote($this->getLocationZoom()).
", ".
563 "enablemap = ".$ilDB->quote($this->getEnableGroupMap()).
" ".
564 "WHERE obj_id = ".$ilDB->quote($this->getId()).
" ";
566 $ilDB->query($query);
568 $ilAppEventHandler->raise(
'Modules/Group',
570 array(
'object' => $this,
571 'obj_id' => $this->
getId(),
584 public function delete()
586 global $ilDB,$ilAppEventHandler;
589 if (!parent::delete())
594 $query =
"DELETE FROM grp_settings ".
595 "WHERE obj_id = ".$ilDB->quote($this->
getId());
596 $ilDB->query($query);
598 include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
601 $ilAppEventHandler->raise(
'Modules/Group',
603 array(
'object' => $this,
604 'obj_id' => $this->
getId(),
621 $query =
"SELECT * FROM grp_settings ".
622 "WHERE obj_id = ".$ilDB->quote($this->
getId());
624 $res = $ilDB->query($query);
645 include_once(
'./Services/Container/classes/class.ilContainerSortingSettings.php');
659 global $ilDB,$ilUser;
684 $ilLog->write(__METHOD__.
': Starting add user');
687 include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
690 $part->updateNotification($ilUser->getId(),1);
693 include_once(
'Services/Tracking/classes/class.ilLPObjSettings.php');
695 $obj_settings->cloneSettings($new_obj->getId());
696 unset($obj_settings);
720 if($course_ref_id = $tree->checkForParentType($this->getRefId(),
'crs') and
721 $new_course_ref_id = $tree->checkForParentType($a_target_id,
'crs'))
723 include_once(
'Modules/Course/classes/class.ilCourseItems.php');
726 $course_items->cloneDependencies($a_target_id,$a_copy_id);
729 include_once(
'Services/Tracking/classes/class.ilLPCollections.php');
731 $lp_collection->cloneCollections($a_target_id,$a_copy_id);
745 global
$ilLog,$rbacadmin,$rbacreview;
748 $new_admin = $new_obj->getDefaultAdminRole();
749 $source_rolf = $rbacreview->getRoleFolderIdOfObject($this->
getRefId());
750 $target_rolf = $rbacreview->getRoleFolderIdOfObject($new_obj->getRefId());
752 if(!$admin || !$new_admin || !$source_rolf || !$target_rolf)
754 $ilLog->write(__METHOD__.
' : Error cloning auto generated role: il_grp_admin');
756 $rbacadmin->copyRolePermissions($admin,$source_rolf,$target_rolf,$new_admin,
true);
757 $ilLog->write(__METHOD__.
' : Finished copying of role il_grp_admin.');
760 $new_member = $new_obj->getDefaultMemberRole();
761 if(!$member || !$new_member)
763 $ilLog->write(__METHOD__.
' : Error cloning auto generated role: il_grp_member');
765 $rbacadmin->copyRolePermissions($member,$source_rolf,$target_rolf,$new_member,
true);
766 $ilLog->write(__METHOD__.
' : Finished copying of role grp_member.');
775 function join($a_user_id, $a_mem_role=
"")
779 if (is_array($a_mem_role))
781 foreach ($a_mem_role as $role)
783 $rbacadmin->assignUser($role,$a_user_id,
false);
788 $rbacadmin->assignUser($a_mem_role,$a_user_id,
false);
802 return $local_group_Roles[
"il_grp_member_".$this->getRefId()];
813 return $local_group_Roles[
"il_grp_admin_".$this->getRefId()];
826 if (isset($a_user_id) && isset($a_mem_role) )
828 $this->
join($a_user_id,$a_mem_role);
833 $this->ilias->raiseError(get_class($this).
"::addMember(): Missing parameters !",$this->ilias->error_obj->WARNING);
847 global $rbacadmin, $rbacreview;
851 if (count($member_ids) <= 1 || !in_array($this->ilias->account->getId(), $member_ids))
857 if (!$this->
isAdmin($this->ilias->account->getId()))
859 $this->
leave($this->ilias->account->getId());
860 $member =
new ilObjUser($this->ilias->account->getId());
882 if (is_array($arr_groupRoles))
884 foreach ($arr_groupRoles as $groupRole)
886 $rbacadmin->deassignUser($groupRole, $a_user_id);
891 $rbacadmin->deassignUser($arr_groupRoles, $a_user_id);
905 global $rbacadmin, $rbacreview;
911 foreach ($rol as $value)
913 foreach ($rbacreview->assignedUsers($value) as $member_id)
915 array_push($usr_arr,$member_id);
919 $mem_arr = array_unique($usr_arr);
921 return $mem_arr ? $mem_arr : array();
933 global $rbacadmin, $rbacreview,
$ilBench, $ilDB;
937 $q =
"SELECT login,firstname,lastname,title,usr_id,last_login ".
941 if (is_numeric($active) && $active > -1)
942 $q .=
"AND active = '$active'";
944 $q .=
'ORDER BY lastname,firstname';
946 $r = $ilDB->query($q);
950 $mem_arr[] = array(
"id" => $row->usr_id,
951 "login" => $row->login,
952 "firstname" => $row->firstname,
953 "lastname" => $row->lastname,
954 "last_login" => $row->last_login
958 return $mem_arr ? $mem_arr : array();
976 if (!empty($a_grpId))
988 foreach ($rbacreview->assignedUsers($this->getDefaultAdminRole()) as $member_id)
990 array_push($usr_arr,$member_id);
1003 global $rbacadmin, $rbacreview;
1005 if (strlen($a_grp_id) > 0)
1007 $grp_id = $a_grp_id;
1014 $rolf = $rbacreview->getRoleFolderOfObject($grp_id);
1015 $role_arr = $rbacreview->getRolesOfRoleFolder($rolf[
"ref_id"]);
1017 foreach ($role_arr as $role_id)
1019 $role_Obj =& $this->ilias->obj_factory->getInstanceByObjId($role_id);
1021 $grp_Member =
"il_grp_member_".$grp_id;
1022 $grp_Admin =
"il_grp_admin_".$grp_id;
1024 if (strcmp($role_Obj->getTitle(), $grp_Member) == 0 )
1026 $arr_grpDefaultRoles[
"grp_member_role"] = $role_Obj->getId();
1029 if (strcmp($role_Obj->getTitle(), $grp_Admin) == 0)
1031 $arr_grpDefaultRoles[
"grp_admin_role"] = $role_Obj->getId();
1035 return $arr_grpDefaultRoles;
1046 global $rbacadmin,$rbacreview;
1048 if (empty($this->local_roles))
1050 $this->local_roles = array();
1051 $rolf = $rbacreview->getRoleFolderOfObject($this->
getRefId());
1052 $role_arr = $rbacreview->getRolesOfRoleFolder($rolf[
"ref_id"]);
1054 foreach ($role_arr as $role_id)
1056 if ($rbacreview->isAssignable($role_id,$rolf[
"ref_id"]) ==
true)
1058 $role_Obj =& $this->ilias->obj_factory->getInstanceByObjId($role_id);
1066 $role_name = $role_Obj->getTitle();
1069 $this->local_roles[$role_name] = $role_Obj->getId();
1074 return $this->local_roles;
1084 $q =
"SELECT obj_id FROM object_data WHERE type='rolt' AND title='il_grp_status_closed'";
1085 $res = $this->ilias->db->query($q);
1088 return $row[
"obj_id"];
1098 $q =
"SELECT obj_id FROM object_data WHERE type='rolt' AND title='il_grp_status_open'";
1099 $res = $this->ilias->db->query($q);
1102 return $row[
"obj_id"];
1114 $q =
"SELECT * FROM grp_data WHERE grp_id= ".
1115 $ilDB->quote($this->
getId());
1116 $res = $this->ilias->db->query($q);
1119 if (
$res->numRows() == 0)
1121 $q =
"INSERT INTO grp_data (grp_id, expiration) VALUES(".
1122 $ilDB->quote($this->
getId()).
",".$ilDB->quote($date).
")";
1123 $res = $this->ilias->db->query($q);
1127 $q =
"UPDATE grp_data SET expiration=".
1128 $ilDB->quote($date).
" WHERE grp_id=".$ilDB->quote($this->
getId());
1129 $res = $this->ilias->db->query($q);
1144 $q =
"SELECT * FROM grp_data WHERE grp_id= ".
1145 $ilDB->quote($this->
getId());
1146 $res = $this->ilias->db->query($q);
1148 return $datetime = $row[
"expiration"];
1156 $query =
"SELECT UNIX_TIMESTAMP(expiration) as timest FROM grp_data WHERE grp_id = ".
1157 $ilDB->quote($this->
getId());
1159 $res = $this->ilias->db->query($query);
1161 return $row[
'timest'];
1176 global $tree,$rbacreview,$rbacadmin;
1178 $parent_roles = $rbacreview->getParentRoleIds($this->
getRefId());
1180 $rolf_data = $rbacreview->getRoleFolderOfObject($this->
getRefId());
1183 foreach($real_parent_roles as $role_id)
1186 if(isset($rolf_data[
'child']) and $rolf_data[
'child'])
1188 $rbacadmin->deleteLocalRole($role_id,$rolf_data[
'child']);
1191 $parent_roles = $rbacreview->getParentRoleIds($this->
getRefId());
1206 foreach($tree->getFilteredSubTree($this->getRefId(),array(
'rolf',
'grp')) as $subnode)
1209 $template_ops = $rbacreview->getOperationsOfRole($template_id,$subnode[
'type'], ROLE_FOLDER_ID);
1211 $rolf_data = $rbacreview->getRoleFolderOfObject($subnode[
'child']);
1215 foreach($real_parent_roles as $role_id)
1217 if($rbacreview->isProtected($parent_roles[$role_id][
'parent'],$role_id))
1223 if(isset($rolf_data[
'child']) and $rolf_data[
'child'])
1225 $rbacadmin->deleteLocalRole($role_id,$rolf_data[
'child']);
1229 $current_ops = $rbacreview->getOperationsOfRole($role_id,$subnode[
'type'],$parent_roles[$role_id][
'parent']);
1232 $rbacadmin->revokePermission($subnode[
'child'],$role_id);
1236 foreach($template_ops as $operation)
1238 if(in_array($operation,$current_ops))
1240 $granted[] = $operation;
1245 $rbacadmin->grantPermission($role_id, $granted,$subnode[
'child']);
1251 $rbacadmin->copyRolePermissionIntersection(
1252 $template_id, ROLE_FOLDER_ID,
1253 $role_id, $parent_roles[$role_id][
'parent'],
1254 $rolf_data[
"child"],$role_id);
1255 $rbacadmin->assignRoleToFolder($role_id,$rolf_data[
"child"],
"n");
1282 global $rbacadmin, $rbacreview, $rbacsystem;
1285 $rolf_data = $rbacreview->getRoleFolderOfObject($this->
getRefId());
1288 $arr_parentRoles = $rbacreview->getParentRoleIds($this->
getRefId());
1290 $real_local_roles = $rbacreview->getRolesOfRoleFolder($rolf_data[
'ref_id'],
false);
1291 $arr_relevantParentRoleIds = array_diff(array_keys($arr_parentRoles),$real_local_roles);
1305 $template_ops = $rbacreview->getOperationsOfRole($template_id,
'grp', ROLE_FOLDER_ID);
1307 foreach ($arr_relevantParentRoleIds as $parentRole)
1309 if ($rbacreview->isProtected($arr_parentRoles[$parentRole][
'parent'],$parentRole))
1314 $granted_permissions = array();
1321 if(isset($rolf_data[
'child']) and $rolf_data[
'child'])
1323 $rbacadmin->deleteLocalRole($parentRole,$rolf_data[
"child"]);
1331 $current_ops = $rbacreview->getRoleOperationsOnObject($parentRole, $this->
getRefId());
1332 $rbacadmin->revokePermission($this->
getRefId(), $parentRole);
1333 foreach ($template_ops as $template_op)
1335 if (in_array($template_op,$current_ops))
1337 array_push($granted_permissions,$template_op);
1340 if (!empty($granted_permissions))
1342 $rbacadmin->grantPermission($parentRole, $granted_permissions, $this->
getRefId());
1349 $rbacadmin->copyRolePermissionIntersection(
1350 $template_id, ROLE_FOLDER_ID,
1351 $parentRole, $arr_parentRoles[$parentRole][
'parent'],
1352 $rolf_data[
"child"], $parentRole
1354 $rbacadmin->assignRoleToFolder($parentRole,$rolf_data[
"child"],
"false");
1368 $this->group_status = $a_status;
1380 return $this->group_status;
1390 global $rbacsystem,$rbacreview;
1392 $role_folder = $rbacreview->getRoleFolderOfObject($this->
getRefId());
1393 $local_roles = $rbacreview->getRolesOfRoleFolder($role_folder[
"ref_id"]);
1396 $rolf_data = $rbacreview->getRoleFolderOfObject($this->
getRefId());
1401 foreach ($arr_globalRoles as $globalRole)
1403 $ops_of_role = $rbacreview->getOperationsOfRole($globalRole,
"grp", ROLE_FOLDER_ID);
1405 if ($rbacsystem->checkPermission($this->getRefId(), $globalRole ,
"join"))
1422 global $rbacadmin, $rbacreview,
$ilBench;
1424 $ilBench->start(
"Group",
"getMemberRoles");
1426 $arr_assignedRoles = array();
1428 $arr_assignedRoles = array_intersect($rbacreview->assignedRoles($a_user_id),$this->
getLocalGroupRoles());
1430 $ilBench->stop(
"Group",
"getMemberRoles");
1432 return $arr_assignedRoles;
1445 include_once (
'./Services/AccessControl/classes/class.ilObjRole.php');
1447 $ilBench->start(
"Group",
"getMemberRolesTitle");
1449 $str_member_roles =
"";
1451 $q =
"SELECT title ".
1452 "FROM object_data ".
1453 "LEFT JOIN rbac_ua ON object_data.obj_id=rbac_ua.rol_id ".
1454 "WHERE object_data.type = 'role' ".
1455 "AND rbac_ua.usr_id = ".$ilDB->quote($a_user_id).
" ".
1458 $r = $ilDB->query($q);
1466 $ilBench->stop(
"Group",
"getMemberRolesTitle");
1468 return substr($str_member_roles,0,-2);
1484 if (in_array($a_userId,$rbacreview->assignedUsers($grp_Roles[
"grp_admin_role"])))
1503 global $rbacadmin, $rbacreview;
1510 $roleObj = $rfoldObj->createRole(
"il_grp_admin_".$this->
getRefId(),
"Groupadmin of group obj_no.".$this->
getId());
1511 $this->m_roleAdminId = $roleObj->getId();
1514 $q =
"SELECT obj_id FROM object_data WHERE type='rolt' AND title='il_grp_admin'";
1516 $rbacadmin->copyRoleTemplatePermissions($r->obj_id,ROLE_FOLDER_ID,$rfoldObj->getRefId(),$roleObj->getId());
1519 $ops = $rbacreview->getOperationsOfRole($roleObj->getId(),
"grp",$rfoldObj->getRefId());
1520 $rbacadmin->grantPermission($roleObj->getId(),$ops,$this->
getRefId());
1528 $roleObj = $rfoldObj->createRole(
"il_grp_member_".$this->
getRefId(),
"Groupmember of group obj_no.".$this->
getId());
1529 $this->m_roleMemberId = $roleObj->getId();
1532 $q =
"SELECT obj_id FROM object_data WHERE type='rolt' AND title='il_grp_member'";
1534 $rbacadmin->copyRoleTemplatePermissions($r->obj_id,ROLE_FOLDER_ID,$rfoldObj->getRefId(),$roleObj->getId());
1537 $ops = $rbacreview->getOperationsOfRole($roleObj->getId(),
"grp",$rfoldObj->getRefId());
1538 $rbacadmin->grantPermission($roleObj->getId(),$ops,$this->
getRefId());
1550 return $roles ? $roles : array();
1563 function notify($a_event,$a_ref_id,$a_parent_non_rbac_id,$a_node_id,$a_params = 0)
1567 $parent_id = (int) $tree->getParentId($a_node_id);
1569 if ($parent_id != 0)
1571 $obj_data =& $this->ilias->obj_factory->getInstanceByRefId($a_node_id);
1572 $obj_data->notify($a_event,$a_ref_id,$a_parent_non_rbac_id,$parent_id,$a_params);
1581 include_once
'Modules/Group/classes/class.ilGroupXMLWriter.php';
1584 $xml_writer->start();
1586 $xml = $xml_writer->getXML();
1588 $name = time().
'__'.$this->ilias->getSetting(
'inst_id').
'__grp_'.$this->
getId();
1592 $this->file_obj->addGroupDirectory();
1593 $this->file_obj->addDirectory($name);
1594 $this->file_obj->writeToFile($xml,$name.
'/'.$name.
'.xml');
1595 $this->file_obj->zipFile($name,$name.
'.zip');
1596 $this->file_obj->deleteDirectory($name);
1605 foreach($a_files as
$file)
1607 $this->file_obj->deleteFile($file);
1616 if($abs_name = $this->file_obj->getExportFile(
$file))
1634 include_once
'Modules/Group/classes/class.ilGroupXMLParser.php';
1638 return $import_parser->startParsing();
1652 include_once
'classes/class.ilFileDataGroup.php';
1656 $file_obj->createImportFile($_FILES[
"xmldoc"][
"tmp_name"],$_FILES[
'xmldoc'][
'name']);
1680 $where_condition = $a_search_obj->getWhereCondition(
"like",array(
"title",
"description"));
1681 $in = $a_search_obj->getInStatement(
"ore.ref_id");
1683 $query =
"SELECT ore.ref_id AS ref_id FROM object_data AS od, object_reference AS ore ".
1684 $where_condition.
" ".
1686 "AND od.obj_id = ore.obj_id ".
1687 "AND od.type = 'grp' ";
1689 $ilBench->start(
"Search",
"ilObjGroup_search");
1690 $res = $a_search_obj->ilias->db->query($query);
1691 $ilBench->stop(
"Search",
"ilObjGroup_search");
1697 $result_data[$counter++][
"id"] = $row->ref_id;
1698 #$result_data[$counter]["link"] = "group.php?cmd=view&ref_id=".$row->ref_id;
1699 #$result_data[$counter++]["target"] = "";
1702 return $result_data ? $result_data : array();
1715 return array(
"repository.php?ref_id=".$a_id.
"&set_mode=flat&cmdClass=ilobjgroupgui",
"");
1722 $query =
"SELECT * FROM object_data WHERE title = ".
1723 $ilDB->quote($a_title).
" AND type = 'grp'";
1724 $res = $ilDB->query($query);
1727 return $row->obj_id;
1735 global $rbacreview,$ilObjDataCache,$ilDB;
1737 $rolf = $rbacreview->getRoleFolderOfObject($a_ref_id);
1738 $local_roles = $rbacreview->getRolesOfRoleFolder($rolf[
"ref_id"],
false);
1739 $user_roles = $rbacreview->assignedRoles($a_user_id);
1744 include_once
'./Services/User/classes/class.ilObjUser.php';
1750 $and =
"AND login = '".$tmp_user->getLogin().
"' ";
1753 $and =
"AND email = '".$tmp_user->getEmail().
"' ";
1755 case 'matriculation':
1756 $and =
"AND matriculation = '".$tmp_user->getMatriculation().
"' ";
1760 $and =
"AND usr_id = '".$a_user_id.
"'";
1767 $query =
"SELECT * FROM usr_data as ud ".
1770 $res = $ilDB->query($query);
1772 return $res->numRows() ?
true :
false;
1775 if (!array_intersect($local_roles,$user_roles))
1791 $rolf = $rbacreview->getRoleFolderOfObject(
$ref_id);
1792 $local_roles = $rbacreview->getRolesOfRoleFolder($rolf[
'ref_id'],
false);
1795 foreach($local_roles as $role_id)
1797 $users = array_merge($users,$rbacreview->assignedUsers($role_id));
1800 return array_unique($users);
1816 if ($course_ref_id = $tree->checkForParentType($this->ref_id,
'crs'))
1818 include_once(
"./Modules/Course/classes/class.ilObjCourse.php");
1839 static $items = null;
1841 if(!is_object($items[$this->
getRefId()]))
1843 if ($course_ref_id = $tree->checkForParentType($this->getRefId(),
'crs'))
1845 include_once(
"./Modules/Course/classes/class.ilObjCourse.php");
1846 include_once(
"./Modules/Course/classes/class.ilCourseItems.php");
1851 if(is_object($items[$this->
getRefId()]))
1853 $items[$this->
getRefId()]->addAdditionalSubItemInformation($a_item_data);
1867 include_once
'classes/class.ilFileDataGroup.php';
1875 return $this->message;
1879 $this->message = $a_message;
1885 $this->message .=
"<br /> ";
1887 $this->message .= $a_message;
1899 include_once(
'./Services/Calendar/classes/class.ilCalendarAppointmentTemplate.php');
1911 $app->setSubtitle(
'grp_cal_reg_start');
1919 $app->setSubtitle(
'grp_cal_reg_end');
1942 include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');