forked from tom.biard/ScienceQuest
parent
ea0422a2b3
commit
4390b2e3e0
@ -0,0 +1,61 @@
|
|||||||
|
<?php
|
||||||
|
namespace controller;
|
||||||
|
use Exception;
|
||||||
|
|
||||||
|
//gerer la connexion des admins
|
||||||
|
class AdminController {
|
||||||
|
public function __construct(){
|
||||||
|
//TODO actions, liste actions, actions autorisées
|
||||||
|
global $twig;
|
||||||
|
//on démarre ou reprend la session, obtenir $_SESSION
|
||||||
|
session_start();
|
||||||
|
//on initialise un tableau d'erreur pour etre utilisé par la vue erreur
|
||||||
|
$dVueEreur = [];
|
||||||
|
|
||||||
|
//verifier si l'utilisateur est connecté et admin
|
||||||
|
if(isset($_SESSION["isAdmin"])){
|
||||||
|
if($_SESSION["isAdmin"]==true){
|
||||||
|
//donner la page admin a l'admin
|
||||||
|
try {
|
||||||
|
$action = $_REQUEST['admin'] ?? null;
|
||||||
|
|
||||||
|
switch($action) {
|
||||||
|
case null:
|
||||||
|
echo $twig->render('admin/accueil.html');
|
||||||
|
break;
|
||||||
|
case 'stats':
|
||||||
|
echo $twig->render('admin/stats.html');
|
||||||
|
break;
|
||||||
|
case 'ajouterScientifiques':
|
||||||
|
echo $twig->render('admin/ajouter.html');
|
||||||
|
break;
|
||||||
|
//mauvaise action
|
||||||
|
default:
|
||||||
|
$dVueErreur[] = "Erreur d'appel php";
|
||||||
|
echo $twig->render('accueil.html', ['dVueErreur' => $dVueErreur]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} catch (\PDOException $e) {
|
||||||
|
$dVueErreur[] = 'Erreur avec la base de données !';
|
||||||
|
echo $twig->render('erreur.html', ['dVueErreur' => $dVueErreur]);
|
||||||
|
} catch (\Exception $e2) {
|
||||||
|
$dVueErreur[] = 'Erreur inattendue !';
|
||||||
|
echo $twig->render('erreur.html', ['dVueErreur' => $dVueErreur]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//verifier si l'utilisateur est connecté mais pas admin
|
||||||
|
if(isset($_SESSION["isLogged"])){
|
||||||
|
if($_SESSION["isLogged"]==true) {
|
||||||
|
//dire acces interdit au non admins
|
||||||
|
array_push($dVueEreur, "Erreur 403 : Acces interdit");
|
||||||
|
echo $twig->render('erreur.html', ['dVueErreur' => $dVueErreur]);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//renvoyer a la page de connexion pour les non connectés
|
||||||
|
echo $twig->render('login.html');
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
@ -0,0 +1,20 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Se connecter</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Se connecter</h1>
|
||||||
|
|
||||||
|
<center>
|
||||||
|
<form action="#" method="post">
|
||||||
|
<label for="login">Login</label>
|
||||||
|
<input type="text" name="login" id="login">
|
||||||
|
<label for="login">Mot de passe</label>
|
||||||
|
<input type="password" name="password" id="password">
|
||||||
|
<input type="submit" value="Valider">
|
||||||
|
</form>
|
||||||
|
</center>
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in new issue