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.tar.gz cms-68b6058e2a27fc251c117c4efeb141392a0c9736.tar.bz2 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 | ||
