[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: form.js
"use strict"; const CSRF_TOKEN = $('meta[name="csrf-token"]').attr("content"); $.ajaxSetup({ headers: { "X-CSRF-TOKEN": CSRF_TOKEN, }, }); let $savingLoader = '<div class="spinner-border spinner-border-sm text-primary" role="status"><span class="visually-hidden">Loading...</span></div>', $ajaxform = $(".ajaxform"); $ajaxform.initFormValidation(), $(document).on("submit", ".ajaxform", function (e) { e.preventDefault(); let t = $(this).find(".submit-btn"), a = t.html(); $ajaxform.valid() && $.ajax({ type: "POST", url: this.action, data: new FormData(this), dataType: "json", contentType: !1, cache: !1, processData: !1, beforeSend: function () { t.html($savingLoader).attr("disabled", !0); }, success: function (e) { t.html(a).removeClass("disabled").attr("disabled", !1); if (e.redirect) { window.sessionStorage.hasPreviousMessage = true; window.sessionStorage.previousMessage = e.message ?? null; if (e.secondary_redirect_url) { window.open(e.secondary_redirect_url, "_blank"); } location.href = e.redirect; } else { Notify("success", null, e ?? 'Operation Successful.'); } }, error: function (e) { t.html(a).attr("disabled", !1), Notify("error", e); }, }); }); let $ajaxform_instant_reload = $(".ajaxform_instant_reload"); $ajaxform_instant_reload.initFormValidation(), $(document).on("submit", ".ajaxform_instant_reload", function (e) { e.preventDefault(); let t = $(this).find(".submit-btn"), a = t.html(); $ajaxform_instant_reload.valid() && $.ajax({ type: "POST", url: this.action, data: new FormData(this), dataType: "json", contentType: !1, cache: !1, processData: !1, positionClass: "toast-top-left", beforeSend: function () { t.html($savingLoader) .addClass("disabled") .attr("disabled", !0); }, success: function (e) { t.html(a).removeClass("disabled").attr("disabled", !1), (window.sessionStorage.hasPreviousMessage = !0), (window.sessionStorage.previousMessage = e.message ?? null), e.redirect && (location.href = e.redirect); }, error: function (e) { t.html(a).removeClass("disabled").attr("disabled", !1), showInputErrors(e.responseJSON), Notify("error", e); }, }); }); const $loginForm = $(".login_form"); $loginForm.initFormValidation(); $(document).on("submit", ".login_form", function (e) { e.preventDefault(); const $submitButton = $(this).find(".submit-btn"); const originalButtonText = $submitButton.html(); if (!$loginForm.valid()) return; $.ajax({ type: "POST", url: this.action, data: new FormData(this), dataType: "json", contentType: false, cache: false, processData: false, positionClass: "toast-top-left", beforeSend: function () { $submitButton .html($savingLoader) .addClass("disabled") .attr("disabled", true); }, success: function (response) { $submitButton .html(originalButtonText) .removeClass("disabled") .attr("disabled", false); window.sessionStorage.hasPreviousMessage = true; window.sessionStorage.previousMessage = response.message || null; if (response.redirect) { location.href = response.redirect; } }, error: function (error) { let response = error.responseJSON; $submitButton .html(originalButtonText) .removeClass("disabled") .attr("disabled", false); if (response.redirect) { window.sessionStorage.hasPreviousMessage = true; window.sessionStorage.notifyType = "warning"; window.sessionStorage.previousMessage = response.message || null; location.href = response.redirect; } else { showInputErrors(error.responseJSON); Notify("error", error); } }, }); }); // sign up form let $sign_up_form = $(".sign_up_form"); $sign_up_form.initFormValidation(); $(document).on("submit", ".sign_up_form", function (e) { e.preventDefault(); let t = $(this).find(".submit-btn"), a = t.html(); if ($sign_up_form.valid()) { $.ajax({ type: "POST", url: this.action, data: new FormData(this), dataType: "json", contentType: false, cache: false, processData: false, beforeSend: function () { t.html($savingLoader) // Show loader .addClass("disabled") .attr("disabled", true); }, success: function (response) { // Handle success response $("#createFreeAccount").modal("hide"); $("#dynamicEmail").text(response.email); $("#verifymodal").modal("show"); startCountdown(response.otp_expiration); }, error: function (e) { // Handle error response showInputErrors(e.responseJSON); Notify("error", e); }, complete: function () { t.html(a).removeClass("disabled").attr("disabled", false); }, }); } }); // Verify OTP submission let $verify_form = $(".verify_form"); $verify_form.initFormValidation(); $(document).on("submit", ".verify_form", function (e) { e.preventDefault(); let t = $(this).find(".submit-btn"), a = t.html(); const email = $("#dynamicEmail").text(); // Get the OTP input values from the form const otpInputs = $(this).find(".otp-input"); let otpValues = otpInputs .map(function () { return $(this).val(); }) .get() .join(""); // Validate OTP and form before submitting if ($verify_form.valid()) { let formData = new FormData(this); formData.append("email", email); formData.append("otp", otpValues); $.ajax({ type: "POST", url: this.action, data: formData, dataType: "json", contentType: false, cache: false, processData: false, beforeSend: function () { t.html($savingLoader).addClass("disabled").attr("disabled", !0); }, success: function (res) { t.html(a).removeClass("disabled").attr("disabled", false); $("#verifymodal").modal("hide"); $("#setupAccountModal").modal("show"); if (res.business_categories.length > 0) { res.business_categories.forEach((category) => { $(".business-categories").append( `<option value="${category.id}">${category.name}</option>` ); }) } }, error: function (response) { t.html(a).removeClass("disabled").attr("disabled", false); toastr.error( response.responseJSON.message || "An error occurred." ); }, }); } else { toastr.error("Please enter all OTP digits."); } }); // business setup form let $business_setup_form = $(".business_setup_form"); $business_setup_form.initFormValidation(); $(document).on("submit", ".business_setup_form", function (e) { e.preventDefault(); let t = $(this).find(".submit-btn"), a = t.html(); if ($business_setup_form.valid()) { $.ajax({ type: "POST", url: this.action, data: new FormData(this), dataType: "json", contentType: false, cache: false, processData: false, beforeSend: function () { t.html($savingLoader) // Show loader .addClass("disabled") .attr("disabled", true); }, success: function (res) { if (res.redirect) { window.sessionStorage.hasPreviousMessage = true; window.sessionStorage.previousMessage = res.message || 'Operation successfully.'; location.href = res.redirect; } else { $("#setupAccountModal").modal("hide"); $("#successModal").modal("show"); Notify("success", null, res.message ?? 'Operation Successful.'); } }, error: function (e) { // Handle error response showInputErrors(e.responseJSON); Notify("error", e); }, complete: function () { t.html(a).removeClass("disabled").attr("disabled", false); }, }); } }); // OTP input field---------------------> const pinInputs = document.querySelectorAll(".pin-input"); pinInputs.forEach((inputField, index) => { inputField.addEventListener("input", () => { inputField.value = inputField.value.replace(/[^0-9]/g, "").slice(0, 1); if (inputField.value && index < pinInputs.length - 1) { pinInputs[index + 1].focus(); } }); inputField.addEventListener("keydown", (e) => { if (e.key === "Backspace" && !inputField.value && index > 0) { pinInputs[index - 1].focus(); } }); inputField.addEventListener("paste", (e) => { e.preventDefault(); }); }); function showInputErrors(e) { if (e.errors !== undefined) { $.each(e.errors, function (field, message) { $("#" + field + "-error").remove(); let errorLabel = ` <label id="${field}-error" class="error" for="${field}">${message}</label> `; $("#" + field) .parents() .hasClass("form-check") ? $("#" + field).parents().find(".form-check").append(errorLabel) : $("#" + field).addClass("error").after(errorLabel); }); } } function ajaxSuccess(response, Notify) { if (response.redirect) { if (response.message) { window.sessionStorage.hasPreviousMessage = true; window.sessionStorage.previousMessage = response.message ?? null; } location.href = response.redirect; } else if (response.message) { Notify("success", response); } } //PREVIEW IMAGE function previewImage(input) { if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function (e) { var inputId = $(input).attr("id"); // Select the image element based on the input's ID var imageElement = $("img.product-img").filter(function () { return $(this).closest("label").attr("for") === inputId; }); imageElement.attr("src", e.target.result); imageElement.hide().fadeIn(650); }; reader.readAsDataURL(input.files[0]); } } // Status button Change $(".change-text").on("change", function () { var $dynamicText = $(this).closest(".form-control").find(".dynamic-text"); if (this.checked) { $dynamicText.text("Active"); } else { $dynamicText.text("Deactive"); } }); // Status button Change $(".cnge-text").on("change", function () { var $test = $(this).closest(".form-control").find(".is-live-text"); if (this.checked) { $test.text("Yes"); } else { $test.text("No"); } }); /** STATUS CHANGE */ $(".status").on("change", function () { var checkbox = $(this); var status = checkbox.prop("checked") ? 1 : 0; var url = checkbox.data("url"); var method = checkbox.data("method"); $.ajax({ url: url, type: method ?? "POST", data: { status: status, }, success: function (res) { toastr.success("Status updated successfully"); }, error: function (xhr) { toastr.error(xhr.responseJSON.message); }, }); }); $(document).ready(function () { const urlParams = new URLSearchParams(window.location.search); const success_modal = urlParams.get('success_modal'); const setup_business = urlParams.get('setup_business'); if (success_modal == 1) { $("#successModal").modal("show"); } if (setup_business == 1) { $.ajax({ type: "GET", url: $("#get-business-categories").val(), success: function (res) { $("#setupAccountModal").modal("show"); if (res.length > 0) { res.forEach((category) => { $(".business-categories").append( `<option value="${category.id}">${category.name}</option>` ); }) } } }); } /** SEARCH */ $(".searchInput").on("input", function (e) { e.preventDefault(); const searchText = $(this).val(); const url = $(this).attr("action"); $.ajax({ url: url, type: "GET", data: { search: searchText, }, success: function (res) { $(".searchResults").html(res.data); }, error: function (xhr) { console.log(xhr.responseText); }, }); }); // Handle the "x" icon click event $(".clearSearchInput").on("click", function () { $(".searchInput").val(""); // Clear the search input $(".clearSearchInput").addClass("d-none"); $(this).closest(".searchForm").submit(); }); // Show/hide "delete" button based on input value $(".searchInput").on("input", function () { if ($(this).val().trim() !== "") { $(".clearSearchInput").removeClass("d-none"); } else { $(".clearSearchInput").addClass("d-none"); } }); // Select all checkboxes when the checkbox in the header is clicked $(".selectAllCheckbox").on("click", function () { $(".checkbox-item").prop("checked", this.checked); if (this.checked) { $(".delete-selected").addClass("text-danger"); } else { $(".delete-selected").removeClass("text-danger"); } }); // Perform the delete action for selected elements when the delete icon is clicked $(".delete-selected").on("click", function (e) { var checkedCheckboxes = $(".checkbox-item:checked"); if (checkedCheckboxes.length === 0) { toastr.error( "No items selected. Please select at least one item to delete." ); } else { $("#multi-delete-modal").modal("show"); } }); $(".multi-delete-btn").on("click", function () { var ids = $(".checkbox-item:checked") .map(function () { return $(this).val(); }) .get(); let submitButton = $(this); let originalButtonText = submitButton.html(); let del_url = $(".checkbox-item").data("url"); $.ajax({ type: "POST", url: del_url, data: { ids, }, dataType: "json", beforeSend: function () { submitButton.html($savingLoader).attr("disabled", true); }, success: function (res) { submitButton.html(originalButtonText).attr("disabled", false); window.sessionStorage.hasPreviousMessage = true; window.sessionStorage.previousMessage = res.message ?? null; res.redirect && (location.href = res.redirect); }, error: function (xhr) { submitButton.html(originalButtonText).attr("disabled", false); Notify("error", xhr); }, }); }); }); /** system setting start */ // Initial label text var initialLabelText = $("#mail-driver-type-select option:selected").val(); $("#mail-driver-type-select").on("change", function () { var selectedOptionValue = $(this).val(); $("#mail-driver-label").text(selectedOptionValue); }); $("#mail-driver-label").text(initialLabelText); /** system setting end */ /** filter all from start */ $(".filter-form").on("input", function (e) { e.preventDefault(); var table = $(this).attr("table"); $.ajax({ type: "POST", url: $(this).attr("action"), data: new FormData(this), dataType: "json", contentType: false, cache: false, processData: false, success: function (res) { $(table).html(res.data); }, }); }); /** filter all from end */ //Subscriber view modal $(".subscriber-view").on("click", function () { $(".business_name").text($(this).data("name")); $("#image").attr("src", $(this).data("image")); $("#category").text($(this).data("category")); $("#package").text($(this).data("package")); $("#gateway").text($(this).data("gateway")); $("#enroll_date").text($(this).data("enroll")); $("#expired_date").text($(this).data("expired")); var gateway_img = $(this).data("manul-attachment"); if (gateway_img) { var img = new Image(); img.onload = function () { $("#manual_img").removeClass('d-none'); $("#manul_attachment").attr("src", gateway_img); }; img.onerror = function () { $("#manual_img").addClass('d-none'); }; img.src = gateway_img; } else { $("#manual_img").addClass('d-none'); } }); $('.subscribe-plan').on('click', function(e) { $('#createFreeAccount').modal('show'); $('#plan_id').val($(this).data('plan-id')); $('.google-login').attr('href', $(this).data('google-url')); $('.x-login').attr('href', $(this).data('x-url')); })
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.81 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002