/**
 * Set up our user upon activation, email appropriate people
 *
 * @since  4.2.2
 *
 * @param  integer  $user_id User ID
 */
function bp_registration_options_bp_core_register_account($user_id)
{
    $moderate = get_option('bprwg_moderate');
    if ($moderate && $user_id > 0) {
        //Somehow the WP-FB-AutoConnect plugin uses $_GET['key'] as well for user IDs. Let's check if the value returns a user.
        /*$is_user = get_userdata( $_GET['key'] );
        
        		if ( !$is_user ) {
        			return;
        		}*/
        bp_registration_set_moderation_status($user_id);
        $user = get_userdata($user_id);
        $admin_email = get_bloginfo('admin_email');
        //add HTML capabilities temporarily
        add_filter('wp_mail_content_type', 'bp_registration_options_set_content_type');
        //If their IP or email is blocked, don't proceed and exit silently.
        //$blockedIPs = get_option( 'bprwg_blocked_ips', array() );
        //$blockedemails = get_option( 'bprwg_blocked_emails', array() );
        //Warning: in_array() expects parameter 2 to be array, boolean given in /Applications/XAMPP/xamppfiles/htdocs/wp/buddypress/wp-content/plugins/BuddyPress-Registration-Options/includes/core.php on line 50
        /*if ( in_array( $_SERVER['REMOTE_ADDR'], $blockedIPs ) || in_array( $user->user_email, $blockedemails ) ) {
        			$message = apply_filters( 'bprwg_banned_user_admin_email', __( 'Someone with a banned IP address or email just tried to register with your site', 'bp-registration-options' ) );
        
        			wp_mail( $admin_email, __( 'Banned member registration attempt', 'bp-registration-options' ), $message );
        
        			//Delete their account thus far.
        			if ( is_multisite() ) {
        				wpmu_delete_user( $user_id );
        			}
        			wp_delete_user( $user_id );
        
        			return;
        		}*/
        //Set them as in moderation.
        bp_registration_set_moderation_status($user_id);
        //save user ip address
        update_user_meta($user_id, '_bprwg_ip_address', $_SERVER['REMOTE_ADDR']);
        bp_registration_options_send_admin_email(array('user_login' => $user->data->user_login, 'user_email' => $user->data->user_email, 'message' => sprintf(__('%s ( %s ) would like to become a member of your website. To accept or reject their request, please go to <a href="%s">%s</a>.', 'bp-registration-options'), $user->data->user_nicename, $user->data->user_email, admin_url('/admin.php?page=bp_registration_options_member_requests'), admin_url('/admin.php?page=bp_registration_options_member_requests'))));
        bp_registration_options_delete_user_count_transient();
    }
}
/**
 * Process approved or denied users. Sends out the notifications and handles user deletion when applicable
 *
 * @since  unknown
 */
function bp_registration_options_form_actions()
{
    //settings save
    if (isset($_POST['save_general'])) {
        check_admin_referer('bp_reg_options_check');
        bp_registration_handle_general_settings(array('set_moderate' => empty($_POST['bp_moderate']) ? '' : $_POST['bp_moderate'], 'set_private' => empty($_POST['privacy_network']) ? '' : $_POST['privacy_network'], 'activate_message' => empty($_POST['activate_message']) ? '' : $_POST['activate_message'], 'approved_message' => empty($_POST['approved_message']) ? '' : $_POST['approved_message'], 'denied_message' => empty($_POST['denied_message']) ? '' : $_POST['denied_message']));
    }
    if (isset($_POST['reset_messages'])) {
        check_admin_referer('bp_reg_options_check');
        bp_registration_handle_reset_messages();
    }
    //request submissions
    if (isset($_POST['moderate'])) {
        check_admin_referer('bp_reg_options_check');
        $action = $_POST['moderate'];
        $checked_members = array();
        $send = false;
        $subject = '';
        $message = '';
        if (isset($_POST['bp_member_check'])) {
            $checked_members = $_POST['bp_member_check'];
        }
        if (!is_array($checked_members)) {
            $checked_members = array($checked_members);
        }
        if ('Deny' == $action) {
            //Leave capitalized and don't i18n, because we're comparing button values for the time being.
            $send = true;
            $subject = __('Membership Denied', 'bp-registration-options');
            $message = get_option('bprwg_denied_message');
        }
        if ('Approve' == $action) {
            //Leave capitalized and don't i18n, because we're comparing button values for the time being.
            $send = true;
            $subject = __('Membership Approved', 'bp-registration-options');
            $message = get_option('bprwg_approved_message');
        }
        foreach ($checked_members as $user_id) {
            //Grab our userdata object while we still have a user.
            $user = get_userdata($user_id);
            if ('Deny' == $action || 'Ban' == $action) {
                //Leave capitalized and don't i18n, because we're comparing button values for the time being.
                //Add our user to the IP ban option.
                /*if ( 'Ban' == $action ) {
                
                					$blockedIPs = get_option( 'bprwg_blocked_ips', array() );
                					$blockedemails = get_option( 'bprwg_blocked_emails', array() );
                					$blockedIPs[] = get_user_meta( $user_id, 'bprwg_ip_address', true);
                					$blockedemails[] = $user->data->user_email;
                					$successIP = update_option( 'bprwg_blocked_ips', $blockedIPs );
                					$successEmail = update_option( 'bprwg_blocked_emails', $blockedemails );
                				}*/
                do_action('bpro_hook_denied_user_before_delete', $user_id);
                if (is_multisite()) {
                    wpmu_delete_user($user_id);
                } else {
                    wp_delete_user($user_id);
                }
                do_action('bpro_hook_denied_user_after_delete', $user_id);
                bp_registration_options_delete_user_count_transient();
            } elseif ('Approve' == $action) {
                bp_registration_set_moderation_status($user_id, 'false');
                do_action('bpro_hook_approved_user', $user_id);
                bp_registration_options_delete_user_count_transient();
            }
            //only send out message if one exists
            if ($send) {
                $mailme = array('user_email' => $user->data->user_email, 'user_subject' => $subject, 'user_message' => str_replace('[username]', $user->data->user_login, $message));
                $mailme_filtered = apply_filters('bpro_hook_before_email', $mailme, $user);
                add_filter('wp_mail_content_type', 'bp_registration_options_set_content_type');
                wp_mail($mailme_filtered['user_email'], $mailme_filtered['user_subject'], $mailme_filtered['user_message']);
                remove_filter('wp_mail_content_type', 'bp_registration_options_set_content_type');
            }
        }
    }
}