You are here

public function FontCKEditorButton::getConfig in CKEditor Font Size and Family 8

Returns the additions to CKEDITOR.config for a specific CKEditor instance.

The editor's settings can be retrieved via $editor->getSettings(), but be aware that it may not yet contain plugin-specific settings, because the user may not yet have configured the form. If there are plugin-specific settings (verify with isset()), they can be found at

$settings = $editor
  ->getSettings();
$plugin_specific_settings = $settings['plugins'][$plugin_id];

Parameters

\Drupal\editor\Entity\Editor $editor: A configured text editor object.

Return value

array A keyed array, whose keys will end up as keys under CKEDITOR.config.

Overrides CKEditorPluginInterface::getConfig

File

src/Plugin/CKEditorPlugin/FontCKEditorButton.php, line 117

Class

FontCKEditorButton
Defines the "font" plugin.

Namespace

Drupal\ckeditor_font\Plugin\CKEditorPlugin

Code

public function getConfig(Editor $editor) {
  $config = array();
  $settings = $editor
    ->getSettings();
  if (!isset($settings['plugins']['font']['font_names']) && !isset($settings['plugins']['font']['font_sizes'])) {
    return $config;
  }
  if (isset($settings['plugins']['font']['font_sizes'])) {
    $font_sizes = $settings['plugins']['font']['font_sizes'];
    $sizes = $this
      ->generateFontStyleSetting($font_sizes, 'size');
    if (!empty($sizes)) {
      $config['fontSize_sizes'] = implode('; ', $sizes);
    }
  }
  if (isset($settings['plugins']['font']['font_names'])) {
    $font_names = $settings['plugins']['font']['font_names'];
    $fonts = $this
      ->generateFontStyleSetting($font_names, 'font');
    if (!empty($fonts)) {
      $config['font_names'] = implode('; ', $fonts);
    }
  }
  return $config;
}