summaryrefslogtreecommitdiff
path: root/public/index.php
diff options
context:
space:
mode:
Diffstat (limited to 'public/index.php')
-rw-r--r--public/index.php32
1 files changed, 9 insertions, 23 deletions
diff --git a/public/index.php b/public/index.php
index bd3eec7..d05e799 100644
--- a/public/index.php
+++ b/public/index.php
@@ -20,10 +20,12 @@ phpDependancies();
20// $entityManager 20// $entityManager
21require '../src/model/doctrine-bootstrap.php'; // isDevMode est sur "true", DSN à adapter 21require '../src/model/doctrine-bootstrap.php'; // isDevMode est sur "true", DSN à adapter
22 22
23// générateur de liens
23URL::setProtocol(Config::$protocol); // utile si port autre que 80 ou 443 24URL::setProtocol(Config::$protocol); // utile si port autre que 80 ou 443
24URL::setPort(Config::$port); 25URL::setPort(Config::$port);
25URL::setHost($_SERVER['HTTP_HOST'] . Config::$index_path); 26URL::setHost($_SERVER['HTTP_HOST'] . Config::$index_path);
26 27
28// session
27//require('controller/Session.php'); 29//require('controller/Session.php');
28ini_set('session.cookie_samesite', 'Strict'); 30ini_set('session.cookie_samesite', 'Strict');
29ini_set('session.cookie_httponly', 'On'); 31ini_set('session.cookie_httponly', 'On');
@@ -41,41 +43,25 @@ require '../src/controller/password.php';
41existUsers($entityManager); // si la table user est vide, on en crée un 43existUsers($entityManager); // si la table user est vide, on en crée un
42 44
43 45
44/* -- partie 2: affichage d'une page ou traitement d'un POST -- */ 46/* -- partie 2: contrôleurs -- */
45 47
46// navigation avec les GET 48// navigation avec des GET
47define('CURRENT_PAGE', !empty($_GET['page']) ? htmlspecialchars($_GET['page']) : 'accueil'); 49define('CURRENT_PAGE', !empty($_GET['page']) ? htmlspecialchars($_GET['page']) : 'accueil');
48
49// traitement des POST (formulaires et AJAX)
50require '../src/controller/post.php';
51
52// id des articles
53$id = ''; 50$id = '';
54if(!empty($_GET['id'])) 51if(!empty($_GET['id']))
55{ 52{
56 $id = htmlspecialchars($_GET['id']); // nettoyage qui n'abime pas les id du genre "n16" 53 $id = htmlspecialchars($_GET['id']); // nettoyage qui n'abime pas les id du genre "n16"
57} 54}
58 55
59if(isset($_GET['action']) && $_GET['action'] === 'deconnexion') 56/* -- contrôleurs qui traitent les POST (formulaires ou AJAX) -- */
60{ 57require '../src/controller/post.php';
61 disconnect($entityManager);
62}
63elseif(isset($_GET['action']) && $_GET['action'] === 'modif_mdp')
64{
65 changePassword($entityManager);
66}
67elseif($_SESSION['admin'] && isset($_GET['page']) && isset($_GET['action']) && $_GET['action'] === 'modif_page'
68 && $_GET['page'] !== 'connexion' && $_GET['page'] !== 'article' && $_GET['page'] !== 'nouvelle_page' && $_GET['page'] !== 'menu_chemins')
69{
70 // les contrôles de la 2è ligne devraient utiliser un tableau
71 MainBuilder::$modif_mode = true;
72}
73 58
74// contrôleur principal 59/* -- affichage d'une page -- */
60// contrôleur accédant au modèle
75$director = new Director($entityManager, true); 61$director = new Director($entityManager, true);
76$director->makeRootNode($id); 62$director->makeRootNode($id);
77$node = $director->getNode(); 63$node = $director->getNode();
78 64
79// vues 65// contrôleur principal des vues
80$view_builder = new ViewBuilder($node); 66$view_builder = new ViewBuilder($node);
81echo $view_builder->render(); // et voilà! \ No newline at end of file 67echo $view_builder->render(); // et voilà! \ No newline at end of file