From e9817e9143b0cd0c080dc106938f75e489e0cbf7 Mon Sep 17 00:00:00 2001 From: mattab <matthieu.aubry@gmail.com> Date: Wed, 9 Oct 2013 22:44:03 +1300 Subject: [PATCH] Refs #4202 Menu refactor GO. This one is tricky... --- core/Menu/{Admin.php => MenuAdmin.php} | 30 +++-- core/Menu/{Main.php => MenuMain.php} | 10 +- core/Menu/{Top.php => MenuTop.php} | 12 +- core/functions.php | 176 ------------------------- 4 files changed, 33 insertions(+), 195 deletions(-) rename core/Menu/{Admin.php => MenuAdmin.php} (71%) rename core/Menu/{Main.php => MenuMain.php} (91%) rename core/Menu/{Top.php => MenuTop.php} (89%) delete mode 100644 core/functions.php diff --git a/core/Menu/Admin.php b/core/Menu/MenuAdmin.php similarity index 71% rename from core/Menu/Admin.php rename to core/Menu/MenuAdmin.php index 2c9bf93393..f34aa15865 100644 --- a/core/Menu/Admin.php +++ b/core/Menu/MenuAdmin.php @@ -15,12 +15,12 @@ use Piwik\Piwik; /** * @package Piwik_Menu */ -class Admin extends MenuAbstract +class MenuAdmin extends MenuAbstract { static private $instance = null; /** - * @return \Piwik\Menu\Admin + * @return \Piwik\Menu\MenuAdmin */ static public function getInstance() { @@ -31,11 +31,25 @@ class Admin extends MenuAbstract } /** - * Triggers the Menu.Admin.addItems hook and returns the menu. + * Adds a new AdminMenu entry. + * + * @param string $adminMenuName + * @param string $url + * @param boolean $displayedForCurrentUser + * @param int $order + * @api + */ + public static function addEntry($adminMenuName, $url, $displayedForCurrentUser = true, $order = 20) + { + self::getInstance()->add('General_Settings', 'General_Settings', $adminMenuName, $url, $displayedForCurrentUser, $order); + } + + /** + * Triggers the Menu.MenuAdmin.addItems hook and returns the admin menu. * * @return Array */ - public function get() + public function getMenu() { if (!$this->menu) { @@ -49,7 +63,7 @@ class Admin extends MenuAbstract * ``` * public function addMenuItems() * { - * Piwik_AddAdminSubMenu( + * \Piwik\Menu\MenuAdmin::getInstance()->add( * 'MenuName', * 'SubmenuName', * array('module' => 'MyPlugin', 'action' => 'index'), @@ -59,9 +73,9 @@ class Admin extends MenuAbstract * } * ``` */ - Piwik::postEvent('Menu.Admin.addItems'); + Piwik::postEvent('Menu.MenuAdmin.addItems'); } - return parent::get(); + return parent::getMenu(); } /** @@ -71,7 +85,7 @@ class Admin extends MenuAbstract */ function getCurrentAdminMenuName() { - $menu = Piwik_GetAdminMenu(); + $menu = \Piwik\Menu\MenuAdmin::getInstance(); $currentModule = Piwik::getModule(); $currentAction = Piwik::getAction(); foreach ($menu as $submenu) { diff --git a/core/Menu/Main.php b/core/Menu/MenuMain.php similarity index 91% rename from core/Menu/Main.php rename to core/Menu/MenuMain.php index db858f8c74..2485f18294 100644 --- a/core/Menu/Main.php +++ b/core/Menu/MenuMain.php @@ -15,7 +15,7 @@ use Piwik\Piwik; /** * @package Piwik_Menu */ -class Main extends MenuAbstract +class MenuMain extends MenuAbstract { static private $instance = null; @@ -38,7 +38,7 @@ class Main extends MenuAbstract */ public function isUrlFound($url) { - $menu = Main::getInstance()->get(); + $menu = MenuMain::getInstance()->getMenu(); foreach ($menu as $subMenus) { foreach ($subMenus as $subMenuName => $menuUrl) { @@ -55,7 +55,7 @@ class Main extends MenuAbstract * * @return Array */ - public function get() + public function getMenu() { // We trigger the Event only once! if (!$this->menu) { @@ -70,7 +70,7 @@ class Main extends MenuAbstract * ``` * public function addMenuItems() * { - * Piwik_AddMenu( + * \Piwik\Menu\Main::getInstance()->add( * 'CustomMenuName', * 'CustomSubmenuName', * array('module' => 'MyPlugin', 'action' => 'index'), @@ -82,7 +82,7 @@ class Main extends MenuAbstract */ Piwik::postEvent('Menu.Reporting.addItems'); } - return parent::get(); + return parent::getMenu(); } } diff --git a/core/Menu/Top.php b/core/Menu/MenuTop.php similarity index 89% rename from core/Menu/Top.php rename to core/Menu/MenuTop.php index 52d6f7ef31..8573e527fd 100644 --- a/core/Menu/Top.php +++ b/core/Menu/MenuTop.php @@ -15,12 +15,12 @@ use Piwik\Piwik; /** * @package Piwik_Menu */ -class Top extends MenuAbstract +class MenuTop extends MenuAbstract { static private $instance = null; /** - * @return \Piwik\Menu\Top + * @return \Piwik\Menu\MenuTop */ static public function getInstance() { @@ -52,11 +52,11 @@ class Top extends MenuAbstract } /** - * Triggers the Menu.Top.addItems hook and returns the menu. + * Triggers the Menu.MenuTop.addItems hook and returns the menu. * * @return Array */ - public function get() + public function getMenu() { if (!$this->menu) { @@ -80,8 +80,8 @@ class Top extends MenuAbstract * } * ``` */ - Piwik::postEvent('Menu.Top.addItems'); + Piwik::postEvent('Menu.MenuTop.addItems'); } - return parent::get(); + return parent::getMenu(); } } diff --git a/core/functions.php b/core/functions.php deleted file mode 100644 index 8b32ab0b25..0000000000 --- a/core/functions.php +++ /dev/null @@ -1,176 +0,0 @@ -<?php -/** - * Piwik - Open source web analytics - * - * @link http://piwik.org - * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later - * - * @category Piwik - * @package Piwik - */ - -// All classes and functions below are defined in the global namespace -namespace { - - use Piwik\DataTable; - use Piwik\Menu\Admin; - use Piwik\Menu\Main; - use Piwik\Menu\Top; - - /** - * Returns the AdminMenu - * - * @return Array - */ - function Piwik_GetAdminMenu() - { - return Admin::getInstance()->get(); - } - - /** - * Adds a new AdminMenu entry. - * - * @param string $adminMenuName - * @param string $url - * @param boolean $displayedForCurrentUser - * @param int $order - * @api - */ - function Piwik_AddAdminMenu($adminMenuName, $url, $displayedForCurrentUser = true, $order = 10) - { - Admin::getInstance()->add('General_Settings', $adminMenuName, $url, $displayedForCurrentUser, $order); - } - - /** - * Adds a new AdminMenu entry with a submenu. - * - * @param string $adminMenuName - * @param string $adminSubMenuName - * @param string $url - * @param boolean $displayedForCurrentUser - * @param int $order - * @api - */ - function Piwik_AddAdminSubMenu($adminMenuName, $adminSubMenuName, $url, $displayedForCurrentUser = true, $order = 10) - { - Admin::getInstance()->add($adminMenuName, $adminSubMenuName, $url, $displayedForCurrentUser, $order); - } - - /** - * Renames an AdminMenu entry. - * - * @param string $adminMenuOriginal - * @param string $adminMenuRenamed - */ - function Piwik_RenameAdminMenuEntry($adminMenuOriginal, $adminMenuRenamed) - { - Admin::getInstance()->rename($adminMenuOriginal, null, $adminMenuRenamed, null); - } - - - /** - * Returns the MainMenu as array. - * - * @return array - */ - function Piwik_GetMenu() - { - return Main::getInstance()->get(); - } - - /** - * Adds a new entry to the MainMenu. - * - * @param string $mainMenuName - * @param string $subMenuName - * @param string $url - * @param boolean $displayedForCurrentUser - * @param int $order - * @api - */ - function Piwik_AddMenu($mainMenuName, $subMenuName, $url, $displayedForCurrentUser = true, $order = 10) - { - Main::getInstance()->add($mainMenuName, $subMenuName, $url, $displayedForCurrentUser, $order); - } - - /** - * Renames a menu entry. - * - * @param string $mainMenuOriginal - * @param string $subMenuOriginal - * @param string $mainMenuRenamed - * @param string $subMenuRenamed - */ - function Piwik_RenameMenuEntry($mainMenuOriginal, $subMenuOriginal, - $mainMenuRenamed, $subMenuRenamed) - { - Main::getInstance()->rename($mainMenuOriginal, $subMenuOriginal, $mainMenuRenamed, $subMenuRenamed); - } - - /** - * Edits the URL of a menu entry. - * - * @param string $mainMenuToEdit - * @param string $subMenuToEdit - * @param string $newUrl - */ - function Piwik_EditMenuUrl($mainMenuToEdit, $subMenuToEdit, $newUrl) - { - Main::getInstance()->editUrl($mainMenuToEdit, $subMenuToEdit, $newUrl); - } - - /** - * Returns the TopMenu as an array. - * - * @return array - */ - function Piwik_GetTopMenu() - { - return Top::getInstance()->get(); - } - - /** - * Adds a new entry to the TopMenu. - * - * @param string $topMenuName - * @param string $data - * @param boolean $displayedForCurrentUser - * @param int $order - * @param bool $isHTML - * @param bool|string $tooltip Tooltip to display. - * @api - */ - function Piwik_AddTopMenu($topMenuName, $data, $displayedForCurrentUser = true, $order = 10, $isHTML = false, - $tooltip = false) - { - if ($isHTML) { - Top::getInstance()->addHtml($topMenuName, $data, $displayedForCurrentUser, $order, $tooltip); - } else { - Top::getInstance()->add($topMenuName, null, $data, $displayedForCurrentUser, $order, $tooltip); - } - } - - /** - * Renames a entry of the TopMenu - * - * @param string $topMenuOriginal - * @param string $topMenuRenamed - */ - function Piwik_RenameTopMenuEntry($topMenuOriginal, $topMenuRenamed) - { - Top::getInstance()->rename($topMenuOriginal, null, $topMenuRenamed, null); - } - - // Bridge between pre Piwik2 serialized format and namespaced classes - // Do not need to define these classes in tracker or archive - if (class_exists('\\Piwik\\DataTable\\Row\\DataTableSummaryRow')) { - class Piwik_DataTable_Row_DataTableSummary extends \Piwik\DataTable\Row\DataTableSummaryRow - { - } - - class Piwik_DataTable_Row extends \Piwik\DataTable\Row - { - } - } - -} -- GitLab