123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- <?php
- /**
- * @file
- * Please supply a file description.
- */
- /**
- * File translator plugin controller.
- */
- class TMGMTFileTranslatorUIController extends TMGMTDefaultTranslatorUIController {
- /**
- * {@inheritdoc}
- */
- public function pluginSettingsForm($form, &$form_state, TMGMTTranslator $translator, $busy = FALSE) {
- $form['export_format'] = array(
- '#type' => 'radios',
- '#title' => t('Export to'),
- '#options' => tmgmt_file_format_plugin_labels(),
- '#default_value' => $translator->getSetting('export_format'),
- '#description' => t('Please select the format you want to export data.'),
- );
- $form['xliff_cdata'] = array(
- '#type' => 'checkbox',
- '#title' => t('XLIFF CDATA'),
- '#description' => t('Check to use CDATA for import/export.'),
- '#default_value' => $translator->getSetting('xliff_cdata'),
- );
- $form['xliff_processing'] = array(
- '#type' => 'checkbox',
- '#title' => t('Extended XLIFF processing'),
- '#description' => t('Check to further process content semantics and mask HTML tags instead just escaping it.'),
- '#default_value' => $translator->getSetting('xliff_processing'),
- );
- $form['xliff_message'] = array(
- '#type' => 'item',
- '#markup' => t('By selecting CDATA option, XLIFF processing will be ignored.'),
- '#prefix' => '<div class="messages warning">',
- '#suffix' => '</div>',
- );
- $form['allow_override'] = array(
- '#type' => 'checkbox',
- '#title' => t('Allow to override the format per job'),
- '#default_value' => $translator->getSetting('allow_override'),
- );
- // Any visible, writeable wrapper can potentially be used for the files
- // directory, including a remote file system that integrates with a CDN.
- foreach (file_get_stream_wrappers(STREAM_WRAPPERS_WRITE_VISIBLE) as $scheme => $info) {
- $options[$scheme] = check_plain($info['description']);
- }
- if (!empty($options)) {
- $form['scheme'] = array(
- '#type' => 'radios',
- '#title' => t('Download method'),
- '#default_value' => $translator->getSetting('scheme'),
- '#options' => $options,
- '#description' => t('Choose the location where exported files should be stored. The usage of a protected location (e.g. private://) is recommended to prevent unauthorized access.'),
- );
- }
- return parent::pluginSettingsForm($form, $form_state, $translator);
- }
- /**
- * {@inheritdoc}
- */
- public function checkoutSettingsForm($form, &$form_state, TMGMTJob $job) {
- if ($job->getTranslator()->getSetting('allow_override')) {
- $form['export_format'] = array(
- '#type' => 'radios',
- '#title' => t('Export to'),
- '#options' => tmgmt_file_format_plugin_labels(),
- '#default_value' => $job->getTranslator()->getSetting('export_format'),
- '#description' => t('Please select the format you want to export data.'),
- );
- }
- return parent::checkoutSettingsForm($form, $form_state, $job);
- }
- /**
- * {@inheritdoc}
- */
- public function checkoutInfo(TMGMTJob $job) {
- // If the job is finished, it's not possible to import translations anymore.
- if ($job->isFinished()) {
- return parent::checkoutInfo($job);
- }
- $form = array(
- '#type' => 'fieldset',
- '#title' => t('Import translated file'),
- );
- $supported_formats = array_keys(tmgmt_file_format_plugin_info());
- $form['file'] = array(
- '#type' => 'file',
- '#title' => t('File file'),
- '#size' => 50,
- '#description' => t('Supported formats: @formats.', array('@formats' => implode(', ', $supported_formats))),
- );
- $form['submit'] = array(
- '#type' => 'submit',
- '#value' => t('Import'),
- '#submit' => array('tmgmt_file_import_form_submit'),
- );
- return $this->checkoutInfoWrapper($job, $form);
- }
- }
|