You are here

public function ItemDetailForm::buildForm in Queue UI 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

src/Form/ItemDetailForm.php, line 50

Class

ItemDetailForm
Class QueueUIInspectForm @package Drupal\queue_ui\Form

Namespace

Drupal\queue_ui\Form

Code

public function buildForm(array $form, FormStateInterface $form_state, $queue_name = FALSE, $queue_item = FALSE) {
  if ($queue_ui = $this->queueUIManager
    ->fromQueueName($queue_name)) {
    $queue_item = $queue_ui
      ->loadItem($queue_item);
    $data = [
      '#type' => 'html_tag',
      '#tag' => 'pre',
      '#value' => print_r(unserialize($queue_item->data), TRUE),
    ];
    $data = \Drupal::service('renderer')
      ->renderPlain($data);

    // Use kpr to print the data.
    if (\Drupal::service('module_handler')
      ->moduleExists('devel')) {
      $data = kpr(unserialize($queue_item->data), TRUE);
    }
    $rows = [
      'id' => [
        'data' => [
          'header' => $this
            ->t('Item ID'),
          'data' => $queue_item->item_id,
        ],
      ],
      'queue_name' => [
        'data' => [
          'header' => $this
            ->t('Queue name'),
          'data' => $queue_item->name,
        ],
      ],
      'expire' => [
        'data' => [
          'header' => $this
            ->t('Expire'),
          'data' => $queue_item->expire ? date(DATE_RSS, $queue_item->expire) : $queue_item->expire,
        ],
      ],
      'created' => [
        'data' => [
          'header' => $this
            ->t('Created'),
          'data' => date(DATE_RSS, $queue_item->created),
        ],
      ],
      'data' => [
        'data' => [
          'header' => [
            'data' => $this
              ->t('Data'),
            'style' => 'vertical-align:top',
          ],
          'data' => $data,
        ],
      ],
    ];
    return [
      'table' => [
        '#type' => 'table',
        '#rows' => $rows,
      ],
    ];
  }
}