mikuli.cz

:)
git clone https://git.sr.ht/~ashymad/mikuli.cz
Log | Files | Refs

commit 2854628258edb6bfbf45ce3759bce9a366bb4d95
parent 8b3cac2b3ff190795682ba92c82ded7a84f62ee0
Author: markseu <mark2011@mayberg.se>
Date:   Tue, 10 Mar 2020 13:58:41 +0100

Updated edit extension, better error message

Diffstat:
Msystem/extensions/edit.js | 37+++++++++++++++++++++----------------
1 file changed, 21 insertions(+), 16 deletions(-)

diff --git a/system/extensions/edit.js b/system/extensions/edit.js @@ -816,23 +816,28 @@ yellow.edit = { // Upload file uploadFile: function(elementText, file) { - var extension = (file.name.lastIndexOf(".")!=-1 ? file.name.substring(file.name.lastIndexOf("."), file.name.length) : "").toLowerCase(); - var extensions = yellow.system.editUploadExtensions.split(/\s*,\s*/); - if (file.size<=yellow.system.coreFileSizeMax && extensions.indexOf(extension)!=-1) { - var text = this.getText("UploadProgress")+"\u200b"; - yellow.editor.setMarkdown(elementText, text, "insert"); - var thisObject = this; - var formData = new FormData(); - formData.append("action", "upload"); - formData.append("csrftoken", this.getCookie("csrftoken")); - formData.append("file", file); - var request = new XMLHttpRequest(); - request.open("POST", window.location.pathname, true); - request.onload = function() { if (this.status==200) { thisObject.uploadFileDone.call(thisObject, elementText, this.responseText); } else { thisObject.uploadFileError.call(thisObject, elementText, this.responseText); } }; - request.send(formData); + if (this.isUserAccess("upload", yellow.page.location)) { + var extension = (file.name.lastIndexOf(".")!=-1 ? file.name.substring(file.name.lastIndexOf("."), file.name.length) : "").toLowerCase(); + var extensions = yellow.system.editUploadExtensions.split(/\s*,\s*/); + if (file.size<=yellow.system.coreFileSizeMax && extensions.indexOf(extension)!=-1) { + var text = this.getText("UploadProgress")+"\u200b"; + yellow.editor.setMarkdown(elementText, text, "insert"); + var thisObject = this; + var formData = new FormData(); + formData.append("action", "upload"); + formData.append("csrftoken", this.getCookie("csrftoken")); + formData.append("file", file); + var request = new XMLHttpRequest(); + request.open("POST", window.location.pathname, true); + request.onload = function() { if (this.status==200) { thisObject.uploadFileDone.call(thisObject, elementText, this.responseText); } else { thisObject.uploadFileError.call(thisObject, elementText, this.responseText); } }; + request.send(formData); + } else { + var textError = extensions.indexOf(extension)!=-1 ? "file too big!" : "file format not supported!"; + var textNew = "[Can't upload file '"+file.name+"', "+textError+"]"; + yellow.editor.setMarkdown(elementText, textNew, "insert"); + } } else { - var textError = extensions.indexOf(extension)!=-1 ? "file too big!" : "file format not supported!"; - var textNew = "[Can't upload file '"+file.name+"', "+textError+"]"; + var textNew = "[Can't upload file '"+file.name+"', access is restricted!]"; yellow.editor.setMarkdown(elementText, textNew, "insert"); } },