diff --git a/wp-admin/includes/plugin.php b/wp-admin/includes/plugin.php index 4f469c961..1cf6899e1 100644 --- a/wp-admin/includes/plugin.php +++ b/wp-admin/includes/plugin.php @@ -944,6 +944,9 @@ function user_can_access_admin_page() { return true; } + if ( isset( $plugin_page ) && ( $plugin_page == $parent ) && isset( $_wp_menu_nopriv[$plugin_page] ) ) + return false; + if ( isset( $submenu[$parent] ) ) { foreach ( $submenu[$parent] as $submenu_array ) { if ( isset( $plugin_page ) && ( $submenu_array[2] == $plugin_page ) ) { diff --git a/wp-includes/plugin.php b/wp-includes/plugin.php index 0588bc9ac..0e57784d8 100644 --- a/wp-includes/plugin.php +++ b/wp-includes/plugin.php @@ -495,6 +495,7 @@ function plugin_basename($file) { $mu_plugin_dir = str_replace('\\','/',WPMU_PLUGIN_DIR); // sanitize for Win32 installs $mu_plugin_dir = preg_replace('|/+|','/', $mu_plugin_dir); // remove any duplicate slash $file = preg_replace('#^' . preg_quote($plugin_dir, '#') . '/|^' . preg_quote($mu_plugin_dir, '#') . '/#','',$file); // get relative path from plugins dir + $file = trim($file, '/'); return $file; }