mirror of
https://github.com/Findus23/plugin-IgnoreDNTEnabledByDefault.git
synced 2024-08-27 19:52:17 +02:00
initial version
This commit is contained in:
commit
7183ebdd97
4 changed files with 101 additions and 0 deletions
5
CHANGELOG.md
Normal file
5
CHANGELOG.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
## Changelog
|
||||
|
||||
### 0.1.0
|
||||
|
||||
initial version
|
61
IgnoreDNTEnabledByDefault.php
Normal file
61
IgnoreDNTEnabledByDefault.php
Normal file
|
@ -0,0 +1,61 @@
|
|||
<?php
|
||||
/**
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*/
|
||||
|
||||
namespace Piwik\Plugins\IgnoreDNTEnabledByDefault;
|
||||
|
||||
use Piwik\Tracker\Request;
|
||||
|
||||
class IgnoreDNTEnabledByDefault extends \Piwik\Plugin
|
||||
{
|
||||
public function registerEvents() {
|
||||
return array(
|
||||
'PrivacyManager.shouldIgnoreDnt' => 'handleDNTHeader'
|
||||
);
|
||||
}
|
||||
|
||||
public function isTrackerPlugin() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public function handleDNTHeader(&$shouldIgnore) {
|
||||
$shouldIgnore = $this->isUserAgentWithDoNotTrackAlwaysEnabled();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function isUserAgentWithDoNotTrackAlwaysEnabled() {
|
||||
$request = new Request($_REQUEST);
|
||||
$userAgent = $request->getUserAgent();
|
||||
$browsersWithDnt = $this->getBrowsersWithDNTAlwaysEnabled();
|
||||
foreach ($browsersWithDnt as $userAgentBrowserFragment) {
|
||||
if (stripos($userAgent, $userAgentBrowserFragment) !== false) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Some browsers have DNT enabled by default. For those we will ignore DNT and always track those users.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected function getBrowsersWithDNTAlwaysEnabled() {
|
||||
return array(
|
||||
// IE
|
||||
'MSIE',
|
||||
'Trident',
|
||||
// Maxthon
|
||||
'Maxthon',
|
||||
|
||||
// Epiphany - https://github.com/matomo-org/matomo/issues/8682
|
||||
'Epiphany',
|
||||
);
|
||||
}
|
||||
}
|
7
README.md
Normal file
7
README.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
# Matomo IgnoreDNTByDefault Plugin
|
||||
|
||||
## Description
|
||||
|
||||
Before 3.9.0 Matomo ignored the DoNotTrack setting in Internet Explorer, Maxthon and Epiphany as these browsers have enabled it by default without any interaction by users.
|
||||
|
||||
If a significant fraction of your website vistors use these browsers and are missing in your reports because of this change, you can install this plugin to restore the old behaviour.
|
28
plugin.json
Normal file
28
plugin.json
Normal file
|
@ -0,0 +1,28 @@
|
|||
{
|
||||
"name": "IgnoreDNTEnabledByDefault",
|
||||
"description": "restore the behaviour of Matomo <=3.8.0",
|
||||
"version": "0.1.0",
|
||||
"theme": false,
|
||||
"require": {
|
||||
"piwik": ">=3.9.0,<4.0.0-b1"
|
||||
},
|
||||
"authors": [
|
||||
{
|
||||
"name": "Lukas Winkler",
|
||||
"email": "lukas@matomo.org",
|
||||
"homepage": "https://lw1.at"
|
||||
}
|
||||
],
|
||||
"support": {
|
||||
"email": "lukas@matomo.org",
|
||||
"issues": "https://github.com/Findus23/plugin-IgnoreDNTEnabledByDefault/issues",
|
||||
"forum": "https://forum.matomo.org",
|
||||
"source": "https://github.com/Findus23/plugin-IgnoreDNTEnabledByDefault"
|
||||
},
|
||||
"homepage": "https://matomo.org",
|
||||
"license": "GPL v3+",
|
||||
"keywords": [
|
||||
"privacy",
|
||||
"donottrack"
|
||||
]
|
||||
}
|
Loading…
Reference in a new issue