Exemplo n.º 1
0
 /**
  * For creating admin bar menu
  * @author Howard <*****@*****.**>
  * @global object $wp_admin_bar
  */
 public function wpl_admin_bar_menu()
 {
     $cur_user_id = wpl_users::get_cur_user_id();
     $cur_user_data = wpl_users::get_user($cur_user_id);
     $cur_role = wpl_users::get_role($cur_user_id, false);
     $wpl_roles = wpl_users::get_wpl_roles();
     $menus = wpl_global::get_menus('menu', 'backend');
     $submenus = wpl_global::get_menus('submenu', 'backend');
     global $wp_admin_bar;
     /** generate pages object **/
     $controller = new wpl_controller();
     if (wpl_users::is_administrator($cur_user_id) or $cur_user_data->data->wpl_data->id) {
         /** add menus **/
         foreach ($menus as $menu) {
             $menu_slug = (!wpl_users::is_administrator($cur_user_id) and $menu->capability != 'current') ? 'wpl_admin_profile' : $menu->menu_slug;
             $wp_admin_bar->add_menu(array('id' => $menu->menu_slug, 'title' => __($menu->menu_title, WPL_TEXTDOMAIN), 'href' => wpl_global::get_wp_admin_url() . 'admin.php?page=' . $menu_slug));
         }
         /** add sub menus **/
         foreach ($submenus as $submenu) {
             if (!wpl_users::has_menu_access($submenu->menu_slug)) {
                 continue;
             }
             if (!wpl_users::is_administrator($cur_user_id) and $submenu->capability != 'current') {
                 continue;
             }
             $menu_title = $submenu->separator ? $controller->wpl_add_separator() . __($submenu->menu_title, WPL_TEXTDOMAIN) : __($submenu->menu_title, WPL_TEXTDOMAIN);
             $wp_admin_bar->add_menu(array('id' => $submenu->menu_slug, 'parent' => $submenu->parent, 'title' => $menu_title, 'href' => wpl_global::get_wp_admin_url() . 'admin.php?page=' . $submenu->menu_slug));
         }
     }
 }