Changeset 4097
- Timestamp:
- 08/15/2006 09:03:11 PM (18 years ago)
- Location:
- trunk/wp-admin
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-admin/admin-functions.php
r4093 r4097 1339 1339 global $menu; 1340 1340 global $submenu; 1341 global $menu_nopriv; 1341 global $_wp_menu_nopriv; 1342 global $_wp_submenu_nopriv; 1342 1343 global $plugin_page; 1343 1344 1344 1345 $parent = get_admin_page_parent(); 1345 1346 if ( isset($ menu_nopriv[$pagenow]) )1346 1347 if ( isset($_wp_submenu_nopriv[$parent][$pagenow]) ) 1347 1348 return false; 1348 1349 1349 if ( isset($plugin_page) && isset($ menu_nopriv[$plugin_page]) )1350 if ( isset($plugin_page) && isset($_wp_submenu_nopriv[$parent][$plugin_page]) ) 1350 1351 return false; 1351 1352 1352 1353 if ( empty($parent) ) 1353 return true;1354 return false; 1354 1355 1355 1356 if (isset ($submenu[$parent])) { … … 1365 1366 1366 1367 foreach ($menu as $menu_array) { 1367 //echo "parent array: " . $menu_array[2];1368 1368 if ($menu_array[2] == $parent) { 1369 1369 if (current_user_can($menu_array[1])) … … 1430 1430 global $pagenow; 1431 1431 global $plugin_page; 1432 global $real_parent_file; 1432 global $_wp_real_parent_file; 1433 global $_wp_menu_nopriv; 1434 global $_wp_submenu_nopriv; 1433 1435 1434 1436 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]; 1437 1439 1438 1440 return $parent_file; … … 1443 1445 if ($parent_menu[2] == $plugin_page) { 1444 1446 $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]; 1448 1449 return $parent_file; 1449 1450 } 1450 1451 } 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; 1451 1465 } 1452 1466 1453 1467 foreach (array_keys($submenu) as $parent) { 1454 1468 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]; 1457 1471 if ($submenu_array[2] == $pagenow) { 1458 1472 $parent_file = $parent; … … 1489 1503 global $submenu; 1490 1504 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; 1493 1508 1494 1509 $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 1496 1515 if ( !current_user_can($access_level) ) { 1497 $ menu_nopriv[$file] = true;1516 $_wp_submenu_nopriv[$parent][$file] = true; 1498 1517 return false; 1499 1518 } 1500 1501 $parent = plugin_basename($parent);1502 if ( isset($real_parent_file[$parent]) )1503 $parent = $real_parent_file[$parent];1504 1519 1505 1520 // If the parent doesn't already have a submenu, add a link to the parent … … 1507 1522 // parent file someone is trying to link back to the parent manually. In 1508 1523 // 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 ) { 1510 1525 foreach ($menu as $parent_menu) { 1511 if ( $parent_menu[2] == $parent) {1526 if ( $parent_menu[2] == $parent && current_user_can($parent_menu[1]) ) { 1512 1527 $submenu[$parent][] = $parent_menu; 1513 1528 } -
trunk/wp-admin/index.php
r3954 r4097 2 2 require_once('admin.php'); 3 3 $title = __('Dashboard'); 4 $parent_file = 'index.php'; 4 5 require_once('admin-header.php'); 5 6 require_once (ABSPATH . WPINC . '/rss.php'); -
trunk/wp-admin/menu.php
r4093 r4097 44 44 45 45 if ( current_user_can('edit_users') ) { 46 $ real_parent_file['profile.php'] = 'users.php'; // Back-compat for plugins adding submenus to profile.php.46 $_wp_real_parent_file['profile.php'] = 'users.php'; // Back-compat for plugins adding submenus to profile.php. 47 47 $submenu['users.php'][5] = array(__('Authors & Users'), 'edit_users', 'users.php'); 48 48 $submenu['users.php'][10] = array(__('Your Profile'), 'read', 'profile.php'); … … 74 74 foreach ($sub as $index => $data) { 75 75 if ( ! current_user_can($data[1]) ) { 76 $menu_nopriv[$data[2]] = true;77 76 unset($submenu[$parent][$index]); 78 77 } … … 96 95 // make the first submenu the new parent. 97 96 if ( $new_parent != $old_parent ) { 98 $ real_parent_file[$old_parent] = $new_parent;97 $_wp_real_parent_file[$old_parent] = $new_parent; 99 98 $menu[$id][2] = $new_parent; 100 99 … … 103 102 unset($submenu[$old_parent][$index]); 104 103 } 105 unset($submenu[$old_parent]); 104 unset($submenu[$old_parent]); 105 $_wp_submenu_nopriv[$new_parent] = $_wp_submenu_nopriv[$old_parent]; 106 106 } 107 107 } … … 110 110 111 111 // Remove menus that have no accessible submenus and require privs that the user does not have. 112 // Run re-parent loop again. 112 113 foreach ( $menu as $id => $data ) { 113 114 // If submenu is empty... … … 115 116 // And user doesn't have privs, remove menu. 116 117 if ( ! current_user_can($data[1]) ) { 117 $ menu_nopriv[$data[2]] = true;118 $_wp_menu_nopriv[$data[2]] = true; 118 119 unset($menu[$id]); 119 120 } 120 } 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 } */ 139 } 121 140 } 122 141
Note: See TracChangeset
for help on using the changeset viewer.