summaryrefslogtreecommitdiff
path: root/src/view/GridBuilder.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/view/GridBuilder.php')
-rw-r--r--src/view/GridBuilder.php55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/view/GridBuilder.php b/src/view/GridBuilder.php
new file mode 100644
index 0000000..6e16d46
--- /dev/null
+++ b/src/view/GridBuilder.php
@@ -0,0 +1,55 @@
1<?php
2// src/view/GridBuilder.php
3
4use App\Entity\Node;
5
6class GridBuilder extends AbstractBuilder
7{
8 public function __construct(Node $node)
9 {
10 $viewFile = self::VIEWS_PATH . $node->getName() . '.php';
11
12 if(file_exists($viewFile))
13 {
14 if(!empty($node->getNodeData()->getData()))
15 {
16 extract($node->getNodeData()->getData());
17 }
18
19 // ajouter un article
20 $new_article = '';
21 $new_article_admin_buttons = '';
22 if($_SESSION['admin'])
23 {
24 $id = 'new';
25 $js = 'onclick="openEditor(\'' . $id . '\')"';
26
27 if(Director::$page_path->getLast()->getEndOfPath() === 'accueil')
28 {
29 $new_article = '<article><p id="new"></p>' . "\n" .
30 '<p><a href="' . new URL(['page' => 'article']) . '"><button><img class="action_icon" src="assets/edit.svg">Nouvel article</button></a></p>';
31 }
32 else
33 {
34 $new_article = '<article><p id="new"></p>' . "\n" .
35 '<p id="new-' . $id . '"><a href="#"><button ' . $js . '><img class="action_icon" src="assets/edit.svg">Nouvel article</button></a></p>';
36 }
37
38 $close_js = 'onclick="closeEditor(\'' . $id . '\')"';
39 $close_editor = '<div class="article_admin_zone"><p id="cancel-' . $id . '" class="hidden"><a href="#"><button ' . $close_js . '>Annuler</button></a></p>';
40
41 $submit_js = 'onclick="submitArticle(\'' . $id . '\')"';
42 $submit_article = '<p id="submit-' . $id . '" class="hidden"><a href="#"><button ' . $submit_js . '>Valider</button></a></p></div></article>';
43
44 $new_article_admin_buttons = $close_editor . $submit_article;
45 }
46
47 $this->useChildrenBuilder($node);
48 $content = $this->html;
49
50 ob_start();
51 require $viewFile;
52 $this->html = ob_get_clean(); // pas de concaténation ici, on écrase
53 }
54 }
55} \ No newline at end of file