99use Magento \ImportExport \Model \Import \Entity \AbstractEntity ;
1010use Magento \ImportExport \Model \Import \ErrorProcessing \ProcessingErrorAggregatorInterface ;
1111use Magento \ImportExport \Model \History as ModelHistory ;
12+ use Magento \Framework \Escaper ;
13+ use Magento \Framework \App \ObjectManager ;
1214
1315/**
1416 * Import controller
@@ -37,22 +39,31 @@ abstract class ImportResult extends Import
3739 */
3840 protected $ reportHelper ;
3941
42+ /**
43+ * @var Escaper|null
44+ */
45+ protected $ escaper ;
46+
4047 /**
4148 * @param \Magento\Backend\App\Action\Context $context
4249 * @param \Magento\ImportExport\Model\Report\ReportProcessorInterface $reportProcessor
4350 * @param \Magento\ImportExport\Model\History $historyModel
4451 * @param \Magento\ImportExport\Helper\Report $reportHelper
52+ * @param Escaper|null $escaper
4553 */
4654 public function __construct (
4755 \Magento \Backend \App \Action \Context $ context ,
4856 \Magento \ImportExport \Model \Report \ReportProcessorInterface $ reportProcessor ,
4957 \Magento \ImportExport \Model \History $ historyModel ,
50- \Magento \ImportExport \Helper \Report $ reportHelper
58+ \Magento \ImportExport \Helper \Report $ reportHelper ,
59+ Escaper $ escaper = null
5160 ) {
5261 parent ::__construct ($ context );
5362 $ this ->reportProcessor = $ reportProcessor ;
5463 $ this ->historyModel = $ historyModel ;
5564 $ this ->reportHelper = $ reportHelper ;
65+ $ this ->escaper = $ escaper
66+ ?? ObjectManager::getInstance ()->get (Escaper::class);
5667 }
5768
5869 /**
@@ -69,22 +80,20 @@ protected function addErrorMessages(
6980 if ($ errorAggregator ->getErrorsCount ()) {
7081 $ message = '' ;
7182 $ counter = 0 ;
72- $ unescapedMessages = [];
83+ $ escapedMessages = [];
7384 foreach ($ this ->getErrorMessages ($ errorAggregator ) as $ error ) {
74- $ unescapedMessages [] = (++$ counter ) . '. ' . $ error ;
85+ $ escapedMessages [] = (++$ counter ) . '. ' . $ this -> escaper -> escapeHtml ( $ error) ;
7586 if ($ counter >= self ::LIMIT_ERRORS_MESSAGE ) {
7687 break ;
7788 }
7889 }
79- foreach ($ unescapedMessages as $ unescapedMessage ) {
80- $ message .= $ resultBlock ->escapeHtml ($ unescapedMessage ) . '<br> ' ;
81- }
90+ $ message .= implode ('<br> ' , $ escapedMessages );
8291 if ($ errorAggregator ->hasFatalExceptions ()) {
8392 foreach ($ this ->getSystemExceptions ($ errorAggregator ) as $ error ) {
84- $ message .= $ error ->getErrorMessage ()
93+ $ message .= $ this -> escaper -> escapeHtml ( $ error ->getErrorMessage () )
8594 . ' <a href="#" onclick="$(this).next().show();$(this).hide();return false;"> '
8695 . __ ('Show more ' ) . '</a><div style="display:none;"> ' . __ ('Additional data ' ) . ': '
87- . $ error ->getErrorDescription () . '</div> ' ;
96+ . $ this -> escaper -> escapeHtml ( $ error ->getErrorDescription () ) . '</div> ' ;
8897 }
8998 }
9099 try {
0 commit comments