From: Anthony Talarico Date: Mon, 30 Jan 2017 20:41:57 +0000 (-0500) Subject: adding sidebar events widget for crawford county, searchable with datepicker X-Git-Tag: v1.6.11^2~1^2~23 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=6f518c274dc462e19ac3ca22ef99082a78f9a6e6;p=WP-Plugins%2Fglm-member-db-events.git adding sidebar events widget for crawford county, searchable with datepicker --- diff --git a/models/admin/ajax/eventsCalMonthAJAX.php b/models/admin/ajax/eventsCalMonthAJAX.php index 1143cd2..e24d367 100644 --- a/models/admin/ajax/eventsCalMonthAJAX.php +++ b/models/admin/ajax/eventsCalMonthAJAX.php @@ -129,6 +129,69 @@ class GlmMembersAdmin_ajax_eventsCalMonthAJAX extends GlmDataEventsTimes global $wpdb; $event_data = []; + + // this section is for a sidebar events widget, typically on a front page + if(isset($_REQUEST['date_string'])){ + $date = date_parse($_REQUEST['date_string']); + $month = $date['month']; + $year = $date['year']; + $image_url = GLM_MEMBERS_PLUGIN_MEDIA_URL . '/images/small/'; + + $sql = "SELECT * FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX ."events WHERE id IN (SELECT event FROM "; + $sql .= GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "times WHERE YEAR(start_time) = $year AND MONTH(start_time) = $month AND active = 1 ORDER BY start_time ) LIMIT 3; "; + $events = $wpdb->get_results($sql); + + foreach($events as $event){ + $sql = "SELECT start_time, end_time FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "times WHERE event = " . $event->id; + + if($event->image !== ''){ + $image = $image_url . $event->image; + } else { + $image = "none"; + } + + $date = $wpdb->get_results($sql); + $dates[] = $date[0]; + $start_date = date('M d', strtotime($date[0]->start_time)); + $end_date = date('M d', strtotime($date[0]->end_time)); + $start_timestamp = strtotime($start_date); + $end_timestamp = strtotime($end_date); + + if($start_timestamp === $end_timestamp){ + $end = $start_timestamp; + } else { + $start_date = $start_date . "-" . $end_date; + } + + $sidebar_events[$event->id] = + array( + "start_date" => $start_date, + "end_date" => $end, + "name" => $event->name, + "content" => $event->descr, + 'image' => $image, + 'id' => $event->id, + 'timestamp' => $start_timestamp + ); +// $events_date[$start_date] = array(); + $arrayDates[date('F d D', strtotime($start_date))] = array(); + } + + function sortFunction( $event1, $event2 ) { + return strtotime($event1['start_date']) - strtotime($event2["start_date"]); + } + usort($sidebar_events, "sortFunction"); + + foreach($arrayDates as $key=>$date){ + foreach($sidebar_events as $event){ + if($event['timestamp'] === strtotime($key)){ + array_push($arrayDates[$key], $event); + } + } + } + } + // end section for front page events widget data + $month = filter_var_array( $_REQUEST['month'], array( @@ -175,9 +238,10 @@ class GlmMembersAdmin_ajax_eventsCalMonthAJAX extends GlmDataEventsTimes $return = array( // 'status' => false, // Assume nothing works - 'events' => $event_data , // Where our events list will go - 'message' => $info -// 'times' => '' + 'events' => $event_data , // Where our events list will go + 'message' => $info, + 'sidebar_events' => $sidebar_events, + 'array_dates' => $arrayDates ); header('Content-type:application/json;charset=utf-8', true); diff --git a/views/front/events/sidebarEvents.html b/views/front/events/sidebarEvents.html new file mode 100644 index 0000000..29c5d63 --- /dev/null +++ b/views/front/events/sidebarEvents.html @@ -0,0 +1,124 @@ + +

Upcoming Events

+ + + + + \ No newline at end of file