Example #1
0
     $eventEndTime = date(get_option('time_format'), $eventEndTime);
 }
 $stime = '';
 $etime = '';
 if ($eventStartTime != '' && $eventStartTime != 'time') {
     $stime = $eventStartTime;
 }
 if ($eventEndTime != '') {
     $etime = ' - ' . $eventEndTime;
 }
 /** Event Details Manage * */
 $date = '';
 if (!empty($event_date)) {
     $eventStartDate = date_i18n(get_option('date_format'), strtotime($event_date));
     $s_day_name = date_i18n('l', strtotime($event_date));
     $daysTemp = imic_day_diff(get_the_ID());
     if ($daysTemp > 0) {
         $end_date = strtotime("+" . $daysTemp . " day", strtotime($event_date));
         $e_day_name = date_i18n('l', $end_date);
         $eventEndDate = date_i18n(get_option('date_format'), $end_date);
     } else {
         $e_day_name = '';
         $eventEndDate = '';
     }
     if (!empty($eventStartDate) && !empty($eventEndDate) && $eventStartDate !== $eventEndDate) {
         $date = '<strong>' . $s_day_name . '</strong> | ' . $eventStartDate . __(' to ', 'framework') . ' <strong>' . $e_day_name . '</strong> | ' . $eventEndDate;
     } else {
         if (!empty($eventStartDate)) {
             $date = '<strong>' . $s_day_name . '</strong> | ' . $eventStartDate;
         }
     }
 function imic_get_recursive_event_data($menuposttype, $menupost, $p = '')
 {
     $event_add_menu = array();
     $sinc = 1;
     $item_output = '';
     $today_menu = date('Y-m-d');
     $posts_event = get_posts(array('post_type' => $menuposttype, 'p' => $p, 'post_status' => 'publish', 'meta_key' => 'imic_event_start_dt', 'suppress_filters' => false, 'meta_query' => array(array('key' => 'imic_event_frequency_end', 'value' => $today_menu, 'compare' => '>=')), 'orderby' => 'meta_value', 'order' => 'ASC', 'posts_per_page' => $menupost));
     if (!empty($posts_event)) {
         foreach ($posts_event as $event_post_data) {
             $eventDate = strtotime(get_post_meta($event_post_data->ID, 'imic_event_start_dt', true));
             $eventTime = get_post_meta($event_post_data->ID, 'imic_event_start_tm', true);
             $frequency = get_post_meta($event_post_data->ID, 'imic_event_frequency', true);
             $frequency_count = '';
             $frequency_count = get_post_meta($event_post_data->ID, 'imic_event_frequency_count', true);
             if ($frequency > 0) {
                 $frequency_count = $frequency_count;
             } else {
                 $frequency_count = 0;
             }
             $seconds = $frequency * 86400;
             $fr_repeat = 0;
             while ($fr_repeat <= $frequency_count) {
                 $eventDate = get_post_meta($event_post_data->ID, 'imic_event_start_dt', true);
                 $eventDate = strtotime($eventDate);
                 if ($frequency == 30) {
                     $eventDate = strtotime("+" . $fr_repeat . " month", $eventDate);
                 } else {
                     $new_date = $seconds * $fr_repeat;
                     $eventDate = $eventDate + $new_date;
                 }
                 $date_sec = date('Y-m-d', $eventDate);
                 $exact_time = strtotime($date_sec . ' ' . $eventTime);
                 if ($exact_time >= date('U')) {
                     $event_add_menu[$eventDate + $sinc] = $event_post_data->ID;
                     $sinc++;
                 }
                 $fr_repeat++;
             }
         }
         $nos_event_menu = 1;
         ksort($event_add_menu);
         foreach ($event_add_menu as $key => $value) {
             $daysTemp = imic_day_diff($value);
             $recurrence = get_post_meta($value, 'imic_event_frequency', true);
             if ($recurrence > 0) {
                 $icon = ' <i class="fa fa-refresh" style="font-size:80%;" title="Recurring"></i>';
             } else {
                 $icon = '';
             }
             $eventDataTitle = get_the_title($value);
             $eventDataURL = get_permalink($value);
             $day = __(date('l', $key), 'framework') . ' |';
             $eventStartTime = get_post_meta($value, 'imic_event_start_tm', true);
             $eventTime = get_post_meta($value, 'imic_event_start_tm', true);
             $eventTime = strtotime($eventTime);
             $stime = '';
             if ($eventTime != '') {
                 $stime = date('h:i A', $eventTime);
             }
             $StartEventDate = __(date('jS ', $key), 'framework') . __(date('F', $key), 'framework') . __(date(', Y', $key), 'framework');
             $eventDataDay = __(date('l', $key), 'framework');
             $item_output .= '<li>';
             $item_output .= '<a href="' . $eventDataURL . '">' . $eventDataTitle . $icon . '</a>';
             $item_output .= '<span class="meta-data">' . $day . '  ' . $stime . '</span>';
             if ($daysTemp > 0) {
                 $event_end_date = strtotime("+" . $daysTemp . " day", $key);
                 $event_e_day_name = __(date('l', $event_end_date), 'framework');
                 $event_e_date = __(date('jS ', $event_end_date), 'framework') . __(date('F', $event_end_date), 'framework') . __(date(', Y', $event_end_date), 'framework');
             } else {
                 $event_e_date = '';
                 $event_e_day_name = '';
             }
             $item_output .= '<span class ="s_date" id ="' . $StartEventDate . '"></span><span class ="s_day_name" id="' . $eventDataDay . '"></span><span class ="e_day_name" id ="' . $event_e_day_name . '"></span><span class ="e_date" id="' . $event_e_date . '"></span>';
             $item_output .= '</li>';
             if (++$nos_event_menu > $menupost) {
                 break;
             }
         }
     }
     return $item_output;
 }
                    <h3><?php 
        _e('There are no future events to show.', 'framework');
        ?>
</h3>
                    <?php 
        echo '</article>';
    }
}
// end have_posts()
ksort($event_add);
foreach ($event_add as $key => $value) {
    $frequency = get_post_meta($value, 'imic_event_frequency', true);
    if ($frequency > 0) {
        $icon = ' <i class="fa fa-refresh" title="Recurring"></i>';
    }
    $daysTemp = imic_day_diff($value);
    $st_date_temp = $key;
    if ($daysTemp > 0) {
        $end_date = strtotime("+" . $daysTemp . " day", $st_date_temp);
        $e_day_name = __(date('l', $end_date), 'framework');
        $e_date = __(date('jS ', $end_date), 'framework') . __(date('F', $end_date), 'framework') . __(date(', Y', $end_date), 'framework');
    } else {
        $e_day_name = '';
        $e_date = '';
    }
    $event_Temp = '<span class ="s_date" id ="' . __(date('jS ', $st_date_temp), 'framework') . __(date('F', $st_date_temp), 'framework') . __(date(', Y', $st_date_temp), 'framework') . '"></span><span class ="s_day_name" id="' . __(date('l', $st_date_temp), 'framework') . '"></span><span class ="e_day_name" id ="' . $e_day_name . '"></span><span class ="e_date" id="' . $e_date . '"></span>';
    if ('' != get_the_post_thumbnail($value)) {
        $class = "col-md-8 col-sm-8";
    } else {
        $class = "col-md-12 col-sm-12";
    }
    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']) ? __('', 'framework') : $instance['category'], $instance, $this->id_base);
        $numberEvent = !empty($number) ? $number : 3;
        $EventHeading = !empty($post_title) ? $post_title : 'Upcoming Events';
        $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'];
        }
        $events = query_posts(array('post_type' => 'event', 'event-category' => $category, 'meta_key' => 'imic_event_start_dt', 'meta_query' => array(array('key' => 'imic_event_frequency_end', 'value' => $today, 'compare' => '>=')), 'orderby' => 'meta_value', 'order' => 'ASC', 'posts_per_page' => 50));
        if (!empty($events)) {
            echo '<ul>';
            $event_add = array();
            $sinc = 1;
            foreach ($events as $event) {
                $upcoming_event = get_post_custom($event->ID);
                $eventDate = strtotime($upcoming_event['imic_event_start_dt'][0]);
                $eventTime = $upcoming_event['imic_event_start_tm'][0];
                if ($eventTime == '') {
                    $eventTime = "";
                }
                $eventTime = strtotime($eventTime);
                $eventTime = date('h:i A', $eventTime);
                $frequency = get_post_meta($event->ID, 'imic_event_frequency', true);
                $frequency_count = '';
                $frequency_count = get_post_meta($event->ID, 'imic_event_frequency_count', true);
                if ($frequency > 0) {
                    $frequency_count = $frequency_count;
                } else {
                    $frequency_count = 0;
                }
                $seconds = $frequency * 86400;
                $fr_repeat = 0;
                while ($fr_repeat <= $frequency_count) {
                    $eventDate = get_post_meta($event->ID, 'imic_event_start_dt', true);
                    $eventDate = strtotime($eventDate);
                    if ($frequency == 30) {
                        $eventDate = strtotime("+" . $fr_repeat . " month", $eventDate);
                    } else {
                        $new_date = $seconds * $fr_repeat;
                        $eventDate = $eventDate + $new_date;
                    }
                    $date_sec = date('Y-m-d', $eventDate);
                    $exact_time = strtotime($date_sec . ' ' . $eventTime);
                    //echo $exact_time.'<br/>';
                    if ($exact_time >= date('U')) {
                        $event_add[$eventDate + $sinc] = $event->ID;
                        $sinc++;
                    }
                    $fr_repeat++;
                }
            }
            $nos_event = 1;
            ksort($event_add);
            foreach ($event_add as $key => $value) {
                $daysTemp = imic_day_diff($value);
                $eventTime = get_post_meta($value, 'imic_event_start_tm', true);
                $eventTime = strtotime($eventTime);
                $eventTime = date('h:i A', $eventTime);
                $recurrence = get_post_meta($value, 'imic_event_frequency', true);
                if ($recurrence > 0) {
                    $icon = ' <i class="fa fa-refresh" title="Recurring"></i>';
                } else {
                    $icon = '';
                }
                if ($daysTemp > 0) {
                    $end_date = strtotime("+" . $daysTemp . " day", $key);
                    $e_day_name = __(date('l', $end_date), 'framework');
                    $e_date = __(date('jS ', $end_date), 'framework') . __(date('F', $end_date), 'framework') . __(date(', Y', $end_date), 'framework');
                } else {
                    $e_date = '';
                    $e_day_name = '';
                }
                echo '<li class="item event-item clearfix">
							  <div class="event-date"> <span class="date">' . date('d', $key) . '</span> <span class="month">' . __(date('M', $key), 'framework') . '</span> </div>
							  <div class="event-detail">
                                                          <span class ="s_date" id ="' . __(date('jS ', $key), 'framework') . __(date('F', $key), 'framework') . __(date(', Y', $key), 'framework') . '"></span><span class ="s_day_name" id="' . __(date('l', $key), 'framework') . '"></span><span class ="e_day_name" id ="' . $e_day_name . '"></span><span class ="e_date" id="' . $e_date . '"></span>
								<h4><a href="' . get_permalink($value) . '">' . get_the_title($value) . $icon . '</a></h4>';
                $stime = '';
                if ($eventTime != '') {
                    $stime = ' | ' . $eventTime;
                }
                echo '<span class="event-dayntime meta-data">' . __(date('l', $key), 'framework') . $stime . '</span> </div>
							</li>';
                if (++$nos_event > $numberEvent) {
                    break;
                }
            }
            echo '</ul>';
        } else {
            _e('No Upcoming Events Found', 'framework');
        }
        echo $args['after_widget'];
    }