1<?php 2 3use dokuwiki\Extension\ActionPlugin; 4use dokuwiki\Extension\EventHandler; 5use dokuwiki\Extension\Event; 6 7/** 8 * DokuWiki Plugin networkgraph (Action Component) 9 * 10 * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html 11 * @author Feralheart <dokuwiki@feralheart.dev> 12 */ 13class action_plugin_networkgraph_injecter extends ActionPlugin 14{ 15 /** @inheritDoc */ 16 public function register(EventHandler $controller) 17 { 18 $controller->register_hook('TPL_METAHEADER_OUTPUT', 'BEFORE', $this, 'handleTplMetaheaderOutput'); 19 } 20 21 /** 22 * Event handler for TPL_METAHEADER_OUTPUT 23 * 24 * @see https://www.dokuwiki.org/devel:events:TPL_METAHEADER_OUTPUT 25 * @param Event $event Event object 26 * @param mixed $param optional parameter passed when event was registered 27 * @return void 28 */ 29 public function handleTplMetaheaderOutput(Event $event, $param) 30 { 31 $pluginBase = DOKU_BASE . 'lib/plugins/networkgraph/'; 32 33 $event->data['script'][] = [ 34 'type' => 'text/javascript', 35 'src' => 'https://d3js.org/d3.v7.min.js', 36 ]; 37 38 $event->data['script'][] = [ 39 'type' => 'text/javascript', 40 'src' => $pluginBase . 'script.js', 41 ]; 42 43 $event->data['link'][] = array( 44 'type' => 'text/css', 45 'rel' => 'stylesheet', 46 'href' => $pluginBase . '/css/style.css', 47 ); 48 } 49} 50