WordPress.org

Make WordPress Core

Ticket #8663: 8663.diff

File 8663.diff, 4.7 KB (added by Denis-de-Bernardy, 5 years ago)
  • wp-includes/user.php

     
    582582                } 
    583583        } 
    584584 
    585         $level = $wpdb->prefix . 'user_level'; 
     585        $level = $wpdb->caps_prefix . 'user_level'; 
    586586        if ( isset( $user->{$level} ) ) 
    587587                $user->user_level = $user->{$level}; 
    588588 
  • wp-includes/wp-db.php

     
    386386        /** 
    387387         * Sets the table prefix for the WordPress tables. 
    388388         * 
    389          * Also allows for the CUSTOM_USER_TABLE and CUSTOM_USER_META_TABLE to 
    390          * override the WordPress users and usersmeta tables that would otherwise be determined by the $prefix. 
     389         * To share WordPress users and usermeta tables across multiple installs, use 
     390         * the CUSTOM_USER_TABLE and CUSTOM_USER_META_TABLE defines. 
    391391         * 
     392         * To share their capabilities as well, use the CUSTOM_CAPS_PREFIX define in 
     393         * addition to the CUSTOM_USER_TABLE and CUSTOM_USER_META_TABLE defines. 
     394         * 
    392395         * @since 2.5.0 
    393396         * 
    394397         * @param string $prefix Alphanumeric name for the new prefix. 
     
    410413 
    411414                if ( defined('CUSTOM_USER_META_TABLE') ) 
    412415                        $this->usermeta = CUSTOM_USER_META_TABLE; 
     416                 
     417                if ( defined('CUSTOM_CAPS_PREFIX') && defined('CUSTOM_USER_TABLE') && defined('CUSTOM_USER_META_TABLE') ) 
     418                        $this->caps_prefix = CUSTOM_CAPS_PREFIX; 
     419                else 
     420                        $this->caps_prefix = $wpdb->prefix; 
    413421 
    414422                return $old_prefix; 
    415423        } 
  • wp-includes/capabilities.php

     
    9999        function _init () { 
    100100                global $wpdb; 
    101101                global $wp_user_roles; 
    102                 $this->role_key = $wpdb->prefix . 'user_roles'; 
     102                $this->role_key = $wpdb->caps_prefix . 'user_roles'; 
    103103                if ( ! empty( $wp_user_roles ) ) { 
    104104                        $this->roles = $wp_user_roles; 
    105105                        $this->use_db = false; 
     
    501501         */ 
    502502        function _init_caps() { 
    503503                global $wpdb; 
    504                 $this->cap_key = $wpdb->prefix . 'capabilities'; 
     504                $this->cap_key = $wpdb->caps_prefix . 'capabilities'; 
    505505                $this->caps = &$this->{$this->cap_key}; 
    506506                if ( ! is_array( $this->caps ) ) 
    507507                        $this->caps = array(); 
  • wp-admin/includes/upgrade.php

     
    581581                if ( !empty( $user->user_nickname ) ) 
    582582                        update_usermeta( $user->ID, 'nickname', $wpdb->escape($user->user_nickname) ); 
    583583                if ( !empty( $user->user_level ) ) 
    584                         update_usermeta( $user->ID, $wpdb->prefix . 'user_level', $user->user_level ); 
     584                        update_usermeta( $user->ID, $wpdb->caps_prefix . 'user_level', $user->user_level ); 
    585585                if ( !empty( $user->user_icq ) ) 
    586586                        update_usermeta( $user->ID, 'icq', $wpdb->escape($user->user_icq) ); 
    587587                if ( !empty( $user->user_aim ) ) 
     
    606606                endif; 
    607607 
    608608                // FIXME: RESET_CAPS is temporary code to reset roles and caps if flag is set. 
    609                 $caps = get_usermeta( $user->ID, $wpdb->prefix . 'capabilities'); 
     609                $caps = get_usermeta( $user->ID, $wpdb->caps_prefix . 'capabilities'); 
    610610                if ( empty($caps) || defined('RESET_CAPS') ) { 
    611                         $level = get_usermeta($user->ID, $wpdb->prefix . 'user_level'); 
     611                        $level = get_usermeta($user->ID, $wpdb->caps_prefix . 'user_level'); 
    612612                        $role = translate_level_to_role($level); 
    613                         update_usermeta( $user->ID, $wpdb->prefix . 'capabilities', array($role => true) ); 
     613                        update_usermeta( $user->ID, $wpdb->caps_prefix . 'capabilities', array($role => true) ); 
    614614                } 
    615615 
    616616        endforeach; 
  • wp-admin/includes/user.php

     
    204204 */ 
    205205function get_author_user_ids() { 
    206206        global $wpdb; 
    207         $level_key = $wpdb->prefix . 'user_level'; 
     207        $level_key = $wpdb->caps_prefix . 'user_level'; 
    208208        return $wpdb->get_col( $wpdb->prepare("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = %s AND meta_value != '0'", $level_key) ); 
    209209} 
    210210 
     
    256256                        return false; 
    257257        } 
    258258 
    259         $level_key = $wpdb->prefix . 'user_level'; 
     259        $level_key = $wpdb->caps_prefix . 'user_level'; 
    260260 
    261261        $query = $wpdb->prepare("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = %s", $level_key); 
    262262        if ( $exclude_zeros ) 
     
    301301 */ 
    302302function get_nonauthor_user_ids() { 
    303303        global $wpdb; 
    304         $level_key = $wpdb->prefix . 'user_level'; 
     304        $level_key = $wpdb->caps_prefix . 'user_level'; 
    305305 
    306306        return $wpdb->get_col( $wpdb->prepare("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = %s AND meta_value = '0'", $level_key) ); 
    307307}