File: /home/awaldron/_domains/pennhillscdc.org/wp-content/themes/phcdc/page-templates/events_list.php
<?php
/**
* Template Name: Events List
*
* Template for displaying a blank page.
*
* @package understrap
*/
// Exit if accessed directly.
defined('ABSPATH') || exit;
$start_of_month = mktime(0,0,0,date('n'),1,date('Y'));
$start_of_today = mktime(0,0,0,date('n'),date('j'),date('Y'));
$start_query = date('Y-m-d H:i:s',$start_of_month);
$end_query = date('Y-m-d H:i:s',strtotime('+3 months',$start_of_month));
global $wpdb;
$db = new wpdb(DB_USER,DB_PASSWORD,DB_NAME,DB_HOST);
$events = $db->get_results("
SELECT e.*, d.*, c.cat_title, ct.adults, ct.kids
FROM events as e
LEFT JOIN event_date as d ON e.event_id=d.event_id
LEFT JOIN event_categories as c ON e.event_cat_id=c.event_cat_id
LEFT JOIN (SELECT r.event_date_id, SUM(r.reg_adults) as adults, SUM(r.reg_kids) as kids FROM event_registration as r WHERE r.reg_cancelled=0 GROUP BY r.event_date_id) AS ct ON ct.event_date_id=d.event_date_id
WHERE e.event_src='cdc' AND d.start > '".$start_query."' AND d.start < '".$end_query."'
ORDER BY d.start ASC", ARRAY_A);
$used_events = array();
get_header();
//echo '<pre>',print_r($events),'</pre>';
?>
<div class="sub-image" style="background-image: url(<?php echo get_the_post_thumbnail_url( $post->ID, 'full' ); ?>)">
<div class="container">
<div class="row">
<div class="col-sm-12 text-center"></div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-sm-12">
<h2 class="green">Upcoming Events</h2>
<?php
while ( have_posts() ) :
the_post();
get_template_part( 'loop-templates/content', 'empty' );
endwhile;
?>
<p>Click an event for full details and registration information.</p>
</div>
</div>
<br>
<div class="row">
<div class="col-lg-4">
<?php
$thisMonth = mktime(1,0,0,date('n'),1,date('Y'));
$nextMonth = strtotime('+1 month',$thisMonth);
$thirdMonth = strtotime('+1 month',$nextMonth);
echo phlib_calendar(date('n',$thisMonth),date('Y',$thisMonth),$events);
echo phlib_calendar(date('n',$nextMonth),date('Y',$nextMonth),$events);
echo phlib_calendar(date('n',$thirdMonth),date('Y',$thirdMonth),$events);
?>
</div>
<div class="col-lg-8">
<!-- <div class="event-tag-filters">-->
<!-- <span id="tag-community" class="event-tag event-tag-3">Community</span>-->
<!-- <span id="tag-children" class="event-tag event-tag-4">Children</span>-->
<!-- <span id="tag-teen" class="event-tag event-tag-11">Teens</span>-->
<!-- <span id="tag-adult" class="event-tag event-tag-12">Adults</span>-->
<!-- <span id="tag-education" class="event-tag event-tag-2">Education</span>-->
<!-- <span id="tag-government" class="event-tag event-tag-1">Government</span>-->
<!-- <span id="tag-business" class="event-tag event-tag-5">Business</span>-->
<!-- <span id="tag-athletics" class="event-tag event-tag-6">Athletics</span>-->
<!-- </div>-->
<div class="events-list">
<?php
foreach ($events as $e):
if (strtotime($e['start']) > $start_of_today):
$unique_id = date('Ymd',strtotime($e['start'])).$e['event_id'];
if (!in_array($unique_id,$used_events)):
$event_full = false;
$reg_ct = $e['adults'] + $e['kids'];
$reg_avail = $e['seats'] - $reg_ct;
if ($e['seats'] > 0 && $reg_avail==0) {
$event_full = true;
}
?>
<a href="/event/<?=$e['event_id']?>/" class="event-link <?=date('Ymd',strtotime($e['start']))?> <?=strtolower($e['cat_title'])?>">
<div class="event">
<div class="event-header">
<div class="event-date">
<i class="far fa-calendar"></i>
<div class="event-month"><?=strtoupper(date('M',strtotime($e['start'])))?></div>
<div class="event-day"><?=date('j',strtotime($e['start']))?></div>
</div>
<div class="event-title">
<h5><?=$e['title']?></h5>
<p class="event-time">
<?=date('h:ia',strtotime($e['start']))?>
-
<?=date('h:ia',strtotime($e['end']))?>
<br/><?=$e['location']?>
</p>
</div>
</div>
<div class="event-body">
<?=strip_tags($e['description']).' '?>
<?php
if ($e['event_private'] || $e['seats'] > 0) {
echo '<p style="margin-top:5px;">';
if ($e['seats'] > 0) echo '<span class="event-reg-online">Register Online</span>';
if ($event_full) echo '<i class="fas fa-warning red"></i> <i class="red">Sorry this event is full.</i>';
if ($e['event_private']) echo '<i class="fas fa-warning red"></i> <i>This is a private event</i>';
echo '</p>';
}
?>
</div>
</div>
</a>
<?php
endif;
endif;
$used_events[] = $unique_id;
endforeach;
?>
</div>
</div>
</div>
</div>
<script type="text/javascript">
jQuery(document).ready(function($) {
let dateFilter = false;
let tagFilter = false;
$('span[id^="tag-"]').click(function() {
if (dateFilter) {
$('.event-link').show();
$('.activedate').removeClass('activedate');
dateFilter = false;
}
let thisId = $(this).attr('id').substr(4);
$(this).toggleClass('unselected');
if ($(this).hasClass('unselected')) {
$('.event-link.'+thisId).hide();
} else {
$('.event-link.'+thisId).show();
}
let filterCt = $('a.event-tag.unselected').count();
if (filterCt > 0) {
tagFilter = true;
} else {
tagFilter = false;
}
return false;
});
$('td[id^="date-"]').click(function() {
let thisId = $(this).attr('rel');
if ($(this).hasClass('activedate')) {
$('.activedate').removeClass('activedate');
$('.event-link').show();
dateFilter = false;
tagFilter = false;
} else {
$('.activedate').removeClass('activedate');
$(this).addClass('activedate');
$('.event-link').hide();
$('.event-link.'+thisId).show();
$('.event-tag').removeClass('unselected');
dateFilter = true;
tagFilter = false;
}
return false;
});
});
</script>
<?php
get_footer();