static function bootstrap()
{
# Registering Baikal classloader
define("BAIKAL_PATH_FRAMEWORKROOT", dirname(__FILE__) . "/");
\Baikal\Core\Tools::assertEnvironmentIsOk();
\Baikal\Core\Tools::configureEnvironment();
# Check that a config file exists
if (!file_exists(PROJECT_PATH_SPECIFIC . "config.php") || !file_exists(PROJECT_PATH_SPECIFIC . "config.system.php")) {
self::installTool();
} else {
require_once PROJECT_PATH_SPECIFIC . "config.php";
require_once PROJECT_PATH_SPECIFIC . "config.system.php";
date_default_timezone_set(PROJECT_TIMEZONE);
# Check that Baïkal is already configured
if (!defined("BAIKAL_CONFIGURED_VERSION")) {
self::installTool();
} else {
# Check that running version matches configured version
if (version_compare(BAIKAL_VERSION, BAIKAL_CONFIGURED_VERSION) > 0) {
self::installTool();
} else {
# Check that admin password is set
if (!defined("BAIKAL_ADMIN_PASSWORDHASH")) {
self::installTool();
}
\Baikal\Core\Tools::assertBaikalIsOk();
set_error_handler("\\Baikal\\Framework::exception_error_handler");
}
}
}
}