From 50f66a2e241e9c9cfc0f12bde7218c37c0b66644 Mon Sep 17 00:00:00 2001 From: mattab <matthieu.aubry@gmail.com> Date: Wed, 9 Apr 2014 14:28:45 +1200 Subject: [PATCH] Refs #472 Define event metrics translations in new hook --- core/Metrics.php | 31 ++++++++++++++++++------------- plugins/Events/Events.php | 14 +++++++++++++- 2 files changed, 31 insertions(+), 14 deletions(-) diff --git a/core/Metrics.php b/core/Metrics.php index d49d6ca9a1..c96670b938 100644 --- a/core/Metrics.php +++ b/core/Metrics.php @@ -126,7 +126,7 @@ class Metrics Metrics::INDEX_ECOMMERCE_ORDERS => 'orders', // Events - Metrics::INDEX_EVENT_NB_HITS => 'nb_hits', + Metrics::INDEX_EVENT_NB_HITS => 'nb_events', Metrics::INDEX_EVENT_SUM_EVENT_VALUE => 'sum_event_value', Metrics::INDEX_EVENT_MIN_EVENT_VALUE => 'min_event_value', Metrics::INDEX_EVENT_MAX_EVENT_VALUE => 'max_event_value', @@ -154,8 +154,6 @@ class Metrics Metrics::INDEX_NB_VISITS_CONVERTED, ); - /* Used in DataTable Sort filter */ - static public function getVisitsMetricNames() { $names = array(); @@ -219,7 +217,7 @@ class Metrics static public function getDefaultMetricTranslations() { - $trans = array( + $translations = array( 'label' => 'General_ColumnLabel', 'date' => 'General_Date', 'avg_time_on_page' => 'General_ColumnAverageTimeOnPage', @@ -241,23 +239,30 @@ class Metrics 'exit_nb_uniq_visitors' => 'General_ColumnUniqueExits', 'entry_bounce_count' => 'General_ColumnBounces', 'exit_bounce_count' => 'General_ColumnBounces', - 'exit_rate' => 'General_ColumnExitRate' + 'exit_rate' => 'General_ColumnExitRate', ); - $trans = array_map(array('\\Piwik\\Piwik','translate'), $trans); + $translations = array_map(array('\\Piwik\\Piwik','translate'), $translations); $dailySum = ' (' . Piwik::translate('General_DailySum') . ')'; $afterEntry = ' ' . Piwik::translate('General_AfterEntry'); - $trans['sum_daily_nb_uniq_visitors'] = Piwik::translate('General_ColumnNbUniqVisitors') . $dailySum; - $trans['sum_daily_entry_nb_uniq_visitors'] = Piwik::translate('General_ColumnUniqueEntrances') . $dailySum; - $trans['sum_daily_exit_nb_uniq_visitors'] = Piwik::translate('General_ColumnUniqueExits') . $dailySum; - $trans['entry_nb_actions'] = Piwik::translate('General_ColumnNbActions') . $afterEntry; - $trans['entry_sum_visit_length'] = Piwik::translate('General_ColumnSumVisitLength') . $afterEntry; + $translations['sum_daily_nb_uniq_visitors'] = Piwik::translate('General_ColumnNbUniqVisitors') . $dailySum; + $translations['sum_daily_entry_nb_uniq_visitors'] = Piwik::translate('General_ColumnUniqueEntrances') . $dailySum; + $translations['sum_daily_exit_nb_uniq_visitors'] = Piwik::translate('General_ColumnUniqueExits') . $dailySum; + $translations['entry_nb_actions'] = Piwik::translate('General_ColumnNbActions') . $afterEntry; + $translations['entry_sum_visit_length'] = Piwik::translate('General_ColumnSumVisitLength') . $afterEntry; - $trans = array_merge(self::getDefaultMetrics(), self::getDefaultProcessedMetrics(), $trans); + $translations = array_merge(self::getDefaultMetrics(), self::getDefaultProcessedMetrics(), $translations); - return $trans; + /** + * Use this event to register translations for metrics processed by your plugin. + * + * @param string $translations The array mapping of column_name => Plugin_TranslationForColumn + */ + Piwik::postEvent('Metrics.getDefaultMetricTranslations', array(&$translations)); + + return $translations; } static public function getDefaultMetrics() diff --git a/plugins/Events/Events.php b/plugins/Events/Events.php index f4a8ea0659..f27511fd70 100644 --- a/plugins/Events/Events.php +++ b/plugins/Events/Events.php @@ -20,10 +20,22 @@ class Events extends \Piwik\Plugin public function getListHooksRegistered() { return array( - 'API.getSegmentDimensionMetadata' => 'getSegmentsMetadata', + 'API.getSegmentDimensionMetadata' => 'getSegmentsMetadata', + 'Metrics.getDefaultMetricTranslations' => 'getDefaultMetricTranslations', ); } + public function getDefaultMetricTranslations(&$translations) + { + $eventTranslations = array( + 'nb_events' => 'Events_TotalEvents', + 'sum_event_value' => 'Events_TotalValue', + 'min_event_value' => 'Events_MinValue', + 'max_event_value' => 'Events_MaxValue', + ); + $translations = array_merge($translations, $eventTranslations); + } + public function getSegmentsMetadata(&$segments) { $sqlFilter = '\\Piwik\\Tracker\\TableLogAction::getIdActionFromSegment'; -- GitLab