tmgmt_file.plugin.inc 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /**
  3. * @file
  4. * Provides the file translator plugin controller.
  5. */
  6. /**
  7. * File translator plugin controller.
  8. */
  9. class TMGMTFileTranslatorPluginController extends TMGMTDefaultTranslatorPluginController {
  10. /**
  11. * {@inheritdoc}
  12. */
  13. public function canTranslate(TMGMTTranslator $translator, TMGMTJob $job) {
  14. // Anything can be exported.
  15. return TRUE;
  16. }
  17. /**
  18. * {@inheritdoc}
  19. */
  20. public function requestTranslation(TMGMTJob $job) {
  21. $name = "JobID" . $job->tjid . '_' . $job->source_language . '_' . $job->target_language;
  22. $export = tmgmt_file_format_controller($job->getSetting('export_format'));
  23. $path = $job->getSetting('scheme') . '://tmgmt_file/' . $name . '.' . $job->getSetting('export_format');
  24. $dirname = dirname($path);
  25. if (file_prepare_directory($dirname, FILE_CREATE_DIRECTORY)) {
  26. $file = file_save_data($export->export($job), $path);
  27. file_usage_add($file, 'tmgmt_file', 'tmgmt_job', $job->tjid);
  28. $job->submitted('Exported file can be downloaded <a href="!link">here</a>.', array('!link' => file_create_url($file->uri)));
  29. }
  30. }
  31. /**
  32. * {@inheritdoc}
  33. */
  34. public function hasCheckoutSettings(TMGMTJob $job) {
  35. return $job->getTranslator()->getSetting('allow_override');
  36. }
  37. /**
  38. * {@inheritdoc}
  39. */
  40. public function defaultSettings() {
  41. return array(
  42. 'export_format' => 'xlf',
  43. 'allow_override' => TRUE,
  44. 'scheme' => 'public',
  45. // Making this setting TRUE by default is more appropriate, however we
  46. // need to make it FALSE due to backwards compatibility.
  47. 'xliff_processing' => FALSE,
  48. 'xliff_cdata' => FALSE,
  49. );
  50. }
  51. }