Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Giehl <stefan@matomo.org>2020-04-23 10:43:30 +0300
committerGitHub <noreply@github.com>2020-04-23 10:43:30 +0300
commita8d917778e75346eab9509ac9707f7e6e2e6c58d (patch)
tree8259898ab33eb882e631f1f5475cd1482f70e402 /plugins/CoreHome
parent0cdeb6da6e4679c56aa351c004cbd6afe7843c56 (diff)
Refactores the way segments are configured in dimensions (#15836)
* Improve naming of methods for segments to rescrict access for anonymous user * Introduce new classes SegmentsList nad DimensionSegmentFactory * removes SegmentEditor\SegmentList and adds some tests * submodule updates
Diffstat (limited to 'plugins/CoreHome')
-rw-r--r--plugins/CoreHome/Columns/LinkVisitActionIdPages.php4
-rw-r--r--plugins/CoreHome/Columns/VisitId.php6
-rw-r--r--plugins/CoreHome/Columns/VisitIp.php6
3 files changed, 11 insertions, 5 deletions
diff --git a/plugins/CoreHome/Columns/LinkVisitActionIdPages.php b/plugins/CoreHome/Columns/LinkVisitActionIdPages.php
index fe8355f2f8..c218ce7090 100644
--- a/plugins/CoreHome/Columns/LinkVisitActionIdPages.php
+++ b/plugins/CoreHome/Columns/LinkVisitActionIdPages.php
@@ -9,11 +9,13 @@
namespace Piwik\Plugins\CoreHome\Columns;
use Piwik\Columns\DimensionMetricFactory;
+use Piwik\Columns\DimensionSegmentFactory;
use Piwik\Columns\Discriminator;
use Piwik\Columns\MetricsList;
use Piwik\Piwik;
use Piwik\Plugin\ArchivedMetric;
use Piwik\Plugin\Dimension\ActionDimension;
+use Piwik\Segment\SegmentsList;
use Piwik\Tracker\Action;
class LinkVisitActionIdPages extends ActionDimension
@@ -23,7 +25,7 @@ class LinkVisitActionIdPages extends ActionDimension
protected $nameSingular = 'General_Actions';
protected $type = self::TYPE_NUMBER;
- public function configureSegments()
+ public function configureSegments(SegmentsList $segmentsList, DimensionSegmentFactory $dimensionSegmentFactory)
{
// empty so we don't auto-generate a segment
}
diff --git a/plugins/CoreHome/Columns/VisitId.php b/plugins/CoreHome/Columns/VisitId.php
index b55501a9f2..cea3a1f1cf 100644
--- a/plugins/CoreHome/Columns/VisitId.php
+++ b/plugins/CoreHome/Columns/VisitId.php
@@ -9,11 +9,13 @@
namespace Piwik\Plugins\CoreHome\Columns;
use Piwik\Columns\DimensionMetricFactory;
+use Piwik\Columns\DimensionSegmentFactory;
use Piwik\Columns\MetricsList;
use Piwik\Piwik;
use Piwik\Plugin\ArchivedMetric;
use Piwik\Plugin\Dimension\VisitDimension;
use Piwik\Plugin\Segment;
+use Piwik\Segment\SegmentsList;
/**
* Dimension for the log_visit.idvisit column. This column is added in the CREATE TABLE
@@ -30,11 +32,11 @@ class VisitId extends VisitDimension
protected $metricId = 'visits';
protected $type = self::TYPE_TEXT;
- protected function configureSegments()
+ public function configureSegments(SegmentsList $segmentsList, DimensionSegmentFactory $dimensionSegmentFactory)
{
$segment = new Segment();
$segment->setName('General_VisitId');
- $this->addSegment($segment);
+ $segmentsList->addSegment($dimensionSegmentFactory->createSegment($segment));
}
public function configureMetrics(MetricsList $metricsList, DimensionMetricFactory $dimensionMetricFactory)
diff --git a/plugins/CoreHome/Columns/VisitIp.php b/plugins/CoreHome/Columns/VisitIp.php
index f7f09e56f4..9a75b5856f 100644
--- a/plugins/CoreHome/Columns/VisitIp.php
+++ b/plugins/CoreHome/Columns/VisitIp.php
@@ -8,11 +8,13 @@
namespace Piwik\Plugins\CoreHome\Columns;
+use Piwik\Columns\DimensionSegmentFactory;
use Piwik\Common;
use Piwik\Metrics\Formatter;
use Matomo\Network\IPUtils;
use Piwik\Plugin\Dimension\VisitDimension;
use Piwik\Plugin\Segment;
+use Piwik\Segment\SegmentsList;
/**
* Dimension for the log_visit.location_ip column. This column is added in the CREATE TABLE
@@ -36,10 +38,10 @@ class VisitIp extends VisitDimension
return $value;
}
- protected function configureSegments()
+ public function configureSegments(SegmentsList $segmentsList, DimensionSegmentFactory $dimensionSegmentFactory)
{
$segment = new Segment();
$segment->setType(Segment::TYPE_METRIC); // we cannot remove this for now as it would assign dimension based on text type
- $this->addSegment($segment);
+ $segmentsList->addSegment($dimensionSegmentFactory->createSegment($segment));
}
}