Skip to content

Commit

Permalink
Fix deprecated property usage in routing.
Browse files Browse the repository at this point in the history
  • Loading branch information
markstory committed Dec 9, 2017
1 parent fcb3f08 commit 54cd172
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 19 deletions.
7 changes: 4 additions & 3 deletions src/Controller/Component/RequestHandlerComponent.php
Expand Up @@ -201,9 +201,10 @@ public function startup(Event $event)
$this->_setExtension($request, $response);
}

$request->params['isAjax'] = $request->is('ajax');
$isAjax = $request->is('ajax');
$controller->request = $request->withParam('isAjax', $isAjax);

if (!$this->ext && $request->is('ajax')) {
if (!$this->ext && $isAjax) {
$this->ext = 'ajax';
}

Expand All @@ -217,7 +218,7 @@ public function startup(Event $event)
}
if ($this->requestedWith($type)) {
$input = $request->input(...$handler);
$request->data = (array)$input;
$controller->request = $request->withParsedBody((array)$input);
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/Routing/Filter/AssetFilter.php
Expand Up @@ -69,7 +69,7 @@ public function beforeDispatch(Event $event)
/* @var \Cake\Http\ServerRequest $request */
$request = $event->getData('request');

$url = urldecode($request->url);
$url = urldecode($request->getUri()->getPath());
if (strpos($url, '..') !== false || strpos($url, '.') === false) {
return null;
}
Expand Down Expand Up @@ -101,7 +101,7 @@ public function beforeDispatch(Event $event)
*/
protected function _getAssetFile($url)
{
$parts = explode('/', $url);
$parts = explode('/', ltrim($url, '/'));
$pluginPart = [];
for ($i = 0; $i < 2; $i++) {
if (!isset($parts[$i])) {
Expand Down
15 changes: 9 additions & 6 deletions src/Routing/Router.php
Expand Up @@ -620,8 +620,8 @@ public static function url($url = null, $full = false)
// In 4.x this should be replaced with state injected via setRequestContext
$request = static::getRequest(true);
if ($request) {
$params = $request->params;
$here = $request->here;
$params = $request->getAttribute('params');
$here = $request->getRequestTarget();
$base = $request->getAttribute('base');
} else {
$base = Configure::read('App.base');
Expand Down Expand Up @@ -750,8 +750,8 @@ public static function reverseToArray($params)
{
$url = [];
if ($params instanceof ServerRequest) {
$url = $params->query;
$params = $params->params;
$url = $params->getQueryParams();
$params = $params->getAttribute('params');
} elseif (isset($params['url'])) {
$url = $params['url'];
}
Expand Down Expand Up @@ -820,8 +820,11 @@ public static function normalize($url = '/')
}
$request = static::getRequest();

if (!empty($request->base) && stristr($url, $request->base)) {
$url = preg_replace('/^' . preg_quote($request->base, '/') . '/', '', $url, 1);
if ($request) {
$base = $request->getAttribute('base');
if (strlen($base) && stristr($url, $base)) {
$url = preg_replace('/^' . preg_quote($base, '/') . '/', '', $url, 1);
}
}
$url = '/' . $url;

Expand Down
12 changes: 4 additions & 8 deletions tests/TestCase/Routing/RouterTest.php
Expand Up @@ -512,16 +512,14 @@ public function testUrlNormalization()
$result = Router::normalize('/recipe/recipes/add');
$this->assertEquals('/recipe/recipes/add', $result);

$request = new ServerRequest();
$request->base = '/us';
$request = new ServerRequest(['base' => '/us']);
Router::setRequestInfo($request);
$result = Router::normalize('/us/users/logout/');
$this->assertEquals('/users/logout', $result);

Router::reload();

$request = new ServerRequest();
$request->base = '/cake_12';
$request = new ServerRequest(['base' => '/cake_12']);
Router::setRequestInfo($request);
$result = Router::normalize('/cake_12/users/logout/');
$this->assertEquals('/users/logout', $result);
Expand All @@ -531,15 +529,13 @@ public function testUrlNormalization()
Configure::write('App.fullBaseUrl', '/');

$request = new ServerRequest();
$request->base = '/';
Router::setRequestInfo($request);
$result = Router::normalize('users/login');
$this->assertEquals('/users/login', $result);
Configure::write('App.fullBaseUrl', $_back);

Router::reload();
$request = new ServerRequest();
$request->base = 'beer';
$request = new ServerRequest(['base' => 'beer']);
Router::setRequestInfo($request);
$result = Router::normalize('beer/admin/beers_tags/add');
$this->assertEquals('/admin/beers_tags/add', $result);
Expand All @@ -562,7 +558,7 @@ public function testUrlGenerationWithBasePath()
'plugin' => null,
'controller' => 'subscribe',
],
'here' => '/magazine/',
'url' => '/magazine/',
'base' => '/magazine',
'webroot' => '/magazine/'
]);
Expand Down

0 comments on commit 54cd172

Please sign in to comment.