From f27cca08ff786ceff1870147f6d6bad14d71117f Mon Sep 17 00:00:00 2001 From: polo Date: Fri, 23 Oct 2026 00:47:32 +0200 Subject: =?UTF-8?q?dossiers=20avec=20majuscule,=20namespace=20pour=20toute?= =?UTF-8?q?s=20les=20classes,=20autoload=20psr-4,=20UserDataService::creat?= =?UTF-8?q?eZip=20d=C3=A9plac=C3=A9=20dans=20Backup?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Controller/ViewController.php | 70 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 src/Controller/ViewController.php (limited to 'src/Controller/ViewController.php') diff --git a/src/Controller/ViewController.php b/src/Controller/ViewController.php new file mode 100644 index 0000000..1f13861 --- /dev/null +++ b/src/Controller/ViewController.php @@ -0,0 +1,70 @@ +query->has('mode') && $request->query->get('mode') === 'page_modif' + && !in_array(CURRENT_PAGE, self::SPECIAL_PAGES)) + { + MainBuilder::$modif_mode = true; + } + // page article: mode création et erreurs d'id + if(CURRENT_PAGE === 'article'){ + if(IS_ADMIN){ + if(!$request->query->has('id')){ + return new RedirectResponse((string)new URL(['page' => $request->query->get('from') ?? ''])); + } + else{ + // mode création d'article + // l'id du bloc et 'from=' sont vérifiés dans ArticleController::editorSubmit + if($request->query->get('id')[0] === 'n' && $request->query->has('from') && !empty($request->query->get('from'))){ + NewBuilder::$new_article_mode = true; + } + } + } + elseif($request->query->get('id')[0] === 'n'){ // accès page nouvelle article interdit sans être admin + return new RedirectResponse((string)new URL(['page' => $request->query->get('from') ?? ''])); + } + } + // pas de else, l'id dans l'URL n'a pas d'effet ailleurs + + + /* 2/ accès au modèle */ + $model = new Model($entityManager); + $model->makeMenuAndPaths(); + $model->getWholePageData($request); + + + /* 3/ 2ème contrôle des paramètres avec les données récupérées */ + + // article non trouvé en BDD + if(CURRENT_PAGE === 'article' && !IS_ADMIN && $model->getNode()->getNodeByName('main')->getAdoptedChild() === null){ + return new RedirectResponse((string)new URL(['page' => $request->query->get('from') ?? ''])); + } + + + /* 4/ construction de la page avec builders et vues */ + return new Response((new ViewDirector)->buildHTML($model->getNode())); + } +} \ No newline at end of file -- cgit v1.2.3