Make WordPress Core

Ticket #10396: js_pass_check_a.diff

File js_pass_check_a.diff, 4.1 KB (added by dancole, 15 years ago)

Dev. JavaScript Password Mismatch Checker

  • wp-includes/script-loader.php

     
    260260                        /* translators: password strength */
    261261                        'good' => _x('Medium', 'password strength'),
    262262                        'strong' => __('Strong'),
     263                        'mismatch' => __('Mismatch'),
    263264                        'l10n_print_after' => 'try{convertEntities(pwsL10n);}catch(e){};'
    264265                ) );
    265266
  • wp-admin/js/password-strength-meter.dev.js

     
    11// Password strength meter
    2 function passwordStrength(password,username) {
    3     var shortPass = 1, badPass = 2, goodPass = 3, strongPass = 4, symbolSize = 0, natLog, score;
     2function passwordStrength(password1,username,password2) {
     3        var shortPass = 1, badPass = 2, goodPass = 3, strongPass = 4, mismatch = 5, symbolSize = 0, natLog, score;
    44
     5        // password 1 != password 2
     6        if ( (password1 != password2) && password2.length > 0) { return mismatch };
    57        //password < 4
    6     if (password.length < 4 ) { return shortPass };
     8        if (password1.length < 4 ) { return shortPass };
    79
    8     //password == username
    9     if (password.toLowerCase()==username.toLowerCase()) return badPass;
     10        //password1 == username
     11        if (password1.toLowerCase()==username.toLowerCase()) return badPass;
    1012
    11         if (password.match(/[0-9]/)) symbolSize +=10;
    12         if (password.match(/[a-z]/)) symbolSize +=26;
    13         if (password.match(/[A-Z]/)) symbolSize +=26;
    14         if (password.match(/[^a-zA-Z0-9]/)) symbolSize +=31;
     13        if (password1.match(/[0-9]/)) symbolSize +=10;
     14        if (password1.match(/[a-z]/)) symbolSize +=26;
     15        if (password1.match(/[A-Z]/)) symbolSize +=26;
     16        if (password1.match(/[^a-zA-Z0-9]/)) symbolSize +=31;
    1517
    16         natLog = Math.log( Math.pow(symbolSize,password.length) );
     18        natLog = Math.log( Math.pow(symbolSize,password1.length) );
    1719        score = natLog / Math.LN2;
    1820        if (score < 40 )  return badPass
    1921        if (score < 56 )  return goodPass
  • wp-admin/js/user-profile.dev.js

     
    11(function($){
    22
    33        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;
    55
    66                $('#pass-strength-result').removeClass('short bad good strong');
    7                 if ( ! pass ) {
     7                if ( ! pass1 ) {
    88                        $('#pass-strength-result').html( pwsL10n.empty );
    99                        return;
    1010                }
    1111
    12                 strength = passwordStrength(pass, user);
     12                strength = passwordStrength(pass1, user, pass2);
    1313
    1414                switch ( strength ) {
    1515                        case 2:
     
    2121                        case 4:
    2222                                $('#pass-strength-result').addClass('strong').html( pwsL10n['strong'] );
    2323                                break;
     24                        case 5:
     25                                $('#pass-strength-result').addClass('short').html( pwsL10n['mismatch'] );
     26                                break;
    2427                        default:
    2528                                $('#pass-strength-result').addClass('short').html( pwsL10n['short'] );
    2629                }
     
    2831
    2932        $(document).ready( function() {
    3033                $('#pass1').val('').keyup( check_pass_strength );
     34                $('#pass2').val('').keyup( check_pass_strength );
    3135                $('.color-palette').click(function(){$(this).siblings('input[name=admin_color]').attr('checked', 'checked')});
    3236                $('#nickname').blur(function(){
    3337                        var str = $(this).val() || $('#user_login').val();
  • wp-admin/install.php

     
    239239 short: "<?php echo esc_js( __( 'Very weak' ) ); ?>",
    240240 bad: "<?php echo esc_js( __( 'Weak' ) ); ?>",
    241241 good: "<?php echo esc_js( __( 'Medium' ) ); ?>",
    242  strong: "<?php echo esc_js( __( 'Strong' ) ); ?>"
     242 strong: "<?php echo esc_js( __( 'Strong' ) ); ?>",
     243 mismatch: "<?php echo esc_js( __( 'Mismatch' ) ); ?>"
    243244};
    244245try{convertEntities(pwsL10n);}catch(e){};
    245246/* ]]> */