"boolean", "document_server_url" => "text", "jwt_secret" => "text" ] ); } /** * Create OnlyofficePlugin object */ public static function create(): OnlyofficePlugin { static $result = null; return $result ?: $result = new self(); } /** * This method install the plugin tables. */ public function install() { $this->installHook(); } /** * This method drops the plugin tables. */ public function uninstall() { $this->uninstallHook(); } /** * Install the "create" hooks. */ public function installHook() { $itemActionObserver = OnlyofficeItemActionObserver::create(); HookDocumentItemAction::create()->attach($itemActionObserver); $actionObserver = OnlyofficeActionObserver::create(); HookDocumentAction::create()->attach($actionObserver); $viewObserver = OnlyofficeItemViewObserver::create(); HookDocumentItemView::create()->attach($viewObserver); } /** * Uninstall the "create" hooks. */ public function uninstallHook() { $itemActionObserver = OnlyofficeItemActionObserver::create(); HookDocumentItemAction::create()->detach($itemActionObserver); $actionObserver = OnlyofficeActionObserver::create(); HookDocumentAction::create()->detach($actionObserver); $viewObserver = OnlyofficeItemViewObserver::create(); HookDocumentItemView::create()->detach($viewObserver); } }