File manager - Edit - /usr/local/cpanel/base/webmail/jupiter/_assets/webpros_logout_handler.js
Back
// Copyright 2026 WebPros International, LLC // All rights reserved. // copyright@cpanel.net http://cpanel.net // This code is subject to the cPanel license. Unauthorized copying is prohibited. /** * WebPros Logout Handler — Webmail only. * * For cPanel and WHM, the logout modal is handled natively inside the * cp-header-user-account-dropdown Stencil component. This script is * only needed for Webmail, which does not use Stencil web components. */ (function(root, factory) { "use strict"; if (typeof define === "function" && define.amd) { // AMD for testing define([], function() { return factory(root); }); } else { // Browser global factory(root); } }(typeof window !== "undefined" ? window : this, function(root) { "use strict"; let logoutTargetUrl = ""; let initialized = false; function showModal(backdrop, toggle) { return function(targetUrl) { logoutTargetUrl = targetUrl; if (toggle) { toggle.checked = false; } backdrop.style.display = ""; }; } function hideModal(backdrop) { return function() { backdrop.style.display = "none"; }; } function init() { if (!root.COMMON || root.COMMON.isWebprosAccount !== "1") { return; } if (initialized) { return; } const backdrop = document.getElementById("webpros-logout-modal-backdrop"); const toggle = document.getElementById("webpros-logout-toggle"); const confirmBtn = document.getElementById("webpros-logout-confirm"); const cancelBtn = document.getElementById("webpros-logout-cancel"); const btn = document.getElementById("lnkHeaderLogout"); if (!backdrop || !confirmBtn || !cancelBtn || !btn) { return; } initialized = true; const show = showModal(backdrop, toggle); const hide = hideModal(backdrop); btn.addEventListener("click", function(e) { e.preventDefault(); e.stopPropagation(); const link = btn.closest("a"); const targetUrl = btn.href || (link && link.href); if (targetUrl) { show(targetUrl); } }); confirmBtn.addEventListener("click", function() { let url = logoutTargetUrl; if (toggle && toggle.checked) { const separator = url.indexOf("?") !== -1 ? "&" : "?"; url += separator + "is_webpros_account=1"; } window.location.href = url; }); cancelBtn.addEventListener("click", hide); backdrop.addEventListener("click", function(e) { if (e.target === backdrop) { hide(); } }); } if (typeof define === "undefined" || !define.amd) { if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", init); } else { init(); } } // Export for testing return { init: init, _reset: function() { initialized = false; }, }; }));
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings