Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Tracker API setForceVisitDateTime should accept UNIX Timestamp as well as date time #2299

Closed
mattab opened this Issue · 4 comments

2 participants

Matthieu Aubry Julien Moumné
Matthieu Aubry
Owner

per title

Matthieu Aubry
Owner

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

Julien Moumné
Collaborator

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', )
Matthieu Aubry
Owner

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?
Matthieu Aubry
Owner

(In [5254]) Fixes #2299

Matthieu Aubry mattab added this to the 1.6 Piwik 1.6 milestone
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.