ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
NotificationManager.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
24
26{
27 protected int $ref_id;
28 protected \ILIAS\Exercise\Object\ObjectManager $object;
29
30 public function __construct(
32 int $ref_id
33 ) {
34 $this->object = $domain->object($ref_id);
35 $this->ref_id = $ref_id;
36 }
37
38
39 public function sendUploadNotification(int $ass_id): void
40 {
43 $this->object->getId()
44 );
45
46 $not = new \ilExerciseMailNotification();
48 $not->setAssignmentId($ass_id);
49 $not->setRefId($this->ref_id);
50 $not->setRecipients($users);
51 $not->send();
52 }
53
54 public function sendFeedbackNotification(
55 int $ass_id,
56 array $user_ids,
57 string $feedback_file = "",
58 bool $is_text_feedback = false
59 ): void {
60 $type = $is_text_feedback
61 ? \ilExerciseMailNotification::TYPE_FEEDBACK_TEXT_ADDED
62 : \ilExerciseMailNotification::TYPE_FEEDBACK_FILE_ADDED;
63
64 $not = new \ilExerciseMailNotification();
65 $not->setType($type);
66 $not->setAssignmentId($ass_id);
67 $not->setRefId($this->ref_id);
68 $not->setRecipients($user_ids);
69 $not->send();
70 }
71
73 int $ass_id,
74 int $rcp_id,
75 string $text
76 ): void {
77 $not = new \ilExerciseMailNotification();
79 $not->setAssignmentId($ass_id);
80 $not->setRefId($this->ref_id);
81 $not->setRecipients([$rcp_id]);
82 $not->setAdditionalText($text);
83 $not->send();
84 }
85
87 int $ass_id,
88 int $peer_id,
89 int $notification_rcp_id,
90 string $text
91 ): void {
92 $not = new \ilExerciseMailNotification();
94 $not->setAssignmentId($ass_id);
95 $not->setRefId($this->ref_id);
96 $not->setPeerId($peer_id);
97 $not->setRecipients([$notification_rcp_id]);
98 $not->setAdditionalText($text);
99 $not->send();
100 }
101
102 public function sendDeadlineRequestNotification(int $ass_id): void
103 {
106 $this->object->getId()
107 );
108
109 $not = new \ilExerciseMailNotification();
111 $not->setAssignmentId($ass_id);
112 $not->setRefId($this->ref_id);
113 $not->setRecipients($users);
114 $not->send();
115 }
116
117 public function sendDeadlineSetNotification(int $ass_id, int $part_id): void
118 {
119 $not = new \ilExerciseMailNotification();
121 $not->setAssignmentId($ass_id);
122 $not->setRefId($this->ref_id);
123 $not->setRecipients([$part_id]);
124 $not->send();
125 }
126
127}
__construct(InternalDomainService $domain, int $ref_id)
sendMessageFromPeerfeedbackRecipientNotification(int $ass_id, int $peer_id, int $notification_rcp_id, string $text)
ILIAS Exercise Object ObjectManager $object
sendFeedbackNotification(int $ass_id, array $user_ids, string $feedback_file="", bool $is_text_feedback=false)
sendMessageFromPeerfeedbackGiverNotification(int $ass_id, int $rcp_id, string $text)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static getNotificationsForObject(int $type, int $id, ?int $page_id=null, bool $ignore_threshold=false)
Get all users/recipients for given object.