currentUser = $current_user; $this->tempStore = $temp_store_factory->get('entity_delete_multiple_confirm'); parent::__construct($configuration, $plugin_id, $plugin_definition); } /** * {@inheritdoc} */ public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { return new static( $configuration, $plugin_id, $plugin_definition, $container->get('tempstore.private'), $container->get('current_user') ); } /** * {@inheritdoc} */ public function executeMultiple(array $entities) { /** @var \Drupal\Core\Entity\EntityInterface[] $entities */ $selection = []; foreach ($entities as $entity) { $langcode = $entity->language()->getId(); $selection[$entity->id()][$langcode] = $langcode; } $this->tempStore->set($this->currentUser->id() . ':' . $this->getPluginDefinition()['type'], $selection); } /** * {@inheritdoc} */ public function execute($object = NULL) { $this->executeMultiple([$object]); } /** * {@inheritdoc} */ public function access($object, AccountInterface $account = NULL, $return_as_object = FALSE) { return $object->access('delete', $account, $return_as_object); } }