Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 385 lines (347 sloc) 16.649 kb
0a23990 Add new user page
ryan authored
1 <?php
2 /**
9cb6e15 Switch from Panel/SubPanel to Screen in inline documentation and Codex l...
nacin authored
3 * New User Administration Screen.
0a23990 Add new user page
ryan authored
4 *
5 * @package WordPress
6 * @subpackage Administration
7 */
8
9 /** WordPress Administration Bootstrap */
6ec7cb4 Use relative paths when including files, avoiding include_path. fixes #1...
nacin authored
10 require_once('./admin.php');
0a23990 Add new user page
ryan authored
11
ba47c80 Add additional promote_users checks. Show Add existing button only for ...
ryan authored
12 if ( is_multisite() ) {
13 if ( ! current_user_can( 'create_users' ) && ! current_user_can( 'promote_users' ) )
14 wp_die( __( 'Cheatin&#8217; uh?' ) );
15 } elseif ( ! current_user_can( 'create_users' ) ) {
16 wp_die( __( 'Cheatin&#8217; uh?' ) );
17 }
0a23990 Add new user page
ryan authored
18
9d2762f merge wp-admin user, plugins, themes, upgrade , See #11644
wpmuguru authored
19 if ( is_multisite() ) {
20 function admin_created_user_email( $text ) {
5ac8a32 Translate role names in the new user notification email. Props obenland....
ryan authored
21 $roles = get_editable_roles();
22 $role = $roles[ $_REQUEST['role'] ];
33b3236 I18n fixes
nbachiyski authored
23 /* translators: 1: Site name, 2: site URL, 3: role */
f645177 Notice fixes for user-new.php. Props wpdavis. see #15456
ryan authored
24 return sprintf( __( 'Hi,
25 You\'ve been invited to join \'%1$s\' at
7e94f47 Grammar fix. Props SergeyBiryukov, johnbillion. fixes #18291
ryan authored
26 %2$s with the role of %3$s.
3a2f3b3 s/blog/site/ in more places.
nacin authored
27 If you do not want to join this site please ignore
9d2762f merge wp-admin user, plugins, themes, upgrade , See #11644
wpmuguru authored
28 this email. This invitation will expire in a few days.
29
30 Please click the following link to activate your user account:
5ac8a32 Translate role names in the new user notification email. Props obenland....
ryan authored
31 %%s' ), get_bloginfo( 'name' ), home_url(), wp_specialchars_decode( translate_user_role( $role['name'] ) ) );
9d2762f merge wp-admin user, plugins, themes, upgrade , See #11644
wpmuguru authored
32 }
33 add_filter( 'wpmu_signup_user_notification_email', 'admin_created_user_email' );
34
35 function admin_created_user_subject( $text ) {
60bdbe7 Don't add extra spaces. props duck_, see #16861.
nacin authored
36 return sprintf( __( '[%s] Your site invite' ), get_bloginfo( 'name' ) );
9d2762f merge wp-admin user, plugins, themes, upgrade , See #11644
wpmuguru authored
37 }
38 }
39
0a23990 Add new user page
ryan authored
40 if ( isset($_REQUEST['action']) && 'adduser' == $_REQUEST['action'] ) {
8b3cead Fix duplicate HTML IDs for wp-admin/user-new.php on MS installs. props d...
markjaquith authored
41 check_admin_referer( 'add-user', '_wpnonce_add-user' );
0a23990 Add new user page
ryan authored
42
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
43 $user_details = null;
44 if ( false !== strpos($_REQUEST[ 'email' ], '@') ) {
45 $user_details = get_user_by('email', $_REQUEST[ 'email' ]);
46 } else {
47 if ( is_super_admin() ) {
48 $user_details = get_user_by('login', $_REQUEST[ 'email' ]);
49 } else {
50 wp_redirect( add_query_arg( array('update' => 'enter_email'), 'user-new.php' ) );
51 die();
52 }
53 }
54
55 if ( !$user_details ) {
56 wp_redirect( add_query_arg( array('update' => 'does_not_exist'), 'user-new.php' ) );
57 die();
58 }
59
60 if ( ! current_user_can('promote_user', $user_details->ID) )
61 wp_die(__('Cheatin&#8217; uh?'));
62
63 // Adding an existing user to this blog
a733b40 Fix inviting existing users to a site with email confirmation. Props joh...
ryan authored
64 $new_user_email = $user_details->user_email;
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
65 $redirect = 'user-new.php';
66 $username = $user_details->user_login;
67 $user_id = $user_details->ID;
68 if ( ( $username != null && !is_super_admin( $user_id ) ) && ( array_key_exists($blog_id, get_blogs_of_user($user_id)) ) ) {
69 $redirect = add_query_arg( array('update' => 'addexisting'), 'user-new.php' );
70 } else {
71 if ( isset( $_POST[ 'noconfirmation' ] ) && is_super_admin() ) {
72 add_existing_user_to_blog( array( 'user_id' => $user_id, 'role' => $_REQUEST[ 'role' ] ) );
73 $redirect = add_query_arg( array('update' => 'addnoconfirmation'), 'user-new.php' );
74 } else {
75 $newuser_key = substr( md5( $user_id ), 0, 5 );
76 add_option( 'new_user_' . $newuser_key, array( 'user_id' => $user_id, 'email' => $user_details->user_email, 'role' => $_REQUEST[ 'role' ] ) );
104b50c s/newuserconfimation/newuserconfirmation/
ryan authored
77
5ac8a32 Translate role names in the new user notification email. Props obenland....
ryan authored
78 $roles = get_editable_roles();
79 $role = $roles[ $_REQUEST['role'] ];
04831b8 Used numbered format specifiers. Add translator note. Props SergeyBiryuk...
ryan authored
80 /* translators: 1: Site name, 2: site URL, 3: role, 4: activation URL */
81 $message = __( 'Hi,
82
83 You\'ve been invited to join \'%1$s\' at
84 %2$s with the role of %3$s.
85
86 Please click the following link to confirm the invite:
87 %4$s' );
5ac8a32 Translate role names in the new user notification email. Props obenland....
ryan authored
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/" ) ) );
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
89 $redirect = add_query_arg( array('update' => 'add'), 'user-new.php' );
90 }
91 }
92 wp_redirect( $redirect );
93 die();
94 } elseif ( isset($_REQUEST['action']) && 'createuser' == $_REQUEST['action'] ) {
8b3cead Fix duplicate HTML IDs for wp-admin/user-new.php on MS installs. props d...
markjaquith authored
95 check_admin_referer( 'create-user', '_wpnonce_create-user' );
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
96
97 if ( ! current_user_can('create_users') )
98 wp_die(__('Cheatin&#8217; uh?'));
99
5fbd665 s/add_user()/edit_user()/, see r19686 and #18749.
duck_ authored
100 if ( ! is_multisite() ) {
101 $user_id = edit_user();
9861eb1 Notice fixes from DD32. see #7509
ryan authored
102
9d2762f merge wp-admin user, plugins, themes, upgrade , See #11644
wpmuguru authored
103 if ( is_wp_error( $user_id ) ) {
104 $add_user_errors = $user_id;
105 } else {
4ffc5dd After adding a user, take them back to users.php with an 'Edit user' lin...
nacin authored
106 if ( current_user_can( 'list_users' ) )
107 $redirect = 'users.php?update=add&id=' . $user_id;
108 else
ea4934a Allow create_users cap to be used independently of edit_users cap. fixes...
nacin authored
109 $redirect = add_query_arg( 'update', 'add', 'user-new.php' );
110 wp_redirect( $redirect );
9d2762f merge wp-admin user, plugins, themes, upgrade , See #11644
wpmuguru authored
111 die();
112 }
9861eb1 Notice fixes from DD32. see #7509
ryan authored
113 } else {
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
114 // Adding a new user to this blog
115 $user_details = wpmu_validate_user_signup( $_REQUEST[ 'user_login' ], $_REQUEST[ 'email' ] );
116 unset( $user_details[ 'errors' ]->errors[ 'user_email_used' ] );
117 if ( is_wp_error( $user_details[ 'errors' ] ) && !empty( $user_details[ 'errors' ]->errors ) ) {
118 $add_user_errors = $user_details[ 'errors' ];
119 } else {
120 $new_user_login = apply_filters('pre_user_login', sanitize_user(stripslashes($_REQUEST['user_login']), true));
121 if ( isset( $_POST[ 'noconfirmation' ] ) && is_super_admin() ) {
122 add_filter( 'wpmu_signup_user_notification', '__return_false' ); // Disable confirmation email
123 }
124 wpmu_signup_user( $new_user_login, $_REQUEST[ 'email' ], array( 'add_to_blog' => $wpdb->blogid, 'new_role' => $_REQUEST[ 'role' ] ) );
93908c2 Skip confirmation email fixes. Props ocean90, duck_. see #15725
ryan authored
125 if ( isset( $_POST[ 'noconfirmation' ] ) && is_super_admin() ) {
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
126 $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' ] ) );
127 wpmu_activate_signup( $key );
128 $redirect = add_query_arg( array('update' => 'addnoconfirmation'), 'user-new.php' );
9d2762f merge wp-admin user, plugins, themes, upgrade , See #11644
wpmuguru authored
129 } else {
104b50c s/newuserconfimation/newuserconfirmation/
ryan authored
130 $redirect = add_query_arg( array('update' => 'newuserconfirmation'), 'user-new.php' );
9d2762f merge wp-admin user, plugins, themes, upgrade , See #11644
wpmuguru authored
131 }
132 wp_redirect( $redirect );
133 die();
134 }
0a23990 Add new user page
ryan authored
135 }
136 }
137
138 $title = __('Add New User');
139 $parent_file = 'users.php';
140
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
141 $do_both = false;
142 if ( is_multisite() && current_user_can('promote_users') && current_user_can('create_users') )
143 $do_both = true;
144
3d51303 Help tweaks for users, tools. props jane, see #19020.
nacin authored
145 $help = '<p>' . __('To add a new user to your site, fill in the form on this screen and click the Add New User button at the bottom.') . '</p>';
146
147 if ( is_multisite() ) {
148 $help .= '<p>' . __('Because this is a multisite installation, you may add accounts that already exist on the Network by specifying a username or email, and defining a role. For more options, such as specifying a password, you have to be a Network Administrator and use the hover link under an existing user&#8217;s name to Edit the user profile under Network Admin > All Users.') . '</p>' .
429faf5 Fix a spelling error in user-new.php. props SergeyBiryukov. fixes #19518
markjaquith authored
149 '<p>' . __('New users will receive an email letting them know they&#8217;ve been added as a user for your site. This email will also contain their password. Check the box if you don&#8217;t want the user to receive a welcome email.') . '</p>';
3d51303 Help tweaks for users, tools. props jane, see #19020.
nacin authored
150 } else {
151 $help .= '<p>' . __('You must assign a password to the new user, which they can change after logging in. The username, however, cannot be changed.') . '</p>' .
152 '<p>' . __('New users will receive an email letting them know they&#8217;ve been added as a user for your site. By default, this email will also contain their password. Uncheck the box if you don&#8217;t want the password to be included in the welcome email.') . '</p>';
153 }
154
155 $help .= '<p>' . __('Remember to click the Add New User button at the bottom of this screen when you are finished.') . '</p>';
156
6bba5a2 Pinking shears
ryan authored
157 get_current_screen()->add_help_tab( array(
158 'id' => 'overview',
159 'title' => __('Overview'),
3d51303 Help tweaks for users, tools. props jane, see #19020.
nacin authored
160 'content' => $help,
161 ) );
162
6bba5a2 Pinking shears
ryan authored
163 get_current_screen()->add_help_tab( array(
164 'id' => 'user-roles',
165 'title' => __('User Roles'),
3d51303 Help tweaks for users, tools. props jane, see #19020.
nacin authored
166 'content' => '<p>' . __('Here is a basic overview of the different user roles and the permissions associated with each one:') . '</p>' .
094ebdb Indent cleanup. see #19020
ryan authored
167 '<ul>' .
168 '<li>' . __('Administrators have access to all the administration features.') . '</li>' .
07ff8b2 Use one space, not two, after trailing punctuation. fixes #19537
ryan authored
169 '<li>' . __('Editors can publish posts, manage posts as well as manage other people&#8217;s posts, etc.') . '</li>' .
3d51303 Help tweaks for users, tools. props jane, see #19020.
nacin authored
170 '<li>' . __('Authors can publish and manage their own posts, and are able to upload files.') . '</li>' .
094ebdb Indent cleanup. see #19020
ryan authored
171 '<li>' . __('Contributors can write and manage their posts but not publish posts or upload media files.') . '</li>' .
3d51303 Help tweaks for users, tools. props jane, see #19020.
nacin authored
172 '<li>' . __('Subscribers can read comments/comment/receive newsletters, etc. but cannot create regular site content.') . '</li>' .
173 '</ul>'
094ebdb Indent cleanup. see #19020
ryan authored
174 ) );
3ad1f67 Use add_help_sidebar(). see #19020
ryan authored
175
bfb98c1 s/add_help_sidebar/set_help_sidebar/g and introduce screen->remove_help_...
nacin authored
176 get_current_screen()->set_help_sidebar(
720667d Users help. props dragoonis. see #13467.
nacin authored
177 '<p><strong>' . __('For more information:') . '</strong></p>' .
9cb6e15 Switch from Panel/SubPanel to Screen in inline documentation and Codex l...
nacin authored
178 '<p>' . __('<a href="http://codex.wordpress.org/Users_Add_New_Screen" target="_blank">Documentation on Adding New Users</a>') . '</p>' .
6c7120f target=blank help fixes. props zeo, fixes #13467.
nacin authored
179 '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
720667d Users help. props dragoonis. see #13467.
nacin authored
180 );
181
1c9353a Cleanup js files and prepare for concatenating, move most inline js to f...
azaozz authored
182 wp_enqueue_script('wp-ajax-response');
d271668 Clean up user-edit.php, add password strength meter to Add User and Edit...
azaozz authored
183 wp_enqueue_script('user-profile');
81407ef Clean up cap checks for autocompletes for sites and users in a network. ...
nacin authored
184
185 if ( is_multisite() && current_user_can( 'promote_users' ) && ! wp_is_large_network( 'users' )
af2eb34 Correct faulty logic when dealing with autocomplete_users_for_site_admin...
duck_ authored
186 && ( is_super_admin() || apply_filters( 'autocomplete_users_for_site_admins', false ) )
187 ) {
3ebea2f Remove user/site suggestions (autocompletion) from search inputs, as the...
nacin authored
188 wp_enqueue_script( 'user-suggest' );
af2eb34 Correct faulty logic when dealing with autocomplete_users_for_site_admin...
duck_ authored
189 }
0a23990 Add new user page
ryan authored
190
481959a Autocomplete for add-user screens in multisite. props boonebgorges, Japh...
markjaquith authored
191 require_once( 'admin-header.php' );
0a23990 Add new user page
ryan authored
192
ea4934a Allow create_users cap to be used independently of edit_users cap. fixes...
nacin authored
193 if ( isset($_GET['update']) ) {
194 $messages = array();
195 if ( is_multisite() ) {
196 switch ( $_GET['update'] ) {
104b50c s/newuserconfimation/newuserconfirmation/
ryan authored
197 case "newuserconfirmation":
ea4934a Allow create_users cap to be used independently of edit_users cap. fixes...
nacin authored
198 $messages[] = __('Invitation email sent to new user. A confirmation link must be clicked before their account is created.');
199 break;
200 case "add":
201 $messages[] = __('Invitation email sent to user. A confirmation link must be clicked for them to be added to your site.');
202 break;
203 case "addnoconfirmation":
204 $messages[] = __('User has been added to your site.');
205 break;
206 case "addexisting":
207 $messages[] = __('That user is already a member of this site.');
208 break;
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
209 case "does_not_exist":
210 $messages[] = __('The requested user does not exist.');
211 break;
212 case "does_not_exist":
213 $messages[] = __('Please enter a valid email address.');
214 break;
ea4934a Allow create_users cap to be used independently of edit_users cap. fixes...
nacin authored
215 }
216 } else {
217 if ( 'add' == $_GET['update'] )
218 $messages[] = __('User added.');
9d2762f merge wp-admin user, plugins, themes, upgrade , See #11644
wpmuguru authored
219 }
220 }
0a23990 Add new user page
ryan authored
221 ?>
222 <div class="wrap">
7c68e69 Screen icons
azaozz authored
223 <?php screen_icon(); ?>
ae4c6c7 Improve the button and header test to give a clearer picture between Add...
westi authored
224 <h2 id="add-new-user"> <?php
225 if ( current_user_can( 'create_users' ) ) {
226 echo _x( 'Add New User', 'user' );
227 } elseif ( current_user_can( 'promote_users' ) ) {
228 echo _x( 'Add Existing User', 'user' );
229 } ?>
230 </h2>
0a23990 Add new user page
ryan authored
231
232 <?php if ( isset($errors) && is_wp_error( $errors ) ) : ?>
233 <div class="error">
234 <ul>
235 <?php
236 foreach ( $errors->get_error_messages() as $err )
237 echo "<li>$err</li>\n";
238 ?>
239 </ul>
240 </div>
241 <?php endif;
242
ea4934a Allow create_users cap to be used independently of edit_users cap. fixes...
nacin authored
243 if ( ! empty( $messages ) ) {
0a23990 Add new user page
ryan authored
244 foreach ( $messages as $msg )
ea4934a Allow create_users cap to be used independently of edit_users cap. fixes...
nacin authored
245 echo '<div id="message" class="updated"><p>' . $msg . '</p></div>';
0a23990 Add new user page
ryan authored
246 } ?>
247
248 <?php if ( isset($add_user_errors) && is_wp_error( $add_user_errors ) ) : ?>
249 <div class="error">
250 <?php
251 foreach ( $add_user_errors->get_error_messages() as $message )
252 echo "<p>$message</p>";
253 ?>
254 </div>
255 <?php endif; ?>
256 <div id="ajax-response"></div>
257
258 <?php
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
259 if ( is_multisite() ) {
260 if ( $do_both )
261 echo '<h3 id="add-existing-user">' . __('Add Existing User') . '</h3>';
262 if ( !is_super_admin() ) {
07ff8b2 Use one space, not two, after trailing punctuation. fixes #19537
ryan authored
263 _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.' );
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
264 $label = __('E-mail');
265 } else {
07ff8b2 Use one space, not two, after trailing punctuation. fixes #19537
ryan authored
266 _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.' );
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
267 $label = __('E-mail or Username');
268 }
0a23990 Add new user page
ryan authored
269 ?>
3fbd603 Fixes for user-new.php. Props wpdavis. see #15456
ryan authored
270 <form action="" method="post" name="adduser" id="adduser" class="add:users: validate"<?php do_action('user_new_form_tag');?>>
8b3cead Fix duplicate HTML IDs for wp-admin/user-new.php on MS installs. props d...
markjaquith authored
271 <input name="action" type="hidden" value="adduser" />
272 <?php wp_nonce_field( 'add-user', '_wpnonce_add-user' ) ?>
3fbd603 Fixes for user-new.php. Props wpdavis. see #15456
ryan authored
273
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
274 <table class="form-table">
275 <tr class="form-field form-required">
8b3cead Fix duplicate HTML IDs for wp-admin/user-new.php on MS installs. props d...
markjaquith authored
276 <th scope="row"><label for="adduser-email"><?php echo $label; ?></label></th>
3ebea2f Remove user/site suggestions (autocompletion) from search inputs, as the...
nacin authored
277 <td><input name="email" type="text" id="adduser-email" class="wp-suggest-user" value="" /></td>
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
278 </tr>
279 <tr class="form-field">
8b3cead Fix duplicate HTML IDs for wp-admin/user-new.php on MS installs. props d...
markjaquith authored
280 <th scope="row"><label for="adduser-role"><?php _e('Role'); ?></label></th>
281 <td><select name="role" id="adduser-role">
3fbd603 Fixes for user-new.php. Props wpdavis. see #15456
ryan authored
282 <?php wp_dropdown_roles( get_option('default_role') ); ?>
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
283 </select>
284 </td>
285 </tr>
286 <?php if ( is_super_admin() ) { ?>
287 <tr>
8b3cead Fix duplicate HTML IDs for wp-admin/user-new.php on MS installs. props d...
markjaquith authored
288 <th scope="row"><label for="adduser-noconfirmation"><?php _e('Skip Confirmation Email') ?></label></th>
289 <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>
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
290 </tr>
291 <?php } ?>
292 </table>
e6282fa Clarify button text. fixes #14756
ryan authored
293 <?php submit_button( __( 'Add Existing User '), 'primary', 'adduser', true, array( 'id' => 'addusersub' ) ); ?>
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
294 </form>
9861eb1 Notice fixes from DD32. see #7509
ryan authored
295 <?php
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
296 } // is_multisite()
297
298 if ( current_user_can( 'create_users') ) {
299 if ( $do_both )
e6282fa Clarify button text. fixes #14756
ryan authored
300 echo '<h3 id="create-new-user">' . __( 'Add New User' ) . '</h3>';
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
301 ?>
302 <p><?php _e('Create a brand new user and add it to this site.'); ?></p>
8b3cead Fix duplicate HTML IDs for wp-admin/user-new.php on MS installs. props d...
markjaquith authored
303 <form action="" method="post" name="createuser" id="createuser" class="add:users: validate"<?php do_action('user_new_form_tag');?>>
304 <input name="action" type="hidden" value="createuser" />
305 <?php wp_nonce_field( 'create-user', '_wpnonce_create-user' ) ?>
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
306 <?php
307 // Load up the passed data, else set to a default.
3fbd603 Fixes for user-new.php. Props wpdavis. see #15456
ryan authored
308 foreach ( array( 'user_login' => 'login', 'first_name' => 'firstname', 'last_name' => 'lastname',
309 'email' => 'email', 'url' => 'uri', 'role' => 'role', 'send_password' => 'send_password', 'noconfirmation' => 'ignore_pass' ) as $post_field => $var ) {
9861eb1 Notice fixes from DD32. see #7509
ryan authored
310 $var = "new_user_$var";
3fbd603 Fixes for user-new.php. Props wpdavis. see #15456
ryan authored
311 if( isset( $_POST['createuser'] ) ) {
312 if ( ! isset($$var) )
313 $$var = isset( $_POST[$post_field] ) ? stripslashes( $_POST[$post_field] ) : '';
314 } else {
315 $$var = false;
316 }
9861eb1 Notice fixes from DD32. see #7509
ryan authored
317 }
3fbd603 Fixes for user-new.php. Props wpdavis. see #15456
ryan authored
318
9861eb1 Notice fixes from DD32. see #7509
ryan authored
319 ?>
0a23990 Add new user page
ryan authored
320 <table class="form-table">
321 <tr class="form-field form-required">
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
322 <th scope="row"><label for="user_login"><?php _e('Username'); ?> <span class="description"><?php _e('(required)'); ?></span></label></th>
fc48817 Don't display empty values in the user display name drop-down, props Sim...
azaozz authored
323 <td><input name="user_login" type="text" id="user_login" value="<?php echo esc_attr($new_user_login); ?>" aria-required="true" /></td>
0a23990 Add new user page
ryan authored
324 </tr>
c679e65 Add email and login dupe checking down into wp_insert_user(). Tidy up us...
ryan authored
325 <tr class="form-field form-required">
326 <th scope="row"><label for="email"><?php _e('E-mail'); ?> <span class="description"><?php _e('(required)'); ?></span></label></th>
327 <td><input name="email" type="text" id="email" value="<?php echo esc_attr($new_user_email); ?>" /></td>
328 </tr>
329 <?php if ( !is_multisite() ) { ?>
0a23990 Add new user page
ryan authored
330 <tr class="form-field">
331 <th scope="row"><label for="first_name"><?php _e('First Name') ?> </label></th>
6c2ffdd _a(), _ea(), _xa(), attr() are now esc_attr__(), esc_attr_e(), esc_attr_...
markjaquith authored
332 <td><input name="first_name" type="text" id="first_name" value="<?php echo esc_attr($new_user_firstname); ?>" /></td>
0a23990 Add new user page
ryan authored
333 </tr>
334 <tr class="form-field">
335 <th scope="row"><label for="last_name"><?php _e('Last Name') ?> </label></th>
6c2ffdd _a(), _ea(), _xa(), attr() are now esc_attr__(), esc_attr_e(), esc_attr_...
markjaquith authored
336 <td><input name="last_name" type="text" id="last_name" value="<?php echo esc_attr($new_user_lastname); ?>" /></td>
0a23990 Add new user page
ryan authored
337 </tr>
338 <tr class="form-field">
339 <th scope="row"><label for="url"><?php _e('Website') ?></label></th>
6c2ffdd _a(), _ea(), _xa(), attr() are now esc_attr__(), esc_attr_e(), esc_attr_...
markjaquith authored
340 <td><input name="url" type="text" id="url" class="code" value="<?php echo esc_attr($new_user_uri); ?>" /></td>
0a23990 Add new user page
ryan authored
341 </tr>
342 <?php if ( apply_filters('show_password_fields', true) ) : ?>
343 <tr class="form-field form-required">
9485983 i18n fixes. Props nbachiyski. fixes #11954
ryan authored
344 <th scope="row"><label for="pass1"><?php _e('Password'); ?> <span class="description"><?php /* translators: password input field */_e('(twice, required)'); ?></span></label></th>
0a23990 Add new user page
ryan authored
345 <td><input name="pass1" type="password" id="pass1" autocomplete="off" />
346 <br />
31ee4f8 Add HTML break in user-new.php, props demetris, fixes #9834
azaozz authored
347 <input name="pass2" type="password" id="pass2" autocomplete="off" />
348 <br />
d271668 Clean up user-edit.php, add password strength meter to Add User and Edit...
azaozz authored
349 <div id="pass-strength-result"><?php _e('Strength indicator'); ?></div>
350 <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>
351 </td>
0a23990 Add new user page
ryan authored
352 </tr>
8457db3 Add option to send password to users created from admin. Props Denis-de...
ryan authored
353 <tr>
354 <th scope="row"><label for="send_password"><?php _e('Send Password?') ?></label></th>
3fbd603 Fixes for user-new.php. Props wpdavis. see #15456
ryan authored
355 <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>
8457db3 Add option to send password to users created from admin. Props Denis-de...
ryan authored
356 </tr>
0a23990 Add new user page
ryan authored
357 <?php endif; ?>
c679e65 Add email and login dupe checking down into wp_insert_user(). Tidy up us...
ryan authored
358 <?php } // !is_multisite ?>
0a23990 Add new user page
ryan authored
359 <tr class="form-field">
360 <th scope="row"><label for="role"><?php _e('Role'); ?></label></th>
361 <td><select name="role" id="role">
362 <?php
363 if ( !$new_user_role )
9861eb1 Notice fixes from DD32. see #7509
ryan authored
364 $new_user_role = !empty($current_role) ? $current_role : get_option('default_role');
0a23990 Add new user page
ryan authored
365 wp_dropdown_roles($new_user_role);
366 ?>
367 </select>
368 </td>
369 </tr>
9d2762f merge wp-admin user, plugins, themes, upgrade , See #11644
wpmuguru authored
370 <?php if ( is_multisite() && is_super_admin() ) { ?>
c679e65 Add email and login dupe checking down into wp_insert_user(). Tidy up us...
ryan authored
371 <tr>
9d2762f merge wp-admin user, plugins, themes, upgrade , See #11644
wpmuguru authored
372 <th scope="row"><label for="noconfirmation"><?php _e('Skip Confirmation Email') ?></label></th>
340e933 Remove extraneous spaces. Props kenan3008, dimadin. fixes #19501 #19433
ryan authored
373 <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>
9d2762f merge wp-admin user, plugins, themes, upgrade , See #11644
wpmuguru authored
374 </tr>
375 <?php } ?>
0a23990 Add new user page
ryan authored
376 </table>
b51eb08 Restore submit_button() for user-new. props markmcwilliams, see #15064.
nacin authored
377
e6282fa Clarify button text. fixes #14756
ryan authored
378 <?php submit_button( __( 'Add New User '), 'primary', 'createuser', true, array( 'id' => 'createusersub' ) ); ?>
b51eb08 Restore submit_button() for user-new. props markmcwilliams, see #15064.
nacin authored
379
0a23990 Add new user page
ryan authored
380 </form>
59f55be user-new.php revamp. Separate caps for adding users vs. creating users....
ryan authored
381 <?php } // current_user_can('create_users') ?>
0a23990 Add new user page
ryan authored
382 </div>
383 <?php
6ec7cb4 Use relative paths when including files, avoiding include_path. fixes #1...
nacin authored
384 include('./admin-footer.php');
Something went wrong with that request. Please try again.