web/wp-admin/js/user-profile.dev.js
changeset 204 09a1c134465b
parent 203 f507feede89a
child 205 a4f7897e21a9
equal deleted inserted replaced
203:f507feede89a 204:09a1c134465b
     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);