<?php
-
+/**
+ * Edit user administration panel.
+ *
+ * @package WordPress
+ * @subpackage Administration
+ */
+
+/** WordPress Administration Bootstrap */
require_once('admin.php');
if ( defined('IS_PROFILE_PAGE') && IS_PROFILE_PAGE )
else
$is_profile_page = false;
+/**
+ * Display JavaScript for profile page.
+ *
+ * @since 2.5.0
+ */
function profile_js ( ) {
?>
<script type="text/javascript">
- function check_pass_strength ( ) {
+(function($){
- var pass = jQuery('#pass1').val();
- var user = jQuery('#user_login').val();
+ function check_pass_strength () {
- // get the result as an object, i'm tired of typing it
- var res = jQuery('#pass-strength-result');
+ var pass = $('#pass1').val();
+ var user = $('#user_login').val();
- var strength = passwordStrength(pass, user);
+ $('#pass-strength-result').removeClass('short bad good strong');
+ if ( ! pass ) {
+ $('#pass-strength-result').html( pwsL10n.empty );
+ return;
+ }
- jQuery(res).removeClass('short bad good strong');
+ var strength = passwordStrength(pass, user);
- 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 {
+ if ( 2 == strength )
+ $('#pass-strength-result').addClass('bad').html( pwsL10n.bad );
+ else if ( 3 == strength )
+ $('#pass-strength-result').addClass('good').html( pwsL10n.good );
+ else if ( 4 == strength )
+ $('#pass-strength-result').addClass('strong').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 );
- }
+ $('#pass-strength-result').addClass('short').html( pwsL10n.short );
}
-
- function update_nickname ( ) {
-
- var nickname = jQuery('#nickname').val();
- var display_nickname = jQuery('#display_nickname').val();
-
+
+ function update_nickname () {
+
+ var nickname = $('#nickname').val();
+ var display_nickname = $('#display_nickname').val();
+
if ( nickname == '' ) {
- jQuery('#display_nickname').remove();
+ $('#display_nickname').remove();
}
- jQuery('#display_nickname').val(nickname).html(nickname);
-
+ $('#display_nickname').val(nickname).html(nickname);
+
}
- jQuery(function($) {
- $('#pass1').keyup( check_pass_strength )
+ $(document).ready( function() {
+ $('#nickname').blur(update_nickname);
+ $('#pass1').val('').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');
- jQuery('#nickname').blur(update_nickname);
});
+})(jQuery);
</script>
<?php
}
$user_id = (int) $user_id;
-if ( !$user_id )
+if ( !$user_id ) {
if ( $is_profile_page ) {
$current_user = wp_get_current_user();
$user_id = $current_user->ID;
} else {
wp_die(__('Invalid user ID.'));
}
+} elseif ( !get_userdata($user_id) ) {
+ wp_die( __('Invalid user ID.') );
+}
+
+/**
+ * Optional SSL preference that can be turned on by hooking to the 'personal_options' action.
+ *
+ * @since 2.7.0
+ *
+ * @param object $user User data object
+ */
+function use_ssl_preference($user) {
+?>
+ <tr>
+ <th scope="row"><?php _e('Use https')?></th>
+ <td><label for="use_ssl"><input name="use_ssl" type="checkbox" id="use_ssl" value="1" <?php checked('1', $user->use_ssl); ?> /> <?php _e('Always use https when visiting the admin'); ?></label></td>
+ </tr>
+<?php
+}
switch ($action) {
case 'switchposts':
if ( !current_user_can('edit_user', $user_id) )
wp_die(__('You do not have permission to edit this user.'));
-if ( $is_profile_page ) {
+if ($is_profile_page)
do_action('personal_options_update');
-}
+else
+ do_action('edit_user_profile_update');
$errors = edit_user($user_id);
-if( !is_wp_error( $errors ) ) {
+if ( !is_wp_error( $errors ) ) {
$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);
$profileuser = get_user_to_edit($user_id);
if ( !current_user_can('edit_user', $user_id) )
- wp_die(__('You do not have permission to edit this user.'));
+ wp_die(__('You do not have permission to edit this user.'));
include ('admin-header.php');
?>
<div id="message" class="updated fade">
<p><strong><?php _e('User updated.') ?></strong></p>
<?php if ( $wp_http_referer && !$is_profile_page ) : ?>
- <p><a href="users.php"><?php _e('« Back to Authors and Users'); ?></a></p>
+ <p><a href="users.php"><?php _e('← Back to Authors and Users'); ?></a></p>
<?php endif; ?>
</div>
<?php endif; ?>
-<?php if ( is_wp_error( $errors ) ) : ?>
+<?php if ( isset( $errors ) && is_wp_error( $errors ) ) : ?>
<div class="error">
<ul>
<?php
<?php endif; ?>
<div class="wrap" id="profile-page">
-<h2><?php $is_profile_page? _e('Your Profile and Personal Options') : _e('Edit User'); ?></h2>
+<?php screen_icon(); ?>
+<h2><?php echo wp_specialchars( $title ); ?></h2>
-<form name="profile" id="your-profile" action="" method="post">
+<form 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); ?>" />
<?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>
+ <td><label for="rich_editing"><input name="rich_editing" type="checkbox" id="rich_editing" value="false" <?php checked('false', $profileuser->rich_editing); ?> /> <?php _e('Disable the visual editor when writing'); ?></label></td>
</tr>
<?php endif; ?>
+<?php if (count($_wp_admin_css_colors) > 1 ) : ?>
<tr>
<th scope="row"><?php _e('Admin Color Scheme')?></th>
<td><fieldset><legend class="hidden"><?php _e('Admin Color Scheme')?></legend>
<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 ): ?>
+ <?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; ?>
+ <?php endforeach; ?>
</fieldset></td>
</tr>
+<tr>
+<th scope="row"><?php _e( 'Keyboard Shortcuts' ); ?></th>
+<td><label for="comment_shortcuts"><input type="checkbox" name="comment_shortcuts" id="comment_shortcuts" value="true" <?php if ( !empty($profileuser->comment_shortcuts) ) checked('true', $profileuser->comment_shortcuts); ?> /> <?php _e( 'Enable keyboard shortcuts for comment moderation. <a href="http://codex.wordpress.org/Keyboard_Shortcuts">More information</a>' ); ?></label></td>
+</tr>
+<?php
+endif;
+do_action('personal_options', $profileuser);
+?>
</table>
-
<?php
- if ( $is_profile_page ) {
- do_action('profile_personal_options');
- }
+ if ( $is_profile_page )
+ do_action('profile_personal_options', $profileuser);
?>
<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>
+ <td><input type="text" name="user_login" id="user_login" value="<?php echo $profileuser->user_login; ?>" disabled="disabled" class="regular-text" /> <?php _e('Your username cannot be changed.'); ?></td>
</tr>
<?php if ( !$is_profile_page ): ?>
<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>
+ <td><input type="text" name="first_name" id="first_name" value="<?php echo $profileuser->first_name ?>" class="regular-text" /></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>
+ <td><input type="text" name="last_name" id="last_name" value="<?php echo $profileuser->last_name ?>" class="regular-text" /></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>
+ <td><input type="text" name="nickname" id="nickname" value="<?php echo $profileuser->nickname ?>" class="regular-text" /></td>
</tr>
<tr>
<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>
+ <td><input type="text" name="email" id="email" value="<?php echo $profileuser->user_email ?>" class="regular-text" /> <?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>
+ <td><input type="text" name="url" id="url" value="<?php echo $profileuser->user_url ?>" class="regular-text" /></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>
+ <td><input type="text" name="aim" id="aim" value="<?php echo $profileuser->aim ?>" class="regular-text" /></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>
+ <td><input type="text" name="yim" id="yim" value="<?php echo $profileuser->yim ?>" class="regular-text" /></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>
+ <td><input type="text" name="jabber" id="jabber" value="<?php echo $profileuser->jabber ?>" class="regular-text" /></td>
</tr>
</table>
?>
<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><input type="password" name="pass1" id="pass1" size="16" value="" autocomplete="off" /> <?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="" autocomplete="off" /> <?php _e("Type your new password again."); ?><br />
+ <?php if ( $is_profile_page ): ?>
+ <div id="pass-strength-result"><?php _e('Strength indicator'); ?></div>
+ <p><?php _e('Hint: Your password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).'); ?></p>
+ <?php endif; ?>
</td>
</tr>
<?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 $is_profile_page? _e('Update Profile') : _e('Update User') ?>" name="submit" />
- </p>
+ <input type="submit" class="button-primary" value="<?php $is_profile_page? _e('Update Profile') : _e('Update User') ?>" name="submit" />
+</p>
</form>
</div>
<?php