File: /home/awaldron/_domains/pennhillscdc.org/wp-content/themes/phcdc/page-templates/event.php
<?php
/**
* Template Name: Event Detail
*
*/
// Exit if accessed directly.
defined('ABSPATH') || exit;
$path = $_SERVER['REQUEST_URI'];
if (substr($path,-1)=="/") {
$path = substr($path,0,-1);
}
if (substr($path,0,1)=="/") {
$path = substr($path,1);
}
$path = explode('/',$path);
$eid = $path[1];
//$eid = get_query_var('event_id');
$reg_ids = $registrations = $cookie = array();
foreach ($_COOKIE as $name => $value) {
if ($name == 'EventReg'.$eid) $cookie = $value;
}
if (!empty($cookie)) {
$cookie = json_decode(stripslashes($cookie),TRUE);
foreach ($cookie as $c) {
$registrations[] = $c['date_id'];
$reg_ids[] = $c['reg_id'];
}
}
global $wpdb;
$db = new wpdb(DB_USER,DB_PASSWORD,DB_NAME,DB_HOST);
$event = $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 e.event_id=".$eid." AND d.start > NOW()
ORDER BY d.start ASC", ARRAY_A);
$dates = $event;
$event = $event[0];
$can_register = false;
$date_options = '';
$seats_open = '';
foreach ($dates as $d) {
$opt_register = false;
$reg_ct = $d['adults'] + $d['kids'];
$reg_avail = $d['seats'] - $reg_ct;
if ($reg_avail > 0) {
$can_register = true;
$opt_register = true;
}
$date_options .= '<option value="'.$d['event_date_id'].'"'.(!$opt_register?' disabled="disabled"':'').'>'.date('F j, Y - g:i a',strtotime($d['start'])).(!$opt_register?' (full)':'').'</option>';
$seats_open .= ($opt_register ? '<div class="sodiv" id="so'.$d['event_date_id'].'" style="display:none;"><i class="fas fa-star gold"></i> <i>'.$reg_avail.' seats remaining.</i></div>' :
'<div class="sodiv" id="so'.$d['event_date_id'].'" style="display:none;"><i class="fas fa-warning red"></i> <i>This event time is full.</i></div>');
}
if (!empty($_POST['reg_submit'])) {
$data = array();
$data['event_date_id'] = filter_var($_POST['event_date_id'], FILTER_SANITIZE_NUMBER_INT);
$data['reg_fname'] = filter_var($_POST['reg_fname'], FILTER_SANITIZE_STRING);
$data['reg_lname'] = filter_var($_POST['reg_lname'], FILTER_SANITIZE_STRING);
$data['reg_email'] = filter_var($_POST['reg_email'], FILTER_SANITIZE_EMAIL);
$data['reg_phone'] = filter_var($_POST['reg_phone'], FILTER_SANITIZE_NUMBER_INT);
$data['reg_adults'] = filter_var($_POST['reg_adults'], FILTER_SANITIZE_NUMBER_INT);
$data['reg_kids'] = filter_var($_POST['reg_kids'], FILTER_SANITIZE_NUMBER_INT);
$data['del_code'] = generateRandomString();
if ($data['reg_adults'] > 0 && $data['reg_kids'] > 0) {
$ins = "INSERT INTO event_registration (`event_id`,`event_date_id`,`reg_fname`,`reg_lname`,`reg_email`,`reg_phone`,`reg_adults`,`reg_kids`,`delete_code`) VALUES (";
$ins .= $eid.', ';
$ins .= filter_var($_POST['event_date_id'], FILTER_SANITIZE_NUMBER_INT).', ';
$ins .= "'".filter_var($_POST['reg_fname'], FILTER_SANITIZE_STRING)."', ";
$ins .= "'".filter_var($_POST['reg_lname'], FILTER_SANITIZE_STRING)."', ";
$ins .= "'".filter_var($_POST['reg_email'], FILTER_SANITIZE_EMAIL)."', ";
$ins .= "'".filter_var($_POST['reg_phone'], FILTER_SANITIZE_NUMBER_INT)."', ";
$ins .= filter_var($_POST['reg_adults'], FILTER_SANITIZE_NUMBER_INT).", ";
$ins .= filter_var($_POST['reg_kids'], FILTER_SANITIZE_NUMBER_INT).", ";
$ins .= "'".$data['del_code']."'";
$ins .= ")";
$db->query($ins);
// GET THE NEW REGISTRATION ID
$reg_id = $db->get_var("SELECT MAX(reg_id) as reg_id FROM event_registration");
// SET THE COOKIE
$cookie[] = array('event_id' => $eid, 'date_id' => $data['event_date_id'], 'reg_id' => $reg_id, 'd_code' => $data['del_code']);
setcookie('EventReg'.$eid, json_encode($cookie), strtotime('+3 months'));
// SEND THE EMAIL
send_event_reg_email($event, $data, $dates);
// REDIRECT TO PAGE
header("Location: /event/".$eid);
}
}
get_header();
?>
<!--
<?php print_r($event); ?>
-->
<div class="sub-image" id="kids">
<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="red header-underline">Event Detail</h2>
</div>
</div>
<br>
<div class="row">
<div class="col-md-8">
<div class="right-border">
<?=($event['event_private']?'<div class="alert alert-danger" style="margin-bottom:25px;"><i class="fas fa-warning red"></i> <i>This is a private event</i></div>':'')?>
<div class="event event-detail">
<div class="event-header">
<div class="event-date">
<i class="far fa-calendar"></i>
<div class="event-month"><?=strtoupper(date('M',strtotime($event['start'])))?></div>
<div class="event-day"><?=date('j',strtotime($event['start']))?></div>
</div>
<div class="event-title">
<h5><?=$event['title']?></h5>
<p class="event-time">
<?=date('h:ia',strtotime($event['start']))?>
-
<?=date('h:ia',strtotime($event['end']))?>
</p>
<p class="event-time">
<?=$event['location']?>
<br/><?=$event['address']?>
</p>
</div>
</div>
<div class="event-body">
<?=$event['description']?>
</div>
<div class="event-detail-tag"><b>Tags: </b><span class="event-tag event-tag-<?=$event['event_cat_id']?>"><?=$event['cat_title']?></span></div>
</div>
</div>
</div>
<div class="col-md-4">
<h4 class="red header-underline">Event Registration</h4>
<?php if (!$can_register): ?>
<div class="alert alert-warning">
<b>Registration Not Available</b><p>This event does not have online registration. Please refer to the event description for full details.</p>
</div>
<?php else: ?>
<?php
if (count($registrations) > 0) {
echo '<div class="alert alert-warning">You\'ve registered for this event for the following times:<ul>';
foreach ($dates as $d) {
if (in_array($d['event_date_id'], $registrations)) {
echo '<li>'.date('M j, Y - g:i a',strtotime($d['start'])).'</li>';
}
}
echo '</ul></div>';
}
?>
<form action="/event/<?=$event['event_id']?>" method="post">
<div class="form-group">
<label>Select Event Date</label>
<select name="event_date_id" class="form-control" id="event_date_id"><?=$date_options?></select>
<?=$seats_open?>
</div>
<div class="form-group">
<label>First Name</label>
<input type="text" class="form-control" name="reg_fname" value="" required />
</div>
<div class="form-group">
<label>Last Name</label>
<input type="text" class="form-control" name="reg_lname" value="" required />
</div>
<div class="form-group">
<label>Email Address</label>
<input type="email" class="form-control" name="reg_email" value="" required />
</div>
<div class="form-group">
<label>Phone Number</label>
<input type="text" class="form-control" name="reg_phone" value="" required />
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label># Adults</label>
<select name="reg_adults" class="form-control">
<?php for ($i=0; $i<=20; $i++) echo '<option value="'.$i.'">'.$i.'</option>'; ?>
</select>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label># Children</label>
<select name="reg_kids" class="form-control">
<?php for ($i=0; $i<=20; $i++) echo '<option value="'.$i.'">'.$i.'</option>'; ?>
</select>
</div>
</div>
</div>
<div class="form-group">
<br/>
<input type="submit" class="btn btn-block btn-light btn-pill" name="reg_submit" value="Register" />
</div>
</form>
<?php endif; ?>
</div>
</div>
</div>
<script>
jQuery(document).ready(function($) {
let activeEID = $('#event_date_id').val();
$('.sodiv').hide();
$('#so'+activeEID).show();
$('#event_date_id').change(function () {
let activeEID = $('#event_date_id').val();
$('.sodiv').hide();
$('#so'+activeEID).show();
});
});
</script>
<?php
while ( have_posts() ) :
the_post();
get_template_part( 'loop-templates/content', 'empty' );
endwhile;
get_footer();