From 68b6058e2a27fc251c117c4efeb141392a0c9736 Mon Sep 17 00:00:00 2001 From: polo Date: Sun, 6 Apr 2025 12:18:49 +0200 Subject: =?UTF-8?q?nouvel=20article,=20boutons=20dans=20les=20builders,=20?= =?UTF-8?q?makeArticleNode,=20JS=20MAJ=20page,=20tri=20quand=20d=C3=A9plac?= =?UTF-8?q?ement=20ou=20suppression?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/view/AbstractBuilder.php | 6 ++++++ src/view/ArticleBuilder.php | 14 ++++++------- src/view/BlogBuilder.php | 41 ++++++++++++++++++++++++++---------- src/view/GaleryBuilder.php | 41 ++++++++++++++++++++++++++---------- src/view/GridBuilder.php | 47 +++++++++++++++++++++++++++++------------- src/view/templates/article.php | 1 - src/view/templates/blog.php | 8 +++++-- src/view/templates/galery.php | 7 ++++--- src/view/templates/grid.php | 6 ++++-- 9 files changed, 120 insertions(+), 51 deletions(-) (limited to 'src/view') diff --git a/src/view/AbstractBuilder.php b/src/view/AbstractBuilder.php index cd2b361..285ebc3 100644 --- a/src/view/AbstractBuilder.php +++ b/src/view/AbstractBuilder.php @@ -7,6 +7,12 @@ abstract class AbstractBuilder { protected const VIEWS_PATH = '../src/view/templates/'; protected string $html = ''; + protected int $id_node; + + protected function __construct(Node $node) + { + $this->id_node = $node->getId(); + } protected function useChildrenBuilder(Node $node): void { diff --git a/src/view/ArticleBuilder.php b/src/view/ArticleBuilder.php index f86f9bd..1f5dbb8 100644 --- a/src/view/ArticleBuilder.php +++ b/src/view/ArticleBuilder.php @@ -25,29 +25,29 @@ class ArticleBuilder extends AbstractBuilder // partage $share_link = new URL(['page' => CURRENT_PAGE], $id); $share_js = 'onclick="copyInClipBoard(\'' . $share_link . '\')"'; - $share_button = '' . "\n"; + $share_button = '

' . "\n"; // modifier un article $admin_buttons = ''; if($_SESSION['admin']) { $modify_js = 'onclick="openEditor(\'' . $id . '\')"'; - $modify_article = '

' . "\n"; + $modify_article = '

' . "\n"; $up_js = 'onclick="switchPositions(\'' . $id . '\', \'up\')"'; - $up_button = '

' . "\n"; + $up_button = '

' . "\n"; $down_js = 'onclick="switchPositions(\'' . $id . '\', \'down\')"'; - $down_button = '

' . "\n"; + $down_button = '

' . "\n"; $delete_js = 'onclick="deleteArticle(\'' . $id . '\')"'; - $delete_article = '

' . "\n"; + $delete_article = '

' . "\n"; $close_js = 'onclick="closeEditor(\'' . $id . '\')"'; - $close_editor = ''; + $close_editor = ''; $submit_js = 'onclick="submitArticle(\'' . $id . '\')"'; - $submit_article = ''; + $submit_article = ''; $admin_buttons = $modify_article . $up_button . $down_button . $delete_article . $close_editor . $submit_article; } diff --git a/src/view/BlogBuilder.php b/src/view/BlogBuilder.php index 8c2125f..ca020b2 100644 --- a/src/view/BlogBuilder.php +++ b/src/view/BlogBuilder.php @@ -7,6 +7,7 @@ class BlogBuilder extends AbstractBuilder { public function __construct(Node $node) { + parent::__construct($node); $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; if(file_exists($viewFile)) @@ -18,26 +19,44 @@ class BlogBuilder extends AbstractBuilder // ajouter un article $new_article = ''; - $new_article_admin_buttons = ''; if($_SESSION['admin']) { - $id = 'new'; - - //$link = new URL(['page' => CURRENT_PAGE, 'action' => 'open_editor']); + $id = 'n' . $this->id_node; $js = 'onclick="openEditor(\'' . $id . '\')"'; - //$new_article = '
'; - $new_article = '

' . "\n" . - '

'; + + $share_button = ''; + $html = ''; + + $new_button = '

' . "\n" . + '

'; + + $modify_js = 'onclick="openEditor(\'' . $id . '\')"'; + $modify_article = '' . "\n"; + + $up_js = 'onclick="switchPositions(\'' . $id . '\', \'up\')"'; + $up_button = '' . "\n"; + + $down_js = 'onclick="switchPositions(\'' . $id . '\', \'down\')"'; + $down_button = '' . "\n"; + + $delete_js = 'onclick="deleteArticle(\'' . $id . '\')"'; + $delete_article = '' . "\n"; $close_js = 'onclick="closeEditor(\'' . $id . '\')"'; - $close_editor = '
'; + $close_editor = ''; - $submit_js = 'onclick="submitArticle(\'' . $id . '\')"'; - $submit_article = '
'; + $submit_js = 'onclick="submitArticle(\'' . $id . '\', \'\', clone' . $this->id_node . ')"'; + $submit_article = ''; - $new_article_admin_buttons = $close_editor . $submit_article; + $admin_buttons = $new_button . $modify_article . $up_button . $down_button . $delete_article . $close_editor . $submit_article; + + // squelette d'un nouvel article + ob_start(); + require self::VIEWS_PATH . 'article.php'; + $new_article = ob_get_clean(); } + // articles existants $this->useChildrenBuilder($node); $content = $this->html; diff --git a/src/view/GaleryBuilder.php b/src/view/GaleryBuilder.php index 89be2b1..a895d70 100644 --- a/src/view/GaleryBuilder.php +++ b/src/view/GaleryBuilder.php @@ -7,6 +7,7 @@ class GaleryBuilder extends AbstractBuilder { public function __construct(Node $node) { + parent::__construct($node); $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; if(file_exists($viewFile)) @@ -18,26 +19,44 @@ class GaleryBuilder extends AbstractBuilder // ajouter un article $new_article = ''; - $new_article_admin_buttons = ''; if($_SESSION['admin']) { - $id = 'new'; - - //$link = new URL(['page' => CURRENT_PAGE, 'action' => 'open_editor']); + $id = 'n' . $this->id_node; $js = 'onclick="openEditor(\'' . $id . '\')"'; - //$new_article = '
'; - $new_article = '

' . "\n" . - '

'; + + $share_button = ''; + $html = ''; + + $new_button = '

' . "\n" . + '

'; + + $modify_js = 'onclick="openEditor(\'' . $id . '\')"'; + $modify_article = '' . "\n"; + + $up_js = 'onclick="switchPositions(\'' . $id . '\', \'up\')"'; + $up_button = '' . "\n"; + + $down_js = 'onclick="switchPositions(\'' . $id . '\', \'down\')"'; + $down_button = '' . "\n"; + + $delete_js = 'onclick="deleteArticle(\'' . $id . '\')"'; + $delete_article = '' . "\n"; $close_js = 'onclick="closeEditor(\'' . $id . '\')"'; - $close_editor = '
'; + $close_editor = ''; - $submit_js = 'onclick="submitArticle(\'' . $id . '\')"'; - $submit_article = '
'; + $submit_js = 'onclick="submitArticle(\'' . $id . '\', \'\', clone' . $this->id_node . ')"'; + $submit_article = ''; - $new_article_admin_buttons = $close_editor . $submit_article; + $admin_buttons = $new_button . $modify_article . $up_button . $down_button . $delete_article . $close_editor . $submit_article; + + // squelette d'un nouvel article + ob_start(); + require self::VIEWS_PATH . 'article.php'; + $new_article = ob_get_clean(); } + // articles existants $this->useChildrenBuilder($node); $content = $this->html; 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 { public function __construct(Node $node) { + parent::__construct($node); $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; if(file_exists($viewFile)) @@ -18,32 +19,50 @@ class GridBuilder extends AbstractBuilder // ajouter un article $new_article = ''; - $new_article_admin_buttons = ''; if($_SESSION['admin']) { - $id = 'new'; + $id = 'n' . $this->id_node; $js = 'onclick="openEditor(\'' . $id . '\')"'; - if(Director::$page_path->getLast()->getEndOfPath() === 'accueil') - { - $new_article = '

' . "\n" . - '

'; + $share_button = ''; + $html = ''; + + if(CURRENT_PAGE === 'accueil'){ + $new_button = '

+

'; } - else - { - $new_article = '

' . "\n" . - '

'; + else{ + $new_button = '

' . "\n" . + '

'; } + + $modify_js = 'onclick="openEditor(\'' . $id . '\')"'; + $modify_article = '' . "\n"; + + $up_js = 'onclick="switchPositions(\'' . $id . '\', \'up\')"'; + $up_button = '' . "\n"; + $down_js = 'onclick="switchPositions(\'' . $id . '\', \'down\')"'; + $down_button = '' . "\n"; + + $delete_js = 'onclick="deleteArticle(\'' . $id . '\')"'; + $delete_article = '' . "\n"; + $close_js = 'onclick="closeEditor(\'' . $id . '\')"'; - $close_editor = '
'; + $close_editor = ''; - $submit_js = 'onclick="submitArticle(\'' . $id . '\')"'; - $submit_article = '
'; + $submit_js = 'onclick="submitArticle(\'' . $id . '\', \'\', clone' . $this->id_node . ')"'; + $submit_article = ''; - $new_article_admin_buttons = $close_editor . $submit_article; + $admin_buttons = $new_button . $modify_article . $up_button . $down_button . $delete_article . $close_editor . $submit_article; + + // squelette d'un nouvel article + ob_start(); + require self::VIEWS_PATH . 'article.php'; + $new_article = ob_get_clean(); } + // articles existants $this->useChildrenBuilder($node); $content = $this->html; diff --git a/src/view/templates/article.php b/src/view/templates/article.php index f3ab32f..c57c1cb 100644 --- a/src/view/templates/article.php +++ b/src/view/templates/article.php @@ -10,5 +10,4 @@ -
\ No newline at end of file diff --git a/src/view/templates/blog.php b/src/view/templates/blog.php index 35cac8b..e2066c8 100644 --- a/src/view/templates/blog.php +++ b/src/view/templates/blog.php @@ -1,6 +1,10 @@ -
+

- + +
+
\ No newline at end of file diff --git a/src/view/templates/galery.php b/src/view/templates/galery.php index 306526f..246c4dd 100644 --- a/src/view/templates/galery.php +++ b/src/view/templates/galery.php @@ -1,9 +1,10 @@ -
+

- +
-

diff --git a/src/view/templates/grid.php b/src/view/templates/grid.php index a09ed40..f9e441d 100644 --- a/src/view/templates/grid.php +++ b/src/view/templates/grid.php @@ -1,7 +1,9 @@ -
+

- +
-- cgit v1.2.3