X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/f9001779751f83dc8a10e478bfecb4d8dd5f964c..febc815b2c9d85be5717da9e8d164bd2daa97e31:/wp-admin/network/user-new.php diff --git a/wp-admin/network/user-new.php b/wp-admin/network/user-new.php index cd9a3f83..fae3fcb0 100644 --- a/wp-admin/network/user-new.php +++ b/wp-admin/network/user-new.php @@ -1,6 +1,6 @@ add_help_tab( array( + 'id' => 'overview', + 'title' => __('Overview'), + 'content' => + '

' . __('Add User will set up a new user account on the network and send that person an email with username and password.') . '

' . + '

' . __('Users who are signed up to the network without a site are added as subscribers to the main or primary dashboard site, giving them profile pages to manage their accounts. These users will only see Dashboard and My Sites in the main navigation until a site is created for them.') . '

' +) ); -add_contextual_help($current_screen, - '

' . __('Add User will set up a new user account on the network and send them an email with their username and password.') . '

' . - '

' . __('Users who are signed up to the network without a site are added as subscribers to the main or primary dashboard site, giving them profile pages to manage their accounts. These users will only see Dashboard and My Sites in the main navigation until a site is created for them.') . '

' . +get_current_screen()->set_help_sidebar( '

' . __('For more information:') . '

' . - '

' . __('Documentation on Network Users') . '

' . - '

' . __('Support Forums') . '

' + '

' . __('Documentation on Network Users') . '

' . + '

' . __('Support Forums') . '

' ); if ( isset($_REQUEST['action']) && 'add-user' == $_REQUEST['action'] ) { check_admin_referer( 'add-user', '_wpnonce_add-user' ); + if ( ! current_user_can( 'manage_network_users' ) ) - wp_die( __( 'You do not have permission to access this page.' ) ); + wp_die( __( 'Sorry, you are not allowed to access this page.' ), 403 ); - if ( is_array( $_POST['user'] ) == false ) + if ( ! is_array( $_POST['user'] ) ) wp_die( __( 'Cannot create an empty user.' ) ); - $user = $_POST['user']; - if ( empty($user['username']) && empty($user['email']) ) - wp_die( __( 'Missing username and email.' ) ); - elseif ( empty($user['username']) ) - wp_die( __( 'Missing username.' ) ); - elseif ( empty($user['email']) ) - wp_die( __( 'Missing email.' ) ); - - $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 ) - wp_die( __( 'Duplicated username or email address.' ) ); - else - wp_new_user_notification( $user_id, $password ); - - wp_redirect( add_query_arg( array('update' => 'added'), 'user-new.php' ) ); - exit; + + $user = wp_unslash( $_POST['user'] ); + + $user_details = wpmu_validate_user_signup( $user['username'], $user['email'] ); + if ( is_wp_error( $user_details[ 'errors' ] ) && ! empty( $user_details[ 'errors' ]->errors ) ) { + $add_user_errors = $user_details[ 'errors' ]; + } else { + $password = wp_generate_password( 12, false); + $user_id = wpmu_create_user( esc_html( strtolower( $user['username'] ) ), $password, sanitize_email( $user['email'] ) ); + + if ( ! $user_id ) { + $add_user_errors = new WP_Error( 'add_user_fail', __( 'Cannot add user.' ) ); + } else { + /** + * Fires after a new user has been created via the network user-new.php page. + * + * @since 4.4.0 + * + * @param int $user_id ID of the newly created user. + */ + do_action( 'network_user_new_created_user', $user_id ); + wp_redirect( add_query_arg( array('update' => 'added', 'user_id' => $user_id ), 'user-new.php' ) ); + exit; + } + } } if ( isset($_GET['update']) ) { $messages = array(); - if ( 'added' == $_GET['update'] ) - $messages[] = __('User added.'); + if ( 'added' == $_GET['update'] ) { + $edit_link = ''; + if ( isset( $_GET['user_id'] ) ) { + $user_id_new = absint( $_GET['user_id'] ); + if ( $user_id_new ) { + $edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), get_edit_user_link( $user_id_new ) ) ); + } + } + + if ( empty( $edit_link ) ) { + $messages[] = __( 'User added.' ); + } else { + /* translators: %s: edit page url */ + $messages[] = sprintf( __( 'User added. Edit user' ), $edit_link ); + } + } } $title = __('Add New User'); $parent_file = 'users.php'; -require('../admin-header.php'); ?> +require( ABSPATH . 'wp-admin/admin-header.php' ); ?>
- -

+

' . $msg . '

'; -} ?> -
+ echo '

' . $msg . '

'; +} + +if ( isset( $add_user_errors ) && is_wp_error( $add_user_errors ) ) { ?> +
+ get_error_messages() as $message ) + echo "

$message

"; + ?> +
+ + - - + + - - + + - +
- - +
\ No newline at end of file +require( ABSPATH . 'wp-admin/admin-footer.php' );