<?php
/**
* Entier Studio
*
* LICENSE
*
* Copyright 2006 Entier Studio team.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* @package entier.framework
* @copyright Copyright (c) 2006 Entier Studio team. All rights reserved.
* @version $Id: validator.hostname.php 81 2008-01-17 23:08:21Z yannromefort $
*/
//-----------------------------------------------------------------------------
// namespace
if (!defined("DefValidatorHostName")) {
//-------------------------------------------------------------------------
// Define
define("DefValidatorHostName", "1");
//
//-------------------------------------------------------------------------
// Class
class ValidatorHostName {
//---------------------------------------------------------------------
// Constructor
/*
*
*/
function ValidatorHostName() {
}
//---------------------------------------------------------------------
// Methods
/**
* @param string
* @return boolean
*/
function isValidLocalHost($value) {
//
return ($value == "localhost");
}
/**
* @param string
* @return boolean
*/
function isValidLocalName($value) {
//
return (preg_match('/^(([a-zA-Z0-9\x2d]{1,63}\x2e)*[a-zA-Z0-9\x2d]{1,63}){1,254}$/', $value));
}
/**
* @param string
* @return boolean
*/
function isValidIPAddress($value) {
//
return (@ip2long($valueString));
}
/**
* @param string
* @return boolean
*/
function isValidDomainName($value) {
//
return (@preg_match('/^(?:[^\W_](?:[^\W_]|-){0,61}[^\W_]\.)+[a-zA-Z]{2,6}\.?$/', $value));
}
/**
* @param string
* @return boolean
*/
function isValid($value) {
//
if (ValidatorHostName::isValidDomainName($value) == false) {
//
if (ValidatorHostName::isValidIPAddress($value) == false) {
return (ValidatorHostName::isValidLocalHost($value));
}
}
//
return (true);
}
};
// Class
//-------------------------------------------------------------------------
}
// namespace
//-----------------------------------------------------------------------------
?>