Yay! I fixed sparklines for VisitsSummary!
I did a dirty hack here: /trunk/plugins/VisitsSummary/Controller.php, line 110
This is the new code of the setSparklinesAndNumbers() method:
protected function setSparklinesAndNumbers($view)
{
[u]$idSite = Piwik_Common::getRequestVar('idSite');[/u]
[u]$period = Piwik_Common::getRequestVar('period');[/u]
$view->urlSparklineNbVisits = $this->getUrlSparkline( 'getEvolutionGraph', array([b]'idSite' => $idSite, 'period' => $period,[/b] 'columns' => $view->displayUniqueVisitors ? array('nb_visits', 'nb_uniq_visitors') : array('nb_visits')));
$view->urlSparklineNbPageviews = $this->getUrlSparkline( 'getEvolutionGraph', array([b]'idSite' => $idSite, 'period' => $period,[/b] 'columns' => array('nb_pageviews', 'nb_uniq_pageviews')));
$view->urlSparklineNbDownloads = $this->getUrlSparkline( 'getEvolutionGraph', array([b]'idSite' => $idSite, 'period' => $period,[/b] 'columns' => array('nb_downloads', 'nb_uniq_downloads')));
$view->urlSparklineNbOutlinks = $this->getUrlSparkline( 'getEvolutionGraph', array([b]'idSite' => $idSite, 'period' => $period,[/b] 'columns' => array('nb_outlinks', 'nb_uniq_outlinks')));
$view->urlSparklineAvgVisitDuration = $this->getUrlSparkline( 'getEvolutionGraph', array([b]'idSite' => $idSite, 'period' => $period,[/b] 'columns' => array('avg_time_on_site')));
$view->urlSparklineMaxActions = $this->getUrlSparkline( 'getEvolutionGraph', array([b]'idSite' => $idSite, 'period' => $period,[/b] 'columns' => array('max_actions')));
$view->urlSparklineActionsPerVisit = $this->getUrlSparkline( 'getEvolutionGraph', array([b]'idSite' => $idSite, 'period' => $period,[/b] 'columns' => array('nb_actions_per_visit')));
$view->urlSparklineBounceRate = $this->getUrlSparkline( 'getEvolutionGraph', array([b]'idSite' => $idSite, 'period' => $period,[/b] 'columns' => array('bounce_rate')));
$displaySiteSearch = Piwik_Site::isSiteSearchEnabledFor($idSite);
if($displaySiteSearch)
{
$view->urlSparklineNbSearches = $this->getUrlSparkline( 'getEvolutionGraph', array([b]'idSite' => $idSite, 'period' => $period,[/b] 'columns' => array('nb_searches', 'nb_keywords')));
}
$view->displaySiteSearch = $displaySiteSearch;
$dataTableVisit = self::getVisitsSummary();
$dataRow = $dataTableVisit->getRowsCount() == 0 ? new Piwik_DataTable_Row() : $dataTableVisit->getFirstRow();
$dataTableActions = Piwik_Actions_API::getInstance()->get($idSite, $period, Piwik_Common::getRequestVar('date'), Piwik_Common::getRequestVar('segment',false));
$dataActionsRow =
$dataTableActions->getRowsCount() == 0 ? new Piwik_DataTable_Row() : $dataTableActions->getFirstRow();
$view->nbUniqVisitors = (int)$dataRow->getColumn('nb_uniq_visitors');
$nbVisits = (int)$dataRow->getColumn('nb_visits');
$view->nbVisits = $nbVisits;
$view->nbPageviews = (int)$dataActionsRow->getColumn('nb_pageviews');
$view->nbUniquePageviews = (int)$dataActionsRow->getColumn('nb_uniq_pageviews');
$view->nbDownloads = (int)$dataActionsRow->getColumn('nb_downloads');
$view->nbUniqueDownloads = (int)$dataActionsRow->getColumn('nb_uniq_downloads');
$view->nbOutlinks = (int)$dataActionsRow->getColumn('nb_outlinks');
$view->nbUniqueOutlinks = (int)$dataActionsRow->getColumn('nb_uniq_outlinks');
$view->averageVisitDuration = $dataRow->getColumn('avg_time_on_site');
$nbBouncedVisits = $dataRow->getColumn('bounce_count');
$view->bounceRate = Piwik::getPercentageSafe($nbBouncedVisits, $nbVisits);
$view->maxActions = (int)$dataRow->getColumn('max_actions');
$view->nbActionsPerVisit = $dataRow->getColumn('nb_actions_per_visit');
if($displaySiteSearch)
{
$view->nbSearches = (int)$dataActionsRow->getColumn('nb_searches');
$view->nbKeywords = (int)$dataActionsRow->getColumn('nb_keywords');
}
// backward compatibility:
// show actions if the finer metrics are not archived
$view->showOnlyActions = false;
if ( $dataActionsRow->getColumn('nb_pageviews')
+ $dataActionsRow->getColumn('nb_downloads')
+ $dataActionsRow->getColumn('nb_outlinks') == 0
&& $dataRow->getColumn('nb_actions') > 0)
{
$view->showOnlyActions = true;
$view->nbActions = $dataRow->getColumn('nb_actions');
$view->urlSparklineNbActions = $this->getUrlSparkline('getEvolutionGraph', array([b]'idSite' => $idSite, 'period' => $period,[/b] 'columns' => array('nb_actions')));
}
}