You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
5.1 KiB
88 lines
5.1 KiB
<?php
|
|
if (!defined('UAP_CORE') && !defined('ABSPATH')) exit;
|
|
class lepopup_widget extends WP_Widget {
|
|
function __construct() {
|
|
parent::__construct(false, esc_html__('Green Popups', 'lepopup'));
|
|
}
|
|
|
|
function widget($args, $instance) {
|
|
global $lepopup, $wpdb;
|
|
$content = '';
|
|
$form_id = $lepopup->wpml_parse_form_id($instance['form-id']);
|
|
include_once(dirname(__FILE__).'/modules/core-front.php');
|
|
$html = lepopup_front_class::shortcode_handler(array('id' => $form_id));
|
|
if (!empty($html)) {
|
|
$content = $args['before_widget'].'<div style="clear:both; max-width:'.$instance['width-max'].'px; margin:'.$instance['margin-top'].'px '.$instance['margin-right'].'px '.$instance['margin-bottom'].'px '.$instance['margin-left'].'px;">'.$html.'</div>'.$args['after_widget'];
|
|
}
|
|
echo $content;
|
|
}
|
|
|
|
function update($new_instance, $old_instance) {
|
|
global $lepopup, $wpdb;
|
|
$instance = $old_instance;
|
|
$instance['form-id'] = $lepopup->wpml_compile_form_id(strip_tags($new_instance['form-id']), $instance['form-id']);
|
|
$instance['width-max'] = intval($new_instance['width-max']);
|
|
$instance['margin-top'] = intval($new_instance['margin-top']);
|
|
$instance['margin-bottom'] = intval($new_instance['margin-bottom']);
|
|
$instance['margin-left'] = intval($new_instance['margin-left']);
|
|
$instance['margin-right'] = intval($new_instance['margin-right']);
|
|
return $instance;
|
|
}
|
|
|
|
function form($instance) {
|
|
global $lepopup, $wpdb;
|
|
$instance = wp_parse_args((array)$instance, array('form-id' => '', 'margin-top' => 0, 'margin-bottom' => 0, 'margin-left' => 0, 'margin-right' => 0, 'width-max' => 320));
|
|
$popup_selected = $lepopup->wpml_parse_form_id(strip_tags($instance['form-id']));
|
|
$margin_top = intval($instance['margin-top']);
|
|
$margin_bottom = intval($instance['margin-bottom']);
|
|
$margin_right = intval($instance['margin-right']);
|
|
$margin_left = intval($instance['margin-left']);
|
|
$width_max = intval($instance['width-max']);
|
|
|
|
$forms = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix."lepopup_forms WHERE deleted = '0' AND active = '1' ORDER BY active DESC, id DESC", ARRAY_A);
|
|
|
|
echo '
|
|
<p>
|
|
<label for="'.$this->get_field_id('form-id').'">'.esc_html__('Popups', 'lepopup').':</label>';
|
|
if (sizeof($forms) > 0) {
|
|
$status = -1;
|
|
echo '
|
|
<select class="widefat" id="'.$this->get_field_id('form-id').'" name="'.$this->get_field_name('form-id').'">';
|
|
foreach($forms as $form) {
|
|
if ($form['active'] != $status) {
|
|
if ($form['active'] == 1) echo '<option disabled="disabled">--------- '.esc_html__('Active popups', 'lepopup').' ---------</option>';
|
|
else echo '<option disabled="disabled">--------- '.esc_html__('Inactive popups', 'lepopup').' ---------</option>';
|
|
$status = $form['active'];
|
|
}
|
|
if ($popup_selected == $form['id']) {
|
|
echo '
|
|
<option value="'.$form['id'].'" selected="selected"'.($form['active'] == 1 ? '' : ' disabled="disabled"').'>'.esc_html($form['name']).'</option>';
|
|
} else {
|
|
echo '
|
|
<option value="'.$form['id'].'"'.($form['active'] == 1 ? '' : ' disabled="disabled"').'>'.esc_html($form['name']).'</option>';
|
|
}
|
|
}
|
|
echo '
|
|
</select>';
|
|
} else {
|
|
echo esc_html__('Create at least one popup.', 'lepopup');
|
|
}
|
|
echo '
|
|
</p>
|
|
<p>
|
|
<label class="lepopup-widget-label" for="'.$this->get_field_id("margin-top").'">'.esc_html__('Top margin', 'lepopup').':</label>
|
|
<input class="lepopup-widget-tiny-text" id="'.$this->get_field_id('margin-top').'" name="'.$this->get_field_name('margin-top').'" type="number" step="1" min="-20" value="'.$margin_top.'" size="3"> '.esc_html__('px', 'lepopup').'
|
|
<label class="lepopup-widget-label" for="'.$this->get_field_id("margin-bottom").'">'.esc_html__('Bottom margin', 'lepopup').':</label>
|
|
<input class="lepopup-widget-tiny-text" id="'.$this->get_field_id('margin-bottom').'" name="'.$this->get_field_name('margin-bottom').'" type="number" step="1" min="-20" value="'.$margin_bottom.'" size="3"> '.esc_html__('px', 'lepopup').'
|
|
<label class="lepopup-widget-label" for="'.$this->get_field_id("margin-left").'">'.esc_html__('Left margin', 'lepopup').':</label>
|
|
<input class="lepopup-widget-tiny-text" id="'.$this->get_field_id('margin-left').'" name="'.$this->get_field_name('margin-left').'" type="number" step="1" min="-20" value="'.$margin_left.'" size="3"> '.esc_html__('px', 'lepopup').'
|
|
<label class="lepopup-widget-label" for="'.$this->get_field_id("margin-right").'">'.esc_html__('Right margin', 'lepopup').':</label>
|
|
<input class="lepopup-widget-tiny-text" id="'.$this->get_field_id('margin-right').'" name="'.$this->get_field_name('margin-right').'" type="number" step="1" min="-20" value="'.$margin_right.'" size="3"> '.esc_html__('px', 'lepopup').'
|
|
</p>
|
|
<p>
|
|
<label class="lepopup-widget-label" for="'.$this->get_field_id("width-max").'">'.esc_html__('Max width', 'lepopup').':</label>
|
|
<input class="lepopup-widget-tiny-text" id="'.$this->get_field_id('width-max').'" name="'.$this->get_field_name('width-max').'" type="number" step="1" min="120" value="'.$width_max.'" size="3"> '.esc_html__('px', 'lepopup').'
|
|
</p>';
|
|
}
|
|
}
|
|
?>
|