Changeset 2809158
- Timestamp:
- 11/01/2022 09:17:54 PM (3 years ago)
- Location:
- quiver-delivery
- Files:
-
- 7 added
- 4 edited
-
tags/1.0.11 (added)
-
tags/1.0.11/includes (added)
-
tags/1.0.11/includes/class-quiver-delivery-logger.php (added)
-
tags/1.0.11/includes/class-quiver-delivery-shipping-method.php (added)
-
tags/1.0.11/quiver-delivery.php (added)
-
tags/1.0.11/readme.md (added)
-
tags/1.0.11/readme.txt (added)
-
trunk/includes/class-quiver-delivery-shipping-method.php (modified) (4 diffs)
-
trunk/quiver-delivery.php (modified) (2 diffs)
-
trunk/readme.md (modified) (2 diffs)
-
trunk/readme.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
quiver-delivery/trunk/includes/class-quiver-delivery-shipping-method.php
r2803632 r2809158 173 173 174 174 $code = $shippingMethod->get_meta('code'); 175 176 175 $delivery_type = $this->CODE_DELIVERY_TYPE_MAP[$code]; 177 176 $quiver_order = $this->order_to_quiver_order($order); … … 208 207 } 209 208 209 private $DELIVERY_DATE_META_FIELDS = [ 210 '_delivery_date_', 211 '_delivery_date', 212 'delivery_date', 213 'delivery-date', 214 'delivery date', 215 'Delivery Date', 216 ]; 217 218 /** 219 * @param WC_Order $order 220 * @return array 221 */ 222 private function order_to_delivery_date($order) 223 { 224 // 1. Check Order Meta 225 // 1.1 Direct access 226 foreach ($this->DELIVERY_DATE_META_FIELDS as $metaKey) { 227 $value = $order->get_meta($metaKey); 228 if ($value !== "") { 229 return $this->toDateStr($value); 230 } 231 } 232 // 1.2 Loop access 233 foreach ($order->get_meta_data() as $meta) { 234 $key = strtolower($meta->key); 235 if (str_contains($key, 'delivery') && str_contains($key, 'date')) { 236 $value = $meta->value; 237 if ($value !== "") { 238 return $this->toDateStr($value); 239 } 240 } 241 } 242 // 2. Check Order Line Items 243 // 2.1 Direct access 244 $deliveryDates = []; 245 foreach ($order->get_items() as $lineItem) { 246 foreach ($this->DELIVERY_DATE_META_FIELDS as $metaKey) { 247 $value = $lineItem->get_meta($metaKey); 248 if ($value !== "") { 249 array_push($deliveryDates, $this->toDateStr($value)); 250 } 251 } 252 } 253 if (count($deliveryDates) !== 0) { 254 return min($deliveryDates); 255 } 256 // 2.2 Loop access 257 foreach ($order->get_items() as $lineItem) { 258 foreach ($lineItem->get_meta_data() as $meta) { 259 $key = strtolower($meta->key); 260 if (str_contains($key, 'delivery') && str_contains($key, 'date')) { 261 $value = $meta->value; 262 if ($value !== "") { 263 array_push($deliveryDates, $this->toDateStr($value)); 264 } 265 } 266 } 267 } 268 if (count($deliveryDates) !== 0) { 269 return min($deliveryDates); 270 } 271 } 272 273 /** 274 * @param string $value 275 * @return string 276 */ 277 private function toDateStr($value) { 278 $unixTimestamp = strtotime($value); 279 return date('Y-m-d', $unixTimestamp); 280 } 281 210 282 /** 211 283 * @param WC_Order $order … … 234 306 $lineItems = []; 235 307 $fulfilmentLocationId = null; 236 foreach ($order->get_items() as $item_id => $item) {308 foreach ($order->get_items() as $item_id => $item) { 237 309 $productId = $item['product_id']; 238 310 $product = wc_get_product( $productId ); … … 269 341 'postcode' => $order->get_shipping_postcode(), 270 342 ]; 271 }272 273 274 private $DELIVERY_DATE_META_FIELDS = [275 '_delivery_date_',276 'delivery_date',277 'Delivery Date',278 'delivery date',279 ];280 281 /**282 * @param WC_Order $order283 * @return string284 */285 private function order_to_delivery_date($order)286 {287 foreach ($this->DELIVERY_DATE_META_FIELDS as $metaField) {288 $value = $order->get_meta($metaField);289 if ($value !== "") {290 $unixTimestamp = strtotime($value);291 return date('Y-m-d', $unixTimestamp);292 }293 }294 return null;295 343 } 296 344 -
quiver-delivery/trunk/quiver-delivery.php
r2803632 r2809158 5 5 * Plugin URI: https://wordpress.org/plugins/quiver-delivery/ 6 6 * Description: Quiver provides fast and emissionless urban delivery. Magic. 7 * Version: 1.0.1 07 * Version: 1.0.11 8 8 * Author: Quiver 9 9 * Author URI: https://quiver.co.uk/ … … 24 24 { 25 25 26 private $version = "1.0.1 0";26 private $version = "1.0.11"; 27 27 28 28 /** -
quiver-delivery/trunk/readme.md
r2803632 r2809158 6 6 Tested up to: 6.0 7 7 Requires PHP: 7.0 8 Stable tag: 1.0.1 08 Stable tag: 1.0.11 9 9 WC requires at least: 3.0.0 10 10 WC tested up to: 6.6.1 … … 116 116 117 117 - More delivery date meta field options added. 118 119 = 1.0.11 = 120 121 - More flexibility with Delivery Date meta fields. Specify a delivery date by adding a new field to your order or order line items' meta data. The key must contain 'delivery' and 'date' to be recognised. -
quiver-delivery/trunk/readme.txt
r2803632 r2809158 116 116 117 117 - More delivery date meta field options added. 118 119 = 1.0.11 = 120 121 - More flexibility with Delivery Date meta fields. Specify a delivery date by adding a new field to your order or order line items' meta data. The key must contain 'delivery' and 'date' to be recognised.
Note: See TracChangeset
for help on using the changeset viewer.