Example #1
0
	protected function postDataTableLoadedFromAPI()
	{
		parent::postDataTableLoadedFromAPI();
		Piwik_Controller::setPeriodVariablesView($this);
		$columnUniqueVisitors = false;
		if($this->period == 'day')
		{
			$columnUniqueVisitors = 'nb_uniq_visitors';
		}
		
		// only display conversion rate for the plugins that do not provide "per goal" metrics
		// otherwise, conversion rate is meaningless as a whole (since we don't process 'cross goals' conversions)
		$columnConversionRate = false;
		if(empty($this->viewProperties['show_goals']))
		{
			$columnConversionRate = 'conversion_rate';
		}
		$this->setColumnsToDisplay(array('label', 
										'nb_visits', 
										$columnUniqueVisitors, 
										'nb_actions_per_visit', 
										'avg_time_on_site', 
										'bounce_rate',
										$columnConversionRate
										));
		$this->dataTable->filter('ColumnCallbackReplace', array('avg_time_on_site', create_function('$averageTimeOnSite', 'return Piwik::getPrettyTimeFromSeconds($averageTimeOnSite);')));
	}
Example #2
0
 protected function postDataTableLoadedFromAPI()
 {
     parent::postDataTableLoadedFromAPI();
     $this->columnsToPercentageFilter[] = 'goals_conversion_rate';
     foreach ($this->columnsToPercentageFilter as $columnName) {
         $this->dataTable->filter('ColumnCallbackReplace', array($columnName, create_function('$rate', 'return $rate."%";')));
     }
     $this->dataTable->filter('ColumnCallbackReplace', array('revenue_per_visit', array("Piwik", "getPrettyMoney")));
 }
Example #3
0
 protected function postDataTableLoadedFromAPI()
 {
     parent::postDataTableLoadedFromAPI();
     Piwik_Controller::setPeriodVariablesView($this);
     $columnUniqueVisitors = false;
     if ($this->period == 'day') {
         $columnUniqueVisitors = 'nb_uniq_visitors';
     }
     $this->setColumnsToDisplay(array('label', 'nb_visits', $columnUniqueVisitors, 'nb_actions_per_visit', 'avg_time_on_site', 'bounce_rate', 'conversion_rate'));
     $this->dataTable->filter('ColumnCallbackReplace', array('avg_time_on_site', create_function('$averageTimeOnSite', 'return Piwik::getPrettyTimeFromSeconds($averageTimeOnSite);')));
 }
Example #4
0
 protected function postDataTableLoadedFromAPI()
 {
     $valid = parent::postDataTableLoadedFromAPI();
     if ($valid === false) {
         return false;
     }
     foreach ($this->getColumnsToDisplay() as $columnName) {
         if (strpos($columnName, 'conversion_rate')) {
             $this->dataTable->filter('ColumnCallbackReplace', array($columnName, create_function('$rate', 'if($rate==0) return "0%"; else return $rate;')));
         }
     }
     $this->columnsToRevenueFilter[] = 'revenue_per_visit';
     foreach ($this->columnsToRevenueFilter as $columnName) {
         $this->dataTable->filter('ColumnCallbackReplace', array($columnName, create_function('$value', 'return sprintf("%.1f",$value);')));
         $this->dataTable->filter('ColumnCallbackReplace', array($columnName, array("Piwik", "getPrettyMoney"), array($this->getIdSite())));
     }
     foreach ($this->columnsToConversionFilter as $columnName) {
         // this ensures that the value is set to zero for all rows where the value was not set (no conversion)
         $this->dataTable->filter('ColumnCallbackReplace', array($columnName, create_function('$value', 'return $value;')));
     }
     return true;
 }