Your IP : 216.73.216.95


Current Path : /var/test/www/html/wp-content/themes/NativeChurch/imic-framework/widgets/
Upload File :
Current File : /var/test/www/html/wp-content/themes/NativeChurch/imic-framework/widgets/upcoming_events.php

<?php
/*** Widget code for Upcoming Events ***/
class upcoming_events extends WP_Widget {
	// constructor
	public function __construct() {
		 $widget_ops = array('description' => __( "Display Upcoming Events.", 'framework') );
         parent::__construct(false, $name = __('Upcoming Events','framework'), $widget_ops);
	}
	// widget form creation
	public function form($instance) {
	    // Check values
                if( $instance) {
			 $title = esc_attr($instance['title']);
			 $number = esc_attr($instance['number']);
			 $category = esc_attr($instance['category']);
		} else {
			 $title = '';
			 $number = '';
             $category='';
		}
	?>
        <p>
            <label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title', 'framework'); ?></label>
            <input class="spTitle_<?php echo $title; ?>" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" />
        </p>
        
        <p>
	            <label for="<?php echo $this->get_field_id('number'); ?>"><?php _e('Number of events to show', 'framework'); ?></label>
	            <input class="spNumber_<?php echo $number; ?>" id="<?php echo $this->get_field_id('number'); ?>" name="<?php echo $this->get_field_name('number'); ?>" type="text" value="<?php echo $number; ?>" />
        </p>
       
        <p>
            <label for="<?php echo $this->get_field_id('category'); ?>"><?php _e('Select Category', 'framework'); ?></label>
            <select class="spType_event_cat" id="<?php echo $this->get_field_id('category'); ?>" name="<?php echo $this->get_field_name('category'); ?>">
            <option value=""><?php _e('All','framework'); ?></option>
                <?php
                $post_terms = get_terms('event-category');
                if(!empty($post_terms)){
                      foreach ($post_terms as $term) {
                         
                        $term_name = $term->name;
                        $term_id = $term->slug;
                        $activePost = ($term_id == $category)? 'selected' : '';
                        echo '<option value="'. $term_id .'" '.$activePost.'>' . $term_name . '</p>';
                    }
                }
                ?>
            </select> 
        </p> 
        
	<?php
	}
	// update widget
	public function update($new_instance, $old_instance) {
		  $instance = $old_instance;
                // Fields
		  $instance['title'] = strip_tags($new_instance['title']);
		  $instance['number'] = strip_tags($new_instance['number']);
		  $instance['category'] = strip_tags($new_instance['category']);
		  return $instance;
	}
	// display widget
	public 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','framework') ;
	   $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','framework');		
		}
	   
	   echo $args['after_widget'];
	}
}
// register widget
add_action( 'widgets_init', function(){
	register_widget( 'upcoming_events' );
});
?>