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/Ecombricks/InventoryConfig/Plugin/Model/Config/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //home/corals/Ecombricks/InventoryConfig/Plugin/Model/Config/Loader.php
<?php
/**
 * Copyright © eComBricks. All rights reserved.
 * See COPYING.txt for license details.
 */
namespace Ecombricks\InventoryConfig\Plugin\Model\Config;

/**
 * Configuration loader plugin
 */
class Loader
{
    
    /**
     * Configuration data collection factory
     * 
     * @var \Magento\Config\Model\ResourceModel\Config\Data\CollectionFactory
     */
    protected $configDataCollectionFactory;
    
    /**
     * @param \Magento\Config\Model\ResourceModel\Config\Data\CollectionFactory $configDataCollectionFactory
     */
    public function __construct(\Magento\Config\Model\ResourceModel\Config\Data\CollectionFactory $configDataCollectionFactory)
    {
        $this->configDataCollectionFactory = $configDataCollectionFactory;
    }
    
    /**
     * Around get configuration by path
     * 
     * @param \Magento\Config\Model\Config\Loader $subject
     * @param \Closure $proceed
     * @param string $path
     * @param string $scope
     * @param string $scopeId
     * @param bool $full
     * @return array
     */
    public function aroundGetConfigByPath(
        \Magento\Config\Model\Config\Loader $subject,
        \Closure $proceed,
        $path,
        $scope,
        $scopeId,
        $full = true
    )
    {
        $configDataCollection = $this->configDataCollectionFactory->create();
        $configDataCollection->addScopeFilter($scope, $scopeId, $path);
        $sourceCode = $subject->getSourceCode();
        if ($sourceCode) {
            $configDataCollection->addFieldToFilter('source_code', $sourceCode);
        } else {
            $configDataCollection->addFieldToFilter('source_code', ['null' => 'null']);
        }
        $configDataCollection->load();
        $config = [];
        foreach ($configDataCollection->getItems() as $configData) {
            $path = $configData->getPath();
            if ($full) {
                $config[$path] = [
                    'path' => $configData->getPath(),
                    'value' => $configData->getValue(),
                    'config_id' => $configData->getConfigId(),
                ];
            } else {
                $config[$path] = $configData->getValue();
            }
        }
        return $config;
    }
    
}

Spamworldpro Mini