function CKEditor5StylesheetsMessage::checkForStylesheetsEquivalent

Same name and namespace in other branches
  1. 10 core/modules/ckeditor5/src/CKEditor5StylesheetsMessage.php \Drupal\ckeditor5\CKEditor5StylesheetsMessage::checkForStylesheetsEquivalent()
  2. 11.x core/modules/ckeditor5/src/CKEditor5StylesheetsMessage.php \Drupal\ckeditor5\CKEditor5StylesheetsMessage::checkForStylesheetsEquivalent()

Checks themes using ckeditor_stylesheets for CKEditor 5 equivalents.

Parameters

array $theme_info: The config of the theme to check.

string[] $ckeditor_stylesheets_use: Themes using ckeditor_stylesheets without a CKEditor 5 equivalent.

1 call to CKEditor5StylesheetsMessage::checkForStylesheetsEquivalent()
CKEditor5StylesheetsMessage::getWarning in core/modules/ckeditor5/src/CKEditor5StylesheetsMessage.php
Generates a warning related to ckeditor_stylesheets.

File

core/modules/ckeditor5/src/CKEditor5StylesheetsMessage.php, line 109

Class

CKEditor5StylesheetsMessage
Messaging for themes using the ckeditor_stylesheets setting.

Namespace

Drupal\ckeditor5

Code

private function checkForStylesheetsEquivalent(array $theme_info, array &$ckeditor_stylesheets_use) {
    $theme_has_ckeditor5_stylesheets = isset($theme_info['ckeditor5-stylesheets']);
    if (!empty($theme_info['ckeditor_stylesheets']) && !$theme_has_ckeditor5_stylesheets) {
        $ckeditor_stylesheets_use[] = $theme_info['name'];
    }
    // If the primary theme has ckeditor5-stylesheets configured, do not check
    // base themes. The primary theme can potentially provide the
    // ckeditor5-stylesheets config for itself and its base themes, so we err
    // on the side of not showing a warning if this is possibly the case.
    if ($theme_has_ckeditor5_stylesheets) {
        return;
    }
    $base_theme = $theme_info['base theme'] ?? FALSE;
    while ($base_theme) {
        $base_theme_info = $this->themeHandler
            ->listInfo()[$base_theme]->info;
        $base_theme_has_ckeditor5_stylesheets = isset($base_theme_info['ckeditor5-stylesheets']);
        if (!empty($base_theme_info['ckeditor_stylesheets']) && !$base_theme_has_ckeditor5_stylesheets) {
            $ckeditor_stylesheets_use[] = $base_theme_info['name'];
        }
        $base_theme = $base_theme_info['base theme'] ?? FALSE;
    }
}

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