*/ class action_plugin_umami_tracker extends ActionPlugin { /** @inheritDoc */ public function register(EventHandler $controller) { $controller->register_hook('TPL_METAHEADER_OUTPUT', 'BEFORE', $this, 'injectUmamiScript'); } /** * Event handler for TPL_METAHEADER_OUTPUT * * @see https://www.dokuwiki.org/devel:events:TPL_METAHEADER_OUTPUT * @param Event $event Event object * @param mixed $param optional parameter passed when event was registered * @return void */ public function injectUmamiScript(Doku_Event $event, $param) { $src = $this->getConf('script_src'); $websiteId = $this->getConf('website_id'); if (empty($src) || empty($websiteId)) return; $event->data['script'][] = [ 'type' => 'text/javascript', 'src' => $src, 'data-website-id' => $websiteId, 'defer' => 'defer', 'async' => 'async' ]; } }