X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/a5227bf01edbe6660486c9f5c0f0ed7b7fea3130..refs/tags/wordpress-3.4:/wp-login.php diff --git a/wp-login.php b/wp-login.php index c97edd93..0b1df607 100644 --- a/wp-login.php +++ b/wp-login.php @@ -39,11 +39,10 @@ if ( force_ssl_admin() && !is_ssl() ) { * @param WP_Error $wp_error Optional. WordPress Error Object */ function login_header($title = 'Log In', $message = '', $wp_error = '') { - global $error, $is_iphone, $interim_login, $current_site; + global $error, $interim_login, $current_site, $customize_login; // Don't index any of these forms - add_filter( 'pre_option_blog_public', '__return_zero' ); - add_action( 'login_head', 'noindex' ); + add_action( 'login_head', 'wp_no_robots' ); if ( empty($wp_error) ) $wp_error = new WP_Error(); @@ -55,43 +54,55 @@ function login_header($title = 'Log In', $message = '', $wp_error = '') { if ( $shake_error_codes && $wp_error->get_error_code() && in_array( $wp_error->get_error_code(), $shake_error_codes ) ) add_action( 'login_head', 'wp_shake_js', 12 ); - ?> - -> - - <?php bloginfo('name'); ?> › <?php echo $title; ?> + ?> + > + - + - - - - - + site_name; + } else { + $login_header_url = __( 'http://wordpress.org/' ); + $login_header_title = __( 'Powered by WordPress' ); } - do_action('login_head'); ?> - - - -

- -

- + + +
+

+ add('error', $error); unset($error); @@ -115,9 +126,38 @@ function login_header($title = 'Log In', $message = '', $wp_error = '') { 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 ): ?> +

+ + +
+ + + + + + +
+ + + - - ' . __( '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 ); + +?> +
+ + +

+ +

+

+ +

+ +
+

+ +
+

+
+ + +' . __('Register For This Site') . '

', $errors); ?> -
+

-

- +

@@ -481,32 +555,24 @@ case 'register' :
-
- -

- - - - ID) ) { $secure_cookie = true; force_ssl_admin(true); @@ -526,7 +592,7 @@ default: $reauth = empty($_REQUEST['reauth']) ? false : true; // If the user was redirected to a secure login form from a non-secure admin page, and secure login is required but secure admin is not, then don't use a secure - // cookie and redirect back to the referring non-secure admin page. This allows logins to always be POSTed over SSL while allowing the user to choose visiting + // cookie and redirect back to the referring non-secure admin page. This allows logins to always be POSTed over SSL while allowing the user to choose visiting // the admin via http or https. if ( !$secure_cookie && is_ssl() && force_ssl_login() && !force_ssl_admin() && ( 0 !== strpos($redirect_to, 'https') ) && ( 0 === strpos($redirect_to, 'http') ) ) $secure_cookie = false; @@ -538,16 +604,34 @@ default: if ( !is_wp_error($user) && !$reauth ) { if ( $interim_login ) { $message = '

' . __('You have logged in successfully.') . '

'; - login_header( '', $message ); ?> - -

-

-
+ login_header( '', $message ); + + if ( ! $customize_login ) : ?> + +

+

+ + + + has_cap('edit_posts') && ( empty( $redirect_to ) || $redirect_to == 'wp-admin/' || $redirect_to == admin_url() ) ) - $redirect_to = admin_url('profile.php'); + + if ( ( empty( $redirect_to ) || $redirect_to == 'wp-admin/' || $redirect_to == admin_url() ) ) { + // If the user doesn't belong to a blog, send them to user admin. If the user can't edit posts, send them to their profile. + if ( is_multisite() && !get_active_blog_for_user($user->ID) && !is_super_admin( $user->ID ) ) + $redirect_to = user_admin_url(); + elseif ( is_multisite() && !$user->has_cap('read') ) + $redirect_to = get_dashboard_url( $user->ID ); + elseif ( !$user->has_cap('edit_posts') ) + $redirect_to = admin_url('profile.php'); + } wp_safe_redirect($redirect_to); exit(); } @@ -562,7 +646,7 @@ default: $errors->add('test_cookie', __("ERROR: Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress.")); // Some parts of this script use the main login form to display a message - if ( isset($_GET['loggedout']) && TRUE == $_GET['loggedout'] ) + if ( isset($_GET['loggedout']) && true == $_GET['loggedout'] ) $errors->add('loggedout', __('You are now logged out.'), 'message'); elseif ( isset($_GET['registration']) && 'disabled' == $_GET['registration'] ) $errors->add('registerdisabled', __('User registration is currently not allowed.')); @@ -574,6 +658,8 @@ default: $errors->add('registered', __('Registration complete. Please check your e-mail.'), 'message'); elseif ( $interim_login ) $errors->add('expired', __('Your session has expired. Please log-in again.'), 'message'); + elseif ( strpos( $redirect_to, 'about.php?updated' ) ) + $errors->add('updated', __( 'You have successfully updated WordPress! Please log back in to experience the awesomeness.' ), 'message' ); // Clear any stale cookies. if ( $reauth ) @@ -586,17 +672,17 @@ default: $rememberme = ! empty( $_POST['rememberme'] ); ?> -
+

-

-

-

+

@@ -604,6 +690,9 @@ default: + + +

@@ -612,16 +701,12 @@ default: - -

- - - - -