Error: The password field is empty.'); return false; } if ($current_user->data->user_login == $username) return true; $login = get_userdatabylogin($username); //$login = $wpdb->get_row("SELECT ID, user_login, user_pass FROM $wpdb->users WHERE user_login = '$username'"); if (!$login) { if( is_site_admin( $username ) ) { unset( $login ); $userdetails = get_userdatabylogin( $username ); $login->user_login = $username; $login->user_pass = $userdetails->user_pass; } else { $admins = get_admin_users_for_domain(); reset( $admins ); while( list( $key, $val ) = each( $admins ) ) { if( $val[ 'user_login' ] == $username ) { unset( $login ); $login->user_login = $username; $login->user_pass = $val[ 'user_pass' ]; } } } } if (!$login) { $error = __('Error: Wrong username.'); return false; } else { $primary_blog = get_usermeta( $login->ID, "primary_blog" ); if( $primary_blog ) { $details = get_blog_details( $primary_blog ); if( is_object( $details ) ) { if( $details->archived == 1 || $details->spam == 1 || $details->deleted == 1 ) { $error = __('Error: Blog suspended.'); return false; } } } // If the password is already_md5, it has been double hashed. // Otherwise, it is plain text. if ( ($already_md5 && $login->user_login == $username && md5($login->user_pass) == $password) || ($login->user_login == $username && $login->user_pass == md5($password)) ) { return true; } else { $error = __('Error: Incorrect password.'); $pwd = ''; return false; } } } function get_userdata( $user_id ) { global $wpdb, $cache_userdata, $wpmuBaseTablePrefix; $user_id = (int) $user_id; if ( $user_id == 0 ) return false; $user = wp_cache_get($user_id, 'users'); $user_level = $wpmuBaseTablePrefix . $wpdb->blogid . '_user_level'; if( $user->$user_level != '' || $user->user_level != '' ) { if( $user && is_site_admin( $user->user_login ) == true ) { $user->$user_level = 10; $user->user_level = 10; $cap_key = $wpdb->prefix . 'capabilities'; $user->{$cap_key} = array( 'administrator' => '1' ); return $user; } elseif ( $user ) return $user; } if ( !$user = $wpdb->get_row("SELECT * FROM $wpdb->users WHERE ID = '$user_id'") ) return false; $metavalues = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = '$user_id' /* pluggable get_userdata */"); if ($metavalues) { foreach ( $metavalues as $meta ) { @ $value = unserialize($meta->meta_value); if ($value === FALSE) $value = $meta->meta_value; $user->{$meta->meta_key} = $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; } // end foreach } //end if if( is_site_admin( $user->user_login ) == true ) { $user->user_level = 10; $cap_key = $wpdb->prefix . 'capabilities'; $user->{$cap_key} = array( 'administrator' => '1' ); } wp_cache_add($user_id, $user, 'users'); wp_cache_add($user->user_login, $user, 'userlogins'); return $user; } function get_userdatabylogin($user_login) { global $wpdb; $user_login = sanitize_user( $user_login ); if ( empty( $user_login ) ) return false; $userdata = wp_cache_get($user_login, 'userlogins'); if( $userdata && is_site_admin( $user_login ) == true ) { $userdata->user_level = 10; $cap_key = $wpdb->prefix . 'capabilities'; $userdata->{$cap_key} = array( 'administrator' => '1' ); return $userdata; } elseif( $userdata ) return $userdata; if ( !$user = $wpdb->get_row("SELECT * FROM $wpdb->users WHERE user_login = '$user_login'") ) return false; $metavalues = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->usermeta WHERE user_id = '$user->ID'"); if ($metavalues) { foreach ( $metavalues as $meta ) { @ $value = unserialize($meta->meta_value); if ($value === FALSE) $value = $meta->meta_value; $user->{$meta->meta_key} = $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; } } if( is_site_admin( $user_login ) == true ) { $user->user_level = 10; $cap_key = $wpdb->prefix . 'capabilities'; $user->{$cap_key} = array( 'administrator' => '1' ); } wp_cache_add($user->ID, $user, 'users'); wp_cache_add($user->user_login, $user, 'userlogins'); return $user; } ?>