/**
  * @param array $tree
  */
 public static function build_custom_wp_menu($tree)
 {
     global $menu, $submenu;
     $root =& $tree['root'];
     $root_wf =& $tree['root_widget_features'];
     $root_hoangweb =& $tree['root_hoangweb'];
     if (isset($tree['menu'])) {
         $menu =& $tree['menu'];
     }
     if (isset($tree['submenu'])) {
         $submenu =& $tree['submenu'];
     }
     //$modules_submenus = HW_HOANGWEB::get_wp_option('other_modules_submenus', array());
     //HW_HOANGWEB::del_wp_option('other_modules_submenus');
     do_action('hw_build_custom_wp_menu', $tree);
     $modules_submenus = array();
     //build custom wp menu under hoangweb settings
     foreach (HW_HOANGWEB_Settings::get_menus_data('menus') as $name => $menu_arg) {
         #if(isset($data['menus']))
         #foreach($data['menus'] as $menu_arg) {
         $root_hoangweb[] = $menu_arg;
         #}
     }
     //build custom wp menu for widget features page
     foreach (HW_Widget_Features_Setting::get_menus_data() as $name => $data) {
         foreach ($data['features_tab_menus'] as $menu_arg) {
             $menu_arg = HW_Widget_Features_Setting::valid_custom_submenu($menu_arg);
             $root_wf[] = $menu_arg;
         }
     }
     //for modules settings page
     foreach (HW_Module_Settings_page::get_menus_data() as $module => $data) {
         #HW_Module_Settings_page::get_module_data($module, 'menus')
         //main tab setting page for the module
         if (!empty($data['modules_tab_menus'])) {
             foreach ($data['modules_tab_menus'] as $menu_arg) {
                 $menu_arg[0] = ':: ' . $menu_arg[0];
                 //dishtingish to other
                 $menu_arg = HW_Module_Settings_page::valid_custom_submenu($menu_arg);
                 $root[] = $menu_arg;
             }
         }
         if (!empty($data['other_menus']['menus'])) {
             foreach ($data['other_menus']['menus'] as $menu_slug) {
                 $slug = is_array($menu_slug) ? $menu_slug['slug'] : $menu_slug;
                 //get menu slug
                 $_menu = new HW_Array_List_items_path($menu, $slug);
                 $moving_menu = $_menu->get_search_item(1);
                 #_print($moving_menu);#exit;
                 if (!$moving_menu) {
                     continue;
                 }
                 //move submenu module under main settings menu
                 $moving_menu = HW_Module_Settings_page::valid_custom_submenu($moving_menu);
                 //delete old menu
                 $_menu->remove_search_item(1, $menu);
                 $root[] = $moving_menu;
                 //find it's submenus
                 $_submenu = new HW_Array_List_items_path($submenu, $slug);
                 $submenus_list = $_submenu->get_search_item(1);
                 if (!$submenus_list) {
                     $submenus_list = $moving_menu;
                     //get parent menu as submenu
                 }
                 if (!hwArray::is_multi($submenus_list)) {
                     //make more menus in list
                     $submenus_list = array($submenus_list);
                 }
                 //adding new data item menu for post type
                 if (!$_submenu->get_search_item(1) && strpos($moving_menu[2], 'edit.php?post_type=') !== false) {
                     $add_new_menuitem = array('Thêm mới', 'edit_posts', str_replace('edit.php?', 'post-new.php?', $moving_menu[2]));
                     $submenus_list[] = HW_Module_Settings_page::valid_custom_submenu($add_new_menuitem);
                 }
                 if (empty($modules_submenus[$module])) {
                     $modules_submenus[$module] = array('sub' => $submenus_list, 'parent' => $moving_menu);
                 } elseif (!empty($modules_submenus[$module]['sub'])) {
                     $modules_submenus[$module]['sub'] = array_merge($modules_submenus[$module]['sub'], $submenus_list);
                 }
             }
         }
         //other menus created by module
         if (!empty($data['other_menus']['sub_menus'])) {
             foreach ($data['other_menus']['sub_menus'] as $menu_slug) {
                 $slug = is_array($menu_slug) ? $menu_slug['slug'] : $menu_slug;
                 //get menu slug
                 $_menu = new HW_Array_List_items_path($submenu, $slug);
                 $moving_menu = $_menu->get_search_item();
                 $moving_menu = HW_Module_Settings_page::valid_custom_submenu($moving_menu);
                 if (!$moving_menu) {
                     continue;
                 }
                 //delete old position
                 $_menu->remove_search_item(0, $submenu);
                 $root[] = $moving_menu;
                 //also add submenu to module boxes menu list
                 $submenus_list = array($moving_menu);
                 if (empty($modules_submenus[$module])) {
                     $modules_submenus[$module] = array('sub' => $submenus_list, 'parent' => $moving_menu);
                 } elseif (!empty($modules_submenus[$module]['sub'])) {
                     $modules_submenus[$module]['sub'] = array_merge($modules_submenus[$module]['sub'], $submenus_list);
                 }
             }
         }
     }
     //save to db options
     if (count($modules_submenus)) {
         HW_HOANGWEB::add_wp_option('other_modules_submenus', $modules_submenus);
     }
     if ($menu) {
         HW_HOANGWEB::add_wp_option('hw_custom_wp_menu', $menu);
     }
     if ($submenu) {
         HW_HOANGWEB::add_wp_option('hw_custom_wp_submenu', $submenu);
     }
 }