From 53271cf5acc8e89062776f4cdb7d04c584225134 Mon Sep 17 00:00:00 2001 From: Ryan Boren 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: https://develop.svn.wordpress.org/trunk@3296 602fd350-edb4-49c9-b593-d223f7449a82 --- 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; }