Location: PHPKode > projects > Entier Studio > entierstudio/framework/validators/validator.locator.php
<?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
//-----------------------------------------------------------------------------
?>
Return current item: Entier Studio