3 declare(strict_types=1);
47 $this->
logger = $DIC->logger()->grp();
59 if (isset(self::$instances[$a_obj_id]) && self::$instances[$a_obj_id]) {
60 return self::$instances[$a_obj_id];
72 $rbacreview = $DIC[
'rbacreview'];
74 $lrol = $rbacreview->getRolesOfRoleFolder($a_ref_id,
false);
77 foreach ($lrol as $role) {
79 switch (substr($title, 0, 8)) {
91 public function add(
int $a_usr_id,
int $a_role): bool
102 parent::addSubscriber($a_usr_id);
104 $this->
logger->info(
'Raise new event: Modules/Group addSubscriber.');
105 $this->eventHandler->raise(
110 'usr_id' => $a_usr_id
124 $rbacreview = $DIC->rbac()->review();
125 $local_roles = $rbacreview->getRolesOfRoleFolder($a_ref_id,
false);
126 return $rbacreview->isAssignedToAtLeastOneGivenRole($a_usr_id, $local_roles);
129 public function sendNotification(
int $a_type,
int $a_usr_id,
bool $a_force_sending_mail =
false): void
132 $mail->forceSendingMail($a_force_sending_mail);
138 $mail->setRefId($this->ref_id);
139 $mail->setRecipients(array($a_usr_id));
146 $mail->setRefId($this->ref_id);
147 $mail->setRecipients(array($a_usr_id));
154 $mail->setAdditionalInformation(array(
'usr_id' => $a_usr_id));
155 $mail->setRefId($this->ref_id);
163 $mail->setRefId($this->ref_id);
164 $mail->setRecipients(array($a_usr_id));
171 $mail->setAdditionalInformation(array(
'usr_id' => $a_usr_id));
172 $mail->setRefId($this->ref_id);
180 $mail->setRefId($this->ref_id);
181 $mail->setRecipients(array($a_usr_id));
188 $mail->setAdditionalInformation(array(
'usr_id' => $a_usr_id));
189 $mail->setRefId($this->ref_id);
197 $mail->setRefId($this->ref_id);
198 $mail->setRecipients(array($a_usr_id));
205 $mail->setRefId($this->ref_id);
206 $mail->setRecipients(array($a_usr_id));
213 $pos = $wl->getPosition($a_usr_id);
216 $mail->setRefId($this->ref_id);
217 $mail->setRecipients(array($a_usr_id));
218 $mail->setAdditionalInformation(array(
'position' => $pos));
225 $mail->setRefId($this->ref_id);
226 $mail->setRecipients(array($a_usr_id));
static _isParticipant(int $a_ref_id, int $a_usr_id)
Static function to check if a user is a participant of the container object.
const TYPE_NOTIFICATION_REGISTRATION_REQUEST
const TYPE_NOTIFICATION_UNSUBSCRIBE
const TYPE_ACCEPTED_SUBSCRIPTION_MEMBER
const TYPE_STATUS_CHANGED
static getMemberRoles(int $a_ref_id)
Get member roles (not auto generated)
const TYPE_SUBSCRIBE_MEMBER
const TYPE_DISMISS_MEMBER
static _getAllReferences(int $id)
get all reference ids for object ID
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
const TYPE_NOTIFICATION_REGISTRATION
addRecommendation(int $a_usr_id)
Add desktop item public.
const TYPE_WAITING_LIST_MEMBER
__construct(int $a_obj_id)
Constructor.
static _lookupTitle(int $obj_id)
const TYPE_UNSUBSCRIBE_MEMBER
sendNotification(int $a_type, int $a_usr_id, bool $a_force_sending_mail=false)
const TYPE_REFUSED_SUBSCRIPTION_MEMBER
addSubscriber(int $a_usr_id)
add(int $a_usr_id, int $a_role)
Base class for course and group participants.
static _getInstanceByObjId(int $a_obj_id)
Get singleton instance.
__construct(Container $dic, ilPlugin $plugin)
getNotificationRecipients()
Get admin, tutor which have notification enabled.
const TYPE_ADMISSION_MEMBER