WordPress.org

Make WordPress Core

Changeset 11065


Ignore:
Timestamp:
04/23/2009 05:55:26 AM (9 years ago)
Author:
markjaquith
Message:

Dynamically update display name as its components are updated in the profile. props to mattwalters for the original patch. fixes #8508

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/user-edit.php

    r10995 r11065  
    5050    }
    5151
    52     function update_nickname () {
    53 
    54         var nickname = $('#nickname').val();
    55         var display_nickname = $('#display_nickname').val();
    56 
    57         if ( nickname == '' ) {
    58             $('#display_nickname').remove();
    59         }
    60         $('#display_nickname').val(nickname).html(nickname);
    61 
    62     }
    63 
    6452    $(document).ready( function() {
    65         $('#nickname').blur(update_nickname);
    6653        $('#pass1').val('').keyup( check_pass_strength );
    6754        $('.color-palette').click(function(){$(this).siblings('input[name=admin_color]').attr('checked', 'checked')});
     55        $('#nickname').change(function(){
     56            $('#display_name').fadeOut('normal',function(){
     57                $(this).fadeIn();
     58                $('#display_nickname').html($('#nickname').val()).val($('#nickname').val());
     59            });
     60        });
     61        $('#first_name').change(function(){
     62            $('#display_name').fadeOut('normal',function(){
     63                $('#display_firstname').html($('#first_name').val()).val($('#first_name').val());
     64                $('#display_firstlast').html($('#first_name').val()+' '+$('#last_name').val()).val($('#first_name').val()+' '+$('#last_name').val());
     65                $('#display_lastfirst').html($('#last_name').val()+' '+$('#first_name').val()).val($('#last_name').val()+' '+$('#first_name').val());
     66                $(this).fadeIn();
     67            });
     68        });
     69        $('#last_name').change(function(){
     70            $('#display_name').fadeOut('normal',function(){
     71                $('#display_firstlast').html($('#first_name').val()+' '+$('#last_name').val()).val($('#first_name').val()+' '+$('#last_name').val());
     72                $('#display_lastfirst').html($('#last_name').val()+' '+$('#first_name').val()).val($('#last_name').val()+' '+$('#first_name').val());
     73                $(this).fadeIn();
     74            });
     75        });
    6876    });
    6977})(jQuery);
     
    286294        <?php
    287295            $public_display = array();
    288             $public_display['display_displayname'] = $profileuser->display_name;
    289             $public_display['display_nickname'] = $profileuser->nickname;
    290             $public_display['display_username'] = $profileuser->user_login;
     296            $public_display['display_nickname']  = $profileuser->nickname;
     297            $public_display['display_username']  = $profileuser->user_login;
    291298            $public_display['display_firstname'] = $profileuser->first_name;
    292             $public_display['display_firstlast'] = $profileuser->first_name.' '.$profileuser->last_name;
    293             $public_display['display_lastfirst'] = $profileuser->last_name.' '.$profileuser->first_name;
    294             $public_display = array_unique(array_filter(array_map('trim', $public_display)));
    295             foreach($public_display as $id => $item) {
     299            $public_display['display_firstlast'] = $profileuser->first_name . ' ' . $profileuser->last_name;
     300            $public_display['display_lastfirst'] = $profileuser->last_name . ' ' . $profileuser->first_name;
     301            if ( !in_array( $profileuser->display_name, $public_display ) )// Only add this if it isn't duplicated elsewhere
     302                $public_display = array( 'display_displayname' => $profileuser->display_name ) + $public_display;
     303            $public_display = array_map( 'trim', $public_display );
     304            foreach ( $public_display as $id => $item ) {
    296305        ?>
    297             <option id="<?php echo $id; ?>" value="<?php echo $item; ?>"><?php echo $item; ?></option>
     306            <option id="<?php echo $id; ?>" value="<?php echo $item; ?>"<?php selected( $profileuser->display_name, $item ); ?>><?php echo $item; ?></option>
    298307        <?php
    299308            }
Note: See TracChangeset for help on using the changeset viewer.