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/AmastyMenu/Frontend/Processors/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/vendor/amasty/base/Model/AmastyMenu/Frontend/Processors/Links.php
<?php

declare(strict_types=1);

/**
 * @author Amasty Team
 * @copyright Copyright (c) Amasty (https://www.amasty.com)
 * @package Magento 2 Base Package
 */

namespace Amasty\Base\Model\AmastyMenu\Frontend\Processors;

use Amasty\Base\Block\Adminhtml\System\Config\Information;
use Amasty\Base\Model\AmastyMenu\Frontend\ItemsProvider;
use Amasty\Base\Model\ModuleInfoProvider;
use Magento\Backend\Model\Menu;
use Magento\Backend\Model\Menu\Config;

class Links
{
    public const MARKET_URL = 'https://amasty.com/magento-2-extensions.html';
    public const MARKET_SEO_CAMPAIGN_NAME = 'main_menu_to_catalog';
    public const MAGENTO_MARKET_URL = 'https://marketplace.magento.com/partner/Amasty';

    /**
     * @var Menu
     */
    private $defaultMenu;

    /**
     * @var ModuleInfoProvider
     */
    private $moduleInfoProvider;

    public function __construct(
        Config $menuConfig,
        ModuleInfoProvider $moduleInfoProvider
    ) {
        $this->defaultMenu = $menuConfig->getMenu();
        $this->moduleInfoProvider = $moduleInfoProvider;
    }

    /**
     * Add additional links to menu output
     *
     * @param array $items
     * @return void
     */
    public function process(array &$items): void
    {
        if ($extensionLink = $this->getExtensionsLink()) {
            $items[] = $extensionLink;
        }
        if ($marketLink = $this->getMarketplaceLink()) {
            $items[] = $marketLink;
        }
    }

    /**
     * @return array|null
     */
    private function getExtensionsLink(): ?array
    {
        if (($item = $this->defaultMenu->get('Amasty_Base::extensions')) && $item->isAllowed()) {
            return [
                ItemsProvider::LABEL => $item->getTitle(),
                ItemsProvider::ID => $item->getId(),
                ItemsProvider::TYPE => ItemsProvider::TYPE_LINK,
                ItemsProvider::URL => $item->getUrl(),
                ItemsProvider::ADD_INFO => 'open_current'
            ];
        }

        return null;
    }

    /**
     * @return array|null
     */
    private function getMarketplaceLink(): ?array
    {
        if (($item = $this->defaultMenu->get('Amasty_Base::marketplace')) && $item->isAllowed()) {
            $url = $this->moduleInfoProvider->isOriginMarketplace()
                ? self::MAGENTO_MARKET_URL
                : self::MARKET_URL . Information::SEO_PARAMS . self::MARKET_SEO_CAMPAIGN_NAME;

            return [
                ItemsProvider::LABEL => $item->getTitle(),
                ItemsProvider::ID => $item->getId(),
                ItemsProvider::TYPE => ItemsProvider::TYPE_LINK,
                ItemsProvider::URL => $url
            ];
        }

        return null;
    }
}

Spamworldpro Mini