Index: trunk/core/kernel/utility/formatters/unit_formatter.php =================================================================== diff -u -N --- trunk/core/kernel/utility/formatters/unit_formatter.php (revision 8402) +++ trunk/core/kernel/utility/formatters/unit_formatter.php (revision 0) @@ -1,85 +0,0 @@ -Application->recallObject('lang.current'); - $add_fields = Array(); - $options_a = Array('type' => 'int','error_field' => $field_name,'master_field' => $field_name,'format' => '%d' ); - $options_b = Array('type' => 'double','error_field' => $field_name,'master_field' => $field_name,'format' => '%0.2f' ); - switch( $regional->GetDBField('UnitSystem') ) - { - case 2: // US/UK - $field_options_copy = $field_options; - unset($field_options_copy['min_value_exc']); - $add_fields[$field_name.'_a'] = array_merge_recursive2($field_options_copy, $options_a); - $add_fields[$field_name.'_b'] = array_merge_recursive2($field_options_copy, $options_b); - break; - default: - } - $add_fields = array_merge_recursive2($add_fields, $object->VirtualFields); - $object->setVirtualFields($add_fields); - } - } - - function UpdateMasterFields($field, $value, &$options, &$object) - { - if( !isset($options['master_field']) ) - { - if ($value == -1) return; // for infinity setting, otherwise infinity is incorrectly converted back to Kg - $regional =& $this->Application->recallObject('lang.current'); - switch( $regional->GetDBField('UnitSystem') ) - { - case 2: // US/UK - $major = $this->TypeCast($object->GetDBField($field.'_a'), $options); - $minor = $this->TypeCast($object->GetDBField($field.'_b'), $options); - if($major === '' && $minor === '') - { - $value = null; - } - elseif($major === null && $minor === null) - { - unset($object->Fields[$field]); - return; - } - else - { - $value = Pounds2Kg($major, $minor); - } - break; - default: - } - $object->SetDBField($field, $value); - } - } - - function UpdateSubFields($field, $value, &$options, &$object) - { - if( !isset($options['master_field']) ) - { - $regional =& $this->Application->recallObject('lang.current'); - switch( $regional->GetDBField('UnitSystem') ) - { - case 2: // US/UK - if($value === null) - { - $major = null; - $minor = null; - } - else - { - list($major,$minor) = Kg2Pounds($value); - /*$major = floor( $value / 0.5 ); - $minor = ($value - $major * 0.5) * 32;*/ - } - $object->SetDBField($field.'_a', $major); - $object->SetDBField($field.'_b', $minor); - break; - default: - } - } - } -} \ No newline at end of file