diff options
author | mattpiwik <matthieu.aubry@gmail.com> | 2011-04-11 04:55:30 +0400 |
---|---|---|
committer | mattpiwik <matthieu.aubry@gmail.com> | 2011-04-11 04:55:30 +0400 |
commit | 33c5d9ffad7668c73fda5c4d7e940f652aa3e9ae (patch) | |
tree | 6e3ffb9403c89913cf45cfad2589331ca31cdfe4 /plugins | |
parent | 7288e5683e688338456bd89260d6d2cc380ec25e (diff) |
Fixes #2291
git-svn-id: http://dev.piwik.org/svn/trunk@4392 59fd770c-687e-43c8-a1e3-f5a4ff64c105
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/API/API.php | 27 | ||||
-rw-r--r-- | plugins/Actions/Actions.php | 4 | ||||
-rw-r--r-- | plugins/CustomVariables/CustomVariables.php | 1 | ||||
-rw-r--r-- | plugins/Goals/Goals.php | 2 | ||||
-rw-r--r-- | plugins/Provider/Provider.php | 1 | ||||
-rw-r--r-- | plugins/Referers/Referers.php | 7 | ||||
-rw-r--r-- | plugins/UserCountry/UserCountry.php | 3 | ||||
-rw-r--r-- | plugins/UserSettings/UserSettings.php | 15 | ||||
-rw-r--r-- | plugins/VisitFrequency/VisitFrequency.php | 1 | ||||
-rw-r--r-- | plugins/VisitTime/VisitTime.php | 2 | ||||
-rw-r--r-- | plugins/VisitorInterest/VisitorInterest.php | 2 | ||||
-rw-r--r-- | plugins/VisitsSummary/VisitsSummary.php | 1 |
12 files changed, 51 insertions, 15 deletions
diff --git a/plugins/API/API.php b/plugins/API/API.php index c7f8829aca..bc58e2ac9e 100644 --- a/plugins/API/API.php +++ b/plugins/API/API.php @@ -253,6 +253,9 @@ class Piwik_API_API // Some plugins need to add custom metrics after all plugins hooked in Piwik_PostEvent('API.getReportMetadata.end', $availableReports, $idSites); + // Sort results to ensure consistent order + usort($availableReports, array($this, 'sort')); + $knownMetrics = array_merge( $this->getDefaultMetrics(), $this->getDefaultProcessedMetrics() ); foreach($availableReports as &$availableReport) { @@ -293,9 +296,11 @@ class Piwik_API_API } } $availableReport['uniqueId'] = $uniqueId; + + // Order is used to order reports internally, but not meant to be used outside + unset($availableReport['order']); } - // Sort results to ensure consistent order - usort($availableReports, array($this, 'sort')); + return $availableReports; } @@ -509,15 +514,25 @@ class Piwik_API_API } /** - * API metadata are sorted by category/name + * API metadata are sorted by category/name, + * with a little tweak to replicate the standard Piwik category ordering + * * @param string $a * @param string $b * @return int */ private function sort($a, $b) { - return ($category = strcmp($a['category'], $b['category'])) != 0 - ? $category - : strcmp($a['action'], $b['action']); + $order = array( + Piwik_Translate('VisitsSummary_VisitsSummary'), + Piwik_Translate('Actions_Actions'), + Piwik_Translate('Referers_Referers'), + Piwik_Translate('Goals_Goals'), + Piwik_Translate('General_Visitors'), + Piwik_Translate('UserSettings_VisitorSettings'), + ); + return ($category = strcmp(array_search($a['category'], $order), array_search($b['category'], $order))) == 0 + ? ($a['order'] < $b['order'] ? -1 : 1) + : $category; } } diff --git a/plugins/Actions/Actions.php b/plugins/Actions/Actions.php index 85ae6e77d2..1362b38488 100644 --- a/plugins/Actions/Actions.php +++ b/plugins/Actions/Actions.php @@ -129,6 +129,7 @@ class Piwik_Actions extends Piwik_Plugin 'dimension' => Piwik_Translate('Actions_ColumnPageURL'), 'metrics' => $metrics, 'processedMetrics' => false, + 'order' => 1, ); $reports[] = array( @@ -139,6 +140,7 @@ class Piwik_Actions extends Piwik_Plugin 'dimension' => Piwik_Translate('Actions_ColumnPageName'), 'metrics' => $metrics, 'processedMetrics' => false, + 'order' => 3, ); // Outlinks and downloads only report basic metrics @@ -153,6 +155,7 @@ class Piwik_Actions extends Piwik_Plugin 'dimension' => Piwik_Translate('Actions_ColumnClickedURL'), 'metrics' => $metrics, 'processedMetrics' => false, + 'order' => 5, ); $reports[] = array( 'category' => Piwik_Translate('Actions_Actions'), @@ -162,6 +165,7 @@ class Piwik_Actions extends Piwik_Plugin 'dimension' => Piwik_Translate('Actions_ColumnDownloadURL'), 'metrics' => $metrics, 'processedMetrics' => false, + 'order' => 7, ); } diff --git a/plugins/CustomVariables/CustomVariables.php b/plugins/CustomVariables/CustomVariables.php index e7fd487510..389f5ce0ba 100644 --- a/plugins/CustomVariables/CustomVariables.php +++ b/plugins/CustomVariables/CustomVariables.php @@ -66,6 +66,7 @@ class Piwik_CustomVariables extends Piwik_Plugin 'module' => 'CustomVariables', 'action' => 'getCustomVariables', 'dimension' => Piwik_Translate('CustomVariables_ColumnCustomVariableName'), + 'order' => 10 ), )); } diff --git a/plugins/Goals/Goals.php b/plugins/Goals/Goals.php index 015b4f016a..abe93203bd 100644 --- a/plugins/Goals/Goals.php +++ b/plugins/Goals/Goals.php @@ -78,6 +78,7 @@ class Piwik_Goals extends Piwik_Plugin 'action' => 'get', 'metrics' => $goalMetrics, 'processedMetrics' => array(), + 'order' => 1 ); /* @@ -119,6 +120,7 @@ class Piwik_Goals extends Piwik_Plugin 'parameters' => array('idGoal' => $goal['idgoal']), 'metrics' => $goalMetrics, 'processedMetrics' => false, + 'order' => 10 + $goal['idgoal'] ); } } diff --git a/plugins/Provider/Provider.php b/plugins/Provider/Provider.php index c0434e1240..30b79b2a86 100644 --- a/plugins/Provider/Provider.php +++ b/plugins/Provider/Provider.php @@ -52,6 +52,7 @@ class Piwik_Provider extends Piwik_Plugin 'module' => 'Provider', 'action' => 'getProvider', 'dimension' => Piwik_Translate('Provider_ColumnProvider'), + 'order' => 50 ); } diff --git a/plugins/Referers/Referers.php b/plugins/Referers/Referers.php index 75323f60f4..1fc22a94eb 100644 --- a/plugins/Referers/Referers.php +++ b/plugins/Referers/Referers.php @@ -60,7 +60,8 @@ class Piwik_Referers extends Piwik_Plugin 'name' => Piwik_Translate('Referers_Type'), 'module' => 'Referers', 'action' => 'getRefererType', - 'dimension' => Piwik_Translate('Referers_ColumnRefererType') + 'dimension' => Piwik_Translate('Referers_ColumnRefererType'), + 'order' => 1, ), array( 'category' => Piwik_Translate('Referers_Referers'), @@ -68,6 +69,7 @@ class Piwik_Referers extends Piwik_Plugin 'module' => 'Referers', 'action' => 'getKeywords', 'dimension' => Piwik_Translate('Referers_ColumnKeyword'), + 'order' => 3, ), array( 'category' => Piwik_Translate('Referers_Referers'), @@ -75,6 +77,7 @@ class Piwik_Referers extends Piwik_Plugin 'module' => 'Referers', 'action' => 'getWebsites', 'dimension' => Piwik_Translate('Referers_ColumnWebsite'), + 'order' => 5, ), array( 'category' => Piwik_Translate('Referers_Referers'), @@ -82,6 +85,7 @@ class Piwik_Referers extends Piwik_Plugin 'module' => 'Referers', 'action' => 'getSearchEngines', 'dimension' => Piwik_Translate('Referers_ColumnSearchEngine'), + 'order' => 7, ), array( 'category' => Piwik_Translate('Referers_Referers'), @@ -89,6 +93,7 @@ class Piwik_Referers extends Piwik_Plugin 'module' => 'Referers', 'action' => 'getCampaigns', 'dimension' => Piwik_Translate('Referers_ColumnCampaign'), + 'order' => 9, ), )); } diff --git a/plugins/UserCountry/UserCountry.php b/plugins/UserCountry/UserCountry.php index db8d80a541..8e436b7fcf 100644 --- a/plugins/UserCountry/UserCountry.php +++ b/plugins/UserCountry/UserCountry.php @@ -83,7 +83,7 @@ class Piwik_UserCountry extends Piwik_Plugin 'module' => 'UserCountry', 'action' => 'getCountry', 'dimension' => Piwik_Translate('UserCountry_Country'), - '' + 'order' => 5, ); $reports[] = array( @@ -92,6 +92,7 @@ class Piwik_UserCountry extends Piwik_Plugin 'module' => 'UserCountry', 'action' => 'getContinent', 'dimension' => Piwik_Translate('UserCountry_Continent'), + 'order' => 6, ); } diff --git a/plugins/UserSettings/UserSettings.php b/plugins/UserSettings/UserSettings.php index 69e0578bf5..30977787b3 100644 --- a/plugins/UserSettings/UserSettings.php +++ b/plugins/UserSettings/UserSettings.php @@ -74,7 +74,12 @@ class Piwik_UserSettings extends Piwik_Plugin 'config_browser_version', '1.0, 8.0, etc.',), - + array( 'UserSettings_VisitorSettings', + 'UserSettings_WidgetBrowserFamilies', + 'UserSettings', + 'getBrowserType', + 'UserSettings_ColumnBrowserFamily'), + array( 'UserSettings_VisitorSettings', 'UserSettings_WidgetPlugins', 'UserSettings', @@ -88,12 +93,6 @@ class Piwik_UserSettings extends Piwik_Plugin 'UserSettings_ColumnTypeOfScreen'), array( 'UserSettings_VisitorSettings', - 'UserSettings_WidgetBrowserFamilies', - 'UserSettings', - 'getBrowserType', - 'UserSettings_ColumnBrowserFamily'), - - array( 'UserSettings_VisitorSettings', 'UserSettings_WidgetOperatingSystems', 'UserSettings', 'getOS', @@ -134,6 +133,7 @@ class Piwik_UserSettings extends Piwik_Plugin { $reports = &$notification->getNotificationObject(); + $i = 0; foreach($this->reportMetadata as $report) { list( $category, $name, $apiModule, $apiAction, $columnName ) = $report; @@ -145,6 +145,7 @@ class Piwik_UserSettings extends Piwik_Plugin 'module' => $apiModule, 'action' => $apiAction, 'dimension' => Piwik_Translate($columnName), + 'order' => $i++, ); // getPlugin returns only a subset of metrics diff --git a/plugins/VisitFrequency/VisitFrequency.php b/plugins/VisitFrequency/VisitFrequency.php index 90626fae4e..f13cd62738 100644 --- a/plugins/VisitFrequency/VisitFrequency.php +++ b/plugins/VisitFrequency/VisitFrequency.php @@ -61,6 +61,7 @@ class Piwik_VisitFrequency extends Piwik_Plugin // 'bounce_count_returning', ), 'processedMetrics' => false, + 'order' => 40 ); } diff --git a/plugins/VisitTime/VisitTime.php b/plugins/VisitTime/VisitTime.php index b65d060c8c..c47a03463d 100644 --- a/plugins/VisitTime/VisitTime.php +++ b/plugins/VisitTime/VisitTime.php @@ -50,6 +50,7 @@ class Piwik_VisitTime extends Piwik_Plugin 'module' => 'VisitTime', 'action' => 'getVisitInformationPerLocalTime', 'dimension' => Piwik_Translate('VisitTime_ColumnLocalTime'), + 'order' => 20 ); $reports[] = array( @@ -58,6 +59,7 @@ class Piwik_VisitTime extends Piwik_Plugin 'module' => 'VisitTime', 'action' => 'getVisitInformationPerServerTime', 'dimension' => Piwik_Translate('VisitTime_ColumnServerTime'), + 'order' => 15, ); } diff --git a/plugins/VisitorInterest/VisitorInterest.php b/plugins/VisitorInterest/VisitorInterest.php index 6e7484f656..84180533f2 100644 --- a/plugins/VisitorInterest/VisitorInterest.php +++ b/plugins/VisitorInterest/VisitorInterest.php @@ -51,6 +51,7 @@ class Piwik_VisitorInterest extends Piwik_Plugin 'dimension' => Piwik_Translate('VisitorInterest_ColumnVisitDuration'), 'metrics' => array( 'nb_visits' ), 'processedMetrics' => false, + 'order' => 15 ); $reports[] = array( @@ -61,6 +62,7 @@ class Piwik_VisitorInterest extends Piwik_Plugin 'dimension' => Piwik_Translate('VisitorInterest_ColumnPagesPerVisit'), 'metrics' => array( 'nb_visits' ), 'processedMetrics' => false, + 'order' => 20 ); } diff --git a/plugins/VisitsSummary/VisitsSummary.php b/plugins/VisitsSummary/VisitsSummary.php index acbfd2d2e6..9b4cd8939d 100644 --- a/plugins/VisitsSummary/VisitsSummary.php +++ b/plugins/VisitsSummary/VisitsSummary.php @@ -61,6 +61,7 @@ class Piwik_VisitsSummary extends Piwik_Plugin // 'nb_visits_converted', ), 'processedMetrics' => false, + 'order' => 1 ); } |