| Server IP : 38.190.208.107 / Your IP : 216.73.217.46 Web Server : nginx/1.28.1 System : Linux ht2026040333114 6.1.0-10-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.37-1 (2023-07-03) x86_64 User : root ( 0) PHP Version : 8.2.28 Disable Function : 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,eval,assert,passthru,system,exec,shell_exec,popen,proc_open MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/wp.3/wp-content/plugins/fluentform/app/Services/FormBuilder/Components/ |
Upload File : |
<?php
namespace FluentForm\App\Services\FormBuilder\Components;
defined('ABSPATH') or die;
use FluentForm\Framework\Helpers\ArrayHelper;
class Recaptcha extends BaseComponent
{
/**
* Compile and echo the html element
*
* @param array $data [element data]
* @param \stdClass $form [Form Object]
*
* @return void
*/
public function compile($data, $form)
{
$elementName = $data['element'];
$data = apply_filters_deprecated(
'fluentform_rendering_field_data_' . $elementName,
[
$data,
$form
],
FLUENTFORM_FRAMEWORK_UPGRADE,
'fluentform/rendering_field_data_' . $elementName,
'Use fluentform/rendering_field_data_' . $elementName . ' instead of fluentform_rendering_field_data_' . $elementName
);
$data = apply_filters('fluentform/rendering_field_data_' . $elementName, $data, $form);
$key = get_option('_fluentform_reCaptcha_details');
$apiVersion = 'v2_visible';
if ($key && isset($key['siteKey'])) {
$siteKey = $key['siteKey'];
} else {
$siteKey = '';
}
if (! $siteKey) {
return false;
}
if (! empty($key['api_version'])) {
$apiVersion = $key['api_version'];
}
if ('v3_invisible' == $apiVersion) {
if (!wp_script_is('google-recaptcha')) {
$apiUrl = 'https://www.google.com/recaptcha/api.js?render=' . $siteKey;
$locale = apply_filters('fluentform/recaptcha_lang', '');
if ($locale) {
$apiUrl .= '&hl=' . $locale;
}
wp_enqueue_script(
'google-recaptcha',
$apiUrl,
[],
FLUENTFORM_VERSION,
true
);
}
add_filter('fluentform/form_class', function ($formClass) {
$formClass .= ' ff_has_v3_recptcha';
return $formClass;
});
add_filter('fluentform/html_attributes', function ($atts) use ($siteKey) {
$atts['data-recptcha_key'] = $siteKey;
return $atts;
});
$shouldRenderBadge = ArrayHelper::get($data, 'settings.render_recaptcha_v3_badge', false);
if (!$shouldRenderBadge) {
// Add CSS to hide reCAPTCHA badge
add_action('wp_footer', function() {
echo "<style>
.grecaptcha-badge {
visibility: hidden;
}
</style>";
});
}
return;
}
if (!wp_script_is('google-recaptcha')) {
$apiUrl = 'https://www.google.com/recaptcha/api.js?render=explicit';
$locale = apply_filters('fluentform/recaptcha_lang', '');
if ($locale) {
$apiUrl .= '&hl=' . $locale;
}
wp_enqueue_script(
'google-recaptcha',
$apiUrl,
[],
FLUENTFORM_VERSION,
true
);
}
$recaptchaBlock = "<div
data-sitekey='" . esc_attr($siteKey) . "'
id='fluentform-recaptcha-{$form->id}-{$form->instance_index}'
class='ff-el-recaptcha g-recaptcha'
data-callback='fluentFormrecaptchaSuccessCallback'></div>";
$label = '';
if (! empty($data['settings']['label'])) {
$label = "<div class='ff-el-input--label'><label>" . fluentform_sanitize_html($data['settings']['label']) . '</label></div>';
}
$containerClass = '';
if (! empty($data['settings']['label_placement'])) {
$containerClass = 'ff-el-form-' . $data['settings']['label_placement'];
}
$el = "<div class='ff-el-input--content'><div data-fluent_id='" . $form->id . "' name='g-recaptcha-response'>{$recaptchaBlock}</div></div>";
$html = "<div class='ff-el-group " . esc_attr($containerClass) . "' >{$label}{$el}</div>";
$html = apply_filters_deprecated(
'fluentform_rendering_field_html_' . $elementName,
[
$html,
$data,
$form
],
FLUENTFORM_FRAMEWORK_UPGRADE,
'fluentform/rendering_field_html_' . $elementName,
'Use fluentform/rendering_field_html_' . $elementName . ' instead of fluentform_rendering_field_html_' . $elementName
);
$this->printContent('fluentform/rendering_field_html_' . $elementName, $html, $data, $form);
}
}