GA appender script
authorjprocter <Jim Procter>
Mon, 1 Jun 2009 15:54:32 +0000 (15:54 +0000)
committerjprocter <Jim Procter>
Mon, 1 Jun 2009 15:54:32 +0000 (15:54 +0000)
utils/patchGt.pl [new file with mode: 0644]

diff --git a/utils/patchGt.pl b/utils/patchGt.pl
new file mode 100644 (file)
index 0000000..07811b0
--- /dev/null
@@ -0,0 +1,50 @@
+#!/bin/perl
+
+use strict;
+use Env qw($GTID);
+
+defined($GTID) or $GTID="UA-9060947-1";
+my $SCRIPT = <<FOO;
+<script type="text/javascript">
+    var gaJsHost = (("https:" == document.location.protocol) ?
+       "https://ssl." : "http://www.");
+    document.write(unescape("%3Cscript src=\'" + gaJsHost +
+       "google-analytics.com/ga.js\' type=\'text/javascript\'%3E%3C/script%3E"));
+</script>
+<script type="text/javascript">
+try{
+    var pageTracker = _gat._getTracker("'$GTID'");
+    pageTracker._trackPageview();
+} catch(err) {}
+</script>
+</body>
+FOO
+               
+while (scalar @ARGV)
+{
+    my $f=shift @ARGV;
+    if (-f $f) {
+       if (system("grep","-v","-q",'"'.$GTID.'"',$f)) {
+           if (open OF,">$f.".$GTID) {
+               if (open IF,"$f") {
+               while (<IF>) {
+                   if ($_=~m!</body>!) {
+                       $_=~s!</body>!$SCRIPT!;
+                   }
+                   print OF $_;
+               }
+               close(IF);
+               close(OF);
+               rename($f,$f.".old.".$GTID) or die("Couldn't rename $f to $f".".old.".$GTID,$@);
+               rename($f.".$GTID",$f) or die("Couldn't rename $f.".$GTID." to $f",$@);
+               unlink($f.".old.".$GTID) or die("Couldn't delete ".$f.".old.".$GTID,$@);
+               } else {
+                   warn("Can't open $f for reading.",$@);
+               }
+           } else {
+               warn("Couldn't open new edited file $f.$GTID",$@);
+           }
+       }
+    }
+}
+