Browse Source

Fix deprecated method use in CookieComponent.

mark_story 8 years ago
parent
commit
035f583eea

+ 8 - 10
src/Controller/Component/CookieComponent.php

@@ -15,7 +15,7 @@
 namespace Cake\Controller\Component;
 
 use Cake\Controller\Component;
-use Cake\Http\ServerRequest;
+use Cake\Http\ServerRequestFactory;
 use Cake\I18n\Time;
 use Cake\Utility\CookieCryptTrait;
 use Cake\Utility\Hash;
@@ -124,7 +124,7 @@ class CookieComponent extends Component
         $controller = $this->_registry->getController();
 
         if ($controller === null) {
-            $this->request = ServerRequest::createFromGlobals();
+            $this->request = ServerRequestFactory::fromGlobals();
         }
 
         if (empty($this->_config['path'])) {
@@ -246,10 +246,10 @@ class CookieComponent extends Component
         if (isset($this->_loaded[$first])) {
             return;
         }
-        if (!isset($this->request->cookies[$first])) {
+        $cookie = $this->request->getCookie($first);
+        if ($cookie === null) {
             return;
         }
-        $cookie = $this->request->cookies[$first];
         $config = $this->configKey($first);
         $this->_loaded[$first] = true;
         $this->_values[$first] = $this->_decrypt($cookie, $config['encryption'], $config['key']);
@@ -309,9 +309,8 @@ class CookieComponent extends Component
         $config = $this->configKey($name);
         $expires = new Time($config['expires']);
 
-        $response = $this->getController()->response;
-        $response->cookie([
-            'name' => $name,
+        $controller = $this->getController();
+        $controller->response = $controller->response->withCookie($name, [
             'value' => $this->_encrypt($value, $config['encryption'], $config['key']),
             'expire' => $expires->format('U'),
             'path' => $config['path'],
@@ -334,10 +333,9 @@ class CookieComponent extends Component
     {
         $config = $this->configKey($name);
         $expires = new Time('now');
+        $controller = $this->getController();
 
-        $response = $this->getController()->response;
-        $response->cookie([
-            'name' => $name,
+        $controller->response = $controller->response->withCookie($name, [
             'value' => '',
             'expire' => $expires->format('U') - 42000,
             'path' => $config['path'],

+ 10 - 10
tests/TestCase/Controller/Component/CookieComponentTest.php

@@ -324,7 +324,7 @@ class CookieComponentTest extends TestCase
             'domain' => '',
             'secure' => false,
             'httpOnly' => false];
-        $result = $this->Controller->response->cookie('Testing');
+        $result = $this->Controller->response->getCookie('Testing');
 
         $this->assertEquals($future->format('U'), $result['expire'], '', 3);
         unset($result['expire']);
@@ -352,7 +352,7 @@ class CookieComponentTest extends TestCase
             'domain' => '',
             'secure' => false,
             'httpOnly' => true];
-        $result = $this->Controller->response->cookie('Testing');
+        $result = $this->Controller->response->getCookie('Testing');
         $this->assertEquals($expected, $result);
     }
 
@@ -377,11 +377,11 @@ class CookieComponentTest extends TestCase
             'secure' => false,
             'httpOnly' => false
         ];
-        $result = $this->Controller->response->cookie('Open');
+        $result = $this->Controller->response->getCookie('Open');
         unset($result['expire']);
         $this->assertEquals($expected, $result);
 
-        $result = $this->Controller->response->cookie('Closed');
+        $result = $this->Controller->response->getCookie('Closed');
         $this->assertContains('Q2FrZQ==.', $result['value']);
     }
 
@@ -401,7 +401,7 @@ class CookieComponentTest extends TestCase
         $this->Cookie->configKey($name, compact('key', 'encryption'));
         $this->Cookie->write($name, $value);
 
-        $cookie = $this->Controller->response->cookie($name);
+        $cookie = $this->Controller->response->getCookie($name);
 
         $this->assertEquals($value, Security::decrypt(base64_decode(substr($cookie['value'], strlen($prefix))), $key));
     }
@@ -444,7 +444,7 @@ class CookieComponentTest extends TestCase
             'domain' => '',
             'secure' => false,
             'httpOnly' => true];
-        $result = $this->Controller->response->cookie('Testing');
+        $result = $this->Controller->response->getCookie('Testing');
         $this->assertEquals($expected, $result);
     }
 
@@ -464,7 +464,7 @@ class CookieComponentTest extends TestCase
             'secure' => false,
             'httpOnly' => false
         ];
-        $result = $this->Controller->response->cookie('Testing');
+        $result = $this->Controller->response->getCookie('Testing');
 
         $time = new Time('now');
         $this->assertWithinRange($time->format('U') + 10, $result['expire'], 1);
@@ -489,7 +489,7 @@ class CookieComponentTest extends TestCase
             'secure' => false,
             'httpOnly' => false
         ];
-        $result = $this->Controller->response->cookie('User');
+        $result = $this->Controller->response->getCookie('User');
         unset($result['expire']);
 
         $this->assertEquals($expected, $result);
@@ -504,7 +504,7 @@ class CookieComponentTest extends TestCase
             'secure' => false,
             'httpOnly' => false
         ];
-        $result = $this->Controller->response->cookie('User');
+        $result = $this->Controller->response->getCookie('User');
         unset($result['expire']);
 
         $this->assertEquals($expected, $result);
@@ -753,7 +753,7 @@ class CookieComponentTest extends TestCase
         $this->assertNull($this->Cookie->read('User.email'));
         $this->assertNull($this->Cookie->read('User.name'));
 
-        $result = $this->Controller->response->cookie('User');
+        $result = $this->Controller->response->getCookie('User');
         $this->assertEquals('', $result['value']);
         $this->assertLessThan(time(), $result['expire']);
     }