PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.12.1
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.12.1
5.12.1 5.12.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 / Visitor.php
matomo / app / core / Tracker Last commit date
Config 5 months ago Db 1 month ago Handler 2 years ago Visit 1 month ago Action.php 1 month ago ActionPageview.php 2 years ago BotRequest.php 4 months ago BotRequestProcessor.php 3 months ago Cache.php 1 month ago Db.php 1 month ago Failures.php 8 months ago FingerprintSalt.php 1 month ago GoalManager.php 1 month ago Handler.php 2 years ago IgnoreCookie.php 1 year ago LogTable.php 1 month ago Model.php 1 month ago PageUrl.php 1 month ago Request.php 1 month ago RequestHandlerTrait.php 5 months ago RequestProcessor.php 3 months ago RequestSet.php 8 months ago Response.php 4 months ago ScheduledTasksRunner.php 1 year ago Settings.php 1 month ago TableLogAction.php 1 month ago TrackerCodeGenerator.php 1 month ago TrackerConfig.php 3 months ago Visit.php 1 month ago VisitExcluded.php 1 month ago VisitInterface.php 4 months ago Visitor.php 3 months ago VisitorNotFoundInDb.php 3 months ago VisitorRecognizer.php 1 month ago
Visitor.php
88 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 namespace Piwik\Tracker;
10
11 use Piwik\Tracker\Visit\VisitProperties;
12 class Visitor
13 {
14 private $visitorKnown = \false;
15 /**
16 * @var VisitProperties
17 */
18 public $visitProperties;
19 /**
20 * @var VisitProperties
21 */
22 public $previousVisitProperties;
23 public function __construct(VisitProperties $visitProperties, $isVisitorKnown = \false, ?VisitProperties $previousVisitProperties = null)
24 {
25 $this->visitProperties = $visitProperties;
26 $this->previousVisitProperties = $previousVisitProperties;
27 $this->setIsVisitorKnown($isVisitorKnown);
28 }
29 public static function makeFromVisitProperties(VisitProperties $visitProperties, \Piwik\Tracker\Request $request, ?VisitProperties $previousVisitProperties = null)
30 {
31 $isKnown = $request->getMetadata('CoreHome', 'isVisitorKnown');
32 return new \Piwik\Tracker\Visitor($visitProperties, $isKnown, $previousVisitProperties);
33 }
34 public function setVisitorColumn($column, $value)
35 {
36 $this->visitProperties->setProperty($column, $value);
37 }
38 public function getVisitorColumn($column)
39 {
40 if (array_key_exists($column, $this->visitProperties->getProperties())) {
41 return $this->visitProperties->getProperty($column);
42 }
43 return \false;
44 }
45 /**
46 * Get a visitor property that will not have been changed by other request processors
47 *
48 * @return false|mixed|null
49 */
50 public function getImmutableVisitorColumn(string $column)
51 {
52 return $this->visitProperties->getImmutableProperty($column);
53 }
54 /**
55 * Initialize a visitor property
56 *
57 * @param $value
58 *
59 * @return void
60 */
61 public function initializeVisitorProperty(string $column, $value)
62 {
63 $this->visitProperties->initializeProperty($column, $value);
64 }
65 public function getPreviousVisitColumn($column)
66 {
67 if (empty($this->previousVisitProperties)) {
68 return \false;
69 }
70 if (array_key_exists($column, $this->previousVisitProperties->getProperties())) {
71 return $this->previousVisitProperties->getProperty($column);
72 }
73 return \false;
74 }
75 public function isVisitorKnown()
76 {
77 return $this->visitorKnown === \true;
78 }
79 public function isNewVisit()
80 {
81 return !$this->isVisitorKnown();
82 }
83 private function setIsVisitorKnown($isVisitorKnown)
84 {
85 return $this->visitorKnown = $isVisitorKnown;
86 }
87 }
88