![]() 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/extmag/shiplab/Model/Source/ |
<?php /** * Copyright © Extmag. All rights reserved. */ namespace Extmag\Shiplab\Model\Source; use Magento\Framework\ObjectManagerInterface; class AllShippingMethods { /** * @var CarrierCodes */ protected $carrierCodes; /** * @var ObjectManagerInterface */ protected $objectManager; /** * @param CarrierCodes $carrierCodes * @param ObjectManagerInterface $objectManager */ public function __construct( CarrierCodes $carrierCodes, ObjectManagerInterface $objectManager ) { $this->carrierCodes = $carrierCodes; $this->objectManager = $objectManager; } /** * Get Shipping Method Name By Code * * @param $carrier * @param $code * @param $countryFrom * @param $countryTo * @return mixed|string */ public function getNameByCode($carrier, $code, $countryFrom, $countryTo) { $methods = $this->objectManager->get($this->carrierCodes->getCarriers($carrier)['service_codes_class']) ->toArrayWithAll($countryFrom, $countryTo); return $methods[$code] ?? ''; } /** * Get Shipping Method Name By Mapping * * @param $map * @param $carrier * @param $serviceCode * @param $countryFrom * @param $countryTo * @return mixed|null */ public function getNameByMapping($map, $carrier, $serviceCode, $countryFrom, $countryTo) { $carrierServiceClass = $this->objectManager ->get($this->carrierCodes->getCarriers($carrier)['service_codes_class']); $originName = $carrierServiceClass->getOriginName($countryFrom, $countryTo); foreach ($map as $originKey => $newLabel) { if ($newLabel && strpos($originKey, $originName) !== false && strpos($originKey, ' (' . $serviceCode . ')') !== false ) { return $newLabel; } } return null; } public function getAllNamesByOrigins($carrier) { return $this->objectManager->get($this->carrierCodes->getCarriers($carrier)['service_codes_class']) ->getData(); } }