You are here

function _webform_update_8011 in Webform 6.x

Same name and namespace in other branches
  1. 8.5 includes/webform.install.update.inc \_webform_update_8011()

Move $element['#format'] to $element['#format_items'].

Applies to ol, ul, comma, and semicolon.

Parameters

array $element: A form element.

1 call to _webform_update_8011()
webform_update_8011 in includes/webform.install.update.inc
Issue #2845028: Refactor and rework element formatting to better support multiple values.

File

includes/webform.install.update.inc, line 253
Archived Webform update hooks.

Code

function _webform_update_8011(array &$element) {

  // Issue #2863986: Allow updating modules with new service dependencies.
  \Drupal::service('kernel')
    ->rebuildContainer();
  if (isset($element['#format'])) {

    /** @var \Drupal\webform\Plugin\WebformElementManagerInterface $element_manager */
    $element_manager = \Drupal::service('plugin.manager.webform.element');
    $webform_element = $element_manager
      ->getElementInstance($element);
    $format = $element['#format'];
    $item_formats = $webform_element
      ->getItemFormats();
    $items_formats = $webform_element
      ->getItemsFormats();
    if (!isset($item_formats[$format]) && isset($items_formats[$format])) {
      unset($element['#format']);
      $element['#format_items'] = $format;
    }
  }
  foreach (Element::children($element) as $key) {
    if (is_array($element[$key])) {
      _webform_update_8011($element[$key]);
    }
  }
}