function editor_filter_format_presave

Same name and namespace in other branches
  1. 9 core/modules/editor/editor.module \editor_filter_format_presave()
  2. 10 core/modules/editor/editor.module \editor_filter_format_presave()
  3. 11.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 641

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.