HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux aritmodecarnaval.es 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /home/www/terrazasgreen2/wp-content/plugins/ninja-forms/includes/Fields/Spam.php
<?php if ( ! defined( 'ABSPATH' ) ) exit;

/**
 * Class NF_Fields_Spam
 */
class NF_Fields_Spam extends NF_Abstracts_Input
{
    protected $_name = 'spam';

    protected $_type = 'spam';

    protected $_section = 'misc';

    protected $_icon = 'ban';

    protected $_templates = 'textbox';

    protected $_settings = array( 'spam_answer' );

    public function __construct()
    {
        parent::__construct();

        $this->_nicename = esc_html__( 'Anti-Spam', 'ninja-forms' );

        // Rename Label setting to Question
        $this->_settings[ 'label' ][ 'label' ] = esc_html__( 'Question', 'ninja-forms' );
        $this->_settings[ 'label_pos' ][ 'label' ] = esc_html__( 'Question Position', 'ninja-forms' );

        // Manually set Field Key and stop tracking.
        $this->_settings[ 'key' ][ 'value' ] = 'spam';
        $this->_settings[ 'manual_key' ][ 'value' ] = TRUE;


        // Default Required setting to TRUE and hide setting.
        $this->_settings[ 'required' ][ 'value' ] = 1;
        $this->_settings[ 'required' ][ 'group' ] = '';

        add_filter( 'nf_sub_hidden_field_types', array( $this, 'hide_field_type' ) );
    }

    /**
     * Validate
     *
     * @param $field
     * @param $data
     * @return array $errors
     */
    public function validate( $field, $data )
    {
        $errors = parent::validate( $field, $data );

        if(
            ( isset( $field[ 'spam_answer' ] ) && isset( $field[ 'value' ] ) )
            && ( $field[ 'spam_answer' ] != $field[ 'value' ] )
        ){
            $errors = esc_html__( 'Incorrect Answer', 'ninja-forms' );
        }

        return $errors;
    }

    public function get_parent_type()
    {
        return 'spam';
    }

    function hide_field_type( $field_types )
    {
        $field_types[] = $this->_name;

        return $field_types;
    }

}