Make WordPress Core

Ticket #1561: capabilities.php.diff

File capabilities.php.diff, 1.1 KB (added by ringmaster, 20 years ago)

patch for mentioned issues

  • capabilities.php

     
    6464
    6565        function is_role($role)
    6666        {
    67                 return empty($this->role_names[$role]);
     67                return isset($this->role_names[$role]);
    6868        }       
    6969}
    7070
     
    132132                global $wp_roles;
    133133                //Filter out caps that are not role names and assign to $this->roles
    134134                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'));
    136136
    137137                //Build $allcaps from role caps, overlay user's $caps
    138138                $this->allcaps = array();
    139                 foreach($this->roles as $role => $value) {
     139                foreach($this->roles as $role) {
    140140                        $role = $wp_roles->get_role($role);
    141141                        $this->allcaps = array_merge($this->allcaps, $role->capabilities);
    142142                }
     
    159159        }
    160160       
    161161        function set_role($role) {
    162                 foreach($this->roles as $oldrole => $value)
     162                foreach($this->roles as $oldrole)
    163163                        unset($this->caps[$oldrole]);
    164164                $this->caps[$role] = true;
    165165                $this->roles = array($role => true);