currentUser = $current_user; $this->tempStore = $temp_store_factory->get('media_multiple_delete_confirm'); } /** * {@inheritdoc} */ public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { return new static( $configuration, $plugin_id, $plugin_definition, $container->get('user.private_tempstore'), $container->get('current_user') ); } /** * {@inheritdoc} */ public function executeMultiple(array $entities) { $info = []; /** @var \Drupal\media\MediaInterface $media */ foreach ($entities as $media) { $langcode = $media->language()->getId(); $info[$media->id()][$langcode] = $langcode; } $this->tempStore->set($this->currentUser->id(), $info); } /** * {@inheritdoc} */ public function execute($object = NULL) { $this->executeMultiple($object ? [$object] : []); } /** * {@inheritdoc} */ public function access($object, AccountInterface $account = NULL, $return_as_object = FALSE) { /** @var \Drupal\media\MediaInterface $object */ return $object->access('delete', $account, $return_as_object); } }