File manager - Edit - /usr/local/cpanel/whostmgr/docroot/templates/mysqlhost/directives/mysqlhost_domain_validators.js
Back
/* # templates/mysqlhost/directives/mysqlhost_domain_validators.js Copyright(c) 2020 cPanel, L.L.C. # All rights reserved. # copyright@cpanel.net http://cpanel.net # This code is subject to the cPanel license. Unauthorized copying is prohibited */ /* --------------------------*/ /* DEFINE GLOBALS FOR LINT /*--------------------------*/ /* global define: false */ /* --------------------------*/ define([ "angular", "cjt/validator/validator-utils", "cjt/util/locale", "cjt/util/inet6", "cjt/validator/domain-validators", "cjt/validator/validateDirectiveFactory", ], function(angular, validationUtils, LOCALE, inet6, DOMAIN_VALIDATORS) { // Correlate with $Cpanel::Regex::regex{'ipv4'} var ipV4Regex = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/; /** * Validate document root * * @method docRootPath * @param {string} document root path * @return {object} validation result */ var validators = { hostnameOrIp: function(val) { var result = validationUtils.initializeValidationResult(); var isValid = false; if (_isLoopback(val)) { isValid = true; } else if (_isValidIp(val)) { isValid = true; } else { var output = DOMAIN_VALIDATORS.methods.fqdn(val); isValid = output.isValid; // grab messages from the other validator to this one if (!isValid) { for (var i = 0, len = output.messages.length; i < len; i++) { result.add(output.messages[i].name, output.messages[i].message); } } } if (!isValid) { result.isValid = false; result.add("hostnameOrIp", LOCALE.maketext("The host must be a valid [asis,IP] address or [asis,hostname].")); } return result; }, loopback: function(val) { var result = validationUtils.initializeValidationResult(); if (_isLoopback(val)) { result.isValid = true; } else { result.isValid = false; result.add("localhost", LOCALE.maketext("The value must be a valid [asis,loopback] address.")); } return result; } }; function _isLoopback(ipOrHost) { switch (ipOrHost) { case "localhost": case "localhost.localdomain": case "0000:0000:0000:0000:0000:0000:0000:0001": case "0:0:0:0:0:0:0:1": case ":1": case "::1": case "0:0:0:0": case "0000:0000:0000:0000:0000:0000:0000:0000": return true; default: if (/^0000:0000:0000:0000:0000:ffff:7f/.test(ipOrHost) || /^::ffff:127\./.test(ipOrHost) || /^127\./.test(ipOrHost)) { return true; } } return false; } /* hosts, domains and ip addresses */ function _isValidIp(ipOrHost) { return inet6.isValid(ipOrHost) || ipV4Regex.test(ipOrHost); } var validatorModule = angular.module("cjt2.validate"); validatorModule.run(["validatorFactory", function(validatorFactory) { validatorFactory.generate(validators); } ]); return { methods: validators, name: "mysqlhostDomainValidators", description: "Validation directives for ip address and hostname.", version: 11.52, }; } );
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.03 |
proxy
|
phpinfo
|
Settings