aboutsummaryrefslogtreecommitdiff
path: root/src/controller/ViewController.php
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2026-10-23 00:47:32 +0200
committerpolo <ordipolo@gmx.fr>2026-10-23 00:47:32 +0200
commitf27cca08ff786ceff1870147f6d6bad14d71117f (patch)
treed36597a72025313d6faf4ed228755fa267ebe2f6 /src/controller/ViewController.php
parentc7309f900ef05bd5cb313110ec159b761af394ec (diff)
downloadcms-f27cca08ff786ceff1870147f6d6bad14d71117f.tar.gz
cms-f27cca08ff786ceff1870147f6d6bad14d71117f.tar.bz2
cms-f27cca08ff786ceff1870147f6d6bad14d71117f.zip
dossiers avec majuscule, namespace pour toutes les classes, autoload psr-4, UserDataService::createZip déplacé dans Backup
Diffstat (limited to 'src/controller/ViewController.php')
-rw-r--r--src/controller/ViewController.php63
1 files changed, 0 insertions, 63 deletions
diff --git a/src/controller/ViewController.php b/src/controller/ViewController.php
deleted file mode 100644
index d1aaee7..0000000
--- a/src/controller/ViewController.php
+++ /dev/null
@@ -1,63 +0,0 @@
1<?php
2// src/controller/ViewController.php
3
4declare(strict_types=1);
5
6use Doctrine\ORM\EntityManager;
7use Symfony\Component\HttpFoundation\Request;
8use Symfony\Component\HttpFoundation\Response;
9use Symfony\Component\HttpFoundation\RedirectResponse;
10
11class ViewController{
12 const SPECIAL_PAGES = ['article', 'new_page', 'menu_paths', 'user_edit', 'connection', 'emails', 'maintenance'];
13
14 static function getWebPage(EntityManager $entityManager, Request $request): Response
15 {
16 /* 1/ 1er contrôle des paramètres */
17
18 // mode modification d'une page
19 if(IS_ADMIN
20 && $request->query->has('mode') && $request->query->get('mode') === 'page_modif'
21 && !in_array(CURRENT_PAGE, self::SPECIAL_PAGES))
22 {
23 MainBuilder::$modif_mode = true;
24 }
25 // page article: mode création et erreurs d'id
26 if(CURRENT_PAGE === 'article'){
27 if(IS_ADMIN){
28 if(!$request->query->has('id')){
29 return new RedirectResponse((string)new URL(['page' => $request->query->get('from') ?? '']));
30 }
31 else{
32 // mode création d'article
33 // l'id du bloc et 'from=' sont vérifiés dans ArticleController::editorSubmit
34 if($request->query->get('id')[0] === 'n' && $request->query->has('from') && !empty($request->query->get('from'))){
35 NewBuilder::$new_article_mode = true;
36 }
37 }
38 }
39 elseif($request->query->get('id')[0] === 'n'){ // accès page nouvelle article interdit sans être admin
40 return new RedirectResponse((string)new URL(['page' => $request->query->get('from') ?? '']));
41 }
42 }
43 // pas de else, l'id dans l'URL n'a pas d'effet ailleurs
44
45
46 /* 2/ accès au modèle */
47 $model = new Model($entityManager);
48 $model->makeMenuAndPaths();
49 $model->getWholePageData($request);
50
51
52 /* 3/ 2ème contrôle des paramètres avec les données récupérées */
53
54 // article non trouvé en BDD
55 if(CURRENT_PAGE === 'article' && !IS_ADMIN && $model->getNode()->getNodeByName('main')->getAdoptedChild() === null){
56 return new RedirectResponse((string)new URL(['page' => $request->query->get('from') ?? '']));
57 }
58
59
60 /* 4/ construction de la page avec builders et vues */
61 return new Response((new ViewDirector)->buildHTML($model->getNode()));
62 }
63} \ No newline at end of file