PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.7.0
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.7.0
5.13.0 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 6 months ago Db 8 months ago Handler 2 years ago Visit 1 year ago Action.php 1 year ago ActionPageview.php 2 years ago BotRequest.php 6 months ago BotRequestProcessor.php 6 months ago Cache.php 8 months ago Db.php 1 year ago Failures.php 8 months ago FingerprintSalt.php 1 year ago GoalManager.php 7 months ago Handler.php 2 years ago IgnoreCookie.php 1 year ago LogTable.php 1 year ago Model.php 8 months ago PageUrl.php 8 months ago Request.php 6 months ago RequestHandlerTrait.php 6 months ago RequestProcessor.php 1 year ago RequestSet.php 8 months ago Response.php 1 year ago ScheduledTasksRunner.php 1 year ago Settings.php 1 year ago TableLogAction.php 8 months ago TrackerCodeGenerator.php 1 year ago TrackerConfig.php 6 months ago Visit.php 6 months ago VisitExcluded.php 6 months ago VisitInterface.php 2 years ago Visitor.php 1 year ago VisitorNotFoundInDb.php 2 years ago VisitorRecognizer.php 1 year ago
Visitor.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 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 * @param string $column
49 *
50 * @return false|mixed|null
51 */
52 public function getImmutableVisitorColumn(string $column)
53 {
54 return $this->visitProperties->getImmutableProperty($column);
55 }
56 /**
57 * Initialize a visitor property
58 *
59 * @param string $column
60 * @param $value
61 *
62 * @return void
63 */
64 public function initializeVisitorProperty(string $column, $value)
65 {
66 $this->visitProperties->initializeProperty($column, $value);
67 }
68 public function getPreviousVisitColumn($column)
69 {
70 if (empty($this->previousVisitProperties)) {
71 return \false;
72 }
73 if (array_key_exists($column, $this->previousVisitProperties->getProperties())) {
74 return $this->previousVisitProperties->getProperty($column);
75 }
76 return \false;
77 }
78 public function isVisitorKnown()
79 {
80 return $this->visitorKnown === \true;
81 }
82 public function isNewVisit()
83 {
84 return !$this->isVisitorKnown();
85 }
86 private function setIsVisitorKnown($isVisitorKnown)
87 {
88 return $this->visitorKnown = $isVisitorKnown;
89 }
90 }
91