• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • Examples
  • File List

E:/E/GEAMP/www/openbiz/openbiz/others/Zend/Filter.php

00001 <?php
00025 require_once 'Zend/Filter/Interface.php';
00026 
00033 class Zend_Filter implements Zend_Filter_Interface
00034 {
00040     protected $_filters = array();
00041 
00047     protected static $_defaultNamespaces = array();
00048 
00055     public function addFilter(Zend_Filter_Interface $filter)
00056     {
00057         $this->_filters[] = $filter;
00058         return $this;
00059     }
00060 
00069     public function filter($value)
00070     {
00071         $valueFiltered = $value;
00072         foreach ($this->_filters as $filter) {
00073             $valueFiltered = $filter->filter($valueFiltered);
00074         }
00075         return $valueFiltered;
00076     }
00077 
00083     public static function getDefaultNamespaces()
00084     {
00085         return self::$_defaultNamespaces;
00086     }
00087 
00094     public static function setDefaultNamespaces($namespace)
00095     {
00096         if (!is_array($namespace)) {
00097             $namespace = array((string) $namespace);
00098         }
00099 
00100         self::$_defaultNamespaces = $namespace;
00101     }
00102 
00109     public static function addDefaultNamespaces($namespace)
00110     {
00111         if (!is_array($namespace)) {
00112             $namespace = array((string) $namespace);
00113         }
00114 
00115         self::$_defaultNamespaces = array_unique(array_merge(self::$_defaultNamespaces, $namespace));
00116     }
00117 
00123     public static function hasDefaultNamespaces()
00124     {
00125         return (!empty(self::$_defaultNamespaces));
00126     }
00127 
00139     public static function get($value, $classBaseName, array $args = array(), $namespaces = array())
00140     {
00141         trigger_error(
00142             'Zend_Filter::get() is deprecated as of 1.9.0; please update your code to utilize Zend_Filter::filterStatic()',
00143             E_USER_NOTICE
00144         );
00145 
00146         return self::filterStatic($value, $classBaseName, $args, $namespaces);
00147     }
00148 
00166     public static function filterStatic($value, $classBaseName, array $args = array(), $namespaces = array())
00167     {
00168         require_once 'Zend/Loader.php';
00169         $namespaces = array_merge((array) $namespaces, self::$_defaultNamespaces, array('Zend_Filter'));
00170         foreach ($namespaces as $namespace) {
00171             $className = $namespace . '_' . ucfirst($classBaseName);
00172             if (!class_exists($className)) {
00173                 try {
00174                     Zend_Loader::loadClass($className);
00175                 } catch (Zend_Exception $ze) {
00176                     continue;
00177                 }
00178             }
00179             $class = new ReflectionClass($className);
00180             if ($class->implementsInterface('Zend_Filter_Interface')) {
00181                 if ($class->hasMethod('__construct')) {
00182                     $object = $class->newInstanceArgs($args);
00183                 } else {
00184                     $object = $class->newInstance();
00185                 }
00186                 return $object->filter($value);
00187             }
00188         }
00189         require_once 'Zend/Filter/Exception.php';
00190         throw new Zend_Filter_Exception("Filter class not found from basename '$classBaseName'");
00191     }
00192 }

Generated on Thu Apr 19 2012 17:01:17 for openbiz by  doxygen 1.7.2