WordPress.org

Make WordPress Core

Ticket #10453: plugin-auth-fix.php.diff

File plugin-auth-fix.php.diff, 1.8 KB (added by miqrogroove, 8 years ago)

renamed file by wnorris - for visibility

  • wp-login.php

     
    9595                        }
    9696                }
    9797                if ( !empty($errors) )
    98                         echo '<div id="login_error">' . apply_filters('login_errors', $errors) . "</div>\n";
     98                        echo '<div id="login_error">' . apply_filters('login_errors', $errors, $wp_error) . "</div>\n";
    9999                if ( !empty($messages) )
    100                         echo '<p class="message">' . apply_filters('login_messages', $messages) . "</p>\n";
     100                        echo '<p class="message">' . apply_filters('login_messages', $messages, $wp_error) . "</p>\n";
    101101        }
    102102} // End of login_header()
    103103
  • wp-includes/user.php

     
    5151        $user = wp_authenticate($credentials['user_login'], $credentials['user_password']);
    5252
    5353        if ( is_wp_error($user) ) {
    54                 if ( $user->get_error_codes() == array('empty_username', 'empty_password') ) {
    55                         $user = new WP_Error('', '');
     54                $error_codes = $user->get_error_codes();
     55                // if both username and password are empty, don't bother showing those error messages
     56                if ( in_array('empty_username', $error_codes) && in_array('empty_password', $error_codes) ) {
     57                        unset($user->errors['empty_username']);
     58                        unset($user->error_data['empty_username']);
     59                        unset($user->errors['empty_password']);
     60                        unset($user->error_data['empty_password']);
    5661                }
    5762
    5863                return $user;
     
    7277        if ( is_a($user, 'WP_User') ) { return $user; }
    7378
    7479        if ( empty($username) || empty($password) ) {
    75                 $error = new WP_Error();
     80                if ( is_wp_error($user) ) {
     81                        $error = $user;
     82                } else {
     83                        $error = new WP_Error();
     84                }
    7685
    7786                if ( empty($username) )
    7887                        $error->add('empty_username', __('<strong>ERROR</strong>: The username field is empty.'));