aboutsummaryrefslogtreecommitdiff
path: root/src/View/GaleryBuilder.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/View/GaleryBuilder.php')
-rw-r--r--src/View/GaleryBuilder.php72
1 files changed, 72 insertions, 0 deletions
diff --git a/src/View/GaleryBuilder.php b/src/View/GaleryBuilder.php
new file mode 100644
index 0000000..436cc36
--- /dev/null
+++ b/src/View/GaleryBuilder.php
@@ -0,0 +1,72 @@
1<?php
2// src/View/GaleryBuilder.php
3
4declare(strict_types=1);
5
6namespace App\View;
7
8use App\Entity\Node;
9
10class GaleryBuilder extends AbstractBuilder
11{
12 public function __construct(Node $node)
13 {
14 parent::__construct($node);
15 $viewFile = self::VIEWS_PATH . $node->getName() . '.php';
16
17 if(file_exists($viewFile))
18 {
19 if(!empty($node->getNodeData()->getData()))
20 {
21 extract($node->getNodeData()->getData());
22 }
23
24 // ajouter un article
25 $new_article = '';
26 if(IS_ADMIN)
27 {
28 $id = 'n' . $this->id_node;
29 $js = 'onclick="openEditor(\'' . $id . '\')"';
30
31 $share_button = '<p class="share hidden"><img class="action_icon" src="assets/share.svg"></p>';
32 $html = '';
33
34 $new_button = '<p id="new-' . $id . '">' . "\n" .
35 '<button ' . $js . '><img class="action_icon" src="assets/edit.svg">Nouvel article</button></p>';
36
37 $modify_js = 'onclick="openEditor(\'' . $id . '\')"';
38 $modify_article = '<p id="edit-' . $id . '" class="hidden"><img class="action_icon" src="assets/edit.svg" ' . $modify_js . '></p>' . "\n";
39
40 $up_js = 'onclick="switchPositions(\'' . $id . '\', \'up\')"';
41 $up_button = '<p id="position_up-' . $id . '" class="hidden"><img class="action_icon" src="assets/arrow-up.svg" ' . $up_js . '></p>' . "\n";
42
43 $down_js = 'onclick="switchPositions(\'' . $id . '\', \'down\')"';
44 $down_button = '<p id="position_down-' . $id . '" class="hidden"><img class="action_icon" src="assets/arrow-down.svg" ' . $down_js . '></p>' . "\n";
45
46 $delete_js = 'onclick="deleteArticle(\'' . $id . '\')"';
47 $delete_article = '<p id="delete-' . $id . '" class="hidden"><img class="action_icon" src="assets/delete-bin.svg" ' . $delete_js . '></p>' . "\n";
48
49 $close_js = 'onclick="closeEditor(\'' . $id . '\')"';
50 $close_editor = '<p id="cancel-' . $id . '" class="hidden"><button ' . $close_js . '>Annuler</button></p>';
51
52 $submit_js = 'onclick="submitArticle(\'' . $id . '\', \'\', clone' . $this->id_node . ')"';
53 $submit_article = '<p id="submit-' . $id . '" class="hidden"><button ' . $submit_js . '>Valider</button></p>';
54
55 $admin_buttons = $new_button . $modify_article . $up_button . $down_button . $delete_article . $close_editor . $submit_article;
56
57 // squelette d'un nouvel article
58 ob_start();
59 require self::VIEWS_PATH . 'post.php';
60 $new_article = ob_get_clean();
61 }
62
63 // articles existants
64 $this->useChildrenBuilder($node);
65 $content = $this->html;
66
67 ob_start();
68 require $viewFile;
69 $this->html = ob_get_clean(); // pas de concaténation ici, on écrase
70 }
71 }
72} \ No newline at end of file