| Server IP : 172.67.201.108 / Your IP : 216.73.217.143 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/tgnewdev/mod/ |
Upload File : |
<?php require('_mod_security.php'); ?>
<?php
set_analytics_reference('event_submit', null);
$form_success = false;
form_prep('', '', 'frm_event', false);
if (($_POST['form_submitted'] ?? '') === '1') :
if (submit_limiter_exceeded('event_form_submitted', 20)) :
echo '<h1>Sorry, you have exceeded your daily submission limit</h1>';
return;
endif;
$_POST['html'] = purify_html($_POST['html']);
if (empty($_POST['slug']) && !empty($_POST['name'])) :
$_POST['slug'] = generate_unique_slug($_POST['name'], 'events', 'slug');
endif;
form_prep_submit();
form_validate_all();
/* ***************** store media **************** */
if (isset($_FILES['media_filename']) && !empty($_FILES['media_filename']['name'])) :
$upload_file_name = strtolower(pathinfo($_FILES['media_filename']['name'], PATHINFO_FILENAME));
$upload_file_name = str_replace(' ','_',$upload_file_name);
$upload_file_name = preg_replace('/[^0-9a-z\.\_\-]/i','',$upload_file_name);
$upload_file_name = random_append_filename($upload_file_name);
$target_dir = APP_ROOT_MEDIA_DIR.'/'.'img/content/';
if (!is_dir($target_dir)) :
mkdir($target_dir, 0777, true);
endif;
$img_upload_result = upload_image('media_filename', $upload_file_name, $target_dir, 2000, 8388608, 'img/content/', true);
if ($img_upload_result['success'] === true) :
$media_filename_filename = $img_upload_result['filename'];
$hash = $img_upload_result['hash'];
else :
$ar_err['media_filename'] = $img_upload_result['status'];
$err_flag = true;
endif;
endif;
/* ************************************************ */
if (!$err_flag) :
try {
$db->beginTransaction();
$set = sql_set_update() . form_generate_set(true);
$sql = "INSERT INTO events SET ".
sql_set_create() .
"status = 0, " .
"slug = " . $db->quote($_POST['slug']) . ", " .
"event_timezone = 'America/New_York', " .
"featured_image = " . (empty($media_filename_filename) ? 'NULL' : $db->quote($media_filename_filename)) . ", " .
$set;
$db->query($sql);
$_REQUEST['id'] = last_id();
$_POST['id'] = $_REQUEST['id'];
$_POST['id'] = $_REQUEST['id'];
post_set_create_update();
$sql = "DELETE FROM events_categories WHERE event_id = " . nz(trim($_REQUEST['id']), '0');
$db->query($sql);
foreach ($_POST['categories'] as $category_id) :
$sql = "INSERT INTO events_categories SET
event_id = " . nz(trim($_REQUEST['id']), '0') . ",
category_id = " . nz(trim($category_id), '0') . "
";
$db->query($sql);
endforeach;
if (!empty($media_filename_filename)) :
$sql_img = "
INSERT INTO media SET
media_cat = 'content',
media_type = 'img',
media_path = 'img/content/',
media_filename = :media_filename,
media_desc = :media_desc,
hash = :hash
";
$stmt_img = $db->prepare($sql_img);
$data_img = [
':media_filename' => $media_filename_filename,
':media_desc' => clean_string($_POST['name']),
':hash' => $hash,
];
$stmt_img->execute($data_img);
endif;
$db->commit();
} catch(Exception $e) {
db_err_rollback($e);
}
$form_message = "Thank you. Your event has been submitted";
write_log('I', 0, 'event_form_submitted');
$form_success = true;
set_analytics_reference('event_submitted', (int)$_REQUEST['id']);
else :
$form_message = "Errors found!";
endif;
endif;
?>
<script>
function change_location_type() {
if ($('#location_type').val() === '') {
$('#location_id').val('').parent().hide();
$('#location_url').val('').parent().hide();
$('#location_url_text').val('').parent().hide();
} else if ($('#location_type').val() === 'physical') {
$('#location_id').parent().show();
$('#location_url').val('').parent().hide();
$('#location_url_text').val('').parent().hide();
} else if ($('#location_type').val() === 'url') {
$('#location_id').val('').parent().hide();
$('#location_url').parent().show();
$('#location_url_text').parent().show();
}
}
function toggle_all_day_event() {
if ($('#all_day_event').prop('checked')) {
var $picker = $('#start_time_local');
var currentDate = $picker.datetimepicker('getDate');
currentDate.setHours(0, 0, 0, 0);
$picker.datetimepicker('setDate', currentDate);
currentDate.setHours(23, 59, 59, 0);
$('#end_time_local').datetimepicker('setDate', currentDate);
} else {
}
}
function toggle_recurring_event() {
if ($('#recurrence').prop('checked')) {
} else {
}
}
$(document).ready(function() {
$('#html').trumbowyg();
change_location_type();
});
</script>
<h1>Submit an Event</h1>
<?php
echo form_message($form_message);
if ($form_success) :
echo '<button type="button" onclick="window.location.href = \'home\';">Continue</button>';
return;
endif;
?>
<form name="frm_event" id="frm_event" class="standard_form" method="post" enctype="multipart/form-data" action="">
<input name="form_submitted" type="hidden" value="1" />
<?php
echo '<h3>Your Details</h3>';
form_field(['fname'=>'submitted_name', 'ftype'=>'text', 'fsize'=>250, 'frequired'=>true, 'fdbname'=>'submitted_name', 'flabel'=>'Your Name', 'tag_required'=>true]);
form_field(['fname'=>'submitted_email', 'ftype'=>'text', 'fsize'=>250, 'frequired'=>true, 'fdbname'=>'submitted_email', 'flabel'=>'Your Email', 'tag_required'=>true]);
form_field(['fname'=>'name', 'ftype'=>'text', 'fsize'=>250, 'frequired'=>true, 'fdbname'=>'name', 'flabel'=>'Event Name', 'tag_required'=>true]);
echo '<h3>When</h3>';
form_field(['fname'=>'start_time_local', 'ftype'=>'datetime', 'fsize'=>20, 'frequired'=>true, 'readonly'=>false, 'fclass'=>'date-time-pick dp-applied required', 'fdbname'=>'start_time_local', 'flabel'=>'Start Date/Time', 'tag_required'=>true]);
form_field(['fname'=>'end_time_local', 'ftype'=>'datetime', 'fsize'=>20, 'frequired'=>true, 'readonly'=>false, 'fclass'=>'date-time-pick dp-applied required', 'fdbname'=>'end_time_local', 'flabel'=>'End Date/Time', 'tag_required'=>true]);
form_field(['fname'=>'all_day_event', 'ftype'=>'checkbox', 'fdbname'=>'all_day_event', 'flabel'=>'All Day Event', 'onchange'=>'toggle_all_day_event();']);
echo '<h3>Where</h3>';
form_field(['fname'=>'location_type', 'ftype'=>'select', 'fsize'=>25, 'frequired'=>false, 'readonly'=>false, 'fdbname'=>'location_type', 'flabel'=>'Location Type', 'ar_group'=>APP_LOCATION_TYPES, 'onchange'=>'change_location_type();']);
$sql = "SELECT id, name FROM locations WHERE status = 1 ORDER by name";
$result_locations = $db->query($sql) or die('Database Error!');
$ar_locations = $result_locations->fetchAll(PDO::FETCH_KEY_PAIR);
form_field(['fname'=>'location_id', 'ftype'=>'select', 'fsize'=>25, 'frequired'=>false, 'readonly'=>false, 'fdbname'=>'location_id', 'flabel'=>'Location', 'ar_group'=>$ar_locations, 'onchange'=>'']);
form_field(['fname'=>'location_url', 'ftype'=>'text', 'fsize'=>250, 'frequired'=>false, 'fdbname'=>'location_url', 'flabel'=>'Location URL']);
form_field(['fname'=>'location_url_text', 'ftype'=>'text', 'fsize'=>250, 'frequired'=>false, 'fdbname'=>'location_url_text', 'flabel'=>'Location URL Link Text']);
form_field(['fname'=>'submitted_location', 'ftype'=>'text', 'fsize'=>250, 'frequired'=>false, 'fdbname'=>'submitted_location', 'flabel'=>'Don\'t see your location in the menu above? Type it below']);
echo '<h3>Details</h3>';
form_field(['fname'=>'html', 'ftype'=>'textarea', 'fsize'=>70, 'frows'=>18, 'fdbname'=>'html', 'flabel'=>'Event Description Text']);
form_field(['fname'=>'price', 'ftype'=>'text', 'fsize'=>250, 'frequired'=>false, 'fdbname'=>'price', 'flabel'=>'Price']);
form_field(['fname'=>'event_url', 'ftype'=>'text', 'fsize'=>250, 'frequired'=>false, 'fdbname'=>'event_url', 'flabel'=>'Event URL']);
$sql = "SELECT id, name FROM categories WHERE active = 1 ORDER by name";
$result_categories = $db->query($sql) or die('Database Error!');
$ar_categories = $result_categories->fetchAll(PDO::FETCH_KEY_PAIR);
form_field(['fname'=>'categories', 'ftype'=>'select', 'fsize'=>25, 'frequired'=>false, 'readonly'=>false, 'fdbname'=>'', 'flabel'=>'Categories', 'ar_group'=>$ar_categories, 'fclass'=>'select2', 'multiselect'=>true]);
echo '<h3>Event Image</h3>';
form_field(['fname'=>'media_filename', 'ftype'=>'image', 'fsize'=>10, 'frequired'=>false, 'fdbname'=>'', 'flabel'=>'Image']);
form_field(['fname'=>'consent', 'ftype'=>'checkbox', 'fdbname'=>'', 'frequired'=>true, 'flabel'=>'I consent to my submitted data being collected and stored as <a href="terms" target="_blank">outlined by the site</a>.', 'fstyle'=>'font-size:17px;', 'tag_required'=>true]);
?>
<?php form_button_strip('bottom', [
'save' => ['show' => true, 'caption' => 'Submit Event', 'js' => "sheet_dirty = false; this.form.requestSubmit();"],
'save_close' => ['show' => false, 'caption' => 'Save & Close', 'js' => "sheet_dirty = false; document.getElementById('xsubmit').value = this.value; this.form.submit();"],
'save_new' => ['show' => false, 'caption' => 'Save & New', 'js' => "sheet_dirty = false; document.getElementById('xsubmit').value = this.value; this.form.submit();"],
'cancel' => ['show' => true, 'caption' => 'Cancel', 'js' => "sheet_dirty = false; window.location.href = 'home';"],
], false); ?>
</form>
<?php require_once('admin/mod/_html_editor.php'); ?>