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:
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");
}
},