wp/wp-admin/user-new.php
changeset 5 5e2f62d02dcd
parent 0 d970ebf37754
child 7 cf61fcea0001
equal deleted inserted replaced
4:346c88efed21 5:5e2f62d02dcd
     9 /** WordPress Administration Bootstrap */
     9 /** WordPress Administration Bootstrap */
    10 require_once( dirname( __FILE__ ) . '/admin.php' );
    10 require_once( dirname( __FILE__ ) . '/admin.php' );
    11 
    11 
    12 if ( is_multisite() ) {
    12 if ( is_multisite() ) {
    13 	if ( ! current_user_can( 'create_users' ) && ! current_user_can( 'promote_users' ) )
    13 	if ( ! current_user_can( 'create_users' ) && ! current_user_can( 'promote_users' ) )
    14 		wp_die( __( 'Cheatin’ uh?' ) );
    14 		wp_die( __( 'Cheatin’ uh?' ), 403 );
    15 } elseif ( ! current_user_can( 'create_users' ) ) {
    15 } elseif ( ! current_user_can( 'create_users' ) ) {
    16 	wp_die( __( 'Cheatin’ uh?' ) );
    16 	wp_die( __( 'Cheatin’ uh?' ), 403 );
    17 }
    17 }
    18 
    18 
    19 if ( is_multisite() ) {
    19 if ( is_multisite() ) {
    20 	function admin_created_user_email( $text ) {
    20 	function admin_created_user_email( $text ) {
    21 		$roles = get_editable_roles();
    21 		$roles = get_editable_roles();
    29 
    29 
    30 Please click the following link to activate your user account:
    30 Please click the following link to activate your user account:
    31 %%s' ), get_bloginfo( 'name' ), home_url(), wp_specialchars_decode( translate_user_role( $role['name'] ) ) );
    31 %%s' ), get_bloginfo( 'name' ), home_url(), wp_specialchars_decode( translate_user_role( $role['name'] ) ) );
    32 	}
    32 	}
    33 	add_filter( 'wpmu_signup_user_notification_email', 'admin_created_user_email' );
    33 	add_filter( 'wpmu_signup_user_notification_email', 'admin_created_user_email' );
    34 
       
    35 	function admin_created_user_subject( $text ) {
       
    36 		return sprintf( __( '[%s] Your site invite' ), get_bloginfo( 'name' ) );
       
    37 	}
       
    38 }
    34 }
    39 
    35 
    40 if ( isset($_REQUEST['action']) && 'adduser' == $_REQUEST['action'] ) {
    36 if ( isset($_REQUEST['action']) && 'adduser' == $_REQUEST['action'] ) {
    41 	check_admin_referer( 'add-user', '_wpnonce_add-user' );
    37 	check_admin_referer( 'add-user', '_wpnonce_add-user' );
    42 
    38 
    43 	$user_details = null;
    39 	$user_details = null;
    44 	if ( false !== strpos($_REQUEST[ 'email' ], '@') ) {
    40 	$user_email = wp_unslash( $_REQUEST['email'] );
    45 		$user_details = get_user_by('email', $_REQUEST[ 'email' ]);
    41 	if ( false !== strpos( $user_email, '@' ) ) {
       
    42 		$user_details = get_user_by( 'email', $user_email );
    46 	} else {
    43 	} else {
    47 		if ( is_super_admin() ) {
    44 		if ( is_super_admin() ) {
    48 			$user_details = get_user_by('login', $_REQUEST[ 'email' ]);
    45 			$user_details = get_user_by( 'login', $user_email );
    49 		} else {
    46 		} else {
    50 			wp_redirect( add_query_arg( array('update' => 'enter_email'), 'user-new.php' ) );
    47 			wp_redirect( add_query_arg( array('update' => 'enter_email'), 'user-new.php' ) );
    51 			die();
    48 			die();
    52 		}
    49 		}
    53 	}
    50 	}
    56 		wp_redirect( add_query_arg( array('update' => 'does_not_exist'), 'user-new.php' ) );
    53 		wp_redirect( add_query_arg( array('update' => 'does_not_exist'), 'user-new.php' ) );
    57 		die();
    54 		die();
    58 	}
    55 	}
    59 
    56 
    60 	if ( ! current_user_can('promote_user', $user_details->ID) )
    57 	if ( ! current_user_can('promote_user', $user_details->ID) )
    61 		wp_die(__('Cheatin’ uh?'));
    58 		wp_die( __( 'Cheatin’ uh?' ), 403 );
    62 
    59 
    63 	// Adding an existing user to this blog
    60 	// Adding an existing user to this blog
    64 	$new_user_email = $user_details->user_email;
    61 	$new_user_email = $user_details->user_email;
    65 	$redirect = 'user-new.php';
    62 	$redirect = 'user-new.php';
    66 	$username = $user_details->user_login;
    63 	$username = $user_details->user_login;
    83 You\'ve been invited to join \'%1$s\' at
    80 You\'ve been invited to join \'%1$s\' at
    84 %2$s with the role of %3$s.
    81 %2$s with the role of %3$s.
    85 
    82 
    86 Please click the following link to confirm the invite:
    83 Please click the following link to confirm the invite:
    87 %4$s' );
    84 %4$s' );
    88 			wp_mail( $new_user_email, sprintf( __( '[%s] Joining confirmation' ), get_option( 'blogname' ) ), sprintf( $message, get_option( 'blogname' ), home_url(), wp_specialchars_decode( translate_user_role( $role['name'] ) ), home_url( "/newbloguser/$newuser_key/" ) ) );
    85 			wp_mail( $new_user_email, sprintf( __( '[%s] Joining confirmation' ), wp_specialchars_decode( get_option( 'blogname' ) ) ), sprintf( $message, get_option( 'blogname' ), home_url(), wp_specialchars_decode( translate_user_role( $role['name'] ) ), home_url( "/newbloguser/$newuser_key/" ) ) );
    89 			$redirect = add_query_arg( array('update' => 'add'), 'user-new.php' );
    86 			$redirect = add_query_arg( array('update' => 'add'), 'user-new.php' );
    90 		}
    87 		}
    91 	}
    88 	}
    92 	wp_redirect( $redirect );
    89 	wp_redirect( $redirect );
    93 	die();
    90 	die();
    94 } elseif ( isset($_REQUEST['action']) && 'createuser' == $_REQUEST['action'] ) {
    91 } elseif ( isset($_REQUEST['action']) && 'createuser' == $_REQUEST['action'] ) {
    95 	check_admin_referer( 'create-user', '_wpnonce_create-user' );
    92 	check_admin_referer( 'create-user', '_wpnonce_create-user' );
    96 
    93 
    97 	if ( ! current_user_can('create_users') )
    94 	if ( ! current_user_can('create_users') )
    98 		wp_die(__('Cheatin’ uh?'));
    95 		wp_die( __( 'Cheatin’ uh?' ), 403 );
    99 
    96 
   100 	if ( ! is_multisite() ) {
    97 	if ( ! is_multisite() ) {
   101 		$user_id = edit_user();
    98 		$user_id = edit_user();
   102 
    99 
   103 		if ( is_wp_error( $user_id ) ) {
   100 		if ( is_wp_error( $user_id ) ) {
   110 			wp_redirect( $redirect );
   107 			wp_redirect( $redirect );
   111 			die();
   108 			die();
   112 		}
   109 		}
   113 	} else {
   110 	} else {
   114 		// Adding a new user to this site
   111 		// Adding a new user to this site
   115 		$user_details = wpmu_validate_user_signup( $_REQUEST[ 'user_login' ], $_REQUEST[ 'email' ] );
   112 		$new_user_email = wp_unslash( $_REQUEST['email'] );
       
   113 		$user_details = wpmu_validate_user_signup( $_REQUEST['user_login'], $new_user_email );
   116 		if ( is_wp_error( $user_details[ 'errors' ] ) && !empty( $user_details[ 'errors' ]->errors ) ) {
   114 		if ( is_wp_error( $user_details[ 'errors' ] ) && !empty( $user_details[ 'errors' ]->errors ) ) {
   117 			$add_user_errors = $user_details[ 'errors' ];
   115 			$add_user_errors = $user_details[ 'errors' ];
   118 		} else {
   116 		} else {
   119 			/**
   117 			/**
   120 			 * Filter the user_login, aka the username, before it is added to the site.
   118 			 * Filter the user_login, also known as the username, before it is added to the site.
   121 			 *
   119 			 *
   122 			 * @since 3.0.0
   120 			 * @since 2.0.3
   123 			 *
   121 			 *
   124 			 * @param string $_REQUEST['user_login'] The sanitized username.
   122 			 * @param string $user_login The sanitized username.
   125 			 */
   123 			 */
   126 			$new_user_login = apply_filters( 'pre_user_login', sanitize_user( wp_unslash( $_REQUEST['user_login'] ), true ) );
   124 			$new_user_login = apply_filters( 'pre_user_login', sanitize_user( wp_unslash( $_REQUEST['user_login'] ), true ) );
   127 			if ( isset( $_POST[ 'noconfirmation' ] ) && is_super_admin() ) {
   125 			if ( isset( $_POST[ 'noconfirmation' ] ) && is_super_admin() ) {
   128 				add_filter( 'wpmu_signup_user_notification', '__return_false' ); // Disable confirmation email
   126 				add_filter( 'wpmu_signup_user_notification', '__return_false' ); // Disable confirmation email
       
   127 				add_filter( 'wpmu_welcome_user_notification', '__return_false' ); // Disable welcome email
   129 			}
   128 			}
   130 			wpmu_signup_user( $new_user_login, $_REQUEST[ 'email' ], array( 'add_to_blog' => $wpdb->blogid, 'new_role' => $_REQUEST[ 'role' ] ) );
   129 			wpmu_signup_user( $new_user_login, $new_user_email, array( 'add_to_blog' => $wpdb->blogid, 'new_role' => $_REQUEST['role'] ) );
   131 			if ( isset( $_POST[ 'noconfirmation' ] ) && is_super_admin() ) {
   130 			if ( isset( $_POST[ 'noconfirmation' ] ) && is_super_admin() ) {
   132 				$key = $wpdb->get_var( $wpdb->prepare( "SELECT activation_key FROM {$wpdb->signups} WHERE user_login = %s AND user_email = %s", $new_user_login, $_REQUEST[ 'email' ] ) );
   131 				$key = $wpdb->get_var( $wpdb->prepare( "SELECT activation_key FROM {$wpdb->signups} WHERE user_login = %s AND user_email = %s", $new_user_login, $new_user_email ) );
   133 				wpmu_activate_signup( $key );
   132 				wpmu_activate_signup( $key );
   134 				$redirect = add_query_arg( array('update' => 'addnoconfirmation'), 'user-new.php' );
   133 				$redirect = add_query_arg( array('update' => 'addnoconfirmation'), 'user-new.php' );
   135 			} else {
   134 			} else {
   136 				$redirect = add_query_arg( array('update' => 'newuserconfirmation'), 'user-new.php' );
   135 				$redirect = add_query_arg( array('update' => 'newuserconfirmation'), 'user-new.php' );
   137 			}
   136 			}
   169 get_current_screen()->add_help_tab( array(
   168 get_current_screen()->add_help_tab( array(
   170 'id'      => 'user-roles',
   169 'id'      => 'user-roles',
   171 'title'   => __('User Roles'),
   170 'title'   => __('User Roles'),
   172 'content' => '<p>' . __('Here is a basic overview of the different user roles and the permissions associated with each one:') . '</p>' .
   171 'content' => '<p>' . __('Here is a basic overview of the different user roles and the permissions associated with each one:') . '</p>' .
   173 				'<ul>' .
   172 				'<ul>' .
       
   173 				'<li>' . __('Subscribers can read comments/comment/receive newsletters, etc. but cannot create regular site content.') . '</li>' .
       
   174 				'<li>' . __('Contributors can write and manage their posts but not publish posts or upload media files.') . '</li>' .
       
   175 				'<li>' . __('Authors can publish and manage their own posts, and are able to upload files.') . '</li>' .
       
   176 				'<li>' . __('Editors can publish posts, manage posts as well as manage other people&#8217;s posts, etc.') . '</li>' .
   174 				'<li>' . __('Administrators have access to all the administration features.') . '</li>' .
   177 				'<li>' . __('Administrators have access to all the administration features.') . '</li>' .
   175 				'<li>' . __('Editors can publish posts, manage posts as well as manage other people&#8217;s posts, etc.') . '</li>' .
       
   176 				'<li>' . __('Authors can publish and manage their own posts, and are able to upload files.') . '</li>' .
       
   177 				'<li>' . __('Contributors can write and manage their posts but not publish posts or upload media files.') . '</li>' .
       
   178 				'<li>' . __('Subscribers can read comments/comment/receive newsletters, etc. but cannot create regular site content.') . '</li>' .
       
   179 				'</ul>'
   178 				'</ul>'
   180 ) );
   179 ) );
   181 
   180 
   182 get_current_screen()->set_help_sidebar(
   181 get_current_screen()->set_help_sidebar(
   183     '<p><strong>' . __('For more information:') . '</strong></p>' .
   182     '<p><strong>' . __('For more information:') . '</strong></p>' .
   184     '<p>' . __('<a href="http://codex.wordpress.org/Users_Add_New_Screen" target="_blank">Documentation on Adding New Users</a>') . '</p>' .
   183     '<p>' . __('<a href="https://codex.wordpress.org/Users_Add_New_Screen" target="_blank">Documentation on Adding New Users</a>') . '</p>' .
   185     '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
   184     '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
   186 );
   185 );
   187 
   186 
   188 wp_enqueue_script('wp-ajax-response');
   187 wp_enqueue_script('wp-ajax-response');
   189 wp_enqueue_script('user-profile');
   188 wp_enqueue_script('user-profile');
   190 
   189 
   191 /**
   190 /**
   192  * Allows you to enable user auto-complete for non-super admins in multisite.
   191  * Filter whether to enable user auto-complete for non-super admins in Multisite.
   193  *
   192  *
   194  * @since 3.4.0
   193  * @since 3.4.0
   195  *
   194  *
   196  * @param bool True or false, based on if you enable auto-complete for non-super admins. Default is false.
   195  * @param bool $enable Whether to enable auto-complete for non-super admins. Default false.
   197  */
   196  */
   198 if ( is_multisite() && current_user_can( 'promote_users' ) && ! wp_is_large_network( 'users' )
   197 if ( is_multisite() && current_user_can( 'promote_users' ) && ! wp_is_large_network( 'users' )
   199 	&& ( is_super_admin() || apply_filters( 'autocomplete_users_for_site_admins', false ) )
   198 	&& ( is_super_admin() || apply_filters( 'autocomplete_users_for_site_admins', false ) )
   200 ) {
   199 ) {
   201 	wp_enqueue_script( 'user-suggest' );
   200 	wp_enqueue_script( 'user-suggest' );
   231 			$messages[] = __('User added.');
   230 			$messages[] = __('User added.');
   232 	}
   231 	}
   233 }
   232 }
   234 ?>
   233 ?>
   235 <div class="wrap">
   234 <div class="wrap">
   236 <?php screen_icon(); ?>
       
   237 <h2 id="add-new-user"> <?php
   235 <h2 id="add-new-user"> <?php
   238 if ( current_user_can( 'create_users' ) ) {
   236 if ( current_user_can( 'create_users' ) ) {
   239 	echo _x( 'Add New User', 'user' );
   237 	echo _x( 'Add New User', 'user' );
   240 } elseif ( current_user_can( 'promote_users' ) ) {
   238 } elseif ( current_user_can( 'promote_users' ) ) {
   241 	echo _x( 'Add Existing User', 'user' );
   239 	echo _x( 'Add Existing User', 'user' );
   253 	</div>
   251 	</div>
   254 <?php endif;
   252 <?php endif;
   255 
   253 
   256 if ( ! empty( $messages ) ) {
   254 if ( ! empty( $messages ) ) {
   257 	foreach ( $messages as $msg )
   255 	foreach ( $messages as $msg )
   258 		echo '<div id="message" class="updated"><p>' . $msg . '</p></div>';
   256 		echo '<div id="message" class="updated notice is-dismissible"><p>' . $msg . '</p></div>';
   259 } ?>
   257 } ?>
   260 
   258 
   261 <?php if ( isset($add_user_errors) && is_wp_error( $add_user_errors ) ) : ?>
   259 <?php if ( isset($add_user_errors) && is_wp_error( $add_user_errors ) ) : ?>
   262 	<div class="error">
   260 	<div class="error">
   263 		<?php
   261 		<?php
   271 <?php
   269 <?php
   272 if ( is_multisite() ) {
   270 if ( is_multisite() ) {
   273 	if ( $do_both )
   271 	if ( $do_both )
   274 		echo '<h3 id="add-existing-user">' . __('Add Existing User') . '</h3>';
   272 		echo '<h3 id="add-existing-user">' . __('Add Existing User') . '</h3>';
   275 	if ( !is_super_admin() ) {
   273 	if ( !is_super_admin() ) {
   276 		_e( 'Enter the email address of an existing user on this network to invite them to this site. That person will be sent an email asking them to confirm the invite.' );
   274 		echo '<p>' . __( 'Enter the email address of an existing user on this network to invite them to this site. That person will be sent an email asking them to confirm the invite.' ) . '</p>';
   277 		$label = __('E-mail');
   275 		$label = __('E-mail');
       
   276 		$type  = 'email';
   278 	} else {
   277 	} else {
   279 		_e( 'Enter the email address or username of an existing user on this network to invite them to this site. That person will be sent an email asking them to confirm the invite.' );
   278 		echo '<p>' . __( 'Enter the email address or username of an existing user on this network to invite them to this site. That person will be sent an email asking them to confirm the invite.' ) . '</p>';
   280 		$label = __('E-mail or Username');
   279 		$label = __('E-mail or Username');
   281 	}
   280 		$type  = 'text';
   282 ?>
   281 	}
   283 <?php
   282 ?>
   284 /**
   283 <form method="post" name="adduser" id="adduser" class="validate" novalidate="novalidate"<?php
   285  * Fires inside the adduser form tag.
   284 	/**
   286  *
   285 	 * Fires inside the adduser form tag.
   287  * @since 3.0.0
   286 	 *
   288  */
   287 	 * @since 3.0.0
   289 ?>
   288 	 */
   290 <form action="" method="post" name="adduser" id="adduser" class="validate"<?php do_action('user_new_form_tag');?>>
   289 	do_action( 'user_new_form_tag' );
       
   290 ?>>
   291 <input name="action" type="hidden" value="adduser" />
   291 <input name="action" type="hidden" value="adduser" />
   292 <?php wp_nonce_field( 'add-user', '_wpnonce_add-user' ) ?>
   292 <?php wp_nonce_field( 'add-user', '_wpnonce_add-user' ) ?>
   293 
   293 
   294 <table class="form-table">
   294 <table class="form-table">
   295 	<tr class="form-field form-required">
   295 	<tr class="form-field form-required">
   296 		<th scope="row"><label for="adduser-email"><?php echo $label; ?></label></th>
   296 		<th scope="row"><label for="adduser-email"><?php echo $label; ?></label></th>
   297 		<td><input name="email" type="text" id="adduser-email" class="wp-suggest-user" value="" /></td>
   297 		<td><input name="email" type="<?php echo $type; ?>" id="adduser-email" class="wp-suggest-user" value="" /></td>
   298 	</tr>
   298 	</tr>
   299 	<tr class="form-field">
   299 	<tr class="form-field">
   300 		<th scope="row"><label for="adduser-role"><?php _e('Role'); ?></label></th>
   300 		<th scope="row"><label for="adduser-role"><?php _e('Role'); ?></label></th>
   301 		<td><select name="role" id="adduser-role">
   301 		<td><select name="role" id="adduser-role">
   302 			<?php wp_dropdown_roles( get_option('default_role') ); ?>
   302 			<?php wp_dropdown_roles( get_option('default_role') ); ?>
   304 		</td>
   304 		</td>
   305 	</tr>
   305 	</tr>
   306 <?php if ( is_super_admin() ) { ?>
   306 <?php if ( is_super_admin() ) { ?>
   307 	<tr>
   307 	<tr>
   308 		<th scope="row"><label for="adduser-noconfirmation"><?php _e('Skip Confirmation Email') ?></label></th>
   308 		<th scope="row"><label for="adduser-noconfirmation"><?php _e('Skip Confirmation Email') ?></label></th>
   309 		<td><label for="adduser-noconfirmation"><input type="checkbox" name="noconfirmation" id="adduser-noconfirmation" value="1" /> <?php _e( 'Add the user without sending them a confirmation email.' ); ?></label></td>
   309 		<td><label for="adduser-noconfirmation"><input type="checkbox" name="noconfirmation" id="adduser-noconfirmation" value="1" /> <?php _e( 'Add the user without sending an email that requires their confirmation.' ); ?></label></td>
   310 	</tr>
   310 	</tr>
   311 <?php } ?>
   311 <?php } ?>
   312 </table>
   312 </table>
   313 <?php
   313 <?php
   314 /**
   314 /**
   318  * uniquely targetable. Contexts are 'add-existing-user' (Multisite),
   318  * uniquely targetable. Contexts are 'add-existing-user' (Multisite),
   319  * and 'add-new-user' (single site and network admin).
   319  * and 'add-new-user' (single site and network admin).
   320  *
   320  *
   321  * @since 3.7.0
   321  * @since 3.7.0
   322  *
   322  *
   323  * @param string A contextual string specifying which type of new user form the hook follows.
   323  * @param string $type A contextual string specifying which type of new user form the hook follows.
   324  */
   324  */
   325 do_action( 'user_new_form', 'add-existing-user' );
   325 do_action( 'user_new_form', 'add-existing-user' );
   326 ?>
   326 ?>
   327 <?php submit_button( __( 'Add Existing User '), 'primary', 'adduser', true, array( 'id' => 'addusersub' ) ); ?>
   327 <?php submit_button( __( 'Add Existing User' ), 'primary', 'adduser', true, array( 'id' => 'addusersub' ) ); ?>
   328 </form>
   328 </form>
   329 <?php
   329 <?php
   330 } // is_multisite()
   330 } // is_multisite()
   331 
   331 
   332 if ( current_user_can( 'create_users') ) {
   332 if ( current_user_can( 'create_users') ) {
   333 	if ( $do_both )
   333 	if ( $do_both )
   334 		echo '<h3 id="create-new-user">' . __( 'Add New User' ) . '</h3>';
   334 		echo '<h3 id="create-new-user">' . __( 'Add New User' ) . '</h3>';
   335 ?>
   335 ?>
   336 <p><?php _e('Create a brand new user and add them to this site.'); ?></p>
   336 <p><?php _e('Create a brand new user and add them to this site.'); ?></p>
   337 <?php
   337 <form method="post" name="createuser" id="createuser" class="validate" novalidate="novalidate"<?php
   338 /** This action is documented in wp-admin/user-new.php */
   338 	/** This action is documented in wp-admin/user-new.php */
   339 ?>
   339 	do_action( 'user_new_form_tag' );
   340 <form action="" method="post" name="createuser" id="createuser" class="validate"<?php do_action('user_new_form_tag');?>>
   340 ?>>
   341 <input name="action" type="hidden" value="createuser" />
   341 <input name="action" type="hidden" value="createuser" />
   342 <?php wp_nonce_field( 'create-user', '_wpnonce_create-user' ); ?>
   342 <?php wp_nonce_field( 'create-user', '_wpnonce_create-user' ); ?>
   343 <?php
   343 <?php
   344 // Load up the passed data, else set to a default.
   344 // Load up the passed data, else set to a default.
   345 foreach ( array( 'user_login' => 'login', 'first_name' => 'firstname', 'last_name' => 'lastname',
   345 $creating = isset( $_POST['createuser'] );
   346 				'email' => 'email', 'url' => 'uri', 'role' => 'role', 'send_password' => 'send_password', 'noconfirmation' => 'ignore_pass' ) as $post_field => $var ) {
   346 
   347 	$var = "new_user_$var";
   347 $new_user_login = $creating && isset( $_POST['user_login'] ) ? wp_unslash( $_POST['user_login'] ) : '';
   348 	if( isset( $_POST['createuser'] ) ) {
   348 $new_user_firstname = $creating && isset( $_POST['first_name'] ) ? wp_unslash( $_POST['first_name'] ) : '';
   349 		if ( ! isset($$var) )
   349 $new_user_lastname = $creating && isset( $_POST['last_name'] ) ? wp_unslash( $_POST['last_name'] ) : '';
   350 			$$var = isset( $_POST[$post_field] ) ? wp_unslash( $_POST[$post_field] ) : '';
   350 $new_user_email = $creating && isset( $_POST['email'] ) ? wp_unslash( $_POST['email'] ) : '';
   351 	} else {
   351 $new_user_uri = $creating && isset( $_POST['url'] ) ? wp_unslash( $_POST['url'] ) : '';
   352 		$$var = false;
   352 $new_user_role = $creating && isset( $_POST['role'] ) ? wp_unslash( $_POST['role'] ) : '';
   353 	}
   353 $new_user_send_password = $creating && isset( $_POST['send_password'] ) ? wp_unslash( $_POST['send_password'] ) : '';
   354 }
   354 $new_user_ignore_pass = $creating && isset( $_POST['noconfirmation'] ) ? wp_unslash( $_POST['noconfirmation'] ) : '';
   355 
   355 
   356 ?>
   356 ?>
   357 <table class="form-table">
   357 <table class="form-table">
   358 	<tr class="form-field form-required">
   358 	<tr class="form-field form-required">
   359 		<th scope="row"><label for="user_login"><?php _e('Username'); ?> <span class="description"><?php _e('(required)'); ?></span></label></th>
   359 		<th scope="row"><label for="user_login"><?php _e('Username'); ?> <span class="description"><?php _e('(required)'); ?></span></label></th>
   360 		<td><input name="user_login" type="text" id="user_login" value="<?php echo esc_attr($new_user_login); ?>" aria-required="true" /></td>
   360 		<td><input name="user_login" type="text" id="user_login" value="<?php echo esc_attr($new_user_login); ?>" aria-required="true" /></td>
   361 	</tr>
   361 	</tr>
   362 	<tr class="form-field form-required">
   362 	<tr class="form-field form-required">
   363 		<th scope="row"><label for="email"><?php _e('E-mail'); ?> <span class="description"><?php _e('(required)'); ?></span></label></th>
   363 		<th scope="row"><label for="email"><?php _e('E-mail'); ?> <span class="description"><?php _e('(required)'); ?></span></label></th>
   364 		<td><input name="email" type="text" id="email" value="<?php echo esc_attr($new_user_email); ?>" /></td>
   364 		<td><input name="email" type="email" id="email" value="<?php echo esc_attr( $new_user_email ); ?>" /></td>
   365 	</tr>
   365 	</tr>
   366 <?php if ( !is_multisite() ) { ?>
   366 <?php if ( !is_multisite() ) { ?>
   367 	<tr class="form-field">
   367 	<tr class="form-field">
   368 		<th scope="row"><label for="first_name"><?php _e('First Name') ?> </label></th>
   368 		<th scope="row"><label for="first_name"><?php _e('First Name') ?> </label></th>
   369 		<td><input name="first_name" type="text" id="first_name" value="<?php echo esc_attr($new_user_firstname); ?>" /></td>
   369 		<td><input name="first_name" type="text" id="first_name" value="<?php echo esc_attr($new_user_firstname); ?>" /></td>
   372 		<th scope="row"><label for="last_name"><?php _e('Last Name') ?> </label></th>
   372 		<th scope="row"><label for="last_name"><?php _e('Last Name') ?> </label></th>
   373 		<td><input name="last_name" type="text" id="last_name" value="<?php echo esc_attr($new_user_lastname); ?>" /></td>
   373 		<td><input name="last_name" type="text" id="last_name" value="<?php echo esc_attr($new_user_lastname); ?>" /></td>
   374 	</tr>
   374 	</tr>
   375 	<tr class="form-field">
   375 	<tr class="form-field">
   376 		<th scope="row"><label for="url"><?php _e('Website') ?></label></th>
   376 		<th scope="row"><label for="url"><?php _e('Website') ?></label></th>
   377 		<td><input name="url" type="text" id="url" class="code" value="<?php echo esc_attr($new_user_uri); ?>" /></td>
   377 		<td><input name="url" type="url" id="url" class="code" value="<?php echo esc_attr( $new_user_uri ); ?>" /></td>
   378 	</tr>
   378 	</tr>
   379 <?php
   379 <?php
   380 /**
   380 /**
   381  * Filter the display of the password fields.
   381  * Filter the display of the password fields.
   382  *
   382  *
   383  * @since 1.5.1
   383  * @since 1.5.1
   384  *
   384  *
   385  * @param bool True or false, based on if you want to show the password fields. Default is true.
   385  * @param bool $show Whether to show the password fields. Default true.
   386  */
   386  */
   387 if ( apply_filters( 'show_password_fields', true ) ) : ?>
   387 if ( apply_filters( 'show_password_fields', true ) ) : ?>
   388 	<tr class="form-field form-required">
   388 	<tr class="form-field form-required">
   389 		<th scope="row"><label for="pass1"><?php _e('Password'); ?> <span class="description"><?php /* translators: password input field */_e('(required)'); ?></span></label></th>
   389 		<th scope="row"><label for="pass1"><?php _e('Password'); ?> <span class="description"><?php /* translators: password input field */_e('(required)'); ?></span></label></th>
   390 		<td>
   390 		<td>
   396 		<th scope="row"><label for="pass2"><?php _e('Repeat Password'); ?> <span class="description"><?php /* translators: password input field */_e('(required)'); ?></span></label></th>
   396 		<th scope="row"><label for="pass2"><?php _e('Repeat Password'); ?> <span class="description"><?php /* translators: password input field */_e('(required)'); ?></span></label></th>
   397 		<td>
   397 		<td>
   398 		<input name="pass2" type="password" id="pass2" autocomplete="off" />
   398 		<input name="pass2" type="password" id="pass2" autocomplete="off" />
   399 		<br />
   399 		<br />
   400 		<div id="pass-strength-result"><?php _e('Strength indicator'); ?></div>
   400 		<div id="pass-strength-result"><?php _e('Strength indicator'); ?></div>
   401 		<p class="description indicator-hint"><?php _e('Hint: The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ &amp; ).'); ?></p>
   401 		<p class="description indicator-hint"><?php echo wp_get_password_hint(); ?></p>
   402 		</td>
   402 		</td>
   403 	</tr>
   403 	</tr>
   404 	<tr>
   404 	<tr>
   405 		<th scope="row"><label for="send_password"><?php _e('Send Password?') ?></label></th>
   405 		<th scope="row"><?php _e('Send Password?') ?></th>
   406 		<td><label for="send_password"><input type="checkbox" name="send_password" id="send_password" <?php checked( $new_user_send_password ); ?> /> <?php _e('Send this password to the new user by email.'); ?></label></td>
   406 		<td><label for="send_password"><input type="checkbox" name="send_password" id="send_password" value="1" <?php checked( $new_user_send_password ); ?> /> <?php _e('Send this password to the new user by email.'); ?></label></td>
   407 	</tr>
   407 	</tr>
   408 <?php endif; ?>
   408 <?php endif; ?>
   409 <?php } // !is_multisite ?>
   409 <?php } // !is_multisite ?>
   410 	<tr class="form-field">
   410 	<tr class="form-field">
   411 		<th scope="row"><label for="role"><?php _e('Role'); ?></label></th>
   411 		<th scope="row"><label for="role"><?php _e('Role'); ?></label></th>
   419 		</td>
   419 		</td>
   420 	</tr>
   420 	</tr>
   421 	<?php if ( is_multisite() && is_super_admin() ) { ?>
   421 	<?php if ( is_multisite() && is_super_admin() ) { ?>
   422 	<tr>
   422 	<tr>
   423 		<th scope="row"><label for="noconfirmation"><?php _e('Skip Confirmation Email') ?></label></th>
   423 		<th scope="row"><label for="noconfirmation"><?php _e('Skip Confirmation Email') ?></label></th>
   424 		<td><label for="noconfirmation"><input type="checkbox" name="noconfirmation" id="noconfirmation" value="1" <?php checked( $new_user_ignore_pass ); ?> /> <?php _e( 'Add the user without sending them a confirmation email.' ); ?></label></td>
   424 		<td><label for="noconfirmation"><input type="checkbox" name="noconfirmation" id="noconfirmation" value="1" <?php checked( $new_user_ignore_pass ); ?> /> <?php _e( 'Add the user without sending an email that requires their confirmation.' ); ?></label></td>
   425 	</tr>
   425 	</tr>
   426 	<?php } ?>
   426 	<?php } ?>
   427 </table>
   427 </table>
   428 
   428 
   429 <?php
   429 <?php
   430 /** This action is documented in wp-admin/user-new.php */
   430 /** This action is documented in wp-admin/user-new.php */
   431 do_action( 'user_new_form', 'add-new-user' );
   431 do_action( 'user_new_form', 'add-new-user' );
   432 ?>
   432 ?>
   433 
   433 
   434 <?php submit_button( __( 'Add New User '), 'primary', 'createuser', true, array( 'id' => 'createusersub' ) ); ?>
   434 <?php submit_button( __( 'Add New User' ), 'primary', 'createuser', true, array( 'id' => 'createusersub' ) ); ?>
   435 
   435 
   436 </form>
   436 </form>
   437 <?php } // current_user_can('create_users') ?>
   437 <?php } // current_user_can('create_users') ?>
   438 </div>
   438 </div>
   439 <?php
   439 <?php