diff options
author | Sergey Linnik <sergey.linnik@onlyoffice.com> | 2020-06-10 16:38:37 +0300 |
---|---|---|
committer | Sergey Linnik <sergey.linnik@onlyoffice.com> | 2020-06-22 13:40:18 +0300 |
commit | 45f216ae5cd3ed7b1a9802fba9dcdc10c43aaabd (patch) | |
tree | 65f533a2dc1bef0375430a3f2be45bde1650f9f0 /appinfo/application.php | |
parent | 2a253e31ea19b4772381baa56bdd8558d741d846 (diff) |
integration to viewer
Diffstat (limited to 'appinfo/application.php')
-rw-r--r-- | appinfo/application.php | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/appinfo/application.php b/appinfo/application.php index f35aff6..ebe7595 100644 --- a/appinfo/application.php +++ b/appinfo/application.php @@ -30,9 +30,12 @@ namespace OCA\Onlyoffice\AppInfo; use OCP\AppFramework\App; +use OCP\AppFramework\Http\ContentSecurityPolicy; use OCP\DirectEditing\RegisterDirectEditorEvent; use OCP\Util; +use OCA\Viewer\Event\LoadViewer; + use OCA\Onlyoffice\AppConfig; use OCA\Onlyoffice\Controller\CallbackController; use OCA\Onlyoffice\Controller\EditorController; @@ -82,6 +85,25 @@ class Application extends App { } }); + if (class_exists(LoadViewer::class)) { + $eventDispatcher->addListener(LoadViewer::class, + function() { + if (!empty($this->appConfig->GetDocumentServerUrl()) + && $this->appConfig->SettingsAreSuccessful() + && $this->appConfig->isUserAllowedToUse()) { + Util::addScript("onlyoffice", "viewer"); + Util::addScript("onlyoffice", "listener"); + + Util::addStyle("onlyoffice", "viewer"); + + $csp = new ContentSecurityPolicy(); + $csp->addAllowedFrameDomain("'self'"); + $cspManager = $this->getContainer()->getServer()->getContentSecurityPolicyManager(); + $cspManager->addDefaultPolicy($csp); + } + }); + } + $eventDispatcher->addListener("OCA\Files_Sharing::loadAdditionalScripts", function() { if (!empty($this->appConfig->GetDocumentServerUrl()) |