diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 12:36:40 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 12:36:40 +0000 |
commit | a0901c4b7f2db488cb4fb3be2dd921a0308f4659 (patch) | |
tree | fafb393cf330a60df129ff10d0059eb7b14052a7 /run.php | |
parent | Initial commit. (diff) | |
download | icingadb-web-a0901c4b7f2db488cb4fb3be2dd921a0308f4659.tar.xz icingadb-web-a0901c4b7f2db488cb4fb3be2dd921a0308f4659.zip |
Adding upstream version 1.0.2.upstream/1.0.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'run.php')
-rw-r--r-- | run.php | 34 |
1 files changed, 34 insertions, 0 deletions
@@ -0,0 +1,34 @@ +<?php + +/* Icinga DB Web | (c) 2020 Icinga GmbH | GPLv2 */ + +/** @var $this \Icinga\Application\Modules\Module */ + +$this->provideHook('ApplicationState'); +$this->provideHook('X509/Sni'); +$this->provideHook('health', 'IcingaHealth'); +$this->provideHook('health', 'RedisHealth'); +$this->provideHook('Reporting/Report', 'Reporting/HostSlaReport'); +$this->provideHook('Reporting/Report', 'Reporting/ServiceSlaReport'); + +if (! $this::exists('monitoring')) { + $modulePath = null; + foreach ($this->app->getModuleManager()->getModuleDirs() as $path) { + $pathToTest = join(DIRECTORY_SEPARATOR, [$path, 'monitoring']); + if (file_exists($pathToTest)) { + $modulePath = $pathToTest; + break; + } + } + + if ($modulePath === null) { + Icinga\Application\Logger::error('Unable to locate monitoring module'); + } else { + // Ensure we can load some classes/interfaces for compatibility with legacy hooks + $this->app->getLoader()->registerNamespace( + 'Icinga\\Module\\Monitoring', + join(DIRECTORY_SEPARATOR, [$modulePath, 'library', 'Monitoring']), + join(DIRECTORY_SEPARATOR, [$modulePath, 'application']) + ); + } +} |