latham
2011-05-25 f99b37f56dad8e3a1f844f8d3b33ee1ba4b86d62
interface/lib/classes/tform.inc.php
@@ -145,7 +145,7 @@
                }
            if(is_array($wb_global)) {
               $wb = $wb_global + $wb;
               $wb = $app->functions->array_merge($wb_global,$wb);
            }
            if(isset($wb_global)) unset($wb_global);
            
@@ -163,7 +163,8 @@
        * @return record
        */
        function decode($record,$tab) {
                if(!is_array($this->formDef['tabs'][$tab])) $app->error("Tab does not exist or the tab is empty (TAB: $tab).");
                global $conf, $app;
            if(!is_array($this->formDef['tabs'][$tab])) $app->error("Tab does not exist or the tab is empty (TAB: $tab).");
                $new_record = '';
            if(is_array($record)) {
                        foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) {
@@ -198,7 +199,7 @@
                                break;
                                case 'CURRENCY':
                                        $new_record[$key] = number_format((double)$record[$key], 2, ',', '');
                                        $new_record[$key] = $app->functions->currency_format($record[$key]);
                                break;
                                default:
@@ -363,7 +364,7 @@
                                        if(isset($field['datasource']) && is_array($field['datasource'])) {
                                    if(is_array($field["value"])) {
                                       //$field["value"] = array_merge($field["value"],$this->getDatasourceData($field, $record));
                                       $field["value"] = $field["value"]+$this->getDatasourceData($field, $record);
                                       $field["value"] = $app->functions->array_merge($field["value"],$this->getDatasourceData($field, $record));
                                    } else {
                                                   $field["value"] = $this->getDatasourceData($field, $record);
                                    }
@@ -432,7 +433,7 @@
                                                                        if(trim($tvl) == trim($k)) $checked = ' CHECKED';
                                                                }
                                                                // $out .= "<label for=\"".$key."[]\" class=\"inlineLabel\"><input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"checkbox\" $checked /> $v</label>\r\n";
                                                $out .= "<input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"checkbox\" $checked /> $v &nbsp;\r\n";
                                                $out .= "<input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"checkbox\" $checked /> $v <br/>\r\n";
                                                        }
                                                }
                                                $new_record[$key] = $out;
@@ -478,7 +479,7 @@
                                // If Datasource is set, get the data from there
                                if(@is_array($field['datasource'])) {
                                   if(is_array($field["value"])) {
                              $field["value"] = array_merge($field["value"],$this->getDatasourceData($field, $record));
                              $field["value"] = $app->functions->array_merge($field["value"],$this->getDatasourceData($field, $record));
                           } else {
                                       $field["value"] = $this->getDatasourceData($field, $record);
                           }
@@ -623,11 +624,18 @@
                                break;
                        case 'DATE':
                                        if($record[$key] != '' && $record[$key] != '0000-00-00') {
                                    $date_parts = date_parse_from_format($this->dateformat,$record[$key]);
                                    //list($tag,$monat,$jahr) = explode('.',$record[$key]);
                                                $new_record[$key] = $date_parts['year'].'-'.$date_parts['month'].'-'.$date_parts['day'];
                                    //$tmp = strptime($record[$key],$this->dateformat);
                                    //$new_record[$key] = ($tmp['tm_year']+1900).'-'.($tmp['tm_mon']+1).'-'.$tmp['tm_mday'];
                                    if(function_exists('date_parse_from_format')) {
                                       $date_parts = date_parse_from_format($this->dateformat,$record[$key]);
                                       //list($tag,$monat,$jahr) = explode('.',$record[$key]);
                                       $new_record[$key] = $date_parts['year'].'-'.$date_parts['month'].'-'.$date_parts['day'];
                                       //$tmp = strptime($record[$key],$this->dateformat);
                                       //$new_record[$key] = ($tmp['tm_year']+1900).'-'.($tmp['tm_mon']+1).'-'.$tmp['tm_mday'];
                                    } else {
                                       //$tmp = strptime($record[$key],$this->dateformat);
                                       //$new_record[$key] = ($tmp['tm_year']+1900).'-'.($tmp['tm_mon']+1).'-'.$tmp['tm_mday'];
                                       $tmp = strtotime($record[$key]);
                                       $new_record[$key] = date('Y-m-d',$tmp);
                                    }
                                        } else {
                                 $new_record[$key] = '0000-00-00';
                              }