diff --git a/web/documentserver-example/csharp-mvc/Models/FileModel.cs b/web/documentserver-example/csharp-mvc/Models/FileModel.cs index 51f57922..de4de980 100644 --- a/web/documentserver-example/csharp-mvc/Models/FileModel.cs +++ b/web/documentserver-example/csharp-mvc/Models/FileModel.cs @@ -263,12 +263,12 @@ namespace OnlineEditorsExampleMVC.Models string prevFileUrl; if (Path.IsPathRooted(storagePath) && !string.IsNullOrEmpty(storagePath)) { - prevFileUrl = i == currentVersion ? DocManagerHelper.GetHistoryDownloadUrl(FileName,i.ToString(),"prev"+ext) + prevFileUrl = i == currentVersion ? DocManagerHelper.GetHistoryDownloadUrl(FileName, i.ToString(), "prev" + ext) : DocManagerHelper.GetDownloadUrl(Directory.GetFiles(verDir, "prev.*")[0].Replace(storagePath + "\\", "")); } else { prevFileUrl = i == currentVersion ? FileUri - : DocManagerHelper.GetHistoryDownloadUrl(FileName,i.ToString(), "prev" + ext); + : DocManagerHelper.GetHistoryDownloadUrl(FileName, i.ToString(), "prev" + ext); } dataObj.Add("url", prevFileUrl); @@ -295,7 +295,7 @@ namespace OnlineEditorsExampleMVC.Models { "url", prev["url"] }, }); // write the path to the diff.zip archive with differences in this file version - var changesUrl = DocManagerHelper.GetHistoryDownloadUrl(FileName,(i-1).ToString(), "diff.zip"); + var changesUrl = DocManagerHelper.GetHistoryDownloadUrl(FileName, (i - 1).ToString(), "diff.zip"); dataObj.Add("changesUrl", changesUrl); } if(JwtManager.Enabled) diff --git a/web/documentserver-example/csharp-mvc/Web.config b/web/documentserver-example/csharp-mvc/Web.config index 5be85088..18c3c6af 100644 --- a/web/documentserver-example/csharp-mvc/Web.config +++ b/web/documentserver-example/csharp-mvc/Web.config @@ -23,7 +23,6 @@ - diff --git a/web/documentserver-example/csharp-mvc/WebEditor.ashx.cs b/web/documentserver-example/csharp-mvc/WebEditor.ashx.cs index 5d1a8dfb..ae944019 100644 --- a/web/documentserver-example/csharp-mvc/WebEditor.ashx.cs +++ b/web/documentserver-example/csharp-mvc/WebEditor.ashx.cs @@ -303,7 +303,7 @@ namespace OnlineEditorsExampleMVC var userAddress = context.Request["userAddress"]; var fileName = Path.GetFileName(context.Request["fileName"]); var status = (TrackerStatus) (int) fileData["status"]; // get status from the request body - var saved = 0; // editing + var saved = 0; switch (status) { case TrackerStatus.Editing: @@ -360,7 +360,7 @@ namespace OnlineEditorsExampleMVC return; } - context.Response.Write("{\"error\":0}"); + context.Response.Write("{\"error\":" + saved + "}"); } // remove a file @@ -522,7 +522,9 @@ namespace OnlineEditorsExampleMVC context.Response.Write("JWT validation failed"); return; } - }else { + } + else + { context.Response.StatusCode = (int)HttpStatusCode.Forbidden; context.Response.Write("JWT validation failed"); return; diff --git a/web/documentserver-example/csharp/Default.aspx.cs b/web/documentserver-example/csharp/Default.aspx.cs index ead443d4..c19279a7 100644 --- a/web/documentserver-example/csharp/Default.aspx.cs +++ b/web/documentserver-example/csharp/Default.aspx.cs @@ -165,18 +165,20 @@ namespace OnlineEditorsExample // get the path to the history file version public static string HistoryPath(string fileName, string userAddress, string version, string file) - { + { var directory = ""; if (Path.IsPathRooted(WebConfigurationManager.AppSettings["storage-path"])) { directory = WebConfigurationManager.AppSettings["storage-path"] + "\\"; - }else + } + else { directory = HttpRuntime.AppDomainAppPath + WebConfigurationManager.AppSettings["storage-path"] + CurUserHostAddress(userAddress) + "\\"; } var filepath = directory + Path.GetFileName(fileName) + "-hist" + "\\" + version + "\\" + file; return filepath; } + // get the path to the forcesaved file version public static string ForcesavePath(string fileName, string userAddress, Boolean create) { diff --git a/web/documentserver-example/csharp/DocEditor.aspx.cs b/web/documentserver-example/csharp/DocEditor.aspx.cs index 2db760e0..727a4c3d 100644 --- a/web/documentserver-example/csharp/DocEditor.aspx.cs +++ b/web/documentserver-example/csharp/DocEditor.aspx.cs @@ -358,11 +358,12 @@ namespace OnlineEditorsExample dataObj.Add("fileType", ext.Replace(".", "")); dataObj.Add("key", key); // write file url to the data object - var prevFileUrl = i == currentVersion ? FileUri : MakePublicHistoryUrl(FileName,i.ToString(), "prev" + ext); + var prevFileUrl = i == currentVersion ? FileUri : MakePublicHistoryUrl(FileName, i.ToString(), "prev" + ext); if (Path.IsPathRooted(storagePath)) { prevFileUrl = i == currentVersion ? getDownloadUrl(FileName) : getDownloadUrl(Directory.GetFiles(verDir, "prev.*")[0].Replace(storagePath + "\\", "")); } + dataObj.Add("url", prevFileUrl); // write file url to the data object dataObj.Add("version", i); if (i > 1) // check if the version number is greater than 1 (the file was modified) @@ -387,7 +388,7 @@ namespace OnlineEditorsExample { "url", prev["url"] }, }); // write the path to the diff.zip archive with differences in this file version - var changesUrl = MakePublicHistoryUrl(FileName,(i-1).ToString(), "diff.zip"); + var changesUrl = MakePublicHistoryUrl(FileName, (i - 1).ToString(), "diff.zip"); dataObj.Add("changesUrl", changesUrl); } if (JwtManager.Enabled) @@ -522,12 +523,12 @@ namespace OnlineEditorsExample private string MakePublicHistoryUrl(string filename, string version, string file) { var fileUrl = new UriBuilder(_Default.GetServerUrl(true)); - fileUrl.Path = HttpRuntime.AppDomainAppVirtualPath - + (HttpRuntime.AppDomainAppVirtualPath.EndsWith("/") ? "" : "/") - + "webeditor.ashx"; - fileUrl.Query = "type=downloadhistory&fileName=" + HttpUtility.UrlEncode(filename) - +"&ver=" + version + "&file="+ file + - "&userAddress=" + HttpUtility.UrlEncode(HttpContext.Current.Request.UserHostAddress); + fileUrl.Path = HttpRuntime.AppDomainAppVirtualPath + + (HttpRuntime.AppDomainAppVirtualPath.EndsWith("/") ? "" : "/") + + "webeditor.ashx"; + fileUrl.Query = "type=downloadhistory&fileName=" + HttpUtility.UrlEncode(filename) + + "&ver=" + version + "&file=" + file + + "&userAddress=" + HttpUtility.UrlEncode(HttpContext.Current.Request.UserHostAddress); return fileUrl.ToString(); } diff --git a/web/documentserver-example/csharp/Web.config b/web/documentserver-example/csharp/Web.config index 38ab7b9d..4d0d7b35 100644 --- a/web/documentserver-example/csharp/Web.config +++ b/web/documentserver-example/csharp/Web.config @@ -6,14 +6,13 @@ - - - - - - + + + + + diff --git a/web/documentserver-example/csharp/WebEditor.ashx.cs b/web/documentserver-example/csharp/WebEditor.ashx.cs index 73a0d383..e222f98d 100644 --- a/web/documentserver-example/csharp/WebEditor.ashx.cs +++ b/web/documentserver-example/csharp/WebEditor.ashx.cs @@ -138,7 +138,7 @@ namespace OnlineEditorsExample var userAddress = context.Request["userAddress"]; var fileName = Path.GetFileName(context.Request["fileName"]); var status = (TrackerStatus) (int) fileData["status"]; // get status from the request body - var saved = 0; // editing + var saved = 0; switch (status) { case TrackerStatus.Editing: @@ -194,7 +194,7 @@ namespace OnlineEditorsExample context.Response.Write("{\"error\":" + saved + "}"); return; } - context.Response.Write("{\"error\":0}"); + context.Response.Write("{\"error\":" + saved + "}"); } // remove a file @@ -350,7 +350,9 @@ namespace OnlineEditorsExample context.Response.Write("JWT validation failed"); return; } - }else { + } + else + { context.Response.StatusCode = (int)HttpStatusCode.Forbidden; context.Response.Write("JWT validation failed"); return; @@ -358,7 +360,7 @@ namespace OnlineEditorsExample } var filePath = _Default.HistoryPath(fileName, userAddress, version, file); // get the path to the force saved document version - + download(filePath, context); } catch (Exception) diff --git a/web/documentserver-example/java-spring/src/main/java/com/onlyoffice/integration/documentserver/managers/document/DefaultDocumentManager.java b/web/documentserver-example/java-spring/src/main/java/com/onlyoffice/integration/documentserver/managers/document/DefaultDocumentManager.java index 216a26ac..ea149bf6 100755 --- a/web/documentserver-example/java-spring/src/main/java/com/onlyoffice/integration/documentserver/managers/document/DefaultDocumentManager.java +++ b/web/documentserver-example/java-spring/src/main/java/com/onlyoffice/integration/documentserver/managers/document/DefaultDocumentManager.java @@ -118,7 +118,7 @@ public class DefaultDocumentManager implements DocumentManager { String hostAddress = storagePathBuilder.getStorageLocation(); // get the storage directory String filePathDownload = !fileName.contains(InetAddress.getLocalHost().getHostAddress()) ? fileName : fileName.substring(fileName.indexOf(InetAddress.getLocalHost().getHostAddress()) + InetAddress.getLocalHost().getHostAddress().length() + 1); - + String filePath = serverPath + "/downloadhistory?fileName=" + URLEncoder.encode(filePathDownload, java.nio.charset.StandardCharsets.UTF_8.toString()) + "&ver=" + version + "&file="+file + "&userAddress" + URLEncoder.encode(hostAddress, java.nio.charset.StandardCharsets.UTF_8.toString()); diff --git a/web/documentserver-example/java-spring/src/main/java/com/onlyoffice/integration/documentserver/managers/history/DefaultHistoryManager.java b/web/documentserver-example/java-spring/src/main/java/com/onlyoffice/integration/documentserver/managers/history/DefaultHistoryManager.java index d8347672..a081bc71 100644 --- a/web/documentserver-example/java-spring/src/main/java/com/onlyoffice/integration/documentserver/managers/history/DefaultHistoryManager.java +++ b/web/documentserver-example/java-spring/src/main/java/com/onlyoffice/integration/documentserver/managers/history/DefaultHistoryManager.java @@ -92,7 +92,7 @@ public class DefaultHistoryManager implements HistoryManager { dataObj.put("url", i == curVer ? document.getUrl() : documentManager.getHistoryFileUrl(document.getTitle(), i, "prev" + fileUtility.getFileExtension(document.getTitle()), true)); dataObj.put("version", i); - + if (i > 1) { //check if the version number is greater than 1 // if so, get the path to the changes.json file JSONObject changes = (JSONObject) parser.parse(readFileToEnd(new File(documentManager.versionDir(histDir, i - 1, true) + File.separator + "changes.json"))); @@ -111,7 +111,7 @@ public class DefaultHistoryManager implements HistoryManager { prevInfo.put("url", prev.get("url")); dataObj.put("previous", prevInfo); // write information about previous file version to the data object // write the path to the diff.zip archive with differences in this file version - Integer verdiff = i-1; + Integer verdiff = i - 1; dataObj.put("changesUrl", documentManager.getHistoryFileUrl(document.getTitle(), verdiff, "diff.zip", true)); } diff --git a/web/documentserver-example/java-spring/src/main/java/com/onlyoffice/integration/documentserver/storage/LocalFileStorage.java b/web/documentserver-example/java-spring/src/main/java/com/onlyoffice/integration/documentserver/storage/LocalFileStorage.java index 72a5d3ef..fb12b152 100644 --- a/web/documentserver-example/java-spring/src/main/java/com/onlyoffice/integration/documentserver/storage/LocalFileStorage.java +++ b/web/documentserver-example/java-spring/src/main/java/com/onlyoffice/integration/documentserver/storage/LocalFileStorage.java @@ -249,7 +249,7 @@ public class LocalFileStorage implements FileStorageMutator, FileStoragePathBuil public Resource loadFileAsResourceHistory(String fileName,String version,String file){ String fileLocation = getStorageLocation() + fileName + "-hist" + File.separator + version + File.separator + file; // get it by the file name - + try { Path filePath = Paths.get(fileLocation); // get the path to the file location Resource resource = new UrlResource(filePath.toUri()); // convert the file path to URL diff --git a/web/documentserver-example/java/src/main/java/controllers/IndexServlet.java b/web/documentserver-example/java/src/main/java/controllers/IndexServlet.java index 6c0a773b..c0e9491e 100644 --- a/web/documentserver-example/java/src/main/java/controllers/IndexServlet.java +++ b/web/documentserver-example/java/src/main/java/controllers/IndexServlet.java @@ -436,7 +436,7 @@ public class IndexServlet extends HttpServlet // download a file from history private static void DownloadHistory(HttpServletRequest request, HttpServletResponse response, PrintWriter writer) - { + { try { if (DocumentManager.TokenEnabled()) { @@ -463,7 +463,7 @@ public class IndexServlet extends HttpServlet String ver = request.getParameter("ver"); // Document version String file = request.getParameter("file"); // File. If not defined, then Prev.* - + String filePath = DocumentManager.HistoryPath(fileName, userAddress, ver, file); download(filePath, response, writer); diff --git a/web/documentserver-example/java/src/main/java/helpers/DocumentManager.java b/web/documentserver-example/java/src/main/java/helpers/DocumentManager.java index 66d54439..707b4dfe 100644 --- a/web/documentserver-example/java/src/main/java/helpers/DocumentManager.java +++ b/web/documentserver-example/java/src/main/java/helpers/DocumentManager.java @@ -163,6 +163,7 @@ public class DocumentManager String directory = FilesRootPath(userAddress); return directory + FileUtility.GetFileName(fileName); } + // get the path to history file public static String HistoryPath(String fileName, String userAddress, String version, String file) { diff --git a/web/documentserver-example/python/src/utils/docManager.py b/web/documentserver-example/python/src/utils/docManager.py index b6d52267..3d7eb6d9 100644 --- a/web/documentserver-example/python/src/utils/docManager.py +++ b/web/documentserver-example/python/src/utils/docManager.py @@ -170,6 +170,7 @@ def getRootFolder(req): os.makedirs(directory) return directory + # get the file history path def getHistoryPath(filename, userAddress, file, version, req): if isinstance(req, str): diff --git a/web/documentserver-example/python/src/utils/historyManager.py b/web/documentserver-example/python/src/utils/historyManager.py index 6560fc45..cb4fc059 100644 --- a/web/documentserver-example/python/src/utils/historyManager.py +++ b/web/documentserver-example/python/src/utils/historyManager.py @@ -183,7 +183,7 @@ def getHistoryObject(storagePath, filename, docKey, docUrl, req): 'name': meta['uname'] } - dataObj['url'] = docUrl if i == version else getPublicHistUri(filename, i, "prev"+fileUtils.getFileExt(filename), req) # write file url to the data object + dataObj['url'] = docUrl if i == version else getPublicHistUri(filename, i, "prev" + fileUtils.getFileExt(filename), req) # write file url to the data object if i > 1: # check if the version number is greater than 1 (the file was modified) changes = json.loads(readFile(getChangesHistoryPath(prevVerDir))) # get the path to the changes.json file diff --git a/web/documentserver-example/ruby/app/models/document_helper.rb b/web/documentserver-example/ruby/app/models/document_helper.rb index 9cb53872..04b1df2c 100644 --- a/web/documentserver-example/ruby/app/models/document_helper.rb +++ b/web/documentserver-example/ruby/app/models/document_helper.rb @@ -241,7 +241,7 @@ class DocumentHelper uri = get_server_url(true) + '/downloadhistory/?fileName=' + URI::encode(file_name) + '&ver='+ version.to_s + '&file='+ URI::encode(file) + '&userAddress=' + cur_user_host_address(nil) return uri end - + # get server url def get_server_url(for_document_server) if for_document_server && !Rails.configuration.urlExample.empty? diff --git a/web/documentserver-example/ruby/licenses/3rd-Party.license b/web/documentserver-example/ruby/licenses/3rd-Party.license index 5af57161..f62fef82 100644 --- a/web/documentserver-example/ruby/licenses/3rd-Party.license +++ b/web/documentserver-example/ruby/licenses/3rd-Party.license @@ -70,4 +70,4 @@ License File: uuid.license web-console - A debugging tool for your Ruby on Rails applications. (https://github.com/rails/web-console/blob/master/MIT-LICENSE) License: MIT -License File: web-console.license \ No newline at end of file +License File: web-console.license