Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Steur <thomas.steur@googlemail.com>2014-06-19 07:10:29 +0400
committerThomas Steur <thomas.steur@googlemail.com>2014-06-19 07:10:29 +0400
commite9aae52fb3bc392663ee19aa2a5f702a3ed71fbf (patch)
tree0259bfcda90bf8cafd5e95383fff4111cf70ca96
parent253b165e621953efcb692f985036e217920ba696 (diff)
make sure the ordering of reports is correct, pass an instance of a report to RenderReport
-rw-r--r--core/Menu/MenuAbstract.php25
-rw-r--r--core/Plugin/Controller.php16
-rw-r--r--plugins/CustomVariables/Controller.php9
-rw-r--r--plugins/CustomVariables/Menu.php24
-rw-r--r--plugins/CustomVariables/Reports/GetCustomVariables.php2
-rw-r--r--plugins/DBStats/Controller.php15
-rw-r--r--plugins/DevicesDetection/Controller.php15
-rw-r--r--plugins/Referrers/Controller.php12
-rw-r--r--plugins/UserCountry/Controller.php12
-rw-r--r--plugins/UserSettings/Controller.php24
-rw-r--r--plugins/VisitTime/Controller.php6
-rw-r--r--plugins/VisitorInterest/Controller.php12
12 files changed, 95 insertions, 77 deletions
diff --git a/core/Menu/MenuAbstract.php b/core/Menu/MenuAbstract.php
index cbd5c5a798..69b48f76b1 100644
--- a/core/Menu/MenuAbstract.php
+++ b/core/Menu/MenuAbstract.php
@@ -291,15 +291,34 @@ abstract class MenuAbstract extends Singleton
*/
protected function menuCompare($itemOne, $itemTwo)
{
- if (!is_array($itemOne) || !is_array($itemTwo)
- || !isset($itemOne['_order']) || !isset($itemTwo['_order'])
- ) {
+ if (!is_array($itemOne) && !is_array($itemTwo)) {
return 0;
}
+ if (!is_array($itemOne) && is_array($itemTwo)) {
+ return -1;
+ }
+
+ if (is_array($itemOne) && !is_array($itemTwo)) {
+ return 1;
+ }
+
+ if (!isset($itemOne['_order']) && !isset($itemTwo['_order'])) {
+ return 0;
+ }
+
+ if (!isset($itemOne['_order']) && isset($itemTwo['_order'])) {
+ return -1;
+ }
+
+ if (isset($itemOne['_order']) && !isset($itemTwo['_order'])) {
+ return 1;
+ }
+
if ($itemOne['_order'] == $itemTwo['_order']) {
return strcmp($itemOne['_name'], $itemTwo['_name']);
}
+
return ($itemOne['_order'] < $itemTwo['_order']) ? -1 : 1;
}
}
diff --git a/core/Plugin/Controller.php b/core/Plugin/Controller.php
index d3ae15a306..6c07c09367 100644
--- a/core/Plugin/Controller.php
+++ b/core/Plugin/Controller.php
@@ -263,18 +263,18 @@ abstract class Controller
*/
protected function renderReport($apiAction, $controllerAction = false)
{
- if ($apiAction instanceof Report) {
- $apiAction->checkIsEnabled();
+ if (empty($controllerAction) && is_string($apiAction)) {
+ $report = Report::factory($this->pluginName, $apiAction);
- return $apiAction->render();
+ if (!empty($report)) {
+ $apiAction = $report;
+ }
}
- if (empty($controllerAction)) {
- $report = Report::factory($this->pluginName, $apiAction);
+ if ($apiAction instanceof Report) {
+ $apiAction->checkIsEnabled();
- if (!empty($report) && $report->isEnabled()) {
- return $report->render();
- }
+ return $apiAction->render();
}
$pluginName = $this->pluginName;
diff --git a/plugins/CustomVariables/Controller.php b/plugins/CustomVariables/Controller.php
index 47ed06eee6..59a4a949de 100644
--- a/plugins/CustomVariables/Controller.php
+++ b/plugins/CustomVariables/Controller.php
@@ -8,16 +8,7 @@
*/
namespace Piwik\Plugins\CustomVariables;
-use Piwik\Piwik;
-use Piwik\View;
-
class Controller extends \Piwik\Plugin\Controller
{
- public function index()
- {
- return View::singleReport(
- Piwik::translate('CustomVariables_CustomVariables'),
- $this->renderReport('getCustomVariables'));
- }
}
diff --git a/plugins/CustomVariables/Menu.php b/plugins/CustomVariables/Menu.php
deleted file mode 100644
index fd2658b85e..0000000000
--- a/plugins/CustomVariables/Menu.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/**
- * Piwik - free/libre analytics platform
- *
- * @link http://piwik.org
- * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
- *
- */
-namespace Piwik\Plugins\CustomVariables;
-
-use Piwik\Db;
-use Piwik\Menu\MenuReporting;
-
-/**
- */
-class Menu extends \Piwik\Plugin\Menu
-{
-
- public function configureReportingMenu(MenuReporting $menu)
- {
- $menu->add('General_Visitors', 'CustomVariables_CustomVariables', array('module' => 'CustomVariables', 'action' => 'index'), $display = true, $order = 50);
- }
-
-}
diff --git a/plugins/CustomVariables/Reports/GetCustomVariables.php b/plugins/CustomVariables/Reports/GetCustomVariables.php
index bdfb89ea1e..b6f7e34666 100644
--- a/plugins/CustomVariables/Reports/GetCustomVariables.php
+++ b/plugins/CustomVariables/Reports/GetCustomVariables.php
@@ -24,6 +24,7 @@ class GetCustomVariables extends Base
$this->actionToLoadSubTables = 'getCustomVariablesValuesFromNameId';
$this->order = 10;
$this->widgetTitle = 'CustomVariables_CustomVariables';
+ $this->menuTitle = 'CustomVariables_CustomVariables';
}
public function configureView(ViewDataTable $view)
@@ -34,5 +35,4 @@ class GetCustomVariables extends Base
$view->requestConfig->filter_sort_column = 'nb_actions';
$view->requestConfig->filter_sort_order = 'desc';
}
-
}
diff --git a/plugins/DBStats/Controller.php b/plugins/DBStats/Controller.php
index 959a807ba6..de36313264 100644
--- a/plugins/DBStats/Controller.php
+++ b/plugins/DBStats/Controller.php
@@ -10,6 +10,11 @@ namespace Piwik\Plugins\DBStats;
use Piwik\MetricsFormatter;
use Piwik\Piwik;
+use Piwik\Plugins\DBStats\Reports\GetAdminDataSummary;
+use Piwik\Plugins\DBStats\Reports\GetDatabaseUsageSummary;
+use Piwik\Plugins\DBStats\Reports\GetMetricDataSummary;
+use Piwik\Plugins\DBStats\Reports\GetReportDataSummary;
+use Piwik\Plugins\DBStats\Reports\GetTrackerDataSummary;
use Piwik\View;
/**
@@ -29,11 +34,11 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
$view = new View('@DBStats/index');
$this->setBasicVariablesView($view);
- $view->databaseUsageSummary = $this->renderReport('getDatabaseUsageSummary');
- $view->trackerDataSummary = $this->renderReport('getTrackerDataSummary');
- $view->metricDataSummary = $this->renderReport('getMetricDataSummary');
- $view->reportDataSummary = $this->renderReport('getReportDataSummary');
- $view->adminDataSummary = $this->renderReport('getAdminDataSummary');
+ $view->databaseUsageSummary = $this->renderReport(new GetDatabaseUsageSummary());
+ $view->trackerDataSummary = $this->renderReport(new GetTrackerDataSummary());
+ $view->metricDataSummary = $this->renderReport(new GetMetricDataSummary());
+ $view->reportDataSummary = $this->renderReport(new GetReportDataSummary());
+ $view->adminDataSummary = $this->renderReport(new GetAdminDataSummary());
list($siteCount, $userCount, $totalSpaceUsed) = API::getInstance()->getGeneralInformation();
diff --git a/plugins/DevicesDetection/Controller.php b/plugins/DevicesDetection/Controller.php
index d6aa0a0f30..bb3190bf2d 100644
--- a/plugins/DevicesDetection/Controller.php
+++ b/plugins/DevicesDetection/Controller.php
@@ -13,6 +13,11 @@ use Piwik\Common;
use Piwik\Db;
use Piwik\Piwik;
use Piwik\Plugin\ControllerAdmin;
+use Piwik\Plugins\DevicesDetection\Reports\GetBrand;
+use Piwik\Plugins\DevicesDetection\Reports\GetBrowserFamilies;
+use Piwik\Plugins\DevicesDetection\Reports\GetModel;
+use Piwik\Plugins\DevicesDetection\Reports\GetOsFamilies;
+use Piwik\Plugins\DevicesDetection\Reports\GetType;
use Piwik\View;
class Controller extends \Piwik\Plugin\Controller
@@ -21,11 +26,11 @@ class Controller extends \Piwik\Plugin\Controller
{
$view = new View('@DevicesDetection/index');
$view->deviceTypes = $view->deviceModels = $view->deviceBrands = $view->osReport = $view->browserReport = "blank";
- $view->deviceTypes = $this->renderReport('getType');
- $view->deviceBrands = $this->renderReport('getBrand');
- $view->deviceModels = $this->renderReport('getModel');
- $view->osReport = $this->renderReport('getOsFamilies');
- $view->browserReport = $this->renderReport('getBrowserFamilies');
+ $view->deviceTypes = $this->renderReport(new GetType());
+ $view->deviceBrands = $this->renderReport(new GetBrand());
+ $view->deviceModels = $this->renderReport(new GetModel());
+ $view->osReport = $this->renderReport(new GetOsFamilies());
+ $view->browserReport = $this->renderReport(new GetBrowserFamilies());
return $view->render();
}
diff --git a/plugins/Referrers/Controller.php b/plugins/Referrers/Controller.php
index c366af70b0..f2b31a7066 100644
--- a/plugins/Referrers/Controller.php
+++ b/plugins/Referrers/Controller.php
@@ -14,6 +14,10 @@ use Piwik\DataTable\Map;
use Piwik\Metrics;
use Piwik\Period\Range;
use Piwik\Piwik;
+use Piwik\Plugins\Referrers\Reports\GetKeywords;
+use Piwik\Plugins\Referrers\Reports\GetSearchEngines;
+use Piwik\Plugins\Referrers\Reports\GetSocials;
+use Piwik\Plugins\Referrers\Reports\GetWebsites;
use Piwik\SettingsPiwik;
use Piwik\View;
@@ -128,16 +132,16 @@ class Controller extends \Piwik\Plugin\Controller
public function getSearchEnginesAndKeywords()
{
$view = new View('@Referrers/getSearchEnginesAndKeywords');
- $view->searchEngines = $this->renderReport('getSearchEngines');
- $view->keywords = $this->renderReport('getKeywords');
+ $view->searchEngines = $this->renderReport(new GetSearchEngines());
+ $view->keywords = $this->renderReport(new GetKeywords());
return $view->render();
}
public function indexWebsites()
{
$view = new View('@Referrers/indexWebsites');
- $view->websites = $this->renderReport('getWebsites');
- $view->socials = $this->renderReport('getSocials');
+ $view->websites = $this->renderReport(new GetWebsites());
+ $view->socials = $this->renderReport(new GetSocials());
return $view->render();
}
diff --git a/plugins/UserCountry/Controller.php b/plugins/UserCountry/Controller.php
index fb38ed2b52..483b2d844f 100644
--- a/plugins/UserCountry/Controller.php
+++ b/plugins/UserCountry/Controller.php
@@ -19,6 +19,10 @@ use Piwik\Plugins\UserCountry\LocationProvider\GeoIp;
use Piwik\Plugins\UserCountry\LocationProvider;
use Piwik\Plugins\UserCountry\LocationProvider\DefaultProvider;
use Piwik\Plugins\UserCountry\LocationProvider\GeoIp\Pecl;
+use Piwik\Plugins\UserCountry\Reports\GetCity;
+use Piwik\Plugins\UserCountry\Reports\GetContinent;
+use Piwik\Plugins\UserCountry\Reports\GetCountry;
+use Piwik\Plugins\UserCountry\Reports\GetRegion;
use Piwik\View;
/**
@@ -33,10 +37,10 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
$view->urlSparklineCountries = $this->getUrlSparkline('getLastDistinctCountriesGraph');
$view->numberDistinctCountries = $this->getNumberOfDistinctCountries(true);
- $view->dataTableCountry = $this->renderReport('getCountry');
- $view->dataTableContinent = $this->renderReport('getContinent');
- $view->dataTableRegion = $this->renderReport('getRegion');
- $view->dataTableCity = $this->renderReport('getCity');
+ $view->dataTableCountry = $this->renderReport(new GetCountry());
+ $view->dataTableContinent = $this->renderReport(new GetContinent());
+ $view->dataTableRegion = $this->renderReport(new GetRegion());
+ $view->dataTableCity = $this->renderReport(new GetCity());
return $view->render();
}
diff --git a/plugins/UserSettings/Controller.php b/plugins/UserSettings/Controller.php
index 5c3ddd5416..4f0e944672 100644
--- a/plugins/UserSettings/Controller.php
+++ b/plugins/UserSettings/Controller.php
@@ -8,6 +8,14 @@
*/
namespace Piwik\Plugins\UserSettings;
+use Piwik\Plugins\UserSettings\Reports\GetBrowser;
+use Piwik\Plugins\UserSettings\Reports\GetBrowserType;
+use Piwik\Plugins\UserSettings\Reports\GetConfiguration;
+use Piwik\Plugins\UserSettings\Reports\GetLanguage;
+use Piwik\Plugins\UserSettings\Reports\GetMobileVsDesktop;
+use Piwik\Plugins\UserSettings\Reports\GetOS;
+use Piwik\Plugins\UserSettings\Reports\GetPlugin;
+use Piwik\Plugins\UserSettings\Reports\GetResolution;
use Piwik\View;
/**
@@ -19,14 +27,14 @@ class Controller extends \Piwik\Plugin\Controller
{
$view = new View('@UserSettings/index');
- $view->dataTablePlugin = $this->renderReport('getPlugin');
- $view->dataTableResolution = $this->renderReport('getResolution');
- $view->dataTableConfiguration = $this->renderReport('getConfiguration');
- $view->dataTableOS = $this->renderReport('getOS');
- $view->dataTableBrowser = $this->renderReport('getBrowser');
- $view->dataTableBrowserType = $this->renderReport('getBrowserType');
- $view->dataTableMobileVsDesktop = $this->renderReport('getMobileVsDesktop');
- $view->dataTableBrowserLanguage = $this->renderReport('getLanguage');
+ $view->dataTablePlugin = $this->renderReport(new GetPlugin());
+ $view->dataTableResolution = $this->renderReport(new GetResolution());
+ $view->dataTableConfiguration = $this->renderReport(new GetConfiguration());
+ $view->dataTableOS = $this->renderReport(new GetOS());
+ $view->dataTableBrowser = $this->renderReport(new GetBrowser());
+ $view->dataTableBrowserType = $this->renderReport(new GetBrowserType());
+ $view->dataTableMobileVsDesktop = $this->renderReport(new GetMobileVsDesktop());
+ $view->dataTableBrowserLanguage = $this->renderReport(new GetLanguage());
return $view->render();
}
diff --git a/plugins/VisitTime/Controller.php b/plugins/VisitTime/Controller.php
index 08af238213..24bbf39a80 100644
--- a/plugins/VisitTime/Controller.php
+++ b/plugins/VisitTime/Controller.php
@@ -8,6 +8,8 @@
*/
namespace Piwik\Plugins\VisitTime;
+use Piwik\Plugins\VisitTime\Reports\GetVisitInformationPerLocalTime;
+use Piwik\Plugins\VisitTime\Reports\GetVisitInformationPerServerTime;
use Piwik\View;
/**
@@ -18,8 +20,8 @@ class Controller extends \Piwik\Plugin\Controller
public function index()
{
$view = new View('@VisitTime/index');
- $view->dataTableVisitInformationPerLocalTime = $this->renderReport('getVisitInformationPerLocalTime');
- $view->dataTableVisitInformationPerServerTime = $this->renderReport('getVisitInformationPerServerTime');
+ $view->dataTableVisitInformationPerLocalTime = $this->renderReport(new GetVisitInformationPerLocalTime());
+ $view->dataTableVisitInformationPerServerTime = $this->renderReport(new GetVisitInformationPerServerTime());
return $view->render();
}
}
diff --git a/plugins/VisitorInterest/Controller.php b/plugins/VisitorInterest/Controller.php
index 753fce592b..54de697282 100644
--- a/plugins/VisitorInterest/Controller.php
+++ b/plugins/VisitorInterest/Controller.php
@@ -8,6 +8,10 @@
*/
namespace Piwik\Plugins\VisitorInterest;
+use Piwik\Plugins\VisitorInterest\Reports\GetNumberOfVisitsByDaysSinceLast;
+use Piwik\Plugins\VisitorInterest\Reports\GetNumberOfVisitsByVisitCount;
+use Piwik\Plugins\VisitorInterest\Reports\GetNumberOfVisitsPerPage;
+use Piwik\Plugins\VisitorInterest\Reports\GetNumberOfVisitsPerVisitDuration;
use Piwik\View;
class Controller extends \Piwik\Plugin\Controller
@@ -15,10 +19,10 @@ class Controller extends \Piwik\Plugin\Controller
public function index()
{
$view = new View('@VisitorInterest/index');
- $view->dataTableNumberOfVisitsPerVisitDuration = $this->renderReport('getNumberOfVisitsPerVisitDuration');
- $view->dataTableNumberOfVisitsPerPage = $this->renderReport('getNumberOfVisitsPerPage');
- $view->dataTableNumberOfVisitsByVisitNum = $this->renderReport('getNumberOfVisitsByVisitCount');
- $view->dataTableNumberOfVisitsByDaysSinceLast = $this->renderReport('getNumberOfVisitsByDaysSinceLast');
+ $view->dataTableNumberOfVisitsPerVisitDuration = $this->renderReport(new GetNumberOfVisitsPerVisitDuration());
+ $view->dataTableNumberOfVisitsPerPage = $this->renderReport(new GetNumberOfVisitsPerPage());
+ $view->dataTableNumberOfVisitsByVisitNum = $this->renderReport(new GetNumberOfVisitsByVisitCount());
+ $view->dataTableNumberOfVisitsByDaysSinceLast = $this->renderReport(new GetNumberOfVisitsByDaysSinceLast());
return $view->render();
}
}