121 lines
4.7 KiB
PHP
121 lines
4.7 KiB
PHP
<?php
|
|
session_start();
|
|
if(file_exists("../config.php")) {
|
|
header("Location: ../index.php");
|
|
die();
|
|
}
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
|
|
|
<link type="text/css" rel="stylesheet" href="style.css" />
|
|
|
|
<title>WebStatus - Simplesetup</title>
|
|
</head>
|
|
<body>
|
|
<div class="center">
|
|
<form method="POST" action="index.php">
|
|
<h2 class="text">Setup</h2>
|
|
<?php
|
|
if(isset($_GET['mysqlerror'])) {
|
|
echo '<p class="error">MySQL Connection failed, please check your inputs!</p>';
|
|
}
|
|
|
|
if(isset($_GET['passwordnotmatch'])) {
|
|
echo '<p class="error">Passwords do not match!</p>';
|
|
}
|
|
?>
|
|
<p class="subtext">Website Settings:</p>
|
|
<input type="text" class="" placeholder="Websitetitle" name="websitename" required>
|
|
|
|
<p class="subtext">Database Setup:</p>
|
|
<input type="text" placeholder="Host" name="dbhost" required>
|
|
<input type="text" placeholder="Databasename" name="dbname" required>
|
|
<input type="text" placeholder="User" name="dbuser" required>
|
|
<input type="password" placeholder="Password" name="dbpwd" required>
|
|
|
|
<p class="subtext">Administrative User:</p>
|
|
<input type="text" placeholder="Username" name="username" required>
|
|
<input type="password" placeholder="Password" name="password" required>
|
|
<input type="password" placeholder="repeat password" name="password2" required>
|
|
|
|
<input class="button-green" value="Submit" type="submit">
|
|
</form>
|
|
</div>
|
|
</body>
|
|
</html>
|
|
|
|
|
|
<?php
|
|
|
|
if(isset($_POST['dbhost']) && isset($_POST['dbname']) && isset($_POST['dbpwd']) && isset($_POST['dbuser'])
|
|
&& isset($_POST['websitename']) && isset($_POST['username']) && isset($_POST['password']) && isset($_POST['password2'])) {
|
|
if(!file_exists("../config.php")) {
|
|
//Inputs read in, check inputs, start infliating database
|
|
$instancename = $_POST['websitename'];
|
|
|
|
$dbhost = $_POST['dbhost'];
|
|
$dbname = $_POST['dbname'];
|
|
$dbpwd = $_POST['dbpwd'];
|
|
$dbuser = $_POST['dbuser'];
|
|
|
|
$admin_username = $_POST['username'];
|
|
$admin_password = $_POST['password'];
|
|
$admin_password2 = $_POST['password2'];
|
|
$admin_password_hash = password_hash($_POST['password'], PASSWORD_DEFAULT);
|
|
|
|
//Check if passwords of the administrative user match
|
|
if(strcmp($admin_password, $admin_password2)) {
|
|
header("Location: index.php?passwordnotmatch");
|
|
die();
|
|
}
|
|
|
|
$con = mysqli_connect($dbhost, $dbuser, $dbpwd, $dbname) OR header("Location: index.php?mysqlerror") && die();
|
|
|
|
//Creating Tables
|
|
mysqli_query($con, "CREATE TABLE IF NOT EXISTS accounts(id int(255) PRIMARY KEY AUTO_INCREMENT, username varchar(255), password varchar(255), role varchar(255));");
|
|
mysqli_query($con, "CREATE TABLE IF NOT EXISTS groups(id int(255) PRIMARY KEY AUTO_INCREMENT, priority int(255), name varchar(255));");
|
|
mysqli_query($con, "CREATE TABLE IF NOT EXISTS incidents(id int(255) PRIMARY KEY AUTO_INCREMENT, status varchar(255), services varchar(255), text varchar(255), date varchar(255), childof int(255));");
|
|
mysqli_query($con, "CREATE TABLE IF NOT EXISTS services(id int(255) PRIMARY KEY AUTO_INCREMENT, priority int(255), groupid int(255), name varchar(255), status varchar(255), cmaintenance int(255), sname varchar(255));");
|
|
mysqli_query($con, "CREATE TABLE IF NOT EXISTS settings(type varchar(255), value varchar(255));");
|
|
|
|
//Infliating Settings
|
|
mysqli_query($con, "INSERT INTO settings(type, value) VALUES ('instancename', '".mysqli_real_escape_string($con,$instancename)."')");
|
|
mysqli_query($con, "INSERT INTO settings(type, value) VALUES ('autoreload', 'enabled')");
|
|
mysqli_query($con, "INSERT INTO settings(type, value) VALUES ('impressum', '#')");
|
|
mysqli_query($con, "INSERT INTO settings(type, value) VALUES ('privacy', '#')");
|
|
mysqli_query($con, "INSERT INTO settings(type, value) VALUES ('newtab', 'same tab')");
|
|
|
|
//Creating Administrative User
|
|
mysqli_query($con, "INSERT INTO accounts (username, password, role) VALUES ('".mysqli_real_escape_string($con,$admin_username)."',
|
|
'".mysqli_real_escape_string($con,$admin_password_hash)."', 'administrator')");
|
|
|
|
//Create Config
|
|
|
|
if($con != null) {
|
|
$config = ('<?php
|
|
$config=array(
|
|
"DBHOST"=>"'.$dbhost.'",
|
|
"DBNAME"=>"'.$dbname.'",
|
|
"DBPWD"=>"'.$dbpwd.'",
|
|
"DBUSER"=>"'.$dbuser.'"
|
|
);
|
|
?>');
|
|
file_put_contents("../config.php",$config);
|
|
|
|
header("Location: ../admin.php");
|
|
}
|
|
|
|
//Setup File already exists
|
|
} else {
|
|
header("Location: ../index.php");
|
|
die();
|
|
}
|
|
}
|
|
?>
|