<ul class="timeline">
      <?php 
$temp_wp_query = clone $wp_query;
$today = date('Y-m-d');
$currentTime = date(get_option('time_format'));
$upcomingEvents = '';
/*$event_category = get_post_meta(get_the_ID(),'imic_advanced_event_list_taxonomy',true);
if(!empty($event_category)){
$event_categories= get_term_by('id',$event_category,'event-category');
$event_category= $event_categories->slug; }*/
$event_category = imic_get_term_category(get_the_ID(), 'imic_advanced_event_list_taxonomy');
$event_add = imic_recur_events('future', 'nos', $event_category, '');
$nos_event = 1;
$month_check = 1;
$google_events = getGoogleEvent();
if (!empty($google_events)) {
    $new_events = $google_events + $event_add;
} else {
    $new_events = $event_add;
}
ksort($new_events);
$month_tag = '';
foreach ($new_events as $key => $value) {
    $frequency = get_post_meta(get_the_ID(), 'imic_event_frequency', true);
    $frequency_count = get_post_meta(get_the_ID(), 'imic_event_frequency_count', true);
    if ($month_tag != imic_global_month_name($key)) {
        $month_check = 1;
    }
    $year_tag = date_i18n('Y', $key);
    if ($month_check == 1) {
function imic_event($atts, $content = null)
{
    extract(shortcode_atts(array("number" => 10, "title" => "", "category" => "", "style" => "", "type" => ""), $atts));
    $output = '';
    $number = $number == '' ? 10 : $number;
    if ($type == 'future') {
        $future_events = imic_recur_events("future", "", $category, "");
        $google_events = getGoogleEvent();
        $events = $future_events + $google_events;
        ksort($events);
    } else {
        $events = imic_recur_events("past", "", $category, "");
        krsort($events);
    }
    if ($style == "list") {
        $count = 1;
        $output .= '<div class="listing events-listing">
	<header class="listing-header">
            	<div class="row">
                	<div class="col-md-12 col-sm-12">
          				<h3>' . esc_attr($title) . '</h3>
                  </div>
							</div>
							</header>';
        $output .= '<section class="listing-cont">
              <ul>';
        if (!empty($events)) {
            foreach ($events as $key => $value) {
                if (preg_match('/^[0-9]+$/', $value)) {
                    $eventStartTime = strtotime(get_post_meta($value, 'imic_event_start_tm', true));
                    $eventStartDate = strtotime(get_post_meta($value, 'imic_event_start_dt', true));
                    $eventEndTime = strtotime(get_post_meta($value, 'imic_event_end_tm', true));
                    $eventEndDate = strtotime(get_post_meta($value, 'imic_event_end_dt', true));
                    $evstendtime = $eventStartTime . '|' . $eventEndTime;
                    $evstenddate = $eventStartDate . '|' . $eventEndDate;
                    $date_converted = date('Y-m-d', $key);
                    $custom_event_url = imic_query_arg($date_converted, $value);
                    $event_dt_out = imic_get_event_timeformate($evstendtime, $evstenddate, $value, $key);
                    $event_dt_out = explode('BR', $event_dt_out);
                    if ($eventStartTime != '') {
                        $eventStartTime = date(get_option('time_format'), $eventStartTime);
                    }
                    $custom_event_url = imic_query_arg($date_converted, $value);
                    $event_title = get_the_title($value);
                    $stime = '';
                    if ($eventStartTime != '') {
                        $stime = ' | ' . $eventStartTime;
                    }
                } else {
                    $google_data = explode('!', $value);
                    $event_title = $google_data[0];
                    $custom_event_url = $google_data[1];
                    $options = get_option('imic_options');
                    $eventTime = $key;
                    if ($eventTime != '') {
                        $eventTime = date_i18n(get_option('time_format'), $key);
                    }
                    $eventEndTime = $google_data[2];
                    if ($eventEndTime != '') {
                        $eventEndTime = ' - ' . date_i18n(get_option('time_format'), strtotime($eventEndTime));
                    }
                    $eventAddress = $google_data[3];
                    $event_dt_out = imic_get_event_timeformate($key . '|' . strtotime($google_data[2]), $key . '|' . $key, $value, $key);
                    $event_dt_out = explode('BR', $event_dt_out);
                }
                $output .= '<li class="item event-item">	
             			<div class="event-date"> 
										<span class="date">' . date_i18n('d', $key) . '</span>
                       <span class="month">' . imic_global_month_name($key) . '</span>
									</div>
                	<div class="event-detail">
            				<h4>
                			<a href="' . $custom_event_url . '">
					   ' . $event_title . ' </a>' . imicRecurrenceIcon($value) . '
                 		</h4>
                  	<span class="event-dayntime meta-data">
					   				' . $event_dt_out[1] . ',&nbsp;&nbsp;' . $event_dt_out[0] . '</span> 
									</div>
                	<div class="to-event-url">
              	<div>
								<a href="' . $custom_event_url . '" class="btn btn-default btn-sm">' . __('Details', 'framework') . '</a></div>
                      </div>
                    </li>';
                if ($count++ >= $number) {
                    break;
                }
            }
        }
        $output .= '</ul>
				</section></div>';
    } else {
        $output .= '<header class="listing-header">
            	<div class="row">
                	<div class="col-md-12 col-sm-12">
          				<h3>' . esc_attr($title) . '</h3>
                  </div>
							</div>
							</header>';
        $output .= '<div class="container"><div class="row">';
        $output .= '<ul class="grid-holder col-3 events-grid">';
        $paged = get_query_var('paged') ? get_query_var('paged') : 1;
        $count = 1;
        $grid_item = 1;
        $perPage = get_option('posts_per_page');
        $paginate = 1;
        if ($paged > 1) {
            $paginate = ($paged - 1) * $perPage;
            $paginate = $paginate + 1;
        }
        $TotalEvents = count($events);
        if ($TotalEvents % $perPage == 0) {
            $TotalPages = $TotalEvents / $perPage;
        } else {
            $TotalPages = $TotalEvents / $perPage;
            $TotalPages = $TotalPages + 1;
        }
        foreach ($events as $key => $value) {
            if (preg_match('/^[0-9]+$/', $value)) {
                $google_flag = 1;
            } else {
                $google_flag = 2;
            }
            if ($google_flag == 1) {
                setup_postdata(get_post($value));
                $eventStartTime = strtotime(get_post_meta($value, 'imic_event_start_tm', true));
                $eventStartDate = strtotime(get_post_meta($value, 'imic_event_start_dt', true));
                $eventEndTime = strtotime(get_post_meta($value, 'imic_event_end_tm', true));
                $eventEndDate = strtotime(get_post_meta($value, 'imic_event_end_dt', true));
                $event_dt_out = imic_get_event_timeformate($eventStartTime . '|' . $eventEndTime, $eventStartDate . '|' . $eventEndDate, $value, $key);
                $event_dt_out = explode('BR', $event_dt_out);
                $registration_status = get_post_meta($value, 'imic_event_registration_status', true);
                /** Event Details Manage **/
                if ($registration_status == 1 && function_exists('imic_get_currency_symbol')) {
                    $eventDetailIcons = array('fa-calendar', 'fa-clock-o', 'fa-map-marker', 'fa-money');
                } else {
                    $eventDetailIcons = array('fa-calendar', 'fa-clock-o', 'fa-map-marker');
                }
                $stime = "";
                $etime = "";
                if ($eventStartTime != '') {
                    $stime = ' | ' . date_i18n(get_option('time_format'), $eventStartTime);
                }
                if ($eventEndTime != '') {
                    $etime = ' - ' . date_i18n(get_option('time_format'), $eventEndTime);
                }
                if ($registration_status == 1 && function_exists('imic_get_currency_symbol')) {
                    $event_registration_fee = get_post_meta($value, 'imic_event_registration_fee', true);
                    $registration_charge = $event_registration_fee == '' ? 'Free' : imic_get_currency_symbol(get_option('paypal_currency_options')) . get_post_meta($value, 'imic_event_registration_fee', true);
                    $eventDetailsData = array($event_dt_out[1], $event_dt_out[0], get_post_meta($value, 'imic_event_address', true), $registration_charge);
                    /*
                    $eventDetailsData = array(date_i18n('j M, ',$key).date_i18n('l',$key). $stime .  $etime, get_post_meta($value,'imic_event_address',true),$registration_charge);
                    */
                } else {
                    /*$eventDetailsData = array(date_i18n('j M, ',$key).date_i18n('l',$key). $stime .  $etime, get_post_meta($value,'imic_event_address',true));*/
                    $eventDetailsData = array($event_dt_out[1], $event_dt_out[0], get_post_meta($value, 'imic_event_address', true));
                }
                $eventValues = array_filter($eventDetailsData, 'strlen');
            }
            if ($count == $paginate && $grid_item <= $perPage) {
                $paginate++;
                $grid_item++;
                if ($google_flag == 1) {
                    $frequency = get_post_meta($value, 'imic_event_frequency', true);
                }
                //if ('' != get_the_post_thumbnail($value)) {
                $output .= '<li class="grid-item format-standard">';
                if ($google_flag == 1) {
                    $date_converted = date('Y-m-d', $key);
                    $custom_event_url = imic_query_arg($date_converted, $value);
                }
                if ($google_flag == 2) {
                    $google_data = explode('!', $value);
                    $event_title = $google_data[0];
                    $custom_event_url = $google_data[1];
                    $stime = "";
                    $etime = "";
                    $etime = $google_data[2];
                    if ($key != '') {
                        $stime = ' | ' . date_i18n(get_option('time_format'), $key);
                    }
                    if ($etime != '') {
                        $etime = ' - ' . date_i18n(get_option('time_format'), strtotime($etime));
                    }
                    $eventAddress = $google_data[3];
                    /* $eventDetailsData = array(date_i18n('j M, ',$key).date_i18n('l',$key). $stime .  $etime,$eventAddress);*/
                    $event_dt_out = imic_get_event_timeformate($key . '|' . $google_data[2], $key . '|' . $key, $value, $key);
                    $event_dt_out = explode('BR', $event_dt_out);
                    $eventDetailsData = array($event_dt_out[1], $event_dt_out[0], $eventAddress);
                    $eventValues = array_filter($eventDetailsData, 'strlen');
                    $eventDetailIcons = array('fa-calendar', 'fa-clock-o', 'fa-map-marker');
                }
                $output .= '<div class="grid-item-inner">';
                if ($google_flag == 1) {
                    $output .= '<a href="' . $custom_event_url . '" class="media-box">';
                    $output .= get_the_post_thumbnail($value, 'full');
                    $output .= '</a>';
                    $event_title = get_the_title($value);
                }
                $output .= '<div class="grid-content">';
                $output .= '<h3><a href="' . $custom_event_url . '">' . $event_title . '</a>' . imicRecurrenceIcon($value) . '</h3>';
                if ($google_flag == 1) {
                    $output .= '<div class="page-content">';
                    $output .= imic_excerpt(25);
                    $output .= '</div>';
                }
                $output .= '</div>';
                if (!empty($eventValues)) {
                    $output .= '<ul class="info-table">';
                    $flag = 0;
                    foreach ($eventDetailsData as $edata) {
                        if (!empty($edata)) {
                            $output .= '<li><i class="fa ' . $eventDetailIcons[$flag] . '"></i> ' . $edata . ' </li>';
                        }
                        $flag++;
                    }
                    $output .= '</ul>';
                    //}
                    $output .= '</div>
		</li>';
                }
            }
            $count++;
        }
        $output .= '</ul></div></div>';
    }
    return $output;
}
                    		<a href="javascript:" class="upcomingEvents" rel="<?php 
echo $event_category;
?>
" id="<?php 
echo $next_month;
?>
"><i class="fa fa-angle-right"></i></a>
                     	</nav>
                  </div>
              </div>
            </header>
            <section class="listing-cont">
              <ul>
              	<?php 
$this_month_last = strtotime(date('Y-m-t 23:59'));
$google_events = getGoogleEvent($this_month_last);
if (!empty($google_events)) {
    $new_events = $google_events + $events;
} else {
    $new_events = $events;
}
ksort($new_events);
if (!empty($new_events)) {
    foreach ($new_events as $key => $value) {
        if (preg_match('/^[0-9]+$/', $value)) {
            $eventStartTime = strtotime(get_post_meta($value, 'imic_event_start_tm', true));
            $eventStartDate = strtotime(get_post_meta($value, 'imic_event_start_dt', true));
            $eventEndTime = strtotime(get_post_meta($value, 'imic_event_end_tm', true));
            $eventEndDate = strtotime(get_post_meta($value, 'imic_event_end_dt', true));
            $evstendtime = $eventStartTime . '|' . $eventEndTime;
            $evstenddate = $eventStartDate . '|' . $eventEndDate;
                $today = date('Y-m-d');
                $event_ongoing_date = date('Y-m-d', $key);
                $days_extra = imic_dateDiff($today, $event_ongoing_date);
                $event_st_time = get_post_meta($value, 'imic_event_start_tm', true);
                $event_en_time = get_post_meta($value, 'imic_event_end_tm', true);
                $evemt_st_time = strtotime($today . ' ' . $event_st_time);
                $event_en_time = strtotime($today . ' ' . $event_en_time);
                if ($days_extra > 0) {
                    break;
                }
                if ($event_st_time < date('U') && $event_en_time > date('U')) {
                    $currently_running[$key] = $value;
                }
            }
            $going_nos_event = 1;
            $google_events = getGoogleEvent('goingEvent');
            if (!empty($google_events)) {
                $new_events = $google_events + $currently_running;
            } else {
                $new_events = $currently_running;
            }
            ksort($new_events);
            if (!empty($new_events)) {
                $imic_custom_going_on_events_title = get_post_meta($home_id, 'imic_custom_going_on_events_title', true);
                $imic_custom_going_on_events_title = !empty($imic_custom_going_on_events_title) ? $imic_custom_going_on_events_title : __('Going on Events', 'framework');
                echo '<div class="goingon-events-floater">';
                echo '<h4>' . $imic_custom_going_on_events_title . '</h4>';
                ?>
<div class="goingon-events-floater-inner"></div>
<div class="flexslider" data-arrows="yes" data-style="slide" data-pause="yes">
<ul class="slides"><?php 
function imic_event_grid()
{
    $EventTerm = '';
    $offset = get_option('timezone_string');
    if ($offset == '') {
        $offset = "Australia/Melbourne";
    }
    date_default_timezone_set($offset);
    echo '<div class="listing events-listing">
	<header class="listing-header">
		<div class="row">
			<div class="col-md-6 col-sm-6">
				<h3>' . __('All events', 'framework') . '</h3>
		  </div>
		  <div class="listing-header-sub col-md-6 col-sm-6">';
    $currentEventTime = $_POST['date'];
    $EventTerm = $_POST['term'];
    $prev_month = date('Y-m', strtotime('-1 month', strtotime($currentEventTime)));
    $next_month = date('Y-m', strtotime('+1 month', strtotime($currentEventTime)));
    echo '<h5>' . date_i18n('F', strtotime($currentEventTime)) . '</h5>
				<nav class="next-prev-nav">
					<a href="javascript:" class="upcomingEvents" rel="' . $EventTerm . '" id="' . $prev_month . '"><i class="fa fa-angle-left"></i></a>
					<a href="javascript:" class="upcomingEvents" rel="' . $EventTerm . '" id="' . $next_month . '"><i class="fa fa-angle-right"></i></a>
				</nav>
		  </div>
	  </div>
	</header>
	<section class="listing-cont">
	  <ul>';
    $today = date('Y-m');
    $curr_month = date('Y-m-t', strtotime('-1 month', strtotime($currentEventTime)));
    $currentTime = date(get_option('time_format'));
    $sp = imic_recur_events('future', 'nos', $EventTerm, $currentEventTime);
    $this_month_last = strtotime(date('Y-m-t 23:59', strtotime($currentEventTime)));
    $google_events = getGoogleEvent($this_month_last);
    if (!empty($google_events)) {
        $new_events = $google_events + $sp;
    } else {
        $new_events = $sp;
    }
    ksort($new_events);
    if (!empty($new_events)) {
        foreach ($new_events as $key => $value) {
            if (preg_match('/^[0-9]+$/', $value)) {
                $frequency = get_post_meta($value, 'imic_event_frequency', true);
                $frequency_count = get_post_meta($value, 'imic_event_frequency_count', true);
                $satime = get_post_meta($value, 'imic_event_start_tm', true);
                $satime = strtotime($satime);
                $date_converted = date('Y-m-d', $key);
                $custom_event_url = imic_query_arg($date_converted, $value);
                $event_title = get_the_title($value);
                /* event time date formate */
                $eventStartTime = strtotime(get_post_meta($value, 'imic_event_start_tm', true));
                $eventStartDate = strtotime(get_post_meta($value, 'imic_event_start_dt', true));
                $eventEndTime = strtotime(get_post_meta($value, 'imic_event_end_tm', true));
                $eventEndDate = strtotime(get_post_meta($value, 'imic_event_end_dt', true));
                $evstendtime = $eventStartTime . '|' . $eventEndTime;
                $evstenddate = $eventStartDate . '|' . $eventEndDate;
                $event_dt_out = imic_get_event_timeformate($evstendtime, $evstenddate, $value, $key);
                $event_dt_out = explode('BR', $event_dt_out);
                /* event time date formate end */
            } else {
                $google_data = explode('!', $value);
                $event_title = $google_data[0];
                $custom_event_url = $google_data[1];
                $options = get_option('imic_options');
                $satime = $key;
                /* event time date formate */
                $event_dt_out = imic_get_event_timeformate($key . '|' . strtotime($google_data[2]), $key . '|' . $key, $value, $key);
                $event_dt_out = explode('BR', $event_dt_out);
                /* event time date formate end */
            }
            echo '<li class="item event-item">	
				  <div class="event-date"> <span class="date">' . date_i18n('d', $key) . '</span> <span class="month">' . imic_global_month_name($key) . '</span> </div>
				  <div class="event-detail">
                                      <h4><a href="' . $custom_event_url . '">' . $event_title . '</a>' . imicRecurrenceIcon($value) . '</h4>';
            echo '<span class="event-dayntime meta-data">' . $event_dt_out[1] . ',&nbsp;&nbsp;' . $event_dt_out[0] . '</span> </div>
				  <div class="to-event-url">
					<div><a href="' . $custom_event_url . '" class="btn btn-default btn-sm">' . __('Details', 'framework') . '</a></div>
				  </div>
				</li>';
        }
    } else {
        echo '<li class="item event-item">	
			  <div class="event-detail">
				<h4>' . __('Sorry, there are no events for this month.', 'framework') . '</h4>
			  </div>
			</li>';
    }
    echo '</ul>
	</section>
  </div>';
    die;
}
    function widget($args, $instance)
    {
        extract($args);
        // these are the widget options
        $post_title = apply_filters('widget_title', $instance['title']);
        $number = apply_filters('widget_number', $instance['number']);
        $category = apply_filters('widget-category', empty($instance['category']) ? '' : $instance['category'], $instance, $this->id_base);
        $numberEvent = !empty($number) ? $number : 3;
        $EventHeading = !empty($post_title) ? $post_title : __('Upcoming Events', 'imic-framework-admin');
        $today = date('Y-m-d');
        echo $args['before_widget'];
        if (!empty($instance['title'])) {
            echo $args['before_title'];
            echo apply_filters('widget_title', $EventHeading, $instance, $this->id_base);
            echo $args['after_title'];
        }
        $event_add = imic_recur_events('future', '', $category, '');
        $nos_event = 1;
        $google_events = getGoogleEvent();
        if (!empty($google_events)) {
            $new_events = $google_events + $event_add;
        } else {
            $new_events = $event_add;
        }
        ksort($new_events);
        if (!empty($new_events)) {
            echo '<ul>';
            foreach ($new_events as $key => $value) {
                if (preg_match('/^[0-9]+$/', $value)) {
                    $eventTime = get_post_meta($value, 'imic_event_start_tm', true);
                    if (!empty($eventTime)) {
                        $eventTime = strtotime($eventTime);
                        $eventTime = date_i18n(get_option('time_format'), $eventTime);
                    }
                    $date_converted = date('Y-m-d', $key);
                    $custom_event_url = imic_query_arg($date_converted, $value);
                    $event_title = get_the_title($value);
                } else {
                    $google_data = explode('!', $value);
                    $event_title = $google_data[0];
                    $custom_event_url = $google_data[1];
                    $eventTime = '';
                    if (!empty($key)) {
                        $eventTime = ' | ' . date(get_option('time_format'), $key);
                    }
                }
                echo '<li class="item event-item clearfix">
							  <div class="event-date"> <span class="date">' . date_i18n('d', $key) . '</span> <span class="month">' . imic_global_month_name($key) . '</span> </div>
							  <div class="event-detail">
                                                       <h4><a href="' . $custom_event_url . '">' . $event_title . '</a>' . imicRecurrenceIcon($value) . '</h4>';
                $stime = '';
                if ($eventTime != '') {
                    $stime = ' | ' . $eventTime;
                }
                echo '<span class="event-dayntime meta-data">' . date_i18n('l', $key) . $stime . '</span> </div>
							</li>';
                if (++$nos_event > $numberEvent) {
                    break;
                }
            }
            echo '</ul>';
        } else {
            _e('No Upcoming Events Found', 'imic-framework-admin');
        }
        echo $args['after_widget'];
    }