function locale_translate_import_form_submit

Form submission handler for locale_translate_import_form().

File

drupal/core/modules/locale/locale.bulk.inc, line 109
Mass import-export and batch import functionality for Gettext .po files.

Code

function locale_translate_import_form_submit($form, &$form_state) {

  // Ensure we have the file uploaded.
  if ($file = file_save_upload('file', $form['file']['#upload_validators'], 'translations://', 0)) {

    // Add language, if not yet supported.
    $language = language_load($form_state['values']['langcode']);
    if (empty($language)) {
      $language = new Language(array(
        'langcode' => $form_state['values']['langcode'],
      ));
      $language = language_save($language);
      drupal_set_message(t('The language %language has been created.', array(
        '%language' => t($language->name),
      )));
    }
    $options = array(
      'langcode' => $form_state['values']['langcode'],
      'overwrite_options' => $form_state['values']['overwrite_options'],
      'customized' => $form_state['values']['customized'] ? LOCALE_CUSTOMIZED : LOCALE_NOT_CUSTOMIZED,
    );
    $file = locale_translate_file_attach_properties($file, $options);
    $batch = locale_translate_batch_build(array(
      $file->uri => $file,
    ), $options);
    batch_set($batch);
  }
  else {
    form_set_error('file', t('File to import not found.'));
    $form_state['rebuild'] = TRUE;
    return;
  }
  $form_state['redirect'] = 'admin/config/regional/translate';
  return;
}