]> scripts.mit.edu Git - autoinstalls/wordpress.git/blob - wp-admin/js/user-profile.dev.js
WordPress 3.4-scripts
[autoinstalls/wordpress.git] / wp-admin / js / user-profile.dev.js
1 (function($){
2
3         function check_pass_strength() {
4                 var pass1 = $('#pass1').val(), user = $('#user_login').val(), pass2 = $('#pass2').val(), strength;
5
6                 $('#pass-strength-result').removeClass('short bad good strong');
7                 if ( ! pass1 ) {
8                         $('#pass-strength-result').html( pwsL10n.empty );
9                         return;
10                 }
11
12                 strength = passwordStrength(pass1, user, pass2);
13
14                 switch ( strength ) {
15                         case 2:
16                                 $('#pass-strength-result').addClass('bad').html( pwsL10n['bad'] );
17                                 break;
18                         case 3:
19                                 $('#pass-strength-result').addClass('good').html( pwsL10n['good'] );
20                                 break;
21                         case 4:
22                                 $('#pass-strength-result').addClass('strong').html( pwsL10n['strong'] );
23                                 break;
24                         case 5:
25                                 $('#pass-strength-result').addClass('short').html( pwsL10n['mismatch'] );
26                                 break;
27                         default:
28                                 $('#pass-strength-result').addClass('short').html( pwsL10n['short'] );
29                 }
30         }
31
32         $(document).ready( function() {
33                 var select = $('#display_name');
34
35                 $('#pass1').val('').keyup( check_pass_strength );
36                 $('#pass2').val('').keyup( check_pass_strength );
37                 $('#pass-strength-result').show();
38                 $('.color-palette').click( function() {
39                         $(this).siblings('input[name="admin_color"]').prop('checked', true);
40                 });
41
42                 if ( select.length ) {
43                         $('#first_name, #last_name, #nickname').bind( 'blur.user_profile', function() {
44                                 var dub = [],
45                                         inputs = {
46                                                 display_nickname  : $('#nickname').val() || '',
47                                                 display_username  : $('#user_login').val() || '',
48                                                 display_firstname : $('#first_name').val() || '',
49                                                 display_lastname  : $('#last_name').val() || ''
50                                         };
51
52                                 if ( inputs.display_firstname && inputs.display_lastname ) {
53                                         inputs['display_firstlast'] = inputs.display_firstname + ' ' + inputs.display_lastname;
54                                         inputs['display_lastfirst'] = inputs.display_lastname + ' ' + inputs.display_firstname;
55                                 }
56
57                                 $.each( $('option', select), function( i, el ){
58                                         dub.push( el.value );
59                                 });
60
61                                 $.each(inputs, function( id, value ) {
62                                         if ( ! value )
63                                                 return;
64
65                                         var val = value.replace(/<\/?[a-z][^>]*>/gi, '');
66
67                                         if ( inputs[id].length && $.inArray( val, dub ) == -1 ) {
68                                                 dub.push(val);
69                                                 $('<option />', {
70                                                         'text': val
71                                                 }).appendTo( select );
72                                         }
73                                 });
74                         });
75                 }
76         });
77
78 })(jQuery);