GA appender script
[jalview.git] / utils / patchGt.pl
1 #!/bin/perl
2
3 use strict;
4 use Env qw($GTID);
5
6 defined($GTID) or $GTID="UA-9060947-1";
7 my $SCRIPT = <<FOO;
8 <script type="text/javascript">
9     var gaJsHost = (("https:" == document.location.protocol) ?
10         "https://ssl." : "http://www.");
11     document.write(unescape("%3Cscript src=\'" + gaJsHost +
12         "google-analytics.com/ga.js\' type=\'text/javascript\'%3E%3C/script%3E"));
13 </script>
14 <script type="text/javascript">
15 try{
16     var pageTracker = _gat._getTracker("'$GTID'");
17     pageTracker._trackPageview();
18 } catch(err) {}
19 </script>
20 </body>
21 FOO
22                 
23 while (scalar @ARGV)
24 {
25     my $f=shift @ARGV;
26     if (-f $f) {
27         if (system("grep","-v","-q",'"'.$GTID.'"',$f)) {
28             if (open OF,">$f.".$GTID) {
29                 if (open IF,"$f") {
30                 while (<IF>) {
31                     if ($_=~m!</body>!) {
32                         $_=~s!</body>!$SCRIPT!;
33                     }
34                     print OF $_;
35                 }
36                 close(IF);
37                 close(OF);
38                 rename($f,$f.".old.".$GTID) or die("Couldn't rename $f to $f".".old.".$GTID,$@);
39                 rename($f.".$GTID",$f) or die("Couldn't rename $f.".$GTID." to $f",$@);
40                 unlink($f.".old.".$GTID) or die("Couldn't delete ".$f.".old.".$GTID,$@);
41                 } else {
42                     warn("Can't open $f for reading.",$@);
43                 }
44             } else {
45                 warn("Couldn't open new edited file $f.$GTID",$@);
46             }
47         }
48     }
49 }
50