function editor_filter_format_presave

Same name and namespace in other branches
  1. 9 core/modules/editor/editor.module \editor_filter_format_presave()
  2. 8.9.x core/modules/editor/editor.module \editor_filter_format_presave()

Implements hook_ENTITY_TYPE_presave().

Synchronizes the editor status to its paired text format status.

File

core/modules/editor/editor.module, line 628

Code

function editor_filter_format_presave(FilterFormatInterface $format) {
  // The text format being created cannot have a text editor yet.
  if ($format->isNew()) {
    return;
  }
  /** @var \Drupal\filter\FilterFormatInterface $original */
  $original = \Drupal::entityTypeManager()->getStorage('filter_format')
    ->loadUnchanged($format->getOriginalId());
  // If the text format status is the same, return early.
  if (($status = $format->status()) === $original->status()) {
    return;
  }
  /** @var \Drupal\editor\EditorInterface $editor */
  if ($editor = Editor::load($format->id())) {
    $editor->setStatus($status)
      ->save();
  }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.