Make WordPress Core

Changeset 2712


Ignore:
Timestamp:
07/15/2005 01:24:08 AM (20 years ago)
Author:
ryan
Message:

Cap migration.

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • 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;
Note: See TracChangeset for help on using the changeset viewer.