diff --git a/core/API/DataTablePostProcessor.php b/core/API/DataTablePostProcessor.php index 59be19285e80d02f0aa2e3e2246bc1954ab680e6..999b3fe3393df8f0aa866306d39d07ca5c5accee 100644 --- a/core/API/DataTablePostProcessor.php +++ b/core/API/DataTablePostProcessor.php @@ -95,17 +95,16 @@ class DataTablePostProcessor // we automatically safe decode all datatable labels (against xss) $dataTable->queueFilter('SafeDecodeLabel'); + $dataTable = $this->convertSegmentValueToSegment($dataTable); $dataTable = $this->applyQueuedFilters($dataTable); $dataTable = $this->applyRequestedColumnDeletion($dataTable); $dataTable = $this->applyLabelFilter($dataTable); - $dataTable = $this->applyMetricsFormatting($dataTable); - $dataTable = $this->convertSegmentValueToSegment($dataTable); return $dataTable; } - public function convertSegmentValueToSegment(DataTableInterface $dataTable) + private function convertSegmentValueToSegment(DataTableInterface $dataTable) { $dataTable->filter('AddSegmentBySegmentValue', array($this->report)); $dataTable->filter('ColumnCallbackDeleteMetadata', array('segmentValue')); diff --git a/plugins/Referrers/API.php b/plugins/Referrers/API.php index b4f6d67edff915f0f366a704f960c2926c4324b1..4ac28978e37cba52d85e8ec0fb935eef19b0cd13 100644 --- a/plugins/Referrers/API.php +++ b/plugins/Referrers/API.php @@ -140,13 +140,8 @@ class API extends \Piwik\Plugin\API public function getKeywords($idSite, $period, $date, $segment = false, $expanded = false) { $dataTable = $this->getDataTable(Archiver::KEYWORDS_RECORD_NAME, $idSite, $period, $date, $segment, $expanded); - $dataTable->filter('AddSegmentValue', array(function ($label) { - if ($label === false) { - return false; - } - - return $label . ';referrerType==search'; - })); + $dataTable->filter('AddSegmentValue'); + $dataTable->queueFilter('PrependSegment', array('referrerType==search;')); $dataTable = $this->handleKeywordNotDefined($dataTable); return $dataTable;