Browse code

Add html token for annotation

Benjamin Roth authored on17/06/2020 10:46:03
Showing1 changed files
... ...
@@ -16,7 +16,8 @@ class IsotopeHooks extends \Controller
16 16
 {
17 17
   public function getOrderNotificationTokens($Order, $arrTokens)
18 18
   {
19
-    $arrTokens['shipmenttracking_shipping_annotation'] = $Order->shipping_annotation;
19
+    $arrTokens['shipmenttracking_shipping_annotation'] = nl2br($Order->shipping_annotation);
20
+    $arrTokens['shipmenttracking_shipping_annotation_text'] = $Order->shipping_annotation;
20 21
 
21 22
     if (!$Order->shipping_tracking)
22 23
     {
Browse code

Add a shipping annotation fields for customer informations

Benjamin Roth authored on17/06/2020 09:50:23
Showing1 changed files
... ...
@@ -16,6 +16,8 @@ class IsotopeHooks extends \Controller
16 16
 {
17 17
   public function getOrderNotificationTokens($Order, $arrTokens)
18 18
   {
19
+    $arrTokens['shipmenttracking_shipping_annotation'] = $Order->shipping_annotation;
20
+
19 21
     if (!$Order->shipping_tracking)
20 22
     {
21 23
       return $arrTokens;
Browse code

Initial commit

Benjamin Roth authored on19/03/2019 14:48:59
Showing1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,74 @@
1
+<?php
2
+
3
+/**
4
+ * Shipment tracking for Isotope eCommerce
5
+ *
6
+ * Copyright (c) 2017 Benjamin Roth
7
+ *
8
+ * @license commercial
9
+ */
10
+
11
+namespace eSM_isotope_shipmenttracking\Hooks;
12
+
13
+use eSM_isotope_shipmenttracking\Model\ShipmentTrackingModel;
14
+
15
+class IsotopeHooks extends \Controller
16
+{
17
+  public function getOrderNotificationTokens($Order, $arrTokens)
18
+  {
19
+    if (!$Order->shipping_tracking)
20
+    {
21
+      return $arrTokens;
22
+    }
23
+
24
+    $Tracking = ShipmentTrackingModel::findByPk($Order->shipping_tracking);
25
+
26
+    if ($Tracking === null)
27
+    {
28
+      return $arrTokens;
29
+    }
30
+
31
+    $strTrackingNumber = trim($Order->tracking_number);
32
+    $strUrl = $this->replacePlaceholders($Tracking->trackingUrl,array('%%TRACKINGNO%%'=>$strTrackingNumber));
33
+    $strShippingdate = \Date::parse(\Date::getNumericDateFormat(),$Order->date_shipped);
34
+    $strShippingInfo = sprintf($GLOBALS['TL_LANG']['iso_shipmenttracking']['shippingdate_info_today'],$Order->date_shipped,$Tracking->name);
35
+    if (date('Ymd',$Order->date_shipped) < date('Ymd'))
36
+    {
37
+      $strShippingInfo = sprintf($GLOBALS['TL_LANG']['iso_shipmenttracking']['shippingdate_info_past'],$Order->date_shipped,$Tracking->name);
38
+    } else if (date('Ymd',$Order->date_shipped) > date('Ymd')) {
39
+      $strShippingInfo = sprintf($GLOBALS['TL_LANG']['iso_shipmenttracking']['shippingdate_info_future'],$Order->date_shipped,$Tracking->name);
40
+    }
41
+
42
+    $arrTokens['shipmenttracking_number'] = $strTrackingNumber;
43
+    $arrTokens['shipmenttracking_url'] = $strUrl;
44
+    $arrTokens['shipmenttracking_shippingdate'] = $strShippingdate;
45
+    $arrTokens['shipmenttracking_shipping_info'] = $strShippingInfo;
46
+    $arrTokens['shipmenttracking_note'] = $this->replacePlaceholders($Tracking->note,array('%%TRACKINGNO%%'=>$strTrackingNumber,'%%TRACKINGURL%%'=>$strUrl, '%%SHIPPINGDATE%%'=>$strShippingdate, '%%SHIPPINGINFO%%'=>$strShippingInfo));
47
+    $arrTokens['shipmenttracking_note_text'] = strip_tags(str_ireplace(array('</p>','</ p>',),"\n\n",str_ireplace(array('<br>','<br />','</ br>','</br>'),"\n",str_replace(array("\r\n","\r","\n","\\r","\\n","\\r\\n"),"",$arrTokens['shipmenttracking_note']))));
48
+
49
+    return $arrTokens;
50
+  }
51
+
52
+  /**
53
+   * Replace placeholders
54
+   *
55
+   * @param $strString
56
+   * @return string
57
+   */
58
+  protected function replacePlaceholders($strString, $arrReplace)
59
+  {
60
+    // Split placeholders
61
+    $arrPlaceholders = preg_split('/(%%[^%]+%%)/', $strString, -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY);
62
+
63
+    // Replace placeholders
64
+    foreach ($arrPlaceholders as $placeholder)
65
+    {
66
+      if (isset($arrReplace[$placeholder]))
67
+      {
68
+        $strString = str_ireplace($placeholder,$arrReplace[$placeholder],$strString);
69
+      }
70
+    }
71
+
72
+    return $strString;
73
+  }
74
+}
0 75
\ No newline at end of file