You are here

protected function WebformSubmissionResendForm::getMessageHandlerOptions in Webform 6.x

Same name and namespace in other branches
  1. 8.5 src/Form/WebformSubmissionResendForm.php \Drupal\webform\Form\WebformSubmissionResendForm::getMessageHandlerOptions()

Get a webform submission's message handlers as options.

Parameters

\Drupal\webform\WebformSubmissionInterface $webform_submission: A webform submission.

Return value

array An associative array containing a webform submission's message handlers as table select options.

1 call to WebformSubmissionResendForm::getMessageHandlerOptions()
WebformSubmissionResendForm::buildForm in src/Form/WebformSubmissionResendForm.php
Form constructor.

File

src/Form/WebformSubmissionResendForm.php, line 198

Class

WebformSubmissionResendForm
Defines a webform that resends webform submission.

Namespace

Drupal\webform\Form

Code

protected function getMessageHandlerOptions(WebformSubmissionInterface $webform_submission) {
  $handlers = $webform_submission
    ->getWebform()
    ->getHandlers();

  // Get options.
  $options = [];
  foreach ($handlers as $handler_id => $message_handler) {
    if (!$message_handler instanceof WebformHandlerMessageInterface) {
      continue;
    }
    $message = $message_handler
      ->getMessage($webform_submission);
    $options[$handler_id]['title'] = [
      'data' => [
        'label' => [
          '#type' => 'label',
          '#title' => $message_handler
            ->label() . ': ' . $message_handler
            ->description(),
          '#title_display' => NULL,
          '#for' => 'edit-message-handler-id-' . str_replace('_', '-', $message_handler
            ->getHandlerId()),
        ],
      ],
    ];
    $options[$handler_id]['id'] = [
      'data' => $message_handler
        ->getHandlerId(),
    ];
    $options[$handler_id]['summary'] = [
      'data' => $message_handler
        ->getMessageSummary($message),
    ];
    $options[$handler_id]['status'] = $message_handler
      ->isEnabled() ? $this
      ->t('Enabled') : $this
      ->t('Disabled');
  }
  return $options;
}