diff --git a/wp-admin/admin-ajax.php b/wp-admin/admin-ajax.php index 030e6b2e4..424130f72 100644 --- a/wp-admin/admin-ajax.php +++ b/wp-admin/admin-ajax.php @@ -1003,8 +1003,11 @@ case 'autosave' : // The name of this action is hardcoded in edit_post() case 'autosave-generate-nonces' : check_ajax_referer( 'autosave', 'autosavenonce' ); $ID = (int) $_POST['post_ID']; - $post_type = ( 'page' == $_POST['post_type'] ) ? 'page' : 'post'; - if ( current_user_can( "edit_{$post_type}", $ID ) ) + $post_type = $_POST['post_type']; + $post_type_object = get_post_type_object($post_type); + if ( !$post_type_object ) + die('0'); + if ( current_user_can( $post_type_object->edit_cap, $ID ) ) die( json_encode( array( 'updateNonce' => wp_create_nonce( "update-{$post_type}_{$ID}" ), 'deleteURL' => str_replace( '&', '&', wp_nonce_url( admin_url( $post_type . '.php?action=trash&post=' . $ID ), "trash-{$post_type}_{$ID}" ) ) ) ) ); do_action('autosave_generate_nonces'); die('0'); diff --git a/wp-admin/admin-header.php b/wp-admin/admin-header.php index 3a97aa1df..652b33b4d 100644 --- a/wp-admin/admin-header.php +++ b/wp-admin/admin-header.php @@ -29,21 +29,6 @@ if ( is_multisite() ) wp_admin_css( 'css/ms' ); wp_enqueue_script('utils'); -$hook_suffix = ''; -if ( isset($page_hook) ) - $hook_suffix = $page_hook; -else if ( isset($plugin_page) ) - $hook_suffix = $plugin_page; -else if ( isset($pagenow) ) - $hook_suffix = $pagenow; - -if ( isset($submenu_file) && (false !== $pos = strpos($submenu_file, 'post_type=')) ) - $typenow = substr($submenu_file, $pos + 10); -elseif ( isset($parent_file) && (false !== $pos = strpos($parent_file, 'post_type=')) ) - $typenow = substr($parent_file, $pos + 10); -else - $typenow = ''; - $admin_body_class = preg_replace('/[^a-z0-9_-]+/i', '-', $hook_suffix); ?>