summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2025-04-01 10:37:37 +0200
committerpolo <ordipolo@gmx.fr>2025-04-01 10:37:37 +0200
commite91841c4e678f955e1a44bf0fa0839e84f0aacd0 (patch)
treebf97b369789125e3f6929c501e797bee664cb02c
parent72111d3f417f5629390cfaa68f914024a82cb44f (diff)
downloadcms-e91841c4e678f955e1a44bf0fa0839e84f0aacd0.zip
bug boutons page article
-rw-r--r--public/js/tinymce.js35
-rw-r--r--src/view/NewBuilder.php6
2 files changed, 18 insertions, 23 deletions
diff --git a/public/js/tinymce.js b/public/js/tinymce.js
index 8aa9368..8aeaac8 100644
--- a/public/js/tinymce.js
+++ b/public/js/tinymce.js
@@ -1,6 +1,6 @@
1let editors = {}; 1let editors = {};
2 2
3function openEditor(articleId) { 3function openEditor(articleId, page = '') {
4 // Récupérer et sauvegarder le contenu d'origine de l'article 4 // Récupérer et sauvegarder le contenu d'origine de l'article
5 const articleContent = document.getElementById(articleId).innerHTML; 5 const articleContent = document.getElementById(articleId).innerHTML;
6 document.getElementById(articleId).setAttribute('data-original-content', articleContent); 6 document.getElementById(articleId).setAttribute('data-original-content', articleContent);
@@ -20,17 +20,14 @@ function openEditor(articleId) {
20 editor.on('init', function () { 20 editor.on('init', function () {
21 editors[articleId] = editor; 21 editors[articleId] = editor;
22 22
23 // Masquer le bouton "Modifier" et afficher les boutons "Annuler" et "Soumettre" 23 // boutons "Modifier", "Supprimer", "déplacer vers le haut", "déplacer vers le bas", "Annuler" et "Soumettre"
24 if(articleId != 'new') 24 document.querySelector(`#edit-${articleId}`).classList.add('hidden');
25 { 25 document.querySelector(`#delete-${articleId}`).classList.add('hidden');
26 document.querySelector(`#edit-${articleId}`).classList.add('hidden'); 26 // boutons absents page article
27 document.querySelector(`#delete-${articleId}`).classList.add('hidden'); 27 if(page != 'article'){
28 document.querySelector(`#position_up-${articleId}`).classList.add('hidden'); 28 document.querySelector(`#position_up-${articleId}`).classList.add('hidden');
29 document.querySelector(`#position_down-${articleId}`).classList.add('hidden'); 29 document.querySelector(`#position_down-${articleId}`).classList.add('hidden');
30 } 30 }
31 else{
32 document.querySelector(`#new-${articleId}`).classList.add('hidden');
33 }
34 document.querySelector(`#cancel-${articleId}`).classList.remove('hidden'); 31 document.querySelector(`#cancel-${articleId}`).classList.remove('hidden');
35 document.querySelector(`#submit-${articleId}`).classList.remove('hidden'); 32 document.querySelector(`#submit-${articleId}`).classList.remove('hidden');
36 33
@@ -78,7 +75,7 @@ function deleteArticle(articleId, page = '') {
78 }) 75 })
79 .then(response => response.json()) 76 .then(response => response.json())
80 .then(data => { 77 .then(data => {
81 if (data.success) 78 if(data.success)
82 { 79 {
83 if(page == 'article'){ 80 if(page == 'article'){
84 // redirection vers la page d'accueil 81 // redirection vers la page d'accueil
@@ -102,7 +99,7 @@ function deleteArticle(articleId, page = '') {
102 } 99 }
103} 100}
104 101
105function closeEditor(articleId, display_old = true) 102function closeEditor(articleId, page = '', display_old = true)
106{ 103{
107 // Fermer l'éditeur 104 // Fermer l'éditeur
108 tinymce.remove(`#${articleId}`); 105 tinymce.remove(`#${articleId}`);
@@ -114,21 +111,19 @@ function closeEditor(articleId, display_old = true)
114 document.getElementById(articleId).innerHTML = originalContent; 111 document.getElementById(articleId).innerHTML = originalContent;
115 } 112 }
116 113
117 // Afficher le bouton "Modifier" et masquer les boutons "Annuler" et "Soumettre" 114 // boutons "Modifier", "Supprimer", "déplacer vers le haut", "déplacer vers le bas", "Annuler" et "Soumettre"
118 if(articleId != 'new'){ 115 document.querySelector(`#edit-${articleId}`).classList.remove('hidden');
119 document.querySelector(`#edit-${articleId}`).classList.remove('hidden'); 116 document.querySelector(`#delete-${articleId}`).classList.remove('hidden');
120 document.querySelector(`#delete-${articleId}`).classList.remove('hidden'); 117 // boutons absents page article
118 if(page != 'article'){
121 document.querySelector(`#position_up-${articleId}`).classList.remove('hidden'); 119 document.querySelector(`#position_up-${articleId}`).classList.remove('hidden');
122 document.querySelector(`#position_down-${articleId}`).classList.remove('hidden'); 120 document.querySelector(`#position_down-${articleId}`).classList.remove('hidden');
123 } 121 }
124 else{
125 document.querySelector(`#new-${articleId}`).classList.remove('hidden');
126 }
127 document.querySelector(`#cancel-${articleId}`).classList.add('hidden'); 122 document.querySelector(`#cancel-${articleId}`).classList.add('hidden');
128 document.querySelector(`#submit-${articleId}`).classList.add('hidden'); 123 document.querySelector(`#submit-${articleId}`).classList.add('hidden');
129} 124}
130 125
131function submitArticle(articleId) { 126function submitArticle(articleId, page = '') {
132 // Récupérer l'éditeur correspondant à l'article 127 // Récupérer l'éditeur correspondant à l'article
133 const editor = editors[articleId]; 128 const editor = editors[articleId];
134 if (!editor) { 129 if (!editor) {
@@ -151,7 +146,7 @@ function submitArticle(articleId) {
151 .then(data => { 146 .then(data => {
152 if (data.success) { 147 if (data.success) {
153 // Fermer l'éditeur et mettre à jour le contenu de l'article 148 // Fermer l'éditeur et mettre à jour le contenu de l'article
154 closeEditor(articleId, false); 149 closeEditor(articleId, page, false);
155 document.getElementById(articleId).innerHTML = newContent; 150 document.getElementById(articleId).innerHTML = newContent;
156 } 151 }
157 else { 152 else {
diff --git a/src/view/NewBuilder.php b/src/view/NewBuilder.php
index 56d1f4d..94823bd 100644
--- a/src/view/NewBuilder.php
+++ b/src/view/NewBuilder.php
@@ -50,7 +50,7 @@ class NewBuilder extends AbstractBuilder
50 if($_SESSION['admin']) 50 if($_SESSION['admin'])
51 { 51 {
52 if(Director::$page_path->getLast()->getEndOfPath() === 'article'){ 52 if(Director::$page_path->getLast()->getEndOfPath() === 'article'){
53 $modify_js = 'onclick="openEditor(\'' . $id . '\')"'; 53 $modify_js = 'onclick="openEditor(\'' . $id . '\', \'article\')"';
54 $modify_article = '<p id="edit-' . $id . '"><a href="#"><img class="action_icon" src="assets/edit.svg" ' . $modify_js . '></a></p>' . "\n"; 54 $modify_article = '<p id="edit-' . $id . '"><a href="#"><img class="action_icon" src="assets/edit.svg" ' . $modify_js . '></a></p>' . "\n";
55 55
56 $up_button = ''; 56 $up_button = '';
@@ -59,10 +59,10 @@ class NewBuilder extends AbstractBuilder
59 $delete_js = 'onclick="deleteArticle(\'' . $id . '\', \'' . CURRENT_PAGE . '\')"'; 59 $delete_js = 'onclick="deleteArticle(\'' . $id . '\', \'' . CURRENT_PAGE . '\')"';
60 $delete_article = '<p id="delete-' . $id . '"><a href="#"><img class="action_icon" src="assets/delete-bin.svg" ' . $delete_js . '></a></p>' . "\n"; 60 $delete_article = '<p id="delete-' . $id . '"><a href="#"><img class="action_icon" src="assets/delete-bin.svg" ' . $delete_js . '></a></p>' . "\n";
61 61
62 $close_js = 'onclick="closeEditor(\'' . $id . '\')"'; 62 $close_js = 'onclick="closeEditor(\'' . $id . '\', \'article\')"';
63 $close_editor = '<p id="cancel-' . $id . '" class="hidden"><a href="#"><button ' . $close_js . '>Annuler</button></a></p>'; 63 $close_editor = '<p id="cancel-' . $id . '" class="hidden"><a href="#"><button ' . $close_js . '>Annuler</button></a></p>';
64 64
65 $submit_js = 'onclick="submitArticle(\'' . $id . '\')"'; 65 $submit_js = 'onclick="submitArticle(\'' . $id . '\', \'article\')"';
66 $submit_article = '<p id="submit-' . $id . '" class="hidden"><a href="#"><button ' . $submit_js . '>Valider</button></a></p>'; 66 $submit_article = '<p id="submit-' . $id . '" class="hidden"><a href="#"><button ' . $submit_js . '>Valider</button></a></p>';
67 } 67 }
68 else{ 68 else{