PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 4.3.0
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v4.3.0
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 / core / Tracker / IgnoreCookie.php
matomo / app / core / Tracker Last commit date
Db 5 years ago Handler 5 years ago TableLogAction 5 years ago Visit 5 years ago Action.php 5 years ago ActionPageview.php 5 years ago Cache.php 5 years ago Db.php 5 years ago Failures.php 6 years ago FingerprintSalt.php 6 years ago GoalManager.php 5 years ago Handler.php 5 years ago IgnoreCookie.php 5 years ago LogTable.php 5 years ago Model.php 5 years ago PageUrl.php 5 years ago Request.php 5 years ago RequestProcessor.php 5 years ago RequestSet.php 5 years ago Response.php 5 years ago ScheduledTasksRunner.php 5 years ago Settings.php 5 years ago TableLogAction.php 5 years ago TrackerCodeGenerator.php 5 years ago TrackerConfig.php 5 years ago Visit.php 5 years ago VisitExcluded.php 5 years ago VisitInterface.php 5 years ago Visitor.php 5 years ago VisitorNotFoundInDb.php 5 years ago VisitorRecognizer.php 5 years ago
IgnoreCookie.php
103 lines
1 <?php
2 /**
3 * Matomo - free/libre analytics platform
4 *
5 * @link https://matomo.org
6 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
7 *
8 */
9 namespace Piwik\Tracker;
10
11 use Piwik\Config;
12 use Piwik\Cookie;
13 use Piwik\ProxyHttp;
14
15 /**
16 * Tracking cookies.
17 *
18 */
19 class IgnoreCookie
20 {
21 /**
22 * Get tracking cookie
23 *
24 * @return Cookie
25 */
26 private static function getTrackingCookie()
27 {
28 $cookie_name = @Config::getInstance()->Tracker['cookie_name'];
29 $cookie_path = @Config::getInstance()->Tracker['cookie_path'];
30
31 $cookie = new Cookie($cookie_name, null, $cookie_path);
32
33 $domain = @Config::getInstance()->Tracker['cookie_domain'];
34 if (!empty($domain)) {
35 $cookie->setDomain($domain);
36 }
37
38 return $cookie;
39 }
40
41 public static function deleteThirdPartyCookieUIDIfExists()
42 {
43 $trackingCookie = self::getTrackingCookie();
44 if ($trackingCookie->isCookieFound()) {
45 $trackingCookie->delete();
46 }
47 }
48
49 /**
50 * Get ignore (visit) cookie
51 *
52 * @return Cookie
53 */
54 public static function getIgnoreCookie()
55 {
56 $cookie_name = @Config::getInstance()->Tracker['ignore_visits_cookie_name'];
57 $cookie_path = @Config::getInstance()->Tracker['cookie_path'];
58
59 $thiryYears = time() + (86400 * 365 * 30);
60
61 $cookie = new Cookie($cookie_name, $thiryYears, $cookie_path, false);
62
63 $domain = @Config::getInstance()->Tracker['cookie_domain'];
64 if (!empty($domain)) {
65 $cookie->setDomain($domain);
66 }
67
68 return $cookie;
69 }
70
71 /**
72 * Set ignore (visit) cookie or deletes it if already present
73 */
74 public static function setIgnoreCookie()
75 {
76 $ignoreCookie = self::getIgnoreCookie();
77 if ($ignoreCookie->isCookieFound()) {
78 $ignoreCookie->delete();
79 } else {
80 $ignoreCookie->set('ignore', '*');
81 if (ProxyHttp::isHttps()) {
82 $ignoreCookie->setSecure(true);
83 $ignoreCookie->save('None');
84 } else {
85 $ignoreCookie->save('Lax');
86 }
87 }
88
89 self::deleteThirdPartyCookieUIDIfExists();
90 }
91
92 /**
93 * Returns true if ignore (visit) cookie is present
94 *
95 * @return bool True if ignore cookie found; false otherwise
96 */
97 public static function isIgnoreCookieFound()
98 {
99 $cookie = self::getIgnoreCookie();
100 return $cookie->isCookieFound() && $cookie->get('ignore') === '*';
101 }
102 }
103