Index: branches/5.2.x/core/units/languages/languages_event_handler.php =================================================================== diff -u -N -r15111 -r15116 --- branches/5.2.x/core/units/languages/languages_event_handler.php (.../languages_event_handler.php) (revision 15111) +++ branches/5.2.x/core/units/languages/languages_event_handler.php (.../languages_event_handler.php) (revision 15116) @@ -1,6 +1,6 @@ Application->CheckPermission('SYSTEM_ACCESS.READONLY', 1)) { + if ( $this->Application->CheckPermission('SYSTEM_ACCESS.READONLY', 1) ) { $event->status = kEvent::erFAIL; return; } - $this->Application->setUnitOption('phrases','AutoLoad',false); + $this->Application->setUnitOption('phrases', 'AutoLoad', false); $this->StoreSelectedIDs($event); - $this->Application->StoreVar('export_language_ids', implode(',', $this->getSelectedIDs($event)) ); + $this->Application->StoreVar('export_language_ids', implode(',', $this->getSelectedIDs($event))); - $event->setRedirectParams( Array('phrases.export_event' => 'OnNew', 'pass' => 'all,phrases.export') ); + $event->setRedirectParams( + Array ( + 'phrases.export_event' => 'OnNew', + 'pass' => 'all,phrases.export', + 'export_mode' => $event->Prefix, + ) + ); } /** @@ -505,32 +511,32 @@ function OnExportProgress(&$event) { $items_info = $this->Application->GetVar('phrases_export'); - if ($items_info) { + if ( $items_info ) { list($id, $field_values) = each($items_info); - $object =& $this->Application->recallObject('phrases.export', null, Array('skip_autoload' => true)); + $object =& $this->Application->recallObject('phrases.export', null, Array ('skip_autoload' => true)); /* @var $object kDBItem */ $object->setID($id); $object->SetFieldsFromHash($field_values, $this->getRequestProtectedFields($field_values)); - if (!$object->Validate()) { + if ( !$object->Validate() ) { $event->status = kEvent::erFAIL; - return ; + return; } $file_helper =& $this->Application->recallObject('FileHelper'); /* @var $file_helper FileHelper */ $file_helper->CheckFolder(EXPORT_PATH); - if (!is_writable(EXPORT_PATH)) { + if ( !is_writable(EXPORT_PATH) ) { $event->status = kEvent::erFAIL; $object->SetError('LangFile', 'write_error', 'la_ExportFolderNotWritable'); - return ; + return; } - if ( substr($field_values['LangFile'], -5) != '.lang') { + if ( substr($field_values['LangFile'], -5) != '.lang' ) { $field_values['LangFile'] .= '.lang'; } @@ -539,15 +545,23 @@ $language_import_helper =& $this->Application->recallObject('LanguageImportHelper'); /* @var $language_import_helper LanguageImportHelper */ - if ($object->GetDBField('DoNotEncode')) { + if ( $object->GetDBField('DoNotEncode') ) { $language_import_helper->setExportEncoding('plain'); } - $language_import_helper->setExportLimits($field_values['ExportPhrases'], $field_values['ExportEmailEvents']); + $export_mode = $this->Application->GetVar('export_mode'); - $lang_ids = explode(',', $this->Application->RecallVar('export_language_ids') ); - $language_import_helper->performExport($filename, $field_values['PhraseType'], $lang_ids, $field_values['Module']); + if ( $export_mode == $event->Prefix ) { + $language_import_helper->setExportLimit('phrases', $field_values['ExportPhrases']); + $language_import_helper->setExportLimit('emailevents', $field_values['ExportEmailEvents']); + } + else { + $language_import_helper->setExportLimit($export_mode); + $language_import_helper->setExportLimit($export_mode == 'phrases' ? 'emailevents' : 'phrases', '-'); + } + $lang_ids = explode(',', $this->Application->RecallVar('export_language_ids')); + $language_import_helper->performExport($filename, $field_values['PhraseType'], $lang_ids, $field_values['Module']); } $event->redirect = 'regional/languages_export_step2';