PluginProbe
PostNL for WooCommerce / 4.0.0
PostNL for WooCommerce v4.0.0
5.9.12 5.9.11 5.9.10 5.9.9 5.9.8 5.9.7 5.9.6 trunk 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 3.1.4 3.1.5 3.1.6 3.1.7 4.0.0 4.0.1 4.0.2 4.3.2 4.3.3 4.4.0 4.4.1 All 72 releases
woo-postnl / includes / adapter / pickup-location-from-order-adapter.php

pickup-location-from-order-adapter.php in PostNL for WooCommerce 4.0.0, at includes/adapter/pickup-location-from-order-adapter.php

147 lines 5.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 use MyParcelNL\Sdk\src\Adapter\DeliveryOptions\AbstractDeliveryOptionsAdapter;
4 use MyParcelNL\Sdk\src\Adapter\DeliveryOptions\AbstractPickupLocationAdapter;
5
6 class WCPN_PickupLocationFromOrderAdapter extends AbstractPickupLocationAdapter
7 {
8 /**
9 * @param \MyParcelNL\Sdk\src\Adapter\DeliveryOptions\AbstractDeliveryOptionsAdapter|null $originAdapter
10 * @param array $inputData
11 */
12 public function __construct(?AbstractDeliveryOptionsAdapter $originAdapter, array $inputData)
13 {
14 $pickupLocationAdapter = $originAdapter ? $originAdapter->getPickupLocation() : null;
15 $inputData = $inputData['pickup_location'];
16
17 $this->cc = $this->countryFromOptions($inputData, $pickupLocationAdapter);
18 $this->city = $this->cityFromOptions($inputData, $pickupLocationAdapter);
19 $this->location_code = $this->locationCodeFromOptions($inputData, $pickupLocationAdapter);
20 $this->location_name = $this->locationNameFromOptions($inputData, $pickupLocationAdapter);
21 $this->number = $this->numberFromOptions($inputData, $pickupLocationAdapter);
22 $this->postal_code = $this->postalCodeFromOptions($inputData, $pickupLocationAdapter);
23 $this->retail_network_id = $this->retailNetworkIdFromOptions($inputData, $pickupLocationAdapter);
24 $this->street = $this->streetFromOptions($inputData, $pickupLocationAdapter);
25 }
26
27 /**
28 * @param array $inputData
29 * @param \MyParcelNL\Sdk\src\Adapter\DeliveryOptions\AbstractPickupLocationAdapter|null $adapter
30 *
31 * @return string
32 */
33 private function countryFromOptions(array $inputData, ?AbstractPickupLocationAdapter $adapter): string
34 {
35 if (key_exists('cc', $inputData)) {
36 return (string) $inputData['cc'];
37 }
38
39 return $adapter->getCountry();
40 }
41
42 /**
43 * @param array $inputData
44 * @param \MyParcelNL\Sdk\src\Adapter\DeliveryOptions\AbstractPickupLocationAdapter|null $adapter
45 *
46 * @return string
47 */
48 private function cityFromOptions(array $inputData, ?AbstractPickupLocationAdapter $adapter): string
49 {
50 if (key_exists('city', $inputData)) {
51 return (string) $inputData['city'];
52 }
53
54 return $adapter->getCity();
55 }
56
57 /**
58 * @param array $inputData
59 * @param \MyParcelNL\Sdk\src\Adapter\DeliveryOptions\AbstractPickupLocationAdapter|null $adapter
60 *
61 * @return string
62 */
63 private function locationCodeFromOptions(array $inputData, ?AbstractPickupLocationAdapter $adapter): string
64 {
65 if (key_exists('location_code', $inputData)) {
66 return (string) $inputData['location_code'];
67 }
68
69 return $adapter->getLocationCode();
70 }
71
72 /**
73 * @param array $inputData
74 * @param \MyParcelNL\Sdk\src\Adapter\DeliveryOptions\AbstractPickupLocationAdapter|null $adapter
75 *
76 * @return string
77 */
78 private function locationNameFromOptions(array $inputData, ?AbstractPickupLocationAdapter $adapter): string
79 {
80 if (key_exists('location_name', $inputData)) {
81 return (string) $inputData['location_name'];
82 }
83
84 return $adapter->getLocationName();
85 }
86
87 /**
88 * @param array $inputData
89 * @param \MyParcelNL\Sdk\src\Adapter\DeliveryOptions\AbstractPickupLocationAdapter|null $adapter
90 *
91 * @return string
92 */
93 private function numberFromOptions(array $inputData, ?AbstractPickupLocationAdapter $adapter): string
94 {
95 if (key_exists('number', $inputData)) {
96 return (string) $inputData['number'];
97 }
98
99 return $adapter->getNumber();
100 }
101
102 /**
103 * @param array $inputData
104 * @param \MyParcelNL\Sdk\src\Adapter\DeliveryOptions\AbstractPickupLocationAdapter|null $adapter
105 *
106 * @return string
107 */
108 private function postalCodeFromOptions(array $inputData, ?AbstractPickupLocationAdapter $adapter): string
109 {
110 if (key_exists('postal_code', $inputData)) {
111 return (string) $inputData['postal_code'];
112 }
113
114 return $adapter->getPostalCode();
115 }
116
117 /**
118 * @param array $inputData
119 * @param \MyParcelNL\Sdk\src\Adapter\DeliveryOptions\AbstractPickupLocationAdapter|null $adapter
120 *
121 * @return string
122 */
123 private function retailNetworkIdFromOptions(array $inputData, ?AbstractPickupLocationAdapter $adapter): string
124 {
125 if (key_exists('retail_network_id', $inputData)) {
126 return (string) $inputData['retail_network_id'];
127 }
128
129 return $adapter->getRetailNetworkId();
130 }
131
132 /**
133 * @param array $inputData
134 * @param \MyParcelNL\Sdk\src\Adapter\DeliveryOptions\AbstractPickupLocationAdapter|null $adapter
135 *
136 * @return string
137 */
138 private function streetFromOptions(array $inputData, ?AbstractPickupLocationAdapter $adapter): string
139 {
140 if (key_exists('street', $inputData)) {
141 return (string) $inputData['street'];
142 }
143
144 return $adapter->getStreet();
145 }
146 }
147