diff options
author | Sergey Linnik <sergey.linnik@onlyoffice.com> | 2020-07-16 17:39:10 +0300 |
---|---|---|
committer | Sergey Linnik <sergey.linnik@onlyoffice.com> | 2020-07-16 17:39:31 +0300 |
commit | 4452aa46ab5e2b72be2c2f08d9ecec16f76755d7 (patch) | |
tree | 84ddfa02f28110939f478af1bedc4d6240c604e4 | |
parent | b7d7d64aa0726c7986619e504aeb0b0f9d4e6be6 (diff) | |
parent | 78fe0a6212c1bae7bb1f9bf953000d6fa95c5a2f (diff) |
Merge branch 'develop' into feature/version-history
-rw-r--r-- | appinfo/application.php | 26 | ||||
-rw-r--r-- | controller/callbackcontroller.php | 2 | ||||
-rw-r--r-- | controller/editorcontroller.php | 14 | ||||
-rw-r--r-- | controller/settingscontroller.php | 10 | ||||
-rw-r--r-- | js/directeditor.js | 4 | ||||
-rw-r--r-- | js/editor.js | 17 | ||||
-rw-r--r-- | js/listener.js | 66 | ||||
-rw-r--r-- | js/main.js | 40 | ||||
-rw-r--r-- | js/settings.js | 22 | ||||
-rw-r--r-- | js/viewer.js | 8 | ||||
-rw-r--r-- | lib/directeditor.php | 2 | ||||
-rw-r--r-- | lib/filecreator.php | 2 | ||||
-rw-r--r-- | lib/fileutility.php | 10 |
13 files changed, 108 insertions, 115 deletions
diff --git a/appinfo/application.php b/appinfo/application.php index 296cf16..0e06449 100644 --- a/appinfo/application.php +++ b/appinfo/application.php @@ -70,7 +70,7 @@ class Application extends App { // Default script and style if configured $eventDispatcher = \OC::$server->getEventDispatcher(); $eventDispatcher->addListener("OCA\Files::loadAdditionalScripts", - function() { + function () { if (!empty($this->appConfig->GetDocumentServerUrl()) && $this->appConfig->SettingsAreSuccessful() && $this->appConfig->isUserAllowedToUse()) { @@ -87,7 +87,7 @@ class Application extends App { if (class_exists(LoadViewer::class)) { $eventDispatcher->addListener(LoadViewer::class, - function() { + function () { if (!empty($this->appConfig->GetDocumentServerUrl()) && $this->appConfig->SettingsAreSuccessful() && $this->appConfig->isUserAllowedToUse()) { @@ -105,7 +105,7 @@ class Application extends App { } $eventDispatcher->addListener("OCA\Files_Sharing::loadAdditionalScripts", - function() { + function () { if (!empty($this->appConfig->GetDocumentServerUrl()) && $this->appConfig->SettingsAreSuccessful()) { Util::addScript("onlyoffice", "main"); @@ -125,32 +125,32 @@ class Application extends App { $container = $this->getContainer(); - $container->registerService("L10N", function($c) { + $container->registerService("L10N", function ($c) { return $c->query("ServerContainer")->getL10N($c->query("AppName")); }); - $container->registerService("RootStorage", function($c) { + $container->registerService("RootStorage", function ($c) { return $c->query("ServerContainer")->getRootFolder(); }); - $container->registerService("UserSession", function($c) { + $container->registerService("UserSession", function ($c) { return $c->query("ServerContainer")->getUserSession(); }); - $container->registerService("UserManager", function($c) { + $container->registerService("UserManager", function ($c) { return $c->query("ServerContainer")->getUserManager(); }); - $container->registerService("Logger", function($c) { + $container->registerService("Logger", function ($c) { return $c->query("ServerContainer")->getLogger(); }); - $container->registerService("URLGenerator", function($c) { + $container->registerService("URLGenerator", function ($c) { return $c->query("ServerContainer")->getURLGenerator(); }); if (class_exists("OCP\DirectEditing\RegisterDirectEditorEvent")) { - $container->registerService("DirectEditor", function($c) { + $container->registerService("DirectEditor", function ($c) { return new DirectEditor( $c->query("AppName"), $c->query("URLGenerator"), @@ -173,7 +173,7 @@ class Application extends App { // Controllers - $container->registerService("SettingsController", function($c) { + $container->registerService("SettingsController", function ($c) { return new SettingsController( $c->query("AppName"), $c->query("Request"), @@ -185,7 +185,7 @@ class Application extends App { ); }); - $container->registerService("EditorController", function($c) { + $container->registerService("EditorController", function ($c) { return new EditorController( $c->query("AppName"), $c->query("Request"), @@ -202,7 +202,7 @@ class Application extends App { ); }); - $container->registerService("CallbackController", function($c) { + $container->registerService("CallbackController", function ($c) { return new CallbackController( $c->query("AppName"), $c->query("Request"), diff --git a/controller/callbackcontroller.php b/controller/callbackcontroller.php index 355de60..4364d77 100644 --- a/controller/callbackcontroller.php +++ b/controller/callbackcontroller.php @@ -462,7 +462,7 @@ class CallbackController extends Controller { $newData = $documentService->Request($url); $this->logger->debug("Track put content " . $file->getPath(), ["app" => $this->appName]); - $this->retryOperation(function () use ($file, $newData){ + $this->retryOperation(function () use ($file, $newData) { return $file->putContent($newData); }); diff --git a/controller/editorcontroller.php b/controller/editorcontroller.php index 4aa6eec..ec91a87 100644 --- a/controller/editorcontroller.php +++ b/controller/editorcontroller.php @@ -329,7 +329,7 @@ class EditorController extends Controller { try { $newFileUri = $documentService->GetConvertedUri($fileUrl, $ext, $internalExtension, $key); } catch (\Exception $e) { - $this->logger->logException($e, ["GetConvertedUri: " . $file->getId(), "app" => $this->appName]); + $this->logger->logException($e, ["message" => "GetConvertedUri: " . $file->getId(), "app" => $this->appName]); return ["error" => $e->getMessage()]; } @@ -341,7 +341,7 @@ class EditorController extends Controller { try { $newData = $documentService->Request($newFileUri); } catch (\Exception $e) { - $this->logger->logException($e, ["Failed to download converted file", "app" => $this->appName]); + $this->logger->logException($e, ["message" => "Failed to download converted file", "app" => $this->appName]); return ["error" => $this->trans->t("Failed to download converted file")]; } @@ -353,7 +353,7 @@ class EditorController extends Controller { $file->putContent($newData); } catch (NotPermittedException $e) { - $this->logger->logException($e, ["Can't create file: $newFileName", "app" => $this->appName]); + $this->logger->logException($e, ["message" => "Can't create file: $newFileName", "app" => $this->appName]); return ["error" => $this->trans->t("Can't create file")]; } @@ -401,7 +401,7 @@ class EditorController extends Controller { $documentService = new DocumentService($this->trans, $this->config); $newData = $documentService->Request($url); } catch (\Exception $e) { - $this->logger->logException($e, ["Failed to download file for saving: $url", "app" => $this->appName]); + $this->logger->logException($e, ["message" => "Failed to download file for saving: $url", "app" => $this->appName]); return ["error" => $this->trans->t("Download failed")]; } @@ -412,7 +412,7 @@ class EditorController extends Controller { $file->putContent($newData); } catch (NotPermittedException $e) { - $this->logger->logException($e, ["Can't save file: $name", "app" => $this->appName]); + $this->logger->logException($e, ["message" => "Can't save file: $name", "app" => $this->appName]); return ["error" => $this->trans->t("Can't create file")]; } @@ -920,7 +920,7 @@ class EditorController extends Controller { try { $files = $this->root->getUserFolder($userId)->getById($fileId); } catch (\Exception $e) { - $this->logger->logException($e, ["getFile: $fileId", "app" => $this->appName]); + $this->logger->logException($e, ["message" => "getFile: $fileId", "app" => $this->appName]); return [null, $this->trans->t("Invalid request"), null]; } @@ -1088,7 +1088,7 @@ class EditorController extends Controller { "date" => (new \DateTime())->format("Y-m-d H:i:s"), "themingName" => \OC::$server->getThemingDefaults()->getName() ]; - $watermarkTemplate = preg_replace_callback("/{(.+?)}/", function($matches) use ($replacements) + $watermarkTemplate = preg_replace_callback("/{(.+?)}/", function ($matches) use ($replacements) { return $replacements[$matches[1]]; }, $watermarkTemplate); diff --git a/controller/settingscontroller.php b/controller/settingscontroller.php index f1eb9b2..510143a 100644 --- a/controller/settingscontroller.php +++ b/controller/settingscontroller.php @@ -281,7 +281,7 @@ class SettingsController extends Controller { } } catch (\Exception $e) { - $this->logger->logException($e, ["Protocol on check error", "app" => $this->appName]); + $this->logger->logException($e, ["message" => "Protocol on check error", "app" => $this->appName]); return [$e->getMessage(), $version]; } @@ -295,7 +295,7 @@ class SettingsController extends Controller { } } catch (\Exception $e) { - $this->logger->logException($e, ["HealthcheckRequest on check error", "app" => $this->appName]); + $this->logger->logException($e, ["message" => "HealthcheckRequest on check error", "app" => $this->appName]); return [$e->getMessage(), $version]; } @@ -317,7 +317,7 @@ class SettingsController extends Controller { } } catch (\Exception $e) { - $this->logger->logException($e, ["CommandRequest on check error", "app" => $this->appName]); + $this->logger->logException($e, ["message" => "CommandRequest on check error", "app" => $this->appName]); return [$e->getMessage(), $version]; } @@ -333,14 +333,14 @@ class SettingsController extends Controller { $convertedFileUri = $documentService->GetConvertedUri($fileUrl, "docx", "docx", "check_" . rand()); } catch (\Exception $e) { - $this->logger->logException($e, ["GetConvertedUri on check error", "app" => $this->appName]); + $this->logger->logException($e, ["message" => "GetConvertedUri on check error", "app" => $this->appName]); return [$e->getMessage(), $version]; } try { $documentService->Request($convertedFileUri); } catch (\Exception $e) { - $this->logger->logException($e, ["Request converted file on check error", "app" => $this->appName]); + $this->logger->logException($e, ["message" => "Request converted file on check error", "app" => $this->appName]); return [$e->getMessage(), $version]; } diff --git a/js/directeditor.js b/js/directeditor.js index 9aa95df..aaccf86 100644 --- a/js/directeditor.js +++ b/js/directeditor.js @@ -65,10 +65,10 @@ } OCA.Onlyoffice.directEditor = { - close: function() { + close: function () { callMobileMessage("close"); }, - loaded: function() { + loaded: function () { callMobileMessage("loaded"); } }; diff --git a/js/editor.js b/js/editor.js index de00055..2f4334c 100644 --- a/js/editor.js +++ b/js/editor.js @@ -76,7 +76,8 @@ var dsVersion = DocsAPI.DocEditor.version(); var versionArray = dsVersion.split("."); if (versionArray[0] < 5 || versionArray[0] == 5 && versionArray[1] < 5) { - if (OCA.Onlyoffice.inframe) { + if (OCA.Onlyoffice.inframe + && window.parent.OCA.Onlyoffice.ShowHeaderButton) { window.parent.postMessage({ method: "editorShowHeaderButton" }, @@ -112,7 +113,7 @@ var docIsChanged = null; var docIsChangedTimeout = null; - var setPageTitle = function(event) { + var setPageTitle = function (event) { clearTimeout(docIsChangedTimeout); if (docIsChanged !== event.data) { @@ -138,7 +139,7 @@ }; if (config.editorConfig.tenant) { - config.events.onAppReady = function() { + config.events.onAppReady = function () { OCA.Onlyoffice.docEditor.showMessage(t(OCA.Onlyoffice.AppName, "You are using public demo ONLYOFFICE Document Server. Please do not store private sensitive data.")); }; } @@ -202,7 +203,7 @@ }); }; - OCA.Onlyoffice.onRequestHistoryData = function(fileId, version, shareToken) { + OCA.Onlyoffice.onRequestHistoryData = function (fileId, version, shareToken) { $.get(OC.generateUrl("apps/" + OCA.Onlyoffice.AppName + "/ajax/version?fileId={fileId}&version={version}&shareToken={shareToken}", { fileId: fileId, @@ -220,7 +221,7 @@ }); }; - OCA.Onlyoffice.onRequestHistoryClose = function() { + OCA.Onlyoffice.onRequestHistoryClose = function () { location.reload(true); }; @@ -337,14 +338,14 @@ "*"); }; - OCA.Onlyoffice.onRequestSharingSettings = function() { + OCA.Onlyoffice.onRequestSharingSettings = function () { window.parent.postMessage({ method: "editorRequestSharingSettings" }, "*"); }; - OCA.Onlyoffice.onRequestCompareFile = function() { + OCA.Onlyoffice.onRequestCompareFile = function () { var revisedMimes = [ "application/vnd.openxmlformats-officedocument.wordprocessingml.document" ]; @@ -360,7 +361,7 @@ } }; - OCA.Onlyoffice.editorSetRevised = function(filePath) { + OCA.Onlyoffice.editorSetRevised = function (filePath) { $.get(OC.generateUrl("apps/" + OCA.Onlyoffice.AppName + "/ajax/url?filePath={filePath}", { filePath: filePath diff --git a/js/listener.js b/js/listener.js index 3f8a4d8..3a25edb 100644 --- a/js/listener.js +++ b/js/listener.js @@ -30,65 +30,19 @@ OCA.Onlyoffice = _.extend({ AppName: "onlyoffice", - context: null, - folderUrl: null, frameSelector: null, - canExpandHeader: true, }, OCA.Onlyoffice); - OCA.Onlyoffice.ShowHeaderButton = function () { - if (!OCA.Onlyoffice.canExpandHeader) { - return; - } - - var wrapper = $("<div id='onlyofficeHeader' />") - - var btnClose = $("<a class='icon icon-close-white'></a>"); - btnClose.on("click", function() { - OCA.Onlyoffice.CloseEditor(); - }); - wrapper.prepend(btnClose); - - if (!$("#isPublic").val()) { - var btnShare = $("<a class='icon icon-shared icon-white'></a>"); - btnShare.on("click", function () { - OCA.Onlyoffice.OpenShareDialog(); - }) - wrapper.prepend(btnShare); - } - - if (!$("#header .header-right").length) { - $("#header").append("<div class='header-right'></div>"); - } - wrapper.prependTo(".header-right"); - }; - - OCA.Onlyoffice.CloseEditor = function () { - $("body").removeClass("onlyoffice-inline"); + OCA.Onlyoffice.onRequestClose = function () { $(OCA.Onlyoffice.frameSelector).remove(); - $("#onlyofficeHeader").remove(); + if (OCA.Viewer && OCA.Viewer.close) { OCA.Viewer.close(); } - OCA.Onlyoffice.context = null; - - var url = OCA.Onlyoffice.folderUrl; - if (!!url) { - window.history.pushState(null, null, url); - OCA.Onlyoffice.folderUrl = null; - } - }; - - OCA.Onlyoffice.OpenShareDialog = function () { - if (OCA.Onlyoffice.context) { - if (!$("#app-sidebar").is(":visible")) { - OCA.Onlyoffice.context.fileList.showDetailsView(OCA.Onlyoffice.context.fileName, "shareTabView"); - OC.Apps.showAppSidebar(); - } else { - OC.Apps.hideAppSidebar(); - } + if (OCA.Onlyoffice.CloseEditor) { + OCA.Onlyoffice.CloseEditor(); } }; @@ -123,20 +77,24 @@ revisedMimes); }; - window.addEventListener("message", function(event) { + window.addEventListener("message", function (event) { if ($(OCA.Onlyoffice.frameSelector)[0].contentWindow !== event.source || !event.data["method"]) { return; } switch (event.data.method) { case "editorShowHeaderButton": - OCA.Onlyoffice.ShowHeaderButton(); + if (OCA.Onlyoffice.ShowHeaderButton) { + OCA.Onlyoffice.ShowHeaderButton(); + } break; case "editorRequestClose": - OCA.Onlyoffice.CloseEditor(); + OCA.Onlyoffice.onRequestClose(); break; case "editorRequestSharingSettings": - OCA.Onlyoffice.OpenShareDialog(); + if (OCA.Onlyoffice.OpenShareDialog) { + OCA.Onlyoffice.OpenShareDialog(); + } break; case "editorRequestSaveAs": OCA.Onlyoffice.onRequestSaveAs(event.data.param); @@ -116,6 +116,42 @@ } }; + OCA.Onlyoffice.ShowHeaderButton = function () { + var wrapper = $("<div id='onlyofficeHeader' />") + + var btnClose = $("<a class='icon icon-close-white'></a>"); + btnClose.on("click", function() { + OCA.Onlyoffice.CloseEditor(); + }); + wrapper.prepend(btnClose); + + if (!$("#isPublic").val()) { + var btnShare = $("<a class='icon icon-shared icon-white'></a>"); + btnShare.on("click", function () { + OCA.Onlyoffice.OpenShareDialog(); + }) + wrapper.prepend(btnShare); + } + + if (!$("#header .header-right").length) { + $("#header").append("<div class='header-right'></div>"); + } + wrapper.prependTo(".header-right"); + }; + + OCA.Onlyoffice.CloseEditor = function () { + $("body").removeClass("onlyoffice-inline"); + $("#onlyofficeHeader").remove(); + + OCA.Onlyoffice.context = null; + + var url = OCA.Onlyoffice.folderUrl; + if (!!url) { + window.history.pushState(null, null, url); + OCA.Onlyoffice.folderUrl = null; + } + }; + OCA.Onlyoffice.OpenShareDialog = function () { if (OCA.Onlyoffice.context) { if (!$("#app-sidebar").is(":visible")) { @@ -187,7 +223,7 @@ return; } - var register = function() { + var register = function () { var formats = OCA.Onlyoffice.setting.formats; $.each(formats, function (ext, config) { @@ -277,7 +313,7 @@ var fileName = $("#filename").val(); var extension = getFileExtension(fileName); - var initSharedButton = function() { + var initSharedButton = function () { var formats = OCA.Onlyoffice.setting.formats; var config = formats[extension]; diff --git a/js/settings.js b/js/settings.js index adaf52f..fe41d2b 100644 --- a/js/settings.js +++ b/js/settings.js @@ -61,7 +61,7 @@ $("#onlyofficeGroups").click(groupListToggle); groupListToggle(); - var demoToggle = function() { + var demoToggle = function () { $("#onlyofficeAddrSettings input:not(#onlyofficeStorageUrl)").prop("disabled", $("#onlyofficeDemo").prop("checked")); }; @@ -87,14 +87,14 @@ "allTags", "linkTags", ]; - $.each(watermarkLists, function(i, watermarkList) { - var watermarkListToggle = function() { + $.each(watermarkLists, function (i, watermarkList) { + var watermarkListToggle = function () { if ($("#onlyofficeWatermark_" + watermarkList).prop("checked")) { if (watermarkList.indexOf("Group") >= 0) { OC.Settings.setupGroupsSelect($("#onlyofficeWatermark_" + watermarkList + "List")); } else { OC.SystemTags.collection.fetch({ - success: function() { + success: function () { $("#onlyofficeWatermark_" + watermarkList + "List").select2({ allowClear: true, closeOnSelect: false, @@ -102,13 +102,13 @@ separator: "|", toggleSelect: true, placeholder: t(OCA.Onlyoffice.AppName, "Select tag"), - query: _.debounce(function(query) { + query: _.debounce(function (query) { query.callback({ results: OC.SystemTags.collection.filterByName(query.term) }); }, 100, true), - initSelection: function(element, callback) { - var selection = ($(element).val() || []).split("|").map(function(tagId){ + initSelection: function (element, callback) { + var selection = ($(element).val() || []).split("|").map(function (tagId) { return OC.SystemTags.collection.get(tagId); }); callback(selection); @@ -119,8 +119,8 @@ formatSelection: function (tag) { return tag.get("name"); }, - sortResults: function(results) { - results.sort(function(a, b) { + sortResults: function (results) { + results.sort(function (a, b) { return OC.Util.naturalSortCompare(a.get("name"), b.get("name")); }); return results; @@ -188,12 +188,12 @@ $(".section-onlyoffice").addClass("icon-loading"); var defFormats = {}; - $("input[id^=\"onlyofficeDefFormat\"]").each(function() { + $("input[id^=\"onlyofficeDefFormat\"]").each(function () { defFormats[this.name] = this.checked; }); var editFormats = {}; - $("input[id^=\"onlyofficeEditFormat\"]").each(function() { + $("input[id^=\"onlyofficeEditFormat\"]").each(function () { editFormats[this.name] = this.checked; }); diff --git a/js/viewer.js b/js/viewer.js index 183a8e3..ca5f8da 100644 --- a/js/viewer.js +++ b/js/viewer.js @@ -67,7 +67,7 @@ src: self.url + "&inframe=true", }, on: { - load: function() { + load: function () { self.doneLoading(); }, }, @@ -96,13 +96,11 @@ var initPage = function () { if (OCA.Viewer) { - OCA.Onlyoffice.canExpandHeader = false; - OCA.Onlyoffice.frameSelector = "#onlyofficeViewerFrame"; - OCA.Onlyoffice.GetSettings(function(){ + OCA.Onlyoffice.GetSettings(function () { - var mimes = $.map(OCA.Onlyoffice.setting.formats, function(format) { + var mimes = $.map(OCA.Onlyoffice.setting.formats, function (format) { return format.mime; }); diff --git a/lib/directeditor.php b/lib/directeditor.php index 33cea55..aa8cabe 100644 --- a/lib/directeditor.php +++ b/lib/directeditor.php @@ -262,7 +262,7 @@ class DirectEditor implements IEditor { return $response; } catch (\Exception $e) { - $this->logger->logException($e, ["DirectEditor open", "app" => $this->appName]); + $this->logger->logException($e, ["message" => "DirectEditor open", "app" => $this->appName]); return $this->renderError($e->getMessage()); } } diff --git a/lib/filecreator.php b/lib/filecreator.php index 8cf2d21..3c6e23e 100644 --- a/lib/filecreator.php +++ b/lib/filecreator.php @@ -156,7 +156,7 @@ class FileCreator extends ACreateEmpty { try { $file->putContent($template); } catch (NotPermittedException $e) { - $this->logger->logException($e, ["FileCreator: Can't create file: $fileName", "app" => $this->appName]); + $this->logger->logException($e, ["message" => "FileCreator: Can't create file: $fileName", "app" => $this->appName]); } } } diff --git a/lib/fileutility.php b/lib/fileutility.php index ada72a4..dd0edbc 100644 --- a/lib/fileutility.php +++ b/lib/fileutility.php @@ -133,7 +133,7 @@ class FileUtility { try { $files = $node->getById($fileId); } catch (\Exception $e) { - $this->logger->logException($e, ["getFileByToken: $fileId", "app" => $this->appName]); + $this->logger->logException($e, ["message" => "getFileByToken: $fileId", "app" => $this->appName]); return [null, $this->trans->t("Invalid request"), null]; } @@ -146,7 +146,7 @@ class FileUtility { try { $file = $node->get($path); } catch (\Exception $e) { - $this->logger->logException($e, ["getFileByToken for path: $path", "app" => $this->appName]); + $this->logger->logException($e, ["message" => "getFileByToken for path: $path", "app" => $this->appName]); return [null, $this->trans->t("Invalid request"), null]; } } @@ -178,7 +178,7 @@ class FileUtility { try { $node = $share->getNode(); } catch (NotFoundException $e) { - $this->logger->logException($e, ["getNodeByToken error", "app" => $this->appName]); + $this->logger->logException($e, ["message" => "getNodeByToken error", "app" => $this->appName]); return [null, $this->trans->t("File not found"), null]; } @@ -201,7 +201,7 @@ class FileUtility { try { $share = $this->shareManager->getShareByToken($shareToken); } catch (ShareNotFound $e) { - $this->logger->logException($e, ["getShare error", "app" => $this->appName]); + $this->logger->logException($e, ["message" => "getShare error", "app" => $this->appName]); $share = null; } @@ -237,7 +237,7 @@ class FileUtility { return $key; } } catch (\Exception $e) { - $this->logger->logException($e, ["Failed to request federated key " . $file->getId(), "app" => $this->appName]); + $this->logger->logException($e, ["message" => "Failed to request federated key " . $file->getId(), "app" => $this->appName]); } } |