TaskServiceProvider.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. /**
  3. * @package Grav\Common\Service
  4. *
  5. * @copyright Copyright (c) 2015 - 2023 Trilby Media, LLC. All rights reserved.
  6. * @license MIT License; see LICENSE file for details.
  7. */
  8. namespace Grav\Common\Service;
  9. use Grav\Common\Grav;
  10. use Pimple\Container;
  11. use Pimple\ServiceProviderInterface;
  12. use Psr\Http\Message\ServerRequestInterface;
  13. /**
  14. * Class TaskServiceProvider
  15. * @package Grav\Common\Service
  16. */
  17. class TaskServiceProvider implements ServiceProviderInterface
  18. {
  19. /**
  20. * @param Container $container
  21. * @return void
  22. */
  23. public function register(Container $container)
  24. {
  25. $container['task'] = function (Grav $c) {
  26. /** @var ServerRequestInterface $request */
  27. $request = $c['request'];
  28. $body = $request->getParsedBody();
  29. $task = $body['task'] ?? $c['uri']->param('task');
  30. if (null !== $task) {
  31. $task = htmlspecialchars(strip_tags($task), ENT_QUOTES, 'UTF-8');
  32. }
  33. return $task ?: null;
  34. };
  35. $container['action'] = function (Grav $c) {
  36. /** @var ServerRequestInterface $request */
  37. $request = $c['request'];
  38. $body = $request->getParsedBody();
  39. $action = $body['action'] ?? $c['uri']->param('action');
  40. if (null !== $action) {
  41. $action = htmlspecialchars(strip_tags($action), ENT_QUOTES, 'UTF-8');
  42. }
  43. return $action ?: null;
  44. };
  45. }
  46. }