diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 12:47:21 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 12:47:21 +0000 |
commit | 1ac4a2050c8076eb96e07e83721ebc9db864db94 (patch) | |
tree | da9b32212bf99154450a7668f61a75f65617a9fa /library/Toplevelview/Monitoring/IgnoredNotificationPeriods.php | |
parent | Initial commit. (diff) | |
download | icingaweb2-module-toplevelview-1ac4a2050c8076eb96e07e83721ebc9db864db94.tar.xz icingaweb2-module-toplevelview-1ac4a2050c8076eb96e07e83721ebc9db864db94.zip |
Adding upstream version 0.3.3.upstream/0.3.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'library/Toplevelview/Monitoring/IgnoredNotificationPeriods.php')
-rw-r--r-- | library/Toplevelview/Monitoring/IgnoredNotificationPeriods.php | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/library/Toplevelview/Monitoring/IgnoredNotificationPeriods.php b/library/Toplevelview/Monitoring/IgnoredNotificationPeriods.php new file mode 100644 index 0000000..4b9e94c --- /dev/null +++ b/library/Toplevelview/Monitoring/IgnoredNotificationPeriods.php @@ -0,0 +1,49 @@ +<?php +/* Copyright (C) 2019 Icinga Development Team <info@icinga.com> */ + +namespace Icinga\Module\Toplevelview\Monitoring; + +trait IgnoredNotificationPeriods +{ + protected $ignoredNotificationPeriods = []; + + public function ignoreNotificationPeriod($name) + { + $this->ignoredNotificationPeriods[$name] = true; + return $this; + } + + /** + * @param string|array|iterable $list + * + * @return $this + */ + public function ignoreNotificationPeriods($list) + { + if (is_string($list)) { + /** @var string $list */ + $this->ignoredNotificationPeriods[$list] = true; + } else { + foreach ($list as $i) { + $this->ignoredNotificationPeriods[$i] = true; + } + } + + return $this; + } + + public function getIgnoredNotificationPeriods() + { + return array_keys($this->ignoredNotificationPeriods); + } + + public function resetIgnoredNotificationPeriods() + { + $this->ignoredNotificationPeriods = []; + } + + public function hasIgnoredNotifications() + { + return ! empty($this->ignoredNotificationPeriods); + } +} |