Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'libs/Zend/Validate.php')
-rw-r--r--libs/Zend/Validate.php90
1 files changed, 67 insertions, 23 deletions
diff --git a/libs/Zend/Validate.php b/libs/Zend/Validate.php
index cb87ba5120..f14eb671e7 100644
--- a/libs/Zend/Validate.php
+++ b/libs/Zend/Validate.php
@@ -14,20 +14,20 @@
*
* @category Zend
* @package Zend_Validate
- * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
- * @version $Id: Validate.php 16286 2009-06-25 15:11:37Z thomas $
+ * @version $Id: Validate.php 21340 2010-03-05 15:33:49Z thomas $
*/
/**
* @see Zend_Validate_Interface
*/
-require_once 'Zend/Validate/Interface.php';
+// require_once 'Zend/Validate/Interface.php';
/**
* @category Zend
* @package Zend_Validate
- * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Zend_Validate implements Zend_Validate_Interface
@@ -195,30 +195,52 @@ class Zend_Validate implements Zend_Validate_Interface
public static function is($value, $classBaseName, array $args = array(), $namespaces = array())
{
$namespaces = array_merge((array) $namespaces, self::$_defaultNamespaces, array('Zend_Validate'));
- foreach ($namespaces as $namespace) {
- $className = $namespace . '_' . ucfirst($classBaseName);
- try {
- if (!class_exists($className)) {
- require_once 'Zend/Loader.php';
- Zend_Loader::loadClass($className);
+ $className = ucfirst($classBaseName);
+ try {
+ if (!class_exists($className, false)) {
+ // require_once 'Zend/Loader.php';
+ foreach($namespaces as $namespace) {
+ $class = $namespace . '_' . $className;
+ $file = str_replace('_', DIRECTORY_SEPARATOR, $class) . '.php';
+ if (Zend_Loader::isReadable($file)) {
+ Zend_Loader::loadClass($class);
+ $className = $class;
+ break;
+ }
}
- $class = new ReflectionClass($className);
- if ($class->implementsInterface('Zend_Validate_Interface')) {
- if ($class->hasMethod('__construct')) {
+ }
+
+ $class = new ReflectionClass($className);
+ if ($class->implementsInterface('Zend_Validate_Interface')) {
+ if ($class->hasMethod('__construct')) {
+ $keys = array_keys($args);
+ $numeric = false;
+ foreach($keys as $key) {
+ if (is_numeric($key)) {
+ $numeric = true;
+ break;
+ }
+ }
+
+ if ($numeric) {
$object = $class->newInstanceArgs($args);
} else {
- $object = $class->newInstance();
+ $object = $class->newInstance($args);
}
- return $object->isValid($value);
+ } else {
+ $object = $class->newInstance();
}
- } catch (Zend_Validate_Exception $ze) {
- // if there is an exception while validating throw it
- throw $ze;
- } catch (Zend_Exception $ze) {
- // fallthrough and continue for missing validation classes
+
+ return $object->isValid($value);
}
+ } catch (Zend_Validate_Exception $ze) {
+ // if there is an exception while validating throw it
+ throw $ze;
+ } catch (Exception $e) {
+ // fallthrough and continue for missing validation classes
}
- require_once 'Zend/Validate/Exception.php';
+
+ // require_once 'Zend/Validate/Exception.php';
throw new Zend_Validate_Exception("Validate class not found from basename '$classBaseName'");
}
@@ -229,7 +251,7 @@ class Zend_Validate implements Zend_Validate_Interface
*/
public static function getMessageLength()
{
- require_once 'Zend/Validate/Abstract.php';
+ // require_once 'Zend/Validate/Abstract.php';
return Zend_Validate_Abstract::getMessageLength();
}
@@ -240,7 +262,29 @@ class Zend_Validate implements Zend_Validate_Interface
*/
public static function setMessageLength($length = -1)
{
- require_once 'Zend/Validate/Abstract.php';
+ // require_once 'Zend/Validate/Abstract.php';
Zend_Validate_Abstract::setMessageLength($length);
}
+
+ /**
+ * Returns the default translation object
+ *
+ * @return Zend_Translate_Adapter|null
+ */
+ public static function getDefaultTranslator($translator = null)
+ {
+ // require_once 'Zend/Validate/Abstract.php';
+ return Zend_Validate_Abstract::getDefaultTranslator();
+ }
+
+ /**
+ * Sets a default translation object for all validation objects
+ *
+ * @param Zend_Translate|Zend_Translate_Adapter|null $translator
+ */
+ public static function setDefaultTranslator($translator = null)
+ {
+ // require_once 'Zend/Validate/Abstract.php';
+ Zend_Validate_Abstract::setDefaultTranslator($translator);
+ }
}