Browse Source

removed hard dependency of Pagination -> web\Request

issue #1207
tags/2.0.0-beta
Carsten Brandt 11 years ago
parent
commit
4e80dc54c2
  1. 9
      framework/yii/data/Pagination.php
  2. 3
      tests/unit/framework/data/ActiveDataProviderTest.php

9
framework/yii/data/Pagination.php

@ -9,6 +9,7 @@ namespace yii\data;
use Yii; use Yii;
use yii\base\Object; use yii\base\Object;
use yii\web\Request;
/** /**
* Pagination represents information relevant to pagination of data items. * Pagination represents information relevant to pagination of data items.
@ -131,7 +132,9 @@ class Pagination extends Object
public function getPage($recalculate = false) public function getPage($recalculate = false)
{ {
if ($this->_page === null || $recalculate) { if ($this->_page === null || $recalculate) {
$params = $this->params === null ? Yii::$app->request->get() : $this->params; if (($params = $this->params) === null) {
$params = (Yii::$app->request instanceof Request) ? Yii::$app->request->get : [];
}
if (isset($params[$this->pageVar]) && is_scalar($params[$this->pageVar])) { if (isset($params[$this->pageVar]) && is_scalar($params[$this->pageVar])) {
$this->_page = (int)$params[$this->pageVar] - 1; $this->_page = (int)$params[$this->pageVar] - 1;
if ($this->validatePage) { if ($this->validatePage) {
@ -169,7 +172,9 @@ class Pagination extends Object
*/ */
public function createUrl($page) public function createUrl($page)
{ {
$params = $this->params === null ? Yii::$app->request->get() : $this->params; if (($params = $this->params) === null) {
$params = (Yii::$app->request instanceof Request) ? Yii::$app->request->get : [];
}
if ($page > 0 || $page >= 0 && $this->forcePageVar) { if ($page > 0 || $page >= 0 && $this->forcePageVar) {
$params[$this->pageVar] = $page + 1; $params[$this->pageVar] = $page + 1;
} else { } else {

3
tests/unit/framework/data/ActiveDataProviderTest.php

@ -28,9 +28,6 @@ class ActiveDataProviderTest extends DatabaseTestCase
{ {
parent::setUp(); parent::setUp();
ActiveRecord::$db = $this->getConnection(); ActiveRecord::$db = $this->getConnection();
$this->mockApplication([
'request' => 'yii\\web\\Request',
]);
} }
public function testActiveQuery() public function testActiveQuery()

Loading…
Cancel
Save