| 1 |
<?php |
| 2 |
/* * class |
| 3 |
* Description of AdminMenuService |
| 4 |
* |
| 5 |
* @author Ali2Woo Team |
| 6 |
* |
| 7 |
*/ |
| 8 |
namespace AliNext_Lite;; |
| 9 |
class AdminMenuService |
| 10 |
{ |
| 11 |
public const MENU_TYPE_STANDARD = 0; |
| 12 |
public const MENU_TYPE_LINK_ONLY = 1; |
| 13 |
public const MENU_TYPE_HIDDEN_PAGE = 2; |
| 14 |
|
| 15 |
public function registerPage( |
| 16 |
AbstractModernAdminPage $Page, int $menuType = 0, int $priority = 10 |
| 17 |
): void { |
| 18 |
|
| 19 |
add_action('a2wl_init_admin_menu', function() use ($Page, $menuType) { |
| 20 |
switch ($menuType) { |
| 21 |
case self::MENU_TYPE_STANDARD: |
| 22 |
add_submenu_page( |
| 23 |
'ali2woo', |
| 24 |
$Page->getPageTitle(), |
| 25 |
$Page->getMenuTitle(), |
| 26 |
$Page->getCapability(), |
| 27 |
$Page->getSlug(), |
| 28 |
[$Page, 'render'] |
| 29 |
); |
| 30 |
break; |
| 31 |
|
| 32 |
case self::MENU_TYPE_LINK_ONLY: |
| 33 |
add_submenu_page( |
| 34 |
'ali2woo', |
| 35 |
$Page->getPageTitle(), |
| 36 |
$Page->getMenuTitle(), |
| 37 |
$Page->getCapability(), |
| 38 |
$Page->getSlug() |
| 39 |
); |
| 40 |
break; |
| 41 |
|
| 42 |
case self::MENU_TYPE_HIDDEN_PAGE: |
| 43 |
add_menu_page( |
| 44 |
$Page->getPageTitle(), |
| 45 |
'', |
| 46 |
$Page->getCapability(), |
| 47 |
$Page->getSlug(), |
| 48 |
[$Page, 'render'], |
| 49 |
'', |
| 50 |
99 |
| 51 |
); |
| 52 |
break; |
| 53 |
} |
| 54 |
|
| 55 |
if ($menuType === self::MENU_TYPE_HIDDEN_PAGE) { |
| 56 |
remove_menu_page($Page->getSlug()); |
| 57 |
} |
| 58 |
}, $priority); |
| 59 |
|
| 60 |
} |
| 61 |
} |
| 62 |
|