Fix ICINGAWEB_APPDIR location if the Icinga library is in PHP's include path

This commit is contained in:
Eric Lippmann 2014-11-11 15:30:11 +01:00
parent 32d483f69f
commit 8c9465ffbd

View File

@ -6,6 +6,7 @@ namespace Icinga\Application;
use ErrorException; use ErrorException;
use Exception; use Exception;
use LogicException;
use Icinga\Application\Modules\Manager as ModuleManager; use Icinga\Application\Modules\Manager as ModuleManager;
use Icinga\Data\ResourceFactory; use Icinga\Data\ResourceFactory;
use Icinga\Exception\ConfigurationError; use Icinga\Exception\ConfigurationError;
@ -104,13 +105,15 @@ abstract class ApplicationBootstrap
if (defined('ICINGAWEB_APPDIR')) { if (defined('ICINGAWEB_APPDIR')) {
$this->appDir = ICINGAWEB_APPDIR; $this->appDir = ICINGAWEB_APPDIR;
} elseif (array_key_exists('ICINGAWEB_APPDIR', $_SERVER)) {
$this->appDir = $_SERVER['ICINGAWEB_APPDIR'];
} else { } else {
$this->appDir = realpath($this->libDir. '/../application'); if (array_key_exists('ICINGAWEB_APPDIR', $_SERVER)) {
$this->appDIr = $_SERVER['ICINGAWEB_APPDIR'];
} else {
if (! defined('ICINGAWEB_BASEDIR')) {
throw new LogicException('\'ICINGAWEB_BASEDIR\' is not defined');
}
$this->appDir = ICINGAWEB_BASEDIR . '/application';
} }
if (!defined('ICINGAWEB_APPDIR')) {
define('ICINGAWEB_APPDIR', $this->appDir); define('ICINGAWEB_APPDIR', $this->appDir);
} }
@ -394,7 +397,7 @@ abstract class ApplicationBootstrap
*/ */
protected function setupLogger() protected function setupLogger()
{ {
if (($loggingConfig = $this->config->get('logging')) !== null) { if (($loggingConfig = $this->config->logging) !== null) {
try { try {
Logger::create($loggingConfig); Logger::create($loggingConfig);
} catch (ConfigurationError $e) { } catch (ConfigurationError $e) {