getDataTable($name); $dataTable->filter('Sort', array(Metrics::INDEX_NB_VISITS)); $dataTable->queueFilter('ReplaceColumnNames'); $dataTable->queueFilter('ReplaceSummaryRowLabel'); return $dataTable; } /** * Gets datatable displaying number of visits by device type (eg. desktop, smartphone, tablet) * @param int $idSite * @param string $period * @param string $date * @param bool|string $segment * @return DataTable */ public function getType($idSite, $period, $date, $segment = false) { $dataTable = $this->getDataTable('DevicesDetection_types', $idSite, $period, $date, $segment); $dataTable->filter('ColumnCallbackAddMetadata', array('label', 'logo', __NAMESPACE__ . '\getDeviceTypeLogo')); $dataTable->filter('ColumnCallbackReplace', array('label', __NAMESPACE__ . '\getDeviceTypeLabel')); return $dataTable; } /** * Gets datatable displaying number of visits by device manufacturer name * @param int $idSite * @param string $period * @param string $date * @param bool|string $segment * @return DataTable */ public function getBrand($idSite, $period, $date, $segment = false) { $dataTable = $this->getDataTable('DevicesDetection_brands', $idSite, $period, $date, $segment); $dataTable->filter('ColumnCallbackReplace', array('label', __NAMESPACE__ . '\getDeviceBrandLabel')); $dataTable->filter('ColumnCallbackAddMetadata', array('label', 'logo', __NAMESPACE__ . '\getBrandLogo')); return $dataTable; } /** * Gets datatable displaying number of visits by device model * @param int $idSite * @param string $period * @param string $date * @param bool|string $segment * @return DataTable */ public function getModel($idSite, $period, $date, $segment = false) { $dataTable = $this->getDataTable('DevicesDetection_models', $idSite, $period, $date, $segment); $dataTable->filter('ColumnCallbackReplace', array('label', __NAMESPACE__ . '\getModelName')); return $dataTable; } /** * Gets datatable displaying number of visits by OS family (eg. Windows, Android, Linux) * @param int $idSite * @param string $period * @param string $date * @param bool|string $segment * @return DataTable */ public function getOsFamilies($idSite, $period, $date, $segment = false) { $dataTable = $this->getDataTable('DevicesDetection_os', $idSite, $period, $date, $segment); $dataTable->filter('GroupBy', array('label', __NAMESPACE__ . '\getOSFamilyFullNameExtended')); $dataTable->filter('ColumnCallbackAddMetadata', array('label', 'logo', __NAMESPACE__ . '\getOsFamilyLogoExtended')); return $dataTable; } /** * Gets datatable displaying number of visits by OS version (eg. Android 4.0, Windows 7) * @param int $idSite * @param string $period * @param string $date * @param bool|string $segment * @return DataTable */ public function getOsVersions($idSite, $period, $date, $segment = false) { $dataTable = $this->getDataTable('DevicesDetection_osVersions', $idSite, $period, $date, $segment); $dataTable->filter('ColumnCallbackAddMetadata', array('label', 'logo', __NAMESPACE__ . '\getOsLogoExtended')); $dataTable->filter('ColumnCallbackReplace', array('label', __NAMESPACE__ . '\getOsFullNameExtended')); return $dataTable; } /** * Gets datatable displaying number of visits by Browser family (eg. Firefox, InternetExplorer) * @param int $idSite * @param string $period * @param string $date * @param bool|string $segment * @return DataTable */ public function getBrowserFamilies($idSite, $period, $date, $segment = false) { $dataTable = $this->getDataTable('DevicesDetection_browsers', $idSite, $period, $date, $segment); $dataTable->filter('GroupBy', array('label', __NAMESPACE__ . '\getBrowserFamilyFullNameExtended')); $dataTable->filter('ColumnCallbackAddMetadata', array('label', 'logo', __NAMESPACE__ . '\getBrowserFamilyLogoExtended')); return $dataTable; } /** * Gets datatable displaying number of visits by Browser version (eg. Firefox 20, Safari 6.0) * @param int $idSite * @param string $period * @param string $date * @param bool|string $segment * @return DataTable */ public function getBrowserVersions($idSite, $period, $date, $segment = false) { $dataTable = $this->getDataTable('DevicesDetection_browserVersions', $idSite, $period, $date, $segment); $dataTable->filter('ColumnCallbackAddMetadata', array('label', 'logo', __NAMESPACE__ . '\getBrowserLogoExtended')); $dataTable->filter('ColumnCallbackReplace', array('label', __NAMESPACE__ . '\getBrowserNameExtended')); return $dataTable; } }