@mattab opened this Issue on April 11th 2011 Member

per title

@mattab commented on April 11th 2011 Member

(In [4411]) Fixes #2299, refs #2172 (in case it is easier for you, now the function will accept a timestamp as well)

@julienmoumne commented on September 6th 2011 Member

On my box, PHP 5.3.5, Windows 7x64, http://dev.piwik.org/trac/browser/tags/1.5.2b4/core/Tracker/Visit.php#L66 returns true when an unix timestamp is provided.

is_int(123) = true
is_int("123") = false

The timestamp is therefore fed to strtotime which returns false.

The tracking output confirms the problem :

Current datetime: 1970-01-01 00:00:00

And the tracking process fails with the following error :

Error query: SQLSTATE[22003]: Numeric value out of range: 1264 Out of range value for column 'visit_total_time' at row 1 In query: UPDATE piwik_log_visit SET visit_total_actions = visit_total_actions + 1, visit_exit_idaction_url = ?, visit_exit_idaction_name = ?, visit_last_action_time = ?, visit_total_time = ?, visit_goal_buyer = ? WHERE idsite = ? AND idvisit = ? Parameters: array ( 0 => 5, 1 => 1, 2 => '1970-01-01 00:00:00', 3 => -1302306504, 4 => '0', 5 => 1, 6 => '20', )
@mattab commented on September 13th 2011 Member

Also http://forum.piwik.org/read.php?2,80273


$t->setForceVisitDateTime(date("Y-m-d H:i:s", 1296546002))

This is being rendered as:

cdt=2011-02-01+07%3A40%3A02

rather than

cdt=2011-02-01%2007%3A40%3A02

I believe the setForceVisitDateTime() function is adding the +. 
  • must clarify API and provide better examples maybe?
@mattab commented on September 28th 2011 Member

(In [5254]) Fixes #2299

This Issue was closed on September 28th 2011
Powered by GitHub Issue Mirror