Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
forbidals
/
wp-content
/
plugins
/
formidable
/
classes
/
controllers
:
FrmAntiSpamController.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /** * Anti-spam controller * * @package Formidable * * @since 6.21 */ if ( ! defined( 'ABSPATH' ) ) { die( 'You are not allowed to call this page directly.' ); } class FrmAntiSpamController { /** * Checks if given entry values is spam. * * @param array $values Entry values. * * @return bool|string Return spam message if is spam or `false` if is not spam. */ public static function is_spam( $values ) { $methods = array( 'contains_wp_disallowed_words', 'is_denylist_spam', 'is_stopforumspam_spam', 'is_wp_comment_spam', ); foreach ( $methods as $method ) { if ( ! is_callable( array( self::class, $method ) ) ) { continue; } $is_spam = call_user_func( array( self::class, $method ), $values ); if ( $is_spam ) { return $is_spam; } } return false; } /** * Checks spam using stopforumspam API. * * @param array $values Entry values. * * @return bool|string Return spam message if is spam or `false` if is not spam. */ private static function is_stopforumspam_spam( $values ) { $spam_check = new FrmSpamCheckStopForumSpam( $values ); return $spam_check->is_spam(); } /** * Checks spam using WordPress spam comments. * * @param array $values Entry values. * * @return bool|string Return spam message if is spam or `false` if is not spam. */ private static function is_wp_comment_spam( $values ) { $spam_check = new FrmSpamCheckUseWPComments( $values ); return $spam_check->is_spam(); } /** * Checks spam using WordPress disallowed words. * * @param array $values Entry values. * * @return bool|string Return spam message if is spam or `false` if is not spam. */ public static function contains_wp_disallowed_words( $values ) { $spam_check = new FrmSpamCheckWPDisallowedWords( $values ); return $spam_check->is_spam(); } /** * Checks spam using denylist. * * @param array $values Entry values. * * @return bool|string Return spam message if is spam or `false` if is not spam. */ public static function is_denylist_spam( $values ) { $spam_check = new FrmSpamCheckDenylist( $values ); return $spam_check->is_spam(); } /** * Gets spam message. * * @return string */ public static function get_default_spam_message() { return __( 'Your entry appears to be spam!', 'formidable' ); } /** * Extracts email addresses from values. * * @param array $values Values to check. * * @return string[] */ public static function extract_emails_from_values( $values ) { $values = FrmAppHelper::maybe_json_encode( $values ); preg_match_all( '/[\._a-zA-Z0-9-]+@[\._a-zA-Z0-9-]+/i', $values, $matches ); return $matches[0]; } /** * Gets allowed IP addresses. * * @return string[] */ public static function get_allowed_ips() { /** * Filter the allowed IP addresses. * * @since 6.21 * * @params string[] $allowed_ips Allowed IP addresses. */ return apply_filters( 'frm_allowed_ips', array( '', '127.0.0.1', '::1' ) ); } }