Index: branches/5.2.x/core/kernel/db/db_tag_processor.php =================================================================== diff -u -N -r14865 -r14870 --- branches/5.2.x/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 14865) +++ branches/5.2.x/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 14870) @@ -1,6 +1,6 @@ PredefinedOptions($params); } - function Format($params) + function Format($params, $object = null) { $field = $this->SelectParam($params, 'name,field'); - $object =& $this->getObject($params); - $options = $object->GetFieldOptions($field); + if ( !isset($object) ) { + $object =& $this->getObject($params); + /* @var $object kDBItem */ + } + + $options = $object->GetFieldOptions($field); $format = $options[$this->SelectParam($params, 'input_format') ? 'input_format' : 'format']; $formatter_class = array_key_exists('formatter', $options) ? $options['formatter'] : false; @@ -2317,31 +2321,9 @@ function SearchFormat($params) { - $field = $params['field']; $object =& $this->GetList($params); - $options = $object->GetFieldOptions($field); - $format = $options[ $this->SelectParam($params, 'input_format') ? 'input_format' : 'format' ]; - $formatter_class = array_key_exists('formatter', $options) ? $options['formatter'] : false; - - if ($formatter_class) { - $formatter =& $this->Application->recallObject($formatter_class); - /* @var $formatter kFormatter */ - - $human_format = array_key_exists('human', $params) ? $params['human'] : false; - $edit_size = array_key_exists('edit_size', $params) ? $params['edit_size'] : false; - $sample = array_key_exists('sample', $params) ? $params['sample'] : false; - - if ($sample) { - return $formatter->GetSample($field, $options, $object); - } - elseif ($human_format || $edit_size) { - $format = $formatter->HumanFormat($format); - return $edit_size ? strlen($format) : $format; - } - } - - return $format; + return $this->Format($params, $object); } /**