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
This commit is contained in:
Ryan Boren 2005-12-12 23:20:44 +00:00
parent 56e626673e
commit 53271cf5ac
1 changed files with 5 additions and 3 deletions

View File

@ -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<br/>";
if(empty($this->allcaps[$cap]) || !$this->allcaps[$cap])
if(empty($capabilities[$cap]) || !$capabilities[$cap])
return false;
}