function block_style_plugins_themes_uninstalled in Block Style Plugins 8
Same name and namespace in other branches
- 8.2 block_style_plugins.module \block_style_plugins_themes_uninstalled()
Implements hook_themes_uninstalled().
File
- ./
block_style_plugins.module, line 76 - Contains block_style_plugins.module.
Code
function block_style_plugins_themes_uninstalled(array $themes) {
// Clear the Plugins cache when a theme using a plugin is uninstalled.
/** @var Drupal\block_style_plugins\Plugin\BlockStyleManager $plugin_manager */
$plugin_manager = \Drupal::service('plugin.manager.block_style.processor');
$style_plugins = $plugin_manager
->getDefinitions();
$clear_cache = FALSE;
foreach ($themes as $theme_name) {
foreach ($style_plugins as $plugin) {
if ($plugin['provider'] == $theme_name) {
$clear_cache = TRUE;
break;
}
}
}
// Clear all plugin caches.
if ($clear_cache) {
\Drupal::service('plugin.cache_clearer')
->clearCachedDefinitions();
}
}