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@gmail.com>2015-10-15 16:43:35 +0300
committerThomas Steur <thomas.steur@gmail.com>2015-10-15 16:43:35 +0300
commitbb80b8f831e10f037c8d2722c9967943defef95e (patch)
tree3ce0a28cb1d15148cd15d48b83a39e0c92bf38b8 /plugins/Dashboard/Dashboard.php
parent713a124cc2c118697f3f2801679bc0e2bb5c5dc3 (diff)
parent1e139be2c8c3c6f974e740dd1c9f905e8f673f98 (diff)
Merge branch 'master' into 3.0
Conflicts: CHANGELOG.md core/Plugin/Controller.php core/Version.php plugins/API/ProcessedReport.php plugins/CoreHome/CoreHome.php plugins/CoreHome/javascripts/corehome.js plugins/CoreHome/javascripts/menu.js plugins/CoreHome/javascripts/menu_init.js plugins/CoreHome/lang/en.json plugins/CoreHome/stylesheets/zen-mode.less plugins/CoreHome/templates/ReportsByDimension/_reportsByDimension.twig plugins/CoreHome/templates/_indexContent.twig plugins/CoreHome/templates/getDefaultIndexView.twig plugins/Dashboard/Menu.php plugins/Dashboard/javascripts/dashboard.js plugins/Dashboard/javascripts/dashboardObject.js plugins/Goals/templates/_titleAndEvolutionGraph.twig plugins/Goals/templates/getOverviewView.twig plugins/Morpheus/javascripts/piwikHelper.js plugins/Referrers/templates/index.twig plugins/UserCountry/templates/index.twig plugins/VisitFrequency/templates/_sparklines.twig plugins/ZenMode/ZenMode.php plugins/ZenMode/javascripts/zen-mode.js tests/PHPUnit/Fixtures/UITestFixture.php tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml tests/UI/expected-ui-screenshots tests/UI/specs/Dashboard_spec.js tests/UI/specs/Menus_spec.js tests/UI/specs/UIIntegration_spec.js
Diffstat (limited to 'plugins/Dashboard/Dashboard.php')
-rw-r--r--plugins/Dashboard/Dashboard.php81
1 files changed, 60 insertions, 21 deletions
diff --git a/plugins/Dashboard/Dashboard.php b/plugins/Dashboard/Dashboard.php
index 5a0a7cc0ec..f46bf1526f 100644
--- a/plugins/Dashboard/Dashboard.php
+++ b/plugins/Dashboard/Dashboard.php
@@ -35,35 +35,73 @@ class Dashboard extends \Piwik\Plugin
public function addWidgetConfigs(&$widgets)
{
- $dashboards = API::getInstance()->getDashboards();
-
- foreach ($dashboards as $dashboard) {
- $config = new WidgetConfig();
- $config->setIsNotWidgetizable();
- $config->setModule('Dashboard');
- $config->setAction('embeddedIndex');
- $config->setCategoryId('Dashboard_Dashboard');
- $config->setSubcategoryId($dashboard['id']);
- $config->setParameters(array('idDashboard' => $dashboard['id']));
- $widgets[] = $config;
+ if (Piwik::isUserIsAnonymous()) {
+ $this->addDefaultDashboard($widgets);
+ } else {
+ $dashboards = API::getInstance()->getDashboards();
+
+ if (empty($dashboards)) {
+ $this->addDefaultDashboard($widgets);
+ } else {
+ foreach ($dashboards as $dashboard) {
+ $config = new WidgetConfig();
+ $config->setIsNotWidgetizable();
+ $config->setModule('Dashboard');
+ $config->setAction('embeddedIndex');
+ $config->setCategoryId('Dashboard_Dashboard');
+ $config->setSubcategoryId($dashboard['id']);
+ $config->setParameters(array('idDashboard' => $dashboard['id']));
+ $widgets[] = $config;
+ }
+ }
}
}
+ private function addDefaultDashboard(&$widgets)
+ {
+ $config = new WidgetConfig();
+ $config->setIsNotWidgetizable();
+ $config->setModule('Dashboard');
+ $config->setAction('embeddedIndex');
+ $config->setCategoryId('Dashboard_Dashboard');
+ $config->setSubcategoryId('1');
+ $config->setParameters(array('idDashboard' => 1));
+ $widgets[] = $config;
+ }
+
public function addSubcategories(&$subcategories)
{
- $dashboards = API::getInstance()->getDashboards();
-
- $order = 0;
- foreach ($dashboards as $dashboard) {
- $subcategory = new Subcategory();
- $subcategory->setName($dashboard['name']);
- $subcategory->setCategoryId('Dashboard_Dashboard');
- $subcategory->setId($dashboard['id']);
- $subcategory->setOrder($order++);
- $subcategories[] = $subcategory;
+ if (Piwik::isUserIsAnonymous()) {
+ $this->addDefaultSubcategory($subcategories);
+ } else {
+ $dashboards = API::getInstance()->getDashboards();
+
+ if (empty($dashboards)) {
+ $this->addDefaultSubcategory($subcategories);
+ } else {
+ $order = 0;
+ foreach ($dashboards as $dashboard) {
+ $subcategory = new Subcategory();
+ $subcategory->setName($dashboard['name']);
+ $subcategory->setCategoryId('Dashboard_Dashboard');
+ $subcategory->setId($dashboard['id']);
+ $subcategory->setOrder($order++);
+ $subcategories[] = $subcategory;
+ }
+ }
}
}
+ private function addDefaultSubcategory(&$subcategories)
+ {
+ $subcategory = new Subcategory();
+ $subcategory->setName('Dashboard_Dashboard');
+ $subcategory->setCategoryId('Dashboard_Dashboard');
+ $subcategory->setId('1');
+ $subcategory->setOrder(1);
+ $subcategories[] = $subcategory;
+ }
+
/**
* Returns the layout in the DB for the given user, or false if the layout has not been set yet.
* Parameters must be checked BEFORE this function call
@@ -258,6 +296,7 @@ class Dashboard extends \Piwik\Plugin
$translationKeys[] = 'Dashboard_LoadingWidget';
$translationKeys[] = 'Dashboard_WidgetNotFound';
$translationKeys[] = 'Dashboard_DashboardCopied';
+ $translationKeys[] = 'Dashboard_Dashboard';
$translationKeys[] = 'General_Close';
$translationKeys[] = 'General_Refresh';
}