19 declare(strict_types=1);
49 return $this->
if->identifier($id);
58 0 === $this->dic->user()->getId() ||
59 $this->dic->user()->isAnonymous() ||
65 $leftIntervalTimestamp = $this->dic->user()->getPref(self::MUTED_UNTIL_PREFERENCE_KEY);
66 $latestRequestTimestamp =
null;
70 $openRequests = $relations->filter(
74 if ($timeStamp > $latestRequestTimestamp) {
75 $latestRequestTimestamp = $timeStamp;
78 $usrId = $relations->getKey($relation);
84 if (!is_numeric($leftIntervalTimestamp)) {
88 return $timeStamp > $leftIntervalTimestamp;
92 $contactRequestsCount = count($openRequests->getKeys());
93 if ($contactRequestsCount === 0) {
97 $factory = $this->
globalScreen()->notifications()->factory();
99 $icon = $this->dic->ui()->factory()
102 ->standard(Standard::CADM,
'contacts');
104 $title = $this->dic->ui()->factory()
107 $this->dic->language()->txt(
'nc_contact_requests_headline'),
108 $this->dic->ctrl()->getLinkTargetByClass([ilDashboardGUI::class, ilContactGUI::class],
'showContactRequests')
110 $description = sprintf(
111 $this->dic->language()->txt(
112 'nc_contact_requests_number' . (($contactRequestsCount > 1) ?
'_p' :
'_s')
114 $contactRequestsCount
116 $notificationItem = $this->dic->ui()->factory()
118 ->notification($title, $icon)
119 ->withDescription($description)
129 ->standardGroup($this->
getIdentifier(
'contact_bucket_group'))
130 ->withTitle($this->dic->language()->txt(
'nc_contact_requests_headline'))
132 $factory->standard($this->getIdentifier(
'contact_bucket'))
133 ->withNotificationItem($notificationItem)
134 ->withClosedCallable(
135 function () use ($osd_notification_handler):
void {
136 $this->dic->user()->writePref(self::MUTED_UNTIL_PREFERENCE_KEY, (
string) time());
138 $osd_notification_handler->deleteStaleNotificationsForUserAndType(
139 $this->dic->user()->getId(),
140 self::NOTIFICATION_TYPE
Interface AbstractNotificationProvider.
Interface IdentificationInterface.
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false, ?ilObjUser $user=null,)
static _lookupActive(int $a_usr_id)
static getInstanceByGlobalUser(?ilObjUser $user=null)