web/wp-admin/js/user-profile.js
changeset 204 09a1c134465b
parent 194 32102edaa81b
--- a/web/wp-admin/js/user-profile.js	Wed Dec 19 12:35:13 2012 -0800
+++ b/web/wp-admin/js/user-profile.js	Wed Dec 19 17:46:52 2012 -0800
@@ -1,1 +1,78 @@
-(function(a){function b(){var e=a("#pass1").val(),d=a("#user_login").val(),c=a("#pass2").val(),f;a("#pass-strength-result").removeClass("short bad good strong");if(!e){a("#pass-strength-result").html(pwsL10n.empty);return}f=passwordStrength(e,d,c);switch(f){case 2:a("#pass-strength-result").addClass("bad").html(pwsL10n.bad);break;case 3:a("#pass-strength-result").addClass("good").html(pwsL10n.good);break;case 4:a("#pass-strength-result").addClass("strong").html(pwsL10n.strong);break;case 5:a("#pass-strength-result").addClass("short").html(pwsL10n.mismatch);break;default:a("#pass-strength-result").addClass("short").html(pwsL10n["short"])}}a(document).ready(function(){var c=a("#display_name");a("#pass1").val("").keyup(b);a("#pass2").val("").keyup(b);a("#pass-strength-result").show();a(".color-palette").click(function(){a(this).siblings('input[name="admin_color"]').prop("checked",true)});if(c.length){a("#first_name, #last_name, #nickname").bind("blur.user_profile",function(){var e=[],d={display_nickname:a("#nickname").val()||"",display_username:a("#user_login").val()||"",display_firstname:a("#first_name").val()||"",display_lastname:a("#last_name").val()||""};if(d.display_firstname&&d.display_lastname){d.display_firstlast=d.display_firstname+" "+d.display_lastname;d.display_lastfirst=d.display_lastname+" "+d.display_firstname}a.each(a("option",c),function(f,g){e.push(g.value)});a.each(d,function(h,f){if(!f){return}var g=f.replace(/<\/?[a-z][^>]*>/gi,"");if(d[h].length&&a.inArray(g,e)==-1){e.push(g);a("<option />",{text:g}).appendTo(c)}})})}})})(jQuery);
\ No newline at end of file
+(function($){
+
+	function check_pass_strength() {
+		var pass1 = $('#pass1').val(), user = $('#user_login').val(), pass2 = $('#pass2').val(), strength;
+
+		$('#pass-strength-result').removeClass('short bad good strong');
+		if ( ! pass1 ) {
+			$('#pass-strength-result').html( pwsL10n.empty );
+			return;
+		}
+
+		strength = passwordStrength(pass1, user, pass2);
+
+		switch ( strength ) {
+			case 2:
+				$('#pass-strength-result').addClass('bad').html( pwsL10n['bad'] );
+				break;
+			case 3:
+				$('#pass-strength-result').addClass('good').html( pwsL10n['good'] );
+				break;
+			case 4:
+				$('#pass-strength-result').addClass('strong').html( pwsL10n['strong'] );
+				break;
+			case 5:
+				$('#pass-strength-result').addClass('short').html( pwsL10n['mismatch'] );
+				break;
+			default:
+				$('#pass-strength-result').addClass('short').html( pwsL10n['short'] );
+		}
+	}
+
+	$(document).ready( function() {
+		var select = $('#display_name');
+
+		$('#pass1').val('').keyup( check_pass_strength );
+		$('#pass2').val('').keyup( check_pass_strength );
+		$('#pass-strength-result').show();
+		$('.color-palette').click( function() {
+			$(this).siblings('input[name="admin_color"]').prop('checked', true);
+		});
+
+		if ( select.length ) {
+			$('#first_name, #last_name, #nickname').bind( 'blur.user_profile', function() {
+				var dub = [],
+					inputs = {
+						display_nickname  : $('#nickname').val() || '',
+						display_username  : $('#user_login').val() || '',
+						display_firstname : $('#first_name').val() || '',
+						display_lastname  : $('#last_name').val() || ''
+					};
+
+				if ( inputs.display_firstname && inputs.display_lastname ) {
+					inputs['display_firstlast'] = inputs.display_firstname + ' ' + inputs.display_lastname;
+					inputs['display_lastfirst'] = inputs.display_lastname + ' ' + inputs.display_firstname;
+				}
+
+				$.each( $('option', select), function( i, el ){
+					dub.push( el.value );
+				});
+
+				$.each(inputs, function( id, value ) {
+					if ( ! value )
+						return;
+
+					var val = value.replace(/<\/?[a-z][^>]*>/gi, '');
+
+					if ( inputs[id].length && $.inArray( val, dub ) == -1 ) {
+						dub.push(val);
+						$('<option />', {
+							'text': val
+						}).appendTo( select );
+					}
+				});
+			});
+		}
+	});
+
+})(jQuery);