mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			74 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/***************************************************
 | 
						|
  Builds and sends the actual piwik tracking request
 | 
						|
  
 | 
						|
  Copyright (c) 2015 John Hatch
 | 
						|
  Licenced under the MIT licence: http://opensource.org/licenses/MIT
 | 
						|
 ***************************************************/
 | 
						|
 | 
						|
// Source - https://github.com/johnhatch14/GMS-Extensions/blob/master/PiwikAnalyticsForGMS/GMS_PiwikAnalytics.gmx/scripts/_piwikSendReq.gml
 | 
						|
 | 
						|
//Build argument map
 | 
						|
   var args = ds_map_create();
 | 
						|
   
 | 
						|
   //-----
 | 
						|
   // Populate GET arguments to Piwik HTTP API
 | 
						|
   // See full HTTP API reference at http://developer.piwik.org/api-reference/tracking-api
 | 
						|
   //-----
 | 
						|
   
 | 
						|
   //Required args
 | 
						|
   ds_map_add(args, "idsite", string(_Piwik_idsite));
 | 
						|
   ds_map_add(args, "rec", "1");
 | 
						|
   //ds_map_add(args, "send_image", "0");
 | 
						|
   ds_map_add(args, "url", _piwikUrlEncode(_Piwik_baseurl));
 | 
						|
   
 | 
						|
   //
 | 
						|
   ds_map_add(args, "apiv", "1");
 | 
						|
   ds_map_add(args, "_id", _piwikUrlEncode(_Piwik_id));
 | 
						|
   ds_map_add(args, "rand", _piwikUrlEncode( string(round(random(999999999)+game_id)) ));
 | 
						|
   
 | 
						|
   //Pass local time to API
 | 
						|
   var ctz = date_get_timezone();
 | 
						|
   date_set_timezone(timezone_local);
 | 
						|
   var now = date_current_datetime();
 | 
						|
   ds_map_add(args, "h", _piwikUrlEncode(string(date_get_hour(now))));
 | 
						|
   ds_map_add(args, "m", _piwikUrlEncode(string(date_get_minute(now))));
 | 
						|
   ds_map_add(args, "s", _piwikUrlEncode(string(date_get_second(now))));
 | 
						|
   date_set_timezone(ctz);
 | 
						|
   
 | 
						|
   //Pass local display resolution
 | 
						|
   ds_map_add(args, "res", _piwikUrlEncode(string(display_get_width())+'x'+string(display_get_height())));
 | 
						|
   
 | 
						|
   //Pass local language
 | 
						|
   ds_map_add(args, "lang", _piwikUrlEncode(os_get_language()));
 | 
						|
   
 | 
						|
   //Pass stored values if they exist
 | 
						|
   if (_Piwik_idvc != -1)
 | 
						|
      ds_map_add(args, "_idvc", _piwikUrlEncode(string(_Piwik_idvc)));
 | 
						|
   if (_Piwik_idts != -1)
 | 
						|
      ds_map_add(args, "_idts", _piwikUrlEncode(string(_Piwik_idts)));
 | 
						|
   if (_Piwik_viewts != -1)
 | 
						|
      ds_map_add(args, "_viewts", _piwikUrlEncode(string(_Piwik_viewts)));
 | 
						|
   
 | 
						|
   //-----
 | 
						|
   // Add any other arguments passed to script in the form "param=value" to the http arg map
 | 
						|
   //-----
 | 
						|
   var arg_keyval;
 | 
						|
   for (var i=0; i<argument_count; i++)
 | 
						|
   {
 | 
						|
    arg_keyval = _piwikStringExplode(argument[i],'=');
 | 
						|
    ds_map_add(args, arg_keyval[0], _piwikUrlEncode(string(arg_keyval[1])));
 | 
						|
   }
 | 
						|
 | 
						|
//Build argument string
 | 
						|
   var argstring = "";
 | 
						|
   var prevkey = ds_map_find_first(args);
 | 
						|
   argstring += (prevkey + "=" + args[? prevkey] + "&");
 | 
						|
   repeat (ds_map_size(args)-1)
 | 
						|
   {
 | 
						|
    prevkey = ds_map_find_next(args, prevkey);
 | 
						|
    argstring += (prevkey + "=" + args[? prevkey] + "&");
 | 
						|
   }
 | 
						|
ds_map_destroy(args);
 | 
						|
 | 
						|
//Append query string to ds_list of requests to be sent at End Step. 
 | 
						|
ds_list_add(_PIWIK_REQS, "?" + argstring); |