ILIAS  trunk Revision v11.0_alpha-1753-gb21ca8c4367
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
NotificationManager.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
24 
26 {
27  protected int $ref_id;
28  protected \ILIAS\Exercise\Object\ObjectManager $object;
29 
30  public function __construct(
31  InternalDomainService $domain,
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
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 }
static getNotificationsForObject(int $type, int $id, ?int $page_id=null, bool $ignore_threshold=false)
Get all users/recipients for given object.
sendMessageFromPeerfeedbackRecipientNotification(int $ass_id, int $peer_id, int $notification_rcp_id, string $text)
sendFeedbackNotification(int $ass_id, array $user_ids, string $feedback_file="", bool $is_text_feedback=false)
sendMessageFromPeerfeedbackGiverNotification(int $ass_id, int $rcp_id, string $text)