MassactionKey.php 887 B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. /**
  3. * Massaction key processor
  4. *
  5. * Copyright © Magento, Inc. All rights reserved.
  6. * See COPYING.txt for license details.
  7. */
  8. namespace Magento\Backend\App\Action\Plugin;
  9. use Magento\Framework\App\RequestInterface;
  10. use Magento\Backend\App\AbstractAction;
  11. class MassactionKey
  12. {
  13. /**
  14. * Process massaction key
  15. *
  16. * @param AbstractAction $subject
  17. * @param RequestInterface $request
  18. *
  19. * @return void
  20. * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  21. */
  22. public function beforeDispatch(AbstractAction $subject, RequestInterface $request)
  23. {
  24. $key = $request->getPost('massaction_prepare_key');
  25. if ($key) {
  26. $postData = $request->getPost($key);
  27. $value = is_array($postData) ? $postData : explode(',', $postData);
  28. $request->setPostValue($key, $value ? $value : null);
  29. }
  30. }
  31. }