From 362575ce35c5ca8e90f8794ba20196f0e9893ef4 Mon Sep 17 00:00:00 2001 From: Pete Mall Date: Thu, 25 Nov 2010 11:12:33 +0000 Subject: [PATCH] Create new user form for site-users. See #15558 git-svn-id: https://develop.svn.wordpress.org/trunk@16586 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-admin/network/site-users.php | 83 +++++++++++++++++++++++++++------ 1 file changed, 70 insertions(+), 13 deletions(-) diff --git a/wp-admin/network/site-users.php b/wp-admin/network/site-users.php index 3d68111c50..fe15095a68 100644 --- a/wp-admin/network/site-users.php +++ b/wp-admin/network/site-users.php @@ -22,11 +22,6 @@ $wp_list_table->prepare_items(); $action = $wp_list_table->current_action(); -$s = isset($_REQUEST['s']) ? $_REQUEST['s'] : ''; - -// Clean up request URI from temporary args for screen options/paging uri's to work as expected. -$_SERVER['REQUEST_URI'] = remove_query_arg(array('enable', 'disable', 'enable-selected', 'disable-selected'), $_SERVER['REQUEST_URI']); - $id = isset( $_REQUEST['id'] ) ? intval( $_REQUEST['id'] ) : 0; if ( ! $id ) @@ -55,9 +50,27 @@ if ( $action ) { switch_to_blog( $id ); switch ( $action ) { + case 'newuser': + $user = $_POST['user']; + if ( !is_array( $_POST['user'] ) || empty( $user['username'] ) || empty( $user['email'] ) ) { + $update = 'err_new'; + } else { + $password = wp_generate_password( 12, false); + $user_id = wpmu_create_user( esc_html( strtolower( $user['username'] ) ), $password, esc_html( $user['email'] ) ); + + if ( false == $user_id ) { + $update = 'err_new_dup'; + } else { + wp_new_user_notification( $user_id, $password ); + add_user_to_blog( $id, $user_id, $_POST['new_role'] ); + $update = 'newuser'; + } + } + break; + case 'adduser': if ( !empty( $_POST['newuser'] ) ) { - $update = 'add'; + $update = 'adduser'; $newuser = $_POST['newuser']; $userid = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM " . $wpdb->users . " WHERE user_login = %s", $newuser ) ); if ( $userid ) { @@ -151,7 +164,7 @@ foreach ( $tabs as $tab_id => $tab ) { if ( isset($_GET['update']) ) : switch($_GET['update']) { - case 'add': + case 'adduser': echo '

' . __( 'User added.' ) . '

'; break; case 'err_add_member': @@ -167,11 +180,20 @@ if ( isset($_GET['update']) ) : echo '

' . __( 'Select a user to change role.' ) . '

'; break; case 'remove': - echo '

' . __( 'User removed from this site.' ) . '

'; + echo '

' . __( 'User removed from this site.' ) . '

'; break; case 'err_remove': echo '

' . __( 'Select a user to remove.' ) . '

'; break; + case 'newuser': + echo '

' . __( 'User created.' ) . '

'; + break; + case 'err_new': + echo '

' . __( 'Enter the username and email.' ) . '

'; + break; + case 'err_new_dup': + echo '

' . __( 'Duplicated username or email address.' ) . '

'; + break; } endif; ?> @@ -193,15 +215,15 @@ endif; ?> -

-

-
+

+

+ - + @@ -219,7 +241,42 @@ endif; ?>
-
+ + +

+

+
+ + + + + + + + + + + + + + + + + + +
+ + +