You are here

public function LingotekImportSettingsForm::buildForm in Lingotek Translation 8

Form constructor.

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Return value

array The form structure.

Overrides ConfigFormBase::buildForm

File

src/Form/LingotekImportSettingsForm.php, line 15

Class

LingotekImportSettingsForm

Namespace

Drupal\lingotek\Form

Code

public function buildForm(array $form, FormStateInterface $form_state) {
  $form['import_prefs'] = array(
    '#type' => 'details',
    '#title' => t('Preferences'),
  );
  $contentTypes = \Drupal::service('entity.manager')
    ->getStorage('node_type')
    ->loadMultiple();
  $format_options = [];
  foreach ($contentTypes as $contentType) {
    $format_options[$contentType
      ->id()] = $contentType
      ->label();
  }
  $content_cloud_import_format = $this->lingotek
    ->get('preference.content_cloud_import_format');
  if ($content_cloud_import_format == NULL) {
    $this->lingotek
      ->set('preference.content_cloud_import_format', 'article');
  }
  $form['import_prefs']['content_cloud_import_format'] = [
    '#type' => 'select',
    '#options' => $format_options,
    '#title' => t('Import as: '),
    '#default_value' => $content_cloud_import_format,
  ];

  /**
   * This variable is an array that sets the key => value pairs as 0 => Unpublished
   * and 1 => Published. 0 evaluates to 'unpublished' as a revision status and
   * 1 evaluates to 'published'.
   * @author Unknown
   * @var array
   **/
  $status_options = array(
    'Unpublished',
    'Published',
  );
  $content_cloud_import_status = $this->lingotek
    ->get('preference.content_cloud_import_status', 0);
  if ($content_cloud_import_status == NULL) {
    $this->lingotek
      ->set('preference.content_cloud_import_status', 0);
  }
  $form['import_prefs']['content_cloud_import_status'] = [
    '#type' => 'select',
    '#options' => $status_options,
    '#title' => t('Status: '),
    '#default_value' => $content_cloud_import_status,
  ];
  $form['import_prefs']['actions']['#type'] = 'actions';
  $form['import_prefs']['actions']['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Save'),
    '#button_type' => 'primary',
  );
  return $form;
}