/**
  * Generate WP-compatible $menu and $submenu arrays from a custom menu tree.
  */
 private function _build_custom_wp_menu()
 {
     $new_menu = array();
     $new_submenu = array();
     global $menu, $submenu;
     $cache_submenu = HW_HOANGWEB::get_wp_option('hw_custom_wp_submenu');
     $cache_modules_submenus = HW_HOANGWEB::get_wp_option('other_modules_submenus');
     if (empty($cache_submenu) || empty($cache_modules_submenus)) {
         #$root = new HW_Array_List_items_path($submenu, __CLASS__);
         $parent =& HW_Module_Settings_page::get_root_wp_menu_data($submenu);
         $parent1 =& HW_Widget_Features_Setting::get_root_wp_menu_data($submenu);
         $root_hoangweb =& HW_HOANGWEB_Settings::get_root_wp_menu_data($submenu);
         /*#eval('$parent = &$submenu'. $parent.';');
                     $parent[] = Array
                     (
                         'abc',
                         'manage_options',
                         'http://localhost/wp1/wp-admin/admin.php?tab=gallery&page=hw_modules_settings&module=gallery&tgmpa-tab-nonce=2ad45f5013&_wpnonce=922a2d6727',
         
                     );
                     set_transient('hw-replace-admin-submenu', $submenu);*/
         self::build_custom_wp_menu(array('menu' => &$menu, 'submenu' => &$submenu, 'root' => &$parent, 'root_widget_features' => &$parent1, 'root_hoangweb' => &$root_hoangweb));
         HW_SESSION::save_session('submenu', $submenu);
         HW_SESSION::save_session('menu', $menu);
         $this->custom_wp_menu = $menu;
         $this->custom_wp_submenu = $submenu;
     }
 }
 /**
  * Register the settings page
  * @hook admin_menu
  */
 public function _wxr_settings_menu()
 {
     //add_options_page( __( 'HW Settings Import and Export' ), __( 'HW Import/Export' ), 'manage_options', 'hw_wxr_settings', array($this, '_wxr_settings_page') );
     add_submenu_page('admin.php', __('HW Settings Import and Export'), __('HW Import/Export'), 'manage_options', $this->menu, array($this, '_wxr_settings_page'));
     HW_HOANGWEB_Settings::add_custom_submenu_page('hw-import-export', array(__('HW Import/Export'), 'manage_options', admin_url('admin.php?page=' . $this->menu)));
 }
 /**
  * Adds submenu page under 'Appearance' tab.
  *
  * This method adds the submenu page letting users know that a required
  * plugin needs to be installed.
  *
  * This page disappears once the plugin has been installed and activated.
  *
  * @since 1.0.0
  *
  * @see HW_TGM_Module_Activation::init()
  * @see HW_TGM_Module_Activation::install_plugins_page()
  */
 public function hw_admin_menu()
 {
     // Make sure privileges are correct to see the page
     if (!current_user_can('install_plugins')) {
         return;
     }
     //modify by hoang
     $this->populate_file_path();
     foreach ($this->plugins as $plugin) {
         if ($this->hw_is_exists_module($plugin['file_path'])) {
             /*$hook = add_theme_page(
                   $this->strings['page_title'],          // Page title.
                   $this->strings['menu_title'],          // Menu title.
                   'edit_theme_options',                  // Capability.
                   $this->menu,                           // Menu slug.
                   array( $this, 'hw_install_module_page' ) // Callback.
               );*/
             add_submenu_page('admin.php', $this->strings['page_title'], $this->strings['menu_title'], 'manage_options', $this->menu, array($this, 'hw_install_module_page'));
             HW_HOANGWEB_Settings::add_custom_submenu_page('module-activation', array('HW Modules', 'manage_options', admin_url('admin.php?page=' . $this->menu)));
             break;
         }
     }
 }
 /**
  * register submenu item
  */
 public static function register_menu()
 {
     HW_HOANGWEB_Settings::register_submenu(get_called_class());
 }