You are here

public function ContentHubExportQueueForm::buildForm in Acquia Content Hub 8.2

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 FormInterface::buildForm

File

modules/acquia_contenthub_publisher/src/Form/ContentHubExportQueueForm.php, line 48

Class

ContentHubExportQueueForm
Implements a form to Process items from the Content Hub Export Queue.

Namespace

Drupal\acquia_contenthub_publisher\Form

Code

public function buildForm(array $form, FormStateInterface $form_state) {
  $form['description'] = [
    '#markup' => $this
      ->t('Instruct the content hub module to manage content export with a queue.'),
  ];
  $queue_count = intval($this->contentHubExportQueue
    ->getQueueCount());
  $form['run_export_queue'] = [
    '#type' => 'details',
    '#title' => $this
      ->t('Run Export Queue'),
    '#description' => '<strong>For development & testing use only!</strong><br /> Running the export queue from the UI can cause php timeouts for large datasets.
                         A cronjob to run the queue should be used instead.',
    '#open' => TRUE,
  ];
  $form['run_export_queue']['queue-list'] = [
    '#type' => 'item',
    '#title' => $this
      ->t('Number of queue items in the Export Queue'),
    '#description' => $this
      ->t('%num @items.', [
      '%num' => $queue_count,
      '@items' => $queue_count === 1 ? $this
        ->t('item') : $this
        ->t('items'),
    ]),
  ];
  $form['run_export_queue']['submit'] = [
    '#type' => 'submit',
    '#value' => t('Export Items'),
    '#name' => 'run_export_queue',
  ];
  if ($queue_count > 0) {
    $form['run_export_queue']['purge_queue'] = [
      '#type' => 'item',
      '#title' => $this
        ->t('Purge existing queues'),
      '#description' => $this
        ->t('It is possible an existing queue has becomed orphaned, use this function to wipe all existing queues'),
    ];
    $form['run_export_queue']['purge'] = [
      '#type' => 'submit',
      '#value' => t('Purge'),
      '#name' => 'purge_export_queue',
    ];
  }
  return $form;
}