diff options
author | Stefan Giehl <stefan@matomo.org> | 2020-04-23 10:43:30 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-23 10:43:30 +0300 |
commit | a8d917778e75346eab9509ac9707f7e6e2e6c58d (patch) | |
tree | 8259898ab33eb882e631f1f5475cd1482f70e402 /plugins/CustomVariables | |
parent | 0cdeb6da6e4679c56aa351c004cbd6afe7843c56 (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/CustomVariables')
-rw-r--r-- | plugins/CustomVariables/Columns/Base.php | 12 | ||||
-rw-r--r-- | plugins/CustomVariables/Columns/CustomVariableName.php | 6 | ||||
-rw-r--r-- | plugins/CustomVariables/Columns/CustomVariableValue.php | 6 |
3 files changed, 15 insertions, 9 deletions
diff --git a/plugins/CustomVariables/Columns/Base.php b/plugins/CustomVariables/Columns/Base.php index 070aaeed98..928de6f91e 100644 --- a/plugins/CustomVariables/Columns/Base.php +++ b/plugins/CustomVariables/Columns/Base.php @@ -8,14 +8,16 @@ namespace Piwik\Plugins\CustomVariables\Columns; +use Piwik\Columns\DimensionSegmentFactory; use Piwik\Piwik; use Piwik\Plugin\Dimension\VisitDimension; use Piwik\Plugins\CustomVariables\Segment; use Piwik\Plugins\CustomVariables\CustomVariables; +use Piwik\Segment\SegmentsList; class Base extends VisitDimension { - protected function configureSegmentsFor($segmentNameSuffix) + protected function configureSegmentsFor($segmentNameSuffix, SegmentsList $segmentsList, DimensionSegmentFactory $dimensionSegmentFactory) { $numCustomVariables = CustomVariables::getNumUsableCustomVariables(); @@ -24,14 +26,14 @@ class Base extends VisitDimension $segment->setSegment('customVariable' . $segmentNameSuffix); $segment->setName($this->getName() . ' (' . Piwik::translate('CustomVariables_ScopeVisit') . ')'); $segment->setUnionOfSegments($this->getSegmentColumns('customVariable' . $segmentNameSuffix, $numCustomVariables)); - $this->addSegment($segment); + $segmentsList->addSegment($dimensionSegmentFactory->createSegment($segment)); $segment = new Segment(); $segment->setType('dimension'); $segment->setSegment('customVariablePage' . $segmentNameSuffix); $segment->setName($this->getName() . ' (' . Piwik::translate('CustomVariables_ScopePage') . ')'); $segment->setUnionOfSegments($this->getSegmentColumns('customVariablePage' . $segmentNameSuffix, $numCustomVariables)); - $this->addSegment($segment); + $segmentsList->addSegment($dimensionSegmentFactory->createSegment($segment)); $segmentSuffix = 'v'; if (strtolower($segmentNameSuffix) === 'name') { @@ -44,14 +46,14 @@ class Base extends VisitDimension $segment->setSqlSegment('log_visit.custom_var_' . $segmentSuffix . $i); $segment->setName(Piwik::translate('CustomVariables_ColumnCustomVariable' . $segmentNameSuffix) . ' ' . $i . ' (' . Piwik::translate('CustomVariables_ScopeVisit') . ')'); - $this->addSegment($segment); + $segmentsList->addSegment($dimensionSegmentFactory->createSegment($segment)); $segment = new Segment(); $segment->setSegment('customVariablePage' . $segmentNameSuffix . $i); $segment->setSqlSegment('log_link_visit_action.custom_var_' . $segmentSuffix . $i); $segment->setName(Piwik::translate('CustomVariables_ColumnCustomVariable' . $segmentNameSuffix) . ' ' . $i . ' (' . Piwik::translate('CustomVariables_ScopePage') . ')'); - $this->addSegment($segment); + $segmentsList->addSegment($dimensionSegmentFactory->createSegment($segment)); } } diff --git a/plugins/CustomVariables/Columns/CustomVariableName.php b/plugins/CustomVariables/Columns/CustomVariableName.php index d094bd0588..8e03352f94 100644 --- a/plugins/CustomVariables/Columns/CustomVariableName.php +++ b/plugins/CustomVariables/Columns/CustomVariableName.php @@ -8,13 +8,15 @@ */ namespace Piwik\Plugins\CustomVariables\Columns; +use Piwik\Columns\DimensionSegmentFactory; use Piwik\Piwik; +use Piwik\Segment\SegmentsList; class CustomVariableName extends Base { - protected function configureSegments() + public function configureSegments(SegmentsList $segmentsList, DimensionSegmentFactory $dimensionSegmentFactory) { - $this->configureSegmentsFor('Name'); + $this->configureSegmentsFor('Name', $segmentsList, $dimensionSegmentFactory); } public function getName() diff --git a/plugins/CustomVariables/Columns/CustomVariableValue.php b/plugins/CustomVariables/Columns/CustomVariableValue.php index dafd3c87ba..74d44f35d4 100644 --- a/plugins/CustomVariables/Columns/CustomVariableValue.php +++ b/plugins/CustomVariables/Columns/CustomVariableValue.php @@ -8,13 +8,15 @@ */ namespace Piwik\Plugins\CustomVariables\Columns; +use Piwik\Columns\DimensionSegmentFactory; use Piwik\Piwik; +use Piwik\Segment\SegmentsList; class CustomVariableValue extends Base { - protected function configureSegments() + public function configureSegments(SegmentsList $segmentsList, DimensionSegmentFactory $dimensionSegmentFactory) { - $this->configureSegmentsFor('Value'); + $this->configureSegmentsFor('Value', $segmentsList, $dimensionSegmentFactory); } public function getName() |