Skip to:
Content

BuddyPress.org

Ticket #8428: 8428.4.patch

File 8428.4.patch, 4.8 KB (added by imath, 8 months ago)
  • src/bp-core/bp-core-functions.php

    diff --git src/bp-core/bp-core-functions.php src/bp-core/bp-core-functions.php
    index afb941bf8..1535afed4 100644
    function bp_email_get_schema() { 
    37283728         * @param array $emails The array of emails schema.
    37293729         */
    37303730        return (array) apply_filters( 'bp_email_get_schema', array(
     3731                'core-user-activation' => array(
     3732                        /* translators: do not remove {} brackets or translate its contents. */
     3733                        'post_title'   => __( '[{{{site.name}}}] Welcome!', 'buddypress' ),
     3734                        /* translators: do not remove {} brackets or translate its contents. */
     3735                        'post_content' => __( "Welcome to {{site.name}}!\n\nVisit your <a href=\"{{{profile.url}}}\">profile</a>, where you can tell us more about yourself, change your preferences, or make new connections, to get started.\n\nForgot your password? Don't worry, you can reset it with your email address from <a href=\"{{{lostpassword.url}}}\">this page</a> of our site", 'buddypress' ),
     3736                        /* translators: do not remove {} brackets or translate its contents. */
     3737                        'post_excerpt' => __( "Welcome to {{site.name}}!\n\nVisit your profile, where you can tell us more about yourself, change your preferences, or make new connections, to get started: {{{profile.url}}}\n\nForgot your password? Don't worry, you can reset it with your email address from this page of our site: {{{lostpassword.url}}}", 'buddypress' ),
     3738                ),
    37313739                'activity-comment' => array(
    37323740                        /* translators: do not remove {} brackets or translate its contents. */
    37333741                        'post_title'   => __( '[{{{site.name}}}] {{poster.name}} replied to one of your updates', 'buddypress' ),
    function bp_email_get_type_schema( $field = 'description' ) { 
    40004008                ),
    40014009        );
    40024010
     4011        $core_user_activation = array(
     4012                'description'   => __( 'Recipient has successfully activated an account.', 'buddypress' ),
     4013        );
     4014
    40034015        $types = array(
    40044016                'activity-comment'                   => $activity_comment,
    40054017                'activity-comment-author'            => $activity_comment_author,
    function bp_email_get_type_schema( $field = 'description' ) { 
    40174029                'settings-verify-email-change'       => $settings_verify_email_change,
    40184030                'groups-membership-request-accepted' => $groups_membership_request_accepted,
    40194031                'groups-membership-request-rejected' => $groups_membership_request_rejected,
     4032                'core-user-activation'               => $core_user_activation,
    40204033        );
    40214034
    40224035        if ( $field !== 'all' ) {
  • src/bp-core/bp-core-update.php

    diff --git src/bp-core/bp-core-update.php src/bp-core/bp-core-update.php
    index f335a20d9..6747c3ac5 100644
    function bp_update_to_8_0() { 
    624624        global $wpdb;
    625625        $bp_prefix = bp_core_get_table_prefix();
    626626
     627        // Install welcome email to email list.
     628        add_filter( 'bp_email_get_schema', 'bp_core_get_8_0_upgrade_email_schema' );
     629
     630        bp_core_install_emails();
     631
     632        remove_filter( 'bp_email_get_schema', 'bp_core_get_8_0_upgrade_email_schema' );
     633
    627634        // Update the `new_avatar` activity type's component to `members`.
    628635        $wpdb->update(
    629636                $bp_prefix . 'bp_activity',
    function bp_update_to_8_0() { 
    676683        bp_core_install_nonmember_opt_outs();
    677684}
    678685
     686/**
     687 * Select only the emails that need to be installed with version 8.0.
     688 *
     689 * @since 8.0.0
     690 *
     691 * @param array $emails The array of emails schema.
     692 */
     693function bp_core_get_8_0_upgrade_email_schema( $emails ) {
     694        $new_emails = array();
     695
     696        if ( isset( $emails['core-user-activation'] ) ) {
     697                $new_emails['core-user-activation'] = $emails['core-user-activation'];
     698        }
     699
     700        return $new_emails;
     701}
     702
    679703/**
    680704 * Updates the component field for new_members type.
    681705 *
  • src/bp-members/bp-members-functions.php

    diff --git src/bp-members/bp-members-functions.php src/bp-members/bp-members-functions.php
    index 165bc97c3..347614fc8 100644
    function bp_members_avatar_upload_dir( $directory = 'avatars', $user_id = 0 ) { 
    33063306                'error'   => false
    33073307        ) );
    33083308}
     3309
     3310/**
     3311 * Send welcome email on successful user activation.
     3312 *
     3313 * @since 8.0.0
     3314 *
     3315 * @param int $user_id The new user's ID
     3316 */
     3317function bp_send_welcome_email( $user_id = 0 ) {
     3318        if ( ! $user_id ) {
     3319                return;
     3320        }
     3321
     3322        $profile_url = bp_core_get_user_domain( $user_id );
     3323
     3324        /**
     3325         * Use this filter to add/edit/remove tokens to use for your welcome email.
     3326         *
     3327         * @since 8.0.0
     3328         *
     3329         * @param array $value   An array of BP Email tokens.
     3330         * @param int   $user_id The user ID.
     3331         */
     3332        $welcome_tokens = apply_filters(
     3333                'bp_send_welcome_email_tokens',
     3334                array(
     3335                        'displayname'      => bp_core_get_user_displayname( $user_id ),
     3336                        'profile.url'      => $profile_url,
     3337                        'lostpassword.url' => wp_lostpassword_url( $profile_url ),
     3338                ),
     3339                $user_id
     3340        );
     3341
     3342        bp_send_email( 'core-user-activation', $user_id, array( 'tokens' => $welcome_tokens ) );
     3343}
     3344add_action( 'bp_core_activated_user', 'bp_send_welcome_email', 10, 1 );