diff options
Diffstat (limited to 'src/controller')
| -rw-r--r-- | src/controller/ViewDirector.php | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/controller/ViewDirector.php b/src/controller/ViewDirector.php index eda49e7..7c368b6 100644 --- a/src/controller/ViewDirector.php +++ b/src/controller/ViewDirector.php | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | <?php | 1 | <?php |
| 2 | // src/view/ViewDirector.php | 2 | // src/controller/ViewDirector.php |
| 3 | // | 3 | // |
| 4 | // génère le HTML avec des Builder | 4 | // génère le HTML avec des Builder |
| 5 | 5 | ||
| @@ -13,7 +13,7 @@ use Symfony\Component\HttpFoundation\RedirectResponse; | |||
| 13 | 13 | ||
| 14 | class ViewDirector extends AbstractBuilder // ViewDirector est aussi le premier Builder | 14 | class ViewDirector extends AbstractBuilder // ViewDirector est aussi le premier Builder |
| 15 | { | 15 | { |
| 16 | static public Node $root_node; | 16 | public Node $root_node; |
| 17 | 17 | ||
| 18 | public function __construct(){} // surcharge celui de AbstractBuilder | 18 | public function __construct(){} // surcharge celui de AbstractBuilder |
| 19 | 19 | ||
| @@ -32,7 +32,7 @@ class ViewDirector extends AbstractBuilder // ViewDirector est aussi le premier | |||
| 32 | if(CURRENT_PAGE === 'article'){ | 32 | if(CURRENT_PAGE === 'article'){ |
| 33 | if(IS_ADMIN){ | 33 | if(IS_ADMIN){ |
| 34 | if(!$request->query->has('id')){ | 34 | if(!$request->query->has('id')){ |
| 35 | return new RedirectResponse((string)new URL(['page' => $_GET['from'] ?? ''])); | 35 | return new RedirectResponse((string)new URL(['page' => $request->query->get('from') ?? ''])); |
| 36 | } | 36 | } |
| 37 | else{ | 37 | else{ |
| 38 | // mode création d'article | 38 | // mode création d'article |
| @@ -43,7 +43,7 @@ class ViewDirector extends AbstractBuilder // ViewDirector est aussi le premier | |||
| 43 | } | 43 | } |
| 44 | } | 44 | } |
| 45 | elseif($request->query->get('id')[0] === 'n'){ // accès page nouvelle article interdit sans être admin | 45 | elseif($request->query->get('id')[0] === 'n'){ // accès page nouvelle article interdit sans être admin |
| 46 | return new RedirectResponse((string)new URL(['page' => $_GET['from'] ?? ''])); | 46 | return new RedirectResponse((string)new URL(['page' => $request->query->get('from') ?? ''])); |
| 47 | } | 47 | } |
| 48 | } | 48 | } |
| 49 | // pas de else, l'id dans l'URL n'a pas d'effet ailleurs | 49 | // pas de else, l'id dans l'URL n'a pas d'effet ailleurs |
| @@ -53,19 +53,19 @@ class ViewDirector extends AbstractBuilder // ViewDirector est aussi le premier | |||
| 53 | $model = new Model($entityManager); | 53 | $model = new Model($entityManager); |
| 54 | $model->makeMenuAndPaths(); | 54 | $model->makeMenuAndPaths(); |
| 55 | $model->getWholePageData($request); | 55 | $model->getWholePageData($request); |
| 56 | self::$root_node = $model->getNode(); | 56 | $this->root_node = $model->getNode(); |
| 57 | 57 | ||
| 58 | 58 | ||
| 59 | /* 3/ 2ème contrôle des paramètres avec les données récupérées */ | 59 | /* 3/ 2ème contrôle des paramètres avec les données récupérées */ |
| 60 | 60 | ||
| 61 | // article non trouvé en BDD | 61 | // article non trouvé en BDD |
| 62 | if(CURRENT_PAGE === 'article' && !IS_ADMIN && self::$root_node->getNodeByName('main')->getAdoptedChild() === null){ | 62 | if(CURRENT_PAGE === 'article' && !IS_ADMIN && $this->root_node->getNodeByName('main')->getAdoptedChild() === null){ |
| 63 | return new RedirectResponse((string)new URL(['page' => $_GET['from'] ?? ''])); | 63 | return new RedirectResponse((string)new URL(['page' => $request->query->get('from') ?? ''])); |
| 64 | } | 64 | } |
| 65 | 65 | ||
| 66 | 66 | ||
| 67 | /* 4/ construction de la page avec builders et vues */ | 67 | /* 4/ construction de la page avec builders et vues */ |
| 68 | $this->useChildrenBuilder(self::$root_node); | 68 | $this->useChildrenBuilder($this->root_node); |
| 69 | 69 | ||
| 70 | if(isset($_SESSION['flash_message'])){ | 70 | if(isset($_SESSION['flash_message'])){ |
| 71 | $this->html .= '<script>window.flash_message = "' . $_SESSION['flash_message'] . '";</script>'; | 71 | $this->html .= '<script>window.flash_message = "' . $_SESSION['flash_message'] . '";</script>'; |
