isGoogleAnalytics() || $this->isPiwik(); } public function isGoogleAnalytics() { return ($this->_getGoogleAnalyticsId() != ''); } public function isPiwik() { return ($this->getPiwikSiteId() != ''); } public function getTrackerId() { return $this->isGoogleAnalytics() ? $this->_getGoogleAnalyticsId() : $this->getPiwikSiteId(); } public function getDomainName() { return Class_AdminVar::getNomDomaine(); } public function getPiwikUrl() { return $this->_extractFromJsStat("/var u=.*(\/\/[^\"]+)\"/i", 1); } protected function _getGoogleAnalyticsId() { return $this->_extractFromJsStat("/(UA|MO)-[0-9]+-[0-9]/", 0); } protected function _extractFromJsStat($pattern, $match_index) { preg_match($pattern, Class_AdminVar::get('JS_STAT'), $matches); return isset($matches[$match_index]) ? trim($matches[$match_index]) : ''; } public function getPiwikSiteId() { $script = Class_AdminVar::get('JS_STAT'); preg_match_all("/setSiteId\',([^\]]+)\]\)/i", $script, $matches); return isset($matches[1][0]) ? trim($matches[1][0], " \t\n\r\0\x0B'\"") : ''; } }