| Server IP : 172.67.201.108 / Your IP : 216.73.216.25 Web Server : Apache/2.4.68 (Amazon Linux) OpenSSL/3.5.5 System : Linux ip-172-31-69-123.ec2.internal 6.1.176-223.369.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jul 24 13:34:27 UTC 2026 x86_64 User : ec2-user ( 1000) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/hotel-dev/public_html/rpt/ |
Upload File : |
<?php include('mod/_mod_security.php'); ?>
<?php
$criteria = '';
$filter = '';
if (!in_array($_POST['ens_venue'], ['Venue 1', 'Venue 2'])) :
echo 'Invalid Venue!';
exit();
endif;
if (!in_array($_POST['ens_guest_type'], ['Concierges', 'Guests'])) :
echo 'Invalid Guest Type!';
exit();
endif;
$venue = nz(substr($_POST['ens_venue'], -1), '0');
if (!empty($_POST['ens_date_start']) && is_date($_POST['ens_date_start'])) :
$criteria .= " AND e.event_date_time >= " . nzdate($_POST['ens_date_start']) . " ";
$filter .= '<br> Event range start date: ' . $_POST['ens_date_start'];
endif;
if (!empty($_POST['ens_date_end']) && is_date($_POST['ens_date_end'])) :
$criteria .= " AND e.event_date_time <= " . nzdatetime($_POST['ens_date_end'] . ' 23:59:59') . " ";
$filter .= '<br> Event date end date: ' . $_POST['ens_date_end'];
endif;
$filter .= '<br> Guest type: ' . $_POST['ens_guest_type'];
$filter .= '<br> Venue: ' . $_POST['ens_venue'];
if ($_POST['ens_guest_type'] == 'Concierges') :
$sql = "
SELECT DISTINCT
ec.concierge_id AS id,
c.first_name,
c.last_name,
c.title,
(CASE WHEN c.primary_email > ' ' THEN c.primary_email ELSE c.secondary_email END) AS email,
c.work_phone AS phone,
h.hotel_id as org_id,
h.hotel_name AS org,
e.event_name,
e.event_date_time
FROM events_concierges ec
JOIN concierges c ON (c.concierge_id = ec.concierge_id)
JOIN events e ON (e.event_id = ec.event_id)
LEFT JOIN hotels h ON (h.hotel_id = c.hotel_id)
WHERE ec.rsvp_{$venue} = 1
AND ec.attended_{$venue} != 1
{$criteria}
ORDER BY c.first_name, c.last_name
";
elseif ($_POST['ens_guest_type'] == 'Guests') :
$sql = "
SELECT DISTINCT
eg.guest_id AS id,
g.first_name,
g.last_name,
g.title,
g.email,
g.phone,
NULL as org_id,
company AS org,
e.event_name,
e.event_date_time
FROM events_guests eg
JOIN guests g ON (g.guest_id = eg.guest_id)
JOIN events e ON (e.event_id = eg.event_id)
WHERE eg.rsvp_{$venue} = 1
AND eg.attended_{$venue} != 1
{$criteria}
ORDER BY g.first_name, g.last_name
";
else :
echo 'Invalid Guest Type!';
exit();
endif;
//error_log($sql);
$result = $db->query($sql) or die('Database Error!');
$row_count = $result->rowCount();
if ($row_count <= 0) :
echo 'No data for report!';
exit();
endif;
$rpt = get_report_class($_POST['output_format']);
$rpt->set_report_title('Event No Shows By Date Range');
$rpt->report_start();
$rpt->header_start();
if (!empty($filter)) :
$rpt->header_row_start();
$rpt->header_cell_add('Filters: '.$filter, ['colspan'=>'8', 'class'=>'large', 'align'=>'left']);
$rpt->header_row_end();
endif;
$rpt->header_row_start();
$rpt->header_cell_add('First Name', ['width'=>'120']);
$rpt->header_cell_add('Last Name', ['width'=>'120']);
$rpt->header_cell_add('Title', ['width'=>'120']);
$rpt->header_cell_add('Email', ['width'=>'180']);
$rpt->header_cell_add('Phone', ['width'=>'100']);
$rpt->header_cell_add('Hotel/Company', ['width'=>'200']);
$rpt->header_cell_add('Event Name', ['width'=>'180']);
$rpt->header_cell_add('Event Date', ['width'=>'100']);
$rpt->header_row_end();
$rpt->header_end();
$rpt->data_start();
while($row = $result->fetch(PDO::FETCH_OBJ)) :
$rpt->data_row_start();
$rpt->data_cell_add($row->first_name);
$rpt->data_cell_add($row->last_name);
$rpt->data_cell_add($row->title);
$rpt->data_cell_add($row->email);
$rpt->data_cell_add($row->phone);
$rpt->data_cell_add($row->org);
$rpt->data_cell_add($row->event_name);
$rpt->data_cell_add(nzdate_display($row->event_date_time));
$rpt->data_row_end();
endwhile;
$rpt->data_end();
$rpt->report_end();
$rpt->output_report();