# fluentform/4.3.13/app/Modules/Widgets/SidebarWidgets.php

Fluent Forms – Customizable Contact Forms, Survey, Quiz, &amp; Conversational Form Builder, version 4.3.13. 91 lines.

- Page: https://pluginprobe.com/plugins/fluentform/4.3.13/code/app/Modules/Widgets/SidebarWidgets.php
- Raw: https://pluginprobe.com/plugins/fluentform/4.3.13/raw/app/Modules/Widgets/SidebarWidgets.php
- Modified: 2022-10-07T15:25:42+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/fluentform/4.3.13/code/app/Modules/Widgets/SidebarWidgets.php#L10-L20`.

```php
<?php

namespace FluentForm\App\Modules\Widgets;

class SidebarWidgets extends \WP_Widget
{
    function __construct()
    {
        parent::__construct(
            'fluentform_widget',
            esc_html__('Fluent Forms Widget', 'fluentform'),
            array('description' => esc_html__('Add your form by Fluent Forms', 'fluentform'),)
        );
    }

    public function widget($args, $instance)
    {
        $selectedForm = empty($instance['allforms']) ? '' : intval($instance['allforms']);

        if(!$selectedForm) {
            return;
        }

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

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

        if ($selectedForm != '') {
            $shortcode = "[fluentform id='$selectedForm']";
            echo do_shortcode($shortcode); // phpcs:ignore WordPress.XSS.EscapeOutput.OutputNotEscaped
        }

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

    }

    public function form($instance)
    {
        $selectedForm = empty($instance['allforms']) ? '' : $instance['allforms'];
       
        if (isset($instance['title'])) {
            $title = $instance['title'];
        } else {
            $title = __('', 'fluentform');
        }
        // Widget admin form
        ?>
        <p>
            <label for="<?php echo esc_attr($this->get_field_id('title')); ?>"><?php _e('Title (optional):', 'fluentform'); ?></label>
            <input class="widefat" id="<?php echo esc_attr($this->get_field_id('title')); ?>"
                   name="<?php echo esc_attr($this->get_field_name('title')); ?>" type="text"
                   value="<?php echo esc_attr($title); ?>"/>
        </p>
        <?php
        $forms = wpFluent()->table('fluentform_forms')
            ->select(array('id', 'title'))
            ->orderBy('id', 'DESC')
            ->get();
        ?>
        
        <label for="<?php echo esc_attr($this->get_field_id('allforms')); ?>">Select a form:
            <select style="margin-bottom: 12px;" class='widefat' id="<?php echo esc_attr($this->get_field_id('allforms')); ?>"
                    name="<?php echo esc_attr($this->get_field_name('allforms')); ?>" type="text"
            >
                <?php
                foreach ($forms as $item) {
                    ?>
                    <option <?php if ($item->id == $selectedForm) {
                        echo 'selected';
                    } ?> value='<?php echo esc_attr($item->id); ?>'>
                        <?php echo esc_html($item->title); ?> (<?php echo esc_attr($item->id); ?>)
                    </option>
                    <?php
                }
                ?>
            </select>
        </label>
            <?php
    }

    public function update($new_instance, $old_instance)
    {
        $instance = array();
        $instance['title'] = (!empty($new_instance['title'])) ? strip_tags($new_instance['title']) : '';
        $instance['allforms'] = intval($new_instance['allforms']);
        return $instance;
    }
}

```
