Make WordPress Core


Ignore:
Timestamp:
08/15/2006 09:03:11 PM (19 years ago)
Author:
ryan
Message:

More menu fixes. #2257

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/admin-functions.php

    r4093 r4097  
    13391339    global $menu;
    13401340    global $submenu;
    1341     global $menu_nopriv;
     1341    global $_wp_menu_nopriv;
     1342    global $_wp_submenu_nopriv;
    13421343    global $plugin_page;
    13431344
    13441345    $parent = get_admin_page_parent();
    1345    
    1346     if ( isset($menu_nopriv[$pagenow]) )
     1346
     1347    if ( isset($_wp_submenu_nopriv[$parent][$pagenow]) )
    13471348        return false;
    13481349
    1349     if ( isset($plugin_page) && isset($menu_nopriv[$plugin_page]) )
     1350    if ( isset($plugin_page) && isset($_wp_submenu_nopriv[$parent][$plugin_page]) )
    13501351        return false;
    13511352   
    13521353    if ( empty($parent) )
    1353         return true;
     1354        return false;
    13541355
    13551356    if (isset ($submenu[$parent])) {
     
    13651366
    13661367    foreach ($menu as $menu_array) {
    1367         //echo "parent array: " . $menu_array[2];
    13681368        if ($menu_array[2] == $parent) {
    13691369            if (current_user_can($menu_array[1]))
     
    14301430    global $pagenow;
    14311431    global $plugin_page;
    1432     global $real_parent_file;
     1432    global $_wp_real_parent_file;
     1433    global $_wp_menu_nopriv;
     1434    global $_wp_submenu_nopriv;
    14331435
    14341436    if ( !empty ($parent_file) ) {
    1435         if ( isset($real_parent_file[$parent_file]) )
    1436             $parent_file = $real_parent_file[$parent_file];
     1437        if ( isset($_wp_real_parent_file[$parent_file]) )
     1438            $parent_file = $_wp_real_parent_file[$parent_file];
    14371439
    14381440        return $parent_file;
     
    14431445            if ($parent_menu[2] == $plugin_page) {
    14441446                $parent_file = $plugin_page;
    1445                 if ( isset($real_parent_file[$parent_file]) )
    1446                     $parent_file = $real_parent_file[$parent_file];
    1447                    
     1447                if ( isset($_wp_real_parent_file[$parent_file]) )
     1448                    $parent_file = $_wp_real_parent_file[$parent_file];
    14481449                return $parent_file;
    14491450            }
    14501451        }
     1452        if ( isset($_wp_menu_nopriv[$plugin_page]) ) {
     1453            $parent_file = $plugin_page;
     1454            if ( isset($_wp_real_parent_file[$parent_file]) )
     1455                    $parent_file = $_wp_real_parent_file[$parent_file];
     1456            return $parent_file;
     1457        }           
     1458    }
     1459
     1460    if ( isset($plugin_page) && isset($_wp_submenu_nopriv[$pagenow][$plugin_page]) ) {
     1461        $parent_file = $pagenow;
     1462        if ( isset($_wp_real_parent_file[$parent_file]) )
     1463            $parent_file = $_wp_real_parent_file[$parent_file];
     1464        return $parent_file;       
    14511465    }
    14521466
    14531467    foreach (array_keys($submenu) as $parent) {
    14541468        foreach ($submenu[$parent] as $submenu_array) {
    1455             if ( isset($real_parent_file[$parent]) )
    1456                 $parent = $real_parent_file[$parent];
     1469            if ( isset($_wp_real_parent_file[$parent]) )
     1470                $parent = $_wp_real_parent_file[$parent];
    14571471            if ($submenu_array[2] == $pagenow) {
    14581472                $parent_file = $parent;
     
    14891503    global $submenu;
    14901504    global $menu;
    1491     global $real_parent_file;
    1492     global $menu_nopriv;
     1505    global $_wp_real_parent_file;
     1506    global $_wp_submenu_nopriv;
     1507    global $_wp_menu_nopriv;
    14931508
    14941509    $file = plugin_basename($file);
    1495     //echo "Adding $parent $file $access_level<br />";
     1510
     1511    $parent = plugin_basename($parent);
     1512    if ( isset($_wp_real_parent_file[$parent]) )
     1513        $parent = $_wp_real_parent_file[$parent];
     1514
    14961515    if ( !current_user_can($access_level) ) {
    1497         $menu_nopriv[$file] = true;
     1516        $_wp_submenu_nopriv[$parent][$file] = true;
    14981517        return false;
    14991518    }
    1500 
    1501     $parent = plugin_basename($parent);
    1502     if ( isset($real_parent_file[$parent]) )
    1503         $parent = $real_parent_file[$parent];
    15041519
    15051520    // If the parent doesn't already have a submenu, add a link to the parent
     
    15071522    // parent file someone is trying to link back to the parent manually.  In
    15081523    // this case, don't automatically add a link back to avoid duplication.
    1509     if (!isset ($submenu[$parent]) && $file != $parent) {
     1524    if (!isset ($submenu[$parent]) && $file != $parent  ) {
    15101525        foreach ($menu as $parent_menu) {
    1511             if ($parent_menu[2] == $parent) {
     1526            if ( $parent_menu[2] == $parent && current_user_can($parent_menu[1]) ) {
    15121527                $submenu[$parent][] = $parent_menu;
    15131528            }
Note: See TracChangeset for help on using the changeset viewer.