-site_name;
+ } else {
+ $login_header_url = __( 'https://wordpress.org/' );
+ $login_header_title = __( 'Powered by WordPress' );
+ }
- // Incase a plugin uses $error rather than the $errors object
+ /**
+ * Filter link URL of the header logo above login form.
+ *
+ * @since 2.1.0
+ *
+ * @param string $login_header_url Login header logo URL.
+ */
+ $login_header_url = apply_filters( 'login_headerurl', $login_header_url );
+ /**
+ * Filter the title attribute of the header logo above login form.
+ *
+ * @since 2.1.0
+ *
+ * @param string $login_header_title Login header logo title attribute.
+ */
+ $login_header_title = apply_filters( 'login_headertitle', $login_header_title );
+
+ $classes = array( 'login-action-' . $action, 'wp-core-ui' );
+ if ( wp_is_mobile() )
+ $classes[] = 'mobile';
+ if ( is_rtl() )
+ $classes[] = 'rtl';
+ if ( $interim_login ) {
+ $classes[] = 'interim-login';
+ ?>
+
+
+
+
+
+
+ add('error', $error);
unset($error);
@@ -101,23 +175,74 @@ function login_header($title = 'Log In', $message = '', $wp_error = '') {
$errors = '';
$messages = '';
foreach ( $wp_error->get_error_codes() as $code ) {
- $severity = $wp_error->get_error_data($code);
- foreach ( $wp_error->get_error_messages($code) as $error ) {
+ $severity = $wp_error->get_error_data( $code );
+ foreach ( $wp_error->get_error_messages( $code ) as $error_message ) {
if ( 'message' == $severity )
- $messages .= ' ' . $error . "
\n";
+ $messages .= ' ' . $error_message . "
\n";
else
- $errors .= ' ' . $error . "
\n";
+ $errors .= ' ' . $error_message . "
\n";
}
}
- if ( !empty($errors) )
- echo '
' . apply_filters('login_errors', $errors) . "
\n";
- if ( !empty($messages) )
- echo '
' . apply_filters('login_messages', $messages) . "
\n";
+ if ( ! empty( $errors ) ) {
+ /**
+ * Filter the error messages displayed above the login form.
+ *
+ * @since 2.1.0
+ *
+ * @param string $errors Login error message.
+ */
+ echo '
' . apply_filters( 'login_errors', $errors ) . "
\n";
+ }
+ if ( ! empty( $messages ) ) {
+ /**
+ * Filter instructional messages displayed above the login form.
+ *
+ * @since 2.5.0
+ *
+ * @param string $messages Login messages.
+ */
+ echo '
' . apply_filters( 'login_messages', $messages ) . "
\n";
+ }
}
} // End of login_header()
+
+/**
+ * Outputs the footer for the login page.
+ *
+ * @param string $input_id Which input to auto-focus
+ */
+function login_footer($input_id = '') {
+ global $interim_login;
+
+ // Don't allow interim logins to navigate away from the page.
+ if ( ! $interim_login ): ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
get_error_code() === 'expired_key' )
+ wp_redirect( site_url( 'wp-login.php?action=lostpassword&error=expiredkey' ) );
+ else
+ wp_redirect( site_url( 'wp-login.php?action=lostpassword&error=invalidkey' ) );
+ exit;
+ }
+
+ $errors = new WP_Error();
+
+ if ( isset($_POST['pass1']) && $_POST['pass1'] != $_POST['pass2'] )
+ $errors->add( 'password_reset_mismatch', __( 'The passwords do not match.' ) );
+
+ /**
+ * Fires before the password reset procedure is validated.
+ *
+ * @since 3.5.0
+ *
+ * @param object $errors WP Error object.
+ * @param WP_User|WP_Error $user WP_User object if the login and reset key match. WP_Error object otherwise.
+ */
+ do_action( 'validate_password_reset', $errors, $user );
+
+ if ( ( ! $errors->get_error_code() ) && isset( $_POST['pass1'] ) && !empty( $_POST['pass1'] ) ) {
+ reset_password($user, $_POST['pass1']);
+ setcookie( $rp_cookie, ' ', time() - YEAR_IN_SECONDS, $rp_path, COOKIE_DOMAIN, is_ssl(), true );
+ login_header( __( 'Password Reset' ), '
' . __( 'Your password has been reset.' ) . ' ' . __( 'Log in' ) . '
' );
+ login_footer();
+ exit;
+ }
+
+ wp_enqueue_script('utils');
+ wp_enqueue_script('user-profile');
+
+ login_header(__('Reset Password'), '
' . __('Enter your new password below.') . '
', $errors );
+
+?>
+
+
+
+
+%s', esc_url( wp_registration_url() ), __( 'Register' ) );
+
+ /** This filter is documented in wp-includes/general-template.php */
+ echo ' | ' . apply_filters( 'register', $registration_url );
+endif;
+?>
+
+
+' . __('Register For This Site') . '', $errors);
?>
-
- |
-
+ |
+
-