diff options
Diffstat (limited to 'lib/listeners/fileslistener.php')
-rw-r--r-- | lib/listeners/fileslistener.php | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/lib/listeners/fileslistener.php b/lib/listeners/fileslistener.php index 042f4de..90a69f3 100644 --- a/lib/listeners/fileslistener.php +++ b/lib/listeners/fileslistener.php @@ -22,10 +22,13 @@ namespace OCA\Onlyoffice\Listeners; use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventListener; use OCP\Util; +use OCP\AppFramework\Services\IInitialState; +use OCP\IServerContainer; use OCA\Files\Event\LoadAdditionalScriptsEvent; use OCA\Onlyoffice\AppConfig; +use OCA\Onlyoffice\SettingsData; /** * File listener @@ -40,10 +43,30 @@ class FilesListener implements IEventListener { private $appConfig; /** + * Initial state + * + * @var IInitialState + */ + private $initialState; + + /** + * Server container + * + * @var IServerContainer + */ + private $serverContainer; + + /** * @param AppConfig $config - application configuration + * @param IInitialState $initialState - initial state + * @param IServerContainer $serverContainer - server container */ - public function __construct(AppConfig $appConfig) { + public function __construct(AppConfig $appConfig, + IInitialState $initialState, + IServerContainer $serverContainer) { $this->appConfig = $appConfig; + $this->initialState = $initialState; + $this->serverContainer = $serverContainer; } public function handle(Event $event): void { @@ -63,6 +86,17 @@ class FilesListener implements IEventListener { Util::addScript("onlyoffice", "listener"); } + if ($this->appConfig->GetAdvanced() + && \OC::$server->getAppManager()->isInstalled("files_sharing")) { + Util::addScript("onlyoffice", "share"); + Util::addStyle("onlyoffice", "share"); + } + + $container = $this->serverContainer; + $this->initialState->provideLazyInitialState("settings", function () use ($container) { + return $container->query(SettingsData::class); + }); + Util::addStyle("onlyoffice", "main"); Util::addStyle("onlyoffice", "template"); } |