start_controls_section( 'mep_event_city_list_settings', [ 'label' => __( 'Event Countdown Settings', 'mage-eventpress' ), 'tab' => Controls_Manager::TAB_CONTENT, ] ); $this->add_control( 'mep_event_list', [ 'label' => __( 'Select Event', 'mage-eventpress' ), 'type' => Controls_Manager::SELECT, 'default' => '0', 'options' => mep_elementor_get_events('None'), ] ); $this->add_control( 'mep_event_date_type', [ 'label' => __( 'Event Start/End Date', 'mage-eventpress' ), 'type' => Controls_Manager::SELECT, 'default' => 'event_start_datetime', 'options' => [ 'event_start_datetime' => __( 'Start Datetime', 'mage-eventpress' ), 'event_expire_datetime' => __( 'End Datetime', 'mage-eventpress' ), 'event_upcoming_datetime' => __( 'Upcoming Datetime', 'mage-eventpress' ), ], ] ); $this->end_controls_section(); $this->start_controls_section( 'mep_event_city_style_settings', [ 'label' => __( 'Days Style Settings', 'mage-eventpress' ), 'tab' => Controls_Manager::TAB_CONTENT, ] ); $this->add_control( 'mep_event_cd_day_display', [ 'label' => __( 'Display?', 'mage-eventpress' ), 'type' => Controls_Manager::SELECT, 'default' => 'block', 'options' => [ 'block' => __( 'Yes', 'mage-eventpress' ), 'none' => __( 'No', 'mage-eventpress' ) ], 'separator' => 'none', 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#days' => 'display: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'mep_event_cd_day_type', 'scheme' => Typography::TYPOGRAPHY_3, 'selector' => '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#days span', ] ); $this->add_group_control( \Elementor\Group_Control_Border::get_type(), [ 'name' => 'mep_event_cd_day_border', 'label' => __( 'Border', 'plugin-domain' ), 'selector' => '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#days .wrapper', ] ); $this->add_control( 'mep_event_cd_day_bg_color', [ 'label' => __( 'Background Color', 'mage-eventpress' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#days .wrapper' => 'background: {{VALUE}};', ], ] ); $this->add_control( 'mep_event_cd_day_time_color', [ 'label' => __( 'Time Color', 'mage-eventpress' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#days .time' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'mep_event_cd_day_label_color', [ 'label' => __( 'Label Color', 'mage-eventpress' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#days .label' => 'color: {{VALUE}};', ], ] ); $this->add_responsive_control( 'mep_event_cd_day_padding', [ 'label' => __( 'Padding', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', 'em', '%', 'rem' ], 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#days .wrapper' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'mep_event_cd_day_border_radius', [ 'label' => __( 'Border Radius', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', 'em', '%', 'rem' ], 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#days .wrapper' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( \Elementor\Group_Control_Box_Shadow::get_type(), [ 'name' => 'mep_event_cd_day_box_shadow', 'label' => __( 'Box Shadow', 'plugin-domain' ), 'selector' => '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#days .wrapper', ] ); $this->end_controls_section(); $this->start_controls_section( 'mep_event_cd_hours_style_settings', [ 'label' => __( 'Hours Style Settings', 'mage-eventpress' ), 'tab' => Controls_Manager::TAB_CONTENT, ] ); $this->add_control( 'mep_event_cd_hours_display', [ 'label' => __( 'Display?', 'mage-eventpress' ), 'type' => Controls_Manager::SELECT, 'default' => 'block', 'options' => [ 'block' => __( 'Yes', 'mage-eventpress' ), 'none' => __( 'No', 'mage-eventpress' ) ], 'separator' => 'none', 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#hours' => 'display: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'mep_event_cd_hours_type', 'scheme' => Typography::TYPOGRAPHY_3, 'selector' => '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#hours span', ] ); $this->add_group_control( \Elementor\Group_Control_Border::get_type(), [ 'name' => 'mep_event_cd_hours_border', 'label' => __( 'Border', 'plugin-domain' ), 'selector' => '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#hours .wrapper', ] ); $this->add_control( 'mep_event_cd_hours_bg_color', [ 'label' => __( 'Background Color', 'mage-eventpress' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#hours .wrapper' => 'background: {{VALUE}};', ], ] ); $this->add_control( 'mep_event_cd_hours_time_color', [ 'label' => __( 'Time Color', 'mage-eventpress' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#hours .time' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'mep_event_cd_hours_label_color', [ 'label' => __( 'Label Color', 'mage-eventpress' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#hours .label' => 'color: {{VALUE}};', ], ] ); $this->add_responsive_control( 'mep_event_cd_hours_padding', [ 'label' => __( 'Padding', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', 'em', '%', 'rem' ], 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#hours .wrapper' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'mep_event_cd_hours_border_radius', [ 'label' => __( 'Border Radius', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', 'em', '%', 'rem' ], 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#hours .wrapper' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( \Elementor\Group_Control_Box_Shadow::get_type(), [ 'name' => 'mep_event_cd_hours_box_shadow', 'label' => __( 'Box Shadow', 'plugin-domain' ), 'selector' => '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#hours .wrapper', ] ); $this->end_controls_section(); $this->start_controls_section( 'mep_event_cd_minutes_style_settings', [ 'label' => __( 'Minutes Style Settings', 'mage-eventpress' ), 'tab' => Controls_Manager::TAB_CONTENT, ] ); $this->add_control( 'mep_event_cd_minutes_display', [ 'label' => __( 'Display?', 'mage-eventpress' ), 'type' => Controls_Manager::SELECT, 'default' => 'block', 'options' => [ 'block' => __( 'Yes', 'mage-eventpress' ), 'none' => __( 'No', 'mage-eventpress' ) ], 'separator' => 'none', 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#minutes' => 'display: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'mep_event_cd_minutes_type', 'scheme' => Typography::TYPOGRAPHY_3, 'selector' => '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#minutes span', ] ); $this->add_group_control( \Elementor\Group_Control_Border::get_type(), [ 'name' => 'mep_event_cd_minutes_border', 'label' => __( 'Border', 'plugin-domain' ), 'selector' => '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#minutes .wrapper', ] ); $this->add_control( 'mep_event_cd_minutes_bg_color', [ 'label' => __( 'Background Color', 'mage-eventpress' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#minutes .wrapper' => 'background: {{VALUE}};', ], ] ); $this->add_control( 'mep_event_cd_minutes_time_color', [ 'label' => __( 'Time Color', 'mage-eventpress' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#minutes .time' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'mep_event_cd_minutes_label_color', [ 'label' => __( 'Label Color', 'mage-eventpress' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#minutes .label' => 'color: {{VALUE}};', ], ] ); $this->add_responsive_control( 'mep_event_cd_minutes_padding', [ 'label' => __( 'Padding', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', 'em', '%', 'rem' ], 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#minutes .wrapper' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'mep_event_cd_minutes_border_radius', [ 'label' => __( 'Border Radius', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', 'em', '%', 'rem' ], 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#minutes .wrapper' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( \Elementor\Group_Control_Box_Shadow::get_type(), [ 'name' => 'mep_event_cd_minutes_box_shadow', 'label' => __( 'Box Shadow', 'plugin-domain' ), 'selector' => '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#minutes .wrapper', ] ); $this->end_controls_section(); $this->start_controls_section( 'mep_event_cd_seconds_style_settings', [ 'label' => __( 'Seconds Style Settings', 'mage-eventpress' ), 'tab' => Controls_Manager::TAB_CONTENT, ] ); $this->add_control( 'mep_event_cd_seconds_display', [ 'label' => __( 'Display?', 'mage-eventpress' ), 'type' => Controls_Manager::SELECT, 'default' => 'block', 'options' => [ 'block' => __( 'Yes', 'mage-eventpress' ), 'none' => __( 'No', 'mage-eventpress' ) ], 'separator' => 'none', 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#seconds' => 'display: {{VALUE}};', ], ] ); $this->add_group_control( Group_Control_Typography::get_type(), [ 'name' => 'mep_event_cd_seconds_type', 'scheme' => Typography::TYPOGRAPHY_3, 'selector' => '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#seconds span', ] ); $this->add_group_control( \Elementor\Group_Control_Border::get_type(), [ 'name' => 'mep_event_cd_seconds_border', 'label' => __( 'Border', 'plugin-domain' ), 'selector' => '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#seconds .wrapper', ] ); $this->add_control( 'mep_event_cd_seconds_bg_color', [ 'label' => __( 'Background Color', 'mage-eventpress' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#seconds .wrapper' => 'background: {{VALUE}};', ], ] ); $this->add_control( 'mep_event_cd_seconds_time_color', [ 'label' => __( 'Time Color', 'mage-eventpress' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#seconds .time' => 'color: {{VALUE}};', ], ] ); $this->add_control( 'mep_event_cd_seconds_label_color', [ 'label' => __( 'Label Color', 'mage-eventpress' ), 'type' => Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#seconds .label' => 'color: {{VALUE}};', ], ] ); $this->add_responsive_control( 'mep_event_cd_seconds_padding', [ 'label' => __( 'Padding', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', 'em', '%', 'rem' ], 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#seconds .wrapper' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_responsive_control( 'mep_event_cd_seconds_border_radius', [ 'label' => __( 'Border Radius', 'elementor' ), 'type' => Controls_Manager::DIMENSIONS, 'size_units' => [ 'px', 'em', '%', 'rem' ], 'selectors' => [ '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#seconds .wrapper' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};', ], ] ); $this->add_group_control( \Elementor\Group_Control_Box_Shadow::get_type(), [ 'name' => 'mep_event_cd_seconds_box_shadow', 'label' => __( 'Box Shadow', 'plugin-domain' ), 'selector' => '{{WRAPPER}} .mep-elementor-widget-countdown .mep-event-countdown-timer div#seconds .wrapper', ] ); $this->end_controls_section(); } protected function render() { global $post; $settings = $this->get_settings_for_display(); $user_select_event = $settings['mep_event_list']; $datetype = $settings['mep_event_date_type']; $event_id = $user_select_event > 0 ? $user_select_event : $post->ID; $event_datetime = get_post_meta($event_id,$datetype,true) ? get_post_meta($event_id,$datetype,true) : ''; $year = get_mep_datetime($event_datetime,'year-full'); $month = get_mep_datetime($event_datetime,'month'); $day = get_mep_datetime($event_datetime,'day'); $hour = get_mep_datetime($event_datetime,'Hour'); $minute = get_mep_datetime($event_datetime,'minute'); $second = get_mep_datetime($event_datetime,'second'); $timezone = get_mep_datetime($event_datetime,'timezone'); ?>