Author: robweir
Date: Tue Apr 24 20:33:15 2012
New Revision: 1329995

URL: http://svn.apache.org/viewvc?rev=1329995&view=rev
Log: (empty)

Added:
    incubator/ooo/ooo-site/trunk/content/scripts/entourage.js   (with props)

Added: incubator/ooo/ooo-site/trunk/content/scripts/entourage.js
URL: 
http://svn.apache.org/viewvc/incubator/ooo/ooo-site/trunk/content/scripts/entourage.js?rev=1329995&view=auto
==============================================================================
--- incubator/ooo/ooo-site/trunk/content/scripts/entourage.js (added)
+++ incubator/ooo/ooo-site/trunk/content/scripts/entourage.js Tue Apr 24 
20:33:15 2012
@@ -0,0 +1,72 @@
+/*!
+ * Entourage 1.1.2 - Automatic Download Tracking for Asynchronous Google 
Analytics
+ *
+ * Copyright (c) 2011 by Tian Valdemar Davis (http://techoctave.com/c7)
+ * Licensed under the MIT (http://en.wikipedia.org/wiki/MIT_License) license.
+ *
+ * Learn More: 
http://techoctave.com/c7/posts/58-entourage-js-automatic-download-tracking-for-asynchronous-google-analytics
+ * 
+ * 2012-04-24 Mod by robweir to whitelist additional file extensions as used 
in AOO project
+ */
+
+/*jshint strict:false */
+
+(function() {
+var entourage = new (function() {
+       var version = "1.1.2";
+       var whitelist = 
/\.pdf$|\.zip$|\.gz$|\.bz2$|\.od*|\.doc*|\.xls*|\.ppt*|\.exe$|\.dmg$|\.mov$|\.avi$|\.mp3$/i;
+       
+       //Get true FileName from link pathname
+       var getFileName = function(pathname) {
+               //Remove the anchor at the end (if one exists)
+               pathname = pathname.substring(0, (pathname.indexOf("#") === -1) 
? pathname.length : pathname.indexOf("#"));
+
+               //Removes the query after the file pathname (if one exists)
+               pathname = pathname.substring(0, (pathname.indexOf("?") === -1) 
? pathname.length : pathname.indexOf("?"));
+
+               //Removes everything before the last slash in the path
+               pathname = pathname.substring(pathname.lastIndexOf("/") + 1, 
pathname.length);
+
+               return pathname;
+       };
+
+       var autograph = function() {
+               var fileName, associate;
+
+               //Get the file name
+               fileName = getFileName(this.pathname); //The link object is now 
available in "this"
+
+               //Add file to the Google Analytics Queue
+               associate = '/download/' + fileName;
+               
+               //Track download using Asynchronous Google Analytics
+               _gaq.push(['_trackPageview', associate]);
+    };
+
+       var initialize = function() {
+               var links = document.links;
+               
+               for (var i = 0, l = links.length; i < l; i++) {
+                       //Compare the fileType to the whitelist
+                       var match = links[i].pathname.match(whitelist);
+                       
+                       //If the link is for a file download . . .
+                       if (typeof match !== "undefined" && match !== null) {
+                               //Call Entourage whenever the link is clicked
+                               links[i].onclick = autograph;
+                       }
+               }
+    };
+
+       return {
+               version: version,
+               initialize: initialize
+       };
+})(); //Entourage.js
+
+//Add entourage to the global namespace
+window.entourage = entourage;
+
+//Execute entourage onload - ensuring links are present in the DOM
+window.onload = entourage.initialize;
+})();
\ No newline at end of file

Propchange: incubator/ooo/ooo-site/trunk/content/scripts/entourage.js
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to