![]() 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/ |
<?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; } }