],
]
-You can change 4 more configuration variables for the addon in the `config/piwik.config.php` file:
+You can change 5 more configuration variables for the addon in the `config/piwik.config.php` file:
return [
'piwik' => [
'sideid' => 1,
'optout' => true,
'async' => false,
+ 'shortendpoint' => false,
],
];
* The *optout* parameter (true|false) defines whether or not a short notice about the utilization of Piwik will be displayed on every page of your Friendica site (at the bottom of the page with some spacing to the
other content). Part of the note is a link that allows the visitor to set an _opt-out_ cookie which will prevent visits from that user be tracked by piwik.
* The *async* parameter (true|false) defines whether or not to use asynchronous tracking so pages load (or appear to load) faster.
-
+* The *shortendpoint* parameter (true|false) defines whether or not to use a short path to the tracking script: "/js/" instead of "/piwik.js".
Currently the optional notice states the following:
> This website is tracked using the Piwik analytics tool. If you do not want that your visits are logged this way you can set a cookie to prevent Piwik from tracking further visits of the site (opt-out).
"Language: en_GB\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: piwik.php:94
+#: piwik.php:95
msgid ""
"This website is tracked using the <a href='http://www.matomo.org'>Matomo</a>"
" analytics tool."
msgstr "This website is tracking, using the <a href='http://www.matomo.org'>Matomo</a> analytics tool."
-#: piwik.php:97
+#: piwik.php:98
#, php-format
msgid ""
"If you do not want that your visits are logged in this way you <a "
"visits of the site</a> (opt-out)."
msgstr "If you do not want that your visits logged in this way you <a href='%s'>can set a cookie to prevent Matomo / Piwik from tracking further visits of the site</a> (opt-out)."
-#: piwik.php:104
+#: piwik.php:107
msgid "Save Settings"
msgstr "Save settings"
-#: piwik.php:105
+#: piwik.php:108
msgid "Matomo (Piwik) Base URL"
msgstr "Matomo (Piwik) Base URL"
-#: piwik.php:105
+#: piwik.php:108
msgid ""
"Absolute path to your Matomo (Piwik) installation. (without protocol "
"(http/s), with trailing slash)"
msgstr "Absolute path to your Matomo (Piwik) installation. (without protocol (http/s), with trailing slash)"
-#: piwik.php:106
+#: piwik.php:109
msgid "Site ID"
msgstr "Site ID"
-#: piwik.php:107
+#: piwik.php:110
msgid "Show opt-out cookie link?"
msgstr "Show opt-out cookie link?"
-#: piwik.php:108
+#: piwik.php:111
msgid "Asynchronous tracking"
msgstr "Asynchronous tracking"
+#: piwik.php:112
+msgid "Shortcut path to the script ('/js/' instead of '/piwik.js')"
+msgstr "Shortcut path to the script ('/js/' instead of '/piwik.js')"
+
#: piwik.php:120
msgid "Settings updated."
-msgstr "Settings updated."
+msgstr "Settings updated."
\ No newline at end of file
* 'sideid' => '',
* 'optout' => true,
* 'async' => false,
+ * 'shortendpoint' => false,
* ],
* ];
*
* associated CSS file. We just have to tell Friendica to get it
* into the page header.
*/
- DI::page()['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="' . DI::baseUrl() . '/addon/piwik/piwik.css' . '" media="all" />';
+ DI::page()->registerStylesheet('addon/piwik/piwik.css', 'all');
/*
* Get the configuration values.
$siteid = DI::config()->get('piwik', 'siteid');
$optout = DI::config()->get('piwik', 'optout');
$async = DI::config()->get('piwik', 'async');
+ $shortendpoint = DI::config()->get('piwik', 'shortendpoint');
/*
* Add the Piwik tracking code for the site.
* If async is set to true use asynchronous tracking
*/
+
+ $scriptAsyncValue = $async ? 'true' : 'false';
+ $scriptPhpEndpoint = $shortendpoint ? 'js/' : 'piwik.php';
+ $scriptJsEndpoint = $shortendpoint ? 'js/' : 'piwik.js';
+
+ $b .= "<!-- Piwik --> <script type=\"text/javascript\"> var _paq = _paq || []; _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u=((\"https:\" == document.location.protocol) ? \"https\" : \"http\") + \"://$baseurl\"; _paq.push(['setTrackerUrl', u+'$scriptPhpEndpoint']); _paq.push(['setSiteId', $siteid]); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript'; g.defer=true; g.async=$scriptAsyncValue; g.src=u+'$scriptJsEndpoint'; s.parentNode.insertBefore(g,s); })(); </script> <!-- End Piwik Code -->\r\n";
+
if ($async) {
- $b .= "<!-- Piwik --> <script type=\"text/javascript\"> var _paq = _paq || []; _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u=((\"https:\" == document.location.protocol) ? \"https\" : \"http\") + \"://".$baseurl."\"; _paq.push(['setTrackerUrl', u+'piwik.php']); _paq.push(['setSiteId', ".$siteid."]); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript'; g.defer=true; g.async=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s); })(); </script> <!-- End Piwik Code -->\r\n";
- $b .= "<div id='piwik-code-block'> <!-- Piwik -->\r\n<noscript><p><img src=\"//".$baseurl."piwik.php?idsite=".$siteid."\" style=\"border:0\" alt=\"\" /></p></noscript>\r\n <!-- End Piwik Tracking Tag --> </div>";
- } else {
- $b .= "<!-- Piwik --> <script type=\"text/javascript\"> var _paq = _paq || []; _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u=((\"https:\" == document.location.protocol) ? \"https\" : \"http\") + \"://".$baseurl."\"; _paq.push(['setTrackerUrl', u+'piwik.php']); _paq.push(['setSiteId', ".$siteid."]); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript'; g.defer=true; g.async=false; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s); })(); </script> <!-- End Piwik Code -->\r\n";
+ $b .= "<div id='piwik-code-block'> <!-- Piwik -->\r\n<noscript><p><img src=\"//$baseurl$scriptPhpEndpoint?idsite=$siteid\" style=\"border:0\" alt=\"\" /></p></noscript>\r\n <!-- End Piwik Tracking Tag --> </div>";
}
/*
$b .= "<div id='piwik-optout-link'>";
$b .= DI::l10n()->t("This website is tracked using the <a href='http://www.matomo.org'>Matomo</a> analytics tool.");
$b .= " ";
- $the_url = "http://".$baseurl ."index.php?module=CoreAdminHome&action=optOut";
+ $the_url = "http://{$baseurl}index.php?module=CoreAdminHome&action=optOut";
$b .= DI::l10n()->t("If you do not want that your visits are logged in this way you <a href='%s'>can set a cookie to prevent Matomo / Piwik from tracking further visits of the site</a> (opt-out).", $the_url);
$b .= "</div>";
}
'$siteid' => ['siteid', DI::l10n()->t('Site ID'), DI::config()->get('piwik','siteid' ), ''],
'$optout' => ['optout', DI::l10n()->t('Show opt-out cookie link?'), DI::config()->get('piwik','optout' ), ''],
'$async' => ['async', DI::l10n()->t('Asynchronous tracking'), DI::config()->get('piwik','async' ), ''],
+ '$shortendpoint' => ['shortendpoint', DI::l10n()->t("Shortcut path to the script ('/js/' instead of '/piwik.js')"), DI::config()->get('piwik','shortendpoint' ), ''],
]);
}
DI::config()->set('piwik', 'siteid', trim($_POST['siteid'] ?? ''));
DI::config()->set('piwik', 'optout', trim($_POST['optout'] ?? ''));
DI::config()->set('piwik', 'async', trim($_POST['async'] ?? ''));
+ DI::config()->set('piwik', 'shortendpoint', trim($_POST['shortendpoint'] ?? ''));
}