setPeriodVariablesView($view);
$view->graphEvolutionVisitsSummary = $this->getEvolutionGraph( true, array('nb_visits') );
$this->setSparklinesAndNumbers($view);
echo $view->render();
}
public function getSparklines()
{
$view = Piwik_View::factory('sparklines');
$this->setPeriodVariablesView($view);
$this->setSparklinesAndNumbers($view);
echo $view->render();
}
public function getEvolutionGraph( $fetch = false, $columns = false)
{
$view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, "VisitsSummary.get");
if(empty($columns))
{
$columns = Piwik_Common::getRequestVar('columns');
}
$columns = !is_array($columns) ? array($columns) : $columns;
$view->setColumnsToDisplay($columns);
$doc = Piwik_Translate('VisitsSummary_VisitsSummaryDocumentation').'
'
. Piwik_Translate('General_BrokenDownReportDocumentation').'
'
. ''.Piwik_Translate('General_ColumnNbVisits').': '
. Piwik_Translate('General_ColumnNbVisitsDocumentation').'
'
. ''.Piwik_Translate('General_ColumnNbUniqVisitors').': '
. Piwik_Translate('General_ColumnNbUniqVisitorsDocumentation').'
'
. ''.Piwik_Translate('General_ColumnNbActions').': '
. Piwik_Translate('General_ColumnNbActionsDocumentation').'
'
. ''.Piwik_Translate('General_ColumnActionsPerVisit').': '
. Piwik_Translate('General_ColumnActionsPerVisitDocumentation');
$view->setReportDocumentation($doc);
return $this->renderView($view, $fetch);
}
static public function getVisitsSummary()
{
$requestString = "method=VisitsSummary.get".
"&format=original".
// we disable filters for example "search for pattern", in the case this method is called
// by a method that already calls the API with some generic filters applied
"&disable_generic_filters=1";
$request = new Piwik_API_Request($requestString);
return $request->process();
}
static public function getVisits()
{
$requestString = "method=VisitsSummary.getVisits".
"&format=original".
"&disable_generic_filters=1";
$request = new Piwik_API_Request($requestString);
return $request->process();
}
protected function setSparklinesAndNumbers($view)
{
$view->urlSparklineNbVisits = $this->getUrlSparkline( 'getEvolutionGraph', array('columns' => array('nb_visits')));
$view->urlSparklineNbActions = $this->getUrlSparkline( 'getEvolutionGraph', array('columns' => array('nb_actions')));
$view->urlSparklineAvgVisitDuration = $this->getUrlSparkline( 'getEvolutionGraph', array('columns' => array('avg_time_on_site')));
$view->urlSparklineMaxActions = $this->getUrlSparkline( 'getEvolutionGraph', array('columns' => array('max_actions')));
$view->urlSparklineActionsPerVisit = $this->getUrlSparkline( 'getEvolutionGraph', array('columns' => array('nb_actions_per_visit')));
$view->urlSparklineBounceRate = $this->getUrlSparkline( 'getEvolutionGraph', array('columns' => array('bounce_rate')));
$dataTableVisit = self::getVisitsSummary();
$dataRow = $dataTableVisit->getFirstRow();
$view->urlSparklineNbUniqVisitors = $this->getUrlSparkline( 'getEvolutionGraph', array('columns' => array('nb_uniq_visitors')));
$view->nbUniqVisitors = $dataRow->getColumn('nb_uniq_visitors');
$nbVisits = $dataRow->getColumn('nb_visits');
$view->nbVisits = $nbVisits;
$view->nbActions = $dataRow->getColumn('nb_actions');
$view->averageVisitDuration = $dataRow->getColumn('avg_time_on_site');
$nbBouncedVisits = $dataRow->getColumn('bounce_count');
$view->bounceRate = Piwik::getPercentageSafe($nbBouncedVisits, $nbVisits);
$view->maxActions = $dataRow->getColumn('max_actions');
$view->nbActionsPerVisit = $dataRow->getColumn('nb_actions_per_visit');
}
}