Make WordPress Core

Changeset 2712


Ignore:
Timestamp:
07/15/2005 01:24:08 AM (21 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.