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:
Diffstat (limited to 'plugins/CustomDimensions/DataTable/Filter/AddSegmentMetadata.php')
m---------plugins/CustomDimensions0
-rw-r--r--plugins/CustomDimensions/DataTable/Filter/AddSegmentMetadata.php54
2 files changed, 54 insertions, 0 deletions
diff --git a/plugins/CustomDimensions b/plugins/CustomDimensions
deleted file mode 160000
-Subproject 318661a2fb1ef3b3e5d6d999ae8b9628cb5a113
diff --git a/plugins/CustomDimensions/DataTable/Filter/AddSegmentMetadata.php b/plugins/CustomDimensions/DataTable/Filter/AddSegmentMetadata.php
new file mode 100644
index 0000000000..759c148c9c
--- /dev/null
+++ b/plugins/CustomDimensions/DataTable/Filter/AddSegmentMetadata.php
@@ -0,0 +1,54 @@
+<?php
+/**
+ * Matomo - free/libre analytics platform
+ *
+ * @link https://matomo.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\CustomDimensions\DataTable\Filter;
+
+use Piwik\DataTable\BaseFilter;
+use Piwik\DataTable\Row;
+use Piwik\DataTable;
+use Piwik\Plugins\CustomDimensions\Archiver;
+use Piwik\Plugins\CustomDimensions\Tracker\CustomDimensionsRequestProcessor;
+
+class AddSegmentMetadata extends BaseFilter
+{
+ private $idDimension;
+
+ /**
+ * Constructor.
+ *
+ * @param DataTable $table The table to eventually filter.
+ */
+ public function __construct($table, $idDimension)
+ {
+ parent::__construct($table);
+ $this->idDimension = $idDimension;
+ }
+
+ /**
+ * @param DataTable $table
+ */
+ public function filter($table)
+ {
+ $dimension = CustomDimensionsRequestProcessor::buildCustomDimensionTrackingApiName($this->idDimension);
+
+ foreach ($table->getRows() as $row) {
+ $label = $row->getColumn('label');
+ if ($label !== false) {
+ if ($label === Archiver::LABEL_CUSTOM_VALUE_NOT_DEFINED) {
+ $label = '';
+ }
+ $row->setMetadata('segment', $dimension . '==' . urlencode($label));
+ }
+
+ $subTable = $row->getSubtable();
+ if ($subTable) {
+ $subTable->filter('Piwik\Plugins\CustomDimensions\DataTable\Filter\AddSubtableSegmentMetadata', array($this->idDimension, $label));
+ }
+ }
+ }
+} \ No newline at end of file