Making WordPress.org

Changeset 10008


Ignore:
Timestamp:
07/03/2020 06:48:14 AM (6 years ago)
Author:
dd32
Message:

Login: Split the function to send users a confirmation email into it's own function for flexability.

See #5278.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordpress.org/public_html/wp-content/themes/pub/wporg-login/functions-registration.php

    r10000 r10008  
    5858        }
    5959
    60         $activation_key = wp_generate_password( 24, false, false );
    61         $profile_key    = wp_generate_password( 24, false, false );
    62 
    63         $hashed_activation_key = time() . ':' . wp_hash_password( $activation_key );
    64         $hashed_profile_key    = time() . ':' . wp_hash_password( $profile_key );
     60
     61        $profile_key        = wp_generate_password( 24, false, false );
     62        $hashed_profile_key = time() . ':' . wp_hash_password( $profile_key );
    6563
    6664        $pending_user = array(
     
    6866                'user_email' => $user_email,
    6967                'user_registered' => gmdate('Y-m-d  H:i:s'),
    70                 'user_activation_key' => $hashed_activation_key,
     68                'user_activation_key' => '',
    7169                'user_profile_key' => $hashed_profile_key,
    7270                'meta' => array(
     
    9391        if ( ! $inserted ) {
    9492                wp_die( __( 'Error! Something went wrong with your registration. Try again?', 'wporg' ) );
     93        }
     94
     95        wporg_send_confirmation_email( $user_email );
     96
     97        $url = home_url( sprintf(
     98                '/register/create-profile/%s/%s/',
     99                $user_login,
     100                $profile_key
     101        ) );
     102
     103        wp_safe_redirect( $url );
     104        die();
     105}
     106
     107/**
     108 * Send a "Welcome to WordPress.org" confirmation email.
     109 */
     110function wporg_send_confirmation_email( $user_email ) {
     111        global $wpdb;
     112
     113        $user = wporg_get_pending_user( $user_email );
     114
     115        if ( ! $user ) {
     116                return false;
     117        }
     118
     119        $user_login = $user['user_login'];
     120
     121        // Every email gets a new key (and expiration time..)
     122        $activation_key        = wp_generate_password( 24, false, false );
     123        $hashed_activation_key = time() . ':' . wp_hash_password( $activation_key );
     124
     125        $user['user_activation_key'] = $hashed_activation_key;
     126        if ( ! wporg_update_pending_user( $user ) ) {
     127                return false;
    95128        }
    96129
     
    104137        $body .= __( '-- The WordPress.org Team', 'wporg' );
    105138
    106         wp_mail(
     139        return wp_mail(
    107140                $user_email,
    108141                __( '[WordPress.org] Your new account', 'wporg' ),
     
    112145                )
    113146        );
    114 
    115         $url = home_url( sprintf(
    116                 '/register/create-profile/%s/%s/',
    117                 $user_login,
    118                 $profile_key
    119         ) );
    120 
    121         wp_safe_redirect( $url );
    122         die();
    123147}
    124148
Note: See TracChangeset for help on using the changeset viewer.