/home/arranoyd/mice/wp-content/plugins/contact-form-maker/admin/controllers/Widget.php
<?php
/**
* Class FMControllerWidget_fmc
*/
class FMControllerWidget_fmc extends WP_Widget {
/**
* PLUGIN = 2 points to Contact Form Maker
*/
const PLUGIN = 2;
private $view;
private $model;
public function __construct() {
$widget_ops = array(
'classname' => 'form_maker_widget',
'description' => sprintf(__('Add %s widget.', WDFMInstance(self::PLUGIN)->prefix), WDFMInstance(self::PLUGIN)->nicename),
);
// Widget Control Settings.
$control_ops = array( 'id_base' => 'form_maker_widget' );
// Create the widget.
parent::__construct('form_maker_widget', WDFMInstance(self::PLUGIN)->nicename, $widget_ops, $control_ops);
require_once WDFMInstance(self::PLUGIN)->plugin_dir . "/admin/models/Widget.php";
$this->model = new FMModelWidget_fmc();
require_once WDFMInstance(self::PLUGIN)->plugin_dir . "/admin/views/Widget.php";
$this->view = new FMViewWidget_fmc($this->model);
}
/**
* Widget.
*
* @param array $args
* @param array $instance
*/
public function widget( $args = array(), $instance = array() ) {
if( get_the_title() == 'Preview' && get_post_type() == 'form-maker' . WDFMInstance(self::PLUGIN)->plugin_postfix ) {
return;
}
$contact_form_forms = explode(',', get_option('contact_form_forms'));
$instance['title'] = isset($instance['title']) ? $instance['title'] : '';
$instance['form_id'] = isset($instance['form_id']) ? $instance['form_id'] : 0;
if ( !WDFMInstance(self::PLUGIN)->is_free || !in_array($instance['form_id'], $contact_form_forms) ) {
if ( class_exists('WDFM') ) {
require_once(WDFMInstance(self::PLUGIN)->plugin_dir . '/frontend/controllers/form_maker.php');
$controller_class = 'FMControllerForm_maker';
}
else {
return;
}
}
else {
if ( class_exists('WDCFM') ) {
require_once(WDFMInstance(2)->plugin_dir . '/frontend/controllers/form_maker.php');
$controller_class = 'FMControllerForm_maker_fmc';
}
else {
return;
}
}
$controller = new $controller_class();
$execute = $controller->execute($instance['form_id']);
$this->view->widget($args, $instance, $execute);
}
/**
* Form.
*
* @param array $instance
*/
public function form( $instance = array() ) {
$ids_FM = $this->model->get_gallery_rows_data(); // ids_Form_Maker
$this->view->form($instance, $ids_FM, parent::get_field_id('title'), parent::get_field_name('title'), parent::get_field_id('form_id'), parent::get_field_name('form_id'));
}
/**
* Update.
*
* @param $new_instance
* @param $old_instance
* @return mixed
*/
public function update( $new_instance = array(), $old_instance = array() ) {
$instance['title'] = isset($new_instance['title']) ? $new_instance['title'] : '';
$instance['form_id'] = isset($new_instance['form_id']) ? $new_instance['form_id'] : 0;
return $instance;
}
}