Menu reparenting fixes. Now even more complex and incomprehensible.

git-svn-id: https://develop.svn.wordpress.org/trunk@4481 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Ryan Boren
2006-11-18 16:24:31 +00:00
parent 7e226f1a94
commit 19051fe4d3
2 changed files with 18 additions and 11 deletions

View File

@@ -1341,11 +1341,7 @@ function user_can_access_admin_page() {
global $plugin_page;
$parent = get_admin_page_parent();
/*echo "pa: $parent pn: $pagenow pp: $plugin_page<br/>";
echo "<pre>";
print_r( $_wp_menu_nopriv );
print_r( $_wp_submenu_nopriv );
echo "</pre>";*/
if ( isset( $_wp_submenu_nopriv[$parent][$pagenow] ) )
return false;
@@ -1370,7 +1366,12 @@ function user_can_access_admin_page() {
if ( isset( $submenu[$parent] ) ) {
foreach ( $submenu[$parent] as $submenu_array ) {
if ( $submenu_array[2] == $pagenow ) {
if ( isset( $plugin_page ) && ( $submenu_array[2] == $plugin_page ) ) {
if ( current_user_can( $submenu_array[1] ))
return true;
else
return false;
} else if ( $submenu_array[2] == $pagenow ) {
if ( current_user_can( $submenu_array[1] ))
return true;
else
@@ -1549,9 +1550,8 @@ function add_submenu_page( $parent, $page_title, $menu_title, $access_level, $fi
// this case, don't automatically add a link back to avoid duplication.
if (!isset( $submenu[$parent] ) && $file != $parent ) {
foreach ( $menu as $parent_menu ) {
if ( $parent_menu[2] == $parent && current_user_can( $parent_menu[1] ) ) {
if ( $parent_menu[2] == $parent && current_user_can( $parent_menu[1] ) )
$submenu[$parent][] = $parent_menu;
}
}
}