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.