Google Analytics for WordPress Configuration

What's this?

(If the extension is only two chars, prefix it with a dot, like '.js')
/>
/>
/>

(default is not to)
/>
/>

Congratulations! You have just activated Google Analytics.

"; } // end success() function warning() { echo "

Google Analytics is not active. You must enter your UA String for it to work.

"; } // end warning() } // end class GA_Admin } //endif /** * Code that actually inserts stuff into pages. */ if ( ! class_exists( 'GA_Filter' ) ) { class GA_Filter { /* * Insert the tracking code into the page */ function spool_analytics() { global $pluginpath; $opt = get_option('GoogleAnalyticsPP'); $options = unserialize($opt); if ($options["uastring"] != "" && (!current_user_can('edit_users') || $options["admintracking"]) && !is_preview() ) { ?> \n"); } ?> \n"); } /* Create an array which contians: * "domain" e.g. boakes.org * "host" e.g. store.boakes.org */ function ga_get_domain($uri){ $hostPattern = "/^(http:\/\/)?([^\/]+)/i"; $domainPattern = "/[^\.\/]+\.[^\.\/]+$/"; preg_match($hostPattern, $uri, $matches); $host = $matches[2]; preg_match($domainPattern, $host, $matches); return array("domain"=>$matches[0],"host"=>$host); } function ga_parse_link($leaf, $matches){ global $origin ; $opt = get_option('GoogleAnalyticsPP'); $options = unserialize($opt); $target = GA_Filter::ga_get_domain($matches[3]); $coolbit = ""; $extension = substr($matches[3],-3); $dlextensions = split(",",$options['dlextensions']); if ( $target["domain"] != $origin["domain"] ){ if ($options['domainorurl'] == "domain") { $coolBit .= "onclick=\"javascript:pageTracker._trackPageview('".$leaf."/".$target["host"]."');\""; } else if ($options['domainorurl'] == "url") { $coolBit .= "onclick=\"javascript:pageTracker._trackPageview('".$leaf."/".$matches[2]."//".$matches[3]."');\""; } } else if ( in_array($extension, $dlextensions) && $target["domain"] == $origin["domain"] ) { $file = str_replace($origin["domain"],"",$matches[3]); $file = str_replace('www.',"",$file); $coolBit .= "onclick=\"javascript:pageTracker._trackPageview('".$options['dlprefix'].$file."');\""; } return '' . $matches[5] . ''; } function ga_parse_article_link($matches){ $opt = get_option('GoogleAnalyticsPP'); $options = unserialize($opt); return GA_Filter::ga_parse_link($options['artprefix'],$matches); } function ga_parse_comment_link($matches){ $opt = get_option('GoogleAnalyticsPP'); $options = unserialize($opt); return GA_Filter::ga_parse_link($options['comprefix'],$matches); } function the_content($text) { if (!current_user_can('edit_users')|| $options['admintracking'] ) { static $anchorPattern = '/(.*?)<\/a>/i'; $text = preg_replace_callback($anchorPattern,array('GA_Filter','ga_parse_article_link'),$text); } return $text; } function comment_text($text) { if (!current_user_can('edit_users')|| $options['admintracking'] ) { static $anchorPattern = '/(.*?)<\/a>/i'; $text = preg_replace_callback($anchorPattern,array('GA_Filter','ga_parse_comment_link'),$text); } return $text; } function comment_author_link($text) { if (!current_user_can('edit_users')|| $options['admintracking'] ) { $opt = get_option('GoogleAnalyticsPP'); $options = unserialize($opt); static $anchorPattern = '/(.*\s+.*?href\s*=\s*)["\'](.*?)["\'](.*)/'; preg_match($anchorPattern, $text, $matches); if ($matches[2] == "") return $text; $target = GA_Filter::ga_get_domain($matches[2]); $coolbit = ""; $origin = GA_Filter::ga_get_domain($_SERVER["HTTP_HOST"]); if ( $target["domain"] != $origin["domain"] ){ if ($options['domainorurl'] == "domain") { $coolBit .= "onclick=\"javascript:pageTracker._trackPageview('".$options['comautprefix']."/".$target["host"]."');\""; } else if ($options['domainorurl'] == "url") { $coolBit .= "onclick=\"javascript:pageTracker._trackPageview('".$options['comautprefix']."/".$matches[2]."');\""; } } return $matches[1] . "\"" . $matches[2] . "\" " . $coolBit ." ". $matches[3]; } else { return $text; } } function bookmarks($bookmarks) { if (!is_admin() && (!current_user_can('edit_users') || $options['admintracking'] ) ) { $opt = get_option('GoogleAnalyticsPP'); $options = unserialize($opt); foreach ( (array) $bookmarks as $bookmark ) { if ($options['domainorurl'] == "domain") { $target = GA_Filter::ga_get_domain($bookmark->link_url); $bookmark->link_rel = $bookmark->link_rel."\" onclick=\"javascript:pageTracker._trackPageview('".$options['blogrollprefix']."/".$target["host"]."');"; } else if ($options['domainorurl'] == "url") { $bookmark->link_rel = $bookmark->link_rel."\" onclick=\"javascript:pageTracker._trackPageview('".$options['blogrollprefix']."/".$bookmark->link_url."');"; } } } return $bookmarks; } } // class GA_Filter } // endif $version = "0.61"; $uakey = "analytics"; if (function_exists("get_option")) { if ($wp_uastring_takes_precedence) { $opt = get_option('GoogleAnalyticsPP'); $options = unserialize($opt); $uastring = $options['uastring']; } } $mulch = ($uastring=""?"##-#####-#":$uastring); $gaf = new GA_Filter(); $origin = $gaf->ga_get_domain($_SERVER["HTTP_HOST"]); $opt = get_option('GoogleAnalyticsPP',""); if ($opt == "") { $options['dlextensions'] = 'doc,exe,.js,pdf,ppt,tgz,zip,xls'; $options['dlprefix'] = '/downloads'; $options['artprefix'] = '/outbound/article'; $options['comprefix'] = '/outbound/comment'; $options['comautprefix'] = '/outbound/commentauthor'; $options['blogrollprefix'] = '/outbound/blogroll'; $options['domainorurl'] = 'domain'; $options['position'] = 'header'; $options['userv2'] = false; $options['extrase'] = false; $options['imagese'] = false; $options['trackoutbound'] = true; $opt = serialize($options); update_option('GoogleAnalyticsPP',$opt); } else { $options = unserialize($opt); } // adds the menu item to the admin interface add_action('admin_menu', array('GA_Admin','add_config_page')); if ($options['trackoutbound']) { // filters alter the existing content add_filter('the_content', array('GA_Filter','the_content'), 99); add_filter('the_excerpt', array('GA_Filter','the_content'), 99); add_filter('comment_text', array('GA_Filter','comment_text'), 99); add_filter('get_bookmarks', array('GA_Filter','bookmarks'), 99); add_filter('get_comment_author_link', array('GA_Filter','comment_author_link'), 99); } if ($options['trackadsense']) { add_action('wp_footer', array('GA_Filter','track_adsense')); } // adds the footer so the javascript is loaded add_action('wp_head', array('GA_Filter','spool_analytics')); if ($options['trackadsense']) { add_action('wp_footer', array('GA_Filter','track_adsense')); } ?>