HEX
Server: nginx/1.18.0
System: Linux iZj6c1ieg2jrpk1z5tzi19Z 6.3.9-1.el7.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jun 21 22:18:40 EDT 2023 x86_64
User: www (1001)
PHP: 8.2.4
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/www.cytocare.cn/wp-content/plugins/friendly-captcha/modules/fluentform/fluentform.php
<?php

// See https://github.com/fluentform/fluentform/blob/5.1.14/app/Services/FormBuilder/FormBuilder.php#L274-L298
add_action('fluentform_render_item_submit_button', 'frcaptcha_fluentform_show_widget', 10, 0);
add_action('fluentform_render_item_step_end', 'frcaptcha_fluentform_show_widget', 10, 0);

function frcaptcha_fluentform_show_widget()
{
    $plugin = FriendlyCaptcha_Plugin::$instance;
    if (!$plugin->is_configured()) {
        return;
    }

    echo frcaptcha_generate_widget_tag_from_plugin($plugin);

    // it just slightly overflows..
    echo "<style>.frc-captcha {max-width:100%; margin-bottom: 1em}</style>";

    frcaptcha_enqueue_widget_scripts();
}

add_filter('fluentform_before_insert_submission', 'frcaptcha_fluentform_validate', 20, 3);

function frcaptcha_fluentform_validate($insert_data, $data, $form)
{

    $plugin = FriendlyCaptcha_Plugin::$instance;
    if (!$plugin->is_configured()) {
        return;
    }

    $fieldName = FriendlyCaptcha_Plugin::$instance->get_solution_field_name();
    $solution = $data[$fieldName];

    if (empty($solution)) {
        $error_message = FriendlyCaptcha_Plugin::default_error_user_message() . __(" (captcha missing)", "frcaptcha");
        wp_send_json(
            [
                'errors' => [
                    'g-recaptcha-response' => [$error_message],
                ],
            ],
            422
        );
    }

    $verification = frcaptcha_verify_captcha_solution($solution, $plugin->get_sitekey(), $plugin->get_api_key());

    if (!$verification["success"]) {
        $error_message = FriendlyCaptcha_Plugin::default_error_user_message();
        wp_send_json(
            [
                'errors' => [
                    'g-recaptcha-response' => [$error_message],
                ],
            ],
            422
        );
    }
}