20
20
use Magento \Framework \Url \DecoderInterface ;
21
21
use Magento \Framework \App \ObjectManager ;
22
22
use Magento \Framework \Stdlib \CookieManagerInterface ;
23
- use Magento \Customer \Model \RedirectCookieManager ;
24
23
25
24
/**
26
25
* Account Redirect
29
28
*/
30
29
class Redirect
31
30
{
32
- /** @deprecated
33
- * @see \Magento\Customer\Model\RedirectCookieManager
34
- * URL to redirect user on successful login or registration
35
- */
31
+ /** URL to redirect user on successful login or registration */
36
32
const LOGIN_REDIRECT_URL = 'login_redirect ' ;
37
33
38
34
/**
@@ -72,14 +68,9 @@ class Redirect
72
68
protected $ resultFactory ;
73
69
74
70
/**
75
- * @var CookieManagerInterface
76
- */
77
- protected $ cookieManager ;
78
-
79
- /**
80
- * @var RedirectCookieManager
71
+ * @var CookieMetadataFactory
81
72
*/
82
- protected $ redirectCookieManager ;
73
+ protected $ cookieMetadataFactory ;
83
74
84
75
/**
85
76
* @var HostChecker
@@ -101,7 +92,7 @@ class Redirect
101
92
* @param DecoderInterface $urlDecoder
102
93
* @param CustomerUrl $customerUrl
103
94
* @param ResultFactory $resultFactory
104
- * @param RedirectCookieManager $redirectCookieManager
95
+ * @param CookieMetadataFactory $cookieMetadataFactory
105
96
* @param HostChecker|null $hostChecker
106
97
*/
107
98
public function __construct (
@@ -113,7 +104,7 @@ public function __construct(
113
104
DecoderInterface $ urlDecoder ,
114
105
CustomerUrl $ customerUrl ,
115
106
ResultFactory $ resultFactory ,
116
- RedirectCookieManager $ redirectCookieManager ,
107
+ CookieMetadataFactory $ cookieMetadataFactory
117
108
HostChecker $ hostChecker = null
118
109
) {
119
110
$ this ->request = $ request ;
@@ -123,8 +114,8 @@ public function __construct(
123
114
$ this ->url = $ url ;
124
115
$ this ->urlDecoder = $ urlDecoder ;
125
116
$ this ->customerUrl = $ customerUrl ;
117
+ $ this ->cookieMetadataFactory = $ cookieMetadataFactory ;
126
118
$ this ->resultFactory = $ resultFactory ;
127
- $ this ->redirectCookieManager = $ redirectCookieManager ;
128
119
$ this ->hostChecker = $ hostChecker ?: ObjectManager::getInstance ()->get (HostChecker::class);
129
120
}
130
121
@@ -254,8 +245,8 @@ private function applyRedirect($url)
254
245
/**
255
246
* Get Cookie manager. For release backward compatibility.
256
247
*
257
- * @deprecated 100.0.10
258
- * @see \ Magento\Customer\Model\RedirectCookieManager
248
+ * @deprecated 100.0.10 This is legacy method to pass login_redirect cookie
249
+ * @see Magento/Checkout/view/frontend/web/js/sidebar.js
259
250
* @return CookieManagerInterface
260
251
*/
261
252
protected function getCookieManager ()
@@ -269,8 +260,8 @@ protected function getCookieManager()
269
260
/**
270
261
* Set cookie manager. For unit tests.
271
262
*
272
- * @deprecated 100.0.10
273
- * @see \ Magento\Customer\Model\RedirectCookieManager
263
+ * @deprecated 100.0.10 This is legacy method to pass login_redirect cookie
264
+ * @see Magento/Checkout/view/frontend/web/js/sidebar.js
274
265
* @param object $value
275
266
* @return void
276
267
*/
@@ -282,31 +273,43 @@ public function setCookieManager($value)
282
273
/**
283
274
* Get redirect route from cookie for case of successful login/registration
284
275
*
276
+ * @deprecated 100.0.10 This is legacy method to pass login_redirect cookie
277
+ * @see Magento/Checkout/view/frontend/web/js/sidebar.js
285
278
* @return null|string
286
279
*/
287
280
public function getRedirectCookie ()
288
281
{
289
- return $ this ->redirectCookieManager -> getRedirectCookie ( );
282
+ return $ this ->getCookieManager ()-> getCookie ( self :: LOGIN_REDIRECT_URL , null );
290
283
}
291
284
292
285
/**
293
286
* Save redirect route to cookie for case of successful login/registration
294
287
*
288
+ * @deprecated 100.0.10 This is legacy method to pass login_redirect cookie
289
+ * @see Magento/Checkout/view/frontend/web/js/sidebar.js
295
290
* @param string $route
296
291
* @return void
297
292
*/
298
293
public function setRedirectCookie ($ route )
299
294
{
300
- $ this ->redirectCookieManager ->setRedirectCookie ($ route , $ this ->storeManager ->getStore ());
295
+ $ cookieMetadata = $ this ->cookieMetadataFactory ->createPublicCookieMetadata ()
296
+ ->setHttpOnly (true )
297
+ ->setDuration (3600 )
298
+ ->setPath ($ this ->storeManager ->getStore ()->getStorePath ());
299
+ $ this ->getCookieManager ()->setPublicCookie (self ::LOGIN_REDIRECT_URL , $ route , $ cookieMetadata );
301
300
}
302
301
303
302
/**
304
303
* Clear cookie with requested route
305
304
*
305
+ * @deprecated 100.0.10 This is legacy method to pass login_redirect cookie
306
+ * @see Magento/Checkout/view/frontend/web/js/sidebar.js
306
307
* @return void
307
308
*/
308
309
public function clearRedirectCookie ()
309
310
{
310
- $ this ->redirectCookieManager ->clearRedirectCookie ($ this ->storeManager ->getStore ());
311
+ $ cookieMetadata = $ this ->cookieMetadataFactory ->createPublicCookieMetadata ()
312
+ ->setPath ($ this ->storeManager ->getStore ()->getStorePath ());
313
+ $ this ->getCookieManager ()->deleteCookie (self ::LOGIN_REDIRECT_URL , $ cookieMetadata );
311
314
}
312
315
}
0 commit comments