]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-admin/js/user-profile.js
WordPress 3.5-scripts
[autoinstalls/wordpress.git] / wp-admin / js / user-profile.js
index e04139a131b1371fc5a61b2f66fa4aaad2466977..bd4885525015a85ce259dd1215de50a3527b4270 100644 (file)
@@ -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(){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]").attr("checked","checked")});a("#nickname").blur(function(){var e=a(this).val()||a("#user_login").val();var c=a("#display_name");var d=c.children("option:selected").attr("id");c.children("#display_nickname").remove();if(!c.children("option[value="+e+"]").length){c.append('<option id="display_nickname" value="'+e+'">'+e+"</option>")}a("#"+d).attr("selected","selected")});a("#first_name, #last_name").blur(function(){var c=a("#display_name");var f=a("#first_name").val(),d=a("#last_name").val();var e=c.children("option:selected").attr("id");a("#display_firstname, #display_lastname, #display_firstlast, #display_lastfirst").remove();if(f&&!c.children("option[value="+f+"]").length){c.append('<option id="display_firstname" value="'+f+'">'+f+"</option>")}if(d&&!c.children("option[value="+d+"]").length){c.append('<option id="display_lastname" value="'+d+'">'+d+"</option>")}if(f&&d){if(!c.children("option[value="+f+" "+d+"]").length){c.append('<option id="display_firstlast" value="'+f+" "+d+'">'+f+" "+d+"</option>")}if(!c.children("option[value="+d+" "+f+"]").length){c.append('<option id="display_lastfirst" value="'+d+" "+f+'">'+d+" "+f+"</option>")}}a("#"+e).attr("selected","selected")})})})(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);