function flexslider_example_uninstall in Flex Slider 8.2
Same name and namespace in other branches
- 7.2 flexslider_example/flexslider_example.install \flexslider_example_uninstall()
Implements hook_uninstall().
Deletes all content and configuration installed by this module.
File
- flexslider_example/
flexslider_example.install, line 25 - Install tasks for flexslider_example.
Code
function flexslider_example_uninstall() {
// Collect all of the example nodes and delete them.
$storage_handler = \Drupal::entityTypeManager()
->getStorage('node');
$nodes = $storage_handler
->loadByProperties([
'type' => 'flexslider_example',
]);
// Ensure we have some nodes before deleting.
if (!empty($nodes)) {
$storage_handler
->delete($nodes);
\Drupal::logger('flexslider')
->info(t('Deleted @count flexslider_example nodes', [
'@count' => count($nodes),
]), []);
}
// Remove Flexslider node type.
$content_type = \Drupal::entityTypeManager()
->getStorage('node_type')
->load('flexslider_example');
if (!empty($content_type)) {
$content_type
->delete();
}
// Now delete all of the configuration installed by this module.
$dir = drupal_get_path('module', 'flexslider_example') . '/config/install';
$files = \Drupal::service('file_system')
->scanDirectory($dir, '/.*/');
foreach ($files as $file) {
\Drupal::configFactory()
->getEditable($file->name)
->delete();
}
\Drupal::logger('flexslider')
->info(t('Deleted flexslider example configuration'), []);
}