*/ class action_plugin_fulldisplay extends ActionPlugin { /** @inheritDoc */ public function register(EventHandler $controller) { $controller->register_hook('MENU_ITEMS_ASSEMBLY', 'AFTER', $this, 'handleMenuItemsAssemblyEvent', null, 300); $controller->register_hook('DOKUWIKI_STARTED', 'AFTER', $this, 'handleDokuwikiStartedEvent'); } /** * Event handler for MENU_ITEMS_ASSEMBLY * * @see https://www.dokuwiki.org/devel:events:MENU_ITEMS_ASSEMBLY * @param Event $event Event object * @param mixed $param optional parameter passed when event was registered * @return void */ public function handleMenuItemsAssemblyEvent(Event $event, $param) { if ($event->data['view'] !== 'page') { return; } array_splice($event->data['items'], -1, 0, [new MenuItem()]); } /** * Event handler for DOKUWIKI_STARTED * * @see https://www.dokuwiki.org/devel:events:DOKUWIKI_STARTED * @param Event $event Event object * @param mixed $param optional parameter passed when event was registered * @return void */ public function handleDokuwikiStartedEvent(Event $event, $param) { global $JSINFO; $JSINFO['fulldisplay'] = [ 'pageSelector' => $this->getConf('pageSelector'), 'zoom' => $this->getConf('zoom'), 'refresh' => $this->getConf('refresh'), ]; } }