summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2025-08-02 04:09:32 +0200
committerpolo <ordipolo@gmx.fr>2025-08-02 04:10:30 +0200
commit20e1d288035a274b48f0d2d26f547ad15e99761d (patch)
tree68198bf3804f39dc48c54d13759ac2a1cf37b15b
parent245f1c1f4f60f6841b557312ff49b2ee6bac9bf3 (diff)
downloadcms-20e1d288035a274b48f0d2d26f547ad15e99761d.zip
réorganisation 1: déplacement de trucs de index.php à post.php
-rw-r--r--public/index.php32
-rw-r--r--src/controller/installation.php1
-rw-r--r--src/controller/post.php17
3 files changed, 27 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
diff --git a/src/controller/installation.php b/src/controller/installation.php
index acb87f1..d9ea44b 100644
--- a/src/controller/installation.php
+++ b/src/controller/installation.php
@@ -33,6 +33,7 @@ function phpDependancies()
33 } 33 }
34} 34}
35 35
36// inutilisée pour l'instant
36function installation(): void 37function installation(): void
37{ 38{
38 /* -- droits des fichiers et dossiers -- */ 39 /* -- droits des fichiers et dossiers -- */
diff --git a/src/controller/post.php b/src/controller/post.php
index bcafe6f..5d9500b 100644
--- a/src/controller/post.php
+++ b/src/controller/post.php
@@ -9,6 +9,23 @@ use App\Entity\Page;
9use App\Entity\Image; 9use App\Entity\Image;
10use Doctrine\Common\Collections\ArrayCollection; 10use Doctrine\Common\Collections\ArrayCollection;
11 11
12if(isset($_GET['action']) && $_GET['action'] === 'deconnexion')
13{
14 disconnect($entityManager);
15}
16elseif(isset($_GET['action']) && $_GET['action'] === 'modif_mdp')
17{
18 changePassword($entityManager);
19}
20elseif($_SESSION['admin'] && isset($_GET['page']) && isset($_GET['action']) && $_GET['action'] === 'modif_page'
21 && $_GET['page'] !== 'connexion' && $_GET['page'] !== 'article' && $_GET['page'] !== 'nouvelle_page' && $_GET['page'] !== 'menu_chemins')
22{
23 // les contrôles de la 2è ligne devraient utiliser un tableau
24 MainBuilder::$modif_mode = true;
25}
26
27
28/* -- html form -- */
12if($_SERVER['REQUEST_METHOD'] === 'POST'){ 29if($_SERVER['REQUEST_METHOD'] === 'POST'){
13 // POST ordinaires non admin 30 // POST ordinaires non admin
14 31