PluginProbe
YayMail – WooCommerce Email Customizer / 4.3.4
YayMail – WooCommerce Email Customizer v4.3.4
4.4.4 4.4.3 4.4.2 4.4.1 trunk 1.9.6 2.1.4 2.1.5 3.2.2 3.2.6 3.2.7.1 3.2.8.1 3.2.9 3.3 3.3.1 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.4 3.4.1 3.4.2 3.4.3 All 55 releases
yaymail / src / Integrations / DHL / DHLShortcodes.php

DHLShortcodes.php in YayMail – WooCommerce Email Customizer 4.3.4, at src/Integrations/DHL/DHLShortcodes.php

82 lines 3.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace YayMail\Integrations\DHL;
4
5 use YayMail\Utils\Helpers;
6 use YayMail\Utils\SingletonTrait;
7 use YayMail\Abstracts\BaseShortcode;
8
9 /**
10 * @method: static DHLShortcodes get_instance()
11 */
12 class DHLShortcodes extends BaseShortcode {
13 use SingletonTrait;
14
15 public function get_shortcodes() {
16 $shortcodes = [];
17 $shortcodes[] = [
18 'name' => 'yaymail_dhl_tracking_number',
19 'description' => __( 'DHL Tracking Number', 'yaymail' ),
20 'group' => 'order_details',
21 'callback' => [ $this, 'yaymail_dhl_tracking_number' ],
22 ];
23 return $shortcodes;
24 }
25
26 public function yaymail_dhl_tracking_number( $data ) {
27
28 $render_data = isset( $data['render_data'] ) ? $data['render_data'] : [];
29 $is_placeholder = isset( $data['is_placeholder'] ) ? $data['is_placeholder'] : false;
30 $is_customized_preview = isset( $render_data['is_customized_preview'] ) ? $render_data['is_customized_preview'] : false;
31
32 if ( ! empty( $render_data['is_sample'] ) ) {
33 return '#123456';
34 }
35
36 if ( $is_placeholder || $is_customized_preview ) {
37 return '#123456';
38 }
39
40 $order = Helpers::get_order_from_shortcode_data( $render_data );
41
42 if ( $order ) {
43 $label = get_post_meta( $order->id, '_pr_shipment_dhl_label_tracking', true );
44 if ( empty( $label['tracking_number'] ) ) {
45 return '';
46 }
47
48 if ( ! class_exists( 'PR_DHL_WC_Order_Paket' ) ) {
49 return '';
50 }
51
52 $shipping_dhl_settings = null;
53 $pr_dhl_wc_order_paket = new \PR_DHL_WC_Order_Paket();
54 $arr_pr_dhl_wc_order_paket = (array) $pr_dhl_wc_order_paket;
55
56 if ( ! empty( $arr_pr_dhl_wc_order_paket ) ) {
57 foreach ( $arr_pr_dhl_wc_order_paket as $key => $value ) {
58 if ( strpos( $key, 'shipping_dhl_settings' ) !== false ) {
59 $shipping_dhl_settings = $arr_pr_dhl_wc_order_paket[ $key ];
60 }
61 }
62 }
63
64 $dhl_tracking_url_language = isset( $shipping_dhl_settings['dhl_tracking_url_language'] ) ? $shipping_dhl_settings['dhl_tracking_url_language'] : null;
65 $tracking_url = null;
66
67 if ( 'en' == $dhl_tracking_url_language && defined( 'PR_DHL_PAKET_TRACKING_URL_EN' ) ) {
68 $tracking_url = PR_DHL_PAKET_TRACKING_URL_EN;
69 }
70
71 $tracking_url = defined( 'PR_DHL_PAKET_TRACKING_URL' ) ? PR_DHL_PAKET_TRACKING_URL : '';
72 $tracking_number = is_array( $label['tracking_number'] ) ? $label['tracking_number'][0] : $label['tracking_number'];
73 /* translators: %s: Order tracking info. */
74 $tracking_text = sprintf( __( 'DHL Tracking Number: <a class="yaymai_dhl_tracking_url" href="%1$s%2$s" target="_blank">%3$s</a>', 'dhl-for-woocommerce' ), $tracking_url, $tracking_number, $tracking_number );
75
76 return $tracking_text;
77 } else {
78 return '';
79 }//end if
80 }
81 }
82