You are here

function entity_share_server_entity_delete in Entity Share 8

Same name and namespace in other branches
  1. 8.3 modules/entity_share_server/entity_share_server.module \entity_share_server_entity_delete()
  2. 8.2 modules/entity_share_server/entity_share_server.module \entity_share_server_entity_delete()

Implements hook_entity_delete().

Remove user from channels if needed.

File

modules/entity_share_server/entity_share_server.module, line 15
Hook implementations for the entity share server module.

Code

function entity_share_server_entity_delete(EntityInterface $entity) {
  if ($entity
    ->getEntityTypeId() == 'user') {

    /** @var \Drupal\user\UserInterface $user */
    $user = $entity;

    /** @var \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager */
    $entity_type_manager = \Drupal::service('entity_type.manager');

    /** @var \Drupal\entity_share_server\Entity\ChannelInterface[] $channels */
    $channels = $entity_type_manager
      ->getStorage('channel')
      ->loadMultiple();
    foreach ($channels as $channel) {
      if ($channel
        ->removeAuthorizedUser($user
        ->uuid())) {
        $channel
          ->save();
      }
    }
  }
}