Files
2026-04-28 15:13:50 +02:00

41 lines
1.5 KiB
PHP

<?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if(get_option('cfturnstile_wpforms')) {
// Get turnstile field: WP Forms
if(!empty(get_option('cfturnstile_wpforms_pos')) && get_option('cfturnstile_wpforms_pos') == "after") {
add_action('wpforms_display_submit_after','cfturnstile_field_wpf_form', 10, 1);
} else {
add_action('wpforms_display_submit_before','cfturnstile_field_wpf_form', 10, 1);
}
function cfturnstile_field_wpf_form($form_data) {
if(!cfturnstile_form_disable($form_data['id'], 'cfturnstile_wpforms_disable')) {
$uniqueId = wp_rand();
if(!empty(get_option('cfturnstile_wpforms_pos')) && get_option('cfturnstile_wpforms_pos') == "after") { echo "<br/><br/>"; }
cfturnstile_field_show('.wpforms-submit', 'turnstileWPFCallback', 'wpforms-' . $form_data['id'], '-wpf-' . $uniqueId);
}
}
// WP Forms Check
add_action('wpforms_process_before', 'cfturnstile_wpf_check', 10, 2);
function cfturnstile_wpf_check($entry, $form_data) {
if(!cfturnstile_whitelisted() && !cfturnstile_form_disable($form_data['id'], 'cfturnstile_wpforms_disable')) {
if ( 'POST' === $_SERVER['REQUEST_METHOD'] ) {
$check = cfturnstile_check();
$success = $check['success'];
if($success != true) {
wpforms()->process->errors[ $form_data[ 'id' ] ][ 'header' ] = cfturnstile_failed_message();
}
} else {
wpforms()->process->errors[ $form_data[ 'id' ] ][ 'header' ] = cfturnstile_failed_message();
}
} else {
return;
}
}
}