<?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.locator.php 121 2008-03-11 20:17:41Z yannromefort $
*/
//-----------------------------------------------------------------------------
// namespace
if (!defined("DefValidatorLocator")) {
//-------------------------------------------------------------------------
// Define
define("DefValidatorLocator", "1");
//
//-------------------------------------------------------------------------
// Class
class ValidatorLocator {
//---------------------------------------------------------------------
// Constructor
/*
*
*/
function ValidatorLocator() {
}
//---------------------------------------------------------------------
// Methods
/**
* @param string name="value"
* @param integer name="type"
* @return boolean
*/
function isValidGeneric($value,$type) {
// Find first occurrence of "$"
$value = @strstr($value, "$");
if (!empty($value)) {
// Split $value by "$"
$partList = @explode("$", $value);
$partName = "";
//
for ($i = 1;$i < @sizeof($partList);$i++) {
//
$partName = $partList[$i];
//
switch($type) {
case PATTERN_TYPE:
case FILE_TYPE:
// allowed patterns are $namespace, $name, $model, $identifier, $instancier
if (false == @preg_match('/^(namespace|name|model|identifier|instancier)/', $partName)) {
//
return (false);
}
//
break;
default:
// allowed patterns are $classpath, $basedir, $date
if (false == @preg_match('/^(classpath|basedir|date)/', $partName)) {
//
return (false);
}
//
break;
}
}
}
//
return (true);
}
/**
* @param string name="value"
* @param integer name="type"
* @return boolean
*/
function isValid($value,$type) {
//
return (ValidatorLocator::isValidGeneric($value,$type) && @preg_match('/^[^:*?\"<>|]+$/', $value));
}
};
// Class
//-------------------------------------------------------------------------
}
// namespace
//-----------------------------------------------------------------------------
?>