Author: buildbot
Date: Tue Apr 24 20:34:27 2012
New Revision: 814273
Log:
Staging update by buildbot for openofficeorg
Added:
websites/staging/ooo-site/trunk/content/scripts/entourage.js
Modified:
websites/staging/ooo-site/trunk/cgi-bin/ (props changed)
websites/staging/ooo-site/trunk/content/ (props changed)
Propchange: websites/staging/ooo-site/trunk/cgi-bin/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Apr 24 20:34:27 2012
@@ -1 +1 @@
-1329973
+1329995
Propchange: websites/staging/ooo-site/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Tue Apr 24 20:34:27 2012
@@ -1 +1 @@
-1329973
+1329995
Added: websites/staging/ooo-site/trunk/content/scripts/entourage.js
==============================================================================
--- websites/staging/ooo-site/trunk/content/scripts/entourage.js (added)
+++ websites/staging/ooo-site/trunk/content/scripts/entourage.js Tue Apr 24
20:34:27 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