'getClientSideTranslationKeys', 'AssetManager.getStylesheetFiles' => 'getStylesheetFiles', 'Segment.filterSegments' => 'filterSegments', ]; } public function getClientSideTranslationKeys(&$translations) { $translations[] = 'DevicesDetection_UserAgent'; $translations[] = 'General_Refresh'; $translations[] = 'DevicesDetection_BotDetected'; $translations[] = 'DevicesDetection_ColumnOperatingSystem'; $translations[] = 'Mobile_ShowAll'; $translations[] = 'CorePluginsAdmin_Version'; $translations[] = 'DevicesDetection_OperatingSystemFamily'; $translations[] = 'DevicesDetection_ColumnBrowser'; $translations[] = 'DevicesDetection_BrowserFamily'; $translations[] = 'DevicesDetection_Device'; $translations[] = 'DevicesDetection_dataTableLabelTypes'; $translations[] = 'DevicesDetection_dataTableLabelBrands'; $translations[] = 'DevicesDetection_dataTableLabelModels'; $translations[] = 'General_Close'; $translations[] = 'DevicesDetection_DeviceDetection'; $translations[] = 'DevicesDetection_ClientHints'; $translations[] = 'DevicesDetection_ConsiderClientHints'; $translations[] = 'DevicesDetection_ClientHintsNotSupported'; } public function getStylesheetFiles(&$files) { $files[] = 'plugins/DevicesDetection/vue/src/DetectionPage/DetectionPage.less'; } public static function shouldOnlyStoreMajorVersions(?int $idsite = null): bool { $cache = TrackerCache::getCacheWebsiteAttributes($idsite); $cacheKey = OnlyMajorVersions::class; return (($cache[$cacheKey] ?? false) === true); } /** * Check if compliance policy disables device model detection * * @throws \Piwik\Exception\DI\DependencyException * @throws \Piwik\Exception\DI\NotFoundException */ public static function isDeviceModelDetectionDisabledByCompliancePolicy(?int $idSite = null): bool { $cache = TrackerCache::getCacheWebsiteAttributes($idSite); $cacheKey = DeviceModelDetectionDisabled::class; return (($cache[$cacheKey] ?? false) === true); } public function filterSegments(SegmentsList &$list, array $idSites) { $limitSegmentsSettingEnabled = false; if (empty($idSites)) { $limitSegmentsSettingEnabled = LimitSegments::getInstance()->getValue(); } else { foreach ($idSites as $idsite) { $limitSegmentsSettingEnabled |= LimitSegments::getInstance($idsite)->getValue(); } } if ($limitSegmentsSettingEnabled) { $list->remove('General_Visitors', 'deviceModel'); } } }