When I call
index.php?module=VisitTime&action=getVisitInformationPerServerTime&idSite=2&period=day&date=last30&token_auth=xxx&viewDataTable=generateDataChartVerticalBar
this resutls in an error message:
Fatal error: Call to undefined method Piwik_DataTable_Array::getColumn() in /Users/typo3felix/Sites/piwik/core/ViewDataTable/GenerateGraphData.php on line 133
I tested this on PHP 5.2.12 and 5.3.1 using Piwik 0.5.4.
Interesting.. is this a regression from loading the graph data inline?
What is the use case that you are querying this data? Do you still have the old client side code doing the data fetch on page load?
Not a regression. The problem is that date=last30 and the expectation that the results should be summed up for the date range.
I got the same error message on another query with a date range. This iframe:
<iframe width="100%" height="350" src="http://HOSTNAME/index.php?module=Widgetize&action=iframe&moduleToWidgetize=UserSettings&actionToWidgetize=getBrowserType&idSite=2&period=day&date=2010-02-08,2010-02-11&disableLink=1" scrolling="auto" frameborder="0" marginheight="0" marginwidth="0"></iframe>
produced the error message:
Fatal error: Call to undefined method Piwik_DataTable_Array::getColumn() in /var/www/SITE/piwik/core/ViewDataTable/GenerateGraphData.php on line 133
If I change date=2010-02-08,2010-02-11 to date=2010-02-08 then the error does not appear. I was expecting to get data summarized over the entire date range.
This is with Piwik 0.5.4 and PHP 5.2.10 on CentOS 5.4.
I bypassed the Widgetize module and queried the UserSettings modules as follows:
This query returned data fine. It does return data grouped by each day in the date range. With the previously mentioned iframe I wanted data summarized over the entire period. Perhaps there should be (or is) an API call that returns the data grouped over the entire date range.
PS: I hope I didn't take focus away from the original problem reported in this ticket. The error message was the same so I thought it was the same problem.
not a bug, to get aggregated data over a period, you need to set period=week or month or year, and day being any day in the date range. This is until #572 (custom date range) is implemented.