web/wp-admin/js/user-profile.dev.js
changeset 194 32102edaa81b
parent 136 bde1974c263b
equal deleted inserted replaced
193:2f6f6f7551ca 194:32102edaa81b
     1 (function($){
     1 (function($){
     2 
     2 
     3 	function check_pass_strength() {
     3 	function check_pass_strength() {
     4 		var pass = $('#pass1').val(), user = $('#user_login').val(), strength;
     4 		var pass1 = $('#pass1').val(), user = $('#user_login').val(), pass2 = $('#pass2').val(), strength;
     5 
     5 
     6 		$('#pass-strength-result').removeClass('short bad good strong');
     6 		$('#pass-strength-result').removeClass('short bad good strong');
     7 		if ( ! pass ) {
     7 		if ( ! pass1 ) {
     8 			$('#pass-strength-result').html( pwsL10n.empty );
     8 			$('#pass-strength-result').html( pwsL10n.empty );
     9 			return;
     9 			return;
    10 		}
    10 		}
    11 
    11 
    12 		strength = passwordStrength(pass, user);
    12 		strength = passwordStrength(pass1, user, pass2);
    13 
    13 
    14 		switch ( strength ) {
    14 		switch ( strength ) {
    15 			case 2:
    15 			case 2:
    16 				$('#pass-strength-result').addClass('bad').html( pwsL10n['bad'] );
    16 				$('#pass-strength-result').addClass('bad').html( pwsL10n['bad'] );
    17 				break;
    17 				break;
    19 				$('#pass-strength-result').addClass('good').html( pwsL10n['good'] );
    19 				$('#pass-strength-result').addClass('good').html( pwsL10n['good'] );
    20 				break;
    20 				break;
    21 			case 4:
    21 			case 4:
    22 				$('#pass-strength-result').addClass('strong').html( pwsL10n['strong'] );
    22 				$('#pass-strength-result').addClass('strong').html( pwsL10n['strong'] );
    23 				break;
    23 				break;
       
    24 			case 5:
       
    25 				$('#pass-strength-result').addClass('short').html( pwsL10n['mismatch'] );
       
    26 				break;
    24 			default:
    27 			default:
    25 				$('#pass-strength-result').addClass('short').html( pwsL10n['short'] );
    28 				$('#pass-strength-result').addClass('short').html( pwsL10n['short'] );
    26 		}
    29 		}
    27 	}
    30 	}
    28 
    31 
    29 	$(document).ready( function() {
    32 	$(document).ready( function() {
       
    33 		var select = $('#display_name');
       
    34 
    30 		$('#pass1').val('').keyup( check_pass_strength );
    35 		$('#pass1').val('').keyup( check_pass_strength );
    31 		$('.color-palette').click(function(){$(this).siblings('input[name=admin_color]').attr('checked', 'checked')});
    36 		$('#pass2').val('').keyup( check_pass_strength );
    32 		$('#nickname').blur(function(){
    37 		$('#pass-strength-result').show();
    33 			var str = $(this).val() || $('#user_login').val();
    38 		$('.color-palette').click( function() {
    34 			$('#display_name #display_nickname').val(str).html(str);
    39 			$(this).siblings('input[name="admin_color"]').prop('checked', true);
    35 		});
    40 		});
    36 		$('#first_name, #last_name').blur(function(){
    41 
    37 			var first = $('#first_name').val(), last = $('#last_name').val();
    42 		if ( select.length ) {
    38 			$('#display_firstname, #display_lastname, #display_firstlast, #display_lastfirst').remove();
    43 			$('#first_name, #last_name, #nickname').bind( 'blur.user_profile', function() {
    39 			if ( first && last ) {
    44 				var dub = [],
    40 				$('#display_name').append('<option id="display_firstname" value="' + first + '">' + first + '</option>' +
    45 					inputs = {
    41 					'<option id="display_lastname" value="' + last + '">' + last + '</option>' +
    46 						display_nickname  : $('#nickname').val() || '',
    42 					'<option id="display_firstlast" value="' + first + ' ' + last + '">' + first + ' ' + last + '</option>' +
    47 						display_username  : $('#user_login').val() || '',
    43 					'<option id="display_lastfirst" value="' + last + ' ' + first + '">' + last + ' ' + first + '</option>');
    48 						display_firstname : $('#first_name').val() || '',
    44 			} else if ( first && !last ) {
    49 						display_lastname  : $('#last_name').val() || ''
    45 				$('#display_name').append('<option id="display_firstname" value="' + first + '">' + first + '</option>');
    50 					};
    46 			} else if ( !first && last ) {
    51 
    47 				$('#display_name').append('<option id="display_lastname" value="' + last + '">' + last + '</option>');
    52 				if ( inputs.display_firstname && inputs.display_lastname ) {
    48 			}
    53 					inputs['display_firstlast'] = inputs.display_firstname + ' ' + inputs.display_lastname;
    49 		});
    54 					inputs['display_lastfirst'] = inputs.display_lastname + ' ' + inputs.display_firstname;
    50     });
    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 	});
    51 
    77 
    52 })(jQuery);
    78 })(jQuery);