From 2a57e6bd86b05106eef5f5a7bdd5cf667d55ccf5 Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Thu, 28 Jul 2016 10:58:37 -0400 Subject: [PATCH] Working on the location and no results if no eventId If there's no eventId for the page then give a Sorry, no results. This will allow the main event-detail page to have the index and follow set for SEO. I setup the location so it will only output if each section has content. Like city state zip. Same with the member location. --- models/front/events/detail.php | 22 ++++--- models/front/events/list.php | 103 +++++++++++++++++++-------------- views/front/events/detail.html | 25 ++++---- 3 files changed, 90 insertions(+), 60 deletions(-) diff --git a/models/front/events/detail.php b/models/front/events/detail.php index 04a2f26..ba06882 100644 --- a/models/front/events/detail.php +++ b/models/front/events/detail.php @@ -31,9 +31,16 @@ class GlmMembersFront_events_detail extends GlmMembersFront_events_baseAction */ public function modelAction($actionData = false) { - $status = null; - $action = ''; - $settings = $event = array(); + $status = null; + $action = ''; + $settings = $event = array(); + $event = null; + $categories = array(); + $fromDate = null; + $toDate = null; + $eventId = null; + $permalink = null; + $title = null; if ( isset($_REQUEST['glm_event_from']) ) { $fromDate = filter_var($_REQUEST['glm_event_from'], FILTER_SANITIZE_STRING); @@ -83,7 +90,7 @@ class GlmMembersFront_events_detail extends GlmMembersFront_events_baseAction ); wp_enqueue_script('event-dashboard-js'); wp_enqueue_style( - 'glm-event-detail-print', + 'glm-event-detail-print', GLM_MEMBERS_EVENTS_PLUGIN_BASE_URL . '/css/print.css', null, '1.0', @@ -94,8 +101,9 @@ class GlmMembersFront_events_detail extends GlmMembersFront_events_baseAction switch ($action) { case 'event-detail': - $event = $this->getModelEventData($eventId); - //echo '
$event: ' . print_r($event, true) . '
'; + if ( $eventId ) { + $event = $this->getModelEventData($eventId); + } $view = 'detail.html'; break; default: @@ -108,7 +116,7 @@ class GlmMembersFront_events_detail extends GlmMembersFront_events_baseAction } $permalink = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; $title = get_the_title(); - + // Compile template data $toDate = date('m/d/Y', strtotime( '+ 2 weeks' )); $templateData = array( diff --git a/models/front/events/list.php b/models/front/events/list.php index 57d425e..9352e4a 100644 --- a/models/front/events/list.php +++ b/models/front/events/list.php @@ -54,10 +54,10 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction if ($memberId == 0) { $memberId = null; } - $limit = filter_var( $actionData['request']['limit'], FILTER_VALIDATE_INT ); - if ( $limit ) { - $action = 'front-page'; - } + $limit = filter_var( $actionData['request']['limit'], FILTER_VALIDATE_INT ); + if ( $limit ) { + $action = 'front-page'; + } if (isset($_REQUEST['eventId']) && $eventId = filter_var($_REQUEST['eventId'], FILTER_VALIDATE_INT)) { $search = true; @@ -144,7 +144,7 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction } //echo '
$this->dateRange: ' . print_r($this->dateRange, true) . '
'; - if (isset($_REQUEST['event_name']) + if (isset($_REQUEST['event_name']) && $eventNameSearch = filter_var($_REQUEST['event_name'], FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES)) { $search = true; $action = 'event-list-name'; @@ -165,9 +165,9 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction switch ($action) { - case 'front-page': + case 'front-page': $events = $this->getModelEventsData($categoryId, $limit); - break; + break; case 'event-list-name': $events = $this->getModelEventsData($eventNameSearch); $view = 'agenda.html'; @@ -320,11 +320,19 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction if ( isset($event['locations']) && !empty($event['locations']) && $event['hide_address']['name'] == 'No' ) { $address = array(); - $address[] = $event['locations']['name']; + if ( $event['locations']['name'] ) { + $address[] = $event['locations']['name']; + } if ( $event['locations']['address'] ) { $address[] = $event['locations']['address']; + } + if ( $event['locations']['city']['name'] ) { $address[] = $event['locations']['city']['name']; + } + if ( $event['locations']['state']['name'] ) { $address[] = $event['locations']['state']['name']; + } + if ( $event['locations']['zip'] ) { $address[] = $event['locations']['zip']; } $location = new SetaPDF_Core_Text_Block( $font, self::PDF_FONT_SIZE ); @@ -337,11 +345,21 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction && $event['hide_address']['name'] == 'No' ) { $address = array(); - $address[] = $event['member']['member']; - $address[] = $event['member']['addr1']; - $address[] = $event['member']['city']; - $address[] = $event['member']['state']['value']; - $address[] = $event['member']['zip']; + if ( $event['member']['member'] ) { + $address[] = $event['member']['member']; + } + if ( $event['member']['addr1'] ) { + $address[] = $event['member']['addr1']; + } + if ( $event['member']['city'] ) { + $address[] = $event['member']['city']; + } + if ( $event['member']['state']['value'] ) { + $address[] = $event['member']['state']['value']; + } + if ( $event['member']['zip'] ) { + $address[] = $event['member']['zip']; + } $location = new SetaPDF_Core_Text_Block( $font, self::PDF_FONT_SIZE ); $location->setText(implode(', ', $address)); @@ -513,7 +531,7 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction $eventsByDate = $mainEvents; } - // Check for alternate template requests + // Check for alternate template requests switch($actionData['request']['template']) { case 'member-list': wp_enqueue_style('glm-member-db-events-style', GLM_MEMBERS_EVENTS_PLUGIN_URL . 'css/front.css'); @@ -528,40 +546,39 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction case 'member-detail': $view = 'listForMemberDetail.html'; break; - case 'frontPage': - $view = 'eventsFrontPage.html'; - // update the $eventsByDate array so it has the limit - $eventCountInArray = 0; - $newEventsByDateArray = array(); - if ( $limit ) { - foreach ( $eventsByDate as $eventDate => &$eventgroup ) { - foreach ( $eventgroup as $key => &$events ) { - $i = 0; - foreach ( $events as $time => &$times ) { - ++$i; - ++$eventCountInArray; - $newEventsByDateArray[$eventDate][$i][$time] = $times; - if ( $eventCountInArray === $limit ) { - break 3; - } - } - if ( $eventCountInArray === $limit ) { - break 2; - } - } - if ( $eventCountInArray === $limit ) { - break 1; - } - } - } - $eventsByDate = $newEventsByDateArray; - break; + case 'frontPage': + $view = 'eventsFrontPage.html'; + // update the $eventsByDate array so it has the limit + $eventCountInArray = 0; + $newEventsByDateArray = array(); + if ( $limit ) { + foreach ( $eventsByDate as $eventDate => &$eventgroup ) { + foreach ( $eventgroup as $key => &$events ) { + $i = 0; + foreach ( $events as $time => &$times ) { + ++$i; + ++$eventCountInArray; + $newEventsByDateArray[$eventDate][$i][$time] = $times; + if ( $eventCountInArray === $limit ) { + break 3; + } + } + if ( $eventCountInArray === $limit ) { + break 2; + } + } + if ( $eventCountInArray === $limit ) { + break 1; + } + } + } + $eventsByDate = $newEventsByDateArray; + break; default: // No changes otherwise break; } - //echo '
$eventsByDate: ' . print_r($eventsByDate, true) . '
'; // Compile template data $templateData = array( 'assetsUrl' => GLM_MEMBERS_EVENTS_PLUGIN_URL . 'assets/', diff --git a/views/front/events/detail.html b/views/front/events/detail.html index e974d7c..4c2efd5 100644 --- a/views/front/events/detail.html +++ b/views/front/events/detail.html @@ -1,4 +1,4 @@ -
+
Back To Search
@@ -7,7 +7,7 @@
- + {if $event}
+ Share @@ -72,16 +72,18 @@ {if !$event.use_member_location.value && ($event.locations.name || $event.locations.address)}
{if $event.locations.name}{$event.locations.name}
{/if} - {if $event.locations.address} - {$event.locations.address}
- {$event.locations.city.name}, {$event.locations.state.value} {$event.locations.zip} - {/if} + {if $event.locations.address} {$event.locations.address}
{/if} + {if $event.locations.city.name} {$event.locations.city.name} {/if} + {if $event.locations.state.value} , {$event.locations.state.value} {/if} + {if $event.locations.zip} {$event.locations.zip} {/if}
{elseif $event.use_member_location.value}
- {$event.member.member}
- {$event.member.addr1}
- {$event.member.city}, {$event.member.state.value} {$event.member.zip} + {if $event.member.member} {$event.member.member}
{/if} + {if $event.member.addr1} {$event.member.addr1}
{/if} + {if $event.member.city} {$event.member.city} {/if} + {if $event.member.state.value}, {$event.member.state.value}{/if} + {if $event.member.zip} {$event.member.zip} {/if}
{/if} {/if} @@ -91,7 +93,7 @@ {if $event.free.value}
Cost: FREE
{/if} - +
Contact & More Info
{if $event.url}{$event.url}
{/if} {if $event.contact_name}Contact: {$event.contact_name}
{/if} @@ -122,5 +124,8 @@
+ {else} +
Sorry, No results.
+ {/if}
-- 2.17.1