Make WordPress Core

Changeset 4100


Ignore:
Timestamp:
08/15/2006 10:13:36 PM (20 years ago)
Author:
ryan
Message:

More fun with menus.

Location:
trunk/wp-admin
Files:
2 edited

Legend:

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

    r4099 r4100  
    13441344
    13451345        $parent = get_admin_page_parent();
    1346 
     1346        /*echo "pa: $parent pn: $pagenow pp: $plugin_page<br/>";
     1347        echo "<pre>";
     1348        print_r($_wp_menu_nopriv);
     1349        print_r($_wp_submenu_nopriv);
     1350        echo "</pre>";*/
    13471351        if ( isset($_wp_submenu_nopriv[$parent][$pagenow]) )
    13481352                return false;
     
    13511355                return false;
    13521356       
    1353         //if ( empty($parent) )
    1354                 //return false;
     1357        if ( empty($parent) ) {
     1358                if ( isset($_wp_menu_nopriv[$pagenow]) )
     1359                        return false;
     1360                if ( isset($_wp_submenu_nopriv[$pagenow][$pagenow]) )
     1361                        return false;
     1362                if ( isset($plugin_page) && isset($_wp_submenu_nopriv[$pagenow][$plugin_page]) )
     1363                        return false;
     1364                foreach (array_keys($_wp_submenu_nopriv) as $key) {
     1365                        if ( isset($_wp_submenu_nopriv[$key][$pagenow]) )
     1366                                return false;
     1367                        if ( isset($plugin_page) && isset($_wp_submenu_nopriv[$key][$plugin_page]) )
     1368                        return false;   
     1369                }
     1370                return true;
     1371        }
    13551372
    13561373        if (isset ($submenu[$parent])) {
  • trunk/wp-admin/menu.php

    r4097 r4100  
    7070}
    7171
     72$_wp_submenu_nopriv = array();
     73$_wp_menu_nopriv = array();
    7274// Loop over submenus and remove pages for which the user does not have privs.
    7375foreach ($submenu as $parent => $sub) {
     
    7577                if ( ! current_user_can($data[1]) ) {
    7678                        unset($submenu[$parent][$index]);
     79                        $_wp_submenu_nopriv[$parent][$data[2]] = true;
    7780                }
    7881        }
     
    119122                        unset($menu[$id]);
    120123                }
    121         } else {
    122         /*      $subs = $submenu[$data[2]];
    123                 $first_sub = array_shift($subs);
    124                 $old_parent = $data[2];
    125                 $new_parent = $first_sub[2];
    126                 // If the first submenu is not the same as the assigned parent,
    127                 // make the first submenu the new parent.
    128                 if ( $new_parent != $old_parent ) {
    129                         $_wp_real_parent_file[$old_parent] = $new_parent;
    130                         $menu[$id][2] = $new_parent;
    131                
    132                         foreach ($submenu[$old_parent] as $index => $data) {
    133                                 $submenu[$new_parent][$index] = $submenu[$old_parent][$index];
    134                                 unset($submenu[$old_parent][$index]);
    135                         }
    136                         unset($submenu[$old_parent]);
    137                         $_wp_submenu_nopriv[$new_parent] = $_wp_submenu_nopriv[$old_parent];
    138                 } */
    139124        }
    140125}
Note: See TracChangeset for help on using the changeset viewer.