PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / trunk
Matomo Analytics – Powerful, Privacy-First Insights for WordPress vtrunk
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / js / tracker.php
matomo / app / js Last commit date
.htaccess 2 years ago LICENSE.txt 6 years ago README.md 2 years ago index.php 2 years ago piwik.min.js 3 months ago tracker.php 1 year ago
tracker.php
91 lines
1 <?php
2
3 /**
4 * Matomo - free/libre analytics platform
5 *
6 * @link https://matomo.org
7 * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
8 */
9
10 use Piwik\ProxyHttp;
11
12 /**
13 * Tracker proxy
14 */
15 if ($_SERVER['REQUEST_METHOD'] == 'POST'
16 || !empty($_SERVER['QUERY_STRING'])
17 ) {
18 include '../piwik.php';
19 exit;
20 }
21
22 /**
23 * piwik.js proxy
24 *
25 * @see core/Piwik.php
26 */
27 define('PIWIK_DOCUMENT_ROOT', '..');
28
29 // ensure errors are not printed
30 ini_set('display_errors', 0);
31
32 if (file_exists(PIWIK_DOCUMENT_ROOT . '/bootstrap.php')) {
33 require_once PIWIK_DOCUMENT_ROOT . '/bootstrap.php';
34 }
35
36 if (!defined('PIWIK_INCLUDE_PATH')) {
37 define('PIWIK_INCLUDE_PATH', PIWIK_DOCUMENT_ROOT);
38 }
39
40 if (!defined('PIWIK_USER_PATH')) {
41 define('PIWIK_USER_PATH', PIWIK_DOCUMENT_ROOT);
42 }
43
44 require_once PIWIK_INCLUDE_PATH . '/libs/upgradephp/upgrade.php';
45
46 if (is_dir(PIWIK_INCLUDE_PATH . '/vendor')) {
47 define('PIWIK_VENDOR_PATH', PIWIK_INCLUDE_PATH . '/vendor'); // Piwik is the main project
48 } else {
49 define('PIWIK_VENDOR_PATH', PIWIK_INCLUDE_PATH . '/../..'); // Piwik is installed as a Composer dependency
50 }
51
52 // Composer autoloader
53 require PIWIK_VENDOR_PATH . '/autoload.php';
54
55 $file = '../matomo.js';
56
57 $daysExpireFarFuture = 10;
58
59 $byteStart = $byteEnd = false;
60 if (!defined("PIWIK_KEEP_JS_TRACKER_COMMENT")
61 || !PIWIK_KEEP_JS_TRACKER_COMMENT
62 ) {
63 $byteStart = 378; // length of comment header in bytes
64 }
65
66 class Validator {
67 public function validate() {}
68 }
69 $validator = new Validator();
70 $environment = new \Piwik\Application\Environment(null, array(
71 'Piwik\Application\Kernel\EnvironmentValidator' => $validator
72 ));
73 $environment->init();
74
75 if (!\Piwik\Tracker\IgnoreCookie::isIgnoreCookieFound()) {
76
77 $request = new \Piwik\Tracker\Request(array());
78
79 if ($request->shouldUseThirdPartyCookie()) {
80 $visitorId = $request->getVisitorIdForThirdPartyCookie();
81 if (!$visitorId) {
82 $visitorId = \Piwik\Common::hex2bin(\Piwik\Tracker\Visit::generateUniqueVisitorId());
83 }
84 $request->setThirdPartyCookie($visitorId);
85 }
86 }
87
88 ProxyHttp::serverStaticFile($file, "application/javascript; charset=UTF-8", $daysExpireFarFuture, $byteStart, $byteEnd);
89
90 exit;
91