1148 lines
73 KiB
PHP
1148 lines
73 KiB
PHP
<?php
|
|
/*
|
|
* Copyright (C) 2018 josh.north@point808.com
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
ini_set('session.gc_maxlifetime', 24*60*60); // MIN SESSION
|
|
ini_set('session.gc_probability', 1); // GC RATES
|
|
ini_set('session.gc_divisor', 100); // TIMES
|
|
ini_set('session.use_cookies', '1');
|
|
ini_set('session.use_only_cookies', '0');
|
|
ini_set('session.cookie_lifetime', '0');
|
|
ini_set('session.cookie_secure', '1');
|
|
ini_set('session.cookie_httponly', '1');
|
|
ini_set('session.cookie_samesite', 'Strict');
|
|
session_save_path('.tmp'); // TEMP
|
|
spl_autoload_register();
|
|
session_start(); // START
|
|
require_once __DIR__ . '/autoload.php'; // AUTOLOAD
|
|
require_once __DIR__ . '/src/Misc/defuse-crypto.phar';
|
|
use App\LobbySIO\Config\Registry;
|
|
use Defuse\Crypto\Crypto;
|
|
$Users = new \App\LobbySIO\Database\Users();
|
|
if (Registry::AUTHMETHOD == 'SAML') {
|
|
//simplesaml
|
|
require_once('../simplesamlphp/lib/_autoload.php');
|
|
$auth = new \SimpleSAML\Auth\Simple(Registry::AUTHIDP);
|
|
//$auth->requireAuth();
|
|
$auth->isAuthenticated();
|
|
if (!$auth->isAuthenticated()) {
|
|
$attributes = 'none';
|
|
} else {
|
|
$attributes = $auth->getAttributes();
|
|
$saml_user_email = $attributes['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress'][0];
|
|
$saml_user_info = $Users->getUserInfoByEmail($saml_user_email, "1", "0");
|
|
$saml_user_id = $saml_user_info["0"]["users_id"];
|
|
}
|
|
$session = \SimpleSAML\Session::getSessionFromRequest();
|
|
$session->cleanup();
|
|
}
|
|
$StaticFunctions = new \App\LobbySIO\Misc\StaticFunctions(); // DEFAULT CLASSES
|
|
$encKey = $StaticFunctions->loadEncryptionKeyFromConfig();
|
|
$SiteInfo = new \App\LobbySIO\Database\SiteInfo();
|
|
if (isset($_SESSION['user_id'])) { // LOGGED IN? GET USER OBJECT
|
|
if (isset($saml_user_id)) {
|
|
$sessuserid=$saml_user_id;
|
|
} else {
|
|
$sessuserid=$_SESSION['user_id'];
|
|
}
|
|
} elseif (!isset($_SESSION['user_id'])) {
|
|
if (isset($saml_user_id)) {
|
|
$sessuserid=$saml_user_id;
|
|
} else {
|
|
$sessuserid='2';
|
|
}
|
|
$session_user = $Users->getUserInfo($sessuserid, "1", "0"); }
|
|
if (isset($session_user)) { // GET UID OR SET TO KIOSK
|
|
$uid = $session_user["0"]["users_id"];} else { $uid = "2"; }
|
|
$app_disp_lang = filter_input(INPUT_COOKIE, 'app_disp_lang', FILTER_SANITIZE_FULL_SPECIAL_CHARS); // SETUP LANGUAGE
|
|
if(!isset($app_disp_lang)) {
|
|
$app_disp_lang=$StaticFunctions->getDefaultLanguage(); }
|
|
$siteidcookie = filter_input(INPUT_COOKIE, 'app_site', FILTER_SANITIZE_FULL_SPECIAL_CHARS); // SETUP SITE
|
|
foreach($SiteInfo->getSite("0", $uid, "0", "0") as $arr) {
|
|
$lookup_array[$arr['sites_id']]=1; }
|
|
if(isset($lookup_array[$siteidcookie])) {
|
|
$siteid = $siteidcookie; } else { $siteid = "1"; }
|
|
if(!isset($siteid)) { $siteid="1"; }
|
|
$Translate = new \App\LobbySIO\Language\Translate($app_disp_lang); // SETUP TRANSLATOR
|
|
$transLang = $Translate->userLanguage();
|
|
$VisitTypeInfo = new \App\LobbySIO\Database\VisitTypeInfo(); // ADDITIONAL CLASSES
|
|
$IDTypeInfo = new \App\LobbySIO\Database\IDTypeInfo();
|
|
$VisitInfo = new \App\LobbySIO\Database\VisitInfo();
|
|
Classes\Misc\Csrf::removeToken('home');
|
|
$VisitActions = new \App\LobbySIO\Database\VisitActions();
|
|
$app_current_pagename = $transLang['STR_COMMON_HOME']; // PAGE SETUP
|
|
$app_current_pageicon = '<i class="fas fa-home"></i> ';
|
|
require_once("inc/header.inc.php");
|
|
$urlsrc=basename(filter_input(INPUT_SERVER, 'PHP_SELF', FILTER_SANITIZE_URL));
|
|
//header("X-Frame-Options: SAMEORIGIN");
|
|
//header("X-Content-Type-Options: nosniff");
|
|
//header("Content-Security-Policy: script-src 'self' 'unsafe-inline'; script-src-elem 'self'; script-src-attr 'self'; style-src 'self'; style-src-elem 'self'; style-src-attr 'self'; img-src 'self'; connect-src 'self'; frame-src 'self'; font-src 'self'; media-src 'self'; object-src 'self'; manifest-src 'self'; worker-src 'self'; prefetch-src 'self'; form-action 'self'; frame-ancestors 'self'; default-src 'self'", false);
|
|
if (!empty($_GET['a'])) {
|
|
echo '<pre>' . print_r($_POST, true) . '</pre>';
|
|
echo 'Verification has been : ' . (Classes\Misc\Csrf::verifyToken('home') ? 'successful' : 'unsuccessful');
|
|
}
|
|
|
|
Classes\Visit::dbprefix();
|
|
|
|
?>
|
|
|
|
|
|
|
|
<?php if ($StaticFunctions->getUserSessionStatus() == false) { ?>
|
|
<!-- START GUEST CONTENT -->
|
|
<div class="container-fluid">
|
|
<div class="row"> </div>
|
|
<div class="row row-cols-1">
|
|
<div class="col d-grid gap-2">
|
|
<div class="alert alert-info text-center"><?php echo $transLang['WELCOMETO'] . " " . $SiteInfo->getSite($siteid, $uid, "0", "0")[0]["sites_name"]; ?></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="container-fluid">
|
|
<div class="row row-cols-1">
|
|
<div class="col d-grid gap-2">
|
|
<button class="btn btn-outline-danger btn-lg btn-block" tabindex="-1" role="button" aria-disabled="true" disabled><i class="fas fa-4x fa-sign-in-alt"></i><img src="<?php echo $StaticFunctions->getLogoText(); ?>" height="140" width="370" nonce="<?=$_SESSION['nonceStr']?>"></img><i class="fas fa-4x fa-sign-out-alt"></i><br /><h1><?php echo $transLang['APP_NAME']; ?></h1></button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="container-fluid">
|
|
<div class="row"> </div>
|
|
<div class="row row-cols-2">
|
|
<div class="col d-grid gap-2">
|
|
<a href="signin.php" class="btn btn-success btn-lg" tabindex="-1" role="button"> <br /> <br /><i class="fas fa-sign-in-alt"></i><br /><?php echo $transLang['CUSTSIGNIN']; ?><br /> <br /> </a>
|
|
</div>
|
|
<div class="col d-grid gap-2">
|
|
<a href="signout.php" class="btn btn-info btn-lg" tabindex="-1" role="button"> <br /> <br /><i class="fas fa-sign-out-alt"></i><br /><?php echo $transLang['CUSTSIGNOUT']; ?><br /> <br /> </a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- END GUEST CONTENT -->
|
|
|
|
<?php } else { ?>
|
|
|
|
<?php
|
|
//on login see if user name fields are set and if not copy from saml when using saml, and then reload
|
|
if (Registry::AUTHMETHOD == 'SAML') {
|
|
if ($StaticFunctions->getUserSessionStatus() == true) {
|
|
if (empty($Users->readUserFirstAndLast($uid)[0]["users_lastname"])) {
|
|
$Users->updateSamlFirstAndLast($uid, $attributes['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname'][0], $attributes['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname'][0]);
|
|
?>
|
|
<!-- START USER INIT CONTENT -->
|
|
<div class="container-fluid">
|
|
<div class="row"> </div>
|
|
<div class="row row-cols-1">
|
|
<div class="col d-grid gap-2">
|
|
<a class="btn btn-outline-success btn-lg btn-block" tabindex="-1" role="button" aria-disabled="true" href="index.php"><?php echo $transLang['REFRESH']; ?></a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- END USER INIT CONTENT -->
|
|
<?php die; } } } ?>
|
|
|
|
|
|
<!-- AUTHENTICATED -->
|
|
<?php // FILTER POSTED DATA
|
|
$form_data = filter_input_array(INPUT_POST, [
|
|
'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,
|
|
'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,
|
|
'fd_routineornonroutine' => (int)FILTER_VALIDATE_INT,
|
|
'db_vendorinfo_coi' => (string)FILTER_SANITIZE_STRING,
|
|
'db_vendorinfo_worksummary' => (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());
|
|
}
|
|
} ?>
|
|
|
|
<?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'],
|
|
$uid,
|
|
$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();
|
|
if($form_data['fd_routineornonroutine']===(int)0){
|
|
$fdroutinework=(int)1;
|
|
$fdnonroutinework=(int)0;
|
|
}elseif($form_data['fd_routineornonroutine']===(int)1){
|
|
$fdroutinework=(int)0;
|
|
$fdnonroutinework=(int)1;
|
|
}
|
|
$VisitActions->setInfoVendorVisitInitial(
|
|
$form_data['db_vendorinfo_id'],
|
|
$form_data['db_vendorinfo_checklistrequired'],
|
|
$fdroutinework,
|
|
$fdnonroutinework,
|
|
$form_data['db_vendorinfo_coi'],
|
|
$form_data['db_vendorinfo_worksummary'],
|
|
$form_data['db_vendorinfo_equipmentsummary'] );
|
|
ob_end_clean(); unset($form_data); } } ?>
|
|
|
|
<?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['fd_manualTimeDate']=$manualdate->format('Y-m-d H:i:s');
|
|
} else {
|
|
$form_data['fd_manualTimeDate'] = $StaticFunctions->getUTC(); // OTHERWISE USE NOW()UTC
|
|
}
|
|
$visitid = $VisitActions->newVisit( // ADD VISIT RECORD
|
|
Crypto::encrypt($form_data['fd_firstName'], $encKey),
|
|
Crypto::encrypt($form_data['fd_lastName'], $encKey),
|
|
Crypto::encrypt($form_data['fd_visitorCompany'], $encKey),
|
|
$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); } } ?>
|
|
|
|
<?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;};
|
|
if (empty($_POST['initials'])) { $initials_error=1; } else {$initials_error=0;};
|
|
if($SiteInfo->getSite($siteid, $uid, "0", "0")[0]["sites_region"] == "US") {
|
|
if (empty($_POST['citizen'])) { $citizen_error=(int)'1'; } elseif ($_POST['citizen']==='00') { $citizen_error=(int)'1'; } else { $citizen_error=(int)'0'; };
|
|
}elseif($SiteInfo->getSite($siteid, $uid, "0", "0")[0]["sites_region"] == "EMEA" || $SiteInfo->getSite($siteid, $uid, "0", "0")[0]["sites_region"] == "CAN"){
|
|
$_POST['citizen']=NULL;
|
|
$citizen_error=(int)'0';
|
|
}
|
|
if (isset($_POST['id_type']) && $_POST['id_type']===1 && isset($_POST['id_reference'])) { $id_reference_error=0; } elseif (isset($_POST['id_type']) && $_POST['id_type']===1 && empty($_POST['id_reference'])) { $id_reference_error=1; } else { $id_reference_error=0; };
|
|
if ($id_type_error+$badge_error+$initials_error+$citizen_error+$id_reference_error===0) {
|
|
$approved=2;
|
|
echo $VisitActions->approveVisit($_POST['approvevisit'], $_POST['id_type'], $_POST['id_reference'], $_POST['citizen'], $_POST['badge'], $_POST['initials'], $approved);
|
|
}
|
|
}
|
|
|
|
|
|
// check all unapproved or approved
|
|
$approval = "1";
|
|
// Set up pagination
|
|
$page_num = 1;
|
|
if(!empty($_GET['pnum'])):
|
|
$page_num = filter_input(INPUT_GET, 'pnum', FILTER_VALIDATE_INT);
|
|
if(false === $page_num):
|
|
$page_num = 1;
|
|
endif;
|
|
endif;
|
|
$offset = ($page_num - 1) * $StaticFunctions->getPageRows();
|
|
$row_count = count($VisitInfo->getVisitInfo($siteid, $approval, "empty", "%", "%", "%", "%", "%", "%"));
|
|
$page_count = 0;
|
|
if (0 === $row_count): else: $page_count = (int)ceil($row_count / $StaticFunctions->getPageRows()); if($page_num > $page_count): $page_num = 1; endif; endif;
|
|
?>
|
|
<!-- modals -->
|
|
<script nonce="<?=$_SESSION['nonceStr']?>">
|
|
$(document).on("click", ".open-voidModal", function (e) {
|
|
e.preventDefault();
|
|
var _self = $(this);
|
|
var myVoidId = _self.data('id');
|
|
$("#fd_voidVisitId").val(myVoidId);
|
|
$(_self.attr('href')).modal('show');
|
|
});
|
|
</script>
|
|
|
|
<!-- void notes -->
|
|
|
|
|
|
|
|
|
|
|
|
<!-- START VOID MODAL -->
|
|
<div class="modal fade" id="voidModal" tabindex="-1" role="dialog">
|
|
<div class="modal-dialog modal-lg" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title" id="termsModalLongTitle"><?php echo $transLang['DECLINE']; ?></h5>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
|
|
</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="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>
|
|
<div class="row row-cols-1">
|
|
<div class="col d-grid gap-2">
|
|
<button type="button" class="btn btn-secondary btn-sm" data-dismiss="modal"><i class="fas fa-ban"></i> <?php echo $transLang['STR_COMMON_CANCEL']; ?></button>
|
|
<button type="submit" class="btn btn-danger btn-sm"><i class="fas fa-thumbs-down"></i> <?php echo $transLang['DECLINE']; ?></button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- END VOID MODAL -->
|
|
|
|
<!-- START VISITS LIST -->
|
|
<div class="container-fluid">
|
|
<div class="row row-cols-3 mb-2">
|
|
<div class="col d-grid gap-2">
|
|
<h2><i class="fas fa-home"></i> <?php echo $transLang['ACTIVEVISITS']; ?></h2>
|
|
</div>
|
|
<div class="col d-grid gap-2 text-center">
|
|
<ul class="pagination pagination-sm">
|
|
<li class="page-item disabled"><a class="page-link" href="#" tabindex="-1"><?php echo $transLang['STR_COMMON_PAGE']; ?></a></li>
|
|
<?php for ($i = 1; $i <= $page_count; $i++): ?>
|
|
<li class="page-item<?php if ($i === $page_num): echo ' active'; else: echo ' '; endif; ?>"><a class="page-link" href="<?php echo filter_input(INPUT_SERVER, 'PHP_SELF', FILTER_SANITIZE_URL) . '?pnum=' . $i; ?>"><?php echo $i; ?></a></li>
|
|
<?php endfor; ?>
|
|
</ul>
|
|
</div>
|
|
<div class="col text-end">
|
|
<a data-bs-toggle="modal" data-bs-target="#signinModal" href="#signinModal" name="signinModal" type="button" class="btn btn-info btn-lg open-signinModal"><i class="fa fas fa-sign-in-alt"></i> <?php echo $transLang['STR_SIGNIN_MANUAL']; ?></a>
|
|
<a href="index.php" type="button" class="btn btn-primary btn-lg"><i class="fa fa-redo"></i> <?php echo $transLang['REFRESH']; ?></a>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- START MANUAL SIGNIN FORM MODAL -->
|
|
<div class="modal fade" id="signinModal" tabindex="-1" role="dialog">
|
|
<div class="modal-dialog modal-lg" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header text-light bg-secondary">
|
|
<h5 class="modal-title" id="termsModalLongTitle"><?php echo $transLang['SIGNIN']; ?></h5>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<form method="post">
|
|
<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-fd_manualTimeDate">Sign In Date/Time <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" nonce="<?=$_SESSION['nonceStr']?>">
|
|
$(function () {
|
|
$('.datetimepicker-fd_manualTimeDate').datetimepicker({'timeZone': '<?php echo $timezone; ?>', 'sideBySide':true, 'format':'YYYY-MM-DD HH:mm:ss', 'allowInputToggle': true });
|
|
});
|
|
</script>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row row-cols-2 mb-2">
|
|
<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="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="fd_lastName" name="fd_lastName" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<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">
|
|
<?php if($StaticFunctions->getCarnumReqd() == "true") { ?>
|
|
<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="fd_carNum" name="fd_carNum" class="form-control" placeholder="<?php echo $transLang['CARNUM']; ?>" required autofocus>
|
|
</div>
|
|
</div>
|
|
<?php } ?>
|
|
<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="fd_ssaNum" name="fd_ssaNum" class="form-control" placeholder="<?php echo $transLang['SSANUM']; ?>" required autofocus>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?php } ?>
|
|
<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"><?php echo $transLang['COMPANY']; ?></span>
|
|
<input class="form-control" id="fd_visitorCompany" name="fd_visitorCompany" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row row-cols-1 mb-2">
|
|
<div class="col d-grid gap-2">
|
|
<div class="form-check form-switch">
|
|
<input class="form-check-input" type="checkbox" id="vendorrequiredswitch" name="vendorrequiredswitch">
|
|
<label class="form-check-label" for="vendorrequiredswitch"><?php echo $transLang['STR_VENDORINFO_VENDOR_TITLE']; ?></label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="vendorrequiredsection">
|
|
<div class="row row-cols-2 mb-2">
|
|
<div class="col d-grid gap-2">
|
|
<div class="input-group input-group-sm mb-0">
|
|
<span class="input-group-text"><?php echo $transLang['STR_VENDORINFO_CONTACT1_TITLE']; ?></span>
|
|
<input class="form-control" id="form_data_contact1" name="form_data_contact1" />
|
|
</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['STR_VENDORINFO_CONTACT2_TITLE']; ?></span>
|
|
<input class="form-control" id="form_data_contact2" name="form_data_contact2" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row row-cols-2 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_workstart"><?php echo $transLang['STR_VENDORINFO_WORKSTART_TITLE']; ?> <i class="fas fa-clock"></i></span>
|
|
<input placeholder="" name="form_data_workstart" type="text" class="form-control bg-white datetimepicker-input datetimepicker-form_data_workstart" id="datetimepicker-form_data_workstart" data-toggle="datetimepicker" data-target=".datetimepicker-form_data_workstart"/>
|
|
<script type="text/javascript" nonce="<?=$_SESSION['nonceStr']?>">
|
|
$(function () {
|
|
$('.datetimepicker-form_data_workstart').datetimepicker({'timeZone': '<?php echo $timezone; ?>', 'sideBySide':true, 'format':'YYYY-MM-DD HH:mm:ss', 'allowInputToggle': true, 'defaultDate':'<?php echo $timenow; ?>' });
|
|
});
|
|
</script>
|
|
</div>
|
|
</div>
|
|
<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_workend"><?php echo $transLang['STR_VENDORINFO_WORKEND_TITLE']; ?> <i class="fas fa-clock"></i></span>
|
|
<input placeholder="" name="form_data_workend" type="text" class="form-control bg-white datetimepicker-input datetimepicker-form_data_workend" id="datetimepicker-form_data_workend" data-toggle="datetimepicker" data-target=".datetimepicker-form_data_workend"/>
|
|
<script type="text/javascript" nonce="<?=$_SESSION['nonceStr']?>">
|
|
$(function () {
|
|
$('.datetimepicker-form_data_workend').datetimepicker({'timeZone': '<?php echo $timezone; ?>', 'sideBySide':true, 'format':'YYYY-MM-DD HH:mm:ss', 'allowInputToggle': true, 'defaultDate':'<?php echo date('Y-m-d H:i:s', time()+43200); ?>' });
|
|
});
|
|
</script>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript" nonce="<?=$_SESSION['nonceStr']?>">
|
|
$('#vendorrequiredswitch').change(function() {
|
|
var checkedEscortValue=$("#vendorrequiredswitch").is(":checked");
|
|
if (checkedEscortValue === true) {
|
|
$('#vendorrequiredsection').show();
|
|
$('#escortrequiredsection').hide();
|
|
$('#escortrequiredswitchsection').hide();
|
|
$('#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', '');
|
|
$('#form_data_contact2').attr('data-error', 'This field is required.');
|
|
$('#form_data_workstart').attr('required', '');
|
|
$('#form_data_workstart').attr('data-error', 'This field is required.');
|
|
$('#form_data_workend').attr('required', '');
|
|
$('#form_data_workend').attr('data-error', 'This field is required.');
|
|
} else {
|
|
$('#vendorrequiredsection').hide();
|
|
$('#escortrequiredswitchsection').show();
|
|
$('#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');
|
|
$('#form_data_contact2').removeAttr('data-error');
|
|
$('#form_data_workstart').removeAttr('required');
|
|
$('#form_data_workstart').removeAttr('data-error');
|
|
$('#form_data_workend').removeAttr('required');
|
|
$('#form_data_workend').removeAttr('data-error');
|
|
}
|
|
});
|
|
$('#vendorrequiredswitch').trigger("change");
|
|
</script>
|
|
<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"><?php echo $transLang['REASON']; ?></span>
|
|
<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>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row row-cols-1 mb-2" id="escortrequiredswitchsection" name="escortrequiredswitchsection">
|
|
<div class="col d-grid gap-2">
|
|
<div class="form-check form-switch">
|
|
<input class="form-check-input" type="checkbox" id="escortrequiredswitch" name="escortrequiredswitch">
|
|
<label class="form-check-label" for="escortrequiredswitch"><?php echo $transLang['ESECTION']; ?></label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row row-cols-1 mb-2" id="escortrequiredsection" name="escortrequiredsection">
|
|
<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="fd_escortName" name="fd_escortName" class="form-control" placeholder="<?php echo $transLang['ETAG']; ?>" autofocus>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript" nonce="<?=$_SESSION['nonceStr']?>">
|
|
$('#escortrequiredswitch').change(function() {
|
|
var checkedEscortValue=$("#escortrequiredswitch").is(":checked");
|
|
if (checkedEscortValue === true) {
|
|
$('#escortrequiredsection').show();
|
|
$('#fd_escortName').attr('required', '');
|
|
$('#fd_escortName').attr('data-error', 'This field is required.');
|
|
} else {
|
|
$('#escortrequiredsection').hide();
|
|
$('#fd_escortName').removeAttr('required');
|
|
$('#fd_escortName').removeAttr('data-error');
|
|
}
|
|
});
|
|
$('#escortrequiredswitch').trigger("change");
|
|
</script>
|
|
<div class="row row-cols-2 mb-2">
|
|
<div class="col d-grid gap-2">
|
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal"><i class="fas fa-ban"></i> <?php echo $transLang['STR_COMMON_CANCEL']; ?></button>
|
|
</div>
|
|
<div class="col d-grid gap-2">
|
|
<button type="submit" class="btn btn-success"><i class="fas fa-save"></i> <?php echo $transLang['STR_COMMON_SAVE']; ?></button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- END MANUAL SIGNIN FORM MODAL -->
|
|
|
|
|
|
<div class="row row-cols-1">
|
|
<div class="col d-grid gap-2">
|
|
<table class="table table-sm table-responsive-sm text-nowrap">
|
|
<thead class="thead-dark">
|
|
<tr>
|
|
<th class="small col-xs-1"><?php echo $transLang['TIMEREASON']; ?></th><th class="small col-xs-2"><?php echo $transLang['NAME']; ?></th><th class="small col-xs-2"><?php echo $transLang['ESCORT']; ?></th><th class="small col-xs-2"><?php echo $transLang['VALIDATIONS']; ?></th><th class="small col-xs-2"><?php echo $transLang['BADGEINITIALS']; ?></th><?php if($SiteInfo->getSite($siteid, $uid, "0", "0")[0]["sites_region"] == "EMEA") { ?><th class="small col-xs-1"><?=$transLang['DETAILS']?></th><?php } ?><th class="small col-xs-1"><?php echo $transLang['ACTIONS']; ?></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php foreach ($VisitInfo->getVisitInfo($siteid, $approval, "empty", "%", "%", "%", "%", $StaticFunctions->getPageRows(), $offset) as $row):
|
|
$visitid = $row['visits_id'];
|
|
$timein = new DateTime($row['visits_intime'], new DateTimeZone('UTC'));
|
|
$timein->setTimezone(new DateTimeZone("$timezone"));
|
|
$timein_disp = $timein->format('Y-m-d H:i:s');
|
|
if(!empty($row['visits_carnum'])) { $carnum=$row['visits_carnum']; } else { $carnum="";}
|
|
if(!empty($row['visits_ssanum'])) { $ssanum=$row['visits_ssanum']; } else { $ssanum="";}
|
|
if(!empty($row['visits_isvendor'])) { $isvendor=$row['visits_isvendor']; } else { $isvendor="";}
|
|
if(!empty($row['visits_approved'])) { $visitapproved=$row['visits_approved']; } else { $visitapproved="";}
|
|
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<?php if($isvendor===1 && $visitapproved===1){ ?>
|
|
<!-- START INITIAL VENDOR FORM MODAL -->
|
|
<?php foreach ($VisitInfo->getInfoVendorVisitInitial($visitid) as $rowvn) {
|
|
$db_vendorinfo_id = $rowvn['db_vendorinfo_id'];
|
|
$db_vendorinfo_contact1 = $rowvn['db_vendorinfo_contact1'];
|
|
$db_vendorinfo_contact2 = $rowvn['db_vendorinfo_contact2'];
|
|
$db_vendorinfo_workstart = $rowvn['db_vendorinfo_workstart'];
|
|
$db_vendorinfo_workend = $rowvn['db_vendorinfo_workend'];
|
|
$db_vendorinfo_customerimpacted = $rowvn['db_vendorinfo_customerimpacted'];
|
|
$db_vendorinfo_checklistrequired= $rowvn['db_vendorinfo_checklistrequired'];
|
|
$db_vendorinfo_routinework = $rowvn['db_vendorinfo_routinework'];
|
|
$db_vendorinfo_nonroutinework = $rowvn['db_vendorinfo_nonroutinework'];
|
|
$db_vendorinfo_coi = $rowvn['db_vendorinfo_coi'];
|
|
$db_vendorinfo_worksummary = $rowvn['db_vendorinfo_worksummary'];
|
|
$db_vendorinfo_equipmentsummary = $rowvn['db_vendorinfo_equipmentsummary'];
|
|
if ($db_vendorinfo_routinework === 1 || $db_vendorinfo_nonroutinework === 1) {
|
|
if (!empty($db_vendorinfo_worksummary) && !empty($db_vendorinfo_equipmentsummary)){$initialvendorformcomplete=1;}
|
|
} else {$initialvendorformcomplete=0;}
|
|
?>
|
|
<div class="modal fade" id="vendorModal-<?php echo $visitid; ?>" tabindex="-1" role="dialog">
|
|
<div class="modal-dialog modal-lg" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header text-light bg-secondary">
|
|
<h5 class="modal-title" id="termsModalLongTitle"><?php echo $transLang['STR_VENDORINFO_FORM_TITLE']; ?></h5>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<form method="post">
|
|
<div class="row row-cols-1 mb-2">
|
|
<div class="col d-grid gap-2">
|
|
<p><?php echo $transLang['STR_VENDORINFO_DOCUMENTATIONREQUIRED_DESC']; ?></p>
|
|
</div>
|
|
</div>
|
|
<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="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 />
|
|
</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['STR_VENDORINFO_CONTACT2_TITLE']; ?></span>
|
|
<input class="form-control" id="db_vendorinfo_contact2" name="db_vendorinfo_contact2" placeholder="<?php echo $db_vendorinfo_contact2; ?>" value="<?php echo $db_vendorinfo_contact2; ?>" disabled />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row row-cols-2 mb-2">
|
|
<div class="col d-grid gap-2">
|
|
<div class="input-group input-group-sm mb-0">
|
|
<span class="input-group-text"><?php echo $transLang['STR_VENDORINFO_WORKSTART_TITLE']; ?></span>
|
|
<input class="form-control" id="db_vendorinfo_workstart" name="db_vendorinfo_workstart" placeholder="<?php echo $db_vendorinfo_workstart; ?>" value="<?php echo $db_vendorinfo_workstart; ?>" disabled />
|
|
</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['STR_VENDORINFO_WORKEND_TITLE']; ?></span>
|
|
<input class="form-control" id="db_vendorinfo_workend" name="db_vendorinfo_workend" placeholder="<?php echo $db_vendorinfo_workend; ?>" value="<?php echo $db_vendorinfo_workend; ?>" disabled />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<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"><?php echo $transLang['STR_VENDORINFO_CUSTOMERIMPACTED_TITLE']; ?></span>
|
|
<input class="form-control" id="db_vendorinfo_customerimpacted" name="db_vendorinfo_customerimpacted" placeholder="<?php echo $db_vendorinfo_customerimpacted; ?>" value="<?php echo $db_vendorinfo_customerimpacted; ?>" disabled />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="border border-warning">
|
|
<div class="row row-cols-1 mb-2">
|
|
<div class="col d-grid gap-2">
|
|
<p><strong><?php echo $transLang['STR_VENDORINFO_VALIDATIONINITIAL']; ?></strong></p>
|
|
</div>
|
|
</div>
|
|
<div class="row row-cols-2 mb-2">
|
|
<div class="col d-grid gap-2">
|
|
<div class="form-check form-switch">
|
|
<input type="hidden" name="db_vendorinfo_checklistrequired" value="0" />
|
|
<input class="form-check-input" name="db_vendorinfo_checklistrequired" value="1" type="checkbox" id="db_vendorinfo_checklistrequired" <?php if (isset($db_vendorinfo_checklistrequired) && $db_vendorinfo_checklistrequired === 1) {echo "checked";}?>>
|
|
<label class="form-check-label" for="db_vendorinfo_checklistrequired"><span class="d-inline-block" tabindex="0" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-content="<?php echo $transLang['STR_VENDORINFO_CHECKLISTREQUIRED_DESC']; ?>"><?php echo $transLang['STR_VENDORINFO_CHECKLISTREQUIRED_TITLE']; ?></span></label>
|
|
</div>
|
|
</div>
|
|
<div class="col d-grid gap-2 routineornot">
|
|
<div class="form-check form-switch">
|
|
<input type="hidden" name="db_vendorinfo_coi" value="0" />
|
|
<input class="form-check-input" name="db_vendorinfo_coi" value="1" type="checkbox" id="db_vendorinfo_coi" <?php if (isset($db_vendorinfo_coi) && $db_vendorinfo_coi === 1) {echo "checked";}?>>
|
|
<label class="form-check-label" for="db_vendorinfo_coi"><span class="d-inline-block" tabindex="0" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-content="<?php echo $transLang['STR_VENDORINFO_COI_DESC']; ?>"><?php echo $transLang['STR_VENDORINFO_COI_TITLE']; ?></span></label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row row-cols-1 mb-2">
|
|
<div class="col d-grid gap-2">
|
|
<div class="btn-group" role="group" data-toggle="button">
|
|
<input type="radio" class="btn-check" name="fd_routineornonroutine" autocomplete="off" value="0" id="fd_routinework-<?=$db_vendorinfo_id?>" <?php if (isset($db_vendorinfo_routinework) && $db_vendorinfo_routinework === 1) {echo "checked";}?> required/>
|
|
<label class="btn btn-outline-primary" for="fd_routinework-<?=$db_vendorinfo_id?>"><?php echo $transLang['STR_VENDORINFO_ROUTINEWORK_TITLE']; ?></label>
|
|
<input type="radio" class="btn-check" name="fd_routineornonroutine" autocomplete="off" value="1" id="fd_nonroutinework-<?=$db_vendorinfo_id?>" <?php if (isset($db_vendorinfo_nonroutinework) && $db_vendorinfo_nonroutinework === 1) {echo "checked";}?> required/>
|
|
<label class="btn btn-outline-primary" for="fd_nonroutinework-<?=$db_vendorinfo_id?>"><?php echo $transLang['STR_VENDORINFO_NONROUTINEWORK_TITLE']; ?></label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<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="d-inline-block" tabindex="0" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-content="<?php echo $transLang['STR_VENDORINFO_WORKSUMMARY_DESC']; ?>"><span class="input-group-text"><?php echo $transLang['STR_VENDORINFO_WORKSUMMARY_TITLE']; ?></span></span>
|
|
<input class="form-control" id="db_vendorinfo_worksummary" name="db_vendorinfo_worksummary" placeholder="<?php echo $db_vendorinfo_worksummary; ?>" value="<?php echo $db_vendorinfo_worksummary; ?>" required/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<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="d-inline-block" tabindex="0" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-content="<?php echo $transLang['STR_VENDORINFO_EQUIPMENTSUMMARY_DESC']; ?>"><span class="input-group-text"><?php echo $transLang['STR_VENDORINFO_EQUIPMENTSUMMARY_TITLE']; ?></span></span>
|
|
<input class="form-control" id="db_vendorinfo_equipmentsummary" name="db_vendorinfo_equipmentsummary" placeholder="<?php echo $db_vendorinfo_equipmentsummary; ?>" value="<?php echo $db_vendorinfo_equipmentsummary; ?>" required />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row row-cols-2 mb-2">
|
|
<div class="col d-grid gap-2">
|
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal"><i class="fas fa-ban"></i> <?php echo $transLang['STR_COMMON_CANCEL']; ?></button>
|
|
</div>
|
|
<div class="col d-grid gap-2">
|
|
<button type="submit" class="btn btn-success"><i class="fas fa-save"></i> <?php echo $transLang['STR_COMMON_SAVE']; ?></button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- END INITIAL VENDOR FORM MODAL -->
|
|
<?php } } ?>
|
|
|
|
|
|
<?php if($isvendor===1 && $visitapproved===2){ ?>
|
|
<!-- START FINAL VENDOR FORM MODAL -->
|
|
<?php foreach ($VisitInfo->getInfoVendorVisitFinal($visitid) as $rowvm) {
|
|
$db_vendorinfo_id = $rowvm['db_vendorinfo_id'];
|
|
$db_vendorinfo_contact1 = $rowvm['db_vendorinfo_contact1'];
|
|
$db_vendorinfo_contact2 = $rowvm['db_vendorinfo_contact2'];
|
|
$db_vendorinfo_workstart = $rowvm['db_vendorinfo_workstart'];
|
|
$db_vendorinfo_workend = $rowvm['db_vendorinfo_workend'];
|
|
$db_vendorinfo_customerimpacted = $rowvm['db_vendorinfo_customerimpacted'];
|
|
$db_vendorinfo_checklistrequired = $rowvm['db_vendorinfo_checklistrequired'];
|
|
$db_vendorinfo_routinework = $rowvm['db_vendorinfo_routinework'];
|
|
$db_vendorinfo_nonroutinework = $rowvm['db_vendorinfo_nonroutinework'];
|
|
$db_vendorinfo_coi = $rowvm['db_vendorinfo_coi'];
|
|
$db_vendorinfo_worksummary = $rowvm['db_vendorinfo_worksummary'];
|
|
$db_vendorinfo_equipmentsummary = $rowvm['db_vendorinfo_equipmentsummary'];
|
|
$db_vendorinfo_checklistcompleted = $rowvm['db_vendorinfo_checklistcompleted'];
|
|
$db_vendorinfo_workcompleted = $rowvm['db_vendorinfo_workcompleted'];
|
|
$db_vendorinfo_sitecleanup = $rowvm['db_vendorinfo_sitecleanup'];
|
|
$db_vendorinfo_doccompleted = $rowvm['db_vendorinfo_doccompleted'];
|
|
if ($db_vendorinfo_workcompleted === 1 && $db_vendorinfo_sitecleanup === 1) { $finalvendorformcomplete=1; } else { $finalvendorformcomplete=0; }
|
|
?>
|
|
<div class="modal fade" id="vendorFinalModal-<?php echo $visitid; ?>" tabindex="-1" role="dialog">
|
|
<div class="modal-dialog modal-lg" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header text-light bg-secondary">
|
|
<h5 class="modal-title" id="termsModalLongTitle"><?php echo $transLang['STR_VENDORINFO_FORM_TITLE']; ?></h5>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<form method="post">
|
|
<div class="row row-cols-1 mb-2">
|
|
<div class="col d-grid gap-2">
|
|
<p><?php echo $transLang['STR_VENDORINFO_DOCUMENTATIONREQUIRED_DESC']; ?></p>
|
|
</div>
|
|
</div>
|
|
<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="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 />
|
|
</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['STR_VENDORINFO_CONTACT2_TITLE']; ?></span>
|
|
<input class="form-control" id="db_vendorinfo_contact2" name="db_vendorinfo_contact2" placeholder="<?php echo $db_vendorinfo_contact2; ?>" value="<?php echo $db_vendorinfo_contact2; ?>" disabled />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row row-cols-2 mb-2">
|
|
<div class="col d-grid gap-2">
|
|
<div class="input-group input-group-sm mb-0">
|
|
<span class="input-group-text"><?php echo $transLang['STR_VENDORINFO_WORKSTART_TITLE']; ?></span>
|
|
<input class="form-control" id="db_vendorinfo_workstart" name="db_vendorinfo_workstart" placeholder="<?php echo $db_vendorinfo_workstart; ?>" value="<?php echo $db_vendorinfo_workstart; ?>" disabled />
|
|
</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['STR_VENDORINFO_WORKEND_TITLE']; ?></span>
|
|
<input class="form-control" id="db_vendorinfo_workend" name="db_vendorinfo_workend" placeholder="<?php echo $db_vendorinfo_workend; ?>" value="<?php echo $db_vendorinfo_workend; ?>" disabled />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<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"><?php echo $transLang['STR_VENDORINFO_CUSTOMERIMPACTED_TITLE']; ?></span>
|
|
<input class="form-control" id="db_vendorinfo_customerimpacted" name="db_vendorinfo_customerimpacted" placeholder="<?php echo $db_vendorinfo_customerimpacted; ?>" value="<?php echo $db_vendorinfo_customerimpacted; ?>" disabled />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row row-cols-2 mb-2">
|
|
<div class="col d-grid gap-2">
|
|
<div class="form-check form-switch">
|
|
<input type="hidden" name="db_vendorinfo_checklistrequired" value="0" />
|
|
<input class="form-check-input" name="db_vendorinfo_checklistrequired" value="1" type="checkbox" id="db_vendorinfo_checklistrequired" <?php if (isset($db_vendorinfo_checklistrequired) && $db_vendorinfo_checklistrequired === 1) {echo "checked";}?> disabled>
|
|
<label class="form-check-label" for="db_vendorinfo_checklistrequired"><span class="d-inline-block" tabindex="0" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-content="<?php echo $transLang['STR_VENDORINFO_CHECKLISTREQUIRED_DESC']; ?>"><?php echo $transLang['STR_VENDORINFO_CHECKLISTREQUIRED_TITLE']; ?></span></label>
|
|
</div>
|
|
</div>
|
|
<div class="col d-grid gap-2">
|
|
<div class="form-check form-switch">
|
|
<input type="hidden" name="db_vendorinfo_routinework" value="0" />
|
|
<input class="form-check-input" name="db_vendorinfo_routinework" value="1" type="checkbox" id="db_vendorinfo_routinework" <?php if (isset($db_vendorinfo_routinework) && $db_vendorinfo_routinework === 1) {echo "checked";}?> disabled>
|
|
<label class="form-check-label" for="db_vendorinfo_routinework"><span class="d-inline-block" tabindex="0" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-content="<?php echo $transLang['STR_VENDORINFO_ROUTINEWORK_DESC']; ?>"><?php echo $transLang['STR_VENDORINFO_ROUTINEWORK_TITLE']; ?></span></label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row row-cols-2 mb-2">
|
|
<div class="col d-grid gap-2">
|
|
<div class="form-check form-switch">
|
|
<input type="hidden" name="db_vendorinfo_coi" value="0" />
|
|
<input class="form-check-input" name="db_vendorinfo_coi" value="1" type="checkbox" id="db_vendorinfo_coi" <?php if (isset($db_vendorinfo_coi) && $db_vendorinfo_coi === 1) {echo "checked";}?> disabled>
|
|
<label class="form-check-label" for="db_vendorinfo_coi"><span class="d-inline-block" tabindex="0" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-content="<?php echo $transLang['STR_VENDORINFO_COI_DESC']; ?>"><?php echo $transLang['STR_VENDORINFO_COI_TITLE']; ?></span></label>
|
|
</div>
|
|
</div>
|
|
<div class="col d-grid gap-2">
|
|
<div class="form-check form-switch">
|
|
<input type="hidden" name="db_vendorinfo_nonroutinework" value="0" />
|
|
<input class="form-check-input" name="db_vendorinfo_nonroutinework" value="1" type="checkbox" id="db_vendorinfo_nonroutinework" <?php if (isset($db_vendorinfo_nonroutinework) && $db_vendorinfo_nonroutinework === 1) {echo "checked";}?> disabled>
|
|
<label class="form-check-label" for="db_vendorinfo_nonroutinework"><span class="d-inline-block" tabindex="0" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-content="<?php echo $transLang['STR_VENDORINFO_NONROUTINEWORK_DESC']; ?>"><?php echo $transLang['STR_VENDORINFO_NONROUTINEWORK_TITLE']; ?></span></label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<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="d-inline-block" tabindex="0" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-content="<?php echo $transLang['STR_VENDORINFO_WORKSUMMARY_DESC']; ?>"><span class="input-group-text"><?php echo $transLang['STR_VENDORINFO_WORKSUMMARY_TITLE']; ?></span></span>
|
|
<input class="form-control" id="db_vendorinfo_worksummary" name="db_vendorinfo_worksummary" placeholder="<?php echo $db_vendorinfo_worksummary; ?>" value="<?php echo $db_vendorinfo_worksummary; ?>" disabled />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<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="d-inline-block" tabindex="0" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-content="<?php echo $transLang['STR_VENDORINFO_EQUIPMENTSUMMARY_DESC']; ?>"><span class="input-group-text"><?php echo $transLang['STR_VENDORINFO_EQUIPMENTSUMMARY_TITLE']; ?></span></span>
|
|
<input class="form-control" id="db_vendorinfo_equipmentsummary" name="db_vendorinfo_equipmentsummary" placeholder="<?php echo $db_vendorinfo_equipmentsummary; ?>" value="<?php echo $db_vendorinfo_equipmentsummary; ?>" disabled />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="border border-warning">
|
|
<div class="row row-cols-1 mb-2">
|
|
<div class="col d-grid gap-2">
|
|
<p><strong><?php echo $transLang['STR_VENDORINFO_VALIDATIONFINAL']; ?></strong></p>
|
|
</div>
|
|
</div>
|
|
<div class="row row-cols-2 mb-2">
|
|
<div class="col d-grid gap-2">
|
|
<div class="form-check form-switch">
|
|
<input type="hidden" name="db_vendorinfo_checklistcompleted" value="0" />
|
|
<input class="form-check-input" name="db_vendorinfo_checklistcompleted" value="1" type="checkbox" id="db_vendorinfo_checklistcompleted" <?php if (isset($db_vendorinfo_checklistcompleted) && $db_vendorinfo_checklistcompleted === 1) {echo "checked";}?>>
|
|
<label class="form-check-label" for="db_vendorinfo_checklistcompleted"><span class="d-inline-block" tabindex="0" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-content="<?php echo $transLang['STR_VENDORINFO_CHECKLISTCOMPLETED_DESC']; ?>"><?php echo $transLang['STR_VENDORINFO_CHECKLISTCOMPLETED_TITLE']; ?></span></label>
|
|
</div>
|
|
</div>
|
|
<div class="col d-grid gap-2">
|
|
<div class="form-check form-switch">
|
|
<input type="hidden" name="db_vendorinfo_workcompleted" value="0" />
|
|
<input class="form-check-input" name="db_vendorinfo_workcompleted" value="1" type="checkbox" id="db_vendorinfo_workcompleted" <?php if (isset($db_vendorinfo_workcompleted) && $db_vendorinfo_workcompleted === 1) {echo "checked";}?> required/>
|
|
<label class="form-check-label" for="db_vendorinfo_workcompleted"><span class="d-inline-block" tabindex="0" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-content="<?php echo $transLang['STR_VENDORINFO_WORKCOMPLETED_DESC']; ?>"><?php echo $transLang['STR_VENDORINFO_WORKCOMPLETED_TITLE']; ?></span></label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row row-cols-2 mb-2">
|
|
<div class="col d-grid gap-2">
|
|
<div class="form-check form-switch">
|
|
<input type="hidden" name="db_vendorinfo_sitecleanup" value="0" />
|
|
<input class="form-check-input" name="db_vendorinfo_sitecleanup" value="1" type="checkbox" id="db_vendorinfo_sitecleanup" <?php if (isset($db_vendorinfo_sitecleanup) && $db_vendorinfo_sitecleanup === 1) {echo "checked";}?> required/>
|
|
<label class="form-check-label" for="db_vendorinfo_sitecleanup"><span class="d-inline-block" tabindex="0" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-content="<?php echo $transLang['STR_VENDORINFO_SITECLEANUP_DESC']; ?>"><?php echo $transLang['STR_VENDORINFO_SITECLEANUP_TITLE']; ?></span></label>
|
|
</div>
|
|
</div>
|
|
<div class="col d-grid gap-2">
|
|
<div class="form-check form-switch">
|
|
<input type="hidden" name="db_vendorinfo_doccompleted" value="0" />
|
|
<input class="form-check-input" name="db_vendorinfo_doccompleted" value="1" type="checkbox" id="db_vendorinfo_doccompleted" <?php if (isset($db_vendorinfo_doccompleted) && $db_vendorinfo_doccompleted === 1) {echo "checked";}?>>
|
|
<label class="form-check-label" for="db_vendorinfo_doccompleted"><span class="d-inline-block" tabindex="0" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-content="<?php echo $transLang['STR_VENDORINFO_DOCCOMPLETED_DESC']; ?>"><?php echo $transLang['STR_VENDORINFO_DOCCOMPLETED_TITLE']; ?></span></label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row row-cols-1 mb-2">
|
|
<div class="col d-grid gap-2">
|
|
<p><?php echo $transLang['STR_VENDORINFO_FOOTERWARNING']; ?></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row row-cols-2 mb-2">
|
|
<div class="col d-grid gap-2">
|
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal"><i class="fas fa-ban"></i> <?php echo $transLang['STR_COMMON_CANCEL']; ?></button>
|
|
</div>
|
|
<div class="col d-grid gap-2">
|
|
<button type="submit" class="btn btn-success"><i class="fas fa-save"></i> <?php echo $transLang['STR_COMMON_SAVE']; ?></button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- END FINAL VENDOR FORM MODAL -->
|
|
<?php }
|
|
}
|
|
?>
|
|
|
|
|
|
<?php if($row['visits_approved']===2) { ?>
|
|
<tr class="alert alert-success">
|
|
<?php } else { ?>
|
|
<tr class="alert alert-warning">
|
|
<?php } ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<form class="form form-approve" method="post">
|
|
<td class="small">
|
|
<div>
|
|
<span class="badge bg-light text-dark"><?php echo $timein_disp; ?></span>
|
|
</div>
|
|
<div>
|
|
<span class="badge bg-light text-dark"><?php echo $transLang[$VisitTypeInfo->getInfoVisitType("%", $row['visits_reason'])[0]["visittypes_name"]]; ?></span>
|
|
</div>
|
|
</td>
|
|
<td class="small"><?php echo Crypto::decrypt($row['visits_lastname'], $encKey) . ", " . Crypto::decrypt($row['visits_firstname'], $encKey); ?><br><img src="<?php echo $row['visits_signature']; ?>" width="200" height="50" nonce="<?=$_SESSION['nonceStr']?>"></img></td>
|
|
<td class="small"><?php if (!empty($row['visits_escort'])) {echo $row['visits_escort'] . '<br /><img src="' . $row['visits_escort_signature'] . '" width="200" height="50" nonce="'.$_SESSION['nonceStr'].'"></img>'; } ?></td>
|
|
<td class="small">
|
|
<?php if($row['visits_approved'] === 2) { ?>
|
|
<div>
|
|
<span class="badge bg-light text-dark"><?php echo $transLang['ID_TYPE']; ?></span> <?php echo $transLang[$IDTypeInfo->getIDTypeInfo($row['visits_id_type'])[0]["idtypes_name"]]; ?>
|
|
</div>
|
|
<?php if($row['visits_id_type']===1) { ?>
|
|
<div>
|
|
<span class="badge bg-light text-dark"><?php echo $transLang['TICKET']; ?></span> <?php echo $row['visits_id_reference']; ?>
|
|
</div>
|
|
<?php } ?>
|
|
<?php if($SiteInfo->getSite($siteid, $uid, "0", "0")[0]["sites_region"] == "US") { ?>
|
|
<div>
|
|
<span class="badge bg-light text-dark"><?php echo $transLang['COUNTRY']; ?>?</span> <?php echo $VisitInfo->getCountryInfo($row['visits_citizen'])[0]["countries_name"]; ?>
|
|
</div>
|
|
<?php } ?>
|
|
</td>
|
|
<td class="small">
|
|
<div>
|
|
<span class="badge bg-light text-dark"><?php echo $transLang['BADGE']; ?></span> <?php echo $row['visits_badge']; ?>
|
|
</div>
|
|
<div>
|
|
<span class="badge bg-light text-dark"><?php echo $transLang['SIGNINBY']; ?></span> <?php echo $Users->readUserFirstAndLast($row['visits_initials'])[0]["users_firstname"] . " " . $Users->readUserFirstAndLast($row['visits_initials'])[0]["users_lastname"]; ?>
|
|
</div>
|
|
<?php if($isvendor===1) { ?>
|
|
<div class="input-group input-group-sm mb-0">
|
|
<?php if ($finalvendorformcomplete===1) { ?>
|
|
<span class="badge bg-success text-dark"><?php echo $transLang['STR_TAGS_FORMCOMPLETE_TITLE']; ?></span>
|
|
<?php } else { ?>
|
|
<span class="badge bg-info text-dark"><?php echo $transLang['STR_TAGS_FORMINCOMPLETE_TITLE']; ?></span>
|
|
<?php } ?>
|
|
<a data-bs-toggle="modal" data-bs-target="#vendorFinalModal-<?php echo $visitid; ?>" data-id="<?php echo $visitid; ?>" href="#vendorFinalModal-<?php echo $visitid; ?>" name="vendorFinalModal-<?php echo $visitid; ?>" value="<?php echo $visitid; ?>" class="open-vendorFinalModal-<?php echo $visitid; ?>"><?php echo $transLang['STR_VENDORINFO_FORM_TITLE']; ?></a>
|
|
</div>
|
|
<?php } ?>
|
|
</td>
|
|
<?php if($SiteInfo->getSite($siteid, $uid, "0", "0")[0]["sites_region"] == "EMEA") { ?>
|
|
<td class="small"><?php if($StaticFunctions->getCarnumReqd() == "true") { ?><span class="badge bg-light text-dark"><?=$transLang['CARNUM']?></span><?php echo $carnum; ?><br /><?php } ?><span class="badge bg-light text-dark"><?=$transLang['SSANUM']?></span><?php echo $ssanum; ?></td>
|
|
<?php } ?>
|
|
<td class="small">
|
|
<div class="input-group input-group-sm mb-0 d-grid gap-2">
|
|
<button type="submit" name="endvisit" value="<?php echo $visitid; ?>" class="btn btn-warning btn-block btn-sm <?php if ($isvendor===1 && $finalvendorformcomplete===0) { echo "disabled"; } ?>"><i class="fas fa-sign-out-alt"></i> <?php echo $transLang['SIGNOUT']; ?></button>
|
|
</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>
|
|
<input placeholder="<?php echo $transLang['OPTIONAL']; ?>" name="outtime" type="text" class="form-control form-control-sm bg-white datetimepicker-input datetimepicker-<?php echo $visitid; ?>" id="datetimepicker-<?php echo $visitid; ?>" data-toggle="datetimepicker" data-target=".datetimepicker-<?php echo $visitid; ?>"/>
|
|
<script type="text/javascript" nonce="<?=$_SESSION['nonceStr']?>">
|
|
$(function () {
|
|
$('.datetimepicker-<?php echo $visitid; ?>').datetimepicker({'timeZone': '<?php echo $timezone; ?>', 'sideBySide':true, 'format':'YYYY-MM-DD HH:mm:ss', 'allowInputToggle': true });
|
|
});
|
|
</script>
|
|
</div>
|
|
</td>
|
|
<?php } else { ?>
|
|
<?php if($isvendor===1 && $initialvendorformcomplete===0) { echo ''; } else { ?>
|
|
<div class="input-group input-group-sm mb-0">
|
|
<span class="input-group-text"><?php echo $transLang['ID_TYPE']; ?></span>
|
|
<select class="form-control form-control-sm bg-white form-select<?php if( isset($id_type_error) && $id_type_error===1 && $_POST['approvevisit'] == $visitid ) { echo " is-invalid"; } ?>" id="id_type-<?php echo $visitid; ?>" name="id_type">
|
|
<option value="" selected><?php echo $transLang['SELECTID']; ?></option>
|
|
<?php foreach($IDTypeInfo->getIDTypeInfo("%") as $row): ?>
|
|
<option value="<?php echo $row['idtypes_id']; ?>"><?php echo $transLang[$row['idtypes_name']]; ?></option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
<div class="invalid-feedback"><?php echo $transLang['STR_COMMON_REQUIRED']; ?></div>
|
|
</div>
|
|
<div id="ticket-<?php echo $visitid; ?>" name="ticket-<?php echo $visitid; ?>" class="input-group input-group-sm mb-0"><span class="input-group-text"><?php echo $transLang['TICKET']; ?></span>
|
|
<input class="form-control form-control-sm bg-white<?php if( isset($id_reference_error) && $id_reference_error === 1 && $_POST['approvevisit'] == $visitid ) { echo " is-invalid"; } ?>" type="text" id="id_reference-<?php echo $visitid; ?>" name="id_reference">
|
|
<div class="invalid-feedback"><?php echo $transLang['STR_COMMON_REQUIRED']; ?></div>
|
|
</div>
|
|
<script type="text/javascript" nonce="<?=$_SESSION['nonceStr']?>">
|
|
$('#id_type-<?php echo $visitid; ?>').change(function() {
|
|
if ($(this).val() === "1") {
|
|
$('#ticket-<?php echo $visitid; ?>').show();
|
|
$('#id_reference-<?php echo $visitid; ?>').attr('required', '');
|
|
$('#id_reference-<?php echo $visitid; ?>').attr('data-error', 'This field is required.');
|
|
} else {
|
|
$('#ticket-<?php echo $visitid; ?>').hide();
|
|
$('#id_reference-<?php echo $visitid; ?>').removeAttr('required');
|
|
$('#id_reference-<?php echo $visitid; ?>').removeAttr('data-error');
|
|
}
|
|
});
|
|
$('#id_type-<?php echo $visitid; ?>').trigger("change");
|
|
</script>
|
|
<?php if($SiteInfo->getSite($siteid, $uid, "0", "0")[0]["sites_region"] == "US") { ?>
|
|
<div class="input-group input-group-sm mb-0">
|
|
<span class="input-group-text"><?php echo $transLang['COUNTRY']; ?></span>
|
|
<select class="form-control form-control-sm bg-white form-select<?php if( isset($citizen_error) && $citizen_error===1 && $_POST['approvevisit'] == $visitid ) { echo " is-invalid"; } ?>" id="citizen-<?php echo $visitid; ?>" name="citizen">
|
|
<option value=00 selected><?php echo $transLang['COUNTRY']; ?></option>
|
|
<?php foreach ($VisitInfo->getCountryInfo('%') as $row) { ?>
|
|
<option value="<?php echo $row['countries_id']; ?>" data-sanctioned="<?php echo $row['countries_ban']; ?>"><?php echo $row['countries_name']; ?></option>
|
|
<?php } ?>
|
|
</select>
|
|
<div class="invalid-feedback"><?php echo $transLang['STR_COMMON_REQUIRED']; ?></div>
|
|
</div>
|
|
<div id="citizen-ban-<?php echo $visitid; ?>" name="ban-<?php echo $visitid; ?>" class="input-group input-group-sm mb-0">
|
|
<span class="badge bg-danger"><?php echo $transLang['STR_COMMON_SANCTIONED']; ?></span>
|
|
</div>
|
|
<script type="text/javascript" nonce="<?=$_SESSION['nonceStr']?>">
|
|
$('#citizen-<?php echo $visitid; ?>').change(function() {
|
|
var controlbox = $(this);
|
|
var isSanctioned = controlbox.find(':selected').data('sanctioned');
|
|
if (isSanctioned === 1) {
|
|
$('#citizen-ban-<?php echo $visitid; ?>').show();
|
|
$('#approvevisit-<?php echo $visitid; ?>').attr('disabled', '');
|
|
} else {
|
|
$('#citizen-ban-<?php echo $visitid; ?>').hide();
|
|
$('#approvevisit-<?php echo $visitid; ?>').removeAttr('disabled', '');
|
|
}
|
|
});
|
|
$('#citizen-<?php echo $visitid; ?>').trigger("change");
|
|
</script>
|
|
<?php } ?>
|
|
<?php } ?>
|
|
|
|
<td class="small">
|
|
<?php if($isvendor===1 && $initialvendorformcomplete===0) { echo ''; } else { ?>
|
|
<div class="input-group input-group-sm mb-0">
|
|
<span class="input-group-text"><?php echo $transLang['BADGE']; ?></span>
|
|
<input type="text" id="badge" name="badge" class="form-control form-control-sm bg-white<?php if( isset($badge_error) && $badge_error===1 && $_POST['approvevisit'] == $visitid ) { echo " is-invalid"; } ?>" autofocus maxlength="15">
|
|
<div class="invalid-feedback"><?php echo $transLang['STR_COMMON_REQUIRED']; ?></div>
|
|
</div>
|
|
<?php } ?>
|
|
<?php if($isvendor===1) { ?>
|
|
<div class="input-group input-group-sm mb-0">
|
|
<?php if(empty($initialvendorformcomplete)) {$initialvendorformcomplete=0;}; if ($initialvendorformcomplete===1) { ?>
|
|
<span class="badge bg-success text-dark"><?php echo $transLang['STR_TAGS_FORMCOMPLETE_TITLE']; ?></span>
|
|
<?php } else { ?>
|
|
<span class="badge bg-info text-dark"><?php echo $transLang['STR_TAGS_FORMINCOMPLETE_TITLE']; ?></span>
|
|
<?php } ?>
|
|
<a data-bs-toggle="modal" data-bs-target="#vendorModal-<?php echo $visitid; ?>" data-id="<?php echo $visitid; ?>" href="#vendorModal-<?php echo $visitid; ?>" name="vendorModal-<?php echo $visitid; ?>" value="<?php echo $visitid; ?>" class="open-vendorModal-<?php echo $visitid; ?>"><?php echo $transLang['STR_VENDORINFO_FORM_TITLE']; ?></a>
|
|
</div>
|
|
|
|
|
|
<?php } ?>
|
|
<input class="form-control form-control-sm" type="hidden" id="initials" name="initials" placeholder="<?php echo $uid; ?>" value="<?php echo $uid; ?>">
|
|
</td>
|
|
<?php if($SiteInfo->getSite($siteid, $uid, "0", "0")[0]["sites_region"] == "EMEA") { ?>
|
|
<td class="small"><?php if($StaticFunctions->getCarnumReqd() == "true") { ?><span class="badge bg-light text-dark"><?=$transLang['CARNUM']?></span><?php echo $carnum; ?><br /><?php } ?><span class="badge bg-light text-dark"><?=$transLang['SSANUM']?></span><?php echo $ssanum; ?></td>
|
|
<?php } ?>
|
|
<td class="small">
|
|
<div class="input-group input-group-sm mb-0 d-grid gap-2">
|
|
<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> <?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="fd_voidVisitId" value="<?php echo $visitid; ?>" class="btn btn-danger btn-block btn-sm open-voidModal"><i class="fas fa-thumbs-down"></i> <?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>
|
|
<input placeholder="<?php echo $transLang['OPTIONAL']; ?>" name="outtime" type="text" class="form-control form-control-sm bg-white datetimepicker-input datetimepicker-<?php echo $visitid; ?>" id="datetimepicker-<?php echo $visitid; ?>" data-toggle="datetimepicker" data-target=".datetimepicker-<?php echo $visitid; ?>" />
|
|
<script type="text/javascript" nonce="<?=$_SESSION['nonceStr']?>">
|
|
$(function () {
|
|
$('.datetimepicker-<?php echo $visitid; ?>').datetimepicker({'sideBySide':true, 'format':'YYYY-MM-DD HH:mm:ss', 'allowInputToggle': true });
|
|
});
|
|
</script>
|
|
</div>
|
|
</td>
|
|
<?php } ?>
|
|
</form>
|
|
|
|
|
|
|
|
</tr>
|
|
|
|
<?php endforeach; ?>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="row row-cols-3 mb-2">
|
|
<div class="col d-grid gap-2">
|
|
|
|
</div>
|
|
<div class="col d-grid gap-2 text-center">
|
|
<ul class="pagination pagination-sm">
|
|
<li class="page-item disabled"><a class="page-link" href="#" tabindex="-1"><?php echo $transLang['STR_COMMON_PAGE']; ?></a></li>
|
|
<?php for ($i = 1; $i <= $page_count; $i++): ?>
|
|
<li class="page-item<?php if ($i === $page_num): echo ' active'; else: echo ' '; endif; ?>"><a class="page-link" href="<?php echo filter_input(INPUT_SERVER, 'PHP_SELF', FILTER_SANITIZE_URL) . '?pnum=' . $i; ?>"><?php echo $i; ?></a></li>
|
|
<?php endfor; ?>
|
|
</ul>
|
|
</div>
|
|
<div class="col d-grid gap-2">
|
|
|
|
</div>
|
|
</div>
|
|
<hr />
|
|
</div>
|
|
|
|
<!-- END VISITS LIST -->
|
|
|
|
<?php } require_once("inc/footer.inc.php");
|