C:\xampp\htdocs\landing\wp-content\plugins\wpforms-lite\src\Forms\Honeypot.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?php

namespace WPForms\Forms;

/**
 * Class Honeypot.
 *
 * @since 1.6.2
 */
class Honeypot {

    
/**
     * Initialise the actions for the Honeypot.
     *
     * @since 1.6.2
     */
    
public function init() {

        
$this->hooks();
    }

    
/**
     * Register hooks.
     *
     * @since 1.6.2
     */
    
public function hooks() {

        
add_action'wpforms_frontend_output', [ $this'render' ], 15);
    }

    
/**
     * Return function to render the honeypot.
     *
     * @since 1.6.2
     *
     * @param array $form_data Form data and settings.
     */
    
public function render$form_data ) {

        if (
            empty( 
$form_data['settings']['honeypot'] ) ||
            
'1' !== $form_data['settings']['honeypot']
        ) {
            return;
        }

        
$names = [ 'Name''Phone''Comment''Message''Email''Website' ];

        echo 
'<div class="wpforms-field wpforms-field-hp">';

        echo 
'<label for="wpforms-' $form_data['id'] . '-field-hp" class="wpforms-field-label">' $namesarray_rand$names ) ] . '</label>'// phpcs:ignore

        
echo '<input type="text" name="wpforms[hp]" id="wpforms-' $form_data['id'] . '-field-hp" class="wpforms-field-medium">';  // phpcs:ignore

        
echo '</div>';
    }

    
/**
     * Validate honeypot.
     *
     * @since 1.6.2
     *
     * @param array $form_data Form data.
     * @param array $fields    Fields.
     * @param array $entry     Form entry.
     *
     * @return bool|string False or an string with the error.
     */
    
public function validate( array $form_data, array $fields, array $entry ) {

        
$honeypot false;

        if (
            ! empty( 
$form_data['settings']['honeypot'] ) &&
            
'1' === $form_data['settings']['honeypot'] &&
            ! empty( 
$entry['hp'] )
        ) {
            
$honeypot esc_html__'WPForms honeypot field triggered.''wpforms-lite' );
        }

        
// If we get passed an empty fields array, but we have the data in our form data, use it.
        
if ( empty( $fields ) && isset( $form_data['fields'] ) ) {
            
$fields $form_data['fields'];
        }

        return 
apply_filters'wpforms_process_honeypot'$honeypot$fields$entry$form_data );
    }
}
x

Windows NT KPTV 6.2 build 9200 (Windows Server 2012 Datacenter Edition) i586