/**
 * Processes an account verification
 *
 * @since 2.4.4
 *
 * @return void
 */
function edd_process_user_account_verification()
{
    if (empty($_GET['token'])) {
        return false;
    }
    if (empty($_GET['user_id'])) {
        return false;
    }
    if (empty($_GET['ttl'])) {
        return false;
    }
    $parts = parse_url(add_query_arg(array()));
    wp_parse_str($parts['query'], $query_args);
    $url = add_query_arg($query_args, untrailingslashit(edd_get_user_verification_page()));
    if (!edd_validate_user_verification_token($url)) {
        do_action('edd_invalid_user_verification_token');
        wp_die(__('Invalid verification token provided.', 'easy-digital-downloads'), __('Error', 'easy-digital-downloads'), array('response' => 403));
    }
    edd_set_user_to_verified(absint($_GET['user_id']));
    do_action('edd_user_verification_token_validated');
    $redirect = apply_filters('edd_user_account_verified_redirect', add_query_arg('edd-verify-success', '1', edd_get_user_verification_page()));
    wp_safe_redirect($redirect);
    exit;
}
/**
 * Process manual verification of customer account by admin
 *
 * @since  2.4.8
 * @return void
 */
function edd_process_admin_user_verification()
{
    if (empty($_GET['id']) || !is_numeric($_GET['id'])) {
        return false;
    }
    if (empty($_GET['_wpnonce'])) {
        return false;
    }
    $nonce = $_GET['_wpnonce'];
    if (!wp_verify_nonce($nonce, 'edd-verify-user')) {
        wp_die(__('Nonce verification failed', 'easy-digital-downloads'), __('Error', 'easy-digital-downloads'), array('response' => 403));
    }
    $customer = new EDD_Customer($_GET['id']);
    edd_set_user_to_verified($customer->user_id);
    $url = add_query_arg('edd-message', 'user-verified', admin_url('edit.php?post_type=download&page=edd-customers&view=overview&id=' . $customer->id));
    wp_safe_redirect($url);
    exit;
}