Controller.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace Tools\Controller;
  3. use Cake\Core\Configure;
  4. use Cake\Datasource\Paging\PaginatedInterface;
  5. use Cake\Datasource\QueryInterface;
  6. use Cake\Datasource\RepositoryInterface;
  7. use Shim\Controller\Controller as ShimController;
  8. /**
  9. * @property \Tools\Controller\Component\CommonComponent $Common
  10. * @property \Tools\Controller\Component\UrlComponent $Url
  11. */
  12. class Controller extends ShimController {
  13. /**
  14. * @var array<string>
  15. */
  16. public array $autoRedirectActions = [];
  17. /**
  18. * Handles automatic pagination of model records.
  19. *
  20. * @override To support defaults like limit etc.
  21. *
  22. * @param \Cake\Datasource\RepositoryInterface|\Cake\Datasource\QueryInterface|string|null $object Table to paginate
  23. * (e.g: Table instance, 'TableName' or a Query object)
  24. * @param array<string, mixed> $settings The settings/configuration used for pagination. See {@link \Cake\Controller\Controller::$paginate}.
  25. * @return \Cake\Datasource\Paging\PaginatedInterface
  26. */
  27. public function paginate(
  28. RepositoryInterface|QueryInterface|string|null $object = null,
  29. array $settings = [],
  30. ): PaginatedInterface {
  31. $defaultSettings = (array)Configure::read('Paginator');
  32. if ($defaultSettings) {
  33. $this->paginate += $defaultSettings;
  34. }
  35. return parent::paginate($object, $settings);
  36. }
  37. }