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/base/Model/LessToCss/Config/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/vendor/amasty/base/Model/LessToCss/Config/Converter.php
<?php
/**
 * @author Amasty Team
 * @copyright Copyright (c) Amasty (https://www.amasty.com)
 * @package Magento 2 Base Package
 */

namespace Amasty\Base\Model\LessToCss\Config;

class Converter implements \Magento\Framework\Config\ConverterInterface
{
    /**#@+
     * Constants defined for keys of data array
     */
    public const HANDLES = 'handles';
    public const CSS_OPTIONS = 'cssOptions';
    public const CSS_OPTION_FILENAME = 'fileName';
    public const CSS_OPTION_PATH = 'path';
    public const IFCONFIG = 'ifconfig';
    /**#@-*/

    /**
     * Convert dom node tree to array
     *
     * @param \DOMDocument $source
     *
     * @return array = [string => [
     *         'handles' => [string],
     *         'ifconfig' => [string],
     *         'cssOptions' => ['fileName' => string, 'path' => string]
     *     ]]
     */
    public function convert($source)
    {
        $output = [];
        if (!$source instanceof \DOMDocument) {
            return $output;
        }

        /** @var \DOMNodeList $types */
        $types = $source->getElementsByTagName('module');
        /** @var \DOMNode $type */
        foreach ($types as $type) {
            $moduleConfiguration = [];
            $moduleName = $type->getAttribute('name');

            $handles = $type->getElementsByTagName('handle');
            foreach ($handles as $handle) {
                $handleName = $handle->getAttribute('name');
                $moduleConfiguration[self::HANDLES][$handleName] = $handleName;
            }

            $ifconfigs = $type->getElementsByTagName('ifconfig');
            $moduleConfiguration[self::IFCONFIG] = [];
            foreach ($ifconfigs as $ifconfig) {
                $moduleConfiguration[self::IFCONFIG][] = $ifconfig->nodeValue;
            }

            $cssConfigurations = $type->getElementsByTagName('cssOptions');
            if (!$cssConfigurations->length) {
                $moduleConfiguration[self::CSS_OPTIONS] = [
                    self::CSS_OPTION_FILENAME => 'styles',
                    self::CSS_OPTION_PATH => 'css'
                ];
            } else {
                foreach ($cssConfigurations as $row) {
                    $fileName = $row->getAttribute('fileName');
                    if (!$fileName) {
                        $fileName = 'styles';
                    }
                    $pathToLess = $row->getAttribute('path');
                    if (!$pathToLess) {
                        $pathToLess = 'css';
                    }
                    $moduleConfiguration[self::CSS_OPTIONS] = [
                        self::CSS_OPTION_FILENAME => $fileName,
                        self::CSS_OPTION_PATH => $pathToLess
                    ];
                }
            }

            $output[$moduleName] = $moduleConfiguration;
        }

        return $output;
    }
}

Spamworldpro Mini