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
 
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false, ilObjUser $user=null,)
 
Interface AbstractNotificationProvider. 
 
Interface IdentificationInterface. 
 
static getInstanceByGlobalUser(ilObjUser $user=null)
 
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins 
 
static _lookupActive(int $a_usr_id)