| Server IP : 104.21.37.246 / Your IP : 104.23.243.32 [ Web Server : Apache System : Linux cpanel01wh.bkk1.cloud.z.com 2.6.32-954.3.5.lve1.4.59.el6.x86_64 #1 SMP Thu Dec 6 05:11:00 EST 2018 x86_64 User : cp648411 ( 1354) PHP Version : 7.2.34 Disable Function : NONE Domains : 0 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/2388322/task/2388322/cwd/webmail/jupiter/libraries/cjt2/validator/ |
Upload File : |
/*
# path-validators.js Copyright(c) 2020 cPanel, L.L.C.
# All rights reserved.
# [email protected] http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
*/
/* --------------------------*/
/* DEFINE GLOBALS FOR LINT
/*--------------------------*/
/* global define: false */
/* --------------------------*/
/**
* This module has a collection of path validators
*
* @module path-validators
* @requires angular, lodash, validator-utils, validate, locale
*/
define([
"angular",
"lodash",
"cjt/validator/validator-utils",
"cjt/util/locale",
"cjt/validator/validateDirectiveFactory"
],
function(angular, _, validationUtils, LOCALE) {
var INVALID_PATH_CHARS = ["\\", "*", "|", "\"", "<", ">"];
var INVALID_PATH_REGEX = new RegExp("[" + _.escapeRegExp(INVALID_PATH_CHARS.join("")) + "]");
var MAX_PATH_LENGTH = 255;
/**
* Validate document root
*
* @method validPath
* @param {string} document root path
* @return {object} validation result
*/
var pathValidators = {
validPath: function(val) {
var result = validationUtils.initializeValidationResult();
if (val === null || typeof val === "undefined") {
result.isValid = false;
result.add("path", LOCALE.maketext("You must specify a valid path."));
return result;
}
if (INVALID_PATH_REGEX.test(val)) {
result.isValid = false;
result.add("path",
LOCALE.maketext("The path cannot contain the following characters: [join, ,_1]",
INVALID_PATH_CHARS));
return result;
}
var folderNames = val.split("/");
if (folderNames && folderNames.length > 0) {
for (var i = 0, len = folderNames.length; i < len; i++) {
var name = folderNames[i];
if (name.length > MAX_PATH_LENGTH) {
result.isValid = false;
result.add("path",
LOCALE.maketext("Folder name is long by [quant,_1,byte,bytes]. The maximum allowed length is [quant,_2,byte,bytes].",
name.length - MAX_PATH_LENGTH,
MAX_PATH_LENGTH));
return result;
}
if (name === "." || name === "..") {
result.isValid = false;
result.add("path",
LOCALE.maketext("You cannot use the [list_and,_1] directories.", [".", ".."]));
return result;
}
}
}
return result;
}
};
var validatorModule = angular.module("cjt2.validate");
validatorModule.run(["validatorFactory",
function(validatorFactory) {
validatorFactory.generate(pathValidators);
}
]);
return {
methods: pathValidators,
name: "path-validators",
description: "Validation library for paths.",
version: 2.0,
};
});