aboutsummaryrefslogtreecommitdiff
path: root/src/view/ArticleBuilder.php
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2025-08-26 01:15:33 +0200
committerpolo <ordipolo@gmx.fr>2025-08-26 01:15:33 +0200
commitf4df3e9b9df3d54ce58796f923da70ff7e566018 (patch)
treebbd037099976d0411533823b26a34949d04f286c /src/view/ArticleBuilder.php
parentb02b44d1da7e9ddd7a341d29a597accfbb78155c (diff)
downloadcms-f4df3e9b9df3d54ce58796f923da70ff7e566018.zip
séparation bloc / mise en page, bloc spécial pour les actus, renommage de classes, fichiers, etc
Diffstat (limited to 'src/view/ArticleBuilder.php')
-rw-r--r--src/view/ArticleBuilder.php62
1 files changed, 0 insertions, 62 deletions
diff --git a/src/view/ArticleBuilder.php b/src/view/ArticleBuilder.php
deleted file mode 100644
index 3b9de87..0000000
--- a/src/view/ArticleBuilder.php
+++ /dev/null
@@ -1,62 +0,0 @@
1<?php
2// src/view/ArticleBuilder.php
3
4declare(strict_types=1);
5
6use App\Entity\Node;
7
8class ArticleBuilder extends AbstractBuilder
9{
10 public function __construct(Node $node)
11 {
12 $viewFile = self::VIEWS_PATH . $node->getName() . '.php';
13
14 if(file_exists($viewFile))
15 {
16 // id (timestamp)
17 if(!empty($node->getAttributes()))
18 {
19 extract($node->getAttributes());
20 }
21
22 // html
23 $title = $node->getArticle()->getTitle();
24 $html = $node->getArticle()->getContent();
25 $id = $node->getArticleTimestamp();
26
27 // partage
28 $share_link = new URL(['page' => CURRENT_PAGE], $id);
29 $share_js = 'onclick="copyInClipBoard(\'' . $share_link . '\')"';
30 $share_button = '<p class="share" ' . $share_js . '><img class="action_icon" src="assets/share.svg"></p>' . "\n";
31
32 // modifier un article
33 $admin_buttons = '';
34 if($_SESSION['admin'])
35 {
36 $modify_js = 'onclick="openEditor(\'' . $id . '\')"';
37 $modify_article = '<p id="edit-' . $id . '"><img class="action_icon" src="assets/edit.svg" ' . $modify_js . '></p>' . "\n";
38
39 $up_js = 'onclick="switchPositions(\'' . $id . '\', \'up\')"';
40 $up_button = '<p id="position_up-' . $id . '"><img class="action_icon" src="assets/arrow-up.svg" ' . $up_js . '></p>' . "\n";
41
42 $down_js = 'onclick="switchPositions(\'' . $id . '\', \'down\')"';
43 $down_button = '<p id="position_down-' . $id . '"><img class="action_icon" src="assets/arrow-down.svg" ' . $down_js . '></p>' . "\n";
44
45 $delete_js = 'onclick="deleteArticle(\'' . $id . '\')"';
46 $delete_article = '<p id="delete-' . $id . '"><img class="action_icon" src="assets/delete-bin.svg" ' . $delete_js . '></p>' . "\n";
47
48 $close_js = 'onclick="closeEditor(\'' . $id . '\')"';
49 $close_editor = '<p id="cancel-' . $id . '" class="hidden"><button ' . $close_js . '>Annuler</button></p>';
50
51 $submit_js = 'onclick="submitArticle(\'' . $id . '\')"';
52 $submit_article = '<p id="submit-' . $id . '" class="hidden"><button ' . $submit_js . '>Valider</button></p>';
53
54 $admin_buttons = $modify_article . $up_button . $down_button . $delete_article . $close_editor . $submit_article;
55 }
56
57 ob_start();
58 require($viewFile);
59 $this->html .= ob_get_clean();
60 }
61 }
62}