cleanup confirm delete users, props ocean90, fixes #12386
git-svn-id: http://svn.automattic.com/wordpress/trunk@13504 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
83e11093ab
commit
0fc4e2c9c1
|
@ -165,22 +165,34 @@ function wpmu_delete_user($id) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function confirm_delete_users( $users ) {
|
function confirm_delete_users( $users ) {
|
||||||
|
global $current_user;
|
||||||
if ( !is_array( $users ) )
|
if ( !is_array( $users ) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
echo '<p>' . __( 'Transfer posts before deleting users:' ) . '</p>';
|
screen_icon('tools');
|
||||||
|
?>
|
||||||
echo '<form action="ms-edit.php?action=allusers" method="post">';
|
<h2><?php esc_html_e('Users'); ?></h2>
|
||||||
echo '<input type="hidden" name="alluser_transfer_delete" />';
|
<p><?php _e( 'Transfer posts before deleting users:' ); ?></p>
|
||||||
|
<form action="ms-edit.php?action=allusers" method="post">
|
||||||
|
<input type="hidden" name="alluser_transfer_delete" />
|
||||||
|
<?php
|
||||||
wp_nonce_field( 'allusers' );
|
wp_nonce_field( 'allusers' );
|
||||||
|
$site_admins = get_site_option( 'site_admins', array( 'admin' ) );
|
||||||
|
$admin_out = "<option value='$current_user->ID'>$current_user->user_login</option>";
|
||||||
|
|
||||||
foreach ( (array) $_POST['allusers'] as $key => $val ) {
|
foreach ( (array) $_POST['allusers'] as $key => $val ) {
|
||||||
if ( $val != '' && $val != '0' ) {
|
if ( $val != '' && $val != '0' ) {
|
||||||
|
$allusers[] = $val;
|
||||||
$user = new WP_User( $val );
|
$user = new WP_User( $val );
|
||||||
if ( in_array( $user->user_login, get_site_option( 'site_admins', array( 'admin' ) ) ) )
|
|
||||||
|
if ( in_array( $user->user_login, $site_admins ) )
|
||||||
wp_die( sprintf( __( 'Warning! User cannot be deleted. The user %s is a network admnistrator.' ), $user->user_login ) );
|
wp_die( sprintf( __( 'Warning! User cannot be deleted. The user %s is a network admnistrator.' ), $user->user_login ) );
|
||||||
|
|
||||||
echo "<input type='hidden' name='user[]' value='{$val}'/>\n";
|
echo "<input type='hidden' name='user[]' value='{$val}'/>\n";
|
||||||
$blogs = get_blogs_of_user( $val, true );
|
$blogs = get_blogs_of_user( $val, true );
|
||||||
|
|
||||||
if ( !empty( $blogs ) ) {
|
if ( !empty( $blogs ) ) {
|
||||||
|
echo '<p><strong>' . sprintf( __( 'Blogs from %s:' ), $user->user_login ) . '</strong></p>';
|
||||||
foreach ( (array) $blogs as $key => $details ) {
|
foreach ( (array) $blogs as $key => $details ) {
|
||||||
$blog_users = get_users_of_blog( $details->userblog_id );
|
$blog_users = get_users_of_blog( $details->userblog_id );
|
||||||
if ( is_array( $blog_users ) && !empty( $blog_users ) ) {
|
if ( is_array( $blog_users ) && !empty( $blog_users ) ) {
|
||||||
|
@ -188,11 +200,11 @@ function confirm_delete_users( $users ) {
|
||||||
echo "<select name='blog[$val][{$key}]'>";
|
echo "<select name='blog[$val][{$key}]'>";
|
||||||
$out = '';
|
$out = '';
|
||||||
foreach ( $blog_users as $user ) {
|
foreach ( $blog_users as $user ) {
|
||||||
if ( $user->user_id != $val )
|
if ( $user->user_id != $val && !in_array( $val, $allusers ) )
|
||||||
$out .= "<option value='{$user->user_id}'>{$user->user_login}</option>";
|
$out .= "<option value='{$user->user_id}'>{$user->user_login}</option>";
|
||||||
}
|
}
|
||||||
if ( $out == '' )
|
if ( $out == '' )
|
||||||
$out = "<option value='1'>admin</option>";
|
$out = $admin_out;
|
||||||
echo $out;
|
echo $out;
|
||||||
echo "</select>\n";
|
echo "</select>\n";
|
||||||
}
|
}
|
||||||
|
@ -200,8 +212,11 @@ function confirm_delete_users( $users ) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
echo "<br /><input type='submit' value='" . __( 'Delete user and transfer posts' ) . "' />";
|
?>
|
||||||
echo "</form>";
|
<br class="clear" />
|
||||||
|
<input type="submit" class="button-secondary delete" value="<?php _e( 'Delete user and transfer posts' ); ?> " />
|
||||||
|
</form>
|
||||||
|
<?php
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -471,6 +471,7 @@ switch ( $_GET['action'] ) {
|
||||||
echo '<div class="wrap" style="position:relative;">';
|
echo '<div class="wrap" style="position:relative;">';
|
||||||
confirm_delete_users( $_POST['allusers'] );
|
confirm_delete_users( $_POST['allusers'] );
|
||||||
echo '</div>';
|
echo '</div>';
|
||||||
|
require_once('admin-footer.php');
|
||||||
} elseif ( isset( $_POST[ 'alluser_transfer_delete' ] ) ) {
|
} elseif ( isset( $_POST[ 'alluser_transfer_delete' ] ) ) {
|
||||||
if ( is_array( $_POST[ 'blog' ] ) && !empty( $_POST[ 'blog' ] ) ) {
|
if ( is_array( $_POST[ 'blog' ] ) && !empty( $_POST[ 'blog' ] ) ) {
|
||||||
foreach ( $_POST[ 'blog' ] as $id => $users ) {
|
foreach ( $_POST[ 'blog' ] as $id => $users ) {
|
||||||
|
|
Loading…
Reference in New Issue