2004-08-01 11:13:50 +02:00
< ? php
2004-10-19 05:03:06 +02:00
require_once ( 'admin.php' );
2004-08-01 11:13:50 +02:00
2006-11-18 08:31:29 +01:00
$title = __ ( 'Edit User' );
if ( current_user_can ( 'edit_users' ) )
$parent_file = 'users.php' ;
else
$parent_file = 'profile.php' ;
2004-12-24 21:55:36 +01:00
$submenu_file = 'users.php' ;
2004-08-01 11:13:50 +02:00
2006-07-03 21:03:37 +02:00
wp_reset_vars ( array ( 'action' , 'redirect' , 'profile' , 'user_id' , 'wp_http_referer' ));
2004-08-01 11:13:50 +02:00
2006-06-08 20:36:05 +02:00
$wp_http_referer = remove_query_arg ( array ( 'update' , 'delete_count' ), stripslashes ( $wp_http_referer ));
2006-09-24 12:08:58 +02:00
$user_id = ( int ) $user_id ;
if ( ! $user_id )
wp_die ( __ ( 'Invalid user ID.' ));
2004-08-01 11:13:50 +02:00
switch ( $action ) {
2005-07-12 17:53:13 +02:00
case 'switchposts' :
check_admin_referer ();
/* TODO: Switch all posts from one user to another user */
break ;
2004-08-01 11:13:50 +02:00
case 'update' :
2006-05-27 01:08:05 +02:00
check_admin_referer ( 'update-user_' . $user_id );
2006-03-05 23:45:44 +01:00
2006-06-05 18:52:21 +02:00
if ( ! current_user_can ( 'edit_user' , $user_id ) )
2006-09-24 12:08:58 +02:00
wp_die ( __ ( 'You do not have permission to edit this user.' ));
$errors = edit_user ( $user_id );
2005-07-12 17:53:13 +02:00
2006-04-02 02:31:26 +02:00
if ( ! is_wp_error ( $errors ) ) {
2006-06-08 20:36:05 +02:00
$redirect = " user-edit.php?user_id= $user_id &updated=true " ;
$redirect = add_query_arg ( 'wp_http_referer' , urlencode ( $wp_http_referer ), $redirect );
2006-06-27 07:38:56 +02:00
wp_redirect ( $redirect );
2005-09-14 02:03:02 +02:00
exit ;
2005-07-12 17:53:13 +02:00
}
2004-08-01 11:13:50 +02:00
default :
2006-08-25 00:33:16 +02:00
$profileuser = get_user_to_edit ( $user_id );
2004-08-01 11:13:50 +02:00
2006-06-05 18:52:21 +02:00
if ( ! current_user_can ( 'edit_user' , $user_id ) )
2006-09-24 12:08:58 +02:00
wp_die ( __ ( 'You do not have permission to edit this user.' ));
include ( 'admin-header.php' );
2004-08-01 11:13:50 +02:00
?>
2004-10-29 03:17:17 +02:00
< ? php if ( isset ( $_GET [ 'updated' ]) ) : ?>
2005-08-08 03:13:22 +02:00
< div id = " message " class = " updated fade " >
2004-08-01 11:13:50 +02:00
< p >< strong >< ? php _e ( 'User updated.' ) ?> </strong></p>
2006-06-08 20:36:05 +02:00
< ? php if ( $wp_http_referer ) : ?>
2007-04-07 01:09:02 +02:00
< p >< a href = " users.php " >< ? php _e ( '« Back to Authors and Users' ); ?> </a></p>
2006-06-08 20:36:05 +02:00
< ? php endif ; ?>
2004-08-01 11:13:50 +02:00
</ div >
< ? php endif ; ?>
2006-04-02 02:31:26 +02:00
< ? php if ( is_wp_error ( $errors ) ) : ?>
2005-07-12 17:53:13 +02:00
< div class = " error " >
< ul >
< ? php
2006-04-02 02:48:14 +02:00
foreach ( $errors -> get_error_messages () as $message )
echo " <li> $message </li> " ;
2005-07-12 17:53:13 +02:00
?>
</ ul >
</ div >
< ? php endif ; ?>
2004-08-01 11:13:50 +02:00
< div class = " wrap " >
< h2 >< ? php _e ( 'Edit User' ); ?> </h2>
2005-07-12 17:53:13 +02:00
2005-09-14 02:03:02 +02:00
< form name = " profile " id = " your-profile " action = " user-edit.php " method = " post " >
2006-06-04 05:41:33 +02:00
< ? php wp_nonce_field ( 'update-user_' . $user_id ) ?>
2006-06-08 20:36:05 +02:00
< ? php if ( $wp_http_referer ) : ?>
2007-05-29 06:35:23 +02:00
< input type = " hidden " name = " wp_http_referer " value = " <?php echo clean_url( $wp_http_referer ); ?> " />
2006-06-08 20:36:05 +02:00
< ? php endif ; ?>
2005-09-14 02:03:02 +02:00
< p >
< input type = " hidden " name = " from " value = " profile " />
< input type = " hidden " name = " checkuser_id " value = " <?php echo $user_ID ?> " />
</ p >
2007-03-28 18:10:48 +02:00
< p >< label for = " rich_editing " >< input name = " rich_editing " type = " checkbox " id = " rich_editing " value = " true " < ? php checked ( 'true' , $profileuser -> rich_editing ); ?> /> <?php _e('Use the visual editor when writing'); ?></label></p>
< p class = " submit " >< input type = " submit " value = " <?php _e('Update User »'); ?> " name = " submit " /></ p >
2005-09-14 02:03:02 +02:00
< fieldset >
< legend >< ? php _e ( 'Name' ); ?> </legend>
< p >< label >< ? php _e ( 'Username: (no editing)' ); ?> <br />
2005-11-16 03:54:23 +01:00
< input type = " text " name = " user_login " value = " <?php echo $profileuser->user_login ; ?> " disabled = " disabled " />
2005-09-14 02:03:02 +02:00
</ label ></ p >
2005-11-06 04:58:52 +01:00
< p >< label >< ? php _e ( 'Role:' ) ?> <br />
< ? php
// print_r($profileuser);
echo '<select name="role">' ;
2006-06-10 22:26:26 +02:00
$role_list = '' ;
$user_has_role = false ;
2005-11-06 04:58:52 +01:00
foreach ( $wp_roles -> role_names as $role => $name ) {
2006-06-10 22:26:26 +02:00
if ( $profileuser -> has_cap ( $role ) ) {
$selected = ' selected="selected"' ;
$user_has_role = true ;
} else {
$selected = '' ;
}
$role_list .= " <option value= \" { $role } \" { $selected } > { $name } </option> " ;
2005-11-06 04:58:52 +01:00
}
2006-06-10 22:26:26 +02:00
if ( $user_has_role )
$role_list .= '<option value="">' . __ ( '— No role for this blog —' ) . '</option>' ;
else
$role_list .= '<option value="" selected="selected">' . __ ( '— No role for this blog —' ) . '</option>' ;
echo $role_list . '</select>' ;
2005-11-06 04:58:52 +01:00
?> </label></p>
2005-09-14 02:03:02 +02:00
< p >< label >< ? php _e ( 'First name:' ) ?> <br />
2005-11-16 03:54:23 +01:00
< input type = " text " name = " first_name " value = " <?php echo $profileuser->first_name ?> " /></ label ></ p >
2005-09-14 02:03:02 +02:00
< p >< label >< ? php _e ( 'Last name:' ) ?> <br />
2005-11-16 03:54:23 +01:00
< input type = " text " name = " last_name " value = " <?php echo $profileuser->last_name ?> " /></ label ></ p >
2005-09-14 02:03:02 +02:00
< p >< label >< ? php _e ( 'Nickname:' ) ?> <br />
2005-11-16 03:54:23 +01:00
< input type = " text " name = " nickname " value = " <?php echo $profileuser->nickname ?> " /></ label ></ p >
2005-09-14 02:03:02 +02:00
2007-01-17 04:26:11 +01:00
< p >< label >< ? php _e ( 'Display name publicly as:' ) ?> <br />
2005-09-14 02:03:02 +02:00
< select name = " display_name " >
2005-11-16 03:54:23 +01:00
< option value = " <?php echo $profileuser->display_name ; ?> " >< ? php echo $profileuser -> display_name ; ?> </option>
< option value = " <?php echo $profileuser->nickname ?> " >< ? php echo $profileuser -> nickname ?> </option>
< option value = " <?php echo $profileuser->user_login ?> " >< ? php echo $profileuser -> user_login ?> </option>
< ? php if ( ! empty ( $profileuser -> first_name ) ) : ?>
< option value = " <?php echo $profileuser->first_name ?> " >< ? php echo $profileuser -> first_name ?> </option>
2005-09-14 02:03:02 +02:00
< ? php endif ; ?>
2005-11-16 03:54:23 +01:00
< ? php if ( ! empty ( $profileuser -> last_name ) ) : ?>
< option value = " <?php echo $profileuser->last_name ?> " >< ? php echo $profileuser -> last_name ?> </option>
2005-09-14 02:03:02 +02:00
< ? php endif ; ?>
2005-11-16 03:54:23 +01:00
< ? php if ( ! empty ( $profileuser -> first_name ) && ! empty ( $profileuser -> last_name ) ) : ?>
< option value = " <?php echo $profileuser->first_name . " " . $profileuser->last_name ?> " >< ? php echo $profileuser -> first_name . " " . $profileuser -> last_name ?> </option>
< option value = " <?php echo $profileuser->last_name . " " . $profileuser->first_name ?> " >< ? php echo $profileuser -> last_name . " " . $profileuser -> first_name ?> </option>
2005-09-14 02:03:02 +02:00
< ? php endif ; ?>
</ select ></ label ></ p >
</ fieldset >
< fieldset >
< legend >< ? php _e ( 'Contact Info' ); ?> </legend>
< p >< label >< ? php _e ( 'E-mail: (required)' ) ?> <br />
2005-11-16 03:54:23 +01:00
< input type = " text " name = " email " value = " <?php echo $profileuser->user_email ?> " /></ label ></ p >
2005-09-14 02:03:02 +02:00
< p >< label >< ? php _e ( 'Website:' ) ?> <br />
2005-11-16 03:54:23 +01:00
< input type = " text " name = " url " value = " <?php echo $profileuser->user_url ?> " />
2005-09-14 02:03:02 +02:00
</ label ></ p >
< p >< label >< ? php _e ( 'AIM:' ) ?> <br />
2005-11-16 03:54:23 +01:00
< input type = " text " name = " aim " value = " <?php echo $profileuser->aim ?> " />
2005-09-14 02:03:02 +02:00
</ label ></ p >
< p >< label >< ? php _e ( 'Yahoo IM:' ) ?> <br />
2005-11-16 03:54:23 +01:00
< input type = " text " name = " yim " value = " <?php echo $profileuser->yim ?> " />
2005-09-14 02:03:02 +02:00
</ label ></ p >
2006-11-04 06:23:12 +01:00
< p >< label >< ? php _e ( 'Jabber / Google Talk:' ) ?> <br />
2005-11-16 03:54:23 +01:00
< input type = " text " name = " jabber " value = " <?php echo $profileuser->jabber ?> " /></ label >
2005-09-14 02:03:02 +02:00
</ p >
</ fieldset >
< br clear = " all " />
< fieldset >
< legend >< ? php _e ( 'About the user' ); ?> </legend>
< p class = " desc " >< ? php _e ( 'Share a little biographical information to fill out your profile. This may be shown publicly.' ); ?> </p>
2005-11-16 03:54:23 +01:00
< p >< textarea name = " description " rows = " 5 " cols = " 30 " >< ? php echo $profileuser -> description ?> </textarea></p>
2005-09-14 02:03:02 +02:00
</ fieldset >
< ? php
2005-03-09 23:49:42 +01:00
$show_password_fields = apply_filters ( 'show_password_fields' , true );
if ( $show_password_fields ) :
?>
2005-09-14 02:03:02 +02:00
< fieldset >
< legend >< ? php _e ( " Update User's Password " ); ?> </legend>
< p class = " desc " >< ? php _e ( " If you would like to change the user's password type a new one twice below. Otherwise leave this blank. " ); ?> </p>
< p >< label >< ? php _e ( 'New Password:' ); ?> <br />
< input type = " password " name = " pass1 " size = " 16 " value = " " />
</ label ></ p >
< p >< label >< ? php _e ( 'Type it one more time:' ); ?> <br />
< input type = " password " name = " pass2 " size = " 16 " value = " " />
</ label ></ p >
</ fieldset >
2005-03-09 23:49:42 +01:00
< ? php endif ; ?>
2005-09-14 02:03:02 +02:00
< ? php do_action ( 'edit_user_profile' ); ?>
< br clear = " all " />
2006-11-19 08:56:05 +01:00
< table width = " 99% " border = " 0 " cellspacing = " 2 " cellpadding = " 3 " class = " editform " >
< ? php
if ( count ( $profileuser -> caps ) > count ( $profileuser -> roles )) :
?>
< tr >
< th scope = " row " >< ? php _e ( 'Additional Capabilities:' ) ?> </th>
< td >< ? php
2005-09-14 02:03:02 +02:00
$output = '' ;
foreach ( $profileuser -> caps as $cap => $value ) {
if ( ! $wp_roles -> is_role ( $cap )) {
if ( $output != '' ) $output .= ', ' ;
$output .= $value ? $cap : " Denied: { $cap } " ;
}
}
echo $output ;
?> </td>
2006-11-19 08:56:05 +01:00
</ tr >
< ? php
endif ;
?>
</ table >
2005-09-14 02:03:02 +02:00
< p class = " submit " >
2004-08-01 11:13:50 +02:00
< input type = " hidden " name = " action " value = " update " />
< input type = " hidden " name = " user_id " id = " user_id " value = " <?php echo $user_id ; ?> " />
2006-11-19 08:56:05 +01:00
< input type = " submit " value = " <?php _e('Update User »') ?> " name = " submit " />
2005-09-14 02:03:02 +02:00
</ p >
2004-08-01 11:13:50 +02:00
</ form >
</ div >
< ? php
break ;
}
2004-12-12 21:41:19 +01:00
2004-08-01 11:13:50 +02:00
include ( 'admin-footer.php' );
2005-03-13 18:06:18 +01:00
?>