public function getSocials($idSite, $period, $date, $segment = false, $expanded = false, $flat = false)
{
$dataTable = Archive::createDataTableFromArchive(Archiver::WEBSITES_RECORD_NAME, $idSite, $period, $date, $segment, $expanded, false);
$dataTable->filter('ColumnCallbackDeleteRow', array('label', function ($url) {
return !Social::getInstance()->isSocialUrl($url);
}));
$dataTable->filter('ColumnCallbackAddMetadata', array('label', 'url', function ($url) {
return Social::getInstance()->getMainUrl($url);
}));
$dataTable->filter('GroupBy', array('label', function ($url) {
return Social::getInstance()->getSocialNetworkFromDomain($url);
}));
$this->setSocialIdSubtables($dataTable);
$this->removeSubtableMetadata($dataTable);
if ($flat) {
$this->buildExpandedTableForFlattenGetSocials($idSite, $period, $date, $segment, $expanded, $dataTable);
}
$dataTable->queueFilter('MetadataCallbackAddMetadata', array('url', 'logo', function ($url) {
return Social::getInstance()->getLogoFromUrl($url);
}));
return $dataTable;
}