Skip to content
Extraits de code Groupes Projets
Valider e9817e91 rédigé par mattab's avatar mattab
Parcourir les fichiers

Refs #4202 Menu refactor GO. This one is tricky...

parent dd3b7490
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -15,12 +15,12 @@ use Piwik\Piwik; ...@@ -15,12 +15,12 @@ use Piwik\Piwik;
/** /**
* @package Piwik_Menu * @package Piwik_Menu
*/ */
class Admin extends MenuAbstract class MenuAdmin extends MenuAbstract
{ {
static private $instance = null; static private $instance = null;
/** /**
* @return \Piwik\Menu\Admin * @return \Piwik\Menu\MenuAdmin
*/ */
static public function getInstance() static public function getInstance()
{ {
...@@ -31,11 +31,25 @@ class Admin extends MenuAbstract ...@@ -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 * @return Array
*/ */
public function get() public function getMenu()
{ {
if (!$this->menu) { if (!$this->menu) {
...@@ -49,7 +63,7 @@ class Admin extends MenuAbstract ...@@ -49,7 +63,7 @@ class Admin extends MenuAbstract
* ``` * ```
* public function addMenuItems() * public function addMenuItems()
* { * {
* Piwik_AddAdminSubMenu( * \Piwik\Menu\MenuAdmin::getInstance()->add(
* 'MenuName', * 'MenuName',
* 'SubmenuName', * 'SubmenuName',
* array('module' => 'MyPlugin', 'action' => 'index'), * array('module' => 'MyPlugin', 'action' => 'index'),
...@@ -59,9 +73,9 @@ class Admin extends MenuAbstract ...@@ -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 ...@@ -71,7 +85,7 @@ class Admin extends MenuAbstract
*/ */
function getCurrentAdminMenuName() function getCurrentAdminMenuName()
{ {
$menu = Piwik_GetAdminMenu(); $menu = \Piwik\Menu\MenuAdmin::getInstance();
$currentModule = Piwik::getModule(); $currentModule = Piwik::getModule();
$currentAction = Piwik::getAction(); $currentAction = Piwik::getAction();
foreach ($menu as $submenu) { foreach ($menu as $submenu) {
......
...@@ -15,7 +15,7 @@ use Piwik\Piwik; ...@@ -15,7 +15,7 @@ use Piwik\Piwik;
/** /**
* @package Piwik_Menu * @package Piwik_Menu
*/ */
class Main extends MenuAbstract class MenuMain extends MenuAbstract
{ {
static private $instance = null; static private $instance = null;
...@@ -38,7 +38,7 @@ class Main extends MenuAbstract ...@@ -38,7 +38,7 @@ class Main extends MenuAbstract
*/ */
public function isUrlFound($url) public function isUrlFound($url)
{ {
$menu = Main::getInstance()->get(); $menu = MenuMain::getInstance()->getMenu();
foreach ($menu as $subMenus) { foreach ($menu as $subMenus) {
foreach ($subMenus as $subMenuName => $menuUrl) { foreach ($subMenus as $subMenuName => $menuUrl) {
...@@ -55,7 +55,7 @@ class Main extends MenuAbstract ...@@ -55,7 +55,7 @@ class Main extends MenuAbstract
* *
* @return Array * @return Array
*/ */
public function get() public function getMenu()
{ {
// We trigger the Event only once! // We trigger the Event only once!
if (!$this->menu) { if (!$this->menu) {
...@@ -70,7 +70,7 @@ class Main extends MenuAbstract ...@@ -70,7 +70,7 @@ class Main extends MenuAbstract
* ``` * ```
* public function addMenuItems() * public function addMenuItems()
* { * {
* Piwik_AddMenu( * \Piwik\Menu\Main::getInstance()->add(
* 'CustomMenuName', * 'CustomMenuName',
* 'CustomSubmenuName', * 'CustomSubmenuName',
* array('module' => 'MyPlugin', 'action' => 'index'), * array('module' => 'MyPlugin', 'action' => 'index'),
...@@ -82,7 +82,7 @@ class Main extends MenuAbstract ...@@ -82,7 +82,7 @@ class Main extends MenuAbstract
*/ */
Piwik::postEvent('Menu.Reporting.addItems'); Piwik::postEvent('Menu.Reporting.addItems');
} }
return parent::get(); return parent::getMenu();
} }
} }
...@@ -15,12 +15,12 @@ use Piwik\Piwik; ...@@ -15,12 +15,12 @@ use Piwik\Piwik;
/** /**
* @package Piwik_Menu * @package Piwik_Menu
*/ */
class Top extends MenuAbstract class MenuTop extends MenuAbstract
{ {
static private $instance = null; static private $instance = null;
/** /**
* @return \Piwik\Menu\Top * @return \Piwik\Menu\MenuTop
*/ */
static public function getInstance() static public function getInstance()
{ {
...@@ -52,11 +52,11 @@ class Top extends MenuAbstract ...@@ -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 * @return Array
*/ */
public function get() public function getMenu()
{ {
if (!$this->menu) { if (!$this->menu) {
...@@ -80,8 +80,8 @@ class Top extends MenuAbstract ...@@ -80,8 +80,8 @@ class Top extends MenuAbstract
* } * }
* ``` * ```
*/ */
Piwik::postEvent('Menu.Top.addItems'); Piwik::postEvent('Menu.MenuTop.addItems');
} }
return parent::get(); return parent::getMenu();
} }
} }
<?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
{
}
}
}
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter