From 0ffcafdf3f35f7d9ac27b6b4f65d3b283ef03a49 Mon Sep 17 00:00:00 2001 From: Raphix Date: Tue, 20 Feb 2024 14:09:50 +0100 Subject: [PATCH] =?UTF-8?q?Version=201.1.0=20-=20Ajout=20de=20la=20compati?= =?UTF-8?q?bilit=C3=A9=20des=20images?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/files.js | 11 +++- package.json | 2 +- public/javascripts/filexplorer.js | 93 ++++++++++++++++++------------- 3 files changed, 64 insertions(+), 42 deletions(-) diff --git a/bin/files.js b/bin/files.js index 68b34d8..2cea76b 100644 --- a/bin/files.js +++ b/bin/files.js @@ -163,8 +163,15 @@ module.exports.getFile = function(root) { if(fs.existsSync(root)) { try { - - return fs.readFileSync(root, "utf-8") + + // Check if the file is an image and if it is return the base64 + if(mime.lookup(root).includes("image")) { + return "data:" + mime.lookup(root) + ";base64," + fs.readFileSync(root, "base64") + } else { + return fs.readFileSync(root, "utf-8") + } + + } catch(err) { console.log(err) return "NOT_PERMITTED" diff --git a/package.json b/package.json index 6471c9d..430c07d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "neutral", - "version": "1.0.3", + "version": "1.1.0", "description": "Panel d'administration de Raphix", "main": "index.js", "scripts": { diff --git a/public/javascripts/filexplorer.js b/public/javascripts/filexplorer.js index 1f1ae17..bb3e59c 100644 --- a/public/javascripts/filexplorer.js +++ b/public/javascripts/filexplorer.js @@ -590,6 +590,7 @@ explorer.createWindow(() => { }) } else { // Make Download using result + const element = document.createElement('a'); element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(result)); element.setAttribute('download', file.name); @@ -597,7 +598,6 @@ explorer.createWindow(() => { document.body.appendChild(element); element.click(); document.body.removeChild(element); - } }) }) @@ -614,7 +614,15 @@ explorer.createWindow(() => { function editFile() { const reqFiles = post("FX_GETFILE", file.fileDirectory) + //Create a popup for the loading + + View.createPopup({ + title: ` Editeur`, + content: `

Chargement en cours ...

` + }) + reqFiles.then((result) => { + View.destroyPopup(` Editeur}`) if(result == "NOT_PERMITTED") { View.createPopup({ title: ` Erreur`, @@ -624,58 +632,65 @@ explorer.createWindow(() => { const editor = new ViewWindow({ title: ` Editeur - ${file.fileDirectory}`, width: "1000px", - height: "600px" + height: "650px" }) - editor.setContent(` + + if(file.type == "image/png" | file.type == "image/jpeg") { + editor.setContent(` +
+ +
`) + + + } else { + editor.setContent(` -
- -
- - +
+ +
+ - `) + `) - - const editorSave = getID(editor.getViewTitle() + "_save") - const editorContent = getID(editor.getViewTitle() + "_editorContent") + const editorSave = getID(editor.getViewTitle() + "_save") + const editorContent = getID(editor.getViewTitle() + "_editorContent") - // Sauvegarder le fichier en l'envoyant + // Sauvegarder le fichier en l'envoyant - editorSave.addEventListener("click", () => { + editorSave.addEventListener("click", () => { - const reqFiles = post("FX_SAVEFILE", {root: files.root, name: file.name, content: editorContent.value}) - reqFiles.then((result) => { - if(result == "OK") { - editor.destroy() - const reqFiles = post("FX_GET", files.root) - reqFiles.then((result) => { - loadFiles(result) - }) - } else if(result == "NOT_PERMITTED") { - editor.createPopup({ - title: ` Erreur`, - content: `

Vous n'avez pas les permissions pour éditer ce fichier.

` - }) - } else { - editor.createPopup({ - title: ` Erreur`, - content: `

Une erreur est survenue.

` - }) - } + const reqFiles = post("FX_SAVEFILE", {root: files.root, name: file.name, content: editorContent.value}) + reqFiles.then((result) => { + if(result == "OK") { + editor.destroy() + const reqFiles = post("FX_GET", files.root) + reqFiles.then((result) => { + loadFiles(result) + }) + } else if(result == "NOT_PERMITTED") { + editor.createPopup({ + title: ` Erreur`, + content: `

Vous n'avez pas les permissions pour éditer ce fichier.

` + }) + } else { + editor.createPopup({ + title: ` Erreur`, + content: `

Une erreur est survenue.

` + }) + } + }) }) - }) - //forbid textarea resize - editorContent.style.resize = "none" - - - + //forbid textarea resize + editorContent.style.resize = "none" + } + + } })