diff --git a/extension/qfq/qfq/Constants.php b/extension/qfq/qfq/Constants.php index 1e3fb96cd55cd94d238097d1854330370f35424b..232b5eff804499e8b9c03f3790d9c7d46a36ee3f 100644 --- a/extension/qfq/qfq/Constants.php +++ b/extension/qfq/qfq/Constants.php @@ -150,6 +150,7 @@ const ERROR_MISSING_TABLE = 1065; const ERROR_RECORD_NOT_FOUND = 1066; const ERROR_INVALID_EDITOR_PROPERTY_NAME = 1067; const ERROR_UNKNOWN_ESCAPE_MODE = 1068; +const ERROR_MISSING_CONFIG_INI_VALUE = 1069; // Subrecord diff --git a/extension/qfq/qfq/store/Store.php b/extension/qfq/qfq/store/Store.php index 1f6a4aafaaae005ea4cbf1fe9386ae67fd6ed607..055b471c459688848e395bb67d5df359fa1cf258 100644 --- a/extension/qfq/qfq/store/Store.php +++ b/extension/qfq/qfq/store/Store.php @@ -220,6 +220,13 @@ class Store { $config[SYSTEM_SQL_LOG] = $config[SYSTEM_PATH_EXT] . '/' . $config[SYSTEM_SQL_LOG]; } + // Verify existence + $names = array('DB_USER', 'DB_SERVER', 'DB_PASSWORD', 'DB_NAME', 'SQL_LOG', 'SQL_LOG_MODE'); + foreach ($names as $name) { + if (!isset($config[$name])) { + throw new qfq\UserFormException ("Missing configuration in `config.ini`: $name", ERROR_MISSING_CONFIG_INI_VALUE); + } + } self::setVarArray($config, STORE_SYSTEM, true); }