From 19ae8d38e0f4991b714452b845783ef52948f802 Mon Sep 17 00:00:00 2001 From: Anthony Talarico Date: Tue, 17 Jan 2017 08:54:30 -0500 Subject: [PATCH] adding proper slug to the events data for the front end events calendar to get the correct url for each event --- models/admin/ajax/eventsCalMonthAJAX.php | 20 +++++++++++--------- models/front/events/list.php | 21 +++++++++++---------- views/front/events/agenda.html | 10 +++++++--- 3 files changed, 29 insertions(+), 22 deletions(-) diff --git a/models/admin/ajax/eventsCalMonthAJAX.php b/models/admin/ajax/eventsCalMonthAJAX.php index b27be1e..87b5bd0 100644 --- a/models/admin/ajax/eventsCalMonthAJAX.php +++ b/models/admin/ajax/eventsCalMonthAJAX.php @@ -126,7 +126,8 @@ class GlmMembersAdmin_ajax_eventsCalMonthAJAX extends GlmDataEventsTimes public function modelAction ($actionData = false) { - + global $wpdb; + $event_data = []; $month = filter_var_array( $_REQUEST['month'], @@ -151,15 +152,15 @@ class GlmMembersAdmin_ajax_eventsCalMonthAJAX extends GlmDataEventsTimes $times = $this->getModelTimesData(); // var_dump($events); + foreach($times as $event){ + $sql = "SELECT * FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "events WHERE id = " . $event['id']; + $info[$event['id']] = $wpdb->get_results($sql); + $event_slugs[$event['id']] = $info[$event['id']][0]->name_slug; + } foreach ($times as $e=>$val){ $event_data[$e]['title'] = html_entity_decode($val['event_name']); -// $slug = strtolower(str_replace(" ", '-',$val['event_name'])); - $slug = sanitize_title( $val['event_name'] ); - - $event_data[$e]['url'] = GLM_MEMBERS_EVENTS_SITE_BASE_URL . "event-detail/" . $slug . "/"; - $start = date('Y-m-d H:i:s', strtotime($val['start_time']['datetime'])); $last = date('Y-m-d H:i:s', strtotime($val['end_time']['datetime'])); @@ -168,13 +169,14 @@ class GlmMembersAdmin_ajax_eventsCalMonthAJAX extends GlmDataEventsTimes $event_data[$e]['all_day'] = ($all_day === "0" ? false : true); $event_data[$e]['start'] = ($start); $event_data[$e]['last'] = ($last); - + $slug = $event_data[$e]['slug'] = $event_slugs[$e]; + $event_data[$e]['url'] = GLM_MEMBERS_EVENTS_SITE_BASE_URL . "event-detail/" . $slug . "/"; } - + $return = array( // 'status' => false, // Assume nothing works 'events' => $event_data , // Where our events list will go -// 'message' => $message, +// 'message' => $event_info // 'times' => '' ); diff --git a/models/front/events/list.php b/models/front/events/list.php index 98845b4..27284eb 100644 --- a/models/front/events/list.php +++ b/models/front/events/list.php @@ -697,15 +697,16 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction $calendar_view = $wpdb->get_results($sql, ARRAY_A); // check if event search was performed and if it is override the view to agenda - $override_default_view = ( isset( $_REQUEST['override_default'] ) ) ? $_REQUEST['override_default'] : 'no'; - - if ( $override_default_view === 'yes' ) { - $calendar_view = "agenda"; - } else if ( $calendar_view[0]['calendar_view'] === "" || empty($calendar_view[0]['calendar_view'] ) ) { - $calendar_view = "agenda"; - } else { - $calendar_view = $calendar_view[0]['calendar_view']; - } +// $override_default_view = ( isset( $_REQUEST['override_default'] ) ) ? $_REQUEST['override_default'] : 'no'; +// +// if ( $override_default_view === 'yes' ) { +// $calendar_view = "agenda"; +// } else if ( $calendar_view[0]['calendar_view'] === "" || empty($calendar_view[0]['calendar_view'] ) ) { +// $calendar_view = "agenda"; +// } else { +// $calendar_view = $calendar_view[0]['calendar_view']; +// } + $calendar_view = $calendar_view[0]['calendar_view']; // Compile template data $templateData = array( 'eventDays' => $eventDays, @@ -732,7 +733,7 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction 'imgUrl' => GLM_MEMBERS_PLUGIN_MEDIA_URL . '/images/small/', 'calDates' => $calDates, 'cal_view' => $calendar_view, - 'override' => $override_default_view +// 'override' => $override_default_view ); error_reporting(E_ALL ^ E_NOTICE); return array( diff --git a/views/front/events/agenda.html b/views/front/events/agenda.html index f15a138..c8c0b8d 100644 --- a/views/front/events/agenda.html +++ b/views/front/events/agenda.html @@ -102,12 +102,16 @@ var event_search = $(".glm-search-icon"); var main_content = $("#main-content"); var view = '{$cal_view}'; - var override = '{$override}'; + + event_search.on('click', function(){ + sessionStorage.override = 'yes'; + }); - if( sessionStorage.view && override === 'no' ){ + if( sessionStorage.view && sessionStorage.override === 'no' ){ view = sessionStorage.view; } - + + // AJAX FUNCTION ************************************************ // Get calendar month via AJAX function eventsCalMonthAJAX(month) { -- 2.17.1