order = $the_order;
if (false === $this->order instanceof WC_Order) {
return;
}
$apaczka_meta = get_post_meta($this->order->get_id(), '_apaczka');
if ( isset($apaczka_meta[ 0 ][ 1 ][ 'apaczka_order_number' ]) ) {
$this->apaczka_meta = $apaczka_meta[ 0 ][ 1 ];
$this->service = $apaczka_meta[ 0 ][ 1 ][ 'service' ];
$this->order_number = $apaczka_meta[ 0 ][ 1 ][ 'apaczka_order_number' ];
}
if ( $column === 'apaczka' ) {
// do stuff, ex: get_post_meta( $post->ID, 'key', true );
echo $this->get_buttons();
}
}
public function add_order_column($columns)
{
//unset($columns['order_total']); // remove Total column
//unset($columns['order_date']); // remove Date column
// now it is time to add a custom one
$columns[ 'apaczka' ] = __('Apaczka', 'apaczka');
return $columns;
}
private function get_buttons()
{
$btns = $this->get_status_label();
$btns .= $this->get_print_button();
$btns .= $this->get_tracking_button();
return sprintf(
'', $btns
);
}
/**
* @return string
*/
private function get_status_label()
{
if ( true === $this->is_created() ) {
$title = __('Przesyłka została utworzona', 'apaczka');
$class = ' apaczka-success';
} else {
$title = __('Przesyłka nie została utworzona', 'apaczka');
$class = '';
}
return sprintf(
'
'
, $title
, $class
);
}
/**
* @return string
*/
private function get_print_button()
{
if ( true === $this->is_created() ) {
$title = __('Drukuj etykietę', 'apaczka');
$class = '';
$url = $this->get_label_url();
$class_a = '';
} else {
return '';
}
return sprintf(
'
',
$url,
$class_a,
$title,
$class
);
}
/**
* @return string
*/
private function get_label_url()
{
return admin_url('admin-ajax.php?action=apaczka&apaczka_action=get_waybill&security='
. wp_create_nonce('apaczka_ajax_nonce')
. '&apaczka_order_id='
. $this->apaczka_meta[ 'apaczka_order' ][ 'id' ]);
}
/**
* @return string
*/
private function get_tracking_button()
{
$url = $this->get_tracking_url();
if ( null !== $url ) {
$class = '';
$class_a = '';
return sprintf(
'
',
$class_a,
$url
, __('Śledź przesyłkę', 'apaczka'),
$class
);
}
return '';
}
private function get_tracking_url()
{
$track_url_ups_pl
= 'http://wwwapps.ups.com/WebTracking/processInputRequest?loc=pl_PL&tracknum=%s';
$track_url_dpd_pl
= 'https://tracktrace.dpd.com.pl/parcelDetails?p1=%s&ID_kat=3&ID=33&Mark=18&przycisk=Wyszukaj';
$track_url_dhl_pl = 'https://sprawdz.dhl.com.pl/szukaj.aspx?m=0&sn=%s';
$track_url_poczta_polska
= 'http://emonitoring.poczta-polska.pl/?numer=%s';
$track_url_fedex_pl
= 'https://poland.fedex.com/domestic-shipping/pub/tracktrace.do?packageId=%s';
$track_url_inpost_pl
= 'https://inpost.pl/sledzenie-przesylek?number=%s';
$track_url_geis_kex
= 'http://tt.etlogistik.com/TrackAndTrace/ZasilkaDetail.aspx?id=%s';
$track_url_tnt_pl
= 'https://www.tnt.com/express/pl_pl/site/shipping-tools/tracking.html?utm_redirect=legacy_track&respCountry=pl&respLang=pl&navigation=1&page=1&sourceID=1&sourceCountry=ww&requesttype=GEN&searchType=CON&cons=%s';
$order_number = $this->order_number;
switch ($this->service) {
case apaczkaApi::SERVICE_UPS_K_STANDARD;
return sprintf($track_url_ups_pl, $order_number);
break;
case apaczkaApi::SERVICE_UPS_K_EX_SAV;
return sprintf($track_url_ups_pl, $order_number);
break;
case apaczkaApi::SERVICE_UPS_K_EX;
return sprintf($track_url_ups_pl, $order_number);
break;
case apaczkaApi::SERVICE_UPS_K_EXP_PLUS;
return sprintf($track_url_ups_pl, $order_number);
break;
case apaczkaApi::SERVICE_DPD_CLASSIC;
return sprintf($track_url_dpd_pl, $order_number);
break;
case apaczkaApi::SERVICE_DHLSTD;
return sprintf($track_url_dhl_pl, $order_number);
break;
case apaczkaApi::SERVICE_DHL09;
return sprintf($track_url_dhl_pl, $order_number);
case apaczkaApi::SERVICE_DHL1722;
return sprintf($track_url_dhl_pl, $order_number);
case apaczkaApi::SERVICE_UPS_Z_STANDARD;
return sprintf($track_url_ups_pl, $order_number);
case apaczkaApi::SERVICE_UPS_Z_EX_SAV;
return sprintf($track_url_ups_pl, $order_number);
case apaczkaApi::SERVICE_UPS_Z_EX;
return sprintf($track_url_ups_pl, $order_number);
case apaczkaApi::SERVICE_APACZKA_DE;
return null;
case apaczkaApi::SERVICE_UPS_Z_EXPEDITED;
return sprintf($track_url_ups_pl, $order_number);
case apaczkaApi::SERVICE_TNT;
return sprintf($track_url_tnt_pl, $order_number);
case apaczkaApi::SERVICE_FEDEX;
return sprintf($track_url_fedex_pl, $order_number);
case apaczkaApi::SERVICE_KEX_EXPRESS;
return null;
case apaczkaApi::SERVICE_POCZTA_POLSKA;
return sprintf($track_url_poczta_polska, $order_number);
case apaczkaApi::SERVICE_POCZTA_POLSKA_E24;
return sprintf($track_url_poczta_polska, $order_number);
case apaczkaApi::SERVICE_SIODEMKA_STD;
return null;
case apaczkaApi::SERVICE_DPD_CLASSIC_FOREIGN;
return sprintf($track_url_dpd_pl, $order_number);
case apaczkaApi::SERVICE_TNT_Z;
return sprintf($track_url_tnt_pl, $order_number);
case apaczkaApi::SERVICE_UPS_Z;
return sprintf($track_url_ups_pl, $order_number);
case apaczkaApi::SERVICE_INPOST;
return sprintf($track_url_inpost_pl, $order_number);
}
}
/**
* @return bool
*/
private function is_created()
{
return null !== $this->apaczka_meta;
}
}
/**
* http://wwwapps.ups.com/WebTracking/processInputRequest?loc=pl_PL&tracknum={tracking_number}
* https://tracktrace.dpd.com.pl/parcelDetails?p1={tracking_numer}&ID_kat=3&ID=33&Mark=18&przycisk=Wyszukaj
* https://sprawdz.dhl.com.pl/szukaj.aspx?m=0&sn={tracking_number}
* http://emonitoring.poczta-polska.pl/?numer={tracking_number}
* https://poland.fedex.com/domestic-shipping/pub/tracktrace.do?packageId={tracking_number}
* https://inpost.pl/sledzenie-przesylek?number={tracking_number}
* http://tt.etlogistik.com/TrackAndTrace/ZasilkaDetail.aspx?id={tracking_number}
* https://www.tnt.com/express/pl_pl/site/shipping-tools/tracking.html?utm_redirect=legacy_track&respCountry=pl&respLang=pl&navigation=1&page=1&sourceID=1&sourceCountry=ww&requesttype=GEN&searchType=CON&cons={tracking_number}
*/