Ticket #1561: capabilities.php.diff
File capabilities.php.diff, 1.1 KB (added by , 20 years ago) |
---|
-
capabilities.php
64 64 65 65 function is_role($role) 66 66 { 67 return empty($this->role_names[$role]);67 return isset($this->role_names[$role]); 68 68 } 69 69 } 70 70 … … 132 132 global $wp_roles; 133 133 //Filter out caps that are not role names and assign to $this->roles 134 134 if(is_array($this->caps)) 135 $this->roles = array_filter( $this->caps, array(&$wp_roles, 'is_role'));135 $this->roles = array_filter(array_keys($this->caps), array(&$wp_roles, 'is_role')); 136 136 137 137 //Build $allcaps from role caps, overlay user's $caps 138 138 $this->allcaps = array(); 139 foreach($this->roles as $role => $value) {139 foreach($this->roles as $role) { 140 140 $role = $wp_roles->get_role($role); 141 141 $this->allcaps = array_merge($this->allcaps, $role->capabilities); 142 142 } … … 159 159 } 160 160 161 161 function set_role($role) { 162 foreach($this->roles as $oldrole => $value)162 foreach($this->roles as $oldrole) 163 163 unset($this->caps[$oldrole]); 164 164 $this->caps[$role] = true; 165 165 $this->roles = array($role => true);