foreach ($events as $event) {
        ?>

		<article class="entry event post">

			<?php 
        $event_allday = get_post_meta($event['post_id'], 'event_allday', true);
        $hide_event_place = get_post_meta($event['post_id'], 'hide_event_place', true);
        $event_place_address = get_post_meta($event['post_id'], 'event_place_address', true);
        $event_date = TMM_Event::get_event_date($event['start_mktime']);
        $ev_end_mktime = (int) get_post_meta($event['post_id'], 'ev_end_mktime', true);
        $event_end_date = TMM_Event::get_event_date($event['end_mktime']);
        $repeats_every = get_post_meta($event['post_id'], 'event_repeating', true);
        $events_show_duration = TMM::get_option('events_show_duration');
        if ($events_show_duration) {
            $event_duration_sec = TMM_Event::get_event_duration($event['start_mktime'], $ev_end_mktime);
            $duration_hh = $event_duration_sec[0];
            $duration_mm = $event_duration_sec[1];
        }
        if ($event_allday == 1) {
            $event_start_time = '';
            $event_end_time = '';
        } else {
            $event_start_time = TMM_Event::get_event_time($event['start_mktime']);
            $event_end_time = TMM_Event::get_event_time($ev_end_mktime);
        }
        ?>

			<div class="entry-meta">
				<h2 class="entry-title"><a href="<?php 
        echo $event['url'];
            <?php 
        }
        ?>

			<?php 
        $event_allday = get_post_meta($post->ID, 'event_allday', true);
        $hide_event_place = get_post_meta($post->ID, 'hide_event_place', true);
        $event_place_address = get_post_meta($post->ID, 'event_place_address', true);
        $ev_mktime = (int) get_post_meta($post->ID, 'ev_mktime', true);
        $event_date = TMM_Event::get_event_date($ev_mktime);
        $ev_end_mktime = (int) get_post_meta($post->ID, 'ev_end_mktime', true);
        $event_end_date = TMM_Event::get_event_date($ev_end_mktime);
        $repeats_every = get_post_meta($post->ID, 'event_repeating', true);
        $events_show_duration = TMM::get_option('events_show_duration');
        if ($events_show_duration) {
            $event_duration_sec = TMM_Event::get_event_duration($ev_mktime, $ev_end_mktime);
            $duration_hh = $event_duration_sec[0];
            $duration_mm = $event_duration_sec[1];
        }
        if ($event_allday == 1) {
            $event_start_time = '';
            $event_end_time = '';
        } else {
            $event_start_time = TMM_Event::get_event_time($ev_mktime);
            $event_end_time = TMM_Event::get_event_time($ev_end_mktime);
        }
        $e_category = get_the_term_list($post->ID, 'events-categories', '', ', ', '');
        ?>

			<div class="event-details">
				<div class="event-start">
 public static function get_events($start, $end, $category = 0)
 {
     global $wpdb;
     $start = (int) $start;
     $end = (int) $end;
     $category = (int) $category;
     $current_year = (int) date('Y', $start);
     $current_month = (int) date('m', $start) + 1;
     $data = array();
     //$google_events = self::sync_Google_calendar_events();//for update
     $result = $wpdb->get_results("\n\t\t\tSELECT SQL_CALC_FOUND_ROWS  p.ID , p.post_title, p.post_excerpt\n\t\t\tFROM {$wpdb->posts} p " . ($category > 0 ? "INNER JOIN {$wpdb->term_relationships} tr ON (p.ID = tr.object_id) " : "") . "INNER JOIN {$wpdb->postmeta}  pm\n\t\t\t\tON (p.ID = pm.post_id) \n\t\t\tINNER JOIN {$wpdb->postmeta} AS mt1 \n\t\t\t\tON (p.ID = mt1.post_id) \n\t\t\tWHERE " . ($category > 0 ? "tr.term_taxonomy_id IN ( {$category} ) " : "1=1 ") . " \n\t\t\t\tAND p.post_type = 'event'\n\t\t\t\tAND ((p.post_status = 'publish'))\n\t\t\t\tAND (\n\t\t\t\t\t(pm.meta_key = 'event_repeating' AND CAST(pm.meta_value AS CHAR) != 'no_repeat')\n\t\t\t\t\tOR\n\t\t\t\t\t(mt1.meta_key = 'ev_end_mktime' AND CAST(mt1.meta_value AS CHAR) > '{$start}')\n\t\t\t\t) \n\t\t\tGROUP BY p.ID \n\t\t\tORDER BY p.post_date DESC\n\t\t", OBJECT_K);
     if (!empty($result)) {
         foreach ($result as $post) {
             $events_data = array();
             $post_meta = get_post_meta($post->ID);
             $start_date = (int) $post_meta['ev_mktime'][0];
             $end_date = (int) $post_meta['ev_end_mktime'][0];
             $place_address = $post_meta['event_place_address'][0];
             $repeating = $post_meta['event_repeating'][0];
             $featured_image_src = '';
             $duration_sec = TMM_Event::get_event_duration($start_date, $end_date);
             $duration_sec = $duration_sec[2];
             if ($end && $start_date > $end) {
                 continue;
             }
             $featured_image_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'single-post-thumbnail');
             if ($featured_image_src) {
                 $featured_image_src = $featured_image_src[0];
             } else {
                 $featured_image_src = '';
             }
             if ($repeating !== 'no_repeat') {
                 $event_year = (int) date('Y', $start_date);
                 $event_month = (int) date('m', $start_date);
                 switch ($repeating) {
                     case 'week':
                     case '2week':
                     case '3week':
                         //if ($current_year > $event_year || ($current_year == $event_year && $current_month >= $event_month-1) ) {
                         $repeating_week = unserialize($post_meta['event_repeating_week'][0]);
                         $start_day_number = (int) date('N', $start_date);
                         /* mon-1, .., sun-7 */
                         $day_duration_sec = 60 * 60 * 24;
                         $diff = 7 - $start_day_number;
                         $tmp_start = $start;
                         if (is_array($repeating_week) && count($repeating_week)) {
                             foreach ($repeating_week as $key => $value) {
                                 $value = $value + 1;
                                 /* mon-1, .., sun-7 */
                                 $day_distance = $diff + $value;
                                 $day_distance = $day_distance >= 7 ? $day_distance - 7 : $day_distance;
                                 $tmp_start = $start_date + $day_duration_sec * $day_distance;
                                 $temp_date = $end_date > $end ? $end : $end_date;
                                 $i = 1;
                                 $k = 2;
                                 $j = 3;
                                 while ($tmp_start < $temp_date) {
                                     $skip = false;
                                     if ($repeating === '2week' && $i % 2 == 0) {
                                         $skip = true;
                                     }
                                     if ($repeating === '3week') {
                                         if ($i == $k) {
                                             $k += 3;
                                             $skip = true;
                                         }
                                         if ($i == $j) {
                                             $j += 3;
                                             $skip = true;
                                         }
                                     }
                                     if (!$skip) {
                                         $events_data[] = array('start' => $tmp_start, 'end' => $tmp_start + $duration_sec);
                                     }
                                     $tmp_start += $day_duration_sec * 7;
                                     $i++;
                                 }
                             }
                         }
                         //}
                         break;
                     case 'month':
                         //if ($current_year > $event_year || ($current_year == $event_year && $current_month >= $event_month-1) ) {
                         if ($current_month > $event_month) {
                             $start_date = mktime((int) date('H', $start_date), (int) date('i', $start_date), 0, $current_month - 1, (int) date('j', $start_date), $current_year, -1);
                             if ($start_date <= $end_date) {
                                 $events_data[] = array('start' => $start_date, 'end' => $start_date + $duration_sec);
                             }
                         }
                         if ($current_month >= $event_month) {
                             $start_date = mktime((int) date('H', $start_date), (int) date('i', $start_date), 0, $current_month, (int) date('j', $start_date), $current_year, -1);
                             if ($start_date <= $end_date) {
                                 $events_data[] = array('start' => $start_date, 'end' => $start_date + $duration_sec);
                             }
                         }
                         if ($current_month >= $event_month - 1) {
                             $start_date = mktime((int) date('H', $start_date), (int) date('i', $start_date), 0, $current_month + 1, (int) date('j', $start_date), $current_year, -1);
                             if ($start_date <= $end_date) {
                                 $events_data[] = array('start' => $start_date, 'end' => $start_date + $duration_sec);
                             }
                         }
                         //}
                         break;
                     case 'year':
                         //if ($current_year >= $event_year && $current_month == $event_month) {
                         $start_date = mktime((int) date('H', $start_date), (int) date('i', $start_date), 0, (int) date('n', $start_date), (int) date('j', $start_date), $current_year, -1);
                         $events_data[] = array('start' => $start_date, 'end' => $start_date + $duration_sec);
                         //}
                         break;
                     default:
                         break;
                 }
             } else {
                 $events_data[] = array('start' => $start_date, 'end' => $end_date);
             }
             foreach ($events_data as $key => $value) {
                 if ($value['end'] < $start) {
                     continue;
                 }
                 $data[] = array('id' => uniqid(), 'post_id' => $post->ID, 'title' => $post->post_title, 'start' => date("Y-m-d H:i", $value['start']), 'end' => date("Y-m-d H:i", $value['end']), 'start_mktime' => $value['start'], 'end_mktime' => $value['end'], 'event_place_address' => $place_address, 'featured_image_src' => $featured_image_src, 'post_excerpt' => $post->post_excerpt, 'allDay' => 0, 'url' => get_permalink($post->ID));
             }
         }
     }
     return $data;
 }