16 import(
'lib.pkp.classes.plugins.GenericPlugin');
22 function register($category, $path, $mainContextId =
null) {
23 $success = parent::register($category, $path, $mainContextId);
24 if (!
Config::getVar(
'general',
'installed') || defined(
'RUNNING_UPGRADE'))
return true;
38 return __(
'plugins.generic.piwik.displayName');
46 return __(
'plugins.generic.piwik.description');
54 import(
'lib.pkp.classes.linkAction.request.AjaxModal');
60 $router->url(
$request,
null,
null,
'manage',
null, array(
'verb' =>
'settings',
'plugin' => $this->
getName(),
'category' =>
'generic')),
63 __(
'manager.plugins.settings'),
75 switch (
$request->getUserVar(
'verb')) {
82 $this->
import(
'PiwikSettingsForm');
86 $form->readInputData();
87 if ($form->validate()) {
96 return parent::manage($args,
$request);
107 if (!$context)
return false;
109 if (!is_a($router,
'PKPPageRouter'))
return false;
111 $piwikSiteId = $this->
getSetting($context->getId(),
'piwikSiteId');
112 $piwikUrl = $this->
getSetting($context->getId(),
'piwikUrl');
113 $piwikRelativeUrl = preg_replace(
'/^https?:/',
'', rtrim($piwikUrl,
'/')) .
'/';
114 if (empty($piwikSiteId) || empty($piwikUrl))
return false;
116 $contextPath = $context->getPath();
119 var _paq = _paq || [];
120 _paq.push([
'trackPageView']);
121 _paq.push([
'enableLinkTracking']);
123 var u=
"{$piwikRelativeUrl}";
124 _paq.push([
'setTrackerUrl', u+
'piwik.php']);
125 _paq.push([
'setSiteId', {$piwikSiteId}]);
126 _paq.push([
'setDocumentTitle',
"{$contextPath}"]);
127 var d=document, g=d.createElement(
'script'), s=d.getElementsByTagName(
'script')[0];
128 g.type=
'text/javascript'; g.async=
true; g.defer=
true; g.src=u+
'piwik.js'; s.parentNode.insertBefore(g,s);
133 $templateMgr->addJavaScript(
137 'priority' => STYLE_SEQUENCE_LAST,