public function setColumnsToDisplay($columnsNames) { $newColumnsNames = array(); foreach($columnsNames as $columnName) { if($columnName == 'goal_%s_conversion_rate') { $goals = Piwik_Goals_API::getGoals( $this->getIdSite() ); foreach($goals as $goal) { $idgoal = $goal['idgoal']; $name = $goal['name']; $columnName = 'goal_'.$idgoal.'_conversion_rate'; $newColumnsNames[] = $columnName; $this->setColumnTranslation($columnName, $name); $this->columnsToPercentageFilter[] = $columnName; } } else { $newColumnsNames[] = $columnName; } } parent::setColumnsToDisplay($newColumnsNames); }
public function setColumnsToDisplay($columnsNames) { $newColumnsNames = array(); $goals = array(); $idSite = $this->getIdSite(); if ($idSite) { $goals = Piwik_Goals_API::getInstance()->getGoals($idSite); } foreach ($columnsNames as $columnName) { if (in_array($columnName, array('goal_%s_conversion_rate', 'goal_%s_nb_conversions', 'goal_%s_revenue_per_visit'))) { foreach ($goals as $goal) { $idgoal = $goal['idgoal']; if ($this->processOnlyIdGoal > Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal::GOALS_FULL_TABLE && $this->processOnlyIdGoal != $idgoal) { continue; } $name = Piwik_Translate($this->getColumnTranslation($columnName), $goal['name']); $columnNameGoal = str_replace('%s', $idgoal, $columnName); $this->setColumnTranslation($columnNameGoal, $name); if (strstr($columnNameGoal, '_rate') === false && $this->processOnlyIdGoal == Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal::GOALS_OVERVIEW) { continue; } if (strstr($columnNameGoal, '_revenue') !== false) { $this->columnsToRevenueFilter[] = $columnNameGoal; } else { $this->columnsToConversionFilter[] = $columnNameGoal; } $newColumnsNames[] = $columnNameGoal; } } else { $newColumnsNames[] = $columnName; } } parent::setColumnsToDisplay($newColumnsNames); }
/** Logins overview */ public function getLoginsTable($return = false) { $view = new Piwik_ViewDataTable_HtmlTable(); $view->init($this->pluginName, __FUNCTION__, 'SiteUsers.getLogins'); $columns = array('username', 'iduser', 'total_logins', 'visits_with_logins', 'duration'); foreach ($columns as $column) { $view->setColumnTranslation($column, Piwik_Translate('SiteUsers_Col_' . $column)); } $view->setColumnsToDisplay($columns); $view->setSortedColumn('total_logins', 'desc'); $view->disableFooter(); $result = $this->renderView($view, true); if ($return) { return $result; } echo $result; }
public function setColumnsToDisplay($columnsNames) { $newColumnsNames = array(); $goals = array(); $idSite = $this->getIdSite(); if ($idSite) { $goals = Piwik_Goals_API::getInstance()->getGoals($idSite); $ecommerceGoal = array('idgoal' => Piwik_Archive::LABEL_ECOMMERCE_ORDER, 'name' => Piwik_Translate('Goals_EcommerceOrder')); $site = new Piwik_Site($idSite); //Case Ecommerce report table if ($this->isEcommerce) { $goals = array($ecommerceGoal); } elseif ($site->isEcommerceEnabled()) { $goals = array_merge(array($ecommerceGoal), $goals); } } foreach ($columnsNames as $columnName) { if (in_array($columnName, array('goal_%s_conversion_rate', 'goal_%s_nb_conversions', 'goal_%s_revenue_per_visit', 'goal_%s_revenue', 'goal_%s_avg_order_revenue', 'goal_%s_items'))) { foreach ($goals as $goal) { $idgoal = $goal['idgoal']; if ($this->processOnlyIdGoal > Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal::GOALS_FULL_TABLE && $this->processOnlyIdGoal != $idgoal && !$this->isEcommerce) { continue; } $name = Piwik_Translate($this->getColumnTranslation($columnName), $goal['name']); $columnNameGoal = str_replace('%s', $idgoal, $columnName); $this->setColumnTranslation($columnNameGoal, $name); $this->setDynamicMetricDocumentation($columnName, $columnNameGoal, $goal['name'], $goal['idgoal']); if (strpos($columnNameGoal, '_rate') === false && $this->processOnlyIdGoal == Piwik_DataTable_Filter_AddColumnsProcessedMetricsGoal::GOALS_OVERVIEW) { continue; } if (strstr($columnNameGoal, '_revenue') !== false) { $this->columnsToRevenueFilter[] = $columnNameGoal; } else { $this->columnsToConversionFilter[] = $columnNameGoal; } $newColumnsNames[] = $columnNameGoal; } } else { $newColumnsNames[] = $columnName; } } parent::setColumnsToDisplay($newColumnsNames); }