/** * トークンチェック * * @return bool */ protected function token_check() { if (isset($_POST[$this->token_name])) { $request_token = $_POST[$this->token_name]; } $values = $this->Data->gets(); $form_key = $this->ExecShortcode->get('key'); if (isset($request_token) && wp_verify_nonce($request_token, $form_key)) { return true; } elseif (empty($_POST) && $values) { $this->complete_twice = true; return true; } return false; }
/** * check * @param string $akismet_author * @param string $akismet_author_email * @param string $akismet_author_url * @param MW_WP_Form_Data $Data * @return bool */ public function check($akismet_author, $akismet_author_email, $akismet_author_url, $Data) { global $akismet_api_host, $akismet_api_port; if (!$this->is_enable()) { return false; } $doAkismet = false; $author = ''; if ($Data->get_post_value_by_key($akismet_author)) { $author = $Data->get_post_value_by_key($akismet_author); $doAkismet = true; } $author_email = ''; if ($Data->get_post_value_by_key($akismet_author_email)) { $author_email = $Data->get_post_value_by_key($akismet_author_email); $doAkismet = true; } $author_url = ''; if ($Data->get_post_value_by_key($akismet_author_url)) { $author_url = $Data->get_post_value_by_key($akismet_author_url); $doAkismet = true; } if ($doAkismet) { $content = ''; foreach ($Data->gets() as $key => $value) { $value = $Data->get($key); $content .= $value . "\n\n"; } $permalink = get_permalink(); $akismet = array(); $akismet['blog'] = home_url(); $akismet['blog_lang'] = get_locale(); $akismet['blog_charset'] = get_option('blog_charset'); $akismet['user_ip'] = preg_replace('/[^0-9., ]/', '', $_SERVER['REMOTE_ADDR']); $akismet['user_agent'] = $_SERVER['HTTP_USER_AGENT']; $akismet['referrer'] = $_SERVER['HTTP_REFERER']; $akismet['comment_type'] = MWF_Config::NAME; if ($permalink) { $akismet['permalink'] = $permalink; } if ($author) { $akismet['comment_author'] = $author; } if ($author_email) { $akismet['comment_author_email'] = $author_email; } if ($author_url) { $akismet['comment_author_url'] = $author_url; } if ($content) { $akismet['comment_content'] = $content; } foreach ($_SERVER as $key => $value) { if (!in_array($key, array('HTTP_COOKIE', 'HTTP_COOKIE2', 'PHP_AUTH_PW'))) { $akismet[$key] = $value; } } $query_string = http_build_query($akismet, null, '&'); if (is_callable(array('Akismet', 'http_post'))) { $response = Akismet::http_post($query_string, 'comment-check'); } else { $response = akismet_http_post($query_string, $akismet_api_host, '/1.1/comment-check', $akismet_api_port); } $response = apply_filters('mwform_akismet_responce', $response); return $response[1] == 'true' ? true : false; } }
/** * apply_filters_mwform_auto_mail * * @param MW_WP_Form_Mail $Mail * @return MW_WP_Form_Mail $Mail */ protected function apply_filters_mwform_auto_mail(MW_WP_Form_Mail $Mail) { return apply_filters('mwform_auto_mail_' . $this->form_key, $Mail, $this->Data->gets(), clone $this->Data); }