diff options
| author | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2008-04-04 16:44:15 +0000 |
|---|---|---|
| committer | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2008-04-04 16:44:15 +0000 |
| commit | 7740e89de3e1bc0cc636120e3ca8ab9e97e4d3cc (patch) | |
| tree | c6fd23b598f3994eddb18cb1c0f2e8d95ff054fa /wp-admin/user-edit.php | |
| parent | f650f48c048bfbbb2ae702b6425d87e39358d748 (diff) | |
| download | wordpress-mu-7740e89de3e1bc0cc636120e3ca8ab9e97e4d3cc.tar.gz wordpress-mu-7740e89de3e1bc0cc636120e3ca8ab9e97e4d3cc.tar.xz wordpress-mu-7740e89de3e1bc0cc636120e3ca8ab9e97e4d3cc.zip | |
Merged with WordPress 2.5, unstable, only for testing
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@1218 7be80a69-a1ef-0310-a953-fb0f7c49ff36
Diffstat (limited to 'wp-admin/user-edit.php')
| -rw-r--r-- | wp-admin/user-edit.php | 325 |
1 files changed, 229 insertions, 96 deletions
diff --git a/wp-admin/user-edit.php b/wp-admin/user-edit.php index ec5d3f6..3327c2d 100644 --- a/wp-admin/user-edit.php +++ b/wp-admin/user-edit.php @@ -1,12 +1,71 @@ <?php + require_once('admin.php'); -$title = __('Edit User'); -if ( current_user_can('edit_users') ) - $parent_file = 'users.php'; +if ( defined('IS_PROFILE_PAGE') && IS_PROFILE_PAGE ) + $is_profile_page = true; +else + $is_profile_page = false; + +function profile_js ( ) { +?> +<script type="text/javascript"> + function check_pass_strength ( ) { + + var pass = jQuery('#pass1').val(); + var user = jQuery('#user_login').val(); + + // get the result as an object, i'm tired of typing it + var res = jQuery('#pass-strength-result'); + + var strength = passwordStrength(pass, user); + + jQuery(res).removeClass('short bad good strong'); + + if ( strength == pwsL10n.bad ) { + jQuery(res).addClass('bad'); + jQuery(res).html( pwsL10n.bad ); + } + else if ( strength == pwsL10n.good ) { + jQuery(res).addClass('good'); + jQuery(res).html( pwsL10n.good ); + } + else if ( strength == pwsL10n.strong ) { + jQuery(res).addClass('strong'); + jQuery(res).html( pwsL10n.strong ); + } + else { + // this catches 'Too short' and the off chance anything else comes along + jQuery(res).addClass('short'); + jQuery(res).html( pwsL10n.short ); + } + + } + + jQuery(function($) { + $('#pass1').keyup( check_pass_strength ) + $('.color-palette').click(function(){$(this).siblings('input[name=admin_color]').attr('checked', 'checked')}); + } ); + + jQuery(document).ready( function() { + jQuery('#pass1,#pass2').attr('autocomplete','off'); + }); +</script> +<?php +} + +if ( $is_profile_page ) { + add_action('admin_head', 'profile_js'); + wp_enqueue_script('jquery'); + wp_enqueue_script('password-strength-meter'); +} + +$title = $is_profile_page? __('Profile') : __('Edit User'); +if ( current_user_can('edit_users') && !$is_profile_page ) + $submenu_file = 'users.php'; else - $parent_file = 'profile.php'; -$submenu_file = 'users.php'; + $submenu_file = 'profile.php'; +$parent_file = 'users.php'; wp_reset_vars(array('action', 'redirect', 'profile', 'user_id', 'wp_http_referer')); @@ -18,7 +77,12 @@ if ( !is_site_admin() && ($user_id != $current_user->ID) ) $user_id = (int) $user_id; if ( !$user_id ) - wp_die(__('Invalid user ID.')); + if ( $is_profile_page ) { + $current_user = wp_get_current_user(); + $user_id = $current_user->ID; + } else { + wp_die(__('Invalid user ID.')); + } switch ($action) { case 'switchposts': @@ -36,13 +100,17 @@ check_admin_referer('update-user_' . $user_id); if ( !current_user_can('edit_user', $user_id) ) wp_die(__('You do not have permission to edit this user.')); +if ( $is_profile_page ) { + do_action('personal_options_update'); +} + $cap = $wpdb->get_var( "SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = '{$user_id}' AND meta_key = '{$wpdb->base_prefix}{$wpdb->blogid}_capabilities' AND meta_value = 'a:0:{}'" ); $errors = edit_user($user_id); if( $cap == null ) $wpdb->query( "DELETE FROM {$wpdb->usermeta} WHERE user_id = '{$user_id}' AND meta_key = '{$wpdb->base_prefix}{$wpdb->blogid}_capabilities' AND meta_value = 'a:0:{}'" ); if( !is_wp_error( $errors ) ) { - $redirect = "user-edit.php?user_id=$user_id&updated=true"; + $redirect = ($is_profile_page? "profile.php?" : "user-edit.php?user_id=$user_id&"). "updated=true"; $redirect = add_query_arg('wp_http_referer', urlencode($wp_http_referer), $redirect); wp_redirect($redirect); exit; @@ -60,7 +128,7 @@ include ('admin-header.php'); <?php if ( isset($_GET['updated']) ) : ?> <div id="message" class="updated fade"> <p><strong><?php _e('User updated.') ?></strong></p> - <?php if ( $wp_http_referer ) : ?> + <?php if ( $wp_http_referer && !$is_profile_page ) : ?> <p><a href="users.php"><?php _e('« Back to Authors and Users'); ?></a></p> <?php endif; ?> </div> @@ -76,10 +144,10 @@ include ('admin-header.php'); </div> <?php } else { ?> -<div class="wrap"> -<h2><?php _e('Edit User'); ?></h2> +<div class="wrap" id="profile-page"> +<h2><?php $is_profile_page? _e('Your Profile and Personal Options') : _e('Edit User'); ?></h2> -<form name="profile" id="your-profile" action="user-edit.php" method="post"> +<form name="profile" id="your-profile" action="" method="post"> <?php wp_nonce_field('update-user_' . $user_id) ?> <?php if ( $wp_http_referer ) : ?> <input type="hidden" name="wp_http_referer" value="<?php echo clean_url($wp_http_referer); ?>" /> @@ -89,23 +157,63 @@ include ('admin-header.php'); <input type="hidden" name="checkuser_id" value="<?php echo $user_ID ?>" /> </p> -<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> +<h3><?php _e('Personal Options'); ?></h3> -<p class="submit"><input type="submit" value="<?php _e('Update User »'); ?>" name="submit" /></p> +<table class="form-table"> +<?php if ( rich_edit_exists() ) : // don't bother showing the option if the editor has been removed ?> + <tr> + <th scope="row"><?php _e('Visual Editor')?></th> + <td><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></td> + </tr> +<?php endif; ?> +<tr> +<th scope="row"><?php _e('Admin Color Scheme')?></th> +<td> +<?php +$current_color = get_user_option('admin_color'); +if ( empty($current_color) ) + $current_color = 'fresh'; +foreach ( $_wp_admin_css_colors as $color => $color_info ): ?> +<div class="color-option"><input name="admin_color" id="admin_color_<?php echo $color; ?>" type="radio" value="<?php echo $color ?>" class="tog" <?php checked($color, $current_color); ?> /> + <table class="color-palette"> + <tr> + <?php + foreach ( $color_info->colors as $html_color ): ?> + <td style="background-color: <?php echo $html_color ?>" title="<?php echo $color ?>"> </td> + <?php endforeach; ?> + </tr> + </table> + + <label for="admin_color_<?php echo $color; ?>"><?php echo $color_info->name ?></label> +</div> +<?php endforeach; ?> +</td> +</tr> +</table> -<fieldset> -<legend><?php _e('Name'); ?></legend> -<p><label><?php _e('Username: (no editing)'); ?><br /> -<input type="text" name="user_login" value="<?php echo $profileuser->user_login; ?>" disabled="disabled" /> -</label></p> +<?php + if ( $is_profile_page ) { + do_action('profile_personal_options'); + } +?> -<p><label><?php _e('Role:') ?><br /> +<h3><?php _e('Name') ?></h3> + +<table class="form-table"> + <tr> + <th><label for="user_login"><?php _e('Username'); ?></label></th> + <td><input type="text" name="user_login" id="user_login" value="<?php echo $profileuser->user_login; ?>" disabled="disabled" /> <?php _e('Your username cannot be changed'); ?></td> + </tr> + +<?php if ( !$is_profile_page ): ?> +<tr><th><label for="role"><?php _e('Role:') ?></label></th> <?php // print_r($profileuser); -echo '<select name="role">'; +echo '<td><select name="role" id="role">'; $role_list = ''; $user_has_role = false; foreach($wp_roles->role_names as $role => $name) { + $name = translate_with_context($name); if ( $profileuser->has_cap($role) ) { $selected = ' selected="selected"'; $user_has_role = true; @@ -118,88 +226,114 @@ 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>'; -?></label></p> - -<p><label><?php _e('First name:') ?><br /> -<input type="text" name="first_name" value="<?php echo $profileuser->first_name ?>" /></label></p> - -<p><label><?php _e('Last name:') ?><br /> -<input type="text" name="last_name" value="<?php echo $profileuser->last_name ?>" /></label></p> - -<p><label><?php _e('Nickname:') ?><br /> -<input type="text" name="nickname" value="<?php echo $profileuser->nickname ?>" /></label></p> - -<p><label><?php _e('Display name publicly as:') ?> <br /> -<select name="display_name"> -<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> -<?php endif; ?> -<?php if ( !empty( $profileuser->last_name ) ) : ?> -<option value="<?php echo $profileuser->last_name ?>"><?php echo $profileuser->last_name ?></option> -<?php endif; ?> -<?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> +echo $role_list . '</select></td></tr>'; +?> <?php endif; ?> -</select></label></p> -</fieldset> - -<fieldset> -<legend><?php _e('Contact Info'); ?></legend> -<p><label><?php _e('E-mail: (required)') ?><br /> -<input type="text" name="email" value="<?php echo $profileuser->user_email ?>" /></label></p> - -<p><label><?php _e('Website:') ?><br /> -<input type="text" name="url" value="<?php echo $profileuser->user_url ?>" /> -</label></p> - -<p><label><?php _e('AIM:') ?><br /> -<input type="text" name="aim" value="<?php echo $profileuser->aim ?>" /> -</label></p> - -<p><label><?php _e('Yahoo IM:') ?><br /> -<input type="text" name="yim" value="<?php echo $profileuser->yim ?>" /> -</label></p> - -<p><label><?php _e('Jabber / Google Talk:') ?><br /> -<input type="text" name="jabber" value="<?php echo $profileuser->jabber ?>" /></label> -</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> -<p><textarea name="description" rows="5" cols="30"><?php echo $profileuser->description ?></textarea></p> -</fieldset> +<tr> + <th><label for="first_name"><?php _e('First name') ?></label></th> + <td><input type="text" name="first_name" id="first_name" value="<?php echo $profileuser->first_name ?>" /></td> +</tr> + +<tr> + <th><label for="last_name"><?php _e('Last name') ?></label></th> + <td><input type="text" name="last_name" id="last_name" value="<?php echo $profileuser->last_name ?>" /></td> +</tr> + +<tr> + <th><label for="nickname"><?php _e('Nickname') ?></label></th> + <td><input type="text" name="nickname" id="nickname" value="<?php echo $profileuser->nickname ?>" /></td> +</tr> + +<tr> + <th><label for="display_name"><?php _e('Display name publicly as') ?></label></th> + <td> + <select name="display_name" id="display_name"> + <?php + $public_display = array(); + $public_display[] = $profileuser->display_name; + $public_display[] = $profileuser->nickname; + $public_display[] = $profileuser->user_login; + $public_display[] = $profileuser->first_name; + $public_display[] = $profileuser->first_name.' '.$profileuser->last_name; + $public_display[] = $profileuser->last_name.' '.$profileuser->first_name; + $public_display = array_unique(array_filter(array_map('trim', $public_display))); + foreach($public_display as $item) { + ?> + <option value="<?php echo $item; ?>"><?php echo $item; ?></option> + <?php + } + ?> + </select> + </td> +</tr> +</table> + +<h3><?php _e('Contact Info') ?></h3> + +<table class="form-table"> +<tr> + <th><label for="email"><?php _e('E-mail') ?></label></th> + <td><input type="text" name="email" id="email" value="<?php echo $profileuser->user_email ?>" /> <?php _e('Required'); ?></td> +</tr> + +<tr> + <th><label for="url"><?php _e('Website') ?></label></th> + <td><input type="text" name="url" id="url" value="<?php echo $profileuser->user_url ?>" /></td> +</tr> + +<tr> + <th><label for="aim"><?php _e('AIM') ?></label></th> + <td><input type="text" name="aim" id="aim" value="<?php echo $profileuser->aim ?>" /></td> +</tr> + +<tr> + <th><label for="yim"><?php _e('Yahoo IM') ?></label></th> + <td><input type="text" name="yim" id="yim" value="<?php echo $profileuser->yim ?>" /></td> +</tr> + +<tr> + <th><label for="jabber"><?php _e('Jabber / Google Talk') ?></label></th> + <td><input type="text" name="jabber" id="jabber" value="<?php echo $profileuser->jabber ?>" /></td> +</tr> +</table> + +<h3><?php $is_profile_page? _e('About Yourself') : _e('About the user'); ?></h3> + +<table class="form-table"> +<tr> + <th><label for="description"><?php _e('Biographical Info'); ?></label></th> + <td><textarea name="description" id="description" rows="5" cols="30"><?php echo $profileuser->description ?></textarea><br /><?php _e('Share a little biographical information to fill out your profile. This may be shown publicly.'); ?></td> +</tr> <?php $show_password_fields = apply_filters('show_password_fields', true); if ( $show_password_fields ) : ?> -<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> +<tr> + <th><label for="pass1"><?php _e('New Password:'); ?></label></th> + <td><input type="password" name="pass1" id="pass1" size="16" value="" /> <?php _e("If you would like to change the password type a new one. Otherwise leave this blank."); ?><br /> + <input type="password" name="pass2" id="pass2" size="16" value="" /> <?php _e("Type your new password again."); ?><br /> + <?php if ( $is_profile_page ): ?> + <p><strong><?php _e('Password Strength:'); ?></strong></p> + <div id="pass-strength-result"><?php _e('Too short'); ?></div> <?php _e('Hint: Use upper and lower case characters, numbers and symbols like !"?$%^&( in your password.'); ?> + <?php endif; ?> + </td> +</tr> <?php endif; ?> +</table> -<?php do_action('edit_user_profile'); ?> +<?php + if ( $is_profile_page ) { + do_action('show_user_profile'); + } else { + do_action('edit_user_profile'); + } +?> -<br clear="all" /> - <table width="99%" border="0" cellspacing="2" cellpadding="3" class="editform"> - <?php - if(count($profileuser->caps) > count($profileuser->roles)): - ?> +<?php if (count($profileuser->caps) > count($profileuser->roles)): ?> +<br class="clear" /> + <table width="99%" style="border: none;" cellspacing="2" cellpadding="3" class="editform"> <tr> <th scope="row"><?php _e('Additional Capabilities:') ?></th> <td><?php @@ -213,14 +347,13 @@ if ( $show_password_fields ) : echo $output; ?></td> </tr> - <?php - endif; - ?> </table> +<?php endif; ?> + <p class="submit"> <input type="hidden" name="action" value="update" /> <input type="hidden" name="user_id" id="user_id" value="<?php echo $user_id; ?>" /> - <input type="submit" value="<?php _e('Update User »') ?>" name="submit" /> + <input type="submit" value="<?php $is_profile_page? _e('Update Profile') : _e('Update User') ?>" name="submit" /> </p> </form> </div> |
