Yii2: yii\data\Pagination pageSizeLimit & per-page=0

Created on 8 Apr 2020  ·  6Comments  ·  Source: yiisoft/yii2

Я обнаружил такое поведение: если передать в значение pageSizeLimit массив с более чем двумя элементами, то pageSizeLimit не срабатывает вообще и есть возможность получить все записи ActiveDataProvider при указании per-page=0.
Не знаю много ли людей способно повторить это поведение, но именно так было в шаблоне который я использовал - chrisleekr/yii2-angular-boilerplate

bug

All 6 comments

Что именно вы предлагаете сделать?

При выставлении pageSizeLimit = false, pageSize становится равен defaultPageSize. А в случае некорректного значения pageSizeLimit типа [1,2,3], pageSize становится 0 и выводятся все записи. Я думаю что некорректное значение pageSizeLimit должно приравниваться к значению false.

А точно сейчас не так? https://github.com/yiisoft/yii2/blob/master/framework/data/Pagination.php#L238

_// в следующий раз попробуйте issue делать на английском, а то не все читать могут_

в https://github.com/yiisoft/yii2/blob/master/framework/data/Pagination.php#L238 лишнее _&& count($this->pageSizeLimit) === 2_
а тут - https://github.com/yiisoft/yii2/blob/master/framework/data/Pagination.php#L216 надо добавить _|| !isset($this->pageSizeLimit[0], $this->pageSizeLimit[1])_

Сделаете pull request?

Pull request is created.

Was this page helpful?
0 / 5 - 0 ratings