C:\xampp\htdocs\landing\wp-content\plugins\wpforms-lite\includes\class-widget.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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
<?php

/**
 * WPForms widget.
 *
 * @since 1.0.2
 */
class WPForms_Widget extends WP_Widget {

    
/**
     * Hold widget settings defaults, populated in constructor.
     *
     * @since 1.0.2
     *
     * @var array
     */
    
protected $defaults;

    
/**
     * Constructor
     *
     * @since 1.0.2
     */
    
public function __construct() {

        
// Widget defaults.
        
$this->defaults = array(
            
'title'      => '',
            
'form_id'    => '',
            
'show_title' => false,
            
'show_desc'  => false,
        );

        
// Widget Slug.
        
$widget_slug 'wpforms-widget';

        
// Widget basics.
        
$widget_ops = array(
            
'classname'   => $widget_slug,
            
'description' => esc_html_x'Display a form.''Widget''wpforms-lite' ),
        );

        
// Widget controls.
        
$control_ops = array(
            
'id_base' => $widget_slug,
        );

        
// Load widget.
        
parent::__construct$widget_slugesc_html_x'WPForms''Widget''wpforms-lite' ), $widget_ops$control_ops );
    }

    
/**
     * Output the HTML for this widget.
     *
     * @since 1.0.2
     *
     * @param array $args     An array of standard parameters for widgets in this theme.
     * @param array $instance An array of settings for this widget instance.
     */
    
public function widget$args$instance ) {

        
// Merge with defaults.
        
$instance wp_parse_args( (array) $instance$this->defaults );

        echo 
$args['before_widget']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped

        // Title.
        
if ( ! empty( $instance['title'] ) ) {
            echo 
$args['before_title'] . apply_filters'widget_title'$instance['title'], $instance$this->id_base ) . $args['after_title']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
        
}

        
// Form.
        
if ( ! empty( $instance['form_id'] ) ) {
            
wpforms()->frontend->outputabsint$instance['form_id'] ), $instance['show_title'], $instance['show_desc'] );
        }

        echo 
$args['after_widget']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    
}

    
/**
     * Deal with the settings when they are saved by the admin. Here is
     * where any validation should be dealt with.
     *
     * @since 1.0.2
     *
     * @param array $new_instance An array of new settings as submitted by the admin.
     * @param array $old_instance An array of the previous settings.
     *
     * @return array The validated and (if necessary) amended settings
     */
    
public function update$new_instance$old_instance ) {

        
$new_instance['title']      = wp_strip_all_tags$new_instance['title'] );
        
$new_instance['form_id']    = ! empty( $new_instance['form_id'] ) ? (int) $new_instance['form_id'] : 0;
        
$new_instance['show_title'] = isset( $new_instance['show_title'] ) ? '1' false;
        
$new_instance['show_desc']  = isset( $new_instance['show_desc'] ) ? '1' false;

        return 
$new_instance;
    }

    
/**
     * Display the form for this widget on the Widgets page of the WP Admin area.
     *
     * @since 1.0.2
     *
     * @param array $instance An array of the current settings for this widget.
     */
    
public function form$instance ) {

        
// Merge with defaults.
        
$instance wp_parse_args( (array) $instance$this->defaults );
        
?>
        <p>
            <label for="<?php echo esc_attr$this->get_field_id'title' ) ); ?>">
                <?php echo esc_html_x'Title:''Widget''wpforms-lite' ) ); ?>
            </label>
            <input type="text"
                   id="<?php echo esc_attr$this->get_field_id'title' ) ); ?>"
                   name="<?php echo esc_attr$this->get_field_name'title' ) ); ?>"
                   value="<?php echo esc_attr$instance['title'] ); ?>" class="widefat"/>
        </p>
        <p>
            <label for="<?php echo esc_attr$this->get_field_id'form_id' ) ); ?>">
                <?php echo esc_html_x'Form:''Widget''wpforms-lite' ) ); ?>
            </label>
            <select class="widefat"
                    id="<?php echo esc_attr$this->get_field_id'form_id' ) ); ?>"
                    name="<?php echo esc_attr$this->get_field_name'form_id' ) ); ?>">
                <?php
                $forms 
wpforms()->form->get();
                if ( ! empty( 
$forms ) ) {
                    echo 
'<option value="" selected disabled>' esc_html_x'Select your form''Widget''wpforms-lite' ) . '</option>';

                    foreach ( 
$forms as $form ) {
                        echo 
'<option value="' esc_attr$form->ID ) . '" ' selected$instance['form_id'], $form->IDfalse ) . '>' esc_html$form->post_title ) . '</option>';
                    }
                } else {
                    echo 
'<option value="">' esc_html_x'No forms''Widget''wpforms-lite' ) . '</option>';
                }
                
?>
            </select>
        </p>
        <p>
            <input type="checkbox" id="<?php echo esc_attr$this->get_field_id'show_title' ) ); ?>"
                   name="<?php echo esc_attr$this->get_field_name'show_title' ) ); ?><?php checked'1'$instance['show_title'] ); ?>>
            <label for="<?php echo esc_attr$this->get_field_id'show_title' ) ); ?>">
                <?php echo esc_html_x'Display form name''Widget''wpforms-lite' ) ); ?>
            </label>
            <br>
            <input type="checkbox" id="<?php echo esc_attr$this->get_field_id'show_desc' ) ); ?>"
                    name="<?php echo esc_attr$this->get_field_name'show_desc' ) ); ?><?php checked'1'$instance['show_desc'] ); ?>>
            <label for="<?php echo esc_attr$this->get_field_id'show_desc' ) ); ?>">
                <?php echo esc_html_x'Display form description''Widget''wpforms-lite' ) ); ?>
            </label>
        </p>
        <?php
    
}
}

/**
 * Register WPForms plugin widgets.
 */
function wpforms_register_widgets() {
    
register_widget'WPForms_Widget' );
}

add_action'widgets_init''wpforms_register_widgets' );
x

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