]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-admin/js/user-profile.js
WordPress 3.8
[autoinstalls/wordpress.git] / wp-admin / js / user-profile.js
index d11de9f6777ae01f463edd746d4e517913c883a7..95847310bf1cb00cff5f5898a24a5be6dd3d1804 100644 (file)
@@ -1,7 +1,8 @@
+/* global ajaxurl, pwsL10n */
 (function($){
 
        function check_pass_strength() {
-               var pass1 = $('#pass1').val(), user = $('#user_login').val(), pass2 = $('#pass2').val(), strength;
+               var pass1 = $('#pass1').val(), pass2 = $('#pass2').val(), strength;
 
                $('#pass-strength-result').removeClass('short bad good strong');
                if ( ! pass1 ) {
 
                switch ( strength ) {
                        case 2:
-                               $('#pass-strength-result').addClass('bad').html( pwsL10n['bad'] );
+                               $('#pass-strength-result').addClass('bad').html( pwsL10n.bad );
                                break;
                        case 3:
-                               $('#pass-strength-result').addClass('good').html( pwsL10n['good'] );
+                               $('#pass-strength-result').addClass('good').html( pwsL10n.good );
                                break;
                        case 4:
-                               $('#pass-strength-result').addClass('strong').html( pwsL10n['strong'] );
+                               $('#pass-strength-result').addClass('strong').html( pwsL10n.strong );
                                break;
                        case 5:
-                               $('#pass-strength-result').addClass('short').html( pwsL10n['mismatch'] );
+                               $('#pass-strength-result').addClass('short').html( pwsL10n.mismatch );
                                break;
                        default:
                                $('#pass-strength-result').addClass('short').html( pwsL10n['short'] );
@@ -30,7 +31,8 @@
        }
 
        $(document).ready( function() {
-               var select = $('#display_name');
+               var $colorpicker, $stylesheet, user_id, current_user_id,
+                       select = $( '#display_name' );
 
                $('#pass1').val('').keyup( check_pass_strength );
                $('#pass2').val('').keyup( check_pass_strength );
@@ -50,8 +52,8 @@
                                        };
 
                                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;
+                                       inputs.display_firstlast = inputs.display_firstname + ' ' + inputs.display_lastname;
+                                       inputs.display_lastfirst = inputs.display_lastname + ' ' + inputs.display_firstname;
                                }
 
                                $.each( $('option', select), function( i, el ){
                                });
 
                                $.each(inputs, function( id, value ) {
-                                       if ( ! value )
+                                       if ( ! value ) {
                                                return;
+                                       }
 
                                        var val = value.replace(/<\/?[a-z][^>]*>/gi, '');
 
-                                       if ( inputs[id].length && $.inArray( val, dub ) == -1 ) {
+                                       if ( inputs[id].length && $.inArray( val, dub ) === -1 ) {
                                                dub.push(val);
                                                $('<option />', {
                                                        'text': val
                                });
                        });
                }
+
+               $colorpicker = $( '#color-picker' );
+               $stylesheet = $( '#colors-css' );
+               user_id = $( 'input#user_id' ).val();
+               current_user_id = $( 'input[name="checkuser_id"]' ).val();
+
+               $colorpicker.on( 'click.colorpicker', '.color-option', function() {
+                       var colors,
+                               $this = $(this);
+
+                       if ( $this.hasClass( 'selected' ) ) {
+                               return;
+                       }
+
+                       $this.siblings( '.selected' ).removeClass( 'selected' );
+                       $this.addClass( 'selected' ).find( 'input[type="radio"]' ).prop( 'checked', true );
+
+                       // Set color scheme
+                       if ( user_id === current_user_id ) {
+                               // Load the colors stylesheet
+                               $stylesheet.attr( 'href', $this.children( '.css_url' ).val() );
+
+                               // repaint icons
+                               if ( typeof wp !== 'undefined' && wp.svgPainter ) {
+                                       try {
+                                               colors = $.parseJSON( $this.children( '.icon_colors' ).val() );
+                                       } catch ( error ) {}
+
+                                       if ( colors ) {
+                                               wp.svgPainter.setColors( colors );
+                                               wp.svgPainter.paint();
+                                       }
+                               }
+
+                               // update user option
+                               $.post( ajaxurl, {
+                                       action:       'save-user-color-scheme',
+                                       color_scheme: $this.children( 'input[name="admin_color"]' ).val(),
+                                       nonce:        $('#color-nonce').val()
+                               });
+                       }
+               });
        });
 
 })(jQuery);