diff options
author | polo <ordipolo@gmx.fr> | 2025-06-19 02:53:01 +0200 |
---|---|---|
committer | polo <ordipolo@gmx.fr> | 2025-06-19 02:53:01 +0200 |
commit | b61c918e05124ddb0bb3102a626ca913a0ab4f3a (patch) | |
tree | 48c9b88466ab566838f0ff7bdb933eabc0b01600 /public | |
parent | 83619ac611490e8cd652a0252349704100fc5148 (diff) | |
download | cms-b61c918e05124ddb0bb3102a626ca913a0ab4f3a.zip |
upload image éditeur: nom d'origine + uniqid + extension d'origine dans une liste autorisée
Diffstat (limited to 'public')
-rw-r--r-- | public/js/tinymce.js | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/public/js/tinymce.js b/public/js/tinymce.js index 55a37cc..f8d78c8 100644 --- a/public/js/tinymce.js +++ b/public/js/tinymce.js | |||
@@ -49,9 +49,9 @@ function openEditor(id, page = '') { | |||
49 | } | 49 | } |
50 | }); | 50 | }); |
51 | editor.on('PastePreProcess', function (e){ // déclenchement au collage AVANT insertion dans l'éditeur | 51 | editor.on('PastePreProcess', function (e){ // déclenchement au collage AVANT insertion dans l'éditeur |
52 | let parser = new DOMParser(); | 52 | const parser = new DOMParser(); |
53 | let doc = parser.parseFromString(e.content, 'text/html'); | 53 | const doc = parser.parseFromString(e.content, 'text/html'); |
54 | let images = doc.querySelectorAll('img'); | 54 | const images = doc.querySelectorAll('img'); |
55 | 55 | ||
56 | let downloads_in_progress = []; | 56 | let downloads_in_progress = []; |
57 | 57 | ||
@@ -59,11 +59,11 @@ function openEditor(id, page = '') { | |||
59 | if(img.src.startsWith('file://')){ // détection d'images non insérables | 59 | if(img.src.startsWith('file://')){ // détection d'images non insérables |
60 | console.warn('Image locale non insérable dans tinymce :', img.src); | 60 | console.warn('Image locale non insérable dans tinymce :', img.src); |
61 | img.outerHTML = '<div style="border:1px solid red; padding:10px; margin:5px 0; background-color:#ffe6e6; color:#a94442; font-size:14px;">' + | 61 | img.outerHTML = '<div style="border:1px solid red; padding:10px; margin:5px 0; background-color:#ffe6e6; color:#a94442; font-size:14px;">' + |
62 | "Image locale non insérée. Pour insérer une image depuis LibreOffice, copiez l'image seule et recoller." + | 62 | "Image locale non insérée (vient-elle de LibreOffice ?). Effacez cet encadré et copiez-collez l'image seule. Ensuite cliquez sur le bouton Insérer une image puis dans la nouvelle fenêtre sur Enregistrer." + |
63 | '</div>'; | 63 | '</div>'; |
64 | } | 64 | } |
65 | else if(img.src.startsWith('http')){ // détection d'images web | 65 | else if(img.src.startsWith('http')){ // détection d'images web |
66 | let promise = fetch('index.php?action=upload_image_url', { // promesse d'un fichier téléchargeable sur le serveur | 66 | const promise = fetch('index.php?action=upload_image_url', { // promesse d'un fichier téléchargeable sur le serveur |
67 | method: 'POST', | 67 | method: 'POST', |
68 | headers: { 'Content-Type': 'application/json' }, | 68 | headers: { 'Content-Type': 'application/json' }, |
69 | body: JSON.stringify({ image_url: img.src }) | 69 | body: JSON.stringify({ image_url: img.src }) |
@@ -75,7 +75,7 @@ function openEditor(id, page = '') { | |||
75 | } | 75 | } |
76 | }) | 76 | }) |
77 | .catch(error => { | 77 | .catch(error => { |
78 | console.error('Erreur lors de l’upload de l’image :', error); | 78 | console.error('Erreur lors de l’upload de l’image distante:', error); |
79 | }); | 79 | }); |
80 | 80 | ||
81 | downloads_in_progress.push(promise); | 81 | downloads_in_progress.push(promise); |
@@ -96,7 +96,7 @@ function openEditor(id, page = '') { | |||
96 | } | 96 | } |
97 | }); // fin editor.on('PastePreProcess'... | 97 | }); // fin editor.on('PastePreProcess'... |
98 | }, | 98 | }, |
99 | // upload d'image | 99 | // upload d'image natif de tinymce avec le bouton "Insérer une image" |
100 | images_upload_handler: (blobInfo, progress) => new Promise((resolve, reject) => { | 100 | images_upload_handler: (blobInfo, progress) => new Promise((resolve, reject) => { |
101 | const formData = new FormData(); | 101 | const formData = new FormData(); |
102 | formData.append("file", blobInfo.blob()); | 102 | formData.append("file", blobInfo.blob()); |
@@ -107,7 +107,7 @@ function openEditor(id, page = '') { | |||
107 | }) | 107 | }) |
108 | .then(response => response.json()) | 108 | .then(response => response.json()) |
109 | .then(data => { | 109 | .then(data => { |
110 | if (data.location) { | 110 | if(data.location) { |
111 | resolve(data.location); | 111 | resolve(data.location); |
112 | } | 112 | } |
113 | else { | 113 | else { |