This commit is contained in:
2021-06-21 11:13:02 -04:00
parent 5e4b57ebad
commit 1cb2704c65
7 changed files with 237 additions and 210 deletions

220
index.php
View File

@@ -145,66 +145,78 @@ if (Registry::AUTHMETHOD == 'SAML') {
<?php die; } } } ?>
<!-- USER CONTENT START -->
<?php
$post_outtime = filter_input(INPUT_POST, 'outtime');
if (!empty($_POST['endvisit'])) {
if (!empty($_POST['outtime'])) {
$newdate = new DateTime($_POST['outtime'], new DateTimeZone($timezone));
$newdate->setTimeZone(new DateTimeZone('UTC'));
$postdate=$newdate->format('Y-m-d H:i:s');
echo $VisitActions->endVisit($_POST['endvisit'], $postdate);
} else {
echo $VisitActions->endVisit($_POST['endvisit'], $StaticFunctions->getUTC());
}
}
// VOID VISIT IF POSTED
if (!empty($_POST['voidvisit'])) {
echo $VisitActions->voidVisit($_POST['voidvisit'], "0", $_POST['voidnotes']);
}
// FINALIZE VENDOR RECORD IF POSTED
if (!empty($_POST['updatefinalvendorvisit'])) {
echo $VisitActions->setInfoVendorVisitFinal($_POST['db_vendorinfo_id'], $_POST['db_vendorinfo_checklistcompleted'], $_POST['db_vendorinfo_workcompleted'], $_POST['db_vendorinfo_sitecleanup'], $uid, $_POST['db_vendorinfo_doccompleted'] );
}
// MANUAL SIGNIN
<!-- AUTHENTICATED -->
<?php // FILTER POSTED DATA
$form_data = filter_input_array(INPUT_POST, [
'form_data_stage' => (string)FILTER_SANITIZE_STRING,
'form_data_siteid' => (int)FILTER_VALIDATE_INT,
'form_data_isvendor' => (int)FILTER_VALIDATE_INT,
'form_data_manualsignindate' => (string)FILTER_SANITIZE_STRING,
'form_data_firstname' => (string)FILTER_SANITIZE_STRING,
'form_data_lastname' => (string)FILTER_SANITIZE_STRING,
'form_data_carnum' => (string)FILTER_SANITIZE_STRING,
'form_data_ssanum' => (string)FILTER_SANITIZE_STRING,
'form_data_company' => (string)FILTER_SANITIZE_STRING,
'fd_formAction' => (string)FILTER_SANITIZE_STRING,
'fd_siteId' => (int)FILTER_VALIDATE_INT,
'fd_isVendor' => (int)FILTER_VALIDATE_INT,
'fd_manualTimeDate' => (string)FILTER_SANITIZE_STRING,
'fd_firstName' => (string)FILTER_SANITIZE_STRING,
'fd_lastName' => (string)FILTER_SANITIZE_STRING,
'fd_carNum' => (string)FILTER_SANITIZE_STRING,
'fd_ssaNum' => (string)FILTER_SANITIZE_STRING,
'fd_visitorCompany' => (string)FILTER_SANITIZE_STRING,
'form_data_contact1' => (string)FILTER_SANITIZE_STRING,
'form_data_contact2' => (string)FILTER_SANITIZE_STRING,
'form_data_workstart' => (string)FILTER_SANITIZE_STRING,
'form_data_workend' => (string)FILTER_SANITIZE_STRING,
'form_data_visittype' => (int)FILTER_VALIDATE_INT,
'form_data_escortrequired' => (int)FILTER_VALIDATE_INT,
'form_data_v_signature' => (string)FILTER_SANITIZE_STRING,
'form_data_e_signature' => (string)FILTER_SANITIZE_STRING,
'form_data_escortname' => (string)FILTER_SANITIZE_STRING,
'fd_visitType' => (int)FILTER_VALIDATE_INT,
'fd_escortRequired' => (int)FILTER_VALIDATE_INT,
'fd_visitorSignature' => (string)FILTER_SANITIZE_STRING,
'fd_escortSignature' => (string)FILTER_SANITIZE_STRING,
'fd_escortName' => (string)FILTER_SANITIZE_STRING,
'db_vendorinfo_id' => (string)FILTER_SANITIZE_STRING,
'db_vendorinfo_checklistrequired' => (string)FILTER_SANITIZE_STRING,
'db_vendorinfo_routinework' => (string)FILTER_SANITIZE_STRING,
'db_vendorinfo_nonroutinework' => (string)FILTER_SANITIZE_STRING,
'db_vendorinfo_coi' => (string)FILTER_SANITIZE_STRING,
'db_vendorinfo_worksummary' => (string)FILTER_SANITIZE_STRING,
'db_vendorinfo_equipmentsummary' => (string)FILTER_SANITIZE_STRING
'db_vendorinfo_equipmentsummary' => (string)FILTER_SANITIZE_STRING,
'fd_voidVisitId' => (int)FILTER_VALIDATE_INT,
'fd_voidVisitNotes' => (string)FILTER_SANITIZE_STRING,
'db_vendorinfo_checklistcompleted' => (int)FILTER_VALIDATE_INT,
'db_vendorinfo_workcompleted' => (int)FILTER_VALIDATE_INT,
'db_vendorinfo_sitecleanup' => (int)FILTER_VALIDATE_INT,
'db_vendorinfo_doccompleted' => (int)FILTER_VALIDATE_INT,
'outtime' => (string)FILTER_SANITIZE_STRING,
'endvisit' => (string)FILTER_SANITIZE_STRING
]);
?>
<?php if (!empty($form_data['endvisit'])) { // MANUAL SIGN OUT
if (!empty($form_data['outtime'])) {
$newdate = new DateTime($form_data['outtime'], new DateTimeZone($timezone));
$newdate->setTimeZone(new DateTimeZone('UTC'));
$postdate=$newdate->format('Y-m-d H:i:s');
echo $VisitActions->endVisit($form_data['endvisit'], $postdate);
} else {
echo $VisitActions->endVisit($form_data['endvisit'], $StaticFunctions->getUTC());
}
} ?>
// UPDATE VENDOR RECORD IF POSTED
if(!empty($form_data['form_data_stage'])){
if($form_data['form_data_stage']==='updateinitialvendorvisit'){
<?php if(!empty($form_data['fd_formAction'])){ // DECLINE VISIT
if($form_data['fd_formAction']==='actionVoidVisit'){
ob_start();
$VisitActions->voidVisit(
$form_data['fd_voidVisitId'],
"0",
$form_data['fd_voidVisitNotes'] );
ob_end_clean(); unset($form_data); } } ?>
<?php if(!empty($form_data['fd_formAction'])){ // COMPLETE VENDOR FORM FINAL STAGE
if($form_data['fd_formAction']==='actionVendorComplete'){
ob_start();
$VisitActions->setInfoVendorVisitFinal(
$form_data['db_vendorinfo_id'],
$form_data['db_vendorinfo_checklistcompleted'],
$form_data['db_vendorinfo_workcompleted'],
$form_data['db_vendorinfo_sitecleanup'],
$form_data['db_vendorinfo_doccompleted'] );
ob_end_clean(); unset($form_data); } } ?>
<?php if(!empty($form_data['fd_formAction'])){ // CONFIRM VENDOR FORM INITIAL STAGE
if($form_data['fd_formAction']==='actionVendorConfirmation'){
ob_start();
$VisitActions->setInfoVendorVisitInitial(
$form_data['db_vendorinfo_id'],
@@ -214,37 +226,42 @@ if(!empty($form_data['form_data_stage'])){
$form_data['db_vendorinfo_coi'],
$form_data['db_vendorinfo_worksummary'],
$form_data['db_vendorinfo_equipmentsummary'] );
ob_end_clean();
unset($form_data);
}
}
ob_end_clean(); unset($form_data); } } ?>
// SET MANUALSIGNIN STAGE
if(!empty($form_data['form_data_stage'])){
if($form_data['form_data_stage']==='manualsignin'){
if(!empty($form_data['form_data_manualsignindate'])){
$manualdate = new DateTime($form_data['form_data_manualsignindate'], new DateTimeZone($timezone));
<?php if(!empty($form_data['fd_formAction'])){ // MANUAL SIGN IN
if($form_data['fd_formAction']==='actionManualSignIn'){
ob_start();
if(!empty($form_data['fd_manualTimeDate'])){ // CONVERT LOCAL TO UTC IF SET
$manualdate = new DateTime($form_data['fd_manualTimeDate'], new DateTimeZone($timezone));
$manualdate->setTimeZone(new DateTimeZone('UTC'));
$form_data['form_data_manualsignindate']=$manualdate->format('Y-m-d H:i:s');
$form_data['fd_manualTimeDate']=$manualdate->format('Y-m-d H:i:s');
} else {
$form_data['form_data_manualsignindate'] = $StaticFunctions->getUTC();
}
$form_data['fd_manualTimeDate'] = $StaticFunctions->getUTC(); // OTHERWISE USE NOW()UTC
}
$visitid = $VisitActions->newVisit( // ADD VISIT RECORD
$form_data['fd_firstName'],
$form_data['fd_lastName'],
$form_data['fd_visitorCompany'],
$form_data['fd_visitType'],
$form_data['fd_manualTimeDate'],
$form_data['fd_visitorSignature'],
$form_data['fd_siteId'], "1",
$form_data['fd_escortSignature'],
$form_data['fd_escortName'],
empty($form_data['fd_carNum'])?"":$form_data['fd_carNum'],
empty($form_data['fd_ssaNum'])?"":$form_data['fd_ssaNum'],
empty($form_data['fd_isVendor'])?(int)0:$form_data['fd_isVendor']);
if($form_data['fd_isVendor'] === (int)1) { // ADD VENDOR RECORD IF REQUIRED
$vendorid = $VisitActions->setInfoVendorVisitNew(
$visitid,
empty($form_data['form_data_contact1'])?"":$form_data['form_data_contact1'],
empty($form_data['form_data_contact2'])?"":$form_data['form_data_contact2'],
empty($form_data['form_data_workstart'])?"":$form_data['form_data_workstart'],
empty($form_data['form_data_workend'])?"":$form_data['form_data_workend']);
}
ob_end_clean(); unset($form_data); } } ?>
if (empty($form_data['form_data_carnum'])) { $carnum="";} else {$carnum=$form_data['form_data_carnum'];}
if (empty($form_data['form_data_ssanum'])) { $ssanum="";} else {$ssanum=$form_data['form_data_ssanum'];}
if (empty($form_data['form_data_isvendor'])) { $isvendor="0";} else {$isvendor=$form_data['form_data_isvendor'];}
if (empty($form_data['form_data_contact1'])) { $db_vendorinfo_contact1="";} else {$db_vendorinfo_contact1=$form_data['form_data_contact1'];}
if (empty($form_data['form_data_contact2'])) { $db_vendorinfo_contact2="";} else {$db_vendorinfo_contact2=$form_data['form_data_contact2'];}
if (empty($form_data['form_data_workstart'])) { $db_vendorinfo_workstart="";} else {$db_vendorinfo_workstart=$form_data['form_data_workstart'];}
if (empty($form_data['form_data_workend'])) { $db_vendorinfo_workend="";} else {$db_vendorinfo_workend=$form_data['form_data_workend'];}
$visitid = $VisitActions->newVisit($form_data['form_data_firstname'], $form_data['form_data_lastname'], $form_data['form_data_company'], $form_data['form_data_visittype'], $form_data['form_data_manualsignindate'], $form_data['form_data_v_signature'], $form_data['form_data_siteid'], "1", $form_data['form_data_e_signature'], $form_data['form_data_escortname'], $carnum, $ssanum, $isvendor);
if($form_data['form_data_isvendor'] === (int)"1") {
$vendorid = $VisitActions->setInfoVendorVisitNew($visitid, $db_vendorinfo_contact1, $db_vendorinfo_contact2, $db_vendorinfo_workstart, $db_vendorinfo_workend);
}
}
}
// If post is approved, save after error checking.
<?php // APPROVE VISITOR
if (!empty($_POST['approvevisit'])) {
if (empty($_POST['id_type'])) { $id_type_error=1; } else {$id_type_error=0;};
if (empty($_POST['badge'])) { $badge_error=1; } else {$badge_error=0;};
@@ -279,7 +296,7 @@ if($form_data['form_data_isvendor'] === (int)"1") {
e.preventDefault();
var _self = $(this);
var myVoidId = _self.data('id');
$("#voidvisit").val(myVoidId);
$("#fd_voidVisitId").val(myVoidId);
$(_self.attr('href')).modal('show');
});
</script>
@@ -300,12 +317,13 @@ if($form_data['form_data_isvendor'] === (int)"1") {
</div>
<div class="modal-body">
<form class="form form-approve" method="post">
<input type="hidden" name="fd_formAction" id="fd_formAction" value="actionVoidVisit" />
<div class="row row-cols-1">
<div class="col d-grid gap-2">
<div class="input-group input-group-sm mb-0">
<span class="input-group-text"><?php echo $transLang['NOTES']; ?></span>
<input type="hidden" name="voidvisit" id="voidvisit" value="" />
<textarea class="form-control" id="voidnotes" name="voidnotes" placeholder="<?php echo $transLang['NOTES_PLACEHOLDER']; ?>"></textarea>
<input type="hidden" name="fd_voidVisitId" id="fd_voidVisitId" value="" />
<textarea class="form-control" id="fd_voidVisitNotes" name="fd_voidVisitNotes" placeholder="<?php echo $transLang['NOTES_PLACEHOLDER']; ?>"></textarea>
</div>
</div>
</div>
@@ -352,15 +370,15 @@ if($form_data['form_data_isvendor'] === (int)"1") {
</div>
<div class="modal-body">
<form method="post">
<input type="hidden" name="form_data_stage" id="form_data_stage" value="manualsignin" />
<input type="hidden" name="fd_formAction" id="fd_formAction" value="actionManualSignIn" />
<div class="row row-cols-1 mb-2">
<div class="col d-grid gap-2">
<div class="input-group input-group-sm mb-0">
<span class="input-group-text" data-bs-toggle="datetimepicker" data-target=".datetimepicker-form_data_manualsignindate">Sign In Date/Time&nbsp;<i class="fas fa-clock"></i></span>
<input placeholder="" name="form_data_manualsignindate" type="text" class="form-control bg-white datetimepicker-input datetimepicker-form_data_manualsignindate" id="datetimepicker-form_data_manualsignindate" data-toggle="datetimepicker" data-target=".datetimepicker-form_data_manualsignindate"/>
<span class="input-group-text" data-bs-toggle="datetimepicker" data-target=".datetimepicker-fd_manualTimeDate">Sign In Date/Time&nbsp;<i class="fas fa-clock"></i></span>
<input placeholder="" name="fd_manualTimeDate" type="text" class="form-control bg-white datetimepicker-input datetimepicker-fd_manualTimeDate" id="datetimepicker-fd_manualTimeDate" data-toggle="datetimepicker" data-target=".datetimepicker-fd_manualTimeDate"/>
<script type="text/javascript">
$(function () {
$('.datetimepicker-form_data_manualsignindate').datetimepicker({'timeZone': '<?php echo $timezone; ?>', 'sideBySide':true, 'format':'YYYY-MM-DD HH:mm:ss', 'allowInputToggle': true });
$('.datetimepicker-fd_manualTimeDate').datetimepicker({'timeZone': '<?php echo $timezone; ?>', 'sideBySide':true, 'format':'YYYY-MM-DD HH:mm:ss', 'allowInputToggle': true });
});
</script>
</div>
@@ -370,30 +388,30 @@ if($form_data['form_data_isvendor'] === (int)"1") {
<div class="col d-grid gap-2">
<div class="input-group input-group-sm mb-0">
<span class="input-group-text"><?php echo $transLang['FIRSTNAME']; ?></span>
<input class="form-control" id="form_data_firstname" name="form_data_firstname" />
<input class="form-control" id="fd_firstName" name="fd_firstName" />
</div>
</div>
<div class="col d-grid gap-2">
<div class="input-group input-group-sm mb-0">
<span class="input-group-text"><?php echo $transLang['LASTNAME']; ?></span>
<input class="form-control" id="form_data_lastname" name="form_data_lastname" />
<input class="form-control" id="fd_lastName" name="fd_lastName" />
</div>
</div>
</div>
<input type="hidden" name="form_data_siteid" id="form_data_siteid" value="<?php echo $siteid; ?>" />
<input type="hidden" name="form_data_v_signature" id="form_data_v_signature" value="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAAyCAQAAACzWFxqAAAAXklEQVR42u3RMQEAAAzCsOHf9CxwcqQSmpymigVABASIgAARECACAkRABASIgAARECACAkRABASIgAARECACAkRABASIgAARECACAkRABASIgAARECACAkRABASI2h4b9QAzse8LYwAAAABJRU5ErkJggg==" />
<input type="hidden" name="fd_siteId" id="fd_siteId" value="<?php echo $siteid; ?>" />
<input type="hidden" name="fd_visitorSignature" id="fd_visitorSignature" value="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAAyCAQAAACzWFxqAAAAXklEQVR42u3RMQEAAAzCsOHf9CxwcqQSmpymigVABASIgAARECACAkRABASIgAARECACAkRABASIgAARECACAkRABASIgAARECACAkRABASIgAARECACAkRABASI2h4b9QAzse8LYwAAAABJRU5ErkJggg==" />
<?php if($SiteInfo->getSite($siteid, $uid, "0", "0")[0]["sites_region"] == "EMEA") { ?>
<div class="row row-cols-2 mb-2">
<div class="col d-grid gap-2">
<div class="input-group mb-3">
<span class="input-group-text"><?php echo $transLang['CARNUM']; ?></span>
<input type="text" id="form_data_carnum" name="form_data_carnum" class="form-control" placeholder="<?php echo $transLang['CARNUM']; ?>" required autofocus>
<input type="text" id="fd_carNum" name="fd_carNum" class="form-control" placeholder="<?php echo $transLang['CARNUM']; ?>" required autofocus>
</div>
</div>
<div class="col d-grid gap-2">
<div class="input-group mb-3">
<span class="input-group-text"><?php echo $transLang['SSANUM']; ?></span>
<input type="text" id="form_data_ssanum" name="form_data_ssanum" class="form-control" placeholder="<?php echo $transLang['SSANUM']; ?>" required autofocus>
<input type="text" id="fd_ssaNum" name="fd_ssaNum" class="form-control" placeholder="<?php echo $transLang['SSANUM']; ?>" required autofocus>
</div>
</div>
</div>
@@ -402,7 +420,7 @@ if($form_data['form_data_isvendor'] === (int)"1") {
<div class="col d-grid gap-2">
<div class="input-group input-group-sm mb-0">
<span class="input-group-text"><?php echo $transLang['COMPANY']; ?></span>
<input class="form-control" id="form_data_company" name="form_data_company" />
<input class="form-control" id="fd_visitorCompany" name="fd_visitorCompany" />
</div>
</div>
</div>
@@ -461,8 +479,8 @@ if($form_data['form_data_isvendor'] === (int)"1") {
$('#vendorrequiredsection').show();
$('#escortrequiredsection').hide();
$('#escortrequiredswitchsection').hide();
$('#form_data_escortname').removeAttr('required');
$('#form_data_escortname').removeAttr('data-error');
$('#fd_escortName').removeAttr('required');
$('#fd_escortName').removeAttr('data-error');
$('#form_data_contact1').attr('required', '');
$('#form_data_contact1').attr('data-error', 'This field is required.');
$('#form_data_contact2').attr('required', '');
@@ -474,8 +492,8 @@ if($form_data['form_data_isvendor'] === (int)"1") {
} else {
$('#vendorrequiredsection').hide();
$('#escortrequiredswitchsection').show();
$('#form_data_escortname').removeAttr('required');
$('#form_data_escortname').removeAttr('data-error');
$('#fd_escortName').removeAttr('required');
$('#fd_escortName').removeAttr('data-error');
$('#form_data_contact1').removeAttr('required');
$('#form_data_contact1').removeAttr('data-error');
$('#form_data_contact2').removeAttr('required');
@@ -492,7 +510,7 @@ if($form_data['form_data_isvendor'] === (int)"1") {
<div class="col d-grid gap-2">
<div class="input-group input-group-sm mb-0">
<span class="input-group-text"><?php echo $transLang['REASON']; ?></span>
<select class="form-select" id="form_data_visittype" name="form_data_visittype" required>
<select class="form-select" id="fd_visitType" name="fd_visitType" required>
<option value="" selected><?php echo $transLang['SELECTREASON']; ?></option><?php foreach($VisitTypeInfo->getInfoVisitType("%","%") as $vtrow): ?>
<option value="<?php echo $vtrow['visittypes_id']; ?>">[<?php if($vtrow['visittypes_isvendor']===0){echo "Visitor";}elseif($vtrow['visittypes_isvendor']===1){echo "Vendor";} ?>] <?php echo $transLang[$vtrow['visittypes_name']]; ?></option><?php endforeach; ?>
</select>
@@ -511,7 +529,7 @@ if($form_data['form_data_isvendor'] === (int)"1") {
<div class="col d-grid gap-2">
<div class="input-group input-group-sm mb-0">
<span class="input-group-text"><?php echo $transLang['ENAME']; ?></span>
<input type="text" id="form_data_escortname" name="form_data_escortname" class="form-control" placeholder="<?php echo $transLang['ETAG']; ?>" autofocus>
<input type="text" id="fd_escortName" name="fd_escortName" class="form-control" placeholder="<?php echo $transLang['ETAG']; ?>" autofocus>
</div>
</div>
</div>
@@ -520,12 +538,12 @@ if($form_data['form_data_isvendor'] === (int)"1") {
var checkedEscortValue=$("#escortrequiredswitch").is(":checked");
if (checkedEscortValue === true) {
$('#escortrequiredsection').show();
$('#form_data_escortname').attr('required', '');
$('#form_data_escortname').attr('data-error', 'This field is required.');
$('#fd_escortName').attr('required', '');
$('#fd_escortName').attr('data-error', 'This field is required.');
} else {
$('#escortrequiredsection').hide();
$('#form_data_escortname').removeAttr('required');
$('#form_data_escortname').removeAttr('data-error');
$('#fd_escortName').removeAttr('required');
$('#fd_escortName').removeAttr('data-error');
}
});
$('#escortrequiredswitch').trigger("change");
@@ -607,7 +625,7 @@ if($form_data['form_data_isvendor'] === (int)"1") {
<div class="row row-cols-2 mb-2">
<div class="col d-grid gap-2">
<div class="input-group input-group-sm mb-0">
<input type="hidden" name="form_data_stage" id="form_data_stage" value="updateinitialvendorvisit" />
<input type="hidden" name="fd_formAction" id="fd_formAction" value="actionVendorConfirmation" />
<input type="hidden" name="db_vendorinfo_id" id="db_vendorinfo_id" value="<?php echo $db_vendorinfo_id; ?>" />
<span class="input-group-text"><?php echo $transLang['STR_VENDORINFO_CONTACT1_TITLE']; ?></span>
<input class="form-control" id="db_vendorinfo_contact1" name="db_vendorinfo_contact1" placeholder="<?php echo $db_vendorinfo_contact1; ?>" value="<?php echo $db_vendorinfo_contact1; ?>" disabled />
@@ -750,7 +768,7 @@ if ($db_vendorinfo_workcompleted === 1 && $db_vendorinfo_sitecleanup === 1) { $f
<div class="row row-cols-2 mb-2">
<div class="col d-grid gap-2">
<div class="input-group input-group-sm mb-0">
<input type="hidden" name="updatefinalvendorvisit" id="updatefinalvendorvisit" value="updatefinalvendorvisit" />
<input type="hidden" name="fd_formAction" id="fd_formAction" value="actionVendorComplete" />
<input type="hidden" name="db_vendorinfo_id" id="db_vendorinfo_id" value="<?php echo $db_vendorinfo_id; ?>" />
<span class="input-group-text"><?php echo $transLang['STR_VENDORINFO_CONTACT1_TITLE']; ?></span>
<input class="form-control" id="db_vendorinfo_contact1" name="db_vendorinfo_contact1" placeholder="<?php echo $db_vendorinfo_contact1; ?>" value="<?php echo $db_vendorinfo_contact1; ?>" disabled />
@@ -1054,7 +1072,7 @@ if ($db_vendorinfo_workcompleted === 1 && $db_vendorinfo_sitecleanup === 1) { $f
<button type="submit" name="approvevisit" id="approvevisit-<?php echo $visitid; ?>" value="<?php echo $visitid; ?>" class="btn btn-success btn-block btn-sm <?php if(empty($initialvendorformcomplete)) {$initialvendorformcomplete=0;}; if ($isvendor===1 && $initialvendorformcomplete===0) { echo "disabled"; }; ?>"><i class="fas fa-thumbs-up"></i>&nbsp;<?php echo $transLang['STR_COMMON_APPROVE']; ?></button>
</div>
<div class="input-group input-group-sm mb-0 d-grid gap-2">
<a data-bs-toggle="modal" data-bs-target="#voidModal" data-id="<?php echo $visitid; ?>" href="#voidModal" name="voidvisit" value="<?php echo $visitid; ?>" class="btn btn-danger btn-block btn-sm open-voidModal"><i class="fas fa-thumbs-down"></i>&nbsp;<?php echo $transLang['DECLINE']; ?></a>
<a data-bs-toggle="modal" data-bs-target="#voidModal" data-id="<?php echo $visitid; ?>" href="#voidModal" name="fd_voidVisitId" value="<?php echo $visitid; ?>" class="btn btn-danger btn-block btn-sm open-voidModal"><i class="fas fa-thumbs-down"></i>&nbsp;<?php echo $transLang['DECLINE']; ?></a>
</div>
<div class="input-group input-group-sm mb-0">
<span class="input-group-text" data-bs-toggle="datetimepicker" data-target=".datetimepicker-<?php echo $visitid; ?>"><i class="fas fa-clock"></i></span>