merge wp-admin user, plugins, themes, upgrade , See #11644

git-svn-id: https://develop.svn.wordpress.org/trunk@12722 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Ron Rennick
2010-01-14 02:02:19 +00:00
parent 648f4516a1
commit c1f8977b95
6 changed files with 219 additions and 23 deletions
+23 -1
View File
@@ -60,6 +60,11 @@ function use_ssl_preference($user) {
<?php
}
// Only allow site admins to edit every user.
if ( is_multisite() && !defined( "EDIT_ANY_USER" ) && !is_super_admin() && $user_id != $current_user->ID )
wp_die( __( 'You do not have permission to edit this user.' ) );
switch ($action) {
case 'switchposts':
@@ -81,7 +86,24 @@ if ( IS_PROFILE_PAGE )
else
do_action('edit_user_profile_update', $user_id);
$errors = edit_user($user_id);
if ( !is_multisite() ) {
$errors = edit_user($user_id);
} else {
// WPMU must delete the user from the current blog if WP added him after editing.
$delete_role = false;
$blog_prefix = $wpdb->get_blog_prefix();
if( $user_id != $current_user->ID ) {
$cap = $wpdb->get_var( "SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = '{$user_id}' AND meta_key = '{$blog_prefix}capabilities' AND meta_value = 'a:0:{}'" );
if( null == $cap && $_POST[ 'role' ] == '' ) {
$_POST[ 'role' ] = 'contributor';
$delete_role = true;
}
}
if ( !isset( $errors ) || ( isset( $errors ) && is_object( $errors ) && false == $errors->get_error_codes() ) )
$errors = edit_user($user_id);
if( $delete_role ) // stops users being added to current blog when they are edited
update_usermeta( $user_id, $blog_prefix . 'capabilities' , '' );
}
if ( !is_wp_error( $errors ) ) {
$redirect = (IS_PROFILE_PAGE ? "profile.php?" : "user-edit.php?user_id=$user_id&"). "updated=true";