Changeset 2712

Show
Ignore:
Timestamp:
07/15/05 01:24:08 (3 years ago)
Author:
ryan
Message:

Cap migration.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/wp-includes/capabilities.php

    r2711 r2712  
    103103class WP_User { 
    104104    var $data; 
    105     var $id
    106     var $caps
     105    var $id = 0
     106    var $caps = array()
    107107    var $cap_key; 
    108     var $roles
    109     var $allcaps
     108    var $roles = array()
     109    var $allcaps = array()
    110110 
    111111    function WP_User($id) { 
    112112        global $wp_roles, $table_prefix; 
    113         $this->id = $id; 
    114         $this->data = get_userdata($id); 
     113 
     114        if ( is_numeric($id) ) { 
     115            $this->data = get_userdata($id); 
     116        } else { 
     117            $this->data = get_userdatabylogin($id); 
     118        } 
     119 
     120        if ( empty($this->data->ID) ) 
     121            return; 
     122 
     123        $this->id = $this->data->ID; 
    115124        $this->cap_key = $table_prefix . 'capabilities'; 
    116125        $this->caps = &$this->data->{$this->cap_key}; 
     
    141150     
    142151    function remove_role($role) { 
    143         if(!empty($this->roles[$role]) && (count($this->roles) > 1)) 
    144         unset($this->caps[$cap]); 
     152        if ( empty($this->roles[$role]) || (count($this->roles) <= 1) ) 
     153            return; 
     154        unset($this->caps[$role]); 
    145155        update_usermeta($this->id, $this->cap_key, $this->caps); 
    146156        $this->get_role_caps(); 
     
    178188 
    179189    function remove_cap($cap) { 
    180         if(!empty($this->roles[$role])) return; 
     190        if ( empty($this->roles[$cap]) ) return; 
    181191        unset($this->caps[$cap]); 
    182192        update_usermeta($this->id, $this->cap_key, $this->caps); 
  • trunk/wp-includes/functions-post.php

    r2693 r2712  
    533533    if ( $user_id ) { 
    534534        $userdata = get_userdata($user_id); 
     535        $user = new WP_User($user_id); 
    535536        $post_author = $wpdb->get_var("SELECT post_author FROM $wpdb->posts WHERE ID = '$comment_post_ID' LIMIT 1"); 
    536537    } 
     
    553554    } 
    554555 
    555     if ( $userdata && ( $user_id == $post_author || $userdata->user_level >= 9 ) ) { 
     556    if ( $userdata && ( $user_id == $post_author || $user->has_cap('level_9') ) ) { 
    556557        $approved = 1; 
    557558    } else { 
  • trunk/wp-includes/registration-functions.php

    r2702 r2712  
    2727    $user_level = (int) $user_level; 
    2828    update_usermeta( $user_id, $wpdb->prefix . 'user_level', $user_level); 
     29    $user = new WP_User($user_id); 
     30    $user->set_role(get_settings('default_role')); 
     31     
    2932    return $user_id; 
    3033} 
  • trunk/wp-login.php

    r2658 r2712  
    177177 
    178178    if ($user_login && $user_pass) { 
    179         $user = get_userdatabylogin($user_login); 
    180         if ( 0 == $user->user_level ) 
     179        $user = new WP_User($user_login); 
     180        // If the user can't edit posts, send them to their profile. 
     181        if ( ! $user->has_cap('edit_posts') ) 
    181182            $redirect_to = get_settings('siteurl') . '/wp-admin/profile.php'; 
    182183 
  • trunk/xmlrpc.php

    r2699 r2712  
    158158      } 
    159159 
    160       $user_data = get_userdatabylogin($user_login); 
    161       $is_admin = $user_data->user_level > 3
     160      $user = new WP_User($user_login); 
     161      $is_admin = $user->has_cap('level_8')
    162162 
    163163      $struct = array( 
     
    296296      } 
    297297 
    298       $user_data = get_userdatabylogin($user_login); 
    299  
    300       if ($user_data->user_level < 3) { 
    301         return new IXR_Error(401, 'Sorry, users whose level is less than 3, can not edit the template.'); 
     298      $user = new WP_User($user_login); 
     299      if ( !$user->has_cap('edit_themes') ) { 
     300        return new IXR_Error(401, 'Sorry, this user can not edit the template.'); 
    302301      } 
    303302 
     
    332331      } 
    333332 
    334       $user_data = get_userdatabylogin($user_login); 
    335  
    336       if ($user_data->user_level < 3) { 
    337         return new IXR_Error(401, 'Sorry, users whose level is less than 3, can not edit the template.'); 
     333      $user = new WP_User($user_login); 
     334      if ( !$user->has_cap('edit_themes') ) { 
     335        return new IXR_Error(401, 'Sorry, this user can not edit the template.'); 
    338336      } 
    339337 
     
    850848      }  
    851849 
    852       if(get_settings('fileupload_minlevel') > $user_data->user_level) { 
    853         // User has not enough privileges 
    854         logIO('O', '(MW) Not enough privilege: user level too low'); 
     850      $user = new WP_User($user_login); 
     851      if ( !$user->has_cap('upload_files') ) { 
     852        logIO('O', '(MW) User does not have upload_files capability'); 
    855853        $this->error = new IXR_Error(401, 'You are not allowed to upload files to this site.'); 
    856854        return $this->error;