friendica-addons-sekb/piwik
Paul Saunders b9207f7e48
Hook::register has changed API
`Hook::register` now takes a string as the second parameter, not an array. Without this change Friendica fails to start, with errors such as:
```
2022-11-07T11:40:20Z index [ERROR]: Uncaught Exception TypeError: "Argument 2 passed to piwik_analytics() must be of the type array, string given, called in /var/www/html/src/Core/Hook.php on line 223" at /var/www/html/addon/piwik/piwik.php line 53 {"exception":"TypeError: Argument 2 passed to piwik_analytics() must be of the type array, string given, called in /var/www/html/src/Core/Hook.php on line 223 and defined in /var/www/html/addon/piwik/piwik.php:53\nStack trace:\n#0 /var/www/html/src/Core/Hook.php(223): piwik_analytics(Object(Friendica\\App), '<h1><img width=...')\n#1 /var/www/html/src/Core/Hook.php(198): Friendica\\Core\\Hook::callSingle(Object(Friendica\\App), 'page_end', Array, '<h1><img width=...')\n#2 /var/www/html/src/App/Page.php(493): Friendica\\Core\\Hook::callAll('page_end', '<h1><img width=...')\n#3 /var/www/html/src/App.php(722): Friendica\\App\\Page->run(Object(Friendica\\App), Object(Friendica\\App\\BaseURL), Object(Friendica\\App\\Arguments), Object(Friendica\\App\\Mode), Object(GuzzleHttp\\Psr7\\Response), Object(Friendica\\Core\\L10n), Object(Friendica\\Util\\Profiler), Object(Friendica\\Core\\Config\\Type\\JitConfig), Object(Friendica\\Core\\PConfig\\Type\\JitPConfig))\n#4 /var/www/html/index.php(44): Friendica\\App->runFrontend(Object(Friendica\\App\\Router), Object(Friendica\\Core\\PConfig\\Type\\JitPConfig), Object(Friendica\\Security\\Authentication), Object(Friendica\\App\\Page), Object(Friendica\\Util\\HTTPInputData), 1667821218.5153)\n#5 {main}"} - {"file":null,"line":null,"function":null,"uid":"73d499","process_id":52}
```
2022-11-07 11:42:31 +00:00
..
config [piwik] Update config file style/name 2018-11-25 02:15:18 -05:00
lang FR translation of various addons updated 2022-08-19 19:37:09 +02:00
templates Piwik addon, baseurl as variable name has problems with Friendica 2016-07-28 16:32:05 +02:00
LICENSE added LICENSE file 2013-06-01 17:35:06 +02:00
piwik.css some files were executable, now they are not 2017-12-07 14:26:26 +01:00
piwik.php Hook::register has changed API 2022-11-07 11:42:31 +00:00
README.md piwik is called matomo nowadays 2019-02-19 07:21:05 +01:00

Matomo / Piwik Addon

by Tobias Diekershoff and Klaus Weidenbach

This addon allows you to embed the code necessary for the FLOSS webanalytics tool Matomo (formerly known as Piwik) into the Friendica pages.

Requirements

To use this addon you need a Matomo installation.

Where to find

In the Friendica addon git repository /piwik/piwik.php and a CSS file for styling the opt-out notice.

Configuration

The easiest way to configure this addon is by activating the admin panels of your ~friendica server and then enter the needed details on the config page for the addon.

If you don't want to use the admin panel, you can configure the addon through the config/local.config.php file.

Open the config/local.config.php file and add "piwik" to the list of activated addons.

'system' => [
    ...
    'addon' => '...,piwik'
    ...
]

You can change 4 more configuration variables for the addon in the config/addon.config.php file:

'piwik' => [
    'baseurl' => 'example.com/piwik/',
    'sideid' => 1,
    'optout' => true,
    'async' => false,
],

Configuration fields

  • The baseurl points to your Piwik installation. Use the absolute path, remember trailing slashes but ignore the protocol (http/s) part of the URL.
  • Change the sideid parameter to whatever ID you want to use for tracking your Friendica installation.
  • 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.

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).

License

The Piwik addon is licensed under the 3-clause BSD license see the LICENSE file in the addons directory.