Uname: Linux p3plzcpnl499967.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
Software: Apache
PHP version: 8.2.30 [ PHP INFO ] PHP os: Linux
Server Ip: 208.109.40.231
Your Ip: 216.73.216.26
User: nayff91c5tsx (10005085) | Group: nayff91c5tsx (10005085)
Safe Mode: OFF
Disable Function:
NONE

name : Turnstile.php
<?php

namespace FluentForm\App\Modules\Turnstile;

use FluentForm\Framework\Helpers\ArrayHelper;

class Turnstile
{
    /**
     * Verify turnstile response.
     *
     * @param string $token  response from the user.
     * @param null   $secret provided or already stored secret key.
     *
     * @return bool
     */
    public static function validate($token, $secret)
    {
        $verifyUrl = 'https://challenges.cloudflare.com/turnstile/v0/siteverify';

        $response = wp_remote_post($verifyUrl, [
            'method' => 'POST',
            'body'   => [
                'secret'   => $secret,
                'response' => $token,
            ],
        ]);

        $isValid = false;

        if (!is_wp_error($response)) {
            $result = json_decode(wp_remote_retrieve_body($response));
            $isValid = $result->success;
        }

        return $isValid;
    }

    public static function ensureSettings($values)
    {
        $settings = ArrayHelper::get($values, '_fluentform_turnstile_details');

        $settings['invisible'] = ArrayHelper::get($settings, 'invisible', 'no');
        $settings['theme'] = ArrayHelper::get($settings, 'theme', 'auto');
        $settings['appearance'] = ArrayHelper::get($settings, 'appearance', 'always');
        unset($settings['token']);

        $values['_fluentform_turnstile_details'] = $settings;

        return $values;
    }
}
© 2026 GrazzMean