<?php if ( ! defined( 'ABSPATH' ) ) { die( 'You are not allowed to call this page directly.' ); } class FrmShowForm extends WP_Widget { public function __construct() { $widget_ops = array( 'description' => __( 'Display a Formidable Form', 'formidable' ) ); parent::__construct( 'frm_show_form', __( 'Formidable Form', 'formidable' ), $widget_ops ); } /** * @param array $args * @param array $instance * * @return void */ public function widget( $args, $instance ) { $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base ); FrmAppHelper::kses_echo( $args['before_widget'], 'all' ); echo '<div class="frm_form_widget">'; if ( $title ) { FrmAppHelper::kses_echo( $args['before_title'] . stripslashes( $title ) . $args['after_title'], 'all' ); } $form_atts = array( 'id' => $instance['form'] ?? 0, 'title' => false, 'description' => $instance['description'] ?? false, ); echo FrmFormsController::get_form_shortcode( $form_atts ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo '</div>'; FrmAppHelper::kses_echo( $args['after_widget'], 'all' ); } /** * @param array $new_instance New settings for this instance as input by the user via * WP_Widget::form(). * @param array $old_instance Old settings for this instance. * * @return array Settings to save or bool false to cancel saving. */ public function update( $new_instance, $old_instance ) { return $new_instance; } /** * Outputs the settings update form. * * @param array $instance Current settings. * * @return string Default return is 'noform'. */ public function form( $instance ) { $defaults = array( 'title' => false, 'form' => false, 'description' => false, ); $instance = wp_parse_args( $instance, $defaults ); ?> <p> <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"> <?php esc_html_e( 'Title', 'formidable' ); ?>: </label> <br/> <input type="text" class="widefat" 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( stripslashes( $instance['title'] ) ); ?>"/> </p> <p> <label for="<?php echo esc_attr( $this->get_field_id( 'form' ) ); ?>"> <?php esc_html_e( 'Form', 'formidable' ); ?>: </label><br/> <?php FrmFormsHelper::forms_dropdown( $this->get_field_name( 'form' ), $instance['form'], array( 'blank' => false, 'field_id' => $this->get_field_id( 'form' ), 'class' => 'widefat', ) ); ?> </p> <p> <label for="<?php echo esc_attr( $this->get_field_id( 'description' ) ); ?>"> <input class="checkbox" type="checkbox" <?php checked( $instance['description'], true ); ?> id="<?php echo esc_attr( $this->get_field_id( 'description' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'description' ) ); ?>" value="1" /> <?php esc_html_e( 'Show Description', 'formidable' ); ?> </label> </p> <?php return ''; } }