diff options
Diffstat (limited to 'src/controller/ViewController.php')
| -rw-r--r-- | src/controller/ViewController.php | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/src/controller/ViewController.php b/src/controller/ViewController.php index 668fa25..f66baff 100644 --- a/src/controller/ViewController.php +++ b/src/controller/ViewController.php | |||
| @@ -33,17 +33,24 @@ class ViewController extends AbstractBuilder // ViewController est aussi le prem | |||
| 33 | } | 33 | } |
| 34 | 34 | ||
| 35 | // page article: mode création et erreurs d'id | 35 | // page article: mode création et erreurs d'id |
| 36 | if($_SESSION['admin'] && $request->query->has('page') && $request->query->get('page') === 'article'){ | 36 | if($request->query->has('page') && $request->query->get('page') === 'article'){ |
| 37 | if(!$request->query->has('id')){ | 37 | if($_SESSION['admin']){ |
| 38 | return new Response($this->html, 302); | 38 | if(!$request->query->has('id')){ |
| 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); | 39 | return new Response($this->html, 302); |
| 46 | } | 40 | } |
| 41 | else{ | ||
| 42 | // mode création d'article | ||
| 43 | // l'id du bloc et 'from=' sont vérifiés dans ArticleController::editorSubmit | ||
| 44 | if($request->query->get('id')[0] === 'n' && $request->query->has('from') && !empty($request->query->get('from'))){ | ||
| 45 | NewBuilder::$new_article_mode = true; | ||
| 46 | } | ||
| 47 | elseif(self::$root_node->getNodeByName('main')->getAdoptedChild() === null){ // id inconnu | ||
| 48 | return new Response($this->html, 302); | ||
| 49 | } | ||
| 50 | } | ||
| 51 | } | ||
| 52 | elseif($request->query->get('id')[0] === 'n'){ // accès page nouvelle article interdit sans être admin | ||
| 53 | return new Response($this->html, 302); | ||
| 47 | } | 54 | } |
| 48 | } | 55 | } |
| 49 | 56 | ||
