WordPress.org

Make WordPress Core

Ticket #3444: custom-global-user-prefix.diff

File custom-global-user-prefix.diff, 5.8 KB (added by markjaquith, 9 years ago)

Patch for trunk

  • wp-includes/capabilities.php

     
    1515        function _init () { 
    1616                global $wpdb; 
    1717                global $wp_user_roles; 
    18                 $this->role_key = $wpdb->prefix . 'user_roles'; 
     18                $this->role_key = USER_PREFIX . 'user_roles'; 
    1919                if ( ! empty($wp_user_roles) ) { 
    2020                        $this->roles = $wp_user_roles; 
    2121                        $this->use_db = false; 
     
    166166 
    167167        function _init_caps() { 
    168168                global $wpdb; 
    169                 $this->cap_key = $wpdb->prefix . 'capabilities'; 
     169                $this->cap_key = USER_PREFIX . 'capabilities'; 
    170170                $this->caps = &$this->{$this->cap_key}; 
    171171                if ( ! is_array($this->caps) ) 
    172172                        $this->caps = array(); 
     
    233233        function update_user_level_from_caps() { 
    234234                global $wpdb; 
    235235                $this->user_level = array_reduce(array_keys($this->allcaps),    array(&$this, 'level_reduction'), 0); 
    236                 update_usermeta($this->ID, $wpdb->prefix.'user_level', $this->user_level); 
     236                update_usermeta($this->ID, USER_PREFIX.'user_level', $this->user_level); 
    237237        } 
    238238 
    239239        function add_cap($cap, $grant = true) { 
     
    251251                global $wpdb; 
    252252                $this->caps = array(); 
    253253                update_usermeta($this->ID, $this->cap_key, ''); 
    254                 update_usermeta($this->ID, $wpdb->prefix.'user_level', ''); 
     254                update_usermeta($this->ID, USER_PREFIX.'user_level', ''); 
    255255                $this->get_role_caps(); 
    256256        } 
    257257 
  • wp-includes/pluggable.php

     
    8282                        $user->{$meta->meta_key} = $value; 
    8383 
    8484                        // We need to set user_level from meta, not row 
    85                         if ( $wpdb->prefix . 'user_level' == $meta->meta_key ) 
     85                        if ( USER_PREFIX . 'user_level' == $meta->meta_key ) 
    8686                                $user->user_level = $meta->meta_value; 
    8787                } // end foreach 
    8888        } //end if 
     
    133133                        $user->{$meta->meta_key} = $value; 
    134134 
    135135                        // We need to set user_level from meta, not row 
    136                         if ( $wpdb->prefix . 'user_level' == $meta->meta_key ) 
     136                        if ( USER_PREFIX . 'user_level' == $meta->meta_key ) 
    137137                                $user->user_level = $meta->meta_value; 
    138138                } 
    139139        } 
  • wp-settings.php

     
    112112 
    113113$wpdb->prefix           = $table_prefix; 
    114114 
    115 if ( defined('CUSTOM_USER_TABLE') ) 
    116         $wpdb->users = CUSTOM_USER_TABLE; 
    117 if ( defined('CUSTOM_USER_META_TABLE') ) 
    118         $wpdb->usermeta = CUSTOM_USER_META_TABLE; 
     115if ( defined('CUSTOM_GLOBAL_USER_PREFIX') ) { 
     116        // user table, user meta table, and permissions prefix all in one 
     117        define('USER_PREFIX', CUSTOM_GLOBAL_USER_PREFIX); 
     118        $wpdb->users = CUSTOM_USER_TABLE = USER_PREFIX . 'users'; 
     119        $wpdb->usermeta = CUSTOM_USER_META_TABLE = USER_PREFIX . 'usermeta'; 
     120} else { 
     121        define('USER_PREFIX', $wpdb->prefix); // permissions should use the default prefix 
     122        if ( defined('CUSTOM_USER_TABLE') ) 
     123                $wpdb->users = CUSTOM_USER_TABLE; 
     124        if ( defined('CUSTOM_USER_META_TABLE') ) 
     125                $wpdb->usermeta = CUSTOM_USER_META_TABLE; 
     126} 
    119127 
    120128// To be removed in 2.2 
    121129$tableposts = $tableusers = $tablecategories = $tablepost2cat = $tablecomments = $tablelink2cat = $tablelinks = $tablelinkcategories = $tableoptions = $tablepostmeta = ''; 
  • wp-admin/upgrade-functions.php

     
    398398                if ( !empty( $user->user_nickname ) ) 
    399399                        update_usermeta( $user->ID, 'nickname', $wpdb->escape($user->user_nickname) ); 
    400400                if ( !empty( $user->user_level ) ) 
    401                         update_usermeta( $user->ID, $wpdb->prefix . 'user_level', $user->user_level ); 
     401                        update_usermeta( $user->ID, USER_PREFIX . 'user_level', $user->user_level ); 
    402402                if ( !empty( $user->user_icq ) ) 
    403403                        update_usermeta( $user->ID, 'icq', $wpdb->escape($user->user_icq) ); 
    404404                if ( !empty( $user->user_aim ) ) 
     
    424424                endif; 
    425425 
    426426                // FIXME: RESET_CAPS is temporary code to reset roles and caps if flag is set. 
    427                 $caps = get_usermeta( $user->ID, $wpdb->prefix . 'capabilities'); 
     427                $caps = get_usermeta( $user->ID, USER_PREFIX . 'capabilities'); 
    428428                if ( empty($caps) || defined('RESET_CAPS') ) { 
    429                         $level = get_usermeta($user->ID, $wpdb->prefix . 'user_level'); 
     429                        $level = get_usermeta($user->ID, USER_PREFIX . 'user_level'); 
    430430                        $role = translate_level_to_role($level); 
    431                         update_usermeta( $user->ID, $wpdb->prefix . 'capabilities', array($role => true) ); 
     431                        update_usermeta( $user->ID, USER_PREFIX . 'capabilities', array($role => true) ); 
    432432                } 
    433433 
    434434        endforeach; 
  • wp-admin/admin-db.php

     
    1111function get_others_drafts( $user_id ) { 
    1212        global $wpdb; 
    1313        $user = get_userdata( $user_id ); 
    14         $level_key = $wpdb->prefix . 'user_level'; 
     14        $level_key = USER_PREFIX . 'user_level'; 
    1515 
    1616        $editable = get_editable_user_ids( $user_id ); 
    1717 
     
    5252                        return false; 
    5353        } 
    5454 
    55         $level_key = $wpdb->prefix . 'user_level'; 
     55        $level_key = USER_PREFIX . 'user_level'; 
    5656 
    5757        $query = "SELECT user_id FROM $wpdb->usermeta WHERE meta_key = '$level_key'"; 
    5858        if ( $exclude_zeros ) 
     
    6363 
    6464function get_author_user_ids() { 
    6565        global $wpdb; 
    66         $level_key = $wpdb->prefix . 'user_level'; 
     66        $level_key = USER_PREFIX . 'user_level'; 
    6767 
    6868        $query = "SELECT user_id FROM $wpdb->usermeta WHERE meta_key = '$level_key' AND meta_value != '0'"; 
    6969 
     
    7272 
    7373function get_nonauthor_user_ids() { 
    7474        global $wpdb; 
    75         $level_key = $wpdb->prefix . 'user_level'; 
     75        $level_key = USER_PREFIX . 'user_level'; 
    7676 
    7777        $query = "SELECT user_id FROM $wpdb->usermeta WHERE meta_key = '$level_key' AND meta_value = '0'"; 
    7878