summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--public/css/main.css52
-rw-r--r--public/css/menu.css6
-rw-r--r--public/index.php6
-rw-r--r--src/controller/Director.php26
-rw-r--r--src/controller/Security.php4
-rw-r--r--src/controller/post.php47
-rw-r--r--src/model/Menu.php2
-rw-r--r--src/model/Path.php5
-rw-r--r--src/view/AbstractBuilder.php2
-rw-r--r--src/view/ArticleBuilder.php2
-rw-r--r--src/view/BlogBuilder.php2
-rw-r--r--src/view/BreadcrumbBuilder.php2
-rw-r--r--src/view/FooterBuilder.php2
-rw-r--r--src/view/GaleryBuilder.php2
-rw-r--r--src/view/GridBuilder.php2
-rw-r--r--src/view/HeadBuilder.php2
-rw-r--r--src/view/HeaderBuilder.php2
-rw-r--r--src/view/LoginBuilder.php2
-rw-r--r--src/view/MainBuilder.php49
-rw-r--r--src/view/MenuBuilder.php4
-rw-r--r--src/view/NewBuilder.php2
-rw-r--r--src/view/password.php2
-rw-r--r--src/view/templates/article.php1
-rw-r--r--src/view/templates/blog.php1
-rw-r--r--src/view/templates/footer.php1
-rw-r--r--src/view/templates/galery.php1
-rw-r--r--src/view/templates/grid.php1
-rw-r--r--src/view/templates/head.php1
-rw-r--r--src/view/templates/header.php1
-rw-r--r--src/view/templates/menu.php1
-rw-r--r--src/view/templates/new.php1
31 files changed, 214 insertions, 20 deletions
diff --git a/public/css/main.css b/public/css/main.css
index c5289f0..93a7bcf 100644
--- a/public/css/main.css
+++ b/public/css/main.css
@@ -57,7 +57,7 @@ article .logo2
57} 57}
58article img 58article img
59{ 59{
60 max-width: 100%; 60 width: 100%;
61 height: auto; 61 height: auto;
62} 62}
63 63
@@ -131,4 +131,54 @@ main button:hover
131article a:hover 131article a:hover
132{ 132{
133 cursor: pointer; 133 cursor: pointer;
134}
135
136
137
138/* -- mode modification d'une page -- */
139/*.modif_page_explanations
140{
141 background-color: white;
142 padding: 10px;
143 margin: 10px 20px;
144}
145.modif_page_explanations div
146{
147 display: flex;
148 flex-wrap: wrap;
149 font-size: smaller;
150}*/
151.new_bloc
152{
153 background-color: white;
154 padding: 10px;
155 margin: 10px 20px;
156
157}
158.new_bloc p
159{
160 margin: 5px;
161}
162.new_bloc #bloc_title
163{
164 width: 100%;
165 max-width: 300px;
166}
167.new_bloc form select, .new_bloc form input[type=submit]
168{
169 color: #ff1d04;
170 font-size: medium;
171 border-radius: 4px;
172 background-color: white;
173 border: lightgrey 2px outset;
174}
175select:hover
176{
177 cursor: pointer;
178}
179.new_bloc form input[type=submit]:hover
180{
181 background-color: #ffff00;
182 border-radius: 4px;
183 cursor: pointer;
134} \ No newline at end of file 184} \ No newline at end of file
diff --git a/public/css/menu.css b/public/css/menu.css
index 3294c2b..61e8a01 100644
--- a/public/css/menu.css
+++ b/public/css/menu.css
@@ -37,19 +37,15 @@
37{ 37{
38 display: flex; 38 display: flex;
39 flex-wrap: wrap; 39 flex-wrap: wrap;
40}
41.menu aside .controls_explanations p
42{
43 font-size: smaller; 40 font-size: smaller;
44} 41}
45.menu aside img 42.menu aside img, .menu aside input
46{ 43{
47 vertical-align: bottom; 44 vertical-align: bottom;
48} 45}
49.menu aside input 46.menu aside input
50{ 47{
51 pointer-events: none; /* case non clicable, sauf action au clavier... */ 48 pointer-events: none; /* case non clicable, sauf action au clavier... */
52 vertical-align: bottom;
53} 49}
54.menu #location, .menu input[type=submit] 50.menu #location, .menu input[type=submit]
55{ 51{
diff --git a/public/index.php b/public/index.php
index abdac71..9f930fd 100644
--- a/public/index.php
+++ b/public/index.php
@@ -60,6 +60,12 @@ elseif(isset($_GET['action']) && $_GET['action'] === 'modif_mdp')
60{ 60{
61 changePassword($entityManager); 61 changePassword($entityManager);
62} 62}
63elseif($_SESSION['admin'] && isset($_GET['page']) && isset($_GET['action']) && $_GET['action'] === 'modif_page'
64 && $_GET['page'] !== 'connexion' && $_GET['page'] !== 'article' && $_GET['page'] !== 'menu_chemins')
65{
66 // les contrôles de la 2è ligne devraient utiliser un tableau
67 MainBuilder::$modif_mode = true;
68}
63 69
64// -- contrôleurs -- 70// -- contrôleurs --
65$director = new Director($entityManager, true); 71$director = new Director($entityManager, true);
diff --git a/src/controller/Director.php b/src/controller/Director.php
index a2528ed..56a90cb 100644
--- a/src/controller/Director.php
+++ b/src/controller/Director.php
@@ -16,11 +16,11 @@ class Director
16 private Node $node; 16 private Node $node;
17 private Node $article; 17 private Node $article;
18 18
19 public function __construct(EntityManager $entityManager, bool $for_display = false) 19 public function __construct(EntityManager $entityManager, bool $get_menu = false)
20 { 20 {
21 $this->entityManager = $entityManager; 21 $this->entityManager = $entityManager;
22 if($for_display){ 22 if($get_menu){
23 self::$menu_data = new Menu($entityManager); // Menu est un modèle mais pas une entité 23 self::$menu_data = new Menu($entityManager);
24 self::$page_path = new Path(); 24 self::$page_path = new Path();
25 $this->page = self::$page_path->getLast(); 25 $this->page = self::$page_path->getLast();
26 } 26 }
@@ -137,4 +137,24 @@ class Director
137 $this->node = $section; 137 $this->node = $section;
138 return true; 138 return true;
139 } 139 }
140
141 public function findNodeByName(string $name): void
142 {
143 $bulk_data = $this->entityManager
144 ->createQuery('SELECT n FROM App\Entity\Node n WHERE n.name_node = :name')
145 ->setParameter('name', $name)
146 ->getResult();
147 $this->node = $bulk_data[0];
148 echo $this->page->getPageName() . ' ';
149
150 $bulk_data = $this->entityManager
151 ->createQuery('SELECT n FROM App\Entity\Node n WHERE n.parent = :parent AND n.page = :page')
152 ->setParameter('parent', $this->node)
153 ->setParameter('page', $this->page)
154 ->getResult();
155 foreach($bulk_data as $child){
156 $this->node->addChild($child);
157 echo $child->getName() . ' ';
158 }
159 }
140} 160}
diff --git a/src/controller/Security.php b/src/controller/Security.php
index f9092e2..7d592e9 100644
--- a/src/controller/Security.php
+++ b/src/controller/Security.php
@@ -3,6 +3,8 @@
3// 3//
4// htmlawed nettoie les entrées de l'utilisateur, en particulier le html de l'éditeur 4// htmlawed nettoie les entrées de l'utilisateur, en particulier le html de l'éditeur
5 5
6declare(strict_types=1);
7
6class Security 8class Security
7{ 9{
8 private static $configHtmLawed = array( 10 private static $configHtmLawed = array(
@@ -14,10 +16,10 @@ class Security
14 // liste noire d'attributs HTML 16 // liste noire d'attributs HTML
15 'deny_attribute'=> 'id, class' // on garde 'style' 17 'deny_attribute'=> 'id, class' // on garde 'style'
16 ); 18 );
17
18 // faire qu'un certain élément puisse n'avoir que certains attributs, regarder la doc 19 // faire qu'un certain élément puisse n'avoir que certains attributs, regarder la doc
19 private static $specHtmLawed = ''; 20 private static $specHtmLawed = '';
20 21
22 // ATTENTION, n'applique pas htmlspecialchars() !!
21 public static function secureString(string $chaine): string 23 public static function secureString(string $chaine): string
22 { 24 {
23 return trim(htmLawed($chaine, self::$configHtmLawed, self::$specHtmLawed));; 25 return trim(htmLawed($chaine, self::$configHtmLawed, self::$specHtmLawed));;
diff --git a/src/controller/post.php b/src/controller/post.php
index d2e4477..76ac72b 100644
--- a/src/controller/post.php
+++ b/src/controller/post.php
@@ -3,6 +3,8 @@
3 3
4declare(strict_types=1); 4declare(strict_types=1);
5 5
6use App\Entity\Node;
7use App\Entity\NodeData;
6use App\Entity\Page; 8use App\Entity\Page;
7 9
8if($_SERVER['REQUEST_METHOD'] === 'POST' && $_SESSION['admin'] === true) 10if($_SERVER['REQUEST_METHOD'] === 'POST' && $_SESSION['admin'] === true)
@@ -10,17 +12,48 @@ if($_SERVER['REQUEST_METHOD'] === 'POST' && $_SESSION['admin'] === true)
10 /* -- formulaires HTML classiques -- */ 12 /* -- formulaires HTML classiques -- */
11 if($_SERVER['CONTENT_TYPE'] === 'application/x-www-form-urlencoded') 13 if($_SERVER['CONTENT_TYPE'] === 'application/x-www-form-urlencoded')
12 { 14 {
13 // création d'une entrée de menu avec une URL 15 /* -- mode Modification d'une page -- */
14 if(isset($_POST["label_input"]) && isset($_POST["url_input"]) && isset($_POST["location"])){ 16
15 echo $_POST["label_input"] . '<br>'; 17 // ajout d'un bloc dans une page
16 echo $_POST["url_input"] . '<br>'; 18 if(isset($_POST['bloc_title']) && isset($_POST['bloc_select'])){
17 echo $_POST["location"] . '<br>'; // id entrée précédente 19 $director = new Director($entityManager, true); // on a besoin de page_path qui dépend de menu_data
20 $page = Director::$page_path->getLast();
21 $director->findNodeByName('main');
22 $main = $director->getNode();
23 $position = count($main->getChildren()) + 1; // position dans la fraterie
24
25 $bloc = new Node(
26 trim(htmlspecialchars($_POST["bloc_select"])),
27 null, [],
28 $position,
29 $main,
30 $page);
31 $data = new NodeData(
32 ['title' => trim(htmlspecialchars($_POST["bloc_title"]))],
33 $bloc);
34
35 $entityManager->persist($bloc);
36 $entityManager->persist($data);
37 $entityManager->flush();
38 header("Location: " . new URL(['page' => $_GET['page'], 'action' => 'modif_page']));
39 }
18 40
41
42 /* -- page Menu et chemins -- */
43
44 // création d'une entrée de menu avec une URL
45 elseif(isset($_POST["label_input"]) && isset($_POST["url_input"]) && isset($_POST["location"])){
19 Director::$menu_data = new Menu($entityManager); 46 Director::$menu_data = new Menu($entityManager);
20 $previous_page = Director::$menu_data->findPageById((int)$_POST["location"]); // (int) à cause de declare(strict_types=1); 47 $previous_page = Director::$menu_data->findPageById((int)$_POST["location"]); // (int) à cause de declare(strict_types=1);
21 $parent = $previous_page->getParent(); 48 $parent = $previous_page->getParent();
22 49
23 $page = new Page($_POST["label_input"], $_POST["url_input"], true, true, false, $previous_page->getPosition(), $parent); 50 $page = new Page(
51 trim(htmlspecialchars($_POST["label_input"])),
52 filter_var($_POST["url_input"], FILTER_VALIDATE_URL),
53 true, true, false,
54 $previous_page->getPosition(),
55 $parent);
56
24 // on indique pour la nouvelle entrée la même position que la précédente, puis addChild l'ajoute à la fin du tableau "children" avant de déclencher un tri 57 // on indique pour la nouvelle entrée la même position que la précédente, puis addChild l'ajoute à la fin du tableau "children" avant de déclencher un tri
25 // exemple avec 2 comme position demandée: 1 2 3 4 2 devient 1 2 3 4 5 et la nouvelle entrée sera en 3è position 58 // exemple avec 2 comme position demandée: 1 2 3 4 2 devient 1 2 3 4 5 et la nouvelle entrée sera en 3è position
26 if($parent == null){ 59 if($parent == null){
@@ -31,7 +64,6 @@ if($_SERVER['REQUEST_METHOD'] === 'POST' && $_SESSION['admin'] === true)
31 64
32 $entityManager->persist($page); 65 $entityManager->persist($page);
33 $entityManager->flush(); 66 $entityManager->flush();
34
35 header("Location: " . new URL(['page' => $_GET['from']])); 67 header("Location: " . new URL(['page' => $_GET['from']]));
36 } 68 }
37 // suppression d'une entrée de menu avec une URL 69 // suppression d'une entrée de menu avec une URL
@@ -54,6 +86,7 @@ if($_SERVER['REQUEST_METHOD'] === 'POST' && $_SESSION['admin'] === true)
54 header("Location: " . new URL(['error' => 'paramètres inconnus'])); 86 header("Location: " . new URL(['error' => 'paramètres inconnus']));
55 } 87 }
56 } 88 }
89
57 /* -- requêtes AJAX -- */ 90 /* -- requêtes AJAX -- */
58 else{ 91 else{
59 require '../src/controller/ajax.php'; 92 require '../src/controller/ajax.php';
diff --git a/src/model/Menu.php b/src/model/Menu.php
index 10cf3d5..9fb8562 100644
--- a/src/model/Menu.php
+++ b/src/model/Menu.php
@@ -1,5 +1,5 @@
1<?php 1<?php
2// src/controller/Menu.php 2// src/model/Menu.php
3 3
4declare(strict_types=1); 4declare(strict_types=1);
5 5
diff --git a/src/model/Path.php b/src/model/Path.php
index 11be6fe..ad44fd9 100644
--- a/src/model/Path.php
+++ b/src/model/Path.php
@@ -1,5 +1,7 @@
1<?php 1<?php
2// src/controller/Path.php 2// src/model/Path.php
3//
4// attention, cette classe dépend de src/model/Menu.php
3 5
4declare(strict_types=1); 6declare(strict_types=1);
5 7
@@ -14,6 +16,7 @@ class Path extends Page
14 { 16 {
15 $path_array = explode('/', CURRENT_PAGE); 17 $path_array = explode('/', CURRENT_PAGE);
16 try{ 18 try{
19 // parcourir le menu de haut en bas pour obtenir un ou plusieurs objets Page
17 $this->findPage(Director::$menu_data, $path_array); // remplit $this->current_page 20 $this->findPage(Director::$menu_data, $path_array); // remplit $this->current_page
18 } 21 }
19 catch(Exception $e){} 22 catch(Exception $e){}
diff --git a/src/view/AbstractBuilder.php b/src/view/AbstractBuilder.php
index 285ebc3..76c51ed 100644
--- a/src/view/AbstractBuilder.php
+++ b/src/view/AbstractBuilder.php
@@ -1,6 +1,8 @@
1<?php 1<?php
2// src/view/AbstractBuilder.php 2// src/view/AbstractBuilder.php
3 3
4declare(strict_types=1);
5
4use App\Entity\Node; 6use App\Entity\Node;
5 7
6abstract class AbstractBuilder 8abstract class AbstractBuilder
diff --git a/src/view/ArticleBuilder.php b/src/view/ArticleBuilder.php
index 1f5dbb8..3b9de87 100644
--- a/src/view/ArticleBuilder.php
+++ b/src/view/ArticleBuilder.php
@@ -1,6 +1,8 @@
1<?php 1<?php
2// src/view/ArticleBuilder.php 2// src/view/ArticleBuilder.php
3 3
4declare(strict_types=1);
5
4use App\Entity\Node; 6use App\Entity\Node;
5 7
6class ArticleBuilder extends AbstractBuilder 8class ArticleBuilder extends AbstractBuilder
diff --git a/src/view/BlogBuilder.php b/src/view/BlogBuilder.php
index ca020b2..d646d5f 100644
--- a/src/view/BlogBuilder.php
+++ b/src/view/BlogBuilder.php
@@ -1,6 +1,8 @@
1<?php 1<?php
2// src/view/BlogBuilder.php 2// src/view/BlogBuilder.php
3 3
4declare(strict_types=1);
5
4use App\Entity\Node; 6use App\Entity\Node;
5 7
6class BlogBuilder extends AbstractBuilder 8class BlogBuilder extends AbstractBuilder
diff --git a/src/view/BreadcrumbBuilder.php b/src/view/BreadcrumbBuilder.php
index 77f4c4c..fcdcd41 100644
--- a/src/view/BreadcrumbBuilder.php
+++ b/src/view/BreadcrumbBuilder.php
@@ -1,6 +1,8 @@
1<?php 1<?php
2// src/view/BreadcrumbBuilder.php 2// src/view/BreadcrumbBuilder.php
3 3
4declare(strict_types=1);
5
4use App\Entity\Node; 6use App\Entity\Node;
5 7
6class BreadcrumbBuilder extends AbstractBuilder 8class BreadcrumbBuilder extends AbstractBuilder
diff --git a/src/view/FooterBuilder.php b/src/view/FooterBuilder.php
index 7abdb90..8678f56 100644
--- a/src/view/FooterBuilder.php
+++ b/src/view/FooterBuilder.php
@@ -1,6 +1,8 @@
1<?php 1<?php
2// src/view/FooterBuilder.php 2// src/view/FooterBuilder.php
3 3
4declare(strict_types=1);
5
4use App\Entity\Node; 6use App\Entity\Node;
5 7
6class FooterBuilder extends AbstractBuilder 8class FooterBuilder extends AbstractBuilder
diff --git a/src/view/GaleryBuilder.php b/src/view/GaleryBuilder.php
index a895d70..f2dafc2 100644
--- a/src/view/GaleryBuilder.php
+++ b/src/view/GaleryBuilder.php
@@ -1,6 +1,8 @@
1<?php 1<?php
2// src/view/GaleryBuilder.php 2// src/view/GaleryBuilder.php
3 3
4declare(strict_types=1);
5
4use App\Entity\Node; 6use App\Entity\Node;
5 7
6class GaleryBuilder extends AbstractBuilder 8class GaleryBuilder extends AbstractBuilder
diff --git a/src/view/GridBuilder.php b/src/view/GridBuilder.php
index fdc5426..6845c49 100644
--- a/src/view/GridBuilder.php
+++ b/src/view/GridBuilder.php
@@ -1,6 +1,8 @@
1<?php 1<?php
2// src/view/GridBuilder.php 2// src/view/GridBuilder.php
3 3
4declare(strict_types=1);
5
4use App\Entity\Node; 6use App\Entity\Node;
5 7
6class GridBuilder extends AbstractBuilder 8class GridBuilder extends AbstractBuilder
diff --git a/src/view/HeadBuilder.php b/src/view/HeadBuilder.php
index c31c930..2cca757 100644
--- a/src/view/HeadBuilder.php
+++ b/src/view/HeadBuilder.php
@@ -1,6 +1,8 @@
1<?php 1<?php
2// src/view/HeadBuilder.php 2// src/view/HeadBuilder.php
3 3
4declare(strict_types=1);
5
4use App\Entity\Node; 6use App\Entity\Node;
5 7
6class HeadBuilder extends AbstractBuilder 8class HeadBuilder extends AbstractBuilder
diff --git a/src/view/HeaderBuilder.php b/src/view/HeaderBuilder.php
index 28aae13..1c45d59 100644
--- a/src/view/HeaderBuilder.php
+++ b/src/view/HeaderBuilder.php
@@ -1,6 +1,8 @@
1<?php 1<?php
2// src/view/HeaderBuilder.php 2// src/view/HeaderBuilder.php
3 3
4declare(strict_types=1);
5
4use App\Entity\Node; 6use App\Entity\Node;
5 7
6class HeaderBuilder extends AbstractBuilder 8class HeaderBuilder extends AbstractBuilder
diff --git a/src/view/LoginBuilder.php b/src/view/LoginBuilder.php
index ac9910f..532f054 100644
--- a/src/view/LoginBuilder.php
+++ b/src/view/LoginBuilder.php
@@ -1,6 +1,8 @@
1<?php 1<?php
2// src/view/LoginBuilder.php 2// src/view/LoginBuilder.php
3 3
4declare(strict_types=1);
5
4use App\Entity\Node; 6use App\Entity\Node;
5 7
6class LoginBuilder extends AbstractBuilder 8class LoginBuilder extends AbstractBuilder
diff --git a/src/view/MainBuilder.php b/src/view/MainBuilder.php
index e73b298..fbdfbdd 100644
--- a/src/view/MainBuilder.php
+++ b/src/view/MainBuilder.php
@@ -1,15 +1,20 @@
1<?php 1<?php
2// src/view/MainBuilder.php 2// src/view/MainBuilder.php
3 3
4declare(strict_types=1);
5
4use App\Entity\Article; 6use App\Entity\Article;
5use App\Entity\Node; 7use App\Entity\Node;
6 8
7class MainBuilder extends AbstractBuilder 9class MainBuilder extends AbstractBuilder
8{ 10{
11 static bool $modif_mode = false;
12
9 public function __construct(Node $node) 13 public function __construct(Node $node)
10 { 14 {
11 $this->html .= "<main>\n"; 15 $this->html .= "<main>\n";
12 16
17 // cas particulier de la page article où l'article est greffé sur main
13 if(Director::$page_path->getLast()->getEndOfPath() === 'article'){ 18 if(Director::$page_path->getLast()->getEndOfPath() === 'article'){
14 // pas censé arriver 19 // pas censé arriver
15 if(!isset($_GET['id'])){ 20 if(!isset($_GET['id'])){
@@ -31,9 +36,53 @@ class MainBuilder extends AbstractBuilder
31 $this->html .= $builder->render(); 36 $this->html .= $builder->render();
32 } 37 }
33 else{ 38 else{
39 // si action = "modif_page", affiche des commandes pour modifier
40 if($_SESSION['admin'] && self::$modif_mode){
41 // ajouter un contrôle du champ in_menu
42 $this->viewEditBlocks($node);
43 }
44
34 $this->useChildrenBuilder($node); 45 $this->useChildrenBuilder($node);
35 } 46 }
36 47
37 $this->html .= "</main>\n"; 48 $this->html .= "</main>\n";
38 } 49 }
50
51 private function viewEditBlocks($node): void
52 {
53 // blocs disponibles
54 $blocs = ['Blog', 'Grille', 'Calendrier', 'Galerie']; // générer ça dynamiquement!
55 $blocs_true_names = ['blog', 'grid', 'calendar', 'galery'];
56
57 $options = '';
58 for($i = 0; $i < count($blocs); $i++){
59 $options .= '<option value= "' . $blocs_true_names[$i] . '">' . $blocs[$i] . "</option>\n";
60 }
61
62 // blabla
63 /*$this->html .= '<aside class="modif_page_explanations">
64 <p>Modification de la structure d\'une page:</p>
65 <div>
66 <p><img></p>
67 <p><img></p>
68 </div>
69 </aside>' . "\n";*/
70
71 // ajout d'un nouveau bloc
72 $this->html .= '<div class="new_bloc">
73 <p>Ajouter un bloc dans la page:</p>
74 <form method="post" action="' . new URL(['page' => CURRENT_PAGE]) . '">
75 <p><label for="bloc_title">Titre</label>
76 <input type="text" id="bloc_title" name="bloc_title" required></p>
77 <p><label for="bloc_select">Type</label>
78 <select id="bloc_select" name="bloc_select" required>'
79 . $options .
80 '</select>
81 <input type="submit" value="Valider"></p>
82 </form>
83 </div>' . "\n";
84 foreach($node->getChildren() as $child_node){
85 //$this->html .=
86 }
87 }
39} 88}
diff --git a/src/view/MenuBuilder.php b/src/view/MenuBuilder.php
index 780ca7e..3b96af1 100644
--- a/src/view/MenuBuilder.php
+++ b/src/view/MenuBuilder.php
@@ -3,6 +3,8 @@
3// 3//
4// page Menu et chemins en mode admin, fonctionne avec menu.js 4// page Menu et chemins en mode admin, fonctionne avec menu.js
5 5
6declare(strict_types=1);
7
6use App\Entity\Node; 8use App\Entity\Node;
7use App\Entity\Page; 9use App\Entity\Page;
8 10
@@ -84,7 +86,7 @@ class MenuBuilder extends AbstractBuilder
84 private function unfoldOptions(Page $page): void 86 private function unfoldOptions(Page $page): void
85 { 87 {
86 foreach($page->getChildren() as $entry){ 88 foreach($page->getChildren() as $entry){
87 $this->options .= '<option value="' . $entry->getId() . '">' . $entry->getPageName() . "</options>\n"; 89 $this->options .= '<option value="' . $entry->getId() . '">' . $entry->getPageName() . "</option>\n";
88 if(count($entry->getChildren()) > 0){ 90 if(count($entry->getChildren()) > 0){
89 $this->unfoldOptions($entry); 91 $this->unfoldOptions($entry);
90 } 92 }
diff --git a/src/view/NewBuilder.php b/src/view/NewBuilder.php
index ac2cf9a..c410eb7 100644
--- a/src/view/NewBuilder.php
+++ b/src/view/NewBuilder.php
@@ -1,6 +1,8 @@
1<?php 1<?php
2// src/view/NewBuilder.php 2// src/view/NewBuilder.php
3 3
4declare(strict_types=1);
5
4use App\Entity\Node; 6use App\Entity\Node;
5 7
6class NewBuilder extends AbstractBuilder 8class NewBuilder extends AbstractBuilder
diff --git a/src/view/password.php b/src/view/password.php
index 0ff717c..aadfbae 100644
--- a/src/view/password.php
+++ b/src/view/password.php
@@ -7,6 +7,8 @@
7// 7//
8// rajouter la page "créationn du mot de passe"? 8// rajouter la page "créationn du mot de passe"?
9 9
10declare(strict_types=1);
11
10// insertion du captcha 12// insertion du captcha
11ob_start(); 13ob_start();
12?> 14?>
diff --git a/src/view/templates/article.php b/src/view/templates/article.php
index c57c1cb..5cf35c2 100644
--- a/src/view/templates/article.php
+++ b/src/view/templates/article.php
@@ -1,3 +1,4 @@
1<?php declare(strict_types=1); ?>
1<article> 2<article>
2 <div class="article_content"> 3 <div class="article_content">
3 <div class="article_title_zone"> 4 <div class="article_title_zone">
diff --git a/src/view/templates/blog.php b/src/view/templates/blog.php
index e2066c8..dfb65b5 100644
--- a/src/view/templates/blog.php
+++ b/src/view/templates/blog.php
@@ -1,3 +1,4 @@
1<?php declare(strict_types=1); ?>
1<section class="blog" id="<?= $this->id_node ?>"> 2<section class="blog" id="<?= $this->id_node ?>">
2 <h3><?= $title ?></h3> 3 <h3><?= $title ?></h3>
3<?= $new_article ?> 4<?= $new_article ?>
diff --git a/src/view/templates/footer.php b/src/view/templates/footer.php
index a4e3544..52cb1b5 100644
--- a/src/view/templates/footer.php
+++ b/src/view/templates/footer.php
@@ -1,3 +1,4 @@
1<?php declare(strict_types=1); ?>
1 <footer> 2 <footer>
2<?= $breadcrumb ?> 3<?= $breadcrumb ?>
3 <div> 4 <div>
diff --git a/src/view/templates/galery.php b/src/view/templates/galery.php
index 246c4dd..97f8cd8 100644
--- a/src/view/templates/galery.php
+++ b/src/view/templates/galery.php
@@ -1,3 +1,4 @@
1<?php declare(strict_types=1); ?>
1<section class="galery" id="<?= $this->id_node ?>"> 2<section class="galery" id="<?= $this->id_node ?>">
2 <h3><?= $title ?></h3> 3 <h3><?= $title ?></h3>
3<?= $new_article ?> 4<?= $new_article ?>
diff --git a/src/view/templates/grid.php b/src/view/templates/grid.php
index f9e441d..71c052b 100644
--- a/src/view/templates/grid.php
+++ b/src/view/templates/grid.php
@@ -1,3 +1,4 @@
1<?php declare(strict_types=1); ?>
1<section class="grid" id="<?= $this->id_node ?>"> 2<section class="grid" id="<?= $this->id_node ?>">
2 <h3><?= $title ?></h3> 3 <h3><?= $title ?></h3>
3<?= $new_article ?> 4<?= $new_article ?>
diff --git a/src/view/templates/head.php b/src/view/templates/head.php
index 1ebb17e..b74335e 100644
--- a/src/view/templates/head.php
+++ b/src/view/templates/head.php
@@ -1,3 +1,4 @@
1<?php declare(strict_types=1); ?>
1<!DOCTYPE html> 2<!DOCTYPE html>
2<html lang="fr"> 3<html lang="fr">
3 <head> 4 <head>
diff --git a/src/view/templates/header.php b/src/view/templates/header.php
index 4b633a6..1855741 100644
--- a/src/view/templates/header.php
+++ b/src/view/templates/header.php
@@ -1,3 +1,4 @@
1<?php declare(strict_types=1); ?>
1<body> 2<body>
2 <div> 3 <div>
3 <header> 4 <header>
diff --git a/src/view/templates/menu.php b/src/view/templates/menu.php
index d62b78b..55c9ff9 100644
--- a/src/view/templates/menu.php
+++ b/src/view/templates/menu.php
@@ -1,3 +1,4 @@
1<?php declare(strict_types=1); ?>
1<section class="menu"> 2<section class="menu">
2 <h3>Menu et chemins</h3> 3 <h3>Menu et chemins</h3>
3 <div class="new_page_button"> 4 <div class="new_page_button">
diff --git a/src/view/templates/new.php b/src/view/templates/new.php
index fce0702..6533913 100644
--- a/src/view/templates/new.php
+++ b/src/view/templates/new.php
@@ -1,3 +1,4 @@
1<?php declare(strict_types=1); ?>
1<article> 2<article>
2 <div class="new_content"> 3 <div class="new_content">
3 <div class="article_title_zone"> 4 <div class="article_title_zone">