You are here

function flexslider_example_uninstall in Flex Slider 8.2

Same name and namespace in other branches
  1. 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'), []);
}