.
* ---------------------------------------------------------------------
*/
if (!defined('GLPI_ROOT')) {
die("Sorry. You can't access this file directly");
}
// Be sure to use global objects if this file is included outside normal process
global $CFG_GLPI, $GLPI, $GLPI_CACHE;
include_once (GLPI_ROOT."/inc/based_config.php");
include_once (GLPI_ROOT."/inc/dbconnection.class.php");
Session::setPath();
Session::start();
// Default Use mode
if (!isset($_SESSION['glpi_use_mode'])) {
$_SESSION['glpi_use_mode'] = Session::NORMAL_MODE;
}
$GLPI = new GLPI();
$GLPI->initLogger();
$GLPI->initErrorHandler();
//init cache
$GLPI_CACHE = Config::getCache('cache_db');
Config::detectRootDoc();
if (!file_exists(GLPI_CONFIG_DIR . "/config_db.php")) {
Session::loadLanguage('', false);
// no translation
if (!isCommandLine()) {
Html::nullHeader("DB Error", $CFG_GLPI["root_doc"]);
echo "
";
echo "
Error: GLPI seems to not be configured properly.
";
echo "
config_db.php file is missing.
";
echo "
Please restart the install process.
";
echo "
Click here to proceed
";
echo "
";
Html::nullFooter();
} else {
echo "Error: GLPI seems to not be configured properly.\n";
echo "config_db.php file is missing.\n";
echo "Please connect to GLPI web interface to complete the install process.\n";
}
die(1);
} else {
include_once(GLPI_CONFIG_DIR . "/config_db.php");
//Database connection
DBConnection::establishDBConnection((isset($USEDBREPLICATE) ? $USEDBREPLICATE : 0),
(isset($DBCONNECTION_REQUIRED) ? $DBCONNECTION_REQUIRED : 0));
// *************************** Statics config options **********************
// ********************options d'installation statiques*********************
// *************************************************************************
//Options from DB, do not touch this part.
$older_to_latest = !isset($_GET['donotcheckversion']) // use normal config table on restore process
&& (isset($TRY_OLD_CONFIG_FIRST) // index case
|| (isset($_SESSION['TRY_OLD_CONFIG_FIRST']) && $_SESSION['TRY_OLD_CONFIG_FIRST'])); // backup case
if (isset($_SESSION['TRY_OLD_CONFIG_FIRST'])) {
unset($_SESSION['TRY_OLD_CONFIG_FIRST']);
}
if (!Config::loadLegacyConfiguration($older_to_latest)) {
echo "Error accessing config table";
exit();
}
if (isCommandLine()
&& isset($_SERVER['argv'])) {
$key = array_search('--debug', $_SERVER['argv']);
if ($key) {
$_SESSION['glpi_use_mode'] = Session::DEBUG_MODE;
unset($_SERVER['argv'][$key]);
$_SERVER['argv'] = array_values($_SERVER['argv']);
$_SERVER['argc']--;
}
}
Toolbox::setDebugMode();
if (isset($_SESSION["glpiroot"]) && $CFG_GLPI["root_doc"]!=$_SESSION["glpiroot"]) {
Html::redirect($_SESSION["glpiroot"]);
}
// Override cfg_features by session value
foreach ($CFG_GLPI['user_pref_field'] as $field) {
if (!isset($_SESSION["glpi$field"]) && isset($CFG_GLPI[$field])) {
$_SESSION["glpi$field"] = $CFG_GLPI[$field];
}
}
// Check maintenance mode
if (isset($CFG_GLPI["maintenance_mode"])
&& $CFG_GLPI["maintenance_mode"]
&& !isset($dont_check_maintenance_mode)) {
if (isset($_GET['skipMaintenance']) && $_GET['skipMaintenance']) {
$_SESSION["glpiskipMaintenance"] = 1;
}
if (!isset($_SESSION["glpiskipMaintenance"]) || !$_SESSION["glpiskipMaintenance"]) {
Session::loadLanguage('', false);
if (isCommandLine()) {
echo __('Service is down for maintenance. It will be back shortly.');
echo "\n";
} else {
Html::nullHeader("MAINTENANCE MODE", $CFG_GLPI["root_doc"]);
echo "";
echo "
";
echo __('Service is down for maintenance. It will be back shortly.');
echo "
";
if (isset($CFG_GLPI["maintenance_text"]) && !empty($CFG_GLPI["maintenance_text"])) {
echo "
".$CFG_GLPI["maintenance_text"]."
";
}
echo "
";
Html::nullFooter();
}
exit();
}
}
// Check version
if ((!isset($CFG_GLPI['dbversion']) || (trim($CFG_GLPI["dbversion"]) != GLPI_SCHEMA_VERSION))
&& !isset($_GET["donotcheckversion"])) {
Session::loadLanguage('', false);
if (isCommandLine()) {
echo __('The version of the database is not compatible with the version of the installed files. An update is necessary.');
echo "\n";
} else {
Html::nullHeader("UPDATE NEEDED", $CFG_GLPI["root_doc"]);
echo "";
echo "
";
$error = Toolbox::commonCheckForUseGLPI();
echo "
";
if ($error) {
echo "
";
Html::nullFooter();
}
exit();
}
$GLPI_CACHE = Config::getCache('cache_db');
}