[Piwik-svn] r327 - in trunk: . plugins/Home/templates

svnmaster at piwik.org svnmaster at piwik.org
Sat Mar 8 18:50:07 CET 2008


Author: matt
Date: 2008-03-08 18:50:07 +0100 (Sat, 08 Mar 2008)
New Revision: 327

Modified:
   trunk/piwik.js
   trunk/plugins/Home/templates/index.tpl
Log:
- adding optional variables array in the javascript tag. Will be useful for plugins. They can now send their specific data to the piwik.php logging engine by setting variables in the javascript array
example where we set 2 variables video_played and video_finished:
<script type="text/javascript">
<!--
piwik_action_name = '';
piwik_idsite = 1;
piwik_url = 'piwik.php';
piwik_vars = { 'video_play':1, 'video_finished':0 };
piwik_log(piwik_action_name, piwik_idsite, piwik_url, piwik_vars);
//-->
</script>

Modified: trunk/piwik.js
===================================================================
--- trunk/piwik.js	2008-03-08 16:39:44 UTC (rev 326)
+++ trunk/piwik.js	2008-03-08 17:50:07 UTC (rev 327)
@@ -72,8 +72,20 @@
 
 var _pk_called;
 
-function _pk_getUrlLog( _pk_action_name, _pk_site, _pk_pkurl )
+function _pk_getUrlLog( _pk_action_name, _pk_site, _pk_pkurl, _pk_custom_vars )
 {
+	var _pk_custom_vars_str = '';
+	if(typeof _pk_custom_vars == "undefined"){
+		_pk_custom_vars = false;
+	}
+	if (_pk_custom_vars) {
+		for (var i in _pk_custom_vars){
+			if (!Array.prototype[i]){
+				_pk_custom_vars_str = _pk_custom_vars_str + '&vars['+ escape(i) + ']' + "=" + escape(_pk_custom_vars[i]);
+			}
+		}
+	}
+	
 	var _pk_url = document.location.href;
 	var _pk_da = new Date();
 	var _pk_src = _pk_pkurl
@@ -85,14 +97,15 @@
 		+'&fla='+_pk_fla+'&dir='+_pk_dir+'&qt='+_pk_qt+'&realp='+_pk_rea+'&pdf='+_pk_pdf
 		+'&wma='+_pk_wma+'&java='+_pk_jav+'&cookie='+_pk_cookie
 		+'&title='+_pk_title
-		+'&urlref='+_pk_escape(_pk_rtu);
+		+'&urlref='+_pk_escape(_pk_rtu)
+		+_pk_custom_vars_str;
 	return _pk_src;
 }
 
-function piwik_log( _pk_action_name, _pk_site, _pk_pkurl )
+function piwik_log( _pk_action_name, _pk_site, _pk_pkurl, _pk_custom_vars )
 {
 	if(_pk_called && (!_pk_action_name || _pk_action_name=="")) return;
-	var _pk_src = _pk_getUrlLog(_pk_action_name, _pk_site, _pk_pkurl );
+	var _pk_src = _pk_getUrlLog(_pk_action_name, _pk_site, _pk_pkurl, _pk_custom_vars );
 	document.writeln('<img src="'+_pk_src+'" alt="Piwik" style="border:0" />');
 	if(!_pk_action_name || _pk_action_name=="") _pk_called=1;
 }
\ No newline at end of file

Modified: trunk/plugins/Home/templates/index.tpl
===================================================================
--- trunk/plugins/Home/templates/index.tpl	2008-03-08 16:39:44 UTC (rev 326)
+++ trunk/plugins/Home/templates/index.tpl	2008-03-08 17:50:07 UTC (rev 327)
@@ -310,6 +310,7 @@
 </div>
 
 {if ereg('http://127.0.0.1|http://localhost|http://piwik.org', $url)}
+{literal}
 <!-- Piwik -->
 <a href="http://piwik.org" title="Web analytics" onclick="window.open(this.href);return(false);">
 <script language="javascript" src="piwik.js" type="text/javascript"></script>
@@ -318,12 +319,12 @@
 piwik_action_name = '';
 piwik_idsite = 1;
 piwik_url = 'piwik.php';
-piwik_log(piwik_action_name, piwik_idsite, piwik_url);
+piwik_vars = { 'video_play':1, 'video_finished':0 };
+piwik_log(piwik_action_name, piwik_idsite, piwik_url, piwik_vars);
 //-->
 </script><object>
 <noscript><p>Web analytics <img src="piwik.php" style="border:0" alt="piwik"/></p>
 </noscript></object></a>
 <!-- /Piwik -->
+{/literal}
 {/if}
-{* useful when working on the UI, the page generation is faster to skip other reports...
-{php}exit;{/php}*}



More information about the Piwik-svn mailing list