Index: trunk/core/units/languages/import_xml.php =================================================================== diff -u -N -r1649 -r1777 --- trunk/core/units/languages/import_xml.php (.../import_xml.php) (revision 1649) +++ trunk/core/units/languages/import_xml.php (.../import_xml.php) (revision 1777) @@ -159,17 +159,27 @@ kTempTablesHandler::GetLiveName($this->lang_object->TableName), $this->Conn->qstr($this->current_language['PackName']) ); $language_id = $this->Conn->GetOne($sql); - if($language_id) $this->current_language['LanguageId'] = $language_id; + if($language_id) + { + $this->current_language['LanguageId'] = $language_id; + $this->lang_object->Load($language_id); + } break; case 'LANGUAGES LANGUAGE PHRASES': case 'LANGUAGES LANGUAGE EVENTS': + if( !getArrayValue($this->current_language,'Charset') ) $this->current_language['Charset'] = 'iso-8859-1'; + $this->lang_object->SetFieldsFromHash($this->current_language); + if( !getArrayValue($this->current_language,'LanguageId') ) { - if( !getArrayValue($this->current_language,'Charset') ) $this->current_language['Charset'] = 'iso-8859-1'; - $this->lang_object->SetFieldsFromHash($this->current_language); if( $this->lang_object->Create() ) $this->current_language['LanguageId'] = $this->lang_object->GetID(); } + elseif($this->import_mode == LANG_OVERWRITE_EXISTING) + { + $this->lang_object->TableName = $this->Application->getUnitOption($this->lang_object->Prefix, 'TableName'); + $this->lang_object->Update(); + } break; case 'LANGUAGES LANGUAGE PHRASES PHRASE': @@ -203,14 +213,15 @@ $path = join (' ',$this->path); - $language_nodes = Array('DATEFORMAT','TIMEFORMAT','DECIMAL','THOUSANDS','CHARSET'); + $language_nodes = Array('DATEFORMAT','TIMEFORMAT','DECIMAL','THOUSANDS','CHARSET','UNITSYSTEM'); $node_field_map = Array('LANGUAGES LANGUAGE DATEFORMAT' => 'DateFormat', 'LANGUAGES LANGUAGE TIMEFORMAT' => 'TimeFormat', 'LANGUAGES LANGUAGE DECIMAL' => 'DecimalPoint', 'LANGUAGES LANGUAGE THOUSANDS' => 'ThousandSep', - 'LANGUAGES LANGUAGE CHARSET' => 'Charset'); + 'LANGUAGES LANGUAGE CHARSET' => 'Charset', + 'LANGUAGES LANGUAGE UNITSYSTEM' => 'UnitSystem'); if( in_array( end($this->path), $language_nodes) ) { @@ -292,7 +303,8 @@ $row = $this->Conn->GetRow( sprintf($sql, $lang_table, $language_id) ); $ret .= "\t".''.$row['DateFormat'].''; $ret .= ''.$row['TimeFormat'].''.$row['DecimalPoint'].''; - $ret .= ''.$row['ThousandSep'].''.$row['Charset'].''."\n"; + $ret .= ''.$row['ThousandSep'].''.$row['Charset'].''; + $ret .= ''.$row['UnitSystem'].''."\n"; // phrases $ret .= "\t\t".''."\n"; Index: trunk/kernel/units/languages/import_xml.php =================================================================== diff -u -N -r1649 -r1777 --- trunk/kernel/units/languages/import_xml.php (.../import_xml.php) (revision 1649) +++ trunk/kernel/units/languages/import_xml.php (.../import_xml.php) (revision 1777) @@ -159,17 +159,27 @@ kTempTablesHandler::GetLiveName($this->lang_object->TableName), $this->Conn->qstr($this->current_language['PackName']) ); $language_id = $this->Conn->GetOne($sql); - if($language_id) $this->current_language['LanguageId'] = $language_id; + if($language_id) + { + $this->current_language['LanguageId'] = $language_id; + $this->lang_object->Load($language_id); + } break; case 'LANGUAGES LANGUAGE PHRASES': case 'LANGUAGES LANGUAGE EVENTS': + if( !getArrayValue($this->current_language,'Charset') ) $this->current_language['Charset'] = 'iso-8859-1'; + $this->lang_object->SetFieldsFromHash($this->current_language); + if( !getArrayValue($this->current_language,'LanguageId') ) { - if( !getArrayValue($this->current_language,'Charset') ) $this->current_language['Charset'] = 'iso-8859-1'; - $this->lang_object->SetFieldsFromHash($this->current_language); if( $this->lang_object->Create() ) $this->current_language['LanguageId'] = $this->lang_object->GetID(); } + elseif($this->import_mode == LANG_OVERWRITE_EXISTING) + { + $this->lang_object->TableName = $this->Application->getUnitOption($this->lang_object->Prefix, 'TableName'); + $this->lang_object->Update(); + } break; case 'LANGUAGES LANGUAGE PHRASES PHRASE': @@ -203,14 +213,15 @@ $path = join (' ',$this->path); - $language_nodes = Array('DATEFORMAT','TIMEFORMAT','DECIMAL','THOUSANDS','CHARSET'); + $language_nodes = Array('DATEFORMAT','TIMEFORMAT','DECIMAL','THOUSANDS','CHARSET','UNITSYSTEM'); $node_field_map = Array('LANGUAGES LANGUAGE DATEFORMAT' => 'DateFormat', 'LANGUAGES LANGUAGE TIMEFORMAT' => 'TimeFormat', 'LANGUAGES LANGUAGE DECIMAL' => 'DecimalPoint', 'LANGUAGES LANGUAGE THOUSANDS' => 'ThousandSep', - 'LANGUAGES LANGUAGE CHARSET' => 'Charset'); + 'LANGUAGES LANGUAGE CHARSET' => 'Charset', + 'LANGUAGES LANGUAGE UNITSYSTEM' => 'UnitSystem'); if( in_array( end($this->path), $language_nodes) ) { @@ -292,7 +303,8 @@ $row = $this->Conn->GetRow( sprintf($sql, $lang_table, $language_id) ); $ret .= "\t".''.$row['DateFormat'].''; $ret .= ''.$row['TimeFormat'].''.$row['DecimalPoint'].''; - $ret .= ''.$row['ThousandSep'].''.$row['Charset'].''."\n"; + $ret .= ''.$row['ThousandSep'].''.$row['Charset'].''; + $ret .= ''.$row['UnitSystem'].''."\n"; // phrases $ret .= "\t\t".''."\n"; Index: trunk/kernel/units/languages/languages_event_handler.php =================================================================== diff -u -N -r1641 -r1777 --- trunk/kernel/units/languages/languages_event_handler.php (.../languages_event_handler.php) (revision 1641) +++ trunk/kernel/units/languages/languages_event_handler.php (.../languages_event_handler.php) (revision 1777) @@ -155,7 +155,7 @@ { $modules = getArrayValue($field_values,'Module'); $lang_xml =& $this->Application->recallObject('LangXML'); - $lang_xml->Parse($filename, $field_values['PhraseType'], $modules); + $lang_xml->Parse($filename, $field_values['PhraseType'], $modules, $field_values['ImportOverwrite']); $event->redirect = 'dummy'; $event->SetRedirectParams( Array('lang_event' => 'OnImportProgress', 'pass' => 'all,lang', 'mode'=>$field_values['ImportOverwrite']) ); Index: trunk/core/units/languages/languages_event_handler.php =================================================================== diff -u -N -r1641 -r1777 --- trunk/core/units/languages/languages_event_handler.php (.../languages_event_handler.php) (revision 1641) +++ trunk/core/units/languages/languages_event_handler.php (.../languages_event_handler.php) (revision 1777) @@ -155,7 +155,7 @@ { $modules = getArrayValue($field_values,'Module'); $lang_xml =& $this->Application->recallObject('LangXML'); - $lang_xml->Parse($filename, $field_values['PhraseType'], $modules); + $lang_xml->Parse($filename, $field_values['PhraseType'], $modules, $field_values['ImportOverwrite']); $event->redirect = 'dummy'; $event->SetRedirectParams( Array('lang_event' => 'OnImportProgress', 'pass' => 'all,lang', 'mode'=>$field_values['ImportOverwrite']) );