88
99use Magento \Framework \App \ObjectManager ;
1010use Magento \Payment \Block \Transparent \Iframe ;
11- use Magento \Framework \Escaper ;
1211
1312/**
1413 * Class Redirect
1514 */
1615class Redirect extends \Magento \Authorizenet \Controller \Directpost \Payment
1716{
18- /**
19- * @var Escaper
20- */
21- private $ escaper ;
22-
2317 /**
2418 * Retrieve params and put javascript into iframe
2519 *
@@ -29,7 +23,7 @@ public function execute()
2923 {
3024 $ helper = $ this ->dataFactory ->create ('frontend ' );
3125
32- $ redirectParams = $ this ->filterData ( $ this -> getRequest ()->getParams () );
26+ $ redirectParams = $ this ->getRequest ()->getParams ();
3327 $ params = [];
3428 if (!empty ($ redirectParams ['success ' ])
3529 && isset ($ redirectParams ['x_invoice_num ' ])
@@ -38,9 +32,11 @@ public function execute()
3832 $ this ->_getDirectPostSession ()->unsetData ('quote_id ' );
3933 $ params ['redirect_parent ' ] = $ helper ->getSuccessOrderUrl ([]);
4034 }
35+
4136 if (!empty ($ redirectParams ['error_msg ' ])) {
4237 $ cancelOrder = empty ($ redirectParams ['x_invoice_num ' ]);
4338 $ this ->_returnCustomerQuote ($ cancelOrder , $ redirectParams ['error_msg ' ]);
39+ $ params ['error_msg ' ] = $ redirectParams ['error_msg ' ];
4440 }
4541
4642 if (isset ($ redirectParams ['controller_action_name ' ])
@@ -50,34 +46,8 @@ public function execute()
5046 unset($ params ['redirect_parent ' ]);
5147 }
5248
53- $ this ->_coreRegistry ->register (Iframe::REGISTRY_KEY , array_merge ( $ params, $ redirectParams ) );
49+ $ this ->_coreRegistry ->register (Iframe::REGISTRY_KEY , $ params );
5450 $ this ->_view ->addPageLayoutHandles ();
5551 $ this ->_view ->loadLayout (false )->renderLayout ();
5652 }
57-
58- /**
59- * Escape xss in request data
60- * @param array $data
61- * @return array
62- */
63- private function filterData (array $ data )
64- {
65- $ self = $ this ;
66- array_walk ($ data , function (&$ item ) use ($ self ) {
67- $ item = $ self ->getEscaper ()->escapeXssInUrl ($ item );
68- });
69- return $ data ;
70- }
71-
72- /**
73- * Get Escaper instance
74- * @return Escaper
75- */
76- private function getEscaper ()
77- {
78- if (!$ this ->escaper ) {
79- $ this ->escaper = ObjectManager::getInstance ()->get (Escaper::class);
80- }
81- return $ this ->escaper ;
82- }
8353}
0 commit comments