/home/mobivsrd/public_html/wp-contentMXc/themes/freeio/inc/vendors/elementor/widgets/countdown.php
<?php
namespace Elementor;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class Freeio_Elementor_Countdown extends Widget_Base {
public function get_name() {
return 'apus_element_countdown';
}
public function get_title() {
return esc_html__( 'Apus Countdown', 'freeio' );
}
public function get_categories() {
return [ 'freeio-elements' ];
}
protected function register_controls() {
$this->start_controls_section(
'content_section',
[
'label' => esc_html__( 'Countdown', 'freeio' ),
'tab' => Controls_Manager::TAB_CONTENT,
]
);
$this->add_control(
'title',
[
'label' => esc_html__( 'Title', 'freeio' ),
'type' => Controls_Manager::TEXT,
'placeholder' => esc_html__( 'Enter your title here', 'freeio' ),
]
);
$this->add_control(
'price',
[
'label' => esc_html__( 'Price', 'freeio' ),
'type' => Controls_Manager::TEXTAREA,
'placeholder' => esc_html__( 'Enter your Price here', 'freeio' ),
]
);
$this->add_control(
'des',
[
'label' => esc_html__( 'Content', 'freeio' ),
'type' => Controls_Manager::TEXTAREA,
'placeholder' => esc_html__( 'Enter your content here', 'freeio' ),
]
);
$this->add_control(
'end_date', [
'label' => esc_html__( 'End Date', 'freeio' ),
'type' => Controls_Manager::DATE_TIME,
'picker_options' => [
'enableTime' => false
]
]
);
$this->add_control(
'alignment',
[
'label' => esc_html__( 'Alignment', 'freeio' ),
'type' => Controls_Manager::CHOOSE,
'options' => [
'left' => [
'title' => esc_html__( 'Left', 'freeio' ),
'icon' => 'fa fa-align-left',
],
'center' => [
'title' => esc_html__( 'Center', 'freeio' ),
'icon' => 'fa fa-align-center',
],
'right' => [
'title' => esc_html__( 'Right', 'freeio' ),
'icon' => 'fa fa-align-right',
],
'justify' => [
'title' => esc_html__( 'Justified', 'freeio' ),
'icon' => 'fa fa-align-justify',
],
],
'default' => '',
'selectors' => [
'{{WRAPPER}} .widget-countdown' => 'text-align: {{VALUE}};',
],
]
);
$this->add_control(
'link',
[
'label' => esc_html__( 'URL', 'freeio' ),
'type' => Controls_Manager::TEXT,
'input_type' => 'url',
'placeholder' => esc_html__( 'Enter your Button Link here', 'freeio' ),
]
);
$this->add_control(
'btn_text',
[
'label' => esc_html__( 'Button Text', 'freeio' ),
'type' => Controls_Manager::TEXT,
'placeholder' => esc_html__( 'Enter your button text here', 'freeio' ),
]
);
$this->add_control(
'btn_style',
[
'label' => esc_html__( 'Button Style', 'freeio' ),
'type' => Controls_Manager::SELECT,
'options' => array(
'btn-theme' => esc_html__('Theme Color', 'freeio'),
'btn-theme btn-outline' => esc_html__('Theme Outline Color', 'freeio'),
'btn-default' => esc_html__('Default ', 'freeio'),
'btn-primary' => esc_html__('Primary ', 'freeio'),
'btn-success' => esc_html__('Success ', 'freeio'),
'btn-info' => esc_html__('Info ', 'freeio'),
'btn-warning' => esc_html__('Warning ', 'freeio'),
'btn-danger' => esc_html__('Danger ', 'freeio'),
'btn-pink' => esc_html__('Pink ', 'freeio'),
'btn-white' => esc_html__('White ', 'freeio'),
),
'default' => 'btn-default'
]
);
$this->add_control(
'style',
[
'label' => esc_html__( 'Style', 'freeio' ),
'type' => Controls_Manager::SELECT,
'options' => array(
'style1' => esc_html__('Style 1', 'freeio'),
'style2' => esc_html__('Style 2(showdow)', 'freeio'),
'style3' => esc_html__('Style 3(circle)', 'freeio'),
),
'default' => 'style1'
]
);
$this->add_control(
'el_class',
[
'label' => esc_html__( 'Extra class name', 'freeio' ),
'type' => Controls_Manager::TEXT,
'placeholder' => esc_html__( 'If you wish to style particular content element differently, please add a class name to this field and refer to it in your custom CSS file.', 'freeio' ),
]
);
$this->end_controls_section();
$this->start_controls_section(
'section_title_style',
[
'label' => esc_html__( 'Style', 'freeio' ),
'tab' => Controls_Manager::TAB_STYLE,
]
);
$this->add_control(
'title_color',
[
'label' => esc_html__( 'Title Color', 'freeio' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
// Stronger selector to avoid section style from overwriting
'{{WRAPPER}} .title' => 'color: {{VALUE}};',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'label' => esc_html__( 'Title Typography', 'freeio' ),
'name' => 'title_typography',
'selector' => '{{WRAPPER}} .title',
]
);
$this->add_control(
'desc_color',
[
'label' => esc_html__( 'Description Color', 'freeio' ),
'type' => Controls_Manager::COLOR,
'selectors' => [
// Stronger selector to avoid section style from overwriting
'{{WRAPPER}} .des' => 'color: {{VALUE}};',
],
]
);
$this->add_group_control(
Group_Control_Typography::get_type(),
[
'label' => esc_html__( 'Description Typography', 'freeio' ),
'name' => 'desc_typography',
'selector' => '{{WRAPPER}} .des',
]
);
$this->end_controls_section();
}
protected function render() {
$settings = $this->get_settings();
extract( $settings );
$end_date = !empty($end_date) ? strtotime($end_date) : '';
if ( $end_date ) {
wp_enqueue_script( 'countdown' );
?>
<div class="widget-countdown <?php echo esc_attr($el_class.' '.$style); ?>">
<?php if ( !empty($title) ) { ?>
<h2 class="title"><?php echo esc_html($title); ?></h2>
<?php } ?>
<?php if ( !empty($price) ) { ?>
<div class="price"><?php echo trim($price); ?></div>
<?php } ?>
<?php if ( !empty($des) ) { ?>
<div class="des"><?php echo trim($des); ?></div>
<?php } ?>
<div class="time-wrapper">
<div class="apus-countdown clearfix" data-time="timmer"
data-date="<?php echo date('m', $end_date).'-'.date('d', $end_date).'-'.date('Y', $end_date).'-'. date('H', $end_date) . '-' . date('i', $end_date) . '-' . date('s', $end_date) ; ?>">
</div>
</div>
<?php if ( !empty($btn_text) && !empty($link) ) { ?>
<div class="url-bottom">
<a href="<?php echo esc_url($link); ?>" class="btn <?php echo esc_attr(!empty($btn_style) ? $btn_style : ''); ?>"><?php echo esc_html($btn_text); ?></a>
</div>
<?php } ?>
</div>
<?php
}
}
}
if ( version_compare(ELEMENTOR_VERSION, '3.5.0', '<') ) {
Plugin::instance()->widgets_manager->register_widget_type( new Freeio_Elementor_Countdown );
} else {
Plugin::instance()->widgets_manager->register( new Freeio_Elementor_Countdown );
}