Index: branches/5.1.x/core/units/languages/languages_event_handler.php =================================================================== diff -u -N -r13403 -r13453 --- branches/5.1.x/core/units/languages/languages_event_handler.php (.../languages_event_handler.php) (revision 13403) +++ branches/5.1.x/core/units/languages/languages_event_handler.php (.../languages_event_handler.php) (revision 13453) @@ -1,6 +1,6 @@ Application->GetVar('phrases_export'); - if($items_info) - { - list($id,$field_values) = each($items_info); - $object =& $this->Application->recallObject('phrases.export', 'phrases', Array('skip_autoload' => true) ); + if ($items_info) { + list($id, $field_values) = each($items_info); + $object =& $this->Application->recallObject('phrases.export', null, Array('skip_autoload' => true)); + /* @var $object kDBItem */ + + $object->setID($id); $object->SetFieldsFromHash($field_values); - $lang_ids = explode(',', $this->Application->RecallVar('export_language_ids') ); - - if( !getArrayValue($field_values,'LangFile') ) - { - $object->SetError('LangFile', 'required'); - $event->redirect = false; - return false; + if (!$object->Validate()) { + $event->status = erFAIL; + return ; } - if( !is_writable(EXPORT_PATH) ) - { + + if (!is_writable(EXPORT_PATH)) { + $event->status = erFAIL; $object->SetError('LangFile', 'write_error', 'la_ExportFolderNotWritable'); - $event->redirect = false; - return false; + + return ; } - if( substr($field_values['LangFile'], -5) != '.lang' ) $field_values['LangFile'] .= '.lang'; - $filename = EXPORT_PATH.'/'.$field_values['LangFile']; + if ( substr($field_values['LangFile'], -5) != '.lang') { + $field_values['LangFile'] .= '.lang'; + } + + $filename = EXPORT_PATH . '/' . $field_values['LangFile']; + $language_import_helper =& $this->Application->recallObject('LanguageImportHelper'); /* @var $language_import_helper LanguageImportHelper */ if ($object->GetDBField('DoNotEncode')) { $language_import_helper->setExportEncoding('plain'); } + $language_import_helper->setExportLimits($field_values['ExportPhrases'], $field_values['ExportEmailEvents']); + + $lang_ids = explode(',', $this->Application->RecallVar('export_language_ids') ); $language_import_helper->performExport($filename, $field_values['PhraseType'], $lang_ids, $field_values['Module']); }