From cd51624aba2aa9331c5175a0bd2d6466cb9bf988 Mon Sep 17 00:00:00 2001 From: nacin Date: Tue, 14 Dec 2010 11:22:32 +0000 Subject: [PATCH] Ensure the map_meta_cap filter receives the right cap when the map_meta_cap flag is false. fixes #15779. git-svn-id: http://svn.automattic.com/wordpress/trunk@16909 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/capabilities.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/wp-includes/capabilities.php b/wp-includes/capabilities.php index 660ee5056..2ea5aeb48 100644 --- a/wp-includes/capabilities.php +++ b/wp-includes/capabilities.php @@ -828,6 +828,9 @@ function map_meta_cap( $cap, $user_id ) { if ( ! $post_type->map_meta_cap ) { $caps[] = $post_type->cap->$cap; + // Prior to 3.1 we would re-call map_meta_cap here. + if ( $cap == 'delete_post' ) + $cap = $post_type->cap->$cap; break; } @@ -870,6 +873,9 @@ function map_meta_cap( $cap, $user_id ) { if ( ! $post_type->map_meta_cap ) { $caps[] = $post_type->cap->$cap; + // Prior to 3.1 we would re-call map_meta_cap here. + if ( $cap == 'edit_post' ) + $cap = $post_type->cap->$cap; break; } @@ -911,6 +917,9 @@ function map_meta_cap( $cap, $user_id ) { if ( ! $post_type->map_meta_cap ) { $caps[] = $post_type->cap->$cap; + // Prior to 3.1 we would re-call map_meta_cap here. + if ( $cap == 'read_post' ) + $cap = $post_type->cap->$cap; break; }