Пример #1
0
 /**
  * Filters field values.
  *
  * @since Method available since Release 0.3.0
  */
 function _filter()
 {
     foreach ($this->_config->getFieldNames() as $fieldName) {
         $value = call_user_func($this->_fieldValuesCallback, $fieldName);
         $filters = $this->_config->getFilters($fieldName);
         foreach ($filters as $filterName) {
             if (!function_exists($filterName)) {
                 $filter =& Piece_Right_Filter_Factory::factory($filterName);
                 if (Piece_Right_Error::hasErrors()) {
                     return;
                 }
                 $this->_currentFilter = array(&$filter, 'filter');
                 if (method_exists($filter, 'isArrayable')) {
                     $this->_currentFilterIsArrayable = $filter->isArrayable();
                 } else {
                     $this->_currentFilterIsArrayable = false;
                 }
                 $value = $this->_invokeFilter($value);
             } else {
                 $this->_currentFilter = $filterName;
                 $this->_currentFilterIsArrayable = false;
                 $value = $this->_invokeFilter($value);
             }
         }
         $this->_results->setFieldValue($fieldName, $value);
     }
 }
 function testFilterPrefixes()
 {
     $oldFilterPrefixes = $GLOBALS['PIECE_RIGHT_Filter_Prefixes'];
     $oldFilterDirectories = $GLOBALS['PIECE_RIGHT_Filter_Directories'];
     $config =& new Piece_Unity_Config();
     $config->setConfiguration('KernelConfigurator', 'validationFilterPrefixes', array('KernelConfiguratorTestCaseAlias'));
     $config->setConfiguration('KernelConfigurator', 'validationFilterDirectories', array(dirname(__FILE__) . '/KernelConfiguratorTestCase'));
     $context =& Piece_Unity_Context::singleton();
     $context->setConfiguration($config);
     $configurator =& new Piece_Unity_Plugin_KernelConfigurator();
     $configurator->invoke();
     $foo =& Piece_Right_Filter_Factory::factory('FooFilter');
     $this->assertTrue(is_object($foo));
     $this->assertTrue(is_a($foo, 'KernelConfiguratorTestCaseAlias_FooFilter'));
     Piece_Right_Filter_Factory::clearInstances();
     $GLOBALS['PIECE_RIGHT_Filter_Directories'] = $oldFilterDirectories;
     $GLOBALS['PIECE_RIGHT_Filter_Prefixes'] = $oldFilterPrefixes;
 }