diff --git a/gulliver/system/class.bootstrap.php b/gulliver/system/class.bootstrap.php index 259993b53..f41a655e3 100644 --- a/gulliver/system/class.bootstrap.php +++ b/gulliver/system/class.bootstrap.php @@ -68,87 +68,12 @@ class Bootstrap public static function getSystemConfiguration($globalIniFile = '', $wsIniFile = '', $wsName = '') { - $readGlobalIniFile = false; - $readWsIniFile = false; - - if (empty($globalIniFile)) { - $globalIniFile = PATH_CORE . 'config' . PATH_SEP . 'env.ini'; + // (!) Backward compatibility, the original function is in System class + if (! class_exists("System")) { + require_once PATH_CORE . "classes" . PATH_SEP . "class.system.php"; } - if (empty($wsIniFile)) { - if (defined('PATH_DB')) { - // if we're on a valid workspace env. - if (empty($wsName)) { - $uriParts = explode('/', getenv("REQUEST_URI")); - if (isset($uriParts[1])) { - if (substr($uriParts[1], 0, 3) == 'sys') { - $wsName = substr($uriParts[1], 3); - } - } - } - $wsIniFile = PATH_DB . $wsName . PATH_SEP . 'env.ini'; - } - } - - $readGlobalIniFile = file_exists($globalIniFile) ? true : false; - $readWsIniFile = file_exists($wsIniFile) ? true : false; - - if (isset($_SESSION['PROCESSMAKER_ENV'])) { - $md5 = array(); - - if ($readGlobalIniFile) { - $md5[] = md5_file($globalIniFile); - } - if ($readWsIniFile) { - $md5[] = md5_file($wsIniFile); - } - $hash = implode('-', $md5); - - if ($_SESSION['PROCESSMAKER_ENV_HASH'] === $hash) { - $_SESSION['PROCESSMAKER_ENV']['from_cache'] = 1; - return $_SESSION['PROCESSMAKER_ENV']; - } - } - - // default configuration - $error_reporting_default = defined('E_DEPRECATED') ? E_ALL & ~E_DEPRECATED : E_ALL; - $error_reporting_default = defined('E_STRICT') ? $error_reporting_default & ~E_STRICT : $error_reporting_default; - - $config = array('debug' => 0, 'debug_sql' => 0, 'debug_time' => 0, 'debug_calendar' => 0, 'wsdl_cache' => 1, 'memory_limit' => "256M", - 'time_zone' => 'America/New_York', 'memcached' => 0, 'memcached_server' => '', 'default_skin' => 'neoclassic', 'default_lang' => 'en', - 'proxy_host' => '', 'proxy_port' => '', 'proxy_user' => '', 'proxy_pass' => '' , 'size_log_file' => 5000000 , 'number_log_file' => 5, - 'ie_cookie_lifetime' => 1, 'error_reporting' => $error_reporting_default, 'display_errors' => 'On'); - - // read the global env.ini configuration file - if ($readGlobalIniFile && ($globalConf = @parse_ini_file($globalIniFile)) !== false) { - $config = array_merge($config, $globalConf); - } - - // Workspace environment configuration - if ($readWsIniFile && ($wsConf = @parse_ini_file($wsIniFile)) !== false) { - $config = array_merge($config, $wsConf); - } - - // validation debug config, only binary value is valid; debug = 1, to enable - $config['debug'] = $config['debug'] == 1 ? 1 : 0; - - if ($config['proxy_pass'] != '') { - $config['proxy_pass'] = G::decrypt($config['proxy_pass'], 'proxy_pass'); - } - - $md5 = array(); - if ($readGlobalIniFile) { - $md5[] = md5_file($globalIniFile); - } - if ($readWsIniFile) { - $md5[] = md5_file($wsIniFile); - } - $hash = implode('-', $md5); - - $_SESSION['PROCESSMAKER_ENV'] = $config; - $_SESSION['PROCESSMAKER_ENV_HASH'] = $hash; - - return $config; + return System::getSystemConfiguration($globalIniFile, $wsIniFile, $wsName); } public static function registerSystemClasses() diff --git a/workflow/engine/classes/class.system.php b/workflow/engine/classes/class.system.php index 6b1452f49..a9038127c 100755 --- a/workflow/engine/classes/class.system.php +++ b/workflow/engine/classes/class.system.php @@ -66,7 +66,10 @@ class System 'proxy_user' => '', 'proxy_pass' => '', 'size_log_file' => 5000000, - 'number_log_file' => 5 + 'number_log_file' => 5, + 'ie_cookie_lifetime' => 1, + 'error_reporting' => "", + 'display_errors' => 'On' ); /** @@ -1088,7 +1091,13 @@ class System } } - // default configuration + // default configuration for "error_reporting" conf + if (empty(self::$defaultConfig["error_reporting"])) { + $errorReportingDefault = defined('E_DEPRECATED') ? E_ALL & ~E_DEPRECATED : E_ALL; + $errorReportingDefault = defined('E_STRICT') ? $errorReportingDefault & ~E_STRICT : $errorReportingDefault; + self::$defaultConfig["error_reporting"] = $errorReportingDefault; + } + $config = self::$defaultConfig; // read the global env.ini configuration file