parent
8c6f2a07ae
commit
51755209b6
|
@ -48,6 +48,8 @@ Vagrant::Config.run do |config|
|
|||
# an identifier, the second is the path on the guest to mount the
|
||||
# folder, and the third is the path on the host to the actual folder.
|
||||
# # config.vm.share_folder "v-icinga2-web-pub", "/var/www/html/icinga2-web", "./pub"
|
||||
config.vm.share_folder "v-test", "/vagrant/config", "./config", :owner => 'vagrant', :group => 'apache', :extra => 'dmode=775,fmode=775'
|
||||
config.vm.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-test", "1"]
|
||||
|
||||
# Enable provisioning with Puppet stand alone. Puppet manifests
|
||||
# are contained in a directory path relative to this Vagrantfile.
|
||||
|
@ -56,7 +58,7 @@ Vagrant::Config.run do |config|
|
|||
config.vm.provision :puppet do |puppet|
|
||||
puppet.module_path = ".vagrant-puppet/modules"
|
||||
puppet.manifests_path = ".vagrant-puppet/manifests"
|
||||
#puppet.options = "-v -d"
|
||||
# # puppet.options = "-v -d"
|
||||
end
|
||||
|
||||
# The npm module jquery won't install via puppet because of an mysterious error
|
||||
|
|
|
@ -4,21 +4,21 @@
|
|||
/**
|
||||
* Icinga 2 Web - Head for multiple monitoring frontends
|
||||
* Copyright (C) 2013 Icinga Development Team
|
||||
*
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
*
|
||||
* @copyright 2013 Icinga Development Team <info@icinga.org>
|
||||
* @author Icinga Development Team <info@icinga.org>
|
||||
*/
|
||||
|
@ -58,16 +58,15 @@ class ModulesController extends ActionController
|
|||
public function overviewAction()
|
||||
{
|
||||
$this->indexAction();
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function enableAction()
|
||||
{
|
||||
$this->manager->enableModule($this->_getParam('name'));
|
||||
$this->manager->loadModule($this->_getParam('name'));
|
||||
$this->getResponse()->setHeader('X-Icinga-Enable-Module', $this->_getParam('name'));
|
||||
$this->replaceLayout = true;
|
||||
$this->indexAction();
|
||||
$this->getResponse()->setHeader('X-Icinga-Enable-Module', $this->_getParam('name'));
|
||||
$this->redirectNow('index?_render=body');
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
$url = Zend_Controller_Front::getInstance()->getRequest()->getRequestUri();
|
||||
$currentKey = isset($this->navkey) ? $this->navkey : $url;
|
||||
|
||||
$item = $this->navigation->listAll("menu");
|
||||
$item = $this->navigation->keys("menu");
|
||||
?>
|
||||
<?php if ($this->auth()->isAuthenticated()): ?>
|
||||
<ul class="nav nav-tabs icinga-navigation" >
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
[localdb]
|
||||
type = ido
|
||||
host = localhost
|
||||
user = "icinga"
|
||||
pass = "icinga"
|
||||
user = "icinga-idoutils"
|
||||
pass = "***"
|
||||
db = "icinga"
|
||||
|
||||
|
|
@ -44,7 +44,7 @@ abstract class ApplicationBootstrap
|
|||
protected $loader;
|
||||
protected $libdir;
|
||||
protected $config;
|
||||
protected $configFile;
|
||||
protected $configDir;
|
||||
protected $appdir;
|
||||
protected $moduleManager;
|
||||
protected $isCli = false;
|
||||
|
@ -57,7 +57,7 @@ abstract class ApplicationBootstrap
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function __construct($configFile = null)
|
||||
protected function __construct($configDir)
|
||||
{
|
||||
$this->checkPrerequisites();
|
||||
$this->libdir = realpath(dirname(dirname(dirname(__FILE__))));
|
||||
|
@ -88,10 +88,7 @@ abstract class ApplicationBootstrap
|
|||
)
|
||||
);
|
||||
|
||||
if ($configFile === null) {
|
||||
$configFile = dirname($this->libdir) . '/config/icinga.ini';
|
||||
}
|
||||
$this->configFile = $configFile;
|
||||
$this->configDir = $configDir;
|
||||
require_once dirname(__FILE__) . '/functions.php';
|
||||
}
|
||||
|
||||
|
@ -100,7 +97,7 @@ abstract class ApplicationBootstrap
|
|||
public function moduleManager()
|
||||
{
|
||||
if ($this->moduleManager === null) {
|
||||
$this->moduleManager = new ModuleManager($this, $this->config->global->moduleFolder);
|
||||
$this->moduleManager = new ModuleManager($this, $this->configDir . '/enabledModules');
|
||||
}
|
||||
return $this->moduleManager;
|
||||
}
|
||||
|
@ -155,10 +152,10 @@ abstract class ApplicationBootstrap
|
|||
return $this->config;
|
||||
}
|
||||
|
||||
public static function start($config = null)
|
||||
public static function start($configDir)
|
||||
{
|
||||
$class = get_called_class();
|
||||
$obj = new $class();
|
||||
$obj = new $class($configDir);
|
||||
$obj->bootstrap();
|
||||
return $obj;
|
||||
}
|
||||
|
@ -217,11 +214,8 @@ abstract class ApplicationBootstrap
|
|||
*/
|
||||
protected function loadConfig()
|
||||
{
|
||||
// TODO: add an absolutely failsafe config loader
|
||||
if (! @is_readable($this->configFile)) {
|
||||
throw new \Exception('Cannot read config file: ' . $this->configFile);
|
||||
}
|
||||
$this->config = Config::getInstance($this->configFile);
|
||||
Config::$configDir = $this->configDir;
|
||||
$this->config = Config::app();
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
@ -247,7 +241,7 @@ abstract class ApplicationBootstrap
|
|||
*/
|
||||
protected function configureErrorHandling()
|
||||
{
|
||||
if ($this->config->global->environment == 'development') {
|
||||
if ($this->config->get('global', 'environment') == 'development') {
|
||||
error_reporting(E_ALL | E_NOTICE);
|
||||
ini_set('display_startup_errors', 1);
|
||||
ini_set('display_errors', 1);
|
||||
|
@ -264,7 +258,7 @@ abstract class ApplicationBootstrap
|
|||
protected function setTimezone()
|
||||
{
|
||||
date_default_timezone_set(
|
||||
$this->config->{'global'}->get('timezone', 'UTC')
|
||||
$this->config->global->get('timezone', 'UTC')
|
||||
);
|
||||
return $this;
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
namespace Icinga\Application;
|
||||
|
||||
use Icinga\Protocol\Ldap\Exception;
|
||||
use Zend_Config_Ini;
|
||||
|
||||
/**
|
||||
|
@ -12,52 +13,52 @@ use Zend_Config_Ini;
|
|||
class Config extends Zend_Config_Ini
|
||||
{
|
||||
/**
|
||||
* Configuration directory where ALL (application and module) configuration is located.
|
||||
*
|
||||
* Configuration directory where ALL (application and module) configuration is located
|
||||
* @var string
|
||||
*/
|
||||
public static $configDir;
|
||||
|
||||
/**
|
||||
* The INI file this configuration has been loaded from.
|
||||
*
|
||||
* The INI file this configuration has been loaded from
|
||||
* @var string
|
||||
*/
|
||||
protected $configFile;
|
||||
|
||||
/**
|
||||
* Application config instances per file.
|
||||
*
|
||||
* Application config instances per file
|
||||
* @var array
|
||||
*/
|
||||
protected static $app = array();
|
||||
|
||||
/**
|
||||
* Module config instances per file.
|
||||
*
|
||||
* Module config instances per file
|
||||
* @var array
|
||||
*/
|
||||
protected static $modules = array();
|
||||
|
||||
/**
|
||||
* Load configuration from the config file $filename.
|
||||
* Load configuration from the config file $filename
|
||||
*
|
||||
* @see Zend_Config_Ini::__construct
|
||||
*
|
||||
* @param string $filename
|
||||
* @throws \Exception
|
||||
* @throws Exception
|
||||
*/
|
||||
public function __construct($filename)
|
||||
{
|
||||
if (!@is_readable($filename)) {
|
||||
throw new \Exception('Cannot read config file: ' . $filename);
|
||||
throw new Exception('Cannot read config file: ' . $filename);
|
||||
};
|
||||
$this->configFile = $filename;
|
||||
parent::__construct($filename);
|
||||
$section = null;
|
||||
$options = array(
|
||||
'allowModifications' => true
|
||||
);
|
||||
parent::__construct($filename, $section, $options);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve a application config instance.
|
||||
* Retrieve a application config instance
|
||||
*
|
||||
* @param string $configname
|
||||
* @return mixed
|
||||
|
@ -66,13 +67,13 @@ class Config extends Zend_Config_Ini
|
|||
{
|
||||
if (!isset(self::$app[$configname])) {
|
||||
$filename = self::$configDir . '/' . $configname . '.ini';
|
||||
self::$app[$configname] = new Config($filename);
|
||||
self::$app[$configname] = new Config(realpath($filename));
|
||||
}
|
||||
return self::$app[$configname];
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve a module config instance.
|
||||
* Retrieve a module config instance
|
||||
*
|
||||
* @param string $modulename
|
||||
* @param string $configname
|
||||
|
@ -86,13 +87,17 @@ class Config extends Zend_Config_Ini
|
|||
$moduleConfigs = self::$modules[$modulename];
|
||||
if (!isset($moduleConfigs[$configname])) {
|
||||
$filename = self::$configDir . '/modules/' . $modulename . '/' . $configname . '.ini';
|
||||
$moduleConfigs[$configname] = new Config($filename);
|
||||
if (file_exists($filename)) {
|
||||
$moduleConfigs[$configname] = new Config(realpath($filename));
|
||||
} else {
|
||||
$moduleConfigs[$configname] = null;
|
||||
}
|
||||
}
|
||||
return $moduleConfigs[$configname];
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve names of accessible sections or properties.
|
||||
* Retrieve names of accessible sections or properties
|
||||
*
|
||||
* @param $name
|
||||
* @return array
|
||||
|
|
|
@ -120,7 +120,9 @@ class Module
|
|||
|
||||
protected function registerMenuEntries()
|
||||
{
|
||||
$cfg = $this->getConfig('menu.ini');
|
||||
$cfg = $this->app
|
||||
->getConfig()
|
||||
->module($this->name, 'menu');
|
||||
$view = $this->app->getView();
|
||||
if ($cfg) {
|
||||
$view->view->navigation = $cfg->merge($view->view->navigation);
|
||||
|
|
|
@ -181,7 +181,7 @@ class Web extends ApplicationBootstrap
|
|||
$this->config->{'global'}->get('project', 'Icinga')
|
||||
);
|
||||
$view->view->headTitle()->setSeparator(' :: ');
|
||||
$view->view->navigation = $this->config->menu;
|
||||
$view->view->navigation = $this->config->app('menu');
|
||||
|
||||
$this->view = $view;
|
||||
return $this;
|
||||
|
|
|
@ -3,21 +3,21 @@
|
|||
/**
|
||||
* Icinga 2 Web - Head for multiple monitoring frontends
|
||||
* Copyright (C) 2013 Icinga Development Team
|
||||
*
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
*
|
||||
* @copyright 2013 Icinga Development Team <info@icinga.org>
|
||||
* @author Icinga Development Team <info@icinga.org>
|
||||
*/
|
||||
|
@ -33,7 +33,7 @@ use Icinga\Application\Config as IcingaConfig;
|
|||
|
||||
/**
|
||||
* User authentication backend (@see Icinga\Authentication\UserBackend) for
|
||||
* authentication of users via LDAP. The attributes and location of the
|
||||
* authentication of users via LDAP. The attributes and location of the
|
||||
* user is configurable via the application.ini
|
||||
*
|
||||
* See the UserBackend class (@see Icinga\Authentication\UserBackend) for
|
||||
|
@ -45,9 +45,9 @@ class LdapUserBackend implements UserBackend
|
|||
* @var Ldap\Connection
|
||||
**/
|
||||
protected $connection;
|
||||
|
||||
|
||||
/**
|
||||
* Creates a new Authentication backend using the
|
||||
* Creates a new Authentication backend using the
|
||||
* connection information provided in $config
|
||||
*
|
||||
* @param object $config The ldap connection information
|
||||
|
@ -69,7 +69,7 @@ class LdapUserBackend implements UserBackend
|
|||
|
||||
/**
|
||||
* Removes the '*' characted from $string
|
||||
*
|
||||
*
|
||||
* @param String $string
|
||||
*
|
||||
* @return String
|
||||
|
@ -81,19 +81,19 @@ class LdapUserBackend implements UserBackend
|
|||
|
||||
/**
|
||||
* Tries to fetch the username given in $username from
|
||||
* the ldap connection, using the configuration parameters
|
||||
* the ldap connection, using the configuration parameters
|
||||
* given in the Authentication configuration
|
||||
*
|
||||
* @param String $username The username to select
|
||||
*
|
||||
* @return object $result
|
||||
* @return object $result
|
||||
**/
|
||||
protected function selectUsername($username)
|
||||
{
|
||||
return $this->connection->select()
|
||||
->from(IcingaConfig::getInstance()->authentication->users->user_class,
|
||||
array(IcingaConfig::getInstance()->authentication->users->user_name_attribute))
|
||||
->where(IcingaConfig::getInstance()->authentication->users->user_name_attribute,
|
||||
->from(IcingaConfig::app('authentication')->users->user_class,
|
||||
array(IcingaConfig::app('authentication')->users->user_name_attribute))
|
||||
->where(IcingaConfig::app('authentication')->users->user_name_attribute,
|
||||
$this->stripAsterisks($username));
|
||||
}
|
||||
|
||||
|
|
|
@ -3,21 +3,21 @@
|
|||
/**
|
||||
* Icinga 2 Web - Head for multiple monitoring frontends
|
||||
* Copyright (C) 2013 Icinga Development Team
|
||||
*
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
*
|
||||
* @copyright 2013 Icinga Development Team <info@icinga.org>
|
||||
* @author Icinga Development Team <info@icinga.org>
|
||||
*/
|
||||
|
@ -25,31 +25,31 @@
|
|||
|
||||
namespace Icinga\Authentication;
|
||||
|
||||
use Icinga\Application\Logger as Logger;
|
||||
use Icinga\Application\Config as Config;
|
||||
use Icinga\Application\Logger;
|
||||
use Icinga\Application\Config as IcingaConfig;
|
||||
use Icinga\Exception\ConfigurationError as ConfigError;
|
||||
|
||||
/**
|
||||
* The authentication manager allows to identify users and
|
||||
* to persist authentication information in a session.
|
||||
*
|
||||
*
|
||||
* Direct instanciation is not permitted, the Authencation manager
|
||||
* must be created using the getInstance method. Subsequent getInstance
|
||||
* must be created using the getInstance method. Subsequent getInstance
|
||||
* calls return the same object and ignore any additional configuration
|
||||
*
|
||||
* When creating the Authentication manager with standard PHP Sessions,
|
||||
* you have to decide whether you want to modify the session on the first
|
||||
* initialization and provide the 'writeSession' option if so, otherwise
|
||||
* initialization and provide the 'writeSession' option if so, otherwise
|
||||
* session changes won't be written to disk. This is done to prevent PHP
|
||||
* from blockung concurrent requests
|
||||
*
|
||||
* @TODO: Group support is not implemented yet
|
||||
* @TODO: Group support is not implemented yet
|
||||
**/
|
||||
class Manager
|
||||
{
|
||||
const BACKEND_TYPE_USER = "User";
|
||||
const BACKEND_TYPE_GROUP = "Group";
|
||||
|
||||
|
||||
/**
|
||||
* @var Manager
|
||||
**/
|
||||
|
@ -60,7 +60,7 @@ class Manager
|
|||
**/
|
||||
private $user = null;
|
||||
private $groups = array();
|
||||
|
||||
|
||||
/**
|
||||
* @var UserBackend
|
||||
**/
|
||||
|
@ -70,32 +70,32 @@ class Manager
|
|||
* @var GroupBackend
|
||||
**/
|
||||
private $groupBackend = null;
|
||||
|
||||
|
||||
/**
|
||||
* @var Session
|
||||
**/
|
||||
private $session = null;
|
||||
|
||||
|
||||
/**
|
||||
* Creates a new authentication manager using the provided config (or the
|
||||
* configuration provided in the authentication.ini if no config is given)
|
||||
* and with the given options.
|
||||
* and with the given options.
|
||||
*
|
||||
* @param Icinga\Config $config The configuration to use for authentication
|
||||
* @param IcingaConfig $config The configuration to use for authentication
|
||||
* instead of the authentication.ini
|
||||
* @param Array $options Additional options that affect the managers behaviour.
|
||||
* Supported values:
|
||||
* * writeSession : Whether the session should be writable
|
||||
* * userBackendClass : Allows to provide an own user backend class
|
||||
* * writeSession : Whether the session should be writable
|
||||
* * userBackendClass : Allows to provide an own user backend class
|
||||
* (used for testing)
|
||||
* * groupBackendClass : Allows to provide an own group backend class
|
||||
* * groupBackendClass : Allows to provide an own group backend class
|
||||
* (used for testing)
|
||||
* * sessionClass : Allows to provide a different session implementation)
|
||||
**/
|
||||
private function __construct($config = null, array $options = array())
|
||||
{
|
||||
if ($config === null) {
|
||||
$config = Config::getInstance()->authentication;
|
||||
$config = IcingaConfig::app('authentication');
|
||||
}
|
||||
if (isset($options["userBackendClass"])) {
|
||||
$this->userBackend = $options["userBackendClass"];
|
||||
|
@ -141,14 +141,14 @@ class Manager
|
|||
}
|
||||
|
||||
/**
|
||||
* Creates a backend for the the given authenticationTarget (User or Group) and the
|
||||
* Authenticaiton source.
|
||||
* Creates a backend for the the given authenticationTarget (User or Group) and the
|
||||
* Authenticaiton source.
|
||||
*
|
||||
* initBackend("User", "Ldap") would create a UserLdapBackend,
|
||||
* initBackend("Group", "MySource") would create a GroupMySourceBackend,
|
||||
*
|
||||
* initBackend("User", "Ldap") would create a UserLdapBackend,
|
||||
* initBackend("Group", "MySource") would create a GroupMySourceBackend,
|
||||
*
|
||||
* Supported backends can be found in the Authentication\Backend folder
|
||||
*
|
||||
*
|
||||
* @param String $authenticationTarget "User" or "Group", depending on what
|
||||
* authentication information the backend should
|
||||
* provide
|
||||
|
@ -169,9 +169,9 @@ class Manager
|
|||
}
|
||||
|
||||
/**
|
||||
* Tries to authenticate the current user with the Credentials (@see Credentials).
|
||||
* Tries to authenticate the current user with the Credentials (@see Credentials).
|
||||
*
|
||||
* @param Credentials $credentials The credentials to use for authentication
|
||||
* @param Credentials $credentials The credentials to use for authentication
|
||||
* @param Boolean $persist Whether to persist the authentication result
|
||||
* in the current session
|
||||
*
|
||||
|
@ -214,9 +214,9 @@ class Manager
|
|||
{
|
||||
$this->session->set("user", $this->user);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Tries to authenticate the user with the current session
|
||||
* Tries to authenticate the user with the current session
|
||||
**/
|
||||
public function authenticateFromSession()
|
||||
{
|
||||
|
@ -225,10 +225,10 @@ class Manager
|
|||
|
||||
/**
|
||||
* Returns true when the user is currently authenticated
|
||||
*
|
||||
*
|
||||
* @param Boolean $ignoreSession Set to true to prevent authentication by session
|
||||
*
|
||||
* @param Boolean
|
||||
* @param Boolean
|
||||
**/
|
||||
public function isAuthenticated($ignoreSession = false)
|
||||
{
|
||||
|
@ -240,7 +240,7 @@ class Manager
|
|||
|
||||
/**
|
||||
* Purges the current authorisation information and deletes the session
|
||||
*
|
||||
*
|
||||
**/
|
||||
public function removeAuthorization()
|
||||
{
|
||||
|
@ -250,7 +250,7 @@ class Manager
|
|||
|
||||
/**
|
||||
* Returns the current user or null if no user is authenticated
|
||||
*
|
||||
*
|
||||
* @return User
|
||||
**/
|
||||
public function getUser()
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
namespace Icinga;
|
||||
|
||||
use Icinga\Application\Config;
|
||||
use Icinga\Application\Config as IcingaConfig;
|
||||
use Icinga\Authentication\Manager as AuthManager;
|
||||
|
||||
class Backend
|
||||
|
@ -14,15 +14,15 @@ class Backend
|
|||
public static function getInstance($name = null)
|
||||
{
|
||||
if (! array_key_exists($name, self::$instances)) {
|
||||
$config = Config::getInstance()->backends;
|
||||
$backends = IcingaConfig::app('backends');
|
||||
if ($name === null) {
|
||||
$name = AuthManager::getInstance()->getSession()->get('backend');
|
||||
}
|
||||
if ($name === null) {
|
||||
$name = array_shift(array_keys($config->toArray()));
|
||||
$name = array_shift(array_keys($backends->toArray()));
|
||||
}
|
||||
if (isset($config->backends->$name)) {
|
||||
$config = $config->backends->$name;
|
||||
if (isset($backends->$name)) {
|
||||
$config = $backends->$name;
|
||||
$type = $config->type;
|
||||
$type[0] = strtoupper($type[0]);
|
||||
$class = '\\Icinga\\Backend\\' . $type;
|
||||
|
|
|
@ -1,5 +1,26 @@
|
|||
<?php
|
||||
// {{{ICINGA_LICENSE_HEADER}}}
|
||||
/**
|
||||
* Icinga 2 Web - Head for multiple monitoring frontends
|
||||
* Copyright (C) 2013 Icinga Development Team
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* @copyright 2013 Icinga Development Team <info@icinga.org>
|
||||
* @author Icinga Development Team <info@icinga.org>
|
||||
*/
|
||||
// {{{ICINGA_LICENSE_HEADER}}}
|
||||
|
||||
namespace Icinga\Web;
|
||||
|
@ -114,7 +135,7 @@ class ActionController extends ZfController
|
|||
*/
|
||||
protected function loadConfig()
|
||||
{
|
||||
$this->config = Config::getInstance();
|
||||
$this->config = Config::app();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
namespace Icinga\Web;
|
||||
|
||||
use Icinga\Application\Config;
|
||||
use Icinga\Application\Config as IcingaConfig;
|
||||
use Icinga\Application\Icinga;
|
||||
|
||||
/**
|
||||
|
@ -64,7 +64,7 @@ class ModuleActionController extends ActionController
|
|||
*/
|
||||
protected function loadConfig()
|
||||
{
|
||||
$this->config = Config::module($this->module_name);
|
||||
$this->config = IcingaConfig::module($this->module_name);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
namespace Icinga\Monitoring;
|
||||
|
||||
use Icinga\Application\Config;
|
||||
use Icinga\Application\Config as IcingaConfig;
|
||||
use Icinga\Authentication\Manager as AuthManager;
|
||||
use Exception;
|
||||
|
||||
|
@ -36,8 +36,7 @@ class Backend
|
|||
public function getBackendConfigs()
|
||||
{
|
||||
if (self::$backendConfigs === null) {
|
||||
$config = Config::getInstance()->backends;
|
||||
$backends = $config->backends;
|
||||
$backends = IcingaConfig::app('backends');
|
||||
foreach ($backends as $name => $config) {
|
||||
// TODO: Check if access to this backend is allowed
|
||||
self::$backendConfigs[$name] = $config;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
use Icinga\Application\EmbeddedWeb;
|
||||
|
||||
require_once dirname(__FILE__) . '/../library/Icinga/Application/EmbeddedWeb.php';
|
||||
$app = EmbeddedWeb::start();
|
||||
$app = EmbeddedWeb::start(dirname(__FILE__) . '/../config/');
|
||||
require_once 'vendor/lessphp/lessc.inc.php';
|
||||
header('Content-type: text/css');
|
||||
$less = new lessc;
|
||||
|
|
|
@ -7,4 +7,4 @@ require_once dirname(__FILE__). '/../library/Icinga/Application/Web.php';
|
|||
|
||||
use Icinga\Application\Web;
|
||||
|
||||
Web::start()->dispatch();
|
||||
Web::start(dirname(__FILE__) . '/../config/')->dispatch();
|
||||
|
|
Loading…
Reference in New Issue