X-Git-Url: http://aleph1.co.uk/gitweb/?a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Fnode%2Fsrc%2FPlugin%2FAction%2FDeleteNode.php;h=64fbe120c227ef9d9a4adecae562710083e42079;hb=1c1cb0980bfa6caf0c24cce671b6bb541dc87583;hp=c4d1aebe0b3503213bb7c8dbe0be76ca26447314;hpb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;p=yaffs-website diff --git a/web/core/modules/node/src/Plugin/Action/DeleteNode.php b/web/core/modules/node/src/Plugin/Action/DeleteNode.php index c4d1aebe0..64fbe120c 100644 --- a/web/core/modules/node/src/Plugin/Action/DeleteNode.php +++ b/web/core/modules/node/src/Plugin/Action/DeleteNode.php @@ -2,98 +2,33 @@ namespace Drupal\node\Plugin\Action; -use Drupal\Core\Action\ActionBase; -use Drupal\Core\Plugin\ContainerFactoryPluginInterface; +use Drupal\Core\Action\Plugin\Action\DeleteAction; +use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Session\AccountInterface; -use Drupal\user\PrivateTempStoreFactory; -use Symfony\Component\DependencyInjection\ContainerInterface; +use Drupal\Core\TempStore\PrivateTempStoreFactory; /** * Redirects to a node deletion form. * + * @deprecated in Drupal 8.6.x, to be removed before Drupal 9.0.0. + * Use \Drupal\Core\Action\Plugin\Action\DeleteAction instead. + * + * @see \Drupal\Core\Action\Plugin\Action\DeleteAction + * @see https://www.drupal.org/node/2934349 + * * @Action( * id = "node_delete_action", - * label = @Translation("Delete content"), - * type = "node", - * confirm_form_route_name = "node.multiple_delete_confirm" + * label = @Translation("Delete content") * ) */ -class DeleteNode extends ActionBase implements ContainerFactoryPluginInterface { - - /** - * The tempstore object. - * - * @var \Drupal\user\SharedTempStore - */ - protected $tempStore; - - /** - * The current user. - * - * @var \Drupal\Core\Session\AccountInterface - */ - protected $currentUser; - - /** - * Constructs a new DeleteNode object. - * - * @param array $configuration - * A configuration array containing information about the plugin instance. - * @param string $plugin_id - * The plugin ID for the plugin instance. - * @param mixed $plugin_definition - * The plugin implementation definition. - * @param \Drupal\user\PrivateTempStoreFactory $temp_store_factory - * The tempstore factory. - * @param \Drupal\Core\Session\AccountInterface $current_user - * Current user. - */ - public function __construct(array $configuration, $plugin_id, $plugin_definition, PrivateTempStoreFactory $temp_store_factory, AccountInterface $current_user) { - $this->currentUser = $current_user; - $this->tempStore = $temp_store_factory->get('node_multiple_delete_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('user.private_tempstore'), - $container->get('current_user') - ); - } - - /** - * {@inheritdoc} - */ - public function executeMultiple(array $entities) { - $info = []; - /** @var \Drupal\node\NodeInterface $node */ - foreach ($entities as $node) { - $langcode = $node->language()->getId(); - $info[$node->id()][$langcode] = $langcode; - } - $this->tempStore->set($this->currentUser->id(), $info); - } - - /** - * {@inheritdoc} - */ - public function execute($object = NULL) { - $this->executeMultiple([$object]); - } +class DeleteNode extends DeleteAction { /** * {@inheritdoc} */ - public function access($object, AccountInterface $account = NULL, $return_as_object = FALSE) { - /** @var \Drupal\node\NodeInterface $object */ - return $object->access('delete', $account, $return_as_object); + public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, PrivateTempStoreFactory $temp_store_factory, AccountInterface $current_user) { + parent::__construct($configuration, $plugin_id, $plugin_definition, $entity_type_manager, $temp_store_factory, $current_user); + @trigger_error(__NAMESPACE__ . '\DeleteNode is deprecated in Drupal 8.6.x, will be removed before Drupal 9.0.0. Use \Drupal\Core\Action\Plugin\Action\DeleteAction instead. See https://www.drupal.org/node/2934349.', E_USER_DEPRECATED); } }