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.tar.gz cms-20e1d288035a274b48f0d2d26f547ad15e99761d.tar.bz2 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 | ||
