aboutsummaryrefslogtreecommitdiff
path: root/src/controller/ViewController.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/controller/ViewController.php')
-rw-r--r--src/controller/ViewController.php24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/controller/ViewController.php b/src/controller/ViewController.php
index 0830a5b..668fa25 100644
--- a/src/controller/ViewController.php
+++ b/src/controller/ViewController.php
@@ -5,16 +5,17 @@
5 5
6declare(strict_types=1); 6declare(strict_types=1);
7 7
8use App\Entity\Article;
8use App\Entity\Node; 9use App\Entity\Node;
9use Doctrine\ORM\EntityManager; 10use Doctrine\ORM\EntityManager;
10use Symfony\Component\HttpFoundation\Request; 11use Symfony\Component\HttpFoundation\Request;
11use Symfony\Component\HttpFoundation\Response; 12use Symfony\Component\HttpFoundation\Response;
12 13
13class ViewController extends AbstractBuilder 14class ViewController extends AbstractBuilder // ViewController est aussi le premier Builder
14{ 15{
15 static public Node $root_node; 16 static public Node $root_node;
16 17
17 public function __construct(){} 18 public function __construct(){} // surcharge celui de AbstractBuilder
18 19
19 public function buildView(EntityManager $entityManager, Request $request): Response 20 public function buildView(EntityManager $entityManager, Request $request): Response
20 { 21 {
@@ -25,13 +26,28 @@ class ViewController extends AbstractBuilder
25 26
26 // mode modification d'une page activé 27 // mode modification d'une page activé
27 if($_SESSION['admin'] && $request->query->has('page') 28 if($_SESSION['admin'] && $request->query->has('page')
28 && $request->query->has('action') && $request->query->get('action') === 'modif_page' 29 && $request->query->has('mode') && $request->query->get('mode') === 'page_modif'
29 && $request->query->get('page') !== 'connexion' && $request->query->get('page') !== 'article' && $request->query->get('page') !== 'nouvelle_page' && $request->query->get('page') !== 'menu_chemins'){ 30 && $request->query->get('page') !== 'connexion' && $request->query->get('page') !== 'article' && $request->query->get('page') !== 'nouvelle_page' && $request->query->get('page') !== 'menu_chemins'){
30 // les contrôles de la 2è ligne devraient utiliser un tableau 31 // les contrôles de la 2è ligne devraient utiliser un tableau
31 MainBuilder::$modif_mode = true; 32 MainBuilder::$modif_mode = true;
32 } 33 }
33 34
34 // construction de la page 35 // page article: mode création et erreurs d'id
36 if($_SESSION['admin'] && $request->query->has('page') && $request->query->get('page') === 'article'){
37 if(!$request->query->has('id')){
38 return new Response($this->html, 302);
39 }
40 else{
41 if($request->query->get('id')[0] === 'n'){ // mode création d'article (vérification de l'id du bloc dans ArticleController)
42 NewBuilder::$new_article_mode = true;
43 }
44 elseif(self::$root_node->getNodeByName('main')->getAdoptedChild() === null){ // id inconnu
45 return new Response($this->html, 302);
46 }
47 }
48 }
49
50 //début de la construction de la page
35 $this->useChildrenBuilder(self::$root_node); 51 $this->useChildrenBuilder(self::$root_node);
36 52
37 return new Response($this->html, 200); 53 return new Response($this->html, 200);