| 1584 | |
| 1585 | global $wpdb; |
| 1586 | |
| 1587 | // Generate something random for a password reset key. |
| 1588 | $key = wp_generate_password( 20, false ); |
| 1589 | |
| 1590 | do_action( 'retrieve_password_key', $user->user_login, $key ); |
| 1591 | |
| 1592 | // Now insert the key, hashed, into the DB. |
| 1593 | if ( empty( $wp_hasher ) ) { |
| 1594 | require_once ABSPATH . WPINC . '/class-phpass.php'; |
| 1595 | $wp_hasher = new PasswordHash( 8, true ); |
| 1596 | } |
| 1597 | $hashed = time() . ':' . $wp_hasher->HashPassword( $key ); |
| 1598 | $wpdb->update( $wpdb->users, array( 'user_activation_key' => $hashed ), array( 'user_login' => $user->user_login ) ); |
| 1599 | |
| 1600 | $resetlink = network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode($user->user_login), 'login' ); |
| 1601 | |
1584 | 1602 | $welcome_email = apply_filters( 'update_welcome_user_email', $welcome_email, $user_id, $password, $meta ); |
1585 | 1603 | $welcome_email = str_replace( 'SITE_NAME', $current_site->site_name, $welcome_email ); |
1586 | 1604 | $welcome_email = str_replace( 'USERNAME', $user->user_login, $welcome_email ); |
1587 | 1605 | $welcome_email = str_replace( 'PASSWORD', $password, $welcome_email ); |
1588 | 1606 | $welcome_email = str_replace( 'LOGINLINK', wp_login_url(), $welcome_email ); |