module = 'Goals'; $this->categoryId = 'Goals_Ecommerce'; $this->onlineGuideUrl = Url::addCampaignParametersToMatomoLink('https://matomo.org/docs/ecommerce-analytics/'); } public function isEnabled() { $idSite = Common::getRequestVar('idSite', false, 'int'); if (empty($idSite)) { return false; } return $this->isEcommerceEnabled($idSite); } public function checkIsEnabled() { if (!$this->isEnabled()) { $message = Piwik::translate('General_ExceptionReportNotEnabled'); if (Piwik::hasUserSuperUserAccess()) { $message .= ' Most likely Ecommerce is not enabled for the requested site.'; } throw new \Exception($message); } } public function configureReportMetadata(&$availableReports, $infos) { if ($this->isEcommerceEnabledByInfos($infos)) { $availableReports[] = $this->buildReportMetadata(); } } private function isEcommerceEnabledByInfos(array $infos): bool { $idSite = $infos['idSite']; if (empty($idSite) || !is_numeric($idSite)) { return false; } return $this->isEcommerceEnabled((int) $idSite); } private function isEcommerceEnabled(int $idSite): bool { $site = new Site($idSite); return $site->isEcommerceEnabled(); } }