54 lines
1.4 KiB
PHP
54 lines
1.4 KiB
PHP
|
<?php
|
||
|
|
||
|
use Login\Login;
|
||
|
use Utils\CsrfToken;
|
||
|
use KTH\App;
|
||
|
|
||
|
$error = null;
|
||
|
$breadcrumbs = ' / Create user';
|
||
|
App::initializeDataDir();
|
||
|
|
||
|
if (!empty($_POST)) {
|
||
|
if (empty($_POST['login']) || empty($_POST['password']) || empty($_POST['role'])) {
|
||
|
$error = 'Please fill login, password and role.';
|
||
|
} else {
|
||
|
if (CsrfToken::validateToken($_POST['token'])) {
|
||
|
$login = new Login;
|
||
|
$addUser = $login->addUser($_POST['login'], $_POST['password'], $_POST['role']);
|
||
|
if ($addUser === true) {
|
||
|
header('Location: index.php');
|
||
|
} else {
|
||
|
$error = 'Error 02 - This user already exist';
|
||
|
}
|
||
|
} else {
|
||
|
$error = 'Error 07 : Wrong token';
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
require 'header.php';
|
||
|
?>
|
||
|
<div class="titleBar">
|
||
|
<h1><?= $config['title'] . $breadcrumbs; ?></h1>
|
||
|
</div>
|
||
|
<form action="?" class="login" method="post">
|
||
|
<div class="alert" style="color: red;">
|
||
|
<?= $error; ?>
|
||
|
</div>
|
||
|
<label>Login</label>
|
||
|
<input type="text" name="login" required>
|
||
|
|
||
|
<label>Password</label>
|
||
|
<input type="password" name="password" required>
|
||
|
|
||
|
<label>Rôle</label>
|
||
|
<select name="role" required>
|
||
|
<option value="user">User</option>
|
||
|
<option value="admin">Admin</option>
|
||
|
</select>
|
||
|
|
||
|
<input type="hidden" name="token" value="<?= CsrfToken::generateToken(); ?>">
|
||
|
<button type="submit">Create user</button>
|
||
|
</form>
|
||
|
</body>
|
||
|
|
||
|
</html>
|