function ckeditor_media_embed_ckeditor_plugin_info_alter in CKEditor Media Embed Plugin 8
Implements hook_ckeditor_plugin_info_alter().
File
- ./
ckeditor_media_embed.module, line 75 - Module file for the CKEditor Media Embed plugin module.
Code
function ckeditor_media_embed_ckeditor_plugin_info_alter(array &$plugins) {
$version = AssetManager::getPluginsVersion(\Drupal::service('library.discovery'), \Drupal::service('config.factory'));
$plugin_statuses = AssetManager::getPluginsInstallStatuses($version);
$all_installed = array_reduce($plugin_statuses, function ($acc, $plugin_status) {
if ($acc && $plugin_status == FALSE) {
$acc = $plugin_status;
}
return $acc;
}, TRUE);
$uninstalled_plugins = [];
foreach ($plugin_statuses as $plugin_name => $is_installed) {
if (!$all_installed && !empty($plugins[$plugin_name])) {
unset($plugins[$plugin_name]);
}
if (!$is_installed) {
$uninstalled_plugins[] = $plugin_name;
}
}
if (!$all_installed) {
\Drupal::logger('ckeditor_media_embed')
->error('The following plugins are missing: @uninstalled_plugins. <br />@install_message', [
'@uninstalled_plugins' => implode(', ', $uninstalled_plugins),
'@install_message' => _ckeditor_media_embed_get_install_instructions(FALSE),
]);
}
}