Index: trunk/core/kernel/db/db_tag_processor.php =================================================================== diff -u -r3373 -r3597 --- trunk/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 3373) +++ trunk/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 3597) @@ -672,6 +672,26 @@ return $o; } + function PredefinedSearchOptions($params) + { + $object =& $this->getObject($params); + $field = $params['field']; + $saved_value = $object->GetDBField($field); + + $custom_filters = $this->Application->RecallVar( $this->getPrefixSpecial().'_custom_filters'); + if ($custom_filters) { + $custom_filters = unserialize($custom_filters); + $append = getArrayValue($params, 'type') ? '_'.$params['type'] : ''; + $object->SetDBField($field, $custom_filters[$field.$append]); + } + else { + $object->SetDBField($field, ''); + } + $ret = $this->PredefinedOptions($params); + $object->SetDBField($field, $saved_value); + return $ret; + } + function Format($params) { $field = $params['field']; @@ -1332,7 +1352,9 @@ function SearchInputName($params) { $field = $this->SelectParam($params, 'field,name'); - return 'custom_filters['.$this->getPrefixSpecial().']['.$field.'_'.$params['type'].']'; + $append = getArrayValue($params, 'type') ? '_'.$params['type'] : ''; + + return 'custom_filters['.$this->getPrefixSpecial().']['.$field.$append.']'; } /**