From 66f2e17988c6f4e562355e389a55113f3e4419cd Mon Sep 17 00:00:00 2001 From: Barry de Graaff Date: Thu, 28 Mar 2019 13:29:09 +0100 Subject: [PATCH] - show .scad OpenSCAD files in the preview pane, as they are text/plain. - fix issue displaying quotes in properties dialog. - remove support for numbered file names. --- README.md | 2 - .../src/com/zextras/dav/UploadHandler.java | 38 +------------------ .../src/com/zextras/dav/ZimletProperty.java | 1 - webdav-client-installer.sh | 2 - zimlet/OwnCloudListView.js | 17 ++++++--- zimlet/tk_barrydegraaff_owncloud_zimlet.js | 36 +----------------- zimlet/tk_barrydegraaff_owncloud_zimlet.xml | 3 +- 7 files changed, 15 insertions(+), 84 deletions(-) diff --git a/README.md b/README.md index 7548775..c44f351 100644 --- a/README.md +++ b/README.md @@ -123,8 +123,6 @@ Please note that a preference set by the user has priority over a preference set | owncloud_zimlet_extra_toolbar_button_url | owncloud_zimlet_oc_folder | URL to open when `Go to Nextcloud` is clicked. Instead of a URL you can set it to `owncloud_zimlet_server_name` it opens the URL set in owncloud_zimlet_server_name (may be set by user). When set to `owncloud_zimlet_oc_folder` it opens the URL set in owncloud_zimlet_server_name combined with owncloud_zimlet_oc_folder (maybe set by user). See: owncloud_zimlet_extra_toolbar_button_title | | | owncloud_zimlet_app_title | WebDAV | Change this if you want to rebrand WebDAV Client for your users. For example: ownCloud. | | | owncloud_zimlet_max_upload_size | 104857600 (100MB) | Maximum upload size for upload dialog MB * 1024 * 1024. The back-end has a hardcoded maximum of 1048576000 (1GB). | | -| owncloud_zimlet_use_numbers | false | If set to true, a number will be used instead of filename when saving attachments. | | -| file_number | 1000000 | The number to start counting from. See owncloud_zimlet_use_numbers. | | | owncloud_zimlet_disable_ocs_public_link_shares | false | Controls if users can share items with a public link. Set this to true if you use a DAV server that is not ownCloud/Nextcloud or if you want to disable public link sharing. | | | owncloud_zimlet_welcome_url | https://barrydegraaff.github.io/owncloud/ | Page to load in the preview window when then the tab is clicked. | | | owncloud_zimlet_accountname_with_domain | false | When false the username field in settings dialog is set to `username`, when true it is set to `username@domain.com` | | diff --git a/extension/src/com/zextras/dav/UploadHandler.java b/extension/src/com/zextras/dav/UploadHandler.java index fefbb2d..200b7ba 100644 --- a/extension/src/com/zextras/dav/UploadHandler.java +++ b/extension/src/com/zextras/dav/UploadHandler.java @@ -163,7 +163,7 @@ public void doPost( } //to-do implement proper encoding and better sanitizing (allow more characters) - String fileNameString = getFileName(item.getName().replaceAll("\\\\|\\/|\\:|\\*|\\?|\\\"|\\<|\\>|\\||\\%|\\&|\\@|\\!|\\'|\\[|\\]", "").replace(" ", "%20"), userProperties.get(ZimletProperty.USE_NUMBERS)); + String fileNameString = item.getName().replaceAll("\\\\|\\/|\\:|\\*|\\?|\\\"|\\<|\\>|\\||\\%|\\&|\\@|\\!|\\'|\\[|\\]", "").replace(" ", "%20"); fileNames.add(fileNameString); @@ -253,42 +253,6 @@ private String uriDecode(String dirty) { } } - private String getFileName(String filename, String numberedFilenames) { - try { - FileInputStream input = new FileInputStream("/opt/zimbra/lib/ext/ownCloud/config.properties"); - Properties prop = new Properties(); - prop.load(input); - input.close(); - String fileNumberStr = prop.getProperty("file_number"); - - - if ("true".equals(numberedFilenames)) { - int fileNumber = Integer.parseInt(fileNumberStr); - - fileNumber = fileNumber + 1; - - FileOutputStream out = new FileOutputStream("/opt/zimbra/lib/ext/ownCloud/config.properties"); - prop.setProperty("file_number", Integer.toString(fileNumber)); - prop.store(out, "Updated file_number via getFileName."); - out.close(); - - - if (filename.lastIndexOf(".") > -1) { - filename = fileNumberStr + filename.substring(filename.lastIndexOf(".")); - } else { - filename = fileNumberStr; - } - - } - return filename; - - } catch (IOException ex) { - ex.printStackTrace(); - - return filename; - } - } - @Override public void doOptions( HttpServletRequest httpServletRequest, diff --git a/extension/src/com/zextras/dav/ZimletProperty.java b/extension/src/com/zextras/dav/ZimletProperty.java index 6f9fa36..d21ac37 100644 --- a/extension/src/com/zextras/dav/ZimletProperty.java +++ b/extension/src/com/zextras/dav/ZimletProperty.java @@ -9,7 +9,6 @@ public class ZimletProperty public static String DAV_SERVER_NAME = "owncloud_zimlet_server_name"; public static String DAV_SERVER_PORT = "owncloud_zimlet_server_port"; public static String DAV_SERVER_PATH = "owncloud_zimlet_server_path"; - public static String USE_NUMBERS = "owncloud_zimlet_use_numbers"; public static String OC_PATH = "owncloud_zimlet_oc_folder"; } diff --git a/webdav-client-installer.sh b/webdav-client-installer.sh index 90883ce..56aea0e 100755 --- a/webdav-client-installer.sh +++ b/webdav-client-installer.sh @@ -239,8 +239,6 @@ owncloud_zimlet_extra_toolbar_button_title=Go to Nextcloud owncloud_zimlet_extra_toolbar_button_url=owncloud_zimlet_oc_folder owncloud_zimlet_app_title=WebDAV owncloud_zimlet_max_upload_size=104857600 -owncloud_zimlet_use_numbers=false -file_number=1000000 owncloud_zimlet_welcome_url=${OWNCLOUD_DOC_URL} owncloud_zimlet_accountname_with_domain=false owncloud_zimlet_disable_auto_upload_on_exceed=false diff --git a/zimlet/OwnCloudListView.js b/zimlet/OwnCloudListView.js index b4c4ade..aa4bebf 100644 --- a/zimlet/OwnCloudListView.js +++ b/zimlet/OwnCloudListView.js @@ -598,17 +598,17 @@ OwnCloudListView.prototype._onItemSelected = function(ev) { zimletInstance.onlyOfficeToken = dav_download_options[1]; if(dav_download_options[0] == 'true') { - var regex = /\.pdf$|\.odt$|\.ods$|\.odp$|\.mp4$|\.webm$|\.jpg$|\.jpeg$|\.png$|\.txt$|\.md$|\.doc$|\.docx$|\.xls$|\.xlsx$|\.ppt$|\.pptx$|\.djvu$/i; + var regex = /\.pdf$|\.odt$|\.ods$|\.odp$|\.mp4$|\.webm$|\.jpg$|\.jpeg$|\.png$|\.txt$|\.scad$|\.md$|\.doc$|\.docx$|\.xls$|\.xlsx$|\.ppt$|\.pptx$|\.djvu$/i; } else { if(zimletInstance._zimletContext.getConfig("owncloud_zimlet_onlyoffice_api_url")) { - var regex = /\.pdf$|\.mp4$|\.webm$|\.jpg$|\.jpeg$|\.png$|\.txt$|\.md$|\.docx$|\.xlsx$|\.pptx$/i; + var regex = /\.pdf$|\.mp4$|\.webm$|\.jpg$|\.jpeg$|\.png$|\.txt$|\.scad$|\.md$|\.docx$|\.xlsx$|\.pptx$/i; } else { - var regex = /\.pdf$|\.mp4$|\.webm$|\.jpg$|\.jpeg$|\.png$|\.txt$|\.md$/i; + var regex = /\.pdf$|\.mp4$|\.webm$|\.jpg$|\.jpeg$|\.png$|\.txt$|\.scad$|\.md$/i; } } if(!item.isDirectory() && davResource._href.match(regex)) @@ -667,6 +667,9 @@ OwnCloudListView.prototype.preview = function(davResource, token) { case (davResource._href.match(/\.txt$/i) || {}).input: contentType = 'text/plain'; break; + case (davResource._href.match(/\.scad$/i) || {}).input: + contentType = 'text/plain'; + break; case (davResource._href.match(/\.md$/i) || {}).input: contentType = 'text/plain'; break; @@ -860,7 +863,7 @@ OwnCloudListView.prototype.preview = function(davResource, token) { //see also function OwnCloudApp document.getElementById('WebDAVPreviewContainer').innerHTML='