/** * Add user to course * * @access public * @param int user id * @param int role IL_CRS_ADMIN || IL_CRS_TUTOR || IL_CRS_MEMBER * */ public function add($a_usr_id, $a_role) { global $rbacadmin, $ilLog, $ilAppEventHandler; if ($this->isAssigned($a_usr_id)) { return false; } switch ($a_role) { case IL_CRS_ADMIN: $this->admins[] = $a_usr_id; break; case IL_CRS_TUTOR: $this->tutors[] = $a_usr_id; break; case IL_CRS_MEMBER: $this->members[] = $a_usr_id; break; case IL_GRP_ADMIN: $this->admins[] = $a_usr_id; break; case IL_GRP_MEMBER: $this->members[] = $a_usr_id; break; } $this->participants[] = $a_usr_id; $rbacadmin->assignUser($this->role_data[$a_role], $a_usr_id); $this->addDesktopItem($a_usr_id); // Delete subscription request $this->deleteSubscriber($a_usr_id); include_once './Services/Membership/classes/class.ilWaitingList.php'; ilWaitingList::deleteUserEntry($a_usr_id, $this->obj_id); if ($this->type == 'crs') { // Add event: used for ecs accounts $ilLog->write(__METHOD__ . ': Raise new event: Modules/Course addParticipant'); $ilAppEventHandler->raise("Modules/Course", "addParticipant", array('obj_id' => $this->obj_id, 'usr_id' => $a_usr_id, 'role_id' => $a_role)); } return true; }
/** * Add user to course * * @access public * @param int user id * @param int role IL_CRS_ADMIN || IL_CRS_TUTOR || IL_CRS_MEMBER * * global ilRbacReview $rbacreview * */ public function add($a_usr_id, $a_role) { global $rbacadmin, $ilLog, $ilAppEventHandler, $rbacreview; if ($rbacreview->isAssignedToAtLeastOneGivenRole($a_usr_id, $this->roles)) { return false; } switch ($a_role) { case IL_CRS_ADMIN: $this->admins = true; break; case IL_CRS_TUTOR: $this->tutors = true; break; case IL_CRS_MEMBER: $this->members = true; break; case IL_GRP_ADMIN: $this->admins = true; break; case IL_GRP_MEMBER: $this->members = true; break; } $rbacadmin->assignUser($this->role_data[$a_role], $a_usr_id); $this->addDesktopItem($a_usr_id); // Delete subscription request $this->deleteSubscriber($a_usr_id); include_once './Services/Membership/classes/class.ilWaitingList.php'; ilWaitingList::deleteUserEntry($a_usr_id, $this->obj_id); $ilLog->write(__METHOD__ . ': Raise new event: Modules/Course addParticipant'); $ilAppEventHandler->raise($this->getComponent(), "addParticipant", array('obj_id' => $this->obj_id, 'usr_id' => $a_usr_id, 'role_id' => $a_role)); return true; }