diff options
author | Thomas Steur <thomas.steur@googlemail.com> | 2014-05-02 07:58:39 +0400 |
---|---|---|
committer | Thomas Steur <thomas.steur@googlemail.com> | 2014-05-02 07:58:39 +0400 |
commit | 80d8d01e06650fc2699b2b99daafbe7bed3a4c26 (patch) | |
tree | 69a5fe134290d180a64441e74e566346d46ec13e /plugins/Referrers | |
parent | ce33725096d27114303c89d5b045ba09c49b6ce6 (diff) |
refs #1915 persist selected metrics and rows in referrers evolution
Diffstat (limited to 'plugins/Referrers')
-rw-r--r-- | plugins/Referrers/Controller.php | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/plugins/Referrers/Controller.php b/plugins/Referrers/Controller.php index ad896322dc..feaba305eb 100644 --- a/plugins/Referrers/Controller.php +++ b/plugins/Referrers/Controller.php @@ -28,7 +28,7 @@ class Controller extends \Piwik\Plugin\Controller { $view = new View('@Referrers/index'); - $view->graphEvolutionReferrers = $this->getEvolutionGraph(Common::REFERRER_TYPE_DIRECT_ENTRY, array('nb_visits')); + $view->graphEvolutionReferrers = $this->getEvolutionGraph(Common::REFERRER_TYPE_DIRECT_ENTRY, array(), array('nb_visits')); $view->nameGraphEvolutionReferrers = 'Referrers.getEvolutionGraph'; // building the referrers summary report @@ -254,7 +254,7 @@ class Controller extends \Piwik\Plugin\Controller Common::REFERRER_TYPE_CAMPAIGN => 'Referrers_Campaigns', ); - public function getEvolutionGraph($typeReferrer = false, array $columns = array()) + public function getEvolutionGraph($typeReferrer = false, array $columns = array(), array $defaultColumns = array()) { $view = $this->getLastUnitGraph($this->pluginName, __FUNCTION__, 'Referrers.getReferrerType'); @@ -262,11 +262,20 @@ class Controller extends \Piwik\Plugin\Controller // configure displayed columns if (empty($columns)) { - $columns = Common::getRequestVar('columns'); - $columns = Piwik::getArrayFromApiParameter($columns); + $columns = Common::getRequestVar('columns', false); + if (false !== $columns) { + $columns = Piwik::getArrayFromApiParameter($columns); + } + } + if (false !== $columns) { + $columns = !is_array($columns) ? array($columns) : $columns; + } + + if (!empty($columns)) { + $view->config->columns_to_display = $columns; + } elseif (empty($view->config->columns_to_display) && !empty($defaultColumns)) { + $view->config->columns_to_display = $defaultColumns; } - $columns = !is_array($columns) ? array($columns) : $columns; - $view->config->columns_to_display = $columns; // configure selectable columns if (Common::getRequestVar('period', false) == 'day') { @@ -291,7 +300,13 @@ class Controller extends \Piwik\Plugin\Controller } $label = self::getTranslatedReferrerTypeLabel($typeReferrer); $total = Piwik::translate('General_Total'); - $visibleRows = array($label, $total); + + if (!empty($view->config->rows_to_display)) { + $visibleRows = $view->config->rows_to_display; + } else { + $visibleRows = array($label, $total); + } + $view->requestConfig->request_parameters_to_modify['rows'] = $label . ',' . $total; } $view->config->row_picker_match_rows_by = 'label'; |