Same name and namespace in other branches
  1. 5.x modules/forum/forum.install \forum_uninstall()
  2. 6.x modules/forum/forum.install \forum_uninstall()
  3. 7.x modules/forum/forum.install \forum_uninstall()
  4. 8.9.x core/modules/forum/forum.install \forum_uninstall()
  5. 9 core/modules/forum/forum.install \forum_uninstall()

Implements hook_uninstall().

File

core/modules/forum/forum.install, line 39
Install, update, and uninstall functions for the Forum module.

Code

function forum_uninstall() {
  if ($field_storage = FieldStorageConfig::loadByName('node', 'taxonomy_forums')) {
    $field_storage
      ->delete();
  }
  if ($field_storage = FieldStorageConfig::loadByName('node', 'comment_forum')) {
    $field_storage
      ->delete();
  }
  if ($field_storage = FieldStorageConfig::loadByName('taxonomy_term', 'forum_container')) {
    $field_storage
      ->delete();
  }

  // Purge field data now to allow taxonomy and options module to be uninstalled
  // if this is the only field remaining.
  field_purge_batch(10);

  // Allow to delete a forum's node type.
  $locked = \Drupal::state()
    ->get('node.type.locked');
  unset($locked['forum']);
  \Drupal::state()
    ->set('node.type.locked', $locked);
}