You are here

function menu_item_extras_uninstall in Menu Item Extras 8.2

Implements hook_uninstall().

File

./menu_item_extras.install, line 32
Contains install/uninstall functionality of module.

Code

function menu_item_extras_uninstall() {
  $menus = \Drupal::entityTypeManager()
    ->getStorage('menu')
    ->loadMultiple();

  /** @var \Drupal\menu_item_extras\Service\MenuLinkContentService $mlc_helper */
  $mlc_helper = \Drupal::service('menu_item_extras.menu_link_content_helper');
  $mlc_helper
    ->doEntityUpdate();
  $mlc_helper
    ->doBundleFieldUpdate();

  // Clear cache plugins for invoking hook_entity_type_build and rebuid entity.
  // @see menu_item_extras_entity_type_build().
  \Drupal::configFactory()
    ->getEditable('menu_item_extras.utility')
    ->delete();
  \Drupal::service('plugin.cache_clearer')
    ->clearCachedDefinitions();
  $mlc_helper
    ->updateMenuLinkContentBundle();
  if (!empty($menus)) {
    foreach ($menus as $menu_id => $menu) {
      $mlc_helper
        ->updateMenuItemsBundle($menu_id, FALSE);
    }
  }
}