|
4 | 4 | * See COPYING.txt for license details.
|
5 | 5 | */
|
6 | 6 |
|
7 |
| -/** @var \Magento\Framework\View\Helper\SecureHtmlRenderer $secureRenderer */ |
| 7 | +use Magento\Framework\Escaper; |
| 8 | +use Magento\Framework\View\Helper\SecureHtmlRenderer; |
| 9 | + |
| 10 | +/** @var SecureHtmlRenderer $secureRenderer */ |
| 11 | +/** @var Escaper $escaper */ |
| 12 | +$blockId = $block->getId(); |
8 | 13 | ?>
|
9 | 14 | <!-- <?php if ($block->getTitle()): ?>
|
10 |
| - <h3><?= $block->escapeHtml($block->getTitle()) ?></h3> |
| 15 | + <h3><?= $escaper->escapeHtml($block->getTitle()) ?></h3> |
11 | 16 | <?php endif ?> -->
|
12 | 17 | <?php if (!empty($tabs)): ?>
|
13 |
| -<div id="<?= $block->escapeHtmlAttr($block->getId()) ?>"> |
| 18 | +<div id="<?= $escaper->escapeHtmlAttr($blockId) ?>" class="hidden"> |
14 | 19 | <ul class="tabs-horiz">
|
15 | 20 | <?php foreach ($tabs as $_tab): ?>
|
| 21 | + <?php $tabId = $block->getTabId($_tab) ?> |
16 | 22 | <?php $_tabClass = 'tab-item-link ' . $block->getTabClass($_tab) . ' ' .
|
17 | 23 | (preg_match('/\s?ajax\s?/', $_tab->getClass()) ? 'notloaded' : '') ?>
|
18 | 24 | <?php $_tabType = (!preg_match('/\s?ajax\s?/', $_tabClass) && $block->getTabUrl($_tab) != '#') ? 'link' : '' ?>
|
19 | 25 | <?php $_tabHref = $block->getTabUrl($_tab) == '#' ?
|
20 |
| - '#' . $block->getTabId($_tab) . '_content' : |
| 26 | + '#' . $tabId . '_content' : |
21 | 27 | $block->getTabUrl($_tab) ?>
|
22 | 28 | <li>
|
23 |
| - <a href="<?= $block->escapeUrl($_tabHref) ?>" |
24 |
| - id="<?= $block->escapeHtmlAttr($block->getTabId($_tab)) ?>" |
25 |
| - title="<?= $block->escapeHtmlAttr($block->getTabTitle($_tab)) ?>" |
26 |
| - class="<?= $block->escapeHtmlAttr($_tabClass) ?>" |
27 |
| - data-tab-type="<?= $block->escapeHtmlAttr($_tabType) ?>"> |
| 29 | + <a href="<?= $escaper->escapeUrl($_tabHref) ?>" |
| 30 | + id="<?= $escaper->escapeHtmlAttr($tabId) ?>" |
| 31 | + title="<?= $escaper->escapeHtmlAttr($block->getTabTitle($_tab)) ?>" |
| 32 | + class="<?= $escaper->escapeHtmlAttr($_tabClass) ?>" |
| 33 | + data-tab-type="<?= $escaper->escapeHtmlAttr($_tabType) ?>"> |
28 | 34 | <span>
|
29 | 35 | <span class="changed"
|
30 |
| - title="<?= $block->escapeHtmlAttr(__('The information in this tab has been changed.')) ?>"></span> |
| 36 | + title="<?= $escaper->escapeHtmlAttr(__( |
| 37 | + 'The information in this tab has been changed.' |
| 38 | + )) ?>"></span> |
31 | 39 | <span class="error"
|
32 |
| - title="<?= $block->escapeHtmlAttr(__( |
| 40 | + title="<?= $escaper->escapeHtmlAttr(__( |
33 | 41 | 'This tab contains invalid data. Please resolve this before saving.'
|
34 | 42 | )) ?>"></span>
|
35 | 43 | <span class="loader"
|
36 |
| - title="<?= $block->escapeHtmlAttr(__('Loading...')) ?>"></span> |
37 |
| - <?= $block->escapeHtml($block->getTabLabel($_tab)) ?> |
| 44 | + title="<?= $escaper->escapeHtmlAttr(__('Loading...')) ?>"></span> |
| 45 | + <?= $escaper->escapeHtml($block->getTabLabel($_tab)) ?> |
38 | 46 | </span>
|
39 | 47 | </a>
|
40 |
| - <div id="<?= $block->escapeHtmlAttr($block->getTabId($_tab)) ?>_content"> |
| 48 | + <div id="<?= $escaper->escapeHtmlAttr($tabId) ?>_content"> |
41 | 49 | <?= /* @noEscape */ $block->getTabContent($_tab) ?>
|
42 | 50 | </div>
|
43 | 51 | <?= /* @noEscape */ $secureRenderer->renderStyleAsTag(
|
44 | 52 | 'display:none',
|
45 |
| - '#' . $block->escapeJs($block->getTabId($_tab)) . '_content' |
| 53 | + '#' . $escaper->escapeJs($tabId) . '_content' |
46 | 54 | ); ?>
|
47 | 55 | </li>
|
48 | 56 | <?php endforeach; ?>
|
|
51 | 59 | <?php $scriptString = <<<script
|
52 | 60 | require(["jquery","mage/backend/tabs"], function($){
|
53 | 61 | $(function() {
|
54 |
| - $('#{$block->getId()}').tabs({ |
55 |
| - active: '{$block->getActiveTabId()}', |
56 |
| - destination: '#{$block->getDestElementId()}', |
| 62 | + $('#{$escaper->escapeJs($blockId)}').tabs({ |
| 63 | + active: '{$escaper->escapeJs($block->getActiveTabId())}', |
| 64 | + destination: '#{$escaper->escapeJs($block->getDestElementId())}', |
57 | 65 | shadowTabs: {$block->getAllShadowTabs()}
|
58 | 66 | });
|
| 67 | + $('#{$escaper->escapeJs($blockId)}').removeClass('hidden'); |
59 | 68 | });
|
60 | 69 | });
|
61 | 70 | script;
|
|
0 commit comments