From 5e41bea598ff38b3c520b69fd92ee3412e716df2 Mon Sep 17 00:00:00 2001 From: polo Date: Tue, 9 Sep 2025 15:37:50 +0200 Subject: =?UTF-8?q?fin=20de=20l'utilisation=20du=20champ=20article=5Ftimes?= =?UTF-8?q?tamp=20de=20la=20table=20node,=20r=C3=A9solue=20erreur=20lorsqu?= =?UTF-8?q?e=20deux=20news=20sont=20cr=C3=A9=C3=A9es=20dans=20la=20m=C3=AA?= =?UTF-8?q?me=20minute=20(pas=20dans=20la=20m=C3=AAme=20seconde=20par=20co?= =?UTF-8?q?ntre)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/view/MainBuilder.php | 4 ++- src/view/NewBuilder.php | 62 +++++++++++++++++++++++++++++----------------- src/view/PostBuilder.php | 2 +- src/view/templates/new.php | 4 +-- 4 files changed, 45 insertions(+), 27 deletions(-) (limited to 'src/view') diff --git a/src/view/MainBuilder.php b/src/view/MainBuilder.php index e6fc61a..8a40d82 100644 --- a/src/view/MainBuilder.php +++ b/src/view/MainBuilder.php @@ -23,11 +23,13 @@ class MainBuilder extends AbstractBuilder die; } + // nouvel article if($node->getAdoptedChild() == null){ $date = new \DateTime; $article = new Article('', $date); - $new = new Node('new', 'i' . (string)$date->getTimestamp(), [], 0, null, null, $article); + $new = new Node('new', [], 0, null, null, $article); } + // modification else{ $new = $node->getAdoptedChild(); } diff --git a/src/view/NewBuilder.php b/src/view/NewBuilder.php index 332d92b..9965d15 100644 --- a/src/view/NewBuilder.php +++ b/src/view/NewBuilder.php @@ -9,31 +9,47 @@ class NewBuilder extends AbstractBuilder { static public bool $new_article_mode = false; - public function __construct(Node $node, ) + public function __construct(Node $node) { $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; if(file_exists($viewFile)) { - // id (timestamp) - if(!empty($node->getAttributes())) - { - extract($node->getAttributes()); + if(self::$new_article_mode){ + $id = $_GET['id']; // ici l'id est le nom du block news_block parent + $title = ''; + $preview = ''; + + // lettre au début de l'id: t = title, p = preview, i = article, d = date + $id_title = $id; + $id_title[0] = 't'; + $id_preview = $id; + $id_preview[0] = 'p'; + $id_content = 'i' . $id; + $id_content[0] = 'i'; + $id_date = $id; + $id_date[0] = 'd'; } + else{ + $id = (string)$node->getId(); - // html, date - $title = $node->getArticle()->getTitle(); - $preview = $node->getArticle()->getPreview(); - - // lettre au début de l'id: i = article, p = preview, t = title, d = date - $id = $node->getArticleTimestamp(); - $id_title = $id; - $id_title[0] = 't'; - $id_preview = $id; - $id_preview[0] = 'p'; - $id_date = $id; - $id_date[0] = 'd'; + // id (timestamp) + if(!empty($node->getAttributes())) + { + extract($node->getAttributes()); + } + // html, date + $title = $node->getArticle()->getTitle(); + $preview = $node->getArticle()->getPreview(); + + // lettre au début de l'id: t = title, p = preview, i = article, d = date + $id_title = 't' . $id; + $id_preview = 'p' . $id; + $id_content = 'i' . $id; + $id_date = 'd' . $id; + } + $content = ''; // page article unique @@ -85,12 +101,12 @@ class NewBuilder extends AbstractBuilder $submit_preview = ''; $preview_buttons = '
' . $modify_preview . $close_editor_preview . $submit_preview . '
'; - $article_js = 'onclick="openEditor(\'' . $id . '\')"'; - $modify_article = '

' . "\n"; - $close_js_article = 'onclick="closeEditor(\'' . $id . '\')"'; - $close_editor_article = ''; - $submit_js_article = 'onclick="submitArticle(\'' . $id . '\')"'; - $submit_article = ''; + $article_js = 'onclick="openEditor(\'' . $id_content . '\')"'; + $modify_article = '

' . "\n"; + $close_js_article = 'onclick="closeEditor(\'' . $id_content . '\')"'; + $close_editor_article = ''; + $submit_js_article = 'onclick="submitArticle(\'' . $id_content . '\')"'; + $submit_article = ''; $article_buttons = '
' . $modify_article . $close_editor_article . $submit_article . '
'; $date_js = 'onclick="changeDate(\'' . $id_date . '\', \'article\');'; diff --git a/src/view/PostBuilder.php b/src/view/PostBuilder.php index ae5cc9b..70a2d77 100644 --- a/src/view/PostBuilder.php +++ b/src/view/PostBuilder.php @@ -22,7 +22,7 @@ class PostBuilder extends AbstractBuilder // html $title = $node->getArticle()->getTitle(); $html = $node->getArticle()->getContent(); - $id = $node->getArticleTimestamp(); + $id = (string)$node->getId(); // partage $share_link = new URL(['page' => CURRENT_PAGE], $id); diff --git a/src/view/templates/new.php b/src/view/templates/new.php index 1b25eba..fadf1a2 100644 --- a/src/view/templates/new.php +++ b/src/view/templates/new.php @@ -1,6 +1,6 @@
-
+
@@ -12,7 +12,7 @@
-
+
-- cgit v1.2.3