<?php error_reporting(E_ALL); ini_set('display_errors', 'on'); class SystemExit extends Exception {} try { $pageTitle = "Upgrade"; include('header.php'); require_once('config.php'); require_once('setup/version.php'); if (!isset($NEL_SETUP_VERSION_CONFIGURED)) { $NEL_SETUP_VERSION_CONFIGURED = 1; } ?> <div style="margin-left: auto; margin-right: auto; max-width: 1024px;"> <?php if ($_POST) { ?> <?php // NOTE: If a config upgrade requires new information, modify the // upgrade confirmation form at the bottom of this script. require_once('database.php'); if ($continue) { if (!extension_loaded('mcrypt')) { printalert("danger", "The mcrypt extension is missing. Please check your PHP configuration"); $continue = false; } } if (file_exists("role_support")) { $continue = upgrade_support_databases($continue); } if (file_exists("role_service")) { $continue = upgrade_service_databases($continue); } if (file_exists("role_domain")) { $continue = upgrade_domain_databases($continue); } // Rewrite config.php if ($continue) { $config = file_get_contents($PRIVATE_PHP_PATH . "/setup/config/config.php"); if (!$config) { printalert("danger", "Cannot read <em>config.php</em>"); $continue = false; } else { $cwd = getcwd(); $config = str_replace("%privatePhpDirectory%", addslashes($PRIVATE_PHP_PATH), $config); $config = str_replace("%publicPhpDirectory%", addslashes($PUBLIC_PHP_PATH), $config); $config = str_replace("%nelSqlHostname%", addslashes($cfg['db']['shard']['host']), $config); $config = str_replace("%nelSqlUsername%", addslashes($cfg['db']['shard']['user']), $config); $config = str_replace("%nelSqlPassword%", addslashes($cfg['db']['shard']['pass']), $config); $config = str_replace("%nelDatabase%", addslashes($cfg['db']['shard']['name']), $config); $config = str_replace("%toolDatabase%", addslashes($cfg['db']['tool']['name']), $config); $config = str_replace("%amsSqlHostname%", addslashes($cfg['db']['lib']['host']), $config); $config = str_replace("%amsSqlUsername%", addslashes($cfg['db']['lib']['user']), $config); $config = str_replace("%amsSqlPassword%", addslashes($cfg['db']['lib']['pass']), $config); $config = str_replace("%amsDatabase%", addslashes($cfg['db']['web']['name']), $config); $config = str_replace("%amsLibDatabase%", addslashes($cfg['db']['lib']['name']), $config); $config = str_replace("%nelSetupPassword%", addslashes($NEL_SETUP_PASSWORD), $config); $config = str_replace("%nelDomainName%", addslashes($NEL_DOMAIN_NAME), $config); $config = str_replace("%nelSetupVersion%", addslashes($NEL_SETUP_VERSION), $config); $config = str_replace("%cryptKey%", addslashes($cfg['crypt']['key']), $config); $config = str_replace("%cryptKeyIMAP%", addslashes($SUPPORT_GROUP_IMAP_CRYPTKEY), $config); if ($NEL_SETUP_VERSION_CONFIGURED < 2) { $config = str_replace("%domainDatabase%", "mini01", $config); } else { $config = str_replace("%domainDatabase%", addslashes($cfg['db']['ring']['name']), $config); } if (file_put_contents("config.php", $config)) { printalert("success", "Generated <em>config.php</em>"); } else { printalert("danger", "Cannot write to <em>config.php</em>"); $continue = false; } } } // Create config_user.php if it doesn't exist yet if ($continue && !file_exists("config_user.php")) { $configUser = file_get_contents($PRIVATE_PHP_PATH . "/setup/config/config_user.php"); if (!$configUser) { printalert("danger", "Cannot read <em>config_user.php</em>"); $continue = false; } else { if (file_put_contents("config_user.php", $configUser)) { printalert("success", "Copied <em>config_user.php</em>"); } else { printalert("danger", "Cannot write to <em>config.php</em>"); $continue = false; } } } if ($continue) { printalert("success", "Upgrade complete"); } ?> <p> <a class="btn btn-primary" href="index.php">Continue</a> </p> <?php } else { // NOTE: This is where you may also ask for new configuration fields ?> <div class="panel panel-danger"> <div class="panel-heading"><span class="glyphicon glyphicon-hdd"></span> Backup</div> <div class="panel-body"> It is strongly recommended to create a backup of your installation before proceeding with an upgrade! </div> </div> <form class="form" role="form" method="POST" action="" enctype="application/x-www-form-urlencoded"> <div class="input-group"> <input name="submit" type="submit" value="Upgrade" class="btn btn-primary"> </div> </form> <?php } ?> </div> <?php include('footer.php'); } catch (SystemExit $e) { /* do nothing */ } ?>