Skip to content

Instantly share code, notes, and snippets.

@almonk
Created June 20, 2011 10:49
Show Gist options
  • Save almonk/1035433 to your computer and use it in GitHub Desktop.
Save almonk/1035433 to your computer and use it in GitHub Desktop.
Google Analytics module for Processwire
<?php
class Analytics extends WireData implements Module {
public static function getModuleInfo() {
return array(
'title' => 'Google Analytics',
'version' => 101,
'summary' => 'Adds some quick hooks for the Google Analytics Service',
'href' => 'http://www.alasdairmonk.com',
'singular' => true,
'autoload' => false,
);
}
public function init() {
$this->set('account', '');
}
public function ___render() {
// If there's no url supplied, we'll assume the user means the current page
if(!$this->account) $this->account = "UA-XXXXXXX-XX";
// Build the iframe
$out = '<script type="text/javascript">'.
'var _gaq = _gaq || [];'.
"_gaq.push(['_setAccount', '".$this->account."']);".
" _gaq.push(['_trackPageview']);".
" (function() {".
"var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;".
"ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';".
"var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);".
"})();".
"</script>";
return $out;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment