![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /proc/self/cwd/wp-content/plugins/bdthemes-element-pack/includes/ |
<?php namespace ElementPack\Includes; if (!defined('ABSPATH')) exit; // Exit if accessed directly class ElementPack_Google_Recaptcha { function __construct() { add_action('element_pack_google_rechatcha_render', array($this, 'element_pack_google_rechatcha_render'), 10, 3); add_filter('element_pack_google_recaptcha_validation', array($this, 'is_valid_captcha'), 10, 1); } // google captcha hooks public function find_element_recursive($elements, $form_id) { foreach ( $elements as $element ) { if ( $form_id === $element['id'] ) { return $element; } if ( !empty($element['elements']) ) { $element = $this->find_element_recursive($element['elements'], $form_id); if ( $element ) { return $element; } } } return false; } function is_valid_captcha($recaptchaResponse) { $ep_api_settings = get_option('element_pack_api_settings'); $secretkey = isset($ep_api_settings['recaptcha_secret_key']) ? $ep_api_settings['recaptcha_secret_key'] : ''; if ( !empty($recaptchaResponse) && !empty($secretkey) ) { $request = wp_remote_get('https://www.google.com/recaptcha/api/siteverify?secret=' . $secretkey . '&response=' . esc_textarea($recaptchaResponse) . '&remoteip=' . $_SERVER["REMOTE_ADDR"]); $response = wp_remote_retrieve_body($request); $result = json_decode($response, TRUE); if ( isset($result['success']) && $result['success'] == 1 ) { // Captcha ok return true; } else { // Captcha failed; return false; } } return false; } function element_pack_google_rechatcha_render($instance, $callback, $selector = 'button') { $ep_api_settings = get_option('element_pack_api_settings'); if ( !empty($ep_api_settings['recaptcha_site_key']) and !empty($ep_api_settings['recaptcha_secret_key']) ) { ?> <div data-type="v3" data-action="Form" id="element_pack_recaptcha_<?php echo esc_attr($instance->get_id()) ?>" class="g-recaptcha element-pack-google-recaptcha" data-sitekey="<?php echo esc_attr($ep_api_settings['recaptcha_site_key']) ?>" data-callback="<?php echo esc_attr($callback) ?>" data-size="invisible"></div> <?php } } } new ElementPack_Google_Recaptcha();