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/shopby/Plugin/Framework/Url/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/vendor/amasty/shopby/Plugin/Framework/Url/RouteParamsResolver.php
<?php
/**
 * @author Amasty Team
 * @copyright Copyright (c) Amasty (https://www.amasty.com)
 * @package Improved Layered Navigation Base for Magento 2
 */

namespace Amasty\Shopby\Plugin\Framework\Url;

use Amasty\ShopbyBrand\Helper\Content;
use Magento\Framework\App\Config\ScopeConfigInterface;
use Magento\Store\Model\ScopeInterface;

class RouteParamsResolver
{
    /**
     * @var \Amasty\Shopby\Model\Resolver
     */
    protected $amResolver;

    /**
     * @var \Magento\Catalog\Model\Layer\Resolver
     */
    protected $layerResolver;

    /**
     * @var \Magento\Catalog\Model\Layer
     */
    protected $layer;

    /**
     * @var \Magento\Framework\Url\QueryParamsResolverInterface
     */
    protected $queryParamsResolver;

    /**
     * @var \Amasty\Shopby\Model\Request
     */
    protected $shopbyRequest;

    /**
     * @var ScopeConfigInterface
     */
    private $scopeConfig;

    /**
     * @var Content
     */
    private $contentHelper;

    /**
     * RouteParamsResolver constructor.
     * @param \Magento\Catalog\Model\Layer\Resolver $layerResolver
     * @param \Amasty\Shopby\Model\Resolver $amResolver
     * @param \Magento\Framework\Url\QueryParamsResolverInterface $queryParamsResolver
     * @param \Amasty\Shopby\Model\Request $shopbyRequest
     * @param ScopeConfigInterface $scopeConfig
     * @param Content $contentHelper
     */
    public function __construct(
        \Magento\Catalog\Model\Layer\Resolver $layerResolver,
        \Amasty\Shopby\Model\Resolver $amResolver,
        \Magento\Framework\Url\QueryParamsResolverInterface $queryParamsResolver,
        \Amasty\Shopby\Model\Request $shopbyRequest,
        ScopeConfigInterface $scopeConfig,
        Content $contentHelper
    ) {
        $this->amResolver = $amResolver;
        $this->layerResolver = $layerResolver;
        $this->queryParamsResolver = $queryParamsResolver;
        $this->shopbyRequest = $shopbyRequest;
        $this->scopeConfig = $scopeConfig;
        $this->contentHelper = $contentHelper;
    }

    /**
     * @param \Magento\Framework\Url\RouteParamsResolver $subject
     * @param \Closure $proceed
     * @param array $data
     * @param bool|true $unsetOldParams
     * @return mixed
     * @throws \Magento\Framework\Exception\LocalizedException
     * @SuppressWarnings(PHPMD.UnusedFormatParameter)
     */
    public function aroundSetRouteParams(
        \Magento\Framework\Url\RouteParamsResolver $subject,
        \Closure $proceed,
        array $data,
        $unsetOldParams = true
    ) {
        if (!array_key_exists('_current', $data)) {
            return $proceed($data, $unsetOldParams);
        }

        $queryParams = $this->queryParamsResolver->getQueryParams();

        $filters = $this->getLayer()->getState()->getFilters();
        foreach ($filters as $filter) {
            $filterParam = $this->shopbyRequest->getFilterParam($filter->getFilter());
            if (!empty($filterParam)) {
                $queryParams[$filter->getFilter()->getRequestVar()] = $filterParam;
            }
        }

        $queryParams[\Amasty\Shopby\Block\Navigation\UrlModifier::VAR_REPLACE_URL] = null;
        $queryParams['amshopby'] = null;

        if (array_key_exists('price', $queryParams)) {
            $data['price'] = null; //fix for catalogsearxch pages
        }

        $result = $proceed($data, $unsetOldParams);
        $this->queryParamsResolver->addQueryParams($queryParams);

        return $result;
    }

    /**
     * @return \Magento\Catalog\Model\Layer
     */
    protected function getLayer()
    {
        if (!$this->layer) {
            $this->layer = $this->amResolver->loadFromParent($this->layerResolver)->get();
        }

        return $this->layer;
    }
}

Spamworldpro Mini