Index: trunk/core/units/general/cat_dbitem_export.php =================================================================== diff -u -r3629 -r3642 --- trunk/core/units/general/cat_dbitem_export.php (.../cat_dbitem_export.php) (revision 3629) +++ trunk/core/units/general/cat_dbitem_export.php (.../cat_dbitem_export.php) (revision 3642) @@ -192,10 +192,19 @@ } else { $check_fields = $this->exportOptions['DuplicateCheckFields'] ? explode('|', substr($this->exportOptions['DuplicateCheckFields'], 1, -1)) : Array(); + $object =& $event->getObject(); + + $language_id = $this->Application->GetDefaultLanguageId(); foreach ($check_fields as $index => $check_field) { - // get field name from kMultilanguage formatter + foreach ($object->Fields as $field_name => $field_options) { + if ($field_name == 'l'.$language_id.'_'.$check_field) { + $check_fields[$index] = 'l'.$language_id.'_'.$check_field; + break; + } + } } } + $this->exportOptions['DuplicateCheckFields'] = $check_fields; if (!$check_fields) { $object->setError('CheckDuplicatesMethod', 'required'); @@ -563,7 +572,7 @@ $load_keys = Array($this->curItem->IDField => $this->curItem->GetID()); } else { - $key_fields = explode('|', substr($this->exportOptions['DuplicateCheckFields']) ); + $key_fields = $this->exportOptions['DuplicateCheckFields']; foreach ($key_fields as $key_field) { $load_keys[$key_field] = $this->curItem->GetDBField($key_field); } @@ -592,9 +601,12 @@ $tmp_item->SetDBFieldsFromHash($this->curItem->FieldValues); if( ($save_method == 'Update') && $resource_id ) { $tmp_item->SetDBField('ResourceId', $resource_id); + $tmp_item->setID($item_id); } - if (!$tmp_item->$save_method()) return false; + if (!$tmp_item->$save_method()) { + return false; + } if ( ($save_method == 'Create') && $this->exportOptions['ReplaceDuplicates'] ) { // map new id to old id