mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-08-11 12:20:22 +00:00
Massive user_level fix. We were still using the user_level field in wp_users in some places, where we should just use the table prefixed usermeta value.
git-svn-id: https://develop.svn.wordpress.org/trunk@2702 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -1225,13 +1225,19 @@ function update_category_cache() {
|
||||
|
||||
function update_user_cache() {
|
||||
global $cache_userdata, $wpdb;
|
||||
$query = apply_filters('user_cache_query', "SELECT * FROM $wpdb->users WHERE user_level > 0");
|
||||
$level_key = $wpdb->prefix . 'user_level';
|
||||
$user_ids = $wpdb->get_col("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = '$level_key'");
|
||||
$user_ids = join(',', $user_ids);
|
||||
$query = apply_filters('user_cache_query', "SELECT * FROM $wpdb->users WHERE ID IN ($user_ids)");
|
||||
if ( $users = $wpdb->get_results( $query ) ) :
|
||||
foreach ($users as $user) :
|
||||
$metavalues = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = '$user->ID'");
|
||||
if ( is_array($metavalues) )
|
||||
foreach ( $metavalues as $meta )
|
||||
$user->{$meta->meta_key} = $meta->meta_value;
|
||||
foreach ( $metavalues as $meta ) {
|
||||
$user->{$meta->meta_key} = $meta->meta_value;
|
||||
// We need to set user_level from meta, not row
|
||||
if ( $wpdb->prefix . 'user_level' == $meta->meta_key )
|
||||
$user->user_level = $meta->meta_value;
|
||||
}
|
||||
|
||||
$cache_userdata[$user->ID] = $user;
|
||||
$cache_userdata[$user->user_login] =& $cache_userdata[$user->ID];
|
||||
@@ -1955,7 +1961,8 @@ function nocache_headers() {
|
||||
|
||||
function update_usermeta( $user_id, $meta_key, $meta_value ) {
|
||||
global $wpdb;
|
||||
$user_id = (int) $user_id;
|
||||
if ( !is_numeric( $user_id ) )
|
||||
return false;
|
||||
$meta_key = preg_replace('|a-z0-9_|i', '', $meta_key);
|
||||
$cur = $wpdb->get_row("SELECT * FROM $wpdb->usermeta WHERE user_id = '$user_id' AND meta_key = '$meta_key'");
|
||||
if ( !$cur ) {
|
||||
|
||||
Reference in New Issue
Block a user