2021-05-21 18:50:46 -06:00
|
|
|
<?php
|
|
|
|
|
|
|
|
class Tracking {
|
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @global type $SETTINGS
|
|
|
|
* @param string $code
|
|
|
|
* @return \TrackingInfo
|
|
|
|
* @throws TrackingException
|
|
|
|
*/
|
|
|
|
public static function track(string $code, string $carrier = ""): TrackingInfo {
|
|
|
|
|
|
|
|
$barcode = new TrackingBarcode($code);
|
|
|
|
if (!empty($carrier)) {
|
|
|
|
$carriercode = Carriers::getCarrierCode($carrier);
|
|
|
|
} else {
|
|
|
|
$carriercode = $barcode->getCarrier();
|
|
|
|
}
|
|
|
|
|
|
|
|
switch ($carriercode) {
|
2023-01-15 00:39:58 -07:00
|
|
|
case "usps_gsbarcode":
|
|
|
|
return Tracking_USPS_gsbarcode::track($code);
|
2021-05-21 18:50:46 -06:00
|
|
|
case "ups_mi_datamatrix":
|
|
|
|
return Tracking_UPS_MailInnovations_DataMatrix::track($code);
|
|
|
|
case "fedex_pdf417":
|
|
|
|
return Tracking_FedEx_PDF417::track($code);
|
|
|
|
case "helena_express":
|
|
|
|
return Tracking_HelenaExpress::track($barcode->getSanitized());
|
|
|
|
case "usps":
|
|
|
|
return Tracking_USPS::track($barcode->getSanitized());
|
|
|
|
case "ups":
|
|
|
|
return Tracking_UPS::track($barcode->getSanitized());
|
2022-04-18 23:38:12 -06:00
|
|
|
case "fedex":
|
|
|
|
return Tracking_FedEx::track($barcode->getSanitized());
|
2021-05-21 18:50:46 -06:00
|
|
|
default:
|
2021-10-09 18:01:48 -06:00
|
|
|
return Tracking_EasyPost::track($barcode->getSanitized());
|
|
|
|
//return Tracking_Shippo::track($barcode->getSanitized());
|
2021-05-21 18:50:46 -06:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|