GetFieldOptions($field_name); if ( isset($format) ) $options['format'] = $format; if( !isset($options['options'][$value]) ) { // required option is not defined in config => query for it $db =& $this->Application->GetADODBConnection(); $sql = sprintf($options['left_sql'],$options['left_title_field'],$options['left_key_field'],$value); $options['options'][$value] = $db->GetOne($sql); if ($options['options'][$value] === false) return $value; } return $options['options'][$value]; } //function Parse($value, $options, &$errors) function Parse($value, $field_name, &$object) { if ($value == '') return NULL; $options = $object->GetFieldOptions($field_name); if( !array_search($value,$options['options']) ) { // required option is not defined in config => query for it $db =& $this->Application->GetADODBConnection(); $sql = sprintf($options['left_sql'],$options['left_key_field'],$options['left_title_field'],$value); $found = $db->GetOne($sql); if($found !== false) $options['options'][$found] = $value; } else { $found = array_search($value,$options['options']); } if($found === false) $found = $options['default']; return $found; } }