![]() 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/dhlshipping2/Helper/Response/ |
<?php /** * Copyright © Extmag. All rights reserved. */ namespace Extmag\DhlShipping\Helper\Response; class Rate extends Dhl { /** * @var string */ protected $requestType = 'Rate'; /** * @inheritdoc */ protected function parseSuccess(array $data, string $context) { $services = []; foreach ($this->get($data['GetQuoteResponse']['BkgDetails']['QtdShp'] ?? []) as $item) { $service['ServiceCode'] = $item['GlobalProductCode'] ?? ''; $service['LocalServiceCode'] = $item['LocalProductCode'] ?? ''; $service['Currency'] = $item['CurrencyCode'] ?? ''; if (!empty($item['ShippingCharge']) && (float)$item['ShippingCharge'] > 0) { $service['TotalCharge'] = $item['ShippingCharge']; $service['TotalDiscount'] = $item['TotalDiscount'] ?? 0; $service['TotalTax'] = 0; if (!empty($item['DeliveryDate']['DlvyDateTime'])) { [$deliveryDate, $deliveryTime] = explode(" ", $item['DeliveryDate']['DlvyDateTime']); $deliveryDate = explode("-", $deliveryDate); $service['TimeInTransit']['Arrival']['Date'] = [ 'Y' => $deliveryDate[0], 'm' => $deliveryDate[1], 'd' => $deliveryDate[2], ]; $deliveryTime = explode(":", $deliveryTime); $gmtOffset = $item['DeliveryDate']['DeliveryDateTimeOffset'] ?? '+00:00'; $service['TimeInTransit']['Arrival']['Time'] = [ 'H' => $deliveryTime[0], 'i' => $deliveryTime[1], 'offset' => $gmtOffset, ]; } if (!empty($item['PickupDate']) && !empty($item['PickupCutoffTime'])) { $deliveryDate = explode("-", $item['PickupDate']); $service['TimeInTransit']['Pickup']['Date'] = [ 'Y' => $deliveryDate[0], 'm' => $deliveryDate[1], 'd' => $deliveryDate[2], ]; $deliveryTime = trim( preg_replace( '/[\D]/is', ':', $item['PickupCutoffTime'] ?? '' ), ":" ); $deliveryTime = explode(":", $deliveryTime); if (count($deliveryTime) == 1) { $deliveryTime[1] = "00"; } $service['TimeInTransit']['Pickup']['Time'] = [ 'H' => $deliveryTime[0], 'i' => $deliveryTime[1], 'offset' => '+00:00', ]; } $service['TimeInTransit']['Saturday'] = null; $services[] = $service; } } return [ 'Status' => '1', 'Carrier' => $this->carrier, 'Context' => $context, 'Type' => $this->requestType, 'Rates' => $services, ]; } }