index of
/
home
/
thefkyzp
/
public_html
/
wp-content
/
plugins
/
fluentform
/
app
/
Modules
/
Form
/
File: /home/thefkyzp/public_html/wp-content/plugins/fluentform/app/Modules/Form/AkismetHandler.php
<?php namespace FluentForm\App\Modules\Form; use FluentForm\App\Helpers\Helper; use FluentForm\App\Modules\Acl\Acl; use FluentForm\Framework\Helpers\ArrayHelper; class AkismetHandler { public static function isEnabled() { if (!self::isPluginEnabled()) { return false; } $settings = get_option('_fluentform_global_form_settings'); return $settings && 'yes' == ArrayHelper::get($settings, 'misc.akismet_status'); } public static function isPluginEnabled() { $exists = method_exists('Akismet', 'http_post'); if ($exists) { return !!\Akismet::get_api_key(); } return false; } public static function isSpamSubmission($formData, $form) { global $akismet_api_host, $akismet_api_port; $fields = self::getAkismetFields($formData, $form); $response = \Akismet::http_post($fields, 'comment-check'); return 'true' == ArrayHelper::get($response, 1); } protected static function getAkismetFields($data, $form) { $app = wpFluentForm(); $ip = $app->request->getIp(); $info = [ 'comment_type' => 'contact-form', 'comment_author' => '', 'comment_author_email' => '', 'comment_content' => '', 'contact_form_subject' => $form->title, 'comment_author_IP' => $ip, 'permalink' => urlencode($data['_wp_http_referer']), 'user_ip' => preg_replace('/[^0-9., ]/', '', $ip), 'user_agent' => $app->request->header('USER_AGENT'), 'blog' => get_option('home'), ]; $maps = [ 'input_name' => 'comment_author', 'input_email' => 'comment_author_email', 'textarea' => 'comment_content', ]; $inputs = FormFieldsParser::getInputs($form, ['attributes']); foreach ($inputs as $input) { $element = ArrayHelper::get($input, 'element'); $key = ArrayHelper::get($input, 'attributes.name'); if (isset($maps[$element]) && !$info[$maps[$element]]) { $value = ArrayHelper::get($data, $key); if ($value) { if (is_array($value)) { $value = implode(' ', $value); } $info[$maps[$element]] = $value; } } } $info = apply_filters_deprecated( 'fluentform_akismet_fields', [ $info, $data, $form ], FLUENTFORM_FRAMEWORK_UPGRADE, 'fluentform/akismet_fields', 'Use fluentform/akismet_fields instead of fluentform_akismet_fields.' ); $info = apply_filters('fluentform/akismet_fields', $info, $data, $form); return http_build_query($info); } }