1d10bec37SAlexander Lehmann<?php 2d10bec37SAlexander Lehmann 323640bc3SAlexander Lehmannuse dokuwiki\Extension\ActionPlugin; 423640bc3SAlexander Lehmannuse dokuwiki\Extension\EventHandler; 523640bc3SAlexander Lehmann 623640bc3SAlexander Lehmannclass action_plugin_piwiktagmanager extends ActionPlugin 765120627SAlexander Lehmann{ 865120627SAlexander Lehmann public const PWTMID = 'PWTMID'; 965120627SAlexander Lehmann public const PWTMHOST = 'PWTMHOST'; 10d10bec37SAlexander Lehmann 11d10bec37SAlexander Lehmann /** 12d10bec37SAlexander Lehmann * Register its handlers with the DokuWiki's event controller 13d10bec37SAlexander Lehmann */ 1423640bc3SAlexander Lehmann public function register(EventHandler $controller) 1565120627SAlexander Lehmann { 1665120627SAlexander Lehmann $controller->register_hook('TPL_METAHEADER_OUTPUT', 'BEFORE', $this, 'addHeaders'); 17d10bec37SAlexander Lehmann } 18d10bec37SAlexander Lehmann 19f3b28a6eSAlexander Lehmann public function addHeaders(&$event, $param) 2065120627SAlexander Lehmann { 21*62ddacc3SAlexander Lehmann $host = $this->getConf(self::PWTMHOST); 22*62ddacc3SAlexander Lehmann $id = $this->getConf(self::PWTMID); 23d10bec37SAlexander Lehmann 24*62ddacc3SAlexander Lehmann if (!$host || !$id) return; 25d10bec37SAlexander Lehmann 26*62ddacc3SAlexander Lehmann $event->data['script'][] = ['type' => 'text/javascript', '_data' => <<<EOT 27d10bec37SAlexander Lehmann var _mtm = window._mtm = window._mtm || []; 28d10bec37SAlexander Lehmann _mtm.push({'mtm.startTime': (new Date().getTime()), 'event': 'mtm.Start'}); 29d10bec37SAlexander Lehmann (function() { 30d10bec37SAlexander Lehmann var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; 31*62ddacc3SAlexander Lehmann g.async=true; g.src='https://{$host}/piwik/js/container_{$id}.js'; s.parentNode.insertBefore(g,s); 32*62ddacc3SAlexander Lehmann })(); 33*62ddacc3SAlexander Lehmann EOT 34*62ddacc3SAlexander Lehmann ]; 35d10bec37SAlexander Lehmann } 36d10bec37SAlexander Lehmann} 37