/** * Check if (current) user has access to the participant list * @param type $a_obj * @param type $a_usr_id */ public static function hasParticipantListAccess($a_obj_id, $a_usr_id = null) { if (!$a_usr_id) { $a_usr_id = $GLOBALS['ilUser']->getId(); } // if write access granted => return true $refs = ilObject::_getAllReferences($a_obj_id); $ref_id = end($refs); if ($GLOBALS['ilAccess']->checkAccess('write', '', $ref_id)) { return true; } $part = self::getInstanceByObjId($a_obj_id); if ($part->isAssigned($a_usr_id)) { if ($part->getType() == 'crs') { // Check for show_members include_once './Modules/Course/classes/class.ilObjCourse.php'; if (!ilObjCourse::lookupShowMembersEnabled($a_obj_id)) { return false; } } return true; } // User is not assigned to course/group => no read access return false; }