PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 5.8.0
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v5.8.0
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 / ActionPageview.php
matomo / app / core / Tracker Last commit date
Config 4 months ago Db 3 months ago Handler 2 years ago Visit 3 months ago Action.php 3 months ago ActionPageview.php 2 years ago BotRequest.php 3 months ago BotRequestProcessor.php 3 months ago Cache.php 7 months ago Db.php 1 year ago Failures.php 7 months ago FingerprintSalt.php 1 year ago GoalManager.php 3 months ago Handler.php 2 years ago IgnoreCookie.php 1 year ago LogTable.php 1 year ago Model.php 7 months ago PageUrl.php 7 months ago Request.php 4 months ago RequestHandlerTrait.php 4 months ago RequestProcessor.php 3 months ago RequestSet.php 7 months ago Response.php 3 months ago ScheduledTasksRunner.php 1 year ago Settings.php 3 months ago TableLogAction.php 7 months ago TrackerCodeGenerator.php 1 year ago TrackerConfig.php 4 months ago Visit.php 3 months ago VisitExcluded.php 3 months ago VisitInterface.php 3 months ago Visitor.php 3 months ago VisitorNotFoundInDb.php 2 years ago VisitorRecognizer.php 1 year ago
ActionPageview.php
76 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\Config;
12 /**
13 * This class represents a page view, tracking URL, page title and generation time.
14 *
15 */
16 class ActionPageview extends \Piwik\Tracker\Action
17 {
18 public function __construct(\Piwik\Tracker\Request $request)
19 {
20 parent::__construct(\Piwik\Tracker\Action::TYPE_PAGE_URL, $request);
21 $url = $request->getParam('url');
22 $this->setActionUrl($url);
23 $actionName = $request->getParam('action_name');
24 $actionName = $this->cleanupActionName($actionName);
25 $this->setActionName($actionName);
26 }
27 protected function getActionsToLookup()
28 {
29 return array('idaction_name' => array($this->getActionName(), \Piwik\Tracker\Action::TYPE_PAGE_TITLE), 'idaction_url' => $this->getUrlAndType());
30 }
31 public static function shouldHandle(\Piwik\Tracker\Request $request)
32 {
33 return !\Piwik\Tracker\Action::isCustomActionRequest($request);
34 }
35 public function getIdActionUrlForEntryAndExitIds()
36 {
37 return $this->getIdActionUrl();
38 }
39 public function getIdActionNameForEntryAndExitIds()
40 {
41 return $this->getIdActionName();
42 }
43 private function cleanupActionName($actionName)
44 {
45 // get the delimiter, by default '/'; BC, we read the old action_category_delimiter first (see #1067)
46 $actionCategoryDelimiter = $this->getActionCategoryDelimiter();
47 if ($actionCategoryDelimiter === '') {
48 return $actionName;
49 }
50 // create an array of the categories delimited by the delimiter
51 $split = explode($actionCategoryDelimiter, $actionName);
52 $split = $this->trimEveryCategory($split);
53 $split = $this->removeEmptyCategories($split);
54 return $this->rebuildNameOfCleanedCategories($actionCategoryDelimiter, $split);
55 }
56 private function rebuildNameOfCleanedCategories($actionCategoryDelimiter, $split)
57 {
58 return implode($actionCategoryDelimiter, $split);
59 }
60 private function removeEmptyCategories($split)
61 {
62 return array_filter($split, 'strlen');
63 }
64 private function trimEveryCategory($split)
65 {
66 return array_map('trim', $split);
67 }
68 private function getActionCategoryDelimiter()
69 {
70 if (isset(Config::getInstance()->General['action_category_delimiter'])) {
71 return Config::getInstance()->General['action_category_delimiter'];
72 }
73 return Config::getInstance()->General['action_title_category_delimiter'];
74 }
75 }
76