private function _getInfosForBeforeBodyEndAsHTMLPHP () { $retour = LF.'<!-- PIWIK tracking via PHP - BEGIN -->'.LF; $tracking_array = array(); // opt-out if ( !empty($_COOKIE['CommSyAGBPiwik']) and $_COOKIE['CommSyAGBPiwik'] == 1 ) { $retour .= '<!-- don\'t track - opt-out is activated -->'.LF; } // track else { if ( $this->_environment->inServer() ) { $info_array = $this->_getInfosForTracking($this->_environment->getServerItem()); if ( !empty($info_array) ) { $tracking_array[] = $info_array; } } else { $info_array = $this->_getInfosForTracking($this->_environment->getServerItem()); if ( !empty($info_array) ) { $tracking_array[] = $info_array; } $info_array = $this->_getInfosForTracking($this->_environment->getCurrentPortalItem()); if ( !empty($info_array) ) { $tracking_array[] = $info_array; } } } if ( !empty($tracking_array) ) { // site title $title = ''; $current_context_item = $this->_environment->getCurrentContextItem(); if ( !empty($current_context_item) ) { if ( !$current_context_item->isServer() and !$current_context_item->isPortal() ) { $current_portal = $current_context_item->getContextItem(); if ( !empty($current_portal) ) { $title .= $current_portal->getTitle().' > '; } } $title .= $current_context_item->getTitle().' > '; $title .= $this->_environment->getCurrentModule().' > '; $title .= $this->_environment->getCurrentFunction(); if ( !empty($_GET['iid'])) { $title .= ' > '.$_GET['iid']; } } // tracking include_once('plugins/'.$this->_identifier.'/PiwikTracker.php'); foreach ($tracking_array as $site_array) { if ( !empty($site_array['server_url']) and !empty($site_array['site_id']) ) { if ( empty($site_array['server_https']) or $site_array['server_https'] == 'commsy' ) { $c_commsy_domain = $this->_environment->getConfiguration('c_commsy_domain'); if ( stristr($c_commsy_domain,'https') ) { $http = 'https'; } else { $http = 'http'; } unset($c_commsy_domain); } else { $http = $site_array['server_https']; } $t = new PiwikTracker($site_array['site_id'],$http.'://'.$site_array['server_url'].'/piwik.php'); $t->setRequestTimeout($this->_timeout_ms); // in milliseconds - to avoid long waiting time, when piwik server is gone or network is down // proxy if ( $this->_environment->getConfiguration('c_proxy_ip') ) { $proxy = $this->_environment->getConfiguration('c_proxy_ip'); if ( $this->_environment->getConfiguration('c_proxy_port') ) { $proxy .= ':'.$this->_environment->getConfiguration('c_proxy_port'); } $t->setProxy($proxy); } $result = $t->doTrackPageView($title); $retour .= '<!-- tracking '.$site_array['site_id'].' -->'.LF; if ( empty($result) ) { $retour .= ' <!-- don\'t receive result from tracking for site '.$site_array['site_id'].' -->'.LF; } } } } $retour .= '<!-- PIWIK tracking via PHP - END -->'.LF; return $retour; }