Index: trunk/core/kernel/utility/formatters/date_formatter.php =================================================================== diff -u -r7902 -r7920 --- trunk/core/kernel/utility/formatters/date_formatter.php (.../date_formatter.php) (revision 7902) +++ trunk/core/kernel/utility/formatters/date_formatter.php (.../date_formatter.php) (revision 7920) @@ -25,6 +25,11 @@ function SetMixedFormat(&$field_options, &$format, $type) { if (!isset($field_options[$type])) { + // default value is date+sepatator+time + $field_options[$type] = '_regional_DateTimeFormat'; + } + + if ($field_options[$type] == '_regional_DateTimeFormat') { $field_options[$type] = $format['date'].$field_options['date_time_separator'].$format['time']; } else if(preg_match('/_regional_(.*)/', $field_options[$type], $regs)) { @@ -57,12 +62,21 @@ return Array ($display_format, $input_format); } else { - $format = getArrayValue($field_options, $type.'_format'); - if ($format === false) { + // 1. set display format + if (isset($field_options[$type.'_format'])) { + $format = $field_options[$type.'_format']; + } + else { $format = $this->language->GetDBField(ucfirst($type).'Format'); } - $input_format = $this->language->GetDBField('Input'.ucfirst($type).'Format'); + // 2. set input format + if (isset($field_options['input_'.$type.'_format'])) { + $input_format = $field_options['input_'.$type.'_format']; + } + else { + $input_format = $this->language->GetDBField('Input'.ucfirst($type).'Format'); + } return Array ($format, $input_format); } @@ -75,12 +89,14 @@ $field_options['sub_fields'] = Array('date' => $field_name.'_date', 'time' => $field_name.'_time'); $add_fields = Array(); - + + // 1. add DATE virtual field $opts = Array('master_field' => $field_name, 'formatter'=>'kDateFormatter', 'format' => $display_format['date'], 'input_format' => $input_format['date']); if ( isset($field_options['default']) ) $opts['default'] = $field_options['default']; if ( isset($field_options['required']) ) $opts['required'] = $field_options['required']; - $add_fields[$field_name.'_date'] = $opts; + + // 2. add TIME virtual field $opts['format'] = $display_format['time']; $opts['input_format'] = $input_format['time']; $add_fields[$field_name.'_time'] = $opts;