From 401452767e375142b345aee3c6dc939cafa7d8b4 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Wed, 4 Aug 2021 14:19:11 +0200 Subject: [PATCH] get dir of config file even if config file is set in environment --- inc/inc.ClassSettings.php | 7 +++++++ inc/inc.Settings.php | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/inc/inc.ClassSettings.php b/inc/inc.ClassSettings.php index e8ee320c5..249401409 100644 --- a/inc/inc.ClassSettings.php +++ b/inc/inc.ClassSettings.php @@ -23,6 +23,7 @@ class Settings { /* {{{ */ // Config File Path var $_configFilePath = null; + var $_configFileDir = ''; // Fields not shown in gui var $_hiddenConfFields = ''; @@ -348,6 +349,8 @@ class Settings { /* {{{ */ exit; } } + $this->_configFileDir = dirname($this->_configFilePath); + if(!$this->load($configFilePath)) { echo "Your configuration contains errors."; exit; @@ -1167,6 +1170,10 @@ class Settings { /* {{{ */ * @return NULL|string config directory */ static function getConfigDir() { /* {{{ */ + if(defined("SEEDDMS_CONFIG_FILE")) + return dirname(SEEDDMS_CONFIG_FILE); + elseif(getenv("SEEDDMS_CONFIG_FILE")) + return dirname(getenv("SEEDDMS_CONFIG_FILE")); $_tmp = dirname($_SERVER['SCRIPT_FILENAME']); $_arr = preg_split('/\//', rtrim(str_replace('\\', '/', $_tmp))); $configDir = null; diff --git a/inc/inc.Settings.php b/inc/inc.Settings.php index 047432df9..659653cd0 100644 --- a/inc/inc.Settings.php +++ b/inc/inc.Settings.php @@ -25,7 +25,7 @@ elseif(getenv("SEEDDMS_CONFIG_FILE")) $settings = new Settings(getenv("SEEDDMS_CONFIG_FILE")); else $settings = new Settings(); -if(!defined("SEEDDMS_INSTALL") && file_exists(dirname($settings->_configFilePath)."/ENABLE_INSTALL_TOOL")) { +if(!defined("SEEDDMS_INSTALL") && file_exists($settings->_configFileDir."/ENABLE_INSTALL_TOOL")) { die("SeedDMS won't run unless your remove the file ENABLE_INSTALL_TOOL from your configuration directory."); }