芝麻web文件管理V1.00
编辑当前文件:/home/pulsehostuk9/www/wp-content/plugins/bdthemes-element-pack/modules/webhook-form/module.php
false, 'message' => esc_html__('Nonce verification failed', 'bdthemes-element-pack'), )); wp_die(); } $post_id = sanitize_text_field($_REQUEST['page_id']); $widget_id = sanitize_text_field($_REQUEST['widget_id']); $transient_key = 'bdt_ep_webhook_form_data_' . $widget_id; $transient_value = get_transient($transient_key); $ep_api_settings = $this::$api_settings; $form_data = array(); foreach ($_POST as $field => $value) { if (is_email($value)) { $value = sanitize_email($value); } else { $value = sanitize_textarea_field($value); } $form_data[$field] = strip_tags($value); } $success_text = isset($form_data['success_text']) & !empty($form_data['success_text']) ? esc_html($form_data['success_text']) : esc_html__('Your data has been sent successfully.', 'bdthemes-element-pack'); unset($form_data['action']); unset($form_data['nonce']); if (isset($form_data['widget_id'])) { unset($form_data['widget_id']); } $headers = array(); if (!empty($transient_value['header'])) { $headers = array_merge($headers, $transient_value['header']); } if (!empty($transient_value['body'])) { $form_data = array_merge($form_data, $transient_value['body']); } $hook_url = $transient_value['webhook_url']; if (empty($hook_url)) { echo json_encode(array( 'success' => false, 'message' => esc_html__('Webhook URL empty.', 'bdthemes-element-pack'), )); wp_die(); } /** Recaptcha*/ $widget_settings = $this->get_widget_settings($post_id, $widget_id); if (isset($widget_settings['show_recaptcha']) && $widget_settings['show_recaptcha'] == 'yes') { if (!empty($ep_api_settings['recaptcha_site_key']) and !empty($ep_api_settings['recaptcha_secret_key'])) { if (!$this->is_valid_captcha()) { echo json_encode(array( 'success' => false, 'message' => esc_html__('Error in the reCaptcha.', 'bdthemes-element-pack'), )); wp_die(); } } } $updated_url = str_replace("&", "&", $hook_url); $response = wp_remote_post($updated_url, array( 'headers' => $headers, 'body' => $form_data, )); if (is_wp_error($response)) { $error_message = $response->get_error_message(); echo json_encode(array( 'success' => false, 'message' => esc_html__($error_message, 'bdthemes-element-pack'), )); } else { $body = wp_remote_retrieve_body($response); $body = json_decode($body, true); if (isset($body['success']) && !$body['success']) { echo json_encode(array( 'success' => false, 'message' => isset($body['data']['message']) ? esc_html($body['data']['message']) : esc_html__('Error in the response body.', 'bdthemes-element-pack'), )); } else { echo json_encode(array( 'success' => true, 'message' => $success_text, )); } } wp_die(); } }