| Server IP : 104.21.21.239 / Your IP : 216.73.217.74 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/ |
Upload File : |
<?php
use classes\lib\CGRewards;
//error_reporting(E_ALL);
//error_reporting(0);
define('RSVP_IP_LIMITER', 3);
require_once('mod/_sanitize.php');
//header("HTTP/1.1 202 Accepted");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, proxy-revalidate, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Cache-Control: max-age=10000000, s-maxage=1000000");
header("Pragma: no-cache");
session_start();
include_once('config.php');
date_default_timezone_set(APP_TIMEZONE);
try {
$db = new PDO(DB_CONNECT_STRING, DB_USER, DB_PWD);
} catch (Exception $e) {
die('Could not connect: ' . 'Database Error!');
}
$sql_tz = "SET time_zone = '".APP_TIMEZONE."'";
$db->query($sql_tz);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
require_once('mod/_functions.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php
if ((isset($_SERVER['HTTP_X_MOZ'])) && ($_SERVER['HTTP_X_MOZ'] == 'prefetch')) :
// This is a prefetch request. Block it.
header('HTTP/1.0 403 Forbidden');
echo '403: Forbidden<br><br>Prefetching not allowed here.';
die();
endif;
?>
<!--<link type="text/css" href="css/south-street/jquery-ui-1.8.1.custom.css" rel="stylesheet" />-->
<link rel="shortcut icon" href="favicon.ico" />
<link rel="stylesheet" href="css/lcs_db_grid.css?ver=<?php echo filemtime(__DIR__.'/css/lcs_db_grid.css') ?>" type="text/css" />
<link rel="stylesheet" href="css/main.css?ver=<?php echo filemtime(__DIR__.'/css/main.css') ?>" type="text/css" />
<link rel="stylesheet" href="css/main_mobile.css?ver=<?php echo filemtime(__DIR__.'/css/main_mobile.css') ?>" type="text/css" />
<link rel="stylesheet" href="css/datePicker.css?ver=<?php echo filemtime(__DIR__.'/css/datePicker.css') ?>" type="text/css" />
<link rel="stylesheet" href="css/survey.css?ver=<?php echo filemtime(__DIR__.'/css/survey.css') ?>" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name=viewport content="width=device-width, initial-scale=1">
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="pragma" content="no-cache" />
<meta name="description" content="Davler Media Group - City Guide Event RSVP" />
<meta name="keywords" content="Davler,Media,Group,City,Guide,Event,RSVP" />
<title>City Guide | Event RSVP</title>
<script type="text/javascript" src="js/jquery-1.11.2.min.js?ver=<?php echo filemtime(__DIR__.'/js/jquery-1.11.2.min.js') ?>"></script>
<script type="text/javascript" src="js/jquery-migrate-1.2.1.min.js?ver=<?php echo filemtime(__DIR__.'/js/jquery-migrate-1.2.1.min.js') ?>"></script>
<script type="text/javascript" src="js/jquery.form.js?ver=<?php echo filemtime(__DIR__.'/js/jquery.form.js') ?>"></script>
<script type="text/javascript" src="js/jquery.ui.touch-punch.min.js?ver=<?php echo filemtime(__DIR__.'/js/jquery.ui.touch-punch.min.js') ?>"></script>
<script type="text/javascript" src="js/date.js?ver=<?php echo filemtime(__DIR__.'/js/date.js') ?>"></script>
<script type="text/javascript" src="js/jquery.datePicker.js?ver=<?php echo filemtime(__DIR__.'/js/jquery.datePicker.js') ?>"></script>
<?php
if (empty($_GET['key'])) :
die('Not Authorized!');
endif;
$successful_submission = false;
$sql_concierges = "
SELECT sr.*, s.survey_template_id, s.expiration_date, e.event_id, e.event_name, e.event_date_time, e.online_rsvp_artwork, c.first_name, c.last_name, CONCAT(c.first_name, ' ', c.last_name) AS combined_name, h.hotel_name AS org, title, (CASE WHEN c.primary_email > ' ' THEN c.primary_email ELSE c.secondary_email END) AS email, 'concierge' AS guest_type, c.cgr, s.cgr_type_id, cgrt.points AS cgr_points FROM surveys_responders sr
JOIN surveys s ON (s.id = sr.survey_id)
JOIN events e ON (s.event_id = e.event_id)
JOIN concierges c ON (c.concierge_id = sr.concierge_id)
LEFT JOIN hotels h ON (c.hotel_id = h.hotel_id)
LEFT JOIN cg_reward_types cgrt ON (cgrt.id = s.cgr_type_id)
";
$sql_guests = "
SELECT sr.*, s.survey_template_id, s.expiration_date, e.event_id, e.event_name, e.event_date_time, e.online_rsvp_artwork, g.first_name, g.last_name, CONCAT(g.first_name, ' ', g.last_name) AS combined_name, g.company AS org, title, g.email, 'guest' AS guest_type, 0 AS cgr, s.cgr_type_id, NULL AS cgr_points FROM surveys_responders sr
JOIN surveys s ON (s.id = sr.survey_id)
JOIN events e ON (s.event_id = e.event_id)
JOIN guests g ON (g.guest_id = sr.guest_id)
";
$sql = 'SELECT * FROM ((' . $sql_concierges . ') UNION (' . $sql_guests . ')) AS srr '.
"WHERE hash_key = ".$db->quote($_GET['key'])." AND responded_date IS NULL AND expiration_date + INTERVAL 1 DAY > NOW() ";
$result = $db->query($sql) or die('Database Error!');
if ($result->rowCount() < 1) :
die('<h1>Looks like this survey link is no longer valid!</h1>');
endif;
$row = $result->fetch(PDO::FETCH_OBJ);
$sql = "SELECT * FROM survey_template_questions WHERE survey_template_id = {$row->survey_template_id} ORDER BY seq";
$result_q = $db->query($sql) or die('Database Error!');
$ar_q = [];
$ar_survey_fields = [];
while ($row_q = $result_q->fetch(PDO::FETCH_OBJ)) :
$ar_q[] = $row_q;
$field_name = snake_case($row_q->question_text);
$ar_survey_fields[$field_name] = [
'seq' => $row_q->seq,
'question_type' => $row_q->question_type,
];
endwhile;
form_prep('frm_survey', 'basic_info', '', false);
if ($_POST['ajax_event_submitted'] == '1') :
form_prep_submit();
form_validate_all();
if (!$err_flag) :
try {
$db->beginTransaction();
$sql = "UPDATE surveys_responders SET responded_date = NOW() WHERE hash_key = {$db->quote($_GET['key'])}";
$db->query($sql);
foreach($_SESSION['ar_fields_'.$xform_fid] as $key => $value) :
$sql = "
INSERT INTO surveys_responders_questions
SET
survey_id = {$row->survey_id},
survey_responder_id = {$row->id},
seq = {$ar_survey_fields[$key]['seq']},
question_type = {$db->quote($ar_survey_fields[$key]['question_type'])},
question_text = {$db->quote($key)},
answer_value = {$db->quote($_POST[$key])}
";
$db->query($sql);
endforeach;
if (!empty($row->cgr) && !empty($row->cgr_points)) :
CGRewards::create_cg_reward($row->concierge_id, $row->event_id, $row->cgr_type_id, $row->cgr_points, 'Automatically applied for survey completion');
endif;
$db->commit();
} catch(Exception $e) {
db_err_rollback($e);
}
$form_message = "Saved sucessfully!";
$successful_submission = true;
form_uid_reset();
else :
$active_tab = $err_tab;
$form_message = "Errors found!";
endif;
endif;
?>
<script type="text/javascript">
</script>
</head>
<body>
<div class="main">
<img src="rsvp_artwork/<?php echo $row->online_rsvp_artwork; ?>" class="artwork" />
<br />
<h1>SURVEY</h1>
<h1><?=$row->event_name ?></h1>
<h1><?=date('l, F j, Y', strtotime($row->event_date_time)) ?></h1>
<?php if ($successful_submission) : ?>
<h2>Thank you for your submission!</h2>
<?php
if (!empty($row->cgr) && !empty($row->cgr_points)) :
echo '<p><b>You will receive ' . $row->cgr_points . ' CGR points for completing this survey.</b></p>';
endif;
?>
<a href="https://www.cityguideny.com/">Back to City Guide</a>
<?php else : ?>
<form name="frm_survey" id="frm_survey" method="post" action="">
<input name="ajax_event_submitted" type="hidden" value="1" />
<input name="key" type="hidden" value="<?php echo $_REQUEST['key']; ?>" />
<input name="active_tab" id="active_tab" type="hidden" value="basic_info" />
<?php
if (!empty($row->cgr) && !empty($row->cgr_points)) :
echo '<p><b>Thank you for completing this survey, your feedback is greatly appreciated.<br>
As a member of City Guide Rewards, you will receive ' . $row->cgr_points . ' points for your participation.</b></p>';
elseif ($row->guest_type == 'concierge') :
echo '<p><b>Thank you for completing this survey, your feedback is greatly appreciated.<br>
We would like to reward you for attending events, completing surveys, and selling tickets to your<br>
guests through Guest Tickets Express. Sign up today at <a href="https://www.cityguideny.com/gtesignup/" target="_blank">cityguideny.com/gtesignup</a></b></p>';
endif;
echo '<p><b>This survey expires on ' . date('l, F j, Y', strtotime($row->expiration_date)) . ' </b></p>';
echo form_message($form_message);
form_column_start('max-width:750px;');
foreach ($ar_q as $row_q) :
$field_name = snake_case($row_q->question_text);
$field_label = htmlspecialchars($row_q->question_text);
$ar_answer_list = preg_split("/\r\n|\n|\r/", $row_q->answer_list);
if (!empty($row_q->auto_populate_field) && empty($_POST[$field_name])) :
$_POST[$field_name] = $row->{$row_q->auto_populate_field};
endif;
switch ($row_q->question_type) :
case 'text_line' :
form_field(['fname'=>$field_name, 'ftype'=>'text', 'fsize'=>250, 'frequired'=>$row_q->required, 'readonly'=>$row_q->read_only, 'fdbname'=>'', 'flabel'=>$field_label]);
break;
case 'text_box' :
form_field(['fname'=>$field_name, 'ftype'=>'textarea', 'fsize'=>70, 'frows'=>6, 'frequired'=>$row_q->required, 'readonly'=>$row_q->read_only, 'fdbname'=>'', 'flabel'=>$field_label]);
break;
case 'email' :
form_field(['fname'=>$field_name, 'ftype'=>'text', 'datatype'=>'email', 'fsize'=>250, 'frequired'=>$row_q->required, 'readonly'=>$row_q->read_only, 'fdbname'=>'', 'flabel'=>$field_label]);
break;
case 'radio_group' :
form_field(['fname'=>$field_name, 'ftype'=>'radiogroup', 'fsize'=>250, 'frequired'=>$row_q->required, 'readonly'=>$row_q->read_only, 'fdbname'=>'', 'flabel'=>$field_label, 'ar_group'=>$ar_answer_list, 'horizontal_layout'=>$row_q->horizontal_layout]);
break;
case 'checkbox' :
form_field(['fname'=>$field_name, 'ftype'=>'checkbox', 'fsize'=>250, 'frequired'=>$row_q->required, 'readonly'=>$row_q->read_only, 'fdbname'=>'', 'flabel'=>$field_label, 'ar_group'=>$ar_answer_list]);
break;
case 'checkbox_group' :
form_field(['fname'=>$field_name, 'ftype'=>'checkgroup', 'fsize'=>250, 'frequired'=>$row_q->required, 'readonly'=>$row_q->read_only, 'fdbname'=>'', 'flabel'=>$field_label, 'ar_group'=>$ar_answer_list, 'horizontal_layout'=>$row_q->horizontal_layout]);
break;
endswitch;
endforeach;
form_column_end();
$strip_buttons = [
'save' => [
'show' => true,
'caption' => 'Submit',
'js' => "sheet_dirty = false; this.form.submit();",
],
'cancel' => [
'show' => true,
'caption' => 'Cancel',
'js' => "sheet_dirty = false; location.href='https://www.cityguideny.com/';",
],
'save_close' => [
'show' => false,
],
'save_new' => [
'show' => false,
],
];
form_button_strip('bottom', $strip_buttons, false);
?>
</form>
<?php endif; ?>
</div>
</body>
<script src='https://www.google.com/recaptcha/api.js' async defer ></script>
</html>