Bez popisu

ListingDefinition.php 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php declare(strict_types = 1);
  2. namespace MailPoet\Listing;
  3. if (!defined('ABSPATH')) exit;
  4. class ListingDefinition {
  5. /** @var string|null */
  6. private $group;
  7. /** @var array */
  8. private $filters;
  9. /** @var string|null */
  10. private $search;
  11. /** @var array */
  12. private $parameters;
  13. /** @var string */
  14. private $sortBy;
  15. /** @var string */
  16. private $sortOrder;
  17. /** @var int */
  18. private $offset;
  19. /** @var int */
  20. private $limit;
  21. /** @var int[] */
  22. private $selection;
  23. public function __construct(
  24. string $group = null,
  25. array $filters,
  26. string $search = null,
  27. array $parameters,
  28. string $sortBy,
  29. string $sortOrder,
  30. int $offset,
  31. int $limit,
  32. array $selection = []
  33. ) {
  34. $this->group = $group;
  35. $this->filters = $filters;
  36. $this->search = $search;
  37. $this->parameters = $parameters;
  38. $this->sortBy = $sortBy;
  39. $this->sortOrder = $sortOrder;
  40. $this->offset = $offset;
  41. $this->limit = $limit;
  42. $this->selection = array_map('intval', $selection);
  43. }
  44. /** @return string|null */
  45. public function getGroup() {
  46. return $this->group;
  47. }
  48. public function getFilters(): array {
  49. return $this->filters;
  50. }
  51. /** @return string|null */
  52. public function getSearch() {
  53. return $this->search;
  54. }
  55. public function getParameters(): array {
  56. return $this->parameters;
  57. }
  58. public function getSortBy(): string {
  59. return $this->sortBy;
  60. }
  61. public function getSortOrder(): string {
  62. return $this->sortOrder;
  63. }
  64. public function getOffset(): int {
  65. return $this->offset;
  66. }
  67. public function getLimit(): int {
  68. return $this->limit;
  69. }
  70. public function getSelection(): array {
  71. return $this->selection;
  72. }
  73. }