diff options
author | polo <ordipolo@gmx.fr> | 2025-04-06 12:18:49 +0200 |
---|---|---|
committer | polo <ordipolo@gmx.fr> | 2025-04-06 12:18:49 +0200 |
commit | 68b6058e2a27fc251c117c4efeb141392a0c9736 (patch) | |
tree | 5c029b2c147bd14f777765d41bc623582c81daa2 /src/view/GridBuilder.php | |
parent | e4a325c9d5c07f09bc18b7e366ffb82b82c43502 (diff) | |
download | cms-68b6058e2a27fc251c117c4efeb141392a0c9736.zip |
nouvel article, boutons dans les builders, makeArticleNode, JS MAJ page, tri quand déplacement ou suppression
Diffstat (limited to 'src/view/GridBuilder.php')
-rw-r--r-- | src/view/GridBuilder.php | 47 |
1 files changed, 33 insertions, 14 deletions
diff --git a/src/view/GridBuilder.php b/src/view/GridBuilder.php index 6e16d46..e183e6f 100644 --- a/src/view/GridBuilder.php +++ b/src/view/GridBuilder.php | |||
@@ -7,6 +7,7 @@ class GridBuilder extends AbstractBuilder | |||
7 | { | 7 | { |
8 | public function __construct(Node $node) | 8 | public function __construct(Node $node) |
9 | { | 9 | { |
10 | parent::__construct($node); | ||
10 | $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; | 11 | $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; |
11 | 12 | ||
12 | if(file_exists($viewFile)) | 13 | if(file_exists($viewFile)) |
@@ -18,32 +19,50 @@ class GridBuilder extends AbstractBuilder | |||
18 | 19 | ||
19 | // ajouter un article | 20 | // ajouter un article |
20 | $new_article = ''; | 21 | $new_article = ''; |
21 | $new_article_admin_buttons = ''; | ||
22 | if($_SESSION['admin']) | 22 | if($_SESSION['admin']) |
23 | { | 23 | { |
24 | $id = 'new'; | 24 | $id = 'n' . $this->id_node; |
25 | $js = 'onclick="openEditor(\'' . $id . '\')"'; | 25 | $js = 'onclick="openEditor(\'' . $id . '\')"'; |
26 | 26 | ||
27 | if(Director::$page_path->getLast()->getEndOfPath() === 'accueil') | 27 | $share_button = '<p class="share hidden"><img class="action_icon" src="assets/share.svg"></p>'; |
28 | { | 28 | $html = ''; |
29 | $new_article = '<article><p id="new"></p>' . "\n" . | 29 | |
30 | '<p><a href="' . new URL(['page' => 'article']) . '"><button><img class="action_icon" src="assets/edit.svg">Nouvel article</button></a></p>'; | 30 | if(CURRENT_PAGE === 'accueil'){ |
31 | $new_button = '<p><a class="link_to_article" href="' . new URL(['page' => 'article', 'id' => $id]) . '"> | ||
32 | <button><img class="action_icon" src="assets/book-open.svg">Nouvel article</button></a></p>'; | ||
31 | } | 33 | } |
32 | else | 34 | else{ |
33 | { | 35 | $new_button = '<p id="new-' . $id . '">' . "\n" . |
34 | $new_article = '<article><p id="new"></p>' . "\n" . | 36 | '<button ' . $js . '><img class="action_icon" src="assets/edit.svg">Nouvel article</button></p>'; |
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 | |||
39 | $modify_js = 'onclick="openEditor(\'' . $id . '\')"'; | ||
40 | $modify_article = '<p id="edit-' . $id . '" class="hidden"><img class="action_icon" src="assets/edit.svg" ' . $modify_js . '></p>' . "\n"; | ||
41 | |||
42 | $up_js = 'onclick="switchPositions(\'' . $id . '\', \'up\')"'; | ||
43 | $up_button = '<p id="position_up-' . $id . '" class="hidden"><img class="action_icon" src="assets/arrow-up.svg" ' . $up_js . '></p>' . "\n"; | ||
37 | 44 | ||
45 | $down_js = 'onclick="switchPositions(\'' . $id . '\', \'down\')"'; | ||
46 | $down_button = '<p id="position_down-' . $id . '" class="hidden"><img class="action_icon" src="assets/arrow-down.svg" ' . $down_js . '></p>' . "\n"; | ||
47 | |||
48 | $delete_js = 'onclick="deleteArticle(\'' . $id . '\')"'; | ||
49 | $delete_article = '<p id="delete-' . $id . '" class="hidden"><img class="action_icon" src="assets/delete-bin.svg" ' . $delete_js . '></p>' . "\n"; | ||
50 | |||
38 | $close_js = 'onclick="closeEditor(\'' . $id . '\')"'; | 51 | $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>'; | 52 | $close_editor = '<p id="cancel-' . $id . '" class="hidden"><button ' . $close_js . '>Annuler</button></p>'; |
40 | 53 | ||
41 | $submit_js = 'onclick="submitArticle(\'' . $id . '\')"'; | 54 | $submit_js = 'onclick="submitArticle(\'' . $id . '\', \'\', clone' . $this->id_node . ')"'; |
42 | $submit_article = '<p id="submit-' . $id . '" class="hidden"><a href="#"><button ' . $submit_js . '>Valider</button></a></p></div></article>'; | 55 | $submit_article = '<p id="submit-' . $id . '" class="hidden"><button ' . $submit_js . '>Valider</button></p>'; |
43 | 56 | ||
44 | $new_article_admin_buttons = $close_editor . $submit_article; | 57 | $admin_buttons = $new_button . $modify_article . $up_button . $down_button . $delete_article . $close_editor . $submit_article; |
58 | |||
59 | // squelette d'un nouvel article | ||
60 | ob_start(); | ||
61 | require self::VIEWS_PATH . 'article.php'; | ||
62 | $new_article = ob_get_clean(); | ||
45 | } | 63 | } |
46 | 64 | ||
65 | // articles existants | ||
47 | $this->useChildrenBuilder($node); | 66 | $this->useChildrenBuilder($node); |
48 | $content = $this->html; | 67 | $content = $this->html; |
49 | 68 | ||