database update

This commit is contained in:
RundelhausCode 2021-03-25 14:24:34 +01:00
parent 9e4c39c435
commit 676b3a596d
5 changed files with 114 additions and 9 deletions

View File

@ -8,3 +8,12 @@ function isAdmin(): bool
return isset($_SESSION['admin']); return isset($_SESSION['admin']);
} }
function makeAdminLogin(string $userName)
{
setcookie("userName", $userName, [
'expires' => 0,
'samesite' => 'Strict',
'path' => '/'
]);
}

View File

@ -19,6 +19,7 @@ if(isset($_POST['aLogin'])){
$_SESSION['userName'] = $userName; $_SESSION['userName'] = $userName;
$_SESSION['admin'] = true; $_SESSION['admin'] = true;
$_SESSION['success'] = "You are now logged in"; $_SESSION['success'] = "You are now logged in";
makeAdminLogin($userName);
http_response_code(200); http_response_code(200);
}else{ }else{
session_destroy(); session_destroy();

View File

@ -1,9 +1,10 @@
<?php <?php
session_start(); session_start();
session_unset();
session_destroy(); session_destroy();
$cookieCon = array( $cookieCon = array(
'expires' => -1, 'expires' => -1,
'samesite' => 'Strict', 'samesite' => 'Strict',
@ -11,5 +12,6 @@ $cookieCon = array(
); );
setcookie("groupName", null, $cookieCon); setcookie("groupName", null, $cookieCon);
setcookie("groupId", null, $cookieCon); setcookie("groupId", null, $cookieCon);
setcookie("userName", null, $cookieCon);
echo http_response_code(200); echo http_response_code(200);

98
Backend/setup.php Normal file
View File

@ -0,0 +1,98 @@
<?php
//use Illuminate\Support\Facades\DB;
use \Backend\Models\AdminUser;
use JetBrains\PhpStorm\ArrayShape;
/**
* @param string $servername
* @param string $username
* @param string $password
* @param string $DBName
* @return string[]
*/
function myDB(string $servername, string $username, string $password, string $DBName): array
{
$conn = new mysqli($servername, $username, $password);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "CREATE DATABASE ".$DBName;
if ($conn->query($sql) === TRUE) {
echo "Database created successfully";
} else {
echo "Error creating database: " . $conn->error;
}
$conn->close();
return array(
"driver" => "mysql",
"host" => $servername,
"database" => $DBName,
"username" => $username,
"password" => $password
);
}
/**
* @param string $DBName
* @return string[]
*/
function liteDB(string $DBName): array
{
New SQLite3("Database/".$DBName.".sqlite");
$test = array(
'driver' => 'sqlite',
'database' => realpath(dirname(__FILE__)."/Database/".$DBName.".sqlite")
//'Backend/Database/'.$DBName.'.sqlite'
);
var_dump($test);
return $test;
}
$servername = "127.0.0.1";
$username = "root";
$password = "rootlog";
$DBName = "gamejamdb";
if(isset($_POST["dbSetup"])){
switch($_POST["dbType"]){
case "mysql":
$dbCon = myDB($_POST["dbServername"],$_POST["dbUsername"],$_POST["dbPassword"], $_POST["dbName"]);
break;
case "sqlite":
$dbCon = liteDB($_POST["dbName"]);
break;
default:
die("wrong dbType");
}
file_put_contents("../config/database.json", json_encode($dbCon));
require_once('../bootstrap.php');
try{
$capsule->Connection()->getPdo();
} catch (\Exception $e) {
//file_put_contents("../config/database.json", NULL);
die("Could not connect to the database. Please check your configuration. error:" . $e );
}
require_once ('Database/databaseMigration.php');
AdminUser::firstOrCreate([
'user_name' => $_POST["AdminUsername"], 'password' => password_hash($_POST["AdminPassword"],PASSWORD_DEFAULT)
]);
}else{
echo "not set";
}

View File

@ -1,13 +1,8 @@
<?php <?php
require "vendor/autoload.php"; require_once "vendor/autoload.php";
use Illuminate\Database\Capsule\Manager as Capsule; use Illuminate\Database\Capsule\Manager as Capsule;
$capsule = new Capsule; $capsule = new Capsule;
$capsule->addConnection([ $con = json_decode(file_get_contents('config/database.json', true), true);
"driver" => "mysql", $capsule->addConnection($con);
"host" =>"localhost",
"database" => "TestDB",
"username" => "root",
"password" => "V#_xWL6_"
]);
$capsule->setAsGlobal(); $capsule->setAsGlobal();
$capsule->bootEloquent(); $capsule->bootEloquent();