Help
RSS
API
Feed
Maltego
Contact
Domain > eir.box-e.be
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2024-11-20
3.65.91.186
(
ClassC
)
2026-01-07
52.28.14.229
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: awselb/2.0Date: Wed, 07 Jan 2026 02:39:07 GMTContent-Type: text/htmlContent-Length: 134Connection: keep-aliveLocation: https://eir.box-e.be:443/ html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Wed, 07 Jan 2026 02:39:07 GMTContent-Type: text/html; charsetUTF-8Transfer-Encoding: chunkedConnection: keep-aliveSet-Cookie: AWSALB64vVnNVBUIjYZsu/48FbqE3zY+3QyYh6VRugwuZ8hmDccMcwCjEgbJR4t8V6leGeYRMgDjY1zakPqwXsNAF6LCEF0RKidNSwx1opWa5sq1kamzpyJV6PhkOZnUVj; ExpiresWed, 14 Jan 2026 02:39:07 GMT; Path/Set-Cookie: AWSALBCORS64vVnNVBUIjYZsu/48FbqE3zY+3QyYh6VRugwuZ8hmDccMcwCjEgbJR4t8V6leGeYRMgDjY1zakPqwXsNAF6LCEF0RKidNSwx1opWa5sq1kamzpyJV6PhkOZnUVj; ExpiresWed, 14 Jan 2026 02:39:07 GMT; Path/; SameSiteNone; SecureServer: nginxVary: Accept-EncodingSet-Cookie: PHPSESSID_eirboxe844739d6873fc63eaa965e3b5a039e7f; expiresWed, 07 Jan 2026 05:39:07 GMT; Max-Age10800; path/; domaineir.box-e.be; secure; HttpOnly; SameSitestrictExpires: Thu, 19 Nov 1981 08:52:00 GMTCache-Control: no-store, no-cache, must-revalidatePragma: no-cache html langen data-livestyle-extensionavailable>head>meta charsetutf-8>meta http-equivContent-Type contenttext/html; charsetutf-8 />meta nameviewport contentwidthdevice-width, initial-scale1>meta namedescription content>meta nameauthor content>link relshortcut icon typeimage/ico href../Images/Box-E_ico.ico/>meta propertyog:image content../Images/BoxeInterchange.png>link relmanifest hrefcss/manifest.json>title>Box-e EIR/title>script src/node_modules/jquery/dist/jquery.min.js>/script>script src/node_modules/jquery-ui/dist/jquery-ui.min.js>/script>script src/node_modules/jquery-ui-touch-punch/jquery.ui.touch-punch.min.js>/script>script src/node_modules/bootbox/dist/bootbox.min.js>/script>script src/node_modules/@pdftron/webviewer/webviewer.min.js>/script>script src/node_modules/bootstrap/dist/js/bootstrap.min.js>/script>script src/node_modules/datatables.net/js/dataTables.js>/script>script src/node_modules/lightbox2/dist/js/lightbox.js>/script>script src/js/popper.min.js>/script>script src/js/MainCustom.js?version2026-01-07 03:39:07>/script>script src/js/JsClasses.js?version2026-01-07 03:39:07>/script>script src/js/EIR_Custom.js?version2026-01-07 03:39:07>/script>link href/css/lightbox.min.css relstylesheet typetext/css>link href/css/bootstrap.min.css relstylesheet typetext/css>link href/css/bootstrap-glyphicon.css relstylesheet typetext/css>link href/node_modules/@fortawesome/fontawesome-free/css/all.min.css relstylesheet typetext/css>link href/css/LoadingIcon.css relstylesheet typetext/css>link href/css/LayoutNew.css?version2026-01-07 03:39:07 relstylesheet typetext/css>link href/css/simple-sidebar.css?version2026-01-07 03:39:07 relstylesheet typetext/css>link href/css/dashboard.css?version2026-01-07 03:39:07 relstylesheet typetext/css>link href/css/LayoutSgs.css?version2026-01-07 03:39:07 relstylesheet typetext/css>link href/node_modules/slick-carousel/slick/slick.css relstylesheet typetext/css>link href/node_modules/slick-carousel/slick/slick-theme.css relstylesheet typetext/css>link href/node_modules/datatables.net-dt/css/dataTables.dataTables.css relstylesheet typetext/css>link href/node_modules/lightbox2/dist/css/lightbox.css relstylesheet typetext/css>script typetext/javascript>var Global_whichApplication ;function ShowLoadingForm(){ $(.LoadingContent).css(display,block); $(.LoadingContent).css(z-index,100000);}function HideLoadingForm(){ $(.LoadingContent).css(display,none); $(.LoadingContent).css(z-index,0);}function makeid(length) { var result ; var characters ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789; var charactersLength characters.length; for ( var i 0; i length; i++ ) { result + characters.charAt(Math.floor(Math.random() * charactersLength)); } return result;}function ConvertPathToPicture(Urls,GroupName){ if(Urls||Urlsnull){ return ; } var AllUrls ; if(Urls.includes(|)){ AllUrls Urls.split(|); }else{ AllUrls.push(Urls); } var ValToReturn ; if(GroupName){ GroupName makeid(10); } for(var j 0, length2 AllUrls.length; j length2; j++){ var teller j+1; if (typeof AllUrlsj ! string) { continue; } var linkToUrl AllUrlsj.replaceAll(/mnt/data/www/william/,https://); ValToReturn + `a href${linkToUrl} urltoimage${linkToUrl} classbtn btn-info btn-circle data-lightbox${GroupName} data-title${GroupName}> i classfa fa-search aria-hiddentrue>/i> /a>`; } return ValToReturn;}function GetHrefOfImage(Urls){ if(Urls||Urlsnull){ return ; } var AllUrls ; if(Urls.includes(|)){ AllUrls Urls.split(|); }else{ AllUrls.push(Urls); } var HrefToReturn ; for(var j 0, length2 AllUrls.length; j length2; j++){ var teller j+1; var linkToUrl AllUrlsj.replace(/mnt/data/www/william/,https://); HrefToReturn.push(linkToUrl); } return HrefToReturn;}function GetImageBlock(HrefToImage){ var filename HrefToImage.substring(HrefToImage.lastIndexOf(/)+1); var fileNameLength filename.length; var indexOfFirst filename.indexOf(_); var indexOfSecond filename.indexOf(_,indexOfFirst+1); var idVesselListContent GetLeftOfStringJs(filename,indexOfFirst); var containerNumber filename.substring(indexOfFirst+1,indexOfSecond) var dateTimeOfPic filename.substring(indexOfSecond+1,fileNameLength-4) var Content `li classfiles id${idVesselListContent} downloadurl${HrefToImage}> span classicon file f-PNG> a href${HrefToImage} classpop example-image-link data-lightboxexample-set data-title${containerNumber}> img src${HrefToImage} width100 height100 classexample-image> /a> /span> span stylemargin-left: 15px; classname>${containerNumber}/span> span stylemargin-left: 15px; classdetails>${dateTimeOfPic}/span> a href${HrefToImage} title${containerNumber} typecheckbox download utffile>/a>/li>`; return Content;}function CheckIfLoggedIn(){ var form_data new FormData(); form_data.append(MainInfo,IsLoggedIn); var ajaxData { dataToParse:form_data, urlTo:/API/LoginApi.php, theCallBackF: function(data){ if (data.LoggedInFALSE){ window.location.href window.location.protocol + // + window.location.host + /index.php?pageReConfirmLogin; return; } } }; var ajaxRequest new AjaxJsonAsyncAutoWithCallBack(ajaxData);}$(document).ready(function() { var LoginFormVisible document.getElementById(LoginformContent); if(LoginFormVisiblenull){ setInterval(CheckIfLoggedIn, 60000); }});var tempInterval;function frame() { var ProgressBackGround document.getElementById(progressNavBar); var width parseInt($(ProgressBackGround).css(width)); var widthInPercentage width / $(ProgressBackGround).parent().width() * 100; if (widthInPercentage > 100) { /* //we dont clear it because download can take longer $(#labelProgressNavBar).addClass(hidden); ProgressBackGround.style.width 0 + %; clearInterval(tempInterval); i 0; */ } else { widthInPercentage++; ProgressBackGround.style.width widthInPercentage + %; }}function StartProgressNavbar(secondsToRun,labelToDisplay){ var progressLabelEl $(#labelProgressNavBar); $(progressLabelEl).html(labelToDisplay); $(progressLabelEl).removeClass(hidden); var ProgressBackGround document.getElementById(progressNavBar); var width 1; tempInterval setInterval(frame, secondsToRun*10);}function ForceNavbarClear(){ var ProgressBackGround document.getElementById(progressNavBar); $(#labelProgressNavBar).addClass(hidden); ProgressBackGround.style.width 0 + %; clearInterval(tempInterval);}var theCameraObj null;/script>/head>head> link relstylesheet href/css/Login.css?version1>/head>div classLoginWrapper fadeInDown> div idLoginformContent> !-- Tabs Titles --> !-- Icon --> div classfadeIn first> img src/Images/Box-E_EIR_R.png idicon altUser Icon /> /div> !-- Login Form --> div> input typetext nameUsername idlogin classfadeIn second namelogin placeholderEmail or Username> input typepassword namePassword idpassword classfadeIn third namelogin placeholderPassword> input typesubmit nameLogin classfadeIn fourth valueLog In onclickCheckLogin();> /div> div classatf-jim-container atf-jim-container--i47 container-cookie-consent> div classatf-jim-container atf-jim-container--i48>/div>div classatf-jim-container atf-jim-container--i49> div classatf-headline atf-headline--i29> div classtitle>We use cookies to ensure that we give you the best experience on our website./div> /div> /div> /div> /div>/div>script typetext/javascript> function CheckLogin(){ var TheUsername $(#login).val(); var ThePW $(#password).val(); if(TheUsername||ThePW){ return; } var form_data new FormData(); form_data.append(MainInfo,CheckLogin); form_data.append(UserName,TheUsername); form_data.append(PassWord,ThePW); var ajaxData { dataToParse:form_data, urlTo:/API/LoginApi.php, showTheLoadingForm:false, theCallBackF: function (returnedData){ console.log(returnedData); if (returnedData.ErrorMessage!){ window.location.href `${location.protocol}//eir.box-e.be`; return; } if(returnedData.UserObj!undefined){ Object.defineProperty(window, LoggedInUserObj, { value: returnedData.UserObj, configurable: false, writable: false }); } window.location.href `${location.protocol}//eir.box-e.be`; } }; var ajaxRequest new AjaxJsonAsyncAutoWithCallBack(ajaxData); } $(document).ready(function(){ $(#Username).attr(placeholder,Email or Username); $(#Password).attr(placeholder,Password); $(#Username).click(function(event){ $(#Username).attr(value,); }); $(#Password).click(function(event){ $(#Password).attr(value,); }); });/script>style typetext/css> #canvasTakePicture{ display: none; } .no-margin { margin: 0; }.fullscreen-always-front { width: 90vw; height: 90vh; z-index: 1080; position: absolute; left: 5vw; top: 0; background-color: darkgrey; overflow-y: hidden;}video#CameraCaptureVideo,#canvasFullScreen{ width: 90vw; height: 90%; max-width: 1920px; max-height: 1080px;}.fullscreen-always-front>.ContentModalbody{ width: 100%;}.ContentModalbody-fullscreen.text-center { height: 80%; /* max-height: 80%; */}div#ContentModal-ModalContent { display: inline-table;}.modal-dialog.modal-dialog-centered { text-align: center;}@media (min-width: 576px){.modal-dialog { max-width: 90%; margin: 1.75rem auto;}}/style>style typetext/css> .modal-body-CameraBox,#CameraBox-ModalContent,#ContentModal-ModalContent,.ContentModalbody{ width:auto; max-width: 100vw; } #canvasTakePicture{ display: none; } #canvasTakePicture{ display: none; } .no-margin { margin: 0; } #video,#canvasTakePicture{ width:auto; max-width: 90vw; max-height: 90vh; } #CameraBox{ overflow: auto; } .modal-bg{ z-index: 1090; position: fixed; width: 100%; height: 100vh; top:0; left:0; background-color: rgba(0,0,0,0.5); display: flex; justify-content: center; align-items: center; visibility: hidden; opacity: 0; transition: visibility 0s, opacity 0.5s; } .modal-body-CameraBox{ background-color: white; display: flex; justify-content: space-around; align-items: center; flex-direction: column; } .X-CloseCamera{ position: absolute; right: 10px; top: 10px; cursor: pointer; transition: visibility 0s, opacity 0.5s; } .modal-body-CameraBox{ position: relative; } .UploadingSpinner{ visibility: hidden; background-image: url(../Images/Spinner-1s-200px.svg); background-size: cover; background-repeat: no-repeat; position: absolute; left: 0; top: 0; width: 100%; height: 100%; } .bg-active{ visibility: visible; opacity: 1; } .uploading-active{ visibility: visible; opacity: 0.4; }/style>div classmodal-bg idCameraBox> div classmodal-body-CameraBox> video idvideo width1000 height650 autoplay>/video> div classtext-center> label forContainerNumber idtakePictureLabel>/label> button idsnap classbtn btn-warning onclickcapture(event) MainInfo ExtraAttribute ContainerNumber EstimateId FileNameToSave>Take Photo/button> button idFlash classbtn btn-warning currentStateOFF>i classfas fa-bolt>/i>/button> /div> canvas idcanvasTakePicture width1000 height650>/canvas> span classX-CloseCamera>i classfar fa-window-close fa-3x>/i>/span> span classUploadingSpinner>/span> /div>/div>script typetext/javascript>var tempStream;function capture(event){ event.preventDefault(); var canvas document.getElementById(canvasTakePicture); var video document.getElementById(video); canvas.width video.videoWidth; canvas.height video.videoHeight; canvas.getContext(2d).drawImage(video, 0, 0, video.videoWidth, video.videoHeight); var ctx canvas.getContext(2d); ctx.font 15px Comic Sans MS; ctx.fillStyle white; ctx.textAlign center; ctx.shadowColor black; ctx.shadowBlur 4; ctx.shadowOffsetX 2; ctx.shadowOffsetY 2; const timeNow new Date().toUTCString(); ctx.fillText(timeNow, 150, 15); var dataURL canvas.toDataURL(image/jpeg); var ContainerNumber $(#ContainerNumberHiddenInput).val(); var idVesselListContent 0; var MainInfoContent ; var CommingFrom; var theId 0; if(theCameraObjnull){ //oude functie if($(#snap).attr(MainInfo)!&&$(#snap).attr(ExtraAttribute)!){ MainInfoContent AddPictureFromCanvasToVesselListContent; idVesselListContent $(#snap).attr(ExtraAttribute); CommingFrom UrlToMainPics; }else{ MainInfoContent AddPictureFromCanvas; idVesselListContent $(#idVesselListContentHiddenInput).val(); CommingFrom Other; } }else{ MainInfoContent theCameraObj.MainInfoContent; theId theCameraObj.theId; } $.ajax({ url: /API/API_Main.php, type: POST, data: {MainInfo : MainInfoContent, ContainerNumber : ContainerNumber, CommingFrom : CommingFrom, dataOfImage : dataURL, TheId : theId, idVesselListContent : idVesselListContent }, datatype:json, timeout: 6000, async:true, error: function(ReturnData){ console.log(ReturnData); theCameraObj null; addPictureToIndexedDb(dataURL,ContainerNumber,idVesselListContent,MainInfoContent); ShowSmallNotificationBox(PicNotSuccess); return; }, success: function(ReturnData) { console.log(ReturnData); if(ReturnData.UploadSuccesTRUE){ if(theCameraObj!null&&theCameraObj.cbSuccessFunction!undefined){ theCameraObj.cbSuccessFunction(ReturnData); theCameraObj null; }else{ theCameraObj null; ShowSmallNotificationBox(PicSuccess); PathToPictures.push(ReturnData.HrefToFile); if(CommingFromUrlToMainPics){ var LinkToPicBtn ConvertPathToPicture(ReturnData.HrefToFile)+br>; $(#UrlToMainPics).append(LinkToPicBtn); } } }else{ addPictureToIndexedDb(dataURL,ContainerNumber,idVesselListContent,MainInfoContent); } return; } }); $(#snap).attr(MainInfo,); $(#snap).attr(ExtraAttribute,); //UploadImageToEstimate(); HideCameraModal();}$(document).on(click, #video, function(event) { event.preventDefault(); /* Act on the event */ capture(event);});function addPictureToIndexedDb(dataOfImage,ContainerNumber,idVesselListContent,MainInfo){ const newDataToAdd { title : Math.random(), dataOfImage : dataOfImage, ContainerNumber : ContainerNumber, idVesselListContent : idVesselListContent, MainInfo : MainInfo }; const tx db.transaction(pendingUploadValues, readwrite); tx.onerror e > alert( ` Error! ${e.target.error}`); const dataOfImages tx.objectStore(pendingUploadValues); dataOfImages.add(newDataToAdd);}async function readAndUploadPicturesFromIndexedDb(){ ShowLoadingForm(); try { // Get all pending images from IndexedDB const pendingImages await getAllPendingImages(); if (pendingImages.length 0) { HideLoadingForm(); ShowMessageBox(Sync info, No pending images to upload); return; } let successCount 0; let failCount 0; const uploadPromises ; // Process each image for (const imageData of pendingImages) { const uploadPromise uploadImageWithPromise(imageData) .then(async (response) > { if (response.UploadSucces TRUE) { successCount++; await deleteValueFromPicturesDbAsync(imageData.key); } else { failCount++; console.error(Upload failed for image:, imageData.key, response); } }) .catch((error) > { failCount++; console.error(Upload error for image:, imageData.key, error); }); uploadPromises.push(uploadPromise); } // Wait for all uploads to complete await Promise.allSettled(uploadPromises); HideLoadingForm(); // Show appropriate message based on results if (failCount 0) { ShowMessageBox(Sync info, `Successfully uploaded ${successCount} image(s)`); } else { ShowMessageBox(Sync info, `Uploaded ${successCount} image(s), ${failCount} failed. Failed images will retry on next sync.`); } } catch (error) { HideLoadingForm(); console.error(Error reading from IndexedDB:, error); ShowMessageBox(Error, Failed to read pending images from storage); }}// Helper function to get all pending images from IndexedDBfunction getAllPendingImages() { return new Promise((resolve, reject) > { const images ; const tx db.transaction(pendingUploadValues, readonly); const store tx.objectStore(pendingUploadValues); const request store.openCursor(); request.onsuccess (e) > { const cursor e.target.result; if (cursor) { images.push({ key: cursor.key, value: cursor.value }); cursor.continue(); } else { resolve(images); } }; request.onerror (e) > { reject(e.target.error); }; });}// Helper function to upload image with promisefunction uploadImageWithPromise(imageData) { return new Promise((resolve, reject) > { const form_data new FormData(); form_data.append(MainInfo, imageData.value.MainInfo); form_data.append(SubInfo, SyncFromIndexedDb); form_data.append(dataOfImage, imageData.value.dataOfImage); form_data.append(ContainerNumber, imageData.value.ContainerNumber); form_data.append(idVesselListContent, imageData.value.idVesselListContent); form_data.append(CursorKey, imageData.key); const ajaxData { dataToParse: form_data, urlTo: /API/API_Main.php, showTheLoadingForm: false, async: true, theCallBackF: (response) > { resolve(response); }, errorCallBackF: (error) > { reject(error); } }; new AjaxJsonAsyncAutoWithCallBack(ajaxData); });}// Helper function to delete from IndexedDB with promisefunction deleteValueFromPicturesDbAsync(keyValue) { return new Promise((resolve, reject) > { keyValue parseInt(keyValue); const requestDelete db.transaction(pendingUploadValues, readwrite) .objectStore(pendingUploadValues) .delete(keyValue); requestDelete.onsuccess function(evt) { console.log(Deleted image from IndexedDB:, keyValue); resolve(); }; requestDelete.onerror function(evt) { console.error(Error deleting from IndexedDB:, evt.target.error); reject(evt.target.error); }; });}function removeValueFromPicturesDb(data){ console.log(data); if(data.UploadSuccesTRUE){ deleteValueFromPicturesDb(data.CursorKey); }}function deleteValueFromPicturesDb(keyValue){ var requestDelete; keyValue parseInt(keyValue); requestDelete db.transaction(pendingUploadValues, readwrite).objectStore(pendingUploadValues).delete(keyValue); requestDelete.onsuccess function(evt) { console.log(deleted content); };}$(document).on(click,.X-CloseCamera,function(event){ event.stopImmediatePropagation(); HideCameraModal();});function ActivateBackCamera(){ let constraints { video: { facingMode: environment, width: { ideal: 1920 }, height: { ideal: 1080 } } }; if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { let supported navigator.mediaDevices.getSupportedConstraints(); if(supported.torchfalse){ $(.FlashButtonWrapper).addClass(hidden); } navigator.mediaDevices.getUserMedia(constraints).then(function(stream) { //video.src window.URL.createObjectURL(stream); $(#CameraBox).addClass(bg-active); tempStream stream; video.srcObject stream; video.facingMode environment; video.play(); }); } var CamCapWidth $(#video).width(); var CamCapHeight $(#video).height(); var canvas document.getElementById(canvasTakePicture); var context canvas.getContext(2d); var video document.getElementById(video); var SUPPORTS_MEDIA_DEVICES mediaDevices in navigator; if (SUPPORTS_MEDIA_DEVICES) { //Get the environment camera (usually the second one) navigator.mediaDevices.enumerateDevices().then(devices > { console.log(Cameras found); var cameras devices.filter((device) > device.kind videoinput); if (cameras.length 0) { throw No camera found on this device.; } var camera cameras0; for (var k 0; k cameras.length; k++) { //Logitech HD Webcam C270 (046d:0825) if(camerask.label!undefined){ var camDescript camerask.label; if(camDescript.includes(back)){ camera camerask; break; } } } // Create stream and get video track navigator.mediaDevices.getUserMedia({ video: { deviceId: camera.deviceId } }).then(stream > { var track stream.getVideoTracks()0; //Create image capture object and get camera capabilities var imageCapture new ImageCapture(track); var photoCapabilities imageCapture.getPhotoCapabilities().then((resultPhoto) > { console.log(resultPhoto); //todo: check if camera has a torch //let there be light! var closeCamBtn document.querySelector(.X-CloseCamera); closeCamBtn.addEventListener(click,function(){ console.log(track); track.stop(); }); var btn document.querySelector(#Flash); btn.addEventListener(click, function(){ let capabilities track.getCapabilities(); if($(btn).attr(currentState)OFF){ if (capabilities.torch) { track.applyConstraints({ advanced: { torch: true } }).then(function() { console.log(Flash on); $(btn).attr(currentState, ON); }).catch(function(e) { console.log(Failed to turn on flash: + e); }); } else { console.log(Torch not supported by this device.); } console.log(track.getConstraints()); track.applyConstraints({ advanced: {torch: true} }).then(function() { console.log(flash on); console.log(track); $(btn).attr(currentState,ON); }).catch(function(e){ console.log(not success putting flash on+e); }); }else{ try { track.applyConstraints({ advanced: {torch: false} }); console.log(flash off); console.log(track); $(btn).attr(currentState,OFF); } catch(e) { // statements alert(e); } } }); $(document).on(click,#CameraBox-CloseBtn,#CameraBox-CloseBtn-x,.X-CloseCamera,function(event){ $(#Flash).attr(currentState,OFF); track.applyConstraints({ advanced: {torch: false} }); }); }); }); }); }}$(document).on(dblclick, #video, function(event) { event.preventDefault(); /* Act on the event */ capture(event);});function HideCameraModal(){ $(#CameraBox).removeClass(bg-active); if(tempStreamundefined){ return; } tempStream.getVideoTracks()0.enabledfalse; tempStream.getVideoTracks()0.stop(); return; tempStream.getTracks().forEach(function(track) { track.stop(); });}/script> /div> /div> /div> /div>button class.d-none hidden idShowCameraBox data-togglemodal data-target#CameraBox>/button>div classmodal fade idCameraBox tabindex-1 roledialog aria-labelledbyexampleModalCenterTitle aria-hiddentrue> div classmodal-dialog no-margin roledocument> button idsnap classbtn btn-warning fixed-right>Take Photo/button> div classmodal-content idCameraBox-ModalContent> div classmodal-header> h5 classmodal-title idCameraBoxTitle>Take Picture/h5> button typebutton classclose data-dismissmodal aria-labelClose idCameraBox-CloseBtn> span aria-hiddentrue>×/span> /button> /div> div classmodal-body-CameraBox> video idvideo width90vw height60vh autoplay>/video> div classtext-center> button idsnap classbtn btn-warning>Take Photo/button> button idFlas classbtn btn-warning currentStateOFF>i classfas fa-bolt>/i>/button> /div> canvas idcanvasTakePicture width90vw height60vh>/canvas> /div> div classmodal-footer-CameraBox> button typebutton classbtn btn-secondary data-dismissmodal idCameraBox-CloseBtn>Close/button> /div> /div> /div>/div>div classmodal fade col-md-12 idContentModal tabindex-1 roledialog aria-labelledbyexampleModalLabel aria-hiddentrue> div classmodal-dialog modal-dialog-centered roledocument> div classmodal-dialog modal-xl roledocument> div classmodal-content idContentModal-ModalContent> div classmodal-header> h5 classContentModaltitle idexampleModalLabel>/h5> button classclose typebutton data-dismissmodal aria-labelClose> span aria-hiddentrue>×/span> /button> /div> div classContentModalbody> /div> div classContentModalfooter> button classbtn btn-secondary typebutton data-dismissmodal>Cancel/button> /div> /div> /div> /div>/div>div classfullscreen-always-front hidden> div classContentModalbody-fullscreen text-center> div classmodal-header> h5 classContentModaltitle idexampleModalLabel>/h5> button classclose CloseFullScreen typebutton data-dismissmodal aria-labelClose> span aria-hiddentrue>×/span> /button> /div> video idCameraCaptureVideo classrounded autoplay>/video> div classtext-center> button idTakePicBtn classbtn btn-danger rounded-circle onclickcapture()>i classfas fa-camera fa-5x>/i>/button> /div> div classtext-center FlashButtonWrapper> button idTurnOnFlashBtn classbtn btn-warning currentStateOFF>i classfas fa-bolt>/i>/button> /div> div classtext-center mt-5> button classbtn btn-secondary CloseFullScreen typebutton idCloseFullScreen>Cancel/button> /div> canvas idcanvasFullScreen>/canvas> /div>/div>script typetext/javascript>/script>script>// Check and sync pending images before logoutasync function checkAndSyncPendingImages() { try { const pendingImages await getAllPendingImages(); if (pendingImages.length > 0) { // Show notification about pending images ShowMessageBox(Syncing Images, `Found ${pendingImages.length} pending image(s). Syncing before logout...`); // Wait a moment for user to see the message await new Promise(resolve > setTimeout(resolve, 1000)); // Start the sync process await readAndUploadPicturesFromIndexedDb(); // Check again if any images failed to upload const remainingImages await getAllPendingImages(); if (remainingImages.length > 0) { // If some images still remain, warn the user const confirmLogout confirm(`${remainingImages.length} image(s) could not be synced and will be lost. Continue with logout?`); return confirmLogout; } } return true; // No pending images or all synced successfully } catch (error) { console.error(Error checking pending images:, error); // In case of error, ask user if they want to continue return confirm(Could not verify pending images. Some data may be lost. Continue with logout?); }}async function logoutWithSync() { ShowLoadingForm(); // Check and sync pending images first const canProceed await checkAndSyncPendingImages(); if (!canProceed) { HideLoadingForm(); return; // User cancelled logout } // Proceed with original logout logout();}function logout(){ var form_data new FormData(); form_data.append(MainInfo,Logout); var ajaxData { dataToParse:form_data, urlTo:/API/API_Main.php, beforeSendF: ShowLoadingForm, onCompleteF: HideLoadingForm, theCallBackF: function(data){ console.log(data); window.location.href window.location.protocol + // + window.location.host + /index.php?pageReConfirmLogin; return; } }; new AjaxJsonAsyncAutoWithCallBack(ajaxData);}function ShowCameraBox(){ ActivateBackCamera(); let element document.querySelector(.fullscreen-always-front); element.scrollIntoView();}$(#menu-toggle).click(function(e) { e.preventDefault(); $(#wrapper).toggleClass(toggled);});$(#nav-icon1).click(function(e) { e.preventDefault(); $(#wrapper).toggleClass(toggled);});$(document).on(click,.CloseTilte,function(event){ $(.d-flex.justify-content-between.flex-wrap.flex-md-nowrap.align-items-center.pb-2.mb-3.border-bottom).remove();});/script>div ideid-chrome-extension-is-installed>/div>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]