Index: branches/unlabeled/unlabeled-1.1.2/core/units/selectors/selectors_tag_processor.php =================================================================== diff -u -r1484 -r1487 --- branches/unlabeled/unlabeled-1.1.2/core/units/selectors/selectors_tag_processor.php (.../selectors_tag_processor.php) (revision 1484) +++ branches/unlabeled/unlabeled-1.1.2/core/units/selectors/selectors_tag_processor.php (.../selectors_tag_processor.php) (revision 1487) @@ -49,6 +49,41 @@ return $ret; } + function PredefinedOptions($params) + { + $field = $params['field']; + $object =& $this->Application->recallObject($this->getPrefixSpecial(),$this->Prefix, $params); + + $value = $object->GetDBField($field); + $subfield = getArrayValue($params,'subfield'); + if($subfield && $subfield != '$subfield') $value = $value[$subfield]; + + $value_field = getArrayValue($params,'value_field'); + if(!$value_field) $value_field = $field; + + $options = $object->GetFieldOptions($value_field); + + $block_params['name'] = $params['block']; + $block_params['field'] = $params['field']; + $block_params['pass_params'] = 'true'; + + $selected_param_name = $params['selected_param']; + if (!$selected_param_name) $selected_param_name = $params['selected']; + $selected = $params['selected']; + + $o = ''; + foreach ($options['options'] as $key => $val) { + $block_params['key'] = $key; + $block_params['option'] = $val; + $block_params['field_name'] = $this->InputName($params); + $block_params[$selected_param_name] = ( $key == $value ? ' '.$selected : ''); + $block_params['PrefixSpecial'] = $this->getPrefixSpecial(); + $o .= $this->Application->ParseBlock($block_params, 1); + } + + return $o; + } + } ?> \ No newline at end of file