diff options
author | Thomas Steur <thomas.steur@gmail.com> | 2015-10-15 16:43:35 +0300 |
---|---|---|
committer | Thomas Steur <thomas.steur@gmail.com> | 2015-10-15 16:43:35 +0300 |
commit | bb80b8f831e10f037c8d2722c9967943defef95e (patch) | |
tree | 3ce0a28cb1d15148cd15d48b83a39e0c92bf38b8 /plugins/Dashboard/Dashboard.php | |
parent | 713a124cc2c118697f3f2801679bc0e2bb5c5dc3 (diff) | |
parent | 1e139be2c8c3c6f974e740dd1c9f905e8f673f98 (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.php | 81 |
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'; } |