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/product-attachment/Block/Adminhtml/Widget/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/vendor/amasty/product-attachment/Block/Adminhtml/Widget/Button.php
<?php
/**
 * @author Amasty Team
 * @copyright Copyright (c) Amasty (https://www.amasty.com)
 * @package Product Attachments Base for Magento 2
 */

namespace Amasty\ProductAttachment\Block\Adminhtml\Widget;

class Button extends \Magento\Widget\Block\Adminhtml\Widget\Chooser
{
    public function _toHtml()
    {
        $element = $this->getElement();
        /** @var $fieldset \Magento\Framework\Data\Form\Element\Fieldset **/
        $fieldset = $element->getForm()->getElement($this->getFieldsetId());
        $chooserId = $this->getUniqId();
        $config = $this->getConfig();

        // add chooser element to fieldset
        $chooser = $fieldset->addField(
            'chooser' . $element->getId(),
            'note',
            ['label' => $config->getLabel() ? $config->getLabel() : '', 'value_class' => 'value2']
        );

        $hidden = $this->_elementFactory->create('hidden', ['data' => $element->getData()]);
        $hidden->setId("{$chooserId}value")->setForm($element->getForm());
        $hiddenHtml = $hidden->getElementHtml();
        $element->setValue('');

        $buttons = $config->getButtons();
        $chooseButton = $this->getLayout()->createBlock(
            \Magento\Backend\Block\Widget\Button::class
        )->setType(
            'button'
        )->setId(
            $chooserId . 'control'
        )->setClass(
            'btn-chooser'
        )->setLabel(
            $buttons['open']
        )->setOnclick(
            $chooserId . '.choose()'
        )->setDisabled(
            $element->getReadonly()
        );
        $chooser->setData('after_element_html', $hiddenHtml . $chooseButton->toHtml());

        // render label and chooser scripts
        $configJson = $this->_jsonEncoder->encode($config->getData());
        return '<script>
            require(["prototype", "mage/adminhtml/wysiwyg/widget"], function(){
            //<![CDATA[
                (function() {
                    var instantiateChooser = function() {
                        window.' . $chooserId . ' = new WysiwygWidget.chooser(
                            "' . $chooserId . '",
                            "' . $this->getSourceUrl() . '",
                            ' . $configJson . '
                        );
                        window.' . $chooserId . '.choose = function () {
                            // Open dialog window with previously loaded dialog content
                            var responseContainerId;
                
                            // Show or hide chooser content if it was already loaded
                            responseContainerId = this.getResponseContainerId();
                
                            // Otherwise load content from server
                            new Ajax.Request(this.chooserUrl, {
                                parameters: {
                                    \'element_value\': this.getElementValue()
                                },
                                onSuccess: function (transport) {
                                    try {
                                        widgetTools.onAjaxSuccess(transport);
                                        this.dialogContent = widgetTools.getDivHtml(
                                            responseContainerId,
                                            transport.responseText
                                        );
                                        this.openDialogWindow(this.dialogContent);
                                    } catch (e) {
                                        alert({
                                            content: e.message
                                        });
                                    }
                                }.bind(this)
                            });
                        }
                    };
                    jQuery(instantiateChooser);
                })();
            //]]>
            });
            </script>
        ';
    }
}

Spamworldpro Mini