diff options
author | polo <ordipolo@gmx.fr> | 2025-08-02 04:09:32 +0200 |
---|---|---|
committer | polo <ordipolo@gmx.fr> | 2025-08-02 04:10:30 +0200 |
commit | 20e1d288035a274b48f0d2d26f547ad15e99761d (patch) | |
tree | 68198bf3804f39dc48c54d13759ac2a1cf37b15b | |
parent | 245f1c1f4f60f6841b557312ff49b2ee6bac9bf3 (diff) | |
download | cms-20e1d288035a274b48f0d2d26f547ad15e99761d.zip |
réorganisation 1: déplacement de trucs de index.php à post.php
-rw-r--r-- | public/index.php | 32 | ||||
-rw-r--r-- | src/controller/installation.php | 1 | ||||
-rw-r--r-- | src/controller/post.php | 17 |
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 |
21 | require '../src/model/doctrine-bootstrap.php'; // isDevMode est sur "true", DSN à adapter | 21 | require '../src/model/doctrine-bootstrap.php'; // isDevMode est sur "true", DSN à adapter |
22 | 22 | ||
23 | // générateur de liens | ||
23 | URL::setProtocol(Config::$protocol); // utile si port autre que 80 ou 443 | 24 | URL::setProtocol(Config::$protocol); // utile si port autre que 80 ou 443 |
24 | URL::setPort(Config::$port); | 25 | URL::setPort(Config::$port); |
25 | URL::setHost($_SERVER['HTTP_HOST'] . Config::$index_path); | 26 | URL::setHost($_SERVER['HTTP_HOST'] . Config::$index_path); |
26 | 27 | ||
28 | // session | ||
27 | //require('controller/Session.php'); | 29 | //require('controller/Session.php'); |
28 | ini_set('session.cookie_samesite', 'Strict'); | 30 | ini_set('session.cookie_samesite', 'Strict'); |
29 | ini_set('session.cookie_httponly', 'On'); | 31 | ini_set('session.cookie_httponly', 'On'); |
@@ -41,41 +43,25 @@ require '../src/controller/password.php'; | |||
41 | existUsers($entityManager); // si la table user est vide, on en crée un | 43 | existUsers($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 |
47 | define('CURRENT_PAGE', !empty($_GET['page']) ? htmlspecialchars($_GET['page']) : 'accueil'); | 49 | define('CURRENT_PAGE', !empty($_GET['page']) ? htmlspecialchars($_GET['page']) : 'accueil'); |
48 | |||
49 | // traitement des POST (formulaires et AJAX) | ||
50 | require '../src/controller/post.php'; | ||
51 | |||
52 | // id des articles | ||
53 | $id = ''; | 50 | $id = ''; |
54 | if(!empty($_GET['id'])) | 51 | if(!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 | ||
59 | if(isset($_GET['action']) && $_GET['action'] === 'deconnexion') | 56 | /* -- contrôleurs qui traitent les POST (formulaires ou AJAX) -- */ |
60 | { | 57 | require '../src/controller/post.php'; |
61 | disconnect($entityManager); | ||
62 | } | ||
63 | elseif(isset($_GET['action']) && $_GET['action'] === 'modif_mdp') | ||
64 | { | ||
65 | changePassword($entityManager); | ||
66 | } | ||
67 | elseif($_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); |
81 | echo $view_builder->render(); // et voilà! \ No newline at end of file | 67 | echo $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 | ||
36 | function installation(): void | 37 | function 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; | |||
9 | use App\Entity\Image; | 9 | use App\Entity\Image; |
10 | use Doctrine\Common\Collections\ArrayCollection; | 10 | use Doctrine\Common\Collections\ArrayCollection; |
11 | 11 | ||
12 | if(isset($_GET['action']) && $_GET['action'] === 'deconnexion') | ||
13 | { | ||
14 | disconnect($entityManager); | ||
15 | } | ||
16 | elseif(isset($_GET['action']) && $_GET['action'] === 'modif_mdp') | ||
17 | { | ||
18 | changePassword($entityManager); | ||
19 | } | ||
20 | elseif($_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 -- */ | ||
12 | if($_SERVER['REQUEST_METHOD'] === 'POST'){ | 29 | if($_SERVER['REQUEST_METHOD'] === 'POST'){ |
13 | // POST ordinaires non admin | 30 | // POST ordinaires non admin |
14 | 31 | ||