2003-12-08 01:28:41 +00:00
<? php
2008-08-16 07:27:34 +00:00
/**
* Users administration panel.
*
* @package WordPress
* @subpackage Administration
*/
/** WordPress Administration Bootstrap */
2004-10-19 03:03:06 +00:00
require_once ( 'admin.php' );
2008-08-16 07:27:34 +00:00
/** WordPress Registration API */
2006-06-11 06:43:54 +00:00
require_once ( ABSPATH . WPINC . '/registration.php' );
2004-04-25 04:24:06 +00:00
2006-11-30 18:38:06 +00:00
if ( ! current_user_can ( 'edit_users' ) )
wp_die ( __ ( 'Cheatin’ uh?' ));
2006-11-18 07:31:29 +00:00
$title = __ ( 'Users' );
2006-11-30 18:38:06 +00:00
$parent_file = 'users.php' ;
2006-11-18 07:31:29 +00:00
2008-09-29 09:26:21 +00:00
$update = $doaction = '' ;
if ( isset ( $_REQUEST [ 'action' ]) )
$doaction = $_REQUEST [ 'action' ] ? $_REQUEST [ 'action' ] : $_REQUEST [ 'action2' ];
2003-12-08 01:28:41 +00:00
2008-09-29 09:26:21 +00:00
if ( empty ( $doaction ) ) {
2008-08-20 21:42:31 +00:00
if ( isset ( $_GET [ 'changeit' ]) && ! empty ( $_GET [ 'new_role' ]) )
2008-09-29 09:26:21 +00:00
$doaction = 'promote' ;
2008-02-22 23:36:53 +00:00
}
2008-02-16 21:44:50 +00:00
if ( empty ( $_REQUEST ) ) {
2006-12-21 10:10:04 +00:00
$referer = '<input type="hidden" name="wp_http_referer" value="' . attribute_escape ( stripslashes ( $_SERVER [ 'REQUEST_URI' ])) . '" />' ;
2008-02-16 21:44:50 +00:00
} elseif ( isset ( $_REQUEST [ 'wp_http_referer' ]) ) {
$redirect = remove_query_arg ( array ( 'wp_http_referer' , 'updated' , 'delete_count' ), stripslashes ( $_REQUEST [ 'wp_http_referer' ]));
2006-12-21 10:10:04 +00:00
$referer = '<input type="hidden" name="wp_http_referer" value="' . attribute_escape ( $redirect ) . '" />' ;
2006-06-08 18:36:05 +00:00
} else {
$redirect = 'users.php' ;
2008-08-14 17:00:37 +00:00
$referer = '' ;
2006-06-08 18:36:05 +00:00
}
2008-09-29 09:26:21 +00:00
switch ( $doaction ) {
2005-07-12 15:53:13 +00:00
case 'promote' :
2006-05-02 22:36:06 +00:00
check_admin_referer ( 'bulk-users' );
2004-05-17 20:34:05 +00:00
2008-02-16 21:44:50 +00:00
if ( empty ( $_REQUEST [ 'users' ])) {
2006-06-27 05:38:56 +00:00
wp_redirect ( $redirect );
2006-11-14 23:44:25 +00:00
exit ();
2005-07-12 15:53:13 +00:00
}
2003-12-23 20:21:29 +00:00
2005-07-12 15:53:13 +00:00
if ( ! current_user_can ( 'edit_users' ) )
2006-07-05 22:00:03 +00:00
wp_die ( __ ( 'You can’t edit users.' ));
2003-12-23 20:21:29 +00:00
2008-02-16 21:44:50 +00:00
$userids = $_REQUEST [ 'users' ];
2005-11-13 04:40:18 +00:00
$update = 'promote' ;
2006-06-08 18:36:05 +00:00
foreach ( $userids as $id ) {
if ( ! current_user_can ( 'edit_user' , $id ) )
2006-07-05 22:00:03 +00:00
wp_die ( __ ( 'You can’t edit that user.' ));
2005-11-13 04:40:18 +00:00
// The new role of the current user must also have edit_users caps
2008-02-16 21:44:50 +00:00
if ( $id == $current_user -> ID && ! $wp_roles -> role_objects [ $_REQUEST [ 'new_role' ]] -> has_cap ( 'edit_users' )) {
2005-11-13 04:40:18 +00:00
$update = 'err_admin_role' ;
continue ;
}
2006-06-08 18:36:05 +00:00
$user = new WP_User ( $id );
2008-02-16 21:44:50 +00:00
$user -> set_role ( $_REQUEST [ 'new_role' ]);
2006-06-08 18:36:05 +00:00
}
2006-02-12 07:53:23 +00:00
2006-06-27 05:38:56 +00:00
wp_redirect ( add_query_arg ( 'update' , $update , $redirect ));
2006-11-15 00:02:28 +00:00
exit ();
2005-03-09 22:49:42 +00:00
2005-07-12 15:53:13 +00:00
break ;
2003-12-23 20:21:29 +00:00
2005-07-12 15:53:13 +00:00
case 'dodelete' :
2003-12-23 20:21:29 +00:00
2006-05-02 22:36:06 +00:00
check_admin_referer ( 'delete-users' );
2005-07-12 15:53:13 +00:00
2008-02-16 21:44:50 +00:00
if ( empty ( $_REQUEST [ 'users' ]) ) {
2006-06-27 05:38:56 +00:00
wp_redirect ( $redirect );
2006-11-15 00:02:28 +00:00
exit ();
2004-05-17 12:38:19 +00:00
}
2003-12-23 20:21:29 +00:00
2006-06-05 16:52:21 +00:00
if ( ! current_user_can ( 'delete_users' ) )
2006-07-05 22:00:03 +00:00
wp_die ( __ ( 'You can’t delete users.' ));
2003-12-23 20:21:29 +00:00
2008-02-16 21:44:50 +00:00
$userids = $_REQUEST [ 'users' ];
2005-11-13 04:40:18 +00:00
$update = 'del' ;
2006-06-08 18:36:05 +00:00
$delete_count = 0 ;
foreach ( ( array ) $userids as $id ) {
if ( ! current_user_can ( 'delete_user' , $id ) )
2006-07-05 22:00:03 +00:00
wp_die ( __ ( 'You can’t delete that user.' ));
2006-06-08 18:36:05 +00:00
2006-11-20 04:29:06 +00:00
if ( $id == $current_user -> ID ) {
2005-11-13 04:40:18 +00:00
$update = 'err_admin_del' ;
continue ;
}
2008-02-16 21:44:50 +00:00
switch ( $_REQUEST [ 'delete_option' ]) {
2005-07-12 15:53:13 +00:00
case 'delete' :
wp_delete_user ( $id );
break ;
case 'reassign' :
2008-02-16 21:44:50 +00:00
wp_delete_user ( $id , $_REQUEST [ 'reassign_user' ]);
2005-07-12 15:53:13 +00:00
break ;
}
2006-06-08 18:36:05 +00:00
++ $delete_count ;
2005-07-12 15:53:13 +00:00
}
2003-12-23 20:21:29 +00:00
2006-11-08 21:14:53 +00:00
$redirect = add_query_arg ( array ( 'delete_count' => $delete_count , 'update' => $update ), $redirect );
wp_redirect ( $redirect );
2006-11-15 00:02:28 +00:00
exit ();
2003-12-23 20:21:29 +00:00
break ;
2005-07-12 15:53:13 +00:00
case 'delete' :
2006-05-02 22:36:06 +00:00
check_admin_referer ( 'bulk-users' );
2004-05-17 20:34:05 +00:00
2008-09-17 04:39:08 +00:00
if ( empty ( $_REQUEST [ 'users' ]) && empty ( $_REQUEST [ 'user' ]) ) {
2006-06-27 05:38:56 +00:00
wp_redirect ( $redirect );
2006-11-15 00:02:28 +00:00
exit ();
}
2003-12-08 01:28:41 +00:00
2006-06-05 16:52:21 +00:00
if ( ! current_user_can ( 'delete_users' ) )
2006-06-08 18:36:05 +00:00
$errors = new WP_Error ( 'edit_users' , __ ( 'You can’t delete users.' ));
2003-12-08 01:28:41 +00:00
2008-09-17 04:39:08 +00:00
if ( empty ( $_REQUEST [ 'users' ]) )
$userids = array ( intval ( $_REQUEST [ 'user' ]));
else
$userids = $_REQUEST [ 'users' ];
2005-07-09 01:27:46 +00:00
2005-07-12 15:53:13 +00:00
include ( 'admin-header.php' );
?>
<form action="" method="post" name="updateusers" id="updateusers">
2006-05-02 22:36:06 +00:00
<?php wp_nonce_field('delete-users') ?>
2006-06-08 18:36:05 +00:00
<?php echo $referer; ?>
2008-01-07 20:38:49 +00:00
2005-07-12 15:53:13 +00:00
<div class="wrap">
2005-11-13 04:40:18 +00:00
<h2><?php _e('Delete Users'); ?></h2>
<p><?php _e('You have specified these users for deletion:'); ?></p>
<ul>
<?php
$go_delete = false;
2006-06-08 18:36:05 +00:00
foreach ( (array) $userids as $id ) {
$user = new WP_User($id);
2006-11-20 04:29:06 +00:00
if ( $id == $current_user->ID ) {
2005-12-12 22:48:30 +00:00
echo "<li>" . sprintf(__('ID #%1s: %2s <strong>The current user will not be deleted.</strong>'), $id, $user->user_login) . "</li>\n";
2005-11-13 04:40:18 +00:00
} else {
2005-12-12 22:48:30 +00:00
echo "<li><input type=\"hidden\" name=\"users[]\" value=\"{$id}\" />" . sprintf(__('ID #%1s: %2s'), $id, $user->user_login) . "</li>\n";
2005-11-13 04:40:18 +00:00
$go_delete = true;
2005-07-12 15:53:13 +00:00
}
2006-06-08 18:36:05 +00:00
}
$all_logins = $wpdb->get_results("SELECT ID, user_login FROM $wpdb->users ORDER BY user_login");
$user_dropdown = '<select name="reassign_user">';
foreach ( (array) $all_logins as $login )
2006-11-20 04:29:06 +00:00
if ( $login->ID == $current_user->ID || !in_array($login->ID, $userids) )
2006-06-08 18:36:05 +00:00
$user_dropdown .= "<option value=\"{$login->ID}\">{$login->user_login}</option>";
$user_dropdown .= '</select>';
?>
</ul>
<?php if ( $go_delete ) : ?>
2008-05-04 10:37:06 +00:00
<fieldset><p><legend><?php _e('What should be done with posts and links owned by this user?'); ?></legend></p>
2005-07-12 15:53:13 +00:00
<ul style="list-style:none;">
<li><label><input type="radio" id="delete_option0" name="delete_option" value="delete" checked="checked" />
<?php _e('Delete all posts and links.'); ?></label></li>
<li><input type="radio" id="delete_option1" name="delete_option" value="reassign" />
2005-12-02 22:37:02 +00:00
<?php echo '<label for="delete_option1">'.__('Attribute all posts and links to:')."</label> $user_dropdown"; ?></li>
2008-05-04 10:37:06 +00:00
</ul></fieldset>
2005-07-12 15:53:13 +00:00
<input type="hidden" name="action" value="dodelete" />
2008-02-21 00:27:23 +00:00
<p class="submit"><input type="submit" name="submit" value="<?php _e('Confirm Deletion'); ?>" class="button-secondary" /></p>
2005-11-13 04:40:18 +00:00
<?php else : ?>
<p><?php _e('There are no valid users selected for deletion.'); ?></p>
<?php endif; ?>
2005-07-12 15:53:13 +00:00
</div>
</form>
<?php
2003-12-08 01:28:41 +00:00
break;
2005-07-12 15:53:13 +00:00
case 'adduser':
2006-05-02 22:36:06 +00:00
check_admin_referer('add-user');
2006-02-12 07:53:23 +00:00
2006-06-05 16:52:21 +00:00
if ( ! current_user_can('create_users') )
2006-07-05 22:00:03 +00:00
wp_die(__('You can’t create users.'));
2006-06-05 16:52:21 +00:00
2006-04-02 00:31:26 +00:00
$user_id = add_user();
2006-06-08 18:36:05 +00:00
$update = 'add';
2006-04-02 00:31:26 +00:00
if ( is_wp_error( $user_id ) )
2006-06-08 18:36:05 +00:00
$add_user_errors = $user_id;
2006-04-02 00:31:26 +00:00
else {
2008-02-16 21:44:50 +00:00
$new_user_login = apply_filters('pre_user_login', sanitize_user(stripslashes($_REQUEST['user_login']), true));
2006-11-08 21:14:53 +00:00
$redirect = add_query_arg( array('usersearch' => urlencode($new_user_login), 'update' => $update), $redirect );
wp_redirect( $redirect . '#user-' . $user_id );
2005-07-12 15:53:13 +00:00
die();
}
2003-12-08 01:28:41 +00:00
default:
2008-02-20 05:45:16 +00:00
if ( !empty($_GET['_wp_http_referer']) ) {
wp_redirect(remove_query_arg(array('_wp_http_referer', '_wpnonce'), stripslashes($_SERVER['REQUEST_URI'])));
2008-03-02 20:17:30 +00:00
exit;
2008-02-20 05:45:16 +00:00
}
2006-06-08 18:36:05 +00:00
wp_enqueue_script('admin-users');
2008-01-07 20:38:49 +00:00
wp_enqueue_script('admin-forms');
2008-02-05 06:47:27 +00:00
2006-06-08 18:36:05 +00:00
include('admin-header.php');
2008-08-14 17:00:37 +00:00
$usersearch = isset($_GET['usersearch']) ? $_GET['usersearch'] : null;
$userspage = isset($_GET['userspage']) ? $_GET['userspage'] : null;
$role = isset($_GET['role']) ? $_GET['role'] : null;
2008-09-29 09:26:21 +00:00
2006-06-11 17:56:56 +00:00
// Query the users
2008-08-14 17:00:37 +00:00
$wp_user_search = new WP_User_Search($usersearch, $userspage, $role);
2008-09-29 09:26:21 +00:00
2008-09-11 18:54:05 +00:00
$messages = array();
2006-06-08 18:36:05 +00:00
if ( isset($_GET['update']) ) :
2005-07-12 15:53:13 +00:00
switch($_GET['update']) {
case 'del':
2006-06-08 18:36:05 +00:00
case 'del_many':
2008-09-11 18:54:05 +00:00
$delete_count = isset($_GET['delete_count']) ? (int) $_GET['delete_count'] : 0;
$messages[] = '<div id="message" class="updated fade"><p>' . sprintf(__ngettext('%s user deleted', '%s users deleted', $delete_count), $delete_count) . '</p></div>';
2005-07-12 15:53:13 +00:00
break;
case 'add':
2008-09-11 18:54:05 +00:00
$messages[] = '<div id="message" class="updated fade"><p>' . __('New user created.') . '</p></div>';
2005-07-12 15:53:13 +00:00
break;
case 'promote':
2008-09-11 18:54:05 +00:00
$messages[] = '<div id="message" class="updated fade"><p>' . __('Changed roles.') . '</p></div>';
2005-07-12 15:53:13 +00:00
break;
2005-11-13 04:40:18 +00:00
case 'err_admin_role':
2008-09-11 18:54:05 +00:00
$messages[] = '<div id="message" class="error"><p>' . __("The current user's role must have user editing capabilities.") . '</p></div>';
$messages[] = '<div id="message" class="updated fade"><p>' . __('Other user roles have been changed.') . '</p></div>';
2005-11-13 04:40:18 +00:00
break;
case 'err_admin_del':
2008-09-11 18:54:05 +00:00
$messages[] = '<div id="message" class="error"><p>' . __("You can't delete the current user.") . '</p></div>';
$messages[] = '<div id="message" class="updated fade"><p>' . __('Other users have been deleted.') . '</p></div>';
2005-11-13 04:40:18 +00:00
break;
2005-07-12 15:53:13 +00:00
}
2006-06-08 18:36:05 +00:00
endif; ?>
2008-09-28 04:11:27 +00:00
<div id="edit-settings-wrap" class="hidden">
<h5><?php _e('Show on screen') ?></h5>
<form id="adv-settings" action="" method="get">
<div class="metabox-prefs">
<?php manage_columns_prefs('user') ?>
<?php wp_nonce_field( 'hiddencolumns', 'hiddencolumnsnonce', false ); ?>
<br class="clear" />
</div></form>
2008-10-02 01:32:27 +00:00
</div>
2008-09-11 18:54:05 +00:00
2008-08-14 17:00:37 +00:00
<?php if ( isset($errors) && is_wp_error( $errors ) ) : ?>
2005-07-12 15:53:13 +00:00
<div class="error">
<ul>
<?php
2008-09-11 18:54:05 +00:00
foreach ( $errors->get_error_messages() as $err )
echo "<li>$err</li>\n";
2005-07-12 15:53:13 +00:00
?>
</ul>
</div>
2008-09-29 09:26:21 +00:00
<?php endif;
2008-09-11 18:54:05 +00:00
if ( ! empty($messages) ) {
foreach ( $messages as $msg )
echo $msg;
} ?>
2006-06-08 18:36:05 +00:00
<div class="wrap">
2008-09-19 05:31:00 +00:00
2008-02-16 21:44:50 +00:00
<form id="posts-filter" action="" method="get">
2006-06-11 17:56:56 +00:00
<?php if ( $wp_user_search->is_search() ) : ?>
2008-08-20 21:42:31 +00:00
<h2><?php printf( current_user_can('create_users') ? __('Users Matching "%2$s" (<a href="%1$s">Add New</a>)') : __('Add New'), '#add-new-user', wp_specialchars($wp_user_search->search_term) ); ?></h2>
2006-06-10 21:23:19 +00:00
<?php endif; ?>
2008-02-16 21:44:50 +00:00
<ul class="subsubsub">
<?php
$role_links = array();
2008-02-17 01:34:30 +00:00
$avail_roles = array();
$users_of_blog = get_users_of_blog();
foreach ( (array) $users_of_blog as $b_user ) {
$b_roles = unserialize($b_user->meta_value);
foreach ( (array) $b_roles as $b_role => $val ) {
if ( !isset($avail_roles[$b_role]) )
$avail_roles[$b_role] = 0;
$avail_roles[$b_role]++;
}
}
2008-02-17 20:16:22 +00:00
unset($users_of_blog);
2008-02-17 01:34:30 +00:00
2008-02-27 00:46:27 +00:00
$current_role = false;
2008-08-14 17:00:37 +00:00
$class = empty($role) ? ' class="current"' : '';
2008-03-11 21:21:24 +00:00
$role_links[] = "<li><a href=\"users.php\"$class>" . __('All Users') . "</a>";
2008-08-14 17:00:37 +00:00
foreach ( $wp_roles->get_names() as $this_role => $name ) {
2008-09-19 05:40:40 +00:00
if ( !isset($avail_roles[$this_role]) )
2008-02-17 01:34:30 +00:00
continue;
2008-02-16 21:44:50 +00:00
$class = '';
2008-08-14 17:00:37 +00:00
if ( $this_role == $role ) {
$current_role = $role;
2008-02-16 21:44:50 +00:00
$class = ' class="current"';
2008-02-27 00:46:27 +00:00
}
2008-02-16 21:44:50 +00:00
2008-02-19 20:28:54 +00:00
$name = translate_with_context($name);
2008-08-14 17:00:37 +00:00
$name = sprintf(_c('%1$s (%2$s)|user role with count'), $name, $avail_roles[$this_role]);
$role_links[] = "<li><a href=\"users.php?role=$this_role\"$class>" . $name . '</a>';
2008-02-16 21:44:50 +00:00
}
echo implode(' |</li>', $role_links) . '</li>';
unset($role_links);
?>
</ul>
2008-08-20 21:42:31 +00:00
2008-02-16 21:44:50 +00:00
<div class="tablenav">
<?php if ( $wp_user_search->results_are_paged() ) : ?>
<div class="tablenav-pages"><?php $wp_user_search->page_links(); ?></div>
<?php endif; ?>
2008-03-14 23:58:31 +00:00
<div class="alignleft">
2008-08-20 21:42:31 +00:00
<select name="action">
<option value="" selected><?php _e('Actions'); ?></option>
<option value="delete"><?php _e('Delete'); ?></option>
</select>
2008-09-25 13:42:34 +00:00
<input type="submit" value="<?php _e('Apply'); ?>" name="doaction" id="doaction" class="button-secondary action" />
2008-09-08 06:01:33 +00:00
<label class="hidden" for="new_role"><?php _e('Change role to…') ?></label><select name="new_role" id="new_role"><option value=''><?php _e('Change role to…') ?></option><?php wp_dropdown_roles(); ?></select>
2008-02-22 23:36:53 +00:00
<input type="submit" value="<?php _e('Change'); ?>" name="changeit" class="button-secondary" />
2008-02-16 21:44:50 +00:00
<?php wp_nonce_field('bulk-users'); ?>
</div>
2008-03-14 23:58:31 +00:00
<br class="clear" />
2008-02-16 21:44:50 +00:00
</div>
2008-03-14 23:58:31 +00:00
<br class="clear" />
2006-06-10 21:23:19 +00:00
2006-06-11 17:56:56 +00:00
<?php if ( is_wp_error( $wp_user_search->search_errors ) ) : ?>
2006-06-10 21:23:19 +00:00
<div class="error">
<ul>
<?php
2006-06-11 17:56:56 +00:00
foreach ( $wp_user_search->search_errors->get_error_messages() as $message )
2006-06-10 21:23:19 +00:00
echo "<li>$message</li>";
?>
</ul>
</div>
2006-06-08 18:36:05 +00:00
<?php endif; ?>
2006-06-10 21:23:19 +00:00
2006-06-08 18:36:05 +00:00
2006-06-11 17:56:56 +00:00
<?php if ( $wp_user_search->get_results() ) : ?>
2006-02-12 07:53:23 +00:00
2006-06-11 17:56:56 +00:00
<?php if ( $wp_user_search->is_search() ) : ?>
2006-06-10 21:23:19 +00:00
<p><a href="users.php"><?php _e('« Back to All Users'); ?></a></p>
2006-06-08 18:36:05 +00:00
<?php endif; ?>
2006-06-10 21:23:19 +00:00
2006-05-10 20:35:10 +00:00
<table class="widefat">
2008-03-01 20:40:06 +00:00
<thead>
2006-06-08 18:36:05 +00:00
<tr class="thead">
2008-09-19 05:31:00 +00:00
<?php print_column_headers('user') ?>
2006-05-10 20:35:10 +00:00
</tr>
2008-03-01 20:40:06 +00:00
</thead>
2008-09-29 09:26:21 +00:00
<tfoot>
<tr class="thead">
<?php print_column_headers('user', false) ?>
</tr>
</tfoot>
2008-02-17 20:16:22 +00:00
<tbody id="users" class="list:user user-list">
2008-02-16 21:44:50 +00:00
<?php
2008-02-27 00:46:27 +00:00
$style = '';
2008-02-17 20:16:22 +00:00
foreach ( $wp_user_search->get_results() as $userid ) {
$user_object = new WP_User($userid);
2008-02-17 22:06:26 +00:00
$roles = $user_object->roles;
2008-02-17 20:16:22 +00:00
$role = array_shift($roles);
2006-06-08 18:36:05 +00:00
$style = ( ' class="alternate"' == $style ) ? '' : ' class="alternate"';
2008-01-07 20:38:49 +00:00
echo "\n\t" . user_row($user_object, $style, $role);
2006-05-10 20:35:10 +00:00
}
?>
</tbody>
</table>
2004-09-21 23:36:27 +00:00
2008-02-16 21:44:50 +00:00
<div class="tablenav">
2006-06-11 17:56:56 +00:00
<?php if ( $wp_user_search->results_are_paged() ) : ?>
2008-02-16 21:44:50 +00:00
<div class="tablenav-pages"><?php $wp_user_search->page_links(); ?></div>
2006-06-08 18:36:05 +00:00
<?php endif; ?>
2004-09-21 23:36:27 +00:00
2008-09-29 09:26:21 +00:00
<div class="alignleft">
<select name="action2">
<option value="" selected><?php _e('Actions'); ?></option>
<option value="delete"><?php _e('Delete'); ?></option>
</select>
<input type="submit" value="<?php _e('Apply'); ?>" name="doaction2" id="doaction2" class="button-secondary action" />
</div>
2008-03-14 23:58:31 +00:00
<br class="clear" />
2008-02-16 21:44:50 +00:00
</div>
2006-06-10 21:23:19 +00:00
<?php endif; ?>
2008-09-22 03:27:48 +00:00
2008-03-30 16:48:31 +00:00
</form>
2006-06-10 21:23:19 +00:00
</div>
2006-06-08 18:36:05 +00:00
2005-03-09 22:49:42 +00:00
<?php
2008-08-14 17:00:37 +00:00
foreach ( array('user_login' => 'user_login', 'first_name' => 'user_firstname', 'last_name' => 'user_lastname', 'email' => 'user_email', 'url' => 'user_uri', 'role' => 'user_role') as $formpost => $var ) {
$var = 'new_' . $var;
$$var = isset($_REQUEST[$formpost]) ? attribute_escape(stripslashes($_REQUEST[$formpost])) : '';
2006-06-08 18:36:05 +00:00
}
2008-08-14 17:00:37 +00:00
unset($name);
2005-03-09 22:49:42 +00:00
?>
2006-06-08 18:36:05 +00:00
2008-03-14 23:58:31 +00:00
<br class="clear" />
2008-04-14 16:57:29 +00:00
<?php if ( current_user_can('create_users') ) { ?>
2008-02-16 21:44:50 +00:00
2006-06-08 18:36:05 +00:00
<div class="wrap">
<h2 id="add-new-user"><?php _e('Add New User') ?></h2>
2006-12-01 23:00:04 +00:00
2008-08-14 17:00:37 +00:00
<?php if ( isset($add_user_errors) && is_wp_error( $add_user_errors ) ) : ?>
2006-12-01 23:00:04 +00:00
<div class="error">
<?php
foreach ( $add_user_errors->get_error_messages() as $message )
echo "<p>$message</p>";
?>
</div>
<?php endif; ?>
<div id="ajax-response"></div>
2007-09-03 23:32:58 +00:00
<?php
if ( get_option('users_can_register') )
2008-05-27 17:46:01 +00:00
echo '<p>' . sprintf(__('Users can <a href="%1$s">register themselves</a> or you can manually create users here.'), site_url('wp-register.php')) . '</p>';
2007-09-03 23:32:58 +00:00
else
2008-05-27 17:46:01 +00:00
echo '<p>' . sprintf(__('Users cannot currently <a href="%1$s">register themselves</a>, but you can manually create users here.'), admin_url('options-general.php#users_can_register')) . '</p>';
2007-03-29 02:30:57 +00:00
?>
2008-03-18 19:20:18 +00:00
<form action="#add-new-user" method="post" name="adduser" id="adduser" class="add:users: validate">
2006-06-08 18:36:05 +00:00
<?php wp_nonce_field('add-user') ?>
2008-02-24 04:33:10 +00:00
<table class="form-table">
2007-11-01 06:23:16 +00:00
<tr class="form-field form-required">
2008-05-04 10:37:06 +00:00
<th scope="row"><label for="user_login"><?php _e('Username (required)') ?></label><input name="action" type="hidden" id="action" value="adduser" /></th>
2008-05-04 21:28:12 +00:00
<td ><input name="user_login" type="text" id="user_login" value="<?php echo $new_user_login; ?>" aria-required="true" /></td>
2006-06-08 18:36:05 +00:00
</tr>
2007-11-01 06:23:16 +00:00
<tr class="form-field">
2008-05-04 10:37:06 +00:00
<th scope="row"><label for="first_name"><?php _e('First Name') ?> </label></th>
2006-06-08 18:36:05 +00:00
<td><input name="first_name" type="text" id="first_name" value="<?php echo $new_user_firstname; ?>" /></td>
</tr>
2007-11-01 06:23:16 +00:00
<tr class="form-field">
2008-05-04 10:37:06 +00:00
<th scope="row"><label for="last_name"><?php _e('Last Name') ?> </label></th>
2006-06-08 18:36:05 +00:00
<td><input name="last_name" type="text" id="last_name" value="<?php echo $new_user_lastname; ?>" /></td>
</tr>
2007-11-01 06:23:16 +00:00
<tr class="form-field form-required">
2008-05-04 10:37:06 +00:00
<th scope="row"><label for="email"><?php _e('E-mail (required)') ?></label></th>
2006-06-08 18:36:05 +00:00
<td><input name="email" type="text" id="email" value="<?php echo $new_user_email; ?>" /></td>
</tr>
2007-11-01 06:23:16 +00:00
<tr class="form-field">
2008-05-04 10:37:06 +00:00
<th scope="row"><label for="url"><?php _e('Website') ?></label></th>
2006-06-08 18:36:05 +00:00
<td><input name="url" type="text" id="url" value="<?php echo $new_user_uri; ?>" /></td>
</tr>
<?php if ( apply_filters('show_password_fields', true) ) : ?>
2007-11-01 06:23:16 +00:00
<tr class="form-field form-required">
2008-05-04 10:37:06 +00:00
<th scope="row"><label for="pass1"><?php _e('Password (twice)') ?> </label></th>
2006-06-08 18:36:05 +00:00
<td><input name="pass1" type="password" id="pass1" />
<br />
<input name="pass2" type="password" id="pass2" /></td>
</tr>
<?php endif; ?>
2007-11-01 06:23:16 +00:00
<tr class="form-field">
2008-05-04 10:37:06 +00:00
<th scope="row"><label for="role"><?php _e('Role'); ?></label></th>
2006-06-08 18:36:05 +00:00
<td><select name="role" id="role">
<?php
if ( !$new_user_role )
2008-02-27 00:46:27 +00:00
$new_user_role = $current_role ? $current_role : get_option('default_role');
2006-06-08 18:36:05 +00:00
wp_dropdown_roles($new_user_role);
?>
</select>
</td>
</tr>
</table>
<p class="submit">
<?php echo $referer; ?>
2008-02-19 20:33:59 +00:00
<input name="adduser" type="submit" id="addusersub" value="<?php _e('Add User') ?>" />
2006-06-08 18:36:05 +00:00
</p>
</form>
2003-12-08 01:28:41 +00:00
</div>
2006-06-08 18:36:05 +00:00
<?php
2008-04-14 16:57:29 +00:00
}
2003-12-08 01:28:41 +00:00
break;
2006-06-08 18:36:05 +00:00
2008-09-29 09:26:21 +00:00
} // end of the $doaction switch
2004-08-22 23:24:50 +00:00
2003-12-11 00:22:36 +00:00
include('admin-footer.php');
2006-08-30 17:09:50 +00:00
?>