Ticket #25393: wp-login-2.diff
| File wp-login-2.diff, 14.9 KB (added by , 13 years ago) |
|---|
-
wp-login.php
49 49 50 50 // Shake it! 51 51 $shake_error_codes = array( 'empty_password', 'empty_email', 'invalid_email', 'invalidcombo', 'empty_username', 'invalid_username', 'incorrect_password' ); 52 /** 53 * Filter the error codes array that are to shake the login form. 54 * 55 * @since 3.0.0 56 * 57 * @param array $shake_error_codes Error codes that will shake the login form. 58 */ 52 59 $shake_error_codes = apply_filters( 'shake_error_codes', $shake_error_codes ); 53 60 54 61 if ( $shake_error_codes && $wp_error->get_error_code() && in_array( $wp_error->get_error_code(), $shake_error_codes ) ) … … 77 84 <?php 78 85 } 79 86 87 /** 88 * Fires at the timig of enqueing scripts and styles on the login page. 89 * 90 * The proper hook to use when enqueuing scripts and styles that are meant to appear on the login page. 91 * 92 * @since 3.1.0 93 */ 80 94 do_action( 'login_enqueue_scripts' ); 95 /** 96 * Fires before </head> on the login page. 97 * 98 * @since 2.1.0 99 */ 81 100 do_action( 'login_head' ); 82 101 83 102 if ( is_multisite() ) { … … 88 107 $login_header_title = __( 'Powered by WordPress' ); 89 108 } 90 109 91 $login_header_url = apply_filters( 'login_headerurl', $login_header_url ); 110 /** 111 * Filter the link url of the header logo above login form. 112 * 113 * @since 2.1.0 114 * 115 * @param string $login_header_url Default url. 116 */ 117 $login_header_url = apply_filters( 'login_headerurl', $login_header_url ); 118 /** 119 * Filter the title of the header logo above login form. 120 * 121 * @since 2.1.0 122 * 123 * @param string $login_header_title Default title. 124 */ 92 125 $login_header_title = apply_filters( 'login_headertitle', $login_header_title ); 93 126 94 127 $classes = array( 'login-action-' . $action, 'wp-core-ui' ); … … 106 139 $classes[] = 'interim-login-success'; 107 140 } 108 141 142 /** 143 * Filter the classes of login page <body>. 144 * 145 * @since 3.5.0 146 * 147 * @param array $classes Classes to be added to the <body>. 148 * @param string $action The action user took before coming to the login page. 149 */ 109 150 $classes = apply_filters( 'login_body_class', $classes, $action ); 110 151 111 152 ?> … … 117 158 118 159 unset( $login_header_url, $login_header_title ); 119 160 120 $message = apply_filters('login_message', $message); 161 /** 162 * Filter the message to display in header above the login form. 163 * 164 * @since 2.1.0 165 * 166 * @param string $message Default message text. 167 */ 168 $message = apply_filters( 'login_message', $message ); 121 169 if ( !empty( $message ) ) 122 170 echo $message . "\n"; 123 171 … … 140 188 } 141 189 } 142 190 if ( !empty($errors) ) 143 echo '<div id="login_error">' . apply_filters('login_errors', $errors) . "</div>\n"; 191 /** 192 * Filter the error message above the login form. 193 * 194 * @since 2.1.0 195 * 196 * @param string $errors Error message. 197 */ 198 echo '<div id="login_error">' . apply_filters( 'login_errors', $errors ) . "</div>\n"; 144 199 if ( !empty($messages) ) 145 echo '<p class="message">' . apply_filters('login_messages', $messages) . "</p>\n"; 200 /** 201 * Filter the message above the login form. 202 * 203 * @since 2.5.0 204 * 205 * @param string $messages Login message. 206 */ 207 echo '<p class="message">' . apply_filters( 'login_messages', $messages ) . "</p>\n"; 146 208 } 147 209 } // End of login_header() 148 210 … … 168 230 </script> 169 231 <?php endif; ?> 170 232 171 <?php do_action('login_footer'); ?> 233 <?php 234 /** 235 * Fires at the end of the html on the login page. 236 * 237 * @since 3.1.0 238 */ 239 do_action( 'login_footer' ); ?> 172 240 <div class="clear"></div> 173 241 </body> 174 242 </html> … … 212 280 $user_data = get_user_by('login', $login); 213 281 } 214 282 215 do_action('lostpassword_post'); 283 /** 284 * Fires before returning WP Error in password retrieving process. 285 * 286 * @since 2.1.0 287 */ 288 do_action( 'lostpassword_post' ); 216 289 217 290 if ( $errors->get_error_code() ) 218 291 return $errors; … … 226 299 $user_login = $user_data->user_login; 227 300 $user_email = $user_data->user_email; 228 301 229 do_action('retreive_password', $user_login); // Misspelled and deprecated 230 do_action('retrieve_password', $user_login); 302 // Misspelled and deprecated 303 do_action( 'retreive_password', $user_login ); 304 /** 305 * Fires within the password retrieving process. 306 * 307 * @since 1.5.2 308 * 309 * @param string $user_login User name to login. 310 */ 311 do_action( 'retrieve_password', $user_login ); 231 312 232 $allow = apply_filters('allow_password_reset', true, $user_data->ID); 313 /** 314 * Filter password reset restriction boolean. 315 * 316 * @since 2.7.0 317 * 318 * @param boolean True as default. 319 * @param int $user_data->ID The ID of the user who is retrieving new password. 320 */ 321 $allow = apply_filters( 'allow_password_reset', true, $user_data->ID ); 233 322 234 323 if ( ! $allow ) 235 324 return new WP_Error('no_password_reset', __('Password reset is not allowed for this user')); … … 240 329 if ( empty($key) ) { 241 330 // Generate something random for a key... 242 331 $key = wp_generate_password(20, false); 243 do_action('retrieve_password_key', $user_login, $key); 332 /** 333 * Fires before inserting the new md5 key into database. 334 * 335 * @since 2.5.0 336 * 337 * @param string $user_login User name to login. 338 * @param string $key Activation key. 339 */ 340 do_action( 'retrieve_password_key', $user_login, $key ); 244 341 // Now insert the new md5 key into the db 245 342 $wpdb->update($wpdb->users, array('user_activation_key' => $key), array('user_login' => $user_login)); 246 343 } … … 260 357 261 358 $title = sprintf( __('[%s] Password Reset'), $blogname ); 262 359 263 $title = apply_filters('retrieve_password_title', $title); 264 $message = apply_filters('retrieve_password_message', $message, $key); 360 /** 361 * Filter the title of the password reset email. 362 * 363 * @since 2.8.0 364 * 365 * @param string $title Default email title. 366 */ 367 $title = apply_filters( 'retrieve_password_title', $title ); 368 /** 369 * Filter the body message of the password reset mail. 370 * 371 * @since 2.8.0 372 * 373 * @param string $message Default mail message. 374 * @param string $key The activation key. 375 */ 376 $message = apply_filters( 'retrieve_password_message', $message, $key ); 265 377 266 378 if ( $message && !wp_mail($user_email, $title, $message) ) 267 379 wp_die( __('The e-mail could not be sent.') . "<br />\n" . __('Possible reason: your host may have disabled the mail() function.') ); … … 301 413 if ( SITECOOKIEPATH != COOKIEPATH ) 302 414 setcookie(TEST_COOKIE, 'WP Cookie check', 0, SITECOOKIEPATH, COOKIE_DOMAIN); 303 415 304 // allow plugins to override the default actions, and to add extra actions if they want 416 /** 417 * Fires before running the main action of wp-login.php. 418 * 419 * Allow plugins to override the default actions, and to add extra actions if they want. 420 * 421 * @since 3.2.0 422 * 423 */ 305 424 do_action( 'login_init' ); 425 /** 426 * Fires before running the main action of wp-login.php depending on the $action. 427 * 428 * @since Unknown 429 * 430 */ 306 431 do_action( 'login_form_' . $action ); 307 432 308 433 $http_post = ('POST' == $_SERVER['REQUEST_METHOD']); … … 354 479 } 355 480 356 481 if ( isset($_GET['error']) && 'invalidkey' == $_GET['error'] ) $errors->add('invalidkey', __('Sorry, that key does not appear to be valid.')); 482 /** 483 * Filtering the redirect url after submitting the lostpassword/retrievepassword form. 484 * 485 * @since 3.0.0 486 * 487 * @param string The redirect destination url. 488 */ 357 489 $redirect_to = apply_filters( 'lostpassword_redirect', !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '' ); 358 490 359 do_action('lost_password'); 491 /** 492 * Fires before the lost password and retrieving password form. 493 * 494 * @since 1.5.2 495 */ 496 do_action( 'lost_password' ); 360 497 login_header(__('Lost Password'), '<p class="message">' . __('Please enter your username or email address. You will receive a link to create a new password via email.') . '</p>', $errors); 361 498 362 499 $user_login = isset($_POST['user_login']) ? wp_unslash($_POST['user_login']) : ''; … … 368 505 <label for="user_login" ><?php _e('Username or E-mail:') ?><br /> 369 506 <input type="text" name="user_login" id="user_login" class="input" value="<?php echo esc_attr($user_login); ?>" size="20" /></label> 370 507 </p> 371 <?php do_action('lostpassword_form'); ?> 508 <?php 509 /** 510 * Fires in the lostpassword form to add extra hidden input. 511 * 512 * @since 2.1.0 513 */ 514 do_action( 'lostpassword_form' ); ?> 372 515 <input type="hidden" name="redirect_to" value="<?php echo esc_attr( $redirect_to ); ?>" /> 373 516 <p class="submit"><input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php esc_attr_e('Get New Password'); ?>" /></p> 374 517 </form> … … 375 518 376 519 <p id="nav"> 377 520 <a href="<?php echo esc_url( wp_login_url() ); ?>"><?php _e('Log in') ?></a> 378 <?php if ( get_option( 'users_can_register' ) ) : ?> 379 | <?php echo apply_filters( 'register', sprintf( '<a href="%s">%s</a>', esc_url( wp_registration_url() ), __( 'Register' ) ) ); ?> 380 <?php endif; ?> 521 <?php if ( get_option( 'users_can_register' ) ) : 522 /** 523 * Filter the Register link text below the login form. 524 * 525 * @since 1.5.2 526 * 527 * @param string Register link text. 528 */ 529 echo ' | ' . apply_filters( 'register', sprintf( '<a href="%s">%s</a>', esc_url( wp_registration_url() ), __( 'Register' ) ) ); 530 endif; ?> 381 531 </p> 382 532 383 533 <?php … … 398 548 if ( isset($_POST['pass1']) && $_POST['pass1'] != $_POST['pass2'] ) 399 549 $errors->add( 'password_reset_mismatch', __( 'The passwords do not match.' ) ); 400 550 551 /** 552 * Fires before the validation in the password reset precedure. 553 * 554 * @since 3.5.0 555 * 556 * @param object $errors WP Error object. 557 * @param string $user User data. 558 */ 401 559 do_action( 'validate_password_reset', $errors, $user ); 402 560 403 561 if ( ( ! $errors->get_error_code() ) && isset( $_POST['pass1'] ) && !empty( $_POST['pass1'] ) ) { … … 434 592 435 593 <p id="nav"> 436 594 <a href="<?php echo esc_url( wp_login_url() ); ?>"><?php _e( 'Log in' ); ?></a> 437 <?php if ( get_option( 'users_can_register' ) ) : ?> 438 | <?php echo apply_filters( 'register', sprintf( '<a href="%s">%s</a>', esc_url( wp_registration_url() ), __( 'Register' ) ) ); ?> 439 <?php endif; ?> 595 <?php if ( get_option( 'users_can_register' ) ) : 596 //duplicate_hook 597 echo ' | ' . apply_filters( 'register', sprintf( '<a href="%s">%s</a>', esc_url( wp_registration_url() ), __( 'Register' ) ) ); 598 endif; ?> 440 599 </p> 441 600 442 601 <?php … … 445 604 446 605 case 'register' : 447 606 if ( is_multisite() ) { 448 // Multisite uses wp-signup.php 607 /** 608 * Filter the redirect destination url for the Multi Site installation. 609 * 610 * @since 3.0.0 611 * 612 * @param string Signup url of the multisite. 613 */ 449 614 wp_redirect( apply_filters( 'wp_signup_location', network_site_url('wp-signup.php') ) ); 450 615 exit; 451 616 } … … 468 633 } 469 634 } 470 635 636 /** 637 * Filter the redirect destination url after user registration. 638 * 639 * @since 3.0.0 640 * 641 * @param string The redirect destination url. 642 */ 471 643 $redirect_to = apply_filters( 'registration_redirect', !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '' ); 472 644 login_header(__('Registration Form'), '<p class="message register">' . __('Register For This Site') . '</p>', $errors); 473 645 ?> … … 481 653 <label for="user_email"><?php _e('E-mail') ?><br /> 482 654 <input type="text" name="user_email" id="user_email" class="input" value="<?php echo esc_attr(wp_unslash($user_email)); ?>" size="25" /></label> 483 655 </p> 484 <?php do_action('register_form'); ?> 656 <?php 657 /** 658 * Fires in the registration form to add extra input. 659 * 660 * @since 2.1.0 661 */ 662 do_action( 'register_form' ); ?> 485 663 <p id="reg_passmail"><?php _e('A password will be e-mailed to you.') ?></p> 486 664 <br class="clear" /> 487 665 <input type="hidden" name="redirect_to" value="<?php echo esc_attr( $redirect_to ); ?>" /> … … 538 716 else 539 717 $user = wp_signon('', $secure_cookie); 540 718 541 $redirect_to = apply_filters('login_redirect', $redirect_to, isset( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '', $user); 719 /** 720 * Filtering the redirect url after login. 721 * 722 * @since 3.0.0 723 * 724 * @param string $redirect_to The redirect destination url. 725 * @param string The redirect destination url which was passed as a parameter. 726 * @param object $user User data object. 727 */ 728 $redirect_to = apply_filters( 'login_redirect', $redirect_to, isset( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : '', $user ); 542 729 543 730 if ( !is_wp_error($user) && !$reauth ) { 544 731 if ( $interim_login ) { … … 546 733 $interim_login = 'success'; 547 734 login_header( '', $message ); ?> 548 735 </div> 549 <?php do_action( 'login_footer' ); ?> 736 <?php 737 /** 738 * Fires at the end of the html on the login page. 739 * 740 * @since 3.1.0 741 */ 742 do_action( 'login_footer' ); ?> 550 743 <?php if ( $customize_login ) : ?> 551 744 <script type="text/javascript">setTimeout( function(){ new wp.customize.Messenger({ url: '<?php echo wp_customize_url(); ?>', channel: 'login' }).send('login') }, 1000 );</script> 552 745 <?php endif; ?> … … 591 784 $errors->add('updated', __( '<strong>You have successfully updated WordPress!</strong> Please log back in to experience the awesomeness.' ), 'message' ); 592 785 } 593 786 787 /** 788 * Filter the WP Error object of the login page. 789 * 790 * @since 3.6.0 791 * 792 * @param object $errors WP Error object. 793 * @param string $redirect_to Redirect destination url. 794 */ 594 795 $errors = apply_filters( 'wp_login_errors', $errors, $redirect_to ); 595 796 596 797 // Clear any stale cookies. … … 613 814 <label for="user_pass"><?php _e('Password') ?><br /> 614 815 <input type="password" name="pwd" id="user_pass" class="input" value="" size="20" /></label> 615 816 </p> 616 <?php do_action('login_form'); ?> 817 <?php 818 /** 819 * Fires in the login form to add extra input. 820 * 821 * @since 2.1.0 822 */ 823 do_action( 'login_form' ); ?> 617 824 <p class="forgetmenot"><label for="rememberme"><input name="rememberme" type="checkbox" id="rememberme" value="forever" <?php checked( $rememberme ); ?> /> <?php esc_attr_e('Remember Me'); ?></label></p> 618 825 <p class="submit"> 619 826 <input type="submit" name="wp-submit" id="wp-submit" class="button button-primary button-large" value="<?php esc_attr_e('Log In'); ?>" /> … … 631 838 632 839 <?php if ( ! $interim_login ) { ?> 633 840 <p id="nav"> 634 <?php if ( ! isset( $_GET['checkemail'] ) || ! in_array( $_GET['checkemail'], array( 'confirm', 'newpass' ) ) ) : ?> 635 <?php if ( get_option( 'users_can_register' ) ) : ?> 636 <?php echo apply_filters( 'register', sprintf( '<a href="%s">%s</a>', esc_url( wp_registration_url() ), __( 'Register' ) ) ); ?> | 637 <?php endif; ?> 841 <?php if ( ! isset( $_GET['checkemail'] ) || ! in_array( $_GET['checkemail'], array( 'confirm', 'newpass' ) ) ) : 842 if ( get_option( 'users_can_register' ) ) : 843 //duplicate_hook 844 echo apply_filters( 'register', sprintf( '<a href="%s">%s</a>', esc_url( wp_registration_url() ), __( 'Register' ) ) ) . ' | '; 845 endif; 846 ?> 638 847 <a href="<?php echo esc_url( wp_lostpassword_url() ); ?>" title="<?php esc_attr_e( 'Password Lost and Found' ); ?>"><?php _e( 'Lost your password?' ); ?></a> 639 848 <?php endif; ?> 640 849 </p>