getDataTable(__FUNCTION__, $idSite, $period, $date, $segment, false, $idSubtable); } public function getContentPieces($idSite, $period, $date, $segment = false, $idSubtable = false) { return $this->getDataTable(__FUNCTION__, $idSite, $period, $date, $segment, false, $idSubtable); } private function getDataTable($name, $idSite, $period, $date, $segment, $expanded, $idSubtable) { Piwik::checkUserHasViewAccess($idSite); $recordName = Dimensions::getRecordNameForAction($name); $dataTable = Archive::createDataTableFromArchive($recordName, $idSite, $period, $date, $segment, $expanded, $flat=false, $idSubtable); if (empty($idSubtable)) { $dataTable->filter('AddSegmentValue', array(function ($label) { if ($label === Archiver::CONTENT_PIECE_NOT_SET) { return false; } return $label; })); } $this->filterDataTable($dataTable); return $dataTable; } /** * @param DataTable $dataTable */ private function filterDataTable($dataTable) { $dataTable->queueFilter('ReplaceColumnNames'); $dataTable->queueFilter('ReplaceSummaryRowLabel'); $dataTable->filter(function (DataTable $table) { $row = $table->getRowFromLabel(Archiver::CONTENT_PIECE_NOT_SET); if ($row) { $row->setColumn('label', Piwik::translate('General_NotDefined', Piwik::translate('Contents_ContentPiece'))); } foreach ($table->getRows() as $row) { if ($row->getMetadata('contentTarget') === Archiver::CONTENT_TARGET_NOT_SET) { $row->setMetadata('contentTarget', ''); } } }); } }