PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.13.0
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.13.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 / BotRequest.php
matomo / app / core / Tracker Last commit date
Config 6 months ago Db 6 days ago Handler 2 years ago Visit 1 month ago Action.php 1 month ago ActionPageview.php 2 years ago BotRequest.php 5 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 6 days 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 6 months ago RequestProcessor.php 3 months ago RequestSet.php 8 months ago Response.php 5 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 5 months ago Visitor.php 3 months ago VisitorNotFoundInDb.php 3 months ago VisitorRecognizer.php 1 month ago
BotRequest.php
73 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 declare (strict_types=1);
10 namespace Piwik\Tracker;
11
12 use Piwik\Log\LoggerInterface;
13 use Piwik\Plugin\RequestProcessors;
14 /**
15 * Class used to handle a Bot request.
16 */
17 class BotRequest
18 {
19 use \Piwik\Tracker\RequestHandlerTrait;
20 /**
21 * @var Request
22 */
23 protected $request;
24 /**
25 * @var BotRequestProcessor[]
26 */
27 protected $botRequestProcessors;
28 /**
29 * @var RequestProcessor[]
30 */
31 protected $requestProcessors;
32 /**
33 * @var LoggerInterface
34 */
35 protected $logger;
36 public function __construct(RequestProcessors $requestProcessors, LoggerInterface $logger)
37 {
38 $this->requestProcessors = $requestProcessors->getRequestProcessors();
39 $this->botRequestProcessors = $requestProcessors->getBotRequestProcessors();
40 $this->logger = $logger;
41 }
42 public function setRequest(\Piwik\Tracker\Request $request)
43 {
44 $this->request = $request;
45 }
46 public function handle()
47 {
48 $this->checkSiteExists($this->request);
49 /**
50 * For BC reasons we iterate over all visit request processors as well, to ensure a possible request manipulation is applied
51 * For Matomo 6 we should remove that and ensure plugins that also should manipulate bot requests implement a BotRequestProcessor for it
52 * @deprecated
53 */
54 foreach ($this->requestProcessors as $processor) {
55 $this->logger->debug("Executing " . get_class($processor) . "::manipulateRequest()...");
56 $processor->manipulateRequest($this->request);
57 }
58 foreach ($this->botRequestProcessors as $processor) {
59 $this->logger->debug("Executing " . get_class($processor) . "::manipulateRequest()...");
60 $processor->manipulateRequest($this->request);
61 }
62 $this->validateRequest($this->request);
63 $wasHandled = \false;
64 foreach ($this->botRequestProcessors as $processor) {
65 $this->logger->debug("Executing " . get_class($processor) . "::handleRequest()...");
66 $wasHandled |= $processor->handleRequest($this->request);
67 }
68 if ($wasHandled) {
69 $this->markArchivedReportsAsInvalidIfArchiveAlreadyFinished($this->request);
70 }
71 }
72 }
73