getValue() === false) { return Piwik::translate('Ecommerce_EcommercePolicySettingNonCompliantNote'); } $manageUrl = 'index.php' . Url::getCurrentQueryStringWithParametersModified(self::getManageParams($idSite)); return Piwik::translate('Ecommerce_EcommercePolicySettingRequirementNote', ['', '']); } private static function getManageParams(?int $idSite): array { $params = [ 'module' => 'SitesManager', 'action' => 'index', ]; if ($idSite !== null) { $params['idSite'] = $idSite; } return $params; } public static function isCompliant(string $policy, ?int $idSite = null): bool { $policyValues = static::getPolicyRequirements(); if (!array_key_exists($policy, $policyValues)) { return true; } $currentValue = self::getInstance($idSite)->getValue(); $idSites = self::getIdSitesToCheck($idSite); return $currentValue === $policyValues[$policy] || !self::hasEcommerceEnabledSite($idSites); } public static function getPolicyRequirements(): array { return [ CnilPolicy::class => true, ]; } private static function getIdSitesToCheck(?int $idSite): array { if ($idSite === null) { return Site::getIdSitesFromIdSitesString('all'); } $ids = Site::getIdSitesFromIdSitesString((string) $idSite); return empty($ids) ? [$idSite] : $ids; } private static function hasEcommerceEnabledSite(array $idSites): bool { foreach ($idSites as $siteId) { if (Site::isEcommerceEnabledFor((int) $siteId)) { return true; } } return false; } private static function getCompliantMessage(?int $idSite, array $idSites): string { if ($idSite !== null && count($idSites) === 1) { return Piwik::translate('Ecommerce_EcommercePolicySettingCompliantSingle'); } return Piwik::translate('Ecommerce_EcommercePolicySettingCompliantAll'); } }