HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: /home/mmickelson/otbproductions.org/wp-content/plugins/fv-wordpress-flowplayer/models/widget.php
<?php

if( class_exists('WP_Widget') ) :

class FV_Player_Widget extends WP_Widget {

  public function __construct() {

    add_action('widgets_init', array($this, 'widget_init'));

    $widget_ops = array('classname' => 'widget_fvplayer', 'description' => __('FV Player widget.'));
    $control_ops = array('width' => 400, 'height' => 350);
    parent::__construct('widget_fvplayer', __('FV Player'), $widget_ops, $control_ops);
  }

  function widget_init() {
    register_widget('FV_Player_widget');
    add_action('admin_footer', array($this, 'formFooter'), 0 );
  }

  /**
   * Outputs the content for the current Text widget instance.
   *
   * @since 2.8.0
   * @access public
   *
   * @param array $args     Display arguments including 'before_title', 'after_title',
   *                        'before_widget', and 'after_widget'.
   * @param array $instance Settings for the current Text widget instance.
   */
  public function widget($args, $instance) {

    /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
    $title = apply_filters('widget_title', empty($instance['title']) ? '' : $instance['title'], $instance, $this->id_base);

    $widget_text = !empty($instance['text']) ? $instance['text'] : '';

    /**
     * Filter the content of the Text widget.
     *
     * @since 2.3.0
     * @since 4.4.0 Added the `$this` parameter.
     *
     * @param string         $widget_text The widget content.
     * @param array          $instance    Array of settings for the current widget.
     * @param WP_Widget_Text $this        Current Text widget instance.
     */
    $text = apply_filters('widget_text', $widget_text, $instance, $this);

    echo $args['before_widget'];
    if (!empty($title)) {
      echo $args['before_title'] . $title . $args['after_title'];
    }
    ?>
    <div class="textwidget"><?php echo!empty($instance['filter']) ? wpautop($text) : $text; ?></div>
    <?php
    echo $args['after_widget'];
  }

  /**
   * Handles updating settings for the current Text widget instance.
   *
   * @since 2.8.0
   * @access public
   *
   * @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) {
    $instance = $old_instance;
    $instance['title'] = sanitize_text_field($new_instance['title']);
    if (current_user_can('unfiltered_html'))
      $instance['text'] = $new_instance['text'];
    else
      $instance['text'] = wp_kses_post(stripslashes($new_instance['text']));
    $instance['filter'] = !empty($new_instance['filter']);
    return $instance;
  }

  /**
   * Outputs the Text widget settings form.
   *
   * @since 2.8.0
   * @access public
   *
   * @param array $instance Current settings.
   */
  public function form($instance) {
    add_action('admin_head', 'wp_enqueue_media');    
    
    $instance = wp_parse_args((array) $instance, array('title' => '', 'text' => ''));
    $filter = isset($instance['filter']) ? $instance['filter'] : 0;
    $title = sanitize_text_field($instance['title']);

    //var_dump($this->number);
    ?><p><label for = "<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?></label>

      <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo esc_attr($title); ?>" /></p>

    <p>
      <style>
        .wp-customizer .fv-wordpress-flowplayer-button { display: none; }
      </style>
      <label for="<?php echo $this->get_field_id('text'); ?>"><?php _e('Player'); ?>:</label>&nbsp;&nbsp;
      <input type="button" id="widget-widget_fvplayer-<?php echo $this->number; ?>-savewidget" class="button button-primary left fv-wordpress-flowplayer-button"  data-number="<?php echo $this->number; ?>" value="<?php _e( strlen( trim($instance['text']) ) ? 'Edit' : 'Add' ); ?>">    

      <textarea class="widefat" rows="5" cols="5" id="<?php echo $this->get_field_id('text'); ?>" name="<?php echo $this->get_field_name('text'); ?>"><?php echo esc_textarea($instance['text']); ?></textarea>
    </p>
    <?php
  }

  function formFooter() {
    if( function_exists('get_current_screen') ) {
      $objScreen = get_current_screen();
      if( $objScreen && $objScreen->base != 'widgets' ) return;
    }
    
    fv_wp_flowplayer_edit_form_after_editor();
    fv_player_shortcode_editor_scripts_enqueue();
  }

}

$FV_Player_Widget = new FV_Player_Widget();

endif;