diff options
author | polo <ordipolo@gmx.fr> | 2025-09-09 15:37:50 +0200 |
---|---|---|
committer | polo <ordipolo@gmx.fr> | 2025-09-09 15:37:50 +0200 |
commit | 5e41bea598ff38b3c520b69fd92ee3412e716df2 (patch) | |
tree | b4b57a7201db1efe484446383042f9a43fd2deff /src/view/NewBuilder.php | |
parent | c5d9df5c42b5d2522e2a06b5f40422c1bbf497ab (diff) | |
download | cms-5e41bea598ff38b3c520b69fd92ee3412e716df2.zip |
fin de l'utilisation du champ article_timestamp de la table node, résolue erreur lorsque deux news sont créées dans la même minute (pas dans la même seconde par contre)
Diffstat (limited to 'src/view/NewBuilder.php')
-rw-r--r-- | src/view/NewBuilder.php | 62 |
1 files changed, 39 insertions, 23 deletions
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 | |||
9 | { | 9 | { |
10 | static public bool $new_article_mode = false; | 10 | static public bool $new_article_mode = false; |
11 | 11 | ||
12 | public function __construct(Node $node, ) | 12 | public function __construct(Node $node) |
13 | { | 13 | { |
14 | $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; | 14 | $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; |
15 | 15 | ||
16 | if(file_exists($viewFile)) | 16 | if(file_exists($viewFile)) |
17 | { | 17 | { |
18 | // id (timestamp) | 18 | if(self::$new_article_mode){ |
19 | if(!empty($node->getAttributes())) | 19 | $id = $_GET['id']; // ici l'id est le nom du block news_block parent |
20 | { | 20 | $title = ''; |
21 | extract($node->getAttributes()); | 21 | $preview = ''; |
22 | |||
23 | // lettre au début de l'id: t = title, p = preview, i = article, d = date | ||
24 | $id_title = $id; | ||
25 | $id_title[0] = 't'; | ||
26 | $id_preview = $id; | ||
27 | $id_preview[0] = 'p'; | ||
28 | $id_content = 'i' . $id; | ||
29 | $id_content[0] = 'i'; | ||
30 | $id_date = $id; | ||
31 | $id_date[0] = 'd'; | ||
22 | } | 32 | } |
33 | else{ | ||
34 | $id = (string)$node->getId(); | ||
23 | 35 | ||
24 | // html, date | 36 | // id (timestamp) |
25 | $title = $node->getArticle()->getTitle(); | 37 | if(!empty($node->getAttributes())) |
26 | $preview = $node->getArticle()->getPreview(); | 38 | { |
27 | 39 | extract($node->getAttributes()); | |
28 | // lettre au début de l'id: i = article, p = preview, t = title, d = date | 40 | } |
29 | $id = $node->getArticleTimestamp(); | ||
30 | $id_title = $id; | ||
31 | $id_title[0] = 't'; | ||
32 | $id_preview = $id; | ||
33 | $id_preview[0] = 'p'; | ||
34 | $id_date = $id; | ||
35 | $id_date[0] = 'd'; | ||
36 | 41 | ||
42 | // html, date | ||
43 | $title = $node->getArticle()->getTitle(); | ||
44 | $preview = $node->getArticle()->getPreview(); | ||
45 | |||
46 | // lettre au début de l'id: t = title, p = preview, i = article, d = date | ||
47 | $id_title = 't' . $id; | ||
48 | $id_preview = 'p' . $id; | ||
49 | $id_content = 'i' . $id; | ||
50 | $id_date = 'd' . $id; | ||
51 | } | ||
52 | |||
37 | $content = ''; | 53 | $content = ''; |
38 | 54 | ||
39 | // page article unique | 55 | // page article unique |
@@ -85,12 +101,12 @@ class NewBuilder extends AbstractBuilder | |||
85 | $submit_preview = '<p id="submit-' . $id_preview . '" class="hidden"><button ' . $submit_js_preview . '>Valider</button></p>'; | 101 | $submit_preview = '<p id="submit-' . $id_preview . '" class="hidden"><button ' . $submit_js_preview . '>Valider</button></p>'; |
86 | $preview_buttons = '<div class="button_zone">' . $modify_preview . $close_editor_preview . $submit_preview . '</div>'; | 102 | $preview_buttons = '<div class="button_zone">' . $modify_preview . $close_editor_preview . $submit_preview . '</div>'; |
87 | 103 | ||
88 | $article_js = 'onclick="openEditor(\'' . $id . '\')"'; | 104 | $article_js = 'onclick="openEditor(\'' . $id_content . '\')"'; |
89 | $modify_article = '<p id="edit-' . $id . '"><button ' . $article_js . '><img class="action_icon" src="assets/edit.svg">Article</button></p>' . "\n"; | 105 | $modify_article = '<p id="edit-' . $id_content . '"><button ' . $article_js . '><img class="action_icon" src="assets/edit.svg">Article</button></p>' . "\n"; |
90 | $close_js_article = 'onclick="closeEditor(\'' . $id . '\')"'; | 106 | $close_js_article = 'onclick="closeEditor(\'' . $id_content . '\')"'; |
91 | $close_editor_article = '<p id="cancel-' . $id . '" class="hidden"><button ' . $close_js_article . '>Annuler</button></p>'; | 107 | $close_editor_article = '<p id="cancel-' . $id_content . '" class="hidden"><button ' . $close_js_article . '>Annuler</button></p>'; |
92 | $submit_js_article = 'onclick="submitArticle(\'' . $id . '\')"'; | 108 | $submit_js_article = 'onclick="submitArticle(\'' . $id_content . '\')"'; |
93 | $submit_article = '<p id="submit-' . $id . '" class="hidden"><button ' . $submit_js_article . '>Valider</button></p>'; | 109 | $submit_article = '<p id="submit-' . $id_content . '" class="hidden"><button ' . $submit_js_article . '>Valider</button></p>'; |
94 | $article_buttons = '<div class="button_zone">' . $modify_article . $close_editor_article . $submit_article . '</div>'; | 110 | $article_buttons = '<div class="button_zone">' . $modify_article . $close_editor_article . $submit_article . '</div>'; |
95 | 111 | ||
96 | $date_js = 'onclick="changeDate(\'' . $id_date . '\', \'article\');'; | 112 | $date_js = 'onclick="changeDate(\'' . $id_date . '\', \'article\');'; |