mirror of
				https://github.com/Icinga/icingaweb2.git
				synced 2025-10-31 19:34:16 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /* Icinga Web 2 | (c) 2013-2015 Icinga Development Team | GPLv2+ */
 | |
| 
 | |
| namespace Icinga\Module\Monitoring;
 | |
| 
 | |
| class Environment
 | |
| {
 | |
|     protected static $envs = array(
 | |
|         'default' => array(
 | |
|             'backend'       => null,
 | |
|             'grapher'       => null,
 | |
|             'configBackend' => null,
 | |
|             'commandPipe'   => null,
 | |
|         )
 | |
|     );
 | |
| 
 | |
|     public static function defaultName()
 | |
|     {
 | |
|         // TODO: Check session
 | |
|         reset(self::$envs);
 | |
|         return key(self::$envs);
 | |
|     }
 | |
| 
 | |
|     protected static function config($env, $what)
 | |
|     {
 | |
|         return self::$config[self::getName($env)][$what];
 | |
|     }
 | |
| 
 | |
|     protected static function getName($env)
 | |
|     {
 | |
|         return $env === null ? self::defaultName() : $env;
 | |
|     }
 | |
| 
 | |
|     public static function backend($env = null)
 | |
|     {
 | |
|         return Backend::getInstance(self::config($env, 'backend'));
 | |
|     }
 | |
| 
 | |
|     public static function grapher($env = null)
 | |
|     {
 | |
|         return Hook::createInstance('grapher', null, self::config($env, 'grapher'));
 | |
|     }
 | |
| 
 | |
|     public static function configBackend($env = null)
 | |
|     {
 | |
|         return Hook::createInstance(
 | |
|             'configBackend',
 | |
|             null,
 | |
|             self::config($env, 'configBackend')
 | |
|         );
 | |
|     }
 | |
| 
 | |
|     public static function commandPipe($env = null)
 | |
|     {
 | |
|         return CommandPipe::getInstance(self::config($env, 'commandPipe'));
 | |
|     }
 | |
| }
 |