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-05-20 10:10:27 +0400
committerThomas Steur <thomas.steur@googlemail.com>2014-05-20 10:10:27 +0400
commit307ec31f2cfebd9c8bf9caba575e2864d42c8597 (patch)
tree2d6120c412b272344d204e9947fb3859bb7b3aa7
parent45ae10e999baf0dfa066e5daae00bca824a68191 (diff)
refs #5192 added generator for menus, updated more plugins to use menu class, fixed some bugs, improved design, fixed tests, ...
-rw-r--r--core/Menu/MenuAbstract.php17
-rw-r--r--plugins/CoreConsole/Commands/GenerateMenu.php58
-rw-r--r--plugins/CoreHome/angularjs/menudropdown/menudropdown-directive.js11
-rw-r--r--plugins/CoreHome/angularjs/menudropdown/menudropdown.html2
-rw-r--r--plugins/CoreHome/angularjs/menudropdown/menudropdown.less13
-rw-r--r--plugins/CoreHome/stylesheets/coreHome.less5
-rw-r--r--plugins/CoreHome/templates/_topBarHelloMenu.twig10
-rw-r--r--plugins/DevicesDetection/Menu.php2
-rw-r--r--plugins/Events/Menu.php2
-rw-r--r--plugins/ExamplePlugin/Menu.php43
-rw-r--r--plugins/ExampleUI/Menu.php (renamed from plugins/ExampleUI/ExampleUI.php)29
-rw-r--r--plugins/Feedback/Menu.php2
-rw-r--r--plugins/Goals/Goals.php42
-rw-r--r--plugins/Goals/Menu.php69
-rw-r--r--plugins/Installation/Installation.php12
-rw-r--r--plugins/Installation/Menu.php23
-rw-r--r--plugins/LanguagesManager/LanguagesManager.php12
-rw-r--r--plugins/LanguagesManager/Menu.php24
-rw-r--r--plugins/Live/Live.php6
-rw-r--r--plugins/Live/Menu.php19
-rw-r--r--plugins/MobileMessaging/Menu.php25
-rw-r--r--plugins/MobileMessaging/MobileMessaging.php11
-rw-r--r--plugins/MultiSites/Menu.php23
-rw-r--r--plugins/MultiSites/MultiSites.php10
-rw-r--r--plugins/PrivacyManager/Menu.php23
-rw-r--r--plugins/PrivacyManager/PrivacyManager.php11
-rw-r--r--plugins/Provider/Menu.php20
-rw-r--r--plugins/Provider/Provider.php9
-rw-r--r--plugins/Referrers/Menu.php23
-rw-r--r--plugins/Referrers/Referrers.php15
-rw-r--r--plugins/ScheduledReports/Menu.php16
-rw-r--r--plugins/ScheduledReports/ScheduledReports.php2
-rw-r--r--plugins/SitesManager/Menu.php23
-rw-r--r--plugins/SitesManager/SitesManager.php12
-rw-r--r--plugins/UserCountry/Menu.php31
-rw-r--r--plugins/UserCountry/UserCountry.php21
-rw-r--r--plugins/UserCountryMap/Menu.php20
-rw-r--r--plugins/UserCountryMap/UserCountryMap.php11
-rw-r--r--plugins/UserSettings/Menu.php19
-rw-r--r--plugins/UserSettings/UserSettings.php11
-rw-r--r--plugins/UsersManager/Menu.php27
-rw-r--r--plugins/UsersManager/UsersManager.php17
-rw-r--r--plugins/VisitFrequency/Menu.php20
-rw-r--r--plugins/VisitFrequency/VisitFrequency.php9
-rw-r--r--plugins/VisitTime/Menu.php20
-rw-r--r--plugins/VisitTime/VisitTime.php9
-rw-r--r--plugins/VisitorInterest/Menu.php20
-rw-r--r--plugins/VisitorInterest/VisitorInterest.php17
-rw-r--r--plugins/VisitsSummary/Menu.php20
-rw-r--r--plugins/VisitsSummary/VisitsSummary.php8
-rw-r--r--tests/PHPUnit/Integration/Plugins/ScheduledReportsTest.php25
51 files changed, 635 insertions, 294 deletions
diff --git a/core/Menu/MenuAbstract.php b/core/Menu/MenuAbstract.php
index 02d76b2ce5..ebdf22b5fd 100644
--- a/core/Menu/MenuAbstract.php
+++ b/core/Menu/MenuAbstract.php
@@ -9,6 +9,7 @@
namespace Piwik\Menu;
use Piwik\Common;
+use Piwik\Log;
use Piwik\Plugins\SitesManager\API;
use Piwik\Singleton;
use Piwik\Plugin\Manager as PluginManager;
@@ -84,7 +85,12 @@ abstract class MenuAbstract extends Singleton
$klassName = sprintf('Piwik\\Plugins\\%s\\Menu', $pluginName);
- if (!class_exists($klassName) || !is_subclass_of($klassName, 'Piwik\\Plugin\\Menu')) {
+ if (!class_exists($klassName)) {
+ return;
+ }
+
+ if (!is_subclass_of($klassName, 'Piwik\\Plugin\\Menu')) {
+ Log::warning(sprintf('Cannot use menu for plugin %s, class %s does not extend Piwik\Plugin\Menu', $pluginName, $klassName));
return;
}
@@ -125,6 +131,13 @@ abstract class MenuAbstract extends Singleton
);
}
+ /**
+ * Removes an existing entry from the menu.
+ *
+ * @param string $menuName The menu's category name. Can be a translation token.
+ * @param bool|string $subMenuName The menu item's name. Can be a translation token.
+ * @api
+ */
public function remove($menuName, $subMenuName = false)
{
$this->menuEntriesToRemove[] = array(
@@ -157,6 +170,7 @@ abstract class MenuAbstract extends Singleton
$this->menu[$menuName][$subMenuName]['_url'] = $url;
$this->menu[$menuName][$subMenuName]['_order'] = $order;
$this->menu[$menuName][$subMenuName]['_name'] = $subMenuName;
+ $this->menu[$menuName][$subMenuName]['_tooltip'] = $tooltip;
$this->menu[$menuName]['_hasSubmenu'] = true;
$this->menu[$menuName]['_tooltip'] = $tooltip;
}
@@ -179,6 +193,7 @@ abstract class MenuAbstract extends Singleton
* @param $subMenuOriginal
* @param $mainMenuRenamed
* @param $subMenuRenamed
+ * @api
*/
public function rename($mainMenuOriginal, $subMenuOriginal, $mainMenuRenamed, $subMenuRenamed)
{
diff --git a/plugins/CoreConsole/Commands/GenerateMenu.php b/plugins/CoreConsole/Commands/GenerateMenu.php
new file mode 100644
index 0000000000..18f2b4dd0e
--- /dev/null
+++ b/plugins/CoreConsole/Commands/GenerateMenu.php
@@ -0,0 +1,58 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+
+namespace Piwik\Plugins\CoreConsole\Commands;
+
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Input\InputOption;
+use Symfony\Component\Console\Output\OutputInterface;
+
+/**
+ */
+class GenerateMenu extends GeneratePluginBase
+{
+ protected function configure()
+ {
+ $this->setName('generate:menu')
+ ->setDescription('Adds a plugin menu class to an existing plugin')
+ ->addOption('pluginname', null, InputOption::VALUE_REQUIRED, 'The name of an existing plugin which does not have a menu defined yet');
+ }
+
+ protected function execute(InputInterface $input, OutputInterface $output)
+ {
+ $pluginName = $this->getPluginName($input, $output);
+
+ $exampleFolder = PIWIK_INCLUDE_PATH . '/plugins/ExamplePlugin';
+ $replace = array('ExamplePlugin' => $pluginName);
+ $whitelistFiles = array('/Menu.php');
+
+ $this->copyTemplateToPlugin($exampleFolder, $pluginName, $replace, $whitelistFiles);
+
+ $this->writeSuccessMessage($output, array(
+ sprintf('Menu.php for %s generated.', $pluginName),
+ 'You can now start defining your plugin menu',
+ 'Enjoy!'
+ ));
+ }
+
+ /**
+ * @param InputInterface $input
+ * @param OutputInterface $output
+ * @return array
+ * @throws \RunTimeException
+ */
+ protected function getPluginName(InputInterface $input, OutputInterface $output)
+ {
+ $pluginNames = $this->getPluginNamesHavingNotSpecificFile('Menu.php');
+ $invalidName = 'You have to enter the name of an existing plugin which does not already have a menu defined';
+
+ return $this->askPluginNameAndValidate($input, $output, $pluginNames, $invalidName);
+ }
+
+}
diff --git a/plugins/CoreHome/angularjs/menudropdown/menudropdown-directive.js b/plugins/CoreHome/angularjs/menudropdown/menudropdown-directive.js
index b599f40e70..68c6d5171d 100644
--- a/plugins/CoreHome/angularjs/menudropdown/menudropdown-directive.js
+++ b/plugins/CoreHome/angularjs/menudropdown/menudropdown-directive.js
@@ -7,10 +7,11 @@
/**
* Usage:
- * <div piwik-menudropdown title="MyMenuItem">
- * <a class="item" href="/url"></a>
- * <a class="item active">test</a>
- * <a class="item disabled">-------</a>
+ * <div piwik-menudropdown menu-title="MyMenuItem">
+ * <a class="item" href="/url">An Item</a>
+ * <a class="item disabled">Disabled</a>
+ * <a class="item active">Active item</a>
+ * <hr class="item separator"/>
* <a class="item" href="/url"></a>
* </div>
*/
@@ -21,7 +22,7 @@ angular.module('piwikApp').directive('piwikMenudropdown', function(){
replace: true,
restrict: 'A',
scope: {
- title: '@'
+ menuTitle: '@'
},
templateUrl: 'plugins/CoreHome/angularjs/menudropdown/menudropdown.html?cb=' + piwik.cacheBuster
};
diff --git a/plugins/CoreHome/angularjs/menudropdown/menudropdown.html b/plugins/CoreHome/angularjs/menudropdown/menudropdown.html
index c7a4e715aa..539db4d99c 100644
--- a/plugins/CoreHome/angularjs/menudropdown/menudropdown.html
+++ b/plugins/CoreHome/angularjs/menudropdown/menudropdown.html
@@ -2,7 +2,7 @@
<span class="title"
ng-click="view.showItems=!view.showItems"
- >{{ title }}</span>
+ ng-bind-html="menuTitle"/>
<div class="items" ng-show="view.showItems" ng-transclude></div>
diff --git a/plugins/CoreHome/angularjs/menudropdown/menudropdown.less b/plugins/CoreHome/angularjs/menudropdown/menudropdown.less
index 941db9ac66..39d3352e89 100644
--- a/plugins/CoreHome/angularjs/menudropdown/menudropdown.less
+++ b/plugins/CoreHome/angularjs/menudropdown/menudropdown.less
@@ -28,8 +28,10 @@
.items {
z-index: 21;
position: absolute;
- max-width: 200px;
border: 1px solid @color-silver-l80 !important;
+ -webkit-border-radius: 4px;
+ -moz-border-radius: 4px;
+ border-radius: 4px;
background: @theme-color-background-base;
max-height: 400px;
overflow-y: auto;
@@ -40,7 +42,7 @@
display: block;
color: @theme-color-text !important;
text-decoration: none !important;
- padding: 1px 25px 1px 3px !important;
+ padding: 6px 25px 6px 6px !important;
&:hover {
background: @color-silver-l80;
@@ -51,6 +53,13 @@
cursor: default;
}
+ &.separator {
+ padding: 0px !important;
+ border-bottom: 0px;
+ margin: 0px;
+ }
+
+ &.separator,
&.disabled {
opacity: 0.5;
cursor: default;
diff --git a/plugins/CoreHome/stylesheets/coreHome.less b/plugins/CoreHome/stylesheets/coreHome.less
index ea2e0b228f..f10476568d 100644
--- a/plugins/CoreHome/stylesheets/coreHome.less
+++ b/plugins/CoreHome/stylesheets/coreHome.less
@@ -217,6 +217,11 @@ a.Piwik_Popover_Error_Back {
}
}
+#userMenu .items {
+ margin-left: -105px;
+ width: 150px;
+}
+
#updateCheckLinkContainer {
opacity: 0.7;
}
diff --git a/plugins/CoreHome/templates/_topBarHelloMenu.twig b/plugins/CoreHome/templates/_topBarHelloMenu.twig
index 90ca8161a3..89f1fcb52b 100644
--- a/plugins/CoreHome/templates/_topBarHelloMenu.twig
+++ b/plugins/CoreHome/templates/_topBarHelloMenu.twig
@@ -1,9 +1,9 @@
<div id="topRightBar">
{% set helloAlias %}
{% if userAlias is not empty %}
- {{ userAlias }}
+ {{ userAlias|raw }}
{% else %}
- {{ userLogin }}
+ {{ userLogin|raw }}
{% endif %}
{% endset %}
@@ -21,7 +21,9 @@
{% endmacro %}
<span class="topBarElem">
- <div title="{{ helloAlias|trim|raw }}"
+ <div id="userMenu"
+ title="{{ 'General_HelloUser'|translate(helloAlias|trim)|raw }}"
+ menu-title="{{ helloAlias|trim }}"
piwik-menudropdown>
{% if userLogin != 'anonymous' %}
@@ -35,7 +37,7 @@
{% for lev1UserLabel,lev1UserMenu in userMenu if lev1UserLabel|slice(0,1) != '_' %}
{% if userLogin != 'anonymous' or not loop.first %}
- <span class="item disabled">--------</span>
+ <hr class="item separator"/>
{% endif %}
{% if lev1UserMenu._hasSubmenu is defined and lev1UserMenu._hasSubmenu %}
diff --git a/plugins/DevicesDetection/Menu.php b/plugins/DevicesDetection/Menu.php
index c67778a5b4..2b2f06ed78 100644
--- a/plugins/DevicesDetection/Menu.php
+++ b/plugins/DevicesDetection/Menu.php
@@ -26,7 +26,7 @@ class Menu extends \Piwik\Plugin\Menu
);
}
- public function configureReporingMenu(MenuReporting $menu)
+ public function configureReportingMenu(MenuReporting $menu)
{
$menu->add('General_Visitors', 'DevicesDetection_submenu', array('module' => 'DevicesDetection', 'action' => 'index'));
}
diff --git a/plugins/Events/Menu.php b/plugins/Events/Menu.php
index 1a0585a5cd..78c9b0bc9b 100644
--- a/plugins/Events/Menu.php
+++ b/plugins/Events/Menu.php
@@ -14,7 +14,7 @@ use Piwik\Menu\MenuReporting;
*/
class Menu extends \Piwik\Plugin\Menu
{
- public function configureReporingMenu(MenuReporting $menu)
+ public function configureReportingMenu(MenuReporting $menu)
{
$menu->add('General_Actions', 'Events_Events', array('module' => 'Events', 'action' => 'index'), true, 30);
}
diff --git a/plugins/ExamplePlugin/Menu.php b/plugins/ExamplePlugin/Menu.php
new file mode 100644
index 0000000000..de2b1ea9fb
--- /dev/null
+++ b/plugins/ExamplePlugin/Menu.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\ExamplePlugin;
+
+use Piwik\Menu\MenuAdmin;
+use Piwik\Menu\MenuReporting;
+use Piwik\Menu\MenuTop;
+use Piwik\Menu\MenuUser;
+
+/**
+ * This class allows you to add, remove or rename menu items.
+ * To configure a menu (such as Admin Menu, Reporting Menu, User Menu...) simply call the corresponding methods as
+ * described in the API-Reference http://developer.piwik.org/api-reference/Piwik/Menu/MenuAbstract
+ */
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureReportingMenu(MenuReporting $menu)
+ {
+ // $menu->add('UI Framework', '', array('module' => 'ExamplePlugin', 'action' => ''), true, $orderId = 30);
+ // $menu->add('UI Framework', 'Report 1', array('module' => 'ExamplePlugin', 'action' => 'report1'), true, $orderId = 30);
+ }
+
+ public function configureAdminMenu(MenuAdmin $menu)
+ {
+ // $menu->add('General_Settings', 'My Admin Item', array('module' => 'ExamplePlugin', 'action' => ''), true, $orderId = 30);
+ }
+
+ public function configureTopMenu(MenuTop $menu)
+ {
+ // $menu->add('My Top Item', null, array('module' => 'ExamplePlugin', 'action' => ''), true, $orderId = 30);
+ }
+
+ public function configureUserMenu(MenuUser $menu)
+ {
+ // $menu->add('CoreAdminHome_MenuManage', 'My User Item', array('module' => 'ExamplePlugin', 'action' => ''), true, $orderId = 30);
+ }
+}
diff --git a/plugins/ExampleUI/ExampleUI.php b/plugins/ExampleUI/Menu.php
index d9204abca8..c2b61f6e2d 100644
--- a/plugins/ExampleUI/ExampleUI.php
+++ b/plugins/ExampleUI/Menu.php
@@ -6,28 +6,17 @@
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/
-
namespace Piwik\Plugins\ExampleUI;
-use Piwik\Menu\MenuAbstract;
-use Piwik\Menu\MenuMain;
+
+use Piwik\Menu\MenuReporting;
use Piwik\Menu\MenuTop;
+use Piwik\Plugin\Manager as PluginManager;
/**
*/
-class ExampleUI extends \Piwik\Plugin
+class Menu extends \Piwik\Plugin\Menu
{
- /**
- * @see Piwik\Plugin::getListHooksRegistered
- */
- public function getListHooksRegistered()
- {
- return array(
- 'Menu.Reporting.addItems' => 'addReportingMenuItems',
- 'Menu.Top.addItems' => 'addTopMenuItems',
- );
- }
-
- function addReportingMenuItems(MenuAbstract $menu)
+ public function configureReportingMenu(MenuReporting $menu)
{
$menu->add('UI Framework', '', array('module' => 'ExampleUI', 'action' => 'dataTables'), true, 30);
@@ -38,18 +27,18 @@ class ExampleUI extends \Piwik\Plugin
$this->addSubMenu($menu, 'Sparklines', 'sparklines', 5);
$this->addSubMenu($menu, 'Evolution Graph', 'evolutionGraph', 6);
- if (\Piwik\Plugin\Manager::getInstance()->isPluginActivated('TreemapVisualization')) {
+ if (PluginManager::getInstance()->isPluginActivated('TreemapVisualization')) {
$this->addSubMenu($menu, 'Treemap', 'treemap', 7);
}
}
- function addTopMenuItems(MenuTop $menu)
+ public function configureTopMenu(MenuTop $menu)
{
$urlParams = array('module' => 'ExampleUI', 'action' => 'notifications');
- $menu->addEntry('UI Notifications', null, $urlParams, $displayedForCurrentUser = true, $order = 3);
+ $menu->add('UI Notifications', null, $urlParams, $displayedForCurrentUser = true, $order = 3);
}
- private function addSubMenu(MenuAbstract $menu, $subMenu, $action, $order)
+ private function addSubMenu(MenuReporting $menu, $subMenu, $action, $order)
{
$menu->add('UI Framework', $subMenu, array('module' => 'ExampleUI', 'action' => $action), true, $order);
}
diff --git a/plugins/Feedback/Menu.php b/plugins/Feedback/Menu.php
index c41e9d783e..1b352a4b2a 100644
--- a/plugins/Feedback/Menu.php
+++ b/plugins/Feedback/Menu.php
@@ -11,8 +11,6 @@ namespace Piwik\Plugins\Feedback;
use Piwik\Menu\MenuUser;
use Piwik\Piwik;
-/**
- */
class Menu extends \Piwik\Plugin\Menu
{
public function configureUserMenu(MenuUser $menu)
diff --git a/plugins/Goals/Goals.php b/plugins/Goals/Goals.php
index eb037238f5..4631010d3e 100644
--- a/plugins/Goals/Goals.php
+++ b/plugins/Goals/Goals.php
@@ -11,8 +11,6 @@ namespace Piwik\Plugins\Goals;
use Piwik\ArchiveProcessor;
use Piwik\Common;
use Piwik\Db;
-use Piwik\Menu\MenuAbstract;
-use Piwik\Menu\MenuMain;
use Piwik\Piwik;
use Piwik\Plugin\ViewDataTable;
use Piwik\Site;
@@ -106,7 +104,6 @@ class Goals extends \Piwik\Plugin
'API.getReportMetadata.end' => 'getReportMetadata',
'API.getSegmentDimensionMetadata' => 'getSegmentsMetadata',
'WidgetsList.addWidgets' => 'addWidgets',
- 'Menu.Reporting.addItems' => 'addMenus',
'SitesManager.deleteSite.end' => 'deleteSiteGoals',
'Goals.getReportsWithGoalMetrics' => 'getActualReportsWithGoalMetrics',
'ViewDataTable.configure' => 'configureViewDataTable',
@@ -495,45 +492,6 @@ class Goals extends \Piwik\Plugin
}
}
- function addMenus(MenuAbstract $menu)
- {
- $idSite = Common::getRequestVar('idSite', null, 'int');
- $goals = API::getInstance()->getGoals($idSite);
- $mainGoalMenu = $this->getGoalCategoryName($idSite);
- $site = new Site($idSite);
- if (count($goals) == 0) {
- $menu->add($mainGoalMenu, '', array('module' => 'Goals',
- 'action' => ($site->isEcommerceEnabled() ? 'ecommerceReport' : 'addNewGoal'),
- 'idGoal' => ($site->isEcommerceEnabled() ? Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER : null)),
- true,
- 25);
- if ($site->isEcommerceEnabled()) {
- $menu->add($mainGoalMenu, 'Goals_Ecommerce', array('module' => 'Goals', 'action' => 'ecommerceReport', 'idGoal' => Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER), true, 1);
- }
- $menu->add($mainGoalMenu, 'Goals_AddNewGoal', array('module' => 'Goals', 'action' => 'addNewGoal'));
- } else {
- $menu->add($mainGoalMenu, '', array('module' => 'Goals',
- 'action' => ($site->isEcommerceEnabled() ? 'ecommerceReport' : 'index'),
- 'idGoal' => ($site->isEcommerceEnabled() ? Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER : null)),
- true,
- 25);
-
- if ($site->isEcommerceEnabled()) {
- $menu->add($mainGoalMenu, 'Goals_Ecommerce', array('module' => 'Goals', 'action' => 'ecommerceReport', 'idGoal' => Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER), true, 1);
- }
- $menu->add($mainGoalMenu, 'Goals_GoalsOverview', array('module' => 'Goals', 'action' => 'index'), true, 2);
- foreach ($goals as $goal) {
- $menu->add($mainGoalMenu, str_replace('%', '%%', Translate::clean($goal['name'])), array('module' => 'Goals', 'action' => 'goalReport', 'idGoal' => $goal['idgoal']));
- }
- }
- }
-
- protected function getGoalCategoryName($idSite)
- {
- $site = new Site($idSite);
- return $site->isEcommerceEnabled() ? 'Goals_EcommerceAndGoalsMenu' : 'Goals_Goals';
- }
-
public function configureViewDataTable(ViewDataTable $view)
{
switch ($view->requestConfig->apiMethodToRequestDataTable) {
diff --git a/plugins/Goals/Menu.php b/plugins/Goals/Menu.php
new file mode 100644
index 0000000000..e31952c578
--- /dev/null
+++ b/plugins/Goals/Menu.php
@@ -0,0 +1,69 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\Goals;
+
+use Piwik\Common;
+use Piwik\Menu\MenuReporting;
+use Piwik\Piwik;
+use Piwik\Site;
+use Piwik\Translate;
+
+/**
+ */
+class Menu extends \Piwik\Plugin\Menu
+{
+
+ public function configureReportingMenu(MenuReporting $menu)
+ {
+ $idSite = Common::getRequestVar('idSite', null, 'int');
+ $goals = API::getInstance()->getGoals($idSite);
+ $mainGoalMenu = $this->getGoalCategoryName($idSite);
+
+ $site = new Site($idSite);
+
+ if (count($goals) == 0) {
+
+ $menu->add($mainGoalMenu, '', array('module' => 'Goals',
+ 'action' => ($site->isEcommerceEnabled() ? 'ecommerceReport' : 'addNewGoal'),
+ 'idGoal' => ($site->isEcommerceEnabled() ? Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER : null)),
+ true,
+ 25);
+
+ if ($site->isEcommerceEnabled()) {
+ $menu->add($mainGoalMenu, 'Goals_Ecommerce', array('module' => 'Goals', 'action' => 'ecommerceReport', 'idGoal' => Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER), true, 1);
+ }
+
+ $menu->add($mainGoalMenu, 'Goals_AddNewGoal', array('module' => 'Goals', 'action' => 'addNewGoal'));
+
+ } else {
+
+ $menu->add($mainGoalMenu, '', array('module' => 'Goals',
+ 'action' => ($site->isEcommerceEnabled() ? 'ecommerceReport' : 'index'),
+ 'idGoal' => ($site->isEcommerceEnabled() ? Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER : null)),
+ true,
+ 25);
+
+ if ($site->isEcommerceEnabled()) {
+ $menu->add($mainGoalMenu, 'Goals_Ecommerce', array('module' => 'Goals', 'action' => 'ecommerceReport', 'idGoal' => Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER), true, 1);
+ }
+
+ $menu->add($mainGoalMenu, 'Goals_GoalsOverview', array('module' => 'Goals', 'action' => 'index'), true, 2);
+
+ foreach ($goals as $goal) {
+ $menu->add($mainGoalMenu, str_replace('%', '%%', Translate::clean($goal['name'])), array('module' => 'Goals', 'action' => 'goalReport', 'idGoal' => $goal['idgoal']));
+ }
+ }
+ }
+
+ private function getGoalCategoryName($idSite)
+ {
+ $site = new Site($idSite);
+ return $site->isEcommerceEnabled() ? 'Goals_EcommerceAndGoalsMenu' : 'Goals_Goals';
+ }
+}
diff --git a/plugins/Installation/Installation.php b/plugins/Installation/Installation.php
index 652d3b117f..8d704efc4c 100644
--- a/plugins/Installation/Installation.php
+++ b/plugins/Installation/Installation.php
@@ -31,7 +31,6 @@ class Installation extends \Piwik\Plugin
'Config.NoConfigurationFile' => 'dispatch',
'Config.badConfigurationFile' => 'dispatch',
'Request.dispatch' => 'dispatchIfNotInstalledYet',
- 'Menu.Admin.addItems' => 'addMenu',
'AssetManager.getStylesheetFiles' => 'getStylesheetFiles',
);
return $hooks;
@@ -93,17 +92,6 @@ class Installation extends \Piwik\Plugin
}
/**
- * Adds the 'System Check' admin page if the user is the Super User.
- */
- public function addMenu(MenuAbstract $menu)
- {
- $menu->add('General_Settings', 'Installation_SystemCheck',
- array('module' => 'Installation', 'action' => 'systemCheckPage'),
- Piwik::hasUserSuperUserAccess(),
- $order = 15);
- }
-
- /**
* Adds CSS files to list of CSS files for asset manager.
*/
public function getStylesheetFiles(&$stylesheets)
diff --git a/plugins/Installation/Menu.php b/plugins/Installation/Menu.php
new file mode 100644
index 0000000000..6637a1774b
--- /dev/null
+++ b/plugins/Installation/Menu.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\Installation;
+
+use Piwik\Menu\MenuAdmin;
+use Piwik\Piwik;
+
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureAdminMenu(MenuAdmin $menu)
+ {
+ $menu->add('General_Settings', 'Installation_SystemCheck',
+ array('module' => 'Installation', 'action' => 'systemCheckPage'),
+ Piwik::hasUserSuperUserAccess(),
+ $order = 15);
+ }
+}
diff --git a/plugins/LanguagesManager/LanguagesManager.php b/plugins/LanguagesManager/LanguagesManager.php
index 122a3eedcf..f914b1d1a6 100644
--- a/plugins/LanguagesManager/LanguagesManager.php
+++ b/plugins/LanguagesManager/LanguagesManager.php
@@ -15,9 +15,7 @@ use Piwik\Config;
use Piwik\Cookie;
use Piwik\Db;
use Piwik\DbHelper;
-use Piwik\Menu\MenuTop;
use Piwik\Piwik;
-use Piwik\SettingsPiwik;
use Piwik\Translate;
use Piwik\View;
@@ -34,7 +32,6 @@ class LanguagesManager extends \Piwik\Plugin
return array(
'AssetManager.getStylesheetFiles' => 'getStylesheetFiles',
'AssetManager.getJavaScriptFiles' => 'getJsFiles',
- 'Menu.Top.addItems' => 'showLanguagesSelector',
'User.getLanguage' => 'getLanguageToLoad',
'UsersManager.deleteUser' => 'deleteUserLanguage',
'Template.topBar' => 'addLanguagesManagerToOtherTopBar',
@@ -52,13 +49,6 @@ class LanguagesManager extends \Piwik\Plugin
$jsFiles[] = "plugins/LanguagesManager/javascripts/languageSelector.js";
}
- public function showLanguagesSelector(MenuTop $menu)
- {
- if (Piwik::isUserIsAnonymous() || !SettingsPiwik::isPiwikInstalled()) {
- $menu->addHtml('LanguageSelector', $this->getLanguagesSelector(), true, $order = 30, false);
- }
- }
-
/**
* Adds the languages drop-down list to topbars other than the main one rendered
* in CoreHome/templates/top_bar.twig. The 'other' topbars are on the Installation
@@ -88,7 +78,7 @@ class LanguagesManager extends \Piwik\Plugin
*
* @return string
*/
- private function getLanguagesSelector()
+ public function getLanguagesSelector()
{
$view = new View("@LanguagesManager/getLanguagesSelector");
$view->languages = API::getInstance()->getAvailableLanguageNames();
diff --git a/plugins/LanguagesManager/Menu.php b/plugins/LanguagesManager/Menu.php
new file mode 100644
index 0000000000..06b82f1e93
--- /dev/null
+++ b/plugins/LanguagesManager/Menu.php
@@ -0,0 +1,24 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\LanguagesManager;
+
+use Piwik\Menu\MenuTop;
+use Piwik\Piwik;
+use Piwik\SettingsPiwik;
+
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureTopMenu(MenuTop $menu)
+ {
+ if (Piwik::isUserIsAnonymous() || !SettingsPiwik::isPiwikInstalled()) {
+ $langManager = new LanguagesManager();
+ $menu->addHtml('LanguageSelector', $langManager->getLanguagesSelector(), true, $order = 30, false);
+ }
+ }
+}
diff --git a/plugins/Live/Live.php b/plugins/Live/Live.php
index e6c6b1c745..baec9fe3cc 100644
--- a/plugins/Live/Live.php
+++ b/plugins/Live/Live.php
@@ -30,7 +30,6 @@ class Live extends \Piwik\Plugin
'AssetManager.getJavaScriptFiles' => 'getJsFiles',
'AssetManager.getStylesheetFiles' => 'getStylesheetFiles',
'WidgetsList.addWidgets' => 'addWidget',
- 'Menu.Reporting.addItems' => 'addMenu',
'Translate.getClientSideTranslationKeys' => 'getClientSideTranslationKeys',
'ViewDataTable.getDefaultType' => 'getDefaultTypeViewDataTable'
);
@@ -49,11 +48,6 @@ class Live extends \Piwik\Plugin
$jsFiles[] = "plugins/Live/javascripts/visitorLog.js";
}
- public function addMenu(MenuAbstract $menu)
- {
- $menu->add('General_Visitors', 'Live_VisitorLog', array('module' => 'Live', 'action' => 'indexVisitorLog'), true, $order = 5);
- }
-
public function addWidget()
{
WidgetsList::add('Live!', 'Live_VisitorsInRealTime', 'Live', 'widget');
diff --git a/plugins/Live/Menu.php b/plugins/Live/Menu.php
new file mode 100644
index 0000000000..7fbc3f4b78
--- /dev/null
+++ b/plugins/Live/Menu.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\Live;
+
+use Piwik\Menu\MenuReporting;
+
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureReportingMenu(MenuReporting $menu)
+ {
+ $menu->add('General_Visitors', 'Live_VisitorLog', array('module' => 'Live', 'action' => 'indexVisitorLog'), true, $order = 5);
+ }
+}
diff --git a/plugins/MobileMessaging/Menu.php b/plugins/MobileMessaging/Menu.php
new file mode 100644
index 0000000000..fa38d0c791
--- /dev/null
+++ b/plugins/MobileMessaging/Menu.php
@@ -0,0 +1,25 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\MobileMessaging;
+
+use Piwik\Menu\MenuAdmin;
+
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureAdminMenu(MenuAdmin $menu)
+ {
+ $menu->add(
+ 'General_Settings',
+ 'MobileMessaging_SettingsMenu',
+ array('module' => 'MobileMessaging', 'action' => 'index'),
+ true,
+ $order = 12
+ );
+ }
+}
diff --git a/plugins/MobileMessaging/MobileMessaging.php b/plugins/MobileMessaging/MobileMessaging.php
index d5a52417c7..591c19d732 100644
--- a/plugins/MobileMessaging/MobileMessaging.php
+++ b/plugins/MobileMessaging/MobileMessaging.php
@@ -8,7 +8,6 @@
*/
namespace Piwik\Plugins\MobileMessaging;
-use Piwik\Menu\MenuAbstract;
use Piwik\Option;
use Piwik\Piwik;
use Piwik\Plugins\API\API as APIPlugins;
@@ -66,7 +65,6 @@ class MobileMessaging extends \Piwik\Plugin
public function getListHooksRegistered()
{
return array(
- 'Menu.Admin.addItems' => 'addMenu',
'AssetManager.getJavaScriptFiles' => 'getJsFiles',
'AssetManager.getStylesheetFiles' => 'getStylesheetFiles',
'ScheduledReports.getReportParameters' => 'getReportParameters',
@@ -82,15 +80,6 @@ class MobileMessaging extends \Piwik\Plugin
);
}
- function addMenu(MenuAbstract $menu)
- {
- $menu->add('General_Settings', 'MobileMessaging_SettingsMenu',
- array('module' => 'MobileMessaging', 'action' => 'index'),
- true,
- $order = 12
- );
- }
-
/**
* Get JavaScript files
*/
diff --git a/plugins/MultiSites/Menu.php b/plugins/MultiSites/Menu.php
new file mode 100644
index 0000000000..c20fe8ded4
--- /dev/null
+++ b/plugins/MultiSites/Menu.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\MultiSites;
+
+use Piwik\Menu\MenuTop;
+use Piwik\Piwik;
+
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureTopMenu(MenuTop $menu)
+ {
+ $urlParams = array('module' => 'MultiSites', 'action' => 'index', 'segment' => false);
+ $tooltip = Piwik::translate('MultiSites_TopLinkTooltip');
+
+ $menu->add('General_MultiSitesSummary', null, $urlParams, true, 3, $tooltip);
+ }
+}
diff --git a/plugins/MultiSites/MultiSites.php b/plugins/MultiSites/MultiSites.php
index 6b4dc9d082..f735e1d432 100644
--- a/plugins/MultiSites/MultiSites.php
+++ b/plugins/MultiSites/MultiSites.php
@@ -7,7 +7,7 @@
*
*/
namespace Piwik\Plugins\MultiSites;
-use Piwik\Menu\MenuTop;
+
use Piwik\Piwik;
@@ -31,7 +31,6 @@ class MultiSites extends \Piwik\Plugin
return array(
'AssetManager.getStylesheetFiles' => 'getStylesheetFiles',
'AssetManager.getJavaScriptFiles' => 'getJsFiles',
- 'Menu.Top.addItems' => 'addTopMenu',
'API.getReportMetadata' => 'getReportMetadata',
'Translate.getClientSideTranslationKeys' => 'getClientSideTranslationKeys',
);
@@ -93,13 +92,6 @@ class MultiSites extends \Piwik\Plugin
);
}
- public function addTopMenu(MenuTop $menu)
- {
- $urlParams = array('module' => 'MultiSites', 'action' => 'index', 'segment' => false);
- $tooltip = Piwik::translate('MultiSites_TopLinkTooltip');
- $menu->add('General_MultiSitesSummary', null, $urlParams, true, 3, $tooltip);
- }
-
public function getJsFiles(&$jsFiles)
{
$jsFiles[] = "plugins/MultiSites/angularjs/dashboard/dashboard-model.js";
diff --git a/plugins/PrivacyManager/Menu.php b/plugins/PrivacyManager/Menu.php
new file mode 100644
index 0000000000..c8c38aec0a
--- /dev/null
+++ b/plugins/PrivacyManager/Menu.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\PrivacyManager;
+
+use Piwik\Menu\MenuAdmin;
+use Piwik\Piwik;
+
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureAdminMenu(MenuAdmin $menu)
+ {
+ $menu->add('General_Settings', 'PrivacyManager_MenuPrivacySettings',
+ array('module' => 'PrivacyManager', 'action' => 'privacySettings'),
+ Piwik::isUserHasSomeAdminAccess(),
+ $order = 7);
+ }
+}
diff --git a/plugins/PrivacyManager/PrivacyManager.php b/plugins/PrivacyManager/PrivacyManager.php
index a0cb2017b6..8f0995fb50 100644
--- a/plugins/PrivacyManager/PrivacyManager.php
+++ b/plugins/PrivacyManager/PrivacyManager.php
@@ -13,12 +13,10 @@ use Piwik\Config as PiwikConfig;
use Piwik\DataTable\DataTableInterface;
use Piwik\Date;
use Piwik\Db;
-use Piwik\Menu\MenuAbstract;
use Piwik\Metrics;
use Piwik\Option;
use Piwik\Period;
use Piwik\Period\Range;
-use Piwik\Piwik;
use Piwik\Plugins\Goals\Archiver;
use Piwik\ScheduledTask;
use Piwik\ScheduledTime;
@@ -139,7 +137,6 @@ class PrivacyManager extends \Piwik\Plugin
{
return array(
'AssetManager.getJavaScriptFiles' => 'getJsFiles',
- 'Menu.Admin.addItems' => 'addMenu',
'TaskScheduler.getScheduledTasks' => 'getScheduledTasks',
'Tracker.setTrackerCacheGeneral' => 'setTrackerCacheGeneral',
'Tracker.isExcludedVisit' => array($this->dntChecker, 'checkHeaderInTracker'),
@@ -174,14 +171,6 @@ class PrivacyManager extends \Piwik\Plugin
$jsFiles[] = "plugins/PrivacyManager/javascripts/privacySettings.js";
}
- function addMenu(MenuAbstract $menu)
- {
- $menu->add('General_Settings', 'PrivacyManager_MenuPrivacySettings',
- array('module' => 'PrivacyManager', 'action' => 'privacySettings'),
- Piwik::isUserHasSomeAdminAccess(),
- $order = 7);
- }
-
/**
* Returns the settings for the data purging feature.
*
diff --git a/plugins/Provider/Menu.php b/plugins/Provider/Menu.php
new file mode 100644
index 0000000000..77cbe89194
--- /dev/null
+++ b/plugins/Provider/Menu.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\Provider;
+
+use Piwik\Menu\MenuReporting;
+
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureReportingMenu(MenuReporting $menu)
+ {
+ $menu->rename('General_Visitors', 'UserCountry_SubmenuLocations',
+ 'General_Visitors', 'Provider_SubmenuLocationsProvider');
+ }
+}
diff --git a/plugins/Provider/Provider.php b/plugins/Provider/Provider.php
index 10c2fe5bde..9cac22e303 100644
--- a/plugins/Provider/Provider.php
+++ b/plugins/Provider/Provider.php
@@ -14,8 +14,6 @@ use Piwik\Common;
use Piwik\Db;
use Piwik\FrontController;
use Piwik\IP;
-use Piwik\Menu\MenuAbstract;
-use Piwik\Menu\MenuMain;
use Piwik\Piwik;
use Piwik\Plugin\ViewDataTable;
use Piwik\Plugins\PrivacyManager\Config as PrivacyManagerConfig;
@@ -34,7 +32,6 @@ class Provider extends \Piwik\Plugin
$hooks = array(
'Tracker.newVisitorInformation' => 'enrichVisitWithProviderInfo',
'WidgetsList.addWidgets' => 'addWidget',
- 'Menu.Reporting.addItems' => 'addMenu',
'API.getReportMetadata' => 'getReportMetadata',
'API.getSegmentDimensionMetadata' => 'getSegmentsMetadata',
'ViewDataTable.configure' => 'configureViewDataTable',
@@ -94,12 +91,6 @@ class Provider extends \Piwik\Plugin
WidgetsList::add('General_Visitors', 'Provider_WidgetProviders', 'Provider', 'getProvider');
}
- public function addMenu(MenuAbstract $menu)
- {
- $menu->rename('General_Visitors', 'UserCountry_SubmenuLocations',
- 'General_Visitors', 'Provider_SubmenuLocationsProvider');
- }
-
public function postLoad()
{
Piwik::addAction('Template.footerUserCountry', array('Piwik\Plugins\Provider\Provider', 'footerUserCountry'));
diff --git a/plugins/Referrers/Menu.php b/plugins/Referrers/Menu.php
new file mode 100644
index 0000000000..97efa7b44a
--- /dev/null
+++ b/plugins/Referrers/Menu.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\Referrers;
+
+use Piwik\Menu\MenuReporting;
+
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureReportingMenu(MenuReporting $menu)
+ {
+ $menu->add('Referrers_Referrers', '', array('module' => 'Referrers', 'action' => 'index'), true, 20);
+ $menu->add('Referrers_Referrers', 'General_Overview', array('module' => 'Referrers', 'action' => 'index'), true, 1);
+ $menu->add('Referrers_Referrers', 'Referrers_SubmenuSearchEngines', array('module' => 'Referrers', 'action' => 'getSearchEnginesAndKeywords'), true, 2);
+ $menu->add('Referrers_Referrers', 'Referrers_SubmenuWebsites', array('module' => 'Referrers', 'action' => 'indexWebsites'), true, 3);
+ $menu->add('Referrers_Referrers', 'Referrers_Campaigns', array('module' => 'Referrers', 'action' => 'indexCampaigns'), true, 4);
+ }
+}
diff --git a/plugins/Referrers/Referrers.php b/plugins/Referrers/Referrers.php
index c24946e029..30b01bb21d 100644
--- a/plugins/Referrers/Referrers.php
+++ b/plugins/Referrers/Referrers.php
@@ -10,8 +10,6 @@ namespace Piwik\Plugins\Referrers;
use Piwik\ArchiveProcessor;
use Piwik\Common;
-use Piwik\Menu\MenuAbstract;
-use Piwik\Menu\MenuMain;
use Piwik\Piwik;
use Piwik\Plugin\ViewDataTable;
use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable;
@@ -36,7 +34,6 @@ class Referrers extends \Piwik\Plugin
{
$hooks = array(
'WidgetsList.addWidgets' => 'addWidgets',
- 'Menu.Reporting.addItems' => 'addMenus',
'Goals.getReportsWithGoalMetrics' => 'getReportsWithGoalMetrics',
'API.getReportMetadata' => 'getReportMetadata',
'API.getSegmentDimensionMetadata' => 'getSegmentsMetadata',
@@ -247,18 +244,6 @@ class Referrers extends \Piwik\Plugin
}
/**
- * Adds Web Analytics menus
- */
- function addMenus(MenuAbstract $menu)
- {
- $menu->add('Referrers_Referrers', '', array('module' => 'Referrers', 'action' => 'index'), true, 20);
- $menu->add('Referrers_Referrers', 'General_Overview', array('module' => 'Referrers', 'action' => 'index'), true, 1);
- $menu->add('Referrers_Referrers', 'Referrers_SubmenuSearchEngines', array('module' => 'Referrers', 'action' => 'getSearchEnginesAndKeywords'), true, 2);
- $menu->add('Referrers_Referrers', 'Referrers_SubmenuWebsites', array('module' => 'Referrers', 'action' => 'indexWebsites'), true, 3);
- $menu->add('Referrers_Referrers', 'Referrers_Campaigns', array('module' => 'Referrers', 'action' => 'indexCampaigns'), true, 4);
- }
-
- /**
* Adds Goal dimensions, so that the dimensions are displayed in the UI Goal Overview page
*/
public function getReportsWithGoalMetrics(&$dimensions)
diff --git a/plugins/ScheduledReports/Menu.php b/plugins/ScheduledReports/Menu.php
index 7d9f180062..b70782ac63 100644
--- a/plugins/ScheduledReports/Menu.php
+++ b/plugins/ScheduledReports/Menu.php
@@ -15,6 +15,9 @@ use Piwik\Plugins\MobileMessaging\API as APIMobileMessaging;
class Menu extends \Piwik\Plugin\Menu
{
+ const MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY = 'MobileMessaging_TopMenu';
+ const PDF_REPORTS_TOP_MENU_TRANSLATION_KEY = 'ScheduledReports_EmailReports';
+
public function configureUserMenu(MenuUser $menu)
{
$tooltip = Piwik::translate(
@@ -35,10 +38,10 @@ class Menu extends \Piwik\Plugin\Menu
{
// if MobileMessaging is not activated, display 'Email reports'
if (!\Piwik\Plugin\Manager::getInstance()->isPluginActivated('MobileMessaging'))
- return ScheduledReports::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY;
+ return self::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY;
if (Piwik::isUserIsAnonymous()) {
- return ScheduledReports::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY;
+ return self::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY;
}
try {
@@ -50,13 +53,12 @@ class Menu extends \Piwik\Plugin\Menu
// - configured: display 'Email & SMS reports'
if ($reportCount == 0) {
return APIMobileMessaging::getInstance()->areSMSAPICredentialProvided() ?
- ScheduledReports::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY : ScheduledReports::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY;
+ self::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY : self::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY;
}
} catch(\Exception $e) {
- return ScheduledReports::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY;
+ return self::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY;
}
-
$anyMobileReport = false;
foreach ($reports as $report) {
if ($report['type'] == MobileMessaging::MOBILE_TYPE) {
@@ -67,10 +69,10 @@ class Menu extends \Piwik\Plugin\Menu
// if there is at least one sms report, display 'Email & SMS reports'
if ($anyMobileReport) {
- return ScheduledReports::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY;
+ return self::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY;
}
- return ScheduledReports::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY;
+ return self::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY;
}
}
diff --git a/plugins/ScheduledReports/ScheduledReports.php b/plugins/ScheduledReports/ScheduledReports.php
index afb0e7a22c..14f662724d 100644
--- a/plugins/ScheduledReports/ScheduledReports.php
+++ b/plugins/ScheduledReports/ScheduledReports.php
@@ -29,8 +29,6 @@ use Zend_Mime;
*/
class ScheduledReports extends \Piwik\Plugin
{
- const MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY = 'MobileMessaging_TopMenu';
- const PDF_REPORTS_TOP_MENU_TRANSLATION_KEY = 'ScheduledReports_EmailReports';
const DISPLAY_FORMAT_GRAPHS_ONLY_FOR_KEY_METRICS = 1; // Display Tables Only (Graphs only for key metrics)
const DISPLAY_FORMAT_GRAPHS_ONLY = 2; // Display Graphs Only for all reports
diff --git a/plugins/SitesManager/Menu.php b/plugins/SitesManager/Menu.php
new file mode 100644
index 0000000000..0a991559f4
--- /dev/null
+++ b/plugins/SitesManager/Menu.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\SitesManager;
+
+use Piwik\Menu\MenuAdmin;
+use Piwik\Piwik;
+
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureAdminMenu(MenuAdmin $menu)
+ {
+ $menu->add('CoreAdminHome_MenuManage', 'SitesManager_Sites',
+ array('module' => 'SitesManager', 'action' => 'index'),
+ Piwik::isUserHasSomeAdminAccess(),
+ $order = 1);
+ }
+}
diff --git a/plugins/SitesManager/SitesManager.php b/plugins/SitesManager/SitesManager.php
index 5417246b97..ac0d14a58e 100644
--- a/plugins/SitesManager/SitesManager.php
+++ b/plugins/SitesManager/SitesManager.php
@@ -8,9 +8,6 @@
*/
namespace Piwik\Plugins\SitesManager;
-use Piwik\Menu\MenuAbstract;
-use Piwik\Piwik;
-
/**
*
*/
@@ -28,20 +25,11 @@ class SitesManager extends \Piwik\Plugin
return array(
'AssetManager.getJavaScriptFiles' => 'getJsFiles',
'AssetManager.getStylesheetFiles' => 'getStylesheetFiles',
- 'Menu.Admin.addItems' => 'addMenu',
'Tracker.Cache.getSiteAttributes' => 'recordWebsiteDataInCache',
'Translate.getClientSideTranslationKeys' => 'getClientSideTranslationKeys',
);
}
- function addMenu(MenuAbstract $menu)
- {
- $menu->add('CoreAdminHome_MenuManage', 'SitesManager_Sites',
- array('module' => 'SitesManager', 'action' => 'index'),
- Piwik::isUserHasSomeAdminAccess(),
- $order = 1);
- }
-
/**
* Get CSS files
*/
diff --git a/plugins/UserCountry/Menu.php b/plugins/UserCountry/Menu.php
new file mode 100644
index 0000000000..ee0bf08e61
--- /dev/null
+++ b/plugins/UserCountry/Menu.php
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\UserCountry;
+
+use Piwik\Menu\MenuAdmin;
+use Piwik\Menu\MenuReporting;
+use Piwik\Piwik;
+
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureAdminMenu(MenuAdmin $menu)
+ {
+ if (UserCountry::isGeoLocationAdminEnabled()) {
+ $menu->add('General_Settings', 'UserCountry_Geolocation',
+ array('module' => 'UserCountry', 'action' => 'adminIndex'),
+ Piwik::hasUserSuperUserAccess(),
+ $order = 8);
+ }
+ }
+
+ public function configureReportingMenu(MenuReporting $menu)
+ {
+ $menu->add('General_Visitors', 'UserCountry_SubmenuLocations', array('module' => 'UserCountry', 'action' => 'index'));
+ }
+}
diff --git a/plugins/UserCountry/UserCountry.php b/plugins/UserCountry/UserCountry.php
index 0464cbfaf2..fae65284ac 100644
--- a/plugins/UserCountry/UserCountry.php
+++ b/plugins/UserCountry/UserCountry.php
@@ -12,7 +12,6 @@ use Piwik\ArchiveProcessor;
use Piwik\Common;
use Piwik\Config;
use Piwik\IP;
-use Piwik\Menu\MenuAbstract;
use Piwik\Piwik;
use Piwik\Plugin\Manager;
use Piwik\Plugin\ViewDataTable;
@@ -40,8 +39,6 @@ class UserCountry extends \Piwik\Plugin
{
$hooks = array(
'WidgetsList.addWidgets' => 'addWidgets',
- 'Menu.Reporting.addItems' => 'addMenu',
- 'Menu.Admin.addItems' => 'addAdminMenu',
'Goals.getReportsWithGoalMetrics' => 'getReportsWithGoalMetrics',
'API.getReportMetadata' => 'getReportMetadata',
'API.getSegmentDimensionMetadata' => 'getSegmentsMetadata',
@@ -193,24 +190,6 @@ class UserCountry extends \Piwik\Plugin
WidgetsList::add('General_Visitors', $widgetCityLabel, 'UserCountry', 'getCity');
}
- public function addMenu(MenuAbstract $menu)
- {
- $menu->add('General_Visitors', 'UserCountry_SubmenuLocations', array('module' => 'UserCountry', 'action' => 'index'));
- }
-
- /**
- * Event handler. Adds menu items to the MenuAdmin menu.
- */
- public function addAdminMenu(MenuAbstract $menu)
- {
- if($this->isGeoLocationAdminEnabled()) {
- $menu->add('General_Settings', 'UserCountry_Geolocation',
- array('module' => 'UserCountry', 'action' => 'adminIndex'),
- Piwik::hasUserSuperUserAccess(),
- $order = 8);
- }
- }
-
public function getSegmentsMetadata(&$segments)
{
$segments[] = array(
diff --git a/plugins/UserCountryMap/Menu.php b/plugins/UserCountryMap/Menu.php
new file mode 100644
index 0000000000..63dd1801c3
--- /dev/null
+++ b/plugins/UserCountryMap/Menu.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\UserCountryMap;
+
+use Piwik\Menu\MenuReporting;
+
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureReportingMenu(MenuReporting $menu)
+ {
+ $menu->add('General_Visitors', 'UserCountryMap_RealTimeMap',
+ array('module' => 'UserCountryMap', 'action' => 'realtimeWorldMap'), true, $order = 70);
+ }
+}
diff --git a/plugins/UserCountryMap/UserCountryMap.php b/plugins/UserCountryMap/UserCountryMap.php
index eef7af7e84..dd1360de7f 100644
--- a/plugins/UserCountryMap/UserCountryMap.php
+++ b/plugins/UserCountryMap/UserCountryMap.php
@@ -9,8 +9,6 @@
namespace Piwik\Plugins\UserCountryMap;
use Piwik\FrontController;
-use Piwik\Menu\MenuAbstract;
-use Piwik\Menu\MenuMain;
use Piwik\Piwik;
use Piwik\Version;
use Piwik\WidgetsList;
@@ -52,18 +50,11 @@ class UserCountryMap extends \Piwik\Plugin
{
$hooks = array(
'AssetManager.getJavaScriptFiles' => 'getJsFiles',
- 'AssetManager.getStylesheetFiles' => 'getStylesheetFiles',
- 'Menu.Reporting.addItems' => 'addMenu'
+ 'AssetManager.getStylesheetFiles' => 'getStylesheetFiles'
);
return $hooks;
}
- public function addMenu(MenuAbstract $menu)
- {
- $menu->add('General_Visitors', 'UserCountryMap_RealTimeMap',
- array('module' => 'UserCountryMap', 'action' => 'realtimeWorldMap'), true, $order = 70);
- }
-
public function getJsFiles(&$jsFiles)
{
$jsFiles[] = "plugins/UserCountryMap/javascripts/vendor/raphael.min.js";
diff --git a/plugins/UserSettings/Menu.php b/plugins/UserSettings/Menu.php
new file mode 100644
index 0000000000..e4b9309927
--- /dev/null
+++ b/plugins/UserSettings/Menu.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\UserSettings;
+
+use Piwik\Menu\MenuReporting;
+
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureReportingMenu(MenuReporting $menu)
+ {
+ $menu->add('General_Visitors', 'General_Settings', array('module' => 'UserSettings', 'action' => 'index'));
+ }
+}
diff --git a/plugins/UserSettings/UserSettings.php b/plugins/UserSettings/UserSettings.php
index 75da403f6e..13b3c4f66a 100644
--- a/plugins/UserSettings/UserSettings.php
+++ b/plugins/UserSettings/UserSettings.php
@@ -8,8 +8,6 @@
*/
namespace Piwik\Plugins\UserSettings;
-use Piwik\Menu\MenuAbstract;
-use Piwik\Menu\MenuMain;
use Piwik\Piwik;
use Piwik\Plugin\ViewDataTable;
use Piwik\Plugins\CoreVisualizations\Visualizations\Graph;
@@ -167,7 +165,6 @@ class UserSettings extends \Piwik\Plugin
{
$hooks = array(
'WidgetsList.addWidgets' => 'addWidgets',
- 'Menu.Reporting.addItems' => 'addMenu',
'API.getReportMetadata' => 'getReportMetadata',
'API.getSegmentDimensionMetadata' => 'getSegmentsMetadata',
'ViewDataTable.configure' => 'configureViewDataTable',
@@ -459,12 +456,4 @@ class UserSettings extends \Piwik\Plugin
}
}
- /**
- * Adds the User Settings menu
- */
- function addMenu(MenuAbstract $menu)
- {
- $menu->add('General_Visitors', 'General_Settings', array('module' => 'UserSettings', 'action' => 'index'));
- }
-
}
diff --git a/plugins/UsersManager/Menu.php b/plugins/UsersManager/Menu.php
new file mode 100644
index 0000000000..d663093852
--- /dev/null
+++ b/plugins/UsersManager/Menu.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\UsersManager;
+
+use Piwik\Menu\MenuAdmin;
+use Piwik\Piwik;
+
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureAdminMenu(MenuAdmin $menu)
+ {
+ $menu->add('CoreAdminHome_MenuManage', 'UsersManager_MenuUsers',
+ array('module' => 'UsersManager', 'action' => 'index'),
+ Piwik::isUserHasSomeAdminAccess(),
+ $order = 2);
+ $menu->add('CoreAdminHome_MenuManage', 'UsersManager_MenuUserSettings',
+ array('module' => 'UsersManager', 'action' => 'userSettings'),
+ Piwik::isUserHasSomeViewAccess(),
+ $order = 3);
+ }
+}
diff --git a/plugins/UsersManager/UsersManager.php b/plugins/UsersManager/UsersManager.php
index 66e0765cd9..b860aeb186 100644
--- a/plugins/UsersManager/UsersManager.php
+++ b/plugins/UsersManager/UsersManager.php
@@ -10,7 +10,6 @@ namespace Piwik\Plugins\UsersManager;
use Exception;
use Piwik\Db;
-use Piwik\Menu\MenuAbstract;
use Piwik\Option;
use Piwik\Piwik;
use Piwik\SettingsPiwik;
@@ -30,7 +29,6 @@ class UsersManager extends \Piwik\Plugin
public function getListHooksRegistered()
{
return array(
- 'Menu.Admin.addItems' => 'addMenu',
'AssetManager.getJavaScriptFiles' => 'getJsFiles',
'AssetManager.getStylesheetFiles' => 'getStylesheetFiles',
'SitesManager.deleteSite.end' => 'deleteSite',
@@ -95,21 +93,6 @@ class UsersManager extends \Piwik\Plugin
}
/**
- * Add admin menu items
- */
- public function addMenu(MenuAbstract $menu)
- {
- $menu->add('CoreAdminHome_MenuManage', 'UsersManager_MenuUsers',
- array('module' => 'UsersManager', 'action' => 'index'),
- Piwik::isUserHasSomeAdminAccess(),
- $order = 2);
- $menu->add('CoreAdminHome_MenuManage', 'UsersManager_MenuUserSettings',
- array('module' => 'UsersManager', 'action' => 'userSettings'),
- Piwik::isUserHasSomeViewAccess(),
- $order = 3);
- }
-
- /**
* Returns true if the password is complex enough (at least 6 characters and max 26 characters)
*
* @param $input string
diff --git a/plugins/VisitFrequency/Menu.php b/plugins/VisitFrequency/Menu.php
new file mode 100644
index 0000000000..1c8682d5a9
--- /dev/null
+++ b/plugins/VisitFrequency/Menu.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\VisitFrequency;
+
+use Piwik\Menu\MenuReporting;
+
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureReportingMenu(MenuReporting $menu)
+ {
+ $menu->add('General_Visitors', 'VisitFrequency_SubmenuFrequency',
+ array('module' => 'VisitFrequency', 'action' => 'index'), true, $order = 55);
+ }
+}
diff --git a/plugins/VisitFrequency/VisitFrequency.php b/plugins/VisitFrequency/VisitFrequency.php
index 6f1b27c48c..dbc2346d1c 100644
--- a/plugins/VisitFrequency/VisitFrequency.php
+++ b/plugins/VisitFrequency/VisitFrequency.php
@@ -8,8 +8,6 @@
*/
namespace Piwik\Plugins\VisitFrequency;
-use Piwik\Menu\MenuAbstract;
-use Piwik\Menu\MenuMain;
use Piwik\Piwik;
use Piwik\WidgetsList;
@@ -25,7 +23,6 @@ class VisitFrequency extends \Piwik\Plugin
{
$hooks = array(
'WidgetsList.addWidgets' => 'addWidgets',
- 'Menu.Reporting.addItems' => 'addMenu',
'API.getReportMetadata' => 'getReportMetadata',
);
return $hooks;
@@ -62,10 +59,4 @@ class VisitFrequency extends \Piwik\Plugin
WidgetsList::add('General_Visitors', 'VisitFrequency_WidgetGraphReturning', 'VisitFrequency', 'getEvolutionGraph',
array('columns' => array('nb_visits_returning')));
}
-
- function addMenu(MenuAbstract $menu)
- {
- $menu->add('General_Visitors', 'VisitFrequency_SubmenuFrequency',
- array('module' => 'VisitFrequency', 'action' => 'index'), true, $order = 55);
- }
}
diff --git a/plugins/VisitTime/Menu.php b/plugins/VisitTime/Menu.php
new file mode 100644
index 0000000000..b0cd93248c
--- /dev/null
+++ b/plugins/VisitTime/Menu.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\VisitTime;
+
+use Piwik\Menu\MenuReporting;
+
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureReportingMenu(MenuReporting $menu)
+ {
+ $menu->add('General_Visitors', 'VisitTime_SubmenuTimes',
+ array('module' => 'VisitTime', 'action' => 'index'), true, $order = 65);
+ }
+}
diff --git a/plugins/VisitTime/VisitTime.php b/plugins/VisitTime/VisitTime.php
index bb93f0903f..f675a2599f 100644
--- a/plugins/VisitTime/VisitTime.php
+++ b/plugins/VisitTime/VisitTime.php
@@ -11,8 +11,6 @@ namespace Piwik\Plugins\VisitTime;
use Exception;
use Piwik\ArchiveProcessor;
use Piwik\Common;
-use Piwik\Menu\MenuAbstract;
-use Piwik\Menu\MenuMain;
use Piwik\Period;
use Piwik\Piwik;
use Piwik\Plugin\ViewDataTable;
@@ -33,7 +31,6 @@ class VisitTime extends \Piwik\Plugin
{
$hooks = array(
'WidgetsList.addWidgets' => 'addWidgets',
- 'Menu.Reporting.addItems' => 'addMenu',
'Goals.getReportsWithGoalMetrics' => 'getReportsWithGoalMetrics',
'API.getReportMetadata' => 'getReportMetadata',
'API.getSegmentDimensionMetadata' => 'getSegmentsMetadata',
@@ -86,12 +83,6 @@ class VisitTime extends \Piwik\Plugin
WidgetsList::add('VisitsSummary_VisitsSummary', 'VisitTime_VisitsByDayOfWeek', 'VisitTime', 'getByDayOfWeek');
}
- function addMenu(MenuAbstract $menu)
- {
- $menu->add('General_Visitors', 'VisitTime_SubmenuTimes',
- array('module' => 'VisitTime', 'action' => 'index'), true, $order = 65);
- }
-
public function getReportsWithGoalMetrics(&$dimensions)
{
$dimensions[] = array('category' => Piwik::translate('VisitTime_ColumnServerTime'),
diff --git a/plugins/VisitorInterest/Menu.php b/plugins/VisitorInterest/Menu.php
new file mode 100644
index 0000000000..13b9c66111
--- /dev/null
+++ b/plugins/VisitorInterest/Menu.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\VisitorInterest;
+
+use Piwik\Menu\MenuReporting;
+
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureReportingMenu(MenuReporting $menu)
+ {
+ $menu->rename('General_Visitors', 'VisitFrequency_SubmenuFrequency',
+ 'General_Visitors', 'VisitorInterest_Engagement');
+ }
+}
diff --git a/plugins/VisitorInterest/VisitorInterest.php b/plugins/VisitorInterest/VisitorInterest.php
index 4661b34437..67fea477e4 100644
--- a/plugins/VisitorInterest/VisitorInterest.php
+++ b/plugins/VisitorInterest/VisitorInterest.php
@@ -10,8 +10,6 @@ namespace Piwik\Plugins\VisitorInterest;
use Piwik\ArchiveProcessor;
use Piwik\FrontController;
-use Piwik\Menu\MenuAbstract;
-use Piwik\Menu\MenuMain;
use Piwik\Metrics;
use Piwik\Piwik;
use Piwik\Plugin\ViewDataTable;
@@ -30,11 +28,10 @@ class VisitorInterest extends \Piwik\Plugin
public function getListHooksRegistered()
{
$hooks = array(
- 'WidgetsList.addWidgets' => 'addWidgets',
- 'Menu.Reporting.addItems' => 'addMenu',
- 'API.getReportMetadata' => 'getReportMetadata',
- 'ViewDataTable.configure' => 'configureViewDataTable',
- 'ViewDataTable.getDefaultType' => 'getDefaultTypeViewDataTable'
+ 'WidgetsList.addWidgets' => 'addWidgets',
+ 'API.getReportMetadata' => 'getReportMetadata',
+ 'ViewDataTable.configure' => 'configureViewDataTable',
+ 'ViewDataTable.getDefaultType' => 'getDefaultTypeViewDataTable'
);
return $hooks;
}
@@ -108,12 +105,6 @@ class VisitorInterest extends \Piwik\Plugin
WidgetsList::add('General_Visitors', 'VisitorInterest_WidgetVisitsByDaysSinceLast', 'VisitorInterest', 'getNumberOfVisitsByDaysSinceLast');
}
- public function addMenu(MenuAbstract $menu)
- {
- $menu->rename('General_Visitors', 'VisitFrequency_SubmenuFrequency',
- 'General_Visitors', 'VisitorInterest_Engagement');
- }
-
function postLoad()
{
Piwik::addAction('Template.headerVisitsFrequency', array('Piwik\Plugins\VisitorInterest\VisitorInterest', 'headerVisitsFrequency'));
diff --git a/plugins/VisitsSummary/Menu.php b/plugins/VisitsSummary/Menu.php
new file mode 100644
index 0000000000..3a9d26029b
--- /dev/null
+++ b/plugins/VisitsSummary/Menu.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\VisitsSummary;
+
+use Piwik\Menu\MenuReporting;
+
+class Menu extends \Piwik\Plugin\Menu
+{
+ public function configureReportingMenu(MenuReporting $menu)
+ {
+ $menu->add('General_Visitors', '', array('module' => 'VisitsSummary', 'action' => 'index'), true, 10);
+ $menu->add('General_Visitors', 'General_Overview', array('module' => 'VisitsSummary', 'action' => 'index'), true, 1);
+ }
+}
diff --git a/plugins/VisitsSummary/VisitsSummary.php b/plugins/VisitsSummary/VisitsSummary.php
index dfa923e39d..11f8a3827c 100644
--- a/plugins/VisitsSummary/VisitsSummary.php
+++ b/plugins/VisitsSummary/VisitsSummary.php
@@ -8,8 +8,6 @@
*/
namespace Piwik\Plugins\VisitsSummary;
-use Piwik\Menu\MenuAbstract;
-use Piwik\Menu\MenuMain;
use Piwik\Piwik;
use Piwik\WidgetsList;
@@ -30,7 +28,6 @@ class VisitsSummary extends \Piwik\Plugin
return array(
'API.getReportMetadata' => 'getReportMetadata',
'WidgetsList.addWidgets' => 'addWidgets',
- 'Menu.Reporting.addItems' => 'addMenu',
'AssetManager.getStylesheetFiles' => 'getStylesheetFiles',
);
}
@@ -71,11 +68,6 @@ class VisitsSummary extends \Piwik\Plugin
WidgetsList::add('VisitsSummary_VisitsSummary', 'VisitsSummary_WidgetOverviewGraph', 'VisitsSummary', 'index');
}
- function addMenu(MenuAbstract $menu)
- {
- $menu->add('General_Visitors', '', array('module' => 'VisitsSummary', 'action' => 'index'), true, 10);
- $menu->add('General_Visitors', 'General_Overview', array('module' => 'VisitsSummary', 'action' => 'index'), true, 1);
- }
}
diff --git a/tests/PHPUnit/Integration/Plugins/ScheduledReportsTest.php b/tests/PHPUnit/Integration/Plugins/ScheduledReportsTest.php
index 225a2ae4c4..d5fdeca1f5 100644
--- a/tests/PHPUnit/Integration/Plugins/ScheduledReportsTest.php
+++ b/tests/PHPUnit/Integration/Plugins/ScheduledReportsTest.php
@@ -9,6 +9,7 @@ use Piwik\Access;
use Piwik\Plugins\MobileMessaging\API as APIMobileMessaging;
use Piwik\Plugins\MobileMessaging\MobileMessaging;
use Piwik\Plugins\ScheduledReports\API as APIScheduledReports;
+use Piwik\Plugins\ScheduledReports\Menu;
use Piwik\Plugins\ScheduledReports\ScheduledReports;
use Piwik\Plugins\SitesManager\API as APISitesManager;
use Piwik\ScheduledTask;
@@ -201,9 +202,9 @@ class Plugins_ScheduledReportsTest extends DatabaseTestCase
// unload MobileMessaging plugin
\Piwik\Plugin\Manager::getInstance()->loadPlugins(array('ScheduledReports'));
- $pdfReportPlugin = new ScheduledReports();
+ $pdfReportPlugin = new Menu();
$this->assertEquals(
- ScheduledReports::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY,
+ Menu::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY,
$pdfReportPlugin->getTopMenuTranslationKey()
);
}
@@ -217,9 +218,9 @@ class Plugins_ScheduledReportsTest extends DatabaseTestCase
FakeAccess::$identity = 'anonymous';
Access::setSingletonInstance($anonymousAccess);
- $pdfReportPlugin = new ScheduledReports();
+ $pdfReportPlugin = new Menu();
$this->assertEquals(
- ScheduledReports::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY,
+ Menu::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY,
$pdfReportPlugin->getTopMenuTranslationKey()
);
}
@@ -236,9 +237,9 @@ class Plugins_ScheduledReportsTest extends DatabaseTestCase
self::setSuperUser();
APIMobileMessaging::getInstance()->setSMSAPICredential('StubbedProvider', '');
- $pdfReportPlugin = new ScheduledReports();
+ $pdfReportPlugin = new Menu();
$this->assertEquals(
- ScheduledReports::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY,
+ Menu::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY,
$pdfReportPlugin->getTopMenuTranslationKey()
);
}
@@ -251,9 +252,9 @@ class Plugins_ScheduledReportsTest extends DatabaseTestCase
*/
public function testGetTopMenuTranslationKeyNoReportMobileAccountKO()
{
- $pdfReportPlugin = new ScheduledReports();
+ $pdfReportPlugin = new Menu();
$this->assertEquals(
- ScheduledReports::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY,
+ Menu::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY,
$pdfReportPlugin->getTopMenuTranslationKey()
);
}
@@ -279,9 +280,9 @@ class Plugins_ScheduledReportsTest extends DatabaseTestCase
)
);
- $pdfReportPlugin = new ScheduledReports();
+ $pdfReportPlugin = new Menu();
$this->assertEquals(
- ScheduledReports::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY,
+ Menu::MOBILE_MESSAGING_TOP_MENU_TRANSLATION_KEY,
$pdfReportPlugin->getTopMenuTranslationKey()
);
}
@@ -300,9 +301,9 @@ class Plugins_ScheduledReportsTest extends DatabaseTestCase
self::addReport(self::getMonthlyEmailReportData($this->idSite));
- $pdfReportPlugin = new ScheduledReports();
+ $pdfReportPlugin = new Menu();
$this->assertEquals(
- ScheduledReports::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY,
+ Menu::PDF_REPORTS_TOP_MENU_TRANSLATION_KEY,
$pdfReportPlugin->getTopMenuTranslationKey()
);
}