86 return date(self::DATE_FORMAT, $this->
getEventEnd()) .
', ' . date(self::TIME_FORMAT,
90 return date(self::DATE_TIME_FORMAT, $this->
getEventStart()) .
' - ' . date(self::DATE_TIME_FORMAT,
133 return ($hasEventStarted or $hasDisplayStarted) and ($hasEventEnded or $hasDisplayEnded);
142 if ($ilObjUser->
getId() == 0 && $this->isInterruptive()) {
174 return $DIC->rbac()->review()->isAssignedToAtLeastOneGivenRole($ilObjUser->
getId(),
175 $this->getLimitedToRoleIds());
354 public function wakeUp($field_name, $field_value)
356 switch ($field_name) {
360 case 'display_start':
363 return (
new DateTimeImmutable())->setTimestamp((
int) $field_value);
365 case 'allowed_users':
366 if ($field_value ===
null) {
369 $json_decode = json_decode($field_value,
true);
370 if (!is_array($json_decode)) {
373 $array_unique = array_unique($json_decode);
378 return $array_unique;
380 case 'limited_to_role_ids':
381 return json_decode($field_value,
true);
390 public function sleep($field_name)
392 switch ($field_name) {
396 case 'display_start':
402 $datetime = $this->{$field_name} ??
new DateTimeImmutable();
403 return $datetime->getTimestamp();
405 case 'allowed_users':
407 foreach ($this->allowed_users as $user_id) {
413 case 'limited_to_role_ids':
414 return json_encode($this->{$field_name});
444 return $this->display_end ??
new DateTimeImmutable();
454 return $this->display_start ??
new DateTimeImmutable();
464 return $this->event_end ??
new DateTimeImmutable();
474 return $this->event_start ??
new DateTimeImmutable();
569 return $this->create_date ??
new DateTimeImmutable();
582 protected function getTime() : DateTimeImmutable
584 return new DateTimeImmutable();
static where($where, $operator=null)
An exception for terminatinating execution or to throw for unit testing.
static dismiss(ilObjUser $ilObjUser, ilADNNotification $ilADNNotification)
static hasDimissed(ilObjUser $ilObjUser, ilADNNotification $ilADNNotification)
static returnDbTableName()
setCreateDate(DateTimeImmutable $create_date)
setEventEnd(DateTimeImmutable $event_end)
isUserAllowedToDismiss(ilObjUser $ilUser)
hasUserDismissed(ilObjUser $ilObjUser)
getConnectorContainerName()
dismiss(ilObjUser $ilObjUser)
setPermanent(bool $permanent)
isVisibleForUser(ilObjUser $ilObjUser)
setDismissable(bool $dismissable)
setCreatedBy(int $created_by)
setLimitToRoles(bool $limit_to_roles)
setDisplayStart(DateTimeImmutable $display_start)
isVisibleRoleUserRoles(ilObjUser $ilObjUser)
setEventStart(DateTimeImmutable $event_start)
setDisplayEnd(DateTimeImmutable $display_end)
setTypeDuringEvent(int $type_during_event)
setLimitedToRoleIds(array $limited_to_role_ids)
wakeUp($field_name, $field_value)
getId()
get object id @access public