* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0 */ declare(strict_types=1); namespace PrestaShop\Module\Psshipping\Domain\Legacy; use PrestaShopBundle\Service\Routing\Router; use Psshipping; class PrestaShopAdapter { /** * @var Psshipping */ private $module; public function __construct(Psshipping $module) { $this->module = $module; } /** * @param array $sfParams * @param array $params */ public function generateRoute(string $routeName, array $sfParams = [], array $params = []): string { if (version_compare(_PS_VERSION_, '1.7.8.0', '>=')) { /** @var Router $router */ $router = $this->module->get('router'); return $router->generate($routeName, $params); } $context = \Context::getContext(); if (!empty($context->link) && !empty($context->shop)) { return $context->link->getAdminLink($routeName, true, $sfParams, $params); } return ''; } public function generateOrderLink(int $orderId): string { if (version_compare(_PS_VERSION_, '1.7.7.0', '>=')) { /** @var Router $router */ $router = $this->module->get('router'); return $router->generate('admin_orders_view', ['orderId' => $orderId]); } $context = \Context::getContext(); if (!empty($context->link) && !empty($context->shop)) { return $context->link->getAdminLink('AdminOrders', true, [], ['vieworder' => '', 'id_order' => $orderId]); } return ''; } }