private function parseCustomHeaderHTMLAndGoogleAnalytics()
{
// get the data
$siteHTMLHeader = (string) $this->get('fork.settings')->get('Core', 'site_html_header', null);
$siteHTMLFooter = (string) $this->get('fork.settings')->get('Core', 'site_html_footer', null);
$webPropertyId = $this->get('fork.settings')->get('Analytics', 'web_property_id', null);
// search for the webpropertyId in the header and footer, if not found we should build the GA-code
if ($webPropertyId != '' && mb_strpos($siteHTMLHeader, $webPropertyId) === false && mb_strpos($siteHTMLFooter, $webPropertyId) === false) {
$anonymize = $this->get('fork.settings')->get('Core', 'show_cookie_bar', false) && !CommonCookie::hasAllowedCookies();
$request = $this->getContainer()->get('request');
$trackingCode = '<script>
(function(i,s,o,g,r,a,m){i[\'GoogleAnalyticsObject\']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,\'script\',\'//www.google-analytics.com/analytics.js\',\'ga\');
ga(\'create\', \'' . $webPropertyId . '\', \'' . $request->getHttpHost() . '\');
';
if ($anonymize) {
$trackingCode .= 'ga(\'send\', \'pageview\', {\'anonymizeIp\': true});';
} else {
$trackingCode .= 'ga(\'send\', \'pageview\');';
}
$trackingCode .= '</script>';
$siteHTMLHeader .= "\n" . $trackingCode;
}
// store language
$this->jsData['LANGUAGE'] = LANGUAGE;
// encode and add
$jsData = json_encode($this->jsData);
$siteHTMLHeader .= "\n" . '<script>var jsData = ' . $jsData . '</script>';
// assign site wide html
$this->tpl->addGlobal('siteHTMLHeader', trim($siteHTMLHeader));
}