From 72650ed6b7d06486c6aff8154217791888769d2f Mon Sep 17 00:00:00 2001 From: ryan Date: Mon, 12 Dec 2005 23:20:44 +0000 Subject: [PATCH] role_has_cap and user_has_cap filters from ringmaster. fixes #2005 git-svn-id: http://svn.automattic.com/wordpress/trunk@3296 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/capabilities.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/wp-includes/capabilities.php b/wp-includes/capabilities.php index 2782df1416..bf748aeae8 100644 --- a/wp-includes/capabilities.php +++ b/wp-includes/capabilities.php @@ -97,8 +97,9 @@ class WP_Role { } function has_cap($cap) { - if ( !empty($this->capabilities[$cap]) ) - return $this->capabilities[$cap]; + $capabilities = apply_filters('role_has_cap', $this->capabilities, $cap, $this->name); + if ( !empty($capabilities[$cap]) ) + return $capabilities[$cap]; else return false; } @@ -215,9 +216,10 @@ class WP_User { $args = array_merge(array($cap, $this->id), $args); $caps = call_user_func_array('map_meta_cap', $args); // Must have ALL requested caps + $capabilities = apply_filters('user_has_cap', $this->allcaps, $caps, $args); foreach ($caps as $cap) { //echo "Checking cap $cap
"; - if(empty($this->allcaps[$cap]) || !$this->allcaps[$cap]) + if(empty($capabilities[$cap]) || !$capabilities[$cap]) return false; }