mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-12-20 16:08:44 +00:00
Merge
This commit is contained in:
commit
ea366fcce9
4 changed files with 160 additions and 11 deletions
|
@ -18,7 +18,7 @@ ini_set( 'display_errors', 'on' );
|
||||||
class SystemExit extends Exception {}
|
class SystemExit extends Exception {}
|
||||||
try {
|
try {
|
||||||
|
|
||||||
if (!file_exists( '../config.php')) {
|
if (!file_exists('../role_support')) {
|
||||||
header("Cache-Control: max-age=1");
|
header("Cache-Control: max-age=1");
|
||||||
header('Location: ../setup', true, 303);
|
header('Location: ../setup', true, 303);
|
||||||
throw new SystemExit();
|
throw new SystemExit();
|
||||||
|
|
|
@ -9,24 +9,34 @@ try {
|
||||||
$pageTitle = "Authenticate";
|
$pageTitle = "Authenticate";
|
||||||
include('header.php');
|
include('header.php');
|
||||||
|
|
||||||
|
require_once('config.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<div style="margin-left: auto; margin-right: auto; max-width: 512px;">
|
<div style="margin-left: auto; margin-right: auto; max-width: 512px;">
|
||||||
|
|
||||||
<?php /*var_dump($_POST);*/ if ($_POST) { ?>
|
<?php /*var_dump($_POST);*/ $showForm = true; if ($_POST) { ?>
|
||||||
|
|
||||||
|
<?php if ($_POST['nelSetupPassword'] == $NEL_SETUP_PASSWORD) { ?>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
// TODO
|
|
||||||
$_SESSION['nelSetupAuthenticated'] = 1;
|
$_SESSION['nelSetupAuthenticated'] = 1;
|
||||||
|
|
||||||
printalert("success", "You are now authenticated");
|
printalert("success", "You are now authenticated");
|
||||||
|
$showForm = false;
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<p>
|
<p>
|
||||||
<a class="btn btn-primary" href="index.php">Continue</a>
|
<a class="btn btn-primary" href="index.php">Continue</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<?php } else { ?>
|
<?php } else {
|
||||||
|
|
||||||
|
printalert("danger", "Invalid password");
|
||||||
|
|
||||||
|
} ?>
|
||||||
|
|
||||||
|
<?php } if ($showForm) { ?>
|
||||||
|
|
||||||
<form class="form" role="form" method="POST" action="" enctype="application/x-www-form-urlencoded">
|
<form class="form" role="form" method="POST" action="" enctype="application/x-www-form-urlencoded">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
|
|
117
code/web/public_php/setup/database.php
Normal file
117
code/web/public_php/setup/database.php
Normal file
|
@ -0,0 +1,117 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
function set_db_version($continue_r, $name, $version) {
|
||||||
|
$continue = $continue_r;
|
||||||
|
|
||||||
|
if (file_put_contents("db_version_" . $name, (string)$version)) {
|
||||||
|
} else {
|
||||||
|
printalert("danger", "Failed to set database version");
|
||||||
|
$continue = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_db_version($name) {
|
||||||
|
if (!file_exists("db_version_" . $name)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return (int)file_get_contents("db_version_" . $name);
|
||||||
|
}
|
||||||
|
|
||||||
|
function connect_database($continue, $name) {
|
||||||
|
$con = null;
|
||||||
|
|
||||||
|
global $cfg;
|
||||||
|
if ($continue) {
|
||||||
|
$con = mysqli_connect(
|
||||||
|
$cfg['db'][$name]['host'],
|
||||||
|
$cfg['db'][$name]['user'],
|
||||||
|
$cfg['db'][$name]['pass'],
|
||||||
|
$cfg['db'][$name]['name']);
|
||||||
|
if (mysqli_connect_errno()) {
|
||||||
|
printalert("danger", "Failed to connect to the <em>" . $name . "</em> SQL server: " . mysqli_connect_error());
|
||||||
|
$con = null;
|
||||||
|
} else {
|
||||||
|
printalert("success", "Connected to the <em>" . $name . "</em> SQL server");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $con;
|
||||||
|
}
|
||||||
|
|
||||||
|
function disconnect_database($con, $name) {
|
||||||
|
if ($con) {
|
||||||
|
mysqli_close($con);
|
||||||
|
printalert("info", "Disconnected from the <em>" . $name . "</em> SQL server");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function upgrade_service_databases($continue_r) {
|
||||||
|
$continue = $continue_r;
|
||||||
|
|
||||||
|
$con = null;
|
||||||
|
$con = connect_database($continue, "shard");
|
||||||
|
$continue = ($con != null);
|
||||||
|
if ($continue && get_db_version("shard") < 1) {
|
||||||
|
$continue = update_database_structure($continue, $con, "nel_00001.sql");
|
||||||
|
$continue = set_db_version($continue, "shard", 1);
|
||||||
|
}
|
||||||
|
disconnect_database($con, "shard");
|
||||||
|
|
||||||
|
$con = null;
|
||||||
|
$con = connect_database($continue, "tool");
|
||||||
|
$continue = ($con != null);
|
||||||
|
if ($continue && get_db_version("tool") < 1) {
|
||||||
|
$continue = update_database_structure($continue, $con, "nel_tool_00001.sql");
|
||||||
|
$continue = set_db_version($continue, "tool", 1);
|
||||||
|
}
|
||||||
|
disconnect_database($con, "tool");
|
||||||
|
|
||||||
|
return $continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
function upgrade_support_databases($continue_r) {
|
||||||
|
$continue = $continue_r;
|
||||||
|
|
||||||
|
$con = null;
|
||||||
|
$con = connect_database($continue, "web");
|
||||||
|
$continue = ($con != null);
|
||||||
|
if ($continue && get_db_version("web") < 1) {
|
||||||
|
$continue = update_database_structure($continue, $con, "nel_ams_00001.sql");
|
||||||
|
$continue = set_db_version($continue, "web", 1);
|
||||||
|
}
|
||||||
|
disconnect_database($con, "web");
|
||||||
|
|
||||||
|
$con = null;
|
||||||
|
$con = connect_database($continue, "lib");
|
||||||
|
$continue = ($con != null);
|
||||||
|
if ($continue && get_db_version("lib") < 1) {
|
||||||
|
$continue = update_database_structure($continue, $con, "nel_ams_lib_00001.sql");
|
||||||
|
$continue = set_db_version($continue, "lib", 1);
|
||||||
|
}
|
||||||
|
if ($continue && get_db_version("lib") < 2) {
|
||||||
|
$continue = update_database_structure($continue, $con, "nel_ams_lib_00002.sql");
|
||||||
|
$continue = set_db_version($continue, "lib", 2);
|
||||||
|
}
|
||||||
|
disconnect_database($con, "lib");
|
||||||
|
|
||||||
|
return $continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
function upgrade_domain_databases($continue_r) {
|
||||||
|
$continue = $continue_r;
|
||||||
|
|
||||||
|
$con = null;
|
||||||
|
$con = connect_database($continue, "ring");
|
||||||
|
$continue = ($con != null);
|
||||||
|
if ($continue && get_db_version("ring") < 1) {
|
||||||
|
$continue = update_database_structure($continue, $con, "ring_domain_00001.sql");
|
||||||
|
$continue = set_db_version($continue, "ring", 1);
|
||||||
|
}
|
||||||
|
disconnect_database($con, "ring");
|
||||||
|
|
||||||
|
return $continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
|
@ -75,11 +75,14 @@ include('header.php');
|
||||||
if ($roleService) {
|
if ($roleService) {
|
||||||
// Create NeL database
|
// Create NeL database
|
||||||
$continue = create_use_database($continue, $con, $_POST["nelDatabase"]);
|
$continue = create_use_database($continue, $con, $_POST["nelDatabase"]);
|
||||||
$continue = update_database_structure($continue, $con, "nel_00001.sql");
|
|
||||||
|
|
||||||
// Create NeL Tools database
|
// Create NeL Tools database
|
||||||
$continue = create_use_database($continue, $con, $_POST["toolDatabase"]);
|
$continue = create_use_database($continue, $con, $_POST["toolDatabase"]);
|
||||||
$continue = update_database_structure($continue, $con, "nel_tool_00001.sql");
|
}
|
||||||
|
|
||||||
|
if ($roleDomain) {
|
||||||
|
// Create Ring database
|
||||||
|
$continue = create_use_database($continue, $con, $_POST["domainDatabase"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($con) {
|
if ($con) {
|
||||||
|
@ -101,12 +104,9 @@ include('header.php');
|
||||||
|
|
||||||
// Create AMS database
|
// Create AMS database
|
||||||
$continue = create_use_database($continue, $con, $_POST["amsDatabase"]);
|
$continue = create_use_database($continue, $con, $_POST["amsDatabase"]);
|
||||||
$continue = update_database_structure($continue, $con, "nel_ams_00001.sql");
|
|
||||||
|
|
||||||
// Create AMS Library database
|
// Create AMS Library database
|
||||||
$continue = create_use_database($continue, $con, $_POST["amsLibDatabase"]);
|
$continue = create_use_database($continue, $con, $_POST["amsLibDatabase"]);
|
||||||
$continue = update_database_structure($continue, $con, "nel_ams_lib_00001.sql");
|
|
||||||
$continue = update_database_structure($continue, $con, "nel_ams_lib_00002.sql");
|
|
||||||
|
|
||||||
if ($con) {
|
if ($con) {
|
||||||
mysqli_close($con);
|
mysqli_close($con);
|
||||||
|
@ -158,6 +158,24 @@ include('header.php');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
require_once('database.php');
|
||||||
|
|
||||||
|
if ($roleSupport) {
|
||||||
|
$continue = upgrade_support_databases($continue);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($roleService) {
|
||||||
|
$continue = upgrade_service_databases($continue);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($roleDomain) {
|
||||||
|
$continue = upgrade_domain_databases($continue);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($roleService) {
|
||||||
|
// TODO: Create the default admin user
|
||||||
|
}
|
||||||
|
|
||||||
if ($roleSupport) {
|
if ($roleSupport) {
|
||||||
// Load AMS Library
|
// Load AMS Library
|
||||||
if ($continue) {
|
if ($continue) {
|
||||||
|
@ -191,7 +209,11 @@ include('header.php');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($continue && $roleSupport) {
|
if ($roleDomain) {
|
||||||
|
// TODO: Register the domain with the nel database etc
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($continue && $roleService) {
|
||||||
if (file_put_contents("role_service", "1")) {
|
if (file_put_contents("role_service", "1")) {
|
||||||
printalert("success", "Service role successfully installed");
|
printalert("success", "Service role successfully installed");
|
||||||
} else {
|
} else {
|
||||||
|
@ -414,7 +436,7 @@ include('header.php');
|
||||||
</div>
|
</div>
|
||||||
<div id="panelDomain" class="panel panel-default hide">
|
<div id="panelDomain" class="panel panel-default hide">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
<h2 class="panel-title">Domain</h2>
|
<h2 class="panel-title">Domain <small>(Multiple domains require separate installations, as they may run different versions)</small></h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
|
Loading…
Reference in a new issue